aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBertrand Augereau2011-08-24 13:22:11 +0200
committerBertrand Augereau2011-08-24 14:40:52 +0200
commit42e435c604e4ac9af4f29736833f2513ca38d34d (patch)
tree5cf7a7e47b0fce4cd1611861534ac92bebc580f5
parent7f7775e574a79f493bb3f32d8fac50d05259a4b4 (diff)
downloadscummvm-rg350-42e435c604e4ac9af4f29736833f2513ca38d34d.tar.gz
scummvm-rg350-42e435c604e4ac9af4f29736833f2513ca38d34d.tar.bz2
scummvm-rg350-42e435c604e4ac9af4f29736833f2513ca38d34d.zip
DREAMWEB: 'dumpblink' ported to C++
-rwxr-xr-xdevtools/tasmrecover/tasm-recover1
-rw-r--r--engines/dreamweb/dreamgen.cpp22
-rw-r--r--engines/dreamweb/dreamgen.h7
-rw-r--r--engines/dreamweb/stubs.cpp10
-rw-r--r--engines/dreamweb/stubs.h1
5 files changed, 15 insertions, 26 deletions
diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover
index 3fe277f62a..134292cc8b 100755
--- a/devtools/tasmrecover/tasm-recover
+++ b/devtools/tasmrecover/tasm-recover
@@ -150,6 +150,7 @@ generator = cpp(context, "DreamGen", blacklist = [
'obname',
'delpointer',
'showblink',
+ 'dumpblink',
], skip_output = [
# These functions are processed but not output
'dreamweb',
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index 4da95daadc..3a819a0a6e 100644
--- a/engines/dreamweb/dreamgen.cpp
+++ b/engines/dreamweb/dreamgen.cpp
@@ -16238,27 +16238,6 @@ void DreamGenContext::zoomicon() {
showframe();
}
-void DreamGenContext::dumpblink() {
- STACK_CHECK;
- _cmp(data.byte(kShadeson), 0);
- if (!flags.z())
- return /* (nodumpeye) */;
- _cmp(data.byte(kBlinkcount), 0);
- if (!flags.z())
- return /* (nodumpeye) */;
- al = data.byte(kBlinkframe);
- _cmp(al, 6);
- if (!flags.c())
- return /* (nodumpeye) */;
- push(ds);
- di = 44;
- bx = 32;
- cl = 16;
- ch = 12;
- multidump();
- ds = pop();
-}
-
void DreamGenContext::worktoscreenm() {
STACK_CHECK;
animpointer();
@@ -18311,7 +18290,6 @@ void DreamGenContext::__dispatch_call(uint16 addr) {
case addr_showwatch: showwatch(); break;
case addr_gettime: gettime(); break;
case addr_zoomicon: zoomicon(); break;
- case addr_dumpblink: dumpblink(); break;
case addr_worktoscreenm: worktoscreenm(); break;
case addr_blank: blank(); break;
case addr_allpointer: allpointer(); break;
diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h
index 2b75a8067f..c770bbb966 100644
--- a/engines/dreamweb/dreamgen.h
+++ b/engines/dreamweb/dreamgen.h
@@ -98,7 +98,6 @@ public:
static const uint16 addr_allpointer = 0xcaa4;
static const uint16 addr_blank = 0xcaa0;
static const uint16 addr_worktoscreenm = 0xca9c;
- static const uint16 addr_dumpblink = 0xca98;
static const uint16 addr_zoomicon = 0xca90;
static const uint16 addr_gettime = 0xca8c;
static const uint16 addr_showwatch = 0xca88;
@@ -1376,6 +1375,7 @@ public:
//void lockmon();
//void dochange();
void getanyaddir();
+ //void dumpblink();
void showsaveops();
void intromonks1();
void resetlocation();
@@ -1510,7 +1510,7 @@ public:
void getfreead();
void showarrows();
void walkintoroom();
- void getridoftemptext();
+ void usehatch();
void printoutermon();
void setuppit();
void showpcx();
@@ -1647,7 +1647,6 @@ public:
void talk();
void usedryer();
void dumpeverything();
- void usehatch();
//void zoom();
void outofinv();
void viewfolder();
@@ -1863,7 +1862,7 @@ public:
void issetobonmap();
void getdestinfo();
void drunk();
- void dumpblink();
+ void getridoftemptext();
void setuptimeduse();
void grafittidoor();
void input();
diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp
index 1e3fd36a23..ba47f1a945 100644
--- a/engines/dreamweb/stubs.cpp
+++ b/engines/dreamweb/stubs.cpp
@@ -1298,6 +1298,16 @@ void DreamGenContext::showblink() {
showframe((Frame *)segRef(data.word(kIcons1)).ptr(0, 0), 44, 32, blinkTab[blinkFrame], 0, &width, &height);
}
+void DreamGenContext::dumpblink() {
+ if (data.byte(kShadeson) != 0)
+ return;
+ if (data.byte(kBlinkcount) != 0)
+ return;
+ if (data.byte(kBlinkframe) >= 6)
+ return;
+ multidump(44, 32, 16, 12);
+}
+
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 1f220317f1..332e8a02a2 100644
--- a/engines/dreamweb/stubs.h
+++ b/engines/dreamweb/stubs.h
@@ -180,4 +180,5 @@
void obname(uint8 command, uint8 commandType);
void delpointer();
void showblink();
+ void dumpblink();