master volume settings

This commit is contained in:
Altaezio
2026-07-20 17:05:49 +02:00
parent 65f806b1f1
commit 50b517f7ea
4 changed files with 43 additions and 16 deletions
@@ -30,6 +30,11 @@ const AVAILABLE_LANGUAGES_LABEL = [
#region ------------------ Sound ------------------
@export var master_volume : float = 1.0 :
set(v):
master_volume = v
sound_changed.emit(self)
@export var music_volume : float = 0.7 :
set(v):
music_volume = v
+1
View File
@@ -92,6 +92,7 @@ func _on_settings_language_changed(s : SettingsData):
update_language_settings(s)
func _on_settings_sound_changed(s : SettingsData):
AudioServer.set_bus_volume_db(0, linear_to_db(s.master_volume))
AudioServer.set_bus_volume_db(SettingsData.MUSIC_BUS_ID, linear_to_db(s.music_volume))
AudioServer.set_bus_volume_db(SettingsData.SFX_BUS_ID, linear_to_db(s.sfx_volume))
AudioServer.set_bus_volume_db(SettingsData.AMBIANCE_BUS_ID, linear_to_db(s.ambiance_volume))
+14 -12
View File
@@ -49,6 +49,7 @@ func setup_languages():
optionButton.selected = SettingsData.AVAILABLE_LANGUAGES.find(settings.language)
func setup_sound():
%MasterSlider.value = settings.master_volume
%MusicSlider.value = settings.music_volume
%EnvSlider.value = settings.ambiance_volume
%SFXSlider.value = settings.sfx_volume
@@ -83,20 +84,21 @@ func _on_language_option_button_item_selected(index: int):
func _on_full_screen_check_box_toggled(toggled_on: bool):
settings.full_screen = toggled_on
func _on_music_slider_value_changed(value: float):
if value != settings.music_volume:
%MusicTestPlayer.play()
settings.music_volume = min(1.0, value)
func _on_master_slider_drag_ended(_value_changed: bool) -> void:
%MasterTestPlayer.play()
settings.master_volume = clamp(%MasterSlider.value, 0.0, 1.0)
func _on_env_slider_value_changed(value: float):
if value != settings.ambiance_volume:
%AudioStreamPlayer.play()
settings.ambiance_volume = min(1.0, value)
func _on_music_slider_drag_endeded(_value_changed: bool) -> void:
%MusicTestPlayer.play()
settings.music_volume = clamp(%MusicSlider.value, 0.0, 1.0)
func _on_sfx_slider_value_changed(value: float):
if value != settings.sfx_volume:
%SfxTestPlayer.play()
settings.sfx_volume = min(1.0, value)
func _on_env_slider_drag_endeded(_value_changed: bool) -> void:
%AmbianceTestPlayer.play()
settings.ambiance_volume = clamp(%EnvSlider.value, 0.0, 1.0)
func _on_sfx_slider_drag_endeded(_value_changed: bool) -> void:
%SfxTestPlayer.play()
settings.sfx_volume = clamp(%SFXSlider.value, 0.0, 1.0)
func _on_auto_pickup_check_box_toggled(toggled_on: bool):
settings.auto_pickup = toggled_on
+23 -4
View File
@@ -87,6 +87,20 @@ title = "SOUND"
layout_mode = 2
columns = 2
[node name="MasterText" parent="SettingsWindow/WindowContent/MarginContainer/ContentContainer/MarginContainer/SettingsContent/SoundSliders" unique_id=1907057953 instance=ExtResource("4_rbiwc")]
layout_mode = 2
text = "MASTER_VOLUME"
[node name="MasterSlider" type="HSlider" parent="SettingsWindow/WindowContent/MarginContainer/ContentContainer/MarginContainer/SettingsContent/SoundSliders" unique_id=886808622]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
theme = ExtResource("2_7t8mv")
max_value = 1.0
step = 0.01
value = 1.0
[node name="MusicText" parent="SettingsWindow/WindowContent/MarginContainer/ContentContainer/MarginContainer/SettingsContent/SoundSliders" unique_id=282651139 instance=ExtResource("4_rbiwc")]
layout_mode = 2
text = "MUSIC_VOLUME"
@@ -281,12 +295,16 @@ text = "PSEUDO_GATHERED "
horizontal_alignment = 1
vertical_alignment = 1
[node name="MasterTestPlayer" type="AudioStreamPlayer" parent="." unique_id=1170520824]
unique_name_in_owner = true
stream = ExtResource("6_8f00b")
[node name="MusicTestPlayer" type="AudioStreamPlayer" parent="." unique_id=1716804039]
unique_name_in_owner = true
stream = ExtResource("6_8f00b")
bus = &"Music"
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="." unique_id=658541025]
[node name="AmbianceTestPlayer" type="AudioStreamPlayer" parent="." unique_id=658541025]
unique_name_in_owner = true
stream = ExtResource("6_8f00b")
bus = &"Ambiance"
@@ -297,9 +315,10 @@ stream = ExtResource("6_8f00b")
bus = &"Sfx"
[connection signal="item_selected" from="SettingsWindow/WindowContent/MarginContainer/ContentContainer/MarginContainer/SettingsContent/LanguageSettings/LanguageOptionButton" to="." method="_on_language_option_button_item_selected"]
[connection signal="value_changed" from="SettingsWindow/WindowContent/MarginContainer/ContentContainer/MarginContainer/SettingsContent/SoundSliders/MusicSlider" to="." method="_on_music_slider_value_changed"]
[connection signal="value_changed" from="SettingsWindow/WindowContent/MarginContainer/ContentContainer/MarginContainer/SettingsContent/SoundSliders/EnvSlider" to="." method="_on_env_slider_value_changed"]
[connection signal="value_changed" from="SettingsWindow/WindowContent/MarginContainer/ContentContainer/MarginContainer/SettingsContent/SoundSliders/SFXSlider" to="." method="_on_sfx_slider_value_changed"]
[connection signal="drag_ended" from="SettingsWindow/WindowContent/MarginContainer/ContentContainer/MarginContainer/SettingsContent/SoundSliders/MasterSlider" to="." method="_on_master_slider_drag_ended"]
[connection signal="drag_ended" from="SettingsWindow/WindowContent/MarginContainer/ContentContainer/MarginContainer/SettingsContent/SoundSliders/MusicSlider" to="." method="_on_music_slider_drag_endeded"]
[connection signal="drag_ended" from="SettingsWindow/WindowContent/MarginContainer/ContentContainer/MarginContainer/SettingsContent/SoundSliders/EnvSlider" to="." method="_on_env_slider_drag_endeded"]
[connection signal="drag_ended" from="SettingsWindow/WindowContent/MarginContainer/ContentContainer/MarginContainer/SettingsContent/SoundSliders/SFXSlider" to="." method="_on_sfx_slider_drag_endeded"]
[connection signal="toggled" from="SettingsWindow/WindowContent/MarginContainer/ContentContainer/MarginContainer/SettingsContent/VideoSettings/FullScreenCheckBox" to="." method="_on_full_screen_check_box_toggled"]
[connection signal="value_changed" from="SettingsWindow/WindowContent/MarginContainer/ContentContainer/MarginContainer/SettingsContent/VideoSettings/UiSizeSlider" to="." method="_on_ui_size_slider_value_changed"]
[connection signal="value_changed" from="SettingsWindow/WindowContent/MarginContainer/ContentContainer/MarginContainer/SettingsContent/VideoSettings/FovSlider" to="." method="_on_fov_slider_value_changed"]