Commit graph

9796 commits

Author SHA1 Message Date
Yuri Sizov
3c68ab679a Merge pull request #84271 from aaronfranke/gltf-compat-version
Implement glTF compat version system for files from older Godot versions
2023-11-06 13:23:07 +01:00
Yuri Sizov
a8bcbff59f Merge pull request #82133 from MewPurPur/svg-tweaks
Optimize and tweak some SVGs, improve consistency between icons, and fix broken masks in light mode
2023-11-06 13:22:59 +01:00
Hugo Locurcio
6b7ec62b96
Tweak FastNoiseLite property hints for better slider usability
- Mark Frequency as exponential to make low frequency values easier
  to control when dragging the slider. The default now
  conveniently appears halfway in the middle.
- Reduce range hint for Offset to make "absolute"
  slider dragging more controllable, but allow lower/greater
  values to be entered manually.
2023-11-05 23:25:05 +01:00
MewPurPur
03d1830176 Optimize, tweak, improve consistency in SVG icons, and fix masks in light mode 2023-11-04 17:36:18 +02:00
Aaron Franke
58076b9ccb
Implement glTF compat version system for files from older Godot versions 2023-11-03 12:07:25 -05:00
smix8
0cba21f2da Fix CSGShape debug_collision_shape crash
Fixes CSGShape debug_collision_shape crash.
2023-11-02 11:23:47 +01:00
Rémi Verschelde
44a54f4500
Merge pull request #84252 from clayjohn/ensure_tangents
Enhance checks and user experience around tangent arrays in meshes.
2023-11-02 09:11:32 +01:00
clayjohn
d1043a5f93 Enhance checks and user experience around tangents.
Ensure `ensure_tangents` option actually creates tangent array. Even if it is just a dummy array.

Allow mesh to generate its own tangents when using compression. This allows users to compress meshes without tangents.

Warn users if they are trying to read from tangents without providing tangents.
2023-11-01 22:40:42 +01:00
bruvzg
5e55c6c611
ICU4C: Update to version 74.1 2023-11-01 08:56:12 +02:00
bruvzg
9ad55dc32d
[TextServer] Fix line breaks for dropcap and resizing embedded objects. 2023-10-31 22:39:42 +02:00
Rémi Verschelde
6afd320984
Merge pull request #78157 from RedworkDE/net-shutting-down-abruptly
C#: Fix crash with `DisposablesTracker_OnGodotShuttingDown`
2023-10-31 20:52:27 +01:00
Rémi Verschelde
8c7f836c19
Merge pull request #84191 from akien-mga/scons-gdscript-fix-no-lsp-build
SCons: Fix build with GDScript LSP disabled
2023-10-31 20:15:53 +01:00
bruvzg
f52559bf98
[TextServer] Fix glyph comparator ambiguous output, causing "bad comparison function" error spam when processing text with excessive use of combining diacritics. 2023-10-31 08:41:35 +02:00
Rémi Verschelde
67941551ca
Merge pull request #83809 from raulsntos/dotnet/free-dialogs
C#: Free dialogs when exiting the editor
2023-10-30 16:26:15 +01:00
Rémi Verschelde
bfd7a50036
SCons: Fix build with GDScript LSP disabled
Fixes #83947.
2023-10-30 15:28:34 +01:00
Rémi Verschelde
5dc10b5aa5
Merge pull request #84181 from jsjtxietian/fix-FastNoiseLite.get_image-crash
Fix `FastNoiseLite.get_image` crashes with bad param
2023-10-30 13:58:06 +01:00
Rémi Verschelde
23bcb702ec
Merge pull request #84174 from jsjtxietian/hide_debug_collision_shape_when_csgshape_invisible
Hide CSGShape's `debug_collision_shape` when it is invisible
2023-10-30 13:57:42 +01:00
jsjtxietian
ff45c08143 Fix FastNoiseLite.get_image crashes with bad param 2023-10-30 18:44:44 +08:00
jsjtxietian
173e2c7f29 Hide CSGShape's debug_collision_shape when it is invisible 2023-10-30 14:53:09 +08:00
Bastiaan Olij
c512e85082 Fix OpenXR sample count 2023-10-28 17:17:13 +11:00
Saracen
4b671eec0e Reimport bone attachment fixes:
Assign bone_idx to GLTF importer to fix serialization.
Notifies Skeletons and BoneAttachments when reimporting.
Removes usage of NOTIFICATION_NODE_RECACHE_REQUESTED
2023-10-27 20:34:01 +01:00
Rémi Verschelde
c05341e048
Merge pull request #83984 from akien-mga/openxr-1.0.31
openxr: Sync with upstream 1.0.31, don't build obsolete dispatch table
2023-10-27 11:38:08 +02:00
Rémi Verschelde
bf41c6bd34
Merge pull request #82918 from raulsntos/dotnet/only-node-can-export-node
C#: Report diagnostic for Node exports in a type that doesn't derive from Node
2023-10-27 11:36:33 +02:00
Rémi Verschelde
adcd16c710
Merge pull request #83569 from vnen/gdscript-no-opt-division-modulo
GDScript: Don't optimize division and modulo on debug
2023-10-26 15:59:44 +02:00
Rémi Verschelde
7443fb2cf2
Merge pull request #83978 from jsjtxietian/fix-FastNoiseLite.get_seamless_image-crash-on-bad-input
Fix `FastNoiseLite.get_seamless_image` function crash with bad param
2023-10-26 12:10:08 +02:00
jsjtxietian
1fafca56a6 Fix FastNoiseLite.get_seamless_image function will crashes with bad param 2023-10-26 17:13:04 +08:00
Rémi Verschelde
f0b6677906
openxr: Sync with upstream 1.0.31, don't build obsolete dispatch table 2023-10-26 10:01:48 +02:00
Danil Alexeev
b04263644c
Core: Allow methods of built-in Variant types to be used as Callables 2023-10-25 15:53:52 +03:00
smix8
5e4ff965cc Fix potential crashes with TileMap navmesh baking
Fixes potential crashes with TileMap navmesh baking.
2023-10-24 14:51:52 +02:00
Rémi Verschelde
adc4566b1e
Merge pull request #83829 from akien-mga/openxr-revert-1.0.28-fix-mingw-crash
openxr: Revert to 1.0.28, newer versions crash on Windows/Mingw-GCC
2023-10-24 10:54:38 +02:00
Rémi Verschelde
9d4fe33dd9
Merge pull request #83792 from ryanabx/fixes/gdscript-parser-typo
Fix comment typo in `gdscript_parser.h`
2023-10-24 10:54:35 +02:00
Rémi Verschelde
398b254f27
Merge pull request #83325 from raulsntos/dotnet/find-latest-sdk
C#: Fallback to the latest SDK
2023-10-24 10:54:04 +02:00
ryanabx
e945a8fbad Fix typo in gdscript_parser.h and gdscript_translation_parser_plugin.cpp 2023-10-23 08:48:36 -05:00
Rémi Verschelde
c21c2706ad
Merge pull request #83827 from bruvzg/icu_data_keep
[TextServerAdvanced] Keep dynamically loaded ICU data in memory.
2023-10-23 12:44:02 +02:00
Rémi Verschelde
5e8bf6addf
Merge pull request #83815 from timothyqiu/as
Fix "as" capitalization in editor strings
2023-10-23 12:43:15 +02:00
Rémi Verschelde
2079bbabfd
openxr: Revert to 1.0.28, newer versions crash on Windows/Mingw-GCC
Reverts #82582.
Works around #83674.

