928 Commits

Author SHA1 Message Date
Nathan Sweet
adc3bbb774 [libgdx] Prefer direct array access.
Already did it some places, might as well do it everywhere.
2020-04-02 00:11:24 +02:00
Nathan Sweet
a28f490c45 Merge branch '3.8' into 3.9-beta
# Conflicts:
#	spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Animation.java
#	spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationState.java
2020-03-30 23:33:03 +02:00
Nathan Sweet
b566bfb0b9 Javadocs. 2020-03-30 23:21:31 +02:00
Nathan Sweet
dd1b3aaa50 Improved AnimationState deform mixing while attachment timelines mix out.
See EsotericSoftware/spine-editor#545 for details.

fixes #1292
fixes #1352
fixes EsotericSoftware/spine-editor#545
2020-03-30 17:42:03 +02:00
Nathan Sweet
9b2690bfe7 Formatting. 2020-03-22 03:10:14 +01:00
NathanSweet
fef881730d Don't unbind shaders.
https://github.com/libgdx/libgdx/pull/5944
2020-03-11 11:30:30 +01:00
NathanSweet
5ed73c8a94 Use field for Skeleton Viewer version. 2020-02-24 00:47:19 +01:00
NathanSweet
b5bf674a64 Fixed path spacing/position timelines being swapped, more efficient reading of color times. 2020-02-22 18:51:43 +01:00
NathanSweet
73f90ebc66 Removed unnecessary SuppressWarnings. 2020-02-13 22:26:16 +01:00
NathanSweet
cbfff6e9ba Use libgdx Null annotation. Updated Eclipse project files. 2020-02-13 20:20:07 +01:00
NathanSweet
53068fc7f1 Use annotation for null analysis rather than javadoc. 2020-02-13 15:32:12 +01:00
NathanSweet
e6672a763f Rearrange math for worldToLocal. 2019-12-20 13:52:20 +01:00
NathanSweet
b3fd4515e9 Name parameters for clarity. 2019-12-20 13:52:19 +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
NathanSweet
c9d871ab63 [libgdx] One bone IK, added fall through comment. 2019-12-18 18:19:26 +01:00
NathanSweet
d94ebeae7a [libgdx] One bone IK clean up. 2019-12-18 18:16:05 +01:00
NathanSweet
203a648ae9 [libgdx] Fixed one bone IK with disable inherit rotation/scale/reflection. 2019-12-18 18:04:21 +01:00
badlogic
ebe44b0e13 Merge branch '3.8' into 3.9-beta 2019-12-12 14:41:18 +01:00
NathanSweet
6568c5d64e Fixed JsonRollback when a skin has no attachments. 2019-12-12 10:56:26 +01:00
NathanSweet
068a554cc9 Avoid iterators for hot paths. 2019-12-06 22:22:18 +01:00
NathanSweet
65752c6d39 A little more minor skin clean up. 2019-12-06 22:22:18 +01:00
NathanSweet
26aaed331f Minor skin clean up. 2019-11-29 21:07:30 +01:00
NathanSweet
d1d108952b Avoid creating a new color object just to set a color. 2019-11-25 14:25:32 +01:00
NathanSweet
fdc73cae67 Javadoc improvements. 2019-11-25 14:19:36 +01:00
NathanSweet
952a34bc08 Restructured timelines to have a curve per value.
EsotericSoftware/spine-editor#118
2019-11-22 22:09:12 +01:00
NathanSweet
ede4ac7b45 Reverse and hold previous checkboxes for Skeleton Viewer. 2019-11-22 22:09:12 +01:00
badlogic
aebe8d3fb6 [libgdx] Switch Java version back to 1.7. 2019-11-22 14:39:30 +01:00
badlogic
7763a8839b [libgdx] Depending on libGDX snapshot builds for now. 2019-11-22 14:35:10 +01:00
NathanSweet
be8f622638 Added support for AnimationState to play backward. 2019-11-22 11:25:11 +01:00
NathanSweet
34ad58febe Use linear search to find keys.
Linear consistently outperforms binary using a wide sampling of real world data.
2019-11-16 18:08:33 +01:00
NathanSweet
faf22ce3cc Removed clamping.
It wasn't used in all code paths anyway.
2019-11-05 21:51:48 +01:00
NathanSweet
4762954446 Fixed bug with interpolation of first Bezier segment. 2019-11-05 19:02:19 +01:00
NathanSweet
c23eb470e6 Minor cleanup, javadoc. 2019-11-05 18:40:08 +01:00
NathanSweet
d72add1370 Timeline cleanup.
* More code moved into getCurveValue/Percent.
* Avoid doing work where possible, eg few comparisons, don't access `frames` when the value is not needed.
* Binary searches return lower index rather than greater and return the frame index without multiplying by the number of entries.
2019-10-31 23:17:03 +01:00
NathanSweet
72f6943970 Timeline binary search for stride 2. 2019-10-29 21:54:46 +01:00
NathanSweet
07bd8451f4 Timeline and JSON/binary improvements.
* Path constraint position and spacing timelines are now value timelines.
* Better code reuse in timelines and loaders.
* Loader changes for using time for Bezier segments.
* Binary knows the number of timelines ahead of time, for allocation.
2019-10-29 18:39:52 +01:00
NathanSweet
f165ffeb1c Use time for Bezier segments rather than percent.
Saves calculating the percent between frames for the Bezier path.
2019-10-29 18:39:52 +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
40e0f7c88c Combined properties for rgb channels. 2019-10-26 17:18:01 +02: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
8a93522ce9 Merge branch '3.8' of https://github.com/esotericsoftware/spine-runtimes into 3.8 2019-10-24 16:51:09 +02:00
badlogic
b9f8fb3b9e [libgdx] Added mouse following IK example. See #1532. 2019-10-24 16:49:53 +02:00
NathanSweet
0ee034b2db [libgdx] Store timeline ids inside set in Animation for O(1) lookup, added Animation#setTimelines.
See #1462.
2019-10-17 17:49:54 +02:00
NathanSweet
4812bac88d [libgdx] Store timeline ids inside set in Animation for O(1) lookup, added Animation#setTimelines.
See #1462.
2019-10-17 17:49:05 +02:00
NathanSweet
30a460d504 [libgdx] Allow listeners to be removed from event callbacks.
closes #464
2019-10-14 14:01:42 +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