Commit Graph

8540 Commits

Author SHA1 Message Date
Raul Santos 15066948d7
C#: Remove obsolete StringExtensions methods 2023-01-27 17:15:23 +01:00
Rémi Verschelde 2b55ac445b
Merge pull request #72111 from raulsntos/method-info-metadata
Add `GodotTypeInfo::Metadata` to `MethodInfo`
2023-01-27 15:41:38 +01:00
Raul Santos 1aa54141e6
C#: Implement readonly-ness in Array and Dictionary
- Expose `IsReadOnly` and add `MakeReadOnly` method.
2023-01-27 15:25:34 +01:00
Danil Alexeev 1d68ce2cce
GDScript: Fix broken export group annotations 2023-01-27 16:25:15 +03:00
Rémi Verschelde 518b9e5801
Add missing classref changes after #62942 2023-01-27 12:07:53 +01:00
Rémi Verschelde 9d555f5c68
Merge pull request #62499 from fire/gltf-binary-img-compression
Handle gltf binary images
2023-01-27 11:35:55 +01:00
Rémi Verschelde 8b662c763e
Merge pull request #72162 from lyuma/skeleton_rename
Make BoneAttachment3D and Skeleton3D names consistent.
2023-01-27 11:24:34 +01:00
K. S. Ernest (iFire) Lee 39922d7167 Handle gltf binary
[ Ignore and Warn | Extract Textures (default) | Optimize Loading Embedded as Basisu ]

Enable compressed mip maps from Basis Universal for faster compressions.

Increase the quality of Basis to avoid corruption.

To keep compatibility use the first mip of the previous internal Godot format.

Because texture names may have invalid filename characters, adds String::validate_filename to sanitize filenames for import pipeline use.
2023-01-27 02:02:02 -08:00
Rémi Verschelde bd1df0f2e3
Merge pull request #71943 from paulloz/debugger/better-errors-printing
Better error display in debugger panel
2023-01-27 10:32:38 +01:00
Rémi Verschelde 846021da20
Merge pull request #72158 from lyuma/recursive_skeleton_mesh_fix
Avoid nested skeletons, and handle skinned meshes with children.
2023-01-27 10:30:04 +01:00
Rémi Verschelde 9b1f85fe57
Merge pull request #71845 from vonagam/fix-read-only
GDScript: Fix test for read-only state of constants
2023-01-27 10:29:52 +01:00
Paul Joannon c93eec4139
Better error display in debugger panel
- Use the right stack frame info as title of the error.
- Use the actual C# exception type as error for exceptions raised from C#.
- Show the right language instead of always **C++ Error**.
2023-01-27 10:01:55 +01:00
Lyuma 3f4ea98b34 Make BoneAttachment3D and Skeleton3D names consistent.
BoneAttachment3D nodes are now named as their bone name.
Resolves cases where BoneAttachment3D nodes will have arbitrary names like BoneAttachment3D6
Reserve the name "Skeleton3D" and use this name for all generated Skeleton3D nodes.

This change will break existing imported scenes with more than one skeleton and/or bone attachments.
2023-01-26 23:25:33 -08:00
Lyuma 03bd1da32b Avoid nested skeletons, and handle skinned meshes with children.
Recursively adds child nodes into each skeleton. This should prevent nested skeletons and avoid bone attachments for leaf bones.

In cases where a skinned mesh has children, creates two scene nodes with the same name, which both will represent this single gltf node.
Because blend shape animations must target the mesh, adds a separate mapping for ImporterMeshInstance3D node references.

This change will break existing imported scenes with bone attachments and more than one skeleton.

Co-authored-by: K. S. Ernest (iFire) Lee <ernest.lee@chibifire.com>
2023-01-26 22:41:58 -08:00
Dmitrii Maganov abe6d67232 GDScript: Fix test for read-only state of constants 2023-01-27 05:28:08 +02:00
Raul Santos 1aceacaa6b
C#: Rename `Object` to `GodotObject` 2023-01-27 02:04:18 +01:00
Raul Santos a968e51414
C#: Renames to follow .NET naming conventions
Renamed C# types and members to use PascalCase and follow .NET naming conventions.
2023-01-27 02:04:17 +01:00
Raul Santos 4788cb35c1
C#: Add global namespace to grouping property info 2023-01-27 01:15:19 +01:00
Rémi Verschelde 2edef2a795
Merge pull request #71825 from RedworkDE/net6-roll-forward
C#: Allow use of .NET 7
2023-01-27 00:13:54 +01:00
Rémi Verschelde 0d1b5f8832
Merge pull request #71356 from raulsntos/dotnet/get
C#: Lookup signals and methods in Get method
2023-01-27 00:13:13 +01:00
Rémi Verschelde 4f572d1587
Merge pull request #71535 from raulsntos/dotnet/pointers-are-yabai
C#: Skip methods with pointer parameters
2023-01-26 23:44:28 +01:00
Rémi Verschelde fdd3613de1
Merge pull request #71984 from raulsntos/dotnet/dictionary
Sync C# Dictionary with Core
2023-01-26 23:44:01 +01:00
Rémi Verschelde 239145d9cb
Merge pull request #71946 from raulsntos/dotnet/gd
C#: Sync GD with Core
2023-01-26 23:43:36 +01:00
Rémi Verschelde bacf594a49
Merge pull request #71583 from raulsntos/dotnet/math
C#: Add float an double overloads to Mathf
2023-01-26 23:43:11 +01:00
Rémi Verschelde c53066682b
Merge pull request #71787 from raulsntos/dotnet/restore-properties
C#: Restore `Scale` and `Rotation` properties
2023-01-26 23:42:46 +01:00
Rémi Verschelde fdd02b8827
Merge pull request #71988 from raulsntos/🦭-attributes
Seal C# attributes
2023-01-26 23:42:21 +01:00
Rémi Verschelde 0f840cb214
Merge pull request #72053 from raulsntos/dotnet/sync-context-dispose
C#: Implement disposable pattern and seal `GodotSynchronizationContext` class and related
2023-01-26 23:41:52 +01:00
Rémi Verschelde 63b5adf8a8
Merge pull request #72057 from raulsntos/dotnet/fix-must-be-variant
C#: Annotate API with `[MustBeVariant]`
2023-01-26 23:00:30 +01:00
Rémi Verschelde 2aa532ad6c
Merge pull request #65529 from magian1127/4.0FixDocTag
C# Improve the "Tag" conversion of documents
2023-01-26 22:58:26 +01:00
Rémi Verschelde 91ad92657e
Merge pull request #69689 from smix8/navagent_rename_location_4.x
Rename Navigation uses of 'location' to 'position'
2023-01-26 22:57:03 +01:00
smix8 bf1571979c Rename Navigation uses of 'location' to 'position'
Contrary to the entire rest of the engine NavigationAgent's and NavigationLinks decided to deal with locations instead of positions.
2023-01-26 18:19:03 +01:00
Raul Santos cac7a784d6
Add `GodotTypeInfo::Metadata` to `MethodInfo` 2023-01-26 15:51:34 +01:00
Rémi Verschelde a5c211641f
Merge pull request #71634 from dalexeev/gds-annotations-analyzer
GDScript: Allow constant expressions in annotations
2023-01-26 01:07:00 +01:00
Rémi Verschelde 944b44243d
Merge pull request #72008 from vonagam/fix-property-access-unsafe-mark
GDScript: Fix marking of line with unsafe property access as unsafe
2023-01-26 01:04:57 +01:00
David Snopek 055045af18 Update WebXR tutorial link to point at the Godot 4 version 2023-01-25 13:20:53 -06:00
Raul Santos 256632a07e
C#: Skip documentation syntax in MustBeVariant analyzer 2023-01-25 17:29:08 +01:00
Raul Santos 0a0c730805
C#: Annotate API with MustBeVariant
- Add MustBeVariant attribute to generic parameters that are used in a Variant context
2023-01-25 17:28:59 +01:00
Raul Santos fc72604bef
C#: Implement disposable pattern and seal `GodotSynchronizationContext` class and related
- `GodotSynchronizationContext`
  - Implements `IDisposable` to dispose of the disposable field `_queue`.
  - Makes the class sealed.
- `GodotTaskScheduler`
  - Implements `IDisposable` to dispose of the disposable property `Context`.
  - Makes the class sealed.
- `Dispatcher`
  - Dispose of previous `GodotTaskScheduler` instances before creating a new one.