Users tested 1.0.29, 1.0.30, and 1.0.31, which all triggered the same issue,
with both mingw-gcc from Fedora 36 and Fedora 39.
2023-10-23 11:10:31 +02:00
bruvzg
0fb5d53feb
[TextServerAdvanced] Keep dynamically loaded ICU data in memory. 2023-10-23 11:21:13 +03:00
Haoyu Qiu
2413952a4c Fix "as" capitalization in editor strings 2023-10-23 16:10:05 +08:00
Raul Santos
48edcc3b34
C#: Free dialogs when exiting the editor 2023-10-23 02:10:06 +02:00
smix8
9416f0c266 Fix hole in heightmap navigation mesh baking
Fixes hole in heightmap navigation mesh baking.
2023-10-22 18:23:43 +02:00
smix8
ade4d3cf28 Fix NavigationLink enabled toggle
Fixes NavigationLink enabled toggle.
2023-10-21 03:11:37 +02:00
Rémi Verschelde
46efe48386
Merge pull request #83683 from YuriSizov/random-cleanup
Clean up some Editor, OpenXR, VideoStream code
2023-10-20 22:03:14 +02:00
Danil Alexeev
7f4721a941
GDScript: Fix non-static call is allowed in static var lambda body 2023-10-20 20:43:07 +03:00
Yuri Sizov
cd31407cb3 Clean up some Editor, OpenXR, VideoStream code
- EditorNode has excessive and pointless checks for Input singleton.
- EditorNode initialization order is a bit awkward.
- OpenXR binds a method that doesn't need that (for call deferred).
- VideoStream has a formatting error.
2023-10-20 17:54:39 +02:00
Rémi Verschelde
78e47a4523
Merge pull request #83663 from jsjtxietian/prevent-invalid-gltf-crash-godot
Prevent godot crash from importing a certain kind of invalid gltf
2023-10-20 15:13:50 +02:00
Rémi Verschelde
a63bff4ce4
Merge pull request #83619 from YuriSizov/core-our-vessel-only-has-one-node-left
Fix StringName leaks in VariantParser
2023-10-20 15:11:24 +02:00
Rémi Verschelde
7270da76ba
Merge pull request #83540 from mattbork/get_shallow_script_fix
Fix `GDScriptCache::get_full_script` eating parsing errors because of early exit
2023-10-20 15:09:04 +02:00
Rémi Verschelde
db493ede00
Merge pull request #83284 from DarioSamo/lightmapper-grid-clusters
Optimize lightmapper using triangle clusters on the acceleration structure.
2023-10-20 15:08:17 +02:00
Rémi Verschelde
aa3beb5f11
Merge pull request #81628 from rune-scape/rune-lambda-hotswap
GDScript: Fix lambda hot reloading
2023-10-20 15:07:05 +02:00
Raul Santos
9750e49c57
Add NOTIFICATION_PREDELETE_CLEANUP notification
New notification sent after `NOTIFICATION_PREDELETE` to let Objects cleanup at the very end, it should be the last notification sent.
2023-10-20 13:43:42 +02:00
jsjtxietian
1c70a7ae6a Prevent godot crash from importing a certain kind of invalid gltf
invalid type: mistach interpolation CUBICSPLINE and value size
2023-10-20 16:58:11 +08:00
Yuri Sizov
4952d37f4b Fix StringName leaks in VariantParser 2023-10-19 17:13:15 +02:00
Matthew Borkowski
2d262c072b Fix GDScriptCache::get_full_script eating parsing errors because of early exit
Fixes #75545.
2023-10-18 18:21:59 -04:00
smix8
36146258de Fix NavRegion sync error messages
Fixes NavRegion sync error messages
2023-10-18 21:09:48 +02:00
George Marques
08e3f30299
GDScript: Don't optimize division and modulo on debug
Since the validated operators don't have checks for division by zero,
use the regular evaluator in debug which has those checks.
2023-10-18 14:12:51 -03:00
Rémi Verschelde
49f492d54b
Merge pull request #83532 from raulsntos/dotnet/nested-class-generation
C#: Fix generated nested class order
2023-10-18 16:54:58 +02:00
Raul Santos
fe078219fc
C#: Fix generated nested class order 2023-10-18 03:37:57 +02:00
Raul Santos
e6ebde8408
Fix C# docs to use the proper XML
Replaces some BBCode that was accidentally left in the C# documentation
with the proper XML syntax.
2023-10-18 01:56:25 +02:00
Rémi Verschelde
dce1aab174
Merge pull request #83514 from kleonc/docs-multiplication-operators-doing-xform_inv-csharp
Clarify C# docs for operators performing `xform_inv`
2023-10-18 00:06:02 +02:00
Rémi Verschelde
ca09afd530
Merge pull request #80489 from raulsntos/dotnet/diagnostics
C#: Improve diagnostic messages and add help link
2023-10-17 23:59:17 +02:00
rune-scape
9fb8862d73
GDScript: Lambda hot reloading
Co-authored-by: Adam Scott <ascott.ca@gmail.com>
2023-10-17 15:52:52 -04:00
kleonc
408de3b091 Clarify C# docs for operators performing xform_inv 2023-10-17 19:49:42 +02:00
Raul Santos
aa4dba5b56
C#: Improve diagnostic messages and add help link
- Reword diagnostic messages.
- Add help link to diagnostics.
2023-10-17 19:45:09 +02:00
Rémi Verschelde
109cb8e697
Merge pull request #83455 from Lunarisnia/fix/gdscript-error-typo
Fix grammar typo in GDScript error message
2023-10-17 16:13:02 +02:00
Rémi Verschelde
94810115fe
openxr: Sync with upstream 1.0.30 2023-10-17 15:46:01 +02:00
Lunarisnia
981c6c94c0 Fix grammar typo in GDScript error message 2023-10-17 01:33:37 +07:00
Rémi Verschelde
ddb7969cb6
Merge pull request #83257 from dalexeev/gds-fix-unresolved-type-for-incomplete-expressions
GDScript: Fix unresolved datatype for incomplete expressions
2023-10-16 18:44:27 +02:00
Rémi Verschelde
6a0716dedd
Merge pull request #83123 from astillich/82998-propagate-base-class-exports
Fix modifying base script exports not propagating to derived scripts
2023-10-16 18:43:39 +02:00
Rémi Verschelde
50212ecfdb
Merge pull request #78882 from dalexeev/gds-fix-utility-func-err-msg
GDScript: Fix incorrect error message for utility functions
2023-10-16 18:43:11 +02:00
Alexander Stillich
99f8751878 Fix editing exports in a base script not propagating the change to the opened property editor
This patch fixes the user having to navigate away from the selected node which has the derived script attached and back to see the changes of the base script exports reflected in the property editor.
2023-10-16 17:55:19 +02:00
Martin Capitanio
0983022e0c ThorVG: Update to v0.11.1
https://github.com/thorvg/thorvg/releases/tag/v0.11.1

