From c35de374dfe545ffc5044a00a247c5814e3b250e Mon Sep 17 00:00:00 2001 From: athrxx Date: Sat, 20 Aug 2011 13:24:36 +0200 Subject: KYRA: (EOB) - lots of bug fixes, mostly for EOB II --- engines/kyra/scene_eob.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'engines/kyra/scene_eob.cpp') 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++) { -- cgit v1.2.3