[Scummvm-cvs-logs] scummvm master -> e21d6e0d1120e917a4a019a4070ec4db5e988b9b
lordhoto
lordhoto at gmail.com
Sat Feb 19 21:49:40 CET 2011
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
b26f30b987 DRASCULA: Adapt to setPalette RGBA->RGB change.
e21d6e0d11 Merge branch 'osystem-palette' of https://github.com/lordhoto/scummvm into master
Commit: b26f30b98793c522265a3eeb48fb3b41034663c6
https://github.com/scummvm/scummvm/commit/b26f30b98793c522265a3eeb48fb3b41034663c6
Author: Johannes Schickel (lordhoto at scummvm.org)
Date: 2011-02-19T12:19:45-08:00
Commit Message:
DRASCULA: Adapt to setPalette RGBA->RGB change.
Changed paths:
engines/drascula/palette.cpp
diff --git a/engines/drascula/palette.cpp b/engines/drascula/palette.cpp
index 67597ef..b521c03 100644
--- a/engines/drascula/palette.cpp
+++ b/engines/drascula/palette.cpp
@@ -65,15 +65,12 @@ void DrasculaEngine::black() {
}
void DrasculaEngine::setPalette(byte *PalBuf) {
- byte pal[256 * 4];
- int i;
-
- for (i = 0; i < 256; i++) {
- pal[i * 4 + 0] = PalBuf[i * 3 + 0] * 4;
- pal[i * 4 + 1] = PalBuf[i * 3 + 1] * 4;
- pal[i * 4 + 2] = PalBuf[i * 3 + 2] * 4;
- pal[i * 4 + 3] = 0;
+ byte pal[256 * 3];
+
+ for (int i = 0; i < 3 * 256; ++i) {
+ pal[i] = PalBuf[i] * 4;
}
+
_system->getPaletteManager()->setPalette(pal, 0, 256);
_system->updateScreen();
}
Commit: e21d6e0d1120e917a4a019a4070ec4db5e988b9b
https://github.com/scummvm/scummvm/commit/e21d6e0d1120e917a4a019a4070ec4db5e988b9b
Author: Johannes Schickel (lordhoto at scummvm.org)
Date: 2011-02-19T12:46:45-08:00
Commit Message:
Merge branch 'osystem-palette' of https://github.com/lordhoto/scummvm into master
Conflicts:
backends/platform/android/android.cpp
engines/sci/graphics/screen.cpp
engines/sci/graphics/transitions.cpp
Changed paths:
audio/softsynth/mt32.cpp
backends/graphics/default-palette.h
backends/graphics/opengl/opengl-graphics.cpp
backends/graphics/sdl/sdl-graphics.cpp
backends/platform/android/android.cpp
backends/platform/dc/display.cpp
backends/platform/ds/arm9/source/osystem_ds.cpp
backends/platform/iphone/osys_video.cpp
backends/platform/n64/osys_n64.h
backends/platform/n64/osys_n64_base.cpp
backends/platform/ps2/Gs2dScreen.cpp
backends/platform/ps2/Gs2dScreen.h
backends/platform/ps2/systemps2.cpp
backends/platform/psp/display_client.cpp
backends/platform/wii/osystem_gfx.cpp
common/macresman.cpp
engines/agi/graphics.cpp
engines/agi/graphics.h
engines/agos/agos.h
engines/agos/animation.cpp
engines/agos/cursor.cpp
engines/agos/debug.cpp
engines/agos/draw.cpp
engines/agos/gfx.cpp
engines/agos/pn.cpp
engines/agos/script_ff.cpp
engines/agos/script_s1.cpp
engines/agos/vga.cpp
engines/agos/vga_e2.cpp
engines/agos/vga_s1.cpp
engines/agos/window.cpp
engines/cine/pal.cpp
engines/cruise/gfxModule.cpp
engines/cruise/mouse.cpp
engines/draci/screen.cpp
engines/drascula/palette.cpp
engines/gob/util.cpp
engines/gob/video.cpp
engines/gob/video.h
engines/groovie/cursor.cpp
engines/groovie/debug.cpp
engines/groovie/graphics.cpp
engines/groovie/graphics.h
engines/groovie/roq.cpp
engines/groovie/vdx.cpp
engines/hugo/display.cpp
engines/kyra/screen.cpp
engines/kyra/screen_lok.cpp
engines/kyra/screen_lol.cpp
engines/lure/screen.cpp
engines/lure/screen.h
engines/made/screen.cpp
engines/made/screen.h
engines/mohawk/cursors.cpp
engines/mohawk/graphics.cpp
engines/mohawk/riven_cursors.h
engines/mohawk/view.cpp
engines/parallaction/graphics.cpp
engines/parallaction/graphics.h
engines/queen/display.cpp
engines/saga/gfx.cpp
engines/saga/gfx.h
engines/sci/graphics/cursor.cpp
engines/sci/graphics/palette.cpp
engines/sci/graphics/transitions.cpp
engines/scumm/cursor.cpp
engines/scumm/he/cup_player_he.cpp
engines/scumm/he/cup_player_he.h
engines/scumm/he/palette_he.cpp
engines/scumm/palette.cpp
engines/scumm/smush/smush_player.cpp
engines/sky/screen.cpp
engines/sky/screen.h
engines/sword1/animation.cpp
engines/sword1/control.cpp
engines/sword1/screen.cpp
engines/sword1/screen.h
engines/sword2/console.cpp
engines/sword2/function.cpp
engines/sword2/mouse.cpp
engines/sword2/palette.cpp
engines/sword2/protocol.cpp
engines/sword2/render.cpp
engines/sword2/screen.cpp
engines/sword2/screen.h
engines/sword2/sprite.cpp
engines/sword2/sword2.h
engines/teenagent/scene.cpp
engines/teenagent/teenagent.cpp
engines/testbed/graphics.cpp
engines/testbed/graphics.h
engines/tinsel/palette.cpp
engines/toon/toon.cpp
engines/touche/resource.cpp
engines/touche/touche.cpp
engines/touche/touche.h
engines/tucker/locations.cpp
engines/tucker/sequences.cpp
engines/tucker/tucker.cpp
engines/tucker/tucker.h
graphics/cursorman.h
graphics/palette.h
graphics/scaler/thumbnail_intern.cpp
gui/ThemeEngine.cpp
gui/ThemeEngine.h
gui/gui-manager.cpp
video/video_decoder.cpp
diff --cc backends/platform/android/android.cpp
index 0424983,fe52936..38bc94e
--- a/backends/platform/android/android.cpp
+++ b/backends/platform/android/android.cpp
@@@ -761,20 -683,8 +753,8 @@@ void OSystem_Android::setPalette(const
}
void OSystem_Android::grabPalette(byte *colors, uint start, uint num) {
- ENTER("grabPalette(%p, %u, %u)", colors, start, num);
- memcpy(colors, _game_texture->palette() + start * 3, num * 3);
+ ENTER("%p, %u, %u", colors, start, num);
-
- const byte *palette = _game_texture->palette_const() + start * 3;
-
- do {
- for (int i = 0; i < 3; ++i)
- colors[i] = palette[i];
-
- // alpha
- colors[3] = 0xff;
-
- palette += 3;
- colors += 4;
- } while (--num);
++ memcpy(colors, _game_texture->palette_const() + start * 3, num * 3);
}
void OSystem_Android::copyRectToScreen(const byte *buf, int pitch,
diff --cc engines/hugo/display.cpp
index f8fa903,9ee7715..a2962ff
--- a/engines/hugo/display.cpp
+++ b/engines/hugo/display.cpp
@@@ -214,10 -208,10 +228,10 @@@ void Screen::savePal(Common::WriteStrea
/**
* Restore the current palette from a savegame
*/
-void Screen::restorePal(Common::SeekableReadStream *f) {
+void Screen::restorePal(Common::ReadStream *f) {
debugC(1, kDebugDisplay, "restorePal()");
- byte pal[4];
+ byte pal[3];
for (int i = 0; i < _paletteSize; i++)
_curPalette[i] = f->readByte();
diff --cc engines/sci/graphics/palette.cpp
index b802f72,b27b5f3..5348903
--- a/engines/sci/graphics/palette.cpp
+++ b/engines/sci/graphics/palette.cpp
@@@ -421,36 -404,11 +421,36 @@@ void GfxPalette::setOnScreen()
// We dont change palette at all times for amiga
if (_resMan->isAmiga32color())
return;
- _screen->setPalette(&_sysPalette);
- // Redraw the Mac SCI1.1 Icon bar every palette change
- if (g_sci->_gfxMacIconBar)
- g_sci->_gfxMacIconBar->drawIcons();
+ copySysPaletteToScreen();
+}
+
+static byte convertMacGammaToSCIGamma(int comp) {
+ return (byte)sqrt(comp * 255.0f);
+}
+
+void GfxPalette::copySysPaletteToScreen() {
+ // 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 (colorIsFromMacClut(i)) {
+ // If we've got a Mac CLUT, override the SCI palette with its non-black colors
- bpal[i * 4 ] = convertMacGammaToSCIGamma(_macClut[i * 3 ]);
- bpal[i * 4 + 1] = convertMacGammaToSCIGamma(_macClut[i * 3 + 1]);
- bpal[i * 4 + 2] = convertMacGammaToSCIGamma(_macClut[i * 3 + 2]);
++ bpal[i * 3 ] = convertMacGammaToSCIGamma(_macClut[i * 3 ]);
++ bpal[i * 3 + 1] = convertMacGammaToSCIGamma(_macClut[i * 3 + 1]);
++ bpal[i * 3 + 2] = convertMacGammaToSCIGamma(_macClut[i * 3 + 2]);
+ } else if (_sysPalette.colors[i].used != 0) {
+ // Otherwise, copy to the screen
- bpal[i * 4 ] = CLIP(_sysPalette.colors[i].r * _sysPalette.intensity[i] / 100, 0, 255);
- bpal[i * 4 + 1] = CLIP(_sysPalette.colors[i].g * _sysPalette.intensity[i] / 100, 0, 255);
- bpal[i * 4 + 2] = CLIP(_sysPalette.colors[i].b * _sysPalette.intensity[i] / 100, 0, 255);
++ bpal[i * 3 ] = CLIP(_sysPalette.colors[i].r * _sysPalette.intensity[i] / 100, 0, 255);
++ bpal[i * 3 + 1] = CLIP(_sysPalette.colors[i].g * _sysPalette.intensity[i] / 100, 0, 255);
++ bpal[i * 3 + 2] = CLIP(_sysPalette.colors[i].b * _sysPalette.intensity[i] / 100, 0, 255);
+ }
+ }
+
+ g_system->getPaletteManager()->setPalette(bpal, 0, 256);
}
bool GfxPalette::kernelSetFromResource(GuiResourceId resourceId, bool force) {
@@@ -608,16 -565,7 +608,16 @@@ void GfxPalette::kernelAssertPalette(Gu
}
void GfxPalette::kernelSyncScreenPalette() {
- _screen->getPalette(&_sysPalette);
+ // 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++) {
- _sysPalette.colors[i].r = bpal[i * 4];
- _sysPalette.colors[i].g = bpal[i * 4 + 1];
- _sysPalette.colors[i].b = bpal[i * 4 + 2];
++ _sysPalette.colors[i].r = bpal[i * 3];
++ _sysPalette.colors[i].g = bpal[i * 3 + 1];
++ _sysPalette.colors[i].b = bpal[i * 3 + 2];
+ }
}
// palVary
diff --cc engines/sci/graphics/transitions.cpp
index e741f66,5e14778..e025a2f
--- a/engines/sci/graphics/transitions.cpp
+++ b/engines/sci/graphics/transitions.cpp
@@@ -311,19 -312,12 +311,18 @@@ void GfxTransitions::fadeOut()
g_system->getPaletteManager()->grabPalette(oldPalette, 0, 256);
for (stepNr = 100; stepNr >= 0; stepNr -= 10) {
- for (colorNr = 1; colorNr < tillColorNr; colorNr++){
- 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;
+ for (colorNr = 1; colorNr < tillColorNr; colorNr++) {
+ if (_palette->colorIsFromMacClut(colorNr)) {
- workPalette[colorNr * 4 + 0] = oldPalette[colorNr * 4];
- workPalette[colorNr * 4 + 1] = oldPalette[colorNr * 4 + 1];
- workPalette[colorNr * 4 + 2] = oldPalette[colorNr * 4 + 2];
++ workPalette[colorNr * 3 + 0] = oldPalette[colorNr * 3];
++ workPalette[colorNr * 3 + 1] = oldPalette[colorNr * 3 + 1];
++ workPalette[colorNr * 3 + 2] = oldPalette[colorNr * 3 + 2];
+ } else {
- 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);
}
}
More information about the Scummvm-git-logs
mailing list