Fix order modifier settings

This commit is contained in:
dP
2021-09-22 18:28:40 +03:00
parent 09123ac84f
commit 02a1224535
4 changed files with 68 additions and 76 deletions

View File

@@ -1834,20 +1834,6 @@ STR_CONFIG_SETTING_ORDER_SHORTCUTS :{ORANGE}Order's
STR_CONFIG_SETTING_AUTOSET_NOLOAD_ON_TRANSFER :"Transfer" orders are "No Loading" by default: {STRING2}
STR_CONFIG_SETTING_AUTOSET_NOLOAD_ON_UNLOAD :"Unload all" orders are "No Loading" by default: {STRING2}
STR_CONFIG_SETTING_CTRL_GOTOSHORTCUT_CTRLLCLICK :ctrl+left-click: {STRING2}
STR_CONFIG_SETTING_CTRL_GOTOSHORTCUT_CTRLSHIFTLCLICK :ctrl+shift+left-click: {STRING2}
STR_CONFIG_SETTING_CTRL_GOTOSHORTCUT_SHIFTLCLICK :shift+left-click: {STRING2}
STR_CONFIG_SETTING_CTRL_GOTOSHORTCUT_ALTLCLICK :alt+left-click: {STRING2}
STR_CONFIG_SETTING_CTRL_GOTOSHORTCUT_ALTSHIFTCLICK :alt+shift+left-click: {STRING2}
STR_CONFIG_SETTING_CTRL_GOTOSHORTCUT_CTRLALTLCLICK :ctrl+alt+left-click: {STRING2}
STR_CONFIG_SETTING_CTRL_GOTOSHORTOPTS_NONE :do nothing
STR_CONFIG_SETTING_CTRL_GOTOSHORTOPTS_FULL_LOAD_ANY :Full load any cargo
STR_CONFIG_SETTING_CTRL_GOTOSHORTOPTS_TRANSFER_CARGO :Transfer cargo
STR_CONFIG_SETTING_CTRL_GOTOSHORTOPTS_UNLOAD_ALL :Force unload of all cargo
STR_CONFIG_SETTING_CTRL_GOTOSHORTOPTS_FEEDERLOAD :Feeder Load (replace first order)
STR_CONFIG_SETTING_CTRL_GOTOSHORTOPTS_FEEDERDROP :Feeder Unload (replace last order)
STR_CONFIG_SETTING_CTRL_GOTOSHORTOPTS_NO_LOAD :Do not load any cargo
# Config errors
STR_CONFIG_ERROR :{WHITE}Error with the configuration file...
STR_CONFIG_ERROR_ARRAY :{WHITE}... error in array '{RAW_STRING}'
@@ -5665,3 +5651,17 @@ STR_CM_NETWORK_COMPANY_LIST_NEW_COMPANY :New company
STR_CM_NETWORK_COMPANY_LIST_SPECTATE :Spectate
STR_CM_RAIL_TOOLBAR_TOOLTIP_BLUEPRINT : {BLACK}Rail blueprint tool (copy-paste)
STR_CM_CONFIG_SETTING_ORDER_MOD_CTRL :Ctrl+click: {STRING2}
STR_CM_CONFIG_SETTING_ORDER_MOD_SHIFT :Shift+click: {STRING2}
STR_CM_CONFIG_SETTING_ORDER_MOD_CTRL_SHIFT :Ctrl+Shift+lick: {STRING2}
STR_CM_CONFIG_SETTING_ORDER_MOD_ALT :Alt+Click: {STRING2}
STR_CM_CONFIG_SETTING_ORDER_MOD_ALT_SHIFT :Alt+Shift+click: {STRING2}
STR_CM_CONFIG_SETTING_ORDER_MOD_ALT_CTRL :Ctrl+Alt+click: {STRING2}
STR_CM_CONFIG_SETTING_ORDER_MOD_ACTION_NONE :do nothing
STR_CM_CONFIG_SETTING_ORDER_MOD_ACTION_FULL_LOAD_ANY :Full load any cargo
STR_CM_CONFIG_SETTING_ORDER_MOD_ACTION_TRANSFER_CARGO :Transfer cargo
STR_CM_CONFIG_SETTING_ORDER_MOD_ACTION_UNLOAD_ALL :Force unload of all cargo
STR_CM_CONFIG_SETTING_ORDER_MOD_ACTION_FEEDER_LOAD :Feeder Load (replace first order)
STR_CM_CONFIG_SETTING_ORDER_MOD_ACTION_FEEDER_UNLOAD :Feeder Unload (replace last order)
STR_CM_CONFIG_SETTING_ORDER_MOD_ACTION_NO_LOAD :Do not load any cargo

