X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fscreens.c;h=3411595b6326860588eee335d93087e0d680384d;hb=82514140084028004046e95c2aaddaecd839fc30;hp=809d7c2d6c738811a0b58933d3b50a145852e884;hpb=e89a21e95b3cb84d1515c0fb3378ce902a48c1c8;p=rocksndiamonds.git diff --git a/src/screens.c b/src/screens.c index 809d7c2d..3411595b 100644 --- a/src/screens.c +++ b/src/screens.c @@ -1729,6 +1729,11 @@ void DrawMainMenu(void) if (leveldir_current != leveldir_last_valid) { + // level setup config may have been loaded to "last played" tree node copy, + // but "leveldir_current" now points to the "original" level set tree node, + // in which case "handicap_level" may still default to the first level + LoadLevelSetup_SeriesInfo(); + UpdateLastPlayedLevels_TreeInfo(); levelset_has_changed = TRUE; @@ -7133,7 +7138,12 @@ static void ToggleUseApiServerIfNeeded(void) runtime.use_api_server = setup.use_api_server; if (runtime.use_api_server) + { + if (setup.has_remaining_tapes) + setup.ask_for_uploading_tapes = TRUE; + CheckApiServerTasks(); + } } static void ModifyGameSpeedIfNeeded(void) @@ -10477,6 +10487,9 @@ static boolean OfferUploadTapes(void) "Upload all your tapes to the high score server now?", REQ_ASK)) return FALSE; + // when uploading tapes, make sure that high score server is enabled + runtime.use_api_server = setup.use_api_server = TRUE; + int num_tapes_uploaded = UploadTapes(); char message[100];