mirror of
https://gitlab.com/open-fpsz/open-fpsz.git
synced 2026-01-19 19:44:46 +00:00
2091 lines
90 KiB
Plaintext
2091 lines
90 KiB
Plaintext
[gd_scene load_steps=28 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 = "# This file is part of open-fpsz.
|
||
#
|
||
# This program is free software: you can redistribute it and/or modify
|
||
# it under the terms of the GNU General Public License as published by
|
||
# the Free Software Foundation, either version 3 of the License, or
|
||
# (at your option) any later version.
|
||
#
|
||
# This program is distributed in the hope that it will be useful,
|
||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
# GNU General Public License for more details.
|
||
#
|
||
# You should have received a copy of the GNU General Public License
|
||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||
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()
|
||
show()
|
||
|
||
func _on_settings_pressed() -> void:
|
||
$MultiplayerPanelContainer.hide()
|
||
$MultiplayerPanelContainer.tab_container.current_tab = 0
|
||
$SettingsPanelContainer.show()
|
||
$MainPanelContainer.hide()
|
||
show()
|
||
|
||
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()
|
||
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 = "# This file is part of open-fpsz.
|
||
#
|
||
# This program is free software: you can redistribute it and/or modify
|
||
# it under the terms of the GNU General Public License as published by
|
||
# the Free Software Foundation, either version 3 of the License, or
|
||
# (at your option) any later version.
|
||
#
|
||
# This program is distributed in the hope that it will be useful,
|
||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
# GNU General Public License for more details.
|
||
#
|
||
# You should have received a copy of the GNU General Public License
|
||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||
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 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 MapsManager.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 = "# This file is part of open-fpsz.
|
||
#
|
||
# This program is free software: you can redistribute it and/or modify
|
||
# it under the terms of the GNU General Public License as published by
|
||
# the Free Software Foundation, either version 3 of the License, or
|
||
# (at your option) any later version.
|
||
#
|
||
# This program is distributed in the hope that it will be useful,
|
||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
# GNU General Public License for more details.
|
||
#
|
||
# You should have received a copy of the GNU General Public License
|
||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||
extends PanelContainer
|
||
|
||
# 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()
|
||
|
||
# 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)
|
||
"
|
||
|
||
[sub_resource type="GDScript" id="GDScript_7votw"]
|
||
script/source = "# This file is part of open-fpsz.
|
||
#
|
||
# This program is free software: you can redistribute it and/or modify
|
||
# it under the terms of the GNU General Public License as published by
|
||
# the Free Software Foundation, either version 3 of the License, or
|
||
# (at your option) any later version.
|
||
#
|
||
# This program is distributed in the hope that it will be useful,
|
||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
# GNU General Public License for more details.
|
||
#
|
||
# You should have received a copy of the GNU General Public License
|
||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||
extends OptionButton
|
||
|
||
func _ready() -> void:
|
||
self.selected = Settings.get_value(\"ui\", \"scale\")
|
||
self.item_selected.emit(self.selected)
|
||
|
||
func _on_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)
|
||
"
|
||
|
||
[sub_resource type="GDScript" id="GDScript_ux54k"]
|
||
script/source = "# This file is part of open-fpsz.
|
||
#
|
||
# This program is free software: you can redistribute it and/or modify
|
||
# it under the terms of the GNU General Public License as published by
|
||
# the Free Software Foundation, either version 3 of the License, or
|
||
# (at your option) any later version.
|
||
#
|
||
# This program is distributed in the hope that it will be useful,
|
||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
# GNU General Public License for more details.
|
||
#
|
||
# You should have received a copy of the GNU General Public License
|
||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||
extends HBoxContainer
|
||
|
||
@export var min_value : float = .01
|
||
@export var max_value : float = 1.
|
||
@export var step : float = .01
|
||
|
||
func _ready() -> void:
|
||
var value : float = Settings.get_value(\"controls\", \"mouse_sensitivity\")
|
||
for control : Range in [$SpinBox, $Slider]:
|
||
control.min_value = min_value
|
||
control.max_value = max_value
|
||
control.step = step
|
||
control.value = value
|
||
_on_value_changed(value)
|
||
|
||
func _on_value_changed(new_value : float) -> void:
|
||
Settings.set_value(\"controls\", \"mouse_sensitivity\", new_value)
|
||
|
||
func _on_spin_box_value_changed(new_value : float) -> void:
|
||
_on_value_changed(new_value)
|
||
$Slider.value = new_value
|
||
|
||
func _on_slider_value_changed(new_value : float) -> void:
|
||
_on_value_changed(new_value)
|
||
$SpinBox.value = new_value
|
||
"
|
||
|
||
[sub_resource type="GDScript" id="GDScript_v5ux6"]
|
||
script/source = "# This file is part of open-fpsz.
|
||
#
|
||
# This program is free software: you can redistribute it and/or modify
|
||
# it under the terms of the GNU General Public License as published by
|
||
# the Free Software Foundation, either version 3 of the License, or
|
||
# (at your option) any later version.
|
||
#
|
||
# This program is distributed in the hope that it will be useful,
|
||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
# GNU General Public License for more details.
|
||
#
|
||
# You should have received a copy of the GNU General Public License
|
||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||
extends HBoxContainer
|
||
|
||
@export var min_value : int = 70
|
||
@export var max_value : int = 150
|
||
@export var step : int = 1
|
||
|
||
func _ready() -> void:
|
||
var value : int = Settings.get_value(\"video\", \"fov\")
|
||
for control : Range in [$SpinBox, $Slider]:
|
||
control.min_value = min_value
|
||
control.max_value = max_value
|
||
control.step = step
|
||
control.value = value
|
||
_on_value_changed(value)
|
||
|
||
func _on_value_changed(new_value : int) -> void:
|
||
Settings.set_value(\"video\", \"fov\", new_value)
|
||
|
||
func _on_spin_box_value_changed(new_value : int) -> void:
|
||
_on_value_changed(new_value)
|
||
$Slider.value = new_value
|
||
|
||
func _on_slider_value_changed(new_value : int) -> void:
|
||
_on_value_changed(new_value)
|
||
$SpinBox.value = new_value
|
||
"
|
||
|
||
[sub_resource type="GDScript" id="GDScript_viqb1"]
|
||
script/source = "# This file is part of open-fpsz.
|
||
#
|
||
# This program is free software: you can redistribute it and/or modify
|
||
# it under the terms of the GNU General Public License as published by
|
||
# the Free Software Foundation, either version 3 of the License, or
|
||
# (at your option) any later version.
|
||
#
|
||
# This program is distributed in the hope that it will be useful,
|
||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
# GNU General Public License for more details.
|
||
#
|
||
# You should have received a copy of the GNU General Public License
|
||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||
extends HSlider
|
||
|
||
func _ready() -> void:
|
||
self.value = Settings.get_value(\"video\", \"quality\")
|
||
self.value_changed.emit(self.value)
|
||
|
||
func _on_value_changed(new_value : float) -> void:
|
||
Settings.set_value(\"video\", \"quality\", new_value)
|
||
get_viewport().scaling_3d_scale = new_value
|
||
"
|
||
|
||
[sub_resource type="GDScript" id="GDScript_mnbe0"]
|
||
script/source = "# This file is part of open-fpsz.
|
||
#
|
||
# This program is free software: you can redistribute it and/or modify
|
||
# it under the terms of the GNU General Public License as published by
|
||
# the Free Software Foundation, either version 3 of the License, or
|
||
# (at your option) any later version.
|
||
#
|
||
# This program is distributed in the hope that it will be useful,
|
||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
# GNU General Public License for more details.
|
||
#
|
||
# You should have received a copy of the GNU General Public License
|
||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||
extends OptionButton
|
||
|
||
func _ready() -> void:
|
||
self.selected = Settings.get_value(\"video\", \"filter\")
|
||
self.item_selected.emit(self.selected)
|
||
|
||
func _on_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
|
||
"
|
||
|
||
[sub_resource type="GDScript" id="GDScript_c3ngv"]
|
||
script/source = "# This file is part of open-fpsz.
|
||
#
|
||
# This program is free software: you can redistribute it and/or modify
|
||
# it under the terms of the GNU General Public License as published by
|
||
# the Free Software Foundation, either version 3 of the License, or
|
||
# (at your option) any later version.
|
||
#
|
||
# This program is distributed in the hope that it will be useful,
|
||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
# GNU General Public License for more details.
|
||
#
|
||
# You should have received a copy of the GNU General Public License
|
||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||
extends HSlider
|
||
|
||
func _ready() -> void:
|
||
self.value = Settings.get_value(\"video\", \"fsr_sharpness\")
|
||
self.value_changed.emit(self.value)
|
||
|
||
func _on_value_changed(new_value : float) -> void:
|
||
Settings.set_value(\"video\", \"fsr_sharpness\", new_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 - new_value
|
||
"
|
||
|
||
[sub_resource type="GDScript" id="GDScript_xa5kp"]
|
||
script/source = "# This file is part of open-fpsz.
|
||
#
|
||
# This program is free software: you can redistribute it and/or modify
|
||
# it under the terms of the GNU General Public License as published by
|
||
# the Free Software Foundation, either version 3 of the License, or
|
||
# (at your option) any later version.
|
||
#
|
||
# This program is distributed in the hope that it will be useful,
|
||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
# GNU General Public License for more details.
|
||
#
|
||
# You should have received a copy of the GNU General Public License
|
||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||
extends OptionButton
|
||
|
||
func _ready() -> void:
|
||
self.selected = Settings.get_value(\"video\", \"window_mode\")
|
||
self.item_selected.emit(self.selected)
|
||
|
||
func _on_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)
|
||
"
|
||
|
||
[sub_resource type="GDScript" id="GDScript_jl1uk"]
|
||
script/source = "# This file is part of open-fpsz.
|
||
#
|
||
# This program is free software: you can redistribute it and/or modify
|
||
# it under the terms of the GNU General Public License as published by
|
||
# the Free Software Foundation, either version 3 of the License, or
|
||
# (at your option) any later version.
|
||
#
|
||
# This program is distributed in the hope that it will be useful,
|
||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
# GNU General Public License for more details.
|
||
#
|
||
# You should have received a copy of the GNU General Public License
|
||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||
extends OptionButton
|
||
|
||
func _ready() -> void:
|
||
self.selected = Settings.get_value(\"video\", \"vsync\")
|
||
self.item_selected.emit(self.selected)
|
||
|
||
func _on_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)
|
||
"
|
||
|
||
[sub_resource type="GDScript" id="GDScript_6qqbt"]
|
||
script/source = "# This file is part of open-fpsz.
|
||
#
|
||
# This program is free software: you can redistribute it and/or modify
|
||
# it under the terms of the GNU General Public License as published by
|
||
# the Free Software Foundation, either version 3 of the License, or
|
||
# (at your option) any later version.
|
||
#
|
||
# This program is distributed in the hope that it will be useful,
|
||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
# GNU General Public License for more details.
|
||
#
|
||
# You should have received a copy of the GNU General Public License
|
||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||
extends OptionButton
|
||
|
||
func _ready() -> void:
|
||
self.selected = Settings.get_value(\"video\", \"taa\")
|
||
self.item_selected.emit(self.selected)
|
||
|
||
func _on_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.
|
||
# @NOTE: https://github.com/TokisanGames/Terrain3D/issues/302
|
||
# get_viewport().use_taa = index == 1
|
||
"
|
||
|
||
[sub_resource type="GDScript" id="GDScript_ulkhx"]
|
||
script/source = "# This file is part of open-fpsz.
|
||
#
|
||
# This program is free software: you can redistribute it and/or modify
|
||
# it under the terms of the GNU General Public License as published by
|
||
# the Free Software Foundation, either version 3 of the License, or
|
||
# (at your option) any later version.
|
||
#
|
||
# This program is distributed in the hope that it will be useful,
|
||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
# GNU General Public License for more details.
|
||
#
|
||
# You should have received a copy of the GNU General Public License
|
||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||
extends OptionButton
|
||
|
||
func _ready() -> void:
|
||
self.selected = Settings.get_value(\"video\", \"msaa\")
|
||
self.item_selected.emit(self.selected)
|
||
|
||
func _on_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
|
||
"
|
||
|
||
[sub_resource type="GDScript" id="GDScript_k6fl5"]
|
||
script/source = "# This file is part of open-fpsz.
|
||
#
|
||
# This program is free software: you can redistribute it and/or modify
|
||
# it under the terms of the GNU General Public License as published by
|
||
# the Free Software Foundation, either version 3 of the License, or
|
||
# (at your option) any later version.
|
||
#
|
||
# This program is distributed in the hope that it will be useful,
|
||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
# GNU General Public License for more details.
|
||
#
|
||
# You should have received a copy of the GNU General Public License
|
||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||
extends OptionButton
|
||
|
||
func _ready() -> void:
|
||
self.selected = Settings.get_value(\"video\", \"fxaa\")
|
||
self.item_selected.emit(self.selected)
|
||
|
||
func _on_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
|
||
"
|
||
|
||
[sub_resource type="GDScript" id="GDScript_cph1u"]
|
||
script/source = "# This file is part of open-fpsz.
|
||
#
|
||
# This program is free software: you can redistribute it and/or modify
|
||
# it under the terms of the GNU General Public License as published by
|
||
# the Free Software Foundation, either version 3 of the License, or
|
||
# (at your option) any later version.
|
||
#
|
||
# This program is distributed in the hope that it will be useful,
|
||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
# GNU General Public License for more details.
|
||
#
|
||
# You should have received a copy of the GNU General Public License
|
||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||
extends OptionButton
|
||
|
||
func _ready() -> void:
|
||
self.selected = Settings.get_value(\"quality\", \"shadow_size\")
|
||
self.item_selected.emit(self.selected)
|
||
|
||
func _on_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
|
||
"
|
||
|
||
[sub_resource type="GDScript" id="GDScript_uhm5l"]
|
||
script/source = "# This file is part of open-fpsz.
|
||
#
|
||
# This program is free software: you can redistribute it and/or modify
|
||
# it under the terms of the GNU General Public License as published by
|
||
# the Free Software Foundation, either version 3 of the License, or
|
||
# (at your option) any later version.
|
||
#
|
||
# This program is distributed in the hope that it will be useful,
|
||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
# GNU General Public License for more details.
|
||
#
|
||
# You should have received a copy of the GNU General Public License
|
||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||
extends OptionButton
|
||
|
||
func _ready() -> void:
|
||
self.selected = Settings.get_value(\"quality\", \"shadow_filter\")
|
||
self.item_selected.emit(self.selected)
|
||
|
||
func _on_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)
|
||
"
|
||
|
||
[sub_resource type="GDScript" id="GDScript_4cgn8"]
|
||
script/source = "# This file is part of open-fpsz.
|
||
#
|
||
# This program is free software: you can redistribute it and/or modify
|
||
# it under the terms of the GNU General Public License as published by
|
||
# the Free Software Foundation, either version 3 of the License, or
|
||
# (at your option) any later version.
|
||
#
|
||
# This program is distributed in the hope that it will be useful,
|
||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
# GNU General Public License for more details.
|
||
#
|
||
# You should have received a copy of the GNU General Public License
|
||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||
extends OptionButton
|
||
|
||
func _ready() -> void:
|
||
self.selected = Settings.get_value(\"quality\", \"mesh_lod\")
|
||
self.item_selected.emit(self.selected)
|
||
|
||
func _on_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
|
||
"
|
||
|
||
[sub_resource type="GDScript" id="GDScript_xfygm"]
|
||
script/source = "# This file is part of open-fpsz.
|
||
#
|
||
# This program is free software: you can redistribute it and/or modify
|
||
# it under the terms of the GNU General Public License as published by
|
||
# the Free Software Foundation, either version 3 of the License, or
|
||
# (at your option) any later version.
|
||
#
|
||
# This program is distributed in the hope that it will be useful,
|
||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
# GNU General Public License for more details.
|
||
#
|
||
# You should have received a copy of the GNU General Public License
|
||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||
extends OptionButton
|
||
|
||
func _ready() -> void:
|
||
self.selected = Settings.get_value(\"environment\", \"sdfgi\")
|
||
self.item_selected.emit(self.selected)
|
||
|
||
func _on_item_selected(index: int) -> void:
|
||
Settings.set_value(\"environment\", \"sdfgi\", index)
|
||
# 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)
|
||
MapsManager.environment.sdfgi_enabled = false
|
||
elif index == 1: # Low
|
||
MapsManager.environment.sdfgi_enabled = true
|
||
RenderingServer.gi_set_use_half_resolution(true)
|
||
elif index == 2: # High
|
||
MapsManager.environment.sdfgi_enabled = true
|
||
RenderingServer.gi_set_use_half_resolution(false)
|
||
"
|
||
|
||
[sub_resource type="GDScript" id="GDScript_k3pso"]
|
||
script/source = "# This file is part of open-fpsz.
|
||
#
|
||
# This program is free software: you can redistribute it and/or modify
|
||
# it under the terms of the GNU General Public License as published by
|
||
# the Free Software Foundation, either version 3 of the License, or
|
||
# (at your option) any later version.
|
||
#
|
||
# This program is distributed in the hope that it will be useful,
|
||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
# GNU General Public License for more details.
|
||
#
|
||
# You should have received a copy of the GNU General Public License
|
||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||
extends OptionButton
|
||
|
||
func _ready() -> void:
|
||
self.selected = Settings.get_value(\"environment\", \"glow\")
|
||
self.item_selected.emit(self.selected)
|
||
|
||
func _on_item_selected(index: int) -> void:
|
||
Settings.set_value(\"environment\", \"glow\", index)
|
||
## 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)
|
||
MapsManager.environment.glow_enabled = false
|
||
elif index == 1: # Low
|
||
MapsManager.environment.glow_enabled = true
|
||
elif index == 2: # High
|
||
MapsManager.environment.glow_enabled = true
|
||
"
|
||
|
||
[sub_resource type="GDScript" id="GDScript_0sqe1"]
|
||
script/source = "# This file is part of open-fpsz.
|
||
#
|
||
# This program is free software: you can redistribute it and/or modify
|
||
# it under the terms of the GNU General Public License as published by
|
||
# the Free Software Foundation, either version 3 of the License, or
|
||
# (at your option) any later version.
|
||
#
|
||
# This program is distributed in the hope that it will be useful,
|
||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
# GNU General Public License for more details.
|
||
#
|
||
# You should have received a copy of the GNU General Public License
|
||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||
extends OptionButton
|
||
|
||
func _ready() -> void:
|
||
self.selected = Settings.get_value(\"environment\", \"ssao\")
|
||
self.item_selected.emit(self.selected)
|
||
|
||
func _on_item_selected(index: int) -> void:
|
||
Settings.set_value(\"environment\", \"ssao\", index)
|
||
# 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)
|
||
MapsManager.environment.ssao_enabled = false
|
||
elif index == 1: # Very Low
|
||
MapsManager.environment.ssao_enabled = true
|
||
RenderingServer.environment_set_ssao_quality(RenderingServer.ENV_SSAO_QUALITY_VERY_LOW, true, 0.5, 2, 50, 300)
|
||
elif index == 2: # Low
|
||
MapsManager.environment.ssao_enabled = true
|
||
RenderingServer.environment_set_ssao_quality(RenderingServer.ENV_SSAO_QUALITY_VERY_LOW, true, 0.5, 2, 50, 300)
|
||
elif index == 3: # Medium
|
||
MapsManager.environment.ssao_enabled = true
|
||
RenderingServer.environment_set_ssao_quality(RenderingServer.ENV_SSAO_QUALITY_MEDIUM, true, 0.5, 2, 50, 300)
|
||
elif index == 4: # High
|
||
MapsManager.environment.ssao_enabled = true
|
||
RenderingServer.environment_set_ssao_quality(RenderingServer.ENV_SSAO_QUALITY_HIGH, true, 0.5, 2, 50, 300)
|
||
"
|
||
|
||
[sub_resource type="GDScript" id="GDScript_cb82q"]
|
||
script/source = "# This file is part of open-fpsz.
|
||
#
|
||
# This program is free software: you can redistribute it and/or modify
|
||
# it under the terms of the GNU General Public License as published by
|
||
# the Free Software Foundation, either version 3 of the License, or
|
||
# (at your option) any later version.
|
||
#
|
||
# This program is distributed in the hope that it will be useful,
|
||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
# GNU General Public License for more details.
|
||
#
|
||
# You should have received a copy of the GNU General Public License
|
||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||
extends OptionButton
|
||
|
||
func _ready() -> void:
|
||
self.selected = Settings.get_value(\"environment\", \"ssr\")
|
||
self.item_selected.emit(self.selected)
|
||
|
||
func _on_item_selected(index: int) -> void:
|
||
Settings.set_value(\"environment\", \"ssr\", index)
|
||
# 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)
|
||
MapsManager.environment.ssr_enabled = false
|
||
elif index == 1: # Low
|
||
MapsManager.environment.ssr_enabled = true
|
||
MapsManager.environment.ssr_max_steps = 8
|
||
elif index == 2: # Medium
|
||
MapsManager.environment.ssr_enabled = true
|
||
MapsManager.environment.ssr_max_steps = 32
|
||
elif index == 3: # High
|
||
MapsManager.environment.ssr_enabled = true
|
||
MapsManager.environment.ssr_max_steps = 56
|
||
"
|
||
|
||
[sub_resource type="GDScript" id="GDScript_qrf3h"]
|
||
script/source = "# This file is part of open-fpsz.
|
||
#
|
||
# This program is free software: you can redistribute it and/or modify
|
||
# it under the terms of the GNU General Public License as published by
|
||
# the Free Software Foundation, either version 3 of the License, or
|
||
# (at your option) any later version.
|
||
#
|
||
# This program is distributed in the hope that it will be useful,
|
||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
# GNU General Public License for more details.
|
||
#
|
||
# You should have received a copy of the GNU General Public License
|
||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||
extends OptionButton
|
||
|
||
func _ready() -> void:
|
||
self.selected = Settings.get_value(\"environment\", \"ssil\")
|
||
self.item_selected.emit(self.selected)
|
||
|
||
func _on_item_selected(index: int) -> void:
|
||
Settings.set_value(\"environment\", \"ssil\", index)
|
||
# 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)
|
||
MapsManager.environment.ssil_enabled = false
|
||
if index == 1: # Very Low
|
||
MapsManager.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
|
||
MapsManager.environment.ssil_enabled = true
|
||
RenderingServer.environment_set_ssil_quality(RenderingServer.ENV_SSIL_QUALITY_LOW, true, 0.5, 4, 50, 300)
|
||
if index == 3: # Medium
|
||
MapsManager.environment.ssil_enabled = true
|
||
RenderingServer.environment_set_ssil_quality(RenderingServer.ENV_SSIL_QUALITY_MEDIUM, true, 0.5, 4, 50, 300)
|
||
if index == 4: # High
|
||
MapsManager.environment.ssil_enabled = true
|
||
RenderingServer.environment_set_ssil_quality(RenderingServer.ENV_SSIL_QUALITY_HIGH, true, 0.5, 4, 50, 300)
|
||
"
|
||
|
||
[sub_resource type="GDScript" id="GDScript_80uen"]
|
||
script/source = "# This file is part of open-fpsz.
|
||
#
|
||
# This program is free software: you can redistribute it and/or modify
|
||
# it under the terms of the GNU General Public License as published by
|
||
# the Free Software Foundation, either version 3 of the License, or
|
||
# (at your option) any later version.
|
||
#
|
||
# This program is distributed in the hope that it will be useful,
|
||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
# GNU General Public License for more details.
|
||
#
|
||
# You should have received a copy of the GNU General Public License
|
||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||
extends OptionButton
|
||
|
||
func _ready() -> void:
|
||
self.selected = Settings.get_value(\"environment\", \"volumetric_fog\")
|
||
self.item_selected.emit(self.selected)
|
||
|
||
func _on_item_selected(index: int) -> void:
|
||
Settings.set_value(\"environment\", \"volumetric_fog\", index)
|
||
if index == 0: # Disabled (default)
|
||
MapsManager.environment.volumetric_fog_enabled = false
|
||
if index == 1: # Low
|
||
MapsManager.environment.volumetric_fog_enabled = true
|
||
RenderingServer.environment_set_volumetric_fog_filter_active(false)
|
||
if index == 2: # High
|
||
MapsManager.environment.volumetric_fog_enabled = true
|
||
RenderingServer.environment_set_volumetric_fog_filter_active(true)
|
||
"
|
||
|
||
[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="."]
|
||
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
|
||
scroll_vertical = 100
|
||
|
||
[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"]
|
||
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
|
||
script = SubResource("GDScript_7votw")
|
||
|
||
[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="SensitivityControls" type="HBoxContainer" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ControlsGridContainer"]
|
||
layout_mode = 2
|
||
size_flags_horizontal = 3
|
||
script = SubResource("GDScript_ux54k")
|
||
|
||
[node name="SpinBox" type="SpinBox" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ControlsGridContainer/SensitivityControls"]
|
||
layout_mode = 2
|
||
|
||
[node name="Slider" type="HSlider" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ControlsGridContainer/SensitivityControls"]
|
||
layout_mode = 2
|
||
size_flags_horizontal = 3
|
||
size_flags_vertical = 4
|
||
|
||
[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 = 0
|
||
|
||
[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="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="FOVControls" type="HBoxContainer" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer"]
|
||
unique_name_in_owner = true
|
||
layout_mode = 2
|
||
script = SubResource("GDScript_v5ux6")
|
||
|
||
[node name="SpinBox" type="SpinBox" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer/FOVControls"]
|
||
layout_mode = 2
|
||
min_value = 70.0
|
||
max_value = 150.0
|
||
value = 90.0
|
||
|
||
[node name="Slider" type="HSlider" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer/FOVControls"]
|
||
layout_mode = 2
|
||
size_flags_horizontal = 3
|
||
size_flags_vertical = 4
|
||
min_value = 70.0
|
||
max_value = 150.0
|
||
value = 90.0
|
||
|
||
[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"]
|
||
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
|
||
script = SubResource("GDScript_viqb1")
|
||
|
||
[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"]
|
||
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
|
||
script = SubResource("GDScript_mnbe0")
|
||
|
||
[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
|
||
script = SubResource("GDScript_c3ngv")
|
||
|
||
[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"]
|
||
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
|
||
script = SubResource("GDScript_xa5kp")
|
||
|
||
[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"]
|
||
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
|
||
script = SubResource("GDScript_jl1uk")
|
||
|
||
[node name="TAALabel" type="Label" parent="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer"]
|
||
visible = false
|
||
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
|
||
visible = false
|
||
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
|
||
script = SubResource("GDScript_6qqbt")
|
||
|
||
[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
|
||
script = SubResource("GDScript_ulkhx")
|
||
|
||
[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
|
||
script = SubResource("GDScript_k6fl5")
|
||
|
||
[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
|
||
script = SubResource("GDScript_cph1u")
|
||
|
||
[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
|
||
script = SubResource("GDScript_uhm5l")
|
||
|
||
[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
|
||
script = SubResource("GDScript_4cgn8")
|
||
|
||
[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
|
||
script = SubResource("GDScript_xfygm")
|
||
|
||
[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
|
||
script = SubResource("GDScript_k3pso")
|
||
|
||
[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
|
||
script = SubResource("GDScript_0sqe1")
|
||
|
||
[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
|
||
script = SubResource("GDScript_cb82q")
|
||
|
||
[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
|
||
script = SubResource("GDScript_qrf3h")
|
||
|
||
[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
|
||
script = SubResource("GDScript_80uen")
|
||
|
||
[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/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/UIGridContainer/UIScaleOptionButton" method="_on_item_selected"]
|
||
[connection signal="value_changed" from="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ControlsGridContainer/SensitivityControls/SpinBox" to="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ControlsGridContainer/SensitivityControls" method="_on_spin_box_value_changed"]
|
||
[connection signal="value_changed" from="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ControlsGridContainer/SensitivityControls/Slider" to="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ControlsGridContainer/SensitivityControls" method="_on_slider_value_changed"]
|
||
[connection signal="value_changed" from="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer/FOVControls/SpinBox" to="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer/FOVControls" method="_on_spin_box_value_changed"]
|
||
[connection signal="value_changed" from="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer/FOVControls/Slider" to="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer/FOVControls" method="_on_slider_value_changed"]
|
||
[connection signal="value_changed" from="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer/QualitySlider" to="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer/QualitySlider" method="_on_value_changed"]
|
||
[connection signal="item_selected" from="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer/FilterOptionButton" to="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer/FilterOptionButton" method="_on_item_selected"]
|
||
[connection signal="value_changed" from="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer/FSRSharpnessSlider" to="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer/FSRSharpnessSlider" method="_on_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/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer/VsyncOptionButton" method="_on_item_selected"]
|
||
[connection signal="item_selected" from="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer/TAAOptionButton" to="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer/TAAOptionButton" method="_on_item_selected"]
|
||
[connection signal="item_selected" from="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer/MSAAOptionButton" to="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer/MSAAOptionButton" method="_on_item_selected"]
|
||
[connection signal="item_selected" from="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer/FXAAOptionButton" to="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/ViewportGridContainer/FXAAOptionButton" method="_on_item_selected"]
|
||
[connection signal="item_selected" from="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/QualityGridContainer/ShadowSizeOptionButton" to="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/QualityGridContainer/ShadowSizeOptionButton" method="_on_item_selected"]
|
||
[connection signal="item_selected" from="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/QualityGridContainer/ShadowFilterOptionButton" to="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/QualityGridContainer/ShadowFilterOptionButton" method="_on_item_selected"]
|
||
[connection signal="item_selected" from="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/QualityGridContainer/MeshLODOptionButton" to="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/QualityGridContainer/MeshLODOptionButton" method="_on_item_selected"]
|
||
[connection signal="item_selected" from="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/EnvironmentGridContainer/SDFGIOptionButton" to="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/EnvironmentGridContainer/SDFGIOptionButton" method="_on_item_selected"]
|
||
[connection signal="item_selected" from="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/EnvironmentGridContainer/GlowOptionButton" to="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/EnvironmentGridContainer/GlowOptionButton" method="_on_item_selected"]
|
||
[connection signal="item_selected" from="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/EnvironmentGridContainer/SSAOOptionButton" to="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/EnvironmentGridContainer/SSAOOptionButton" method="_on_item_selected"]
|
||
[connection signal="item_selected" from="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/EnvironmentGridContainer/SSReflectionsOptionButton" to="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/EnvironmentGridContainer/SSReflectionsOptionButton" method="_on_item_selected"]
|
||
[connection signal="item_selected" from="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/EnvironmentGridContainer/SSILOptionButton" to="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/EnvironmentGridContainer/SSILOptionButton" method="_on_item_selected"]
|
||
[connection signal="item_selected" from="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/EnvironmentGridContainer/VolumetricFogOptionButton" to="SettingsPanelContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/EnvironmentGridContainer/VolumetricFogOptionButton" method="_on_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"]
|