aboutsummaryrefslogtreecommitdiff
path: root/engines/dreamweb
diff options
context:
space:
mode:
authorBertrand Augereau2011-11-26 17:13:44 +0100
committerBertrand Augereau2011-11-26 17:13:44 +0100
commitce477641458b9967d36e9103a466131950bcac6c (patch)
tree3fa83269be86909933e29b19520fd1f31d8d5e0d /engines/dreamweb
parent4192d1241a0dfd2ec8cdcda760969b552bb1515a (diff)
downloadscummvm-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.cpp15
-rw-r--r--engines/dreamweb/dreamgen.h5
-rw-r--r--engines/dreamweb/stubs.cpp19
-rw-r--r--engines/dreamweb/stubs.h2
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();