summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoralberth <alberth@openttd.org>2011-03-06 15:51:44 +0000
committeralberth <alberth@openttd.org>2011-03-06 15:51:44 +0000
commit9fe65f93fea28f573160b85cbcf9505c0d9b2e3b (patch)
treeea3b13219379a1db9c9126edc528a41f6b819207
parent02bf850d95c5755677c5839ace3500859a73b7be (diff)
downloadopenttd-9fe65f93fea28f573160b85cbcf9505c0d9b2e3b.tar.xz
(svn r22210) -Add: Add a variable for the value strings in the settings tables.
-rw-r--r--src/settings_gui.cpp6
-rw-r--r--src/settings_internal.h1
-rw-r--r--src/table/company_settings.ini5
-rw-r--r--src/table/currency_settings.ini7
-rw-r--r--src/table/gameopt_settings.ini9
-rw-r--r--src/table/misc_settings.ini11
-rw-r--r--src/table/settings.h.preamble92
-rw-r--r--src/table/settings.ini80
-rw-r--r--src/table/win32_settings.ini5
9 files changed, 127 insertions, 89 deletions
diff --git a/src/settings_gui.cpp b/src/settings_gui.cpp
index f25d1b843..751075a20 100644
--- a/src/settings_gui.cpp
+++ b/src/settings_gui.cpp
@@ -615,7 +615,7 @@ public:
uint i;
const SettingDesc *sd = GetSettingFromName("difficulty.max_no_competitors", &i) + widget;
int32 value = (int32)ReadValue(GetVariableAddress(&this->opt_mod_temp, &sd->save), sd->save.conv);
- SetDParam(0, sd->desc.str + value);
+ SetDParam(0, sd->desc.val_str + value);
}
virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize)
@@ -633,7 +633,7 @@ public:
/* Get the string and try all strings from the smallest to the highest value */
StringID str = this->GetWidget<NWidgetCore>(widget)->widget_data;
for (int32 value = sdb->min; (uint32)value <= sdb->max; value += sdb->interval) {
- SetDParam(0, sdb->str + value);
+ SetDParam(0, sdb->val_str + value);
*size = maxdim(*size, GetStringBoundingBox(str));
}
}
@@ -1171,7 +1171,7 @@ void SettingEntry::DrawSetting(GameSettings *settings_ptr, const SettingDesc *sd
if (sdb->flags & SGF_CURRENCY) {
SetDParam(0, STR_JUST_CURRENCY);
} else if (sdb->flags & SGF_MULTISTRING) {
- SetDParam(0, sdb->str - sdb->min + value + 1);
+ SetDParam(0, sdb->val_str - sdb->min + value);
} else {
SetDParam(0, (sdb->flags & SGF_NOCOMMA) ? STR_JUST_INT : STR_JUST_COMMA);
}
diff --git a/src/settings_internal.h b/src/settings_internal.h
index 7dca0332f..f4444a9b4 100644
--- a/src/settings_internal.h
+++ b/src/settings_internal.h
@@ -69,6 +69,7 @@ struct SettingDescBase {
int32 interval; ///< the interval to use between settings in the 'settings' window. If interval is '0' the interval is dynamically determined
const char *many; ///< ONE/MANY_OF_MANY: string of possible values for this type
StringID str; ///< (translated) string with descriptive text; gui and console
+ StringID val_str; ///< (translated) first string describing the value.
OnChange *proc; ///< callback procedure for when the value is changed
OnConvert *proc_cnvt; ///< callback procedure when loading value mechanism fails
};
diff --git a/src/table/company_settings.ini b/src/table/company_settings.ini
index 887995e70..f01a0b18e 100644
--- a/src/table/company_settings.ini
+++ b/src/table/company_settings.ini
@@ -14,8 +14,8 @@ static const SettingDesc _company_settings[] = {
[post-amble]
};
[templates]
-SDT_BOOL = SDT_BOOL($base, $var, $flags, $guiflags, $def, $str, $proc, $from, $to),
-SDT_VAR = SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $proc, $from, $to),
+SDT_BOOL = SDT_BOOL($base, $var, $flags, $guiflags, $def, $str, $strval, $proc, $from, $to),
+SDT_VAR = SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $strval, $proc, $from, $to),
SDT_END = SDT_END()
[defaults]
@@ -23,6 +23,7 @@ flags = 0
guiflags = SGF_PER_COMPANY
interval = 0
str = STR_NULL
+strval = STR_NULL
proc = NULL
load = NULL
from = 0
diff --git a/src/table/currency_settings.ini b/src/table/currency_settings.ini
index acf7f90b3..d1caa3d6e 100644
--- a/src/table/currency_settings.ini
+++ b/src/table/currency_settings.ini
@@ -11,9 +11,9 @@ static const SettingDesc _currency_settings[] = {
[post-amble]
};
[templates]
-SDT_VAR = SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $proc, $from, $to),
-SDT_CHR = SDT_CHR($base, $var, $flags, $guiflags, $def, $str, $proc, $from, $to),
-SDT_STR = SDT_STR($base, $var, $type, $flags, $guiflags, $def, $str, $proc, $from, $to),
+SDT_VAR = SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $strval, $proc, $from, $to),
+SDT_CHR = SDT_CHR($base, $var, $flags, $guiflags, $def, $str, $strval, $proc, $from, $to),
+SDT_STR = SDT_STR($base, $var, $type, $flags, $guiflags, $def, $str, $strval, $proc, $from, $to),
SDT_END = SDT_END()
[defaults]
@@ -21,6 +21,7 @@ flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = 0
interval = 0
str = STR_NULL
+strval = STR_NULL
proc = NULL
load = NULL
from = 0
diff --git a/src/table/gameopt_settings.ini b/src/table/gameopt_settings.ini
index dbf12b040..662b2a9da 100644
--- a/src/table/gameopt_settings.ini
+++ b/src/table/gameopt_settings.ini
@@ -36,11 +36,11 @@ static const SettingDesc _gameopt_settings[] = {
[post-amble]
};
[templates]
-SDTG_GENERAL = SDTG_GENERAL($name, $sdt_cmd, $sle_cmd, $type, $flags, $guiflags, $var, $length, $def, $min, $max, $interval, $full, $str, $proc, $from, $to),
+SDTG_GENERAL = SDTG_GENERAL($name, $sdt_cmd, $sle_cmd, $type, $flags, $guiflags, $var, $length, $def, $min, $max, $interval, $full, $str, $strval, $proc, $from, $to),
SDT_NULL = SDT_NULL($length, $from, $to),
-SDTC_OMANY = SDTC_OMANY( $var, $type, $flags, $guiflags, $def, $max, $full, $str, $proc, $from, $to),
-SDT_OMANY = SDT_OMANY($base, $var, $type, $flags, $guiflags, $def, $max, $full, $str, $proc, $from, $to, $load),
-SDT_VAR = SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $proc, $from, $to),
+SDTC_OMANY = SDTC_OMANY( $var, $type, $flags, $guiflags, $def, $max, $full, $str, $strval, $proc, $from, $to),
+SDT_OMANY = SDT_OMANY($base, $var, $type, $flags, $guiflags, $def, $max, $full, $str, $strval, $proc, $from, $to, $load),
+SDT_VAR = SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $strval, $proc, $from, $to),
SDT_END = SDT_END()
[defaults]
@@ -48,6 +48,7 @@ flags = 0
guiflags = 0
interval = 0
str = STR_NULL
+strval = STR_NULL
proc = NULL
load = NULL
from = 0
diff --git a/src/table/misc_settings.ini b/src/table/misc_settings.ini
index 93a90877b..7dd85b7a5 100644
--- a/src/table/misc_settings.ini
+++ b/src/table/misc_settings.ini
@@ -13,11 +13,11 @@ static const SettingDescGlobVarList _misc_settings[] = {
[post-amble]
};
[templates]
-SDTG_LIST = SDTG_LIST($name, $type, $length, $flags, $guiflags, $var, $def, $str, $proc, $from, $to),
-SDTG_MMANY = SDTG_MMANY($name, $type, $flags, $guiflags, $var, $def, $full, $str, $proc, $from, $to),
-SDTG_STR = SDTG_STR($name, $type, $flags, $guiflags, $var, $def, $str, $proc, $from, $to),
-SDTG_BOOL = SDTG_BOOL($name, $flags, $guiflags, $var, $def, $str, $proc, $from, $to),
-SDTG_VAR = SDTG_VAR($name, $type, $flags, $guiflags, $var, $def, $min, $max, $interval, $str, $proc, $from, $to),
+SDTG_LIST = SDTG_LIST($name, $type, $length, $flags, $guiflags, $var, $def, $str, $strval, $proc, $from, $to),
+SDTG_MMANY = SDTG_MMANY($name, $type, $flags, $guiflags, $var, $def, $full, $str, $strval, $proc, $from, $to),
+SDTG_STR = SDTG_STR($name, $type, $flags, $guiflags, $var, $def, $str, $strval, $proc, $from, $to),
+SDTG_BOOL = SDTG_BOOL($name, $flags, $guiflags, $var, $def, $str, $strval, $proc, $from, $to),
+SDTG_VAR = SDTG_VAR($name, $type, $flags, $guiflags, $var, $def, $min, $max, $interval, $str, $strval, $proc, $from, $to),
SDTG_END = SDTG_END()
[defaults]
@@ -25,6 +25,7 @@ flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = 0
interval = 0
str = STR_NULL
+strval = STR_NULL
proc = NULL
load = NULL
from = 0
diff --git a/src/table/settings.h.preamble b/src/table/settings.h.preamble
index de1783bbe..ba1593e15 100644
--- a/src/table/settings.h.preamble
+++ b/src/table/settings.h.preamble
@@ -46,81 +46,81 @@ static int32 ConvertLandscape(const char *value);
* on the appropriate macro.
*/
-#define NSD_GENERAL(name, def, cmd, guiflags, min, max, interval, many, str, proc, load)\
- {name, (const void*)(size_t)(def), {(byte)cmd}, {(uint16)guiflags}, min, max, interval, many, str, proc, load}
+#define NSD_GENERAL(name, def, cmd, guiflags, min, max, interval, many, str, strval, proc, load)\
+ {name, (const void*)(size_t)(def), {(byte)cmd}, {(uint16)guiflags}, min, max, interval, many, str, strval, proc, load}
/* Macros for various objects to go in the configuration file.
* This section is for global variables */
-#define SDTG_GENERAL(name, sdt_cmd, sle_cmd, type, flags, guiflags, var, length, def, min, max, interval, full, str, proc, from, to)\
- {NSD_GENERAL(name, def, sdt_cmd, guiflags, min, max, interval, full, str, proc, NULL), SLEG_GENERAL(sle_cmd, var, type | flags, length, from, to)}
+#define SDTG_GENERAL(name, sdt_cmd, sle_cmd, type, flags, guiflags, var, length, def, min, max, interval, full, str, strval, proc, from, to)\
+ {NSD_GENERAL(name, def, sdt_cmd, guiflags, min, max, interval, full, str, strval, proc, NULL), SLEG_GENERAL(sle_cmd, var, type | flags, length, from, to)}
-#define SDTG_VAR(name, type, flags, guiflags, var, def, min, max, interval, str, proc, from, to)\
- SDTG_GENERAL(name, SDT_NUMX, SL_VAR, type, flags, guiflags, var, 0, def, min, max, interval, NULL, str, proc, from, to)
+#define SDTG_VAR(name, type, flags, guiflags, var, def, min, max, interval, str, strval, proc, from, to)\
+ SDTG_GENERAL(name, SDT_NUMX, SL_VAR, type, flags, guiflags, var, 0, def, min, max, interval, NULL, str, strval, proc, from, to)
-#define SDTG_BOOL(name, flags, guiflags, var, def, str, proc, from, to)\
- SDTG_GENERAL(name, SDT_BOOLX, SL_VAR, SLE_BOOL, flags, guiflags, var, 0, def, 0, 1, 0, NULL, str, proc, from, to)
+#define SDTG_BOOL(name, flags, guiflags, var, def, str, strval, proc, from, to)\
+ SDTG_GENERAL(name, SDT_BOOLX, SL_VAR, SLE_BOOL, flags, guiflags, var, 0, def, 0, 1, 0, NULL, str, strval, proc, from, to)
-#define SDTG_LIST(name, type, length, flags, guiflags, var, def, str, proc, from, to)\
- SDTG_GENERAL(name, SDT_INTLIST, SL_ARR, type, flags, guiflags, var, length, def, 0, 0, 0, NULL, str, proc, from, to)
+#define SDTG_LIST(name, type, length, flags, guiflags, var, def, str, strval, proc, from, to)\
+ SDTG_GENERAL(name, SDT_INTLIST, SL_ARR, type, flags, guiflags, var, length, def, 0, 0, 0, NULL, str, strval, proc, from, to)
-#define SDTG_STR(name, type, flags, guiflags, var, def, str, proc, from, to)\
- SDTG_GENERAL(name, SDT_STRING, SL_STR, type, flags, guiflags, var, lengthof(var), def, 0, 0, 0, NULL, str, proc, from, to)
+#define SDTG_STR(name, type, flags, guiflags, var, def, str, strval, proc, from, to)\
+ SDTG_GENERAL(name, SDT_STRING, SL_STR, type, flags, guiflags, var, lengthof(var), def, 0, 0, 0, NULL, str, strval, proc, from, to)
-#define SDTG_OMANY(name, type, flags, guiflags, var, def, max, full, str, proc, from, to)\
- SDTG_GENERAL(name, SDT_ONEOFMANY, SL_VAR, type, flags, guiflags, var, 0, def, 0, max, 0, full, str, proc, from, to)
+#define SDTG_OMANY(name, type, flags, guiflags, var, def, max, full, str, strval, proc, from, to)\
+ SDTG_GENERAL(name, SDT_ONEOFMANY, SL_VAR, type, flags, guiflags, var, 0, def, 0, max, 0, full, str, strval, proc, from, to)
-#define SDTG_MMANY(name, type, flags, guiflags, var, def, full, str, proc, from, to)\
- SDTG_GENERAL(name, SDT_MANYOFMANY, SL_VAR, type, flags, guiflags, var, 0, def, 0, 0, 0, full, str, proc, from, to)
+#define SDTG_MMANY(name, type, flags, guiflags, var, def, full, str, strval, proc, from, to)\
+ SDTG_GENERAL(name, SDT_MANYOFMANY, SL_VAR, type, flags, guiflags, var, 0, def, 0, 0, 0, full, str, strval, proc, from, to)
#define SDTG_NULL(length, from, to)\
- {{"", NULL, {0}, {0}, 0, 0, 0, NULL, STR_NULL, NULL, NULL}, SLEG_NULL(length, from, to)}
+ {{"", NULL, {0}, {0}, 0, 0, 0, NULL, STR_NULL, STR_NULL, NULL, NULL}, SLEG_NULL(length, from, to)}
-#define SDTG_END() {{NULL, NULL, {0}, {0}, 0, 0, 0, NULL, STR_NULL, NULL, NULL}, SLEG_END()}
+#define SDTG_END() {{NULL, NULL, {0}, {0}, 0, 0, 0, NULL, STR_NULL, STR_NULL, NULL, NULL}, SLEG_END()}
/* Macros for various objects to go in the configuration file.
* This section is for structures where their various members are saved */
-#define SDT_GENERAL(name, sdt_cmd, sle_cmd, type, flags, guiflags, base, var, length, def, min, max, interval, full, str, proc, load, from, to)\
- {NSD_GENERAL(name, def, sdt_cmd, guiflags, min, max, interval, full, str, proc, load), SLE_GENERAL(sle_cmd, base, var, type | flags, length, from, to)}
+#define SDT_GENERAL(name, sdt_cmd, sle_cmd, type, flags, guiflags, base, var, length, def, min, max, interval, full, str, strval, proc, load, from, to)\
+ {NSD_GENERAL(name, def, sdt_cmd, guiflags, min, max, interval, full, str, strval, proc, load), SLE_GENERAL(sle_cmd, base, var, type | flags, length, from, to)}
-#define SDT_VAR(base, var, type, flags, guiflags, def, min, max, interval, str, proc, from, to)\
- SDT_GENERAL(#var, SDT_NUMX, SL_VAR, type, flags, guiflags, base, var, 1, def, min, max, interval, NULL, str, proc, NULL, from, to)
+#define SDT_VAR(base, var, type, flags, guiflags, def, min, max, interval, str, strval, proc, from, to)\
+ SDT_GENERAL(#var, SDT_NUMX, SL_VAR, type, flags, guiflags, base, var, 1, def, min, max, interval, NULL, str, strval, proc, NULL, from, to)
-#define SDT_BOOL(base, var, flags, guiflags, def, str, proc, from, to)\
- SDT_GENERAL(#var, SDT_BOOLX, SL_VAR, SLE_BOOL, flags, guiflags, base, var, 1, def, 0, 1, 0, NULL, str, proc, NULL, from, to)
+#define SDT_BOOL(base, var, flags, guiflags, def, str, strval, proc, from, to)\
+ SDT_GENERAL(#var, SDT_BOOLX, SL_VAR, SLE_BOOL, flags, guiflags, base, var, 1, def, 0, 1, 0, NULL, str, strval, proc, NULL, from, to)
-#define SDT_LIST(base, var, type, flags, guiflags, def, str, proc, from, to)\
- SDT_GENERAL(#var, SDT_INTLIST, SL_ARR, type, flags, guiflags, base, var, lengthof(((base*)8)->var), def, 0, 0, 0, NULL, str, proc, NULL, from, to)
+#define SDT_LIST(base, var, type, flags, guiflags, def, str, strval, proc, from, to)\
+ SDT_GENERAL(#var, SDT_INTLIST, SL_ARR, type, flags, guiflags, base, var, lengthof(((base*)8)->var), def, 0, 0, 0, NULL, str, strval, proc, NULL, from, to)
-#define SDT_STR(base, var, type, flags, guiflags, def, str, proc, from, to)\
- SDT_GENERAL(#var, SDT_STRING, SL_STR, type, flags, guiflags, base, var, lengthof(((base*)8)->var), def, 0, 0, 0, NULL, str, proc, NULL, from, to)
+#define SDT_STR(base, var, type, flags, guiflags, def, str, strval, proc, from, to)\
+ SDT_GENERAL(#var, SDT_STRING, SL_STR, type, flags, guiflags, base, var, lengthof(((base*)8)->var), def, 0, 0, 0, NULL, str, strval, proc, NULL, from, to)
-#define SDT_CHR(base, var, flags, guiflags, def, str, proc, from, to)\
- SDT_GENERAL(#var, SDT_STRING, SL_VAR, SLE_CHAR, flags, guiflags, base, var, 1, def, 0, 0, 0, NULL, str, proc, NULL, from, to)
+#define SDT_CHR(base, var, flags, guiflags, def, str, strval, proc, from, to)\
+ SDT_GENERAL(#var, SDT_STRING, SL_VAR, SLE_CHAR, flags, guiflags, base, var, 1, def, 0, 0, 0, NULL, str, strval, proc, NULL, from, to)
-#define SDT_OMANY(base, var, type, flags, guiflags, def, max, full, str, proc, from, to, load)\
- SDT_GENERAL(#var, SDT_ONEOFMANY, SL_VAR, type, flags, guiflags, base, var, 1, def, 0, max, 0, full, str, proc, load, from, to)
+#define SDT_OMANY(base, var, type, flags, guiflags, def, max, full, str, strval, proc, from, to, load)\
+ SDT_GENERAL(#var, SDT_ONEOFMANY, SL_VAR, type, flags, guiflags, base, var, 1, def, 0, max, 0, full, str, strval, proc, load, from, to)
-#define SDT_MMANY(base, var, type, flags, guiflags, def, full, str, proc, from, to)\
- SDT_GENERAL(#var, SDT_MANYOFMANY, SL_VAR, type, flags, guiflags, base, var, 1, def, 0, 0, 0, full, str, proc, NULL, from, to)
+#define SDT_MMANY(base, var, type, flags, guiflags, def, full, str, proc, strval, from, to)\
+ SDT_GENERAL(#var, SDT_MANYOFMANY, SL_VAR, type, flags, guiflags, base, var, 1, def, 0, 0, 0, full, str, strval, proc, NULL, from, to)
#define SDT_NULL(length, from, to)\
- {{"", NULL, {0}, {0}, 0, 0, 0, NULL, STR_NULL, NULL, NULL}, SLE_CONDNULL(length, from, to)}
+ {{"", NULL, {0}, {0}, 0, 0, 0, NULL, STR_NULL, STR_NULL, NULL, NULL}, SLE_CONDNULL(length, from, to)}
-#define SDTC_VAR(var, type, flags, guiflags, def, min, max, interval, str, proc, from, to)\
- SDTG_GENERAL(#var, SDT_NUMX, SL_VAR, type, flags, guiflags, _settings_client.var, 1, def, min, max, interval, NULL, str, proc, from, to)
+#define SDTC_VAR(var, type, flags, guiflags, def, min, max, interval, str, strval, proc, from, to)\
+ SDTG_GENERAL(#var, SDT_NUMX, SL_VAR, type, flags, guiflags, _settings_client.var, 1, def, min, max, interval, NULL, str, strval, proc, from, to)
-#define SDTC_BOOL(var, flags, guiflags, def, str, proc, from, to)\
- SDTG_GENERAL(#var, SDT_BOOLX, SL_VAR, SLE_BOOL, flags, guiflags, _settings_client.var, 1, def, 0, 1, 0, NULL, str, proc, from, to)
+#define SDTC_BOOL(var, flags, guiflags, def, str, strval, proc, from, to)\
+ SDTG_GENERAL(#var, SDT_BOOLX, SL_VAR, SLE_BOOL, flags, guiflags, _settings_client.var, 1, def, 0, 1, 0, NULL, str, strval, proc, from, to)
-#define SDTC_LIST(var, type, flags, guiflags, def, str, proc, from, to)\
- SDTG_GENERAL(#var, SDT_INTLIST, SL_ARR, type, flags, guiflags, _settings_client.var, lengthof(_settings_client.var), def, 0, 0, 0, NULL, str, proc, from, to)
+#define SDTC_LIST(var, type, flags, guiflags, def, str, strval, proc, from, to)\
+ SDTG_GENERAL(#var, SDT_INTLIST, SL_ARR, type, flags, guiflags, _settings_client.var, lengthof(_settings_client.var), def, 0, 0, 0, NULL, str, strval, proc, from, to)
-#define SDTC_STR(var, type, flags, guiflags, def, str, proc, from, to)\
- SDTG_GENERAL(#var, SDT_STRING, SL_STR, type, flags, guiflags, _settings_client.var, lengthof(_settings_client.var), def, 0, 0, 0, NULL, str, proc, from, to)
+#define SDTC_STR(var, type, flags, guiflags, def, str, strval, proc, from, to)\
+ SDTG_GENERAL(#var, SDT_STRING, SL_STR, type, flags, guiflags, _settings_client.var, lengthof(_settings_client.var), def, 0, 0, 0, NULL, str, strval, proc, from, to)
-#define SDTC_OMANY(var, type, flags, guiflags, def, max, full, str, proc, from, to)\
- SDTG_GENERAL(#var, SDT_ONEOFMANY, SL_VAR, type, flags, guiflags, _settings_client.var, 1, def, 0, max, 0, full, str, proc, from, to)
+#define SDTC_OMANY(var, type, flags, guiflags, def, max, full, str, strval, proc, from, to)\
+ SDTG_GENERAL(#var, SDT_ONEOFMANY, SL_VAR, type, flags, guiflags, _settings_client.var, 1, def, 0, max, 0, full, str, strval, proc, from, to)
-#define SDT_END() {{NULL, NULL, {0}, {0}, 0, 0, 0, NULL, STR_NULL, NULL, NULL}, SLE_END()}
+#define SDT_END() {{NULL, NULL, {0}, {0}, 0, 0, 0, NULL, STR_NULL, STR_NULL, NULL, NULL}, SLE_END()}
diff --git a/src/table/settings.ini b/src/table/settings.ini
index dca140999..057c53fac 100644
--- a/src/table/settings.ini
+++ b/src/table/settings.ini
@@ -60,17 +60,17 @@ const SettingDesc _settings[] = {
[post-amble]
};
[templates]
-SDTG_BOOL = SDTG_BOOL($name, $flags, $guiflags, $var, $def, $str, $proc, $from, $to),
-SDTG_VAR = SDTG_VAR($name, $type, $flags, $guiflags, $var, $def, $min, $max, $interval, $str, $proc, $from, $to),
-SDTC_BOOL = SDTC_BOOL( $var, $flags, $guiflags, $def, $str, $proc, $from, $to),
-SDTC_LIST = SDTC_LIST( $var, $type, $flags, $guiflags, $def, $str, $proc, $from, $to),
-SDTC_OMANY = SDTC_OMANY( $var, $type, $flags, $guiflags, $def, $max, $full, $str, $proc, $from, $to),
-SDTC_STR = SDTC_STR( $var, $type, $flags, $guiflags, $def, $str, $proc, $from, $to),
-SDTC_VAR = SDTC_VAR( $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $proc, $from, $to),
-SDT_BOOL = SDT_BOOL($base, $var, $flags, $guiflags, $def, $str, $proc, $from, $to),
-SDT_OMANY = SDT_OMANY($base, $var, $type, $flags, $guiflags, $def, $max, $full, $str, $proc, $from, $to, $load),
-SDT_STR = SDT_STR($base, $var, $type, $flags, $guiflags, $def, $str, $proc, $from, $to),
-SDT_VAR = SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $proc, $from, $to),
+SDTG_BOOL = SDTG_BOOL($name, $flags, $guiflags, $var, $def, $str, $strval, $proc, $from, $to),
+SDTG_VAR = SDTG_VAR($name, $type, $flags, $guiflags, $var, $def, $min, $max, $interval, $str, $strval, $proc, $from, $to),
+SDTC_BOOL = SDTC_BOOL( $var, $flags, $guiflags, $def, $str, $strval, $proc, $from, $to),
+SDTC_LIST = SDTC_LIST( $var, $type, $flags, $guiflags, $def, $str, $strval, $proc, $from, $to),
+SDTC_OMANY = SDTC_OMANY( $var, $type, $flags, $guiflags, $def, $max, $full, $str, $strval, $proc, $from, $to),
+SDTC_STR = SDTC_STR( $var, $type, $flags, $guiflags, $def, $str, $strval, $proc, $from, $to),
+SDTC_VAR = SDTC_VAR( $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $strval, $proc, $from, $to),
+SDT_BOOL = SDT_BOOL($base, $var, $flags, $guiflags, $def, $str, $strval, $proc, $from, $to),
+SDT_OMANY = SDT_OMANY($base, $var, $type, $flags, $guiflags, $def, $max, $full, $str, $strval, $proc, $from, $to, $load),
+SDT_STR = SDT_STR($base, $var, $type, $flags, $guiflags, $def, $str, $strval, $proc, $from, $to),
+SDT_VAR = SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $strval, $proc, $from, $to),
SDT_NULL = SDT_NULL($length, $from, $to),
SDT_END = SDT_END()
@@ -79,6 +79,7 @@ flags = 0
guiflags = 0
interval = 0
str = STR_NULL
+strval = STR_NULL
proc = NULL
load = NULL
from = 0
@@ -114,7 +115,7 @@ def = 2
min = 0
max = 4
interval = 1
-str = STR_NUM_VERY_LOW
+strval = STR_NUM_VERY_LOW
proc = DifficultyChange
[SDT_VAR]
@@ -127,7 +128,7 @@ def = ID_END - 1
min = 0
max = ID_END - 1
interval = 1
-str = STR_FUNDING_ONLY
+strval = STR_FUNDING_ONLY
proc = DifficultyChange
[SDT_VAR]
@@ -164,7 +165,7 @@ def = 0
min = 0
max = 2
interval = 1
-str = STR_SEA_LEVEL_LOW
+strval = STR_SEA_LEVEL_LOW
proc = DifficultyChange
[SDT_VAR]
@@ -176,7 +177,7 @@ def = 2
min = 0
max = 4
interval = 1
-str = STR_AI_SPEED_VERY_SLOW
+strval = STR_AI_SPEED_VERY_SLOW
proc = DifficultyChange
[SDT_NULL]
@@ -193,7 +194,7 @@ def = 1
min = 0
max = 2
interval = 1
-str = STR_DISASTER_NONE
+strval = STR_DISASTER_NONE
proc = DifficultyChange
[SDT_VAR]
@@ -205,7 +206,7 @@ def = 2
min = 0
max = 3
interval = 1
-str = STR_SUBSIDY_X1_5
+strval = STR_SUBSIDY_X1_5
proc = DifficultyChange
[SDT_VAR]
@@ -218,7 +219,7 @@ def = 0
min = 0
max = 2
interval = 1
-str = STR_SEA_LEVEL_LOW
+strval = STR_SEA_LEVEL_LOW
proc = DifficultyChange
[SDT_VAR]
@@ -231,7 +232,7 @@ def = 1
min = 0
max = 3
interval = 1
-str = STR_TERRAIN_TYPE_VERY_FLAT
+strval = STR_TERRAIN_TYPE_VERY_FLAT
proc = DifficultyChange
[SDT_VAR]
@@ -244,7 +245,7 @@ def = 0
min = 0
max = 4
interval = 1
-str = STR_SEA_LEVEL_VERY_LOW
+strval = STR_SEA_LEVEL_VERY_LOW
proc = DifficultyChange
[SDT_VAR]
@@ -256,7 +257,7 @@ def = 0
min = 0
max = 1
interval = 1
-str = STR_ECONOMY_STEADY
+strval = STR_ECONOMY_STEADY
proc = DifficultyChange
[SDT_VAR]
@@ -268,7 +269,7 @@ def = 0
min = 0
max = 1
interval = 1
-str = STR_REVERSE_AT_END_OF_LINE_AND_AT_STATIONS
+strval = STR_REVERSE_AT_END_OF_LINE_AND_AT_STATIONS
proc = DifficultyChange
[SDT_VAR]
@@ -280,7 +281,7 @@ def = 0
min = 0
max = 1
interval = 1
-str = STR_DISASTERS_OFF
+strval = STR_DISASTERS_OFF
proc = DifficultyChange
[SDT_VAR]
@@ -292,7 +293,7 @@ def = 0
min = 0
max = 2
interval = 1
-str = STR_CITY_APPROVAL_PERMISSIVE
+strval = STR_CITY_APPROVAL_PERMISSIVE
proc = DifficultyNoiseChange
[SDT_VAR]
@@ -369,6 +370,7 @@ min = 0
max = 3
interval = 1
str = STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL
+str = STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS
[SDT_VAR]
base = GameSettings
@@ -479,6 +481,7 @@ min = TL_BEGIN
max = NUM_TLS - 1
interval = 1
str = STR_CONFIG_SETTING_TOWN_LAYOUT
+strval = STR_CONFIG_SETTING_TOWN_LAYOUT_DEFAULT
proc = TownFoundingChanged
[SDT_BOOL]
@@ -500,6 +503,7 @@ min = TF_BEGIN
max = TF_END - 1
interval = 1
str = STR_CONFIG_SETTING_TOWN_FOUNDING
+strval = STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN
proc = TownFoundingChanged
[SDT_BOOL]
@@ -522,6 +526,7 @@ min = 0
max = 1
interval = 1
str = STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL
+strval = STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_ORIGINAL
proc = TrainAccelerationModelChanged
[SDT_VAR]
@@ -535,6 +540,7 @@ min = 0
max = 1
interval = 1
str = STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL
+strval = STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL_ORIGINAL
proc = RoadVehAccelerationModelChanged
[SDT_VAR]
@@ -593,6 +599,7 @@ def = 1
min = 0
max = 2
str = STR_CONFIG_SETTING_SMOKE_AMOUNT
+strval = STR_CONFIG_SETTING_SMOKE_AMOUNT_NONE
; order.gotodepot
[SDT_NULL]
@@ -646,6 +653,7 @@ min = 1
max = 2
interval = 1
str = STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS
+strval = STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS_NPF
[SDT_VAR]
base = GameSettings
@@ -658,6 +666,7 @@ min = 1
max = 2
interval = 1
str = STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES
+strval = STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES_NPF
[SDT_VAR]
base = GameSettings
@@ -670,6 +679,7 @@ min = 0
max = 2
interval = 1
str = STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS
+strval = STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_OPF
[SDT_BOOL]
base = GameSettings
@@ -838,6 +848,7 @@ min = 0
max = 2
interval = 1
str = STR_CONFIG_SETTING_PLANE_CRASHES
+strval = STR_CONFIG_SETTING_PLANE_CRASHES_NONE
; station.join_stations
[SDT_NULL]
@@ -959,6 +970,7 @@ def = 0
min = 0
max = 2
str = STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD
+strval = STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NONE
proc = InvalidateBuildIndustryWindow
[SDT_VAR]
@@ -1072,6 +1084,7 @@ def = 2
min = 0
max = 4
str = STR_CONFIG_SETTING_TOWN_GROWTH
+strval = STR_CONFIG_SETTING_TOWN_GROWTH_NONE
[SDT_VAR]
base = GameSettings
@@ -1704,6 +1717,7 @@ def = 1
min = 0
max = 1
str = STR_CONFIG_SETTING_LAND_GENERATOR
+strval = STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL
[SDT_VAR]
base = GameSettings
@@ -1725,6 +1739,7 @@ def = 1
min = 0
max = 3
str = STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN
+strval = STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH
[SDT_VAR]
base = GameSettings
@@ -1754,6 +1769,7 @@ def = 2
min = 0
max = 2
str = STR_CONFIG_SETTING_TREE_PLACER
+strval = STR_CONFIG_SETTING_TREE_PLACER_NONE
[SDT_VAR]
base = GameSettings
@@ -1765,6 +1781,7 @@ def = 0
min = 0
max = 1
str = STR_CONFIG_SETTING_HEIGHTMAP_ROTATION
+strval = STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE
[SDT_VAR]
base = GameSettings
@@ -1831,6 +1848,7 @@ def = 2
min = 0
max = 2
str = STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT
+strval = STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_NONE
[SDT_VAR]
base = GameSettings
@@ -1918,6 +1936,7 @@ def = 0
max = 2
full = _savegame_date
str = STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES
+strval = STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG
[SDTC_BOOL]
var = gui.show_finances
@@ -1983,6 +2002,7 @@ def = 1
min = 0
max = 2
str = STR_CONFIG_SETTING_TOOLBAR_POS
+strval = STR_CONFIG_SETTING_TOOLBAR_POS_LEFT
proc = v_PositionMainToolbar
[SDTC_VAR]
@@ -1994,6 +2014,7 @@ def = 1
min = 0
max = 2
str = STR_CONFIG_SETTING_STATUSBAR_POS
+strval = STR_CONFIG_SETTING_STATUSBAR_POS_LEFT
proc = v_PositionStatusbar
[SDTC_VAR]
@@ -2039,6 +2060,7 @@ def = 0
min = 0
max = 2
str = STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR
+strval = STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_GREEN
proc = RedrawSmallmap
[SDTC_VAR]
@@ -2050,6 +2072,7 @@ def = 2
min = 0
max = 2
str = STR_CONFIG_SETTING_LIVERIES
+strval = STR_CONFIG_SETTING_LIVERIES_NONE
proc = InvalidateCompanyLiveryWindow
[SDTC_BOOL]
@@ -2067,6 +2090,7 @@ def = 0
min = 0
max = 2
str = STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING
+strval = STR_CONFIG_SETTING_SCROLLWHEEL_ZOOM
[SDTC_VAR]
var = gui.scrollwheel_multiplier
@@ -2093,6 +2117,7 @@ def = 1
min = 0
max = 2
str = STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS
+strval = STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_OFF
[SDTC_BOOL]
var = gui.timetable_in_ticks
@@ -2123,6 +2148,7 @@ def = 1
min = 0
max = 2
str = STR_CONFIG_SETTING_LOADING_INDICATORS
+strval = STR_CONFIG_SETTING_LOADING_INDICATORS_OFF
proc = RedrawScreen
[SDTC_VAR]
@@ -2134,6 +2160,7 @@ def = 0
min = 0
max = 2
str = STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE
+strval = STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST
[SDTC_BOOL]
var = gui.enable_signal_gui
@@ -2190,6 +2217,7 @@ def = 2
min = 0
max = 2
str = STR_CONFIG_SETTING_ORDER_REVIEW
+strval = STR_CONFIG_SETTING_ORDER_REVIEW_OFF
[SDTC_BOOL]
var = gui.lost_vehicle_warn
@@ -2220,6 +2248,7 @@ min = 0
max = 2
interval = 1
str = STR_CONFIG_SETTING_STOP_LOCATION
+strval = STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END
[SDTC_BOOL]
var = gui.keep_all_autosave
@@ -2269,6 +2298,7 @@ min = 0
max = 2
interval = 1
str = STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE
+strval = STR_CONFIG_SETTING_DEFAULT_SIGNAL_NORMAL
[SDTC_VAR]
var = gui.cycle_signal_types
@@ -2280,6 +2310,7 @@ min = 0
max = 2
interval = 1
str = STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES
+strval = STR_CONFIG_SETTING_CYCLE_SIGNAL_NORMAL
[SDTC_VAR]
var = gui.station_numtracks
@@ -2787,6 +2818,7 @@ def = 0
min = 0
max = 2
str = STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU
+strval = STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_COMMAND
[SDT_END]
diff --git a/src/table/win32_settings.ini b/src/table/win32_settings.ini
index c58de50dd..44d6e2c21 100644
--- a/src/table/win32_settings.ini
+++ b/src/table/win32_settings.ini
@@ -17,8 +17,8 @@ static const SettingDescGlobVarList _win32_settings[] = {
};
#endif /* WIN32 */
[templates]
-SDTG_BOOL = SDTG_BOOL($name, $flags, $guiflags, $var, $def, $str, $proc, $from, $to),
-SDTG_VAR = SDTG_VAR($name, $type, $flags, $guiflags, $var, $def, $min, $max, $interval, $str, $proc, $from, $to),
+SDTG_BOOL = SDTG_BOOL($name, $flags, $guiflags, $var, $def, $str, $strval, $proc, $from, $to),
+SDTG_VAR = SDTG_VAR($name, $type, $flags, $guiflags, $var, $def, $min, $max, $interval, $str, $strval, $proc, $from, $to),
SDTG_END = SDTG_END()
[defaults]
@@ -26,6 +26,7 @@ flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = 0
interval = 0
str = STR_NULL
+strval = STR_NULL
proc = NULL
load = NULL
from = 0