aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBertrand Augereau2011-08-24 17:23:43 +0200
committerBertrand Augereau2011-08-24 17:38:29 +0200
commit3221e84d510dc1a67c361c77a698c2ce1c785c06 (patch)
tree94a941839946826cd5c6bf9a003dfa32d83bd90c
parent63b4ded1a07019ee0330e2244693bd083f13da08 (diff)
downloadscummvm-rg350-3221e84d510dc1a67c361c77a698c2ce1c785c06.tar.gz
scummvm-rg350-3221e84d510dc1a67c361c77a698c2ce1c785c06.tar.bz2
scummvm-rg350-3221e84d510dc1a67c361c77a698c2ce1c785c06.zip
DREAMWEB: 'dumppointer' ported to C++
-rwxr-xr-xdevtools/tasmrecover/tasm-recover1
-rw-r--r--engines/dreamweb/dreamgen.cpp23
-rw-r--r--engines/dreamweb/dreamgen.h7
-rw-r--r--engines/dreamweb/stubs.cpp7
-rw-r--r--engines/dreamweb/stubs.h1
5 files changed, 12 insertions, 27 deletions
diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover
index fa246f5cf7..f36938cbfd 100755
--- a/devtools/tasmrecover/tasm-recover
+++ b/devtools/tasmrecover/tasm-recover
@@ -151,6 +151,7 @@ generator = cpp(context, "DreamGen", blacklist = [
'delpointer',
'showblink',
'dumpblink',
+ 'dumppointer',
'checkcoords',
], skip_output = [
# These functions are processed but not output
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index 2b717e1966..1b777c3c1e 100644
--- a/engines/dreamweb/dreamgen.cpp
+++ b/engines/dreamweb/dreamgen.cpp
@@ -16450,28 +16450,6 @@ notsmally2:
showframe();
}
-void DreamGenContext::dumppointer() {
- STACK_CHECK;
- dumpblink();
- cl = data.byte(kDelxs);
- ch = data.byte(kDelys);
- di = data.word(kDelherex);
- bx = data.word(kDelherey);
- multidump();
- bx = data.word(kOldpointery);
- di = data.word(kOldpointerx);
- _cmp(di, data.word(kDelherex));
- if (!flags.z())
- goto difffound;
- _cmp(bx, data.word(kDelherey));
- if (flags.z())
- return /* (notboth) */;
-difffound:
- cl = data.byte(kPointerxs);
- ch = data.byte(kPointerys);
- multidump();
-}
-
void DreamGenContext::undertextline() {
STACK_CHECK;
di = data.word(kTextaddressx);
@@ -18262,7 +18240,6 @@ void DreamGenContext::__dispatch_call(uint16 addr) {
case addr_dumpzoom: dumpzoom(); break;
case addr_putunderzoom: putunderzoom(); break;
case addr_showpointer: showpointer(); break;
- case addr_dumppointer: dumppointer(); break;
case addr_undertextline: undertextline(); break;
case addr_animpointer: animpointer(); break;
case addr_setmouse: setmouse(); break;
diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h
index 300bfdd78e..45aa873d1d 100644
--- a/engines/dreamweb/dreamgen.h
+++ b/engines/dreamweb/dreamgen.h
@@ -87,7 +87,6 @@ public:
static const uint16 addr_setmouse = 0xcae0;
static const uint16 addr_animpointer = 0xcadc;
static const uint16 addr_undertextline = 0xcad0;
- static const uint16 addr_dumppointer = 0xcacc;
static const uint16 addr_showpointer = 0xcac4;
static const uint16 addr_putunderzoom = 0xcabc;
static const uint16 addr_dumpzoom = 0xcab8;
@@ -1319,7 +1318,7 @@ public:
void getobtextstart();
void loadfolder();
void decide();
- void dumppointer();
+ //void dumppointer();
void reelsonscreen();
void getridofreels();
void readkey();
@@ -1438,7 +1437,7 @@ public:
void dircom();
//void liftsprite();
void dumpkeypad();
- void dumpzoom();
+ void showsymbol();
void endgameseq();
//void cancelch0();
void setbotleft();
@@ -1448,6 +1447,7 @@ public:
void loadtempcharset();
void showbyte();
void useslab();
+ void dumpzoom();
void usealtar();
void createpanel2();
void turnonpower();
@@ -1876,7 +1876,6 @@ public:
//void facerightway();
void startup1();
void hotelcontrol();
- void showsymbol();
void mugger();
void atmospheres();
void out22c();
diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp
index ac693dcf90..644150e157 100644
--- a/engines/dreamweb/stubs.cpp
+++ b/engines/dreamweb/stubs.cpp
@@ -1308,6 +1308,13 @@ void DreamGenContext::dumpblink() {
multidump(44, 32, 16, 12);
}
+void DreamGenContext::dumppointer() {
+ dumpblink();
+ multidump(data.word(kDelherex), data.word(kDelherey), data.byte(kDelxs), data.byte(kDelys));
+ if ((data.word(kOldpointerx) != data.word(kDelherex)) || (data.word(kOldpointery) != data.word(kDelherey)))
+ multidump(data.word(kOldpointerx), data.word(kOldpointery), data.byte(kPointerxs), data.byte(kPointerys));
+}
+
void DreamGenContext::checkcoords() {
checkcoords((const RectWithCallback *)cs.ptr(bx, 0));
}
diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h
index 2cd22ceb29..555acfbf7a 100644
--- a/engines/dreamweb/stubs.h
+++ b/engines/dreamweb/stubs.h
@@ -181,6 +181,7 @@
void delpointer();
void showblink();
void dumpblink();
+ void dumppointer();
void checkcoords();
void checkcoords(const RectWithCallback *rectWithCallbacks);