Commit Graph

706 Commits

Author SHA1 Message Date
Thaddeus Crews 48428bd087
C#: Match Core implementation of `BinToInt` & `HexToInt` 2024-02-17 11:59:14 -06:00
Rémi Verschelde dfe226b933
Merge pull request #88270 from TokageItLab/avoid-near-far
Avoid unqualified-id "near" and "far" in Node3DEditor/Viewport
2024-02-13 11:25:24 +01:00
Silc Lizard (Tokage) Renew 67e38709fd Avoid unqualified-id "near" and "far" in Node3DEditor/Viewport 2024-02-13 18:53:21 +09:00
Zae 8245157682 C#: Fix missing CowData 64-bit promotion for `PackedInt32Array`. 2024-02-13 12:19:48 +08:00
Raul Santos 5815d1c8c8
Improve handling of generic C# types
- Create CSharpScript for generic C# types.
  - `ScriptPathAttributeGenerator` registers the path for the generic type definition.
  - `ScriptManagerBridge` lookup uses the generic type definition that was registered by the generator.
  - Constructed generic types use a virtual `csharp://` path so they can be registered in the map and loaded as if there was a different file for each constructed type, even though they all share the same real path.
  - This allows getting the base type for a C# type that derives from a generic type.
- Shows base scripts in the _Add Node_ and _Create Resource_ dialogs even when they are generic types.
  - `get_global_class_name` implementation was moved to C# and now always returns the base type even if the script is not a global class (this behavior matches GDScript).
