@@ -78,18 +78,20 @@ bool CMenusKeyBinder::OnInput(const IInput::CEvent &Event)
7878void CMenus::RenderSettingsGeneral (CUIRect MainView)
7979{
8080 char aBuf[128 + IO_MAX_PATH_LENGTH];
81- CUIRect Label, Button, Left, Right, Game, ClientSettings;
81+ CUIRect Label, Button, Left, Right, Game, ClientSettings, Menu ;
8282 MainView.HSplitTop (150 .0f , &Game, &ClientSettings);
83+ Game.VSplitMid (&Game, &Menu, 20 .0f );
8384
85+ constexpr float VerticalSpacing (5 .0f );
8486 // game
8587 {
8688 // headline
8789 Game.HSplitTop (30 .0f , &Label, &Game);
8890 Ui ()->DoLabel (&Label, Localize (" Game" ), 20 .0f , TEXTALIGN_ML);
89- Game.HSplitTop (5 .0f , nullptr , &Game);
90- Game.VSplitMid (&Left, nullptr , 20 .0f );
91+ Left = Game;
9192
9293 // dynamic camera
94+ Left.HSplitTop (VerticalSpacing, nullptr , &Left);
9395 Left.HSplitTop (20 .0f , &Button, &Left);
9496 const bool IsDyncam = g_Config.m_ClDyncam || g_Config.m_ClMouseFollowfactor > 0 ;
9597 if (DoButton_CheckBox (&g_Config.m_ClDyncam , Localize (" Dynamic Camera" ), IsDyncam, &Button))
@@ -106,7 +108,7 @@ void CMenus::RenderSettingsGeneral(CUIRect MainView)
106108 }
107109
108110 // smooth dynamic camera
109- Left.HSplitTop (5 . 0f , nullptr , &Left);
111+ Left.HSplitTop (VerticalSpacing , nullptr , &Left);
110112 Left.HSplitTop (20 .0f , &Button, &Left);
111113 if (g_Config.m_ClDyncam )
112114 {
@@ -125,18 +127,41 @@ void CMenus::RenderSettingsGeneral(CUIRect MainView)
125127 }
126128
127129 // weapon pickup
128- Left.HSplitTop (5 . 0f , nullptr , &Left);
130+ Left.HSplitTop (VerticalSpacing , nullptr , &Left);
129131 Left.HSplitTop (20 .0f , &Button, &Left);
130132 if (DoButton_CheckBox (&g_Config.m_ClAutoswitchWeapons , Localize (" Switch weapon on pickup" ), g_Config.m_ClAutoswitchWeapons , &Button))
131133 g_Config.m_ClAutoswitchWeapons ^= 1 ;
132134
133135 // weapon out of ammo autoswitch
134- Left.HSplitTop (5 . 0f , nullptr , &Left);
136+ Left.HSplitTop (VerticalSpacing , nullptr , &Left);
135137 Left.HSplitTop (20 .0f , &Button, &Left);
136138 if (DoButton_CheckBox (&g_Config.m_ClAutoswitchWeaponsOutOfAmmo , Localize (" Switch weapon when out of ammo" ), g_Config.m_ClAutoswitchWeaponsOutOfAmmo , &Button))
137139 g_Config.m_ClAutoswitchWeaponsOutOfAmmo ^= 1 ;
138140 }
139141
142+ // Menu
143+ {
144+ // headline
145+ Menu.HSplitTop (30 .0f , &Label, &Menu);
146+ Ui ()->DoLabel (&Label, Localize (" Menu" ), 20 .0f , TEXTALIGN_ML);
147+
148+ // skip main menu
149+ Menu.HSplitTop (VerticalSpacing, nullptr , &Menu);
150+ Menu.HSplitTop (20 .0f , &Button, &Menu);
151+ if (DoButton_CheckBox (&g_Config.m_ClSkipStartMenu , Localize (" Skip the main menu" ), g_Config.m_ClSkipStartMenu , &Button))
152+ g_Config.m_ClSkipStartMenu ^= 1 ;
153+
154+ Menu.HSplitTop (VerticalSpacing, nullptr , &Menu);
155+ Menu.HSplitTop (20 .0f , &Button, &Menu);
156+ if (DoButton_CheckBox (&g_Config.m_ClPreferIconButtons , Localize (" Prefer icon buttons over text labels" ), g_Config.m_ClPreferIconButtons , &Button))
157+ g_Config.m_ClPreferIconButtons ^= 1 ;
158+
159+ Menu.HSplitTop (VerticalSpacing, nullptr , &Menu);
160+ Menu.HSplitTop (20 .0f , &Button, &Menu);
161+ if (DoButton_CheckBox (&g_Config.m_ClEnableCommunities , Localize (" Enable 'Communities' browser feature" ), g_Config.m_ClEnableCommunities , &Button))
162+ g_Config.m_ClEnableCommunities ^= 1 ;
163+ }
164+
140165 // client
141166 {
142167 // headline
@@ -145,12 +170,6 @@ void CMenus::RenderSettingsGeneral(CUIRect MainView)
145170 ClientSettings.HSplitTop (5 .0f , nullptr , &ClientSettings);
146171 ClientSettings.VSplitMid (&Left, &Right, 20 .0f );
147172
148- // skip main menu
149- Left.HSplitTop (20 .0f , &Button, &Left);
150- if (DoButton_CheckBox (&g_Config.m_ClSkipStartMenu , Localize (" Skip the main menu" ), g_Config.m_ClSkipStartMenu , &Button))
151- g_Config.m_ClSkipStartMenu ^= 1 ;
152-
153- Left.HSplitTop (10 .0f , nullptr , &Left);
154173 Left.HSplitTop (20 .0f , &Button, &Left);
155174 str_copy (aBuf, " " );
156175 str_append (aBuf, Localize (" Hz" , " Hertz" ));
0 commit comments