2023-01-25 17:04:41 +01:00
Danil Alexeev b004f8180e
GDScript: Allow constant expressions in annotations 2023-01-25 18:43:56 +03:00
George Marques e93266b9ff
Merge pull request #71120 from jordigcs/ternary
Closes https://github.com/godotengine/godot/issues/71065
2023-01-25 12:23:11 -03:00
Rémi Verschelde 41e5f5b093
Merge pull request #71349 from vonagam/disallow-infer-on-weak
GDScript: Disallow type inference with untyped initializer
2023-01-25 14:42:20 +01:00
DeeJayLSP d8e8517d11 libwebp: Sync with upstream 1.3.0 2023-01-25 10:38:03 -03:00
Rémi Verschelde 893310fbd1
Merge pull request #71948 from dsnopek/webxr-godot4-world-scale
Correctly apply world_scale in WebXR (Godot 4)
2023-01-25 09:18:48 +01:00
Rémi Verschelde b9bf12e99a
Merge pull request #71142 from aaronfranke/never-duplicate-script
Add `PROPERTY_USAGE_NEVER_DUPLICATE` flag and use for script
2023-01-25 09:18:18 +01:00
Rémi Verschelde fc1610a063
Merge pull request #71963 from dalexeev/clarify-script-level-annotation-error
Clarify error message about script-level annotation
2023-01-25 09:17:03 +01:00
Rémi Verschelde 2ac8d401b0
Merge pull request #71858 from reduz/disable-stream-import-loop-by-default
Disable OGG and MP3 looping by default on import
2023-01-25 09:16:10 +01:00
Dmitrii Maganov 3c308f42e2 GDScript: Fix marking of line with unsafe property access as unsafe 2023-01-25 01:45:40 +02:00
Aaron Franke 2a65f6812b
Add PROPERTY_USAGE_NEVER_DUPLICATE flag and use for script
Co-authored-by: Yakov Borevich <j.borevich@gmail.com>
2023-01-24 16:37:50 -06:00
Aaron Franke 2bc0bcbd26
PropertyUsage: Rename "DO_NOT_SHARE_ON_DUPLICATE" to "ALWAYS_DUPLICATE" 2023-01-24 16:05:07 -06:00
jordi bb9a00889a Add hint for identifiers renamed since Godot 3 2023-01-24 12:33:55 -06:00
Raul Santos 47ca2f2e09
C#: Sync GD with Core
- Add overloads to print methods that take a single `string`.
- Use `StringBuilder` to append print parameters.
- Remove `PrintStack` method.
- Add `ErrorString`.
- Remove `Str` method.
- Add exception to `Range` when step is 0.
- Add `VarToBytesWithObjects` and `BytesToVarWithObjects`.
- Remove optional boolean parameter from `VarToBytes` and `BytesToVar`.
- Move `InstanceFromId` to `Godot.Object`.
- Add `Godot.Object.IsInstanceIdValid`.
- Update documentation.
2023-01-24 19:18:38 +01:00
Raul Santos e7b719b7ec
Seal C# attributes 2023-01-24 18:42:25 +01:00
Raul Santos 95ef4dc84f
Sync C# Dictionary with Core
- Implement `ICollection` methods explicitly.
- Add `Merge` method.
- Add `RecursiveEqual` method.
- Update documentation.
2023-01-24 17:19:52 +01:00
Raul Santos 8b07f95ba0
C#: Add float an double overloads to Mathf
- Add `float` and `double` overloads to all methods of `Mathf`.
This allows the methods to be usable with `float`, `double` or `real_t`.
- Use `System.MathF` in the `float` overloads which may result in
better performance.
- Constants remain as `real_t` for the time being.
- Add aggresive inlining for methods that wrap `System.Math` calls.
2023-01-24 15:01:26 +01:00
Magian 35bfce2afd C# Improve the "Tag" conversion of documents
[codeblocks] for Keep only the [CSharp] part.
[param] is changed to <c>.
[b] for bold text.
[i] for italic text.
4.0 now uses variant, so [variant] to <see cref="Godot.Variant"/>.
since Rider does not support [u], only comments have been modified.
2023-01-24 18:40:48 +08:00
Danil Alexeev 13215638a9
Clarify error message about script-level annotation 2023-01-24 13:10:45 +03:00
Rémi Verschelde a17e0a0250
Merge pull request #71932 from raulsntos/dotnet/lin2db-to-math
C#: Move `LinearToDb` and `DbToLinear` to Mathf
2023-01-24 09:54:32 +01:00
David Snopek 9196c47032 Correctly apply world_scale in WebXR 2023-01-23 21:26:38 -06:00
Rémi Verschelde 0f31e6569a
Merge pull request #71931 from bruvzg/ts_s
[TextServer] Fix ICU data loading and exporting with `internationalization/locale/include_text_server_data` setting.
2023-01-23 20:45:58 +01:00
Raul Santos b29193945d
C#: Move `LinearToDb` and `DbToLinear` to Mathf 2023-01-23 20:20:54 +01:00
bruvzg 15dafc49d3
[TextServer] Fix ICU data loading and exporting with `internationalization/locale/include_text_server_data` setting. 2023-01-23 21:13:32 +02:00
bruvzg 458f720ea9
[TextServer] Add fallback code in case of missing ICU data. 2023-01-23 20:50:30 +02:00
George Marques ba9491f870
Merge pull request #70948 from vnen/gdscript-ptr-method-name-in-debug 2023-01-23 12:24:15 -03:00
Rémi Verschelde 81fe3715b8
Merge pull request #71914 from vnen/gdscript-no-continue-match
GDScript: Remove function of `continue` for match statement
2023-01-23 15:35:55 +01:00
Rémi Verschelde 0927e2cffc
Merge pull request #63251 from SaracenOne/disable_data_generation_on_foreign_resources
Disable navmesh, lightmap, and VoxelGI generation on foreign data
2023-01-23 15:35:31 +01:00
George Marques 80e06b29e7
GDScript: Add names for disassembling function pointers
When instructions use function pointers, it's not possible to retrieve
their original names in the disassembly. This stores the names in
vectors (in debug builds) so they can be shown.
2023-01-23 11:04:31 -03:00
Rémi Verschelde a98431d1c1
Merge pull request #71909 from bruvzg/utf16_bidi_override_fix
Fix BiDi override for the characters outside BMP (e.g., emojis).
2023-01-23 12:26:24 +01:00
bruvzg 96ed1c19dd
Fix BiDi override for the characters outside BMP (e.g., emojis). 2023-01-23 12:51:35 +02:00
Rémi Verschelde 5b1df48c6c
Convert en_GB spelling to en_US with codespell 2023-01-23 11:02:20 +01:00
Rémi Verschelde 3a228ef224
Merge pull request #71900 from SaracenOne/blendshape_track_import_flag
Fix duplicating imported blendshape tracks
2023-01-23 10:24:37 +01:00
Rémi Verschelde 5726bf578d
Merge pull request #71676 from vnen/gdscript-unicode-identifiers
Add support for Unicode identifiers in GDScript and Expression
2023-01-23 10:24:33 +01:00
SaracenOne 03523572b9 Adds missing method call to set blendshape tracks as 'imported' when importing from a GLTF. 2023-01-23 07:40:06 +00:00
George Marques 9462ae4783
GDScript: Remove function of `continue` for match statement
The keyword is confusing and rarely is used in the intended way. It is
removed now in favor of a future feature (pattern guards) to avoid
breaking compatibility later.
2023-01-22 18:45:24 -03:00
Juan Linietsky 6a87cdf6d2 Disable OGG and MP3 looping by default on import
* From Godot 4.0 onwards, proper music looping is supported which requires setting the BPM and then the loop point in beats.
* As such, importing with loop by default does not serve much of a purpose. Its annoying to disable for SFX or clips that do not loop and it also requires manual intervention to loop music.
* This way, it should work out of the box for any sound effect or non looping audio clip, and manual work is required anyway for looping music.
2023-01-22 15:45:45 +01:00
Rindbee 64edc7a5c2 Fix internal editor not updating when using external editor via LSP 2023-01-22 18:27:22 +08:00
RedworkDE 3f1241cb82 C#: Allow use of .NET 7
The editor will use .NET 7 if it is installed and fall back to .NET 6 otherwise.
Exported projects will use .NET 7 or .NET 6 depending on the value of TargetFramework in the csproj.
2023-01-21 23:11:37 +01:00
kobewi 615c517034 Use range iterators in LocalVector loops 2023-01-21 18:44:42 +01:00
George Marques 7548e043fc
Add support for Unicode identifiers in GDScript
This is using an adapted version of UAX#31 to not rely on the ICU
database (which isn't available in builds without TextServerAdvanced).
It allows most characters used in diverse scripts but not everything.
2023-01-21 13:39:40 -03:00
Rémi Verschelde ebd0b40f6e
Merge pull request #71687 from reduz/support-script-class-name-in-efs
Support script global resource name in EditorFileSystem
2023-01-21 16:54:23 +01:00
Juan Linietsky dddd8d43f6 Support script global resource name in EditorFileSystem
* Works for binary and text files.
* Makes EditorQuickOpen work with custom resources again.
* Information is cached and easily accessible.

Properly fixes #66179. Supersedes #66215 and supersedes #62417

**WARNING**: This required breaking backwards binary compatibility (.res and .scn files). Files saved after this PR is merged will no longer open in any earlier versions of Godot.
2023-01-21 14:19:27 +01:00
Raul Santos 04996df61e
C#: Restore `Scale` and `Rotation` properties 2023-01-21 04:59:13 +01:00
Adam Wardell e9d8c261a5 call update_exports from LSP didSave function
exports in the inspector were not properly appearing when a gdscript was saved using an external IDE
this commit adds a call to GDScript::UpdateExports toward the end of GDScriptTextDocument::didSave
2023-01-20 19:16:53 -08:00
George Marques 7e5c2f945d
Remove references to compiled GDScript in export
This feature was removed from GDScript so it should not be present on
the interface nor in the saved export presets.
2023-01-20 15:09:07 -03:00
Rémi Verschelde 822edfdb40
Merge pull request #71708 from dsnopek/openxr-opengl-steamvr-2
Get OpenXR with OpenGL working on SteamVR
2023-01-20 08:50:10 +01:00
Rémi Verschelde 7b84b133ee
Merge pull request #69181 from fire/gltf-runtime-image-fallback
Fixes cases where the runtime ResourceLoader cannot load gltf images.
2023-01-20 08:48:32 +01:00
David Snopek 481369760b Add depth and color formats to get OpenXR with OpenGL working on SteamVR 2023-01-19 21:22:34 -06:00
Rémi Verschelde 415d120aae
Merge pull request #70363 from V-Sekai/astcenc-standalone
Add astcenc compression and decompression.
2023-01-19 22:49:06 +01:00
Rémi Verschelde e7d045db8c
Merge pull request #71314 from stmSi/fix-ogg-packet-out-of-bound
Fix OGG page_data out of bound index crash
2023-01-19 21:57:11 +01:00
jordi 2e488072d0 Allow standalone ternary expressions 2023-01-19 14:27:57 -06:00
Rémi Verschelde 65883cc73b
Merge pull request #71598 from bruvzg/gdscript_bidi_override
Implement BiDi override mode for GDScript source.
2023-01-19 19:33:18 +01:00
K. S. Ernest (iFire) Lee a103400871 Fixes cases where the runtime ResourceLoader cannot load gltf images. 2023-01-19 09:10:28 -08:00
K. S. Ernest (iFire) Lee 696346f4cc
Add ASTC compression and decompression with Arm astcenc.
Co-authored-by: Gordon A Macpherson <gordon.a.macpherson@gmail.com>
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-01-19 16:27:59 +01:00
bruvzg e144e5dda5
Remove duplicate ucaps code from TextServerFallback. 2023-01-19 14:56:17 +02:00
bruvzg db7d8c2d87
[GDExtension] Expose some low level functions and String operators. 2023-01-19 12:50:49 +02:00
Rémi Verschelde 56ac1a67cd
Merge pull request #71620 from adamscott/move-icon-to-top
Update `@icon` and `@tool` definitions to add a note
2023-01-19 10:09:04 +01:00
Rémi Verschelde bcb57b42f6
Merge pull request #71450 from BastiaanOlij/fix_openxr_init_failure
Fixes issue where failed start of OpenXR causes issues
2023-01-19 10:08:50 +01:00
Rémi Verschelde 04a9752d8d
Merge pull request #67661 from cooperra/bmp-2bpp-loader
BMP loader: Fix 2 bits-per-pixel images
2023-01-19 10:08:21 +01:00
Adam Scott 807b7ed557 Update `@icon` definition to add a note 2023-01-18 19:48:01 -05:00
Rémi Verschelde 5dd3a6dbe2
Merge pull request #71638 from raulsntos/dotnet/export-plugin
C#: Implement `ExportPlugin::_get_name` and move `GLOBAL_DEF` to CSharpLanguage
2023-01-18 22:29:37 +01:00
Rémi Verschelde f2dbd011b6
Merge pull request #71569 from raulsntos/dotnet/sync-vectors
Sync C# vectors with Core
2023-01-18 22:28:00 +01:00
Raul Santos 3425d43fed
C#: Move `GLOBAL_DEF`s to CSharpLanguage ctor
Also documents the .NET project settings.
2023-01-18 21:53:58 +01:00
bruvzg 5361ec9f43
Implement BiDi override mode for GDScript source. 2023-01-18 19:22:20 +02:00
Raul Santos 62106fe5e3
C#: Implement `ExportPlugin::_get_name` 2023-01-18 18:17:38 +01:00
Rémi Verschelde bcaf048f33
Merge pull request #71379 from KoBeWi/destruction_of_compatibility_function
Remove set_drag_forwarding_compat()
2023-01-18 17:40:13 +01:00
ocean (they/them) 4854e723be Fix unnammed enum crash regression 2023-01-18 09:35:48 -05:00
Raul Santos 4bdcfe1443
Sync C# vectors with Core
- Remove `Vector2.Lerp` overload that takes a weight parameter of type `Vector2`.
- Remove `Vector3.Lerp` overload that takes a weight parameter of type `Vector3`.
- Remove `Color.Lerp` overload that takes a weight parameter of type `Color`.
- Remove `Angle` method from `Vector2i`.
- Remove `AngleTo` method from `Vector2i`.
- Remove `AngleToPoint` method from `Vector2i`.
- Remove `Cross` method from `Vector2i`.
- Remove `DistanceSquaredTo` method from `Vector2i` and `Vector3i`.
- Remove `DistanceTo` method from `Vector2i` and `Vector3i`.
- Remove `Dot` method from `Vector2i` and `Vector3i`.
- Remove `PosMod` method from `Vector2i` and `Vector3i`.
- Remove `Orthogonal` method from `Vector2i`.
- Remove `&` operator from `Vector2i` and `Vector3i`.
2023-01-17 18:07:33 +01:00
Rémi Verschelde 3a53990e9c
Merge pull request #71516 from raulsntos/dotnet/property-accessors
C#: Make property accessors internal
2023-01-17 17:30:49 +01:00
Rémi Verschelde 8a00992ab6
Merge pull request #71534 from Faless/mp/4.x_nested_spawn
[MP] Fix nested spawning during "ready".
2023-01-17 10:38:11 +01:00
Raul Santos ab5e532f1a
C#: Skip methods with pointer parameters 2023-01-17 04:32:05 +01:00
Fabio Alessandrelli ad3a4214c5 [MP] Fix nested spawning during "ready".
We want our spawns to be notified after ready, but we need to notify
them in the order they entered tree, so that nested spawners can be used
during "ready" (instead of having to await a frame).
2023-01-17 04:22:07 +01:00
Rémi Verschelde 4005fc4b8d
Merge pull request #71279 from vonagam/fix-iterator-number-type
GDScript: Fix typing of iterator in for loop
2023-01-16 22:21:26 +01:00
Rémi Verschelde 1c3653e083
Merge pull request #67774 from aaronfranke/script-annotations
Make script annotations be placed before `class_name` and `extends`
2023-01-16 22:20:44 +01:00
Rémi Verschelde 585a934454
Merge pull request #71434 from adamscott/fix-reduce-identifier-from-base-class-script-retrieval
Fix cyclic reference errors while reducing identifiers
2023-01-16 22:15:21 +01:00
Rémi Verschelde 5f7ac9fe10
Merge pull request #71496 from raulsntos/dotnet/sincos
C#: Implement `Mathf.SinCos`
2023-01-16 22:13:46 +01:00
Raul Santos 47e355f965
C#: Make property accessors internal 2023-01-16 15:15:26 +01:00
George Marques 629796c333
Merge pull request #69970 from poohcom1/fix/autocomplete-custom-class
Fixes https://github.com/godotengine/godot/issues/69941
2023-01-16 09:44:23 -03:00
Raul Santos 0ccb5f3954
C#: Implement `Mathf.SinCos`
Implement `Mathf.SinCos` that wraps a call to `System.Math.SinCos`,
this allows us to use the `SinCos` method more conveniently with
`real_t`.

Using `Math.SinCos` is often cheaper than separate calls to `Math.Sin`
and `Math.Cos`, and they are often used together.
2023-01-16 13:29:32 +01:00
Rémi Verschelde f96701eda6
Merge pull request #71461 from snoopdouglas/snoopdouglas/master
Class reference: snake_case .tscn & .gd filenames, _on_* callbacks
2023-01-16 09:41:36 +01:00
Rémi Verschelde da57e0059e
Merge pull request #70504 from KoBeWi/the_choosen_antipattern
Add EditorUndoRedoManager singleton
2023-01-16 09:24:50 +01:00
Rémi Verschelde 6a487cc243
Merge pull request #71477 from aaronfranke/gltf-append-doc
Improve the documentation of GLTFDocument's append methods
2023-01-16 09:24:27 +01:00
Rémi Verschelde ba551727ef
Merge pull request #71458 from raulsntos/dotnet/quaternion
C#: Make `Length` and `LengthSquared` into methods in `Quaternion`.
2023-01-16 09:20:53 +01:00
Rémi Verschelde 88c81bfbe5
Merge pull request #71456 from raulsntos/dotnet/sync-plane
C#: Sync `Plane` with Core
2023-01-16 09:20:30 +01:00
Rémi Verschelde 94312ab943
Merge pull request #71445 from raulsntos/dotnet/transforms
C#: Add missing `Transform{2D,3D}` and `Basis` constructors
2023-01-16 09:20:07 +01:00
Rémi Verschelde fda8e6b18d
Merge pull request #71431 from raulsntos/dotnet/scale-and-rotation
C#: Replace `Rotation` and `Scale` properties with get methods
2023-01-16 09:19:43 +01:00
Rémi Verschelde 2118f8e8a3
Merge pull request #70684 from filiperinaldi/fix_arm64_build_clang
Fix arm64 build when using Clang
2023-01-16 09:15:44 +01:00
Adam Scott 48e041458f Fix cyclic reference errors while reducing identifiers.
Co-authored-by: Dmitrii Maganov <vonagam@gmail.com>
2023-01-15 19:19:25 -05:00
kobewi b58111588a Add EditorUndoRedoManager singleton 2023-01-16 01:11:52 +01:00
Aaron Franke 208df30eeb
Improve the documentation of GLTFDocument's append methods 2023-01-15 14:27:08 -06:00
Raul Santos 7a19c87c7e
C#: Sync `Plane` with Core
- Add `Plane(Vector3)` constructor.
- Rename `IntersectRay` to `IntersectsRay`.
- Rename `IntersectSegment` to `IntersectsSegment`.
- Replace `Center` property with `GetCenter` method.
- Add and fix documentation about the _normal_ parameter
to Core and C# documentation.
2023-01-15 19:47:42 +01:00
poohcom1 2e53bf3d36 Fix code-completion suggesting non-static members
In GDScript code-completion:
 - Fixes class symbols not being marked as meta
 - Remove signal in static contexts

Fixes #69928
2023-01-16 00:41:20 +07:00
poohcom1 aa4bceff3e Add identifier completion for custom classes.
Previously, custom class would only auto-complete for types in GDScript.
This applies it to identifiers as well.
2023-01-16 00:25:24 +07:00
Raul Santos 5136366112
C#: Add missing `Transform{2D,3D}` and `Basis` constructors
- Remove `Transform3D(Quaternion, Vector3)` constructor from C#.
- Add `Transform3D(Projection)` constructor to C#.
- Add documentation to the `Transform3D(Projection)` constructor in Core.
- Add `Transform3D` constructor with only real_t params to C# that mirrors `Transform2D`.
- Expose `Basis` constructor with only real_t params in C#.
- Add `Transform2D(real_t, Vector2, real_t, Vector2)` constructor to C#.
2023-01-15 15:45:43 +01:00
Doug Thompson a4c734ed32 Class reference: snake_case .gd filenames, _on_*
This is for:
https://github.com/godotengine/godot-docs/issues/6245
2023-01-15 13:26:29 +00:00
Raul Santos 0476fc5a07
C#: Replace `Rotation` and `Scale` properties with get methods
- Replace `Rotation` property with `GetRotation` method in `Transform2D`.
- Replace `Scale` property with `GetScale` method in `Transform2D`.
- Replace `Scale` property with `GetScale` method in `Basis`.

Core does not expose set methods.
2023-01-15 14:06:16 +01:00
Raul Santos 28a8caac26
C#: Make `Length` and `LengthSquared` into methods in `Quaternion`.
The `Length` and `LengthSquared` members are implemented as methods
in every other C# struct, `Quaternion` was the only one implementing
them as properties.
2023-01-15 14:03:44 +01:00
Rémi Verschelde d6d87b6ca4
Merge pull request #71374 from raulsntos/dotnet/remove-spherical_interpolate_with
C#: Remove `SphericalInterpolateWith` from Transform3D
2023-01-15 13:08:15 +01:00
Rémi Verschelde e51426cab9
Merge pull request #71423 from raulsntos/dotnet/intersects-without-include_borders
C#: Remove `includeBorders` parameter from `Rect2i.Intersects` and `AABB.Intersects`
2023-01-15 13:07:13 +01:00
Rémi Verschelde 90c1f4bba4
Merge pull request #71424 from raulsntos/dotnet/sync-basis
C#: Sync `Basis` with Core
2023-01-15 13:06:48 +01:00
Bastiaan Olij 909ec66ca3 Fixes issue where failed start of OpenXR causes issues 2023-01-15 16:57:42 +11:00
Raul Santos 949a2778ca
C#: Sync `Basis` with Core
- Remove `GetOrthogonalIndex` method (moved to `GridMap`).
- Remove `GetRow` and `SetRow` methods.
2023-01-14 20:06:45 +01:00
Yuri Sizov 4c1f11944e Update all outdated online documentation links 2023-01-14 19:38:00 +03:00
kobewi 59ea36b87c Remove set_drag_forwarding_compat() 2023-01-14 15:16:51 +01:00
Yuri Rubinsky 9bd5ef1836 Fix GDScript script templates to use a PascalCase style for `_CLASS_` 2023-01-14 16:21:05 +03:00
Raul Santos c990f7984e
C#: Remove `includeBorders` parameter from `Rect2i.Intersects` and `AABB.Intersects` 2023-01-14 04:39:40 +01:00
Raul Santos 4438315242
C#: Remove `SphericalInterpolateWith` from Transform3D 2023-01-14 02:10:59 +01:00
Raul Santos a6ba914f15
C#: Lookup signals and methods in Get method
Allows to retrieve `Callable`s and `Signal`s using `Get` like it works in GDScript.
2023-01-13 22:19:25 +01:00
Yuri Sizov 4c5e09f96a
Merge pull request #71339 from raulsntos/dotnet/is_finite
Add `IsFinite` to C# Variants
2023-01-13 23:34:51 +03:00
Yuri Sizov bdb3543c2a
Merge pull request #71343 from raulsntos/dotnet/is_zero_approx
Add `IsZeroApprox` to C# vectors
2023-01-13 23:31:24 +03:00
Dmitrii Maganov a1e0281b45 GDScript: Disallow type inference with untyped initializer 2023-01-13 20:51:29 +02:00
Raul Santos 14c16746f3
Add `IsZeroApprox` to C# vectors 2023-01-13 18:53:39 +01:00
Rémi Verschelde 8716c12ead
Merge pull request #71325 from reduz/refactor-project-setting-overrides
Refactor ProjectSetting overrides
2023-01-13 18:03:15 +01:00
Rémi Verschelde ef01b49227
Merge pull request #71329 from vnen/gdscript-fix-enum-value-resolution
GDScript: Fix infinite recursion in resolution of enum values
2023-01-13 18:02:58 +01:00
Rémi Verschelde 4c2dea108e
Merge pull request #70540 from vaartis/multiline-arrays-dictionaries
Implement export_multiline support for Array[String] and Dictionary
2023-01-13 18:01:55 +01:00
Raul Santos f852004cf5
Add `IsFinite` to C# Variants 2023-01-13 17:57:52 +01:00
Juan Linietsky 6f0e210093 Refactor ProjectSetting overrides
* Overrides no longer happen for set/get.
* They must be checked with a new function: `ProjectSettings::get_setting_with_override()`.
* GLOBAL_DEF/GLOBAL_GET updated to use this

This change solves many problems:
* General confusion about getting the actual or overriden setting.
* Feature tags available after settings are loaded were being ignored, they are now considered.
* Hacks required for the Project Settings editor to work.

Fixes #64100. Fixes #64014. Fixes #61908.
2023-01-13 15:13:56 +01:00
Dmitrii Maganov 40613ebd21 GDScript: Fix typing of iterator in for loop 2023-01-13 15:36:11 +02:00
George Marques 3a5e41293c
GDScript: Fix infinite recursion in resolution of enum values 2023-01-13 10:17:30 -03:00
stmSi f286e93fef Fix OGG page_data out of bound crash 2023-01-13 13:39:03 +06:30
Rémi Verschelde e62f57f51d
Merge pull request #70904 from huangjiaminhhh/master
Fix for navmesh baking when parsing StaticBody colliders
2023-01-12 22:24:37 +01:00
Rémi Verschelde 6dba67c27d
Merge pull request #71247 from rsjtdrjgfuzkfg/etcpak
etcpak: Fix ETCPAK_TYPE_ETC2_RA_AS_RG
2023-01-12 21:10:49 +01:00
Rémi Verschelde aaa5158ff9
Merge pull request #70733 from vonagam/fix-assigning-untyped
GDScript: Fix some issues with assignments that involve untyped things
2023-01-12 20:08:55 +01:00
Rémi Verschelde 40b9c246b6
Merge pull request #71197 from adamscott/add-default-virtual-path-gdscript
Add default virtual `gdscript://` path to `GDScript` instances
2023-01-12 17:56:09 +01:00
Rémi Verschelde def592114f
Merge pull request #70700 from vonagam/fix-abstract-extends
GDScript: Fix extending abstract classes, forbid their construction
2023-01-12 17:19:51 +01:00
Dmitrii Maganov 274d49790d GDScript: Fix extending abstract classes, forbid their construction 2023-01-12 17:47:10 +02:00
Adam Scott e3e55b29ce Add default virtual `gdscript://` path to `GDScript` instances 2023-01-12 10:27:38 -05:00
Dmitrii Maganov ef81b344be GDScript: Fix wrong marking of some lines related to Variant as unsafe 2023-01-12 17:21:33 +02:00
Dmitrii Maganov 38c214d483 GDScript: Fix some issues with assignments that involve untyped things 2023-01-12 17:07:45 +02:00
Rémi Verschelde c6f4c0ac54
Merge pull request #70899 from adamscott/fix-vector-inf
Fix parse error using Vector{2,3,4}.INF
2023-01-12 15:59:01 +01:00
Dmitrii Maganov 5980abbcec GDScript: Fix getting type from PropertyInfo for Variant arguments 2023-01-12 16:47:06 +02:00
George Marques 75515e4303
Merge pull request #70987 from vonagam/fix-parameter-conversion-assign 2023-01-12 11:34:13 -03:00
George Marques 7319fa6082
Merge pull request #70713 from vonagam/fix-unnamed-enum-outer-conflicts 2023-01-12 11:22:01 -03:00
Dmitrii Maganov 0f184379de GDScript: Fix small inconsistencies with resolve_datatype 2023-01-12 15:52:55 +02:00
Rémi Verschelde a5dedfe260
Merge pull request #70731 from smix8/navigationserver_performance_monitor_4.x
Add NavigationServer Performance Monitor
2023-01-12 10:36:18 +01:00
Rémi Verschelde dd1b3ff089
Merge pull request #71224 from rsjtdrjgfuzkfg/openxr-opengl
OpenXR: Do not use SRGB swapchains with OpenGL
2023-01-12 09:07:46 +01:00
Rémi Verschelde 2fcd298f96
Merge pull request #71034 from rsjtdrjgfuzkfg/openxr-android-warning
OpenXR: Fix android loader extension detection
2023-01-12 00:56:51 +01:00
Rémi Verschelde 11449e1079
Merge pull request #71228 from vnen/gdscript-fix-nil-address-crash
GDScript: Fix temp values being written without proper clear
2023-01-12 00:53:26 +01:00
rsjtdrjgfuzkfg a1a2c2c2ce etcpak: Fix ETCPAK_TYPE_ETC2_RA_AS_RG
This commit fixes texture compression via ETCPAK_TYPE_ETC2_RA_AS_RG,
switching to the right color channels and using the right compression
method. Textures imported with previous versions need to be re-imported
in order to render correctly.
2023-01-11 23:06:35 +01:00
George Marques 66fda2aeea
GDScript: Fix temp values being written without proper clear
Temporary values in the stack were not being properly cleared when the
return value of calls were discarded, which can cause memory issues
especially for reference types like PackedByteArray.
2023-01-11 14:24:23 -03:00
Yuri Sizov f73cb4c13d
Merge pull request #71168 from guilleatm/master
Improve description of `GetNodeOrDefault` in C# API
2023-01-11 19:27:04 +03:00
rsjtdrjgfuzkfg 17a957e214 OpenXR: Do not use SRGB swapchains with OpenGL
This commit removes SRGB swapchain options for use with OpenGL, to avoid
the hardware doing an additional SRGB conversion and thus causing colors
to differ from other rendering paths.
2023-01-11 15:47:53 +01:00
Guillermo 6137929f52 Improve description of `GetNodeOrDefault` in C# API
Indenting with spaces and added a line break

Co-authored-by: Raul Santos <raulsntos@gmail.com>
2023-01-11 15:02:08 +01:00
rsjtdrjgfuzkfg b51acac638 OpenXR: Fix initialization warning on Android
This commit adds proper checking for XR_KHR_loader_init support and
fixes the warning regarding missing extensions on Android to only appear
if neither XR_KHR_loader_init nor XR_KHR_loader_init_android are
supported by the runtime.
2023-01-11 15:00:22 +01:00
Rémi Verschelde 62b023ecd3
Merge pull request #70167 from rsjtdrjgfuzkfg/pico
OpenXR: Add Pico controller profile
2023-01-11 09:49:16 +01:00
Rémi Verschelde 54688a7535
Merge pull request #71127 from reduz/drag-forward-to-callables
Change set_drag_forwarding() to use callables.
2023-01-11 01:14:58 +01:00
Rémi Verschelde 5eb161a9c8
Merge pull request #70595 from adamscott/add-gdscript-editorconfig
Add GDScript `.editorconfig` rules
2023-01-11 01:10:10 +01:00
George Marques 04d0e851ea
GDScript: Fix use of conversion assign for variant values 2023-01-10 20:01:11 -03:00
Adam Scott 44d1d72af1 Add GDScript `.editorconfig` rules
- Uniformize `.gd` unit test files indentation to tabs (where needed)
2023-01-10 12:25:35 -05:00
Juan Linietsky e6a4debede Change set_drag_forwarding() to use callables.
* This solution is much cleaner than the one in 3.x thanks to the use of callables.
* Works without issues in any language (no need to worry about camel or snake case).
* Editor code uses a compatibility function (too much work to redo).

Fixes #59899
2023-01-10 14:09:24 +01:00
Rémi Verschelde c894edd4cb
Merge pull request #71140 from vonagam/fix-const-index-subscript-type
GDScript: Fix type for index subscript on constant
2023-01-10 07:58:29 +01:00
Dmitrii Maganov ff505c9875 GDScript: Fix type for index subscript on constant 2023-01-10 07:10:00 +02:00
Adam Scott fb175d92da Fix GDScript base and outer classes, signals and functions lookup order
- Add outer class lookup test
- Add signal lookup test

Co-authored-by: Dmitrii Maganov <vonagam@gmail.com>
2023-01-09 20:12:10 -05:00
Rémi Verschelde d3fc9d9e41
Merge pull request #71051 from vonagam/consts-are-deep-start
GDScript: Begin making constants deep, not shallow or flat
2023-01-09 23:22:59 +01:00
Rémi Verschelde 509da86205
Merge pull request #69590 from anvilfolk/enums
GDScript enum fixes & refactor
2023-01-09 23:10:37 +01:00
Rémi Verschelde 4d4fcd0a6f
Merge pull request #70721 from Faless/mp/4.x_fix_relay_option
[MP] Fix server_relay being unsettable.
2023-01-09 23:09:53 +01:00
Fabio Alessandrelli 566c48f193 [MP] Convert _spawn_custom to a Callable property.
Renamed to "spawn_function".
Allow both custom spawn and auto spawn list to co-exist.

This makes it possible to implement custom spawn without being forced to
attach a script to MultiplayerSpawner directly.
2023-01-09 21:04:40 +01:00
ocean (they/them) 366ec895b1 Assorted enum and native type fixes 2023-01-09 11:08:07 -05:00
Rémi Verschelde 64f2b970d8
Merge pull request #71114 from reduz/cleanup-property-hints
Removed unused property hints and `Object::get_translatable_strings()`
2023-01-09 16:57:31 +01:00
Juan Linietsky 0e0a6bb39b
Removed unused property hints and `Object::get_translatable_strings()`
* Remove unused `EditorPropertyMember` and related hints, previouly used by
  VisualScript. Such logic should be implemented in the VS module itself.
* As the above broke compatibility with the VS module, clean up the other
  hacks that were still in core in support of VisualScript.
* `PROPERTY_USAGE_INTERNATIONALIZED` was only used in Object's
  `get_translatable_strings()`, which is a legacy function not used anywhere.
  So both are removed.
* Reordered some usage flags after the above removal to minimize the diff.
* General clean up.

Fixes #30203.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-01-09 16:56:01 +01:00
Raul Santos 59e8fc1edf
C#: Add `[Flags]` attribute to core bitfield enums 2023-01-09 16:13:28 +01:00
Rémi Verschelde df952a32f8
Merge pull request #71107 from vnen/gdscript-fix-nil-address-assign
GDScript: Don't use the NIL address to hold return value of functions
2023-01-09 14:22:16 +01:00
Rémi Verschelde c2f7c2d31a
Merge pull request #70655 from vonagam/fix-assert-multiline
GDScript: Fix multiline and trailing comma for assert
2023-01-09 14:19:37 +01:00
George Marques a1309f1f42
GDScript: Allow using await on calls to void functions 2023-01-09 09:55:05 -03:00
George Marques a3816434a6
GDScript: Don't use the NIL address to hold return value of functions
This prevents that the NIL address is filled with another value, which
causes problems for some instructions that read from NIL.
2023-01-09 09:20:18 -03:00
Rémi Verschelde b6be2ac621
Merge pull request #71028 from adamscott/make-gdscript-clear-less-prone-to-heap-use-after-free
Resolve `GDScript::clear()` `heap-use-after-free` ASAN errors
2023-01-09 09:22:39 +01:00
Rémi Verschelde 6a86dfad29
Fix typos with codespell
Also includes #71080.

Co-authored-by: Psychpsyo <60073468+Psychpsyo@users.noreply.github.com>
2023-01-09 08:39:07 +01:00
smix8 9802914f97 Add NavigationServer Performance Monitor
Adds Performance Monitor for NavigationServer3D.
2023-01-08 22:58:21 +01:00
Rémi Verschelde 378d589e2d
Merge pull request #71037 from reduz/array-format-bitfield
Use BitField<> hint for Mesh.ArrayFormat and Control.SizeFlags
2023-01-08 22:51:03 +01:00
Rémi Verschelde c3c5eceb35
Merge pull request #70463 from DarkKilauea/nav-server-const
[4.x] Rework const on NavigationServer methods
2023-01-08 22:50:05 +01:00
Adam Scott c45b9245ae Fix parse error using Vector{2,3,4}.INF 2023-01-08 16:14:40 -05:00
Dmitrii Maganov 71f7c8a9d3 GDScript: Fix multiline and trailing comma for assert 2023-01-08 20:18:46 +02:00
Juan Linietsky 47592927b3 Use BitField<> hint for ArrayFormat
This was missing in the conversion of bitflags to BitField<>.
2023-01-08 18:47:48 +01:00
Dmitrii Maganov 5e2ac1a31e GDScript: Begin making constants deep, not shallow or flat 2023-01-08 07:29:10 +02:00
jordi d5e1b4a857 Force double quotes for NodePaths with apostrophes 2023-01-07 20:23:26 -06:00
Josh Jones a0715b30f9 Rework const on NavigationServer methods
`const` is used on all methods, even when they cause modification of the server.  This reworks the methods of the server to only use `const` on method that don't change the state of the server.
2023-01-07 17:29:00 -08:00
Adam Scott d22199990e Resolve `GDScript::clear()` `heap-use-after-free` ASAN errors 2023-01-07 11:51:36 -05:00
Rémi Verschelde 163f6f5fe8
Merge pull request #68429 from KoBeWi/PropertySettings
Add PropertyInfo overload for GLOBAL_DEF
2023-01-06 22:59:29 +01:00
SaracenOne f5edeb8f58 Disable navmesh, lightmap, and VoxelGI generation on foreign data 2023-01-06 08:39:27 -08:00
Dmitrii Maganov 532ffc30bd GDScript: Fix typing of lambda functions 2023-01-06 16:38:22 +02:00
rsjtdrjgfuzkfg e6370a45d8 OpenXR: Add preliminary Pico controller profile
This commit adds the Pico controller used in the Pico 4 as implemented
in current versions of the OpenXR runtime on the device itself. Note
that the extension and paths used in this commit might become obsolete
once there is official support for the Pico 4 in the OpenXR standard.
2023-01-06 14:02:41 +01:00
Dmitrii Maganov a8c2f8a0e1 GDScript: Fix missing conversion for default argument values 2023-01-06 11:49:06 +02:00
Rémi Verschelde e1ce89ab4c
Merge pull request #70919 from Geometror/test-fastnoise-lite
Add tests for FastNoiseLite/NoiseTexture
2023-01-06 08:08:56 +01:00
Dmitrii Maganov 10e364bf43 GDScript: Fix array as default value for parameter 2023-01-06 06:25:55 +02:00
Hendrik Brucker ffb8c74f26 Add tests for FastNoiseLite/NoiseTexture
+ fix some issues with seamless noise generation
2023-01-06 02:46:08 +01:00
Rémi Verschelde 95ce236b7d
Merge pull request #70464 from vonagam/unify-assignables
Unify typing of variables, constants and parameters in GDScript
2023-01-06 00:34:10 +01:00
Rémi Verschelde e5f6e03490
Merge pull request #70547 from TokageItLab/pingpong-wrap
Fix pingpong-loop with `loop_wrap` is not working & clean-up cubic interpolation key retrieve process
2023-01-06 00:10:18 +01:00
Dmitrii Maganov a1d06749f1 Unify typing of variables, constants and parameters in GDScript 2023-01-06 01:10:04 +02:00
Rémi Verschelde d95794ec8a
One Copyright Update to rule them all
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.

It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).

