Age | Commit message (Collapse) | Author |
|
C#: Fix marshaling generic Godot collections
|
|
Add necessary build flags and switch from using a
GLES2 context to a GLES3 one.
This also enables building for OpenXR
Co-authored-by: m4gr3d <fhuyakou@gmail.com>
Co-authored-by: dsnopek <dsnopek@gmail.com>
|
|
Add "Trimming" option to cut un-keyed timeline before first key in glTF animation
|
|
|
|
|
|
Add `PackedScene::reload_from_file()` override
|
|
|
|
|
|
Fix cyclic reference base being loaded but not valid (which is ok)
|
|
Avoid using `get_global_class_native_base`
|
|
C#: Cleanup and sync StringExtensions with core
|
|
C#: Fix Generated ScriptProperty Error.
|
|
- Removed `UnicodeAt`
- Removed `EndsWith`
- Removed `LPad` and `RPad`
- Deprecated `BeginsWith` in favor of `string.StartsWith`
- Deprecated `LStrip` and `RStrip` in favor of `string.TrimStart` and `string.TrimEnd`
|
|
|
|
1. Add "this." to prevent errors caused by duplicate variable names.
2. Try to find the default value of property getters.
|
|
|
|
C#: Remove VariantSpanDisposer and use constants in stackalloc
|
|
- Remove `VariantSpanDisposer`, no need to dispose of the Variant Spans
since we are now borrowing the Variants instead of copying them.
- Remove `VariantSpanExtensions.Cleared` that was only used so the
Span was initialized for `VariantSpanDisposer` to know what to dispose.
- Fix stackalloc Spans to use constant VarArgsSpanThreshold
and avoid bound checks.
|
|
Fix `VariantUtils.UnsupportedType` method throwing
|
|
C#: Add `global::` namespace to generated source
|
|
This method was not supposed to throw, just return the new constructed
exception so it can be thrown by the caller.
|
|
Adds `global::` to the fully qualified types in source generators to
prevent ambiguity.
|
|
Fix singleton scene cyclic loading
|
|
C#: Optimize Variant conversion callbacks
|
|
|
|
- Replaced `MD5Buffer`, `MD5Text`, `SHA256Buffer` and `SHA256Text` implementation to use the `System.Security.Cryptography` classes and avoid marshaling.
- Added `SHA1Buffer` and `SHA1Text`.
- Renamed `ToUTF8` to `ToUTF8Buffer`.
- Renamed `ToAscii` to `ToASCIIBuffer`.
- Added `ToUTF16Buffer` and `ToUTF32Buffer`.
- Added `GetStringFromUTF16` and `GetStringFromUTF32`.
|
|
- Renamed `IsValidInteger` to `IsValidInt`.
- Added `IsValidFileName`.
- Added `IsValidHexNumber`.
- Added support for IPv6 to `IsValidIPAddress`.
- Added `ValidateNodeName`.
- Updated the documentation of the `IsValid*` methods.
|
|
- Moved `GetBaseName` to keep methods alphabetically sorted.
- Removed `Length`, users should just use the Length property.
- Removed `Insert`, string already has a method with the same signature that takes precedence.
- Removed `Erase`.
- Removed `ToLower` and `ToUpper`, string already has methods with the same signature that take precedence.
- Removed `FindLast` in favor of `RFind`.
- Replaced `RFind` and `RFindN` implemenation with a ca ll to `string.LastIndexOf` to avoid marshaling.
- Added `LPad` and `RPad`.
- Added `StripEscapes`.
- Replaced `LStrip` and `RStrip` implementation with a call to `string.TrimStart` and `string.TrimEnd`.
- Added `TrimPrefix` and `TrimSuffix`.
- Renamed `OrdAt` to `UnicodeAt`.
- Added `CountN` and move the `caseSensitive` parameter of `Count` to the end.
- Added `Indent` and `Dedent`.
|
|
Update embree to 3.13.5
|
|
|
|
Fix GLAD-related build problems on Linux
|
|
C#: Load assemblies as collectible only in the Godot editor
|
|
These callbacks are used for marshaling by callables and generic Godot
collections.
C# generics don't support specialization the way C++ templates do.
I knew NativeAOT could optimize away many type checks when the types
are known at compile time, but I didn't trust the JIT would do as good
a job, so I initially went with cached function pointers.
Well, it turns out the JIT is also very good at optimizing in this
scenario, so I'm changing the methods to do the conversion directly,
rather than returning a function pointer for the conversion.
The methods were moved to `VariantUtils`, and were renamed from
`GetFromVariantCallback/GetToVariantCallback` to `ConvertTo/CreateFrom`.
The new implementation looks like it goes through many `if` checks
at runtime to find the right branch for the type, but in practice it
works pretty much like template specialization. The JIT only generates
code for the relevant branch. Together with inlining, the result is
very close or the same as doing the conversion manually:
```cs
godot_variant variant;
int foo = variant.Int;
int bar = VariantUtils.ConvertTo<int>(variant);
```
If the type is a generic Godot collection, the conversion still goes
through a function pointer call.
The new code happens to be much shorter as well, with the file going
from 1057 lines to 407.
Side note: `Variant.cs` was mistakenly created in the wrong folder,
so I moved it to the `Core` folder.
|
|
- Use gl.h provided by GLAD in the OpenXR module
- Use non-EXT variants of some OpenGL defines
- Remove libGL-related code paths
|
|
- Add documentation to Projection type
- Reorder Projection members to be consistent with other C# types
|
|
GDScript: Properly respect `int` type hint for `@export_range`
|
|
Fixes #69104.
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
|
|
|
|
Cleanup remaining EditorUndoRedoManager usages
|
|
|
|
C#: Implement BezierDerivative
|
|
Refactor interpolating functions in some classes to use `Math` class
|
|
Cache materials in gltf as the abstract class of Material in GLTFDocument
|
|
Use the abstract material class instead of BaseMaterial3D. This allows inserting ShaderMaterials into gltf. Like in VRM.
|
|
Adds `BezierDerivative` method to Mathf, Vector2 and Vector3 (already exposed in Core).
|
|
|
|
|
|
Partial support for Pico 4
|
|
ImageLoaderSVG: Improve error reporting
|
|
Fix parameters that are considered as constants
|