diff options
Diffstat (limited to 'engines/mohawk')
-rw-r--r-- | engines/mohawk/myst.cpp | 7 | ||||
-rw-r--r-- | engines/mohawk/myst_scripts.cpp | 31 |
2 files changed, 28 insertions, 10 deletions
diff --git a/engines/mohawk/myst.cpp b/engines/mohawk/myst.cpp index cf9837043f..753ab83b7b 100644 --- a/engines/mohawk/myst.cpp +++ b/engines/mohawk/myst.cpp @@ -118,6 +118,10 @@ static const char *mystFiles[] = { // qtw/myst/libelev.mov: libup.mov is basically the same with sound Common::String MohawkEngine_Myst::wrapMovieFilename(Common::String movieName, uint16 stack) { + // The Macintosh release of Myst ME stores its videos in a different folder + if ((getFeatures() & GF_ME) && getPlatform() == Common::kPlatformMacintosh) + return Common::String("CD Data/m/") + movieName + ".mov"; + const char* prefix; switch (stack) { @@ -151,9 +155,6 @@ Common::String MohawkEngine_Myst::wrapMovieFilename(Common::String movieName, ui break; } - if ((getFeatures() & GF_ME) && getPlatform() == Common::kPlatformMacintosh) - return Common::String("CD Data/m/") + movieName + ".mov"; - return Common::String("qtw/") + prefix + movieName + ".mov"; } diff --git a/engines/mohawk/myst_scripts.cpp b/engines/mohawk/myst_scripts.cpp index 39ce212dd6..dc49e72d75 100644 --- a/engines/mohawk/myst_scripts.cpp +++ b/engines/mohawk/myst_scripts.cpp @@ -1334,25 +1334,42 @@ void MystScriptParser::opcode_100(uint16 op, uint16 var, uint16 argc, uint16 *ar while (_vm->_mixer->isSoundHandleActive(*handle)) _vm->_system->delayMillis(10); - // Play Flyby Entry Movie on Masterpiece Edition.. + // Play Flyby Entry Movie on Masterpiece Edition. The Macintosh version is currently hooked + // up to the Cinepak versions of the video (the 'c' suffix) until the SVQ1 decoder is completed. if ((_vm->getFeatures() & GF_ME)) { switch (stack_map[_vm->_varStore->getVar(var)]) { case kSeleniticStack: - _vm->_video->playMovieCentered(_vm->wrapMovieFilename("selenitic flyby", kMasterpieceOnly)); + if (_vm->getPlatform() == Common::kPlatformMacintosh) + _vm->_video->playMovieCentered(_vm->wrapMovieFilename("FLY_SEc", kMasterpieceOnly)); + else + _vm->_video->playMovieCentered(_vm->wrapMovieFilename("selenitic flyby", kMasterpieceOnly)); break; case kStoneshipStack: - _vm->_video->playMovieCentered(_vm->wrapMovieFilename("stoneship flyby", kMasterpieceOnly)); + if (_vm->getPlatform() == Common::kPlatformMacintosh) + _vm->_video->playMovieCentered(_vm->wrapMovieFilename("FLY_STc", kMasterpieceOnly)); + else + _vm->_video->playMovieCentered(_vm->wrapMovieFilename("stoneship flyby", kMasterpieceOnly)); break; // Myst Flyby Movie not used in Original Masterpiece Edition Engine case kMystStack: - if (_vm->_tweaksEnabled) - _vm->_video->playMovieCentered(_vm->wrapMovieFilename("myst flyby", kMasterpieceOnly)); + if (_vm->_tweaksEnabled) { + if (_vm->getPlatform() == Common::kPlatformMacintosh) + _vm->_video->playMovieCentered(_vm->wrapMovieFilename("FLY_MYc", kMasterpieceOnly)); + else + _vm->_video->playMovieCentered(_vm->wrapMovieFilename("myst flyby", kMasterpieceOnly)); + } break; case kMechanicalStack: - _vm->_video->playMovieCentered(_vm->wrapMovieFilename("mech age flyby", kMasterpieceOnly)); + if (_vm->getPlatform() == Common::kPlatformMacintosh) + _vm->_video->playMovieCentered(_vm->wrapMovieFilename("FLY_MEc", kMasterpieceOnly)); + else + _vm->_video->playMovieCentered(_vm->wrapMovieFilename("mech age flyby", kMasterpieceOnly)); break; case kChannelwoodStack: - _vm->_video->playMovieCentered(_vm->wrapMovieFilename("channelwood flyby", kMasterpieceOnly)); + if (_vm->getPlatform() == Common::kPlatformMacintosh) + _vm->_video->playMovieCentered(_vm->wrapMovieFilename("FLY_CHc", kMasterpieceOnly)); + else + _vm->_video->playMovieCentered(_vm->wrapMovieFilename("channelwood flyby", kMasterpieceOnly)); break; default: break; |