Godot related:
+ [SwEngine] Enhanced the quality of the dash line corners.
+ [SVG] Fixed a regression bug related to maskContentUnit,
	userSpaceOnUse/objectBoundingBox.

Fixes #82982 icons.
Fixes #83198 svg ← png/jpg.
2023-10-16 13:48:22 +02:00
Danil Alexeev
0c2202c56e
GDScript: Fix incorrect error message for utility functions 2023-10-16 14:09:57 +03:00
Raul Santos
be1dfd3b3a
C#: Allow exporting games without C#
When exporting a game that contains a C# solution, a feature is added so the exported game can check if it should initialize the .NET module. Otherwise, the module initialization is skipped so games without C# won't check for the assemblies and won't show alerts when they're missing.
2023-10-16 05:07:11 +02:00
Raul Santos
d525a45e5c
C#: Fix converting default Callables to native 2023-10-15 02:02:58 +02:00
Raul Santos
a186343abd
C#: Fallback to the latest SDK 2023-10-14 14:21:48 +02:00
Dario
47214ea9f5 Optimize lightmapper using triangle clusters on the acceleration structure.
Add an additional layer of indirection to the grid used by the lightmapper to store fixed-size triangle clusters. Greatly speeds up baking times on scenes with high triangle density, as the clusters will help to avoid unnecessary checks when the triangle density is high on the scene.
2023-10-13 17:57:25 -03:00
Rémi Verschelde
a574c0296b
Merge pull request #80452 from strellydev/ogg-loop-offset-pop-fix
Fix OGG audio loop offset pop
2023-10-13 22:45:59 +02:00
Rémi Verschelde
325cc0178e
Merge pull request #83279 from Faless/mp/fix_delta_indexed
[MP] Fix "on change" indexed properties
2023-10-13 22:20:21 +02:00
Rémi Verschelde
56a0f22391
Merge pull request #83264 from Faless/mp/timer_and_reset_fixes
[MP] Fix synchronizer init and reset
2023-10-13 22:18:37 +02:00
Rémi Verschelde
68cc80ee58
Merge pull request #83249 from zaevi/fix_csharp_lookup_singleton_instance
C#: Fix lookup for singleton instance types.
2023-10-13 22:17:50 +02:00
strellydev
9c9f1154f8 Fix OGG audio loop offset pop.
Co-authored-by: MJacred <loesch.benny92@gmx.de>
Co-authored-by: Ellen Poe <ellen.h.poe@gmail.com>
Co-authored-by: Michael Wörner <mwoerner@semw-software.com>
2023-10-13 19:54:24 +01:00
Dario
a9a197d2dc Rewrite the GPU Lightmapper's indirect lighting logic to match Godot 3.5's CPU Lightmapper.
Port over the logic from Godot 3.5 for indirect lighting. This should fix many issues about indirect bounces causing more energy and improve the overall quality of the result.
2023-10-13 14:33:55 -03:00
Fabio Alessandrelli
9d44954a3f [MP] Fix "on change" indexed properties
Watchers were still using Object::get instead of Object::get_indexed.
2023-10-13 16:53:24 +02:00
Fabio Alessandrelli
f79b90a6c0 [MP] Fix synchronizer init and reset
Fix set_multiplayer_authority not resetting the synchronizer.

