1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-07 12:30:27 +00:00
Commit Graph

562 Commits

Author SHA1 Message Date
Lukas Tenbrink
1bf821c1e1 Store current capacity in CowData buffers, and rewrite most of it.
Add `reserve` to `CowData`, `Vector` and `Array`.

# Conflicts:
#	core/os/memory.h
#	core/templates/cowdata.h
2025-09-25 22:00:17 +02:00
Thaddeus Crews
d8b057d06d Merge pull request #108974 from Joy-less/Improve-IsNormalized()
Improve `IsNormalized()` in C#
2025-09-22 08:50:06 -05:00
Thaddeus Crews
7738626d25 Merge pull request #107800 from Joy-less/add-ROS-overload-for-Callable.Call
Add `ReadOnlySpan<Variant>` overload for `Callable.Call`
2025-09-20 13:41:36 -05:00
Thaddeus Crews
9a76f55518 [C#] Add documentation for Interfaces/Attributes 2025-09-19 11:57:42 -05:00
Thaddeus Crews
8b4b93a82e Merge pull request #105950 from Joy-less/Fix-array-span-constructors
Fix array span constructors in C#
2025-09-17 11:34:19 -05:00
Thaddeus Crews
f73d3db412 Merge pull request #108527 from raulsntos/dotnet/enum-variant-conversion
[.NET] Fix enum from/to Variant conversion
2025-09-16 11:44:50 -05:00
Thaddeus Crews
c2141e0aa5 Bump version to 4.6-dev 2025-09-15 15:50:22 -05:00
Raul Santos
dd662f9c6a [.NET] Fix Quaternion(Vector3, Vector3) constructor when vectors are the same. 2025-08-03 20:26:20 +02:00
Joyless
cbc7dac0d5 Improve IsNormalized() 2025-07-25 17:53:38 +01:00
Raul Santos
8950744921 [.NET] Fix enum from/to Variant conversion
- `typeof(T).IsEnum` and `typeof(T).GetEnumUnderlyingType()` are intrinsified in .NET 8+ so we can simplify the code in VariantUtils a bit.
- Consider whether enum `T` is signed in VariantUtils to preserve it.
2025-07-11 20:14:23 +02:00
Preslav.Laptop
85d2a23a62 Move the script reload function to outside the
lock to prevent worker threads from the
ResourceLoader::load method from causing a
deadlock
2025-07-02 19:11:20 +02:00
Rémi Verschelde
5aefc2eca8 Merge pull request #108041 from bs-mwoerner/cs_get_extension
C#: Fix return value of `StringExtensions.GetExtension()`
2025-06-28 13:03:24 +02:00
Michael Wörner
77208a62a4 Fix String.GetExtension() return value.
It previously returned the string itself when it should return an empty string according to the docs/examples and the C++ counterpart String::get_extension().
2025-06-27 12:01:11 +02:00
danielgsilva
ed1e8a1460 Fix mismatch of constructors 2025-06-26 10:35:47 +01:00
Joyless
d956bcf749 Add ROS overload for Callable.Call 2025-06-21 13:43:52 +01:00
Rémi Verschelde
7e9b709917 Merge pull request #102837 from raulsntos/dotnet/fix-reload-callables
[.NET] Skip serializing delegates with a disposed target
2025-06-13 15:53:33 +02:00
Rémi Verschelde
d1083c9722 Improve error messages for method calls expecting only 1 argument 2025-06-12 17:02:59 +02:00
LuoZhihao
44f5974bb7 C#: Add Basis.ScaledLocal 2025-06-09 12:32:48 +08:00
Rémi Verschelde
9d0b4ee74f Merge pull request #105927 from Joy-less/Don't-create-unnecessary-arrays-in-C#
Don't create unnecessary arrays in C#
2025-06-05 13:11:06 +02:00
LuoZhihao
fc8328d5f1 C#: Expose byte array compress and decompress 2025-05-25 23:42:23 +08:00
Joyless
14783cd8b8 Fix array span constructors 2025-05-13 13:28:00 +01:00
Rémi Verschelde
599a956f6f Merge pull request #106177 from eyalzus12/feature/stackalloc-Projection
C#: Use `stackalloc` to create the pivot arrays in `Projection.Inverse`
2025-05-13 01:05:00 +02:00
Rémi Verschelde
b44aa1ad9d Merge pull request #105104 from Joy-less/use-frozen-dictionary
Use `FrozenDictionary` for `NamedColors`
2025-05-13 01:04:39 +02:00
EyalZusiman
2ebfeef4a8 C#: use stackalloc to create the pivot arrays in Projection.Inverse 2025-05-08 18:27:32 +03:00
Fredrik Lindahl
01056f369a [.NET] Avoid heap allocation when using StringNames as key in a Collection.Dictionary.
Changed StringName GetHashCode to call godot_string_name.GetHashCode instead of godot_string_name's (which was not overridden) as this otherwise leads to heap allocations when e.g. calling the indexer in a Dictionary with `StringName` type as Key.
2025-05-08 08:41:22 +02:00
Joyless
e9da0dfd30 Don't create unnecessary arrays in C# 2025-04-29 23:57:26 +01:00
Thaddeus Crews
561dc6ced6 Merge pull request #104689 from Delsin-Yu/csharp-getset-alloc-perf
[.Net] Avoid unnecessary StringName allocations on not implemented virtual _Get and _Set method call
2025-04-14 19:39:53 -05:00
DE-YU_H14
f0ec392bb1 [.Net] Avoid StringName allocations if type does not defines _Get or _Set 2025-04-12 03:39:24 +08:00
Zae
e8311840e4 [.NET] Fix string.PathJoin to be consistent with core 2025-04-11 23:21:29 +08:00
Priahoud
bf963e767e Add Options, Functions and Settings to convert Node-Names and Strings to kebab-case
- refactored and renamed String::_camelcase_to_underscore to String:_separate_compound_words
- refactored String::to_snake_case to work with the refactored String::_separate_compound_words
- created char_utils::is_hyphen to catch all hyphen variants in kebab-case conversion
- created String::to_kebab_case using the new String::_separate_compound_words
- created corresponding Documentation in String and StringName
- simplified both switch statements in EditorNode and ProjectDialog
- added new kebab-casing Option for Node Names in ProjectSettings
- added missing camelCase Options to Scene- and Node-Names in ProjectSettings
- simplified Mono RuntimeInterop Functions
- hooked up the ConnectionsDialog
- created additional Unit Tests
2025-04-10 21:22:21 +02:00
Joyless
f7f6e5ee21 Use FrozenDictionary 2025-04-06 20:13:02 +01:00
DE YU
af67fb1f62 Avoid array allocation when signal have 0 arg 2025-04-06 16:02:35 +08:00
Aaron Franke
ced61da848 Add missing Projection constructor with 16 real_t values 2025-03-14 02:57:19 -07:00
Thaddeus Crews
4af4b66d1b Merge pull request #102765 from Delsin-Yu/csharp-typed-collections-documentation-improvments
[C#] Improve Documentation for Typed `Godot.Collections` Wrappers
2025-03-10 21:05:52 -05:00
Thaddeus Crews
30bb49ec1f Merge pull request #102356 from a-johnston/add_missing_cs_vector_methods
Add `Min(float)` and octahedron encode/decode to `Vector3.cs`
2025-03-10 10:01:20 -05:00
Rémi Verschelde
a414fed4c5 Merge pull request #98034 from raulsntos/dotnet/variant-object-id
[.NET] Use `ObjectID` when converting `Variant` to `GodotObject`
2025-03-04 01:00:16 +01:00
Rémi Verschelde
1c35a31b9e Bump version to 4.5-dev
Mr. Godot told me to tell you he won't come this evening but surely tomorrow.
2025-03-03 17:27:40 +01:00
Raul Santos
2550cdc0c4 [.NET] Skip serializing delegates with a disposed target
When reloading assemblies, we serialize the managed delegates so we can recreate the callables later. If the delegate's target is a GodotObject that has already been disposed, we can't serialize the delegate.

Before this change, trying to serialize one of these delegates throws an exception and prevents releasing its strong GCHandle, so the assembly can't be unloaded.

With this change, we don't serialize the delegates and release them anyway. This means some delegates may get lost on reloading assemblies, but if their target was already freed it's probably fine.
2025-02-14 03:17:06 +01:00
DE-YU_H14
288e3e3af2 Improve documentation for C# typed collection wrappers 2025-02-14 08:19:58 +08:00
Raul Santos
f4094b554d [.NET] Disallow [ExportToolButton] on members thay may store the Callable
Ensures the user doesn't store the Callable so the .NET assembly can be reloaded.
2025-02-14 01:09:59 +01:00
bruvzg
3be46a69c4 Fix uppercase B and X parsing in the integer literals. 2025-02-05 16:02:06 +02:00
Adam Johnston
14f7e6ff60 Add Min(float) and octahedron encode/decode to Vector3.cs 2025-02-04 14:21:25 -08:00
Pedro J. Estébanez
318af42020 Include more attributes in the global class names cache 2025-01-29 09:39:50 +01:00
LuoZhihao
a71a8c6e1e C#: Expose OKHSL properties of Color 2025-01-09 19:18:56 +08:00
Thaddeus Crews
8642e970c5 C#: Add option to treat warnings as errors 2024-12-18 10:23:41 -06:00
Rémi Verschelde
7d30972f7c Merge pull request #99539 from RandomShaper/fix_dotnet_rl_deadlock
Avoid deadlocks in multi-threaded management of the C# script map
2024-12-18 09:53:01 +01:00
Paul Joannon
fb8553e4d7 Move to .NET8
- Change TFM and LangVersion
- Better exception throwing (CA1510, CA1512, CA1513)
- Better exception utility method definition (CA1859)
- Prefer comparing `.Count` over calling `.Any()` (CA1860)
- Prefer `.AsSpan()` over `.Substring()` (CA1846)
- Add a few more `scoped`
- Use `RuntimeHelpers.GetUninitializedObject()` instead of `FormatterServices.GetUninitializedObject()`
- Use delegate instead of delegate pointer in variant generic conversions
- Enable EnforceExtendedAnalyzerRules in source generator projects
- Disable CS8981 on structs named movable in Godot.NativeInterop
2024-12-13 14:00:13 +01:00
RedworkDE
f0b6b24d9e C#: Update to net7.0
Because of ref safety changes in the languages, all methods that return an interop struct have to have all other reference parameters marked as scoped to signal the the method does not capture that reference.

The variant change is necessary, because for some reason a type of the exact shape godot_variant is in, crashes the .NET 7 JIT, but when changing it to be sequential with the same effective layout it works.
2024-12-12 17:42:39 +01:00
Thaddeus Crews
57d08dbec3 C#: Fix warnings caught by new problem-matchers
• Restore MSVC problem matcher for Linux builds
2024-12-10 14:04:35 -06:00
Juan Pablo Arce
8ab27a7ccf Fix generic arrays and dictionaries not calling set_typed 2024-12-08 01:01:19 -03:00