1465 Commits

Author SHA1 Message Date
Mario Zechner
0c74907da2 [tests] Improve snapshot testing infrastructure
- test.sh which given a language builds the headless test executable and runs the test with the given inputs
- generate-serializers.sh to (re-)generate all language specific serializers
- Improved README.md
- Removed headless-test-runner.ts, now fully expressed in more concise test.sh
2025-07-15 15:13:45 +02:00
Mario Zechner
e2212b722f [libgdx] Fat jar task to generate testing jar 2025-07-15 14:32:44 +02: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
Mario Zechner
ed58364b51 [libgdx] Clean-up headless test 2025-07-15 10:35:51 +02:00
Nathan Sweet
9272327990 [libgdx] Fixed bone disable inherit scale/reflection. 2025-07-15 00:23:55 -04:00
Nathan Sweet
50bc71f642 [libgdx] Skeleton Viewer: Don't reset camera position when reloading. 2025-07-14 23:44:50 -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
bd5b032619 [tests] ir-based serializer generator for C++ 2025-07-13 04:23:57 +02:00
Mario Zechner
4bf777a658 [tests] serializer ir generator, ir-based java serializer generator 2025-07-13 03:31:20 +02: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
73a17e88c9 [tests] DebugPrinter -> HeadlessTest 2025-07-11 14:16:24 +02:00
Mario Zechner
6dffb3ea90 [libgdx] Fix VS Code launch config for debug-printer 2025-07-11 13:46:37 +02:00
Mario Zechner
d973417106 [tests] Fix locale in all debug printers, add tests/README.md, build if sources changed in compare-with-reference-impl.ts 2025-07-11 13:17:15 +02:00
Mario Zechner
4e3d2be023 [c][cpp][libgdx] Launch configs for debug-printer 2025-07-11 12:33:02 +02:00
Mario Zechner
9ee4d6c40e [libgdx] Add DebugPrinter program, add runDebugPrinter task to build.gradle 2025-07-11 11:03:04 +02:00
Mario Zechner
b69e2ca708 [libgdx] Update Eclipse and Gradle source/target compat to Java 17 2025-07-08 01:41:13 +02:00
Mario Zechner
829b6f4733 [libgdx] Remove .vscode/settings.json 2025-07-08 01:14:34 +02:00
Mario Zechner
06eccd47dd [libgdx] Update gradle wrapper to 8.12, delete Eclipse files on gradle build configuration 2025-07-08 00:02:57 +02:00
Mario Zechner
65d0eec7c5 [cpp] 4.3 porting WIP 2025-07-07 22:57:37 +02:00
Mario Zechner
972a1bc8fc [cpp] 4.3 porting WIP 2025-07-07 21:37:55 +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
Nathan Sweet
f4f1ea1fd9 Ran: examples/export/runtimes.sh 2025-06-20 15:56:02 -04:00
Nathan Sweet
17b74d740f Exported example projects with 4.3.37-beta. 2025-06-20 15:55:39 -04: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
b42daae7f2 [libgdx] Fixed Skeleton Viewer line rendering when zoomed. 2025-06-06 11:01:14 -04:00
Nathan Sweet
a48a3d1fba [libgdx] Improved JSON and binary data loading exceptions. 2025-06-01 11:49:50 -04:00
Nathan Sweet
43a3176db2 [libgdx] Reorder static public qualifiers. 2025-06-01 09:47:22 -04:00
Nathan Sweet
4db43da678 [libgdx] Pose the skeleton for FboTest. 2025-05-31 12:43:48 -04:00
Mario Zechner
dfaf11d503 [libgdx] Jabel support 2025-05-28 20:26:41 +02:00
Mario Zechner
05ded5c444 [libgdx][android] Version 4.3.0-SNAPSHOT 2025-05-28 20:13:44 +02:00
Mario Zechner
9e394eaeb0 [libgdx][android] Fix release publishing to Central Portal 2025-05-28 20:12:49 +02: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