diff --git a/Scripts/Classes/Singletons/SettingsManager.gd b/Scripts/Classes/Singletons/SettingsManager.gd index 13d5293..14c4ed2 100644 --- a/Scripts/Classes/Singletons/SettingsManager.gd +++ b/Scripts/Classes/Singletons/SettingsManager.gd @@ -10,6 +10,7 @@ var file := { "visuals": 0, "hud_size": 0, "frame_limit" : 0, + "window_size": [256, 240] }, "audio": { "master": 10, @@ -94,6 +95,11 @@ func _enter_tree() -> void: await get_tree().physics_frame apply_settings() TranslationServer.set_locale(Settings.file.game.lang) + get_window().size_changed.connect(update_window_size) + +func update_window_size() -> void: + var window_size = get_window().size + Settings.file.video.window_size = [window_size.x, window_size.y] func save_settings() -> void: var cfg_file = ConfigFile.new() diff --git a/Scripts/UI/WindowChanger.gd b/Scripts/UI/WindowChanger.gd index ca558f0..2cd8852 100644 --- a/Scripts/UI/WindowChanger.gd +++ b/Scripts/UI/WindowChanger.gd @@ -59,7 +59,10 @@ func frame_limit_changed(new_value := 0) -> void: Engine.max_fps = new_framerate Settings.file.video.frame_limit = new_value -func set_value(value_name := "", value := 0) -> void: +func set_window_size(value := []) -> void: + get_window().size = Vector2(value[0], value[1]) + +func set_value(value_name := "", value = null) -> void: { "mode": window_mode_changed, "size": window_size_changed, @@ -71,4 +74,5 @@ func set_value(value_name := "", value := 0) -> void: "hud_size": hud_style_changed, "hud_style": hud_style_changed, "frame_limit": frame_limit_changed, + "window_size": set_window_size }[value_name].call(value)