96 Commits

Author SHA1 Message Date
Nathan Sweet
79d2dbfa5f Merge branch '3.8' into 3.9-beta 2020-05-05 15:34:13 +02:00
Nathan Sweet
e649ef05b7 Added AnimationState listener tests for looping and queuing a second animation. 2020-05-01 20:48:35 +02:00
Nathan Sweet
077afcea09 [libgdx] Fixed curve values not being scaled when loading data. Added SkeletonLoader. Javadocs. 2020-04-21 17:34:11 +02:00
Nathan Sweet
45767d0e3d [libgdx] Cleaned up simple tests. 2020-04-21 10:04:53 +02:00
Nathan Sweet
24ff3258ec [libgdx] Fixed AnimationState tests.
Commit a321aa76d556a618a09abb3adeb7473a6c099304 added "|| timeline instanceof EventTimeline" to `computeHold`, so event timelines always use FIRST, never HOLD. This changed the timing slightly and broke the test, but the new timing is better.
2020-04-02 17:38:46 +02:00
NathanSweet
fef881730d Don't unbind shaders.
https://github.com/libgdx/libgdx/pull/5944
2020-03-11 11:30:30 +01:00
badlogic
934bec56b7 Merge branch '3.8' into 3.9-beta 2019-12-20 12:27:35 +01:00
badlogic
b67bf992a0 Single bone IK fix and license header update. Closes #1580, closes #1581. 2019-12-20 12:20:46 +01:00
badlogic
078a4a7b3c Merge branch '3.9-beta' of https://github.com/esotericsoftware/spine-runtimes into 3.9-beta 2019-10-28 14:10:04 +01:00
badlogic
2e5560ca0f Merge branch '3.8' into 3.9-beta 2019-10-28 14:09:38 +01:00
badlogic
656b08a32e [cocos2dx] Added IK example, see #1532. Also added SkeletonAnimation::setPreUpdateWorldTransformsListener() and SkeletonAnimation::setPostUpdateWorldTransformsListener(). 2019-10-28 14:07:25 +01:00
NathanSweet
93ca505864 Value space timelines, multiple property IDs per timeline, rotation not limited -180/180, clean up.
* Timeline is an abstract base class rather than an interface.
* Timelines have a list of String property IDs rather than a single int ID.
* CurveTimeline is separated into percent and value timelines and the API is cleaned up.
* CurveTimeline stores Bezier curves more efficiently. Linear/stepped keys used to take up memory they didn't use (18 floats/key).
* Binary format knows how many keys are Bezier up front for more efficient loading.
* RotateTimeline is no longer limited to -180/180.
* ScaleTimeline and ShearTimeline no longer extend TranslateTimeline.
* PathConstraintSpacingTimeline no longer extends PathConstraintPositionTimeline.
2019-10-26 15:00:58 +02:00
badlogic
4dd94dfb4d Merge branch '3.8' into 3.9-beta 2019-10-25 13:54:53 +02:00
badlogic
b9f8fb3b9e [libgdx] Added mouse following IK example. See #1532. 2019-10-24 16:49:53 +02:00
NathanSweet
eb1c382a3b [libgdx] Fixed tests.
AnimationStateTests failure was caused by a321aa76d556a618a09abb3adeb7473a6c099304, when `computeHold` was added, specifically `|| timeline instanceof EventTimeline`. The slight event order difference is unlikely to be an issue for anyone.
2019-10-14 13:59:39 +02:00
badlogic
f8f495524e Updated example exports, fixed up example projects with mix-and-match skin api demo. 2019-07-09 13:47:05 +02:00
badlogic
6850a019ec Updated examples again, final binary format change. 2019-06-19 18:02:20 +02:00
badlogic
5d974e4480 Added mix-and-match assets, modified export scripts, added libGDX sample. See #1375. 2019-06-13 15:58:16 +02:00
badlogic
8d0ffd08f0 [libgdx] deformAttachment is set for all vertex attachment types on copy. 2019-06-03 14:54:45 +02:00
badlogic
8f6bc427ab Merge branch '3.8-beta' into skin-bones 2019-05-03 11:23:01 +02:00
badlogic
7f7e5f0fec Updated license headers and LICENSE files. 2019-05-02 11:38:19 +02:00
NathanSweet
ab2b08f583 Fixed attachment timeline test. 2019-04-30 15:46:15 +02:00
badlogic
86c3aa02ba Refactored skin API, see #841. This commit is missing Skin#copy(Skin) which has to handle linked mesh attachments properly. 2019-04-30 15:34:44 +02:00
NathanSweet
9b259c66e0 Added TrackEntry#holdPrevious to avoid dipping in higher tracks.
Also:
- Added mixingTo to make track entries a doubly linked list, removing the need for the mixingTo array.
- Renamed dip->hold, timelineData->timelineMode, timelineDipMix->timelineHoldMix ("dip" naming was bad).
2018-08-16 02:51:49 +02:00
NathanSweet
d9a6b9151b Changed skeleton flipX/Y to scaleX/Y.
Cleans up applying transforms and is more powerful. Allows scaling a whole skeleton which has bones that disallow scale inheritance.
2018-07-02 16:45:06 +02:00
NathanSweet
83331fa892 [libgdx] Removed unused import. 2018-04-15 18:24:53 +02:00
badlogic
c97553474e Added new assets for libGDX tests. 2018-04-12 10:24:42 +02:00
NathanSweet
bda035e836 Added additive mixing, still a WIP. 2017-10-27 00:23:41 +02:00
NathanSweet
406a8fba13 [libgdx] Fixed off by 1 errors. 2017-10-21 21:48:04 +02:00
badlogic
69923111b9 [libgdx] Breaking change: SkeletonRenderer no longer handles updating skeletons attached via SkeletonAttachment. Introduced new Skeleton#updateWorldTransform(Bone) that must be explicitely called by the user before rendering skeletons including attached skeletons. See SkeletonAttachmentTest for an example. Closes #1005 2017-09-27 14:03:05 +02:00
NathanSweet
942fb4917d [libgdx] Removed unused import. 2017-07-31 13:17:01 +02:00
badlogic
65d1f51acc [c][sfml] Added spVertexEffect, and some math utilities. Fixed unit tests. 2017-06-26 14:00:00 +02:00
NathanSweet
3c1c829e97 Remove unused import. 2017-06-21 21:25:26 +02:00
badlogic
ddf38c0ce1 [libGDX] VertexEffect now also lets you modify UVs and light/dark color. 2017-06-21 14:35:55 +02:00
badlogic
9bd1153518 Updated examples and runtime demo code 2017-06-19 16:47:28 +02:00
NathanSweet
5540b47f21 Changed Timeline#apply to enum parameters, AnimationState special cases track 0 to apply setup pose before first key. 2017-06-12 02:48:58 +02:00
NathanSweet
088a870463 [libgdx] Return true from AnimationState#apply if any animation was applied.
Makes it easier to know when you don't need to call updateWorldTransform.
2017-06-01 21:14:34 +02:00
NathanSweet
42fa637508 [libgdx] Added vertex effects. 2017-05-27 17:43:18 +02:00
NathanSweet
b882fb8c51 Support for multiple mixing without dipping.
The multiple mixing setting has been removed. Multiple mixing is always done and dipping is avoided for adjacent track entries.

