aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/gfx/operations.cpp
diff options
context:
space:
mode:
authorMax Horn2009-05-08 16:00:39 +0000
committerMax Horn2009-05-08 16:00:39 +0000
commite34c6316c67a06d9586e217cdca52d3bc6cc0438 (patch)
treeb50edba644faa997de6e9e53b2ede8f561ddf3da /engines/sci/gfx/operations.cpp
parent418d80c8a84175bdefb5e8310816d489abf0e1c6 (diff)
downloadscummvm-rg350-e34c6316c67a06d9586e217cdca52d3bc6cc0438.tar.gz
scummvm-rg350-e34c6316c67a06d9586e217cdca52d3bc6cc0438.tar.bz2
scummvm-rg350-e34c6316c67a06d9586e217cdca52d3bc6cc0438.zip
SCI: Replaced gfx_driver_t::set_palette and install_palette by directly invoking their OSystem counterparts
svn-id: r40385
Diffstat (limited to 'engines/sci/gfx/operations.cpp')
-rw-r--r--engines/sci/gfx/operations.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/engines/sci/gfx/operations.cpp b/engines/sci/gfx/operations.cpp
index 0559a677b3..1cf1f19590 100644
--- a/engines/sci/gfx/operations.cpp
+++ b/engines/sci/gfx/operations.cpp
@@ -202,12 +202,17 @@ static int _gfxop_install_pixmap(gfx_driver_t *driver, gfx_pixmap_t *pxm) {
// TODO: We probably want to only update the colours used by this pixmap
// here. This will require updating the 'dirty' system.
- for (unsigned int i = 0; i < driver->mode->palette->size(); ++i) {
+ uint8 paletteData[4*256];
+ const uint paletteSize = driver->mode->palette->size();
+ for (uint i = 0; i < paletteSize; ++i) {
const PaletteEntry& c = (*driver->mode->palette)[i];
- driver->set_palette(driver, i, c.r, c.g, c.b);
+ paletteData[4*i+0] = c.r;
+ paletteData[4*i+1] = c.g;
+ paletteData[4*i+2] = c.b;
+ paletteData[4*i+3] = 255;
}
- driver->install_palette(driver, driver->mode->palette);
+ g_system->setPalette(paletteData, 0, paletteSize);
driver->mode->palette->markClean();
return GFX_OK;
}