Fix the reset function not clearing the watchers state.

Skip wrap around check for the first sync packet after reset.
2023-10-13 14:03:40 +02:00
bruvzg
9a1e0e4aef
[Bitmap fonts] Add support for scaling. 2023-10-13 12:57:45 +03:00
Danil Alexeev
3ac61aadd7
GDScript: Fix unresolved datatype for incomplete expressions 2023-10-13 12:52:14 +03:00
Rémi Verschelde
cd9fd6ddfd
Merge pull request #83216 from dalexeev/code-editor-fix-region-doc-comment
Code Editor: Fix regression with using doc comments for code regions
2023-10-13 11:46:44 +02:00
Rémi Verschelde
85e508b570
Merge pull request #80182 from mikemar10/mikemar10/update_documentation_enetconnection_eventreceive
Fix packet details of ENetConnection EventType EVENT_RECEIVE documentation
2023-10-13 11:43:11 +02:00
Rémi Verschelde
5e9d096f06
Merge pull request #79407 from zaevi/fix_web_websocket-close-reason
[Web] Fix WebSocket returning empty close-reason.
2023-10-13 11:42:41 +02:00
Zae
55f74d99f4 C#: Fix lookup for singleton instance types. 2023-10-13 16:40:46 +08:00
Danil Alexeev
881fe67d94
Code Editor: Fix regression with using doc comments for code regions 2023-10-13 09:38:03 +03:00
Jakub Marcowski
cb954c6bab Implement Vector2i/3i/4i methods: distance_to and distance_squared_to 2023-10-12 13:46:49 +02:00
Rémi Verschelde
2c79bc686e
Merge pull request #83150 from dalexeev/gds-autocomplete-static-var-on-class
GDScript: Add autocompletion for static variables accessed via class
2023-10-11 22:44:35 +02:00
Rémi Verschelde
25fa5eadd5
Merge pull request #82986 from OmarShehata/fix-external-editor-hot-reload
Fix external editor hot reload for GDScript
2023-10-11 22:38:42 +02:00
bruvzg
899e56de5d
Re-add optional OIDN denoise as an external executable. 2023-10-11 19:52:18 +03:00
Danil Alexeev
496bee3bc7
GDScript: Add autocompletion for static variables accessed via class 2023-10-11 17:10:16 +03:00
Fabio Alessandrelli
5df7577a05 [MP] Optimize internal SceneReplicationConfig access
Use direct pointer addressing to avoid unnecessary refs/unrefs
2023-10-10 14:42:54 +02:00
Fabio Alessandrelli
311a27281f [MP] Avoid unnecessary internal ref/unrefs
Access the various internal components (cache/replicator) via pointer,
to avoid unnecessary overhead.
2023-10-10 14:42:54 +02:00
Fabio Alessandrelli
9ce423914e [MP] Optimize internal authority checks
We already know which MultiplayerAPI a certain Node uses, so we don't
need to retrieve it via SceneTree every time.
2023-10-10 14:42:54 +02:00
Fabio Alessandrelli
61cf7d180c [MP] Optimize multiplayer NodePath caching
Only use paths during network transfer.
Use ObjectID instead of NodePaths for storing the Node <-> NetID
relations locally.
2023-10-10 14:42:48 +02:00
Rémi Verschelde
53c6c387ef
Merge pull request #83050 from k0T0z/fix-unnecessary-include
Deleting unnecessary include in GDScriptParser
2023-10-10 12:33:58 +02:00
Rémi Verschelde
7f5be552ec
Merge pull request #83049 from dalexeev/gds-docgen-fix-return-metatype-regression
GDScript DocGen: Fix regression with return metatypes
2023-10-10 12:33:34 +02:00
Raul Santos
cea77d0b48
C#: Add checks to Android export
- Add .NET 7.0 TFM when the platform is Anroid to the created csproj.
- Prevent exporting to Android when the architecture is not supported.
2023-10-10 00:35:08 +02:00
Rémi Verschelde
6b727ebdd2
Merge pull request #83068 from AThousandShips/null_fix
Fix incorrect null check
2023-10-09 23:27:17 +02:00
Rémi Verschelde
9694f1d48c
Merge pull request #83051 from Repiteo/c#-untyped-to-typed-argumentnullexception
C#: Untyped to typed `ArgumentNullException`
2023-10-09 23:24:52 +02:00
Rémi Verschelde
e0ea86f0a0
Merge pull request #83040 from DarioSamo/lightmapper-dda-fix
Fix `trace_ray()` function in the lightmapper missing hits with large triangles.
2023-10-09 23:24:23 +02:00
Rémi Verschelde
4a5801b44a
Merge pull request #82729 from shana/shana/ios-csharp
Add C# iOS support
2023-10-09 23:23:11 +02:00
Rémi Verschelde
a28dab7e82
Merge pull request #79711 from adamscott/web-non-blocking-main-thread
Add `proxy_to_pthread` option to `platform=web`
2023-10-09 23:22:22 +02:00
Rémi Verschelde
71a8ac41fb
Merge pull request #72751 from dalexeev/doc-comment-color
Highlight doc comments in a different color
2023-10-09 23:21:54 +02:00
A Thousand Ships
2eef0ffb77 Fix incorrect null check 2023-10-09 23:21:30 +02:00
Andreia Gaita
ee9a735c26 Add C# iOS support
This support is experimental and requires .NET 8

