summaryrefslogtreecommitdiff
path: root/scene/animation/animation_player.cpp
AgeCommit message (Collapse)Author
2018-08-24Make some debug prints verbose-only, remove othersRémi Verschelde
2018-08-02Add method to manually advance AnimationTree and manual process mode.Saracen
2018-07-26Merge pull request #19464 from bojidar-bg/19448-fix-subproperty-handlingRémi Verschelde
Fix bug in animationplayer editor not using subproperties properly
2018-07-26Reduce unnecessary COW on Vector by make writing explicitHein-Pieter van Braam
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.
2018-07-18Print an error when calling an invalid method on an AnimationMarcelo Fernandez
2018-07-01-Fix in animationplayback, sound would be cut on loopJuan Linietsky
-Fix on scene importer, keeping changes to animation tracks was not working
2018-06-29Small fixesJuan Linietsky
2018-06-18-Added AnimationGraphPlayer (still missing features)Juan Linietsky
-Added ability to edit resources from built-in inspector (wip, needs testing and feedback)
2018-06-18Fix bug in animationplayer editor not using subproperties properlyBojidar Marinov
Fixes #19448
2018-06-07Entirely new (and much improved) animation editor.Juan Linietsky
2018-05-14Fixed some warnings found with Cppcheck.Michael Alexsander Silva Dias
2018-05-07Implemented ragdollAndreaCatania
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
2018-05-07Added "play_backwards" to the list o functions to autocomplete.Michael Alexsander Silva Dias
2018-04-14Avoid converting Quat to Euler angles when not necessary.tagcup
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.
2018-04-11Use internal physics processing for Nodes' internal logicRémi Verschelde
2018-04-08Merge pull request #17150 from robfram/check-animation-playing-backwardsJuan Linietsky
Added `get_playing_speed` method to AnimationPlayer, returning the actual playing speed of the animation being played
2018-04-03fix bone scale/rotation in AnimationPlayerskarroffel
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.
2018-03-09AnimationPlayer: fix scrubbing after play backwardsBernhard Liebl
2018-03-03Added `get_playing_speed` method to AnimationPlayer, returning the actualrobfram
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.
2018-01-25Remove duplicate "autoplay" propertyBojidar Marinov
Part of #16051
2018-01-14Fix an issue with the animation editor not seeking to the target time properly.Bojidar Marinov
Fixes #15646.
2018-01-12modify default param names in couple of signalsUnknown
'name' default param should not be used since there is problem with name shadowing
2018-01-12Renamed tree_exited to tree_exiting. tree_exited is now used for actual out ↵Juan Linietsky
of tree notification. Updated doc accordingly.
2018-01-12Bind many more properties to scriptsBojidar Marinov
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
2018-01-11Forced no duplication of animation dataAndreaCatania
2018-01-05Add missing copyright headers and fix formattingRémi Verschelde
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.
2018-01-03Merge pull request #15132 from RandomShaper/fix-multiple-finishRémi Verschelde
Fix AnimationPlayer redundantly signaling finish
2018-01-01Update copyright statements to 2018Rémi Verschelde
Happy new year to the wonderful Godot community!
2017-12-28Fix AnimationPlayer redundantly signaling finishPedro J. Estébanez
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.
2017-12-14Revert property changes in "[DOCS] AnimationPlayer new props, members/methods"Rémi Verschelde
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.
2017-12-10doc: Sync classref with current sourceRémi Verschelde
2017-12-09Add feature to disable animation tracksRay Koopa
2017-12-07[DOCS] AnimationPlayer prop API fixedWill Nations
2017-12-04[DOCS] AnimationPlayer new props, members/methodsWill Nations
2017-11-25Implement onion skinning for the animation editorPedro J. Estébanez
2017-11-25Implement backup/restore for animated valuesPedro J. Estébanez
2017-11-21Merge pull request #12284 from bojidar-bg/allow-subproperty-setRémi Verschelde
Allow for getting/setting "dotted" properties of objects
2017-11-21Allow for getting/setting indexed properties of objects using get/set_indexedBojidar Marinov
Performance is around the same as using pure set() through GDScript.
2017-11-13Change AnimationPlayer looping logicPedro J. Estébanez
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.
2017-11-02Fixed AnimationPlayer.get_autoplay() returning empty stringRasmus Ketelsen
2017-10-21Refactor Fixed to PhysicsPoommetee Ketson
2017-10-20Merge pull request #12107 from RandomShaper/fix-anim-before-first-keyRémi Verschelde
Fix animation before first key
2017-10-15Fix animation before first keyPedro J. Estébanez
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.
2017-10-14Fix animation not stopping after seeking to the endPedro J. Estébanez
2017-10-07Added a name/path description when there is an error in the Animation TrackMarcelo Fernandez
2017-09-30Renamed fixed_process to physics_processAndreaCatania
2017-09-20Rename pos to position in user facing methods and variablesletheed
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.
2017-08-27Dead code tells no talesRémi Verschelde
2017-08-27Use HTTPS URL for Godot's website in the headersRémi Verschelde
2017-08-24Convert Object::cast_to() to the static versionHein-Pieter van Braam
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/