Commit graph

10370 commits

Author SHA1 Message Date
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
A Thousand Ships
2508c2e309
[Doc] Document loading behavior with relative paths 2024-03-30 13:33:49 +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
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
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
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