mirror of https://github.com/OpenTTD/OpenTTD.git
Feature: Hide block signals in GUI by default (#8688)
This commit is contained in:
parent
f656b0ae96
commit
7469f00c5b
|
@ -1814,22 +1814,17 @@ STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Select the beha
|
|||
STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :Automatically build semaphores before: {STRING2}
|
||||
STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Set the year when electric signals will be used for tracks. Before this year, non-electric signals will be used (which have the exact same function, but different looks)
|
||||
|
||||
STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI :Enable the signal GUI: {STRING2}
|
||||
STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :Display a window for choosing signal types to build, instead of only window-less signal-type rotation with Ctrl+clicking on built signals
|
||||
|
||||
STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE :Signal type to build by default: {STRING2}
|
||||
STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE_HELPTEXT :Default signal type to use
|
||||
###length 3
|
||||
STR_CONFIG_SETTING_DEFAULT_SIGNAL_NORMAL :Block signals
|
||||
STR_CONFIG_SETTING_DEFAULT_SIGNAL_PBS :Path signals
|
||||
STR_CONFIG_SETTING_DEFAULT_SIGNAL_PBSOWAY :One-way path signals
|
||||
|
||||
STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES :Cycle through signal types: {STRING2}
|
||||
STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :Select which signal types to cycle through, when Ctrl+clicking on a build signal with the signal tool
|
||||
###length 3
|
||||
STR_CONFIG_SETTING_CYCLE_SIGNAL_NORMAL :Block signals only
|
||||
STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :Select which signal types to cycle through when Ctrl+clicking on a built signal with the signal tool
|
||||
###length 2
|
||||
STR_CONFIG_SETTING_CYCLE_SIGNAL_PBS :Path signals only
|
||||
STR_CONFIG_SETTING_CYCLE_SIGNAL_ALL :All
|
||||
STR_CONFIG_SETTING_CYCLE_SIGNAL_ALL :All visible
|
||||
|
||||
STR_CONFIG_SETTING_SIGNAL_GUI_MODE :Show signal types: {STRING2}
|
||||
STR_CONFIG_SETTING_SIGNAL_GUI_MODE_HELPTEXT :Choose which signal types are shown in the signal toolbar
|
||||
###length 2
|
||||
STR_CONFIG_SETTING_SIGNAL_GUI_MODE_PATH :Path signals only
|
||||
STR_CONFIG_SETTING_SIGNAL_GUI_MODE_ALL_CYCLE_PATH :All signals
|
||||
|
||||
STR_CONFIG_SETTING_TOWN_LAYOUT :Road layout for new towns: {STRING2}
|
||||
STR_CONFIG_SETTING_TOWN_LAYOUT_HELPTEXT :Layout for the road network of towns
|
||||
|
|
|
@ -54,9 +54,6 @@ static bool _convert_signal_button; ///< convert signal button in the s
|
|||
static SignalVariant _cur_signal_variant; ///< set the signal variant (for signal GUI)
|
||||
static SignalType _cur_signal_type; ///< set the signal type (for signal GUI)
|
||||
|
||||
/* Map the setting: default_signal_type to the corresponding signal type */
|
||||
static const SignalType _default_signal_type[] = {SIGTYPE_NORMAL, SIGTYPE_PBS, SIGTYPE_PBS_ONEWAY};
|
||||
|
||||
struct RailStationGUISettings {
|
||||
Axis orientation; ///< Currently selected rail station orientation
|
||||
|
||||
|
@ -231,25 +228,31 @@ static void GenericPlaceSignals(TileIndex tile)
|
|||
} else {
|
||||
const Window *w = FindWindowById(WC_BUILD_SIGNAL, 0);
|
||||
|
||||
/* Map the setting cycle_signal_types to the lower and upper allowed signal type. */
|
||||
static const uint cycle_bounds[] = {SIGTYPE_NORMAL | (SIGTYPE_LAST_NOPBS << 3), SIGTYPE_PBS | (SIGTYPE_LAST << 3), SIGTYPE_NORMAL | (SIGTYPE_LAST << 3)};
|
||||
|
||||
/* various bitstuffed elements for CmdBuildSingleSignal() */
|
||||
uint32 p1 = track;
|
||||
|
||||
/* Which signals should we cycle through? */
|
||||
uint8 cycle_types;
|
||||
|
||||
if (_settings_client.gui.cycle_signal_types == SIGNAL_CYCLE_ALL && _settings_client.gui.signal_gui_mode == SIGNAL_GUI_ALL) {
|
||||
cycle_types = SIGTYPE_NORMAL | (SIGTYPE_LAST << 3);
|
||||
} else {
|
||||
cycle_types = SIGTYPE_PBS | (SIGTYPE_LAST << 3);
|
||||
}
|
||||
|
||||
if (w != nullptr) {
|
||||
/* signal GUI is used */
|
||||
SB(p1, 3, 1, _ctrl_pressed);
|
||||
SB(p1, 4, 1, _cur_signal_variant);
|
||||
SB(p1, 5, 3, _cur_signal_type);
|
||||
SB(p1, 8, 1, _convert_signal_button);
|
||||
SB(p1, 9, 6, cycle_bounds[_settings_client.gui.cycle_signal_types]);
|
||||
SB(p1, 9, 6, cycle_types);
|
||||
} else {
|
||||
SB(p1, 3, 1, _ctrl_pressed);
|
||||
SB(p1, 4, 1, (_cur_year < _settings_client.gui.semaphore_build_before ? SIG_SEMAPHORE : SIG_ELECTRIC));
|
||||
SB(p1, 5, 3, _default_signal_type[_settings_client.gui.default_signal_type]);
|
||||
SB(p1, 5, 3, SIGTYPE_PBS_ONEWAY);
|
||||
SB(p1, 8, 1, 0);
|
||||
SB(p1, 9, 6, cycle_bounds[_settings_client.gui.cycle_signal_types]);
|
||||
SB(p1, 9, 6, cycle_types);
|
||||
}
|
||||
|
||||
DoCommandP(tile, p1, 0, CMD_BUILD_SIGNALS |
|
||||
|
@ -404,7 +407,7 @@ static void HandleAutoSignalPlacement()
|
|||
SB(p2, 3, 1, 0);
|
||||
SB(p2, 4, 1, (_cur_year < _settings_client.gui.semaphore_build_before ? SIG_SEMAPHORE : SIG_ELECTRIC));
|
||||
SB(p2, 6, 1, _ctrl_pressed);
|
||||
SB(p2, 7, 3, _default_signal_type[_settings_client.gui.default_signal_type]);
|
||||
SB(p2, 7, 3, SIGTYPE_PBS_ONEWAY);
|
||||
SB(p2, 24, 8, _settings_client.gui.drag_signals_density);
|
||||
SB(p2, 10, 1, !_settings_client.gui.drag_signals_fixed_distance);
|
||||
}
|
||||
|
@ -576,7 +579,7 @@ struct BuildRailToolbarWindow : Window {
|
|||
case WID_RAT_BUILD_SIGNALS: {
|
||||
this->last_user_action = widget;
|
||||
bool started = HandlePlacePushButton(this, WID_RAT_BUILD_SIGNALS, ANIMCURSOR_BUILDSIGNALS, HT_RECT);
|
||||
if (started && _settings_client.gui.enable_signal_gui != _ctrl_pressed) {
|
||||
if (started != _ctrl_pressed) {
|
||||
ShowSignalBuilder(this);
|
||||
}
|
||||
break;
|
||||
|
@ -1690,10 +1693,27 @@ private:
|
|||
y + this->IsWidgetLowered(widget_index));
|
||||
}
|
||||
|
||||
/** Show or hide buttons for non-path signals in the signal GUI */
|
||||
void SetSignalUIMode()
|
||||
{
|
||||
bool show_non_path_signals = (_settings_client.gui.signal_gui_mode == SIGNAL_GUI_ALL);
|
||||
|
||||
this->GetWidget<NWidgetStacked>(WID_BS_SEMAPHORE_NORM_SEL)->SetDisplayedPlane(show_non_path_signals ? 0 : SZSP_NONE);
|
||||
this->GetWidget<NWidgetStacked>(WID_BS_ELECTRIC_NORM_SEL)->SetDisplayedPlane(show_non_path_signals ? 0 : SZSP_NONE);
|
||||
this->GetWidget<NWidgetStacked>(WID_BS_SEMAPHORE_ENTRY_SEL)->SetDisplayedPlane(show_non_path_signals ? 0 : SZSP_NONE);
|
||||
this->GetWidget<NWidgetStacked>(WID_BS_ELECTRIC_ENTRY_SEL)->SetDisplayedPlane(show_non_path_signals ? 0 : SZSP_NONE);
|
||||
this->GetWidget<NWidgetStacked>(WID_BS_SEMAPHORE_EXIT_SEL)->SetDisplayedPlane(show_non_path_signals ? 0 : SZSP_NONE);
|
||||
this->GetWidget<NWidgetStacked>(WID_BS_ELECTRIC_EXIT_SEL)->SetDisplayedPlane(show_non_path_signals ? 0 : SZSP_NONE);
|
||||
this->GetWidget<NWidgetStacked>(WID_BS_SEMAPHORE_COMBO_SEL)->SetDisplayedPlane(show_non_path_signals ? 0 : SZSP_NONE);
|
||||
this->GetWidget<NWidgetStacked>(WID_BS_ELECTRIC_COMBO_SEL)->SetDisplayedPlane(show_non_path_signals ? 0 : SZSP_NONE);
|
||||
}
|
||||
|
||||
public:
|
||||
BuildSignalWindow(WindowDesc *desc, Window *parent) : PickerWindowBase(desc, parent)
|
||||
{
|
||||
this->InitNested(TRANSPORT_RAIL);
|
||||
this->CreateNestedTree();
|
||||
this->SetSignalUIMode();
|
||||
this->FinishInitNested(TRANSPORT_RAIL);
|
||||
this->OnInvalidateData();
|
||||
}
|
||||
|
||||
|
@ -1731,6 +1751,8 @@ public:
|
|||
} else if (IsInsideMM(widget, WID_BS_SEMAPHORE_NORM, WID_BS_ELECTRIC_PBS_OWAY + 1)) {
|
||||
size->width = std::max(size->width, this->sig_sprite_size.width + WD_IMGBTN_LEFT + WD_IMGBTN_RIGHT);
|
||||
size->height = std::max(size->height, this->sig_sprite_size.height + WD_IMGBTN_TOP + WD_IMGBTN_BOTTOM);
|
||||
} else if (widget == WID_BS_CAPTION) {
|
||||
size->width += WD_FRAMETEXT_LEFT + WD_FRAMETEXT_RIGHT;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1828,23 +1850,39 @@ public:
|
|||
static const NWidgetPart _nested_signal_builder_widgets[] = {
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_CLOSEBOX, COLOUR_DARK_GREEN),
|
||||
NWidget(WWT_CAPTION, COLOUR_DARK_GREEN), SetDataTip(STR_BUILD_SIGNAL_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
|
||||
NWidget(WWT_CAPTION, COLOUR_DARK_GREEN, WID_BS_CAPTION), SetDataTip(STR_BUILD_SIGNAL_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
|
||||
EndContainer(),
|
||||
NWidget(NWID_VERTICAL, NC_EQUALSIZE),
|
||||
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
|
||||
NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BS_SEMAPHORE_NORM), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_SEMAPHORE_NORM_TOOLTIP), EndContainer(), SetFill(1, 1),
|
||||
NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BS_SEMAPHORE_ENTRY), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_SEMAPHORE_ENTRY_TOOLTIP), EndContainer(), SetFill(1, 1),
|
||||
NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BS_SEMAPHORE_EXIT), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_SEMAPHORE_EXIT_TOOLTIP), EndContainer(), SetFill(1, 1),
|
||||
NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BS_SEMAPHORE_COMBO), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_SEMAPHORE_COMBO_TOOLTIP), EndContainer(), SetFill(1, 1),
|
||||
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_BS_SEMAPHORE_NORM_SEL),
|
||||
NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BS_SEMAPHORE_NORM), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_SEMAPHORE_NORM_TOOLTIP), EndContainer(), SetFill(1, 1),
|
||||
EndContainer(),
|
||||
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_BS_SEMAPHORE_ENTRY_SEL),
|
||||
NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BS_SEMAPHORE_ENTRY), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_SEMAPHORE_ENTRY_TOOLTIP), EndContainer(), SetFill(1, 1),
|
||||
EndContainer(),
|
||||
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_BS_SEMAPHORE_EXIT_SEL),
|
||||
NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BS_SEMAPHORE_EXIT), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_SEMAPHORE_EXIT_TOOLTIP), EndContainer(), SetFill(1, 1),
|
||||
EndContainer(),
|
||||
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_BS_SEMAPHORE_COMBO_SEL),
|
||||
NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BS_SEMAPHORE_COMBO), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_SEMAPHORE_COMBO_TOOLTIP), EndContainer(), SetFill(1, 1),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BS_SEMAPHORE_PBS), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_SEMAPHORE_PBS_TOOLTIP), EndContainer(), SetFill(1, 1),
|
||||
NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BS_SEMAPHORE_PBS_OWAY), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_SEMAPHORE_PBS_OWAY_TOOLTIP), EndContainer(), SetFill(1, 1),
|
||||
NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, WID_BS_CONVERT), SetDataTip(SPR_IMG_SIGNAL_CONVERT, STR_BUILD_SIGNAL_CONVERT_TOOLTIP), SetFill(1, 1),
|
||||
EndContainer(),
|
||||
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
|
||||
NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BS_ELECTRIC_NORM), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_ELECTRIC_NORM_TOOLTIP), EndContainer(), SetFill(1, 1),
|
||||
NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BS_ELECTRIC_ENTRY), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_ELECTRIC_ENTRY_TOOLTIP), EndContainer(), SetFill(1, 1),
|
||||
NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BS_ELECTRIC_EXIT), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP), EndContainer(), SetFill(1, 1),
|
||||
NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BS_ELECTRIC_COMBO), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP), EndContainer(), SetFill(1, 1),
|
||||
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_BS_ELECTRIC_NORM_SEL),
|
||||
NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BS_ELECTRIC_NORM), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_ELECTRIC_NORM_TOOLTIP), EndContainer(), SetFill(1, 1),
|
||||
EndContainer(),
|
||||
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_BS_ELECTRIC_ENTRY_SEL),
|
||||
NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BS_ELECTRIC_ENTRY), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_ELECTRIC_ENTRY_TOOLTIP), EndContainer(), SetFill(1, 1),
|
||||
EndContainer(),
|
||||
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_BS_ELECTRIC_EXIT_SEL),
|
||||
NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BS_ELECTRIC_EXIT), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP), EndContainer(), SetFill(1, 1),
|
||||
EndContainer(),
|
||||
NWidget(NWID_SELECTION, INVALID_COLOUR, WID_BS_ELECTRIC_COMBO_SEL),
|
||||
NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BS_ELECTRIC_COMBO), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP), EndContainer(), SetFill(1, 1),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BS_ELECTRIC_PBS), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP), EndContainer(), SetFill(1, 1),
|
||||
NWidget(WWT_PANEL, COLOUR_DARK_GREEN, WID_BS_ELECTRIC_PBS_OWAY), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP), EndContainer(), SetFill(1, 1),
|
||||
NWidget(WWT_PANEL, COLOUR_DARK_GREEN), SetDataTip(STR_NULL, STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP), SetFill(1, 1),
|
||||
|
@ -2158,7 +2196,7 @@ void InitializeRailGUI()
|
|||
SetDefaultRailGui();
|
||||
|
||||
_convert_signal_button = false;
|
||||
_cur_signal_type = _default_signal_type[_settings_client.gui.default_signal_type];
|
||||
_cur_signal_type = SIGTYPE_PBS_ONEWAY;
|
||||
ResetSignalVariant();
|
||||
}
|
||||
|
||||
|
|
|
@ -19,4 +19,16 @@ void ResetSignalVariant(int32 = 0);
|
|||
void InitializeRailGUI();
|
||||
DropDownList GetRailTypeDropDownList(bool for_replacement = false, bool all_option = false);
|
||||
|
||||
/** Settings for which signals are shown by the signal GUI. */
|
||||
enum SignalGUISettings : uint8 {
|
||||
SIGNAL_GUI_PATH = 0, ///< Show path signals only.
|
||||
SIGNAL_GUI_ALL = 1, ///< Show all signals, including block and presignals.
|
||||
};
|
||||
|
||||
/** Settings for which signals are cycled through by control-clicking on the signal with the signal tool. */
|
||||
enum SignalCycleSettings : uint8 {
|
||||
SIGNAL_CYCLE_PATH = 0, ///< Cycle through path signals only.
|
||||
SIGNAL_CYCLE_ALL = 1, ///< Cycle through all signals visible.
|
||||
};
|
||||
|
||||
#endif /* RAIL_GUI_H */
|
||||
|
|
|
@ -1622,7 +1622,6 @@ static SettingsContainer &GetSettingsTree()
|
|||
SettingsPage *construction = interface->Add(new SettingsPage(STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION));
|
||||
{
|
||||
construction->Add(new SettingEntry("gui.link_terraform_toolbar"));
|
||||
construction->Add(new SettingEntry("gui.enable_signal_gui"));
|
||||
construction->Add(new SettingEntry("gui.persistent_buildingtools"));
|
||||
construction->Add(new SettingEntry("gui.quick_goto"));
|
||||
construction->Add(new SettingEntry("gui.default_rail_type"));
|
||||
|
@ -1667,8 +1666,8 @@ static SettingsContainer &GetSettingsTree()
|
|||
SettingsPage *company = main->Add(new SettingsPage(STR_CONFIG_SETTING_COMPANY));
|
||||
{
|
||||
company->Add(new SettingEntry("gui.semaphore_build_before"));
|
||||
company->Add(new SettingEntry("gui.default_signal_type"));
|
||||
company->Add(new SettingEntry("gui.cycle_signal_types"));
|
||||
company->Add(new SettingEntry("gui.signal_gui_mode"));
|
||||
company->Add(new SettingEntry("gui.drag_signals_fixed_distance"));
|
||||
company->Add(new SettingEntry("gui.auto_remove_signals"));
|
||||
company->Add(new SettingEntry("gui.new_nonstop"));
|
||||
|
|
|
@ -109,13 +109,6 @@ static void StationSpreadChanged(int32 p1)
|
|||
InvalidateWindowData(WC_BUILD_STATION, 0);
|
||||
}
|
||||
|
||||
static void CloseSignalGUI(int32 new_value)
|
||||
{
|
||||
if (new_value == 0) {
|
||||
CloseWindowByClass(WC_BUILD_SIGNAL);
|
||||
}
|
||||
}
|
||||
|
||||
static void UpdateConsists(int32 new_value)
|
||||
{
|
||||
for (Train *t : Train::Iterate()) {
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
#include "linkgraph/linkgraph_type.h"
|
||||
#include "zoom_type.h"
|
||||
#include "openttd.h"
|
||||
#include "rail_gui.h"
|
||||
|
||||
/* Used to validate sizes of "max" value in settings. */
|
||||
const size_t MAX_SLE_UINT8 = UINT8_MAX;
|
||||
|
@ -143,7 +144,8 @@ struct GUISettings {
|
|||
bool timetable_arrival_departure; ///< show arrivals and departures in vehicle timetables
|
||||
bool right_mouse_wnd_close; ///< close window with right click
|
||||
bool pause_on_newgame; ///< whether to start new games paused or not
|
||||
bool enable_signal_gui; ///< show the signal GUI when the signal button is pressed
|
||||
SignalGUISettings signal_gui_mode; ///< select which signal types are shown in the signal GUI
|
||||
SignalCycleSettings cycle_signal_types; ///< Which signal types to cycle with the build signal tool.
|
||||
Year coloured_news_year; ///< when does newspaper become coloured?
|
||||
bool timetable_in_ticks; ///< whether to show the timetable in ticks rather than days
|
||||
bool quick_goto; ///< Allow quick access to 'goto button' in vehicle orders window
|
||||
|
@ -153,8 +155,6 @@ struct GUISettings {
|
|||
Year semaphore_build_before; ///< build semaphore signals automatically before this year
|
||||
byte news_message_timeout; ///< how much longer than the news message "age" should we keep the message in the history
|
||||
bool show_track_reservation; ///< highlight reserved tracks.
|
||||
uint8 default_signal_type; ///< the signal type to build by default.
|
||||
uint8 cycle_signal_types; ///< what signal types to cycle with the build signal tool.
|
||||
byte station_numtracks; ///< the number of platforms to default on for rail stations
|
||||
byte station_platlength; ///< the platform length, in tiles, for rail stations
|
||||
bool station_dragdrop; ///< whether drag and drop is enabled for stations
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
static void v_PositionMainToolbar(int32 new_value);
|
||||
static void v_PositionStatusbar(int32 new_value);
|
||||
static void RedrawSmallmap(int32 new_value);
|
||||
static void CloseSignalGUI(int32 new_value);
|
||||
static void InvalidateCompanyLiveryWindow(int32 new_value);
|
||||
static void InvalidateNewGRFChangeWindows(int32 new_value);
|
||||
static void ZoomMinMaxChanged(int32 new_value);
|
||||
|
@ -446,14 +445,18 @@ strhelp = STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT
|
|||
strval = STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST
|
||||
cat = SC_BASIC
|
||||
|
||||
[SDTC_BOOL]
|
||||
var = gui.enable_signal_gui
|
||||
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
|
||||
def = true
|
||||
str = STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI
|
||||
strhelp = STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT
|
||||
post_cb = CloseSignalGUI
|
||||
cat = SC_EXPERT
|
||||
[SDTC_VAR]
|
||||
var = gui.signal_gui_mode
|
||||
type = SLE_UINT8
|
||||
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
|
||||
def = 0
|
||||
min = 0
|
||||
max = 1
|
||||
str = STR_CONFIG_SETTING_SIGNAL_GUI_MODE
|
||||
strhelp = STR_CONFIG_SETTING_SIGNAL_GUI_MODE_HELPTEXT
|
||||
strval = STR_CONFIG_SETTING_SIGNAL_GUI_MODE_PATH
|
||||
post_cb = [](auto) { CloseWindowByClass(WC_BUILD_SIGNAL); }
|
||||
cat = SC_ADVANCED
|
||||
|
||||
[SDTC_VAR]
|
||||
var = gui.coloured_news_year
|
||||
|
@ -468,6 +471,19 @@ strhelp = STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT
|
|||
strval = STR_JUST_INT
|
||||
cat = SC_EXPERT
|
||||
|
||||
[SDTC_VAR]
|
||||
var = gui.cycle_signal_types
|
||||
type = SLE_UINT8
|
||||
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
|
||||
def = 0
|
||||
min = 0
|
||||
max = 1
|
||||
interval = 1
|
||||
str = STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES
|
||||
strhelp = STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT
|
||||
strval = STR_CONFIG_SETTING_CYCLE_SIGNAL_PBS
|
||||
cat = SC_ADVANCED
|
||||
|
||||
[SDTC_VAR]
|
||||
var = gui.drag_signals_density
|
||||
type = SLE_UINT8
|
||||
|
@ -597,31 +613,6 @@ strhelp = STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT
|
|||
post_cb = [](auto) { MarkWholeScreenDirty(); }
|
||||
cat = SC_BASIC
|
||||
|
||||
[SDTC_VAR]
|
||||
var = gui.default_signal_type
|
||||
type = SLE_UINT8
|
||||
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
|
||||
def = 1
|
||||
min = 0
|
||||
max = 2
|
||||
interval = 1
|
||||
str = STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE
|
||||
strhelp = STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE_HELPTEXT
|
||||
strval = STR_CONFIG_SETTING_DEFAULT_SIGNAL_NORMAL
|
||||
cat = SC_BASIC
|
||||
|
||||
[SDTC_VAR]
|
||||
var = gui.cycle_signal_types
|
||||
type = SLE_UINT8
|
||||
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
|
||||
def = 2
|
||||
min = 0
|
||||
max = 2
|
||||
interval = 1
|
||||
str = STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES
|
||||
strhelp = STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT
|
||||
strval = STR_CONFIG_SETTING_CYCLE_SIGNAL_NORMAL
|
||||
|
||||
[SDTC_VAR]
|
||||
var = gui.station_numtracks
|
||||
type = SLE_UINT8
|
||||
|
|
|
@ -78,22 +78,31 @@ enum BuildRailStationWidgets {
|
|||
|
||||
/** Widgets of the #BuildSignalWindow class. */
|
||||
enum BuildSignalWidgets {
|
||||
WID_BS_SEMAPHORE_NORM, ///< Build a semaphore normal block signal
|
||||
WID_BS_SEMAPHORE_ENTRY, ///< Build a semaphore entry block signal
|
||||
WID_BS_SEMAPHORE_EXIT, ///< Build a semaphore exit block signal
|
||||
WID_BS_SEMAPHORE_COMBO, ///< Build a semaphore combo block signal
|
||||
WID_BS_CAPTION, ///< Caption for the Signal Selection window.
|
||||
WID_BS_SEMAPHORE_NORM, ///< Build a semaphore normal block signal.
|
||||
WID_BS_SEMAPHORE_ENTRY, ///< Build a semaphore entry block signal.
|
||||
WID_BS_SEMAPHORE_EXIT, ///< Build a semaphore exit block signal.
|
||||
WID_BS_SEMAPHORE_COMBO, ///< Build a semaphore combo block signal.
|
||||
WID_BS_SEMAPHORE_PBS, ///< Build a semaphore path signal.
|
||||
WID_BS_SEMAPHORE_PBS_OWAY, ///< Build a semaphore one way path signal.
|
||||
WID_BS_ELECTRIC_NORM, ///< Build an electric normal block signal
|
||||
WID_BS_ELECTRIC_ENTRY, ///< Build an electric entry block signal
|
||||
WID_BS_ELECTRIC_EXIT, ///< Build an electric exit block signal
|
||||
WID_BS_ELECTRIC_COMBO, ///< Build an electric combo block signal
|
||||
WID_BS_ELECTRIC_NORM, ///< Build an electric normal block signal.
|
||||
WID_BS_ELECTRIC_ENTRY, ///< Build an electric entry block signal.
|
||||
WID_BS_ELECTRIC_EXIT, ///< Build an electric exit block signal.
|
||||
WID_BS_ELECTRIC_COMBO, ///< Build an electric combo block signal.
|
||||
WID_BS_ELECTRIC_PBS, ///< Build an electric path signal.
|
||||
WID_BS_ELECTRIC_PBS_OWAY, ///< Build an electric one way path signal.
|
||||
WID_BS_CONVERT, ///< Convert the signal.
|
||||
WID_BS_DRAG_SIGNALS_DENSITY_LABEL, ///< The current signal density.
|
||||
WID_BS_DRAG_SIGNALS_DENSITY_DECREASE, ///< Decrease the signal density.
|
||||
WID_BS_DRAG_SIGNALS_DENSITY_INCREASE, ///< Increase the signal density.
|
||||
WID_BS_SEMAPHORE_NORM_SEL, ///< NWID_SELECTION for WID_BS_SEMAPHORE_NORM.
|
||||
WID_BS_ELECTRIC_NORM_SEL, ///< NWID_SELECTION for WID_BS_ELECTRIC_NORM.
|
||||
WID_BS_SEMAPHORE_ENTRY_SEL, ///< NWID_SELECTION for WID_BS_SEMAPHORE_ENTRY.
|
||||
WID_BS_ELECTRIC_ENTRY_SEL, ///< NWID_SELECTION for WID_BS_ELECTRIC_ENTRY.
|
||||
WID_BS_SEMAPHORE_EXIT_SEL, ///< NWID_SELECTION for WID_BS_SEMAPHORE_EXIT.
|
||||
WID_BS_ELECTRIC_EXIT_SEL, ///< NWID_SELECTION for WID_BS_ELECTRIC_EXIT.
|
||||
WID_BS_SEMAPHORE_COMBO_SEL, ///< NWID_SELECTION for WID_BS_SEMAPHORE_COMBO.
|
||||
WID_BS_ELECTRIC_COMBO_SEL, ///< NWID_SELECTION for WID_BS_ELECTRIC_COMBO.
|
||||
};
|
||||
|
||||
/** Widgets of the #BuildRailDepotWindow class. */
|
||||
|
|
Loading…
Reference in New Issue