Commit Graph

11375 Commits (ab5a5395496751e09b2bc5100ff6352d0ee5f16c)

Author SHA1 Message Date
Aaron Franke 02d8c6eefe
GLTF: Add extract_path and extract_prefix settings
Only used by the Blender importer
2024-11-04 19:28:33 +07:00
Aaron Franke 0b7354dfa9
GLTF: Don't give up loading image if import fails 2024-11-04 19:28:18 +07:00
Aaron Franke 0513943f70
GLTF: Implement KHR_animation_pointer for animating custom properties 2024-11-04 17:55:40 +07:00
Aaron Franke d373d207c1
GLTF: Add functions to encode and decode Variants to/from accessors 2024-11-04 17:55:40 +07:00
Aaron Franke 11576b89dd
GLTF: Implement the glTF Object Model in physics extension 2024-11-04 17:55:39 +07:00
Aaron Franke 4b66a25f52
GLTF: Implement the glTF Object Model to support JSON pointer properties 2024-11-04 17:55:39 +07:00
Aaron Franke cd367b3da3
GLTF: Prerequisite cleanups before KHR_animation_pointer
Add get_scene_node_path and has_additional_data to GLTFNode, remove center of mass ignore warning in physics (it's supported now), rename `d` to `mesh_dict` in mesh import code.
2024-11-04 17:55:39 +07:00
Aaron Franke 834189a618
GLTF: Clean up animation code to make way for KHR_animation_pointer 2024-11-04 17:55:38 +07:00
Aaron Franke c7391d2ee3
GLTF: Add more accessor component types 2024-11-04 17:55:38 +07:00
Aaron Franke 4b0085ac85
GLTF: Move the component type enum into GLTFAccessor 2024-11-04 17:55:37 +07:00
Thaddeus Crews bb5f390fb9
Style: Apply `clang-tidy` fixes (superficial)
• `modernize-use-bool-literals`, `modernize-use-nullptr`, and `readability-braces-around-statements`
2024-11-04 12:11:14 +07:00
Thaddeus Crews 89a311205f
Style: Apply `clang-tidy` fixes
• `modernize-use-default-member-init` and `readability-redundant-member-init`
• Minor adjustments to `.clang-tidy` to improve syntax & remove redundancies
2024-11-04 12:11:06 +07:00
Arseny Kapoulkine 260287b3a1 Rewrite index optimization code for maximum efficiency
While all the previous fixes to optimizeVertexCache invocation fixed the
vertex transform efficiency, the import code still was missing two
crucial recommendations from meshoptimizer documentation:

- All meshes should be optimized for vertex cache (this reorders
  vertices for maximum fetch efficiency)
- When LODs are used with a shared vertex buffer, the vertex order
  should be generated by doing a vertex fetch optimization on the
  concatenated index buffer from coarse to fine LODs; this maximizes
  fetch efficiency for coarse LODs

The last point is especially crucial for Mali GPUs; unlike other GPUs
where vertex order affects fetch efficiency but not shading, these GPUs
have various shading quirks (depending on the GPU generation) that
really require consecutive index ranges for each LOD, which requires the
second optimization mentioned above. However all of these also help
desktop GPUs and other mobile GPUs as well.

Because this optimization is "global" in the sense that it affects all
LODs and all vertex arrays in concert, I've taken this opportunity to
isolate all optimization code in this function and pull it out of
generate_lods and create_shadow_mesh; this doesn't change the vertex
cache efficiency, but makes the code cleaner. Consequently,
optimize_indices should be called after other functions like
create_shadow_mesh / generate_lods.

This required exposing meshopt_optimizeVertexFetchRemap; as a drive-by,
meshopt_simplifySloppy was never used so it's not exposed anymore - this
will simplify future meshopt upgrades if they end up changing the
function's interface.
2024-11-04 06:58:06 +07:00
Rudolph Bester 0f0e24016c Fix Occlusion Culling Buffer getting corrupted. 2024-11-02 12:52:19 +07:00
Hugo Locurcio 9f2bd57b7b
Add Codium support to C# external editors
Selecting the VS Code option will now work if Codium is installed,
picking it as the last option after attempting to run VS Code.
2024-11-02 00:00:41 +07:00
Thaddeus Crews 363c0b5fec
Merge pull request #47502 from KoBeWi/add_0
Always add decimal when converting float to string
2024-10-31 20:14:39 +07:00
Pascal Grittmann a59fb07e4a set flag for 8 bone weights 2024-10-31 17:04:31 +07:00
Radiant 5b0bf9e2b0 Return the actual error when an import fails. 2024-10-30 23:42:10 +07:00
Thaddeus Crews 8004c7524f
Merge pull request #98301 from aaronp64/gdscript_validate_property
Avoid unnecessary `Dictionary` conversions in `GDScriptInstance::validate_property`
2024-10-29 19:26:02 +07:00
Thaddeus Crews 696ca9db3c
Merge pull request #98039 from aaronfranke/button-icon
Rename internal Button `*_icon` functions to `*_button_icon` to match exposed methods
2024-10-29 19:25:59 +07:00
Thaddeus Crews 49cf7996e1
Merge pull request #98496 from bruvzg/icu761
Update ICU to 76.1
2024-10-29 19:25:49 +07:00
Thaddeus Crews 23f03a7cce
Merge pull request #98589 from juanjp600/openxr-no-wayland-build-fix
Fix OpenXR module failing to build on Linux when Wayland is disabled
2024-10-29 19:25:41 +07:00
Thaddeus Crews b7a0971ad2
Merge pull request #97934 from adamscott/give-AThousandShips-a-break
[Codestyle] Set clang-format `RemoveSemicolon` rule to `true`
2024-10-29 19:25:36 +07:00
Thaddeus Crews 64b68192cc
Merge pull request #98562 from Rudolph-B/Issue-98561
Fix Occlusion Culling not working for an orthogonal camera.
2024-10-29 19:25:34 +07:00
Aaron Franke 562c666e3d
Rename internal Button icon to button_icon to match exposed methods 2024-10-29 16:23:03 +07:00
Clay John 0debc73dc6
Merge pull request #98322 from BlueCube3310/dds-layered-importer
DDS: Add support for loading layered textures
2024-10-29 15:20:54 +07:00
BlueCube3310 06195cdf2c DDS: Add support for loading layered textures 2024-10-29 20:55:22 +07:00
Juan Pablo Arce 1803fe0cd5 Fix OpenXR module failing to build on Linux when Wayland is disabled 2024-10-27 14:03:03 +07:00
Rudolph Bester 76c20383d1 Fix Occlusion Culling not working for an orthogonal camera. 2024-10-26 20:07:34 +07:00
Thaddeus Crews 61accf0605
Merge pull request #97535 from HolonProduction/gizmo-cylinder
Editor: Improve cylinder gizmos
2024-10-25 13:04:14 +07:00
Thaddeus Crews 2584f75537
Merge pull request #96499 from beev1s/shallow-script-cache-error
Fix resource loader not resolving shallow loaded scripts through dependencies
2024-10-25 13:04:09 +07:00
Thaddeus Crews 07e759b74a
Merge pull request #97771 from dsnopek/openxr-linux-egl
OpenXR: Add support for Wayland on Linux
2024-10-25 13:04:08 +07:00
Thaddeus Crews 7da6d6032b
Merge pull request #96927 from HolonProduction/completion-inner-class-base-crash
Autocompletion: Don't use owner for inner classes
2024-10-25 13:03:53 +07:00
Adam Scott 0d350e7108
Set clang-format `RemoveSemicolon` rule to `true`
- Set clang-format `Standard` rule to `c++20`
2024-10-25 13:49:43 +07:00
Danil Alexeev 4dc568856a
GDScript: Rework `GDScriptUtilityFunctions` macros 2024-10-25 17:46:38 +07:00
Clay John 78a4e634f0
Merge pull request #98257 from Rudolph-B/94210-B
Fix to occlusion culling where all math is based on Euclidean distance.
2024-10-24 21:06:56 +07:00
Clay John b5368d5e40
Merge pull request #98356 from dustdfg/gdscript_endif_readability_comments
Add some comments to `#endif's` where it helps readability
2024-10-24 19:11:42 +07:00
Clay John 38f2144f85
Merge pull request #98400 from rune-scape/fix-typed-dict-cached-parser
GDScript: Fix cached parser error when using typed Dictionaries
2024-10-24 18:54:12 +07:00
Clay John 7ebb3a4d68
Merge pull request #98471 from dsnopek/openxr-composition-layers-visibility-bug
Fix bug with OpenXR composition layers added after OpenXR is running
2024-10-24 18:45:23 +07:00
rune-scape 3c8615221a SceneRPCInterface: Sort rpc names using `StringLikeVariantOrder` 2024-10-24 14:16:30 +07:00
bruvzg e698870caa
Update ICU to 76.1 2024-10-24 22:47:59 +07:00
Thaddeus Crews 3c7fb9fe7f
Merge pull request #98169 from HolonProduction/only-highlight-exposed
GDScript: Don't highlight unexposed classes
2024-10-24 13:23:04 +07:00
Thaddeus Crews 8b6c7bf64c
Merge pull request #98163 from BastiaanOlij/openxr_flatten_bindings
OpenXR: change bindings to 'flatten' source paths
2024-10-24 13:23:03 +07:00
Thaddeus Crews 7444da766a
Merge pull request #97374 from rune-scape/get-native-static-callable
GDScriptNativeClass: Allow getting static function as callable
2024-10-24 13:23:01 +07:00
Thaddeus Crews 52bbbd4338
Merge pull request #98247 from TCROC/fix-headless-graphics-driver-and-shader-crash
Don't create rendering device or parse glsl shader in headless mode
2024-10-24 13:22:53 +07:00
Thaddeus Crews 0953d488c7
Merge pull request #98329 from beru/opt_ImageLoaderSVG__create_image_from_utf8_buffer
Optimize ImageLoaderSVG::create_image_from_utf8_buffer
2024-10-24 13:22:44 +07:00
David Snopek e2386de505 Fix bug with OpenXR composition layers added after OpenXR is running 2024-10-23 15:34:05 +07:00
Zae 06df5275c2 C#: Fix StringName leak when converting `Variant` to `Signal` / `Callable` 2024-10-24 00:08:43 +07:00
Zae 2a3d400dd8 C#: Escape signal parameters 2024-10-23 23:24:00 +07:00
kobewi 5c0f2414cd Always add decimal when printing float 2024-10-23 15:00:21 +07:00
Brian Huynh 360b84bad5 Clarification to the description of Global scope in regards to GDScript
Previous wording said that @GDScript referred to entries that could be accessed in any script. Although with common sense we could imagine that it is only refering to GDScript specific pieces of code, the wording is a little unclear.

In general there are small changes to the wording which makes it more clear and concise.
Wording change

Tried to match the wording up with my last change which should make it a bit easier to parse at a glance what the docs mean by "from any script"

Changed language from "not specific to" to "which work in any language"

After consulting multiple people the new wording seems easier to parse, even for non coders

Update doc/classes/@GlobalScope.xml

Update modules/gdscript/doc_classes/@GDScript.xml

Update modules/gdscript/doc_classes/@GDScript.xml

Co-Authored-By: Micky <66727710+Mickeon@users.noreply.github.com>
2024-10-23 02:10:03 +07:00
Travis Lange 2e1fc241f9 fix headless import attempting to load graphics driver 2024-10-22 16:17:09 +07:00
rune-scape eb8b9898c9 GDScript: Fix cached parser error when using typed Dictionaries 2024-10-22 02:13:16 +07:00
Bastiaan Olij 3e36f52524 OpenXR: change bindings to 'flatten' source paths 2024-10-22 10:31:11 +07:00
Thaddeus Crews 55aeff19dc
Merge pull request #98146 from HolonProduction/this-error-does-not-apply-to-unrecognized-annotations
GDScript: Fix annotation parsing adding new annotation entries
2024-10-21 16:39:24 +07:00
Thaddeus Crews 291e4b78e2
Merge pull request #98237 from dustdfg/os_transitive_image_headers_refactor
Don't include `core/io/image.h` in `core/os/os.h`
2024-10-21 16:39:15 +07:00
Thaddeus Crews cb3c01a5fe
Merge pull request #97588 from TML233/generated-raise-signal
[C#] Change generated On{SignalName} to EmitSignal{SignalName}
2024-10-21 16:39:12 +07:00
Thaddeus Crews 8be0061458
Merge pull request #98340 from juanjp600/dotnet-typed-dictionary-hint-fix
Fix exported typed dictionaries in .NET having an incorrect hint
2024-10-21 16:39:08 +07:00
Thaddeus Crews 5fb22327ee
Merge pull request #97542 from AThousandShips/dict_sort_fix
[Core] Fix sorting of `Dictionary` keys
2024-10-21 16:39:05 +07:00
Yevhen Babiichuk (DustDFG) 8c29ef38fc Add some comments to #endif's where it will easier life
Also added some new line to improve readability

Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
Co-authored-by: Danil Alexeev <danil@alexeev.xyz>
2024-10-21 14:31:45 +07:00
Marc Gilleron a92e1d4a20 Optimize some parts of NavMap::sync 2024-10-19 14:58:49 +07:00
katsuhisa yuasa 4dad9c6c05 optimize ImageLoaderSVG::create_image_from_utf8_buffer 2024-10-19 14:09:34 +07:00
aaronp64 aa1d469ffb Avoid unnecessary Dictionary conversions in GDScriptInstance::validate_property
Updated GDScriptInstance::validate_property to only convert PropertyInfo to Dictionary if _validate_property function is found.
2024-10-18 12:10:19 +07: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 +07:00
A Thousand Ships 79f654ced5
[Core] Fix sorting of `Dictionary` keys
`StringName` keys were sorted as `StringName` which is unstable.
2024-10-18 08:47:05 +07:00
Juan Pablo Arce e3790de461 Fix exported typed dictionaries in .NET having an incorrect hint, which led to incorrect scene serialization 2024-10-18 00:55:24 +07:00
Clay John e50b864b64
Merge pull request #98085 from dalexeev/gds-fix-typed-dict-static-default-init
GDScript: Add missing static default initialization for typed dictionaries
2024-10-17 16:53:11 +07:00
Rudolph Bester ed3f990952 Alternative fix to occlusion culling where all math is based on Euclidean distance. 2024-10-17 05:59:37 +07:00
Zi Ye db194f06e1 Replaced some distance checks with square distance checks in NavMap, wherever the purpose is only to find the nearest element. 2024-10-15 22:06:35 +07:00
Hunter Loftis bbb8c1703b Fix freeze on non-thread-safe custom importers 2024-10-15 11:46:14 +07:00
Thaddeus Crews b429948236
Merge pull request #97938 from fire/GODOT_rest_transform
Assign the correct bone rest transform to nodes with matrix in GLTF
2024-10-14 14:09:58 +07:00
Thaddeus Crews 56ed76a372
Merge pull request #97582 from BlueCube3310/basisu-hdr
BasisU: Update to 1.50.0 and add HDR support
2024-10-14 14:09:57 +07:00
Thaddeus Crews a1e768c508
Merge pull request #97295 from BlueCube3310/betsy-bc4
Betsy: Implement BC4 compression
2024-10-14 14:09:56 +07:00
Thaddeus Crews c409546cc3
Merge pull request #98059 from zaevi/fix_csharp_unhandled_GD0303
[.NET] Fix unhandled GD0303 error for nested generic attribute types
2024-10-14 14:09:51 +07:00
HolonProduction e999f11d53 GDScript: Don't highlight unexposed classes 2024-10-14 14:57:16 +07:00
HolonProduction 140c6a612e GDScript: Fix annotation parsing adding new annotation entries 2024-10-13 22:43:06 +07:00
HolonProduction 16aae0d7a7 Autocompletion: Don't use owner for inner classes 2024-10-13 18:20:27 +07:00
BlueCube3310 200ed0971a BasisU: Update to 1.50.0 and add HDR support 2024-10-12 18:02:44 +07:00
HolonProduction 9ea357af20 Editor: Improve cylinder gizmos 🌈 2024-10-11 18:38:36 +07:00
Danil Alexeev 0bc59c78de
GDScript: Add missing static default initialization for typed dictionaries 2024-10-11 13:23:34 +07:00
Thaddeus Crews e857e81cf7
Merge pull request #97873 from BlueCube3310/image-decompress-4-fix
Fix decompressing textures with dimensions that are not multiples of 4
2024-10-10 18:13:20 +07:00
Thaddeus Crews 147ccfeb4e
Merge pull request #96329 from Delsin-Yu/dotnet-replace-array-with-ros-in-binding-apis
[.NET] Generate `ReadOnlySpan<T>` Overloads for GodotSharp APIs
2024-10-10 18:13:18 +07:00
Zae 9c99e519c6 C#: Fix unhandled GD0303 error for nested generic attribute types 2024-10-11 03:03:05 +07:00
DE YU d4695e84a4 Add ReadOnlySpan API Overloads
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-10-09 23:14:38 +07:00
Chaosus 54f6a1bf64 Fix lookup symbol for enum members to search a correct code definition 2024-10-08 22:46:44 +07:00
Thaddeus Crews 71fe3d96ea
Merge pull request #97951 from juanjp600/dotnet-dictionary-debug-view
Fix untyped dictionary .NET debug visualization showing keys as values
2024-10-08 11:16:24 +07:00
Thaddeus Crews f31a2cc9c9
Merge pull request #97270 from timothyqiu/optional-edconfig
Create `.editorconfig` file only on project creation
2024-10-08 11:14:43 +07:00
Juan Pablo Arce c41601fa9c Fix untyped dictionary .NET debug visualization showing keys as values 2024-10-07 16:27:42 +07:00
K. S. Ernest (iFire) Lee 4113529535 Assign the correct bone rest transform to nodes with matrix in GLTF 2024-10-07 10:19:43 +07:00
squidgyberries 2bd7d8e7e4
Clarify SIMPLEX and SIMPLEX_SMOOTH types 2024-10-07 19:41:18 +07:00
BlueCube3310 a60195e23d Fix decompressing textures with dimensions that are not multiples of 4 2024-10-06 11:13:39 +07:00
Haoyu Qiu 8086894a8e Create `.editorconfig` file only on project creation 2024-10-05 14:32:55 +07:00
David Snopek 256699ee31 OpenXR: Add support for Wayland on Linux 2024-10-04 11:44:05 +07:00
Rémi Verschelde de07df55f7
Merge pull request #85321 from Calinou/basis-universal-disable-unused-features
Disable unused Basis Universal features to reduce binary size
2024-10-04 12:58:28 +07:00
Danil Alexeev 6286f9d21d
GDScript: Fix `GDScriptCache::get_full_script()` uses non-remapped path 2024-10-03 17:14:44 +07:00
Rémi Verschelde 903c3bc154
Merge pull request #97727 from SlugFiller/llvm-computed-goto
Enable use of Labels as Values feature in Clang when not wrapped by GCC
2024-10-02 23:56:48 +07:00
Rémi Verschelde 991b741f6c
Merge pull request #97677 from bruvzg/hb1001
Update HarfBuzz to 10.0.1
2024-10-02 15:01:23 +07:00
Rémi Verschelde 336d91551d
Merge pull request #97281 from reptofrog/deadzone-new-default
Input: Change the default deadzone value for new actions from 0.5 to 0.2
2024-10-02 15:01:02 +07:00
Rémi Verschelde 0b2446101c
Merge pull request #96693 from HolonProduction/annotation-arg-hint
Autocompletion: Add arghint for annotations
2024-10-02 15:00:58 +07:00
Rémi Verschelde cd7822051c
Merge pull request #95216 from Chaosed0/enet-get-packet-flags
Add method for getting packet flags from ENetPacketPeer
2024-10-02 15:00:50 +07:00