[Scummvm-cvs-logs] SF.net SVN: scummvm:[55196] scummvm/trunk/engines/mohawk/myst_stacks/intro. cpp

mthreepwood at users.sourceforge.net mthreepwood at users.sourceforge.net
Mon Jan 10 15:59:26 CET 2011


Revision: 55196
          http://scummvm.svn.sourceforge.net/scummvm/?rev=55196&view=rev
Author:   mthreepwood
Date:     2011-01-10 14:59:25 +0000 (Mon, 10 Jan 2011)

Log Message:
-----------
MOHAWK: Fix the Myst ME Mac intro and cleanup

Modified Paths:
--------------
    scummvm/trunk/engines/mohawk/myst_stacks/intro.cpp

Modified: scummvm/trunk/engines/mohawk/myst_stacks/intro.cpp
===================================================================
--- scummvm/trunk/engines/mohawk/myst_stacks/intro.cpp	2011-01-10 00:35:45 UTC (rev 55195)
+++ scummvm/trunk/engines/mohawk/myst_stacks/intro.cpp	2011-01-10 14:59:25 UTC (rev 55196)
@@ -97,39 +97,58 @@
 }
 
 void MystScriptParser_Intro::introMovies_run() {
-	// Play Intro Movies..
-	if (_introStep == 0) {
-		_introStep = 1;
+	// Play Intro Movies
+	// This is all quite messy...
 
+	switch (_introStep) {
+	case 0:
+		// Play the Mattel (or UbiSoft) logo in the Myst ME Mac version
 		if ((_vm->getFeatures() & GF_ME) && _vm->getPlatform() == Common::kPlatformMacintosh) {
 			_vm->_video->playBackgroundMovie(_vm->wrapMovieFilename("mattel", kIntroStack));
-			_vm->_video->playBackgroundMovie(_vm->wrapMovieFilename("presto", kIntroStack));
+			_introStep = 1;
 		} else
-			_vm->_video->playBackgroundMovie(_vm->wrapMovieFilename("broder", kIntroStack));
-	} else if (_introStep == 1) {
+			_introStep = 2;
+		break;
+	case 1:
 		if (!_vm->_video->isVideoPlaying())
 			_introStep = 2;
-	} else if (_introStep == 2) {
+		break;
+	case 2:
 		_introStep = 3;
-
-		_vm->_video->playBackgroundMovie(_vm->wrapMovieFilename("cyanlogo", kIntroStack));
-	} else if (_introStep == 3) {
+		if ((_vm->getFeatures() & GF_ME) && _vm->getPlatform() == Common::kPlatformMacintosh)
+			_vm->_video->playBackgroundMovie(_vm->wrapMovieFilename("presto", kIntroStack));
+		else
+			_vm->_video->playBackgroundMovie(_vm->wrapMovieFilename("broder", kIntroStack));
+		break;
+	case 3:
 		if (!_vm->_video->isVideoPlaying())
 			_introStep = 4;
-	}  else if (_introStep == 4) {
+		break;
+	case 4:
 		_introStep = 5;
+		_vm->_video->playBackgroundMovie(_vm->wrapMovieFilename("cyanlogo", kIntroStack));
+		break;
+	case 5:
+		if (!_vm->_video->isVideoPlaying())
+			_introStep = 6;
+		break;
+	case 6:
+		_introStep = 7;
 
 		if (!(_vm->getFeatures() & GF_DEMO)) { // The demo doesn't have the intro video
 			if ((_vm->getFeatures() & GF_ME) && _vm->getPlatform() == Common::kPlatformMacintosh)
 				// intro.mov uses Sorenson, introc uses Cinepak. Otherwise, they're the same.
+				// TODO: Switch back to the SVQ version when we support it
 				_vm->_video->playBackgroundMovie(_vm->wrapMovieFilename("introc", kIntroStack));
 			else
 				_vm->_video->playBackgroundMovie(_vm->wrapMovieFilename("intro", kIntroStack));
 		}
-	} else if (_introStep == 5) {
+		break;
+	case 7:
 		if (!_vm->_video->isVideoPlaying())
-			_introStep = 6;
-	} else {
+			_introStep = 8;
+		break;
+	default:
 		if (_vm->getFeatures() & GF_DEMO)
 			_vm->changeToCard(2001, true);
 		else


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list