[Scummvm-git-logs] scummvm master -> 96b42d42bc8533953bdd701db059cc33c839a9ff
dreammaster
noreply at scummvm.org
Mon Oct 19 11:00:23 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:
96b42d42bc M4: RIDDLE: Fix pose actions locking up after fast-forwarded walks
Commit: 96b42d42bc8533953bdd701db059cc33c839a9ff
https://github.com/scummvm/scummvm/commit/96b42d42bc8533953bdd701db059cc33c839a9ff
Author: sloanext (46776957+sloanext at users.noreply.github.com)
Date: 2026-10-19T01:00:17-10:00
Commit Message:
M4: RIDDLE: Fix pose actions locking up after fast-forwarded walks
Changed paths:
engines/m4/adv_r/adv_walk.cpp
diff --git a/engines/m4/adv_r/adv_walk.cpp b/engines/m4/adv_r/adv_walk.cpp
index 4c16aff3894..f357c3ff91c 100644
--- a/engines/m4/adv_r/adv_walk.cpp
+++ b/engines/m4/adv_r/adv_walk.cpp
@@ -464,8 +464,12 @@ void adv_hyperwalk_to_final_destination(void *, void *) {
_G(globals)[GLB_TEMP_3] = s;
_G(globals)[GLB_TEMP_4] = (facing > 0 && facing < 13) ? directions[facing] << 16 : 0;
+ // Leave waiting_for_walk set: the walker only goes idle after
+ // finishing a sequence, and its "walk finished" callback clears
+ // it then. Clearing it here runs the parser while the walker is
+ // still busy, so it drops the pose messages (11/12) sent by
+ // sendWSMessage_B0000/C0000 and the action never completes.
sendWSMessage(HYPERWALK << 16, 0, _G(my_walker), 0, nullptr, 1);
- _G(player).waiting_for_walk = false;
} else {
// This will make player goto x,y,facing. when that happens, trigger will return
ws_demand_location_and_facing(_G(my_walker), x, y, facing);
More information about the Scummvm-git-logs
mailing list