From 919196c7a8f67e7862d8a4b5e3d1328342a3eb70 Mon Sep 17 00:00:00 2001 From: tpart Date: Sun, 7 Jul 2024 20:31:03 +0200 Subject: Change start game button from A to X for controllers (xbox-like) --- client/menu/controller_buttons/a.svg | 6 ----- client/menu/controller_buttons/a.svg.import | 37 ----------------------------- client/menu/controller_buttons/x.svg | 6 +++++ client/menu/controller_buttons/x.svg.import | 37 +++++++++++++++++++++++++++++ client/menu/lobby.tscn | 7 +++--- 5 files changed, 46 insertions(+), 47 deletions(-) delete mode 100644 client/menu/controller_buttons/a.svg delete mode 100644 client/menu/controller_buttons/a.svg.import create mode 100644 client/menu/controller_buttons/x.svg create mode 100644 client/menu/controller_buttons/x.svg.import (limited to 'client/menu') diff --git a/client/menu/controller_buttons/a.svg b/client/menu/controller_buttons/a.svg deleted file mode 100644 index 3b660d91..00000000 --- a/client/menu/controller_buttons/a.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/client/menu/controller_buttons/a.svg.import b/client/menu/controller_buttons/a.svg.import deleted file mode 100644 index 236e085f..00000000 --- a/client/menu/controller_buttons/a.svg.import +++ /dev/null @@ -1,37 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://bgkhnp15u1utp" -path="res://.godot/imported/a.svg-207eeddefe74f1190424a9aa1808de8f.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://menu/controller_buttons/a.svg" -dest_files=["res://.godot/imported/a.svg-207eeddefe74f1190424a9aa1808de8f.ctex"] - -[params] - -compress/mode=0 -compress/high_quality=false -compress/lossy_quality=0.7 -compress/hdr_compression=1 -compress/normal_map=0 -compress/channel_pack=0 -mipmaps/generate=false -mipmaps/limit=-1 -roughness/mode=0 -roughness/src_normal="" -process/fix_alpha_border=true -process/premult_alpha=false -process/normal_map_invert_y=false -process/hdr_as_srgb=false -process/hdr_clamp_exposure=false -process/size_limit=0 -detect_3d/compress_to=1 -svg/scale=1.0 -editor/scale_with_editor_scale=false -editor/convert_colors_with_editor_theme=false diff --git a/client/menu/controller_buttons/x.svg b/client/menu/controller_buttons/x.svg new file mode 100644 index 00000000..9a5df2ea --- /dev/null +++ b/client/menu/controller_buttons/x.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/client/menu/controller_buttons/x.svg.import b/client/menu/controller_buttons/x.svg.import new file mode 100644 index 00000000..f9acb5ec --- /dev/null +++ b/client/menu/controller_buttons/x.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bsx6fo7mv2u6a" +path="res://.godot/imported/x.svg-94cb27dd83c134d85e2e1ce8d9481359.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://menu/controller_buttons/x.svg" +dest_files=["res://.godot/imported/x.svg-94cb27dd83c134d85e2e1ce8d9481359.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/client/menu/lobby.tscn b/client/menu/lobby.tscn index 38b2a5b9..df58915c 100644 --- a/client/menu/lobby.tscn +++ b/client/menu/lobby.tscn @@ -8,7 +8,7 @@ [ext_resource type="Texture2D" uid="uid://b33qmctbpf48g" path="res://menu/arrow_hover.svg" id="5_odwav"] [ext_resource type="Texture2D" uid="uid://by3qsrpxnfq4w" path="res://menu/arrow_focus.svg" id="6_tulu3"] [ext_resource type="PackedScene" uid="uid://b1f7bgn65j7b5" path="res://menu/controller_buttons/controller_button.tscn" id="7_t6mox"] -[ext_resource type="Texture2D" uid="uid://bgkhnp15u1utp" path="res://menu/controller_buttons/a.svg" id="8_chn2q"] +[ext_resource type="Texture2D" uid="uid://bsx6fo7mv2u6a" path="res://menu/controller_buttons/x.svg" id="9_q14bw"] [node name="Lobby" type="Control" groups=["no_auto_focus"]] layout_mode = 3 @@ -100,10 +100,9 @@ layout_mode = 2 custom_minimum_size = Vector2(148, 0) layout_mode = 2 text = "Start Game" -icon = ExtResource("8_chn2q") expand_icon = true -controller_texture = ExtResource("8_chn2q") -press_action = "ui_accept" +controller_texture = ExtResource("9_q14bw") +press_action = "start_game" [connection signal="pressed" from="VBoxContainer/Bottom/MarginContainer/VBoxContainer/HBoxContainer/Left" to="." method="_on_left_pressed"] [connection signal="pressed" from="VBoxContainer/Bottom/MarginContainer/VBoxContainer/HBoxContainer/Right" to="." method="_on_right_pressed"] -- cgit v1.2.3-70-g09d2 From edd03742f8b2b27ab78828d0850f6bb55edbd02d Mon Sep 17 00:00:00 2001 From: tpart Date: Sun, 7 Jul 2024 20:40:41 +0200 Subject: Disable input while escape menu is open or writing in chat --- client/game.gd | 2 ++ client/menu/ingame.gd | 2 ++ client/player/controllable_player.gd | 9 ++++++++- 3 files changed, 12 insertions(+), 1 deletion(-) (limited to 'client/menu') diff --git a/client/game.gd b/client/game.gd index 0bbc4ab0..671f328f 100644 --- a/client/game.gd +++ b/client/game.gd @@ -20,6 +20,7 @@ extends Node3D signal update_players(players: Dictionary) signal data_updated() +signal player_set_input_enabled(b: bool) var player_id: int = -1 var item_names: Array = [] @@ -86,6 +87,7 @@ func _ready(): if player == player_id: player_instance = ControllablePlayer.new(player, player_name, pos, character, self) camera.target = player_instance + player_set_input_enabled.connect(player_instance.set_input_enabled) else: player_instance = Player.new(player, player_name, pos, character, self) players[player] = player_instance diff --git a/client/menu/ingame.gd b/client/menu/ingame.gd index e6ec7c54..61984c99 100644 --- a/client/menu/ingame.gd +++ b/client/menu/ingame.gd @@ -14,10 +14,12 @@ func _ready(): func anim_setup(): pass func menu_anim_open(): print("ingame open") + game.player_set_input_enabled.emit(false) anim.play("activate") await anim.animation_finished func menu_anim_exit(): print("ingame exit") + game.player_set_input_enabled.emit(true) anim.play_backwards("activate") await anim.animation_finished diff --git a/client/player/controllable_player.gd b/client/player/controllable_player.gd index 8361ca6a..de39abfb 100644 --- a/client/player/controllable_player.gd +++ b/client/player/controllable_player.gd @@ -29,6 +29,7 @@ var facing = Vector2(1, 0) var velocity_ = Vector2(0, 0) var stamina = 0 var chat_open := false +var enable_input := true var target: Vector2i = Vector2i(0, 0) @@ -52,6 +53,7 @@ func _input(_event): else: chat_bubble.edit() chat_open = !chat_open + enable_input = !enable_input const MAX_DT = 1./50. func _process(delta): @@ -62,7 +64,7 @@ func _process(delta): super(delta) func _process_movement(delta): - var input = Input.get_vector("left", "right", "forward", "backwards") + var input = Input.get_vector("left", "right", "forward", "backwards") if enable_input else Vector2.ZERO var boost = Input.is_action_pressed("boost") or (Global.get_setting("latch_boost") and boosting) input = input.rotated( - game.camera.angle_target) if Input.is_action_pressed("interact") or Input.is_action_just_released("interact"): @@ -145,6 +147,8 @@ func take_item(tile: Tile): Input.start_joy_vibration(0, 0.1, 0.0, 0.075) func interact(): + if not enable_input: + return var tile = game.map.get_tile_instance(target) if tile != null: game.marker.set_interactive(game.get_tile_interactive(target)) @@ -157,3 +161,6 @@ func interact(): game.mp.send_tile_interact(target, false) else: game.marker.visible = false + +func set_input_enabled(b: bool): + enable_input = b -- cgit v1.2.3-70-g09d2