aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBertrand Augereau2011-11-18 12:06:16 +0100
committerBertrand Augereau2011-11-18 16:57:37 +0100
commit29ff93e2577d68084ef95f481ee1cd370cf287f5 (patch)
treeccda8c215cad04881666be90aaa7bdd0b9525850
parent5e8d52562d7d214190a6df068b0a3d7fb295d6ca (diff)
downloadscummvm-rg350-29ff93e2577d68084ef95f481ee1cd370cf287f5.tar.gz
scummvm-rg350-29ff93e2577d68084ef95f481ee1cd370cf287f5.tar.bz2
scummvm-rg350-29ff93e2577d68084ef95f481ee1cd370cf287f5.zip
DREAMWEB: 'scrollmonitor' ported to C++
-rwxr-xr-xdevtools/tasmrecover/tasm-recover1
-rw-r--r--engines/dreamweb/dreamgen.cpp29
-rw-r--r--engines/dreamweb/dreamgen.h3
-rw-r--r--engines/dreamweb/monitor.cpp14
-rw-r--r--engines/dreamweb/stubs.h1
5 files changed, 17 insertions, 31 deletions
diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover
index 9ac51bf420..ee8b109e5c 100755
--- a/devtools/tasmrecover/tasm-recover
+++ b/devtools/tasmrecover/tasm-recover
@@ -246,6 +246,7 @@ generator = cpp(context, "DreamGen", blacklist = [
'loadroomssample',
'printlogo',
'usemon',
+ 'scrollmonitor',
'input',
], skip_output = [
# These functions are processed but not output
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index 22c935c4a2..86a81ef4f2 100644
--- a/engines/dreamweb/dreamgen.cpp
+++ b/engines/dreamweb/dreamgen.cpp
@@ -6905,34 +6905,6 @@ finishpars:
di = offset_operand1;
}
-void DreamGenContext::scrollmonitor() {
- STACK_CHECK;
- push(ax);
- push(bx);
- push(cx);
- push(dx);
- push(di);
- push(si);
- push(es);
- push(ds);
- printlogo();
- di = data.word(kMonadx);
- bx = data.word(kMonady);
- printundermon();
- ax = data.word(kMonady);
- worktoscreen();
- al = 25;
- playchannel1();
- ds = pop();
- es = pop();
- si = pop();
- di = pop();
- dx = pop();
- cx = pop();
- bx = pop();
- ax = pop();
-}
-
void DreamGenContext::monitorlogo() {
STACK_CHECK;
al = data.byte(kLogonum);
@@ -15385,7 +15357,6 @@ void DreamGenContext::__dispatch_call(uint16 addr) {
case addr_getkeyandlogo: getkeyandlogo(); break;
case addr_searchforstring: searchforstring(); break;
case addr_parser: parser(); break;
- case addr_scrollmonitor: scrollmonitor(); break;
case addr_monitorlogo: monitorlogo(); break;
case addr_showcurrentfile: showcurrentfile(); break;
case addr_monmessage: monmessage(); break;
diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h
index a8bbc4455a..bfb54c8425 100644
--- a/engines/dreamweb/dreamgen.h
+++ b/engines/dreamweb/dreamgen.h
@@ -346,7 +346,6 @@ public:
static const uint16 addr_monmessage = 0xc56c;
static const uint16 addr_showcurrentfile = 0xc568;
static const uint16 addr_monitorlogo = 0xc560;
- static const uint16 addr_scrollmonitor = 0xc558;
static const uint16 addr_parser = 0xc554;
static const uint16 addr_searchforstring = 0xc550;
static const uint16 addr_getkeyandlogo = 0xc54c;
@@ -1679,7 +1678,7 @@ public:
//void randomnumber();
void lookatcard();
void helicopter();
- void scrollmonitor();
+ //void scrollmonitor();
void setsoundoff();
void setpickup();
//void loadintotemp3();
diff --git a/engines/dreamweb/monitor.cpp b/engines/dreamweb/monitor.cpp
index cbd1bc8c96..530acc19a9 100644
--- a/engines/dreamweb/monitor.cpp
+++ b/engines/dreamweb/monitor.cpp
@@ -187,5 +187,19 @@ void DreamGenContext::hangoncurs() {
hangoncurs(cx);
}
+void DreamGenContext::scrollmonitor() {
+ push(bx); // The 3 push/pops are all needed for now
+ push(di);
+ push(si);
+ printlogo();
+ printundermon();
+ workToScreenCPP();
+ al = 25;
+ playchannel1();
+ si = pop();
+ di = pop();
+ bx = pop();
+}
+
} /*namespace dreamgen */
diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h
index 892a24e11d..f8fc3b8a37 100644
--- a/engines/dreamweb/stubs.h
+++ b/engines/dreamweb/stubs.h
@@ -299,5 +299,6 @@
void fadeupmonfirst();
void printlogo();
void usemon();
+ void scrollmonitor();
void input();