(svn r12443) -Add: OpenTTDs version to openttd.cfg, just so we do not need to keep to ask people for their version number because it's likely they give you the wrong answer anyway.

This commit is contained in:
rubidium
2008-03-27 15:29:42 +00:00
parent 5d06dcb37e
commit 6d9c7ef315
2 changed files with 34 additions and 3 deletions

View File

@@ -1753,6 +1753,36 @@ static void NewsDisplaySaveConfig(IniFile *ini, const char *grpname, uint news_d
}
}
/**
* Save the version of OpenTTD to the ini file.
* @param ini the ini to write to
*/
static void SaveVersionInConfig(IniFile *ini)
{
extern const char _openttd_revision[];
extern uint32 _openttd_newgrf_version;
IniGroup *group = ini_getgroup(ini, "version", -1);
if (group == NULL) return;
group->item = NULL;
IniItem **item = &group->item;
char version[9];
snprintf(version, lengthof(version), "%08X", _openttd_newgrf_version);
const char *versions[][2] = {
{ "version_string", _openttd_revision },
{ "version_number", version }
};
for (uint i = 0; i < lengthof(versions); i++) {
*item = ini_item_alloc(group, versions[i][0], strlen(versions[i][0]));
(*item)->value = (char*)pool_strdup(&ini->pool, versions[i][1], strlen(versions[i][1]));
item = &(*item)->next;
}
}
/* Save a GRF configuration to the given group name */
static void GRFSaveConfig(IniFile *ini, const char *grpname, const GRFConfig *list)
{
@@ -1817,6 +1847,7 @@ void SaveToConfig()
GRFSaveConfig(ini, "newgrf", _grfconfig_newgame);
GRFSaveConfig(ini, "newgrf-static", _grfconfig_static);
NewsDisplaySaveConfig(ini, "news_display", _news_display_opt);
SaveVersionInConfig(ini);
ini_save(_config_file, ini);
ini_free(ini);
}