Commit Graph

49291 Commits

Author SHA1 Message Date
Aaron Franke 93ab82536d
Use a more specific type for Mesh create_(convex|trimesh)_shape 2022-11-25 11:43:11 -06:00
Micky 67cdac6db8 Remove `Array.find_last()` 2022-11-25 18:34:50 +01:00
Raul Santos d0b166d8e4
C#: Cleanup and sync crypto/buffer StringExtensions with core
- 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`.
2022-11-25 17:30:45 +01:00
Raul Santos d9c495f322
C#: Cleanup and sync `IsValid*` StringExtensions with core
- Renamed `IsValidInteger` to `IsValidInt`.
- Added `IsValidFileName`.
- Added `IsValidHexNumber`.
- Added support for IPv6 to `IsValidIPAddress`.
- Added `ValidateNodeName`.
- Updated the documentation of the `IsValid*` methods.
2022-11-25 17:30:45 +01:00
Raul Santos 6178407940
C#: Cleanup and sync StringExtensions with core
- 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`.
2022-11-25 17:30:32 +01:00
Rémi Verschelde 2a36127e34
Android: Remove extra arch suffix now redundant with the default one
We would needlessly get file names like `*.arm64.armv8.o`.
2022-11-25 16:25:31 +01:00
Rémi Verschelde a9fbf3718d
Merge pull request #69144 from DeeJayLSP/update_embree
Update embree to 3.13.5
2022-11-25 14:05:19 +01:00
Rémi Verschelde cfaf2f168f
Merge pull request #69147 from Sauermann/fix-docks-ordering
Fix that the History Dock appears before other Docks in old projects
2022-11-25 14:05:00 +01:00
Rémi Verschelde 5b3d07cc02
Merge pull request #69165 from timothyqiu/capitalization
Improve editor property capitalization
2022-11-25 14:04:54 +01:00
Rémi Verschelde 92c08a5973
Merge pull request #69164 from Faless/debugger/4.x_server_keep_open
[Editor] Add button to keep the debug server open.
2022-11-25 14:04:50 +01:00
Rémi Verschelde 986a4279fa
Merge pull request #68447 from Grimmr/clean-tooltips-on-WM-focus-off
Viewport cancels existing tooltip when window looses focus
2022-11-25 14:04:40 +01:00
DeeJayLSP 5e4158eb48
Update embree to 3.13.5 2022-11-25 13:09:04 +01:00
Haoyu Qiu c0e9d928e6 Improve editor property capitalization
* Captialize stop words when they are the last word.
* Add stop words logic in `extract.py`.
2022-11-25 18:54:37 +08:00
Fabio Alessandrelli aa80cfac97 [Editor] Add button to keep the debug server open.
The setting is stored in the project editor metadata, and the server is
automatically started/stopped when the option change (only stopped if no
session is currently active).

The CLI option `--debug-server` now also forces the server to stay open
(without saving the state, unlike the menu option).

This commit also removes the "Keep debugger open" option in the script
editor "debug" menu. That option was really confusing, it used to hide
the bottom panel if and only if the debugger pane was selected, so if
you had your output log open instead (default when pressing play) it
would effectively do nothing. Having an option to save a click in such
a very specific case seems very overkill.
2022-11-25 11:02:55 +01:00
grimmr aa9b5b917f Viewport cancels existing tooltip when window looses focus
fixes #68197

