458 Commits

Author SHA1 Message Date
NathanSweet
2e87ab8f9f Debugging AnimationState. 2016-10-15 23:47:12 +02:00
NathanSweet
3bf261dc4b Clean up. 2016-10-13 18:05:00 +02:00
NathanSweet
aae761cd19 Removed blending caching (from master). 2016-10-13 18:04:43 +02:00
badlogic
06e7037503 [runtimes] Merged with master, updated license headers 2016-10-13 16:49:30 +02:00
badlogic
21de61a094 Merge branch 'master' into dev 2016-10-13 15:48:15 +02:00
badlogic
ef50131431 [runtimes] Updated all LICENSE files and README.mds 2016-10-13 15:21:05 +02:00
badlogic
5aa27771c3 [runtimes] Updated ALL sources to use latest Spine Runtimes License v2.5. Manually checked all the things... 2016-10-13 15:12:05 +02:00
Mario Zechner
f84ae17615 Updated License Headers 2016-10-13 10:27:54 +02:00
Mario Zechner
5b1814cff3 spine-lua, spine-love, spine-corona update to 3.4.02 (#722)
The spine-lua API has been updated to be compatible with Spine version 3.4.02 (latest stable). The spine-lua API now supports path constraints, transform constraints, uses the new way we encode meshes etc. There are no API breaking changes, only API additions, such as PathConstraints and TransformConstraints as well as additional methods to Skeleton and similar classes. The internals of the spine-lua API have also been updated to follow Lua best performance practices by localizing heavily and using meta tables for "class methods". The spine-lua API now also loads texture atlases as exported by Spine. All that is required for a consumer is to supply an image loading function for their specific engine/framework. We provide implementations for spine-love and spine-corona.

The spine-love API can now render all Spine attachment types, including meshes and linked meshes. The API has changed. Where previously a "class" Skeleton existed with a draw function, the new spine-love API introduces a new SkeletonRenderer. See the example on API usage.

The spine-corona API can now also render all Spine attachment types. The API has not changed.
2016-10-11 16:33:25 +02:00
NathanSweet
eb1e8e7942 Disable inherit rotation can be stable if also disabling reflection. 2016-10-10 15:50:57 +02:00
NathanSweet
6ef7cf3ba4 Disable inherit rotation can be stable if also disabling reflection. 2016-10-07 18:30:25 +02:00
NathanSweet
a42ce71796 Simplified disable inherit scale math. 2016-10-07 16:12:15 +02:00
NathanSweet
c34db336d5 Fixed path constraint bone sorting. 2016-10-07 14:22:28 +02:00
NathanSweet
f6a6af0643 Fixed path constraint bone sorting. 2016-10-07 14:19:11 +02:00
NathanSweet
2ea42d4cae noRotation transformMode experimentation. 2016-10-07 14:19:11 +02:00
NathanSweet
367cf651cf Added FPS for 3.5.00-beta. 2016-09-17 09:24:34 +02:00
NathanSweet
cd982be60b Fixed NaN when entire path or individual curve lengths are zero, eg when scaled to zero. 2016-09-15 13:16:31 +02:00
NathanSweet
dfe8e3b826 Refactoring bone transforms. 2016-09-15 13:16:26 +02:00
NathanSweet
56797953c2 Another try at disable inherit scale.
Still inherits shear and it flips with negative scale.
2016-09-07 10:59:17 +02:00
NathanSweet
0ecef9b2c5 Multiple mixingFrom animations. 2016-09-03 22:47:05 +02:00
NathanSweet
263b47c376 Proper rotation mixing.
#621
2016-08-29 19:45:08 +02:00
NathanSweet
b6660fa41c Don't add skeleton position to bone worldX/Y. 2016-08-29 19:44:40 +02:00
NathanSweet
6bb3e49627 Remember all settings. 2016-08-29 19:44:26 +02:00
NathanSweet
7292b7d720 Lines for skeleton origin. 2016-08-29 14:21:14 +02:00
NathanSweet
ae7ca98b8e Allow attachment loader to return null. 2016-08-27 14:53:02 +02:00
NathanSweet
bae19bdf32 Only compute timelinesLast for tracks that need it. 2016-08-25 16:03:07 +02:00
NathanSweet
81d7c1daeb Never prefer empty animation when interrupting a mix. 2016-08-24 22:27:02 +02:00
NathanSweet
a840f4f959 Added timelinesLast to determine when to fade out. Clean up, fixes. 2016-08-24 21:04:25 +02:00
NathanSweet
5edcd916cc Changed skeleton x,y to be propagated using the root bone world x,y.
Can't remember any good reason not to do this.
2016-08-24 21:02:55 +02:00
NathanSweet
5c9b41a748 Clean up. 2016-08-23 22:36:32 +02:00
NathanSweet
d9a1d76471 Moved interrupt to before start. 2016-08-23 21:28:16 +02:00
NathanSweet
014f229af9 Clean up, javadoc. 2016-08-23 18:25:01 +02:00
NathanSweet
c9fdfdf501 Added mixDuration resetTrack, added set/addEmptyAnimation methods. 2016-08-23 18:08:49 +02:00
NathanSweet
fd81d31278 Fixed resetTrack when a default mix time is used. 2016-08-23 17:38:37 +02:00
NathanSweet
bc05861a0c Added resetTrack. 2016-08-23 17:09:59 +02:00
NathanSweet
3c57c03952 Searching for sanity. 2016-08-23 16:39:16 +02:00
NathanSweet
0a90565ba1 AnimationState#apply has no side effects. 2016-08-23 09:55:06 +02:00
NathanSweet
285aead074 Draw order timeline. 2016-08-22 22:54:58 +02:00
NathanSweet
4c2d2b0c0a Moved track changes to update, so AnimationState can be applied to multiple skeletons without side effects.
Also:
- Moved queue drains outside of update loop.
- Better naming.
- Dirty flag after animations have been changed to avoid computing timelinesFirst more times than needed.
- Don't use timelinesFirst when mix == 1.
2016-08-22 21:39:42 +02:00
NathanSweet
ef2a440655 Always mix, even when mix duration is 0, to give the old animation a chance to reset its changes. 2016-08-22 19:39:48 +02:00
NathanSweet
42e3b95e33 Better timelines. 2016-08-22 16:51:45 +02:00
NathanSweet
280024a685 Added mixingOut parameter to Timeline#apply so timelines know which direction mixing is happening.
See ScaleTimeline which uses this to know which scale sign to use.
2016-08-22 14:43:33 +02:00
NathanSweet
b4924b0a49 Experimental WIP for mixing unkeyed bones to setup pose.
#621
2016-08-21 20:58:40 +02:00
NathanSweet
c59a58ae5b Comment 2016-08-21 08:23:55 +02:00
NathanSweet
8f4ad90a17 AnimationState, allow delay to postpone the current track entry.
#621
2016-08-20 18:52:13 +02:00
NathanSweet
23f16c016c AnimationState, don't mix from an animation that was never applied. 2016-08-20 17:59:55 +02:00
NathanSweet
a39c970a6a AnimationState, javadoc, cleanup, tests.
#621
2016-08-20 15:47:13 +02:00
NathanSweet
0a8896a3e2 More AnimationState refactoring.
- Added `animationStart` so a portion of an animation can be looped.
- Changed timing fields to: trackTime, trackLast, trackEnd, animationStart, animationEnd, animationLast
- Removed default *Threshold fields. People can just set it on the track entry if they don't like the defaults.
- Removed `loopCount` from complete event. People can calculate it based on track time.

#621
closes #535
closes #593
2016-08-20 11:51:56 +02:00
NathanSweet
966c03e68f AnimationState refactoring.
- Renamed `previous` to `mixingFrom` for clarity.
- Added `trackEntry` method to fully initialize TrackEntry.
- Moved `mixDuration` initialization to happen when TrackEntry is initialized. This allows mix times to be specified (or changed) through the TrackEntry, without using AnimationStateData.
- Made EventQueue static to ease porting.
- Javadocs.

#621
2016-08-19 19:14:17 +02:00
NathanSweet
4912ea8975 Fixed start event not being triggered when addAnimation is used on an empty track.
closes #634
2016-08-19 11:32:29 +02:00