[Scummvm-git-logs] scummvm master -> df2471dbe495c92a848a2d7f88be8ca25f8ee5c3
Strangerke
noreply at scummvm.org
Wed Jan 7 10:49:20 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:
df2471dbe4 M4: RIDDLE: Workaroud for issue fix #16098 - Autosave has bad coordinates which makes it unusable
Commit: df2471dbe495c92a848a2d7f88be8ca25f8ee5c3
https://github.com/scummvm/scummvm/commit/df2471dbe495c92a848a2d7f88be8ca25f8ee5c3
Author: Strangerke (arnaud.boutonne at gmail.com)
Date: 2026-01-07T11:49:08+01:00
Commit Message:
M4: RIDDLE: Workaroud for issue fix #16098 - Autosave has bad coordinates which makes it unusable
The workaround has been added as usually the autosave is made before the move, like it's now the case
Changed paths:
engines/m4/riddle/rooms/section8/room808.cpp
diff --git a/engines/m4/riddle/rooms/section8/room808.cpp b/engines/m4/riddle/rooms/section8/room808.cpp
index 9e23596b7ef..97094a8a701 100644
--- a/engines/m4/riddle/rooms/section8/room808.cpp
+++ b/engines/m4/riddle/rooms/section8/room808.cpp
@@ -264,11 +264,15 @@ void Room808::pre_parser() {
if (_G(flags)[V096] == 0) {
ws_walk(_G(my_walker), 185, 165, nullptr, 6, 2, true);
} else {
+ // Hack to fix #16098 - Save game before the move to ensure the position is correct when restoring the auto-save
+ other_save_game_for_resurrection();
ws_walk(_G(my_walker), 192, 163, nullptr, 10, 2, true);
}
_G(kernel).trigger_mode = KT_PREPARSE;
} else if (inv_object_in_scene("FARMER'S SHOVEL", 808) && _G(flags)[kBridgeWheelPosition] == 4 && check1Fl) {
intr_cancel_sentence();
+ // Hack to fix #16098 - Save game before the move to ensure the position is correct when restoring the auto-save
+ other_save_game_for_resurrection();
_G(kernel).trigger_mode = KT_DAEMON;
ws_walk(_G(my_walker), 274, 142, nullptr, 8, 2, true);
_G(kernel).trigger_mode = KT_PREPARSE;
@@ -1450,11 +1454,14 @@ void Room808::daemon() {
if (_G(spleenSpraying)) {
kernel_timing_trigger(200, 966, nullptr);
} else {
+ _G(player).disable_hyperwalk = false;
+
ws_unhide_walker(_G(my_walker));
- ws_demand_location(_G(my_walker), 202, 179);
+ ws_demand_location(_G(my_walker), 190, 179);
ws_demand_facing(_G(my_walker), 2);
- other_save_game_for_resurrection();
+ // TODO : remove the hack and use this code when we understand why it doesn't save the right position in the auto-save
+ // other_save_game_for_resurrection();
_G(game).setRoom(413);
}
@@ -1686,11 +1693,13 @@ void Room808::daemon() {
break;
case 967:
+ // Note : this block is never used as the environment variable spleenSpraying is never set (thus trigger 966 & 967 are never called)
ws_unhide_walker(_G(my_walker));
ws_demand_location(_G(my_walker), 202, 179);
ws_demand_facing(_G(my_walker), 2);
- other_save_game_for_resurrection();
+ // TODO : remove the hack and use this code when we understand why it doesn't save the right position in the auto-save
+ // other_save_game_for_resurrection();
_G(game).setRoom(413);
break;
More information about the Scummvm-git-logs
mailing list