We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).

Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-05 13:25:55 +01:00
Rémi Verschelde fc4a734373
Merge pull request #70838 from reduz/gdscript-vm-optimization
Optimizations for GDScript VM
2023-01-05 12:57:31 +01:00
Rémi Verschelde 5dfefc6517
Merge pull request #70694 from BastiaanOlij/change_openxr_extensions
Various improvements to OpenXR extension wrappers
2023-01-05 12:51:18 +01:00
Rémi Verschelde dc3175e4cd
Merge pull request #70810 from adamscott/cache-gdscript-even-when-error
Cache script when reloading even if there's errors
2023-01-04 11:41:11 +01:00
Bastiaan Olij b6550c46ee Removed member variables from OpenXRExtensionWrapper
Made extension container in OpenXRAPI static
Moved controller meta data into extensions where applicable
2023-01-04 11:34:58 +11:00
Rémi Verschelde 8203e09330
Merge pull request #70859 from vonagam/fix-preload-native-type
GDScript: Fix wrong native type for preloaded class
2023-01-03 23:22:23 +01:00
Rémi Verschelde 26bed8aa85
Merge pull request #70875 from MewPurPur/stop-highlighting-invalid-node-refs
Stop NodeRef highlighting if you start with a number
2023-01-03 16:17:13 +01:00
VolTer 52cfd4551d Stop highlighting node refs if they are invalid identifiers 2023-01-03 16:00:16 +02:00
Rémi Verschelde 96f12040c9
Merge pull request #70850 from bruvzg/ts_tsafe_free
[TextServer] Make `free` calls thread safe.
2023-01-03 13:53:58 +01:00
Rémi Verschelde ccc609d824
Merge pull request #70811 from jamesmintram/jamesm/bugfix/gltf-import-fix-stale-node-ref
Update stale node ref after replace_by in GLTF importer
2023-01-03 12:33:53 +01:00
Rémi Verschelde 4e360ac612
Merge pull request #70702 from vnen/gdscript-error-on-assign-void
GDScript: Error when assigning return value of void function
2023-01-03 12:23:00 +01:00
Rémi Verschelde 1b634c06d0
Merge pull request #69972 from adamscott/add-server-checks-before-free
Add safety-checks before some servers `free()`
2023-01-03 12:22:24 +01:00
Rémi Verschelde e4c1103af4
Merge pull request #70656 from vonagam/fix-void-returns
GDScript: Disallow return with value in void functions
2023-01-03 12:20:33 +01:00
Rémi Verschelde a797fa3b3d
Merge pull request #70503 from rune-scape/inner-class-docs
Inner classes get their docs back
2023-01-03 12:15:44 +01:00
huangjiamin dbdcc8e968 Fix for navmesh baking. Error message: Condition “!shapes.has(p_owner)” is true 2023-01-03 19:13:32 +08:00
Dmitrii Maganov 961b4ac5f5 GDScript: Fix wrong native type for preloaded class 2023-01-03 05:45:06 +02:00
Juan Linietsky 7211e041df Optimizations for GDScript VM
* Removed instruction argument count and instruction prefetching. This is now done on the fly. Reduces jumps.
* OPCODE_DISPATCH now goes directly to the next instruction, like in Godot 3.x.

