aboutsummaryrefslogtreecommitdiff
path: root/engines/prince
diff options
context:
space:
mode:
Diffstat (limited to 'engines/prince')
-rw-r--r--engines/prince/prince.cpp2
-rw-r--r--engines/prince/script.cpp5
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() {