[Scummvm-git-logs] scummvm master -> 8725c3f688b608503f73d48c7db9f9dbda902174
dreammaster
noreply at scummvm.org
Sun Oct 27 23:40:47 UTC 2024
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
8725c3f688 M4: RIDDLE: Stop walk end trigger getting called multiple times
Commit: 8725c3f688b608503f73d48c7db9f9dbda902174
https://github.com/scummvm/scummvm/commit/8725c3f688b608503f73d48c7db9f9dbda902174
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2024-10-27T16:40:36-07:00
Commit Message:
M4: RIDDLE: Stop walk end trigger getting called multiple times
Due to a minor implementation of the callback when the player
walk finishes, it was calling the end trigger to run daemon code
after every segment of the walk, rather than just once at the end.
Changed paths:
engines/m4/riddle/rooms/section2/room201.cpp
engines/m4/riddle/walker.cpp
diff --git a/engines/m4/riddle/rooms/section2/room201.cpp b/engines/m4/riddle/rooms/section2/room201.cpp
index 04ea1f56ca4..c7e8b6d2118 100644
--- a/engines/m4/riddle/rooms/section2/room201.cpp
+++ b/engines/m4/riddle/rooms/section2/room201.cpp
@@ -124,6 +124,7 @@ void Room201::init() {
_meiWalk = series_load("MEI CHEN TREK WALK POS4");
_mei2 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 200, 238, 73, 0x900, 0,
triggerMachineByHashCallback, "MC");
+ series_place_sprite("candleman shadow4", 0, 200, 238, 73, 0xf00);
sendWSMessage(1, _mei2, _meiHandHip, 22, 22, 2000, _meiHandHip, 22, 22, 0);
_val5 = 2;
_val6 = 2;
diff --git a/engines/m4/riddle/walker.cpp b/engines/m4/riddle/walker.cpp
index 18e99535103..690d06b222f 100644
--- a/engines/m4/riddle/walker.cpp
+++ b/engines/m4/riddle/walker.cpp
@@ -83,13 +83,14 @@ void Walker::player_walker_callback(frac16 myMessage, machine *sender) {
break;
case 2:
- if (walker_has_walk_finished(sender)) {
- if (subVal) {
- sendWSMessage(0x30000, 0, sender, 0, nullptr, 1);
- return;
- } else {
- _G(player).waiting_for_walk = false;
- }
+ if (!walker_has_walk_finished(sender))
+ return;
+
+ if (subVal) {
+ sendWSMessage(0x30000, 0, sender, 0, nullptr, 1);
+ return;
+ } else {
+ _G(player).waiting_for_walk = false;
}
break;
More information about the Scummvm-git-logs
mailing list