Age | Commit message (Collapse) | Author |
|
Part of #16051
|
|
Fixes #15646.
|
|
'name' default param should not be used since there is problem with name shadowing
|
|
of tree notification.
Updated doc accordingly.
|
|
Notable potentially breaking changes:
- PROPERTY_USAGE_NOEDITOR is now PROPERTY_USAGE_STORAGE | PROPERTY_USAGE_NETWORK, without PROPERTY_USAGE_INTERNAL
- Some properties were renamed, and sometimes even shadowed by new ones
- New getter methods (some virtual) were added
|
|
|
|
Using `misc/scripts/fix_headers.py` on all Godot files.
Some missing header guards were added, and the header inclusion order
was fixed in the Bullet module.
|
|
Fix AnimationPlayer redundantly signaling finish
|
|
Happy new year to the wonderful Godot community!
|
|
Now it will emit only when actually going from not-finished-yet to finished, as has always been the case.
The bug was a side effect of 2d2467c0ff8ba05f492cefef3adbcd5513bbd8dd.
|
|
This partially reverts commits e79456519d0c1dff98ffa5f39e8e7c962b7dd553
and 2d07fe29208b9ccef31ab654ca5405edac7a0de7, which introduced API changes
needing more in-depth review at this stage.
Kept the removal of "get_position" binding, redundant with
"get_current_animation_position". Kept docs changes where applicable.
Also removed the obsolete "stop_all" method which does the same as "stop".
Fixes #14602.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Allow for getting/setting "dotted" properties of objects
|
|
Performance is around the same as using pure set() through GDScript.
|
|
So now it can seek to the actual values at time=length when instructed to seek to time=N*length.
That is, formerly in the editor you had no way of seeing the actual state at time=length other than temporarily disabling looping. Now you can preview both endpoints.
As a side effect, the values at anim time 0 will only be applied when actually seeking to 0, instead of at every time=N*length, as formerly. No issue.
|
|
|
|
|
|
Fix animation before first key
|
|
Prior to this, the value assumed for the interval between the start of the track and the first frame would be the one of the first key if
- *seeking/playing a continuous track*;
- *seeking a discrete track*.
And the first key would be ignored until reached -thus not modifying the target property/transform- in the remaining case; namely, *playing a discrete track*.
In other words, the inner workings of the animation system considered the unreached first key for interpolation but not for a query of every key inside a time range.
With this changes, the first key is only considered is the animation is looped and ignored otherwise. That way, in order to have a start value, you'll need an explicit key at the very beginning of the track, while having the flexibility of the animation player not touching the target value until the first key is reached.
This corresponds to the point 1) of #10752.
|
|
|
|
|
|
|
|
Rename user facing methods and variables as well as the corresponding
C++ methods according to the folloming changes:
* pos -> position
* rot -> rotation
* loc -> location
C++ variables are left as is.
|
|
|
|
|
|
Currently we rely on some undefined behavior when Object->cast_to() gets
called with a Null pointer. This used to work fine with GCC < 6 but
newer versions of GCC remove all codepaths in which the this pointer is
Null. However, the non-static cast_to() was supposed to be null safe.
This patch makes cast_to() Null safe and removes the now redundant Null
checks where they existed.
It is explained in this article: https://www.viva64.com/en/b/0226/
|
|
ClassDB: Provide the enum name of integer constants
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Control set_pos -> set_position
Control set_global_pos -> set_global_position
[gs]et_mouse_pos -> [gs]et_mouse_position
[gs]et_global_mouse_pos -> [gs]et_global_mouse_position
fixes #8005
|
|
|
|
I can show you the code
Pretty, with proper whitespace
Tell me, coder, now when did
You last write readable code?
I can open your eyes
Make you see your bad indent
Force you to respect the style
The core devs agreed upon
A whole new world
A new fantastic code format
A de facto standard
With some sugar
Enforced with clang-format
A whole new world
A dazzling style we all dreamed of
And when we read it through
It's crystal clear
That now we're in a whole new world of code
|
|
Fix/improve AnimationPlayer blending logic
|
|
This new name also makes its purpose a little clearer
This is a step towards fixing #56
|
|
This saves typing and is a step towards fixing #56
|
|
Greater VCS friendliness
|
|
than float or double in generic functions (core/math) whenever possible.
Also inlined some more math functions.
|
|
Serialize dictionaries adding newlines between key-value pairs
Serialize group lists also with newlines in between
Serialize string properties escaping only " and \ (needed for a good diff experience with built-in scripts and shaders)
Bonus:
Make AnimationPlayer serialize its blend times always sorted so their order is predictable in the .tscn file.
This PR is back-compat; won't break the load of existing files.
|
|
|
|
They do not play well with clang-format which aligns the `//` part
with the rest of the code block, thus producing badly indented commented code.
|
|
|