I have nothing I can use to test performance, so if anyone wants to lend a hand and compare with master (both on debug and release), it would be very welcome.
2023-01-02 23:44:19 +01:00
bruvzg a28e8f0c8d
[TextServer] Make `free` calls thread safe. 2023-01-02 21:59:05 +02:00
James Mintram 897de50d71 Update stale node ref after replace_by in GLTF importer 2023-01-01 20:14:33 +00:00
Adam Scott c3f12592da Cache script when reloading even if there's errors. 2023-01-01 14:09:17 -05:00
George Marques 8a98110e3e
Merge pull request #62688 from cdemirer/assignments-and-types
Fixes https://github.com/godotengine/godot/issues/62650
2022-12-30 16:38:35 -03:00
George Marques bc739a4687
GDScript: Make using return of void function an error
Remove the `VOID_ASSIGNMENT` warning since those cases will be errors
now.
2022-12-30 13:35:38 -03:00
George Marques 33afa82fb0
Merge pull request #70613 from vonagam/fix-enum-as-constant
Fixes https://github.com/godotengine/godot/issues/54018
Fixes https://github.com/godotengine/godot/issues/70213
Fixes https://github.com/godotengine/godot/issues/70495
2022-12-30 12:10:50 -03:00
George Marques 0c15844551
GDScript: Error when assigning return value of void function
This also makes built-in method calls empty the return value when the
method is void, to avoid keeping returning a garbage value in such case.
2022-12-30 12:08:58 -03:00
Ignacio Roldán Etcheverry 0daa86d70e
Merge pull request #70511 from raulsntos/dotnet/fix-update-script-class-info
C#: Skip getting class info for unbound generics
2022-12-30 01:29:53 +01:00
Fabio Alessandrelli d123b01e86 [MP] Fix server_relay being unsettable.
Clarify nuance in the docs.
2022-12-29 23:15:26 +01:00
Adam Scott ea33001b95 Add safety-checks before some servers `free()` 2022-12-29 16:23:38 -05:00
Dmitrii Maganov 056066ee95 GDScript: Fix false name conflicts for unnamed enums 2022-12-29 22:04:13 +02:00
Dmitrii Maganov 9507f65e25 GDScript: Disallow return with value in void functions 2022-12-29 03:06:13 +02:00
Raul Santos a43e8285a7
C#: Avoid generic types in the script path attribute generator
- Avoid generic types in `ScriptPathAttributeGenerator`, this
means they won't be added to the `[AssemblyHasScripts]` attribute
and a `[ScriptPath]` attribute won't be added to the class.
Since generic classes can't be used as scripts they shouldn't use
those attributes, this also makes CSharpScript consider those types
invalid since they won't be added to the script/type map.
- Avoid generic types in `ScriptManagerBridge.LookupScriptsInAssembly`.
- Set `outMethodsDest` in `ScriptManagerBridge.UpdateScriptClassInfo`.
2022-12-28 23:20:02 +01:00
Dmitrii Maganov b6aa4840d8 Fix usage of Enum as constant 2022-12-28 23:04:40 +02:00
Dmitrii Maganov f67aa3e46d GDScript: Fix return type of constructor call for extending class 2022-12-27 23:02:12 +02:00
Filipe Rinaldi 2841144096 Fix arm64 build when using Clang
The commit b5a8055b5c should target GCC builds only as
-flax-vector-conversions has different behaviour in Clang and is
currently making the build fail.

