[Scummvm-git-logs] scummvm branch-3-0 -> df8cad0273ed216cd27eb76ce040792c4b9c5983

Strangerke noreply at scummvm.org
Sat Jan 10 14:13:17 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:
cd226216c0 M4: RIDDLE: Fix bug in the hardcoded logic of room 207
df8cad0273 M4: RIDDLE: Fix graphics when restarting the game while in explorer suit


Commit: cd226216c02f76576ba31287d55a3e4cdec63c68
    https://github.com/scummvm/scummvm/commit/cd226216c02f76576ba31287d55a3e4cdec63c68
Author: Strangerke (arnaud.boutonne at gmail.com)
Date: 2026-01-10T15:11:55+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: df8cad0273ed216cd27eb76ce040792c4b9c5983
    https://github.com/scummvm/scummvm/commit/df8cad0273ed216cd27eb76ce040792c4b9c5983
Author: Strangerke (arnaud.boutonne at gmail.com)
Date: 2026-01-10T15:11:56+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 e011a5976d3..b6f31d71f78 100644
--- a/engines/m4/riddle/vars.cpp
+++ b/engines/m4/riddle/vars.cpp
@@ -76,13 +76,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();
 }
 
 } // namespace Riddle




More information about the Scummvm-git-logs mailing list