@@ -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 ()
@@ -92,6 +102,19 @@ func set_resolution(resolution : Vector2i) -> void:
92102 return
93103 push_error ("Trying to set resolution before window exists!" )
94104
105+ func set_resolution_from (load_value : Variant ) -> Vector2i :
106+ var target_resolution := Resolution .error_resolution
107+ match typeof (load_value ):
108+ TYPE_VECTOR2I :
109+ target_resolution = load_value
110+ return target_resolution
111+ TYPE_STRING , TYPE_STRING_NAME :
112+ target_resolution = Resolution .get_resolution_value_from_string (load_value )
113+ return target_resolution
114+ if Resolution .add_resolution (target_resolution ):
115+ Resolution .set_resolution (target_resolution )
116+ return target_resolution
117+
95118func get_current_window_mode () -> Window .Mode :
96119 var viewport := get_viewport ()
97120 if viewport != null :
0 commit comments