Commit graph

1184 commits

Author SHA1 Message Date
Rémi Verschelde 67ccb5a739
Merge pull request #73617 from myaaaaaaaaa/quit-after
Add `--quit-after <number-of-iterations>`
2023-04-26 11:35:52 +02:00
myaaaaaaaaa 03dafc7bc6 Add --quit-after <number-of-iterations> 2023-04-25 13:46:32 -04:00
Juan Linietsky a37c30dfc9 Fix thread IDs.
On Linux, thread IDs were not properly assigned with the current approach.
The line:
`std::thread new_thread(&Thread::callback, _thread_id_hash(thread.get_id()), p_settings, p_callback, p_user);`
does not work because the thread ID is not assigned until the thread starts.

This PR changes the behavior to use manually generated thread IDs. Additionally, if a thread is (or may have been created) outside Godot, the method `Thread::attach_external_thread` was added.
2023-04-24 15:13:58 +02:00
bruvzg 520a8d8ed2
Add project manager / editor initial screen settings, implement DisplayServer.get_keyboard_focus_screen method. 2023-04-19 08:54:53 +03:00
Pedro J. Estébanez f5602869da Cache classes editor help 2023-04-13 12:16:47 +02:00
Yuri Sizov 3596443de1
Merge pull request #74727 from AThousandShips/project_settings
Exposing more project settings for documentation
2023-03-15 15:59:10 +01:00
Ninni Pipping bd30847e59 Exposing more project settings for documentation 2023-03-15 14:25:40 +01:00
Yuri Sizov c981a305a5
Merge pull request #73144 from chutchinson/bug/openxr-init-alert-dialog
Replaced OpenXR operating system alert dialog with a warning log message
2023-03-15 14:07:05 +01:00
Yuri Sizov 8402927d3f Prevent crashing on startup if project has scripted theme types
Also avoid order of operation conflicts by moving C# binding generation hook to main.cpp
2023-03-08 11:17:21 +01:00
Rémi Verschelde 0a9deaa440
Warn users when using non existing --export flag, replaced by --export-release
See #73782.
2023-02-22 22:20:57 +01:00
Hugo Locurcio aa386472e1
Mark Application Icon and V-Sync Mode project settings as basic
These settings are likely to be changed at some point in most projects.
2023-02-19 01:47:21 +01:00
Travis Veralrud 10be2c343f
iOS: Fix memory leak on touch input
Replace incomplete iOS gesture with touch implementation.

Fixes #66422.
2023-02-15 09:45:38 +01:00
Chris Hutchinson cb8e919243 Replaced operating system alert dialog with a warning log message,
toggled by a project setting.
Fixes #73141
2023-02-13 18:42:43 -05:00
Rémi Verschelde cb2e73d578
Merge pull request #73033 from akien-mga/gdscript-fix-gd4-renames-build
Clean up ProjectConverter3To4 architecture, move renames map to separate file
2023-02-11 22:05:38 +01:00
Rémi Verschelde e19e6b09b9
Clean up ProjectConverter3To4 architecture, move renames map to separate file
This allows properly limiting what features depend on the RegEx module
(doing the actual conversion) and what features only require the renames
data (GDScript suggestions).

Also better excludes the conversion command line options when actually
disabling deprecated code.

Fixes #73029.
2023-02-10 14:35:22 +01:00
Josh Jones f978d74fd0 Allow compiling out the navigation module 2023-02-09 23:04:16 -08:00
Rémi Verschelde c197b398c3
Fix build with deprecated=no not exclude ProjectConverter3To4 options
Fixes #72520.
2023-02-01 22:29:51 +01:00
Rémi Verschelde 1dfd236f15
Merge pull request #70377 from dsnopek/server-export-mk2
Add "dedicated server" export mode which can strip unneeded visual resources
2023-01-23 22:13:28 +01:00
David Snopek 74458b6e9b Add "dedicated server" export mode which can strip unneeded visual resources 2023-01-23 13:24:54 -06:00
bruvzg 15dafc49d3
[TextServer] Fix ICU data loading and exporting with internationalization/locale/include_text_server_data setting. 2023-01-23 21:13:32 +02:00
Hugo Locurcio 33e9dff3de
Mark touch emulation project settings as basic
These settings are likely to be toggled often during development,
so they should be as accessible as possible.
2023-01-23 10:07:47 +01:00
Rémi Verschelde cd031fd31a
Merge pull request #71663 from bruvzg/init_pos_x
Reorganize main and sub-window initial position properties.
2023-01-22 11:25:58 +01:00
Rémi Verschelde abad6ea55c
Merge pull request #68002 from dogboydog/csharp_build_exit_code
Exit editor with non-zero return code if --build-solutions fails
2023-01-21 11:31:58 +01:00
Rémi Verschelde f461a005bd
doc: Define dummy Mono settings to keep them in doctool
Revival of #54840.
2023-01-20 13:13:38 +01:00
bruvzg aade5abd4f
Reorganize main and sub-window initial position properties. 2023-01-19 13:44:06 +02:00
Rémi Verschelde cd0a9ccdfd
Merge pull request #71515 from akien-mga/disable-mangohud-editor
Force disable Vulkan overlays in the editor and project manager
2023-01-19 10:10:17 +01:00
bruvzg cb11bc9d6d [Windows] Fix main window project icon not set when using editor executable. 2023-01-19 09:50:01 +02:00
Rémi Verschelde 12817543a9
Force disable Vulkan overlays in the editor and project manager
MangoHud would be shown on every popup in multi-window mode, and seemed
to cause rendering issues for various users.

