diff --git a/src/logic-scenes/main menu/video_settings.gd b/src/logic-scenes/main menu/video_settings.gd index 21dccdd..e6a96ac 100644 --- a/src/logic-scenes/main menu/video_settings.gd +++ b/src/logic-scenes/main menu/video_settings.gd @@ -93,7 +93,7 @@ func _ready() -> void: propagate_settings() - fullscreen_selector.item_selected.connect(func(value): window_mode = value) + fullscreen_selector.item_selected.connect(func(value): window_mode = select_id_to_window_mode(value)) scale_selector.value_changed.connect(func(value): render_scale = value) upscale_selector.item_selected.connect(func(value): upscale_mode = value) lightning_selector.item_selected.connect(func(value): lighting_quality = value) @@ -127,7 +127,7 @@ func load_settings(): set(key, parsed[key]) func propagate_settings(): - fullscreen_selector.select(window_mode) + fullscreen_selector.select(window_mode_to_select_id(window_mode)) scale_selector.value = render_scale upscale_selector.select(upscale_mode) fps_enabler.button_pressed = fps_enabled @@ -172,7 +172,7 @@ func _on_exit_button_pressed() -> void: State.leave_stage(self) func _on_confirm_button_pressed() -> void: - ProjectSettings.set_setting("display/window/size/mode", fullscreen_selector) + ProjectSettings.set_setting("display/window/size/mode", window_mode) ProjectSettings.set_setting("rendering/scaling_3d/scale", render_scale) ProjectSettings.set_setting("rendering/scaling_3d/mode", upscale_mode) ProjectSettings.set_setting("application/run/max_fps", max_fps if fps_enabled else 0) @@ -212,7 +212,7 @@ func _on_performance_preset_pressed() -> void: shadow_quality = 0 texture_filtering = 1 msaa = 0 - vsync_mode = 0 + vsync_mode = DisplayServer.VSyncMode.VSYNC_DISABLED propagate_settings() @@ -226,7 +226,7 @@ func _on_balanced_preset_pressed() -> void: shadow_quality = 1 texture_filtering = 3 msaa = 1 - vsync_mode = 1 + vsync_mode = DisplayServer.VSyncMode.VSYNC_ENABLED propagate_settings() @@ -240,8 +240,14 @@ func _on_quality_preset_pressed() -> void: shadow_quality = 2 texture_filtering = 4 msaa = 3 - vsync_mode = 1 + vsync_mode = DisplayServer.VSyncMode.VSYNC_ENABLED propagate_settings() preset_selected = 3 + +func window_mode_to_select_id(mode: DisplayServer.WindowMode) -> int: + return int(mode) - 2 if int(mode) != 0 else 0 + +func select_id_to_window_mode(item_id) -> DisplayServer.WindowMode: + return item_id + 2 if item_id != 0 else 0