aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilippos Karapetis2011-12-06 00:46:06 +0200
committerFilippos Karapetis2011-12-06 00:46:51 +0200
commit06ef3452b78c2041e8054c10eb6d1929938d1b1b (patch)
tree0dda36b9426ade50f591cb421cdf4e6c4999268e
parentdc62da925f7818056c4880e0d8aa134839e17638 (diff)
downloadscummvm-rg350-06ef3452b78c2041e8054c10eb6d1929938d1b1b.tar.gz
scummvm-rg350-06ef3452b78c2041e8054c10eb6d1929938d1b1b.tar.bz2
scummvm-rg350-06ef3452b78c2041e8054c10eb6d1929938d1b1b.zip
DREAMWEB: 'clearbeforeload', 'clearreels', 'getridofreels' ported to C++
-rwxr-xr-xdevtools/tasmrecover/tasm-recover3
-rw-r--r--engines/dreamweb/dreamgen.cpp33
-rw-r--r--engines/dreamweb/dreamgen.h3
-rw-r--r--engines/dreamweb/sprite.cpp24
-rw-r--r--engines/dreamweb/stubs.h3
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