Commit Graph

11189 Commits

Author SHA1 Message Date
Rémi Verschelde 0eea8728b5
Merge pull request #88803 from raulsntos/dotnet/android-monovm
C#: Fallback to CoreCLR/MonoVM hosting APIs when hostfxr/NativeAOT fails
2024-09-17 09:17:39 +02:00
Rémi Verschelde e72a70de8e
Merge pull request #87150 from demolke/bones
Add per-bone meta to Skeleton3D
2024-09-17 09:17:35 +02:00
aaronp64 e2b6d92e27 Speed up lambda capture handling
Updated GDScriptLambdaCallable::call and GDScriptLambdaSelfCallable::call to use alloca instead of Vector when using captures, to avoid extra allocation/copy_on_write calls on each lambda function call.
2024-09-16 15:47:58 -04:00
Raul Santos 0aa46e19c5
C#: Fallback to CoreCLR/MonoVM hosting APIs when hostfxr/NativeAOT fails
Some platforms don't support hostfxr but we can use the coreclr/monosgen library directly to initialize the runtime.

Android exports now use the `android` runtime identifier instead of `linux-bionic`, this removes the restrictions we previously had:
- Adds support for all Android architectures (arm32, arm64, x32, and x64), previously only the 64-bit architectures were supported.
- Loads `System.Security.Cryptography.Native.Android` (the .NET library that binds to the Android OS crypto functions).
2024-09-16 17:07:03 +02:00
demolke 0468bea899 Add per-bone meta to Skeleton3D
Individual bones are not represented as `Node`s in Godot, in order to support meta functionality for them the skeleton has to carry the information similarly to how other per-bone properties are handled.
- Also adds support for GLTF import/export
2024-09-16 16:26:15 +02:00
Rémi Verschelde 964a9ec03b
Merge pull request #96684 from HolonProduction/that-was-a-bit-too-smart
LSP: Don't use smart resolve for completion
2024-09-16 15:25:44 +02:00
Rémi Verschelde b573994730
Merge pull request #97045 from Calinou/doc-scenemultiplayer-auth-timeout
Document SceneMultiplayer `auth_timeout` being in seconds
2024-09-16 13:36:02 +02:00
Rémi Verschelde 41066484ff
Merge pull request #96965 from Repiteo/style/gdscript-editorconfig
Style: Consolidate & migrate GDScript `.editorconfig`
2024-09-16 13:35:25 +02:00
Rémi Verschelde f7daa0fb2f
Merge pull request #96856 from RandomShaper/selfdestruct_correctness
Object: Let debug lock handle callee destruction within call chain gracefully
2024-09-16 13:35:06 +02:00
Rémi Verschelde 08c5ce1d9c
Merge pull request #96797 from Repiteo/core/typed-dictionary-bracket-fix
Core: Fix `operator[]` for typed dictionaries
2024-09-16 13:35:02 +02:00
Rémi Verschelde 3b714ded01
Merge pull request #96725 from HolonProduction/lsp-omit
LSP: Omit some values based on specification version 3.17
2024-09-16 13:34:50 +02:00
Rémi Verschelde a9364a9e75
Merge pull request #96468 from aaronfranke/gltf-append-node
GLTF: Add `append_gltf_node` to GLTFState
2024-09-16 13:34:46 +02:00
Rémi Verschelde 4d35402c1c
Merge pull request #96400 from Maran23/inputmap-usage-for-filter-and-corresponding-refactor
Use InputMap actions consistently across all LineEdit's that filter an underlying Tree or ItemList.
2024-09-16 13:34:38 +02:00
Rémi Verschelde 8ebfd89359
Merge pull request #96024 from Ryan-000/expose_get_rpc_config
Expose `get_rpc_config` and `get_node_rpc_config`
2024-09-16 13:34:34 +02:00
Rémi Verschelde 9fd431f078
Merge pull request #96002 from Hilderin/fix-resource-script-reload-external-editor
Fix script properties reload from external editor
2024-09-16 13:34:30 +02:00
Rémi Verschelde 67c9708eb8
Merge pull request #95915 from BlueCube3310/betsy-bc1
Betsy: Add caching and BC1 compression support
2024-09-16 13:34:26 +02:00
Pedro J. Estébanez bb77520599 Object: Add tests about the safety of tail destruction 2024-09-16 09:58:47 +02:00
Hugo Locurcio 212c34029e
Document SceneMultiplayer `auth_timeout` being in seconds 2024-09-15 17:49:38 +02:00
DeeJayLSP e3f3daac6f AudioStreamMP3: Use a LocalVector to store data 2024-09-14 19:14:47 -03:00
Hilderin 46edd6df55 Fix script properties reload from external editor 2024-09-14 15:07:53 -04:00
Thaddeus Crews bf811db6c8
Style: Consolidate & migrate GDScript `.editorconfig`
• Moved to test project root so a new `.editorconfig` isn't constantly generated.
• Disable attributes only in the files which use invalid syntax deliberately
2024-09-13 11:12:17 -05:00
Rémi Verschelde 97843116f6
Merge pull request #96759 from Geometror/implement-autostart-profilers
Implement autostart for all profilers
2024-09-13 11:21:54 +02:00
Rémi Verschelde 40d8d82b85
Merge pull request #93779 from hayahane/fix_get_property_cs
[C#] Fix `get_property_list` get wrong order of properties
2024-09-13 11:21:37 +02:00
Rémi Verschelde 04456cf42d
Merge pull request #93427 from AThousandShips/editor_setting_doc
[Editor] Expose more editor settings to documentation
2024-09-13 11:21:32 +02:00
clayjohn 74a1c85ba3 Add CommandQueue to Betsy 2024-09-12 13:54:24 -07:00
Thaddeus Crews b3d7960df4
Core: Fix `operator[]` for typed dictionaries 2024-09-12 11:10:17 -05:00
Fabio Alessandrelli 32e4ab91e8 [MP] Fix broken RPCs after dictionary keys type change
As part of RPCs processing, they need to be sorted reliably across all
peers, so that unique IDs can be assigned to greatly optimize the
network layer.

The RPC configuration nodes are stored in dictionaries which, until
recently, always casted StringName keys to String.

Since method names (keys) in the RPC configuration were StringName,
a side effect of the above change is that sorting the dictionary keys no
longer sort them alphabetically by default (StringName are compared
using their pointers).

This commit changes the RPC processing logic to use sort_custom to
provide a function that can handle the StringName comparison.
2024-09-12 16:38:14 +02:00
A Thousand Ships dd6443193c
[Editor] Expose more editor settings to documentation
Co-authored-by: Tomasz Chabora <kobewi4e@gmail.com>
2024-09-12 15:34:49 +02:00
Rémi Verschelde 55f1ae0d41
Merge pull request #96868 from dsnopek/android-editor-launching-xr-app-fix
Fix launching XR apps from the Android editor
2024-09-12 09:25:46 +02:00
Rémi Verschelde cee14dbff2
Merge pull request #96301 from scgm0/Delete-old-C#-data
C#: Clear existing data directory extracted from PCK
2024-09-12 09:25:27 +02:00
Rémi Verschelde ea9ad8d6a1
Merge pull request #96185 from dsnopek/openxr-composition-layer-android-surface
OpenXR: Support composition layers based on Android surfaces
2024-09-12 09:25:23 +02:00
Rémi Verschelde f8fbb860f5
Merge pull request #95840 from raulsntos/char_metadata
Add metadata for `char16_t` and `char32_t`
2024-09-12 09:25:19 +02:00
Rémi Verschelde b9b07d619f
Merge pull request #94783 from TokageItLab/validate-gltf-anim-name
Add validation to glTF importer for Blendshape and Animation
2024-09-12 09:25:10 +02:00
David Snopek 3afa26834a OpenXR: Support composition layers based on Android surfaces 2024-09-11 21:15:22 -05:00
Raul Santos aaffab8afb
Add metadata for `char16_t` and `char32_t`
We don't seem to expose any API that uses `char16_t` yet, but I added it anyway since we make the type info for it.

I didn't add anything for `wchar_t` because we are not making a type info so maybe we don't have a need for it yet, it could be added in the future.

To prevent breaking compatibility with the C# bindings, we ignore the `char32_t` metadata and still use `System.Int64`.
2024-09-12 02:15:55 +02:00
scgm0 a29ddd4674 C#: Clear existing data directory extracted from PCK 2024-09-12 07:12:01 +08:00
BlueCube3310 606eedb0c9 Betsy: Add caching and BC1 compression support 2024-09-11 23:48:29 +02:00
David Snopek 30a63396e5 Fix launching XR apps from the Android editor 2024-09-11 14:31:54 -05:00
Mikael Hermansson e120792760 Fix issue with GDScript binary tokens being non-deterministic 2024-09-11 14:58:08 +02:00
Rémi Verschelde 1ff2186fe9
Merge pull request #96666 from aXu-AP/unique-node-no-quotes
Remove unneeded quotes from autocomplete % nodes
2024-09-11 12:35:00 +02:00
Rémi Verschelde b6906b9677
Merge pull request #96389 from kitbdev/extract-main-screen
Extract EditorMainScreen from EditorNode
2024-09-11 12:34:46 +02:00
Hendrik Brucker c53fd9c7be Implement Autostart Feature for Profiler / Visual Profiler / Network Profiler
Co-authored-by: stmSi <stm1998sithumyo@gmail.com>
2024-09-10 19:40:42 +02:00
BlueCube3310 337d80d8f5 BasisUniversal: Use RGTC compression when available 2024-09-10 12:06:00 +02:00
Rémi Verschelde 5303688c01
Merge pull request #96092 from smix8/region_point_query
Add navigation region point  and segment queries
2024-09-10 09:51:27 +02:00
smix8 287fdb16d5 Add navigation region point and segment queries
Adds point and segment queries for regions, e.g. closet point, point normal, or segment intersection.
2024-09-10 01:38:46 +02:00
Zi Ye a9e51c3aab Fixed CSG debug collision shapes being visible in editor. Also undid an old, incorrect fix which made debug collision visibility depend on CSG visibility. 2024-09-09 14:11:10 -05:00
Rémi Verschelde 493f3edce7
Merge pull request #96572 from adamscott/fix-samples-leak
Fix leak when using audio samples instead of streams
2024-09-09 17:51:42 +02:00
kit 5e1c9d68aa Extract editor main screen 2024-09-09 11:06:18 -04:00
HolonProduction 4d713d91b5 LSP: Omit some values based on specification version 3.17 2024-09-08 21:07:19 +02:00
aXu-AP 2525311538 Remove unneeded quotes from autocomplete % nodes
Removes unnecessary quotes for suggestions like $"%MyNode".
2024-09-07 17:49:20 +03:00
HolonProduction 8155c1f836 LSP: Don't use smart resolve for completion 2024-09-07 16:23:25 +02:00
Rémi Verschelde 0e9950bde1
Merge pull request #96624 from m4gr3d/android_editor_improvements
[Android editor] Improve support for XR projects
2024-09-06 22:38:50 +02:00
Rémi Verschelde aa07333abe
Merge pull request #96114 from BlueCube3310/sh-lightmap-packing
LightmapGI: Pack L1 SH coefficients for directional lightmaps
2024-09-06 22:38:29 +02:00
Rémi Verschelde 0b4ae20156
Merge pull request #78656 from Repiteo/typed-dictionary
Implement typed dictionaries
2024-09-06 22:38:13 +02:00
Rémi Verschelde f2b76b97c0
Merge pull request #96634 from bobby-the-epic/audio-doc-fix
Fix grammar in AudioStreamInteractive docs
2024-09-06 10:09:40 +02:00
Rémi Verschelde f17a65b610
Merge pull request #95803 from GustJc/fix_interactive_audio_fade_volume
Fix interactive audio transitions with wrong volume
2024-09-06 10:09:20 +02:00
Fredia Huya-Kouadio 9dc0543da7 Improve support for XR projects 2024-09-06 00:35:50 -07:00
bobby-the-epic 7e1bc00193 Fix grammar in AudioStreamInteractive.xml
Minor grammar fix to make the sentences flow better.
2024-09-05 17:42:41 -05:00
BlueCube3310 a89f4fa5a9 LightmapGI: Pack L1 SH coefficients for directional lightmaps 2024-09-05 22:46:58 +02:00
Rémi Verschelde d3be91e6ab
Merge pull request #89675 from dalexeev/gds-correct-unused-signal-warning
GDScript: Do not produce `UNUSED_SIGNAL` warning for common implicit uses
2024-09-05 18:34:45 +02:00
Felix Bytow e9762b3eaf
C# Assemblies can now be built with deprecated=no 2024-09-05 10:04:24 +02:00
Ryan 8835f326b1 Expose get_rpc_config and get_node_rpc_config
add documentation

Update doc/classes/Node.xml

change name of get_node_rpc_config to get_rpc_config

Co-Authored-By: moondog <159832633+dog-on-moon@users.noreply.github.com>
Co-Authored-By: Micky <66727710+Mickeon@users.noreply.github.com>
2024-09-04 15:45:22 -04:00
Adam Scott d3ddce6b88
Fix leak when using audio samples instead of streams 2024-09-04 12:56:03 -04:00
Rémi Verschelde 9bcb9adad9
Merge pull request #96444 from clayjohn/Betsy-print-error
Print shader compiler error when betsy shader fails to compile
2024-09-04 18:55:39 +02:00
Rémi Verschelde dbdc4eb204
Merge pull request #96330 from rune-scape/little-regression
GDScript: Fix small mistake in script valid checks
2024-09-04 18:55:31 +02:00
Rémi Verschelde 721d280b8a
Merge pull request #96326 from HolonProduction/completion-hacks-and-fixes
Autocompletion: Reintroduce enum options on assignment
2024-09-04 18:55:27 +02:00
Thaddeus Crews 9853a69144
Implement typed dictionaries 2024-09-04 10:27:26 -05:00
Rémi Verschelde 13a90e938f
Merge pull request #70096 from rune-scape/stringname-dict
StringName Dictionary keys
2024-09-03 17:38:06 +02:00
Rémi Verschelde 885d38b5ce
Merge pull request #96355 from smix8/nav_mesh_queries
Move NavigationServer mesh queries to dedicated file
2024-09-03 16:13:58 +02:00
Rémi Verschelde d15de6f264
Merge pull request #96292 from AThousandShips/null_check_ref_fix
Cleanup of raw `nullptr` checks with `Ref`
2024-09-03 16:13:55 +02:00
smix8 a4cfc77dc0 Move NavigationServer mesh queries to dedicated file
Moves all the navigation mesh query related functions from NavMap and NavRegion to a dedicated file and makes them static.
2024-09-03 13:16:35 +02:00
Rémi Verschelde 6de2d31a61
Merge pull request #96351 from stuartcarnie/sgc/metal_light_betsy
Metal: Enable for betsy and lightmapper modules in compatibility mode
2024-09-03 11:43:42 +02:00
Rémi Verschelde 4d3f1db954
Merge pull request #96099 from NotWearingPants/patch-1
NoiseTexture2D/3D: Don't use a thread to regenerate when the build doesn't support threads
2024-09-03 11:43:27 +02:00
Rémi Verschelde e004ae7bbe
Merge pull request #85965 from ershn/use_heap_in_astar_path_finding
Improve pathfinding performance by using a heap to store traversable polygons
2024-09-03 11:42:48 +02:00
NotWearingPants b47b98db34
NoiseTexture2D/3D: Don't use a thread to regenerate when the build doesn't support threads 2024-09-03 11:40:17 +02:00
Aaron Franke f82262eecb
GLTF: Add append_gltf_node to GLTFState 2024-09-02 19:05:03 -07:00
Rémi Verschelde 7c383767a2
Merge pull request #96464 from Faless/mp/fix_profiler_divsion_by_zero
[MP] Fix division by zero in network profiler
2024-09-02 18:08:17 +02:00
Fabio Alessandrelli 042b264c55 [MP] Fix division by zero in network profiler
The debugger reports synchronizers with empty state to the editor
even if no data is being sent to other peers.

The editor conditional to avoid division by zero was checking the wrong
variable.
2024-09-02 13:29:38 +02:00
Rémi Verschelde bb3fab960f
Merge pull request #96377 from BlueCube3310/betsy-signed
Betsy: Add signed mode for BC6
2024-09-02 12:13:30 +02:00
BlueCube3310 30c42b3a3f Betsy: Add signed mode for BC6 2024-09-02 09:49:14 +02:00
clayjohn b8933a4d95 Print shader compiler error when betsy shader fails to compile 2024-09-01 13:39:00 -07:00
Ershn c3ee32f106 Use a heap to store traversable polygons for pathfinding 2024-09-01 11:24:14 +09:00
Marius Hanl 74f64aaf98 Use InputMap actions consistently across all LineEdit's that filter an underlying Tree or ItemList.
- Instead of checking for Key::UP, Key::DOWN, Key::PAGEUP, Key::PAGEDOWN etc., we rather check for the action like 'ui_up' or 'ui_down'.
- Also use AcceptDialog's 'register_text_enter' functionality to consistently close a dialog when ENTER is pressed while the LineEdit has focus (instead of redirecting ENTER keys to e.g. the underlying Tree).
- Unify the LineEdit filter behavior for the SceneTreeDialog and corresponding usages
- Improve OK Button disablement (something should be selected)
2024-08-31 21:10:27 +02:00
A Thousand Ships 194bdde947
Cleanup of raw `nullptr` checks with `Ref`
Using `is_valid/null` over checks with `nullptr` or `ERR_FAIL_NULL` etc.
2024-08-31 15:01:09 +02:00
boywaste 7014c5b27d GDScript: Fix small mistake in script valid checks 2024-08-30 19:41:02 -07:00
Stuart Carnie a7a245de92
Metal: enable for betsy and lightmapper modules
To support this, the rendering_context_driver_metal.h header was updated
to recognise when it is included in non-Objective-C source files.
2024-08-31 08:29:07 +10:00
Rémi Verschelde ace4529b16
Merge pull request #96335 from raulsntos/dotnet/export-plugin
C#: Use export platform to determine the target OS and log errors
2024-08-30 23:38:10 +02:00
Danil Alexeev 49bcdf78a7
Core: Сheck `r_error` after calling `callp()` 2024-08-30 21:09:30 +03:00
HolonProduction 171c522290 Autocompletion: reintroduce enum options on assignment 2024-08-30 13:46:48 +02:00
Raul Santos 4c14421602
C#: Use export platform to determine the target OS and log errors
- Use the export platform's `get_os_name` to determine the platform name instead of guessing from the features.
- Use the export platform's `add_message` to add error messages instead of a custom error dialog. Integrates .NET error messages with the export log dialog.
2024-08-30 12:45:24 +02:00
Rémi Verschelde 2e4c07bfe0
Merge pull request #96229 from dalexeev/gds-replace-assert-in-tests
GDScript: Replace `assert()` with `Utils.check()` in tests
2024-08-30 11:43:05 +02:00
Rémi Verschelde 69d6106d4d
Merge pull request #96293 from RedOrbweaver/fix_msbuild_logger
C#: Fix build logger unable to handle an event without an associated file
2024-08-30 09:59:51 +02:00
Rémi Verschelde 5418919c3c
Merge pull request #96240 from DeeJayLSP/mp3-data
MP3: Use heap for big struct when setting data
2024-08-30 09:59:39 +02:00
Rémi Verschelde 909629d9f9
Merge pull request #96166 from AThousandShips/more_lock_raii
Use `MutexLock` in more places
2024-08-30 09:59:19 +02:00
Rémi Verschelde 8e402bcb36
Merge pull request #95999 from DeeJayLSP/mp3-mem
MP3: Remove unnecessary memory allocation
2024-08-30 09:59:15 +02:00
Rémi Verschelde f0ee0bdd37
Merge pull request #93972 from Hilderin/fix-editor-needs-restart-after-adding-gdextensions
Fix editor needs restart after adding GDExtensions
2024-08-30 09:59:05 +02:00
rune-scape 154049ce17 StringName Dictionary keys
also added 'is_string()' method to Variant
and refactored many String type comparisons to use it instead
2024-08-29 13:39:27 -07:00
RedOrbweaver 81799b8fa3 Fix build logger unable to handle an event without an associated file 2024-08-29 20:33:47 +02:00
demolke c409e6d722 Import/export GLTF extras to node->meta
This is useful for custom tagging of objects with properties (for example in Blender) and having this available in the editor for scripting.

- Adds import logic to propagate the parsed GLTF extras all the way to the resulting Node->meta
- Adds export logic to save Godot Object meta into GLTF extras
- Supports `nodes`, `meshes` and `materials` (in GLTF sense of the words)
2024-08-29 19:17:04 +02:00
A Thousand Ships e33fdb4296
Use `MutexLock` in more places 2024-08-29 14:12:59 +02:00