View File

@@ -1834,20 +1834,6 @@ STR_CONFIG_SETTING_CTRL_ENABLE_CTRLCLICK_STARTSTOP :Strg+Linksklick
STR_CONFIG_SETTING_AUTOSET_NOLOAD_ON_TRANSFER :"Umladen"-Aufträge sind standardmäßig "Nicht beladen": {STRING}
STR_CONFIG_SETTING_AUTOSET_NOLOAD_ON_UNLOAD :"Alles entladen"-Aufträge sind standardmäßig "Nicht beladen": {STRING}
STR_CONFIG_SETTING_CTRL_GOTOSHORTCUT_CTRLLCLICK :Strg+Linksklick: {STRING}
STR_CONFIG_SETTING_CTRL_GOTOSHORTCUT_CTRLSHIFTLCLICK :Strg+Umschalt+Linksklick: {STRING}
STR_CONFIG_SETTING_CTRL_GOTOSHORTCUT_SHIFTLCLICK :Umschalt+Linksklick: {STRING}
STR_CONFIG_SETTING_CTRL_GOTOSHORTCUT_ALTLCLICK :Alt+Linksklick: {STRING}
STR_CONFIG_SETTING_CTRL_GOTOSHORTCUT_ALTSHIFTCLICK :Alt+Umschalt+Linksklick: {STRING}
STR_CONFIG_SETTING_CTRL_GOTOSHORTCUT_CTRLALTLCLICK :Strg+Alt+Linksklick: {STRING}
STR_CONFIG_SETTING_CTRL_GOTOSHORTOPTS_NONE :Nichts machen
STR_CONFIG_SETTING_CTRL_GOTOSHORTOPTS_FULL_LOAD_ANY :Mit beliebiger Fracht voll beladen
STR_CONFIG_SETTING_CTRL_GOTOSHORTOPTS_TRANSFER_CARGO :Fracht umladen
STR_CONFIG_SETTING_CTRL_GOTOSHORTOPTS_UNLOAD_ALL :Entladen jeder Fracht erzwingen
STR_CONFIG_SETTING_CTRL_GOTOSHORTOPTS_FEEDERLOAD :Zulieferer-Beladung (ersten Auftrag ersetzen)
STR_CONFIG_SETTING_CTRL_GOTOSHORTOPTS_FEEDERDROP :Zulieferer-Entladung (letzten Auftrag ersetzen)
STR_CONFIG_SETTING_CTRL_GOTOSHORTOPTS_NO_LOAD :Mit keiner Fracht beladen
# Config errors
STR_CONFIG_ERROR :{WHITE}Fehler in der Konfigurations-Datei ...
STR_CONFIG_ERROR_ARRAY :{WHITE}... Fehler im Array „{STRING}“
@@ -5658,3 +5644,18 @@ STR_CM_LOGIN_WINDOW_CHANGE_PASSWORD_HELPTEXT :{BLACK}Passwort ändern
STR_CM_LOGIN_WINDOW_SIGN_IN_HELPTEXT :{BLACK}Login abschicken (sie müssen auf dem richtigen Community-Server sein)
STR_CM_LOGIN_WINDOW_USERNAME_DISPLAY :{WHITE}{STRING}
STR_CM_LOGIN_WINDOW_PASSWORD_DISPLAY :{WHITE}{STRING}
STR_CM_CONFIG_SETTING_ORDER_MOD_CTRL :Strg+Linksklick: {STRING}
STR_CM_CONFIG_SETTING_ORDER_MOD_SHIFT :Umschalt+Linksklick: {STRING}
STR_CM_CONFIG_SETTING_ORDER_MOD_CTRL_SHIFT :Strg+Umschalt+Linksklick: {STRING}
STR_CM_CONFIG_SETTING_ORDER_MOD_ALT :Alt+Linksklick: {STRING}
STR_CM_CONFIG_SETTING_ORDER_MOD_ALT_SHIFT :Alt+Umschalt+Linksklick: {STRING}
STR_CM_CONFIG_SETTING_ORDER_MOD_ALT_CTRL :Strg+Alt+Linksklick: {STRING}
STR_CM_CONFIG_SETTING_ORDER_MOD_ACTIONS_NONE :Nichts machen
STR_CM_CONFIG_SETTING_ORDER_MOD_ACTIONS_FULL_LOAD_ANY :Mit beliebiger Fracht voll beladen
STR_CM_CONFIG_SETTING_ORDER_MOD_ACTIONS_TRANSFER_CARGO :Fracht umladen
STR_CM_CONFIG_SETTING_ORDER_MOD_ACTIONS_UNLOAD_ALL :Entladen jeder Fracht erzwingen
STR_CM_CONFIG_SETTING_ORDER_MOD_ACTIONS_FEEDER_LOAD :Zulieferer-Beladung (ersten Auftrag ersetzen)
STR_CM_CONFIG_SETTING_ORDER_MOD_ACTIONS_FEEDER_UNLOAD :Zulieferer-Entladung (letzten Auftrag ersetzen)
STR_CM_CONFIG_SETTING_ORDER_MOD_ACTIONS_NO_LOAD :Mit keiner Fracht beladen

