From 0b69b6a842b3527a6ad73f99d6840d7b7c05b4bf Mon Sep 17 00:00:00 2001 From: Bastien Bouclet Date: Sun, 30 Jan 2011 13:54:39 +0000 Subject: MOHAWK: Myst, pass the playback direction from the calling script to the movie player. svn-id: r55657 --- engines/mohawk/myst_areas.cpp | 2 +- engines/mohawk/myst_areas.h | 3 ++- engines/mohawk/myst_scripts.cpp | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) (limited to 'engines/mohawk') 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(_invokingResource); + resource->setDirection(direction); resource->playMovie(); // TODO: If movie has sound, resume background music -- cgit v1.2.3