aboutsummaryrefslogtreecommitdiff
path: root/engines/dreamweb/stubs.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/dreamweb/stubs.cpp')
-rw-r--r--engines/dreamweb/stubs.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp
index 35f9df0a43..88e590f4a3 100644
--- a/engines/dreamweb/stubs.cpp
+++ b/engines/dreamweb/stubs.cpp
@@ -1188,6 +1188,22 @@ DynObject *DreamGenContext::geteitheradCPP() {
return getfreead(data.byte(kItemframe));
}
+void *DreamGenContext::getanyad(uint16 *value) {
+ if (data.byte(kObjecttype) == 4) {
+ DynObject *exObject = getexad(data.byte(kCommand));
+ *value = exObject->w7();
+ return exObject;
+ } else if (data.byte(kObjecttype) == 2) {
+ DynObject *freeObject = getfreead(data.byte(kCommand));
+ *value = freeObject->w7();
+ return freeObject;
+ } else {
+ SetObject *setObject = getsetad(data.byte(kCommand));
+ *value = setObject->w4(); // Suspicious : conflicts with priority being a byte?
+ return setObject;
+ }
+}
+
SetObject *DreamGenContext::getsetad(uint8 index) {
return (SetObject *)segRef(data.word(kSetdat)).ptr(0, 0) + index;
}