mirror of
https://github.com/libretro/scummvm.git
synced 2024-12-14 13:50:13 +00:00
Added a proper fix for Pepper (the previous one caused regressions in KQ6)
svn-id: r42533
This commit is contained in:
parent
a6c41a375f
commit
645e6baa07
@ -1712,8 +1712,7 @@ static int _gfxop_set_pic(GfxState *state) {
|
||||
// FIXME: The _gfxop_install_pixmap call below updates the OSystem palette.
|
||||
// This is too soon, since it causes brief palette corruption until the
|
||||
// screen is updated too. (Possibly related: EngineState::pic_not_valid .)
|
||||
// SCI1.1 games don't use per-picture palettes
|
||||
if (state->gfxResMan->getVersion() < SCI_VERSION_1_1) {
|
||||
if (state->pic->visual_map->palette && state->driver->getMode()->palette) {
|
||||
state->pic->visual_map->palette->forceInto(state->driver->getMode()->palette);
|
||||
_gfxop_install_pixmap(state->driver, state->pic->visual_map);
|
||||
}
|
||||
|
@ -44,6 +44,11 @@ Palette *gfxr_read_pal11(int id, byte *resource, int size) {
|
||||
int entry_size = (format == SCI_PAL_FORMAT_VARIABLE_FLAGS) ? 4 : 3;
|
||||
byte *pal_data = resource + 37;
|
||||
int _colors_nr = READ_LE_UINT16(resource + 29);
|
||||
|
||||
// Happens at the beginning of Pepper
|
||||
if (_colors_nr > 256)
|
||||
return NULL;
|
||||
|
||||
Palette *retval = new Palette(_colors_nr + start_color);
|
||||
int i;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user