diff options
| author | Willem Jan Palenstijn | 2009-05-24 12:56:06 +0000 | 
|---|---|---|
| committer | Willem Jan Palenstijn | 2009-05-24 12:56:06 +0000 | 
| commit | 725ff24170dd23394b4aa6de075d9ca74a7c9199 (patch) | |
| tree | f63dc7e1f6ab7aa73dc6ea44d2dc28a17dda178c /engines/sci/gfx/operations.cpp | |
| parent | b993eba6a59f4f1edaac5bf75f8338e3ec7cc799 (diff) | |
| download | scummvm-rg350-725ff24170dd23394b4aa6de075d9ca74a7c9199.tar.gz scummvm-rg350-725ff24170dd23394b4aa6de075d9ca74a7c9199.tar.bz2 scummvm-rg350-725ff24170dd23394b4aa6de075d9ca74a7c9199.zip | |
SCI: re-xlate pixmap when palette revision changed
svn-id: r40859
Diffstat (limited to 'engines/sci/gfx/operations.cpp')
| -rw-r--r-- | engines/sci/gfx/operations.cpp | 5 | 
1 files changed, 5 insertions, 0 deletions
| diff --git a/engines/sci/gfx/operations.cpp b/engines/sci/gfx/operations.cpp index 2e778e180f..15ee3d3ec5 100644 --- a/engines/sci/gfx/operations.cpp +++ b/engines/sci/gfx/operations.cpp @@ -196,8 +196,12 @@ static int _gfxop_install_pixmap(gfx_driver_t *driver, gfx_pixmap_t *pxm) {  	if (!driver->mode->palette) return GFX_OK;  	if (!pxm->palette) return GFX_OK; +	pxm->palette->mergeInto(driver->mode->palette);  	assert(pxm->palette->getParent() == driver->mode->palette); +	if (pxm->palette_revision != pxm->palette->getRevision()) +		gfx_xlate_pixmap(pxm, driver->mode, GFX_XLATE_FILTER_NONE); +  	if (!driver->mode->palette->isDirty()) return GFX_OK;  	// TODO: We probably want to only update the colours used by this pixmap @@ -214,6 +218,7 @@ static int _gfxop_install_pixmap(gfx_driver_t *driver, gfx_pixmap_t *pxm) {  	g_system->setPalette(paletteData, 0, paletteSize);  	driver->mode->palette->markClean(); +  	return GFX_OK;  } | 
