Settings menu: display settings, language codes, style guide window

Display tab: window mode (windowed/maximized/borderless/exclusive), monitor, window
size per monitor (centred, disabled in fullscreen), V-Sync, frame rate cap, reset;
applied and saved at once through the core DisplaySettingsService. Language is read
through LanguageCode (en-en/en_US = English). The window follows the style guide
shell: title and tabs in the header, close on the right, footer hint and per-tab reset.
The main menu hides every session panel of UiHost (pause menu stayed above it).
New suite display_settings (+ --shots); collection_edit leaves the game through the
pause menu and checks it is closed.
This commit is contained in:
cthangover committed 2026-10-21 19:18:34 +02:00
1 parent b3ac8aec8f
commit 9bd0483af9
10 files changed
+940 -446

No files matched your search

+4
View File
@@ -1,6 +1,7 @@
using System.Collections.Generic;
using Cthangover.Core.Scenes;
using Cthangover.Core.Settings;
using Cthangover.Core.UI;
using Cthangover.Core.UI.Menu;
using Cthangover.Core.UI.Theming;
using Cthangover.Core.UI.Tool;
@@ -54,6 +55,9 @@ namespace Cthangover.BaseMenu
private void BuildUi()
{
CthangoverTheme.Apply(this);
// Panels of the session (pause menu, inventory, studio...) live on the
// persistent UI layer above every scene; none of them belongs on the title screen.
UiHost.Instance?.HideAll();
_settingsMenu = new ModScenePrefab("scenes/menu/settings_menu.tscn").Instantiate<SettingsMenu>();
_settingsMenu.Name = "SettingsPanel";