diff options
-rwxr-xr-x | devtools/tasmrecover/tasm-recover | 1 | ||||
-rw-r--r-- | engines/dreamweb/dreamgen.cpp | 15 | ||||
-rw-r--r-- | engines/dreamweb/dreamgen.h | 5 | ||||
-rw-r--r-- | engines/dreamweb/stubs.cpp | 19 | ||||
-rw-r--r-- | engines/dreamweb/stubs.h | 2 |
5 files changed, 24 insertions, 18 deletions
diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover index 0b9f99a848..af8d721acf 100755 --- a/devtools/tasmrecover/tasm-recover +++ b/devtools/tasmrecover/tasm-recover @@ -206,6 +206,7 @@ generator = cpp(context, "DreamGen", blacklist = [ 'useroutine', 'hangon', 'hangonp', + 'hangonw', 'findnextcolon', 'usetext', 'bresenhams', diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp index 7045bb3a6b..66eb46d152 100644 --- a/engines/dreamweb/dreamgen.cpp +++ b/engines/dreamweb/dreamgen.cpp @@ -12832,21 +12832,6 @@ void DreamGenContext::allpointer() { dumppointer(); } -void DreamGenContext::hangonw() { - STACK_CHECK; -hangloopw: - push(cx); - delpointer(); - readmouse(); - animpointer(); - showpointer(); - vsync(); - dumppointer(); - cx = pop(); - if (--cx) - goto hangloopw; -} - void DreamGenContext::getunderzoom() { STACK_CHECK; di = (8)+5; diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h index ba5ab5dad4..69a1bbbb64 100644 --- a/engines/dreamweb/dreamgen.h +++ b/engines/dreamweb/dreamgen.h @@ -71,7 +71,6 @@ public: static const uint16 addr_putunderzoom = 0xcabc; static const uint16 addr_dumpzoom = 0xcab8; static const uint16 addr_getunderzoom = 0xcab4; - static const uint16 addr_hangonw = 0xcaac; static const uint16 addr_allpointer = 0xcaa4; static const uint16 addr_blank = 0xcaa0; static const uint16 addr_worktoscreenm = 0xca9c; @@ -1655,7 +1654,7 @@ public: //void turnpathoff(); //void copyname(); //void madmantext(); - void setmouse(); + //void hangonw(); //void checkone(); //void transferinv(); void candles2(); @@ -1863,7 +1862,7 @@ public: void intoinv(); //void showtime(); void parser(); - void hangonw(); + void setmouse(); void intro(); //void hangonp(); void fadescreendowns(); diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp index cdc692f3e3..a5186162e6 100644 --- a/engines/dreamweb/stubs.cpp +++ b/engines/dreamweb/stubs.cpp @@ -1919,6 +1919,25 @@ void DreamGenContext::hangon(uint16 frameCount) { } } + +void DreamGenContext::hangonw() { + hangonw(cx); +} + +void DreamGenContext::hangonw(uint16 frameCount) { + while (frameCount) { + delpointer(); + readmouse(); + animpointer(); + showpointer(); + vsync(); + dumppointer(); + --frameCount; + if (quitRequested()) + break; + } +} + void DreamGenContext::hangonp() { hangonp(cx); } diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h index 6e3a34ad17..2178ab90f8 100644 --- a/engines/dreamweb/stubs.h +++ b/engines/dreamweb/stubs.h @@ -257,6 +257,8 @@ void useroutine(); void hangon(); void hangon(uint16 frameCount); + void hangonw(); + void hangonw(uint16 frameCount); void hangonp(); void hangonp(uint16 count); void showicon(); |