(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.
--- a/src/road_cmd.cpp Thu Mar 27 14:46:27 2008 +0000
+++ b/src/road_cmd.cpp Thu Mar 27 15:29:42 2008 +0000
@@ -235,9 +235,9 @@
* @li on steep slopes
* @li if the bits of the other roadtypes result in another foundation
* @li if build on slopes is disabled */
- if (IsSteepSlope(tileh) || IsStraightRoad(other) &&
- (other & _invalid_tileh_slopes_road[0][tileh & SLOPE_ELEVATED]) != ROAD_NONE ||
- tileh != SLOPE_FLAT && !_patches.build_on_slopes) {
+ if (IsSteepSlope(tileh) || (IsStraightRoad(other) &&
+ (other & _invalid_tileh_slopes_road[0][tileh & SLOPE_ELEVATED]) != ROAD_NONE) ||
+ (tileh != SLOPE_FLAT && !_patches.build_on_slopes)) {
pieces |= MirrorRoadBits(pieces);
}
--- a/src/settings.cpp Thu Mar 27 14:46:27 2008 +0000
+++ b/src/settings.cpp Thu Mar 27 15:29:42 2008 +0000
@@ -1753,6 +1753,36 @@
}
}
+/**
+ * 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 @@
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);
}