|
|
|
@ -50,6 +50,10 @@
|
|
|
|
|
#include "safeguards.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if defined(WITH_FREETYPE) || defined(_WIN32) || defined(WITH_COCOA)
|
|
|
|
|
# define HAS_TRUETYPE_FONT
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
static const StringID _autosave_dropdown[] = {
|
|
|
|
|
STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF,
|
|
|
|
|
STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_10_MINUTES,
|
|
|
|
@ -559,6 +563,30 @@ struct GameOptionsWindow : Window {
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#ifdef HAS_TRUETYPE_FONT
|
|
|
|
|
case WID_GO_GUI_FONT_SPRITE:
|
|
|
|
|
_fcsettings.prefer_sprite = !_fcsettings.prefer_sprite;
|
|
|
|
|
|
|
|
|
|
this->SetWidgetLoweredState(WID_GO_GUI_FONT_SPRITE, _fcsettings.prefer_sprite);
|
|
|
|
|
this->SetWidgetDisabledState(WID_GO_GUI_FONT_AA, _fcsettings.prefer_sprite);
|
|
|
|
|
this->SetDirty();
|
|
|
|
|
|
|
|
|
|
InitFontCache(false);
|
|
|
|
|
InitFontCache(true);
|
|
|
|
|
SetupWidgetDimensions();
|
|
|
|
|
ReInitAllWindows(true);
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case WID_GO_GUI_FONT_AA:
|
|
|
|
|
_fcsettings.global_aa = !_fcsettings.global_aa;
|
|
|
|
|
|
|
|
|
|
this->SetWidgetLoweredState(WID_GO_GUI_FONT_AA, _fcsettings.global_aa);
|
|
|
|
|
this->SetDirty();
|
|
|
|
|
|
|
|
|
|
ClearFontCache();
|
|
|
|
|
break;
|
|
|
|
|
#endif /* HAS_TRUETYPE_FONT */
|
|
|
|
|
|
|
|
|
|
case WID_GO_GUI_SCALE:
|
|
|
|
|
if (ClickSliderWidget(this->GetWidget<NWidgetBase>(widget)->GetCurrentRect(), pt, MIN_INTERFACE_SCALE, MAX_INTERFACE_SCALE, this->gui_scale)) {
|
|
|
|
|
if (!_ctrl_pressed) this->gui_scale = ((this->gui_scale + 12) / 25) * 25;
|
|
|
|
@ -750,6 +778,11 @@ struct GameOptionsWindow : Window {
|
|
|
|
|
|
|
|
|
|
this->SetWidgetLoweredState(WID_GO_GUI_SCALE_AUTO, _gui_scale_cfg == -1);
|
|
|
|
|
this->SetWidgetLoweredState(WID_GO_GUI_SCALE_BEVEL_BUTTON, _settings_client.gui.scale_bevels);
|
|
|
|
|
#ifdef HAS_TRUETYPE_FONT
|
|
|
|
|
this->SetWidgetLoweredState(WID_GO_GUI_FONT_SPRITE, _fcsettings.prefer_sprite);
|
|
|
|
|
this->SetWidgetLoweredState(WID_GO_GUI_FONT_AA, _fcsettings.global_aa);
|
|
|
|
|
this->SetWidgetDisabledState(WID_GO_GUI_FONT_AA, _fcsettings.prefer_sprite);
|
|
|
|
|
#endif /* HAS_TRUETYPE_FONT */
|
|
|
|
|
|
|
|
|
|
this->SetWidgetDisabledState(WID_GO_BASE_GRF_DROPDOWN, _game_mode != GM_MENU);
|
|
|
|
|
this->SetWidgetDisabledState(WID_GO_BASE_SFX_DROPDOWN, _game_mode != GM_MENU);
|
|
|
|
@ -823,6 +856,16 @@ static const NWidgetPart _nested_game_options_widgets[] = {
|
|
|
|
|
NWidget(WWT_TEXT, COLOUR_GREY), SetMinimalSize(0, 12), SetFill(1, 0), SetDataTip(STR_GAME_OPTIONS_GUI_SCALE_BEVELS, STR_NULL),
|
|
|
|
|
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(),
|
|
|
|
|
#ifdef HAS_TRUETYPE_FONT
|
|
|
|
|
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_normal, 0),
|
|
|
|
|
NWidget(WWT_TEXT, COLOUR_GREY), SetMinimalSize(0, 12), SetFill(1, 0), SetDataTip(STR_GAME_OPTIONS_GUI_FONT_SPRITE, STR_NULL),
|
|
|
|
|
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_GO_GUI_FONT_SPRITE), SetMinimalSize(21, 9), SetDataTip(STR_EMPTY, STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP),
|
|
|
|
|
EndContainer(),
|
|
|
|
|
NWidget(NWID_HORIZONTAL), SetPIP(0, WidgetDimensions::unscaled.hsep_normal, 0),
|
|
|
|
|
NWidget(WWT_TEXT, COLOUR_GREY), SetMinimalSize(0, 12), SetFill(1, 0), SetDataTip(STR_GAME_OPTIONS_GUI_FONT_AA, STR_NULL),
|
|
|
|
|
NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_GO_GUI_FONT_AA), SetMinimalSize(21, 9), SetDataTip(STR_EMPTY, STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP),
|
|
|
|
|
EndContainer(),
|
|
|
|
|
#endif /* HAS_TRUETYPE_FONT */
|
|
|
|
|
EndContainer(),
|
|
|
|
|
EndContainer(),
|
|
|
|
|
|
|
|
|
|