Files
Decked-Out-Defense/UI/Menus/OptionsMenu/graphics_options.gd

76 lines
2.2 KiB
GDScript

class_name GraphicsOptionsMenu
extends VBoxContainer
@export var fov_input: SpinBox
@export var fov_slider: HSlider
@export var vsync_dropdown: OptionButton
@export var aa_dropdown: OptionButton
@export var window_dropdown: OptionButton
@export var vertex_jitter_input: SpinBox
@export var vertex_jitter_slider: HSlider
@export var affine_warping_input: SpinBox
@export var affine_warping_slider: HSlider
func _ready() -> void:
fov_input.value = Data.graphics.hfov
fov_slider.value = Data.graphics.hfov
vsync_dropdown.selected = Data.graphics.vsync_mode
aa_dropdown.selected = Data.graphics.aa_mode
window_dropdown.selected = Data.graphics.windowed_mode
vertex_jitter_input.value = Data.graphics.vertex_jitter
vertex_jitter_slider.value = Data.graphics.vertex_jitter
affine_warping_input.value = Data.graphics.affine_warping
affine_warping_slider.value = Data.graphics.affine_warping
func save() -> void:
Data.graphics.hfov = fov_slider.value
Data.graphics.vsync_mode = vsync_dropdown.selected
Data.graphics.aa_mode = aa_dropdown.selected
Data.graphics.windowed_mode = window_dropdown.selected
Data.graphics.vertex_jitter = vertex_jitter_slider.value
Data.graphics.affine_warping = affine_warping_slider.value
func _on_fov_spin_box_value_changed(value: float) -> void:
if value < 40.0:
value = 40.0
if value > 160.0:
value = 160.0
fov_slider.value = value
Data.graphics.hfov = value
func _on_fov_h_slider_value_changed(value: float) -> void:
fov_input.value = value
Data.graphics.hfov = value
func _on_vertex_jitter_spin_box_value_changed(value: float) -> void:
if value < 0.0:
value = 0.0
if value > 1.0:
value = 1.0
vertex_jitter_slider.value = value
Data.graphics.vertex_jitter = value
func _on_vertex_jitter_h_slider_value_changed(value: float) -> void:
vertex_jitter_input.value = value
Data.graphics.vertex_jitter = value
func _on_affine_warping_spin_box_value_changed(value: float) -> void:
if value < 0.0:
value = 0.0
if value > 1.0:
value = 1.0
affine_warping_slider.value = value
Data.graphics.affine_warping = value
func _on_affine_warping_h_slider_value_changed(value: float) -> void:
affine_warping_input.value = value
Data.graphics.affine_warping = value