open-fpsz/interfaces/menus/boot/boot.tscn
2024-04-26 13:43:15 -04:00

1576 lines
66 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[gd_scene load_steps=8 format=3 uid="uid://bjctlqvs33nqy"]
[ext_resource type="Texture2D" uid="uid://c1tjamjm8qjog" path="res://interfaces/menus/boot/background.webp" id="1_ph586"]
[sub_resource type="GDScript" id="GDScript_jd8xf"]
resource_name = "MainMenu"
script/source = "class_name BootMenu extends CanvasLayer
signal start_demo
func _on_demo_pressed() -> void:
start_demo.emit()
func _on_multiplayer_pressed() -> void:
%MultiplayerPanelContainer.hide()
%MultiplayerPanelContainer.tab_container.current_tab = 0
%SettingsPanelContainer.hide()
%MainPanelContainer.hide()
%MultiplayerPanelContainer.show()
func _on_settings_pressed() -> void:
%MultiplayerPanelContainer.hide()
%MultiplayerPanelContainer.tab_container.current_tab = 0
%SettingsPanelContainer.show()
%MainPanelContainer.hide()
func _on_quit_pressed() -> void:
get_tree().quit()
func _on_main_menu_pressed() -> void:
%MultiplayerPanelContainer.hide()
%MultiplayerPanelContainer.tab_container.current_tab = 0
%SettingsPanelContainer.hide()
%MainPanelContainer.show()
"
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_krqeq"]
bg_color = Color(0.501961, 0.501961, 0.501961, 0.25098)
[sub_resource type="GDScript" id="GDScript_tc1bm"]
script/source = "extends PanelContainer
const DEFAULT_HOST : String = \"localhost\"
const DEFAULT_PORT : int = 9000
const CONFIG_FILE_PATH : String = \"user://profile.cfg\"
var _join_address : RegEx = RegEx.new()
var _registered_ports : RegEx = RegEx.new()
var _config_file : ConfigFile = ConfigFile.new()
signal start_server(port : int)
signal join_server(host : String, port : int)
@onready var modal : Control = $Modal
@onready var menu : CanvasLayer = get_parent()
@onready var game : Node3D = get_tree().current_scene.get_node(\"/root/Game\")
@onready var map_selector : OptionButton = %MapSelector
@export var tab_container : TabContainer
func _ready() -> void:
# see https://datatracker.ietf.org/doc/html/rfc1700
_registered_ports.compile(r'^(?:102[4-9]|10[3-9]\\d|1[1-9]\\d{2}|[2-9]\\d{3}|[1-5]\\d{4}|6[0-4]\\d{3}|65[0-4]\\d{2}|655[0-2]\\d|6553[0-5])$')
_join_address.compile(r'^(?<host>[a-zA-Z0-9.-]+)(:(?<port>:102[4-9]|10[3-9]\\d|1[1-9]\\d{2}|[2-9]\\d{3}|[1-5]\\d{4}|6[0-4]\\d{3}|65[0-4]\\d{2}|655[0-2]\\d|6553[0-5]))?$')
_load_config()
call_deferred(\"_populate_map_selector\")
func _populate_map_selector() -> void:
for map : PackedScene in game.maps:
var map_name : String = map._bundled.names[0]
map_selector.add_item(map_name)
func _load_config() -> void:
var error : Error = _config_file.load(CONFIG_FILE_PATH)
if error != OK:
return
var profile_name : String = _config_file.get_value(\"profile\", \"name\", \"Newblood\")
%ProfileName.text = profile_name
func _on_save_pressed() -> void:
_config_file.set_value(\"profile\", \"name\", %ProfileName.text)
_config_file.save(CONFIG_FILE_PATH)
func _on_menu_pressed() -> void:
hide()
owner.get_node(\"Main\").show()
func _on_quit_pressed() -> void:
get_tree().quit()
func _on_host_pressed() -> void:
var port : int = DEFAULT_PORT
# check for registered ports number matches
if %ServerPort.text:
var result : RegExMatch = _registered_ports.search(%ServerPort.text)
if result: # port is valid
port = int(result.get_string())
else: # port is not valid
push_warning(\"A valid port number in the range 1024-65535 is required.\")
return
start_server.emit(port, %ProfileName.text)
func _on_join_pressed() -> void:
var addr : Array = [DEFAULT_HOST, DEFAULT_PORT]
# validate join address input
var result : RegExMatch = _join_address.search(%JoinAddress.text)
if result: # address is valid
addr[0] = result.get_string(\"host\")
var rport : String = result.get_string(\"port\")
if rport: addr[1] = int(rport)
$Modal.show()
join_server.emit(addr[0], addr[1], %ProfileName.text)
func _on_connected_to_server() -> void:
$Modal.hide()
menu.hide()
func _on_connection_failed() -> void:
$Modal.hide()
"
[sub_resource type="GDScript" id="GDScript_gbnwv"]
resource_name = "Settings"
script/source = "extends PanelContainer
const WINDOW_MODE_OPTIONS = [DisplayServer.WINDOW_MODE_WINDOWED, DisplayServer.WINDOW_MODE_FULLSCREEN]
func _ready() -> void:
print(Settings)
# video settings
%UIScaleOptionButton.selected = Settings.get_value(\"ui\", \"scale\")
%QualitySlider.value = Settings.get_value(\"video\", \"quality\")
%FilterOptionButton.selected = Settings.get_value(\"video\", \"filter\")
%FSRSharpnessSlider.value = Settings.get_value(\"video\", \"fsr_sharpness\")
%WindowModeOptionButton.selected = Settings.get_value(\"video\", \"window_mode\")
%VsyncOptionButton.selected = Settings.get_value(\"video\", \"vsync\")
%TAAOptionButton.selected = Settings.get_value(\"video\", \"taa\")
%MSAAOptionButton.selected = Settings.get_value(\"video\", \"msaa\")
%FXAAOptionButton.selected = Settings.get_value(\"video\", \"fxaa\")
%FOVSlider.value = Settings.get_value(\"video\", \"fov\")
# quality settings
%ShadowSizeOptionButton.selected = Settings.get_value(\"quality\", \"shadow_size\")
%ShadowFilterOptionButton.selected = Settings.get_value(\"quality\", \"shadow_filter\")
%MeshLODOptionButton.selected = Settings.get_value(\"quality\", \"mesh_lod\")
# environment settings
# @NOTE: disabled for now as not adapted to our env management
#%SDFGIOptionButton.selected = Settings.get_value(\"environment\", \"sdfgi\")
#%GlowOptionButton.selected = Settings.get_value(\"environment\", \"glow\")
#%SSAOOptionButton.selected = Settings.get_value(\"environment\", \"saoo\")
#%SSReflectionsOptionButton.selected = Settings.get_value(\"environment\", \"ssr\")
#%SSILOptionButton.selected = Settings.get_value(\"environment\", \"ssil\")
#%VolumetricFogOptionButton.selected = Settings.get_value(\"environment\", \"volumetric_fog\")
# adjustments settings
%SensitivitySpinBox.value = Settings.get_value(\"controls\", \"mouse_sensitivity\")
%InvertedYCheckbox.button_pressed = Settings.get_value(\"controls\", \"inverted_y_axis\")
func _on_ui_scale_option_button_item_selected(index: int) -> void:
Settings.set_value(\"ui\", \"scale\", clamp(index, 0, 2))
# When the screen changes size, we need to update the 3D
# viewport quality setting. If we don't do this, the viewport will take
# the size from the main viewport.
var new_size := Vector2(
ProjectSettings.get_setting(&\"display/window/size/viewport_width\"),
ProjectSettings.get_setting(&\"display/window/size/viewport_height\")
)
# compute new size
if index == 0: # Smaller (66%)
new_size *= 1.5
elif index == 1: # Small (80%)
new_size *= 1.25
elif index == 2: # Medium (100%) (default)
new_size *= 1.
elif index == 3: # Large (133%)
new_size *= .75
elif index == 4: # Larger (200%)
new_size *= .5
# update scale
get_tree().root.set_content_scale_size(new_size)
func _on_quality_slider_value_changed(value: float) -> void:
Settings.set_value(\"video\", \"quality\", value)
get_viewport().scaling_3d_scale = value
func _on_filter_option_button_item_selected(index: int) -> void:
Settings.set_value(\"video\", \"filter\", index)
# Viewport scale mode setting.
if index == 0: # Bilinear (Fastest)
get_viewport().scaling_3d_mode = Viewport.SCALING_3D_MODE_BILINEAR
# FSR Sharpness is only effective when the scaling mode is FSR 1.0.
%FSRSharpnessLabel.visible = false
%FSRSharpnessSlider.visible = false
elif index == 1: # FSR 1.0 (Fast)
get_viewport().scaling_3d_mode = Viewport.SCALING_3D_MODE_FSR
# FSR Sharpness is only effective when the scaling mode is FSR 1.0.
%FSRSharpnessLabel.visible = true
%FSRSharpnessSlider.visible = true
func _on_window_mode_option_button_item_selected(index : int) -> void:
Settings.set_value(\"video\", \"window_mode\", clamp(index, 0, 2))
if index == 0: # Windowed (default)
get_tree().root.set_mode(Window.MODE_WINDOWED)
elif index == 1: # Fullscreen
get_tree().root.set_mode(Window.MODE_FULLSCREEN)
elif index == 2: # Exclusive Fullscreen
get_tree().root.set_mode(Window.MODE_EXCLUSIVE_FULLSCREEN)
func _on_fsr_sharpness_slider_value_changed(value: float) -> void:
Settings.set_value(\"video\", \"fsr_sharpness\", value)
# Lower FSR sharpness values result in a sharper image.
# Invert the slider so that higher values result in a sharper image,
# which is generally expected from users.
get_viewport().fsr_sharpness = 2.0 - value
func _on_vsync_option_button_item_selected(index: int) -> void:
Settings.set_value(\"video\", \"vsync\", index)
# Vsync is enabled by default.
# Vertical synchronization locks framerate and makes screen tearing not visible at the cost of
# higher input latency and stuttering when the framerate target is not met.
# Adaptive V-Sync automatically disables V-Sync when the framerate target is not met, and enables
# V-Sync otherwise. This prevents suttering and reduces input latency when the framerate target
# is not met, at the cost of visible tearing.
if index == 0: # Disabled (default)
DisplayServer.window_set_vsync_mode(DisplayServer.VSYNC_DISABLED)
elif index == 1: # Adaptive
DisplayServer.window_set_vsync_mode(DisplayServer.VSYNC_ADAPTIVE)
elif index == 2: # Enabled
DisplayServer.window_set_vsync_mode(DisplayServer.VSYNC_ENABLED)
func _on_taa_option_button_item_selected(index: int) -> void:
Settings.set_value(\"video\", \"taa\", index)
# Temporal antialiasing. Smooths out everything including specular aliasing, but can introduce
# ghosting artifacts and blurring in motion. Moderate performance cost.
get_viewport().use_taa = index == 1
func _on_msaa_option_button_item_selected(index: int) -> void:
Settings.set_value(\"video\", \"msaa\", index)
# Multi-sample anti-aliasing. High quality, but slow. It also does not smooth out the edges of
# transparent (alpha scissor) textures.
if index == 0: # Disabled (default)
get_viewport().msaa_3d = Viewport.MSAA_DISABLED
elif index == 1: # 2×
get_viewport().msaa_3d = Viewport.MSAA_2X
elif index == 2: # 4×
get_viewport().msaa_3d = Viewport.MSAA_4X
elif index == 3: # 8×
get_viewport().msaa_3d = Viewport.MSAA_8X
func _on_fxaa_option_button_item_selected(index: int) -> void:
Settings.set_value(\"video\", \"fxaa\", index)
# Fast approximate anti-aliasing. Much faster than MSAA (and works on alpha scissor edges),
# but blurs the whole scene rendering slightly.
get_viewport().screen_space_aa = int(index == 1) as Viewport.ScreenSpaceAA
func _on_fov_slider_value_changed(value: float) -> void:
Settings.set_value(\"video\", \"fov\", value)
# Quality settings.
func _on_shadow_size_option_button_item_selected(index : int) -> void:
Settings.set_value(\"quality\", \"shadow_size\", index)
if index == 0: # Minimum
RenderingServer.directional_shadow_atlas_set_size(512, true)
# Adjust shadow bias according to shadow resolution.
# Higher resultions can use a lower bias without suffering from shadow acne.
Settings.set_value(\"quality\", \"shadow_bias\", 0.06)
#directional_light.shadow_bias = Settings.get_value(\"quality\", \"shadow_bias\")
# Disable positional (omni/spot) light shadows entirely to further improve performance.
# These often don't contribute as much to a scene compared to directional light shadows.
get_viewport().positional_shadow_atlas_size = 0
if index == 1: # Very Low
RenderingServer.directional_shadow_atlas_set_size(1024, true)
Settings.set_value(\"quality\", \"shadow_bias\", 0.04)
#directional_light.shadow_bias = Settings.get_value(\"quality\", \"shadow_bias\")
get_viewport().positional_shadow_atlas_size = 1024
if index == 2: # Low
RenderingServer.directional_shadow_atlas_set_size(2048, true)
Settings.set_value(\"quality\", \"shadow_bias\", 0.03)
#directional_light.shadow_bias = Settings.get_value(\"quality\", \"shadow_bias\")
get_viewport().positional_shadow_atlas_size = 2048
if index == 3: # Medium (default)
RenderingServer.directional_shadow_atlas_set_size(4096, true)
Settings.set_value(\"quality\", \"shadow_bias\", 0.02)
#directional_light.shadow_bias = Settings.get_value(\"quality\", \"shadow_bias\")
get_viewport().positional_shadow_atlas_size = 4096
if index == 4: # High
RenderingServer.directional_shadow_atlas_set_size(8192, true)
Settings.set_value(\"quality\", \"shadow_bias\", 0.01)
#directional_light.shadow_bias = Settings.get_value(\"quality\", \"shadow_bias\")
get_viewport().positional_shadow_atlas_size = 8192
if index == 5: # Ultra
RenderingServer.directional_shadow_atlas_set_size(16384, true)
Settings.set_value(\"quality\", \"shadow_bias\", 0.005)
#directional_light.shadow_bias = Settings.get_value(\"quality\", \"shadow_bias\")
get_viewport().positional_shadow_atlas_size = 16384
func _on_shadow_filter_option_button_item_selected(index : int) -> void:
Settings.set_value(\"quality\", \"shadow_filter\", index)
if index == 0: # Very Low
RenderingServer.directional_soft_shadow_filter_set_quality(RenderingServer.SHADOW_QUALITY_HARD)
RenderingServer.positional_soft_shadow_filter_set_quality(RenderingServer.SHADOW_QUALITY_HARD)
if index == 1: # Low
RenderingServer.directional_soft_shadow_filter_set_quality(RenderingServer.SHADOW_QUALITY_SOFT_VERY_LOW)
RenderingServer.positional_soft_shadow_filter_set_quality(RenderingServer.SHADOW_QUALITY_SOFT_VERY_LOW)
if index == 2: # Medium (default)
RenderingServer.directional_soft_shadow_filter_set_quality(RenderingServer.SHADOW_QUALITY_SOFT_LOW)
RenderingServer.positional_soft_shadow_filter_set_quality(RenderingServer.SHADOW_QUALITY_SOFT_LOW)
if index == 3: # High
RenderingServer.directional_soft_shadow_filter_set_quality(RenderingServer.SHADOW_QUALITY_SOFT_MEDIUM)
RenderingServer.positional_soft_shadow_filter_set_quality(RenderingServer.SHADOW_QUALITY_SOFT_MEDIUM)
if index == 4: # Very High
RenderingServer.directional_soft_shadow_filter_set_quality(RenderingServer.SHADOW_QUALITY_SOFT_HIGH)
RenderingServer.positional_soft_shadow_filter_set_quality(RenderingServer.SHADOW_QUALITY_SOFT_HIGH)
if index == 5: # Ultra
RenderingServer.directional_soft_shadow_filter_set_quality(RenderingServer.SHADOW_QUALITY_SOFT_ULTRA)
RenderingServer.positional_soft_shadow_filter_set_quality(RenderingServer.SHADOW_QUALITY_SOFT_ULTRA)
func _on_mesh_lod_option_button_item_selected(index : int) -> void:
Settings.set_value(\"quality\", \"mesh_lod\", index)
if index == 0: # Very Low
get_viewport().mesh_lod_threshold = 8.0
if index == 0: # Low
get_viewport().mesh_lod_threshold = 4.0
if index == 1: # Medium
get_viewport().mesh_lod_threshold = 2.0
if index == 2: # High (default)
get_viewport().mesh_lod_threshold = 1.0
if index == 3: # Ultra
# Always use highest LODs to avoid any form of pop-in.
get_viewport().mesh_lod_threshold = 0.0
# Effect settings.
#func _on_ss_reflections_option_button_item_selected(index: int) -> void:
## This is a setting that is attached to the environment.
## If your game requires you to change the environment,
## then be sure to run this function again to make the setting effective.
#if index == 0: # Disabled (default)
#world_environment.environment.set_ssr_enabled(false)
#elif index == 1: # Low
#world_environment.environment.set_ssr_enabled(true)
#world_environment.environment.set_ssr_max_steps(8)
#elif index == 2: # Medium
#world_environment.environment.set_ssr_enabled(true)
#world_environment.environment.set_ssr_max_steps(32)
#elif index == 3: # High
#world_environment.environment.set_ssr_enabled(true)
#world_environment.environment.set_ssr_max_steps(56)
#func _on_ssao_option_button_item_selected(index: int) -> void:
## This is a setting that is attached to the environment.
## If your game requires you to change the environment,
## then be sure to run this function again to make the setting effective.
#if index == 0: # Disabled (default)
#world_environment.environment.ssao_enabled = false
#if index == 1: # Very Low
#world_environment.environment.ssao_enabled = true
#RenderingServer.environment_set_ssao_quality(RenderingServer.ENV_SSAO_QUALITY_VERY_LOW, true, 0.5, 2, 50, 300)
#if index == 2: # Low
#world_environment.environment.ssao_enabled = true
#RenderingServer.environment_set_ssao_quality(RenderingServer.ENV_SSAO_QUALITY_VERY_LOW, true, 0.5, 2, 50, 300)
#if index == 3: # Medium
#world_environment.environment.ssao_enabled = true
#RenderingServer.environment_set_ssao_quality(RenderingServer.ENV_SSAO_QUALITY_MEDIUM, true, 0.5, 2, 50, 300)
#if index == 4: # High
#world_environment.environment.ssao_enabled = true
#RenderingServer.environment_set_ssao_quality(RenderingServer.ENV_SSAO_QUALITY_HIGH, true, 0.5, 2, 50, 300)
#
#func _on_ssil_option_button_item_selected(index: int) -> void:
## This is a setting that is attached to the environment.
## If your game requires you to change the environment,
## then be sure to run this function again to make the setting effective.
#if index == 0: # Disabled (default)
#world_environment.environment.ssil_enabled = false
#if index == 1: # Very Low
#world_environment.environment.ssil_enabled = true
#RenderingServer.environment_set_ssil_quality(RenderingServer.ENV_SSIL_QUALITY_VERY_LOW, true, 0.5, 4, 50, 300)
#if index == 2: # Low
#world_environment.environment.ssil_enabled = true
#RenderingServer.environment_set_ssil_quality(RenderingServer.ENV_SSIL_QUALITY_LOW, true, 0.5, 4, 50, 300)
#if index == 3: # Medium
#world_environment.environment.ssil_enabled = true
#RenderingServer.environment_set_ssil_quality(RenderingServer.ENV_SSIL_QUALITY_MEDIUM, true, 0.5, 4, 50, 300)
#if index == 4: # High
#world_environment.environment.ssil_enabled = true
#RenderingServer.environment_set_ssil_quality(RenderingServer.ENV_SSIL_QUALITY_HIGH, true, 0.5, 4, 50, 300)
#func _on_sdfgi_option_button_item_selected(index: int) -> void:
## This is a setting that is attached to the environment.
## If your game requires you to change the environment,
## then be sure to run this function again to make the setting effective.
#if index == 0: # Disabled (default)
#world_environment.environment.sdfgi_enabled = false
#if index == 1: # Low
#world_environment.environment.sdfgi_enabled = true
#RenderingServer.gi_set_use_half_resolution(true)
#if index == 2: # High
#world_environment.environment.sdfgi_enabled = true
#RenderingServer.gi_set_use_half_resolution(false)
#
#func _on_glow_option_button_item_selected(index: int) -> void:
## This is a setting that is attached to the environment.
## If your game requires you to change the environment,
## then be sure to run this function again to make the setting effective.
#if index == 0: # Disabled (default)
#world_environment.environment.glow_enabled = false
#if index == 1: # Low
#world_environment.environment.glow_enabled = true
#if index == 2: # High
#world_environment.environment.glow_enabled = true
#
#
#func _on_volumetric_fog_option_button_item_selected(index: int) -> void:
#if index == 0: # Disabled (default)
#world_environment.environment.volumetric_fog_enabled = false
#if index == 1: # Low
#world_environment.environment.volumetric_fog_enabled = true
#RenderingServer.environment_set_volumetric_fog_filter_active(false)
#if index == 2: # High
#world_environment.environment.volumetric_fog_enabled = true
#RenderingServer.environment_set_volumetric_fog_filter_active(true)
# Adjustment settings.
#func _on_brightness_slider_value_changed(value: float) -> void:
## This is a setting that is attached to the environment.
## If your game requires you to change the environment,
## then be sure to run this function again to make the setting effective.
## The slider value is clamped between 0.5 and 4.
#world_environment.environment.set_adjustment_brightness(value)
#
#
#func _on_contrast_slider_value_changed(value: float) -> void:
## This is a setting that is attached to the environment.
## If your game requires you to change the environment,
## then be sure to run this function again to make the setting effective.
## The slider value is clamped between 0.5 and 4.
#world_environment.environment.set_adjustment_contrast(value)
#
#
#func _on_saturation_slider_value_changed(value: float) -> void:
## This is a setting that is attached to the environment.
## If your game requires you to change the environment,
## then be sure to run this function again to make the setting effective.
## The slider value is clamped between 0.5 and 10.
#world_environment.environment.set_adjustment_saturation(value)
# Quality presets.
func _on_very_low_preset_pressed() -> void:
%TAAOptionButton.selected = 0
%MSAAOptionButton.selected = 0
%FXAAOptionButton.selected = 0
%ShadowSizeOptionButton.selected = 0
%ShadowFilterOptionButton.selected = 0
%MeshLODOptionButton.selected = 0
%SDFGIOptionButton.selected = 0
%GlowOptionButton.selected = 0
%SSAOOptionButton.selected = 0
%SSReflectionsOptionButton.selected = 0
%SSILOptionButton.selected = 0
%VolumetricFogOptionButton.selected = 0
update_preset()
func _on_low_preset_pressed() -> void:
%TAAOptionButton.selected = 0
%MSAAOptionButton.selected = 0
%FXAAOptionButton.selected = 1
%ShadowSizeOptionButton.selected = 1
%ShadowFilterOptionButton.selected = 1
%MeshLODOptionButton.selected = 1
%SDFGIOptionButton.selected = 0
%GlowOptionButton.selected = 0
%SSAOOptionButton.selected = 0
%SSReflectionsOptionButton.selected = 0
%SSILOptionButton.selected = 0
%VolumetricFogOptionButton.selected = 0
update_preset()
func _on_medium_preset_pressed() -> void:
%TAAOptionButton.selected = 1
%MSAAOptionButton.selected = 0
%FXAAOptionButton.selected = 0
%ShadowSizeOptionButton.selected = 2
%ShadowFilterOptionButton.selected = 2
%MeshLODOptionButton.selected = 1
%SDFGIOptionButton.selected = 1
%GlowOptionButton.selected = 1
%SSAOOptionButton.selected = 1
%SSReflectionsOptionButton.selected = 1
%SSILOptionButton.selected = 0
%VolumetricFogOptionButton.selected = 1
update_preset()
func _on_high_preset_pressed() -> void:
%TAAOptionButton.selected = 1
%MSAAOptionButton.selected = 0
%FXAAOptionButton.selected = 0
%ShadowSizeOptionButton.selected = 3
%ShadowFilterOptionButton.selected = 3
%MeshLODOptionButton.selected = 2
%SDFGIOptionButton.selected = 1
%GlowOptionButton.selected = 2
%SSAOOptionButton.selected = 2
%SSReflectionsOptionButton.selected = 2
%SSILOptionButton.selected = 2
%VolumetricFogOptionButton.selected = 2
update_preset()
func _on_ultra_preset_pressed() -> void:
%TAAOptionButton.selected = 1
%MSAAOptionButton.selected = 1
%FXAAOptionButton.selected = 0
%ShadowSizeOptionButton.selected = 4
%ShadowFilterOptionButton.selected = 4
%MeshLODOptionButton.selected = 3
%SDFGIOptionButton.selected = 2
%GlowOptionButton.selected = 2
%SSAOOptionButton.selected = 3
%SSReflectionsOptionButton.selected = 3
%SSILOptionButton.selected = 3
%VolumetricFogOptionButton.selected = 2
update_preset()
func update_preset() -> void:
# Simulate options being manually selected to run their respective update code.
%TAAOptionButton.item_selected.emit(%TAAOptionButton.selected)
%MSAAOptionButton.item_selected.emit(%MSAAOptionButton.selected)
%FXAAOptionButton.item_selected.emit(%FXAAOptionButton.selected)
%ShadowSizeOptionButton.item_selected.emit(%ShadowSizeOptionButton.selected)
%ShadowFilterOptionButton.item_selected.emit(%ShadowFilterOptionButton.selected)
%MeshLODOptionButton.item_selected.emit(%MeshLODOptionButton.selected)
%SDFGIOptionButton.item_selected.emit(%SDFGIOptionButton.selected)
%GlowOptionButton.item_selected.emit(%GlowOptionButton.selected)
%SSAOOptionButton.item_selected.emit(%SSAOOptionButton.selected)
%SSReflectionsOptionButton.item_selected.emit(%SSReflectionsOptionButton.selected)
%SSILOptionButton.item_selected.emit(%SSILOptionButton.selected)
%VolumetricFogOptionButton.item_selected.emit(%VolumetricFogOptionButton.selected)
func _on_apply_pressed() -> void:
Settings.apply()
func _on_reset_pressed() -> void:
Settings.reset()
func _on_close_pressed() -> void:
self.hide()
%MainPanelContainer.show()
"
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_c4ymk"]
bg_color = Color(0, 0, 0, 0)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_dq4me"]
bg_color = Color(0, 0.5, 0.5, 0.2)
[node name="BootMenu" type="CanvasLayer"]
script = SubResource("GDScript_jd8xf")
[node name="TextureRect" type="TextureRect" parent="."]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
texture = ExtResource("1_ph586")
stretch_mode = 6
[node name="MultiplayerPanelContainer" type="PanelContainer" parent="." node_paths=PackedStringArray("tab_container")]
unique_name_in_owner = true
visible = false
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_styles/panel = SubResource("StyleBoxFlat_krqeq")
script = SubResource("GDScript_tc1bm")
tab_container = NodePath("MarginContainer/VBoxContainer/TabContainer")
[node name="MarginContainer" type="MarginContainer" parent="MultiplayerPanelContainer"]
layout_mode = 2
theme_override_constants/margin_left = 20
theme_override_constants/margin_top = 20
theme_override_constants/margin_right = 20
theme_override_constants/margin_bottom = 20
[node name="VBoxContainer" type="VBoxContainer" parent="MultiplayerPanelContainer/MarginContainer"]
layout_mode = 2
[node name="TabContainer" type="TabContainer" parent="MultiplayerPanelContainer/MarginContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
theme_override_constants/side_margin = 0
[node name="Profile" type="TabBar" parent="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer"]
layout_mode = 2
theme_override_constants/h_separation = 0
[node name="MarginContainer" type="MarginContainer" parent="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer/Profile"]
layout_mode = 0
offset_right = 1116.0
offset_bottom = 577.0
theme_override_constants/margin_left = 20
theme_override_constants/margin_top = 20
theme_override_constants/margin_right = 20
theme_override_constants/margin_bottom = 20
[node name="HBoxContainer" type="HBoxContainer" parent="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer/Profile/MarginContainer"]
layout_mode = 2
theme_override_constants/separation = 20
[node name="LeftBox" type="Control" parent="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer/Profile/MarginContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_stretch_ratio = 0.25
[node name="Top" type="VBoxContainer" parent="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer/Profile/MarginContainer/HBoxContainer/LeftBox"]
layout_mode = 1
anchors_preset = 10
anchor_right = 1.0
offset_bottom = 101.0
grow_horizontal = 2
size_flags_horizontal = 3
size_flags_stretch_ratio = 0.25
[node name="Create" type="Button" parent="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer/Profile/MarginContainer/HBoxContainer/LeftBox/Top"]
layout_mode = 2
disabled = true
text = "Create"
[node name="Delete" type="Button" parent="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer/Profile/MarginContainer/HBoxContainer/LeftBox/Top"]
layout_mode = 2
disabled = true
text = "Delete"
[node name="Save" type="Button" parent="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer/Profile/MarginContainer/HBoxContainer/LeftBox/Top"]
layout_mode = 2
text = "Save"
[node name="Bottom" type="VBoxContainer" parent="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer/Profile/MarginContainer/HBoxContainer/LeftBox"]
layout_mode = 1
anchors_preset = 12
anchor_top = 1.0
anchor_right = 1.0
anchor_bottom = 1.0
offset_top = -31.0
grow_horizontal = 2
grow_vertical = 0
size_flags_horizontal = 0
[node name="MainMenu" type="Button" parent="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer/Profile/MarginContainer/HBoxContainer/LeftBox/Bottom"]
layout_mode = 2
size_flags_horizontal = 3
text = "Main Menu
"
[node name="Quit" type="Button" parent="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer/Profile/MarginContainer/HBoxContainer/LeftBox/Bottom"]
layout_mode = 2
size_flags_horizontal = 3
text = "Quit"
[node name="RightBox" type="VBoxContainer" parent="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer/Profile/MarginContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
[node name="Label" type="Label" parent="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer/Profile/MarginContainer/HBoxContainer/RightBox"]
layout_mode = 2
text = "Current Profile:"
[node name="ProfileName" type="LineEdit" parent="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer/Profile/MarginContainer/HBoxContainer/RightBox"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
text = "Newblood"
[node name="Join" type="TabBar" parent="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer"]
visible = false
layout_mode = 2
select_with_rmb = true
[node name="MarginContainer" type="MarginContainer" parent="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer/Join"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/margin_left = 20
theme_override_constants/margin_top = 20
theme_override_constants/margin_right = 20
theme_override_constants/margin_bottom = 20
[node name="HBoxContainer" type="HBoxContainer" parent="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer/Join/MarginContainer"]
layout_mode = 2
theme_override_constants/separation = 10
[node name="LeftBox" type="Control" parent="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer/Join/MarginContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_stretch_ratio = 0.25
[node name="Top" type="VBoxContainer" parent="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer/Join/MarginContainer/HBoxContainer/LeftBox"]
layout_mode = 1
anchors_preset = 10
anchor_right = 1.0
offset_bottom = 101.0
grow_horizontal = 2
size_flags_horizontal = 3
size_flags_stretch_ratio = 0.25
[node name="Join" type="Button" parent="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer/Join/MarginContainer/HBoxContainer/LeftBox/Top"]
layout_mode = 2
text = "Join"
[node name="Bottom" type="VBoxContainer" parent="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer/Join/MarginContainer/HBoxContainer/LeftBox"]
layout_mode = 1
anchors_preset = 12
anchor_top = 1.0
anchor_right = 1.0
anchor_bottom = 1.0
offset_top = -31.0
grow_horizontal = 2
grow_vertical = 0
size_flags_horizontal = 0
[node name="MainMenu" type="Button" parent="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer/Join/MarginContainer/HBoxContainer/LeftBox/Bottom"]
layout_mode = 2
size_flags_horizontal = 3
text = "Main Menu
"
[node name="Quit" type="Button" parent="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer/Join/MarginContainer/HBoxContainer/LeftBox/Bottom"]
layout_mode = 2
size_flags_horizontal = 3
text = "Quit"
[node name="RightBox" type="VBoxContainer" parent="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer/Join/MarginContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
[node name="JoinAddress" type="LineEdit" parent="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer/Join/MarginContainer/HBoxContainer/RightBox"]
unique_name_in_owner = true
layout_mode = 2
placeholder_text = "localhost"
[node name="Host" type="TabBar" parent="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer"]
visible = false
layout_mode = 2
select_with_rmb = true
[node name="MarginContainer" type="MarginContainer" parent="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer/Host"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/margin_left = 20
theme_override_constants/margin_top = 20
theme_override_constants/margin_right = 20
theme_override_constants/margin_bottom = 20
[node name="HBoxContainer" type="HBoxContainer" parent="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer/Host/MarginContainer"]
layout_mode = 2
theme_override_constants/separation = 10
[node name="LeftBox" type="Control" parent="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer/Host/MarginContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_stretch_ratio = 0.25
[node name="Top" type="VBoxContainer" parent="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer/Host/MarginContainer/HBoxContainer/LeftBox"]
layout_mode = 1
anchors_preset = 10
anchor_right = 1.0
offset_bottom = 101.0
grow_horizontal = 2
size_flags_horizontal = 3
size_flags_stretch_ratio = 0.25
[node name="Host" type="Button" parent="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer/Host/MarginContainer/HBoxContainer/LeftBox/Top"]
layout_mode = 2
text = "Host"
[node name="Bottom" type="VBoxContainer" parent="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer/Host/MarginContainer/HBoxContainer/LeftBox"]
layout_mode = 1
anchors_preset = 12
anchor_top = 1.0
anchor_right = 1.0
anchor_bottom = 1.0
offset_top = -66.0
grow_horizontal = 2
grow_vertical = 0
size_flags_horizontal = 0
[node name="MainMenu" type="Button" parent="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer/Host/MarginContainer/HBoxContainer/LeftBox/Bottom"]
layout_mode = 2
size_flags_horizontal = 3
text = "Main Menu
"
[node name="Quit" type="Button" parent="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer/Host/MarginContainer/HBoxContainer/LeftBox/Bottom"]
layout_mode = 2
size_flags_horizontal = 3
text = "Quit"
[node name="RightBox" type="VBoxContainer" parent="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer/Host/MarginContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
[node name="ServerPort" type="LineEdit" parent="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer/Host/MarginContainer/HBoxContainer/RightBox"]
unique_name_in_owner = true
layout_mode = 2
placeholder_text = "9000"
[node name="MapSelector" type="OptionButton" parent="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer/Host/MarginContainer/HBoxContainer/RightBox"]
unique_name_in_owner = true
layout_mode = 2
clip_text = true
allow_reselect = true
[node name="Modal" type="Panel" parent="MultiplayerPanelContainer"]
visible = false
layout_mode = 2
[node name="Label" type="Label" parent="MultiplayerPanelContainer/Modal"]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -59.5
offset_top = -11.5
offset_right = 59.5
offset_bottom = 11.5
grow_horizontal = 2
grow_vertical = 2
text = "CONNECTING..."
[node name="SettingsPanelContainer" type="PanelContainer" parent="."]
unique_name_in_owner = true
visible = false
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
size_flags_horizontal = 3
script = SubResource("GDScript_gbnwv")
[node name="VBoxContainer" type="VBoxContainer" parent="SettingsPanelContainer"]
layout_mode = 2
[node name="ScrollContainer" type="ScrollContainer" parent="SettingsPanelContainer/VBoxContainer"]
custom_minimum_size = Vector2(480, 0)
layout_mode = 2
size_flags_vertical = 3
[node name="MarginContainer" type="MarginContainer" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer"]
layout_mode = 2
size_flags_horizontal = 3
theme_override_constants/margin_left = 15
theme_override_constants/margin_top = 20
theme_override_constants/margin_right = 15
theme_override_constants/margin_bottom = 20
[node name="VBoxContainer" type="VBoxContainer" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
theme_override_constants/separation = 10
[node name="PresetSection" type="Label" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer"]
layout_mode = 2
theme_override_colors/font_color = Color(0.682353, 0.917647, 1, 1)
text = "Presets"
horizontal_alignment = 1
[node name="Presets" type="HBoxContainer" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer"]
layout_mode = 2
[node name="VeryLowPreset" type="Button" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/Presets"]
layout_mode = 2
size_flags_horizontal = 3
text = "Very Low"
[node name="LowPreset" type="Button" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/Presets"]
layout_mode = 2
size_flags_horizontal = 3
text = "Low"
[node name="MediumPreset" type="Button" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/Presets"]
layout_mode = 2
size_flags_horizontal = 3
text = "Medium"
[node name="HighPreset" type="Button" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/Presets"]
layout_mode = 2
size_flags_horizontal = 3
text = "High"
[node name="UltraPreset" type="Button" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/Presets"]
layout_mode = 2
size_flags_horizontal = 3
text = "Ultra"
[node name="HSeparator" type="HSeparator" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer"]
layout_mode = 2
[node name="UISection" type="Label" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer"]
layout_mode = 2
theme_override_colors/font_color = Color(0.683425, 0.916893, 1, 1)
text = "User Interface Settings"
horizontal_alignment = 1
[node name="UIGridContainer" type="GridContainer" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
columns = 2
[node name="UIScaleLabel" type="Label" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/UIGridContainer"]
layout_mode = 2
size_flags_horizontal = 3
theme_override_font_sizes/font_size = 16
text = "UI Scale:"
[node name="UIScaleOptionButton" type="OptionButton" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/UIGridContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
theme_override_font_sizes/font_size = 16
item_count = 5
selected = 2
popup/item_0/text = "Smaller (66%)"
popup/item_0/id = 0
popup/item_1/text = "Small (80%)"
popup/item_1/id = 1
popup/item_2/text = "Medium (100%)"
popup/item_2/id = 2
popup/item_3/text = "Large (133%)"
popup/item_3/id = 3
popup/item_4/text = "Larger (200%)"
popup/item_4/id = 4
[node name="ViewportSection" type="Label" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer"]
layout_mode = 2
theme_override_colors/font_color = Color(0.683425, 0.916893, 1, 1)
text = "Video Settings"
horizontal_alignment = 1
[node name="ViewportGridContainer" type="GridContainer" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer"]
layout_mode = 2
columns = 2
[node name="QualityLabel" type="Label" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer"]
layout_mode = 2
size_flags_horizontal = 3
theme_override_font_sizes/font_size = 16
text = "Resolution Scale:"
[node name="QualitySlider" type="HSlider" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 1
min_value = 0.25
max_value = 2.0
step = 0.05
value = 1.0
[node name="FilterLabel" type="Label" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer"]
layout_mode = 2
size_flags_horizontal = 3
theme_override_font_sizes/font_size = 16
text = "Display Filter:"
[node name="FilterOptionButton" type="OptionButton" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
theme_override_font_sizes/font_size = 16
item_count = 2
selected = 0
popup/item_0/text = "Bilinear (Fastest)"
popup/item_0/id = 0
popup/item_1/text = "FSR 1.0 (Fast)"
popup/item_1/id = 1
[node name="FSRSharpnessLabel" type="Label" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
theme_override_font_sizes/font_size = 16
text = "FSR Sharpness:"
[node name="FSRSharpnessSlider" type="HSlider" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 1
max_value = 2.0
step = 0.2
[node name="WindowModeLabel" type="Label" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer"]
layout_mode = 2
size_flags_horizontal = 3
theme_override_font_sizes/font_size = 16
text = "Window Mode:"
[node name="WindowModeOptionButton" type="OptionButton" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
theme_override_font_sizes/font_size = 16
item_count = 3
selected = 2
popup/item_0/text = "Windowed"
popup/item_0/id = 0
popup/item_1/text = "Fullscreen"
popup/item_1/id = 1
popup/item_2/text = "Exclusive Fullscreen"
popup/item_2/id = 2
[node name="VsyncLabel" type="Label" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer"]
layout_mode = 2
size_flags_horizontal = 3
theme_override_font_sizes/font_size = 16
text = "V-Sync:"
[node name="VsyncOptionButton" type="OptionButton" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
theme_override_font_sizes/font_size = 16
item_count = 3
selected = 0
popup/item_0/text = "Disabled"
popup/item_0/id = 0
popup/item_1/text = "Adaptive"
popup/item_1/id = 1
popup/item_2/text = "Enabled"
popup/item_2/id = 2
[node name="TAALabel" type="Label" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer"]
layout_mode = 2
size_flags_horizontal = 3
theme_override_font_sizes/font_size = 16
text = "Anti-Aliasing (TAA):"
[node name="TAAOptionButton" type="OptionButton" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
theme_override_font_sizes/font_size = 16
item_count = 2
selected = 0
popup/item_0/text = "Disabled (Fastest)"
popup/item_0/id = 0
popup/item_1/text = "Enabled (Average)"
popup/item_1/id = 1
[node name="MSAALabel" type="Label" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer"]
layout_mode = 2
size_flags_horizontal = 3
theme_override_font_sizes/font_size = 16
text = "Anti-Aliasing (MSAA):"
[node name="MSAAOptionButton" type="OptionButton" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
theme_override_font_sizes/font_size = 16
item_count = 4
selected = 0
popup/item_0/text = "Disabled (Fastest)"
popup/item_0/id = 0
popup/item_1/text = "2× (Average)"
popup/item_1/id = 1
popup/item_2/text = "4× (Slow)"
popup/item_2/id = 2
popup/item_3/text = "8× (Slower)"
popup/item_3/id = 3
[node name="FXAALabel" type="Label" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer"]
layout_mode = 2
size_flags_horizontal = 3
theme_override_font_sizes/font_size = 16
text = "Anti-Aliasing (FXAA):"
[node name="FXAAOptionButton" type="OptionButton" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
theme_override_font_sizes/font_size = 16
item_count = 2
selected = 0
popup/item_0/text = "Disabled (Fastest)"
popup/item_0/id = 0
popup/item_1/text = "Enabled (Fast)"
popup/item_1/id = 1
[node name="FOVLabel" type="Label" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer"]
layout_mode = 2
size_flags_horizontal = 3
theme_override_font_sizes/font_size = 16
text = "Field of View:"
[node name="FOVSlider" type="HSlider" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 1
min_value = 50.0
value = 50.0
[node name="ControlsSection" type="Label" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer"]
layout_mode = 2
theme_override_colors/font_color = Color(0.683425, 0.916893, 1, 1)
text = "Controls Settings"
horizontal_alignment = 1
[node name="ControlsGridContainer" type="GridContainer" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer"]
layout_mode = 2
columns = 2
[node name="SensitivityLabel" type="Label" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ControlsGridContainer"]
layout_mode = 2
size_flags_horizontal = 3
text = "Mouse sensitivity"
[node name="SensitivitySpinBox" type="SpinBox" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ControlsGridContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
max_value = 1.0
step = 0.01
value = 1.0
[node name="InvertedYLabel" type="Label" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ControlsGridContainer"]
layout_mode = 2
size_flags_horizontal = 3
text = "Inverted Y"
[node name="InvertedYCheckbox" type="CheckBox" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ControlsGridContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
[node name="QualitySection" type="Label" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer"]
layout_mode = 2
theme_override_colors/font_color = Color(0.683425, 0.916893, 1, 1)
text = "Quality Settings"
horizontal_alignment = 1
[node name="QualityGridContainer" type="GridContainer" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer"]
layout_mode = 2
columns = 2
[node name="ShadowSizeLabel" type="Label" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/QualityGridContainer"]
layout_mode = 2
size_flags_horizontal = 3
theme_override_font_sizes/font_size = 16
text = "Shadow Resolution:"
[node name="ShadowSizeOptionButton" type="OptionButton" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/QualityGridContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
theme_override_font_sizes/font_size = 16
item_count = 6
selected = 3
popup/item_0/text = "Minimum (Fastest)"
popup/item_0/id = 0
popup/item_1/text = "Very Low (Faster)"
popup/item_1/id = 1
popup/item_2/text = "Low (Fast)"
popup/item_2/id = 2
popup/item_3/text = "Medium (Average)"
popup/item_3/id = 3
popup/item_4/text = "High (Slow)"
popup/item_4/id = 4
popup/item_5/text = "Ultra (Slowest)"
popup/item_5/id = 5
[node name="ShadowFilterLabel" type="Label" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/QualityGridContainer"]
layout_mode = 2
size_flags_horizontal = 3
theme_override_font_sizes/font_size = 16
text = "Shadow Filtering:"
[node name="ShadowFilterOptionButton" type="OptionButton" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/QualityGridContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
theme_override_font_sizes/font_size = 16
item_count = 6
selected = 2
popup/item_0/text = "Very Low (Fastest)"
popup/item_0/id = 0
popup/item_1/text = "Low (Faster)"
popup/item_1/id = 1
popup/item_2/text = "Medium (Fast)"
popup/item_2/id = 2
popup/item_3/text = "High (Average)"
popup/item_3/id = 3
popup/item_4/text = "Very High (Slow)"
popup/item_4/id = 4
popup/item_5/text = "Ultra (Slower)"
popup/item_5/id = 5
[node name="MeshLODLabel" type="Label" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/QualityGridContainer"]
layout_mode = 2
size_flags_horizontal = 3
theme_override_font_sizes/font_size = 16
text = "Model Quality:"
[node name="MeshLODOptionButton" type="OptionButton" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/QualityGridContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
theme_override_font_sizes/font_size = 16
item_count = 4
selected = 2
popup/item_0/text = "Low (Faster)"
popup/item_0/id = 0
popup/item_1/text = "Medium (Fast)"
popup/item_1/id = 1
popup/item_2/text = "High (Average)"
popup/item_2/id = 2
popup/item_3/text = "Ultra (Slow)"
popup/item_3/id = 3
[node name="EnvironmentSection" type="Label" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer"]
layout_mode = 2
theme_override_colors/font_color = Color(0.683425, 0.916893, 1, 1)
text = "Effect Settings"
horizontal_alignment = 1
[node name="EnvironmentGridContainer" type="GridContainer" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer"]
layout_mode = 2
columns = 2
[node name="SDFGILabel" type="Label" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/EnvironmentGridContainer"]
layout_mode = 2
size_flags_horizontal = 3
theme_override_font_sizes/font_size = 16
text = "Global Illumination:"
[node name="SDFGIOptionButton" type="OptionButton" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/EnvironmentGridContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
theme_override_font_sizes/font_size = 16
item_count = 3
selected = 0
popup/item_0/text = "Disabled (Fastest)"
popup/item_0/id = 0
popup/item_1/text = "Low (Average)"
popup/item_1/id = 1
popup/item_2/text = "High (Slow)"
popup/item_2/id = 2
[node name="GlowLabel" type="Label" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/EnvironmentGridContainer"]
layout_mode = 2
size_flags_horizontal = 3
theme_override_font_sizes/font_size = 16
text = "Bloom:"
[node name="GlowOptionButton" type="OptionButton" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/EnvironmentGridContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
theme_override_font_sizes/font_size = 16
item_count = 3
selected = 0
popup/item_0/text = "Disabled (Fastest)"
popup/item_0/id = 0
popup/item_1/text = "Low (Fast)"
popup/item_1/id = 1
popup/item_2/text = "High (Average)"
popup/item_2/id = 2
[node name="SSAOLabel" type="Label" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/EnvironmentGridContainer"]
layout_mode = 2
size_flags_horizontal = 3
theme_override_font_sizes/font_size = 16
text = "Ambient Occlusion:"
[node name="SSAOOptionButton" type="OptionButton" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/EnvironmentGridContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
theme_override_font_sizes/font_size = 16
item_count = 5
selected = 0
popup/item_0/text = "Disabled (Fastest)"
popup/item_0/id = 0
popup/item_1/text = "Very Low (Fast)"
popup/item_1/id = 1
popup/item_2/text = "Low (Fast)"
popup/item_2/id = 2
popup/item_3/text = "Medium (Average)"
popup/item_3/id = 3
popup/item_4/text = "High (Slow)"
popup/item_4/id = 4
[node name="SSReflectionsLabel" type="Label" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/EnvironmentGridContainer"]
layout_mode = 2
size_flags_horizontal = 3
theme_override_font_sizes/font_size = 14
text = "Screen-Space Reflections:"
[node name="SSReflectionsOptionButton" type="OptionButton" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/EnvironmentGridContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
theme_override_font_sizes/font_size = 16
item_count = 4
selected = 0
popup/item_0/text = "Disabled (Fastest)"
popup/item_0/id = 0
popup/item_1/text = "Low (Average)"
popup/item_1/id = 1
popup/item_2/text = "Medium (Slow)"
popup/item_2/id = 2
popup/item_3/text = "High (Slower)"
popup/item_3/id = 3
[node name="SSILLabel" type="Label" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/EnvironmentGridContainer"]
layout_mode = 2
size_flags_horizontal = 3
theme_override_font_sizes/font_size = 16
text = "Screen-Space Lighting:"
[node name="SSILOptionButton" type="OptionButton" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/EnvironmentGridContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
theme_override_font_sizes/font_size = 16
item_count = 5
selected = 0
popup/item_0/text = "Disabled (Fastest)"
popup/item_0/id = 0
popup/item_1/text = "Very Low (Fast)"
popup/item_1/id = 1
popup/item_2/text = "Low (Average)"
popup/item_2/id = 2
popup/item_3/text = "Medium (Slow)"
popup/item_3/id = 3
popup/item_4/text = "High (Slower)"
popup/item_4/id = 4
[node name="VolumetricFogLabel" type="Label" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/EnvironmentGridContainer"]
layout_mode = 2
size_flags_horizontal = 3
theme_override_font_sizes/font_size = 16
text = "Volumetric Fog:"
[node name="VolumetricFogOptionButton" type="OptionButton" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/EnvironmentGridContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
theme_override_font_sizes/font_size = 16
item_count = 3
selected = 0
popup/item_0/text = "Disabled (Fastest)"
popup/item_0/id = 0
popup/item_1/text = "Low (Fast)"
popup/item_1/id = 1
popup/item_2/text = "High (Average)"
popup/item_2/id = 2
[node name="AdjustmentSection" type="Label" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer"]
visible = false
layout_mode = 2
theme_override_colors/font_color = Color(0.683425, 0.916893, 1, 1)
text = "Adjustments"
horizontal_alignment = 1
[node name="AdjustmentsGridContainer" type="GridContainer" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer"]
visible = false
layout_mode = 2
columns = 2
[node name="BrightnessLabel" type="Label" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/AdjustmentsGridContainer"]
layout_mode = 2
size_flags_horizontal = 3
theme_override_font_sizes/font_size = 16
text = "Brightness:"
[node name="BrightnessSlider" type="HSlider" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/AdjustmentsGridContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 1
min_value = 0.5
max_value = 2.0
step = 0.01
value = 1.0
[node name="ContrastLabel" type="Label" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/AdjustmentsGridContainer"]
layout_mode = 2
size_flags_horizontal = 3
theme_override_font_sizes/font_size = 16
text = "Contrast:"
[node name="ContrastSlider" type="HSlider" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/AdjustmentsGridContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 1
min_value = 0.5
max_value = 2.0
step = 0.01
value = 1.0
[node name="SaturationLabel" type="Label" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/AdjustmentsGridContainer"]
layout_mode = 2
size_flags_horizontal = 3
theme_override_font_sizes/font_size = 16
text = "Saturation:"
[node name="SaturationSlider" type="HSlider" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/AdjustmentsGridContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 1
min_value = 0.01
max_value = 2.0
step = 0.01
value = 1.0
[node name="MarginContainer" type="MarginContainer" parent="SettingsPanelContainer/VBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
theme_override_constants/margin_left = 15
theme_override_constants/margin_top = 10
theme_override_constants/margin_right = 23
theme_override_constants/margin_bottom = 15
[node name="Buttons" type="HBoxContainer" parent="SettingsPanelContainer/VBoxContainer/MarginContainer"]
layout_mode = 2
[node name="Apply" type="Button" parent="SettingsPanelContainer/VBoxContainer/MarginContainer/Buttons"]
layout_mode = 2
size_flags_horizontal = 3
text = "Apply
"
[node name="Reset" type="Button" parent="SettingsPanelContainer/VBoxContainer/MarginContainer/Buttons"]
layout_mode = 2
size_flags_horizontal = 3
text = "Reset"
[node name="Close" type="Button" parent="SettingsPanelContainer/VBoxContainer/MarginContainer/Buttons"]
layout_mode = 2
size_flags_horizontal = 3
text = "Close"
[node name="MainPanelContainer" type="PanelContainer" parent="."]
unique_name_in_owner = true
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
size_flags_horizontal = 0
theme_override_styles/panel = SubResource("StyleBoxFlat_c4ymk")
[node name="HBoxContainer" type="HBoxContainer" parent="MainPanelContainer"]
layout_mode = 2
[node name="PanelContainer" type="PanelContainer" parent="MainPanelContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_stretch_ratio = 0.3
theme_override_styles/panel = SubResource("StyleBoxFlat_dq4me")
[node name="MarginContainer" type="MarginContainer" parent="MainPanelContainer/HBoxContainer/PanelContainer"]
layout_mode = 2
size_flags_horizontal = 3
theme_override_constants/margin_left = 20
theme_override_constants/margin_right = 20
[node name="VBoxContainer" type="VBoxContainer" parent="MainPanelContainer/HBoxContainer/PanelContainer/MarginContainer"]
layout_mode = 2
theme_override_constants/separation = 10
alignment = 1
[node name="Demo" type="Button" parent="MainPanelContainer/HBoxContainer/PanelContainer/MarginContainer/VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 32
text = "Demo"
[node name="Multiplayer" type="Button" parent="MainPanelContainer/HBoxContainer/PanelContainer/MarginContainer/VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 32
text = "Multiplayer"
[node name="Settings" type="Button" parent="MainPanelContainer/HBoxContainer/PanelContainer/MarginContainer/VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 32
text = "Settings"
[node name="Quit" type="Button" parent="MainPanelContainer/HBoxContainer/PanelContainer/MarginContainer/VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 32
text = "Quit"
[node name="Control" type="Control" parent="MainPanelContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_stretch_ratio = 0.8
mouse_filter = 1
[connection signal="join_server" from="MultiplayerPanelContainer" to="." method="_on_multiplayer_join_server"]
[connection signal="start_server" from="MultiplayerPanelContainer" to="." method="_on_multiplayer_start_server"]
[connection signal="pressed" from="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer/Profile/MarginContainer/HBoxContainer/LeftBox/Top/Save" to="MultiplayerPanelContainer" method="_on_save_pressed"]
[connection signal="pressed" from="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer/Profile/MarginContainer/HBoxContainer/LeftBox/Bottom/MainMenu" to="." method="_on_main_menu_pressed"]
[connection signal="pressed" from="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer/Profile/MarginContainer/HBoxContainer/LeftBox/Bottom/Quit" to="." method="_on_quit_pressed"]
[connection signal="pressed" from="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer/Join/MarginContainer/HBoxContainer/LeftBox/Top/Join" to="MultiplayerPanelContainer" method="_on_join_pressed"]
[connection signal="pressed" from="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer/Join/MarginContainer/HBoxContainer/LeftBox/Bottom/MainMenu" to="." method="_on_main_menu_pressed"]
[connection signal="pressed" from="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer/Join/MarginContainer/HBoxContainer/LeftBox/Bottom/Quit" to="." method="_on_quit_pressed"]
[connection signal="pressed" from="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer/Host/MarginContainer/HBoxContainer/LeftBox/Top/Host" to="MultiplayerPanelContainer" method="_on_host_pressed"]
[connection signal="pressed" from="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer/Host/MarginContainer/HBoxContainer/LeftBox/Bottom/MainMenu" to="." method="_on_main_menu_pressed"]
[connection signal="pressed" from="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer/Host/MarginContainer/HBoxContainer/LeftBox/Bottom/Quit" to="." method="_on_quit_pressed"]
[connection signal="text_changed" from="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer/Host/MarginContainer/HBoxContainer/RightBox/ServerPort" to="MultiplayerPanelContainer/MarginContainer/VBoxContainer/TabContainer/Host/MarginContainer/HBoxContainer/RightBox/ServerPort" method="_on_text_changed"]
[connection signal="pressed" from="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/Presets/VeryLowPreset" to="SettingsPanelContainer" method="_on_very_low_preset_pressed"]
[connection signal="pressed" from="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/Presets/LowPreset" to="SettingsPanelContainer" method="_on_low_preset_pressed"]
[connection signal="pressed" from="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/Presets/MediumPreset" to="SettingsPanelContainer" method="_on_medium_preset_pressed"]
[connection signal="pressed" from="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/Presets/HighPreset" to="SettingsPanelContainer" method="_on_high_preset_pressed"]
[connection signal="pressed" from="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/Presets/UltraPreset" to="SettingsPanelContainer" method="_on_ultra_preset_pressed"]
[connection signal="item_selected" from="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/UIGridContainer/UIScaleOptionButton" to="SettingsPanelContainer" method="_on_ui_scale_option_button_item_selected"]
[connection signal="value_changed" from="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer/QualitySlider" to="SettingsPanelContainer" method="_on_quality_slider_value_changed"]
[connection signal="item_selected" from="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer/FilterOptionButton" to="SettingsPanelContainer" method="_on_filter_option_button_item_selected"]
[connection signal="value_changed" from="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer/FSRSharpnessSlider" to="SettingsPanelContainer" method="_on_fsr_sharpness_slider_value_changed"]
[connection signal="item_selected" from="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer/WindowModeOptionButton" to="SettingsPanelContainer" method="_on_window_mode_option_button_item_selected"]
[connection signal="item_selected" from="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer/VsyncOptionButton" to="SettingsPanelContainer" method="_on_vsync_option_button_item_selected"]
[connection signal="item_selected" from="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer/TAAOptionButton" to="SettingsPanelContainer" method="_on_taa_option_button_item_selected"]
[connection signal="item_selected" from="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer/MSAAOptionButton" to="SettingsPanelContainer" method="_on_msaa_option_button_item_selected"]
[connection signal="item_selected" from="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer/FXAAOptionButton" to="SettingsPanelContainer" method="_on_fxaa_option_button_item_selected"]
[connection signal="value_changed" from="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer/FOVSlider" to="SettingsPanelContainer" method="_on_fov_slider_value_changed"]
[connection signal="item_selected" from="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/QualityGridContainer/MeshLODOptionButton" to="SettingsPanelContainer" method="_on_mesh_lod_option_button_item_selected"]
[connection signal="pressed" from="SettingsPanelContainer/VBoxContainer/MarginContainer/Buttons/Apply" to="SettingsPanelContainer" method="_on_apply_pressed"]
[connection signal="pressed" from="SettingsPanelContainer/VBoxContainer/MarginContainer/Buttons/Reset" to="SettingsPanelContainer" method="_on_reset_pressed"]
[connection signal="pressed" from="SettingsPanelContainer/VBoxContainer/MarginContainer/Buttons/Close" to="SettingsPanelContainer" method="_on_close_pressed"]
[connection signal="pressed" from="MainPanelContainer/HBoxContainer/PanelContainer/MarginContainer/VBoxContainer/Demo" to="." method="_on_demo_pressed"]
[connection signal="pressed" from="MainPanelContainer/HBoxContainer/PanelContainer/MarginContainer/VBoxContainer/Multiplayer" to="." method="_on_multiplayer_pressed"]
[connection signal="pressed" from="MainPanelContainer/HBoxContainer/PanelContainer/MarginContainer/VBoxContainer/Settings" to="." method="_on_settings_pressed"]
[connection signal="pressed" from="MainPanelContainer/HBoxContainer/PanelContainer/MarginContainer/VBoxContainer/Quit" to="." method="_on_quit_pressed"]