|
@@ -82,12 +82,22 @@ const char *GRFConfig::GetName() const
|
|
|
*/
|
|
|
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;
|
|
|
GRFConfig *_grfconfig_static;
|
|
|
|
|
|
/**
|
|
@@ -130,14 +140,14 @@ GRFError::~GRFError()
|
|
|
* 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);
|
|
|
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.
|
|
|
* @param config GRF to compute.
|
|
|
* @return MD5 sum was successfully computed
|
|
|
*/
|
|
@@ -188,13 +198,13 @@ bool FillGRFDetails(GRFConfig *config, b
|
|
|
LoadNewGRFFile(config, 62, GLS_SAFETYSCAN);
|
|
|
|
|
|
/* GCF_UNSAFE is set if GLS_SAFETYSCAN finds unsafe actions */
|
|
|
if (HasBit(config->flags, GCF_UNSAFE)) return false;
|
|
|
}
|
|
|
|
|
|
config->windows_paletted = (_use_palette == PAL_WINDOWS);
|
|
|
config->SetSuitablePalette();
|
|
|
|
|
|
return CalcGRFMD5Sum(config);
|
|
|
}
|
|
|
|
|
|
|
|
|
/** Clear a GRF Config list, freeing all nodes.
|