summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-11-25C#: Optimize Variant conversion callbacksIgnacio Roldán Etcheverry
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.
2022-11-25Merge pull request #69143 from raulsntos/dotnet/projection-docsIgnacio Roldán Etcheverry
C#: Add Projection documentation
2022-11-25C#: Add Projection documentationRaul Santos
- Add documentation to Projection type - Reorder Projection members to be consistent with other C# types
2022-11-24Merge pull request #69135 from clayjohn/GLES3-mesh2DRémi Verschelde
Fix drawing of Mesh2D
2022-11-24Merge pull request #69134 from jquinl/export_range_int_fixRémi Verschelde
GDScript: Properly respect `int` type hint for `@export_range`
2022-11-24Merge pull request #69133 from clayjohn/GDscript-static-warningRémi Verschelde
Ensure class name is printed in STATIC_CALLED_ON_INSTANCE warning
2022-11-24GDScript: Properly respect `int` type hint for `@export_range`unknown
Fixes #69104. Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2022-11-24Fix drawing of Mesh2Dclayjohn
The batch was being discarded if no instance buffer was present, but an instance buffer is only needed for MultiMesh and particles.
2022-11-24Ensure class name is printed in STATIC_CALLED_ON_INSTANCE warningclayjohn
2022-11-24Merge pull request #69128 from Chaosus/vs_fix_custom_nodesRémi Verschelde
Fix custom visual shader nodes not being loaded at startup
2022-11-24Merge pull request #69127 from KoBeWi/redUNDOntRémi Verschelde
Cleanup remaining EditorUndoRedoManager usages
2022-11-24Merge pull request #69072 from souplamp/history-dock-check-connectedRémi Verschelde
Add history dock to default editor layout, and prevent signal connecting multiple times
2022-11-24Fix custom visual shader nodes not being loaded at startupYuri Rubinsky
2022-11-24Cleanup remaining EditorUndoRedoManager usageskobewi
2022-11-24Merge pull request #69125 from raulsntos/dotnet/bezier_derivativeRémi Verschelde
C#: Implement BezierDerivative
2022-11-24Merge pull request #66574 from MewPurPur/search-results-improvementsRémi Verschelde
Fixes and improvements to Search Results dock
2022-11-24Merge pull request #68566 from Mickeon/node-print-orphans-staticRémi Verschelde
Make `Node.print_orphan_nodes()` static
2022-11-24Merge pull request #68938 from brunosxs/fix/subresource-documentationRémi Verschelde
Fix for documentation not appearing in preview in editor inspector
2022-11-24Merge pull request #68386 from MewPurPur/snappedi-snappedfRémi Verschelde
Implement snappedi, snappedf, and Vector[2/3/4]i.snapped
2022-11-24Merge pull request #68806 from MewPurPur/printraw-warn-better-in-docsRémi Verschelde
Make it clearer that printraw only prints to terminal
2022-11-24Merge pull request #69111 from TokageItLab/put-together-interpolationsRémi Verschelde
Refactor interpolating functions in some classes to use `Math` class
2022-11-24Merge pull request #69083 from fire/abstract_gltf_materialRémi Verschelde
Cache materials in gltf as the abstract class of Material in GLTFDocument
2022-11-24Merge pull request #67330 from KoBeWi/immortal_scenesRémi Verschelde
Don't free instanced scenes when recreating tiles
2022-11-24Merge pull request #68455 from Calinou/improve-editor-property-capitalizationRémi Verschelde
Improve editor property capitalization
2022-11-24History dock singleton, set default editor layout, ready notificationsouplamp
- add the history dock to the default editor layout, so when a user does Editor -> Editor Layout -> Default the history dock will no longer disappear - change the enter tree notification to a ready notification to prevent the history dock from trying to connect 'on_history_changed' signal everytime the dock is moved in the editor layout
2022-11-24Make it clearer that printraw only prints to terminalVolTer
2022-11-24Cache materials in gltf as the abstract class of MaterialK. S. Ernest (iFire) Lee
Use the abstract material class instead of BaseMaterial3D. This allows inserting ShaderMaterials into gltf. Like in VRM.
2022-11-24C#: Implement BezierDerivativeRaul Santos
Adds `BezierDerivative` method to Mathf, Vector2 and Vector3 (already exposed in Core).
2022-11-24Improve editor property capitalizationHugo Locurcio
- Don't capitalize stop words such as "at", "in" or "to". - Add more acronyms to capitalize. Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2022-11-24Merge pull request #69108 from akien-mga/gdscript-ignore-warnings-debugRémi Verschelde
GDScript: Only check if ignoring warnings in debug build
2022-11-24Merge pull request #69107 from Mickeon/oopsRémi Verschelde
Fix warning in Signal Documentation
2022-11-24Merge pull request #69105 from pkowal1982/opacityRémi Verschelde
Fix near one opacity in editor icons
2022-11-24Merge pull request #69089 from raulsntos/dotnet/docs-objectRémi Verschelde
Fix C# documentation for Godot.Object
2022-11-24Merge pull request #68833 from BastiaanOlij/improve_extension_logicRémi Verschelde
Improve logic for detecting and tracking extensions
2022-11-24Merge pull request #68283 from zaevi/fix_float_dock_titleRémi Verschelde
[Editor] Fix float dock shows incorrect title.
2022-11-24Refactor interpolating functions in some classes to use Math classSilc Renew
2022-11-24[Editor] Fix float dock shows untranslated title.Zae
2022-11-24GDScript: Only check if ignoring warnings in debug buildRémi Verschelde
2022-11-24Improve logic for detecting and tracking extensionsBastiaan Olij
2022-11-24Fix warning in Signal DocumentationMicky
2022-11-24Merge pull request #69043 from xiongyaohua/path3d_bake_refactor_fixRémi Verschelde
`Curve3D` bake refactor continue
2022-11-24Merge pull request #69037 from M-O-Marmalade/distortion-fixesRémi Verschelde
AudioEffectDistortion docs & inspector edits
2022-11-24Merge pull request #69086 from Calinou/doc-physicalskymaterialRémi Verschelde
Document PhysicalSkyMaterial's `energy_multiplier` property
2022-11-24Merge pull request #68023 from rsjtdrjgfuzkfg/picoRémi Verschelde
Partial support for Pico 4
2022-11-24Merge pull request #69060 from rburing/exclude_typedarrayRémi Verschelde
Update remaining physics `exclude` parameters to use `TypedArray`
2022-11-24Fix near one opacity in editor iconsPaweł
2022-11-24Fix C# documentation for Godot.ObjectRaul Santos
- Add and fix a few C# examples - Add tips about avoiding allocating StringNames
2022-11-24Refactor Curve3D::_bake() methodYaohua Xiong
The main change is to caculate tangent directly from bezier curve, without going through discretized polyline, avoiding pitfalls of discretization. Other changes are: 1. Add an bezier_derivative() method for Vector3, Vector2, and Math; 2. Add an tesselate_even_length() method to Curve3D, which tesselate bezier curve to even length segments adaptively; 3. Cache the tangent vectors in baked_tangent_vector_cache;
2022-11-23Fix for documentation not appearing in preview in editor inspectorBrunoSXS
2022-11-24Document PhysicalSkyMaterial's `energy_multiplier` propertyHugo Locurcio
This makes the PhysicalSkyMaterial class 100% documented.