diff options
author | rubidium <rubidium@openttd.org> | 2008-09-04 19:43:20 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2008-09-04 19:43:20 +0000 |
commit | d877247d40d974053c74a960c49f8c0cfc212f6b (patch) | |
tree | 0634a70eeab8c24fdfa04cfb376fb20c55a017fe | |
parent | 113fbb8cb3b2aee0e1c3e1f6ec8fbbd900013732 (diff) | |
download | openttd-d877247d40d974053c74a960c49f8c0cfc212f6b.tar.xz |
(svn r14245) -Fix: NewGRF configs loaded from the config file would always default to the DOS palette instead of the "default" palette.
-rw-r--r-- | src/gfxinit.cpp | 4 | ||||
-rw-r--r-- | src/newgrf_config.cpp | 14 |
2 files changed, 18 insertions, 0 deletions
diff --git a/src/gfxinit.cpp b/src/gfxinit.cpp index 66bd2709f..d63aa20b9 100644 --- a/src/gfxinit.cpp +++ b/src/gfxinit.cpp @@ -195,6 +195,8 @@ static bool DetermineGraphicsPack() return _used_graphics_set != NULL; } +extern void UpdateNewGRFConfigPalette(); + /** * Determine the palette that has to be used. * - forced palette via command line -> leave it that way @@ -219,6 +221,8 @@ static void DeterminePalette() default: NOT_REACHED(); } + + UpdateNewGRFConfigPalette(); } /** diff --git a/src/newgrf_config.cpp b/src/newgrf_config.cpp index b1dd4f0a7..235e543f8 100644 --- a/src/newgrf_config.cpp +++ b/src/newgrf_config.cpp @@ -26,6 +26,20 @@ GRFConfig *_grfconfig_newgame; GRFConfig *_grfconfig_static; +/** + * Update the palettes of the graphics from the config file. + * This is needed because the config file gets read and parsed + * before the palette is chosen (one can configure the base + * graphics set governing the palette in the config after all). + * As a result of this we update the settings from the config + * once we have determined the palette. + */ +void UpdateNewGRFConfigPalette() +{ + for (GRFConfig *c = _grfconfig_newgame; c != NULL; c = c->next) c->windows_paletted = (_use_palette == PAL_WINDOWS); + for (GRFConfig *c = _grfconfig_static; c != NULL; c = c->next) c->windows_paletted = (_use_palette == PAL_WINDOWS); +} + /* Calculate the MD5 Sum for a GRF */ static bool CalcGRFMD5Sum(GRFConfig *config) { |