aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/dreamweb/monitor.cpp5
-rw-r--r--engines/dreamweb/stubs.cpp2
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) {