[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