921 Commits

Author SHA1 Message Date
Davide Tantillo
20d5ee63ad [libgdx] Additional changes for per-skin atlases feature. 2025-10-15 09:01:24 +02:00
Davide Tantillo
139fd84d07 [libgdx] Added allowMissingRegions to AtlasAttachmentLoader to support skeletons exported with per-skin atlases. 2025-10-14 12:03:07 +02:00
Nathan Sweet
64ed135e49 [libgdx] Fixed having a physics reset all timeline in a slider animation. 2025-09-24 11:18:30 -06:00
Nathan Sweet
48355c2e71 [libgdx] PhysicsConstraint, fixed incorrect subtraction. 2025-09-11 13:46:57 -06:00
Nathan Sweet
abb436213c [libgdx] PhysicsConstraint, cannot reuse wind/gravity values for rotation. 2025-09-10 20:09:20 -06:00
Nathan Sweet
18dfa3b634 [libgdx] parseRoot -> parseValue. 2025-08-06 21:02:45 -04:00
Nathan Sweet
3dad8462a3 [libgdx] Use JsonMatcher to parse skeleton JSON. 2025-08-05 20:07:38 -04:00
Nathan Sweet
59a9d31c83 [libgdx] Restored project files.
Reverts: [workflows] Add diff artifact to dart format check for debugging 106c39d0af7045eca89ebd080b37ea2c56bb3082.
2025-07-31 17:29:26 -04:00
Mario Zechner
106c39d0af [workflows] Add diff artifact to dart format check for debugging 2025-07-31 21:32:13 +02:00
Nathan Sweet
f0b5f67f1f [libgdx] Use image and audio paths as is.
They are null if empty 4.3.39-beta+.
2025-07-21 15:39:09 -04:00
Nathan Sweet
25bd863549 [libgdx] Reverse IK bend positive logic.
This matches SkeletonJson for 1-bone IK. Requires 4.3.39-beta+.
2025-07-21 15:30:25 -04:00
Mario Zechner
acbcfeb44d [cpp] Still compute RegionAttachment offsets when the region is null, see #2887
- Includes a massive refactor of the TextureRegion/AtlasRegion hierarchy to be in line with Java implementation
- Exact line by line port of RegionAttachment#updateRegion and MeshAttachment#updateRegion using new region implementations
2025-07-15 14:22:19 +02:00
Nathan Sweet
9272327990 [libgdx] Fixed bone disable inherit scale/reflection. 2025-07-15 00:23:55 -04:00
Nathan Sweet
a012479fc4 [libgdx] Still compute RegionAttachment offsets when the region is null.
This lets computeWorldVertices work even when there is no region, which can be useful.
2025-07-14 23:44:21 -04:00
Mario Zechner
429ed9dd3b [tests] Complete C++ SkeletonSerializer auto-generation from Java
- Implement comprehensive C++ serializer generator (tests/generate-cpp-serializer.ts)
- Direct transformation of Java SkeletonSerializer to C++ header-only implementation
- Handle all C++-specific API differences:
  * Field access patterns (obj.field → obj->field, private fields → obj->_field)
  * Null check removal for reference-returning methods (getBones, getEdges)
  * Nested array null check elimination (getVertices, getDrawOrders)
  * Enum serialization via switch statements replacing .name() calls
  * Custom function replacement system for C++-specific implementations
- Add specialized C++ implementations:
  * writeColor: handle public Color fields (r,g,b,a without underscore)
  * writeSkin: iterate AttachmentMap::Entries and call writeSkinEntry
  * writeSkinEntry: handle AttachmentMap::Entry instead of Java SkinEntry
- Auto-generate both pointer and reference versions of all write methods
- Create JsonWriter.h as header-only port of Java JsonWriter
- Update HeadlessTest.cpp to use generated SkeletonSerializer
- Add comprehensive type analysis and enum mapping from analysis-result.json
- Implement exclusion system for filtering unwanted types/methods
- Fix Java generator nested array null checks that were incorrectly hardcoded

