frame-of-mind/src/logic-scenes/main menu/video_settings.tscn

351 lines
10 KiB
Plaintext
Raw Normal View History

2024-09-27 20:02:28 +00:00
[gd_scene load_steps=3 format=3 uid="uid://gmxenhavh1lp"]
[ext_resource type="Script" path="res://logic-scenes/main menu/video_settings.gd" id="1_sii8g"]
[sub_resource type="GDScript" id="GDScript_24hb5"]
script/source = "@tool
extends SpinBox
func reset():
value = 1
var normal_stylebox:StyleBoxFlat = get_line_edit().get_theme_stylebox(\"normal\")
var focus_stylebox:StyleBoxFlat
var edit_stylebox:StyleBoxFlat
@export var hold_down_delay: float = 0.5
@export var repeat_delay: float = 0.1
@export_range(1, 100) var repeat_multiplier: int = 1
@export var pressed: bool = false:
set(value):
pressed = value
if pressed:
prefix = \"<\"
suffix = \">\"
get_line_edit().add_theme_stylebox_override(\"normal\", edit_stylebox)
else:
prefix = \" \"
suffix = \" \"
get_line_edit().add_theme_stylebox_override(\"normal\", focus_stylebox)
func _ready() -> void:
edit_stylebox = normal_stylebox.duplicate(true)
edit_stylebox.bg_color = Color(\"#022635\")
focus_stylebox = normal_stylebox.duplicate(true)
focus_stylebox.border_width_bottom = 2
focus_stylebox.border_width_left = 2
focus_stylebox.border_width_right = 2
focus_stylebox.border_width_top = 2
focus_stylebox.border_color = Color.WHITE
focus_entered.connect(_on_focus_enter)
focus_exited.connect(_on_focus_exit)
func _input(event: InputEvent) -> void:
if has_focus():
if Input.is_action_just_pressed(\"ui_accept\"):
print(\"pressed!\")
print(pressed)
pressed = not pressed
print(pressed)
get_viewport().set_input_as_handled()
if pressed:
if Input.is_action_just_pressed(\"ui_up\") or Input.is_action_just_pressed(\"ui_right\"):
value += step
get_viewport().set_input_as_handled()
await(get_tree().create_timer(hold_down_delay).timeout)
while Input.is_action_pressed(\"ui_up\") or Input.is_action_pressed(\"ui_right\"):
value += step * repeat_multiplier
await(get_tree().create_timer(repeat_delay).timeout)
elif Input.is_action_just_pressed(\"ui_down\") or Input.is_action_just_pressed(\"ui_left\"):
value -= step
get_viewport().set_input_as_handled()
else:
if Input.is_action_just_pressed(\"ui_up\"):
print(focus_neighbor_top)
func _on_focus_enter():
get_line_edit().add_theme_stylebox_override(\"normal\", focus_stylebox)
func _on_focus_exit():
get_line_edit().remove_theme_stylebox_override(\"normal\")
"
[node name="Video Settings" type="TabBar"]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_sii8g")
[node name="VBoxContainer" type="VBoxContainer" parent="."]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="Label" type="Label" parent="VBoxContainer"]
layout_mode = 2
theme_type_variation = &"HeaderLarge"
text = "Video Settings"
[node name="GridContainer" type="GridContainer" parent="VBoxContainer"]
layout_mode = 2
columns = 2
[node name="General" type="Label" parent="VBoxContainer/GridContainer"]
layout_mode = 2
theme_type_variation = &"HeaderMedium"
text = "General"
[node name="HSeparator" type="HSeparator" parent="VBoxContainer/GridContainer"]
layout_mode = 2
[node name="Preset" type="Label" parent="VBoxContainer/GridContainer"]
layout_mode = 2
text = "apply preset"
[node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer/GridContainer"]
layout_mode = 2
[node name="PerformancePreset" type="Button" parent="VBoxContainer/GridContainer/HBoxContainer2"]
unique_name_in_owner = true
layout_mode = 2
text = "Performance"
[node name="BalancedPreset" type="Button" parent="VBoxContainer/GridContainer/HBoxContainer2"]
unique_name_in_owner = true
layout_mode = 2
text = "Balanced"
[node name="QualityPreset" type="Button" parent="VBoxContainer/GridContainer/HBoxContainer2"]
unique_name_in_owner = true
layout_mode = 2
text = "Quality"
[node name="Label" type="Label" parent="VBoxContainer/GridContainer"]
layout_mode = 2
text = "Fulscreen Mode"
[node name="FullscreenMode" type="OptionButton" parent="VBoxContainer/GridContainer"]
unique_name_in_owner = true
layout_mode = 2
selected = 1
item_count = 3
popup/item_0/text = "Windowed"
popup/item_1/text = "Fullscreen"
popup/item_1/id = 1
popup/item_2/text = "exclusive Fullscreen"
popup/item_2/id = 2
[node name="Scale_Label" type="Label" parent="VBoxContainer/GridContainer"]
layout_mode = 2
text = "Rendering Scale"
[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/GridContainer"]
layout_mode = 2
[node name="Button" type="Button" parent="VBoxContainer/GridContainer/HBoxContainer"]
layout_mode = 2
text = "reset"
[node name="RenderScale" type="SpinBox" parent="VBoxContainer/GridContainer/HBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
focus_mode = 2
min_value = 0.25
max_value = 2.0
step = 0.05
value = 1.0
prefix = " "
suffix = " "
custom_arrow_step = 0.25
select_all_on_focus = true
script = SubResource("GDScript_24hb5")
[node name="Label3" type="Label" parent="VBoxContainer/GridContainer"]
layout_mode = 2
text = "Super Resolution"
[node name="SuperResolution" type="OptionButton" parent="VBoxContainer/GridContainer"]
unique_name_in_owner = true
layout_mode = 2
selected = 0
item_count = 3
popup/item_0/text = "disabled"
popup/item_1/text = "FSR 1.0"
popup/item_1/id = 1
popup/item_2/text = "FSR 2.2"
popup/item_2/id = 2
[node name="EnableFps" type="CheckBox" parent="VBoxContainer/GridContainer"]
unique_name_in_owner = true
layout_mode = 2
text = "limit FPS"
[node name="MaxFps" type="SpinBox" parent="VBoxContainer/GridContainer"]
unique_name_in_owner = true
layout_mode = 2
focus_mode = 2
min_value = 24.0
max_value = 144.0
value = 60.0
prefix = " "
suffix = " "
script = SubResource("GDScript_24hb5")
repeat_multiplier = 5
[node name="Rendering" type="Label" parent="VBoxContainer/GridContainer"]
layout_mode = 2
theme_type_variation = &"HeaderMedium"
text = "Rendering"
[node name="HSeparator2" type="HSeparator" parent="VBoxContainer/GridContainer"]
layout_mode = 2
[node name="Label4" type="Label" parent="VBoxContainer/GridContainer"]
layout_mode = 2
text = "Lighting Quality"
[node name="LightingQuality" type="OptionButton" parent="VBoxContainer/GridContainer"]
unique_name_in_owner = true
layout_mode = 2
selected = 1
item_count = 4
popup/item_0/text = "minimum"
popup/item_1/text = "low SDGI"
popup/item_1/id = 1
popup/item_2/text = "medium SDGI and SI"
popup/item_2/id = 2
popup/item_3/text = "high SDGI and SI"
popup/item_3/id = 3
[node name="ShadowLabel" type="Label" parent="VBoxContainer/GridContainer"]
layout_mode = 2
text = "Shadow Quality"
[node name="ShadowQuality" type="OptionButton" parent="VBoxContainer/GridContainer"]
unique_name_in_owner = true
layout_mode = 2
selected = 1
item_count = 3
popup/item_0/text = "performance"
popup/item_1/text = "balanced"
popup/item_1/id = 1
popup/item_2/text = "quality"
popup/item_2/id = 2
[node name="FilterLabel" type="Label" parent="VBoxContainer/GridContainer"]
layout_mode = 2
text = "Texture Filtering"
[node name="TextureFiltering" type="OptionButton" parent="VBoxContainer/GridContainer"]
unique_name_in_owner = true
layout_mode = 2
selected = 1
item_count = 6
popup/item_0/text = "disabled"
popup/item_1/text = "1x (very fast)"
popup/item_1/id = 1
popup/item_2/text = "2x (fast)"
popup/item_2/id = 2
popup/item_3/text = "4x (average)"
popup/item_3/id = 3
popup/item_4/text = "8x (slow)"
popup/item_4/id = 4
popup/item_5/text = "16x (slowest)"
popup/item_5/id = 5
[node name="AlaisingLabel" type="Label" parent="VBoxContainer/GridContainer"]
layout_mode = 2
text = "Anti Aliasing"
[node name="AntiAlaising" type="OptionButton" parent="VBoxContainer/GridContainer"]
unique_name_in_owner = true
layout_mode = 2
selected = 1
item_count = 4
popup/item_0/text = "disabled"
popup/item_1/text = "2x MSAA"
popup/item_1/id = 1
popup/item_2/text = "4x MSAA"
popup/item_2/id = 2
popup/item_3/text = "8x MSAA"
popup/item_3/id = 3
[node name="SyncLabel" type="Label" parent="VBoxContainer/GridContainer"]
layout_mode = 2
text = "v-Sync"
[node name="vSync" type="OptionButton" parent="VBoxContainer/GridContainer"]
unique_name_in_owner = true
layout_mode = 2
selected = 1
item_count = 4
popup/item_0/text = "disabled"
popup/item_1/text = "enabled"
popup/item_1/id = 1
popup/item_2/text = "adaptive"
popup/item_2/id = 2
popup/item_3/text = "Letterbox"
popup/item_3/id = 3
[node name="ExitButton" type="Button" parent="VBoxContainer/GridContainer"]
layout_mode = 2
text = "discard"
[node name="ConfirmButton" type="Button" parent="VBoxContainer/GridContainer"]
layout_mode = 2
text = "save and apply"
[node name="Popup" type="Popup" parent="."]
scaling_3d_scale = 0.6
initial_position = 2
size = Vector2i(546, 123)
[node name="VBoxContainer" type="VBoxContainer" parent="Popup"]
offset_left = 113.0
offset_right = 153.0
offset_bottom = 40.0
[node name="Label" type="Label" parent="Popup/VBoxContainer"]
layout_mode = 2
text = "Settings have been modified.
Do you really want to leave without saving?"
horizontal_alignment = 1
[node name="HBoxContainer" type="HBoxContainer" parent="Popup/VBoxContainer"]
layout_mode = 2
alignment = 1
[node name="ConfirmExit" type="Button" parent="Popup/VBoxContainer/HBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
text = "leave"
[node name="ConfirmSave" type="Button" parent="Popup/VBoxContainer/HBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
text = "save"
[node name="ConfirmAbort" type="Button" parent="Popup/VBoxContainer/HBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
text = "abort"
[connection signal="pressed" from="VBoxContainer/GridContainer/HBoxContainer2/PerformancePreset" to="." method="_on_performance_preset_pressed"]
[connection signal="pressed" from="VBoxContainer/GridContainer/HBoxContainer2/BalancedPreset" to="." method="_on_balanced_preset_pressed"]
[connection signal="pressed" from="VBoxContainer/GridContainer/HBoxContainer2/QualityPreset" to="." method="_on_quality_preset_pressed"]
[connection signal="pressed" from="VBoxContainer/GridContainer/HBoxContainer/Button" to="VBoxContainer/GridContainer/HBoxContainer/RenderScale" method="reset"]
[connection signal="pressed" from="VBoxContainer/GridContainer/ExitButton" to="." method="_on_exit_button_pressed"]
[connection signal="pressed" from="VBoxContainer/GridContainer/ConfirmButton" to="." method="_on_confirm_button_pressed"]