aboutsummaryrefslogtreecommitdiff
path: root/engines/simon/draw.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/simon/draw.cpp')
-rw-r--r--engines/simon/draw.cpp32
1 files changed, 15 insertions, 17 deletions
diff --git a/engines/simon/draw.cpp b/engines/simon/draw.cpp
index f42c48b7d3..7ab3f22cbf 100644
--- a/engines/simon/draw.cpp
+++ b/engines/simon/draw.cpp
@@ -423,11 +423,11 @@ void SimonEngine::fillBackGroundFromBack(uint lines) {
}
void SimonEngine::dx_update_screen_and_palette() {
- if (_paletteColorCount == 0 && _paletteFlag == 1) {
+ if (_fastFadeInFlag == 0 && _paletteFlag == 1) {
_paletteFlag = 0;
- if (memcmp(_palette, _paletteBackup, 1024) != 0) {
- memcpy(_paletteBackup, _palette, 1024);
- _system->setPalette(_palette, 0, 256);
+ if (memcmp(_displayPalette, _currentPalette, 1024)) {
+ memcpy(_currentPalette, _displayPalette, 1024);
+ _system->setPalette(_displayPalette, 0, 256);
}
}
@@ -440,7 +440,7 @@ void SimonEngine::dx_update_screen_and_palette() {
scrollScreen();
}
- if (_paletteColorCount != 0) {
+ if (_fastFadeInFlag) {
if (getGameType() == GType_SIMON1 && _usePaletteDelay) {
delay(100);
_usePaletteDelay = false;
@@ -450,13 +450,13 @@ void SimonEngine::dx_update_screen_and_palette() {
}
void SimonEngine::fastFadeIn() {
- if (_paletteColorCount & 0x8000) {
+ if (_fastFadeInFlag & 0x8000) {
slowFadeIn();
} else {
_paletteFlag = false;
- memcpy(_paletteBackup, _palette, 1024);
- _system->setPalette(_palette, 0, _paletteColorCount);
- _paletteColorCount = 0;
+ memcpy(_currentPalette, _displayPalette, 1024);
+ _system->setPalette(_displayPalette, 0, _fastFadeInFlag);
+ _fastFadeInFlag = 0;
}
}
@@ -464,30 +464,28 @@ void SimonEngine::slowFadeIn() {
uint8 *src, *dst;
int c, p;
- _paletteColorCount &= 0x7fff;
+ _fastFadeInFlag &= 0x7fff;
_paletteFlag = false;
- memcpy(_videoBuf1, _palette, 768);
memset(_videoBuf1, 0, 768);
-
- memcpy(_paletteBackup, _palette, 768);
- memcpy(_videoBuf1 + 768, _palette, 768);
+ memcpy(_currentPalette, _displayPalette, 768);
+ memcpy(_videoBuf1 + 768, _displayPalette, 768);
for (c = 255; c >= 0; c -= 4) {
src = _videoBuf1 + 768;
dst = _videoBuf1;
- for (p = _paletteColorCount; p !=0 ; p--) {
+ for (p = _fastFadeInFlag; p !=0 ; p--) {
if (*src >= c)
*dst = *dst + 4;
src++;
dst++;
}
- _system->setPalette(_videoBuf1, 0, _videoNumPalColors);
+ _system->setPalette(_videoBuf1, 0, _fastFadeCount);
delay(5);
}
- _paletteColorCount = 0;
+ _fastFadeInFlag = 0;
}
} // End of namespace Simon