Signed-off-by: Filipe Rinaldi <filipe.rinaldi@gmail.com>
2022-12-26 20:39:27 +00:00
cdemirer bbb21c3fd5 Fix type adjustment skipped when value is considered both not hard and not variant 2022-12-25 17:11:30 +03:00
Silc Renew 8745c206c4 Fix pingpong with loop wrap is not working 2022-12-25 18:16:38 +09:00
Ekaterina Vaartis 60692b4e45 Implement export_multiline support for Array[String] and Dictionary
For arrays, specifically check if it's a string array and pass the
type on to the editor. For dictionaries, save the hint on the type and
use it later to draw the multiline editor, except for when adding a
string key, because that doesn't make much sense. All string values
however will be drawn as multiline.
2022-12-25 01:46:57 +03:00
Ignacio Roldán Etcheverry f382a2b59b
Merge pull request #70509 from irwiss/reverse-Vector2.AngleToPoint
C#: reverse Vector2.AngleToPoint
2022-12-24 17:22:50 +01:00
Alexey Kim e9ace71c88 C#: reverse Vector2.AngleToPoint 2022-12-24 04:18:53 +02:00
rune-scape 1b77993257 Inner classes get their docs back 2022-12-23 17:39:24 -05:00
Ignacio Roldán Etcheverry dfac8bb407 C#: Fix leak in Span to Variant conversions 2022-12-23 21:37:28 +01:00
Ignacio Roldán Etcheverry 5784bf1be0
Merge pull request #70486 from raulsntos/dotnet/convert-to
C#: Rename `ConvertToX` methods
2022-12-23 21:15:24 +01:00
Raul Santos 24e4ac9167
C#: Rename `ConvertToX` methods
- Renamed `ConvertToX` to `ConvertToNativeX`.
- Renamed `ConvertToXObject` to `ConvertToX`.
- Renamed `ConvertToXManaged` to `ConvertToX`.
- Fix `Signal` name in bindings generator and csharp script.
2022-12-23 19:40:32 +01:00
Raul Santos 03c26d6618
C#: Disallow init-only properties
ReadOnly properties are currently not allowed because the generated code
needs to set them, this also apply to `init` properties because they
need to be set after initialization.
2022-12-23 19:04:14 +01:00
Rémi Verschelde d0398f62f0
Revert "pcre2: Update to upstream version 10.42"
This reverts commit 62c3e4ab9c.