Known issues:
- Requires macOS due to use of lipo and xcodebuild
- arm64 simulator templates are not currently included
  in the official packaging
2023-10-09 18:22:56 +02:00
Adam Scott
78c2a08fae
Add proxy_to_pthread option to platform=web
Co-authored-by: Fabio Alessandrelli <fabio.alessandrelli@gmail.com>
2023-10-09 11:50:01 -04:00
Saif Kandil
3e57279be2 removing unnecessary include of gdscript_warning.h as it is already included in the header file
Signed-off-by: Saif Kandil <74428638+k0T0z@users.noreply.github.com>
2023-10-09 18:00:44 +03:00
Thaddeus Crews
d0cd726310
C#: untyped to typed handle null exception
• Add some missing exception/return documentation
2023-10-09 09:53:21 -05:00
Danil Alexeev
faa066f9e5
GDScript DocGen: Fix regression with return metatypes 2023-10-09 17:38:54 +03:00
Rémi Verschelde
a1d7c62df7
Merge pull request #83003 from AThousandShips/null_check_extra
Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable
2023-10-09 15:37:14 +02:00
Rémi Verschelde
336260b7b3
Merge pull request #83002 from AThousandShips/safety_check
Replace `sanity` with `safety` for checks
2023-10-09 15:36:49 +02:00
Dario
94c60ae556 Fix trace_ray() function in the lightmapper missing hits with large triangles.
The DDA traversal had a conceptual error where it did an early termination of the search if it hit a triangle, but it didn't check if the hit position was inside the bounds of the cell being traversed. This can aid to fix light leaks such as the ones found in issue #75440.
2023-10-09 09:44:40 -03:00
kobewi
6849cf48d1 Fix GDScript cache assigning UID as scene path 2023-10-09 13:57:31 +02:00
Danil Alexeev
de7cbe8789
Highlight doc comments in a different color 2023-10-08 19:26:10 +03:00
A Thousand Ships
f18aa00e85 Replace ERR_FAIL_COND with ERR_FAIL_NULL where applicable 2023-10-08 17:23:33 +02:00
A Thousand Ships
034c0f1624 Replace sanity with safety for checks 2023-10-08 16:22:24 +02:00
Thaddeus Crews
d5d5af653e
C# - Fix inheritdoc links in Compat.cs 2023-10-08 09:14:28 -05:00
Omar Shehata
c25a2d832b Fix external editor hot reload 2023-10-07 22:14:54 -04:00
Raul Santos
bfe1a93023
C#: Report diagnostic for Node exports in a type that doesn't derive from Node 2023-10-06 19:03:18 +02:00
George Marques
4a7d49a89a
GDScript: Replace ptrcalls on MethodBind to validated calls
This improves the performance of typed calls to engine methods when the
argument types are exact.

Using validated calls delegate more of the work the core instead of
doing argument unpacking in the VM. It also does not need different
instructions for each return type, simplifying the code.
2023-10-06 11:15:44 -03:00
Rémi Verschelde
7f8c3124a8
Merge pull request #82752 from decacis/openxr_swapchain_error
OpenXR - Properly skip frame render when the XR runtime is not yet ready to let us acquire the next image from the swapchain
2023-10-06 12:52:52 +02:00
Rémi Verschelde
373c4b22d3
Fix various typos with codespell
Using 2.2.7.dev5+g2af65969.
2023-10-06 12:52:22 +02:00
jsjtxietian
b0ccd5c84f Prompt require editor restart to user when gizmo color changed 2023-10-06 15:02:03 +08:00
Rémi Verschelde
1edf0f35b1
Merge pull request #82326 from adeneve/gdscript_dict_highlighter_fix
Fix for GDScriptHighlighter dictionaries as function arguments
2023-10-05 22:49:47 +02:00
Andrew de Neve
978fcaf1b4 Fix for gdscript_highlighter dictionaries as arguments
Fix for gdscript_highlighter. When passing a dictionary
as a function argument, the dictionary values were being
highlighted green as if they were types.
2023-10-05 12:38:39 -07:00
clayjohn
51ed3aef63 Vertex and attribute compression to reduce the size of the vertex format.
This allows Godot to automatically compress meshes to save a lot of bandwidth.

