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
Rémi Verschelde
baec8da3b3
.NET: Prevent generating mono glue in project folder
...
Fixes #83128 .
2024-05-03 14:24:35 +02:00
Luca Martinelli (laptop)
c02540bd66
fixed StringExtensions.CompareTo IndexOutOfRangeException
...
fixes #91118
marked CompareTo obsolete
dropped CompareTo [-1,1] range
Co-authored-by: Raul Santos <raulsntos@gmail.com>
2024-05-03 10:13:06 +02:00
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
Rémi Verschelde
4eaafc8fa8
Merge pull request #91375 from paulloz/dotnet/prevent-generator-crash-on-exported-unconstructed-generic-arrays
...
C#: Fix generator crash w/ generic arrays
2024-05-02 12:46:42 +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
Raul Santos
1510f88ae1
C#: Ignore late bound methods in MustBeVariantAnalyzer
...
If symbol is late bound (as is the case when using `dynamic`) we can't obtain the symbol to analyze the usage of `[MustBeVariant]`.
2024-05-01 03:18:21 +02:00
Paul Joannon
aba787393f
C#: Fix generator crash w/ generic arrays
2024-04-30 22:22:09 +02:00
Aaron Franke
1bcbbe96c4
Organize existing code for editor plugins
2024-04-27 11:59:58 -07: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
Paul Joannon
f2efa545d6
Enforce using .NET SDK >= 8 in modules/mono/
2024-04-23 22:54:22 +02:00
Rémi Verschelde
2b42352c99
Merge pull request #90968 from raulsntos/fix-gdscript-analyzer-with-overloaded-dotnet-methods
...
C#: Don't return MethodInfo for overloaded methods
2024-04-22 12:53:47 +02:00
Rémi Verschelde
1a6e4ce906
Merge pull request #90002 from raulsntos/dotnet/expose-property-accessors
...
C#: Make internal properties and property accessors public (but hidden)
2024-04-22 12:51:42 +02:00
Raul Santos
7316918a0f
C#: Don't return MethodInfo for overloaded methods
...
This means the GDScript analyzer loses the method signature information so it can't do type checking for the parameters.
2024-04-21 05:32:47 +02:00
Paul Joannon
1627287586
Change order of operation for C# types reloading
...
We now deserialize callables before reloading property states, in case a property is doing anything with the callable in its getter and/or setter.
2024-04-18 09:38:58 +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
bruvzg
bf558adcdd
[.NET] Disable output embedding on macOS, move it to the advanced options on other platforms.
2024-04-09 17:47:39 +03: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
Nông Văn Tình
316f253558
Show errors when solution file is missing in C# project
...
Fixes : #86591
Co-authored-by: Raul Santos <raulsntos@gmail.com>
2024-04-07 00:25:34 +07:00
Valentin Arthur Thomas
f8c482b19a
DebugView for Array and dictionary
2024-04-05 19:55:37 +02:00
Rémi Verschelde
f2cc814f35
Merge pull request #90118 from AyOhEe/sln-title-fix
...
Fix "Create C# solution" dialog
2024-04-05 12:16:10 +02:00
Paul Joannon
c310ecce13
Fix captured variable serialization in delegates
2024-04-04 18:46:11 +02:00
Rémi Verschelde
c196d12e23
Merge pull request #84947 from raulsntos/dotnet/instance_bindings
...
C#: Use `get_instance_binding` instead of set
2024-04-04 14:30:35 +02:00
AyOhEe
e18fb27d70
Fixed "Create C# solution" dialog
...
Flipped the title and dialog text to how they should be. It seemed that the title was being put in the dialog text, and vice versa.
2024-04-01 23:01:40 +01:00
Raul Santos
7d08e8727b
C#: Make internal properties and property accessors public (but hidden)
...
Instead of making the accessors `internal` which can break binary compat, make them `public` but hide them with EB never so they don't show up in IntelliSense.
Also, do the same for properties with the `PROPERTY_USAGE_INTERNAL` flag. These properties were not meant to be exposed to scripting, but since they've been public before all we can do now is hide them.
2024-03-29 20:36:04 +01: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
Rémi Verschelde
1c2ff17f12
Merge pull request #89652 from invino4/patch-1
...
Add property `UsingGodotNETSdk` to Godot.NET.Sdk
2024-03-24 01:20:29 +01:00
Zae
833a03fbf6
C#: Fix errors when creating Variant from null array
2024-03-21 23:55:44 +08:00
Jason Hunter
bdbd9995f8
Add property UsingGodotNETSdk to Godot.NET.Sdk
...
The Godot.NET.Sdk (for C# use) should define the property `UsingGodotNETSdk` in its [SDK.props](a07dd0d6a5/modules/mono/editor/Godot.NET.Sdk/Godot.NET.Sdk/Sdk/Sdk.props
).
## Why
Defining this property allows shared build configuration (e.g. Directory.Build.targets or other imported msbuild files) to detect deterministically when they are operating within the scope of a project controlled by Godot.NET.Sdk. This enables shared build configuration that may span many different projects within a folder to have Godot.NET.Sdk-specific configuration that only applies to Godot projects.
## Why named UsingGodotNETSdk
This naming scheme is common practice in Microsoft Dotnet SDKs. For example, the property `UsingMicrosoftNETSdk` is defined by the default SDK, `UsingMicrosoftTraversalSdk` is defined by [Microsoft.Build.Traversal](363532de5b/src/Traversal/Sdk/Sdk.props (L10)
), `UsingMicrosoftNoTargetsSdk` by [Microsoft.Build.NoTargets](363532de5b/src/NoTargets/Sdk/Sdk.props (L10)
), and so on. The property `UsingMicrosoftNETSdk` is even used in the implementation of Godot.NET.Sdk for conditional logic of the type predicted here.
Note that these "Using*" properties are _additive_ in the sense that more than one can be defined for a given project (as SDKs can effectively be built upon other SDKs, using them as components). So, it is normal and appropriate for both `UsingMicrosoftNETSdk` and `UsingGodotNETSdk` to be simultaneously defined within the same project.
2024-03-18 09:48:52 -07:00
Thaddeus Crews
300aa202c8
C#: Implement `InvariantCulture` on Variant strings
2024-03-15 19:43:00 -05:00
Rémi Verschelde
a1c476f9d7
Merge pull request #87680 from AThousandShips/the_angry_count
...
Add methods to get argument count of methods
2024-03-13 22:16:43 +01:00
Thaddeus Crews
3b3e2374c9
clang-tidy: Enforce `modernize-use-nullptr`
2024-03-12 10:59:53 -05:00
Thaddeus Crews
fb299d0fb1
SCons: Ensure `with` statement where applicable
2024-03-10 12:57:57 -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
Rémi Verschelde
0ace0a1292
Merge pull request #89333 from Repiteo/enforce-eol-python
...
Enforce `\n` eol for Python writes
2024-03-09 22:20:23 +01:00
Thaddeus Crews
d9fa40f2df
Enforce `\n` eol for Python writes
...
• Ensure utf-8 encoding if previously unspecified
2024-03-09 14:29:24 -06: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
RedMser
2bd714e34e
Allow configuring the script filename casing rule
...
Defaults to "Auto", which detects the casing based on the
preference of the currently selected language (C# for example
prefers PascalCase whereas GDScript prefers snake_case).
2024-03-05 09:43:29 +01:00
Rémi Verschelde
dd2a611118
Merge pull request #89092 from AThousandShips/csharp_doc
...
[C#] Fix typo in `Color` documentation
2024-03-04 13:34:06 +01:00
Rémi Verschelde
6315429999
Merge pull request #89007 from paulloz/dotnet/fix-interpolated-string-scriptpropertydefval
...
[.NET] Fix interpolated strings in ScriptPropertyDefVal
2024-03-04 13:33:25 +01:00
Rémi Verschelde
5d3369e095
Merge pull request #85153 from Repiteo/scons-improve-logs
...
SCons: Add two new `COMSTR` environment variables
2024-03-04 13:32:38 +01:00
Rémi Verschelde
1598af5668
Merge pull request #83504 from Repiteo/c#-generator-langword-check
...
C#: Bindings generator langword check
2024-03-04 13:32:34 +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
Thaddeus Crews
0ce9b6fd1d
Add two new COMSTR environment variables
2024-03-01 12:44:03 -06:00
Paul Joannon
42233284b1
Fix interpolated strings in ScriptPropertyDefVal
2024-03-01 11:24:46 +01:00
Rémi Verschelde
b0c184c9c9
Merge pull request #88994 from TCROC/fix-c#-missing-epsilon-64bit
...
Fix C# epsilon compiler error on double precision build
2024-02-29 15:18:47 +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
172b254687
Merge pull request #88664 from RandomShaper/res_load_modes
...
Enhance cache modes in resource loading
2024-02-29 13:54:07 +01: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
Rémi Verschelde
a64cb8eff3
Merge pull request #88570 from paulloz/dotnet/warnings-editorconfig-cleanup
...
[.NET] Better `.editorconfig` setup in `modules/mono/`
2024-02-27 21:23:03 +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
Thaddeus Crews
be7019de0f
C#: Only check for empty deprecation message if deprecated
2024-02-27 10:22:32 -06: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
730ef374b4
Merge pull request #88652 from RobProductions/fix-hover-margin
...
Fix editor hover style margins when Draw Extra Borders is enabled
2024-02-27 10:17:34 +01:00
Pedro J. Estébanez
5e144022e7
Enhance cache modes in resource loading
...
- Unify documentation, hoping to clear misconcepctions about about propagation of the cache mode across dependant loads.
- Clarify in docs that `CACHE_MODE_REPLACE` now also works on the main resource (from #87008 ).
- Add two recursive modes, counterparts of `CACHE_MODE_REPLACE` and `CACHE_MODE_IGNORE`, since it seems some need them (see #59669 , #82830 ).
- Let resources, even loaded with one of the ignore-cache modes, get a path, which is useful for tools.
2024-02-26 14:59:04 +01:00
Rémi Verschelde
762ea7a0b2
Merge pull request #88730 from raulsntos/dotnet/deprecated-message
...
C#: Add deprecated message to generated bindings
2024-02-26 10:49:05 +01:00
Rémi Verschelde
5059dd91f3
Merge pull request #88692 from nongvantinh/fix-88543
...
Fix Script Editor saves C# files as embedded scripts.
2024-02-26 10:49:01 +01: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