aboutsummaryrefslogtreecommitdiff
path: root/engines/dreamweb/vgafades.cpp
diff options
context:
space:
mode:
authorMax Horn2011-12-16 17:20:53 +0100
committerMax Horn2011-12-16 17:44:59 +0100
commit8cb92c2367da5a16f4d7ffb68adea9f1bdfd13e8 (patch)
tree989e5befb3226f7bcf76ee0bf838b53866a8775f /engines/dreamweb/vgafades.cpp
parent010714ce5bf401f3d91e8d410c447b866646c85f (diff)
downloadscummvm-rg350-8cb92c2367da5a16f4d7ffb68adea9f1bdfd13e8.tar.gz
scummvm-rg350-8cb92c2367da5a16f4d7ffb68adea9f1bdfd13e8.tar.bz2
scummvm-rg350-8cb92c2367da5a16f4d7ffb68adea9f1bdfd13e8.zip
DREAMWEB: Convert fadeScreenDownHalf to C++
Diffstat (limited to 'engines/dreamweb/vgafades.cpp')
-rw-r--r--engines/dreamweb/vgafades.cpp23
1 files changed, 22 insertions, 1 deletions
diff --git a/engines/dreamweb/vgafades.cpp b/engines/dreamweb/vgafades.cpp
index ca63b7308c..6766d56424 100644
--- a/engines/dreamweb/vgafades.cpp
+++ b/engines/dreamweb/vgafades.cpp
@@ -184,7 +184,28 @@ void DreamBase::fadeScreenDowns() {
data.byte(kNumtofade) = 64;
}
-void DreamGenContext::clearPalette() {
+void DreamBase::fadeScreenDownHalf() {
+ palToStartPal();
+ palToEndPal();
+
+ const uint8 *startPal = startPalette();
+ uint8 *endPal = endPalette();
+ for (int i = 0; i < 256 * 3; ++i) {
+ *endPal >>= 1;
+ endPal++;
+ }
+
+ memcpy(endPal + (56*3), startPal + (56*3), 3*5);
+ memcpy(endPal + (77*3), startPal + (77*3), 3*2);
+
+ data.byte(kFadedirection) = 1;
+ data.byte(kFadecount) = 31;
+ data.byte(kColourpos) = 0;
+ data.byte(kNumtofade) = 32;
+}
+
+
+void DreamBase::clearPalette() {
data.byte(kFadedirection) = 0;
clearStartPal();
dumpCurrent();