aboutsummaryrefslogtreecommitdiff
path: root/engines/mohawk/riven_scripts.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/mohawk/riven_scripts.cpp')
-rw-r--r--engines/mohawk/riven_scripts.cpp18
1 files changed, 8 insertions, 10 deletions
diff --git a/engines/mohawk/riven_scripts.cpp b/engines/mohawk/riven_scripts.cpp
index d574a455c6..e809ad9642 100644
--- a/engines/mohawk/riven_scripts.cpp
+++ b/engines/mohawk/riven_scripts.cpp
@@ -28,7 +28,7 @@
#include "mohawk/riven_external.h"
#include "mohawk/riven_scripts.h"
#include "mohawk/sound.h"
-#include "mohawk/video.h"
+#include "mohawk/video/video.h"
#include "common/stream.h"
#include "graphics/cursorman.h"
@@ -298,10 +298,13 @@ void RivenScript::processCommands(bool runCommands) {
// Command 1: draw tBMP resource (tbmp_id, left, top, right, bottom, u0, u1, u2, u3)
void RivenScript::drawBitmap(uint16 op, uint16 argc, uint16 *argv) {
- if (argc < 5) // Copy the image to the whole screen, ignoring the rest of the parameters
+ if (argc < 5) {
+ // Copy the image to the whole screen, ignoring the rest of the parameters
_vm->_gfx->copyImageToScreen(argv[0], 0, 0, 608, 392);
- else // Copy the image to a certain part of the screen
+ } else {
+ // Copy the image to a certain part of the screen
_vm->_gfx->copyImageToScreen(argv[0], argv[1], argv[2], argv[3], argv[4]);
+ }
// Now, update the screen
_vm->_gfx->updateScreen();
@@ -310,12 +313,6 @@ void RivenScript::drawBitmap(uint16 op, uint16 argc, uint16 *argv) {
// Command 2: go to card (card id)
void RivenScript::switchCard(uint16 op, uint16 argc, uint16 *argv) {
_vm->changeToCard(argv[0]);
-
- // WORKAROUND: If we changed card on a mouse down event,
- // we want to ignore the next mouse up event so we don't
- // change card when lifting the mouse on the next card.
- if (_scriptType == kMouseDownScript)
- _vm->ignoreNextMouseUp();
}
// Command 3: play an SLST from the script
@@ -550,8 +547,9 @@ void RivenScript::activateSLST(uint16 op, uint16 argc, uint16 *argv) {
// Command 41: activate MLST record and play
void RivenScript::activateMLSTAndPlay(uint16 op, uint16 argc, uint16 *argv) {
+ _vm->_video->enableMovie(argv[0] - 1);
_vm->_video->activateMLST(argv[0], _vm->getCurCard());
- _vm->_video->playMovie(argv[0]);
+ // TODO: Play movie (blocking?)
}
// Command 43: activate BLST record (card hotspot enabling lists)