add graphics settings save
This commit is contained in:
@@ -5,18 +5,36 @@ class_name SettingsMenu
|
||||
@onready var audio_options_container: VBoxContainer = $%AudioOptionsContainer
|
||||
@onready var aliasing_checkbox: CustomCheckbox = $%AliasingCheckbox
|
||||
|
||||
@onready var window_option_menu = $VBoxContainer/WindowOptionMenu
|
||||
|
||||
func _ready() -> void:
|
||||
_refresh_audio_options()
|
||||
|
||||
if aliasing_checkbox:
|
||||
aliasing_checkbox.button_pressed = get_viewport().use_taa or get_viewport().msaa_3d != Viewport.MSAA_DISABLED
|
||||
aliasing_checkbox.button_pressed = GameState.save_data.anti_aliasing
|
||||
aliasing_checkbox.toggled.connect(_on_aliasing_toggled)
|
||||
|
||||
if window_option_menu:
|
||||
var initial_res = Vector2i(GameState.save_data.resolution_x, GameState.save_data.resolution_y)
|
||||
window_option_menu.initialize(GameState.save_data.window_mode_index, initial_res)
|
||||
window_option_menu.mode_changed.connect(_on_window_mode_changed)
|
||||
window_option_menu.resolution_changed.connect(_on_resolution_changed)
|
||||
|
||||
func _on_aliasing_toggled(toggled_on: bool) -> void:
|
||||
get_viewport().use_taa = toggled_on
|
||||
var msaa_mode = Viewport.MSAA_2X if toggled_on else Viewport.MSAA_DISABLED
|
||||
get_viewport().msaa_3d = msaa_mode
|
||||
get_viewport().msaa_2d = msaa_mode
|
||||
GameState.save_data.anti_aliasing = toggled_on
|
||||
GameState.save_game()
|
||||
GameState.apply_video_settings()
|
||||
|
||||
func _on_window_mode_changed(mode_index: int) -> void:
|
||||
GameState.save_data.window_mode_index = mode_index
|
||||
GameState.save_game()
|
||||
GameState.apply_video_settings()
|
||||
|
||||
func _on_resolution_changed(resolution: Vector2i) -> void:
|
||||
GameState.save_data.resolution_x = resolution.x
|
||||
GameState.save_data.resolution_y = resolution.y
|
||||
GameState.save_game()
|
||||
GameState.apply_video_settings()
|
||||
|
||||
func _get_audio_options() -> Array[AudioOption]:
|
||||
var audio_options: Array[AudioOption] = []
|
||||
|
||||
Reference in New Issue
Block a user