Add settings menu options
parent
9075965e61
commit
3ac3ea268c
|
@ -0,0 +1,15 @@
|
|||
[gd_resource type="AudioBusLayout" format=2]
|
||||
|
||||
[resource]
|
||||
bus/1/name = "Sound"
|
||||
bus/1/solo = false
|
||||
bus/1/mute = false
|
||||
bus/1/bypass_fx = false
|
||||
bus/1/volume_db = 0.0
|
||||
bus/1/send = "Master"
|
||||
bus/2/name = "Music"
|
||||
bus/2/solo = false
|
||||
bus/2/mute = false
|
||||
bus/2/bypass_fx = false
|
||||
bus/2/volume_db = 0.0
|
||||
bus/2/send = "Master"
|
|
@ -31,6 +31,10 @@ run/main_scene="res://scenes/menu/main_menu.tscn"
|
|||
boot_splash/image="res://assets/bugged-racing-cover.png"
|
||||
config/icon="res://icon.png"
|
||||
|
||||
[autoload]
|
||||
|
||||
GlobalSettings="*res://settings/GlobalSettings.gd"
|
||||
|
||||
[gui]
|
||||
|
||||
theme/use_hidpi=true
|
||||
|
|
|
@ -0,0 +1,49 @@
|
|||
extends Panel
|
||||
|
||||
onready var master_bus := AudioServer.get_bus_index("Master")
|
||||
onready var sound_bus := AudioServer.get_bus_index("Sound")
|
||||
onready var music_bus := AudioServer.get_bus_index("Music")
|
||||
|
||||
onready var master_slider: HSlider = $MarginContainer/VSplitContainer/CenterContainer/VBoxContainer/MasterSlider
|
||||
onready var sound_slider: HSlider = $MarginContainer/VSplitContainer/CenterContainer/VBoxContainer/SoundEffectsSlider
|
||||
onready var music_slider: HSlider = $MarginContainer/VSplitContainer/CenterContainer/VBoxContainer/MusicSlider
|
||||
onready var auto_clutch_cb: CheckBox = $MarginContainer/VSplitContainer/CenterContainer/VBoxContainer/AutoClutchCheckBox
|
||||
onready var automatic_transmission_cb: CheckBox = $MarginContainer/VSplitContainer/CenterContainer/VBoxContainer/AutomaticTransmissionCheckBox
|
||||
onready var debug_cb: CheckBox = $MarginContainer/VSplitContainer/CenterContainer/VBoxContainer/DebugModeCheckBox
|
||||
|
||||
func _ready() -> void:
|
||||
master_slider.value = db2linear(AudioServer.get_bus_volume_db(master_bus))
|
||||
sound_slider.value = db2linear(AudioServer.get_bus_volume_db(sound_bus))
|
||||
music_slider.value = db2linear(AudioServer.get_bus_volume_db(music_bus))
|
||||
debug_cb.pressed = GlobalSettings.debug
|
||||
auto_clutch_cb.pressed = GlobalSettings.auto_clutch
|
||||
automatic_transmission_cb.pressed = GlobalSettings.automatic_transmission
|
||||
|
||||
|
||||
func _on_debug_toggled(new_state: bool) -> void:
|
||||
GlobalSettings.debug = new_state
|
||||
|
||||
|
||||
func _on_autoclutch_toggled(new_state: bool) -> void:
|
||||
GlobalSettings.auto_clutch = new_state
|
||||
|
||||
|
||||
func _on_automatictransmission_toggled(new_state: bool) -> void:
|
||||
GlobalSettings.automatic_transmission = new_state
|
||||
auto_clutch_cb.disabled = new_state == true
|
||||
|
||||
|
||||
func _on_BackButton_pressed() -> void:
|
||||
get_tree().change_scene("res://scenes/menu/main_menu.tscn")
|
||||
|
||||
|
||||
func _on_MasterSlider_value_changed(new_value: float) -> void:
|
||||
AudioServer.set_bus_volume_db(master_bus, linear2db(new_value))
|
||||
|
||||
|
||||
func _on_SoundEffectsSlider_value_changed(new_value: float) -> void:
|
||||
AudioServer.set_bus_volume_db(sound_bus, linear2db(new_value))
|
||||
|
||||
|
||||
func _on_MusicSlider_value_changed(new_value: float) -> void:
|
||||
AudioServer.set_bus_volume_db(music_bus, linear2db(new_value))
|
|
@ -0,0 +1,210 @@
|
|||
[gd_scene load_steps=7 format=2]
|
||||
|
||||
[ext_resource path="res://assets/fonts/kenney-future-narrow.ttf" type="DynamicFontData" id=1]
|
||||
[ext_resource path="res://scenes/menu/settings_menu.gd" type="Script" id=2]
|
||||
|
||||
[sub_resource type="DynamicFont" id=1]
|
||||
size = 64
|
||||
font_data = ExtResource( 1 )
|
||||
|
||||
[sub_resource type="DynamicFont" id=4]
|
||||
size = 24
|
||||
font_data = ExtResource( 1 )
|
||||
|
||||
[sub_resource type="DynamicFont" id=3]
|
||||
font_data = ExtResource( 1 )
|
||||
|
||||
[sub_resource type="DynamicFont" id=5]
|
||||
font_data = ExtResource( 1 )
|
||||
|
||||
[node name="SettingsMenu" type="Panel"]
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
script = ExtResource( 2 )
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="."]
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
margin_left = 20.0
|
||||
margin_top = 20.0
|
||||
margin_right = -20.0
|
||||
margin_bottom = -20.0
|
||||
|
||||
[node name="VSplitContainer" type="VSplitContainer" parent="MarginContainer"]
|
||||
margin_right = 984.0
|
||||
margin_bottom = 602.0
|
||||
dragger_visibility = 1
|
||||
|
||||
[node name="HSplitContainer" type="HSplitContainer" parent="MarginContainer/VSplitContainer"]
|
||||
margin_right = 984.0
|
||||
margin_bottom = 72.0
|
||||
dragger_visibility = 1
|
||||
|
||||
[node name="BackButton" type="Button" parent="MarginContainer/VSplitContainer/HSplitContainer"]
|
||||
margin_right = 75.0
|
||||
margin_bottom = 72.0
|
||||
text = "Back"
|
||||
|
||||
[node name="Title" type="Label" parent="MarginContainer/VSplitContainer/HSplitContainer"]
|
||||
margin_left = 99.0
|
||||
margin_right = 984.0
|
||||
margin_bottom = 72.0
|
||||
custom_fonts/font = SubResource( 1 )
|
||||
text = "Settings"
|
||||
align = 1
|
||||
valign = 1
|
||||
|
||||
[node name="CenterContainer" type="CenterContainer" parent="MarginContainer/VSplitContainer"]
|
||||
margin_top = 96.0
|
||||
margin_right = 984.0
|
||||
margin_bottom = 602.0
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/VSplitContainer/CenterContainer"]
|
||||
margin_left = 311.0
|
||||
margin_right = 672.0
|
||||
margin_bottom = 506.0
|
||||
|
||||
[node name="Gameplay" type="Label" parent="MarginContainer/VSplitContainer/CenterContainer/VBoxContainer"]
|
||||
margin_right = 361.0
|
||||
margin_bottom = 27.0
|
||||
custom_fonts/font = SubResource( 4 )
|
||||
text = "Gameplay"
|
||||
align = 1
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="AutoClutchCheckBox" type="CheckBox" parent="MarginContainer/VSplitContainer/CenterContainer/VBoxContainer"]
|
||||
margin_top = 35.0
|
||||
margin_right = 361.0
|
||||
margin_bottom = 83.0
|
||||
custom_fonts/font = SubResource( 3 )
|
||||
text = "Automatic Clutch"
|
||||
align = 1
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="AutomaticTransmissionCheckBox" type="CheckBox" parent="MarginContainer/VSplitContainer/CenterContainer/VBoxContainer"]
|
||||
margin_top = 91.0
|
||||
margin_right = 361.0
|
||||
margin_bottom = 139.0
|
||||
custom_fonts/font = SubResource( 3 )
|
||||
text = "Automatic Transmission"
|
||||
align = 1
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="AudioLabel" type="Label" parent="MarginContainer/VSplitContainer/CenterContainer/VBoxContainer"]
|
||||
margin_top = 147.0
|
||||
margin_right = 361.0
|
||||
margin_bottom = 174.0
|
||||
custom_fonts/font = SubResource( 4 )
|
||||
text = "Audio"
|
||||
align = 1
|
||||
|
||||
[node name="MasterLabel" type="Label" parent="MarginContainer/VSplitContainer/CenterContainer/VBoxContainer"]
|
||||
margin_top = 182.0
|
||||
margin_right = 361.0
|
||||
margin_bottom = 200.0
|
||||
custom_fonts/font = SubResource( 5 )
|
||||
text = "Master"
|
||||
align = 1
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="MasterSlider" type="HSlider" parent="MarginContainer/VSplitContainer/CenterContainer/VBoxContainer"]
|
||||
margin_top = 208.0
|
||||
margin_right = 361.0
|
||||
margin_bottom = 240.0
|
||||
max_value = 1.0
|
||||
step = 0.05
|
||||
value = 1.0
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="SoundEffectsLabel" type="Label" parent="MarginContainer/VSplitContainer/CenterContainer/VBoxContainer"]
|
||||
margin_top = 248.0
|
||||
margin_right = 361.0
|
||||
margin_bottom = 266.0
|
||||
custom_fonts/font = SubResource( 5 )
|
||||
text = "Sound Effects"
|
||||
align = 1
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="SoundEffectsSlider" type="HSlider" parent="MarginContainer/VSplitContainer/CenterContainer/VBoxContainer"]
|
||||
margin_top = 274.0
|
||||
margin_right = 361.0
|
||||
margin_bottom = 306.0
|
||||
max_value = 1.0
|
||||
step = 0.05
|
||||
value = 1.0
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="MusicLabel" type="Label" parent="MarginContainer/VSplitContainer/CenterContainer/VBoxContainer"]
|
||||
margin_top = 314.0
|
||||
margin_right = 361.0
|
||||
margin_bottom = 332.0
|
||||
custom_fonts/font = SubResource( 5 )
|
||||
text = "Music"
|
||||
align = 1
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="MusicSlider" type="HSlider" parent="MarginContainer/VSplitContainer/CenterContainer/VBoxContainer"]
|
||||
margin_top = 340.0
|
||||
margin_right = 361.0
|
||||
margin_bottom = 372.0
|
||||
max_value = 1.0
|
||||
step = 0.05
|
||||
value = 1.0
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="VideoLabel" type="Label" parent="MarginContainer/VSplitContainer/CenterContainer/VBoxContainer"]
|
||||
margin_top = 380.0
|
||||
margin_right = 361.0
|
||||
margin_bottom = 407.0
|
||||
custom_fonts/font = SubResource( 4 )
|
||||
text = "Video"
|
||||
align = 1
|
||||
|
||||
[node name="DebugLabel" type="Label" parent="MarginContainer/VSplitContainer/CenterContainer/VBoxContainer"]
|
||||
margin_top = 415.0
|
||||
margin_right = 361.0
|
||||
margin_bottom = 442.0
|
||||
custom_fonts/font = SubResource( 4 )
|
||||
text = "Debug"
|
||||
align = 1
|
||||
|
||||
[node name="DebugModeCheckBox" type="CheckBox" parent="MarginContainer/VSplitContainer/CenterContainer/VBoxContainer"]
|
||||
margin_top = 450.0
|
||||
margin_right = 361.0
|
||||
margin_bottom = 498.0
|
||||
custom_fonts/font = SubResource( 3 )
|
||||
text = "Debug mode (visible checkpoints)"
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer/VSplitContainer/CenterContainer/VBoxContainer"]
|
||||
margin_top = 506.0
|
||||
margin_right = 361.0
|
||||
margin_bottom = 506.0
|
||||
|
||||
[connection signal="pressed" from="MarginContainer/VSplitContainer/HSplitContainer/BackButton" to="." method="_on_BackButton_pressed"]
|
||||
[connection signal="toggled" from="MarginContainer/VSplitContainer/CenterContainer/VBoxContainer/AutoClutchCheckBox" to="." method="_on_autoclutch_toggled"]
|
||||
[connection signal="toggled" from="MarginContainer/VSplitContainer/CenterContainer/VBoxContainer/AutomaticTransmissionCheckBox" to="." method="_on_automatictransmission_toggled"]
|
||||
[connection signal="value_changed" from="MarginContainer/VSplitContainer/CenterContainer/VBoxContainer/MasterSlider" to="." method="_on_MasterSlider_value_changed"]
|
||||
[connection signal="value_changed" from="MarginContainer/VSplitContainer/CenterContainer/VBoxContainer/SoundEffectsSlider" to="." method="_on_SoundEffectsSlider_value_changed"]
|
||||
[connection signal="value_changed" from="MarginContainer/VSplitContainer/CenterContainer/VBoxContainer/MusicSlider" to="." method="_on_MusicSlider_value_changed"]
|
||||
[connection signal="toggled" from="MarginContainer/VSplitContainer/CenterContainer/VBoxContainer/DebugModeCheckBox" to="." method="_on_debug_toggled"]
|
|
@ -72,7 +72,6 @@ shape = SubResource( 3 )
|
|||
[node name="Track" type="Spatial" parent="."]
|
||||
script = ExtResource( 4 )
|
||||
track_path = NodePath("Path")
|
||||
debug = true
|
||||
debug_material = SubResource( 9 )
|
||||
|
||||
[node name="Path" type="Path" parent="Track"]
|
||||
|
|
|
@ -7,7 +7,6 @@ signal lap_complete(lap_time)
|
|||
export (NodePath) var track_path = null
|
||||
export (int, 10, 50) var checkpoint_count = 20
|
||||
export (Vector2) var checkpoint_dim = Vector2(20, 15)
|
||||
export (bool) var debug = false
|
||||
export (Material) var debug_material = null
|
||||
|
||||
onready var checkpoints = $Checkpoints
|
||||
|
@ -28,7 +27,7 @@ func _ready() -> void:
|
|||
new_checkpoint.transform.origin = path.curve.interpolate_baked(section, true)
|
||||
section += section_size
|
||||
checkpoints.add_child(new_checkpoint)
|
||||
if debug:
|
||||
if GlobalSettings.debug:
|
||||
var mesh = CylinderMesh.new()
|
||||
mesh.top_radius = checkpoint_dim.y
|
||||
mesh.bottom_radius = checkpoint_dim.y
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
extends Node
|
||||
|
||||
|
||||
var debug: bool = false
|
||||
var auto_clutch: bool = false
|
||||
var automatic_transmission: bool = false
|
|
@ -96,6 +96,7 @@ shape = SubResource( 1 )
|
|||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.14201, 0.968668 )
|
||||
stream = SubResource( 2 )
|
||||
unit_db = 14.0
|
||||
bus = "Sound"
|
||||
|
||||
[node name="Smoke" type="Particles" parent="." index="8"]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.31514, 0.383062, -1.51247 )
|
||||
|
|
|
@ -98,6 +98,7 @@ transform = Transform( -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )
|
|||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.14201, 0.968668 )
|
||||
stream = SubResource( 3 )
|
||||
unit_db = 14.0
|
||||
bus = "Sound"
|
||||
|
||||
[node name="Smoke" type="Particles" parent="." index="8"]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.855953, -1.87797 )
|
||||
|
|
|
@ -98,6 +98,7 @@ shape = SubResource( 11 )
|
|||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.791119, -2.27857 )
|
||||
stream = SubResource( 12 )
|
||||
unit_db = 14.0
|
||||
bus = "Sound"
|
||||
|
||||
[node name="Smoke" type="Particles" parent="." index="8"]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.686323, -2.72067 )
|
||||
|
|
|
@ -42,4 +42,5 @@ script = ExtResource( 1 )
|
|||
stream = SubResource( 6 )
|
||||
unit_db = 25.0
|
||||
unit_size = 2.0
|
||||
bus = "Sound"
|
||||
area_mask = 2
|
||||
|
|
Loading…
Reference in New Issue