diff options
author | athrxx | 2011-11-06 17:35:27 +0100 |
---|---|---|
committer | Johannes Schickel | 2011-12-26 16:18:12 +0100 |
commit | b7f7635876d3621b11d66cddca9babc1b5f1a1c6 (patch) | |
tree | 39b54d7e9a7b5cfa66aabbf7a1ce718632466192 /engines/kyra/saveload_eob.cpp | |
parent | d7f2720b5709b1b4a93f81163752d2da148d2fd9 (diff) | |
download | scummvm-rg350-b7f7635876d3621b11d66cddca9babc1b5f1a1c6.tar.gz scummvm-rg350-b7f7635876d3621b11d66cddca9babc1b5f1a1c6.tar.bz2 scummvm-rg350-b7f7635876d3621b11d66cddca9babc1b5f1a1c6.zip |
KYRA: (EOB) - implement memorize/pray spells menu
Diffstat (limited to 'engines/kyra/saveload_eob.cpp')
-rw-r--r-- | engines/kyra/saveload_eob.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/engines/kyra/saveload_eob.cpp b/engines/kyra/saveload_eob.cpp index 85b94cd3d4..497be6fdce 100644 --- a/engines/kyra/saveload_eob.cpp +++ b/engines/kyra/saveload_eob.cpp @@ -352,6 +352,8 @@ Common::Error EobCoreEngine::loadGameState(int slot) { } if (_saveLoadMode != -1) { + if (_flags.gameID == GI_EOB1) + _screen->loadPalette("EOBPAL.COL", _screen->getPalette(0)); loadLevel(_currentLevel, _currentSub); _sceneUpdateRequired = true; _screen->setFont(Screen::FID_6_FNT); @@ -395,7 +397,6 @@ Common::Error EobCoreEngine::saveGameStateIntern(int slot, const char *saveName, for (int i = 0; i < 6; i++) { timerSpecialCharacterUpdate(0x30 + i); - uint32 ct = _system->getMillis(); EobCharacter *c = &_characters[i]; out->writeByte(c->id); @@ -432,8 +433,9 @@ Common::Error EobCoreEngine::saveGameStateIntern(int slot, const char *saveName, out->writeUint32BE(c->mageSpellsAvailabilityFlags); for (int ii = 0; ii < 27; ii++) out->writeSint16BE(c->inventory[ii]); + uint32 ct = _system->getMillis(); for (int ii = 0; ii < 10; ii++) - out->writeUint32BE(c->timers[ii] ? c->timers[ii] - ct : 0); + out->writeUint32BE((c->timers[ii] && c->timers[ii] > ct) ? c->timers[ii] - ct : 0); out->write(c->events, 10); out->write(c->effectsRemainder, 4); |