From e559dcb8f53defbd24d206042cc38f934f58e4c3 Mon Sep 17 00:00:00 2001 From: Hugo Locurcio Date: Tue, 16 Nov 2021 19:53:27 +0100 Subject: [PATCH] Increase the default project window size for better usability MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The new default window size is tuned to: - Have a 16:9 aspect ratio, - Have both dimensions divisible by 8 to better play along with video recording, - Be displayable correctly in windowed mode on a 1366×768 display (tested on Windows 10 with default settings). This breaks compatibility with projects that didn't change the window size from the default value (or that kept one of the values to its default). --- core/config/project_settings.cpp | 8 ++++++-- doc/classes/ProjectSettings.xml | 16 ++++++++-------- main/main.cpp | 2 +- 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/core/config/project_settings.cpp b/core/config/project_settings.cpp index 5c4bcc687a9..ec74d7ea286 100644 --- a/core/config/project_settings.cpp +++ b/core/config/project_settings.cpp @@ -1183,10 +1183,14 @@ ProjectSettings::ProjectSettings() { GLOBAL_DEF("application/config/custom_user_dir_name", ""); GLOBAL_DEF("application/config/project_settings_override", ""); - GLOBAL_DEF_BASIC("display/window/size/viewport_width", 1024); + // The default window size is tuned to: + // - Have a 16:9 aspect ratio, + // - Have both dimensions divisible by 8 to better play along with video recording, + // - Be displayable correctly in windowed mode on a 1366×768 display (tested on Windows 10 with default settings). + GLOBAL_DEF_BASIC("display/window/size/viewport_width", 1152); custom_prop_info["display/window/size/viewport_width"] = PropertyInfo(Variant::INT, "display/window/size/viewport_width", PROPERTY_HINT_RANGE, "0,7680,1,or_greater"); // 8K resolution - GLOBAL_DEF_BASIC("display/window/size/viewport_height", 600); + GLOBAL_DEF_BASIC("display/window/size/viewport_height", 648); custom_prop_info["display/window/size/viewport_height"] = PropertyInfo(Variant::INT, "display/window/size/viewport_height", PROPERTY_HINT_RANGE, "0,4320,1,or_greater"); // 8K resolution GLOBAL_DEF_BASIC("display/window/size/resizable", true); diff --git a/doc/classes/ProjectSettings.xml b/doc/classes/ProjectSettings.xml index b0df71dcede..b2a703c0ec2 100644 --- a/doc/classes/ProjectSettings.xml +++ b/doc/classes/ProjectSettings.xml @@ -576,19 +576,19 @@ Allows the window to be resizable by default. [b]Note:[/b] This setting is ignored on iOS. - - Sets the game's main viewport height. On desktop platforms, this is also the initial window height. + + Sets the game's main viewport height. On desktop platforms, this is also the initial window height, represented by an indigo-colored rectangle in the 2D editor. Stretch mode settings also use this as a reference when using the [code]canvas_items[/code] or [code]viewport[/code] stretch modes. See also [member display/window/size/viewport_width], [member display/window/size/window_width_override] and [member display/window/size/window_height_override]. - - Sets the game's main viewport width. On desktop platforms, this is also the initial window width. + + Sets the game's main viewport width. On desktop platforms, this is also the initial window width, represented by an indigo-colored rectangle in the 2D editor. Stretch mode settings also use this as a reference when using the [code]canvas_items[/code] or [code]viewport[/code] stretch modes. See also [member display/window/size/viewport_height], [member display/window/size/window_width_override] and [member display/window/size/window_height_override]. - On desktop platforms, sets the game's initial window height. - [b]Note:[/b] By default, or when set to 0, the initial window height is the [member display/window/size/viewport_height]. This setting is ignored on iOS, Android, and HTML5. + On desktop platforms, overrides the game's initial window height. See also [member display/window/size/window_width_override], [member display/window/size/viewport_width] and [member display/window/size/viewport_height]. + [b]Note:[/b] By default, or when set to [code]0[/code], the initial window height is the [member display/window/size/viewport_height]. This setting is ignored on iOS, Android, and HTML5. - On desktop platforms, sets the game's initial window width. - [b]Note:[/b] By default, or when set to 0, the initial window width is the viewport [member display/window/size/viewport_width]. This setting is ignored on iOS, Android, and HTML5. + On desktop platforms, overrides the game's initial window width. See also [member display/window/size/window_height_override], [member display/window/size/viewport_width] and [member display/window/size/viewport_height]. + [b]Note:[/b] By default, or when set to [code]0[/code], the initial window width is the viewport [member display/window/size/viewport_width]. This setting is ignored on iOS, Android, and HTML5. Sets the V-Sync mode for the main game window. diff --git a/main/main.cpp b/main/main.cpp index 965fcc66c66..3c695546f57 100644 --- a/main/main.cpp +++ b/main/main.cpp @@ -161,7 +161,7 @@ static DisplayServer::WindowMode window_mode = DisplayServer::WINDOW_MODE_WINDOW static DisplayServer::ScreenOrientation window_orientation = DisplayServer::SCREEN_LANDSCAPE; static DisplayServer::VSyncMode window_vsync_mode = DisplayServer::VSYNC_ENABLED; static uint32_t window_flags = 0; -static Size2i window_size = Size2i(1024, 600); +static Size2i window_size = Size2i(1152, 648); static int init_screen = -1; static bool init_fullscreen = false;