[Scummvm-git-logs] scummvm master -> d06281e2c52e3399be5b8608246b48f9459a502e
Strangerke
noreply at scummvm.org
Sat Jan 10 14:11:27 UTC 2026
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
142bf56348 M4: RIDDLE: Fix bug in the hardcoded logic of room 207
d06281e2c5 M4: RIDDLE: Fix graphics when restarting the game while in explorer suit
Commit: 142bf5634894443e61f871daea5b16083fb66dfe
https://github.com/scummvm/scummvm/commit/142bf5634894443e61f871daea5b16083fb66dfe
Author: Strangerke (arnaud.boutonne at gmail.com)
Date: 2026-01-10T15:10:58+01:00
Commit Message:
M4: RIDDLE: Fix bug in the hardcoded logic of room 207
Changed paths:
engines/m4/riddle/rooms/section2/room207.cpp
diff --git a/engines/m4/riddle/rooms/section2/room207.cpp b/engines/m4/riddle/rooms/section2/room207.cpp
index 6e67316171f..69577c3815c 100644
--- a/engines/m4/riddle/rooms/section2/room207.cpp
+++ b/engines/m4/riddle/rooms/section2/room207.cpp
@@ -892,8 +892,8 @@ void Room207::parser() {
}
} else if (!_pipeFlag && lookFlag && player_said("REBUS AMULET") && !inv_object_is_here("REBUS AMULET")) {
- if (_G(flags)[V061] == 0) {
- _G(flags)[V061] = 1;
+ if (_G(flags)[V074] == 0) {
+ _G(flags)[V074] = 1;
digi_play("207r04", 1);
} else
digi_play("207r04a", 1);
Commit: d06281e2c52e3399be5b8608246b48f9459a502e
https://github.com/scummvm/scummvm/commit/d06281e2c52e3399be5b8608246b48f9459a502e
Author: Strangerke (arnaud.boutonne at gmail.com)
Date: 2026-01-10T15:10:58+01:00
Commit Message:
M4: RIDDLE: Fix graphics when restarting the game while in explorer suit
Changed paths:
engines/m4/riddle/inventory.cpp
engines/m4/riddle/inventory.h
engines/m4/riddle/rooms/section4/room494.cpp
engines/m4/riddle/rooms/section4/room494.h
engines/m4/riddle/vars.cpp
diff --git a/engines/m4/riddle/inventory.cpp b/engines/m4/riddle/inventory.cpp
index 6df7f18295b..9d78781a877 100644
--- a/engines/m4/riddle/inventory.cpp
+++ b/engines/m4/riddle/inventory.cpp
@@ -205,5 +205,9 @@ const char * Inventory::get_name(int32 id) {
return INVENTORY_ITEMS[id]._name;
}
+void Inventory::reset() {
+ for (const InvObject *item = INVENTORY_ITEMS; item->_name; ++item)
+ inv_move_object(item->_name, item->_scene);
+}
} // namespace Riddle
} // namespace M4
diff --git a/engines/m4/riddle/inventory.h b/engines/m4/riddle/inventory.h
index 16f03398835..43076db61f8 100644
--- a/engines/m4/riddle/inventory.h
+++ b/engines/m4/riddle/inventory.h
@@ -52,6 +52,7 @@ public:
void remove(const Common::String &name) override;
static const char *get_name(int32 id);
+ void reset();
};
} // namespace Riddle
diff --git a/engines/m4/riddle/rooms/section4/room494.cpp b/engines/m4/riddle/rooms/section4/room494.cpp
index e1c2ced26ac..cbca80aa753 100644
--- a/engines/m4/riddle/rooms/section4/room494.cpp
+++ b/engines/m4/riddle/rooms/section4/room494.cpp
@@ -23,6 +23,8 @@
#include "m4/gui/gui_sys.h"
#include "m4/platform/keys.h"
#include "m4/riddle/rooms/section4/room494.h"
+
+#include "m4/riddle/inventory.h"
#include "m4/riddle/vars.h"
#include "m4/riddle/walker.h"
#include "m4/riddle/riddle.h"
@@ -86,8 +88,7 @@ void Room494::daemon() {
case 304:
restoreHotkeys();
- conv_reset_all();
- player_reset_been();
+ setupInventory();
_G(flags)[V001] = 1;
interface_show();
@@ -107,7 +108,8 @@ void Room494::daemon() {
case 901:
restoreHotkeys();
-
+ setupInventory();
+
_G(flags)[V001] = 1;
digi_stop(1);
_G(game).setRoom(901);
@@ -252,6 +254,13 @@ void Room494::restoreHotkeys() {
AddSystemHotkey(KEY_F3, _hotkeyLoad);
}
+void Room494::setupInventory() {
+ _G(flags).reset();
+ static_cast<Inventory *>(_G(inventory))->reset();
+ conv_reset_all();
+ player_reset_been();
+}
+
} // namespace Rooms
} // namespace Riddle
} // namespace M4
diff --git a/engines/m4/riddle/rooms/section4/room494.h b/engines/m4/riddle/rooms/section4/room494.h
index 7f16c88fa0a..4e9994d12ed 100644
--- a/engines/m4/riddle/rooms/section4/room494.h
+++ b/engines/m4/riddle/rooms/section4/room494.h
@@ -34,6 +34,7 @@ private:
static void loadFn(void *, void *);
int getSelectedButton() const;
void restoreHotkeys();
+ void setupInventory();
private:
int _menuButtons = 0;
diff --git a/engines/m4/riddle/vars.cpp b/engines/m4/riddle/vars.cpp
index 90bd2a34022..738732802b0 100644
--- a/engines/m4/riddle/vars.cpp
+++ b/engines/m4/riddle/vars.cpp
@@ -123,13 +123,7 @@ void Vars::initialize_game() {
for (const auto &item : _inventory->_objects)
inv_put_thing_in(item->name, item->scene);
- _G(flags)[V071] = 2;
- _G(flags)[V088] = 1;
- _G(flags)[V086] = 2;
- _G(flags)[V014] = 1;
- _G(flags)[V270] = 824;
- _G(flags)[V282] = 1;
- _G(flags)[V292] = 1;
+ _G(flags).reset();
}
void Vars::spanish_ascii_converter_proc(char *string) {
More information about the Scummvm-git-logs
mailing list