[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