This is pretty close to complete. Mixing `a -> b` where both key property `x` avoids dipping. If the mix is interrupted by `c`, the dipping is properly mixed out. However, if `c` *also* keys `x`, a dip is seen.

This is good test JSON data:
http://n4te.com/x/1948-6b1G.txt
The problem can be seen by doing `m1 -> m1-dup` then interrupting the mix with `m1`.

Related issues: #621, #815, #899, #900
2017-05-16 04:35:54 +02:00
badlogic
bb93011144 [libgdx] Fixed Box2D test, offset bounding boxes by skeleton x/y 2017-04-11 12:25:09 +02:00
Nathan Sweet
ff98e136a1 Bit of reorganization.
It's pretty now!
2017-04-07 16:54:07 +09:00
Nathan Sweet
c2b1140ef0 Unused import. 2017-04-04 23:26:17 +09:00
badlogic
18f0e6fe7f [libgdx] Fixed SkeletonClipping, ensure input clipping area is clockwise 2017-04-03 11:42:19 +02:00
Nathan Sweet
1254b06a91 Fixed AnimationState tests, added notes. 2017-04-01 16:59:40 +09:00
Nathan Sweet
7235f7c6b1 Moved SkeletonClipping to utils, since it isn't public API. 2017-04-01 08:52:06 +09:00
Nathan Sweet
7829b39e00 Added spiral test. 2017-04-01 08:48:40 +09:00
Nathan Sweet
57535b68dd Applied Nate's beautifier and standard set of useless optimizations. 2017-03-31 19:52:06 +09:00
badlogic
9ca215f2e9 [libgdx] Refactored SkeletonRenderer, moved clipping related code to SkeletonClipping, removed stencil clipping 2017-03-31 11:18:39 +02:00
badlogic
1675658f1a Merged with Nate's changes 2017-03-31 10:25:45 +02:00
badlogic
ace38dca5f [libgdx] Added convex decomposition to SkeletonRenderer. 2017-03-31 10:22:25 +02:00