There are also issues with RTSS, and VkBasalt also doesn't seem
particularly good to use in the editor.

All these stay available to enable when running the project itself,
including running from the editor (so running the editor after e.g.
`export MANGOHUD=1` in the environment will ignore it for the editor,
but use it when playing the project).

Fixes #57403.
Fixes #57937.
2023-01-18 08:58:06 +01:00
Mikael Hermansson d10cd99613 Make physics servers end_sync on exit 2023-01-17 14:11:37 +01:00
Pawel Lampe dec0a3ed99 Fix 'Navigation Process' monitor initialization 2023-01-13 23:47:31 +01:00
Juan Linietsky 6f0e210093 Refactor ProjectSetting overrides
* Overrides no longer happen for set/get.
* They must be checked with a new function: `ProjectSettings::get_setting_with_override()`.
* GLOBAL_DEF/GLOBAL_GET updated to use this

This change solves many problems:
* General confusion about getting the actual or overriden setting.
* Feature tags available after settings are loaded were being ignored, they are now considered.
* Hacks required for the Project Settings editor to work.

Fixes #64100. Fixes #64014. Fixes #61908.
2023-01-13 15:13:56 +01:00
smix8 be9224eaa8 Fix duplicate NavigationServer process
NavigationServer process was called twice each frame
Also adds 3 missing MONITOR_TYPE entries.
2023-01-13 09:38:32 +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
Rémi Verschelde a5dedfe260
Merge pull request #70731 from smix8/navigationserver_performance_monitor_4.x
Add NavigationServer Performance Monitor
2023-01-12 10:36:18 +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
smix8 9802914f97 Add NavigationServer Performance Monitor
Adds Performance Monitor for NavigationServer3D.
2023-01-08 22:58:21 +01:00
Josh Jones a0715b30f9 Rework const on NavigationServer methods
`const` is used on all methods, even when they cause modification of the server.  This reworks the methods of the server to only use `const` on method that don't change the state of the server.
2023-01-07 17:29:00 -08: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 163f6f5fe8
Merge pull request #68429 from KoBeWi/PropertySettings
Add PropertyInfo overload for GLOBAL_DEF
2023-01-06 22:59:29 +01: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
Fredia Huya-Kouadio da8b468074 Add boot splash for the Godot Android Editor 2022-12-16 10:49:28 -08:00
Rémi Verschelde de5aaf1d13
CI: Fix dumping GDExtension interface and API for godot-cpp
Follow-up to https://github.com/godotengine/godot-cpp/pull/960.

Fix exit code for --dump-extension-api and --dump-gdextension-interface.

Removed the planned API validation step as we still didn't implement
anything, and maintaining a stub isn't useful.
2022-12-14 16:42:14 +01:00
Rémi Verschelde f1edd03d4c
Merge pull request #69718 from groud/finally_rename_gdnative_to_gdextension
Rename all gdnative occurences to gdextension
2022-12-12 11:43:59 +01:00
Gilles Roudière be1c9d677d Rename all gdnative occurences to gdextension
Non-exhaustive list of case-sensitive renames:

GDExtension -> GDNative
GDNATIVE -> GDEXTENSION
gdextension -> gdnative
ExtensionExtension ->Extension (for where there was GDNativeExtension)
EXTENSION_EXTENSION ->EXTENSION (for where there was GDNATIVE_EXTENSION)
gdnlib -> gdextension
gdn_interface -> gde_interface
gdni -> gde_interface
2022-12-12 11:04:57 +01:00
kobewi 7c6b659bd7 Add PropertyInfo overload for GLOBAL_DEF 2022-12-11 21:36:48 +01:00
Adam Scott eb901a50f9 Move navigation server finalize before physics server 2022-12-08 12:23:42 -05:00
Adam Scott 4a16b8630e Fix ResourceLoader::thread_load_tasks crash 2022-12-07 16:59:10 -05:00
Rémi Verschelde a565ddcd09
Merge pull request #69654 from BastiaanOlij/openxr_submit_depth_optional
Make submitting depth buffer in OpenXR optional
2022-12-07 13:25:42 +01:00
Markus Sauermann e18107a57c Fix Determining Window for Touchscreen
DisplayServer::screen_is_touchscreen will likely never utilize its
parameter p_screen.
This PR replaces this function by DisplayServer::is_touchscreen_available()
with the same functionality.
This solves the problem, that a SubViewport was used for determining
the screen, which resulted in error messages.
2022-12-07 09:54:29 +01:00