diff options
author | Max Horn | 2011-12-16 17:20:53 +0100 |
---|---|---|
committer | Max Horn | 2011-12-16 17:44:59 +0100 |
commit | 8cb92c2367da5a16f4d7ffb68adea9f1bdfd13e8 (patch) | |
tree | 989e5befb3226f7bcf76ee0bf838b53866a8775f /engines/dreamweb/vgafades.cpp | |
parent | 010714ce5bf401f3d91e8d410c447b866646c85f (diff) | |
download | scummvm-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.cpp | 23 |
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(); |