diff options
author | Bertrand Augereau | 2011-08-24 17:23:43 +0200 |
---|---|---|
committer | Bertrand Augereau | 2011-08-24 17:38:29 +0200 |
commit | 3221e84d510dc1a67c361c77a698c2ce1c785c06 (patch) | |
tree | 94a941839946826cd5c6bf9a003dfa32d83bd90c | |
parent | 63b4ded1a07019ee0330e2244693bd083f13da08 (diff) | |
download | scummvm-rg350-3221e84d510dc1a67c361c77a698c2ce1c785c06.tar.gz scummvm-rg350-3221e84d510dc1a67c361c77a698c2ce1c785c06.tar.bz2 scummvm-rg350-3221e84d510dc1a67c361c77a698c2ce1c785c06.zip |
DREAMWEB: 'dumppointer' ported to C++
-rwxr-xr-x | devtools/tasmrecover/tasm-recover | 1 | ||||
-rw-r--r-- | engines/dreamweb/dreamgen.cpp | 23 | ||||
-rw-r--r-- | engines/dreamweb/dreamgen.h | 7 | ||||
-rw-r--r-- | engines/dreamweb/stubs.cpp | 7 | ||||
-rw-r--r-- | engines/dreamweb/stubs.h | 1 |
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); |