aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/saveload_eob.cpp
diff options
context:
space:
mode:
authorathrxx2011-11-06 17:35:27 +0100
committerJohannes Schickel2011-12-26 16:18:12 +0100
commitb7f7635876d3621b11d66cddca9babc1b5f1a1c6 (patch)
tree39b54d7e9a7b5cfa66aabbf7a1ce718632466192 /engines/kyra/saveload_eob.cpp
parentd7f2720b5709b1b4a93f81163752d2da148d2fd9 (diff)
downloadscummvm-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.cpp6
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);