[Scummvm-git-logs] scummvm master -> e6dff3d276662b81800bd5db653e3bcc2c3587a6

dreammaster noreply at scummvm.org
Sat Aug 8 06:22:34 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:
e6dff3d276 M4: RIDDLE: Make Marshall Matt show up again


Commit: e6dff3d276662b81800bd5db653e3bcc2c3587a6
    https://github.com/scummvm/scummvm/commit/e6dff3d276662b81800bd5db653e3bcc2c3587a6
Author: sloanext (46776957+sloanext at users.noreply.github.com)
Date: 2026-08-08T16:22:30+10:00

Commit Message:
M4: RIDDLE: Make Marshall Matt show up again

V007 gates the arrest cutscene on exiting room 301, but it was only ever
cleared, never set, in setItemsPlacedFlags().

Set it whenever the player reaches the final warning from Feng Li (V005).

Changed paths:
    engines/m4/riddle/flags.h
    engines/m4/riddle/rooms/room.cpp
    engines/m4/riddle/rooms/section3/room301.cpp


diff --git a/engines/m4/riddle/flags.h b/engines/m4/riddle/flags.h
index a656fd856d7..c6c03bae0e5 100644
--- a/engines/m4/riddle/flags.h
+++ b/engines/m4/riddle/flags.h
@@ -37,9 +37,9 @@ enum Flag {
 	V002 =   2,
 	V003 =   3,
 	V004 =   4,
-	V005 =   5,
-	V006 =   6,
-	V007 =   7,
+	V005 =   5, // Warning level from Feng Li
+	V006 =   6, // Number of trips Ripley has taken (technically: Times foreign Posh Express offices entered)
+	V007 =   7, // Marshall Matt is waiting at the exit of room 301
 	V008 =   8,
 	V009 =   9,
 	V010 =  10,
diff --git a/engines/m4/riddle/rooms/room.cpp b/engines/m4/riddle/rooms/room.cpp
index 288ca8442e4..bee6ac5562b 100644
--- a/engines/m4/riddle/rooms/room.cpp
+++ b/engines/m4/riddle/rooms/room.cpp
@@ -159,6 +159,12 @@ bool Room::setItemsPlacedFlags() {
 				(_G(flags)[V006] >= 5 && count < 3)) {
 			if (_G(flags)[V005] == 4)
 				_G(flags)[V005]++;
+
+			// Final warning level reached while Ripley is running out of
+			// money: Marshall Matt will be waiting at the travel agency.
+			// This is cleared again below as soon as enough items have been
+			// mailed home, so the arrest remains avoidable.
+			_G(flags)[V007] = 1;
 			return true;
 		}
 		break;
diff --git a/engines/m4/riddle/rooms/section3/room301.cpp b/engines/m4/riddle/rooms/section3/room301.cpp
index 9a6515a844b..9148dd7bcfd 100644
--- a/engines/m4/riddle/rooms/section3/room301.cpp
+++ b/engines/m4/riddle/rooms/section3/room301.cpp
@@ -696,7 +696,7 @@ void Room301::daemon() {
 		if (_marshallMode <= 0) {
 			if (_marshallShould <= 0) {
 				kernel_timing_trigger(30, 201);
-			} if (_marshallShould == 1) {
+			} else if (_marshallShould == 1) {
 				sendWSMessage_10000(1, _marshallMach, _marshalMatt, 17, 51, 201,
 					_marshalMatt, 51, 51, 0);
 				_marshallMode = 1;




More information about the Scummvm-git-logs mailing list