aboutsummaryrefslogtreecommitdiff
path: root/sky/screen.cpp
diff options
context:
space:
mode:
authorRobert Göffringmann2003-05-15 19:14:40 +0000
committerRobert Göffringmann2003-05-15 19:14:40 +0000
commit7fb5bd3a3dcd70212f950c98bcc877143c0de225 (patch)
tree5311d4d5669ddb37cb28ac2d7e5d104eae2688fc /sky/screen.cpp
parent2a7ae09b192cc01ea2f96701b6bdb20b76754b8e (diff)
downloadscummvm-rg350-7fb5bd3a3dcd70212f950c98bcc877143c0de225.tar.gz
scummvm-rg350-7fb5bd3a3dcd70212f950c98bcc877143c0de225.tar.bz2
scummvm-rg350-7fb5bd3a3dcd70212f950c98bcc877143c0de225.zip
reordered some intro commands, made fade-in look nicer
svn-id: r7531
Diffstat (limited to 'sky/screen.cpp')
-rw-r--r--sky/screen.cpp29
1 files changed, 6 insertions, 23 deletions
diff --git a/sky/screen.cpp b/sky/screen.cpp
index 5acc188ad3..6f0d721bae 100644
--- a/sky/screen.cpp
+++ b/sky/screen.cpp
@@ -177,35 +177,18 @@ void SkyScreen::paletteFadeUp(uint8 *pal) {
convertPalette(pal, tmpPal);
- for (uint8 cnt = 0; cnt < 32; cnt++) {
- palette_fadeup_helper((uint32 *)_palette, (uint32 *)tmpPal, GAME_COLOURS);
+ for (uint8 cnt = 1; cnt <= 32; cnt++) {
+ for (uint8 colCnt = 0; colCnt < GAME_COLOURS; colCnt++) {
+ _palette[(colCnt << 2) | 0] = (tmpPal[(colCnt << 2) | 0] * cnt) >> 5;
+ _palette[(colCnt << 2) | 1] = (tmpPal[(colCnt << 2) | 1] * cnt) >> 5;
+ _palette[(colCnt << 2) | 2] = (tmpPal[(colCnt << 2) | 2] * cnt) >> 5;
+ }
_system->set_palette(_palette, 0, GAME_COLOURS);
_system->update_screen();
waitForTimer();
}
}
-void SkyScreen::palette_fadeup_helper(uint32 *realPal, uint32 *desiredPal, int num) {
-
- byte *r = (byte *)realPal;
- byte *d = (byte *)desiredPal;
-
- do {
- if (r[0] < d[0]-8) r[0] += 8;
- else r[0] = d[0];
-
- if (r[1] < d[1]-8) r[1] += 8;
- else r[1] = d[1];
-
- if (r[2] < d[2]-8) r[2] += 8;
- else r[2] = d[2];
-
- r += sizeof(uint32);
- d += sizeof(uint32);
- } while (--num);
-
-}
-
void SkyScreen::waitForTimer(void) {
_gotTick = false;