diff options
-rwxr-xr-x | devtools/tasmrecover/tasm-recover | 1 | ||||
-rw-r--r-- | engines/dreamweb/dreamgen.cpp | 21 | ||||
-rw-r--r-- | engines/dreamweb/dreamgen.h | 5 | ||||
-rw-r--r-- | engines/dreamweb/stubs.cpp | 10 | ||||
-rw-r--r-- | engines/dreamweb/stubs.h | 1 |
5 files changed, 14 insertions, 24 deletions
diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover index 91270aa3dc..26dec2bcc1 100755 --- a/devtools/tasmrecover/tasm-recover +++ b/devtools/tasmrecover/tasm-recover @@ -148,6 +148,7 @@ generator = cpp(context, "DreamGen", blacklist = [ 'getflagunderp', 'walkandexamine', 'obname', + 'delpointer', ], skip_output = [ # These functions are processed but not output 'dreamweb', diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp index 026299a935..90bf0decb3 100644 --- a/engines/dreamweb/dreamgen.cpp +++ b/engines/dreamweb/dreamgen.cpp @@ -16544,26 +16544,6 @@ notsmally2: showframe(); } -void DreamGenContext::delpointer() { - STACK_CHECK; - ax = data.word(kOldpointerx); - _cmp(ax, 0x0ffff); - if (flags.z()) - return /* (nevershown) */; - data.word(kDelherex) = ax; - ax = data.word(kOldpointery); - data.word(kDelherey) = ax; - cl = data.byte(kPointerxs); - data.byte(kDelxs) = cl; - ch = data.byte(kPointerys); - data.byte(kDelys) = ch; - ds = data.word(kBuffers); - si = (0+(228*13)+32+60); - di = data.word(kDelherex); - bx = data.word(kDelherey); - multiput(); -} - void DreamGenContext::dumppointer() { STACK_CHECK; dumpblink(); @@ -18379,7 +18359,6 @@ void DreamGenContext::__dispatch_call(uint16 addr) { case addr_dumpzoom: dumpzoom(); break; case addr_putunderzoom: putunderzoom(); break; case addr_showpointer: showpointer(); break; - case addr_delpointer: delpointer(); break; case addr_dumppointer: dumppointer(); break; case addr_undertextline: undertextline(); break; case addr_animpointer: animpointer(); break; diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h index 520c26926d..6112613ff9 100644 --- a/engines/dreamweb/dreamgen.h +++ b/engines/dreamweb/dreamgen.h @@ -88,7 +88,6 @@ public: static const uint16 addr_animpointer = 0xcadc; static const uint16 addr_undertextline = 0xcad0; static const uint16 addr_dumppointer = 0xcacc; - static const uint16 addr_delpointer = 0xcac8; static const uint16 addr_showpointer = 0xcac4; static const uint16 addr_putunderzoom = 0xcabc; static const uint16 addr_dumpzoom = 0xcab8; @@ -1556,7 +1555,7 @@ public: void runintroseq(); //void doblocks(); void restoreall(); - void allpalette(); + //void delpointer(); void attendant(); void nextsymbol(); void monks2text(); @@ -1575,7 +1574,7 @@ public: void drinker(); void nextcolon(); void placefreeobject(); - void delpointer(); + void allpalette(); //void loopchannel0(); void initrain(); void showleftpage(); diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp index 67f8c81f63..0a021595c2 100644 --- a/engines/dreamweb/stubs.cpp +++ b/engines/dreamweb/stubs.cpp @@ -1267,6 +1267,16 @@ void DreamGenContext::obname(uint8 command, uint8 commandType) { } } +void DreamGenContext::delpointer() { + if (data.word(kOldpointerx) == 0xffff) + return; + data.word(kDelherex) = data.word(kOldpointerx); + data.word(kDelherey) = data.word(kOldpointery); + data.byte(kDelxs) = data.byte(kPointerxs); + data.byte(kDelys) = data.byte(kPointerys); + multiput(segRef(data.word(kBuffers)).ptr(kPointerback, 0), data.word(kDelherex), data.word(kDelherey), data.byte(kPointerxs), data.byte(kPointerys)); +} + bool DreamGenContext::isCD() { // The original sources has two codepaths depending if the game is 'if cd' or not // This is a hack to guess which version to use with the assumption that if we have a cd version diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h index e3afbab073..f7c17a17e5 100644 --- a/engines/dreamweb/stubs.h +++ b/engines/dreamweb/stubs.h @@ -178,4 +178,5 @@ void walkandexamine(); void obname(); void obname(uint8 command, uint8 commandType); + void delpointer(); |