diff options
author | Filippos Karapetis | 2011-12-06 00:46:06 +0200 |
---|---|---|
committer | Filippos Karapetis | 2011-12-06 00:46:51 +0200 |
commit | 06ef3452b78c2041e8054c10eb6d1929938d1b1b (patch) | |
tree | 0dda36b9426ade50f591cb421cdf4e6c4999268e | |
parent | dc62da925f7818056c4880e0d8aa134839e17638 (diff) | |
download | scummvm-rg350-06ef3452b78c2041e8054c10eb6d1929938d1b1b.tar.gz scummvm-rg350-06ef3452b78c2041e8054c10eb6d1929938d1b1b.tar.bz2 scummvm-rg350-06ef3452b78c2041e8054c10eb6d1929938d1b1b.zip |
DREAMWEB: 'clearbeforeload', 'clearreels', 'getridofreels' ported to C++
-rwxr-xr-x | devtools/tasmrecover/tasm-recover | 3 | ||||
-rw-r--r-- | engines/dreamweb/dreamgen.cpp | 33 | ||||
-rw-r--r-- | engines/dreamweb/dreamgen.h | 3 | ||||
-rw-r--r-- | engines/dreamweb/sprite.cpp | 24 | ||||
-rw-r--r-- | engines/dreamweb/stubs.h | 3 |
5 files changed, 30 insertions, 36 deletions
diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover index 00d623df09..824d9c2fc0 100755 --- a/devtools/tasmrecover/tasm-recover +++ b/devtools/tasmrecover/tasm-recover @@ -193,7 +193,9 @@ generator = cpp(context, "DreamGen", blacklist = [ 'checkifset', 'checkone', 'checkspeed', + 'clearbeforeload', 'clearendpal', + 'clearreels', 'clearsprites', 'clearstartpal', 'clearwork', @@ -295,6 +297,7 @@ generator = cpp(context, "DreamGen", blacklist = [ 'getreelstart', 'getridofall', 'getridofpit', + 'getridofreels', 'getridoftemp', 'getridoftemp2', 'getridoftemp3', diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp index be706bb32b..90b3785f97 100644 --- a/engines/dreamweb/dreamgen.cpp +++ b/engines/dreamweb/dreamgen.cpp @@ -9636,26 +9636,6 @@ void DreamGenContext::clearChanges() { _stosw(cx, true); } -void DreamGenContext::clearBeforeLoad() { - STACK_CHECK; - _cmp(data.byte(kRoomloaded), 1); - if (!flags.z()) - return /* (noclear) */; - clearReels(); - clearRest(); - data.byte(kRoomloaded) = 0; -} - -void DreamGenContext::clearReels() { - STACK_CHECK; - es = data.word(kReel1); - deallocateMem(); - es = data.word(kReel2); - deallocateMem(); - es = data.word(kReel3); - deallocateMem(); -} - void DreamGenContext::clearRest() { STACK_CHECK; es = data.word(kMapdata); @@ -10279,19 +10259,6 @@ _tmp1: multiGet(); } -void DreamGenContext::getRidOfReels() { - STACK_CHECK; - _cmp(data.byte(kRoomloaded), 0); - if (flags.z()) - return /* (dontgetrid) */; - es = data.word(kReel1); - deallocateMem(); - es = data.word(kReel2); - deallocateMem(); - es = data.word(kReel3); - deallocateMem(); -} - void DreamGenContext::__start() { static const uint8 src[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x13, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h index ef8abf96d3..67419c1ac5 100644 --- a/engines/dreamweb/dreamgen.h +++ b/engines/dreamweb/dreamgen.h @@ -550,7 +550,6 @@ public: void clearBuffers(); void getObTextStart(); void decide(); - void getRidOfReels(); void entryTexts(); void checkInput(); void setMode(); @@ -763,7 +762,6 @@ public: void candles2(); void candles1(); void showOpBox(); - void clearBeforeLoad(); void doFade(); void useTrainer(); void dumpCurrent(); @@ -848,7 +846,6 @@ public: void updateSymbolTop(); void allPointer(); void checkSoundInt(); - void clearReels(); void doSaveLoad(); void createName(); void getPersonText(); diff --git a/engines/dreamweb/sprite.cpp b/engines/dreamweb/sprite.cpp index 5eddb1ca57..7628a919d1 100644 --- a/engines/dreamweb/sprite.cpp +++ b/engines/dreamweb/sprite.cpp @@ -1148,5 +1148,29 @@ void DreamGenContext::soundOnReels() { data.word(kLastsoundreel) = -1; } +void DreamGenContext::clearBeforeLoad() { + if (data.byte(kRoomloaded) != 1) + return /* (noclear) */; + + clearReels(); + clearRest(); + data.byte(kRoomloaded) = 0; +} + +void DreamGenContext::clearReels() { + deallocateMem(data.word(kReel1)); + deallocateMem(data.word(kReel2)); + deallocateMem(data.word(kReel3)); +} + +void DreamGenContext::getRidOfReels() { + if (data.byte(kRoomloaded) == 0) + return /* (dontgetrid) */; + + deallocateMem(data.word(kReel1)); + deallocateMem(data.word(kReel2)); + deallocateMem(data.word(kReel3)); +} + } /*namespace dreamgen */ diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h index faa6d9dcae..daf7388e7b 100644 --- a/engines/dreamweb/stubs.h +++ b/engines/dreamweb/stubs.h @@ -473,5 +473,8 @@ void fadeScreenUpHalf(); void fadeScreenDown(); void fadeScreenDowns(); + void clearBeforeLoad(); + void clearReels(); + void getRidOfReels(); #endif |