In general, this requires no interaction from the user and should result in
no noticable quality loss.

This scheme is not backwards compatible, so we have provided an upgrade
mechanism, and a mesh versioning mechanism.

Existing meshes can still be used as a result, but users can get a
performance boost by reimporting assets.
2023-10-05 12:02:23 -06:00
Rémi Verschelde
cd7c50fdf1
Merge pull request #82843 from dalexeev/gds-export-node-only-in-nodes
GDScript: Add error when exporting node in non `Node`-derived classes
2023-10-05 16:33:04 +02:00
Danil Alexeev
9e2273abc7
GDScript: Add error when exporting node in non [Node]-derived classes 2023-10-05 13:50:26 +03:00
kobewi
09b30be86d Add vararg call() method to C++ Callable 2023-10-05 11:35:29 +02:00
Rémi Verschelde
7c1abe8599
Merge pull request #82789 from dalexeev/gds-fix-unresolved-type-for-incomplete-bin-op
GDScript: Fix unresolved datatype for incomplete binary operator
2023-10-05 10:10:33 +02:00
Rémi Verschelde
a05c800a56
Merge pull request #82784 from dalexeev/gds-fix-empty-native-class
GDScript: Fix `native_type` is empty for autoload without script
2023-10-05 10:10:09 +02:00
Rémi Verschelde
5cee7b0264
Merge pull request #82767 from dalexeev/core-make-object-has-method-virtual
Core: Fix `Object::has_method()` for script static methods
2023-10-05 10:09:45 +02:00
Rémi Verschelde
5c26550b86
Merge pull request #82715 from BastiaanOlij/openxr_hand_joint_validity_flags
OpenXR - add access to hand joint validity flags
2023-10-05 10:09:22 +02:00
Rémi Verschelde
b9bf46de9e
Merge pull request #82067 from dalexeev/gds-docgen-fix-metatypes-and-values
GDScript DocGen: Fix and improve appearance of metatypes and values
2023-10-05 10:07:43 +02:00
Daniel Castellanos
771ec958af Fixing incorrect swapchain release timing
Applied a couple of checks suggested by @dhoverml for when the
XrResult is not XR_SUCCESS but is also not a failure. Also simplified
checks from @BastiaanOlij feedback.
2023-10-05 01:34:51 -06:00
Bastiaan Olij
50693a5420 OpenXR - add access to hand joint validity flags 2023-10-05 13:37:26 +11:00
Danil Alexeev
ed0b3c08e1
Core: Fix Object::has_method() for script static methods 2023-10-04 19:44:32 +03:00
Danil Alexeev
2c5636c135
GDScript: Fix unresolved datatype for incomplete binary operator 2023-10-04 17:07:37 +03:00
Rémi Verschelde
bfd78bb917
Merge pull request #82779 from emacser0/typo
Fix some typos in source
2023-10-04 15:46:29 +02:00
Rémi Verschelde
46b8f4a859
Merge pull request #82740 from raulsntos/dotnet/compat4.2
Add C# compat members for 4.2 changes
2023-10-04 15:44:05 +02:00
Rémi Verschelde
d7bca20359
Merge pull request #82722 from BastiaanOlij/openxr_fix_hand_tracking_issues
OpenXR: Fix small hand tracking issues
2023-10-04 15:43:18 +02:00
Rémi Verschelde
1e544505be
Merge pull request #82691 from YuriSizov/rst-validate-with-exceptions
Validate `code` tags for class and member references
2023-10-04 15:42:42 +02:00
Rémi Verschelde
a874344938
Merge pull request #82683 from raulsntos/dotnet/fix-transient-parent-or-something-idk
Fix C# editor dialogs
2023-10-04 15:36:47 +02:00
Danil Alexeev
6767de9b69
GDScript: Fix native_type is empty for autoload without script 2023-10-04 16:09:18 +03:00
emacser0
4c65ff52e4 Fix some typos in source. 2023-10-04 19:55:11 +09:00
Bastiaan Olij
c60ef33175 OpenXR Fix small hand tracking issues 2023-10-04 13:18:31 +11:00
Raul Santos
1dbecc3ff1
Add C# compat members for 4.2 changes 2023-10-03 19:34:39 +02:00
Rémi Verschelde
3a5d524287
Merge pull request #82614 from m4gr3d/openxr_eye_gaze_interaction
Add support for the OpenXR Eye gaze interaction extension
2023-10-03 17:25:52 +02:00
Rémi Verschelde
e41582f42f
Merge pull request #82547 from dalexeev/gds-fix-unsafe-call-arg-variant-constructors
GDScript: Fix `UNSAFE_CALL_ARGUMENT` warning for `Variant` constructors
2023-10-03 17:25:28 +02:00
Rémi Verschelde
2af3229ce7
Merge pull request #82516 from dalexeev/gds-improve-hl-types
GDScript: Improve highlighting of types
2023-10-03 17:24:32 +02:00
Rémi Verschelde
9af1983af2
Merge pull request #82475 from bruvzg/ts_spacing_var
[TextServer] Store font extra spacing variations without making a full copy of font.
2023-10-03 17:23:43 +02:00
Rémi Verschelde
6de06138c0
Merge pull request #79425 from vnen/gdscript-load-classes-for-debug-tests
GDScript: Load global classes when running debug tests
2023-10-03 17:11:01 +02:00
Danil Alexeev
e750c59cf8
GDScript: Improve highlighting of types 2023-10-03 17:32:27 +03:00
Yuri Sizov
cc0eebd9d8 Validate code tags for class and member references
This commit also adds means to manually disable warnings
in `code` tags where it's a false positive with the new
`skip-lint` attribute.

