[Scummvm-git-logs] scummvm master -> ee39e759327e1facd5ddda5852aef180ecb097d3
athrxx
noreply at scummvm.org
Mon Jun 9 18:42:18 UTC 2025
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:
ee39e75932 SCUMM: (v7) - fix walk code glitch
Commit: ee39e759327e1facd5ddda5852aef180ecb097d3
https://github.com/scummvm/scummvm/commit/ee39e759327e1facd5ddda5852aef180ecb097d3
Author: athrxx (athrxx at scummvm.org)
Date: 2025-06-09T20:41:04+02:00
Commit Message:
SCUMM: (v7) - fix walk code glitch
Changed paths:
engines/scumm/actor.cpp
diff --git a/engines/scumm/actor.cpp b/engines/scumm/actor.cpp
index a20e27a3fe8..0c01fbae3ee 100644
--- a/engines/scumm/actor.cpp
+++ b/engines/scumm/actor.cpp
@@ -1692,7 +1692,11 @@ void Actor_v7::turnToDirection(int newdir) {
newdir = remapDirection((newdir + 360) % 360, false);
_moving &= ~MF_TURN;
- if (isInCurrentRoom() && !_ignoreBoxes) {
+ // This extra handling is only found in COMI. It is defintely needed there, since it prevents
+ // Guybrush from walking backwards in certain places. For DIG and FT, this code does not exist
+ // in the original engine and it also causes the same sort or glitches (but due to the presence
+ // of this code, not due to its absence).
+ if (_vm->_game.version == 8 && isInCurrentRoom() && !_ignoreBoxes) {
byte flags = _vm->getBoxFlags(_walkbox);
if ((flags & kBoxXFlip) || isInClass(kObjectClassXFlip))
newdir = 360 - newdir;
More information about the Scummvm-git-logs
mailing list