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

dreammaster noreply at scummvm.org
Wed Oct 21 09:47:27 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:
e9bd247694 M4: RIDDLE: Add missing take pupil sequence with Samantha in room 605


Commit: e9bd247694086af2abcefd4816d9e39cf3266e13
    https://github.com/scummvm/scummvm/commit/e9bd247694086af2abcefd4816d9e39cf3266e13
Author: sloanext (46776957+sloanext at users.noreply.github.com)
Date: 2026-10-20T23:47:21-10:00

Commit Message:
M4: RIDDLE: Add missing take pupil sequence with Samantha in room 605

Changed paths:
    engines/m4/riddle/rooms/section6/room605.cpp
    engines/m4/riddle/rooms/section6/room605.h


diff --git a/engines/m4/riddle/rooms/section6/room605.cpp b/engines/m4/riddle/rooms/section6/room605.cpp
index 22afaceba7d..ea31133dc89 100644
--- a/engines/m4/riddle/rooms/section6/room605.cpp
+++ b/engines/m4/riddle/rooms/section6/room605.cpp
@@ -465,6 +465,9 @@ void Room605::parser() {
 	} else if (takeFlag && player_said_any("pupil", "obsidian disk") &&
 			_G(flags)[V203] != 2 && takePupilDisk()) {
 		// No implementation
+	} else if (takeFlag && player_said_any("pupil", "OBSIDIAN DISK") &&
+			_G(flags)[V203] == 2 && takePupilDiskTt()) {
+		// No implementation
 	} else if (player_said("SLEEVE") && player_said_any("pupil", "OBSIDIAN DISK") &&
 			_G(flags)[V203] == 2 && sleeveDisk1()) {
 		// No implementation
@@ -683,6 +686,57 @@ bool Room605::takePupilDisk() {
 	return true;
 }
 
+bool Room605::takePupilDiskTt() {
+	switch (_G(kernel).trigger) {
+	case -1:
+		if (inv_object_is_here("OBSIDIAN DISK")) {
+			player_set_commands_allowed(false);
+			ws_hide_walker();
+			_ripHandOnIris = series_load("RIP BURNS HAND ON IRIS");
+			_ripley = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, 0, 100, 0x100, false,
+				triggerMachineByHashCallback, "take pupil");
+			sendWSMessage_10000(1, _ripley, _ripHandOnIris, 1, 26, 2,
+				_ripHandOnIris, 26, 26, 1);
+			kernel_timing_trigger(60, 1);
+			return true;
+		}
+		break;
+
+	case 1:
+		_ttShould = 7;
+		return true;
+
+	case 2:
+		sendWSMessage_10000(1, _ripley, _ripHandOnIris, 27, 41, 6,
+			_ripHandOnIris, 41, 41, 1);
+		digi_play("605r15", 1, 255, 4);
+		return true;
+
+	case 4:
+		_ttShould = 6;
+		digi_play("605t06", 1, 255, 8);
+		return true;
+
+	case 6:
+		terminateMachineAndNull(_ripley);
+		ws_unhide_walker();
+		return true;
+
+	case 8:
+		series_unload(_ripHandOnIris);
+		_ttShould = 0;
+		kernel_timing_trigger(1, 200, KT_DAEMON, KT_PARSE);
+		player_set_commands_allowed(true);
+		_G(flags)[V197] = 1;
+		return true;
+
+	default:
+		break;
+	}
+
+	return false;
+}
+
 bool Room605::sleeveDisk1() {
 	switch (_G(kernel).trigger) {
 	case -1:
diff --git a/engines/m4/riddle/rooms/section6/room605.h b/engines/m4/riddle/rooms/section6/room605.h
index 8e6c1670a33..5c09078574e 100644
--- a/engines/m4/riddle/rooms/section6/room605.h
+++ b/engines/m4/riddle/rooms/section6/room605.h
@@ -54,6 +54,7 @@ private:
 
 	void conv605a();
 	bool takePupilDisk();
+	bool takePupilDiskTt();
 	bool sleeveDisk1();
 	bool sleeveDisk2();
 	bool parserMisc();




More information about the Scummvm-git-logs mailing list