diff options
author | athrxx | 2011-08-20 13:24:36 +0200 |
---|---|---|
committer | Johannes Schickel | 2011-12-26 16:18:14 +0100 |
commit | c35de374dfe545ffc5044a00a247c5814e3b250e (patch) | |
tree | cad935e5db618270d5cf70f2e91d41ec32e514b7 /engines/kyra/scene_eob.cpp | |
parent | f7032c126dd097e8083e0fc740c7c856e0f2dd58 (diff) | |
download | scummvm-rg350-c35de374dfe545ffc5044a00a247c5814e3b250e.tar.gz scummvm-rg350-c35de374dfe545ffc5044a00a247c5814e3b250e.tar.bz2 scummvm-rg350-c35de374dfe545ffc5044a00a247c5814e3b250e.zip |
KYRA: (EOB) - lots of bug fixes, mostly for EOB II
Diffstat (limited to 'engines/kyra/scene_eob.cpp')
-rw-r--r-- | engines/kyra/scene_eob.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/engines/kyra/scene_eob.cpp b/engines/kyra/scene_eob.cpp index 1bd7fca04a..98cd60dcd9 100644 --- a/engines/kyra/scene_eob.cpp +++ b/engines/kyra/scene_eob.cpp @@ -647,8 +647,12 @@ void EobCoreEngine::loadLevel(int level, int sub) { delete s; } - Common::String gfxFile = initLevelData(sub); - + Common::String gfxFile; + // Work around for issue with corrupt (incomplete) monster property data + // when loading a savegame saved in a sub level + for (int i = 0; i <= sub; i++) + gfxFile = initLevelData(i); + const uint8 *data = _screen->getCPagePtr(5); const uint8 *pos = data + READ_LE_UINT16(data); uint16 len = READ_LE_UINT16(pos); @@ -1142,7 +1146,7 @@ int EobCoreEngine::calcNewBlockPositionAndTestPassability(uint16 curBlock, uint1 int f = _wllWallFlags[w]; //if (!f) - assert((_flags.gameID == GI_EOB1 && w < 70) || (_flags.gameID == GI_EOB2 && w < 80)); + assert((_flags.gameID == GI_EOB1 && w < 70) || (_flags.gameID == GI_EOB2 && w < 80)); if (_flags.gameID == GI_EOB2 && w == 74 && _currentBlock == curBlock) { for (int i = 0; i < 5; i++) { |