diff options
author | athrxx | 2011-08-21 20:26:07 +0200 |
---|---|---|
committer | Johannes Schickel | 2011-12-26 16:18:14 +0100 |
commit | 2448d885e4e331a22e1e468277142155a5ddda87 (patch) | |
tree | 98584a9a40a940da8cfd2b21bbc68e9b24d2a925 /engines/kyra/items_eob.cpp | |
parent | c35de374dfe545ffc5044a00a247c5814e3b250e (diff) | |
download | scummvm-rg350-2448d885e4e331a22e1e468277142155a5ddda87.tar.gz scummvm-rg350-2448d885e4e331a22e1e468277142155a5ddda87.tar.bz2 scummvm-rg350-2448d885e4e331a22e1e468277142155a5ddda87.zip |
KYRA: (EOB) - complete EOBII playability
- fixed temp data generation, block data loading, some spell issues, etc.
- both EOB I and II should now be completable
- one big issue remaining (AdLib driver gets swamped with monster sounds which causes heavy lags in some levels)
Diffstat (limited to 'engines/kyra/items_eob.cpp')
-rw-r--r-- | engines/kyra/items_eob.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/engines/kyra/items_eob.cpp b/engines/kyra/items_eob.cpp index a83207b565..e3309f830d 100644 --- a/engines/kyra/items_eob.cpp +++ b/engines/kyra/items_eob.cpp @@ -208,8 +208,8 @@ int EobCoreEngine::validateInventorySlotForItem(Item item, int charIndex, int sl int itm = _characters[charIndex].inventory[slot]; int ex = _itemTypes[_items[itm].type].extraProperties & 0x7f; - if (slot < 2 && (_items[itm].flags & 0x20) && ex > 0 && ex < 4) { - if (_flags.gameID == GI_EOB2) + if (_items[itm].flags & 0x20 && (_flags.gameID == GI_EOB1 || slot < 2)) { + if (_flags.gameID == GI_EOB2 && ex > 0 && ex < 4) _txt->printMessage(_validateCursedString[0], -1, _characters[charIndex].name); return 0; } @@ -692,6 +692,9 @@ void EobCoreEngine::endObjectFlight(EobFlyingObject *fo) { } void EobCoreEngine::checkFlyingObjects() { + if (!_runFlag) + return; + for (int i = 0; i < 10; i++) { EobFlyingObject *fo = &_flyingObjects[i]; if (!fo->enable) |