Age | Commit message (Collapse) | Author |
|
FBX Import: Normalize rotation quaternions
|
|
SoftBody support in GodotPhysics 3D
|
|
Disable backface collision with ConcavePolygonShape by default
|
|
fix #47184
|
|
fix #47174
|
|
fix #47117
|
|
GLTF importer: Prevent quick accumulation of significant numerical errors in keyframe times
|
|
Keyframe times shift slowly in imported animations, starting with a zero shift
at the beginning and increasing and becoming erratic slowly farther into an
animation, reaching significant levels at times after about 3 minutes into an
animation. This commit fixes the issue by increasing the precision of the
floating point numbers used for keyframe time calculations. Only the most
significant cases that cause fast accumulation of errors over a short animation
duration are fixed. Other cases that would have a marginal benefit from
switching to double precision numbers are left for another PR/further analysis.
Note that this change has no impact on the runtime performance of games/apps
created using Godot. It only affects the GLTF importer.
Fixes #47127.
|
|
Helps a lot with soft bodies and generally useful to avoid shapes to go
through the ground in certain cases.
Added an option in ConcavePolygonShape to re-enable backface collision
on specific bodies if needed.
|
|
|
|
- Fixed SoftBody surface update with new rendering system
- Added GodotPhysics implementation for SoftBody
- Added support to get SoftBody rid to interact with the physics server
- Added support to get SoftBody bounds from the physics server
- Removed support for unused get_vertex_position and get_point_offset
from the physics server
- Removed SoftBody properties that are unused in both Bullet and
GodotPhysics (angular and volume stiffness, pose matching)
- Added RenderingServerHandler interface to PhysicsServer3D so the physics servers don't need to reference the class from SoftBody node directly
|
|
And move GLTF docs to its module folder.
|
|
|
|
- Added new_copy to all types, since trivial copy won't work for all
types.
- Added functions to convert from String to char array types, which is
not provided by the methods bound in Variant.
- Added operator index to String.
- Added missing cstring version of some Variant functions. They existed
in the header but didn't have the implementation and were missing from
the gdnative_api.json file.
- Added support for static calls on Variant types.
|
|
Allow Navigation to be more flexible
|
|
|
|
|
|
|
|
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.
|