diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/sci/gfx/gfx_res_options.cpp | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/engines/sci/gfx/gfx_res_options.cpp b/engines/sci/gfx/gfx_res_options.cpp index 54fbc6b637..10bbac591d 100644 --- a/engines/sci/gfx/gfx_res_options.cpp +++ b/engines/sci/gfx/gfx_res_options.cpp @@ -112,14 +112,6 @@ static gfx_res_conf_t *find_match(gfx_res_conf_t *conflist, int type, int nr, in return NULL; } -void apply_assign(gfx_res_assign_t *conf, gfx_pixmap_t *pxm) { - if (pxm->palette) - pxm->palette->free(); - - pxm->palette = new Palette(conf->assign.palette.colors, conf->assign.palette.colors_nr); - pxm->palette->name = "res"; -} - void apply_mod(gfx_res_mod_t *mod, gfx_pixmap_t *pxm) { Palette *pal = pxm->palette; int i, pal_size = pal ? pal->size() : 0; @@ -177,8 +169,15 @@ int gfx_get_res_config(gfx_options_t *options, gfx_pixmap_t *pxm) { conf = find_match(options->res_conf.assign[restype], restype, nr, loop, cel); - if (conf) - apply_assign(&(conf->conf.assign), pxm); + if (conf) { + // Assign palette + if (pxm->palette) + pxm->palette->free(); + + pxm->palette = new Palette(conf->conf.assign.assign.palette.colors, + conf->conf.assign.assign.palette.colors_nr); + pxm->palette->name = "res"; + } conf = options->res_conf.mod[restype]; while (conf) { |