View File

@@ -516,7 +516,7 @@ static std::pair<Order, FeederOrderMod> GetOrderCmdFromTile(const Vehicle *v, Ti
if (_alt_pressed)
os = _settings_client.gui.cm_alt_shift_order_mod;
else
os = _settings_client.gui.cm_ctrl_order_mod;
os = _settings_client.gui.cm_shift_order_mod;
}
else if (_alt_pressed)
os = _settings_client.gui.cm_alt_order_mod;

View File

@@ -1,12 +1,15 @@
[pre-amble]
static void cm_v_RedrawStatusBar(int32 p1);
static std::initializer_list<const char*> _order_mod_actions{"nothing", "full_load", "transfer", "unload_all", "feeder_load", "feeder_unload", "no_load"};
static const SettingVariant _citymania_settings_table[] = {
[post-amble]
};
[templates]
SDTC_BOOL = SDTC_BOOL( $var, $flags, $def, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $cat, $extra, $startup),
SDTC_VAR = SDTC_VAR( $var, $type, $flags, $def, $min, $max, $interval, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $cat, $extra, $startup),
SDTC_OMANY = SDTC_OMANY( $var, $type, $flags, $def, $max, $full, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $cat, $extra, $startup),
[validation]
SDTC_VAR = static_assert($max <= MAX_$type, "Maximum value for $var exceeds storage size");
@@ -50,82 +53,70 @@ var = gui.cm_no_loading_on_unload_order
def = true
str = STR_CONFIG_SETTING_AUTOSET_NOLOAD_ON_UNLOAD
[SDTC_VAR]
[SDTC_OMANY]
var = gui.cm_ctrl_order_mod
type = SLE_UINT8
guiflags = SGF_MULTISTRING
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
def = 1
min = 0
max = 6
interval = 1
str = STR_CONFIG_SETTING_CTRL_GOTOSHORTCUT_CTRLLCLICK
strval = STR_CONFIG_SETTING_CTRL_GOTOSHORTOPTS_NONE
post_cb = [](auto) { MarkWholeScreenDirty(); }
full = _order_mod_actions
str = STR_CM_CONFIG_SETTING_ORDER_MOD_CTRL
strval = STR_CM_CONFIG_SETTING_ORDER_MOD_ACTION_NONE
cat = SC_BASIC
[SDTC_VAR]
[SDTC_OMANY]
var = gui.cm_shift_order_mod
type = SLE_UINT8
guiflags = SGF_MULTISTRING
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
def = 0
min = 0
max = 6
interval = 1
str = STR_CONFIG_SETTING_CTRL_GOTOSHORTCUT_SHIFTLCLICK
strval = STR_CONFIG_SETTING_CTRL_GOTOSHORTOPTS_NONE
post_cb = [](auto) { MarkWholeScreenDirty(); }
full = _order_mod_actions
str = STR_CM_CONFIG_SETTING_ORDER_MOD_SHIFT
strval = STR_CM_CONFIG_SETTING_ORDER_MOD_ACTION_NONE
cat = SC_BASIC
[SDTC_VAR]
[SDTC_OMANY]
var = gui.cm_ctrl_shift_order_mod
type = SLE_UINT8
guiflags = SGF_MULTISTRING
def = 0
min = 0
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
def = 2
max = 6
interval = 1
str = STR_CONFIG_SETTING_CTRL_GOTOSHORTCUT_CTRLSHIFTLCLICK
strval = STR_CONFIG_SETTING_CTRL_GOTOSHORTOPTS_NONE
post_cb = [](auto) { MarkWholeScreenDirty(); }
full = _order_mod_actions
str = STR_CM_CONFIG_SETTING_ORDER_MOD_CTRL_SHIFT
strval = STR_CM_CONFIG_SETTING_ORDER_MOD_ACTION_NONE
cat = SC_BASIC
[SDTC_VAR]
[SDTC_OMANY]
var = gui.cm_alt_order_mod
type = SLE_UINT8
guiflags = SGF_MULTISTRING
def = 0
min = 0
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
def = 4
max = 6
interval = 1
str = STR_CONFIG_SETTING_CTRL_GOTOSHORTCUT_ALTLCLICK
strval = STR_CONFIG_SETTING_CTRL_GOTOSHORTOPTS_NONE
post_cb = [](auto) { MarkWholeScreenDirty(); }
full = _order_mod_actions
str = STR_CM_CONFIG_SETTING_ORDER_MOD_ALT
strval = STR_CM_CONFIG_SETTING_ORDER_MOD_ACTION_NONE
cat = SC_BASIC
[SDTC_VAR]
[SDTC_OMANY]
var = gui.cm_alt_shift_order_mod
type = SLE_UINT8
guiflags = SGF_MULTISTRING
def = 0
min = 0
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
def = 3
max = 6
interval = 1
str = STR_CONFIG_SETTING_CTRL_GOTOSHORTCUT_ALTSHIFTCLICK
strval = STR_CONFIG_SETTING_CTRL_GOTOSHORTOPTS_NONE
post_cb = [](auto) { MarkWholeScreenDirty(); }
full = _order_mod_actions
str = STR_CM_CONFIG_SETTING_ORDER_MOD_ALT_SHIFT
strval = STR_CM_CONFIG_SETTING_ORDER_MOD_ACTION_NONE
cat = SC_BASIC
[SDTC_VAR]
[SDTC_OMANY]
var = gui.cm_alt_ctrl_order_mod
type = SLE_UINT8
guiflags = SGF_MULTISTRING
def = 0
min = 0
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
def = 5
max = 6
interval = 1
str = STR_CONFIG_SETTING_CTRL_GOTOSHORTCUT_CTRLALTLCLICK
strval = STR_CONFIG_SETTING_CTRL_GOTOSHORTOPTS_NONE
post_cb = [](auto) { MarkWholeScreenDirty(); }
full = _order_mod_actions
str = STR_CM_CONFIG_SETTING_ORDER_MOD_ALT_CTRL
strval = STR_CM_CONFIG_SETTING_ORDER_MOD_ACTION_NONE
cat = SC_BASIC
[SDTC_BOOL]