aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBertrand Augereau2011-08-11 15:24:06 +0200
committerBertrand Augereau2011-08-11 15:29:29 +0200
commit2250c10ffeddad9b1b1796b6946cfd285f48207f (patch)
treec3ea098f2f1f604cb0ff64cac094c8edb0eadab3
parent701776a73aee44d18a729b1cc7f51ff97e2fbc3d (diff)
downloadscummvm-rg350-2250c10ffeddad9b1b1796b6946cfd285f48207f.tar.gz
scummvm-rg350-2250c10ffeddad9b1b1796b6946cfd285f48207f.tar.bz2
scummvm-rg350-2250c10ffeddad9b1b1796b6946cfd285f48207f.zip
DREAMWEB: 'dumptimedtext' ported to C++
-rwxr-xr-xdevtools/tasmrecover/tasm-recover1
-rw-r--r--engines/dreamweb/dreamgen.cpp23
-rw-r--r--engines/dreamweb/dreamgen.h5
-rw-r--r--engines/dreamweb/stubs.cpp11
-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 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);