[Scummvm-cvs-logs] SF.net SVN: scummvm:[52621] scummvm/trunk/engines/mohawk/riven_external.cpp

mthreepwood at users.sourceforge.net mthreepwood at users.sourceforge.net
Tue Sep 7 17:27:06 CEST 2010


Revision: 52621
          http://scummvm.svn.sourceforge.net/scummvm/?rev=52621&view=rev
Author:   mthreepwood
Date:     2010-09-07 15:27:06 +0000 (Tue, 07 Sep 2010)

Log Message:
-----------
MOHAWK: Fix the boiler puzzle videos

Modified Paths:
--------------
    scummvm/trunk/engines/mohawk/riven_external.cpp

Modified: scummvm/trunk/engines/mohawk/riven_external.cpp
===================================================================
--- scummvm/trunk/engines/mohawk/riven_external.cpp	2010-09-07 15:09:59 UTC (rev 52620)
+++ scummvm/trunk/engines/mohawk/riven_external.cpp	2010-09-07 15:27:06 UTC (rev 52621)
@@ -739,54 +739,60 @@
 	uint32 water = *_vm->getVar("bblrwtr");
 	uint32 platform = *_vm->getVar("bblrgrt");
 
+	// Stop any background videos
+	_vm->_video->stopVideos();
+
 	if (argv[0] == 1) {
+		// Water is filling/draining from the boiler
 		if (water == 0) {
-			if (platform == 0)
+			if (platform == 1)
+				_vm->_video->activateMLST(12, _vm->getCurCard());
+			else
 				_vm->_video->activateMLST(10, _vm->getCurCard());
+		} else if (heat == 1) {
+			if (platform == 1)
+				_vm->_video->activateMLST(22, _vm->getCurCard());
 			else
-				_vm->_video->activateMLST(12, _vm->getCurCard());
-		} else if (heat == 0) {
-			if (platform == 0)
 				_vm->_video->activateMLST(19, _vm->getCurCard());
+		} else {
+			if (platform == 1)
+				_vm->_video->activateMLST(16, _vm->getCurCard());
 			else
-				_vm->_video->activateMLST(22, _vm->getCurCard());
-		} else {
-			if (platform == 0)
 				_vm->_video->activateMLST(13, _vm->getCurCard());
-			else
-				_vm->_video->activateMLST(16, _vm->getCurCard());
 		}
 	} else if (argv[0] == 2 && water != 0) {
-		if (heat == 0) {
-			if (platform == 0)
+		if (heat == 1) {
+			// Turning on the heat
+			if (platform == 1)
+				_vm->_video->activateMLST(23, _vm->getCurCard());
+			else
 				_vm->_video->activateMLST(20, _vm->getCurCard());
-			else
-				_vm->_video->activateMLST(23, _vm->getCurCard());
 		} else {
-			if (platform == 0)
+			// Turning off the heat
+			if (platform == 1)
 				_vm->_video->activateMLST(18, _vm->getCurCard());
 			else
 				_vm->_video->activateMLST(15, _vm->getCurCard());
 		}
 	} else if (argv[0] == 3) {
-		if (platform == 0) {
-			if (water == 0) {
+		if (platform == 1) {
+			// Lowering the platform
+			if (water == 1) {
+				if (heat == 1)
+					_vm->_video->activateMLST(24, _vm->getCurCard());
+				else
+					_vm->_video->activateMLST(17, _vm->getCurCard());
+			} else
 				_vm->_video->activateMLST(11, _vm->getCurCard());
-			} else {
-				if (heat == 0)
-					_vm->_video->activateMLST(17, _vm->getCurCard());
+		} else {
+			// Raising the platform
+			if (water == 1) {
+				if (heat == 1)
+					_vm->_video->activateMLST(21, _vm->getCurCard());
 				else
-					_vm->_video->activateMLST(24, _vm->getCurCard());
-			}
-		} else {
-			if (water == 0) {
+					_vm->_video->activateMLST(14, _vm->getCurCard());
+			} else
 				_vm->_video->activateMLST(9, _vm->getCurCard());
-			} else {
-				if (heat == 0)
-					_vm->_video->activateMLST(14, _vm->getCurCard());
-				else
-					_vm->_video->activateMLST(21, _vm->getCurCard());
-			}
 		}
 	}
 
@@ -795,7 +801,8 @@
 	else if (argv[0] == 2)
 		_vm->_sound->playSLST(1, _vm->getCurCard());
 
-	_vm->_video->playMovie(11);
+	_vm->_gfx->changeCursor(kRivenHideCursor);
+	_vm->_video->playMovieBlocking(11);
 }
 
 void RivenExternal::xbupdateboiler(uint16 argc, uint16 *argv) {
@@ -804,18 +811,16 @@
 
 	if (heat) {
 		if (platform == 0) {
+			_vm->_video->activateMLST(8, _vm->getCurCard());
+			_vm->_video->playMovie(8);
+		} else {
 			_vm->_video->activateMLST(7, _vm->getCurCard());
 			_vm->_video->playMovie(7);
-		} else {
-			_vm->_video->activateMLST(8, _vm->getCurCard());
-			_vm->_video->playMovie(8);
 		}
 	} else {
-		_vm->_video->stopMovie(7);
-		_vm->_video->stopMovie(8);
+		_vm->_video->disableMovie(7);
+		_vm->_video->disableMovie(8);
 	}
-
-	_vm->refreshCard();
 }
 
 void RivenExternal::xbsettrap(uint16 argc, uint16 *argv) {


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