aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/graphics
diff options
context:
space:
mode:
authorJohannes Schickel2011-02-13 19:54:15 +0100
committerJohannes Schickel2011-02-14 17:08:33 +0100
commitbba430eebc2a0701b9cea5fd5cc57ec1da87a5c9 (patch)
treeb27f5a870e908e4a185cb1ef289e43a98f402731 /engines/sci/graphics
parent6d2c3230505765c3d4df64a0ac6d5ed4ffd8680a (diff)
downloadscummvm-rg350-bba430eebc2a0701b9cea5fd5cc57ec1da87a5c9.tar.gz
scummvm-rg350-bba430eebc2a0701b9cea5fd5cc57ec1da87a5c9.tar.bz2
scummvm-rg350-bba430eebc2a0701b9cea5fd5cc57ec1da87a5c9.zip
SCI: Adapt to setPalette/grabPalette RGBA->RGB change.
Diffstat (limited to 'engines/sci/graphics')
-rw-r--r--engines/sci/graphics/cursor.cpp2
-rw-r--r--engines/sci/graphics/screen.cpp17
-rw-r--r--engines/sci/graphics/transitions.cpp10
3 files changed, 14 insertions, 15 deletions
diff --git a/engines/sci/graphics/cursor.cpp b/engines/sci/graphics/cursor.cpp
index e78d3e67cb..b085654d02 100644
--- a/engines/sci/graphics/cursor.cpp
+++ b/engines/sci/graphics/cursor.cpp
@@ -488,7 +488,7 @@ void GfxCursor::kernelSetMacCursor(GuiResourceId viewNum, int loopNum, int celNu
uint16 hotspotX = READ_BE_UINT16(data);
uint16 hotspotY = READ_BE_UINT16(data + 2);
- static const byte cursorPalette[] = { 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00 };
+ static const byte cursorPalette[] = { 0x00, 0x00, 0x00, 0xff, 0xff, 0xff };
CursorMan.replaceCursor(cursorBitmap, 16, 16, hotspotX, hotspotY, 0);
CursorMan.replaceCursorPalette(cursorPalette, 1, 2);
diff --git a/engines/sci/graphics/screen.cpp b/engines/sci/graphics/screen.cpp
index 896ac0db22..1a17be8ec8 100644
--- a/engines/sci/graphics/screen.cpp
+++ b/engines/sci/graphics/screen.cpp
@@ -511,28 +511,27 @@ void GfxScreen::bitsRestoreDisplayScreen(Common::Rect rect, byte *&memoryPtr) {
void GfxScreen::getPalette(Palette *pal) {
// just copy palette to system
- byte bpal[4 * 256];
+ byte bpal[3 * 256];
// Get current palette, update it and put back
g_system->getPaletteManager()->grabPalette(bpal, 0, 256);
for (int16 i = 1; i < 255; i++) {
- pal->colors[i].r = bpal[i * 4];
- pal->colors[i].g = bpal[i * 4 + 1];
- pal->colors[i].b = bpal[i * 4 + 2];
+ pal->colors[i].r = bpal[i * 3];
+ pal->colors[i].g = bpal[i * 3 + 1];
+ pal->colors[i].b = bpal[i * 3 + 2];
}
}
void GfxScreen::setPalette(Palette *pal) {
// just copy palette to system
- byte bpal[4 * 256];
+ byte bpal[3 * 256];
// Get current palette, update it and put back
g_system->getPaletteManager()->grabPalette(bpal, 0, 256);
for (int16 i = 0; i < 256; i++) {
if (!pal->colors[i].used)
continue;
- bpal[i * 4] = CLIP(pal->colors[i].r * pal->intensity[i] / 100, 0, 255);
- bpal[i * 4 + 1] = CLIP(pal->colors[i].g * pal->intensity[i] / 100, 0, 255);
- bpal[i * 4 + 2] = CLIP(pal->colors[i].b * pal->intensity[i] / 100, 0, 255);
- bpal[i * 4 + 3] = 100;
+ bpal[i * 3] = CLIP(pal->colors[i].r * pal->intensity[i] / 100, 0, 255);
+ bpal[i * 3 + 1] = CLIP(pal->colors[i].g * pal->intensity[i] / 100, 0, 255);
+ bpal[i * 3 + 2] = CLIP(pal->colors[i].b * pal->intensity[i] / 100, 0, 255);
}
g_system->getPaletteManager()->setPalette(bpal, 0, 256);
}
diff --git a/engines/sci/graphics/transitions.cpp b/engines/sci/graphics/transitions.cpp
index b7b2bfb38e..5e14778c0c 100644
--- a/engines/sci/graphics/transitions.cpp
+++ b/engines/sci/graphics/transitions.cpp
@@ -303,7 +303,7 @@ void GfxTransitions::copyRectToScreen(const Common::Rect rect, bool blackoutFlag
// Note: don't do too many steps in here, otherwise cpu will crap out because of
// the load
void GfxTransitions::fadeOut() {
- byte oldPalette[4 * 256], workPalette[4 * 256];
+ byte oldPalette[3 * 256], workPalette[3 * 256];
int16 stepNr, colorNr;
// Sierra did not fade in/out color 255 for sci1.1, but they used it in
// several pictures (e.g. qfg3 demo/intro), so the fading looked weird
@@ -313,11 +313,11 @@ void GfxTransitions::fadeOut() {
for (stepNr = 100; stepNr >= 0; stepNr -= 10) {
for (colorNr = 1; colorNr < tillColorNr; colorNr++){
- workPalette[colorNr * 4 + 0] = oldPalette[colorNr * 4] * stepNr / 100;
- workPalette[colorNr * 4 + 1] = oldPalette[colorNr * 4 + 1] * stepNr / 100;
- workPalette[colorNr * 4 + 2] = oldPalette[colorNr * 4 + 2] * stepNr / 100;
+ workPalette[colorNr * 3 + 0] = oldPalette[colorNr * 3] * stepNr / 100;
+ workPalette[colorNr * 3 + 1] = oldPalette[colorNr * 3 + 1] * stepNr / 100;
+ workPalette[colorNr * 3 + 2] = oldPalette[colorNr * 3 + 2] * stepNr / 100;
}
- g_system->getPaletteManager()->setPalette(workPalette + 4, 1, 254);
+ g_system->getPaletteManager()->setPalette(workPalette + 3, 1, 254);
g_sci->getEngineState()->wait(2);
}
}