feat: complete controller-first menu navigation

This commit is contained in:
Alexander Sellite 2026-08-08 14:23:28 -04:00
parent 26c9308fcf
commit 4ac7d5edb8
35 changed files with 2013 additions and 85 deletions

View file

@ -27,6 +27,7 @@ const UI_COMPACT_RENDER_HEIGHTS: Array[int] = [0, 408, 336, 264, 192]
@export_range(0.001, 0.012, 0.0005) var mouse_camera_sensitivity: float = 0.005
@export_range(0.5, 5.0, 0.1) var controller_camera_sensitivity: float = 2.5
@export var invert_camera_y: bool = false
@export var on_screen_keyboard_enabled: bool = false
@export var chat_draft: String = ""
@export var chat_collapsed: bool = false
@export var chat_dock_right: bool = false
@ -63,6 +64,7 @@ func copy() -> PlayerSettings:
result.mouse_camera_sensitivity = mouse_camera_sensitivity
result.controller_camera_sensitivity = controller_camera_sensitivity
result.invert_camera_y = invert_camera_y
result.on_screen_keyboard_enabled = on_screen_keyboard_enabled
result.chat_draft = chat_draft
result.chat_collapsed = chat_collapsed
result.chat_dock_right = chat_dock_right

View file

@ -45,6 +45,10 @@ func load_settings() -> bool:
if (
typeof(accessibility.get("auto_click_enabled")) != TYPE_BOOL
or typeof(camera.get("invert_vertical")) != TYPE_BOOL
or (
accessibility.has("on_screen_keyboard_enabled")
and typeof(accessibility["on_screen_keyboard_enabled"]) != TYPE_BOOL
)
or (
accessibility.has("use_readable_interface_font")
and typeof(accessibility["use_readable_interface_font"]) != TYPE_BOOL
@ -88,6 +92,9 @@ func load_settings() -> bool:
-1.0
)
loaded.invert_camera_y = camera["invert_vertical"]
loaded.on_screen_keyboard_enabled = bool(
accessibility.get("on_screen_keyboard_enabled", false)
)
loaded.world_pixel_size = _read_clamped_integer(
presentation.get(
"world_pixel_size",
@ -176,6 +183,9 @@ func save_now() -> bool:
"auto_click_enabled": current_settings.auto_click_enabled,
"auto_click_interval": current_settings.auto_click_interval,
"use_readable_interface_font": true,
"on_screen_keyboard_enabled": (
current_settings.on_screen_keyboard_enabled
),
},
"camera": {
"mouse_sensitivity": current_settings.mouse_camera_sensitivity,