Age | Commit message (Collapse) | Author |
|
|
|
|
|
Fix bug in animationplayer editor not using subproperties properly
|
|
This commit makes operator[] on Vector const and adds a write proxy to it. From
now on writes to Vectors need to happen through the .write proxy. So for
instance:
Vector<int> vec;
vec.push_back(10);
std::cout << vec[0] << std::endl;
vec.write[0] = 20;
Failing to use the .write proxy will cause a compilation error.
In addition COWable datatypes can now embed a CowData pointer to their data.
This means that String, CharString, and VMap no longer use or derive from
Vector.
_ALWAYS_INLINE_ and _FORCE_INLINE_ are now equivalent for debug and non-debug
builds. This is a lot faster for Vector in the editor and while running tests.
The reason why this difference used to exist is because force-inlined methods
used to give a bad debugging experience. After extensive testing with modern
compilers this is no longer the case.
|
|
Fix and make Tween node less confusing
|
|
|
|
|
|
|
|
hasher, this was leading to some severe slowdown in scenarios
-Fixes to some duplication scenarios for instanced scenes
|
|
-Fix on scene importer, keeping changes to animation tracks was not working
|
|
-Fixes to script language, PlaceHolder can now get and check methods
|
|
|
|
|
|
one that seems to work better.
|
|
My first attepmt I added a second loop to check if processing should
stop. This attempts to optimize by using the original loop (one loop).
Also resets `elapsed` time on finish of tween which fixes `tell()`.
|
|
Fixes issues introduced in c633b77 and de1ff22.
|
|
|
|
-Add RootMotionView, to debug root motion in 3D (disabled in runtime)
|
|
I've made the following changes:
- make `is_active` the main way of keeping track of tween
processing/activity, meaning that `is_active` will now return
`false` if all tween actions have finished or if it isn't started
or if it was stopped via `set_active(false)` or any other mode
- removed is_stopped because is redundand now
The above meant that we don't have to keep track of yet another variable
`available` since everything is based on `*processing_internal` so I
removed it, likewise it's own local `processing` variable was removed,
as well as the "double" `_set_process` which it feels more like a hack.
What wasn't changed:
- `tell()` still returns max value (i.e. `== get_runtime()` when all
tweens `finish`)
*More testing is needed*. So far I've tested repeat on/off, delay,
`is_active()` working corretly, `set_active(true), set_active(false)`,
but probably more tests are necessary, all the resets, stops, resume
etc.
|
|
|
|
|
|
add BlendSpace1D animation node
|
|
|
|
This commit also fixes a crash in the BlendSpace2D as well as correct
the drawing of the x-zero indicator in the BlendSpace2D editor plugin.
|
|
|
|
|
|
|
|
|
|
with delete key
|
|
|
|
-Added ability to edit resources from built-in inspector (wip, needs testing and feedback)
|
|
Fixes #19448
|
|
|
|
|
|
Expose animation pos to user for AnimationNodes in AnimationTree
|
|
|
|
|
|
|
|
Implementing ragdoll
Implementing ragdoll
Implementing ragdoll
Implementing ragdoll
Implementing ragdoll
a
Implemented implicit hierarchy.
Improved
Added some physics properties
Added bone offset to preserve COM, partially fixed scaling
work in progress
WIP
wip
Implemented Joint Gizmos
Implemented pin joint joint
Implemented all joints
|
|
|
|
Fixes most current reports on Coverity Scan of uninitialized scalar
variable (CWE-457): https://cwe.mitre.org/data/definitions/457.html
These happen most of the time (in our code) when instanciating structs
without a constructor (or with an incomplete one), and later returning
the instance. This is sometimes intended though, as some parameters are
only used in some situations and should not be double-initialized for
performance reasons (e.g. `constant` in ShaderLanguage::Token).
|
|
Also ensure that get_scale doesn't arbitrarlity change the signs of scales, ensuring that the combination of get_rotation and get_scale gives the correct basis.
Added various missing functions and constructors.
Should close #17968.
|
|
|
|
Added `get_playing_speed` method to AnimationPlayer, returning the actual playing speed of the animation being played
|
|
fixes #17325.
The bone pose transform was created by setting the rotation and
**then** scaling the transform. This leads to object "deformation"
that's not intended.
|
|
|
|
playing speed of the animation being played.
As stated in #16550, there is no way to get the playing speed of an
animation. The `playback_speed` property is for the whole AnimationPlayer
node, and the argument passed to `play` method is another scale applied
in top of the AnimationPlayer properties.
Thus, the actual playing speed is AnimationPlayer.speed_scale *
AnimationPlayer.playback.current.speed_scale. If it is not playing, the
method returns 0.
|
|
Part of #16051
|
|
key is a NodePath, not a String
|
|
Fixes #15646.
|