add vsync option
This commit is contained in:
		
							parent
							
								
									645370fd4f
								
							
						
					
					
						commit
						cde61d144f
					
				
					 4 changed files with 53 additions and 12 deletions
				
			
		| 
						 | 
					@ -823,6 +823,20 @@ text = "Shadows:"
 | 
				
			||||||
horizontal_alignment = 2
 | 
					horizontal_alignment = 2
 | 
				
			||||||
vertical_alignment = 1
 | 
					vertical_alignment = 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="VSyncLabel" type="Label" parent="SettingsScreen/DialogPanel/GraphicsPanel"]
 | 
				
			||||||
 | 
					layout_mode = 1
 | 
				
			||||||
 | 
					anchors_preset = -1
 | 
				
			||||||
 | 
					anchor_right = 0.5
 | 
				
			||||||
 | 
					offset_left = 4.0
 | 
				
			||||||
 | 
					offset_top = 164.0
 | 
				
			||||||
 | 
					offset_right = -4.0
 | 
				
			||||||
 | 
					offset_bottom = 196.0
 | 
				
			||||||
 | 
					grow_horizontal = 2
 | 
				
			||||||
 | 
					grow_vertical = 2
 | 
				
			||||||
 | 
					text = "VSync:"
 | 
				
			||||||
 | 
					horizontal_alignment = 2
 | 
				
			||||||
 | 
					vertical_alignment = 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[node name="AAOption" type="OptionButton" parent="SettingsScreen/DialogPanel/GraphicsPanel"]
 | 
					[node name="AAOption" type="OptionButton" parent="SettingsScreen/DialogPanel/GraphicsPanel"]
 | 
				
			||||||
layout_mode = 1
 | 
					layout_mode = 1
 | 
				
			||||||
anchors_preset = -1
 | 
					anchors_preset = -1
 | 
				
			||||||
| 
						 | 
					@ -931,6 +945,23 @@ popup/item_0/id = 0
 | 
				
			||||||
popup/item_1/text = "Enabled"
 | 
					popup/item_1/text = "Enabled"
 | 
				
			||||||
popup/item_1/id = 1
 | 
					popup/item_1/id = 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[node name="VSyncOption" type="OptionButton" parent="SettingsScreen/DialogPanel/GraphicsPanel"]
 | 
				
			||||||
 | 
					layout_mode = 1
 | 
				
			||||||
 | 
					anchors_preset = -1
 | 
				
			||||||
 | 
					anchor_left = 0.5
 | 
				
			||||||
 | 
					anchor_right = 1.0
 | 
				
			||||||
 | 
					offset_left = 4.0
 | 
				
			||||||
 | 
					offset_top = 164.0
 | 
				
			||||||
 | 
					offset_right = -4.0
 | 
				
			||||||
 | 
					offset_bottom = 196.0
 | 
				
			||||||
 | 
					alignment = 1
 | 
				
			||||||
 | 
					selected = 1
 | 
				
			||||||
 | 
					item_count = 2
 | 
				
			||||||
 | 
					popup/item_0/text = "Disabled"
 | 
				
			||||||
 | 
					popup/item_0/id = 0
 | 
				
			||||||
 | 
					popup/item_1/text = "Enabled"
 | 
				
			||||||
 | 
					popup/item_1/id = 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[node name="InterfacePanel" type="Panel" parent="SettingsScreen/DialogPanel"]
 | 
					[node name="InterfacePanel" type="Panel" parent="SettingsScreen/DialogPanel"]
 | 
				
			||||||
visible = false
 | 
					visible = false
 | 
				
			||||||
layout_mode = 1
 | 
					layout_mode = 1
 | 
				
			||||||
| 
						 | 
					@ -1190,6 +1221,7 @@ parameters/looping = true
 | 
				
			||||||
[connection signal="item_selected" from="SettingsScreen/DialogPanel/GraphicsPanel/SSAAOption" to="SettingsScreen/DialogPanel/GraphicsPanel" method="_on_option_aa_ss_item_selected"]
 | 
					[connection signal="item_selected" from="SettingsScreen/DialogPanel/GraphicsPanel/SSAAOption" to="SettingsScreen/DialogPanel/GraphicsPanel" method="_on_option_aa_ss_item_selected"]
 | 
				
			||||||
[connection signal="value_changed" from="SettingsScreen/DialogPanel/GraphicsPanel/FOVSlider" to="SettingsScreen/DialogPanel/GraphicsPanel" method="_on_fov_slider_value_changed"]
 | 
					[connection signal="value_changed" from="SettingsScreen/DialogPanel/GraphicsPanel/FOVSlider" to="SettingsScreen/DialogPanel/GraphicsPanel" method="_on_fov_slider_value_changed"]
 | 
				
			||||||
