diff options
author | Bertrand Augereau | 2011-11-18 12:06:16 +0100 |
---|---|---|
committer | Bertrand Augereau | 2011-11-18 16:57:37 +0100 |
commit | 29ff93e2577d68084ef95f481ee1cd370cf287f5 (patch) | |
tree | ccda8c215cad04881666be90aaa7bdd0b9525850 | |
parent | 5e8d52562d7d214190a6df068b0a3d7fb295d6ca (diff) | |
download | scummvm-rg350-29ff93e2577d68084ef95f481ee1cd370cf287f5.tar.gz scummvm-rg350-29ff93e2577d68084ef95f481ee1cd370cf287f5.tar.bz2 scummvm-rg350-29ff93e2577d68084ef95f481ee1cd370cf287f5.zip |
DREAMWEB: 'scrollmonitor' ported to C++
-rwxr-xr-x | devtools/tasmrecover/tasm-recover | 1 | ||||
-rw-r--r-- | engines/dreamweb/dreamgen.cpp | 29 | ||||
-rw-r--r-- | engines/dreamweb/dreamgen.h | 3 | ||||
-rw-r--r-- | engines/dreamweb/monitor.cpp | 14 | ||||
-rw-r--r-- | engines/dreamweb/stubs.h | 1 |
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(); |