[Scummvm-git-logs] scummvm master -> 586f46b20638f5f1987da72f478e02c85c91da6e
Strangerke
noreply at scummvm.org
Fri May 23 21:07:52 UTC 2025
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:
586f46b206 M4: RIDDLE: Handle "Load" button in menu (room 494)
Commit: 586f46b20638f5f1987da72f478e02c85c91da6e
https://github.com/scummvm/scummvm/commit/586f46b20638f5f1987da72f478e02c85c91da6e
Author: Strangerke (arnaud.boutonne at gmail.com)
Date: 2025-05-23T22:07:46+01:00
Commit Message:
M4: RIDDLE: Handle "Load" button in menu (room 494)
Changed paths:
engines/m4/riddle/gui/game_menu.cpp
engines/m4/riddle/riddle.cpp
engines/m4/riddle/riddle.h
engines/m4/riddle/rooms/section4/room494.cpp
engines/m4/riddle/rooms/section4/room494.h
diff --git a/engines/m4/riddle/gui/game_menu.cpp b/engines/m4/riddle/gui/game_menu.cpp
index 125bbdf96c7..a414a16041f 100644
--- a/engines/m4/riddle/gui/game_menu.cpp
+++ b/engines/m4/riddle/gui/game_menu.cpp
@@ -201,7 +201,7 @@ void GameMenu::cbLoad(void *, void *) {
guiMenu::shutdown(true);
_GM(buttonClosesDialog) = true;
- // Create the save game menu
+ // Create the load game menu
g_engine->showLoadScreen(M4Engine::kLoadFromGameDialog);
}
diff --git a/engines/m4/riddle/riddle.cpp b/engines/m4/riddle/riddle.cpp
index eaf2f3b65d0..d065a2ad5ac 100644
--- a/engines/m4/riddle/riddle.cpp
+++ b/engines/m4/riddle/riddle.cpp
@@ -774,5 +774,12 @@ void sketchInJournal(const char *digiName) {
}
}
+bool RiddleEngine::canLoadGameStateCurrently(Common::U32String *msg) {
+ if (g_vars && _G(game).room_id == 494)
+ // Allow loading games from the main menu
+ return true;
+ else
+ return M4Engine::canLoadGameStateCurrently(msg);
+}
} // namespace Riddle
} // namespace M4
diff --git a/engines/m4/riddle/riddle.h b/engines/m4/riddle/riddle.h
index fbee9b18f89..0a70163fa02 100644
--- a/engines/m4/riddle/riddle.h
+++ b/engines/m4/riddle/riddle.h
@@ -66,6 +66,7 @@ private:
void showMessageLog(int trigger);
void lookAtInventoryItem();
+ bool canLoadGameStateCurrently(Common::U32String *msg) override;
protected:
/**
diff --git a/engines/m4/riddle/rooms/section4/room494.cpp b/engines/m4/riddle/rooms/section4/room494.cpp
index 62127f5555d..e1c2ced26ac 100644
--- a/engines/m4/riddle/rooms/section4/room494.cpp
+++ b/engines/m4/riddle/rooms/section4/room494.cpp
@@ -48,7 +48,7 @@ void Room494::init() {
RemoveSystemHotkey(KEY_F2);
AddSystemHotkey(KEY_ESCAPE, escapeFn);
- AddSystemHotkey(KEY_F3, escapeFn);
+ AddSystemHotkey(KEY_F3, loadFn);
_machine1 = _machine2 = nullptr;
_selectedBtn1 = _selectedBtn2 = -1;
midi_stop();
@@ -194,7 +194,7 @@ void Room494::daemon() {
disable_player_commands_and_fade_init(111);
break;
case 3:
- escapeFn(nullptr, nullptr);
+ loadFn(nullptr, nullptr);
break;
case 4:
player_set_commands_allowed(false);
@@ -221,6 +221,10 @@ void Room494::escapeFn(void *, void *) {
warning("TODO: room 494 escapeFn");
}
+void Room494::loadFn(void *, void *) {
+ g_engine->showLoadScreen(M4Engine::kLoadFromGameDialog);
+}
+
int Room494::getSelectedButton() const {
static const Common::Rect BUTTONS[6] = {
{ 91, 323, 150, 370 },
diff --git a/engines/m4/riddle/rooms/section4/room494.h b/engines/m4/riddle/rooms/section4/room494.h
index 5517052677d..7f16c88fa0a 100644
--- a/engines/m4/riddle/rooms/section4/room494.h
+++ b/engines/m4/riddle/rooms/section4/room494.h
@@ -31,6 +31,7 @@ namespace Rooms {
class Room494 : public Room {
private:
static void escapeFn(void *, void *);
+ static void loadFn(void *, void *);
int getSelectedButton() const;
void restoreHotkeys();
More information about the Scummvm-git-logs
mailing list