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_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_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 # Config errors
STR_CONFIG_ERROR :{WHITE}Error with the configuration file... STR_CONFIG_ERROR :{WHITE}Error with the configuration file...
STR_CONFIG_ERROR_ARRAY :{WHITE}... error in array '{RAW_STRING}' 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_NETWORK_COMPANY_LIST_SPECTATE :Spectate
STR_CM_RAIL_TOOLBAR_TOOLTIP_BLUEPRINT : {BLACK}Rail blueprint tool (copy-paste) 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_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_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 # Config errors
STR_CONFIG_ERROR :{WHITE}Fehler in der Konfigurations-Datei ... STR_CONFIG_ERROR :{WHITE}Fehler in der Konfigurations-Datei ...
STR_CONFIG_ERROR_ARRAY :{WHITE}... Fehler im Array „{STRING}“ 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_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_USERNAME_DISPLAY :{WHITE}{STRING}
STR_CM_LOGIN_WINDOW_PASSWORD_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) if (_alt_pressed)
os = _settings_client.gui.cm_alt_shift_order_mod; os = _settings_client.gui.cm_alt_shift_order_mod;
else else
os = _settings_client.gui.cm_ctrl_order_mod; os = _settings_client.gui.cm_shift_order_mod;
} }
else if (_alt_pressed) else if (_alt_pressed)
os = _settings_client.gui.cm_alt_order_mod; os = _settings_client.gui.cm_alt_order_mod;

View File

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