diff options
-rw-r--r-- | engines/dreamweb/stubs.cpp | 9 | ||||
-rw-r--r-- | engines/dreamweb/stubs.h | 1 |
2 files changed, 10 insertions, 0 deletions
diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp index e400a5bbf3..923c63602a 100644 --- a/engines/dreamweb/stubs.cpp +++ b/engines/dreamweb/stubs.cpp @@ -1207,6 +1207,15 @@ void *DreamGenContext::getanyad(uint8 *value1, uint8 *value2) { } } +void *DreamGenContext::getanyaddir(uint8 index, uint8 flag) { + if (flag == 4) + return getexad(index); + else if (flag == 2) + return getfreead(index); + else + return getsetad(index); +} + SetObject *DreamGenContext::getsetad(uint8 index) { return (SetObject *)segRef(data.word(kSetdat)).ptr(0, 0) + index; } diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h index 7bba6a9d52..6d431a856f 100644 --- a/engines/dreamweb/stubs.h +++ b/engines/dreamweb/stubs.h @@ -163,6 +163,7 @@ DynObject *geteitheradCPP(); SetObject *getsetad(uint8 index); void *getanyad(uint8 *value1, uint8 *value2); + void *getanyaddir(uint8 index, uint8 flag); void setallchanges(); void dochange(); void dochange(uint8 index, uint8 value, uint8 type); |