Commit Graph

420 Commits

Author SHA1 Message Date
lawnjelly b69c8b4791 Single Compilation Unit build.
Adds support for simple SCU build (DEV_ENABLED only).
This speeds up compilation by compiling multiple cpp files within a single translation unit.
2023-06-06 15:36:51 +01:00
kobewi e767ff5695 Add project tags 2023-05-30 00:53:02 +02:00
Fredia Huya-Kouadio 831b4a5366 Improve startup benchmarking
Move the benchmarking measuring methods from `Engine` to `OS` to allow for platform specific overrides (e.g: can be used to hook into platform specific benchmarking and tracing capabilities).
2023-05-23 13:22:35 -07:00
jpcerrone 0985019c28 Fix Input Map key assignments missing after project conversion
Fixes #76336 (Input Map keys missing).
Moves the project.godot config_version stamping from the project manager
to the project converter. Now there's no difference between converting through
the project manager and the CLI tool.
Fixes being prompted to re-convert the project in the project manager after
having done so through the CLI tool.
2023-05-16 14:39:04 -03:00
Rémi Verschelde e54ebaf0eb
Merge pull request #76421 from timothyqiu/editor-dialog
Fix inconsistent file dialog settings usage
2023-04-25 10:01:06 +02:00
Rémi Verschelde 76d33d187f
Merge pull request #69698 from Daylily-Zeleen/daylily-zeleen/show_in_explorer
Implement and expose OS::shell_show_in_file_manager()
2023-04-25 09:57:27 +02:00
Daylily-Zeleen b12ced0a26 Implement and expose OS::shell_show_in_file_manager() 2023-04-25 11:29:32 +08:00
Haoyu Qiu 2ccc9e1456 Fix inconsistent file dialog settings usage
* Project Manager ignores display mode settings.
* EditorFileDialog's default display mode and show hidden files settings
  are not updated when corresponding editor settings change.
2023-04-25 09:11:57 +08:00
clayjohn 48ebae7812 Validate renderer selection in project manager and change default renderer editor setting to expose an enum to users 2023-04-21 16:51:57 -07:00
Rémi Verschelde c5d9470c7c
Merge pull request #75765 from YuriSizov/editor-node-optimize-includes
Improve includes of `EditorNode` (and everything else)
2023-04-11 19:40:24 +02:00
kobewi 71011e0855 Adjust size of some dialogs 2023-04-10 17:04:53 +02:00
Yuri Sizov 4154039832 Improve includes of EditorNode (and everything else)
Also start organizing editor-specific GUI components
into a dedicated folder, `editor/gui`.
Also move `editor_file_server` next to the rest of debugger classes.
2023-04-07 18:59:49 +02:00
Yuri Sizov 632423f969 Improve selection handling in the project manager
Also clean up some unused methods and method names
2023-04-04 15:27:13 +02:00
Yuri Sizov d4c3cc4146 Improve drawing and layout logic of the project list in the Project Manager 2023-03-16 12:36:27 +01:00
Yuri Sizov aa47427cc7 Improve theming support in the Project Manager 2023-03-16 12:36:26 +01:00
Yuri Sizov 10420f91ba Reorganize ProjectManager code to be more idiomatic 2023-03-16 12:36:26 +01:00
clayjohn 45a26ff292 Disallow creating a project in the Home or Documents folder
Also don't prompt users to delete the project folder for now.

This is a temporary fix to ensure that users do not delete their entire home folders by mistake
2023-03-15 16:38:30 -07:00
Haoyu Qiu e03bfd6f7f Fix "Convert Full Project" button not translated
Also fixes a typo in the CHANGELOG.
2023-03-02 16:19:30 +08:00
Rémi Verschelde 02583ddde8
Merge pull request #72460 from Calinou/project-manager-disable-incompatible-rendering-methods
Disable incompatible rendering methods in the project manager
2023-02-22 22:47:07 +01:00
Hugo Locurcio 8ebc5b2875
Disable incompatible rendering methods in the project manager
The project manager can now only create projects that use a rendering
method compatible with the current platform. Rendering methods that
are disabled at build-time are also grayed out (only for OpenGL).

