Changeset - r15582:6daf5f9adce7
[Not reviewed]
master
0 3 0
rubidium - 14 years ago 2010-07-31 09:36:09
rubidium@openttd.org
(svn r20252) -Codechange: deduplicate logic for setting a suitable (initial) palette for NewGRFs
3 files changed with 16 insertions and 4 deletions:
0 comments (0 inline, 0 general)
src/newgrf_config.cpp
Show inline comments
 
@@ -85,6 +85,16 @@ const char *GRFConfig::GetDescription() 
 
	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, b
 
		if (HasBit(config->flags, GCF_UNSAFE)) return false;
 
	}
 

	
 
	config->windows_paletted = (_use_palette == PAL_WINDOWS);
 
	config->SetSuitablePalette();
 

	
 
	return CalcGRFMD5Sum(config);
 
}
src/newgrf_config.h
Show inline comments
 
@@ -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
src/saveload/newgrf_sl.cpp
Show inline comments
 
@@ -47,7 +47,7 @@ static void Load_NGRF_common(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);
 
	}
 
}
0 comments (0 inline, 0 general)