[Scummvm-git-logs] scummvm master -> 46cc41971899337a863b42a8ba21b8fc091b7014
dreammaster
noreply at scummvm.org
Tue Oct 6 07:47:22 UTC 2026
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
46cc419718 MADS: FOREST: Fix cancelling restore dialog. Bug #17275
Commit: 46cc41971899337a863b42a8ba21b8fc091b7014
https://github.com/scummvm/scummvm/commit/46cc41971899337a863b42a8ba21b8fc091b7014
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-10-06T18:47:13+11:00
Commit Message:
MADS: FOREST: Fix cancelling restore dialog. Bug #17275
Changed paths:
engines/mads/forest/forest.cpp
engines/mads/forest/menus.cpp
diff --git a/engines/mads/forest/forest.cpp b/engines/mads/forest/forest.cpp
index 7d64ea01a91..16b0637c741 100644
--- a/engines/mads/forest/forest.cpp
+++ b/engines/mads/forest/forest.cpp
@@ -161,7 +161,7 @@ void ForestEngine::global_section_constructor() {
bool ForestEngine::canLoadGameStateCurrently(Common::U32String *msg) {
return game.going && !win_status && !kernel.activate_menu && player.commands_allowed &&
- inter_input_mode == INTER_LIMITED_SENTENCES && section_id != 9;
+ inter_input_mode == INTER_LIMITED_SENTENCES && (section_id != 9 || room_id == 904);
}
void ForestEngine::syncRoom(Common::Serializer &s) {
diff --git a/engines/mads/forest/menus.cpp b/engines/mads/forest/menus.cpp
index 3569364463a..01649051f3b 100644
--- a/engines/mads/forest/menus.cpp
+++ b/engines/mads/forest/menus.cpp
@@ -313,6 +313,7 @@ static void global_menu_main() {
void global_game_menu() {
bool loaded = false;
bool music = true;
+ bool priorMenu = kernel.activate_menu != GAME_MAIN_MENU;
if (box_param.series == NULL) {
Common::strcpy_s(box_param.name, "*BOX");
@@ -334,7 +335,8 @@ void global_game_menu() {
global_menu_save_restore(true);
} else {
kernel.activate_menu = GAME_NO_MENU;
- g_engine->saveGameDialog();
+ if (!g_engine->saveGameDialog())
+ kernel.activate_menu = GAME_MAIN_MENU;
}
break;
case GAME_RESTORE_MENU:
@@ -357,6 +359,10 @@ void global_game_menu() {
kernel.activate_menu = GAME_NO_MENU;
break;
}
+
+ if (kernel.activate_menu == GAME_MAIN_MENU && priorMenu)
+ kernel.activate_menu = GAME_NO_MENU;
+
} while (!g_engine->shouldQuit() && game.going && kernel.activate_menu != GAME_NO_MENU);
game_menu_shutdown();
More information about the Scummvm-git-logs
mailing list