@@ -4,6 +4,8 @@ signal resolution_added(value : Vector2i)
44
55const error_resolution : Vector2i = Vector2i (- 1 ,- 1 )
66
7+ var default_resolution : Vector2i = error_resolution
8+
79@export
810var minimum_resolution : Vector2i = Vector2i (1 ,1 )
911
@@ -31,6 +33,14 @@ func _ready() -> void:
3133 assert (minimum_resolution .x > 0 and minimum_resolution .y > 0 , "Minimum resolution must be positive!" )
3234 for resolution_value : Vector2i in _starting_resolutions :
3335 add_resolution (resolution_value )
36+
37+ default_resolution = Vector2i (
38+ ProjectSettings .get_setting ("display/window/size/viewport_width" ),
39+ ProjectSettings .get_setting ("display/window/size/viewport_height" )
40+ )
41+ if default_resolution > minimum_resolution :
42+ add_resolution (default_resolution )
43+
3444 assert (not _resolutions .is_empty (), "No valid starting resolutions!" )
3545
3646 _regex = RegEx .new ()
@@ -91,6 +101,19 @@ func set_resolution(resolution : Vector2i) -> void:
91101 return
92102 push_error ("Trying to set resolution before window exists!" )
93103
104+ func set_resolution_from (load_value : Variant ) -> Vector2i :
105+ var target_resolution := Resolution .error_resolution
106+ match typeof (load_value ):
107+ TYPE_VECTOR2I :
108+ target_resolution = load_value
109+ return target_resolution
110+ TYPE_STRING , TYPE_STRING_NAME :
111+ target_resolution = Resolution .get_resolution_value_from_string (load_value )
112+ return target_resolution
113+ if Resolution .add_resolution (target_resolution ):
114+ Resolution .set_resolution (target_resolution )
115+ return target_resolution
116+
94117func get_current_window_mode () -> Window .Mode :
95118 var viewport := get_viewport ()
96119 if viewport != null :
0 commit comments