- Create `CSharpScript::TypeInfo` struct to hold all the type information about the C# type that corresponds to the `CSharpScript`, and use it as the parameter in `UpdateScriptClassInfo` to avoid adding more parameters.
2024-02-08 18:31:13 +01:00
Rémi Verschelde d0f8b76ffd
Merge pull request #87838 from paulloz/dotnet/fix-duplicate-key-on-reload
C#: Fix duplicate key issue on reload
2024-02-02 12:05:14 +01:00
Paul Joannon 999180d5b5
Delay fs update when populating path bimap 2024-02-01 22:06:40 +01:00
Zae 1e14503715 C#: Fix issues for StringName reference in `CSharpInstanceBridge.Get`. 2024-01-29 02:04:02 +08:00
Rémi Verschelde 563e385810
Merge pull request #87526 from zaevi/fix_csharp_gc
C#: Fix incorrect GC handle for non-instantiable types.
2024-01-26 11:47:25 +01:00
Paul Joannon 46b3096570
Clean a bunch of C# warnings
- `[Obsolete]` tag generated in the middle of documentation comments
- Potential `null` values in generators
- Obsolete call to `GetEditorInterface()`
- We don't want `Godot.Collections.Array` to end with `Collection`
- A few culture specifications and use of `AsSpan` instead of `SubString` in `StringExtensions`
- Disable CA1716 in GodotSharp
2024-01-26 09:38:33 +01:00
Zae 201e946741 C#: Fix incorrect GC handle for non-instantiable types. 2024-01-25 02:40:08 +08:00
Rémi Verschelde 0bcc0e92b3
Merge pull request #86730 from reduz/64-bit-cowdata
Promote CowData to 64 bits
2024-01-19 18:46:11 +01:00
Juan Linietsky 24fe0715b5 Promote CowData to 64 bits
Fixes a lot of bugs, please help me fill the list.
2024-01-19 17:41:10 +01:00
Yuri Sizov b6a2c78033 Merge pull request #87286 from akien-mga/fix-preprocessor-if-ENABLED-checks
Fix `#if *_ENABLED` inconsistencies, should check if defined
2024-01-17 18:53:33 +01:00
Rémi Verschelde 0a7579b161
Fix `#if *_ENABLED` inconsistencies, should check if defined
Co-authored-by: Caroline Joy Bell <halotroop2288@proton.me>
2024-01-17 10:30:15 +01:00
A Thousand Ships 227a165ce4
[C#] Fix `Encloses` failing on shared upper bound for `AABB` and
`Rect2(I)`
2024-01-16 20:20:53 +01:00
Zae 51c54b03d1 C#: Fix return type hint for methods. 2024-01-09 04:28:17 +08:00
Rémi Verschelde 22e880ad20
Merge pull request #83163 from Chubercik/vectorXi_dist_methods
Implement `Vector2i/3i/4i` methods: `distance_to` and `distance_squared_to`
2024-01-03 09:58:36 +01:00
Raul Santos abd7927325
C#: Use string literal instead of nameof
Using `nameof` expressions with method parameters requires C# 11 and we're currently on C# 10.
2023-12-21 03:11:47 +01:00
Yuri Sizov ef79e5d9dd Merge pull request #82983 from Repiteo/c#-godotsharp-nullable-classes
[C#] Enable nullability for variant classes
2023-12-19 20:32:30 +01:00
Yuri Sizov f478a599fc Merge pull request #85975 from Repiteo/c#-null-ptr-exception
C#: Implement function to throw on null pointers
2023-12-19 13:02:24 +01:00
Thaddeus Crews a0db88335a
Implement function to throw on null pointers
• Specifically: checks if ptr == IntPtr.Zero
2023-12-17 08:52:20 -06:00
Thaddeus Crews 08e44123cb
[C#] Enable nullability for variant classes 2023-12-09 12:42:10 -06:00
Thaddeus Crews db7a643e1c
[C#] Enable nullability for variant structs 2023-12-09 12:41:53 -06:00
Rémi Verschelde d76c1d0e51
Bump version to 4.3-dev
The essential doesn't change.

-- Samuel Beckett, Waiting for Godot
2023-11-29 23:00:27 +01:00
Rémi Verschelde 313bffc205
Merge pull request #83357 from raulsntos/dotnet/ConvertCallableToNative(default)
C#: Fix converting default Callables to native
2023-11-10 21:55:22 +01:00
A Thousand Ships 668761fa8e Rename `Vector2/3/4I.Min/Max` to `MinValue/MaxValue`
More consistent with the `Mathf` constants they reference
2023-11-09 14:16:53 +01: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
kleonc 408de3b091 Clarify C# docs for operators performing xform_inv 2023-10-17 19:49:42 +02:00
Raul Santos d525a45e5c
C#: Fix converting default Callables to native 2023-10-15 02:02:58 +02:00
Zae 55f74d99f4 C#: Fix lookup for singleton instance types. 2023-10-13 16:40:46 +08:00
Jakub Marcowski cb954c6bab Implement `Vector2i/3i/4i` methods: `distance_to` and `distance_squared_to` 2023-10-12 13:46:49 +02: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
Thaddeus Crews d5d5af653e
C# - Fix inheritdoc links in Compat.cs 2023-10-08 09:14:28 -05: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
Raul Santos 1dbecc3ff1
Add C# compat members for 4.2 changes 2023-10-03 19:34:39 +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 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
朱力 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
Danil Alexeev aff767ef07
Fix expected argument count for `Callable` call errors 2023-09-29 20:00:10 +03:00
Raul Santos f60cff1cb2
C#: Remove compat method that is now generated 2023-09-26 16:12:10 +02:00
Rémi Verschelde 42011d8673
Merge pull request #82240 from jaros3/vector2i-gethashcode
[C#] Use `HashCode.Combine()` for basic composite types instead of xor
2023-09-26 13:45:18 +02:00
Rémi Verschelde 017541bcec
Merge pull request #80527 from raulsntos/dotnet/generate-compat-methods-from-classdb
C#: Generate and use compat methods
2023-09-26 13:44:52 +02:00
bruvzg bc6585a5a7
[RTL] Add support for image dynamic updating, padding, tooltips and size in percent. 2023-09-26 09:39:51 +03:00
Rémi Verschelde d759f91f8d
Merge pull request #81101 from 398utubzyt/dotnet/abstract-class-support
C#: Add abstract class support
2023-09-25 17:18:05 +02:00
Jaroslav Wegner f1bab5fa51 [C#] Use `HashCode.Combine()` for basic composite types instead of xor 2023-09-25 13:56:23 +03:00
Rémi Verschelde ce0fa4c691
Merge pull request #81783 from zaevi/fix-csharp-static-method
C#: make C# static methods accessible.
2023-09-20 18:55:10 +02:00