[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