Generated C++ serializer produces identical JSON output to Java reference implementation.
2025-07-13 02:06:44 +02:00
Mario Zechner
3183c0b383 [tests] Auto-generation of Java SkeletonSerializer 2025-07-12 02:24:14 +02:00
Mario Zechner
4e3d2be023 [c][cpp][libgdx] Launch configs for debug-printer 2025-07-11 12:33:02 +02:00
Mario Zechner
b69e2ca708 [libgdx] Update Eclipse and Gradle source/target compat to Java 17 2025-07-08 01:41:13 +02:00
Nathan Sweet
7bd2f2ebd6 [libgdx] Transform constraint scale is 1 if omitted. 2025-07-04 22:01:43 -04:00
Mario Zechner
c1ba842c15 [cpp] 4.3 porting WIP 2025-07-02 16:16:52 +02:00
Nathan Sweet
89513d0128 [libgdx] UTF8 for Eclipse source. 2025-06-26 12:52:34 -04:00
Davide Tantillo
ad76f09eb4 [libgdx] 4.3 From/To properties scale and unscale using skeleton.scaleX/Y. 2025-06-26 10:53:14 +02:00
Davide Tantillo
bda90bd158 Formatting 2025-06-20 15:28:40 +02:00
Nathan Sweet
2d9f86a4aa [libgdx] Fixed binary export for constraints. 2025-06-19 12:42:06 -04:00
Davide Tantillo
733fa9169c [libgdx] Fixed slider scale. 2025-06-19 18:14:14 +02:00
Davide Tantillo
1408b21dee [libgdx] Fixed transform constraints ToScaleX/Y when skeleton scale is used. 2025-06-19 17:45:41 +02:00
Nathan Sweet
317aa13c87 [libgdx] Fixed transform constraints and sliders when runtime skeleton scale is used. 2025-06-18 14:50:52 -04:00
Nathan Sweet
ee701ed488 [libgdx] Fixed transform constraint timeline mixScaleY default. 2025-06-18 13:39:21 -04:00
Nathan Sweet
d44824c7c8 [libgdx] Fixed first key in transform constraint timelines. 2025-06-18 13:37:56 -04:00
Nathan Sweet
3ec7121388 [libgdx] Fixed slider bone "to" minimum value not being applied. 2025-06-18 13:22:27 -04:00
Nathan Sweet
dd1fd6ab51 [libgdx] Comments for porting. 2025-06-13 14:57:01 -04:00
Nathan Sweet
e2ee1ab458 [libgdx] Nicen things up for porting. 2025-06-12 15:56:13 -04:00
Nathan Sweet
535a62051d [libgdx] Fixed skeleton wind and gravity. 2025-06-12 12:30:04 -04:00
Nathan Sweet
205b390195 [libgdx] Added constants for transform constraint offset indices. 2025-06-11 15:02:57 -04:00
Nathan Sweet
e6f85fb9d1 [libgdx] Move a assignment closer to use. 2025-06-06 19:16:52 -04:00
Nathan Sweet
a48a3d1fba [libgdx] Improved JSON and binary data loading exceptions. 2025-06-01 11:49:50 -04:00
Mario Zechner
cc179858f9 [libgdx][android] Migrate to Central Portal publishing with unified version management 2025-05-28 20:12:48 +02:00
Mario Zechner
8b5adfadb6 Merge branch '4.2' into 4.3-beta
# Conflicts:
#	spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/ConstraintData.java
#	spine-ts/spine-pixi-v8/src/index.ts
#	spine-unity/Modules/com.esotericsoftware.spine.lwrp-shaders/LICENSE.md
2025-05-26 13:54:02 +02:00
Mario Zechner
97d49b37b7 License header update 2025-05-26 13:24:06 +02:00
Mario Zechner
0c6788cd97 [haxe] More documentation synchronization with reference implementation 2025-05-22 22:11:12 +02:00
Nathan Sweet
fdc75a3c0e [libgdx] Added wind and gravity controls for the whole skeleton. 2025-05-21 19:04:56 -04:00
Nathan Sweet
061e9d7ec5 [libgdx] Fixed binary path constraints and JSON skin constraints. 2025-05-20 19:53:04 -04:00
Nathan Sweet
2af3f89cc6 [libgdx] Fixed mesh attachment UVs. 2025-05-20 19:51:59 -04:00
Nathan Sweet
b0fe37e5ed [libgdx] Fixed reading JSON with tint black. 2025-05-19 23:36:35 -04:00
Nathan Sweet
af6fba6666 [libgdx] Fixed animation bones having duplicates. 2025-05-19 20:17:36 -04:00
Nathan Sweet
b3ed2ff16b [libgdx] Fixed local transform being computed from an invalid world transform. 2025-05-19 20:17:00 -04:00
Nathan Sweet
3494954039 [libgdx] Clean up. 2025-05-18 21:14:50 -04:00
Nathan Sweet
cebf24fe58 [libgdx] Error when an IK or transform constraint can't be found. 2025-05-16 22:03:09 -04:00
Nathan Sweet
6f94019aa3 [libgdx] * Fixed slider when mix is 1.
* Use validateLocalTransform rather than modifyLocal where possible.
* Transform constraint timeline JSON defaults changed to 0, since properties are often not mapped.
* & for single compare when checking multiple mixes.
2025-05-15 23:14:13 -04:00
Nathan Sweet
79d9438132 [libgdx] Store bones indices on animation for sliders. 2025-05-15 17:03:23 -04:00