when NOTIFICATION_WM_WINDOW_FOCUS_OUT is recieved by a viewport it will now call
_gui_cancel_tooltip() to avoid it hanging around after the mouse events stop
coming in
2022-11-25 09:44:04 +00:00
Rémi Verschelde 34df77285c
Merge pull request #69146 from clayjohn/Polygon2D-error
Ensure that mesh instance is properly freed when freeing Polygon2D
2022-11-25 10:11:47 +01:00
Rémi Verschelde 136ecbd52c
Merge pull request #69155 from timothyqiu/group-base
Fix inspector not showing name for `LabelSettings.font`
2022-11-25 10:09:14 +01:00
Rémi Verschelde 8dc15ebbbb
Merge pull request #69152 from TokageItLab/fix-anim-key-cant-edit
Fix wrong `AnimationTrackKeyEdit` update timing
2022-11-25 10:03:04 +01:00
Rémi Verschelde 569e5fd1aa
Merge pull request #69148 from zaevi/fix_debugger_inspect_sub_object
Fix debugger can't inspect sub objects.
2022-11-25 10:01:58 +01:00
Rémi Verschelde e81b787d36
Merge pull request #69123 from queezle42/queezle42/master
Fix GLAD-related build problems on Linux
2022-11-25 10:00:55 +01:00
Rémi Verschelde c3af45791c
Merge pull request #67511 from neikeq/issue-66060
C#: Load assemblies as collectible only in the Godot editor
2022-11-25 10:00:33 +01:00
Silc Renew 5e785e2ea4 Fix wrong AnimationTrackKeyEdit update timing 2022-11-25 14:50:16 +09:00
Haoyu Qiu 06a0b26c9e Fix inspector not showing name for LabelSettings.font 2022-11-25 12:48:37 +08:00
Zae 50704f27ed FIx debugger can't inspect sub objects. 2022-11-25 11:09:18 +08:00
Ignacio Roldán Etcheverry 3f645f980c C#: Optimize Variant conversion callbacks
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-25 03:14:10 +01:00
Markus Sauermann 302ddbcfd9 Fix that the History Dock appears before other Docks in old projects
Newly introduced docks, that are not apparent in old projects should
be positioned after the ones in the project-config-file.
This way it seems to be less irritating.
2022-11-25 03:09:03 +01:00
Jens Nolte 67f31f571e Fix GLAD-related build problems on Linux
- Use gl.h provided by GLAD in the OpenXR module
- Use non-EXT variants of some OpenGL defines
- Remove libGL-related code paths
2022-11-25 02:52:17 +01:00
clayjohn 5c95288a6e Ensure that mesh instance is properly freed when freeing Polygon2D 2022-11-24 17:34:25 -08:00
Ignacio Roldán Etcheverry cdfef0c852
Merge pull request #69143 from raulsntos/dotnet/projection-docs
C#: Add Projection documentation
2022-11-25 01:21:59 +01:00
Raul Santos ca5c51f47e
C#: Add Projection documentation
- Add documentation to Projection type
- Reorder Projection members to be consistent with other C# types
2022-11-25 00:29:58 +01:00
Rémi Verschelde 7580565c28
Merge pull request #69135 from clayjohn/GLES3-mesh2D
Fix drawing of Mesh2D
2022-11-24 23:30:45 +01:00
Rémi Verschelde 8b7efd2306
Merge pull request #69134 from jquinl/export_range_int_fix
GDScript: Properly respect `int` type hint for `@export_range`
2022-11-24 23:30:40 +01:00
Rémi Verschelde e5e9496b4a
Merge pull request #69133 from clayjohn/GDscript-static-warning
Ensure class name is printed in STATIC_CALLED_ON_INSTANCE warning
2022-11-24 23:30:35 +01:00
Hugo Locurcio ca44deae9d
Document the Light2D, PointLight2D and DirectionalLight2D classes 2022-11-24 23:08:46 +01:00
unknown 5fd382c2ab GDScript: Properly respect `int` type hint for `@export_range`
Fixes #69104.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2022-11-24 22:14:05 +01:00
clayjohn 535f1adc8d Fix drawing of Mesh2D
The batch was being discarded if no instance buffer was present, but an instance buffer is only needed for MultiMesh and particles.
2022-11-24 13:00:42 -08:00
clayjohn 075cea1077 Ensure class name is printed in STATIC_CALLED_ON_INSTANCE warning 2022-11-24 12:06:11 -08:00
Rémi Verschelde a16d3625c3
Merge pull request #69128 from Chaosus/vs_fix_custom_nodes
Fix custom visual shader nodes not being loaded at startup
2022-11-24 19:04:21 +01:00
Rémi Verschelde e1b87cc6a5
Merge pull request #69127 from KoBeWi/redUNDOnt
Cleanup remaining EditorUndoRedoManager usages
2022-11-24 19:04:16 +01:00
Rémi Verschelde e836284667
Merge pull request #69072 from souplamp/history-dock-check-connected
Add history dock to default editor layout, and prevent signal connecting multiple times
2022-11-24 19:04:10 +01:00
Yuri Rubinsky a973ddd28d Fix custom visual shader nodes not being loaded at startup 2022-11-24 20:58:16 +03:00
kobewi 8a3d2f4e0c Cleanup remaining EditorUndoRedoManager usages 2022-11-24 18:56:22 +01:00
Rémi Verschelde 93be29be06
Merge pull request #69125 from raulsntos/dotnet/bezier_derivative
C#: Implement BezierDerivative
2022-11-24 18:56:02 +01:00
Rémi Verschelde 97e632de44
Merge pull request #66574 from MewPurPur/search-results-improvements
Fixes and improvements to Search Results dock
2022-11-24 18:55:56 +01:00
Rémi Verschelde d7e3fce995
Merge pull request #68566 from Mickeon/node-print-orphans-static
Make `Node.print_orphan_nodes()` static
2022-11-24 18:55:30 +01:00
Rémi Verschelde f953ba4ec4
Merge pull request #68938 from brunosxs/fix/subresource-documentation
Fix for documentation not appearing in preview in editor inspector
2022-11-24 18:54:58 +01:00
Rémi Verschelde 4a8b725bc9
Merge pull request #68386 from MewPurPur/snappedi-snappedf
Implement snappedi, snappedf, and Vector[2/3/4]i.snapped
2022-11-24 18:54:49 +01:00
Rémi Verschelde 5e2bb98eee
Merge pull request #68806 from MewPurPur/printraw-warn-better-in-docs
Make it clearer that printraw only prints to terminal
2022-11-24 18:54:42 +01:00
Rémi Verschelde 0d202cb5f1
Merge pull request #69111 from TokageItLab/put-together-interpolations
Refactor interpolating functions in some classes to use `Math` class
2022-11-24 18:54:30 +01:00
Rémi Verschelde 06bdc91afd
Merge pull request #69083 from fire/abstract_gltf_material
Cache materials in gltf as the abstract class of Material in GLTFDocument
2022-11-24 18:54:25 +01:00