Age | Commit message (Collapse) | Author |
|
|
|
This is a tricky one, it used to work, but it was wrong, because in such
a scenario instead of passing NULL as required by the API, it would pass
a buffer containing the `\0` terminator.
This stopped working on a specific miniupnpc version, when they fixed
some network endianess issue on Windows, to which we made a workaround,
which in turn would probably result in failures when the interface is
specified.
This commit address the issue properly, by checking the specified
interface string size, and correctly passing NULL instead of the empty
string when necessary.
Also reverts the commit that introduced the bogus workaround:
e85330231c729a88d5a478de2bbe4a61e5edeae3
One of those PR when the explaination is much longer then code changes
:).
|
|
`disconnect_event_signals` can be called twice (when managed instance
is disposed and from the ScriptInstance destructor).
|
|
Fixed match test expression for temporaries
|
|
Fix create c# script from editor after partial class type is necessary
|
|
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.
|
|
Fixed that a potentially popped temporary was used for the value in
match statements.
|
|
|
|
|
|
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.
|