Commit Graph

10624 Commits

Author SHA1 Message Date
Rémi Verschelde 122054cf7a
Merge pull request #90573 from timothyqiu/svg-image
Fix error when loading SVG imported as Image
2024-04-14 14:39:11 +02:00
bqqbarbhg 2a757e4897 Fix FBX texture path resolving 2024-04-13 20:28:12 +03:00
Rémi Verschelde 3a57f10dd5
Merge pull request #90602 from smix8/bsfmod
Use fmod for navigation mesh border size warning
2024-04-13 11:30:47 +02:00
Rémi Verschelde c9a595afb5
Merge pull request #90580 from vnen/gdscript-allow-enum-to-int-cast
GDScript: Allow casting enum to int
2024-04-13 11:30:34 +02:00
Rémi Verschelde 8e1b50045a
Merge pull request #90554 from bqqbarbhg/fbx-color-fixes
FBX: Fix material colors
2024-04-13 11:30:31 +02:00
smix8 8a0f1f1995 Use fmod for navigation mesh border size warning
Uses fmod for checking that navigation mesh border size matches the cell size as a multiple of cell size is also valid.
2024-04-13 03:39:53 +02:00
bqqbarbhg 659597b290 Enable FBX albedo factor when textures are bound 2024-04-13 03:12:03 +03:00
George Marques 030995c10d
GDScript: Allow casting enum to int
An enum value is always an integer so the cast is valid. The code here
now consider this case to avoid giving an error message.
2024-04-12 11:49:21 -03:00
Haoyu Qiu 66a3a944e2 Fix error when loading SVG imported as Image 2024-04-12 18:01:58 +08:00
Rémi Verschelde 4a4d6df04e
Merge pull request #90508 from smix8/thread_bake
Use threads for baking navigation mesh inside editor
2024-04-12 11:16:50 +02:00
Rémi Verschelde fcca9b330d
Merge pull request #90434 from smix8/path_simplify
Add navigation path simplification
2024-04-12 11:16:47 +02:00
Rémi Verschelde da0e993959
Merge pull request #90373 from bitwise-aiden/ba-fix-mutliline-match
Fix multiline array/dictionary match statements
2024-04-12 11:16:44 +02:00
Rémi Verschelde 42ab525aa2
Merge pull request #86144 from jsjtxietian/disable-mesh-compression-for-2d
Disable mesh compression if vertex `position.z` is always 0
2024-04-12 11:16:33 +02:00
Aiden Storey 74177d79c9
Fix multiline array/dictionary match statements
Currently array and dictionary expressions cannot be spread over
multiple lines in match statements.

Adding mutliline push/pop while parsing the pattern for bracket and
brace enables the ability for these to be multiline. This enables more
complex patterns to be matched without exceeding line limits.

Fixes #90372
2024-04-12 10:59:28 +02:00
bqqbarbhg 5e52db5c93 Fix FBX orthographic camera size 2024-04-12 04:02:50 +03:00
bqqbarbhg d238b0ef57 Fix FBX emission_texture copy-paste issue 2024-04-12 03:52:57 +03:00
bqqbarbhg a998f0a482 Convert FBX material colors from linear to sRGB 2024-04-12 03:52:46 +03:00
George Marques e761982979
GDScript: Assume constructor to be accessible from class
Since the constructor is accessed directly from the class, even if not
marked `static`, it can be retrieved as a Callable without an instance.
2024-04-11 20:28:46 -03:00
smix8 1c134f4a3d Add navigation path simplification
Adds navigation path simplification for NavigationServer and NavigationAgent.
2024-04-11 12:32:21 +02:00
Rémi Verschelde 2e5d2333b7
Merge pull request #90505 from aaronp64/gltfdocument_crash
Fix `GLTFDocument.append_from_scene` crash on null node
2024-04-11 11:02:57 +02:00
Rémi Verschelde e911fcda1b
Merge pull request #90503 from rburing/gridmap_has_it_rough
GridMap: Fix `physics_material` property
2024-04-11 11:02:50 +02:00
Rémi Verschelde 58f8a227b9
Merge pull request #90482 from Faless/mbedtls/3.6.0-tls
mbedTLS: Update to new LTS v3.6.0
2024-04-11 11:02:46 +02:00
Rémi Verschelde b70450871e
Merge pull request #89124 from wheatear-dev/test-json-rpc
Add unit tests for JSONRPC
2024-04-11 11:02:34 +02:00
smix8 2bc2b52bd1 Use threads for baking navigation mesh inside editor
Enables threaded navigation mesh baking inside the editor.
2024-04-11 03:53:26 +02:00
toastedbreadandomelette b7de8e2c29
Add additional unit tests for RegEx 2024-04-10 23:24:27 +02:00
aaronp64 b56934ce19 Fix GLTFDocument.append_from_scene() crash on null node
Added null check for p_node parameter to give error instead of crash

Fixes #90502
2024-04-10 17:05:54 -04:00
Ricardo Buring 3590d49c70 GridMap: Fix physics_material property
Use computed bounce and friction, just like StaticBody3D already does.
Also don't rebuild all internals just to set two floats on each body.
2024-04-10 21:44:46 +02:00
Lyuma 40fa684c18 mbedTLS: Update to new LTS v3.6.0
Keep module compatibility with mbedtls 2.x (old LTS branch).

A patch has been added to allow compiling after removing all the `psa_*`
files from the library folder (will look into upstreaming it).

Note: mbedTLS 3.6 finally enabled TLSv1.3 by default, but it requires
some module changes, and to enable PSA crypto (new "standard" API
specification), so it might be best done in a separate commit/PR.
2024-04-10 21:19:22 +02:00
Edward Moulsdale 6b4a7598c7 Add unit tests for JSONRPC 2024-04-10 18:27:08 +01:00
Rémi Verschelde 67076c167d
Merge pull request #90448 from vnen/gdscript-infer-string-format
GDScript: Infer type with string format operator
2024-04-10 17:49:49 +02:00
Rémi Verschelde 8611fd8400
Merge pull request #90442 from vnen/gdscript-dont-warn-using-default-builtin
GDScript: Don't warn on unassigned for builtin-typed variables
2024-04-10 17:49:44 +02:00
George Marques 877802e252
GDScript: Don't warn on unassigned for builtin-typed variables
If the type of a variable is a built-in Variant type, then it will
automatically be assigned a default value based on the type. This means
that the explicit initialization may be unnecessary. Thus this commit
removes the warning in such case.

