Commit graph

31 commits

Author SHA1 Message Date
Rémi Verschelde
20f62dd958 Merge pull request #4308 from JoshuaGrams/atp-resources
AnimationTreePlayer: fix discrete value tracks.
2016-04-14 12:39:08 +02:00
Josh Grams
ee59b2053f AnimationTreePlayer: fix discrete value tracks.
Discrete value tracks don't update every frame (only when a new key is
reached).  So we can't use the actual property value as an accumulator:
it will end up being zero most of the time.
2016-04-12 11:54:17 -04:00
Rémi Verschelde
08aaff21f3 Merge pull request #4286 from JoshuaGrams/atp-resources
AnimationTreePlayer: allow animating resource properties.
2016-04-12 13:18:47 +02:00
Rémi Verschelde
29ed58eab6 Merge pull request #4284 from JoshuaGrams/atp-process-mode
AnimationTreePlayer: constructor now sets processing mode.
2016-04-12 08:56:48 +02:00
Josh Grams
aabb0d9cbc AnimationTreePlayer: allow animating resource properties.
e.g. Particles2D config and param values.
2016-04-11 20:10:35 -04:00
Josh Grams
ed497cb153 AnimationTreePlayer: constructor now sets processing mode. 2016-04-11 11:54:32 -04:00
Josh Grams
4f6b2152e2 AnimationTreePlayer (transition_node_set_current): fix by removing copy-paste duplication. 2016-04-06 15:09:00 -04:00
Josh Grams
1b95dca6bd AnimationTreePlayer (set_active, reset, constructor): seek all animations to start. 2016-04-06 15:07:58 -04:00
Josh Grams
5d6b58fea6 AnimationTreePlayer (_process_node): more robust oneshot termination condition. 2016-04-06 15:06:42 -04:00
Josh Grams
0a9c8a9f36 AnimationTreePlayer (_process_node:TIMESEEK): allow auto-advance with 0 xfade. 2016-03-31 12:12:05 -04:00
Josh Grams
7fe28d4168 AnimationTreePlayer (_process_node:TIMESEEK): give p_seek precedence over tsn->seek_pos. 2016-03-31 10:06:38 -04:00
Josh Grams
8920ab0fbf * AnimationTreePlayer (_process_node): remove switched argument.
The _process_node function (which recurses through the blend tree
generating blend values and the active animation list) had an argument
named `switched` which would loop an animation back to the beginning if
it had reached the end (regardless of whether or not it was supposed to
be a looping animation).

This argument was only used in four places: two of them were overridden
by a seek-to-zero, and I believe the other two are bugs.

In OneShot, it was used to reset the oneshot animation to the beginning
when fired. But this would fail if the oneshot node was fired before it
had completed its previous run. While this *could* be a valid way for
oneshot to work (firing does nothing if it's already running), the code
currently resets the fade-in, so I believe that it is intended to reset.
I replaced this usage with seek-to-0.

In Transition, it was used on the previous (fading out) animation when
seeking the Transition node, which I believe is incorrect: why would you
want to loop a non-looping animation instead of simply fading out from
the end? Also it will never happen unless you seek the Transition node
twice during one cross-fade.

The other two uses are in Transition and _process_animation, where it is
used along with a seek-to-zero which overrides it.
2016-03-27 07:19:05 -04:00
Rémi Verschelde
6ef3c3b645 Merge pull request #3980 from JoshuaGrams/timescale-remainder
TimeScale node: scale return value (time remaining).
2016-03-09 20:17:13 +01:00
Josh Grams
65b7791263 TimeScale node: return +inf remaining for 0 scale. 2016-03-09 06:57:28 -05:00
Hubert Jarosz
4a4f247914
remove trailing whitespace 2016-03-09 00:00:52 +01:00
Josh Grams
2fa200ff53 AnimationTreePlayer: distinguish value tracks.
If the node had a 3D Transform, the transform would always get written,
even if the tracks on that node were supposed to be value tracks.
2016-03-08 17:23:32 -05:00
Josh Grams
2e1b1234a3 TimeScale node: scale return value (time remaining). 2016-03-07 17:21:07 -05:00
Rémi Verschelde
46bfcd3507 Merge pull request #3858 from JoshuaGrams/blend3
AnimationTreePlayer (Blend3): process all inputs.
2016-03-01 14:02:11 +01:00
Josh Grams
391ce81c5e AnimationTreePlayer: blend value tracks (closes #2299)
Variant:
- zero() sets a Variant to the appropriate type of zero value
- blend() blends part of one Variant on top of another.
2016-03-01 07:37:36 -05:00
Josh Grams
b79351aa45 AnimationTreePlayer (Blend3): process all inputs.
Always call _process_node on all three inputs so that looped animations
don't get out of sync.
2016-02-28 06:55:53 -05:00
George Marques
5be9ff7b67 Update copyright to 2016 in headers 2016-01-01 11:50:53 -02:00
Juan Linietsky
f65eb470ae -fix function calls in animationtree, closes #2789 2015-12-16 08:34:57 -03:00
Sergey Lapin
8eff61ca87 This fixes long standing animation bug
When AnimationTreePlayer switches to new animation it never
seeks it to 0 which leads to problems with non-looping animations being
played just once.

This patch is direct approach fixing this problem.
It handles most common cases of occurance.

Closes #2199
2015-12-10 16:39:57 +03:00
Saracen
e011bcf162 Experimental retooling of AnimationTreePlayer to allow manual advancement. 2015-11-02 17:06:28 +00:00
Juan Linietsky
82cbee2d2d -added set_master_player binding, fixes #1477 2015-04-27 00:23:16 -03:00
Juan Linietsky
fdaa2920eb Updated copyright year in all headers 2015-04-18 14:38:54 -03:00
Juan Linietsky
0378e1109b -fixed NODE_OUT error in animtreeplayer #1078
-fixed randon button when editing menubutton #1079
2015-01-02 12:52:51 -03:00
Brandon DeRosier
4b76b2caf5 Fix AnimationTreePlayer.node_get_input_source typo
- Changed node_get_input_sourcre to node_get_input_source
2014-11-11 13:15:19 -05:00
Juan Linietsky
0dbedd18fc SceneMainLoop -> SceneTree
-=-=-=-=-=-=-=-=-=-=-=-=-=-

*YOUR SOURCE MIGHT NOT WORK*
For mor information on fix:
https://github.com/okamstudio/godot/wiki/devel_scene_tree

Other stuff:
-Shower of bullets demo
-Fixes all around
2014-11-05 21:20:42 -03:00
Theo Hallenius
9aa278c590 Timeseek works like this 2014-07-07 22:54:34 +02:00
Juan Linietsky
0b806ee0fc GODOT IS OPEN SOURCE 2014-02-09 22:10:30 -03:00