K. S. Ernest (iFire) Lee
f9b488508c
Add PackedVector4Array Variant type
...
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-05-03 00:58:27 +02:00
A Thousand Ships
0f5e0d1637
Expose `Vector*` component-wise and scalar `min/max` to scripting
2024-05-02 13:02:40 +02:00
A Thousand Ships
308dbb8c63
[Core] Add scalar versions of `Vector*` `min/max/clamp/snap(ped)`
...
Convenience for a number of cases operating on single values
2024-05-02 10:31:13 +02:00
Konstantin Kretov
2b46e009fa
Fill copyright field in .csproj files
...
This ensures that nuget packages will have both license and copyright fields filled.
2024-04-26 11:41:04 +02:00
Raul Santos
509d4f5302
C#: Fix ExprMatch for case sensitive matching
...
We were accidentally stopping the recursion when matching in the case sensitive scenario.
Took the opportunity to also rename the private method to follow the Core method naming more closely so it's easier to compare the implementations in the future.
Also, the private method now uses `ReadOnlySpan<char>` to avoid allocating strings on each recursion.
2024-04-15 03:15:28 +02:00
Rémi Verschelde
368d6db6cc
Merge pull request #90060 from warquys/CSharp-DebugInfo
...
Add DebugView for Array and Dictionary, based of the DebugView from the .NET Foundation
2024-04-08 11:20:46 +02:00
Valentin Arthur Thomas
f8c482b19a
DebugView for Array and dictionary
2024-04-05 19:55:37 +02:00
Paul Joannon
c310ecce13
Fix captured variable serialization in delegates
2024-04-04 18:46:11 +02:00
kleonc
e2ed63b313
[C#] Fix `Transform3D.InterpolateWith` applying rotation before scale
2024-03-24 09:31:20 +01:00
Rémi Verschelde
3895639f72
Merge pull request #89756 from zaevi/dotnet/fix_null_array
...
C#: Fix errors when creating `Variant` from null array
2024-03-24 01:23:18 +01:00
Zae
833a03fbf6
C#: Fix errors when creating Variant from null array
2024-03-21 23:55:44 +08:00
Thaddeus Crews
300aa202c8
C#: Implement `InvariantCulture` on Variant strings
2024-03-15 19:43:00 -05:00
A Thousand Ships
59bcc2888c
Add methods to get argument count of methods
...
Added to:
* `Callable`s
* `Object`s
* `ClassDB`
* `Script(Instance)`s
2024-03-10 11:02:43 +01:00
Paul Joannon
7290e7d7a5
C#: Fix warnings
...
- Fix most CS0108 in generated glue
- Suppress CA1001 on `Variant`
2024-03-09 17:05:23 +01:00
A Thousand Ships
5aadb8660b
[C#] Fix typo in `Color` documentation
2024-03-02 18:13:01 +01:00
Rémi Verschelde
f2045ba822
Merge pull request #88933 from raulsntos/dotnet/pre-commit
...
Move dotnet-format script to pre-commit
2024-03-02 10:48:25 +01:00
Raul Santos
97851f0340
Move dotnet-format script to pre-commit
...
Co-authored-by: Paul Joannon <437025+paulloz@users.noreply.github.com>
2024-03-02 08:25:48 +01:00
Travis Lange
09c6cb1250
Fix C# epsilon compiler error on double precision build
2024-02-29 08:25:37 -05:00
Rémi Verschelde
ed2ff19cd7
Merge pull request #88909 from emre0altan/clarify-c#-color-opacity-comment
...
Clarify C# Color opacity comment
2024-02-27 21:23:07 +01:00
Paul Joannon
139a5df821
Cleanup C# projects, code quality & style
...
New rules:
- Do not silence CA1805 any more
- Limit where we silence CA1707, CA1711, CA1720
- Enforce severity=warning for IDE0040
- Enforce Allman style braces
- Enforce naming conventions (IDE1006 is still severity=suggestion)
Fixes:
- Fix REFL045, CS1572, CS1573
- Suppress CS0618 when generating `InvokeGodotClassMethod`
- Fix indent when generating GD_constants.cs
- Temporarily silence CS1734 in generated code
- Fix a lot of naming rule violations
Misc.:
- Remove ReSharper comments for RedundantNameQualifier
- Remove suppression attributes for RedundantNameQualifier
- Remove severity=warnings for CA1716, CA1304 (already included in the level of analysis we run)
2024-02-27 20:11:24 +01:00
Nông Văn Tình
52c4abea17
Revise implementation to match the implementation in `core`
...
Fixes : #88834
2024-02-27 23:19:15 +07:00
emre0altan
4100a23c5e
Clarify C# Color opacity comment
2024-02-27 15:56:21 +00:00
Rémi Verschelde
9509a9e8dd
Merge pull request #83691 from theraot/slidedocs
...
Expanded documentation for vector slide and project
2024-02-26 10:48:37 +01:00
Raul Santos
5ba92e5a57
Fix some DEFVALs to use the right type
...
- Use `StringName()` in DEFVAL for StringNames.
- Use `Variant()` in DEFVAL for Variants.
2024-02-23 01:50:18 +01:00
Thaddeus Crews
000d12d237
C#: Enforce Globalization code quality rules
2024-02-20 11:15:12 -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
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
Theraot
8777c05817
Expanded documentation for vector slide and project
2023-10-23 06:16:07 -05: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
Zae
67e1373e5a
C#: make C# static methods accessible.
2023-09-20 22:49:33 +08:00
Raul Santos
5f6082a96b
C#: Generate and use compat methods
...
- Implements `ClassDB::get_method_list_with_compatibility` to retrieve all methods from a class including compat methods.
- C# bindings generator now also generates compat methods.
- All generated C# methods now use `ClassDB::get_method_with_compatibility`.
2023-09-19 20:35:11 +02:00
Thaddeus Crews
657d81e056
C#: CS1591 from `none` to `suggestion`
2023-09-19 13:12:06 -05:00
Rémi Verschelde
c78d0e2eb0
Merge pull request #81819 from Chaosus/cs_max_min_vectors
...
Add Vector2/3/4i.MAX and MIN (C#)
2023-09-19 09:04:05 +02:00
Yuri Roubinski
cf3008cb05
Add Vector2/3/4i.MAX and MIN (C#)
2023-09-17 22:12:59 +03:00
Thaddeus Crews
e43b63ab98
C# - bindings_generator warnings to .editorconfig
2023-09-16 11:55:04 -05:00
398utubzyt
2df37a237a
C#: Abstract script class support
2023-09-15 20:35:25 -07:00
Rémi Verschelde
00e14f39fd
Merge pull request #81230 from SamiKalliomaki/array-dispose
...
Fix double unregistration on dispose of Array.
2023-09-04 09:08:35 +02:00
Rémi Verschelde
0215d53a10
Merge pull request #81229 from raulsntos/dotnet/arc-hyperbolic
...
C#: Expose `asinh`, `acosh` and `atanh` in Mathf
2023-09-04 09:08:12 +02:00
Sami Kalliomäki
43a6748dfd
Do not call Array default constructor when not necessary.
...
This fixes a bug where Array would get registered twice with the
DisposablesTracker causing an exception on shutdown.
Fixes #81231
2023-09-03 11:25:23 +01:00
Raul Santos
f90005072c
C#: Expose `asinh`, `acosh` and `atanh` in Mathf
2023-09-02 12:00:02 +02:00
Thaddeus Crews
f735aa1fc2
C#: Include argument types in generated methods
...
• Prevents warnings over ambiguous references with Compat.cs
• Fix typo in Compat.cs causing AddCodeCompletionOption documentation to inherit itself
2023-08-14 16:15:49 -05:00
Raul Santos
6b713b1682
C#: Generate instance types for singletons
2023-08-06 00:48:22 +02:00
Rémi Verschelde
8b6c867c81
Merge pull request #79280 from raulsntos/dotnet/better-push-error
...
C#: Improve `GD.PushError` and `GD.PushWarning`
2023-08-03 14:46:44 +02:00
Rémi Verschelde
ed301a4078
Merge pull request #79249 from raulsntos/dotnet/dont-ignore-call-error
...
C#: Print error when MethodBind/Callable call fails
2023-08-02 12:16:15 +02:00
AbeniMatteo
e5d8ac4020
Avoid dictionary lookup for common colors
2023-07-30 09:17:59 +02:00
Raul Santos
77e5e195f5
C#: Print error when MethodBind/Callable call fails
2023-07-28 19:18:08 +02:00
Yuri Sizov
000bf3733e
Merge pull request #79748 from Repiteo/dotnet-documentation-fixes
...
Fix issues in C# documentation comments
2023-07-25 21:51:28 +02:00
Yuri Sizov
b78fe83ed4
Merge pull request #79239 from raulsntos/dotnet/document-generated-members
...
C#: Document generated members
2023-07-25 21:51:20 +02:00
Thaddeus Crews
0bfc52b02b
Fixes to existing C# documentation
...
• changes instances of `see paramref` to `paramref name`
• specifies `real_t` for ambiguous methods
2023-07-21 10:34:42 -05:00
Yuri Sizov
9c74f3408b
Merge pull request #79082 from geowarin/master
...
Add missing useModelFront parameter to GodotSharp Basis and Transform
2023-07-17 16:50:28 +02:00
Yuri Sizov
e4c89a0278
Merge pull request #78877 from mattdiener/master
...
C# Fix deserialization of delegates that are 0-parameter overloads
2023-07-12 15:09:36 +02:00
Raul Santos
13ab2b6f4f
C#: Improve `GD.PushError` and `GD.PushWarning`
...
- Use the name, file path and line number of the caller that invokes
`GD.PushError` and `GD.PushWarning` instead of the location in the C++
`runtime_interop.cpp` file.
- Improvements to getting the C# stack trace.
- Use C# type keywords for built-in types in method declarations.
- Remove extra space before each parameter in method declarations.
- Skip one more frame to avoid `NativeInterop.NativeFuncs`.
- Skip methods annotated with the `[StackTraceHidden]` attribute.
- Improvements to `ScriptEditorDebugger` when source is in project.
- Avoid overriding error metadata when the source is inside the
project file.
- Use the source function in the title when the source is inside
the project file.
Users that use these methods would expect the reported location printed
by these methods to correspond to a location in their project source files.
Specifically, they'd expect to see the file path and line number at which
they call these methods, and not the location of the C++ code (which is
always the same). Now, these methods are a lot more useful since users
can know which line in their source code printed the error/warning.
2023-07-11 11:19:11 +02:00
Raul Santos
12e4aa93b3
C#: Document generated members
...
Documents generated members and tries to discourage users from calling/overriding internal methods that only exist to be used by the engine.
2023-07-09 14:26:15 +02:00
RedworkDE
693e6e036b
C#: Add null check before calling `UnregisterGodotObject`
2023-07-07 13:10:16 +02:00
Rémi Verschelde
26a58976e7
Merge pull request #79094 from raulsntos/dotnet/fix-symbol-comparison
...
C#: Compare symbol names without null flow state
2023-07-07 08:35:20 +02:00
Geoffroy Warin
6c6e5c482c
Add missing useModelFront parameter to GodotSharp Basis and Transform
...
To LookAt methods.
Also adds Vector3 Model constants.
These were not added after #76082 was merged.
2023-07-06 19:01:02 +02:00