This also changes the meaning of the unassigned warning to happen when
the variable is used before being assigned, not when it has zero
assignments.
2024-04-10 11:59:57 -03:00
George Marques 4bdba718c5
GDScript: Infer type with string format operator
If the left value type is known to be String, assume the format operator
(`%`) will return a string, since it works with any type in the right
hand side. This is also used by type inference even if the right hand
type is unknown at compile time.
2024-04-10 11:49:30 -03:00
Danil Alexeev 02253b6b91
GDScript: Fix continuation lines in `GDScriptTokenizerBuffer` 2024-04-10 08:51:02 +03:00
jsjtxietian 077e20cd51 Disable mesh compression if vertex position.z is always 0 2024-04-10 11:27:36 +08:00
Bastiaan Olij b67eba8399 OpenXR: apply fix for reverse Z 2024-04-10 10:35:19 +10:00
Rémi Verschelde d3d10b55b4
Merge pull request #90422 from bruvzg/net_no_native_embed
[.NET] Disable output embedding on macOS, move it to the advanced options on other platforms.
2024-04-09 22:29:41 +02:00
Rémi Verschelde 9a9045cf7a
Merge pull request #89382 from dcaoc03/master
Fix enum autocompletion for core classes
2024-04-09 22:25:13 +02:00
Rémi Verschelde f94bf175df
Merge pull request #87466 from BastiaanOlij/fix_openxr_render_target_multiplier
OpenXR: Cleanup swapchain logic (was Fix render target multiplier)
2024-04-09 22:25:03 +02:00
Rémi Verschelde f8ca571efe
Merge pull request #84043 from dalexeev/gds-fix-unsafe-cast-warning
GDScript: Fix `UNSAFE_CAST` warning
2024-04-09 22:24:55 +02:00
bruvzg bf558adcdd
[.NET] Disable output embedding on macOS, move it to the advanced options on other platforms. 2024-04-09 17:47:39 +03:00
Danil Alexeev 98dac9e39c
GDScript: Fix highlighting escapes in multiline raw strings 2024-04-09 10:21:10 +03:00
Bastiaan Olij c388fe2ba7 OpenXR: Improve swapchain logic and fix swapchain update when render target multiplier is changed. 2024-04-09 16:56:39 +10:00
Rémi Verschelde 3d382c16ab
Merge pull request #90404 from aaronp64/zipreader_empty_error
Fix `ZIPReader.get_files()` error on empty zip files
2024-04-08 23:04:35 +02:00
aaronp64 2dad2fbce2 Fix ZIPReader.get_files() error on empty zip files
Added check for empty zip file before trying to look at first file

Fixes #90388
2024-04-08 15:57:35 -04:00
kobewi 809c6817be Add tests for signal await with parameters 2024-04-08 19:12:01 +02:00
Rémi Verschelde 0c6b5efab3
Merge pull request #90391 from AThousandShips/xr_bind_fix
[XR] Fix binds for composition layer virtuals
2024-04-08 18:42:44 +02:00
Rémi Verschelde 0fd440e95f
Merge pull request #90374 from BastiaanOlij/openxr_refresh_rate_signal
OpenXR: Add refresh rate signal support
2024-04-08 18:42:38 +02:00
A Thousand Ships 730cfdde66
[XR] Fix binds for composition layer virtuals 2024-04-08 17:28:26 +02:00
Rémi Verschelde 18b6adee9c
Merge pull request #90248 from akien-mga/libktx-4.3.2
libktx: Update to 4.3.2
2024-04-08 15:03:19 +02:00
Rémi Verschelde 980e4d7955
Merge pull request #90349 from bruvzg/empty_glyph_test
[TextServer] Improve empty glyph handling to allow glyphs smaller than 2px and avoid unnecessary texture updates.
2024-04-08 11:21:58 +02:00
Rémi Verschelde 2ae6343533
Merge pull request #90310 from mhilbrunner/OutdatedDemos
Update links to outdated asset library demos
2024-04-08 11:21:38 +02:00
Rémi Verschelde ad1993455a
Merge pull request #90286 from dsnopek/openxr-composition-layers-intersects-ray
Add `intersects_ray()` method to `OpenXRCompositionLayer`
2024-04-08 11:21:18 +02:00
Rémi Verschelde 6640e4179d
Merge pull request #90247 from akien-mga/harfbuzz-8.4.0
harfbuzz: Update to 8.4.0
2024-04-08 11:21:11 +02:00
Rémi Verschelde 59cfa0ef75
Merge pull request #90237 from dsnopek/openxr-composition-layers-extension-properties
Allow OpenXR extensions to add properties to the OpenXRCompositionLayer node
2024-04-08 11:21:05 +02:00
Rémi Verschelde cedf4ad011
Merge pull request #90230 from aaronfranke/gltf-sep-shape3d-res
Separate Shape3D resource logic in GLTFPhysicsShape
2024-04-08 11:21:02 +02:00
Rémi Verschelde 368d6db6cc
Merge pull request #90060 from warquys/CSharp-DebugInfo
Add DebugView for Array and Dictionary, based of the DebugView from the .NET Foundation
2024-04-08 11:20:46 +02:00
Rémi Verschelde 8f1b5d68f1
Merge pull request #90039 from AThousandShips/load_relative_note
[Doc] Document loading behavior with relative paths
2024-04-08 11:20:40 +02:00
Rémi Verschelde 08803e7d83
Merge pull request #89839 from timothyqiu/meanwhile
Fix node config warning not updating for `Multiplayer{Spawner,Synchronizer}`
2024-04-08 11:20:25 +02:00
Rémi Verschelde a2f6698098
Merge pull request #89659 from dalexeev/gds-hl-fix-types
GDScript: Fix `for` expression is highlighted as type
2024-04-08 11:20:17 +02:00
Bastiaan Olij 148ff6a47f OpenXR: Add refresh rate signal support 2024-04-08 12:36:17 +10:00
bruvzg 1f8387f8fd
[TextServer] Improve empty glyph handling to allow glyphs smaller than 2px and avoid unnecessary texture updates. 2024-04-07 18:19:45 +03:00
skyace65 c83718624f Update links to outdated asset library demos
Update links to outdated asset library demos