Needs more work, see comments about `_regex_free` errors in #70447.
2022-12-23 11:29:11 +01:00
Rémi Verschelde ae4c025da9
Merge pull request #69991 from rune-scape/cast-type
GDScript: Fix cast producing null
2022-12-23 09:22:21 +01:00
Rémi Verschelde edfa1e8665
Merge pull request #70220 from adamscott/fix-external-enum
Fix external enums not assignable as constants
2022-12-23 09:20:50 +01:00
Rémi Verschelde 62c3e4ab9c
pcre2: Update to upstream version 10.42
Changelog: https://github.com/PCRE2Project/pcre2/blob/pcre2-10.42/ChangeLog

This should also fix support for RISC-V architectures, at least in the sljit
library.
2022-12-22 16:34:29 +01:00
Rémi Verschelde e1657bd2a7
Merge pull request #70440 from rune-scape/null-again
Fix GDScript analyzer null literal
2022-12-22 16:02:19 +01:00
Rémi Verschelde 801ef6614d
Merge pull request #70138 from anvilfolk/signals
Add MethodInfo to signal datatype
2022-12-22 16:02:11 +01:00
rune-scape 3228fdb88a Fix GDScript analyzer null literal 2022-12-22 06:02:34 -05:00
Yuri Rubinsky abaedb54f1 Remove unused code paragraph from gdscript_editor.cpp/complete_code 2022-12-22 11:10:11 +03:00
ocean (they/them) d93dbab054 Add MethodInfo to signal datatype 2022-12-21 22:49:51 -05:00
Rémi Verschelde d553dca62a
Merge pull request #70391 from TyounanMOTI/fix-basis-universal-transcode
Fix Basis Universal format texture rendering failure
2022-12-21 22:23:56 +01:00
Rémi Verschelde 5ad02aa08d
Merge pull request #67111 from DarkKilauea/nav-queries-link
Added signal to NavigationAgent when entering a link
2022-12-21 19:38:20 +01:00
Hirotoshi Yoshitaka d144e278ac Fix Basis Universal format texture rendering failure
Fix "failed! on level 0" error message on exported projects with Basis Universal textures.
2022-12-21 17:29:38 +09:00
Rémi Verschelde 63f95c0e58
Merge pull request #70366 from quentinguidee/refactoring/fix-double-get-singleton
Fix double get_singleton()
2022-12-21 09:27:02 +01:00
Rémi Verschelde 6b4a01f99a
Merge pull request #69351 from smix8/gridmap_item_navigation_layers_4.x
Change GridMap navigation_layers to per mesh_library item
2022-12-21 09:21:21 +01:00
Rémi Verschelde 2becec34cd
Merge pull request #70331 from anvilfolk/run-weird
Unify GDScriptAnalyzer in-editor and runtime autoload checks
2022-12-21 09:20:56 +01:00
Rémi Verschelde f04f53201d
Merge pull request #70317 from HolonProduction/svg_assets
Add support for svg images in the asset lib.
2022-12-21 09:19:14 +01:00
ocean (they/them) fb418685a0 Unify GDScriptAnalyzer in-editor and runtime autoload checks 2022-12-20 19:01:28 -05:00
smix8 61f33e205c Change GridMap navigation_layers to be per mesh_library item
Changes GridMap navigation_layers from a single bitmask for the entire GridMap to a bitmask for each item used in the mesh_library with a baked navmesh.
2022-12-20 20:51:32 +01:00
Quentin Guidée d9c05f7fbd
Fix double get_singleton()
Signed-off-by: Quentin Guidée <quentin.guidee@gmail.com>
2022-12-20 14:26:15 -05:00
HolonProduction 66fa776667 Add support for svg images in the asset lib.
Pixel based image formats are identified by magic numbers. This is not possible with svg therefore svg parsing is tried and if it succeeded the result is used.

