diff options
Diffstat (limited to 'engines/prince')
-rw-r--r-- | engines/prince/prince.cpp | 2 | ||||
-rw-r--r-- | engines/prince/script.cpp | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/engines/prince/prince.cpp b/engines/prince/prince.cpp index d876f8aa53..2d59f95a6b 100644 --- a/engines/prince/prince.cpp +++ b/engines/prince/prince.cpp @@ -1256,7 +1256,7 @@ void PrinceEngine::showNormAnims() { Anim &anim = _normAnimList[i]; if (anim._animData != nullptr) { if (!anim._state) { - if (anim._frame == anim._lastFrame) { + if (anim._frame == anim._lastFrame - 1) { // TODO - check if correct if (anim._loopType) { if (anim._loopType == 1) { anim._frame = anim._loopFrame; diff --git a/engines/prince/script.cpp b/engines/prince/script.cpp index 37f6724b36..38179421c3 100644 --- a/engines/prince/script.cpp +++ b/engines/prince/script.cpp @@ -1160,7 +1160,10 @@ void Interpreter::O_CHANGEFRAMES() { uint16 frame = readScriptFlagValue(); uint16 lastFrame = readScriptFlagValue(); uint16 loopFrame = readScriptFlagValue(); - debugInterpreter("O_CHANGFRAMES anim %d, fr1 %d, fr2 %d, fr3 %d", anim, frame, lastFrame, loopFrame); + _vm->_normAnimList[anim]._frame = frame; + _vm->_normAnimList[anim]._lastFrame = lastFrame; + _vm->_normAnimList[anim]._loopFrame = loopFrame; + debugInterpreter("O_CHANGFRAMES anim %d, frame %d, lastFrame %d, loopFrame %d", anim, frame, lastFrame, loopFrame); } void Interpreter::O_CHANGEBACKFRAMES() { |