diff options
-rw-r--r-- | engines/dreamweb/monitor.cpp | 5 | ||||
-rw-r--r-- | engines/dreamweb/stubs.cpp | 2 |
2 files changed, 5 insertions, 2 deletions
diff --git a/engines/dreamweb/monitor.cpp b/engines/dreamweb/monitor.cpp index 577d5701ee..0b126ee250 100644 --- a/engines/dreamweb/monitor.cpp +++ b/engines/dreamweb/monitor.cpp @@ -405,8 +405,9 @@ void DreamGenContext::loadNews() { void DreamGenContext::loadCart() { byte cartridgeId = 0; uint16 objectIndex = findSetObject("INTF"); - if (checkInside(objectIndex, 1) != kNumexobjects) - cartridgeId = getSetAd(objectIndex)->name[0] + 1; + uint16 cartridgeIndex = checkInside(objectIndex, 1); + if (cartridgeIndex != kNumexobjects) + cartridgeId = getExAd(cartridgeIndex)->id[3] + 1; if (cartridgeId == 0) data.word(kTextfile3) = standardLoad("DREAMWEB.T20"); // monitor file 20 diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp index bf29cd05ea..1c87a05dea 100644 --- a/engines/dreamweb/stubs.cpp +++ b/engines/dreamweb/stubs.cpp @@ -1801,6 +1801,8 @@ bool DreamBase::isRyanHolding(const char *id) { void DreamGenContext::checkInside() { cl = checkInside(al, ah); + es = data.word(kExtras); + bx = kExdata + cl * sizeof(DynObject); } uint16 DreamGenContext::checkInside(uint16 command, uint16 type) { |