Co-authored-by: Max Hilbrunner <m.hilbrunner@gmail.com>
2024-04-07 16:59:43 +02:00
Nông Văn Tình 316f253558 Show errors when solution file is missing in C# project
Fixes: #86591

Co-authored-by: Raul Santos <raulsntos@gmail.com>
2024-04-07 00:25:34 +07:00
David Snopek 025f2b8e7c Add `intersects_ray()` method to `OpenXRCompositionLayer` 2024-04-06 08:37:30 -05:00
Rémi Verschelde d619ffdb75
Merge pull request #89897 from alesliehughes/upnp_memory_leak
UPNP: Use local variable for UPNPUrls to stop memory leak.
2024-04-06 13:06:28 +02:00
Haoyu Qiu 9bcda8f94c Prefer family name in fonts' names table 2024-04-06 16:08:59 +08:00
Valentin Arthur Thomas f8c482b19a DebugView for Array and dictionary 2024-04-05 19:55:37 +02:00
David Snopek fddf6dc651 Allow OpenXR extensions to add properties to the OpenXRCompositionLayer node 2024-04-05 07:18:32 -05:00
Rémi Verschelde d402f5ecf2
libktx: Update to 4.3.2 2024-04-05 12:18:00 +02:00
Rémi Verschelde 383de7da19
Merge pull request #90225 from aaronfranke/gltf-ext-prop-list
GLTF export: Propagate `property_list_changed` from extensions
2024-04-05 12:16:41 +02:00
Rémi Verschelde ecbd668ff3
Merge pull request #90223 from clubby789/optimize-static
Don't pass `self` when calling a static function from a non-static context
2024-04-05 12:16:38 +02:00
Rémi Verschelde 0ff056ea2e
Merge pull request #90218 from Repiteo/do-while-false-cleanup
Update lingering `do/while(0)` defines
2024-04-05 12:16:34 +02:00
Rémi Verschelde d100888f0d
Merge pull request #90208 from Repiteo/scons/ninja-msvc
SCons: Fix Ninja compilation with MSVC
2024-04-05 12:16:22 +02:00
Rémi Verschelde ca2d28602b
Merge pull request #90196 from bruvzg/ts_tcase
[TextServer] Expose ICU title case string conversion to scripting.
2024-04-05 12:16:18 +02:00
Rémi Verschelde f2cc814f35
Merge pull request #90118 from AyOhEe/sln-title-fix
Fix "Create C# solution" dialog
2024-04-05 12:16:10 +02:00
Rémi Verschelde 7744d59197
Merge pull request #85856 from smix8/tilemap_layers_parse
Make 2D navigation mesh baking parse all TileMapLayers
2024-04-05 12:15:43 +02:00
Rémi Verschelde 72f9f8d339
Merge pull request #83217 from paulloz/fix/81903-delegate-capture-serialization
[.NET] Fix serialization of delegates capturing variables
2024-04-05 12:15:36 +02:00
Rémi Verschelde 8fcc7a52dc
harfbuzz: Update to 8.4.0 2024-04-05 10:35:10 +02:00
Aaron Franke 92b243dc3c
Separate Shape3D resource logic in GLTFPhysicsShape 2024-04-04 16:22:01 -07:00
Alistair Leslie-Hughes 767bfec8b6 Use local variable to stop memory leak.
I've change the urls variable to be a local, instead of manually allocating it all the time.
This is only used locally and was causing a memory leak because FreeUPNPUrls gave the impression it free it.

1. FreeUPNPUrls doesn't free the pointer passed in, that's up to caller.
2. The second if(!urls) produced dead code as we checked the pointer just after allocation.
2024-04-05 09:13:27 +11:00
Aaron Franke ade5a8d802
Add support for explicitly-defined compound triggers in GLTF files 2024-04-04 14:34:40 -07:00
Jamie Hill-Daniel 164b34a734 Don't pass `self` when calling a static function from a non-static context 2024-04-04 21:15:17 +00:00
Aaron Franke a9416da6ea
GLTF export: Propagate `property_list_changed` from extensions 2024-04-04 14:06:09 -07:00
Thaddeus Crews bbb3eb3a1a
Update lingering `do/while(0)` defines 2024-04-04 14:17:22 -05:00
Paul Joannon c310ecce13
Fix captured variable serialization in delegates 2024-04-04 18:46:11 +02:00
Silc Lizard (Tokage) Renew 04dd299cba Skeleton3D: Add SkeletonModifier / Deprecate Override / Separate PB 2024-04-05 01:28:26 +09:00
Thaddeus Crews 7918d50297
SCons: Fix Ninja compilation with MSVC 2024-04-04 10:16:33 -05:00
Rémi Verschelde 0c71ba7801
Merge pull request #89880 from dsnopek/openxr-composition-layers-node3d-drs
Add support for OpenXR composition layers
2024-04-04 17:09:07 +02:00
David Snopek 0f2b804059 Add support for OpenXR composition layers
Co-authored-by: Bastiaan Olij <mux213@gmail.com>
2024-04-04 09:20:23 -05:00
Rémi Verschelde 96a75d99c4
Merge pull request #90064 from lyuma/remove_immutable_post
Apply "Remove Immutable Tracks" after post-import.
2024-04-04 14:37:01 +02:00
Rémi Verschelde 1469db5e58
Merge pull request #89968 from Calinou/xr-startup-alert-windows
Tweak OpenXR alert to mention WMR only on Windows
2024-04-04 14:35:37 +02:00
Rémi Verschelde c97885be7d
Merge pull request #89811 from timothyqiu/missing-i18n
Fix missing i18n for some editor strings
2024-04-04 14:31:43 +02:00
Rémi Verschelde acfcdbd291
Merge pull request #88783 from Chubercik/embree-4.3.1
embree: Update to 4.3.1
2024-04-04 14:31:02 +02:00
Rémi Verschelde 406d9426cb
Merge pull request #86121 from lawnjelly/occlusion_cull_jitter
Jitter raster occlusion camera to reduce false positives.
2024-04-04 14:30:42 +02:00
Rémi Verschelde e302fb2167
Merge pull request #85386 from RedMser/scene-tree-editor-improvements
Improve SceneTreeEditor usability
2024-04-04 14:30:38 +02:00
Rémi Verschelde c196d12e23
Merge pull request #84947 from raulsntos/dotnet/instance_bindings
C#: Use `get_instance_binding` instead of set
2024-04-04 14:30:35 +02:00
smix8 d6ddeec0fd Make 2D navigation mesh baking parse all TileMapLayers
Makes 2D navigation mesh baking parse all TileMapLayers.
2024-04-04 10:45:53 +02:00
bruvzg 27f6f4147b
[TextServer] Expose ICU title case string conversion to scripting. 2024-04-04 10:56:49 +03:00
lawnjelly 691854d589 Jitter raster occlusion camera to reduce false positives.
Due to the low resolution of the occlusion buffer, small gaps between occluders can be closed and incorrectly occlude instances which should show through the gaps. To ameliorate this problem, this PR jitters the occlusion buffer over time, making it more likely an instance will be seen through a gap. This is used in conjunction with an occlusion timer per instance, to prevent instances flickering on and off rapidly.
2024-04-03 12:18:45 +01:00
Haoyu Qiu 91204f6f3f Fix missing i18n for some editor strings 2024-04-03 16:42:28 +08:00
AyOhEe e18fb27d70
Fixed "Create C# solution" dialog
Flipped the title and dialog text to how they should be. It seemed that the title was being put in the dialog text, and vice versa.
2024-04-01 23:01:40 +01:00
RedMser 9cd30208d6 Improve SceneTreeEditor usability
- Mark contextually relevant node
- Remember/Clear selection as appropriate
- Scroll to marked/selected node
2024-03-31 21:35:10 +02:00
Lyuma b0ce274a52 Apply "Remove Immutable Tracks" after post-import.
Reimplements "Remove Immutable" by comparing to the skeleton rest.
It is necessary to delay removing animation tracks until after the correct rest pose is calculated in rest-fixer.
Preserves the original implementation in the GLTFDocument / FBXDocument API for compatibility.
2024-03-30 23:45:22 -07:00
Danil Alexeev 27d7760f41
GDScript: Fix uninitialized local variables not being reset 2024-03-30 23:25:30 +03:00
A Thousand Ships 2508c2e309
[Doc] Document loading behavior with relative paths 2024-03-30 13:33:49 +01:00
Fabio Alessandrelli 4b973f451e [MP] Gracefully handle cache confirmation of deleted nodes
It's possible that after sending a cached node reference (e.g. RPC or
static MultiplayerSynchronizer) the reference node is removed from tree
before the remote peer(s) can confirm the referenced path.

