diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover index 22ef79f4686..0b9f99a8489 100755 --- a/devtools/tasmrecover/tasm-recover +++ b/devtools/tasmrecover/tasm-recover @@ -284,6 +284,7 @@ generator = cpp(context, "DreamGen", blacklist = [ 'usecharset1', 'usetempcharset', 'disablepath', + 'getbackfromob', ], skip_output = [ # These functions are processed but not output 'dreamweb', diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp index 0b9b897cb1f..7045bb3a6b5 100644 --- a/engines/dreamweb/dreamgen.cpp +++ b/engines/dreamweb/dreamgen.cpp @@ -3229,17 +3229,6 @@ void DreamGenContext::makemainscreen() { data.byte(kManisoffscreen) = 0; } -void DreamGenContext::getbackfromob() { - STACK_CHECK; - _cmp(data.byte(kPickup), 1); - if (!flags.z()) - goto notheldob; - blank(); - return; -notheldob: - getback1(); -} - void DreamGenContext::incryanpage() { STACK_CHECK; _cmp(data.byte(kCommandtype), 222); diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h index ebbd2c45454..ba5ab5dad47 100644 --- a/engines/dreamweb/dreamgen.h +++ b/engines/dreamweb/dreamgen.h @@ -417,7 +417,6 @@ public: static const uint16 addr_openob = 0xc354; static const uint16 addr_openinv = 0xc34c; static const uint16 addr_incryanpage = 0xc348; - static const uint16 addr_getbackfromob = 0xc344; static const uint16 addr_makemainscreen = 0xc340; static const uint16 addr_findallopen = 0xc32c; static const uint16 addr_fillopen = 0xc324; @@ -1447,7 +1446,7 @@ public: //void examineobtext(); void liftnoise(); void workoutframes(); - void getbackfromob(); + //void getbackfromob(); void dumpsymbox(); void loadgame(); void getridoftemp(); diff --git a/engines/dreamweb/object.cpp b/engines/dreamweb/object.cpp index d887f1c5641..93787296651 100644 --- a/engines/dreamweb/object.cpp +++ b/engines/dreamweb/object.cpp @@ -257,6 +257,12 @@ void DreamGenContext::transfertext() { data.word(kExtextpos) += len + 1; } +void DreamGenContext::getbackfromob() { + if (data.byte(kPickup) != 1) + getback1(); + else + blank(); +} } /*namespace dreamgen */ diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h index 92917f7ff85..6e3a34ad17a 100644 --- a/engines/dreamweb/stubs.h +++ b/engines/dreamweb/stubs.h @@ -337,5 +337,5 @@ void dolook(); void usetempcharset(); void usecharset1(); - + void getbackfromob();