diff options
author | Bertrand Augereau | 2011-11-26 17:13:44 +0100 |
---|---|---|
committer | Bertrand Augereau | 2011-11-26 17:13:44 +0100 |
commit | ce477641458b9967d36e9103a466131950bcac6c (patch) | |
tree | 3fa83269be86909933e29b19520fd1f31d8d5e0d /engines/dreamweb | |
parent | 4192d1241a0dfd2ec8cdcda760969b552bb1515a (diff) | |
download | scummvm-rg350-ce477641458b9967d36e9103a466131950bcac6c.tar.gz scummvm-rg350-ce477641458b9967d36e9103a466131950bcac6c.tar.bz2 scummvm-rg350-ce477641458b9967d36e9103a466131950bcac6c.zip |
DREAMWEB: 'hangonw' ported to C++
Diffstat (limited to 'engines/dreamweb')
-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 |
4 files changed, 23 insertions, 18 deletions
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(); |