aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBertrand Augereau2011-07-30 22:56:29 +0200
committerBertrand Augereau2011-07-30 22:56:29 +0200
commita4f05b36e4a866bf686ba1810f6aea8b584a9f7c (patch)
tree6dc4620d48b0fc41e312038f5a46578ce30d3822
parentfa232d93b1e7530ba07067533412cc5e84b7c41e (diff)
downloadscummvm-rg350-a4f05b36e4a866bf686ba1810f6aea8b584a9f7c.tar.gz
scummvm-rg350-a4f05b36e4a866bf686ba1810f6aea8b584a9f7c.tar.bz2
scummvm-rg350-a4f05b36e4a866bf686ba1810f6aea8b584a9f7c.zip
DREAMWEB: 'fillspace' ported to C++
-rwxr-xr-xdevtools/tasmrecover/tasm-recover1
-rw-r--r--engines/dreamweb/dreamgen.cpp18
-rw-r--r--engines/dreamweb/dreamgen.h7
-rw-r--r--engines/dreamweb/stubs.cpp4
-rw-r--r--engines/dreamweb/stubs.h1
5 files changed, 9 insertions, 22 deletions
diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover
index 7f7947a9f6..e6748a4196 100755
--- a/devtools/tasmrecover/tasm-recover
+++ b/devtools/tasmrecover/tasm-recover
@@ -67,6 +67,7 @@ generator = cpp(context, "DreamGen", blacklist = [
'initman',
'aboutturn',
'readheader',
+ 'fillspace',
'getroomdata',
'startloading',
'showreelframe',
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index 43a1ee3ee8..15a48df484 100644
--- a/engines/dreamweb/dreamgen.cpp
+++ b/engines/dreamweb/dreamgen.cpp
@@ -19575,23 +19575,6 @@ void DreamGenContext::allocateload() {
es = pop();
}
-void DreamGenContext::fillspace() {
- STACK_CHECK;
- push(es);
- push(ds);
- push(dx);
- push(di);
- push(bx);
- di = dx;
- es = ds;
- _stosb(cx, true);
- bx = pop();
- di = pop();
- dx = pop();
- ds = pop();
- es = pop();
-}
-
void DreamGenContext::getridoftemp() {
STACK_CHECK;
es = data.word(kTempgraphics);
@@ -20934,7 +20917,6 @@ void DreamGenContext::__dispatch_call(uint16 addr) {
case addr_findroominloc: findroominloc(); break;
case addr_dontloadseg: dontloadseg(); break;
case addr_allocateload: allocateload(); break;
- case addr_fillspace: fillspace(); break;
case addr_getridoftemp: getridoftemp(); break;
case addr_getridoftemptext: getridoftemptext(); break;
case addr_getridoftemp2: getridoftemp2(); break;
diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h
index 75ca47e460..9f987893fe 100644
--- a/engines/dreamweb/dreamgen.h
+++ b/engines/dreamweb/dreamgen.h
@@ -57,7 +57,6 @@ public:
static const uint16 addr_getridoftemp2 = 0xcb78;
static const uint16 addr_getridoftemptext = 0xcb74;
static const uint16 addr_getridoftemp = 0xcb70;
- static const uint16 addr_fillspace = 0xcb6c;
static const uint16 addr_allocateload = 0xcb68;
static const uint16 addr_dontloadseg = 0xcb64;
static const uint16 addr_findroominloc = 0xcb58;
@@ -1373,6 +1372,7 @@ public:
//void worktoscreen();
void getexpos();
void fadedos();
+ //void fillspace();
//void multiget();
void fadeupmonfirst();
void drawfloor();
@@ -1661,7 +1661,7 @@ public:
void steady();
void pixelcheckset();
void reexfrominv();
- void fillspace();
+ void examinventory();
void talk();
void usedryer();
void dumpeverything();
@@ -1873,7 +1873,6 @@ public:
void turnanypathon();
void restorereels();
void setwalk();
- //void printboth();
void useroutine();
void zoomicon();
void hotelcontrol();
@@ -2029,7 +2028,7 @@ public:
void scanfornames();
void setallchanges();
void newgame();
- void examinventory();
+ //void printboth();
void standardload();
void undertextline();
void findroominloc();
diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp
index 8c3086aebb..5ef8b18317 100644
--- a/engines/dreamweb/stubs.cpp
+++ b/engines/dreamweb/stubs.cpp
@@ -798,5 +798,9 @@ void DreamGenContext::startloading(const Room *room) {
findxyfrompath();
}
+void DreamGenContext::fillspace() {
+ memset(ds.ptr(dx, cx), al, cx);
+}
+
} /*namespace dreamgen */
diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h
index 35f54b6c6e..c218707d9b 100644
--- a/engines/dreamweb/stubs.h
+++ b/engines/dreamweb/stubs.h
@@ -60,6 +60,7 @@
void getroomdata();
void getroomdata(uint8 roomIndex);
void readheader();
+ void fillspace();
void startloading();
void startloading(const Room *room);
Sprite *spritetable();