[connection signal="item_selected" from="SettingsScreen/DialogPanel/GraphicsPanel/ShadowsOption" to="SettingsScreen/DialogPanel/GraphicsPanel" method="_on_shadows_option_item_selected"]
 | 
					[connection signal="item_selected" from="SettingsScreen/DialogPanel/GraphicsPanel/ShadowsOption" to="SettingsScreen/DialogPanel/GraphicsPanel" method="_on_shadows_option_item_selected"]
 | 
				
			||||||
 | 
					[connection signal="item_selected" from="SettingsScreen/DialogPanel/GraphicsPanel/VSyncOption" to="SettingsScreen/DialogPanel/GraphicsPanel" method="_on_v_sync_option_item_selected"]
 | 
				
			||||||
[connection signal="item_selected" from="SettingsScreen/DialogPanel/InterfacePanel/ScalingOption" to="SettingsScreen/DialogPanel/InterfacePanel" method="_on_scaling_option_item_selected"]
 | 
					[connection signal="item_selected" from="SettingsScreen/DialogPanel/InterfacePanel/ScalingOption" to="SettingsScreen/DialogPanel/InterfacePanel" method="_on_scaling_option_item_selected"]
 | 
				
			||||||
[connection signal="item_selected" from="SettingsScreen/DialogPanel/InterfacePanel/ThemeOption" to="SettingsScreen/DialogPanel/InterfacePanel" method="_on_theme_option_item_selected"]
 | 
					[connection signal="item_selected" from="SettingsScreen/DialogPanel/InterfacePanel/ThemeOption" to="SettingsScreen/DialogPanel/InterfacePanel" method="_on_theme_option_item_selected"]
 | 
				
			||||||
[connection signal="item_selected" from="SettingsScreen/DialogPanel/InterfacePanel/MusicOption" to="SettingsScreen/DialogPanel/InterfacePanel" method="_on_music_option_item_selected"]
 | 
					[connection signal="item_selected" from="SettingsScreen/DialogPanel/InterfacePanel/MusicOption" to="SettingsScreen/DialogPanel/InterfacePanel" method="_on_music_option_item_selected"]
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -11,6 +11,7 @@ var shadows : int = 1
 | 
				
			||||||
var title_music : int = 1
 | 
					var title_music : int = 1
 | 
				
			||||||
var title_dynamic : int = 1
 | 
					var title_dynamic : int = 1
 | 
				
			||||||
