aboutsummaryrefslogtreecommitdiff
path: root/engines/mohawk
diff options
context:
space:
mode:
authorBastien Bouclet2018-02-05 07:30:24 +0100
committerBastien Bouclet2018-02-05 07:40:20 +0100
commit5322606abe2bdcfc85f5d90036ad09610e29ca6f (patch)
tree440493fa717223ccaec8058ece5b162d5e980b4c /engines/mohawk
parent9dbffa1763804596ff21c91d5dc98de02e40b6af (diff)
downloadscummvm-rg350-5322606abe2bdcfc85f5d90036ad09610e29ca6f.tar.gz
scummvm-rg350-5322606abe2bdcfc85f5d90036ad09610e29ca6f.tar.bz2
scummvm-rg350-5322606abe2bdcfc85f5d90036ad09610e29ca6f.zip
MOHAWK: RIVEN: Execute the stored opcode before resetting movies
Otherwise the movie position is zero which leads the comparison with the stored opcode position to always be false. Fixes #10426, a regression from cf1171d4d9b43eba.
Diffstat (limited to 'engines/mohawk')
-rw-r--r--engines/mohawk/riven_video.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/engines/mohawk/riven_video.cpp b/engines/mohawk/riven_video.cpp
index 9bd185ed5d..745f96bda0 100644
--- a/engines/mohawk/riven_video.cpp
+++ b/engines/mohawk/riven_video.cpp
@@ -252,12 +252,6 @@ void RivenVideo::playBlocking(int32 endTime) {
}
}
- if (playTillEnd) {
- disable();
- stop();
- seek(0);
- }
-
// Execute the stored opcode
uint16 storedOpcodeMovieSlot = _vm->_scriptMan->getStoredMovieOpcodeSlot();
uint32 storedOpcodeTime = _vm->_scriptMan->getStoredMovieOpcodeTime();
@@ -265,6 +259,12 @@ void RivenVideo::playBlocking(int32 endTime) {
_vm->_scriptMan->runStoredMovieOpcode();
}
+ if (playTillEnd) {
+ disable();
+ stop();
+ seek(0);
+ }
+
_vm->_cursor->showCursor();
}