aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBertrand Augereau2011-11-23 10:23:18 +0100
committerBertrand Augereau2011-11-23 12:26:33 +0100
commitc50384bbf56e1f2d145b67b730a8247fb16e7fe2 (patch)
treee84c93024cf740b16417d2ae241347b5ffbc8069
parent8a2500cd64afa063557014b3d0e9490abd6c1096 (diff)
downloadscummvm-rg350-c50384bbf56e1f2d145b67b730a8247fb16e7fe2.tar.gz
scummvm-rg350-c50384bbf56e1f2d145b67b730a8247fb16e7fe2.tar.bz2
scummvm-rg350-c50384bbf56e1f2d145b67b730a8247fb16e7fe2.zip
DREAMWEB: 'reconstruct' ported to C++
-rwxr-xr-xdevtools/tasmrecover/tasm-recover1
-rw-r--r--engines/dreamweb/dreamgen.cpp20
-rw-r--r--engines/dreamweb/dreamgen.h3
-rw-r--r--engines/dreamweb/sprite.cpp12
-rw-r--r--engines/dreamweb/stubs.h1
5 files changed, 15 insertions, 22 deletions
diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover
index 8722a2d764..567893cf7e 100755
--- a/devtools/tasmrecover/tasm-recover
+++ b/devtools/tasmrecover/tasm-recover
@@ -272,6 +272,7 @@ generator = cpp(context, "DreamGen", blacklist = [
'createpanel2',
'findroominloc',
'reelsonscreen',
+ 'reconstruct',
], skip_output = [
# These functions are processed but not output
'dreamweb',
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index 4ea1410a20..4d67ad7701 100644
--- a/engines/dreamweb/dreamgen.cpp
+++ b/engines/dreamweb/dreamgen.cpp
@@ -2187,26 +2187,6 @@ endreelsound:
data.word(kLastsoundreel) = -1;
}
-void DreamGenContext::reconstruct() {
- STACK_CHECK;
- _cmp(data.byte(kHavedoneobs), 0);
- if (flags.z())
- return /* (noneedtorecon) */;
- data.byte(kNewobs) = 1;
- drawfloor();
- spriteupdate();
- printsprites();
- _cmp(data.byte(kForeignrelease), 0);
- if (flags.z())
- goto notfudge;
- _cmp(data.byte(kReallocation), 20);
- if (!flags.z())
- goto notfudge;
- undertextline();
-notfudge:
- data.byte(kHavedoneobs) = 0;
-}
-
void DreamGenContext::deleverything() {
STACK_CHECK;
al = data.byte(kMapysize);
diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h
index c3ed363a3e..b132604d12 100644
--- a/engines/dreamweb/dreamgen.h
+++ b/engines/dreamweb/dreamgen.h
@@ -474,7 +474,6 @@ public:
static const uint16 addr_setmode = 0xc1dc;
static const uint16 addr_showpcx = 0xc1cc;
static const uint16 addr_deleverything = 0xc1c0;
- static const uint16 addr_reconstruct = 0xc1ac;
static const uint16 addr_soundonreels = 0xc1a8;
static const uint16 addr_constant = 0xc184;
static const uint16 addr_steady = 0xc180;
@@ -1558,7 +1557,7 @@ public:
//void readheader();
void getsetad();
//void getyad();
- void reconstruct();
+ //void reconstruct();
void soldier1();
//void animpointer();
void getundercentre();
diff --git a/engines/dreamweb/sprite.cpp b/engines/dreamweb/sprite.cpp
index 9e6d9d26d1..8d3d76a26f 100644
--- a/engines/dreamweb/sprite.cpp
+++ b/engines/dreamweb/sprite.cpp
@@ -1020,5 +1020,17 @@ void DreamGenContext::reelsonscreen() {
usetimedtext();
}
+void DreamGenContext::reconstruct() {
+ if (data.byte(kHavedoneobs) == 0)
+ return;
+ data.byte(kNewobs) = 1;
+ drawfloor();
+ spriteupdate();
+ printsprites();
+ if ((data.byte(kForeignrelease) != 0) && (data.byte(kReallocation) == 20))
+ undertextline();
+ data.byte(kHavedoneobs) = 0;
+}
+
} /*namespace dreamgen */
diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h
index 18a513b520..2a9a068439 100644
--- a/engines/dreamweb/stubs.h
+++ b/engines/dreamweb/stubs.h
@@ -331,4 +331,5 @@
void createpanel2();
void findroominloc();
void reelsonscreen();
+ void reconstruct();