WebP and bmp support is added as well. But I could not test it as I am not able to run a local instance of the asset lib and there is no asset using those formats.
2022-12-20 15:41:17 +01:00
Rémi Verschelde 4f95912d8a
Merge pull request #70108 from akien-mga/embree-arm64-flax-vector-conversions
embree: Build on ARM64 with -flax-vector-conversions
2022-12-20 10:33:32 +01:00
Rémi Verschelde 2521c2e0e4
Merge pull request #70309 from smix8/gridmap_collision_priority_4.x
Add GridMap collision_priority
2022-12-20 10:33:23 +01:00
Rémi Verschelde f1f6b35b8c
Merge pull request #70244 from DarkKilauea/nav-fix-abbrev-compat
[4.x] Fix typo and ensure backwards compatibility for changed property names
2022-12-20 10:32:26 +01:00
Rémi Verschelde b5a8055b5c
embree: Fix Linux ARM64 build with `-flax-vector-conversions`
This is a change done upstream in the `devel3` branch for 3.13.6:
82ca6b5ccb

They also seem to define it for macOS, but for us it breaks the build...
¯\_(ツ)_/¯

Also change wrong use of CPPFLAGS (pre-processor) where CXXFLAGS (C++)
makes more sense.
2022-12-20 10:10:30 +01:00
Josh Jones 0572346985
Fix typo and ensure backwards compatibility for changed property names
Changes to the name of the `navmesh` and `navpoly` properties on
`NavigationRegion` caused navigation data to be lost on load.
This PR creates uses `_set`/`_get` to handle compatibility with the
older names on load, preserving the data.

Also fixes a typo on `get_vertices_per_polygon` in `NavigationMesh`,
and renames the property to remove the `polygon_` prefix which doesn't
match the setter/getter.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2022-12-20 09:57:54 +01:00
Aaron Franke 6590e1fd8a
Make script annotations placed before class_name and extends 2022-12-19 22:01:29 -06:00
smix8 eb88aef537 Add GridMap collision_priority
Adds property 'collision_priority' for all physics bodies of the entire GridMap.
2022-12-19 19:31:43 +01:00
Yuri Rubinsky dcb3754db0
Merge pull request #69720 from Chaosus/inst_to_dict_note
Fix undefined
2022-12-19 20:22:25 +03:00
Rémi Verschelde 36fa6fc8fa
Merge pull request #70291 from BastiaanOlij/small_action_map_fixes
Fix missing undo/redo object and issue with removing actions
2022-12-19 17:12:09 +01:00
Yuri Rubinsky 78d296d7ca Add a note for `inst_to_dict` to prevent using it on built-in instances 2022-12-19 19:12:00 +03:00
Rémi Verschelde adc1096b19
Merge pull request #70219 from bruvzg/msdf_outline_scaling
Scale MSDF font outline with the font size and MSDF source size to match dynamic font behavior.
2022-12-19 16:26:56 +01:00
Bastiaan Olij b5e205a57c Fix missing undo/redo object and issue with removing actions 2022-12-19 19:35:06 +11:00
Rémi Verschelde e780dc332a
Merge pull request #70275 from rune-scape/autoload-subscript-regression
Fix autoload subscript regression
2022-12-19 01:12:35 +01:00
rune-scape 9f6ad59da7 Fix autoload subscript regression 2022-12-18 18:36:41 -05:00
Rémi Verschelde 02f24eb3f2
Merge pull request #59810 from reduz/fbx-import-dialog
Add a dialog for customizing FBX import
2022-12-18 16:55:21 +01:00
Rémi Verschelde e9f3e7111f
Merge pull request #70237 from quentinguidee/refactor/fix-comma-instead-of-semicolon
Fix use of comma instead of semicolon
2022-12-18 16:55:10 +01:00
Quentin Guidée e0f1e02cc7
Fix use of comma instead of semicolon
Signed-off-by: Quentin Guidée <quentin.guidee@gmail.com>
2022-12-17 20:17:04 -05:00
Josh Jones 5d8ba2b2d1 Add support for emitting a signal when entering a NavLink 2022-12-17 16:33:41 -08:00
reduz e93d991329
Add a dialog for customizing FBX import
* If FBX files are found, a dialog will pop up asking to configure FBX2glTF.
* Dialog can also be accessed by going Editor -> Configure FBX Import.
* The dialog also shows a link to click to download the converter, which
  should contain instructions.