Warnings are now enabled on CI to prevent future errors.
2023-10-03 15:48:31 +02:00
Bastiaan Olij
9e56e7a3ce Add support for the OpenXR Eye gaze interaction extension
Co-authored-by: Bastiaan Olij <mux213@gmail.com>
2023-10-02 14:02:23 -07:00
Raul Santos
404fd0b2dc
Fix C# editor dialogs
- Use `EditorInterface` to open C# editor dialogs.
- Ensure C# editor dialogs are open after `EditorProgress` finishes.
2023-10-02 17:50:33 +02:00
Jakub Janšta
74c937079c Add type_string() utility 2023-10-02 17:41:20 +02:00
Rémi Verschelde
6bebd9c961
Merge pull request #82664 from hackerzhuli/master
Fixed an error in `Vector3.BezierDerivative` in mono module
2023-10-02 13:17:02 +02:00
Rémi Verschelde
3cf17679ca
Merge pull request #81194 from rcorre/blend-import-76338
Update blender export flags for 3.6.
2023-10-02 13:16:11 +02:00
Rémi Verschelde
e95b7e84a4
Merge pull request #80844 from dalexeev/fix-callable-expected-argc
Fix expected argument count for `Callable` call errors
2023-10-02 13:15:53 +02:00
Rémi Verschelde
7588e3ff0d
Merge pull request #80225 from ettiSurreal/rotate-toward
Add `rotate_toward` and `angle_difference` methods.
2023-10-02 13:15:49 +02:00
朱力
bceba81b54 Fixed an error in Vector3.BezierDerivative in mono module 2023-10-02 15:00:05 +08:00
etti
3a39de4e2f Add rotate_toward and angle_difference to GDScript and C# 2023-10-01 22:19:42 +02:00
Ithamar R. Adema
36ff0591f2 Add build option for MP1/MP2 audio format support.
Enabling this adds 3.5k to the template size (Win/64bits).

Co-authored-by: Riteo <riteo@posteo.net>
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-09-30 21:46:59 +02:00
Ryan Roden-Corrent
7e64c6c399
Update blender export flags for 3.6.
Fixes #76338.

Blender 3.6 imports fail with:

```
TypeError: Converting py args to operator properties: : keyword "export_nla_strips" unrecognized
```

The `export_nla_strips` flag was removed and replaced with `export_animation_mode`.
In 3.6.0-3.6.21, this option does not exist at all and causes the failure above.
In 3.6.22, this option was re-added, but does nothing.
See 96a73cb664.

We now need to check the blender version to determine what flags to use.
This adds an additional shell command before every import.
We might consider caching the version, but we'd have to invalidate the cache if the blender version or path changes.

As an aside, the "group animations" setting in Godot does the opposite of what I'd expect.
When `group_tracks=true`, each animation is exported individually.
When `group_tracks=false`, all animations are exported as a single track.
This seems backwards, but I've kept the 3.6 behavior consistent with 3.5.

From https://docs.blender.org/api/3.6/bpy.ops.export_scene.html:

> ACTIONS Actions – Export actions (actives and on NLA tracks) as separate animations.
> ACTIVE_ACTIONS Active actions merged – All the currently assigned actions become one glTF animation.

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2023-09-30 11:32:21 -04:00
Danil Alexeev
ba96d4f631
GDScript: Fix UNSAFE_CALL_ARGUMENT warning for Variant constructors 2023-09-30 13:57:09 +03:00
Rémi Verschelde
2566cbec5c
Merge pull request #82542 from capnm/update_godot4.2_tip_from_0.10.7_revision_to_thorvg_0.11.0_release
ThorVG: update to v0.11.0 release.
2023-09-30 11:03:32 +02:00
Martin Capitanio
aab650f2ef ThorVG: update to v0.11.0 release.
See https://github.com/thorvg/thorvg/releases/tag/v0.11.0

+ Infrastructure
    Repository folder structure was make it more intuitive and coherent.
        "thorvg/src/lib" -> "thorvg/src/common"
            (providing essential common functionalities
                used internally among the renderer and sub-modules)
        "thorvg/src/lib" -> "thorvg/src/renderer"
            (for vector drawing features)

+ SVG related
    Fix stroke regression https://github.com/thorvg/thorvg/issues/1670
    Support stroke dash offset function https://github.com/thorvg/thorvg/issues/1591#issuecomment-1681319321
    Support Focal property in Radial Gradient https://github.com/thorvg/thorvg/issues/1558
