From f642144aeb2cf55da6c2598cabfe0ae5c3322514 Mon Sep 17 00:00:00 2001 From: Manuel Date: Thu, 10 Sep 2026 16:30:32 -0500 Subject: [PATCH 1/4] WIP: implement hover sound and polyphony --- Proyectos - Acceso directo.lnk | Bin 0 -> 909 bytes assets/first_party/sounds/ui/Hover.wav | 3 ++ assets/first_party/sounds/ui/Hover.wav.import | 24 ++++++++++ how --name-only a7d12177 | 23 +++++++++ scenes/globals/uisfx_player/Hover.wav | 3 ++ scenes/globals/uisfx_player/Hover.wav.import | 24 ++++++++++ .../uisfx_player/Hover_sfx_player.tscn | 45 ++++++++++++++++++ scenes/globals/uisfx_player/menu_ui_player.gd | 10 +++- .../globals/uisfx_player/menu_ui_player.tscn | 8 ++++ 9 files changed, 139 insertions(+), 1 deletion(-) create mode 100644 Proyectos - Acceso directo.lnk create mode 100644 assets/first_party/sounds/ui/Hover.wav create mode 100644 assets/first_party/sounds/ui/Hover.wav.import create mode 100644 how --name-only a7d12177 create mode 100644 scenes/globals/uisfx_player/Hover.wav create mode 100644 scenes/globals/uisfx_player/Hover.wav.import create mode 100644 scenes/globals/uisfx_player/Hover_sfx_player.tscn diff --git a/Proyectos - Acceso directo.lnk b/Proyectos - Acceso directo.lnk new file mode 100644 index 0000000000000000000000000000000000000000..f910232238b60eb6a9a79948f9e5cac89ad68451 GIT binary patch literal 909 zcmah{ZAepL6h7CKRH7y=voALU$A&eweiSa|*S2&ry{j=Qx{Hl<&84=vt!M;&K}Dnz zL6kvdIrEQ2(HA6{CD@PpF@hqiL4RA6j0l1ddd{6)i@k#hu++Um6oEE0d zIjts%%t~gB@4{&nxwnhE9JZsN>{LYgh+g9>7}fdSt}?>wm2MGaR`H(~*9U))o1zq^ z1j!VnIII}9%K!;j3vd^#s{vlSfpq}qYZvu>JPEtgV-vL=(dD#@WV1-#m>i8sE%mKl zhfA`{v5t5+BDtgCgdB{AQJ{c~_#{R8bGZg~Li1`19SC%8h{}6&zjS`4^Ta88O~d6o zp&`efnn%Ui)YRmSY{|*yx?agSvG{-cFVR2|(LfjSnLTdLH`CJ(Hagol{42FQ8EdQ9 z241P9fuRK)7(oz22`S@X9R{x_8(DBBiNnp=_SN=i1kiO7O+(z{S{DX!zJSWIX^~$7j5?Kd84}d{gr99gT}qWhpQCat`216~KJsGP3{M zvV`|0gY8hp6~RCj>WTAl3taGCX_x(WZ=`9ssm_?R9`51S)Xok~z`oQaWB+$wbKh^x N^YSINPne%ue*oX|&BOoz literal 0 HcmV?d00001 diff --git a/assets/first_party/sounds/ui/Hover.wav b/assets/first_party/sounds/ui/Hover.wav new file mode 100644 index 000000000..142809db8 --- /dev/null +++ b/assets/first_party/sounds/ui/Hover.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c1d06dc57eccae3f8e84eb80691780c5b1f0482dc1f9d632426940f4fdf9aae +size 36942 diff --git a/assets/first_party/sounds/ui/Hover.wav.import b/assets/first_party/sounds/ui/Hover.wav.import new file mode 100644 index 000000000..29675b197 --- /dev/null +++ b/assets/first_party/sounds/ui/Hover.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://wpkisvpb2ekm" +path="res://.godot/imported/Hover.wav-d00dcf75edf30b73b4333a46a1b42156.sample" + +[deps] + +source_file="res://assets/first_party/sounds/ui/Hover.wav" +dest_files=["res://.godot/imported/Hover.wav-d00dcf75edf30b73b4333a46a1b42156.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/how --name-only a7d12177 b/how --name-only a7d12177 new file mode 100644 index 000000000..3fd6d1804 --- /dev/null +++ b/how --name-only a7d12177 @@ -0,0 +1,23 @@ +commit a7d121770d243029355d8427360ad5ebc1598b88 (HEAD -> hover-sound-1027, origin/main, origin/HEAD, main) +Author: MateoP <156242438+Un-player0@users.noreply.github.com> +Date: Thu Aug 27 14:11:31 2026 -0500 + + Implemented Menu Click Sounds #1030 (#2790) + + Introduced an autoload MenuUIPlayer that connects buttons and sliders + interaction signals to a click sound played when interacting with these + + The autoload uses the node_added signal from the tree to check new nodes + instantly + + Resolves: https://github.com/endlessm/threadbare/issues/1030 + + assets/first_party/sounds/ui/Click.wav | 3 ++ + assets/first_party/sounds/ui/Click.wav.import | 24 ++++++++++ + assets/first_party/sounds/ui/Click_single.wav | 3 ++ + .../first_party/sounds/ui/Click_single.wav.import | 24 ++++++++++ + project.godot | 1 + + scenes/globals/uisfx_player/menu_ui_player.gd | 52 ++++++++++++++++++++++ + scenes/globals/uisfx_player/menu_ui_player.gd.uid | 1 + + scenes/globals/uisfx_player/menu_ui_player.tscn | 40 +++++++++++++++++ + 8 files changed, 148 insertions(+) diff --git a/scenes/globals/uisfx_player/Hover.wav b/scenes/globals/uisfx_player/Hover.wav new file mode 100644 index 000000000..142809db8 --- /dev/null +++ b/scenes/globals/uisfx_player/Hover.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c1d06dc57eccae3f8e84eb80691780c5b1f0482dc1f9d632426940f4fdf9aae +size 36942 diff --git a/scenes/globals/uisfx_player/Hover.wav.import b/scenes/globals/uisfx_player/Hover.wav.import new file mode 100644 index 000000000..fecaef4b8 --- /dev/null +++ b/scenes/globals/uisfx_player/Hover.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://fhwxhr0tcdlx" +path="res://.godot/imported/Hover.wav-6c5a173b9dd437f7e4cb1f1497a47d87.sample" + +[deps] + +source_file="res://scenes/globals/uisfx_player/Hover.wav" +dest_files=["res://.godot/imported/Hover.wav-6c5a173b9dd437f7e4cb1f1497a47d87.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/scenes/globals/uisfx_player/Hover_sfx_player.tscn b/scenes/globals/uisfx_player/Hover_sfx_player.tscn new file mode 100644 index 000000000..d260bfccc --- /dev/null +++ b/scenes/globals/uisfx_player/Hover_sfx_player.tscn @@ -0,0 +1,45 @@ +[gd_scene format=3 uid="uid://csm14qvxwk3qu"] + +[ext_resource type="Script" uid="uid://bpti2tbv1ufco" path="res://scenes/globals/uisfx_player/menu_ui_player.gd" id="1_08877"] +[ext_resource type="AudioStream" uid="uid://pk4mvg05n0uo" path="res://assets/first_party/sounds/ui/Click_single.wav" id="2_a0vny"] +[ext_resource type="AudioStream" uid="uid://cba2ckeb3gxu1" path="res://assets/first_party/sounds/ui/Click.wav" id="3_73s60"] + +[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_7me2p"] +random_pitch = 1.122462 +streams_count = 1 +stream_0/stream = ExtResource("2_a0vny") + +[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_a0vny"] +random_pitch = 1.122462 +streams_count = 1 +stream_0/stream = ExtResource("3_73s60") + +[node name="MenuSFXPlayer" type="Node" unique_id=1818340025] +script = ExtResource("1_08877") + +[node name="SliderSFXPlayer" type="AudioStreamPlayer" parent="." unique_id=818033647] +unique_name_in_owner = true +stream = SubResource("AudioStreamRandomizer_7me2p") +bus = &"SFX" + +[node name="ButtonSFXPlayer" type="AudioStreamPlayer" parent="." unique_id=1487510413] +unique_name_in_owner = true +stream = SubResource("AudioStreamRandomizer_a0vny") +bus = &"SFX" + +[node name="HoverSFXPlayer" type="AudioStreamPlayer" parent="." unique_id=599654584] +unique_name_in_owner = true +stream = SubResource("AudioStreamRandomizer_a0vny") +bus = &"SFX" + +[node name="ToggleOnSFXPlayer" type="AudioStreamPlayer" parent="." unique_id=1221647971] +unique_name_in_owner = true +stream = ExtResource("3_73s60") +pitch_scale = 1.2 +bus = &"SFX" + +[node name="ToggleOffSFXPlayer" type="AudioStreamPlayer" parent="." unique_id=179480757] +unique_name_in_owner = true +stream = ExtResource("3_73s60") +pitch_scale = 0.8 +bus = &"SFX" diff --git a/scenes/globals/uisfx_player/menu_ui_player.gd b/scenes/globals/uisfx_player/menu_ui_player.gd index b92381cd4..cbcf99e46 100644 --- a/scenes/globals/uisfx_player/menu_ui_player.gd +++ b/scenes/globals/uisfx_player/menu_ui_player.gd @@ -13,6 +13,7 @@ extends Node @onready var button_sfx_player: AudioStreamPlayer = %ButtonSFXPlayer @onready var toggle_on_sfx_player: AudioStreamPlayer = %ToggleOnSFXPlayer @onready var toggle_off_sfx_player: AudioStreamPlayer = %ToggleOffSFXPlayer +@onready var hover_sfx_player: AudioStreamPlayer = %HoverSFXPlayer func _enter_tree() -> void: @@ -20,6 +21,9 @@ func _enter_tree() -> void: func _on_node_added(node: Node) -> void: + if node is BaseButton and !node.is_connected("mouse_entered", _on_button_hovered): + node.mouse_entered.connect(_on_button_hovered) + if node is CheckButton and !node.is_connected("toggled", _on_toggle_pressed): node.toggled.connect(_on_toggle_pressed) @@ -29,10 +33,14 @@ func _on_node_added(node: Node) -> void: elif node is Slider and !node.is_connected("value_changed", _on_slider_value_changed): node.value_changed.connect(_on_slider_value_changed) - elif node is TabBar and !node.is_connected("tab_clicked", _on_slider_value_changed): + elif node is TabBar and !node.is_connected("tab_clicked", _on_tab_clicked): node.tab_clicked.connect(_on_tab_clicked) +func _on_button_hovered() -> void: + hover_sfx_player.play() + + func _on_toggle_pressed(toggled_on: bool) -> void: if toggled_on: toggle_on_sfx_player.play() diff --git a/scenes/globals/uisfx_player/menu_ui_player.tscn b/scenes/globals/uisfx_player/menu_ui_player.tscn index 437088768..9ce66e182 100644 --- a/scenes/globals/uisfx_player/menu_ui_player.tscn +++ b/scenes/globals/uisfx_player/menu_ui_player.tscn @@ -3,6 +3,7 @@ [ext_resource type="Script" uid="uid://bpti2tbv1ufco" path="res://scenes/globals/uisfx_player/menu_ui_player.gd" id="1_08877"] [ext_resource type="AudioStream" uid="uid://pk4mvg05n0uo" path="res://assets/first_party/sounds/ui/Click_single.wav" id="2_a0vny"] [ext_resource type="AudioStream" uid="uid://cba2ckeb3gxu1" path="res://assets/first_party/sounds/ui/Click.wav" id="3_73s60"] +[ext_resource type="AudioStream" uid="uid://fhwxhr0tcdlx" path="res://scenes/globals/uisfx_player/Hover.wav" id="4_empwr"] [sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_7me2p"] random_pitch = 1.122462 @@ -27,6 +28,13 @@ unique_name_in_owner = true stream = SubResource("AudioStreamRandomizer_a0vny") bus = &"SFX" +[node name="HoverSFXPlayer" type="AudioStreamPlayer" parent="." unique_id=335986934] +unique_name_in_owner = true +stream = ExtResource("4_empwr") +volume_db = -15.0 +max_polyphony = 8 +bus = &"SFX" + [node name="ToggleOnSFXPlayer" type="AudioStreamPlayer" parent="." unique_id=1221647971] unique_name_in_owner = true stream = ExtResource("3_73s60") From 2acda14a0664433b655fbfc09886228529fe751c Mon Sep 17 00:00:00 2001 From: Manuel Date: Sat, 12 Sep 2026 09:48:10 -0500 Subject: [PATCH 2/4] Add UI button hover sound effect and adjust polyphony --- assets/first_party/sounds/ui/Hover.wav | 4 ++-- assets/first_party/sounds/ui/Hover.wav.import | 8 ++++---- project.godot | 2 +- scenes/globals/uisfx_player/menu_ui_player.tscn | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/assets/first_party/sounds/ui/Hover.wav b/assets/first_party/sounds/ui/Hover.wav index 142809db8..64bc07242 100644 --- a/assets/first_party/sounds/ui/Hover.wav +++ b/assets/first_party/sounds/ui/Hover.wav @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0c1d06dc57eccae3f8e84eb80691780c5b1f0482dc1f9d632426940f4fdf9aae -size 36942 +oid sha256:05462e71635d86be37307232a9a34a083a4f098bc8509ff534d5ea7925cc2c26 +size 2470 diff --git a/assets/first_party/sounds/ui/Hover.wav.import b/assets/first_party/sounds/ui/Hover.wav.import index 29675b197..ba078b924 100644 --- a/assets/first_party/sounds/ui/Hover.wav.import +++ b/assets/first_party/sounds/ui/Hover.wav.import @@ -2,13 +2,13 @@ importer="wav" type="AudioStreamWAV" -uid="uid://wpkisvpb2ekm" -path="res://.godot/imported/Hover.wav-d00dcf75edf30b73b4333a46a1b42156.sample" +uid="uid://b11jqkfbthwec" +path="res://.godot/imported/hover.wav-b960c7fa794f18a9989b5537ecd14e96.sample" [deps] -source_file="res://assets/first_party/sounds/ui/Hover.wav" -dest_files=["res://.godot/imported/Hover.wav-d00dcf75edf30b73b4333a46a1b42156.sample"] +source_file="res://assets/first_party/sounds/ui/hover.wav" +dest_files=["res://.godot/imported/hover.wav-b960c7fa794f18a9989b5537ecd14e96.sample"] [params] diff --git a/project.godot b/project.godot index fd43623a6..8cb42263b 100644 --- a/project.godot +++ b/project.godot @@ -70,7 +70,7 @@ window/size/mode.web=0 [editor] -movie_writer/movie_file="user://recording.ogv" +movie_writer/movie_file="user://recording.mp4" [editor_plugins] diff --git a/scenes/globals/uisfx_player/menu_ui_player.tscn b/scenes/globals/uisfx_player/menu_ui_player.tscn index 9ce66e182..dbdfae521 100644 --- a/scenes/globals/uisfx_player/menu_ui_player.tscn +++ b/scenes/globals/uisfx_player/menu_ui_player.tscn @@ -3,7 +3,7 @@ [ext_resource type="Script" uid="uid://bpti2tbv1ufco" path="res://scenes/globals/uisfx_player/menu_ui_player.gd" id="1_08877"] [ext_resource type="AudioStream" uid="uid://pk4mvg05n0uo" path="res://assets/first_party/sounds/ui/Click_single.wav" id="2_a0vny"] [ext_resource type="AudioStream" uid="uid://cba2ckeb3gxu1" path="res://assets/first_party/sounds/ui/Click.wav" id="3_73s60"] -[ext_resource type="AudioStream" uid="uid://fhwxhr0tcdlx" path="res://scenes/globals/uisfx_player/Hover.wav" id="4_empwr"] +[ext_resource type="AudioStream" uid="uid://b11jqkfbthwec" path="res://assets/first_party/sounds/ui/hover.wav" id="4_empwr"] [sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_7me2p"] random_pitch = 1.122462 @@ -31,7 +31,7 @@ bus = &"SFX" [node name="HoverSFXPlayer" type="AudioStreamPlayer" parent="." unique_id=335986934] unique_name_in_owner = true stream = ExtResource("4_empwr") -volume_db = -15.0 +volume_db = -9.42 max_polyphony = 8 bus = &"SFX" From 92a036b4bff0e01c64794880996b952bf1790919 Mon Sep 17 00:00:00 2001 From: Manuel Date: Mon, 14 Sep 2026 12:57:43 -0500 Subject: [PATCH 3/4] t diff --name-only origin/main...HEADasfix: restore connect_once, add focus_entered and clean up files :wq :wq --- Proyectos - Acceso directo.lnk | Bin 909 -> 0 bytes assets/first_party/sounds/ui/Hover.wav.import | 6 +-- how --name-only a7d12177 | 23 --------- .../uisfx_player/Hover_sfx_player.tscn | 45 ------------------ scenes/globals/uisfx_player/menu_ui_player.gd | 20 +++++--- .../globals/uisfx_player/menu_ui_player.tscn | 2 +- 6 files changed, 17 insertions(+), 79 deletions(-) delete mode 100644 Proyectos - Acceso directo.lnk delete mode 100644 how --name-only a7d12177 delete mode 100644 scenes/globals/uisfx_player/Hover_sfx_player.tscn diff --git a/Proyectos - Acceso directo.lnk b/Proyectos - Acceso directo.lnk deleted file mode 100644 index f910232238b60eb6a9a79948f9e5cac89ad68451..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 909 zcmah{ZAepL6h7CKRH7y=voALU$A&eweiSa|*S2&ry{j=Qx{Hl<&84=vt!M;&K}Dnz zL6kvdIrEQ2(HA6{CD@PpF@hqiL4RA6j0l1ddd{6)i@k#hu++Um6oEE0d zIjts%%t~gB@4{&nxwnhE9JZsN>{LYgh+g9>7}fdSt}?>wm2MGaR`H(~*9U))o1zq^ z1j!VnIII}9%K!;j3vd^#s{vlSfpq}qYZvu>JPEtgV-vL=(dD#@WV1-#m>i8sE%mKl zhfA`{v5t5+BDtgCgdB{AQJ{c~_#{R8bGZg~Li1`19SC%8h{}6&zjS`4^Ta88O~d6o zp&`efnn%Ui)YRmSY{|*yx?agSvG{-cFVR2|(LfjSnLTdLH`CJ(Hagol{42FQ8EdQ9 z241P9fuRK)7(oz22`S@X9R{x_8(DBBiNnp=_SN=i1kiO7O+(z{S{DX!zJSWIX^~$7j5?Kd84}d{gr99gT}qWhpQCat`216~KJsGP3{M zvV`|0gY8hp6~RCj>WTAl3taGCX_x(WZ=`9ssm_?R9`51S)Xok~z`oQaWB+$wbKh^x N^YSINPne%ue*oX|&BOoz diff --git a/assets/first_party/sounds/ui/Hover.wav.import b/assets/first_party/sounds/ui/Hover.wav.import index ba078b924..ca8950142 100644 --- a/assets/first_party/sounds/ui/Hover.wav.import +++ b/assets/first_party/sounds/ui/Hover.wav.import @@ -3,12 +3,12 @@ importer="wav" type="AudioStreamWAV" uid="uid://b11jqkfbthwec" -path="res://.godot/imported/hover.wav-b960c7fa794f18a9989b5537ecd14e96.sample" +path="res://.godot/imported/Hover.wav-d00dcf75edf30b73b4333a46a1b42156.sample" [deps] -source_file="res://assets/first_party/sounds/ui/hover.wav" -dest_files=["res://.godot/imported/hover.wav-b960c7fa794f18a9989b5537ecd14e96.sample"] +source_file="res://assets/first_party/sounds/ui/Hover.wav" +dest_files=["res://.godot/imported/Hover.wav-d00dcf75edf30b73b4333a46a1b42156.sample"] [params] diff --git a/how --name-only a7d12177 b/how --name-only a7d12177 deleted file mode 100644 index 3fd6d1804..000000000 --- a/how --name-only a7d12177 +++ /dev/null @@ -1,23 +0,0 @@ -commit a7d121770d243029355d8427360ad5ebc1598b88 (HEAD -> hover-sound-1027, origin/main, origin/HEAD, main) -Author: MateoP <156242438+Un-player0@users.noreply.github.com> -Date: Thu Aug 27 14:11:31 2026 -0500 - - Implemented Menu Click Sounds #1030 (#2790) - - Introduced an autoload MenuUIPlayer that connects buttons and sliders - interaction signals to a click sound played when interacting with these - - The autoload uses the node_added signal from the tree to check new nodes - instantly - - Resolves: https://github.com/endlessm/threadbare/issues/1030 - - assets/first_party/sounds/ui/Click.wav | 3 ++ - assets/first_party/sounds/ui/Click.wav.import | 24 ++++++++++ - assets/first_party/sounds/ui/Click_single.wav | 3 ++ - .../first_party/sounds/ui/Click_single.wav.import | 24 ++++++++++ - project.godot | 1 + - scenes/globals/uisfx_player/menu_ui_player.gd | 52 ++++++++++++++++++++++ - scenes/globals/uisfx_player/menu_ui_player.gd.uid | 1 + - scenes/globals/uisfx_player/menu_ui_player.tscn | 40 +++++++++++++++++ - 8 files changed, 148 insertions(+) diff --git a/scenes/globals/uisfx_player/Hover_sfx_player.tscn b/scenes/globals/uisfx_player/Hover_sfx_player.tscn deleted file mode 100644 index d260bfccc..000000000 --- a/scenes/globals/uisfx_player/Hover_sfx_player.tscn +++ /dev/null @@ -1,45 +0,0 @@ -[gd_scene format=3 uid="uid://csm14qvxwk3qu"] - -[ext_resource type="Script" uid="uid://bpti2tbv1ufco" path="res://scenes/globals/uisfx_player/menu_ui_player.gd" id="1_08877"] -[ext_resource type="AudioStream" uid="uid://pk4mvg05n0uo" path="res://assets/first_party/sounds/ui/Click_single.wav" id="2_a0vny"] -[ext_resource type="AudioStream" uid="uid://cba2ckeb3gxu1" path="res://assets/first_party/sounds/ui/Click.wav" id="3_73s60"] - -[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_7me2p"] -random_pitch = 1.122462 -streams_count = 1 -stream_0/stream = ExtResource("2_a0vny") - -[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_a0vny"] -random_pitch = 1.122462 -streams_count = 1 -stream_0/stream = ExtResource("3_73s60") - -[node name="MenuSFXPlayer" type="Node" unique_id=1818340025] -script = ExtResource("1_08877") - -[node name="SliderSFXPlayer" type="AudioStreamPlayer" parent="." unique_id=818033647] -unique_name_in_owner = true -stream = SubResource("AudioStreamRandomizer_7me2p") -bus = &"SFX" - -[node name="ButtonSFXPlayer" type="AudioStreamPlayer" parent="." unique_id=1487510413] -unique_name_in_owner = true -stream = SubResource("AudioStreamRandomizer_a0vny") -bus = &"SFX" - -[node name="HoverSFXPlayer" type="AudioStreamPlayer" parent="." unique_id=599654584] -unique_name_in_owner = true -stream = SubResource("AudioStreamRandomizer_a0vny") -bus = &"SFX" - -[node name="ToggleOnSFXPlayer" type="AudioStreamPlayer" parent="." unique_id=1221647971] -unique_name_in_owner = true -stream = ExtResource("3_73s60") -pitch_scale = 1.2 -bus = &"SFX" - -[node name="ToggleOffSFXPlayer" type="AudioStreamPlayer" parent="." unique_id=179480757] -unique_name_in_owner = true -stream = ExtResource("3_73s60") -pitch_scale = 0.8 -bus = &"SFX" diff --git a/scenes/globals/uisfx_player/menu_ui_player.gd b/scenes/globals/uisfx_player/menu_ui_player.gd index 69b1f97af..e625c4602 100644 --- a/scenes/globals/uisfx_player/menu_ui_player.gd +++ b/scenes/globals/uisfx_player/menu_ui_player.gd @@ -23,6 +23,7 @@ func _enter_tree() -> void: func _on_node_added(node: Node) -> void: if node is BaseButton: _connect_once(node.mouse_entered, _on_button_hovered) + _connect_once(node.focus_entered, _on_button_hovered) if node is CheckButton: _connect_once(node.toggled, _on_toggle_pressed) @@ -34,15 +35,13 @@ func _on_node_added(node: Node) -> void: _connect_once(node.tab_clicked, _on_tab_clicked) -func _on_button_hovered() -> void: - hover_sfx_player.play() +func _connect_once(sig: Signal, callable: Callable) -> void: + if not sig.is_connected(callable): + sig.connect(callable) -func _on_toggle_pressed(toggled_on: bool) -> void: - if toggled_on: - toggle_on_sfx_player.play() - else: - toggle_off_sfx_player.play() +func _on_button_hovered() -> void: + hover_sfx_player.play() func _on_button_pressed() -> void: @@ -55,3 +54,10 @@ func _on_slider_value_changed(_value: float) -> void: func _on_tab_clicked(_tab: int) -> void: button_sfx_player.play() + + +func _on_toggle_pressed(toggled_on: bool) -> void: + if toggled_on: + toggle_on_sfx_player.play() + else: + toggle_off_sfx_player.play() diff --git a/scenes/globals/uisfx_player/menu_ui_player.tscn b/scenes/globals/uisfx_player/menu_ui_player.tscn index dbdfae521..4b772b243 100644 --- a/scenes/globals/uisfx_player/menu_ui_player.tscn +++ b/scenes/globals/uisfx_player/menu_ui_player.tscn @@ -3,7 +3,7 @@ [ext_resource type="Script" uid="uid://bpti2tbv1ufco" path="res://scenes/globals/uisfx_player/menu_ui_player.gd" id="1_08877"] [ext_resource type="AudioStream" uid="uid://pk4mvg05n0uo" path="res://assets/first_party/sounds/ui/Click_single.wav" id="2_a0vny"] [ext_resource type="AudioStream" uid="uid://cba2ckeb3gxu1" path="res://assets/first_party/sounds/ui/Click.wav" id="3_73s60"] -[ext_resource type="AudioStream" uid="uid://b11jqkfbthwec" path="res://assets/first_party/sounds/ui/hover.wav" id="4_empwr"] +[ext_resource type="AudioStream" uid="uid://b11jqkfbthwec" path="res://assets/first_party/sounds/ui/Hover.wav" id="4_empwr"] [sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_7me2p"] random_pitch = 1.122462 From d301cefb5e642859b28a1f6bfaba9562f40cfbdb Mon Sep 17 00:00:00 2001 From: Manuel Date: Mon, 14 Sep 2026 13:11:26 -0500 Subject: [PATCH 4/4] fix: remove duplicate Hover.wav from scenes directory --- scenes/globals/uisfx_player/Hover.wav | 3 --- scenes/globals/uisfx_player/Hover.wav.import | 24 -------------------- 2 files changed, 27 deletions(-) delete mode 100644 scenes/globals/uisfx_player/Hover.wav delete mode 100644 scenes/globals/uisfx_player/Hover.wav.import diff --git a/scenes/globals/uisfx_player/Hover.wav b/scenes/globals/uisfx_player/Hover.wav deleted file mode 100644 index 142809db8..000000000 --- a/scenes/globals/uisfx_player/Hover.wav +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0c1d06dc57eccae3f8e84eb80691780c5b1f0482dc1f9d632426940f4fdf9aae -size 36942 diff --git a/scenes/globals/uisfx_player/Hover.wav.import b/scenes/globals/uisfx_player/Hover.wav.import deleted file mode 100644 index fecaef4b8..000000000 --- a/scenes/globals/uisfx_player/Hover.wav.import +++ /dev/null @@ -1,24 +0,0 @@ -[remap] - -importer="wav" -type="AudioStreamWAV" -uid="uid://fhwxhr0tcdlx" -path="res://.godot/imported/Hover.wav-6c5a173b9dd437f7e4cb1f1497a47d87.sample" - -[deps] - -source_file="res://scenes/globals/uisfx_player/Hover.wav" -dest_files=["res://.godot/imported/Hover.wav-6c5a173b9dd437f7e4cb1f1497a47d87.sample"] - -[params] - -force/8_bit=false -force/mono=false -force/max_rate=false -force/max_rate_hz=44100 -edit/trim=false -edit/normalize=false -edit/loop_mode=0 -edit/loop_begin=0 -edit/loop_end=-1 -compress/mode=2