aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/mohawk/myst_areas.cpp2
-rw-r--r--engines/mohawk/myst_areas.h3
-rw-r--r--engines/mohawk/myst_scripts.cpp1
3 files changed, 4 insertions, 2 deletions
diff --git a/engines/mohawk/myst_areas.cpp b/engines/mohawk/myst_areas.cpp
index 761002036c..21f6627f60 100644
--- a/engines/mohawk/myst_areas.cpp
+++ b/engines/mohawk/myst_areas.cpp
@@ -173,7 +173,7 @@ MystResourceType6::MystResourceType6(MohawkEngine_Myst *vm, Common::SeekableRead
_left = rlstStream->readSint16LE() % 10000;
_top = rlstStream->readSint16LE() % 10000;
_playOnCardChange = rlstStream->readUint16LE();
- _direction = rlstStream->readUint16LE();
+ _direction = rlstStream->readSint16LE();
_playBlocking = rlstStream->readUint16LE();
_loop = rlstStream->readUint16LE();
_u3 = rlstStream->readUint16LE();
diff --git a/engines/mohawk/myst_areas.h b/engines/mohawk/myst_areas.h
index 794fb998d1..c5cda6824f 100644
--- a/engines/mohawk/myst_areas.h
+++ b/engines/mohawk/myst_areas.h
@@ -108,6 +108,7 @@ public:
VideoHandle playMovie();
void handleCardChange();
bool isPlaying();
+ void setDirection(int16 direction) { _direction = direction; }
void setBlocking(bool blocking) { _playBlocking = blocking; }
void pauseMovie(bool pause);
@@ -117,7 +118,7 @@ protected:
int16 _left;
int16 _top;
uint16 _loop;
- uint16 _direction; // 1 => forward, -1 => backwards
+ int16 _direction; // 1 => forward, -1 => backwards
uint16 _playBlocking;
uint16 _playOnCardChange;
uint16 _u3;
diff --git a/engines/mohawk/myst_scripts.cpp b/engines/mohawk/myst_scripts.cpp
index 6ead1a72a4..2e6e921ad8 100644
--- a/engines/mohawk/myst_scripts.cpp
+++ b/engines/mohawk/myst_scripts.cpp
@@ -384,6 +384,7 @@ void MystScriptParser::o_triggerMovie(uint16 op, uint16 var, uint16 argc, uint16
// Trigger resource 6 movie overriding play direction
MystResourceType6 *resource = static_cast<MystResourceType6 *>(_invokingResource);
+ resource->setDirection(direction);
resource->playMovie();
// TODO: If movie has sound, resume background music