diff options
author | Bastien Bouclet | 2011-01-08 17:40:29 +0000 |
---|---|---|
committer | Bastien Bouclet | 2011-01-08 17:40:29 +0000 |
commit | d202e4c9dcd3df04c2992b450c5c620637351f3b (patch) | |
tree | ac45ae9d8879930e4271df57f68ce2ac3509a491 /engines/mohawk/myst_stacks | |
parent | 0d1955700e64b3d43f1d302ae0bb76c69918e923 (diff) | |
download | scummvm-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')
-rw-r--r-- | engines/mohawk/myst_stacks/credits.cpp | 36 | ||||
-rw-r--r-- | engines/mohawk/myst_stacks/credits.h | 4 |
2 files changed, 14 insertions, 26 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 diff --git a/engines/mohawk/myst_stacks/credits.h b/engines/mohawk/myst_stacks/credits.h index 0ac2766ca1..0a80ae9a67 100644 --- a/engines/mohawk/myst_stacks/credits.h +++ b/engines/mohawk/myst_stacks/credits.h @@ -53,9 +53,7 @@ private: DECLARE_OPCODE(o_runCredits); bool _creditsRunning; - uint16 _creditsVar; - uint16 _baseImageId; - uint32 _lastCardTime; + uint16 _curImage; // 56 }; } // End of namespace Mohawk |