var mouse_sens : float = 1.0
 | 
					var mouse_sens : float = 1.0
 | 
				
			||||||
 | 
					var vsync: int = 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var theme_index = [
 | 
					var theme_index = [
 | 
				
			||||||
	"res://UI/Themes/Dark.tres",
 | 
						"res://UI/Themes/Dark.tres",
 | 
				
			||||||
| 
						 | 
					@ -42,6 +43,7 @@ func updateConfig():
 | 
				
			||||||
	config.set_value("GRAPHICS", "msaa", msaa)
 | 
						config.set_value("GRAPHICS", "msaa", msaa)
 | 
				
			||||||
	config.set_value("GRAPHICS", "ssaa", ssaa)
 | 
						config.set_value("GRAPHICS", "ssaa", ssaa)
 | 
				
			||||||
	config.set_value("GRAPHICS", "shadows", shadows)
 | 
						config.set_value("GRAPHICS", "shadows", shadows)
 | 
				
			||||||
 | 
						config.set_value("GRAPHICS", "vsync", vsync)
 | 
				
			||||||
	config.set_value("INTERFACE", "scaling", scaling)
 | 
						config.set_value("INTERFACE", "scaling", scaling)
 | 
				
			||||||
	config.set_value("INTERFACE", "theme", theme)
 | 
						config.set_value("INTERFACE", "theme", theme)
 | 
				
			||||||
	config.set_value("INTERFACE", "title_music", title_music)
 | 
						config.set_value("INTERFACE", "title_music", title_music)
 | 
				
			||||||
| 
						 | 
					@ -56,15 +58,16 @@ func loadConfig():
 | 
				
			||||||
		print("Couldn't load config!")
 | 
							print("Couldn't load config!")
 | 
				
			||||||
		return
 | 
							return
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	FOV = config.get_value("GRAPHICS", "fov")
 | 
						FOV = config.get_value("GRAPHICS", "fov", 80.0)
 | 
				
			||||||
	msaa = config.get_value("GRAPHICS", "msaa")
 | 
						msaa = config.get_value("GRAPHICS", "msaa", 1)
 | 
				
			||||||
	ssaa = config.get_value("GRAPHICS", "ssaa")
 | 
						ssaa = config.get_value("GRAPHICS", "ssaa", 1)
 | 
				
			||||||
	shadows = config.get_value("GRAPHICS", "shadows")
 | 
						shadows = config.get_value("GRAPHICS", "shadows", 1)
 | 
				
			||||||
	scaling = config.get_value("INTERFACE", "scaling")
 | 
						vsync = config.get_value("GRAPHICS", "vsync", 1)
 | 
				
			||||||
	theme = config.get_value("INTERFACE", "theme")
 | 
						scaling = config.get_value("INTERFACE", "scaling", 0)
 | 
				
			||||||
	title_music = config.get_value("INTERFACE", "title_music")
 | 
						theme = config.get_value("INTERFACE", "theme", 0)
 | 
				
			||||||
	title_dynamic = config.get_value("INTERFACE", "title_dynamic")
 | 
						title_music = config.get_value("INTERFACE", "title_music", 1)
 | 
				
			||||||
	mouse_sens = config.get_value("INPUT", "mouse_sens")
 | 
						title_dynamic = config.get_value("INTERFACE", "title_dynamic", 1)
 | 
				
			||||||
 | 
						mouse_sens = config.get_value("INPUT", "mouse_sens", 1.0)
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	print("config loaded.")
 | 
						print("config loaded.")
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -8,6 +8,7 @@ func _ready() -> void:
 | 
				
			||||||
	$ShadowsOption.select(GlobalVariables.shadows)
 | 
						$ShadowsOption.select(GlobalVariables.shadows)
 | 
				
			||||||
	$FOVSlider.value = GlobalVariables.FOV
 | 
						$FOVSlider.value = GlobalVariables.FOV
 | 
				
			||||||
	$FOVSlider/CurrentLabel.text = str(int(GlobalVariables.FOV))
 | 
						$FOVSlider/CurrentLabel.text = str(int(GlobalVariables.FOV))
 | 
				
			||||||
 | 
						$VSyncOption.select(GlobalVariables.vsync)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func _on_tab_bar_tab_changed(tab: int) -> void:
 | 
					func _on_tab_bar_tab_changed(tab: int) -> void:
 | 
				
			||||||
	if (thisTab == tab):
 | 
						if (thisTab == tab):
 | 
				
			||||||
| 
						 | 
					@ -39,3 +40,9 @@ func _on_shadows_option_item_selected(index: int) -> void:
 | 
				
			||||||
	GlobalVariables.shadows = index
 | 
						GlobalVariables.shadows = index
 | 
				
			||||||
	get_tree().set_group("lights", "shadow_enabled", index == 1)
 | 
						get_tree().set_group("lights", "shadow_enabled", index == 1)
 | 
				
			||||||
	GlobalVariables.updateConfig()
 | 
						GlobalVariables.updateConfig()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func _on_v_sync_option_item_selected(index: int) -> void:
 | 
				
			||||||
 | 
						GlobalVariables.vsync = index
 | 
				
			||||||
 | 
						DisplayServer.window_set_vsync_mode(index as DisplayServer.VSyncMode)
 | 
				
			||||||
 | 
						GlobalVariables.updateConfig()
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -9,9 +9,6 @@ func _ready():
 | 
				
			||||||
	$Buttons/FreeRoamButton.grab_focus()
 | 
						$Buttons/FreeRoamButton.grab_focus()
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	GlobalVariables.loadConfig()
 | 
						GlobalVariables.loadConfig()
 | 
				
			||||||
	$SettingsScreen/DialogPanel/GraphicsPanel/FOVSlider.value = GlobalVariables.FOV
 | 
					 | 
				
			||||||
	$SettingsScreen/DialogPanel/GraphicsPanel/AAOption.selected = GlobalVariables.msaa
 | 
					 | 
				
			||||||
	$SettingsScreen/DialogPanel/GraphicsPanel/SSAAOption.selected = GlobalVariables.ssaa
 | 
					 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	get_window().set_theme(load(GlobalVariables.theme_index[GlobalVariables.theme]))
 | 
						get_window().set_theme(load(GlobalVariables.theme_index[GlobalVariables.theme]))
 | 
				
			||||||
	if (GlobalVariables.title_music == 1): $Music.play()
 | 
						if (GlobalVariables.title_music == 1): $Music.play()
 | 
				
			||||||
| 
						 | 
					@ -19,6 +16,8 @@ func _ready():
 | 
				
			||||||
		$BackgroundImage.visible = false
 | 
							$BackgroundImage.visible = false
 | 
				
			||||||
		$DynamicBackground.visible = true
 | 
							$DynamicBackground.visible = true
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
 | 
						DisplayServer.window_set_vsync_mode(GlobalVariables.vsync as DisplayServer.VSyncMode)
 | 
				
			||||||
 | 
						
 | 
				
			||||||
	get_tree().set_group("lights", "shadow_enabled", GlobalVariables.shadows == 1)
 | 
						get_tree().set_group("lights", "shadow_enabled", GlobalVariables.shadows == 1)
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	var moddir = DirAccess.open("user://Mods")
 | 
						var moddir = DirAccess.open("user://Mods")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue