Commit Graph

1438 Commits

Author SHA1 Message Date
Hugo Locurcio
8379cc85aa
Warn on unknown command line arguments
This eases troubleshooting when working with command line arguments.

Warnings are only printed if the argument does not exist as a file
or directory path (relative or absolute). This allows positional arguments
to keep working as they are now, without printing warnings when a project
reads positional arguments to perform operations on files (e.g. when
drag-and-dropping a file onto a project executable).

This now prints a warning:

    godot --non-existent-argument

This still doesn't print a warning, as it's an user argument:

    godot -- --non-existent-argument

This doesn't print a warning if the file/folder path exists:

    godot /path/to/file.txt

A warning is still printed if the file/folder doesn't exist. Drag-and-drop
associations always refer to existing files/folders, so that scenario was
unlikely to be encountered.
2024-11-06 15:01:40 +01:00
Thaddeus Crews
edad871a2d
Merge pull request #98425 from darksylinc/matias-breadcrumbs-race-fix
Fix race conditions in breadcrumbs
2024-10-25 13:04:12 -05:00
Thaddeus Crews
9554e3c35b
Merge pull request #38208 from Calinou/project-manager-use-dummy-audio-driver
Use the Dummy audio driver in the project manager
2024-10-25 13:04:02 -05:00
Matias N. Goldberg
668c9b74e2 Fix race conditions in breadcrumbs
Adds "--accurate-breadcrumbs" CLI command

Additionally, leave out breadcrumbs code in non-debug, non-dev builds.
Fix regression introduced in #98388 where command_insert_breadcrumb() is
called even in non-debug builds.

Fixes #98338
2024-10-22 22:08:46 -03:00
Thaddeus Crews
6ec3dc1fb5
Merge pull request #97649 from ohboh/literally-unusable-on-mobile-without-this
Fix `emulate_mouse_from_touch` setting affecting editor
2024-10-21 16:39:26 -05:00
Thaddeus Crews
7dbea98c49
Merge pull request #97005 from Repiteo/core/window-corner-style
Core: Add `DisplayServer` flag for sharp corners
2024-10-21 16:39:25 -05:00
Thaddeus Crews
f8c4a683d7
Core: Add DisplayServer flag for sharp corners 2024-10-18 11:20:21 -05:00
Yevhen Babiichuk (DustDFG)
af6d260c17 Don't include core/io/image.h in core/os/os.h
`core/os/os.h` doesn't use `core/io/image.h`. It just brings
transitive dependencies. Lots of dependencies because `core/os/os.h`
is transitively included in almost every file of godot

Also added `core/io/image.h` into files^1 where `Ref<Image>` and `core/os/os.h`
were used to prevent obscure errors involving `Ref<Image>`

^1 except those which include `core/io/image_loader.h` or `core/io/image.h` by
corresponding .h file with the same name

Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-10-18 19:04:19 +03:00
Rémi Verschelde
05b519fafb
Merge pull request #96230 from timothyqiu/per-domain-pseudolocalization
Move pseudolocalization into `TranslationDomain`
2024-10-04 11:21:18 +02:00
Dario
e2c6daf7ef Implement asynchronous transfer queues, thread guards on RenderingDevice. Add ubershaders and rework pipeline caches for Forward+ and Mobile.
- Implements asynchronous transfer queues from PR #87590.
- Adds ubershaders that can run with specialization constants specified as push constants.
- Pipelines with specialization constants can compile in the background.
- Added monitoring for pipeline compilations.
- Materials and shaders can now be created asynchronously on background threads.
- Meshes that are loaded on background threads can also compile pipelines as part of the loading process.
2024-10-02 15:11:58 -03:00
Brandon Chang
e0957c2fa3
Consolidate remembering window settings into single config 2024-10-01 16:35:36 +02:00
obo
4ef07cb9a5 Fix "emulate mouse from touch" setting affecting editor
Make "emulate mouse from touch" always true in the editor
2024-10-01 02:23:32 +08:00
Rémi Verschelde
dbf1efbd19
Merge pull request #97442 from dustdfg/disable_xr/missing_disable_3d_ifndefs
Add missing `#ifndef _3D_DISABLED` to main file
2024-09-26 12:45:54 +02:00
Rémi Verschelde
2912cb9975
Merge pull request #97118 from mihe/patch-exports
Add ability to export patch packs
2024-09-26 12:45:42 +02:00
Mikael Hermansson
d3be030ea6 Add ability to export patch packs
Co-authored-by: Poq Xert <poqxert@poqxert.ru>
2024-09-25 17:07:28 +02:00
Thaddeus Crews
9f9ee0c813
SCons: Add unobtrusive type hints in SCons files 2024-09-25 09:34:35 -05:00
Yevhen Babiichuk (DustDFG)
415607784f Add missing #ifndef _3D_DISABLED to main file
XR is disabled when 3D is disbled so there is no sense in
setting xr specific settings and adding `--xr-mode` option

Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
2024-09-25 14:24:59 +03:00
Ricardo Buring
7c4c4b9987 Move Godot Physics 2D into a module; add dummy 2D physics server
If the module is enabled (default), 2D physics works as it did before.

