mirror of https://github.com/OpenTTD/OpenTTD
Add: Setting to toggle thin vs chunky (scaled) bevels.
parent
e554fd7808
commit
dd90d79e7b
|
@ -1011,6 +1011,9 @@ STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Current
|
|||
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Interface size
|
||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Select the interface element size to use
|
||||
|
||||
STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Scale bevels
|
||||
STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Check this box to scale bevels by interface size
|
||||
|
||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_AUTO :(auto-detect)
|
||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normal
|
||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Double size
|
||||
|
|
|
@ -475,6 +475,17 @@ struct GameOptionsWindow : Window {
|
|||
this->SetWidgetDirty(WID_GO_REFRESH_RATE_DROPDOWN);
|
||||
break;
|
||||
|
||||
case WID_GO_GUI_SCALE_BEVEL_BUTTON: {
|
||||
_settings_client.gui.scale_bevels = !_settings_client.gui.scale_bevels;
|
||||
|
||||
this->SetWidgetLoweredState(WID_GO_GUI_SCALE_BEVEL_BUTTON, _settings_client.gui.scale_bevels);
|
||||
this->SetDirty();
|
||||
|
||||
SetupWidgetDimensions();
|
||||
ReInitAllWindows(true);
|
||||
break;
|
||||
}
|
||||
|
||||
case WID_GO_BASE_SFX_VOLUME:
|
||||
case WID_GO_BASE_MUSIC_VOLUME: {
|
||||
byte &vol = (widget == WID_GO_BASE_MUSIC_VOLUME) ? _settings_client.music.music_vol : _settings_client.music.effect_vol;
|
||||
|
@ -572,6 +583,7 @@ struct GameOptionsWindow : Window {
|
|||
_gui_zoom_cfg = new_zoom;
|
||||
UpdateGUIZoom();
|
||||
UpdateCursorSize();
|
||||
SetupWidgetDimensions();
|
||||
UpdateAllVirtCoords();
|
||||
FixTitleGameZoom();
|
||||
ReInitAllWindows(true);
|
||||
|
@ -587,6 +599,7 @@ struct GameOptionsWindow : Window {
|
|||
UpdateGUIZoom();
|
||||
ClearFontCache();
|
||||
LoadStringWidthTable();
|
||||
SetupWidgetDimensions();
|
||||
UpdateAllVirtCoords();
|
||||
ReInitAllWindows(true);
|
||||
}
|
||||
|
@ -624,6 +637,8 @@ struct GameOptionsWindow : Window {
|
|||
this->SetWidgetDisabledState(WID_GO_VIDEO_VSYNC_BUTTON, !_video_hw_accel);
|
||||
#endif
|
||||
|
||||
this->SetWidgetLoweredState(WID_GO_GUI_SCALE_BEVEL_BUTTON, _settings_client.gui.scale_bevels);
|
||||
|
||||
bool missing_files = BaseGraphics::GetUsedSet()->GetNumMissing() == 0;
|
||||
this->GetWidget<NWidgetCore>(WID_GO_BASE_GRF_STATUS)->SetDataTip(missing_files ? STR_EMPTY : STR_GAME_OPTIONS_BASE_GRF_STATUS, STR_NULL);
|
||||
|
||||
|
@ -650,7 +665,14 @@ static const NWidgetPart _nested_game_options_widgets[] = {
|
|||
NWidget(WWT_DROPDOWN, COLOUR_GREY, WID_GO_AUTOSAVE_DROPDOWN), SetMinimalSize(150, 12), SetDataTip(STR_BLACK_STRING, STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP), SetFill(1, 0),
|
||||
EndContainer(),
|
||||
NWidget(WWT_FRAME, COLOUR_GREY), SetDataTip(STR_GAME_OPTIONS_GUI_ZOOM_FRAME, STR_NULL),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_GREY, WID_GO_GUI_ZOOM_DROPDOWN), SetMinimalSize(150, 12), SetDataTip(STR_BLACK_STRING, STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP), SetFill(1, 0),
|
||||
NWidget(NWID_VERTICAL), SetPIP(0, WidgetDimensions::unscaled.vsep_normal, 0),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_GREY, WID_GO_GUI_ZOOM_DROPDOWN), SetMinimalSize(150, 12), SetDataTip(STR_BLACK_STRING, STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP), SetFill(1, 0),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_TEXT, COLOUR_GREY), SetMinimalSize(0, 12), SetDataTip(STR_GAME_OPTIONS_GUI_SCALE_BEVELS, STR_NULL),
|
||||
NWidget(NWID_SPACER), SetMinimalSize(1, 0), SetFill(1, 0),
|
||||
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_GO_GUI_SCALE_BEVEL_BUTTON), SetMinimalSize(21, 9), SetDataTip(STR_EMPTY, STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
EndContainer(),
|
||||
NWidget(WWT_FRAME, COLOUR_GREY), SetDataTip(STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME, STR_NULL),
|
||||
NWidget(WWT_DROPDOWN, COLOUR_GREY, WID_GO_CURRENCY_DROPDOWN), SetMinimalSize(150, 12), SetDataTip(STR_BLACK_STRING, STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP), SetFill(1, 0),
|
||||
|
|
|
@ -193,6 +193,8 @@ struct GUISettings {
|
|||
bool newgrf_show_old_versions; ///< whether to show old versions in the NewGRF list
|
||||
uint8 newgrf_default_palette; ///< default palette to use for NewGRFs without action 14 palette information
|
||||
|
||||
bool scale_bevels; ///< bevels are scaled with GUI scale.
|
||||
|
||||
/**
|
||||
* Returns true when the user has sufficient privileges to edit newgrfs on a running game
|
||||
* @return whether the user has sufficient privileges to edit newgrfs in an existing game
|
||||
|
|
|
@ -861,3 +861,11 @@ min = 1
|
|||
max = 65535
|
||||
cat = SC_EXPERT
|
||||
|
||||
[SDTC_BOOL]
|
||||
var = gui.scale_bevels
|
||||
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
|
||||
def = true
|
||||
post_cb = [](auto) { SetupWidgetDimensions(); ReInitAllWindows(true); }
|
||||
cat = SC_BASIC
|
||||
startup = true
|
||||
|
||||
|
|
|
@ -201,7 +201,11 @@ void SetupWidgetDimensions()
|
|||
WidgetDimensions::scaled.inset = ScaleGUITrad(WidgetDimensions::unscaled.inset);
|
||||
WidgetDimensions::scaled.vscrollbar = ScaleGUITrad(WidgetDimensions::unscaled.vscrollbar);
|
||||
WidgetDimensions::scaled.hscrollbar = ScaleGUITrad(WidgetDimensions::unscaled.hscrollbar);
|
||||
WidgetDimensions::scaled.bevel = WidgetDimensions::unscaled.bevel;
|
||||
if (_settings_client.gui.scale_bevels) {
|
||||
WidgetDimensions::scaled.bevel = ScaleGUITrad(WidgetDimensions::unscaled.bevel);
|
||||
} else {
|
||||
WidgetDimensions::scaled.bevel = WidgetDimensions::unscaled.bevel;
|
||||
}
|
||||
WidgetDimensions::scaled.fullbevel = ScaleGUITrad(WidgetDimensions::unscaled.fullbevel);
|
||||
WidgetDimensions::scaled.framerect = ScaleGUITrad(WidgetDimensions::unscaled.framerect);
|
||||
WidgetDimensions::scaled.frametext = ScaleGUITrad(WidgetDimensions::unscaled.frametext);
|
||||
|
|
|
@ -20,6 +20,7 @@ enum GameOptionsWidgets {
|
|||
WID_GO_RESOLUTION_DROPDOWN, ///< Dropdown for the resolution.
|
||||
WID_GO_FULLSCREEN_BUTTON, ///< Toggle fullscreen.
|
||||
WID_GO_GUI_ZOOM_DROPDOWN, ///< Dropdown for the GUI zoom level.
|
||||
WID_GO_GUI_SCALE_BEVEL_BUTTON, ///< Toggle for chunky bevels.
|
||||
WID_GO_BASE_GRF_DROPDOWN, ///< Use to select a base GRF.
|
||||
WID_GO_BASE_GRF_STATUS, ///< Info about missing files etc.
|
||||
WID_GO_BASE_GRF_TEXTFILE, ///< Open base GRF readme, changelog (+1) or license (+2).
|
||||
|
|
Loading…
Reference in New Issue