mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-08 23:19:40 +00:00
(svn r20252) -Codechange: deduplicate logic for setting a suitable (initial) palette for NewGRFs
This commit is contained in:
parent
75c4a2d2fb
commit
f7794e313f
@ -85,6 +85,16 @@ const char *GRFConfig::GetDescription() const
|
||||
return GetGRFStringFromGRFText(this->info);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the palette of this GRFConfig to something suitable.
|
||||
* That is either the setting coming from the NewGRF or
|
||||
* the globally used palette.
|
||||
*/
|
||||
void GRFConfig::SetSuitablePalette()
|
||||
{
|
||||
this->windows_paletted = (_use_palette == PAL_WINDOWS);
|
||||
}
|
||||
|
||||
GRFConfig *_all_grfs;
|
||||
GRFConfig *_grfconfig;
|
||||
GRFConfig *_grfconfig_newgame;
|
||||
@ -133,8 +143,8 @@ GRFError::~GRFError()
|
||||
*/
|
||||
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);
|
||||
for (GRFConfig *c = _grfconfig_newgame; c != NULL; c = c->next) c->SetSuitablePalette();
|
||||
for (GRFConfig *c = _grfconfig_static; c != NULL; c = c->next) c->SetSuitablePalette();
|
||||
}
|
||||
|
||||
/** Calculate the MD5 sum for a GRF, and store it in the config.
|
||||
@ -191,7 +201,7 @@ bool FillGRFDetails(GRFConfig *config, bool is_static)
|
||||
if (HasBit(config->flags, GCF_UNSAFE)) return false;
|
||||
}
|
||||
|
||||
config->windows_paletted = (_use_palette == PAL_WINDOWS);
|
||||
config->SetSuitablePalette();
|
||||
|
||||
return CalcGRFMD5Sum(config);
|
||||
}
|
||||
|
@ -108,6 +108,8 @@ struct GRFConfig : ZeroedMemoryAllocator {
|
||||
|
||||
const char *GetName() const;
|
||||
const char *GetDescription() const;
|
||||
|
||||
void SetSuitablePalette();
|
||||
};
|
||||
|
||||
extern GRFConfig *_all_grfs; ///< First item in list of all scanned NewGRFs
|
||||
|
@ -47,7 +47,7 @@ static void Load_NGRF_common(GRFConfig *&grfconfig)
|
||||
while (SlIterateArray() != -1) {
|
||||
GRFConfig *c = new GRFConfig();
|
||||
SlObject(c, _grfconfig_desc);
|
||||
if (CheckSavegameVersion(101)) c->windows_paletted = (_use_palette == PAL_WINDOWS);
|
||||
if (CheckSavegameVersion(101)) c->SetSuitablePalette();
|
||||
AppendToGRFConfigList(&grfconfig, c);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user