If the module is disabled and no other 2D physics server is registered
(via a module or GDExtension), then we fall back to a dummy
implementation which effectively disables 2D physics functionality (and
a warning is printed).

The dummy 2D physics server can also be selected explicitly, in which
case no warning is printed.
2024-09-23 17:33:45 +02:00
Ricardo Buring
0333648cea Move Godot Physics 3D into a module; add dummy 3D physics server
If the module is enabled (default), 3D physics works as it did before.

If the module is disabled and no other 3D physics server is registered
(via a module or GDExtension), then we fall back to a dummy
implementation which effectively disables 3D physics functionality (and
a warning is printed).

The dummy 3D physics server can also be selected explicitly, in which
case no warning is printed.
2024-09-21 21:19:45 +02:00
Haoyu Qiu
cca54ba4db Move pseudolocalization into TranslationDomain
Also adds command-line option `--editor-pseudolocalization`
2024-09-21 18:28:12 +08:00
SheepYhangCN
3b839347df Added fallback_to_opengl3 2024-09-20 06:10:05 +08:00
Pedro J. Estébanez
5d371e3378 WorkerThreadPool: Add safety point between languages finished and pool termination 2024-09-16 18:20:10 +02:00
Pedro J. Estébanez
e2fd88ed91 Revert "WorkerThreadPool: Enhance lifetime for more flexibility"
This reverts commit 2d1dd41ef5.
2024-09-13 14:39:11 +02:00
David Snopek
30a63396e5 Fix launching XR apps from the Android editor 2024-09-11 14:31:54 -05:00
Rémi Verschelde
658b8a8704
Merge pull request #96760 from RandomShaper/wtp_langs_exit_thread
Make use of languages' thread enter/exit more correct
2024-09-11 12:35:07 +02:00
Pedro J. Estébanez
2d1dd41ef5 WorkerThreadPool: Enhance lifetime for more flexibility 2024-09-10 11:08:51 +02:00
bruvzg
3009073b39 [Resource Loader] Do not check property type for non registered properties. 2024-09-10 11:27:16 +03:00
Fredia Huya-Kouadio
9dc0543da7 Improve support for XR projects 2024-09-06 00:35:50 -07:00
Rémi Verschelde
d8e2a2b860
Merge pull request #95005 from jsjtxietian/export-proj
Fix crash or unclear messages when exporting with invalid arguments
2024-09-05 17:44:07 +02:00
jsjtxietian
1d09970404 Fixes godot crash or give unclear message when exporting with invalid args 2024-09-05 17:56:54 +08:00
Rémi Verschelde
8eff04192b
Merge pull request #91780 from Riteo/falling-with-style
Improve UX when falling back between Display Servers
2024-09-04 11:16:08 +02:00
bruvzg
c273786758
Update rendering driver name on fallbacks. Fix rendering driver/method in the editor system info. 2024-09-01 18:22:40 +03:00
Rémi Verschelde
8186fabc8f
Merge pull request #96197 from jsjtxietian/splash-msg
Improve error message when loading non-PNG splash image
2024-08-29 10:36:38 +02:00
jsjtxietian
c7a0e39af1 Add is png check and better err msg when loading splash imgae 2024-08-29 10:49:04 +08:00
Rémi Verschelde
1e41bf6a08
Merge pull request #93746 from KoBeWi/by_extension
Allow more image types for some project settings
2024-08-28 00:11:20 +02:00
Bastiaan Olij
08ffa5d89e Add support for the debug utils extension in OpenXR 2024-08-27 12:07:01 +10:00
Rémi Verschelde
b34aa7b44d
Merge pull request #76085 from spanzeri/better_remember_editor_window
Remember editor window mode, screen, size and position on restart
2024-08-26 23:27:55 +02:00
Rémi Verschelde
e53dc80f2f
Merge pull request #95777 from Calinou/command-line-improve-rendering-driver-method-error-messages
Some checks are pending
🔗 GHA / 📊 Static checks (push) Waiting to run
🔗 GHA / 🤖 Android (push) Blocked by required conditions
🔗 GHA / 🍏 iOS (push) Blocked by required conditions
🔗 GHA / 🐧 Linux (push) Blocked by required conditions
🔗 GHA / 🍎 macOS (push) Blocked by required conditions
🔗 GHA / 🏁 Windows (push) Blocked by required conditions
🔗 GHA / 🌐 Web (push) Blocked by required conditions
🔗 GHA / 🪲 Godot CPP (push) Blocked by required conditions
Improve error messages for invalid rendering drivers/methods on the command line
2024-08-26 10:51:35 +02:00
Matias N. Goldberg
59d0422dcd Disable extra memory tracking by default
PR #90993 added several debugging utilities.