While it is possible in theory to create a project using Forward+
on web (thanks to the automatic fallback),
it will look different once edited on a desktop platform.
2023-02-22 19:57:17 +01:00
pattlebass a16dfaa39c
Increase minsize for some Project Conversion dialogs
This is more of a workaround than a fix.
The underlying issue is that `ConfirmationDialog` doesn't always update its size
if you change its text. (or it updates it AFTER it had already popped up).
`wrap_controls` doesn't help here.
2023-02-20 15:20:55 +01:00
Yuri Sizov 236cec0633 Add a custom icon for the `project.godot` file in the EditorFileDialog 2023-02-17 22:42:23 +01:00
Rémi Verschelde 49fd62c315
Merge pull request #67523 from zaevi/fix_ProjectManager_sorting
Fix sorting issue in Project Manager.
2023-02-13 21:07:58 +01:00
Rémi Verschelde ab56e79a6a
ProjectManager: Also set `gl_compatibility` for mobile override
It's a bit hacky as the choice mainly impacts the main setting, but there are
pre-existing overrides which supersede it. We should treat this checkbox as
the highest allowed rendering method, and replace the ones which would be
higher end (here replace `mobile` with the chosen `gl_compatibility`).
2023-02-10 15:45:52 +01:00
Haoyu Qiu 26581ca574 Add some missing translatable editor strings 2023-02-10 16:55:50 +08:00
Hugo Locurcio 1108594e66
Hide non-functional "Show in File Manager" buttons in Android/web editor
The editor filesystem isn't readily accessible by OS applications
on those platforms.
2023-02-01 12:23:14 +01:00
Clay John 21893140eb
Merge pull request #71289 from RandomShaper/avoid_color_flash
Avoid color flash on window creation and resizing
2023-01-12 14:39:41 -08:00
Rémi Verschelde c2790ec2b9
Merge pull request #68450 from KoBeWi/bracket_escapist
Allow to escape closing brackets in CFG tags
2023-01-12 21:53:15 +01:00
Pedro J. Estébanez d0e37cd04c Add framework for avoidance of color flash in new windows 2023-01-12 21:42:51 +01:00
kobewi dfc4367a47 Add expand modes to TextureRect 2023-01-12 17:06:03 +01:00
Rémi Verschelde dce8cdbca8
Merge pull request #70863 from bruvzg/win_init_min
Set main window min. size via Window object instead of DisplayServer to preserve it during window updates.
2023-01-09 23:08:52 +01:00
bruvzg 2718a7b7d3
Add support for the custom initial screen for the main window, fix primary screen detection. 2023-01-07 11:14:35 +02:00
Rémi Verschelde d95794ec8a
One Copyright Update to rule them all
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.

It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).

We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).

Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-05 13:25:55 +01:00
bruvzg 06551dfa3a
Set main window min. size via Window object instead of DisplayServer to preserve it during window updates. 2023-01-03 09:25:45 +02:00
Hugo Locurcio f1bb564c73
Mention that the Compatibility rendering backend is work-in-progress 2022-12-22 19:41:25 +01:00
clayjohn 4d818f395e Remove comma in gl_compatibility message in new project creation menu 2022-12-14 12:08:50 -08:00
clayjohn 324f5364e7 Added gl_compatibility as an option to the project creation screen
Last selected option is saved as default for next time
2022-12-13 14:11:07 -08:00
Nathan Franke 4581662add
print each migrated project path instead of always printing "migrating" when there are none 2022-11-29 18:09:16 -06:00
Rémi Verschelde f21f75eb6f
Project Manager: Fix hacky code for project rename
Instantiating a new ProjectSettings is *not* the way to go.
ConfigFile works just fine to read/change a single value.

Fixes memory leaks as the instantiated ProjectSettings was never freed.
Forbid doing this to prevent such problems.

Fixes #25661.
2022-11-29 15:38:22 +01:00
trollodel c90d0bd84f Use forward-declarations in big editor classes 2022-11-29 09:59:43 +01:00
Aaron Franke f6714858bf
Rename TextureButton set_*_texture methods to set_texture_* 2022-11-19 17:33:40 -06:00
kobewi 0d122ce459 Allow to escape closing brackets in CFG tags 2022-11-09 14:00:51 +01:00
Rémi Verschelde f475c91081
Fix -Wunused-but-set-variable warnings from Emscripten 3.1.20 2022-11-04 11:36:13 +01:00
kobewi e48c5daddf Unify usage of GLOBAL/EDITOR_GET 2022-10-18 19:01:48 +02:00
Zae 41f9bf946b Fix sorting issue in Project Manager. 2022-10-17 16:12:35 +08:00
Nikola Bunjevac fb673953ca Resize project dialog only when necessary 2022-10-11 17:16:20 +02:00
Rémi Verschelde 3a2e749a10 Merge pull request #59382 from akien-mga/editor-acceptdialog-swap-cancel-ok
Add editor setting for AcceptDialog OK/Cancel buttons positioning
2022-10-11 12:34:04 +02:00
bruvzg 0103af1ddd
Fix MSVC warnings, rename shadowed variables, fix uninitialized values, change warnings=all to use /W4. 2022-10-07 11:32:33 +03:00
Rémi Verschelde 9bb05de89f Add editor setting for AcceptDialog OK/Cancel buttons positioning
The position (left/right) of the Cancel and OK buttons in AcceptDialog
are DisplayServer specific, as Windows uses OK/Cancel and macOS uses Cancel/OK.

Linux/X11 currently uses the macOS convention which is also the GTK+/GNOME one,
though it's not consistent with Qt/KDE applications which follow the Windows
convention.

Since that can't satisfy everyone, it's best if it's configurable also for the
editor (it's already configurable for the project).

Fixes #59379.
2022-10-05 17:51:04 +02:00
clayjohn 4a1c7de57c Split rendering driver project setting into renderer_name and rendering_driver. To differentiate between a driver (e.g. Vulkan or D3D12) and a renderer (e.g. clustered or mobile renderer). 2022-09-19 10:26:10 -07:00