2022-12-18 01:08:54 +01:00
Rémi Verschelde 2ee88192f9
Merge pull request #70229 from adamscott/fix-class-lookup
Fix outer class lookup
2022-12-18 00:11:56 +01:00
Rémi Verschelde 5d2137aeea
Merge pull request #69931 from smix8/navigation_abbreviation_changes_4.x
Fix Navigation API abbreviations inconsistency
2022-12-18 00:11:16 +01:00
Adam Scott 7fc814f697 Fix external enums not assignable as constants
- Add external enums test
- Rename external inner class test
- Clean up `GDScriptAnalyzer::reduce_identifier_from_base` class
  behavior
2022-12-17 17:59:38 -05:00
Adam Scott 1bbb2b4159 Fix outer class lookup 2022-12-17 17:57:00 -05:00
smix8 34e7628f5f Fix Navigation API abbreviations inconsistency
Schema for navigation to name user facing API with  "navigation" without abbreviation and e.g. NavigationServer internals with abbr "nav".
2022-12-17 22:06:22 +01:00
bruvzg 20d9457f9d
Scale MSDF font outline with the font size and MSDF source size to match dynamic font behavior. 2022-12-17 22:47:54 +02:00
Ignacio Roldán Etcheverry d44d0cc0fd
Merge pull request #70210 from raulsntos/dotnet/script-not-found-error
C#: Add note about the class name in instantiate error
2022-12-17 21:45:56 +01:00
Rémi Verschelde fa345869f5
Merge pull request #70181 from quentinguidee/fix/gltf-crash-shader-material
glTF: Fix export crash with a ShaderMaterial
2022-12-17 20:56:52 +01:00
Raul Santos 2be8cd6863
C#: Add note about the class name in instantiate error
Adds a note about the requirement that a C# class name must match the
script filename in which the they are defined to the instantiate error.
2022-12-17 20:02:01 +01:00
Adam Scott 2fefcf7329 Fix inner class constant assignment 2022-12-17 12:03:03 -05:00
Rémi Verschelde 8d52eea52b
Merge pull request #70000 from rune-scape/find-more-classes
GDScript: Fix built-in script `find_class` bugs
2022-12-17 16:30:34 +01:00
Quentin Guidée b14c87cb92
glTF: Fix export crash with a ShaderMaterial (fixes #70159) 2022-12-17 10:03:42 -05:00
Rémi Verschelde ccbefa1f43
Merge pull request #70117 from rsjtdrjgfuzkfg/openxr-action-map-crashfix
OpenXR: fix action map editor crash on save / reset
2022-12-17 12:22:32 +01:00
Rémi Verschelde 791e742af7
Merge pull request #70180 from rune-scape/enum-value-regression
Fix enum value regression
2022-12-17 11:30:54 +01:00
rune-scape 213c94b42f Fix enum value regression 2022-12-16 22:48:25 -05:00
rsjtdrjgfuzkfg 20c192cc2d OpenXR: fix casts and loop in action map editor
This commit replaces potentially unsafe static casts with
Object::cast_to and fixes the order in which UI elements are looped over
when removing controls. This fixes crashes and wrong data being
displayed in the OpenXR action map editor when saving or resetting
action maps.
2022-12-16 21:32:43 +01:00
Rémi Verschelde 912fd3f0e1
Merge pull request #64563 from timothyqiu/word-wrap
Fix `String::word_wrap()` for long words
2022-12-16 13:47:05 +01:00
Ignacio Roldán Etcheverry df0cf08878
Merge pull request #69867 from raulsntos/dotnet/color
C#: Synchronize Color with Core
2022-12-16 13:17:03 +01:00
Haoyu Qiu 207e52c161 Fix String::word_wrap() for long words
- Changes `TextServer.string_get_word_breaks()`
  - Returns pairs of boundary start and end offsets
  - Accepts `chars_per_line` to return line breaks
- Removes `String::word_wrap()`

Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2022-12-16 13:18:57 +08:00
Raul Santos d843a7ab97
C#: Synchronize Color with Core
- Add `Luminance` readonly property.
- Add `LinearToSrgb` and `SrgbToLinear` static methods.
- Add `FromOkHsl` static method.
- Add `FromRgbe9995` static method.
- Add `FromString` static method.
- Expose `FromHtml` static method.
- Expose `HtmlIsValid` static method.
- Add and update some Color documentation.
2022-12-16 03:04:05 +01:00
Rémi Verschelde f18f2740da
Merge pull request #70131 from rune-scape/preload-type-regression
Fix preload type regression
2022-12-16 00:31:26 +01:00
Rémi Verschelde c4b4e69cd9
Merge pull request #70126 from stmSi/fixed-gdscript-unary-unary-crash
Fixed GDScript crashed when two consecutive unary operators are analyzed/(script is saved).
2022-12-15 23:55:49 +01:00
Rémi Verschelde d4bbfc7075
Merge pull request #70125 from TokageItLab/cs-sync-usage-flags
Fix out of sync PropertyUsageFlags for cs
2022-12-15 23:55:44 +01:00
stmSi 2a341a6321 Fixed GDScript crashed when two consecutive unary operators are analysed 2022-12-16 04:45:53 +06:30
rune-scape 17e03c29d6 Fix preload type regression 2022-12-15 16:47:13 -05:00
Silc Renew a52479f770 Fix out of sync PropertyUsageFlags for cs 2022-12-16 06:27:04 +09:00
bruvzg 53c76fa5d1
[RTL/TextServer] Add baseline inline alignment mode for objects and RTL tables. 2022-12-15 23:16:02 +02:00
Rémi Verschelde 15631e24f7
Merge pull request #70113 from adamscott/fix-crash-gdscript-from-variant
Fix `GDScript::_get_gdscript_from_variant()` crash
2022-12-15 22:13:34 +01:00
rune-scape e1c63fee86 GDScript: Fix built-in script and other `find_class` bugs 2022-12-15 14:56:23 -05:00
Adam Scott 3684fd249e Fix `GDScript::_get_gdscript_from_variant()` crash
The crash would happen, theoretically, when getting the type of a invalid
variant.
2022-12-15 12:29:01 -05:00
RedMser ba388d09b4 Batch import Blend files using XML RPC
This improves performance when importing many Blender files, as it
avoids waiting for Blender to startup every time.
Old logic is still available by setting the RPC port setting to 0.
2022-12-15 18:27:02 +01:00
Alberto Vilches 2d60b9c6e4 Added Projection to ConvertTo<T> and CreateFrom<T> 2022-12-15 13:38:09 +01:00
Rémi Verschelde 346efd29e0
Fix typos with codespell 2022-12-15 12:24:08 +01:00
Rémi Verschelde 6debf86d51
Merge pull request #69471 from rune-scape/rune-out-of-order
GDScript: Out of order member resolution
2022-12-15 07:56:23 +01:00
rune-scape 2dfc6d5b69 GDScript: Allow out of order member resolution 2022-12-14 21:44:05 -05:00
Rémi Verschelde b8e1d6585c
Merge pull request #69971 from neikeq/csharp-vararg-ret-premature-free
C#: Fix premature free of returned Variant in vararg methods
2022-12-14 23:27:40 +01:00
Rémi Verschelde 353fccc0e0
Merge pull request #69968 from raulsntos/dotnet/signal
C#: Rename `SignalInfo` to `Signal` and make awaitable
2022-12-14 00:17:02 +01:00
Rémi Verschelde cd855f6516
Merge pull request #68528 from BastiaanOlij/openxr_actionmap_changes
Various fixes for OpenXR action map meta data and editing
2022-12-13 10:16:19 +01:00
Rémi Verschelde cb7984e411
Merge pull request #70010 from akien-mga/graphite-mit
graphite: Update to latest Git, switch to MIT license
2022-12-13 10:13:16 +01:00
Rémi Verschelde 5ddd59fc79
Merge pull request #69992 from rune-scape/stringname-not-compat
GDScript Analyzer: Fix String type compatibility being too permissive
2022-12-13 10:12:13 +01:00
Rémi Verschelde 0ee6ffb257
graphite: Update to latest Git, switch to MIT license
Graphite is now available under:
MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later

We pick MIT which is the same as Godot's main license for simplicity.

Remove define to skip deprecation warnings, upstream fixed those.
2022-12-13 10:06:00 +01:00
Aaron Franke cee8f1a786
Improve architecture support logic in Raycast module 2022-12-12 21:42:10 -06:00