10 Commits

Author SHA1 Message Date
Mario Zechner
51410a526e [c] Direct setListener on track entry and animation state 2025-08-29 15:10:56 +02:00
Mario Zechner
fe5e25c3a0 [cpp] Added TrackEntry::getAnimationState(), wired up when TrackEntry is obtained from pool in AnimatinState::newTrackEntry 2025-07-29 23:15:38 +02:00
Mario Zechner
854b6f9a2a [cpp] Constructor nullability. 2025-07-25 22:00:52 +02:00
Mario Zechner
861eac1c1b [c] References for non-nullable arguments and return types, pointers for nullable args and return types 2025-07-25 20:21:39 +02:00
Mario Zechner
b544dd99ed [formatters] C/C++ formatting 2025-07-15 22:56:12 +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
cc4f11fded [cpp] Simplify directory structure, add DebugPrinter program
- spine-cpp/spine-cpp was moved into spine-cpp directory, so spine-cpp/spine-cpp/src -> spine-cpp/src, spine-cpp/spine-cpp/include -> spine-cpp/include
- Added scaffold for DebugPrinter to be used by runtime comparison tests
- Added build.sh
2025-07-11 11:00:44 +02:00
NathanSweet
5aa58c5a9b spine-cpp is no longer supported. Use spine-c. 2013-04-02 02:48:12 +02:00
NathanSweet
3aab744395 Utility methods to read from file and other minor improvements. 2013-03-22 16:18:03 +01:00
NathanSweet
6899b5249c Added AnimationState.
Fixed bug with keeping attachments visisble when setting new skin.
Clean up. Always more clean up can be done, freaking C++...
2013-03-22 14:22:35 +01:00