aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBertrand Augereau2011-11-21 21:32:50 +0100
committerBertrand Augereau2011-11-21 21:53:20 +0100
commit51c30303a894c0630e3950a7e2168316780dcc76 (patch)
treea1cfd5e3013675d9f7c1fc9f5ddb0147b901ac16
parent397761c2c14f3d08f009c6487f7b49db9d05e13c (diff)
downloadscummvm-rg350-51c30303a894c0630e3950a7e2168316780dcc76.tar.gz
scummvm-rg350-51c30303a894c0630e3950a7e2168316780dcc76.tar.bz2
scummvm-rg350-51c30303a894c0630e3950a7e2168316780dcc76.zip
DREAMWEB: 'createpanel' and 'createpanel2' ported to C++
-rwxr-xr-xdevtools/tasmrecover/tasm-recover2
-rw-r--r--engines/dreamweb/dreamgen.cpp47
-rw-r--r--engines/dreamweb/dreamgen.h6
-rw-r--r--engines/dreamweb/stubs.h2
-rw-r--r--engines/dreamweb/vgagrafx.cpp15
5 files changed, 21 insertions, 51 deletions
diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover
index 3af0b59aa5..647b080813 100755
--- a/devtools/tasmrecover/tasm-recover
+++ b/devtools/tasmrecover/tasm-recover
@@ -266,6 +266,8 @@ generator = cpp(context, "DreamGen", blacklist = [
'powerlightoff',
'accesslighton',
'accesslightoff',
+ 'createpanel',
+ 'createpanel2',
], skip_output = [
# These functions are processed but not output
'dreamweb',
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index a3096fb0df..d685617f6d 100644
--- a/engines/dreamweb/dreamgen.cpp
+++ b/engines/dreamweb/dreamgen.cpp
@@ -2232,51 +2232,6 @@ bigroom:
_add(data.byte(kMapysize), 8);
}
-void DreamGenContext::createpanel() {
- STACK_CHECK;
- di = 0;
- bx = 8;
- ds = data.word(kIcons2);
- al = 0;
- ah = 2;
- showframe();
- di = 160;
- bx = 8;
- ds = data.word(kIcons2);
- al = 0;
- ah = 2;
- showframe();
- di = 0;
- bx = 104;
- ds = data.word(kIcons2);
- al = 0;
- ah = 2;
- showframe();
- di = 160;
- bx = 104;
- ds = data.word(kIcons2);
- al = 0;
- ah = 2;
- showframe();
-}
-
-void DreamGenContext::createpanel2() {
- STACK_CHECK;
- createpanel();
- di = 0;
- bx = 0;
- ds = data.word(kIcons2);
- al = 5;
- ah = 2;
- showframe();
- di = 160;
- bx = 0;
- ds = data.word(kIcons2);
- al = 5;
- ah = 2;
- showframe();
-}
-
void DreamGenContext::transfermap() {
STACK_CHECK;
di = data.word(kExframepos);
@@ -14812,8 +14767,6 @@ void DreamGenContext::__dispatch_call(uint16 addr) {
case addr_deleverything: deleverything(); break;
case addr_showpcx: showpcx(); break;
case addr_setmode: setmode(); break;
- case addr_createpanel: createpanel(); break;
- case addr_createpanel2: createpanel2(); break;
case addr_vsync: vsync(); break;
case addr_doshake: doshake(); break;
case addr_transfermap: transfermap(); break;
diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h
index fd8636364c..468e0a2f6d 100644
--- a/engines/dreamweb/dreamgen.h
+++ b/engines/dreamweb/dreamgen.h
@@ -475,8 +475,6 @@ public:
static const uint16 addr_transfermap = 0xc244;
static const uint16 addr_doshake = 0xc20c;
static const uint16 addr_vsync = 0xc208;
- static const uint16 addr_createpanel2 = 0xc200;
- static const uint16 addr_createpanel = 0xc1fc;
static const uint16 addr_setmode = 0xc1dc;
static const uint16 addr_showpcx = 0xc1cc;
static const uint16 addr_deleverything = 0xc1c0;
@@ -1331,7 +1329,7 @@ public:
void dumpzoom();
//void aboutturn();
void usealtar();
- void createpanel2();
+ //void createpanel2();
//void turnonpower();
void manasleep2();
void moretalk();
@@ -1550,7 +1548,7 @@ public:
void interviewer();
void purgeanitem();
void madman();
- void createpanel();
+ //void createpanel();
//void turnpathon();
void chewy();
void madmanstelly();
diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h
index 2b762c0793..ba44970e65 100644
--- a/engines/dreamweb/stubs.h
+++ b/engines/dreamweb/stubs.h
@@ -325,4 +325,6 @@
void playchannel0(uint8 index);
void playchannel1(uint8 index);
void showmainops();
+ void createpanel();
+ void createpanel2();
diff --git a/engines/dreamweb/vgagrafx.cpp b/engines/dreamweb/vgagrafx.cpp
index 9871b5e998..658f45ed04 100644
--- a/engines/dreamweb/vgagrafx.cpp
+++ b/engines/dreamweb/vgagrafx.cpp
@@ -492,5 +492,20 @@ void DreamGenContext::loadpalfromiff() {
}
}
+void DreamGenContext::createpanel() {
+ Frame *icons = (Frame *)segRef(data.word(kIcons2)).ptr(0, 0);
+ showframe(icons, 0, 8, 0, 2);
+ showframe(icons, 160, 8, 0, 2);
+ showframe(icons, 0, 104, 0, 2);
+ showframe(icons, 160, 104, 0, 2);
+}
+
+void DreamGenContext::createpanel2() {
+ createpanel();
+ Frame *icons = (Frame *)segRef(data.word(kIcons2)).ptr(0, 0);
+ showframe(icons, 0, 0, 5, 2);
+ showframe(icons, 160, 0, 5, 2);
+}
+
} /*namespace dreamgen */