1
0
Fork 0
Commit Graph

2388 Commits

Author SHA1 Message Date
Zae 2a3d400dd8 C#: Escape signal parameters 2024-10-23 23:24:00 +08:00
kobewi 5c0f2414cd Always add decimal when printing float 2024-10-23 15:00:21 +02:00
Thaddeus Crews cb3c01a5fe
Merge pull request #97588 from TML233/generated-raise-signal
[C#] Change generated On{SignalName} to EmitSignal{SignalName}
2024-10-21 16:39:12 -05:00
Juan Pablo Arce e3790de461 Fix exported typed dictionaries in .NET having an incorrect hint, which led to incorrect scene serialization 2024-10-18 00:55:24 -03:00
Thaddeus Crews c409546cc3
Merge pull request #98059 from zaevi/fix_csharp_unhandled_GD0303
[.NET] Fix unhandled GD0303 error for nested generic attribute types
2024-10-14 14:09:51 -05:00
Zae 9c99e519c6 C#: Fix unhandled GD0303 error for nested generic attribute types 2024-10-11 03:03:05 +08:00
DE YU d4695e84a4 Add ReadOnlySpan API Overloads
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-10-09 23:14:38 +08:00
Juan Pablo Arce c41601fa9c Fix untyped dictionary .NET debug visualization showing keys as values 2024-10-07 16:27:42 -03:00
TML fa48ed9945 Change generated On{SignalName} to EmitSignal{SignalName} 2024-09-28 22:10:33 +08:00
Rémi Verschelde 543fa16b4c
Merge pull request #68233 from raulsntos/dotnet/raise-events
C#: Generate strongly-typed method to raise signal events and fix event accessibility
2024-09-27 13:53:11 +02:00
Raul Santos da37998dc8
C#: Generate On{EventName} method to raise signal events 2024-09-26 20:10:53 +02:00
Rémi Verschelde a4c1804cab
Merge pull request #97483 from akien-mga/clang-format-19.1.0
CI: Update `clang-format` pre-commit hook to 19.1.0
2024-09-26 12:46:04 +02:00
Rémi Verschelde c92a6c7e27
CI: Update `clang-format` pre-commit hook to 19.1.0 2024-09-26 11:46:12 +02:00
Thaddeus Crews 9f9ee0c813
SCons: Add unobtrusive type hints in SCons files 2024-09-25 09:34:35 -05:00
Rémi Verschelde 6bea41d68f
Merge pull request #88363 from Delsin-Yu/master
C#: Implement proper generic type name printing for Godot Editor
2024-09-24 12:56:52 +02:00
Rémi Verschelde ea8d20d35b
Merge pull request #96955 from Delsin-Yu/generator-based-CreateManagedForGodotObjectBinding
[.NET] Replace Reflection-Based implementation with Generated one in `CreateManagedForGodotObjectBinding`
2024-09-23 16:13:49 +02:00
Rémi Verschelde c65ab71230
Merge pull request #94953 from raulsntos/dotnet/signals-with-typed-arrays
C#: Generate signal delegates with typed arrays
2024-09-23 12:27:45 +02:00
DE-YU_H14 b5cd06b9ae C#: Implement proper generic type name printing for Godot Editor
Co-authored-by: Raul Santos <raulsntos@gmail.com>
2024-09-23 15:32:10 +08:00
Raul Santos 445e822bcf
C#: Generate signal event with the same accessibility as the delegate 2024-09-23 03:38:18 +02:00
DE YU 307224927c Replace Reflection-Based implementation with Generated one
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-09-22 18:01:14 +08:00
Rémi Verschelde 5070db2575
Merge pull request #97208 from kleonc/transform3d_aabb_multiplication_fix_csharp
Fix C# `operator *(Transform3D, Aabb)`
2024-09-20 16:06:56 +02:00
Rémi Verschelde 2f078e501c
Merge pull request #97198 from raulsntos/dotnet/open-visual-studio-with-dotnet-cli
C#: Use dotnet CLI to launch `OpenVisualStudio.dll`
2024-09-20 16:06:46 +02:00
kleonc 3bfadeff25 Fix C# operator *(Transform3D, AABB) 2024-09-20 00:18:54 +02:00
Matt Enad d6c0a53ecf Add error messages to binding generator 2024-09-19 13:31:05 -04:00
Raul Santos ec189b1574
C#: Use dotnet CLI to launch OpenVisualStudio.dll
Use the DLL instead of the EXE, so we can rely on the dotnet CLI handling the architecture.
2024-09-19 19:23:01 +02:00
Rémi Verschelde ae872a4ed5
Merge pull request #97014 from hayahane/fix_script_property_order
Reorder C# script properties to fix editor serialization
2024-09-19 17:13:34 +02:00
alpacat 7df5b78aca Reorder C# script properties to fix editor serialization 2024-09-19 12:49:15 +08:00
Raul Santos 5860ec553d
C#: Use `char *` with CoreCLR/MonoVM APIs 2024-09-17 17:51:17 +02:00
Raul Santos 0aa46e19c5
C#: Fallback to CoreCLR/MonoVM hosting APIs when hostfxr/NativeAOT fails
Some platforms don't support hostfxr but we can use the coreclr/monosgen library directly to initialize the runtime.

Android exports now use the `android` runtime identifier instead of `linux-bionic`, this removes the restrictions we previously had:
- Adds support for all Android architectures (arm32, arm64, x32, and x64), previously only the 64-bit architectures were supported.
- Loads `System.Security.Cryptography.Native.Android` (the .NET library that binds to the Android OS crypto functions).
2024-09-16 17:07:03 +02:00
Rémi Verschelde 8ebfd89359
Merge pull request #96024 from Ryan-000/expose_get_rpc_config
Expose `get_rpc_config` and `get_node_rpc_config`
2024-09-16 13:34:34 +02:00
Rémi Verschelde 40d8d82b85
Merge pull request #93779 from hayahane/fix_get_property_cs
[C#] Fix `get_property_list` get wrong order of properties
2024-09-13 11:21:37 +02:00
Rémi Verschelde cee14dbff2
Merge pull request #96301 from scgm0/Delete-old-C#-data
C#: Clear existing data directory extracted from PCK
2024-09-12 09:25:27 +02:00
Rémi Verschelde f8fbb860f5
Merge pull request #95840 from raulsntos/char_metadata
Add metadata for `char16_t` and `char32_t`
2024-09-12 09:25:19 +02:00
Raul Santos aaffab8afb
Add metadata for `char16_t` and `char32_t`
We don't seem to expose any API that uses `char16_t` yet, but I added it anyway since we make the type info for it.

I didn't add anything for `wchar_t` because we are not making a type info so maybe we don't have a need for it yet, it could be added in the future.

To prevent breaking compatibility with the C# bindings, we ignore the `char32_t` metadata and still use `System.Int64`.
2024-09-12 02:15:55 +02:00
scgm0 a29ddd4674 C#: Clear existing data directory extracted from PCK 2024-09-12 07:12:01 +08:00
kit 5e1c9d68aa Extract editor main screen 2024-09-09 11:06:18 -04:00
Rémi Verschelde 0b4ae20156
Merge pull request #78656 from Repiteo/typed-dictionary
Implement typed dictionaries
2024-09-06 22:38:13 +02:00
Felix Bytow e9762b3eaf
C# Assemblies can now be built with deprecated=no 2024-09-05 10:04:24 +02:00
Ryan 8835f326b1 Expose get_rpc_config and get_node_rpc_config
add documentation

Update doc/classes/Node.xml

change name of get_node_rpc_config to get_rpc_config

Co-Authored-By: moondog <159832633+dog-on-moon@users.noreply.github.com>
Co-Authored-By: Micky <66727710+Mickeon@users.noreply.github.com>
2024-09-04 15:45:22 -04:00
Thaddeus Crews 9853a69144
Implement typed dictionaries 2024-09-04 10:27:26 -05:00
A Thousand Ships 194bdde947
Cleanup of raw `nullptr` checks with `Ref`
Using `is_valid/null` over checks with `nullptr` or `ERR_FAIL_NULL` etc.
2024-08-31 15:01:09 +02:00
Raul Santos 4c14421602
C#: Use export platform to determine the target OS and log errors
- Use the export platform's `get_os_name` to determine the platform name instead of guessing from the features.
- Use the export platform's `add_message` to add error messages instead of a custom error dialog. Integrates .NET error messages with the export log dialog.
2024-08-30 12:45:24 +02:00
RedOrbweaver 81799b8fa3 Fix build logger unable to handle an event without an associated file 2024-08-29 20:33:47 +02:00
Rémi Verschelde cb96fc95c3
Merge pull request #92316 from alula/msvc-clang
Add support for compiling with VS clang-cl toolset
2024-08-29 10:36:17 +02:00
Alula 346cbc7f1f
Add support for compiling with VS clang-cl toolset 2024-08-28 13:30:44 -05:00
bruvzg d528f28275 [Windows] Fix OS.open_dynamic_library 2024-08-28 20:12:09 +03:00
Rémi Verschelde b4f268fae8
Merge pull request #91018 from Daylily-Zeleen/daylily-zeleen/optionally_postinitialization_for_extension_owner
Allow ClassDB to create a Object without postinitialization for GDExtension.
2024-08-26 10:51:17 +02:00
Rémi Verschelde 37ae2a2900
Merge pull request #95921 from akien-mga/scons-validate-opt-in-drivers
SCons: Better validation for platform-specific opt-in drivers
2024-08-22 00:10:56 +02:00
Rémi Verschelde 39b77ea04e
Merge pull request #95790 from aaronfranke/rect-aabb-support
Simplify Rect2/AABB `get_support` function
2024-08-22 00:10:39 +02:00
Rémi Verschelde 6e9bcc0f18
SCons: Better validation for platform-specific opt-in drivers
This replaces cryptic compilation errors with a clear error message
and early build termination.
2024-08-21 22:53:34 +02:00
Daylily-Zeleen 3d575801ce Allow ClassDB to create a Object without postinitialization for GDExtension. 2024-08-20 20:19:02 +08:00
Rémi Verschelde 73d42411f0
Merge pull request #95808 from paulloz/bugfix/dotnet-globalclass-icon-relative-paths
Fix relative paths for global class icons in C#
2024-08-20 10:02:47 +02:00
Rémi Verschelde 65c6897e55
Merge pull request #95269 from raulsntos/dotnet/determinant
C#: Expose `Transform2D.Determinant()`
2024-08-20 10:02:07 +02:00
Aaron Franke 7db24a9ad5
Simplify and fix Rect2/AABB get_support function 2024-08-19 23:55:31 -07:00
Paul Joannon 3c0eaec39f
Fix relative paths for global class icons in C# 2024-08-19 18:09:58 +02:00
Rémi Verschelde 3647bc33cd
Merge pull request #93172 from raulsntos/dotnet/clear-instance-bindings
C#: Clear instance bindings callbacks on finalizing the language
2024-08-19 14:33:36 +02:00
Rémi Verschelde 1ac1d03857
Merge pull request #95676 from raulsntos/dotnet/clear-owner-order
C#: Destroy script before clearing owner
2024-08-19 12:09:15 +02:00
Raul Santos c2efbf3012
C#: Use Godot's LipO implementation instead of Xcode's lipo command 2024-08-17 17:52:35 +02:00
Raul Santos 5e7fda8de7
C#: Destroy script before clearing owner
The C# script destructor needs to access the owner (i.e.: to disconnect signals) so we now clear it after the script has been destroyed.
2024-08-17 04:04:57 +02:00
Rémi Verschelde 4bd33df11e
Merge pull request #94766 from Z0rb14n/fix-vector3-slerp
C#: Fix Vector3 `Slerp` normalization error
2024-08-16 23:45:34 +02:00
Rémi Verschelde 0d0eb71694
Merge pull request #94599 from juanjp600/node-array-export-diagnostic
C#: Fix GD0107 not applying to arrays and dictionaries containing nodes
2024-08-16 23:45:26 +02:00
Rémi Verschelde c98d549e65
Merge pull request #95431 from Joy-less/Fix-#10418
C#: Add `NotNullWhenAttribute` to `IsInstanceValid`
2024-08-16 14:34:30 +02:00
Rémi Verschelde 0bf8bee544
Merge pull request #94693 from jonatanrojderd/master
[C#] Change the `VisualShaderNodeCustom` template to use the correct override types and signatures
2024-08-16 14:32:20 +02:00
Jonatan Röjder Delnavaz 74389e8395 * Changed the VisualShaderNodeCustom template to use the correct overrides and added the GlobalClass attribute 2024-08-16 07:26:53 +02:00
Rémi Verschelde c2a4942850
Bump version to 4.4-dev
Mr. Godot still didn't show up...
2024-08-15 11:39:34 +02:00
Joyless 3d43e73181 Add NotNullWhenAttribute to IsInstanceValid 2024-08-12 16:44:09 +01:00
Raul Santos 262671c644
C#: Expose `Transform2D.Determinant()` 2024-08-08 06:31:46 +02:00
Raul Santos f3841d644e
C#: Generate signal delegates with typed arrays
Signals with typed arrays were generating C# delegates with untyped arrays.
2024-07-30 18:39:03 +02:00
Max beaf2b18ce
Fix doc on Vector2.cs's / operator 2024-07-27 14:49:20 -07:00
Z0rb14n 0d6e9de0b9
Fix Vector3 Slerp Normalizing Zero Vectors
Ported the existing zero length check in C++ into C#.
2024-07-26 09:04:54 -07:00
Juan Pablo Arce 8aa444d212 Fix GD0107 not applying to arrays and dictionaries containing nodes 2024-07-24 02:20:29 -03:00
alpacat 2d493e85a9 Fix `get_property_list` get wrong order of properties 2024-06-30 19:48:35 +08:00
Thaddeus Crews cc6dd8d02c
Style: Optimize `.svg` files with `svgo` 2024-06-23 08:15:19 -05:00
Raul Santos 65cd0c86f9
C#: Escape generated members 2024-06-15 19:07:42 +02:00
Raul Santos 13d26fccdd
C#: Clear instance bindings callbacks on finalizing the language
When finalizing the C# language every C# instance is disposed and the instance bindings callbacks are no longer valid. Clearing the instance bindings ensures these callbacks are not called, and since we dispose of every C# instance there should be no leaks.
2024-06-14 20:25:26 +02:00
Hilderin cc990efddf Fix freeze after building C# 2024-06-09 13:40:51 -04:00
Raul Santos 44d4f637a1
C#: Skip method name when checking CallError
When invoking `call`, the arguments contain the method name. This argument must be skipped; otherwise, the `error.argument` index will be off.
2024-06-05 16:53:21 +02:00
Jakub Marcowski d9f8ef68df
Update pre-commit hooks configuration to use `ruff` instead of `black` 2024-05-21 18:02:29 -05:00
Rémi Verschelde c0eb347946
Merge pull request #91557 from AThousandShips/dotnet_doc_fix
[C#] Unexpose `GodotSharp`
2024-05-21 11:22:40 +02:00
Rémi Verschelde 0cf42d6273
Merge pull request #88919 from nongvantinh/fix-88834
Revise implementation of C# `Aabb.GetSupport` to match the implementation in `core`
2024-05-21 11:22:36 +02:00
Marius Hanl 32be459e54 Fix ContextMenu Copy Error is off in MSBuild Panel 2024-05-15 22:55:05 +02:00
Gaoyao Massimo Hu e3270113ca
Remove useless isFirstEntry and useless source.Append("else ") 2024-05-14 07:44:56 +01:00
Rémi Verschelde d24403d056
Merge pull request #91763 from paulloz/dotnet/fix-stringextension-warnings
C#: Fix comparison warnings in `StringExtensions.cs`
2024-05-10 09:56:12 +02:00
Rémi Verschelde 7704457434
Merge pull request #91645 from ZerxZ/dotnet/hint-string-fix
Fix C# Hint NodeType and ResourceType HintString
2024-05-10 09:55:54 +02:00
Rémi Verschelde b7783a43c5
Merge pull request #91564 from paulloz/huisedenanhai-fix_csharp_method_info
CSharpScript should not own method infos of the base class
2024-05-10 09:55:47 +02:00
Paul Joannon af5f695a99
Fix comparison warnings in `StringExtensions.cs` 2024-05-10 09:42:58 +02:00
Paul Joannon 1d7085571e
CSharpScript should not own base script signals 2024-05-09 13:46:25 +02:00
Gaoyao Massimo Hu 06b716d8b3
Fix C# Hint NodeType and ResourceType HintString 2024-05-08 16:22:52 +01:00
A Thousand Ships a0dbdcc3ab
Replace `find` with `contains/has` where applicable
* Replaces `find(...) != -1` with `contains` for `String`
* Replaces `find(...) == -1` with `!contains` for `String`
* Replaces `find(...) != -1` with `has` for containers
* Replaces `find(...) == -1` with `!has` for containers
2024-05-08 12:37:42 +02:00
Rémi Verschelde 9ef50524d0
Merge pull request #91696 from akien-mga/style-file-format
Style: Trim trailing whitespace and ensure newline at EOF
2024-05-08 12:31:32 +02:00
Rémi Verschelde 7d03b1de0b
Style: Trim trailing whitespace and ensure newline at EOF
Found by apply the file_format checks again via #91597.
2024-05-08 10:12:46 +02:00
Paul Joannon c2d72a691f
Specify a runtime rollforward for OpenVisualStudio
Use `LatestMajor`

Fixes #91638
2024-05-07 19:40:25 +02:00
Rémi Verschelde 4b070e8031
Fix various typos with codespell
Using 2.2.7.dev217+g10c2abcf.

Had to add `colour` to the ignore list as we used it as an alias/keyword for the
documentation of color-related APIs.
Also ignore recommendations to change `thirdparty` to either `third-party` or
`third party`, which are correct but we use the former fairly consistently.
2024-05-07 10:08:42 +02:00
huisedenanhai c313312ff5
CSharpScript should not own method infos of the base class 2024-05-04 18:54:37 +02:00
A Thousand Ships 955d5affa8
Reduce and prevent unnecessary random-access to `List`
Random-access access to `List` when iterating is `O(n^2)` (`O(n)` when
accessing a single element)

* Removed subscript operator, in favor of a more explicit `get`
* Added conversion from `Iterator` to `ConstIterator`
* Remade existing operations into other solutions when applicable
2024-05-04 16:08:55 +02:00
A Thousand Ships aff2e47bff
[C#] Unexpose `GodotSharp`
This class seems to have been exposed accidentally, and breaks
documentation on non-mono builds, requiring hacks
2024-05-04 14:09:42 +02:00
Rémi Verschelde 9ed8399514
Merge pull request #91509 from akien-mga/dotnet-fix-generating-glue-in-project-folder
.NET: Prevent generating mono glue in project folder
2024-05-04 11:52:32 +02:00
Rémi Verschelde 629e91acff
Merge pull request #91479 from Repiteo/dotnet/sln-csproj-attributes
C#: Fix attributes for `sln`/`csproj` files
2024-05-04 11:52:29 +02:00
Rémi Verschelde 458106a73e
Merge pull request #91203 from pirey0/stringcomp_fix
C#: Fix `StringExtensions.CompareTo` IndexOutOfRangeException
2024-05-04 11:52:25 +02:00
Thaddeus Crews 64f2e8b64f
Dotnet: Fix attributes for `sln`/`csproj` files 2024-05-03 12:21:51 -05:00