Among them, advanced memory tracking through the use of custom
allocators and VK_EXT_device_memory_report.

However as issue #95967 reveals, it is dangerous to leave it on by
default because drivers (or even the Vulkan loader) can too easily
accidentally break custom allocators by allocating memory through std
malloc but then request us to deallocate it (or viceversa).

This PR fixes the following problems:
 - Adds --extra-gpu-memory-tracking cmd line argument
 - Adds missing enum entries to
RenderingContextDriverVulkan::VkTrackedObjectType
 - Adds RenderingDevice::get_driver_and_device_memory_report
    - GDScript users can easily check via print(
RenderingServer.get_rendering_device().get_driver_and_device_memory_report()
)
- Uses get_driver_and_device_memory_report on device lost for appending
further info.

Fixes #95967
2024-08-24 20:52:39 -03:00
Riteo
56eb272e90 Warn when falling back to another DisplayServer
Before it was a bit unclear on what was happening, since a display
server has to fail to fall back and so the user would be left with an
error _and_ a (hopefully) running game.

Should make the experience more pleasant on Linux/BSD now that we have
two display servers.
2024-08-21 06:31:19 +02:00
Stuart Carnie
2d0165574d
Add Metal support for macOS (arm64) and iOS 2024-08-20 12:11:06 +02:00
Bastiaan Olij
a8c5117777 Change hand tracking project settings and finetune show_when_tracked 2024-08-20 11:12:52 +10:00
Hugo Locurcio
a2043f124d
Improve error messages for invalid rendering drivers/methods on the command line
- Deduplicate rendering driver names.
- Tweak grammar and punctuation to be consistent across both messages.
- Use "rendering method" terminology in the relevant error message.

Preview:

`--rendering-driver unknown`:

    Unknown rendering driver 'unknown', aborting.
    Valid options are 'vulkan', 'opengl3', 'opengl3_es' and 'dummy'.

`--rendering-method unknown`:

    Unknown rendering method 'unknown', aborting.
    Valid options are 'forward_plus', 'mobile' and 'gl_compatibility'.
2024-08-18 23:57:54 +02:00
Rémi Verschelde
1bd740d18d
Merge pull request #95656 from anvilfolk/gdscript-docs-quit
Fix Godot not quitting with `--doctool --gdscript-docs`.
2024-08-17 00:47:17 +02:00
ocean
13b20820ba Fix Godot not quitting with --doctool --gdscript-docs. 2024-08-16 18:18:45 -04:00
Rémi Verschelde
82adfebcf8
Merge pull request #94799 from m4gr3d/memory_allocation_cleanup_and_optimizations
Android memory cleanup and optimizations
2024-08-16 23:45:39 +02:00
Rémi Verschelde
dbf4be308c
Merge pull request #93583 from smix8/obstacle_monitor
Add navigation obstacles to performance monitor stats
2024-08-16 23:45:10 +02:00
Fredia Huya-Kouadio
a57a99f5bc Memory cleanup and optimizations
- Returns an empty list when there's not registered plugins, thus preventing the creation of spurious iterator objects

- Inline `Godot#getRotatedValues(...)` given it only had a single caller. This allows to remove the allocation of a float array on each call and replace it with float variables

- Disable sensor events by default. Sensor events can fired at 10-100s Hz taking cpu and memory resources. Now the use of sensor data is behind a project setting allowing projects that have use of it to enable it, while other projects don't pay the cost for a feature they don't use

- Create a pool of specialized input `Runnable` objects to prevent spurious, unbounded `Runnable` allocations

- Disable showing the boot logo for Android XR projects

- Delete locale references of jni strings
2024-08-16 09:27:41 -07:00
Rémi Verschelde
f01e052162
Merge pull request #95549 from timothyqiu/split-translation-server
Split `TranslationServer` into its own file
2024-08-16 14:36:16 +02:00
Rémi Verschelde
a88b828eb0
Merge pull request #95513 from bruvzg/ds_init_cleanup
Run cleanup code on DisplayServer init failure to prevent crash on exit.
2024-08-16 14:35:26 +02:00