To better detect that case, and avoid spamming errors when it happens,
this commit modifies the multiplayer API caching protocol, to send the
received ID instead of the Node path when sending the confirmation
packet.

**This is a breaking change** because it makes the runtime multiplayer
protocol incompatible with previous versions of Godot.
2024-03-29 23:11:04 +01:00
Raul Santos 7d08e8727b
C#: Make internal properties and property accessors public (but hidden)
Instead of making the accessors `internal` which can break binary compat, make them `public` but hide them with EB never so they don't show up in IntelliSense.

Also, do the same for properties with the `PROPERTY_USAGE_INTERNAL` flag. These properties were not meant to be exposed to scripting, but since they've been public before all we can do now is hide them.
2024-03-29 20:36:04 +01:00
Hugo Locurcio e334bf6df4
Tweak OpenXR alert to mention WMR only on Windows
WMR isn't supported on non-Windows platforms, so there's no point
in mentioning it in the error message as it's not a possible
cause for OpenXR not initializing.
2024-03-28 06:17:54 +01:00
Jakub Mateusz Marcowski c43eab55a4
embree: Update to 4.3.1 2024-03-27 22:10:35 +01:00
Rémi Verschelde aed1775cf2
Merge pull request #89883 from timothyqiu/replication-pin
Improve replication editor's pin button
2024-03-26 13:45:42 +01:00
Rémi Verschelde 60d37f1d49
Merge pull request #89843 from kleonc/csharp-transform3d-interpolate-with-first-scale-then-rotate
[C#] Fix `Transform3D.InterpolateWith` applying rotation before scale
2024-03-26 13:45:39 +01:00
HolonProduction d2c2194937 Completion Tests: Add script to owner 2024-03-25 16:17:44 +01:00
Haoyu Qiu 8cfded5934 Improve replication editor's pin button
- When unpressed, only hide the editor if MultiplayerSynchronizer is not
  selected.
- Add tooltip text.
2024-03-25 23:12:26 +08:00
Rémi Verschelde 195a2a479a Merge pull request #89666 from bruvzg/emb_os
[Font] Apply oversampling to the "embolden" strength.
2024-03-25 13:15:59 +01:00
Rémi Verschelde c41da69ed7
Merge pull request #89863 from ppphp/resource_format_override
Add `override` mark to ResourceFormat class
2024-03-25 11:18:57 +01:00
ppphp d4e1a74efb Add 'override' mark to ResourceFormat class 2024-03-25 04:06:34 +08:00
A Thousand Ships 4933fa8bf5
[Buildsystem] Fix encoding when reading files 2024-03-24 18:02:56 +01:00
kleonc e2ed63b313 [C#] Fix `Transform3D.InterpolateWith` applying rotation before scale 2024-03-24 09:31:20 +01:00
Haoyu Qiu 6feb43200b Fix node config warning not updating for Multiplayer{Spawner,Synchronizer} 2024-03-24 13:53:09 +08:00
Rémi Verschelde 3895639f72
Merge pull request #89756 from zaevi/dotnet/fix_null_array
C#: Fix errors when creating `Variant` from null array
2024-03-24 01:23:18 +01:00
Rémi Verschelde c3370023b6
Merge pull request #89692 from Scony/baking-crash-prevention
Add navigation baking crash prevention mechanism
2024-03-24 01:21:56 +01:00
Rémi Verschelde 1c2ff17f12
Merge pull request #89652 from invino4/patch-1
Add property `UsingGodotNETSdk` to Godot.NET.Sdk
2024-03-24 01:20:29 +01:00
Rémi Verschelde 7ff6d8cd32
Merge pull request #89547 from Repiteo/dotnet/invariant-strings
C#: Implement `InvariantCulture` on Variant strings
2024-03-24 01:17:55 +01:00
Rémi Verschelde d121873d01
Merge pull request #89542 from aaronfranke/convert-hull-to-mesh-func
GLTF: Extract converting hull points to mesh to a helper function
2024-03-24 01:17:15 +01:00
Rémi Verschelde 8a65dd3b9e
Merge pull request #89532 from lyuma/fix_fbxdocument_binding
Fix method bindings in FBXDocument by making them virtual in GLTFDocument.
2024-03-24 01:17:02 +01:00
Rémi Verschelde 48cf825839
Merge pull request #89451 from AThousandShips/emit_fix
[Core] Disconnect one-shot signals before calling callbacks
2024-03-24 01:15:52 +01:00
Rémi Verschelde cd4e4c0fcc
Merge pull request #89111 from AThousandShips/vec_use
Use `Vector*` component-wise `min/max/clamp` functions where applicable
2024-03-24 01:14:51 +01:00
Pawel Lampe 64fc9e2156 Add navigation baking crash prevention mechanism 2024-03-23 22:20:00 +01:00
Zae 833a03fbf6 C#: Fix errors when creating Variant from null array 2024-03-21 23:55:44 +08:00
Danil Alexeev 0498305b6b
GDScript: Improve DocGen for non-constant expressions 2024-03-21 12:23:54 +03:00
A Thousand Ships db455e5bee
[Core] Disconnect one-shot signals before calling callbacks
This prevents infinite recursion with one-shot connections emitting
themselves
2024-03-20 20:24:44 +01:00
A Thousand Ships 79ba22a73f
Use `Vector*` component-wise `min/max/clamp` functions where applicable 2024-03-20 13:47:42 +01:00
VolTer de8b6f7a3c Add editor settings for autocompletion with NodePath and StringName 2024-03-19 17:23:54 +02:00
bruvzg f6a532d501
[Font] Apply oversampling to the "embolden" strength. 2024-03-19 08:50:01 +02:00
Danil Alexeev c45242578a
GDScript: Fix `for` expression is highlighted as type 2024-03-18 22:33:08 +03:00
Jason Hunter bdbd9995f8
Add property UsingGodotNETSdk to Godot.NET.Sdk
The Godot.NET.Sdk (for C# use) should define the property `UsingGodotNETSdk` in its [SDK.props](a07dd0d6a5/modules/mono/editor/Godot.NET.Sdk/Godot.NET.Sdk/Sdk/Sdk.props).  

## Why
Defining this property allows shared build configuration (e.g. Directory.Build.targets or other imported msbuild files) to detect deterministically when they are operating within the scope of a project controlled by Godot.NET.Sdk.  This enables shared build configuration that may span many different projects within a folder to have Godot.NET.Sdk-specific configuration that only applies to Godot projects.

## Why named UsingGodotNETSdk
This naming scheme is common practice in Microsoft Dotnet SDKs.  For example, the property `UsingMicrosoftNETSdk` is defined by the default SDK, `UsingMicrosoftTraversalSdk` is defined by [Microsoft.Build.Traversal](363532de5b/src/Traversal/Sdk/Sdk.props (L10)), `UsingMicrosoftNoTargetsSdk` by [Microsoft.Build.NoTargets](363532de5b/src/NoTargets/Sdk/Sdk.props (L10)), and so on.  The property `UsingMicrosoftNETSdk` is even used in the implementation of Godot.NET.Sdk for conditional logic of the type predicted here.

Note that these "Using*" properties are _additive_ in the sense that more than one can be defined for a given project (as SDKs can effectively be built upon other SDKs, using them as components).  So, it is normal and appropriate for both `UsingMicrosoftNETSdk` and `UsingGodotNETSdk` to be simultaneously defined within the same project.
2024-03-18 09:48:52 -07:00
Thaddeus Crews 300aa202c8
C#: Implement `InvariantCulture` on Variant strings 2024-03-15 19:43:00 -05:00
Aaron Franke 3604b57ba3
GLTF: Extract converting hull points to mesh to a helper function 2024-03-15 15:22:48 -07:00
Diogo Costa 935ea10f3a Fixed enum autocompletion for core classes (Issue #88858)
Minor fix consisted in the use of [[fallthrough]] macro
2024-03-15 20:20:36 +00:00
Lyuma 8232759100 Fix method bindings in FBXDocument by making them virtual in GLTFDocument. 2024-03-15 12:47:02 -07:00
Rémi Verschelde 9c2db0c035
Merge pull request #89495 from akien-mga/pcre2-fix-sljit-compilation-ioscross
pcre2: Remove unused sjlit files after last update
2024-03-15 10:40:10 +01:00
Rémi Verschelde 739fcd1b8c
pcre2: Remove unused sjlit files after last update
Follow-up to #89371.
2024-03-15 09:38:45 +01:00
smix8 5d5e85fe07 Add NavigationObstacle options to affect and carve navigation mesh
Adds NavigationObstacle options to affect and carve navigation mesh.
2024-03-15 01:45:44 +01:00
Rémi Verschelde 3e773b9167
Merge pull request #89484 from dalexeev/update-gds-doc
Update `@GDScript` documentation
2024-03-14 22:35:37 +01:00
Rémi Verschelde 36b33d9b72
Merge pull request #89460 from dsnopek/openxr-composition-layers-multiple
OpenXR: Allow GDExtensions to provide multiple, ordered composition layers
2024-03-14 22:35:08 +01:00
Rémi Verschelde 21b33c5ea4
Merge pull request #89418 from lyuma/gltf_vertex_packing
Only store vertices referenced by the indices per surface in the glTF importer
2024-03-14 22:34:52 +01:00
Rémi Verschelde 37b08a3724
Merge pull request #89356 from lyuma/vsk-gltf-sparse-accessors-4.3
GLTF export: Use sparse accessors for morph targets
2024-03-14 22:34:47 +01:00
Rémi Verschelde 453485aede
Merge pull request #89270 from Repiteo/enforce-typename-in-templates
Enforce template syntax `typename` over `class`
2024-03-14 22:34:37 +01:00
Danil Alexeev 0c48845247
Update `@GDScript` documentation 2024-03-14 17:51:41 +03:00
Lyuma 77f6e35a8d glTF importer now only stores vertices referenced by the indices per surface. 2024-03-13 18:34:55 -07:00
David Snopek 308a6a4734 OpenXR: Allow GDExtensions to provide multiple, ordered composition layers
Co-authored-by: Bastiaan Olij <mux213@gmail.com>
2024-03-13 17:53:15 -05:00
Rémi Verschelde da945ce626
Merge pull request #89444 from AThousandShips/article_fix
[Doc] Fix some incorrect uses of `a/an`
2024-03-13 22:16:50 +01:00
Rémi Verschelde a1c476f9d7
Merge pull request #87680 from AThousandShips/the_angry_count
Add methods to get argument count of methods
2024-03-13 22:16:43 +01:00
A Thousand Ships 24c9d442e9
[Doc] Fix some incorrect uses of `a/an` 2024-03-13 21:20:28 +01:00
Adam Scott 9f605e0187
Fix GCC build failure 2024-03-13 15:02:17 -04:00
Rémi Verschelde 48b650c254
Merge pull request #89422 from Repiteo/clang-tidy-NULL
clang-tidy: Enforce `modernize-use-nullptr`
2024-03-13 18:41:39 +01:00
Rémi Verschelde 0478998148
Merge pull request #89414 from bruvzg/update_icu_msdfgen
Update ICU and msdfgen.
2024-03-13 18:41:35 +01:00
Rémi Verschelde 6c482fad89
Merge pull request #89207 from bruvzg/_ts_req
[TextServer] Use GDVIRTUAL_REQUIRED_CALL for required extensions methods, update extension docs.
2024-03-13 18:41:28 +01:00
Rémi Verschelde 8620f7356b
Merge pull request #83037 from dalexeev/gds-fix-warning-ignore-issues
GDScript: Fix `@warning_ignore` annotation issues
2024-03-13 18:41:21 +01:00
Rémi Verschelde 6ba0179682
Merge pull request #64488 from reduz/interactive-music-take3
Add interactive music support
2024-03-13 14:32:21 +01:00
bruvzg 3bb5047db3
[TextServer] Use GDVIRTUAL_REQUIRED_CALL for required extensions methods, update extension docs. 2024-03-13 12:57:39 +02:00
bruvzg 0d02568ff8
Update ICU and msdfgen. 2024-03-13 09:12:50 +02:00
Juan Linietsky 43b78cd2ad Add interactive music support
This PR adds 3 types of audio streams used for interactive music support.

* AudioStreamInteractive: Allows setting several sub-streams and transition between them with many options.
* AudioStreamPlaylist: Allows sequential or shuffled playback of a list of streams.
* AudioStreamSynchronized: Allows synchronous playback of several streams, the volume of each can be controlled.

Theese three stream types can be combined to create complex, layered interactive music and transitions between them, similar to software such as WWise.
2024-03-12 21:54:59 +01:00
Danil Alexeev ef1909fca3
GDScript: Fix `@warning_ignore` annotation issues 2024-03-12 19:00:06 +03:00
Thaddeus Crews 3b3e2374c9
clang-tidy: Enforce `modernize-use-nullptr` 2024-03-12 10:59:53 -05:00
Rémi Verschelde 48ad83a4e7
Merge pull request #88827 from adamscott/add-browse-folder-icon
Add browse folder and browse file icons
2024-03-12 16:28:03 +01:00
Adam Scott 44d3ce2c11
Add browse folder and browse file icons 2024-03-12 09:57:59 -04:00
Rémi Verschelde 061e0c758d
Merge pull request #89395 from bruvzg/rtl_ts_img_range
[RTL] Use "visible characters" property for inline object visibility
2024-03-12 14:23:03 +01:00
Lyuma db2c9571bb glTF export: morph targets are relative, so use zero as reference 2024-03-12 02:39:15 -07:00
K. S. Ernest (iFire) Lee 1e63a2a132 Update buffer view target handling, encode sparse accessors as vec3.
Co-authored-by: Lyuma <xn.lyuma@gmail.com>
2024-03-12 02:39:00 -07:00
bruvzg 433de7f1a8
[RTL] Use "visible characters" property for inline object visibility 2024-03-12 11:28:45 +02:00
Rémi Verschelde b1b0a526d8
Merge pull request #89393 from Repiteo/retire-subprocess_main
SCons: Remove `run_in_subprocess` & `subprocess_main` dependencies
2024-03-11 23:48:21 +01:00
Rémi Verschelde d5856f864f
Merge pull request #89383 from bruvzg/font_no_bitmaps
[Font] Add option to disable embedded bitmaps loading.
2024-03-11 23:48:17 +01:00
Thaddeus Crews 5a6e3cbcb0
SCons: Remove `run_in_subprocess` dependency 2024-03-11 13:20:09 -05:00
bruvzg 911fa38d3a
[Font] Add option to disable embedded bitmaps loading. 2024-03-11 16:31:10 +02:00
Rémi Verschelde f040a351c2
Merge pull request #89381 from aaronfranke/disable-3d
Disable all 3D nodes, physics, and resources when compiling without 3D
2024-03-11 14:02:57 +01:00
Jakub Marcowski dab95993c6
pcre2: Update to 10.43 2024-03-11 11:42:02 +01:00
Aaron Franke 6aac3e4a16 Disable all 3D nodes, physics, and resources when compiling without 3D 2024-03-11 01:00:55 -07:00
Rémi Verschelde 53701a0234
Merge pull request #89361 from Repiteo/scons/with-statement
SCons: Ensure `with` statement where applicable
2024-03-10 21:13:18 +01:00
Thaddeus Crews fb299d0fb1
SCons: Ensure `with` statement where applicable 2024-03-10 12:57:57 -05:00
Lyuma fd2aa564ab gltf export: Remove snapping and fix validation
Round min/max correctly in accessors
Include correct target in vertex and indices bufferViews
Avoid use of Math::snapped
Normalize vertex weights.
2024-03-10 06:07:46 -07:00
A Thousand Ships 59bcc2888c
Add methods to get argument count of methods
Added to:
* `Callable`s
* `Object`s
* `ClassDB`
* `Script(Instance)`s
2024-03-10 11:02:43 +01:00
Rémi Verschelde 0ace0a1292
Merge pull request #89333 from Repiteo/enforce-eol-python
Enforce `\n` eol for Python writes
2024-03-09 22:20:23 +01:00
Thaddeus Crews d9fa40f2df
Enforce `\n` eol for Python writes
• Ensure utf-8 encoding if previously unspecified
2024-03-09 14:29:24 -06:00
Paul Joannon 7290e7d7a5
C#: Fix warnings
- Fix most CS0108 in generated glue
- Suppress CA1001 on `Variant`
2024-03-09 17:05:23 +01:00
Rémi Verschelde 877cd12da8
Merge pull request #89284 from mihe/lsp-multiple-messages
Allow LSP to process multiple messages per poll
2024-03-09 00:52:29 +01:00
Danil Alexeev 87718d2a6e
Editor Help: Add syntax highlighting for code blocks 2024-03-09 00:02:31 +03:00
Mikael Hermansson e2485044a1 Allow LSP to process multiple messages per poll 2024-03-08 18:49:29 +01:00
Rémi Verschelde 7755079f39
Merge pull request #89025 from Chubercik/clipper2-1.3.0
clipper2: Update to 1.3.0
2024-03-08 13:09:21 +01:00
Thaddeus Crews 9903e6779b
Enforce template syntax `typename` over `class` 2024-03-07 22:39:09 -06:00
George Marques 8e520454ef
GDScript: Add @export_custom annotation
Allows setting any arbitrary hint, hint string, and usage flags.
Useful for more complex hints or potential future hints not
available as a dedicated annotation.
2024-03-07 10:55:21 -03:00
Rémi Verschelde 0acc4276b6
Merge pull request #82952 from AbelToy/gds-export-array
Allow `@export`ed Arrays to set property hints for their elements
2024-03-06 09:49:53 +01:00
Abel Toy 882441a0ad
Support Array and PackedArray in @export_* 2024-03-06 16:17:54 +09:00
Hugo Locurcio 8221e7546b
Add editor shortcuts to toggle bottom panel visibility
Default shortcuts use the first or second letter of each word.

This also adds a new shortcut to toggle the last opened bottom panel.
On editor startup, this defaults to the first panel in the list
(which is the Output panel).
2024-03-05 15:53:15 +01:00
Rémi Verschelde b59166d77a
Merge pull request #89171 from bruvzg/fix_fb_breaks
[TextServer] Fix fallback line breaking code adding two breaks for CR-LF.
2024-03-05 09:56:22 +01:00
RedMser 2bd714e34e
Allow configuring the script filename casing rule
Defaults to "Auto", which detects the casing based on the
preference of the currently selected language (C# for example
prefers PascalCase whereas GDScript prefers snake_case).
2024-03-05 09:43:29 +01:00
bruvzg b58e45ed43
[TextServer] Fix fallback line breaking code adding two breaks for CR-LF. 2024-03-05 09:15:11 +02:00
A Thousand Ships 1e61e42250
[GDScript] Fix some test file paths 2024-03-04 19:11:28 +01:00
Rémi Verschelde e40010a8e1
Merge pull request #89108 from Faless/mp/fix_config_reload
[MP] Fix replication config reload error
2024-03-04 13:34:22 +01:00
Rémi Verschelde dd2a611118
Merge pull request #89092 from AThousandShips/csharp_doc
[C#] Fix typo in `Color` documentation
2024-03-04 13:34:06 +01:00
Rémi Verschelde 6315429999
Merge pull request #89007 from paulloz/dotnet/fix-interpolated-string-scriptpropertydefval
[.NET] Fix interpolated strings in ScriptPropertyDefVal
2024-03-04 13:33:25 +01:00
Rémi Verschelde 7be96a55c4
Merge pull request #86973 from HolonProduction/tests-batch-1
Add tests for `get_node` autocompletion
2024-03-04 13:32:55 +01:00
Rémi Verschelde b392ab5ff4
Merge pull request #85918 from 20kdc/tnj-static-called-on-instance-fix-confusion
GDScript: Adjust `STATIC_CALLED_ON_INSTANCE` warning to not force native type
2024-03-04 13:32:47 +01:00
Rémi Verschelde 5d3369e095
Merge pull request #85153 from Repiteo/scons-improve-logs
SCons: Add two new `COMSTR` environment variables
2024-03-04 13:32:38 +01:00
Rémi Verschelde 1598af5668
Merge pull request #83504 from Repiteo/c#-generator-langword-check
C#: Bindings generator langword check
2024-03-04 13:32:34 +01:00
Fabio Alessandrelli 45e8fa10c1 [MP] Fix replication config reload error
Override the `reset_state` method to properly handle reloading the
resource from disk.
2024-03-03 11:13:00 +01:00
HolonProduction 1621e725fa Fix autocompletion after DOLLAR token 2024-03-02 18:56:02 +01:00
A Thousand Ships 5aadb8660b
[C#] Fix typo in `Color` documentation 2024-03-02 18:13:01 +01:00
Rémi Verschelde f2045ba822
Merge pull request #88933 from raulsntos/dotnet/pre-commit
Move dotnet-format script to pre-commit
2024-03-02 10:48:25 +01:00
Raul Santos 97851f0340
Move dotnet-format script to pre-commit
Co-authored-by: Paul Joannon <437025+paulloz@users.noreply.github.com>
2024-03-02 08:25:48 +01:00
Thaddeus Crews 0ce9b6fd1d
Add two new COMSTR environment variables 2024-03-01 12:44:03 -06:00
Rémi Verschelde 34effe41dc
Merge pull request #89036 from Mickeon/documentation-uncommon-words-2
Overhaul some "uncommon" wording in class reference
2024-03-01 17:22:18 +01:00
Rémi Verschelde 0e0f564cea
Merge pull request #89021 from wheatear-dev/test-crypto-key
Add unit tests for CryptoKey
2024-03-01 17:22:12 +01:00
Micky c54e09a5a3 Overhaul some "uncommon" wording in class reference 2024-03-01 15:32:38 +01:00
20kdc 24181d1055
GDScript: Adjust STATIC_CALLED_ON_INSTANCE warning to not default to the native type, and to not trigger on self-calls
Not defaulting to the native type rationale:

Defaulting to the native type is less than useful, as:

* There are very few native types that are extensible and have static methods.
* Defaulting to the native type does not account for a method being script-defined.

While the "real fix" would be to carefully track the source of the method, the get_function_signature method is already complicated enough.

This will at least ensure the resulting code should always be valid.

Not triggering on self-calls rationale:

Found in PR comment https://github.com/godotengine/godot/pull/85918#issuecomment-1935864459

```
static func example():
	pass

func example2():
	example() # self-call on static function
```

Disabling this warning on self-calls is:

* Consistent with other languages
* Important for anonymous classes (where the output code is unusable)
2024-03-01 17:14:59 +03:00
Micky 7b3e1a5bde Optimize SceneTree's `change_scene_to_file` autocompletion 2024-03-01 15:12:52 +01:00
HolonProduction a2e7c64dc4 Cleanup 2024-03-01 13:06:37 +01:00
HolonProduction 1f42455e0a Debugging additions 2024-03-01 11:38:49 +01:00
Paul Joannon 42233284b1
Fix interpolated strings in ScriptPropertyDefVal 2024-03-01 11:24:46 +01:00
HolonProduction fc7d7d3dae Add test for `get_node` autocompletion 2024-03-01 11:24:06 +01:00
Jakub Marcowski 973448ec4c
clipper2: Update to 1.3.0 2024-03-01 11:12:59 +01:00
Edward Moulsdale e461496ecb Add unit tests for CryptoKey 2024-03-01 07:17:59 +00:00
Rémi Verschelde 7d2ca2d8ac
Merge pull request #89005 from dalexeev/gds-fix-res-format-loader-path
GDScript: Fix paths in `ResourceFormatLoaderGDScript::load()`
2024-02-29 15:18:55 +01:00
Rémi Verschelde b0c184c9c9
Merge pull request #88994 from TCROC/fix-c#-missing-epsilon-64bit
Fix C# epsilon compiler error on double precision build
2024-02-29 15:18:47 +01:00
Travis Lange 09c6cb1250 Fix C# epsilon compiler error on double precision build 2024-02-29 08:25:37 -05:00
Danil Alexeev 0908ad4005
GDScript: Fix paths in `ResourceFormatLoaderGDScript::load()` 2024-02-29 16:04:31 +03:00
Rémi Verschelde 7434f8b4e3
Merge pull request #88959 from akien-mga/pre-commit-clang-17.0.6-black-24.2.0
Pre-commit: Update to clang-format 17.0.6 and black 24.2.0
2024-02-29 13:54:38 +01:00
Rémi Verschelde 9101067666
Merge pull request #88958 from 398utubzyt/gltf/use-correct-name
Fix compilation errors when `DISABLE_DEPRECATED` is defined
2024-02-29 13:54:35 +01:00
Rémi Verschelde 9278856ff7
Merge pull request #88948 from dalexeev/core-add-callable-create
Core: Add `Callable.create` static method for `Variant` callables
2024-02-29 13:54:22 +01:00
Rémi Verschelde c9b531c613
Merge pull request #88920 from AThousandShips/group_doc_fix
[Doc] Fix some incorrect uses of "children"
2024-02-29 13:54:18 +01:00
Rémi Verschelde d194378043
Merge pull request #88904 from akien-mga/efs-tell-me-what-you-import
EditorFileSystem: Add verbose print for file being (re)imported
2024-02-29 13:54:14 +01:00
Rémi Verschelde 172b254687
Merge pull request #88664 from RandomShaper/res_load_modes
Enhance cache modes in resource loading
2024-02-29 13:54:07 +01:00
A Thousand Ships 9b5cd8e240
[Doc] Fix some incorrect uses of "children" 2024-02-29 11:52:55 +01:00
Danil Alexeev d90c9db27f
Core: Add `Callable.create` static method for `Variant` callables 2024-02-29 10:45:00 +03:00
BlueCube3310 8239aeec8e Image: Add static `is_format_compressed` function. 2024-02-28 19:42:06 +01:00
Rémi Verschelde 3a08c646ee
Pre-commit: Update to clang-format 17.0.6 and black 24.2.0 2024-02-28 14:25:35 +01:00
398utubzyt 4c69e8c026 Fix compilation errors when `DISABLE_DEPRECATED` is defined 2024-02-28 05:09:29 -08:00
Rémi Verschelde 093cdd2188
EditorFileSystem: Add verbose print for file being (re)imported
Also print the time it took for each file.
2024-02-28 09:59:46 +01:00
Rémi Verschelde ac4376814b
Merge pull request #88931 from clayjohn/GLTF-normals
Fix wrong indexing when generating dummy tangents in GLTF import
2024-02-27 21:23:14 +01:00
Rémi Verschelde ed2ff19cd7
Merge pull request #88909 from emre0altan/clarify-c#-color-opacity-comment
Clarify C# Color opacity comment
2024-02-27 21:23:07 +01:00
Rémi Verschelde a64cb8eff3
Merge pull request #88570 from paulloz/dotnet/warnings-editorconfig-cleanup
[.NET] Better `.editorconfig` setup in `modules/mono/`
2024-02-27 21:23:03 +01:00
Rémi Verschelde 21ee3716c2
Merge pull request #82122 from dalexeev/gds-add-export-hidden-annotation
GDScript: Add `@export_storage` annotation
2024-02-27 21:22:49 +01:00
clayjohn 14c776f798 Fix wrong indexing when generating dummy tangents in GLTF import 2024-02-27 11:44:57 -08:00
Paul Joannon 139a5df821
Cleanup C# projects, code quality & style
New rules:
- Do not silence CA1805 any more
- Limit where we silence CA1707, CA1711, CA1720
- Enforce severity=warning for IDE0040
- Enforce Allman style braces
- Enforce naming conventions (IDE1006 is still severity=suggestion)

Fixes:
- Fix REFL045, CS1572, CS1573
- Suppress CS0618 when generating `InvokeGodotClassMethod`
- Fix indent when generating GD_constants.cs
- Temporarily silence CS1734 in generated code
- Fix a lot of naming rule violations

Misc.:
- Remove ReSharper comments for RedundantNameQualifier
- Remove suppression attributes for RedundantNameQualifier
- Remove severity=warnings for CA1716, CA1304 (already included in the level of analysis we run)
2024-02-27 20:11:24 +01:00
Rémi Verschelde f5dbbf7fd0
Merge pull request #88921 from Repiteo/dotnet/deprecate-check-fix
C#: Only check for empty deprecation message if deprecated
2024-02-27 18:27:10 +01:00
Thaddeus Crews be7019de0f
C#: Only check for empty deprecation message if deprecated 2024-02-27 10:22:32 -06:00
blackbird806 e2f1af8742
Remove self includes in some files 2024-02-27 17:10:54 +01:00
emre0altan 4100a23c5e Clarify C# Color opacity comment 2024-02-27 15:56:21 +00:00
Rémi Verschelde 21e3b2111e
Merge pull request #88862 from smix8/split_physics_classes
Split monolithic physics class files
2024-02-27 16:37:07 +01:00