2023-09-29 19:50:19 +02:00
Rémi Verschelde
dd3dda797c
Merge pull request #82533 from DarioSamo/no-dilate-before-denoise
Make the lightmapper not dilate before denoising.
2023-09-29 19:47:29 +02:00
Danil Alexeev
aff767ef07
Fix expected argument count for Callable call errors 2023-09-29 20:00:10 +03:00
Dario
ac90ca714c Make the lightmapper not dilate before denoising.
Dilating noisy data caused issues for the denoiser. Fixes #82526.
2023-09-29 12:36:36 -03:00
Hugo Locurcio
d6d640f158
Disable lightmapper_rd module in non-editor builds (and in Android editor)
This is consistent with `xatlas_unwrap`, which isn't enabled in non-editor
builds and the Android editor either. There is currently no way to
use the lightmapper in a non-editor build anyway, as it doesn't expose
any methods (and even if there was, there would be no way to perform
UV2 unwrapping in the exported project).

This reduces binary size of a stripped Linux x86_64 export template
build by ~164 KB.

This also moves the PrimitiveMesh texel size project setting
so that it's defined when the module is disabled,
and adds a property hint to it.
2023-09-29 11:30:15 +02:00
Aaron Franke
7bd894ba7a
Fix skeletons when generating multiple Godot scenes from one GLTF 2023-09-28 17:48:33 -05:00
Yuri Sizov
b25f1f9c79 Merge pull request #82477 from dalexeev/gds-covariance-and-contravariance
GDScript: Add return type covariance and parameter type contravariance
2023-09-28 20:04:37 +02:00
Yuri Sizov
4c95ebddd6 Merge pull request #82291 from bitsawer/fix_occlusion_culling_leak
Fix RaycastOcclusionCull World3D scenario memory leak
2023-09-28 20:04:25 +02:00
Yuri Sizov
78483a1df2 Merge pull request #82186 from dalexeev/gds-fix-property-duplication
GDScript: Fix duplication of inherited script properties
2023-09-28 20:04:18 +02:00
Yuri Sizov
73252669b1 Merge pull request #82030 from dalexeev/gds-make-for-loop-array-literal-typed
GDScript: Make array literal typed if `for` loop variable type is specified
2023-09-28 20:04:12 +02:00
Yuri Sizov
813cd1dfc8 Merge pull request #80085 from vnen/gdscript-pattern-guards
GDScript: Implement pattern guards for match statement
2023-09-28 20:03:57 +02:00
Danil Alexeev
cb8b89fd95
GDScript: Add return type covariance and parameter type contravariance 2023-09-28 12:27:36 +03:00
bruvzg
4a167fc740
[TextServer] Store font extra spacing variations without making a full copy of font. 2023-09-28 10:45:09 +03:00
Yuri Sizov
aa82cccc41 Merge pull request #81659 from DarioSamo/nlm-denoiser
Replace OIDN denoiser in Lightmapper with a JNLM denoiser compute shader.
2023-09-27 19:08:01 +02:00
Yuri Sizov
aa474c9feb Merge pull request #75988 from dalexeev/gds-unsafe-call-argument
GDScript: Improve call analysis
2023-09-27 19:07:46 +02:00
George Marques
54a1414500
GDScript: Implement pattern guards for match statement
Within a match statement, it is now possible to add guards in each
branch:

	var a = 0
	match a:
		0 when false: print("does not run")
		0 when true: print("but this does")

This allows more complex logic for deciding which branch to take.
2023-09-27 11:25:25 -03:00
Rémi Verschelde
214c978f4b
Merge pull request #81862 from akien-mga/thorvg-0.10.6
thorvg: Update to 0.10.7
2023-09-27 14:03:38 +02:00
Rémi Verschelde
3228f73127
Merge pull request #82413 from Calinou/3d-editor-gizmos-ignore-fog
Make 3D editor gizmos and debug shapes ignore fog
2023-09-27 09:21:35 +02:00
Rémi Verschelde
c7a5a284d3
Merge pull request #80260 from raulsntos/dotnet/msbuild-panel
C#: Redesign MSBuild panel
2023-09-27 09:20:19 +02:00
Raul Santos
f19694a8d6
C#: Redesign MSBuild panel
- Redesign panel to look closer to the look of other Godot panels such as Output and Debugger.
- Moved list of problems and output log to separate tabs instead of using a HSplit.
- Added Tree/List layouts to the problems tab.
- Added search box to filter problems tab.
- Added `FileTree` icon, made from `FileList`. Both are used for the button that toggles the Tree/List layouts.
2023-09-27 02:53:27 +02:00
Hugo Locurcio
fcbf7011cc
Make 3D editor gizmos and debug shapes ignore fog
This makes them easier to see in their intended colors in scenes with fog.
2023-09-27 00:54:57 +02:00
Rémi Verschelde
81949c2cd2
thorvg: Update to 0.10.7
Fixes #81618.
2023-09-26 22:43:44 +02:00
bitsawer
7654e7852e Fix RaycastOcclusionCull World3D scenario memory leak 2023-09-26 21:53:17 +03:00
Rémi Verschelde
dc14f02892
Merge pull request #81851 from aaronfranke/gltf-single-root
GLTF: Add root node export options and GODOT_single_root extension
2023-09-26 17:52:51 +02:00
Aaron Franke
446893fdd1
GLTF: Add GODOT_single_root extension 2023-09-26 10:18:52 -05:00
A Thousand Ships
517e9f8aef [Modules] Replace ERR_FAIL_COND with ERR_FAIL_NULL where applicable 2023-09-26 16:44:52 +02:00
Rémi Verschelde
da91cf9367
Merge pull request #82347 from SaracenOne/dir_access_checks
Add error checks for DirAccess creation
2023-09-26 16:36:47 +02:00