diff options
| -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; | 
