aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine
diff options
context:
space:
mode:
authorMartin Kiewitz2010-07-17 13:27:07 +0000
committerMartin Kiewitz2010-07-17 13:27:07 +0000
commitcb4072f978b46a031b2ffb24e43eee7b76ef815f (patch)
tree0a8238079072fdb380d138949dc0b4ea62c12880 /engines/sci/engine
parent7ac5c3ef4faa91d48953c36693f406a749f80787 (diff)
downloadscummvm-rg350-cb4072f978b46a031b2ffb24e43eee7b76ef815f.tar.gz
scummvm-rg350-cb4072f978b46a031b2ffb24e43eee7b76ef815f.tar.bz2
scummvm-rg350-cb4072f978b46a031b2ffb24e43eee7b76ef815f.zip
SCI: added special case for iceman when plotting course inside isSaneNodePointer
svn-id: r50960
Diffstat (limited to 'engines/sci/engine')
-rw-r--r--engines/sci/engine/klists.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/engines/sci/engine/klists.cpp b/engines/sci/engine/klists.cpp
index 06fc68b82b..945fb1b0e0 100644
--- a/engines/sci/engine/klists.cpp
+++ b/engines/sci/engine/klists.cpp
@@ -37,7 +37,12 @@ static bool isSaneNodePointer(SegManager *segMan, reg_t addr) {
Node *node = segMan->lookupNode(addr);
if (!node) {
- error("isSaneNodePointer: Node at %04x:%04x wasn't found", PRINT_REG(addr));
+ if ((g_sci->getGameId() == GID_ICEMAN) && (g_sci->getEngineState()->currentRoomNumber() == 40)) {
+ // ICEMAN: when plotting course, unDrawLast is called by startPlot::changeState
+ // there is no previous entry so we get 0 in here
+ } else {
+ error("isSaneNodePointer: Node at %04x:%04x wasn't found", PRINT_REG(addr));
+ }
return false;
}