1
0
mirror of https://github.com/OpenTTD/OpenTTD synced 2026-01-17 17:32:45 +01:00

(svn r12478) [0.6] -Backport from trunk (12477, 12453, 12448, 12443, 12439, 12417):

- Fix: Timetable times for aircraft were always doubled [FS#1883] (r12477)
- Fix: Remove broken endian-dependent code and unnecessary rgb to bgr swapping [FS#1880] (r12453)
- Change: Unify RPM spec files (r12448)
- Add: OpenTTD's version to the config file to 'ease' getting the correct version on bugreports (r12443)
- Fix: Do not 'disable' the drawing of autorail overlays when the tile is 'error'-marked (red pulsating selection) [FS#1871] (r12439)
- Fix: Plural rule for Icelandic was wrong (r12417)
This commit is contained in:
rubidium
2008-03-28 19:01:57 +00:00
parent 624549464f
commit cbd426059e
12 changed files with 136 additions and 182 deletions

View File

@@ -1750,6 +1750,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)
{
@@ -1814,6 +1844,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);
}