aboutsummaryrefslogtreecommitdiff
path: root/engines/dreamweb/object.cpp
diff options
context:
space:
mode:
authorFilippos Karapetis2011-12-17 14:33:17 +0200
committerFilippos Karapetis2011-12-17 14:33:17 +0200
commit710072c55bcdac525bea401a4c9fa260a95d79c5 (patch)
treef8b9f03f05bc45adaeee9d23dd302df9a2496a53 /engines/dreamweb/object.cpp
parent05c5e224b45f910d9db50e6c9ce451ede31452f2 (diff)
downloadscummvm-rg350-710072c55bcdac525bea401a4c9fa260a95d79c5.tar.gz
scummvm-rg350-710072c55bcdac525bea401a4c9fa260a95d79c5.tar.bz2
scummvm-rg350-710072c55bcdac525bea401a4c9fa260a95d79c5.zip
DREAMWEB: Fix regression in getOpenedSize()
Diffstat (limited to 'engines/dreamweb/object.cpp')
-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() {