Age | Commit message (Collapse) | Author |
|
Replace malloc's with Godot's memalloc macro
|
|
Fixes small typos and grammar correction
|
|
|
|
C#: Fix StringName leak warnings after generating bindings
|
|
`Main::cleanup()` prints warnings if it finds `StringName`s still alive.
We need the `BindingsGenerator` to be destructed before calling cleanup.
|
|
The following two bugs were fixed:
- For classes without namespace we were still generating `namespace {`
without a namespace identifier, causing a syntax error.
- For classes with nested namespaces we were generating only the innermost
part of the namespace was being generated, e.g.: for `Foo.Bar` we were
generating `namespace Bar {` instead of `namespace Foo.Bar {`.
This wasn't causing any build error, but because of the wrong namespace
Godot wasn't able to find the class associated with the script.
|
|
|
|
|
|
GDNative: Fix symbols visibility for GCC
|
|
|
|
|
|
Relaxes node name sanitization in gltf documents.
|
|
Added mono_unhandled_exception call to unhandled_exception hook
|
|
|
|
Improve bitmap font scaling. Fix default theme font size.
|
|
|
|
Add C# source generator for ScriptPathAttribute
|
|
This source generator adds a newly introduced attribute,
`ScriptPath` to all classes that:
- Are top-level classes (not inner/nested).
- Have the `partial` modifier.
- Inherit `Godot.Object`.
- The class name matches the file name.
A build error is thrown if the generator finds a class that meets these
conditions but is not declared `partial`, unless the class is annotated
with the `DisableGodotGenerators` attribute.
We also generate an `AssemblyHasScripts` assembly attribute which Godot
uses to get all the script classes in the assembly, eliminating the need
for Godot to search them. We can also avoid searching in assemblies that
don't have this attribute. This will be good for performance in the
future once we support multiple assemblies with Godot script classes.
This is an example of what the generated code looks like:
```
using Godot;
namespace Foo {
[ScriptPathAttribute("res://Player.cs")]
// Multiple partial declarations are allowed
[ScriptPathAttribute("res://Foo/Player.cs")]
partial class Player {}
}
[assembly:AssemblyHasScripts(new System.Type[] { typeof(Foo.Player) })]
```
The new attributes replace script metadata which we were generating by
determining the namespace of script classes with a very simple parser.
This fixes several issues with the old approach related to parser
errors and conditional compilation.
It also makes the task part of the MSBuild project build, rather than
a separate step executed by the Godot editor.
|
|
Previously godot would try to access
`CollisionObjectBullet::bt_collision_object` even if it was null.
Fixes #46651
|
|
Mono/macOS: Separate data dir into frameworks and resources for codesigning
|
|
Co-authored-by: Ignacio Etcheverry <ignalfonsore@gmail.com>
|
|
equality comparison now writes to right target address
|
|
GDScript export array/dictionary type infer bug fix
|
|
Script editor: Fix two special cases not being checked in code completion
|
|
Add a "not in" operator to GDScript.
|
|
When this code was changed for 4.0, a "break" statement inside a for loop in 3.x was changed to "return".
This means that the two special cases (autoloads and input actions) are never checked.
Removing the return lets these work properly in the editor.
(Also reorder conditionals to short-circuit and avoid expensive methods.)
|
|
Add set_peer_timeout to NetworkedMultiplayerENet.
|
|
|
|
|
|
GDScript: False positive "Identifier not found" error on signals fixed
|
|
See #41787.
|
|
remove invalid codeLensProvider value from lsp
|
|
|
|
|
|
|
|
|
|
[TextServer] Restores bitmap font dynamic construction functions.
|
|
Make glue generation shutdown more graceful
|
|
|
|
|
|
Add C# array features from core PackedArrays
|
|
doc: Sync classref with current source
|
|
And fix various bogus bindings following previous PRs.
|
|
|
|
Modernize atomics (and fix `volatile`)
|
|
- Based on C++11's `atomic`
- Reworked `SafeRefCount` (based on the rewrite by @hpvb)
- Replaced free atomic functions by the new `SafeNumeric<T>`
- Replaced wrong cases of `volatile bool` by the new `SafeFlag`
- Platform-specific implementations no longer needed
Co-authored-by: Hein-Pieter van Braam-Stewart <hp@tmm.cx>
|
|
This removes hardcoded actions from things like LineEdit and TextEdit.
Previously, things like copy, paste, etc were all hardcoded to Ctrl+C, Ctrl+V, etc. They could not be changed. This allows the possibility of them being changed, by making them use the action map. This has the added benefit of greatly simplifying the input handling logic in those controls. The logic which was previously in a huge and hard to follow switch statement has been extracted to individual methods.
|
|
-Advanced Settings toggle also hides advanced properties when disabled
-Simplified Advanced Bar (errors were just plain redundant)
-Reorganized rendering quality settings.
-Reorganized miscelaneous settings for clean up.
|
|
Add ClassDB tests to look for core API deps on editor API
|
|
Fixed GDScriptLanguageProtocol::notify_client - have 3 arguments, but only 2 are binded
|