aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorBertrand Augereau2011-11-16 13:03:39 +0100
committerBertrand Augereau2011-11-16 13:04:16 +0100
commit2eceab1fded6ed744836ba7d9429d9fdb2976a69 (patch)
tree8caa05869ec997d84cc05969278ded10e7121d3c /engines
parentc71ed522de1bc1e3dcd84ca8cf759d7624571b7c (diff)
downloadscummvm-rg350-2eceab1fded6ed744836ba7d9429d9fdb2976a69.tar.gz
scummvm-rg350-2eceab1fded6ed744836ba7d9429d9fdb2976a69.tar.bz2
scummvm-rg350-2eceab1fded6ed744836ba7d9429d9fdb2976a69.zip
DREAMWEB: 'clearstartpal' ported to C++
Diffstat (limited to 'engines')
-rw-r--r--engines/dreamweb/dreamgen.cpp15
-rw-r--r--engines/dreamweb/dreamgen.h3
-rw-r--r--engines/dreamweb/module.mk1
-rw-r--r--engines/dreamweb/stubs.h2
-rw-r--r--engines/dreamweb/vgafades.cpp33
5 files changed, 37 insertions, 17 deletions
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index 73ed6f121d..599ef90d6d 100644
--- a/engines/dreamweb/dreamgen.cpp
+++ b/engines/dreamweb/dreamgen.cpp
@@ -2690,20 +2690,6 @@ void DreamGenContext::fadescreendowns() {
data.byte(kNumtofade) = 64;
}
-void DreamGenContext::clearstartpal() {
- STACK_CHECK;
- es = data.word(kBuffers);
- di = (0+(228*13)+32+60+(32*32)+(11*10*3));
- cx = 256;
-wholeloop1:
- ax = 0;
- _stosw();
- al = 0;
- _stosb();
- if (--cx)
- goto wholeloop1;
-}
-
void DreamGenContext::showgun() {
STACK_CHECK;
data.byte(kAddtored) = 0;
@@ -16240,7 +16226,6 @@ void DreamGenContext::__dispatch_call(uint16 addr) {
case addr_fadescreenuphalf: fadescreenuphalf(); break;
case addr_fadescreendown: fadescreendown(); break;
case addr_fadescreendowns: fadescreendowns(); break;
- case addr_clearstartpal: clearstartpal(); break;
case addr_showgun: showgun(); break;
case addr_rollendcredits2: rollendcredits2(); break;
case addr_rollem: rollem(); break;
diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h
index 20ef2f9818..f9e45b7394 100644
--- a/engines/dreamweb/dreamgen.h
+++ b/engines/dreamweb/dreamgen.h
@@ -510,7 +510,6 @@ public:
static const uint16 addr_rollem = 0xc284;
static const uint16 addr_rollendcredits2 = 0xc280;
static const uint16 addr_showgun = 0xc27c;
- static const uint16 addr_clearstartpal = 0xc278;
static const uint16 addr_fadescreendowns = 0xc274;
static const uint16 addr_fadescreendown = 0xc270;
static const uint16 addr_fadescreenuphalf = 0xc26c;
@@ -1229,7 +1228,7 @@ public:
void usewire();
void getnamepos();
void loadtemptext();
- void clearstartpal();
+ //void clearstartpal();
void femalefan();
//void showgamereel();
void identifyob();
diff --git a/engines/dreamweb/module.mk b/engines/dreamweb/module.mk
index d38d4db0db..d617507c85 100644
--- a/engines/dreamweb/module.mk
+++ b/engines/dreamweb/module.mk
@@ -14,6 +14,7 @@ MODULE_OBJS := \
stubs.o \
talk.o \
use.o \
+ vgafades.o \
vgagrafx.o
# This module can be built as a plugin
diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h
index da21d415f5..9d548f5926 100644
--- a/engines/dreamweb/stubs.h
+++ b/engines/dreamweb/stubs.h
@@ -255,4 +255,6 @@
void transfertext();
void initrain();
Rain *splitintolines(uint8 x, uint8 y, Rain *rain);
+ void clearstartpal();
+
diff --git a/engines/dreamweb/vgafades.cpp b/engines/dreamweb/vgafades.cpp
new file mode 100644
index 0000000000..5fffd9c333
--- /dev/null
+++ b/engines/dreamweb/vgafades.cpp
@@ -0,0 +1,33 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "dreamweb/dreamweb.h"
+
+namespace DreamGen {
+
+void DreamGenContext::clearstartpal() {
+ uint8 *startPalette = segRef(data.word(kBuffers)).ptr(kStartpal, 256*3);
+ memset(startPalette, 0, 256*3);
+}
+
+} /*namespace dreamgen */
+