Commit graph

2329 commits

Author SHA1 Message Date
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