aboutsummaryrefslogtreecommitdiff
path: root/engines/dreamweb
diff options
context:
space:
mode:
authorBertrand Augereau2011-11-20 21:13:46 +0100
committerBertrand Augereau2011-11-20 21:22:16 +0100
commit57fc322992046e4a8fc1dd0b1969843430ad7795 (patch)
treef74e722e9385feac2e7c260a70575a356c70efef /engines/dreamweb
parent2d4197381e251bcb71fdf452606c5f6fcc2d8561 (diff)
downloadscummvm-rg350-57fc322992046e4a8fc1dd0b1969843430ad7795.tar.gz
scummvm-rg350-57fc322992046e4a8fc1dd0b1969843430ad7795.tar.bz2
scummvm-rg350-57fc322992046e4a8fc1dd0b1969843430ad7795.zip
DREAMWEB: 'screenupdate' ported to C++
Diffstat (limited to 'engines/dreamweb')
-rw-r--r--engines/dreamweb/dreamgen.cpp54
-rw-r--r--engines/dreamweb/dreamgen.h7
-rw-r--r--engines/dreamweb/stubs.cpp45
-rw-r--r--engines/dreamweb/stubs.h1
4 files changed, 49 insertions, 58 deletions
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index 4ce51014f4..0e242fcc83 100644
--- a/engines/dreamweb/dreamgen.cpp
+++ b/engines/dreamweb/dreamgen.cpp
@@ -12448,59 +12448,6 @@ void DreamGenContext::clearrest() {
deallocatemem();
}
-void DreamGenContext::screenupdate() {
- STACK_CHECK;
- newplace();
- mainscreen();
- _cmp(data.byte(kQuitrequested), 0);
- if (!flags.z())
- return /* (finishearly) */;
- animpointer();
- showpointer();
- _cmp(data.word(kWatchingtime), 0);
- if (!flags.z())
- goto iswatchingmode;
- _cmp(data.byte(kNewlocation), 255);
- if (!flags.z())
- return /* (finishearly) */;
-iswatchingmode:
- vsync();
- readmouse1();
- dumppointer();
- dumptextline();
- delpointer();
- autolook();
- spriteupdate();
- watchcount();
- zoom();
- showpointer();
- _cmp(data.byte(kWongame), 0);
- if (!flags.z())
- return /* (finishearly) */;
- vsync();
- readmouse2();
- dumppointer();
- dumpzoom();
- delpointer();
- deleverything();
- printsprites();
- reelsonscreen();
- afternewroom();
- showpointer();
- vsync();
- readmouse3();
- dumppointer();
- dumpmap();
- dumptimedtext();
- delpointer();
- showpointer();
- vsync();
- readmouse4();
- dumppointer();
- dumpwatch();
- delpointer();
-}
-
void DreamGenContext::watchreel() {
STACK_CHECK;
_cmp(data.word(kReeltowatch), -1);
@@ -15287,7 +15234,6 @@ void DreamGenContext::__dispatch_call(uint16 addr) {
case addr_clearrest: clearrest(); break;
case addr_deallocatemem: deallocatemem(); break;
case addr_allocatemem: allocatemem(); break;
- case addr_screenupdate: screenupdate(); break;
case addr_watchreel: watchreel(); break;
case addr_checkforshake: checkforshake(); break;
case addr_showbyte: showbyte(); break;
diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h
index fc9ae785c8..d003a6ecb1 100644
--- a/engines/dreamweb/dreamgen.h
+++ b/engines/dreamweb/dreamgen.h
@@ -103,7 +103,6 @@ public:
static const uint16 addr_showbyte = 0xc9b4;
static const uint16 addr_checkforshake = 0xc9a4;
static const uint16 addr_watchreel = 0xc9a0;
- static const uint16 addr_screenupdate = 0xc99c;
static const uint16 addr_allocatemem = 0xc988;
static const uint16 addr_deallocatemem = 0xc984;
static const uint16 addr_clearrest = 0xc980;
@@ -1218,7 +1217,7 @@ public:
void getbackfromops();
//void frameoutv();
void showbyte();
- void screenupdate();
+ //void screenupdate();
//void addlength();
//void usetimedtext();
void putundercentre();
@@ -1356,7 +1355,7 @@ public:
//void domix();
//void paneltomap();
//void obname();
- void getridoftemp3();
+ void talk();
void getridoftemp2();
void usebalcony();
void runendseq();
@@ -1528,7 +1527,7 @@ public:
//void pixelcheckset();
void reexfrominv();
void examinventory();
- void talk();
+ void getridoftemp3();
void usedryer();
//void dumpeverything();
//void readmouse2();
diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp
index 5dc1ee06ba..8a191224af 100644
--- a/engines/dreamweb/stubs.cpp
+++ b/engines/dreamweb/stubs.cpp
@@ -203,6 +203,51 @@ void DreamGenContext::dreamweb() {
}
}
+void DreamGenContext::screenupdate() {
+ newplace();
+ mainscreen();
+ if (data.byte(kQuitrequested))
+ return;
+ animpointer();
+ showpointer();
+ if ((data.word(kWatchingtime) == 0) && (data.byte(kNewlocation) != 0xff))
+ return;
+ vsync();
+ readmouse1();
+ dumppointer();
+ dumptextline();
+ delpointer();
+ autolook();
+ spriteupdate();
+ watchcount();
+ zoom();
+ showpointer();
+ if (data.byte(kWongame))
+ return;
+ vsync();
+ readmouse2();
+ dumppointer();
+ dumpzoom();
+ delpointer();
+ deleverything();
+ printsprites();
+ reelsonscreen();
+ afternewroom();
+ showpointer();
+ vsync();
+ readmouse3();
+ dumppointer();
+ dumpmap();
+ dumptimedtext();
+ delpointer();
+ showpointer();
+ vsync();
+ readmouse4();
+ dumppointer();
+ dumpwatch();
+ delpointer();
+}
+
void DreamGenContext::startup() {
data.byte(kCurrentkey) = 0;
data.byte(kMainmode) = 0;
diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h
index c613591089..27ed468325 100644
--- a/engines/dreamweb/stubs.h
+++ b/engines/dreamweb/stubs.h
@@ -19,6 +19,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
*/
+ void screenupdate();
void startup();
void startup1();
void switchryanon();