[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