diff options
author | Bertrand Augereau | 2011-08-11 15:24:06 +0200 |
---|---|---|
committer | Bertrand Augereau | 2011-08-11 15:29:29 +0200 |
commit | 2250c10ffeddad9b1b1796b6946cfd285f48207f (patch) | |
tree | c3ea098f2f1f604cb0ff64cac094c8edb0eadab3 | |
parent | 701776a73aee44d18a729b1cc7f51ff97e2fbc3d (diff) | |
download | scummvm-rg350-2250c10ffeddad9b1b1796b6946cfd285f48207f.tar.gz scummvm-rg350-2250c10ffeddad9b1b1796b6946cfd285f48207f.tar.bz2 scummvm-rg350-2250c10ffeddad9b1b1796b6946cfd285f48207f.zip |
DREAMWEB: 'dumptimedtext' ported to C++
-rwxr-xr-x | devtools/tasmrecover/tasm-recover | 1 | ||||
-rw-r--r-- | engines/dreamweb/dreamgen.cpp | 23 | ||||
-rw-r--r-- | engines/dreamweb/dreamgen.h | 5 | ||||
-rw-r--r-- | engines/dreamweb/stubs.cpp | 11 | ||||
-rw-r--r-- | engines/dreamweb/stubs.h | 1 |
5 files changed, 15 insertions, 26 deletions
diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover index d4f4af715a..0a86ab43d0 100755 --- a/devtools/tasmrecover/tasm-recover +++ b/devtools/tasmrecover/tasm-recover @@ -52,6 +52,7 @@ generator = cpp(context, "DreamGen", blacklist = [ 'printdirect', 'printslow', 'usetimedtext', + 'dumptimedtext', 'putundertimed', 'getundertimed', 'worktoscreen', diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp index 2a7c67e889..dc576314a4 100644 --- a/engines/dreamweb/dreamgen.cpp +++ b/engines/dreamweb/dreamgen.cpp @@ -12084,28 +12084,6 @@ notonsartroof: placesetobject(); } -void DreamGenContext::dumptimedtext() { - STACK_CHECK; - _cmp(data.byte(kNeedtodumptimed), 1); - if (!flags.z()) - return /* (nodumptimed) */; - al = data.byte(kTimedy); - _cmp(data.byte(kForeignrelease), 0); - if (flags.z()) - goto _tmp1; - _sub(al, 3); -_tmp1: - ah = 0; - bx = ax; - al = data.byte(kTimedx); - ah = 0; - di = ax; - cl = 240; - ch = (30); - multidump(); - data.byte(kNeedtodumptimed) = 0; -} - void DreamGenContext::setuptimeduse() { STACK_CHECK; _cmp(data.word(kTimecount), 0); @@ -19892,7 +19870,6 @@ void DreamGenContext::__dispatch_call(uint16 addr) { case addr_setallchanges: setallchanges(); break; case addr_dochange: dochange(); break; case addr_autoappear: autoappear(); break; - case addr_dumptimedtext: dumptimedtext(); break; case addr_setuptimeduse: setuptimeduse(); break; case addr_setuptimedtemp: setuptimedtemp(); break; case addr_edenscdplayer: edenscdplayer(); break; diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h index 60abf44c01..5a74ed6ad0 100644 --- a/engines/dreamweb/dreamgen.h +++ b/engines/dreamweb/dreamgen.h @@ -315,7 +315,6 @@ public: static const uint16 addr_edenscdplayer = 0xc728; static const uint16 addr_setuptimedtemp = 0xc720; static const uint16 addr_setuptimeduse = 0xc71c; - static const uint16 addr_dumptimedtext = 0xc718; static const uint16 addr_autoappear = 0xc70c; static const uint16 addr_dochange = 0xc708; static const uint16 addr_setallchanges = 0xc704; @@ -1500,7 +1499,7 @@ public: void loadspeech(); //void cls(); //void printsprites(); - void checkifperson(); + //void dumptimedtext(); void showallobs(); //void getnumber(); void adjustleft(); @@ -1568,7 +1567,7 @@ public: void folderhints(); void openhoteldoor(); void removesetobject(); - void dumptimedtext(); + void checkifperson(); //void frameoutfx(); void blank(); void drinker(); diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp index 64067c0d62..361b22dac8 100644 --- a/engines/dreamweb/stubs.cpp +++ b/engines/dreamweb/stubs.cpp @@ -326,6 +326,17 @@ void DreamGenContext::usetimedtext() { data.byte(kNeedtodumptimed) = 1; } +void DreamGenContext::dumptimedtext() { + if (data.byte(kNeedtodumptimed) != 1) + return; + uint8 y = data.byte(kTimedy); + if (data.byte(kForeignrelease) != 0) + y -= 3; + + multidump(data.byte(kTimedx), y, 240, kUndertimedysize); + data.byte(kNeedtodumptimed) = 0; +} + void DreamGenContext::gettime() { TimeDate t; g_system->getTimeAndDate(t); diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h index 8e87b962dc..1baad44524 100644 --- a/engines/dreamweb/stubs.h +++ b/engines/dreamweb/stubs.h @@ -48,6 +48,7 @@ void printdirect(); void printdirect(const uint8** string, uint16 x, uint16 *y, uint8 maxWidth, bool centered); void usetimedtext(); + void dumptimedtext(); void getundertimed(); void putundertimed(); uint8 printslow(const uint8 *string, uint16 x, uint16 y, uint8 maxWidth, bool centered); |