aboutsummaryrefslogtreecommitdiff
path: root/engines/mohawk/myst_stacks/credits.cpp
diff options
context:
space:
mode:
authorBastien Bouclet2011-01-08 17:40:29 +0000
committerBastien Bouclet2011-01-08 17:40:29 +0000
commitd202e4c9dcd3df04c2992b450c5c620637351f3b (patch)
treeac45ae9d8879930e4271df57f68ce2ac3509a491 /engines/mohawk/myst_stacks/credits.cpp
parent0d1955700e64b3d43f1d302ae0bb76c69918e923 (diff)
downloadscummvm-rg350-d202e4c9dcd3df04c2992b450c5c620637351f3b.tar.gz
scummvm-rg350-d202e4c9dcd3df04c2992b450c5c620637351f3b.tar.bz2
scummvm-rg350-d202e4c9dcd3df04c2992b450c5c620637351f3b.zip
MOHAWK: Change Myst credits stack not to use the var store
svn-id: r55170
Diffstat (limited to 'engines/mohawk/myst_stacks/credits.cpp')
-rw-r--r--engines/mohawk/myst_stacks/credits.cpp36
1 files changed, 13 insertions, 23 deletions
diff --git a/engines/mohawk/myst_stacks/credits.cpp b/engines/mohawk/myst_stacks/credits.cpp
index 1ea4601351..93486928ce 100644
--- a/engines/mohawk/myst_stacks/credits.cpp
+++ b/engines/mohawk/myst_stacks/credits.cpp
@@ -57,41 +57,34 @@ void MystScriptParser_Credits::setupOpcodes() {
void MystScriptParser_Credits::disablePersistentScripts() {
_creditsRunning = false;
- _creditsVar = 0;
- _baseImageId = 0;
- _lastCardTime = 0;
}
void MystScriptParser_Credits::runPersistentScripts() {
if (!_creditsRunning)
return;
- uint16 curImageIndex = _vm->_varStore->getVar(_creditsVar);
+ if (_vm->_system->getMillis() - _startTime >= 7 * 1000) {
+ _curImage++;
- if (_vm->_system->getMillis() - _lastCardTime >= 7 * 1000) {
// After the 6th image has shown, it's time to quit
- if (curImageIndex == 7)
+ if (_curImage == 7)
_vm->_system->quit();
- // Note: The modulus by 6 is because the 6th image is the one at imageBaseId
- _vm->_gfx->copyImageToScreen(_baseImageId + curImageIndex % 6, Common::Rect(0, 0, 544, 333));
+ // Draw next image
+ _vm->drawCardBackground();
+ _vm->_gfx->copyBackBufferToScreen(Common::Rect(544, 333));
_vm->_system->updateScreen();
- _vm->_varStore->setVar(_creditsVar, curImageIndex + 1);
- _lastCardTime = _vm->_system->getMillis();
+ _startTime = _vm->_system->getMillis();
}
}
uint16 MystScriptParser_Credits::getVar(uint16 var) {
-// MystVariables::Globals &globals = _vm->_saveLoad->_v->globals;
-// MystVariables::Dni &dni = _vm->_saveLoad->_v->dni;
-
switch(var) {
-// case 0: // Credits Image Control
-// return _creditsVar;
-// case 1: // Credits Music Control
-// return 0; // Bad Ending Music
-// return 1; // Good Ending Music
+ case 0: // Credits Image Control
+ return _curImage;
+ case 1: // Credits Music Control (Good / bad ending)
+ return _globals.ending != 4;
default:
return MystScriptParser::getVar(var);
}
@@ -104,11 +97,8 @@ void MystScriptParser_Credits::o_quit(uint16 op, uint16 var, uint16 argc, uint16
void MystScriptParser_Credits::o_runCredits(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
// Activate the credits
_creditsRunning = true;
- _creditsVar = var;
- _baseImageId = _vm->getCurCard();
- _lastCardTime = _vm->_system->getMillis();
-
- _vm->_varStore->setVar(var, 1);
+ _curImage = 0;
+ _startTime = _vm->_system->getMillis();
}
} // End of namespace Mohawk