aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--client/menu/game.gd11
-rw-r--r--client/project.godot5
-rw-r--r--client/settings.gd1
-rw-r--r--locale/en.ini1
4 files changed, 18 insertions, 0 deletions
diff --git a/client/menu/game.gd b/client/menu/game.gd
index 889bbbe9..1516f4b8 100644
--- a/client/menu/game.gd
+++ b/client/menu/game.gd
@@ -21,11 +21,13 @@ class_name GameMenu
@onready var overlay: Overlay = $Overlay
@onready var popup_message: PopupMessage = $PopupMessage
@onready var chat_preview: ChatPreview = $ChatPreview
+@onready var pinned_items: PinnedItemMessages = $PinnedItemMessages
func _ready():
get_tree().get_root().go_back_requested.connect(open_ingame_menu)
super()
transition.set_loading_text(tr("c.menu.game.connecting"))
+ Settings.hook_changed_init("ui.hide_overlays", false, apply_hide_overlays)
func _input(_event):
if Input.is_action_just_pressed("ui_menu"):
@@ -36,6 +38,9 @@ func _input(_event):
chat_preview.visible = false
await submenu("res://menu/communicate/chat/chat_open.tscn")
chat_preview.visible = true
+
+ if Input.is_action_just_pressed("toggle_overlay"):
+ Global.set_setting("ui.hide_overlays", not Global.get_setting("ui.hide_overlays"))
func _menu_cover(state):
game.follow_camera.disable_input_menu = state
@@ -51,3 +56,9 @@ func open_ingame_menu():
if popup != null: return
Sound.play_click()
submenu("res://menu/ingame.tscn")
+
+func apply_hide_overlays(v: bool):
+ overlay.visible = v
+ pinned_items.visible = v
+ chat_preview.visible = v
+ popup_message.visible = false
diff --git a/client/project.godot b/client/project.godot
index e3bbec06..622a02ad 100644
--- a/client/project.godot
+++ b/client/project.godot
@@ -215,6 +215,11 @@ menu={
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":6,"pressure":0.0,"pressed":true,"script":null)
]
}
+toggle_overlay={
+"deadzone": 0.2,
+"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194332,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
+]
+}
[input_devices]
diff --git a/client/settings.gd b/client/settings.gd
index 978c0fac..a17e79fa 100644
--- a/client/settings.gd
+++ b/client/settings.gd
@@ -57,6 +57,7 @@ static func get_root():
SettingsCategory.new("ui", [
DropdownSetting.new("touch_controls", "automatic", ["automatic", "enabled", "disabled"]),
DropdownSetting.new("language", "system", Global.language_list()),
+ ToggleSetting.new("hide_overlays", false),
DropdownSetting.new("scale_mode", "resize", ["resize", "disabled"]),
RangeSetting.new("scale_factor", 1. if not Global.on_mobile() else 1.5, 0.5, 1.5, 3),
]),
diff --git a/locale/en.ini b/locale/en.ini
index 8a2847d4..8ea1a460 100644
--- a/locale/en.ini
+++ b/locale/en.ini
@@ -202,6 +202,7 @@ c.settings.ui.scale_factor=UI scale factor
c.settings.ui.scale_mode.disabled=Disabled
c.settings.ui.scale_mode.resize=Resize
c.settings.ui.scale_mode=UI scale mode
+c.settings.ui.hide_overlays=Hide in-game overlays (Orders, timer, etc.)
c.settings.ui.touch_controls.automatic=Automatic
c.settings.ui.touch_controls.disabled=Disabled
c.settings.ui.touch_controls.enabled=Enabled