[Scummvm-git-logs] scummvm master -> 4277a293e1c897b9abf239fbd6082c54c397dafb

athrxx athrxx at scummvm.org
Tue Jan 14 23:45:35 UTC 2020


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:
4277a293e1 KYRA: (MR) - fix animation glitch (bug #11312)


Commit: 4277a293e1c897b9abf239fbd6082c54c397dafb
    https://github.com/scummvm/scummvm/commit/4277a293e1c897b9abf239fbd6082c54c397dafb
Author: athrxx (athrxx at scummvm.org)
Date: 2020-01-15T00:44:33+01:00

Commit Message:
KYRA: (MR) - fix animation glitch (bug #11312)

(negative character facing value causing undefined behavior)

Changed paths:
    engines/kyra/engine/scene_mr.cpp


diff --git a/engines/kyra/engine/scene_mr.cpp b/engines/kyra/engine/scene_mr.cpp
index 97920e3..882acd5 100644
--- a/engines/kyra/engine/scene_mr.cpp
+++ b/engines/kyra/engine/scene_mr.cpp
@@ -444,8 +444,15 @@ void KyraEngine_MR::initSceneAnims(int unk1) {
 
 	AnimObj *obj = &_animObjects[0];
 
-	if (_mainCharacter.animFrame != 87 && !unk1)
-		_mainCharacter.animFrame = _characterFrameTable[_mainCharacter.facing];
+	if (_mainCharacter.animFrame != 87 && !unk1) {
+		if (_mainCharacter.facing == 0xFF) {
+			// Fix for bug #11312 (café scene)
+			debugC(3, kDebugLevelSprites, "KyraEngine_MR::initSceneAnims(): Triggered WORKAROUND for invalid character facing");
+			_mainCharacter.animFrame = 0;
+		} else {
+			_mainCharacter.animFrame = _characterFrameTable[_mainCharacter.facing];
+		}
+	}
 
 	obj->enabled = true;
 	obj->xPos1 = _mainCharacter.x1;




More information about the Scummvm-git-logs mailing list