aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
Diffstat (limited to 'engines')
-rw-r--r--engines/dreamweb/object.cpp21
1 files changed, 20 insertions, 1 deletions
diff --git a/engines/dreamweb/object.cpp b/engines/dreamweb/object.cpp
index 283e44b583..d376f915e5 100644
--- a/engines/dreamweb/object.cpp
+++ b/engines/dreamweb/object.cpp
@@ -284,7 +284,26 @@ void DreamBase::getBackFromOb() {
}
void DreamGenContext::getOpenedSize() {
- ax = getOpenedSizeCPP();
+ //ax = getOpenedSizeCPP();
+
+ // We need to call the ASM-style versions of get*Ad, as these also set
+ // bx and es
+
+ al = data.byte(kOpenedob);
+
+ switch (data.byte(kOpenedtype)) {
+ case 4:
+ getExAd();
+ break;
+ case 2:
+ getFreeAd();
+ break;
+ default:
+ getSetAd();
+ break;
+ }
+
+ ax = es.word(bx+7);
}
byte DreamGenContext::getOpenedSizeCPP() {