diff options
author | Filippos Karapetis | 2011-11-03 22:44:11 +0200 |
---|---|---|
committer | Filippos Karapetis | 2011-11-03 22:44:11 +0200 |
commit | b3134650df4e969ade9c92dfc2a5c57f4718959e (patch) | |
tree | 8f313be74539de3ecd13dbf653e12281b1cf712d /engines/sci/engine | |
parent | 747bc75bc724f6055c4140403eb60613777e245e (diff) | |
download | scummvm-rg350-b3134650df4e969ade9c92dfc2a5c57f4718959e.tar.gz scummvm-rg350-b3134650df4e969ade9c92dfc2a5c57f4718959e.tar.bz2 scummvm-rg350-b3134650df4e969ade9c92dfc2a5c57f4718959e.zip |
SCI: Fixed a workaround
Diffstat (limited to 'engines/sci/engine')
-rw-r--r-- | engines/sci/engine/segment.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/engines/sci/engine/segment.cpp b/engines/sci/engine/segment.cpp index 8bf6e83313..73d81baf3a 100644 --- a/engines/sci/engine/segment.cpp +++ b/engines/sci/engine/segment.cpp @@ -143,10 +143,11 @@ SegmentRef LocalVariables::dereference(reg_t pointer) { if (ret.maxSize > 0) { ret.reg = &_locals[pointer.offset / 2]; } else { - // FIXME: Second 660 has to be either fixed or removed - if ((g_sci->getEngineState()->currentRoomNumber() == 660 || g_sci->getEngineState()->currentRoomNumber() == 660) + if ((g_sci->getEngineState()->currentRoomNumber() == 160 || + g_sci->getEngineState()->currentRoomNumber() == 220) && g_sci->getGameId() == GID_LAURABOW2) { - // Happens in two places during the intro of LB2CD, both from kMemory(peek): + // WORKAROUND: Happens in two places during the intro of LB2CD, both + // from kMemory(peek): // - room 160: Heap 160 has 83 local variables (0-82), and the game // asks for variables at indices 83 - 90 too. // - room 220: Heap 220 has 114 local variables (0-113), and the |