[Scummvm-git-logs] scummvm master -> b244f5e254fac7f0e00ae892dbc633c983b0e22b
dreammaster
noreply at scummvm.org
Tue Aug 11 10:39:07 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:
b244f5e254 M4: RIDDLE: Fix lockup in room 605 when taking the disk with Twelvetrees present
Commit: b244f5e254fac7f0e00ae892dbc633c983b0e22b
https://github.com/scummvm/scummvm/commit/b244f5e254fac7f0e00ae892dbc633c983b0e22b
Author: sloanext (46776957+sloanext at users.noreply.github.com)
Date: 2026-08-11T20:39:04+10:00
Commit Message:
M4: RIDDLE: Fix lockup in room 605 when taking the disk with Twelvetrees present
sleeveDisk1() dispatched trigger 11 from case 10 but had no case 11, so
the put-back ended with the player commands still disabled and the animation
machine parked.
Returning false for the unhandled trigger also let parser() fall through its
whole cascade to the final return, which is the one exit that leaves
command_ready set, so the room answered the trigger with a default "that
doesn't work" line on top of the lock up.
Put the obsidian disk back in the socket, play the withdrawal the way case 3
does, and release everything in a new case 12 modelled on sleeveDisk2() case 6.
Changed paths:
engines/m4/riddle/rooms/section6/room605.cpp
diff --git a/engines/m4/riddle/rooms/section6/room605.cpp b/engines/m4/riddle/rooms/section6/room605.cpp
index 4b2cfaa23a0..03f8e37d46c 100644
--- a/engines/m4/riddle/rooms/section6/room605.cpp
+++ b/engines/m4/riddle/rooms/section6/room605.cpp
@@ -741,6 +741,25 @@ bool Room605::sleeveDisk1() {
digi_play("605_S02", 2);
return true;
+ case 11:
+ _ttShould = 0;
+ kernel_timing_trigger(1, 200, KT_DAEMON, KT_PARSE);
+ inv_move_object("OBSIDIAN DISK", 605);
+ _pupil = series_show("605eye", 0x600, 16);
+ hotspot_set_active("PUPIL", true);
+ hotspot_set_active("OBSIDIAN DISK", true);
+ sendWSMessage_10000(1, _ripley, _ripGetsIrisWithCloth, 44, 75, 12,
+ _ripGetsIrisWithCloth, 75, 75, 1);
+ return true;
+
+ case 12:
+ terminateMachineAndNull(_ripley);
+ series_unload(_ripGetsIrisWithCloth);
+ digi_unload("605_s01");
+ digi_unload("605_s02");
+ player_set_commands_allowed(true);
+ return true;
+
default:
break;
}
More information about the Scummvm-git-logs
mailing list