aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/scene_eob.cpp
diff options
context:
space:
mode:
authorathrxx2011-08-20 13:24:36 +0200
committerJohannes Schickel2011-12-26 16:18:14 +0100
commitc35de374dfe545ffc5044a00a247c5814e3b250e (patch)
treecad935e5db618270d5cf70f2e91d41ec32e514b7 /engines/kyra/scene_eob.cpp
parentf7032c126dd097e8083e0fc740c7c856e0f2dd58 (diff)
downloadscummvm-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.cpp10
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++) {