• RuntimesBugs
  • Serious bug in Spine-C not fixed for 30 days.

We are encountering critical issues with the spine-c runtime in version 4.2, which are blocking our production use. Our Spine-based rendering system and product are built directly on top of the official spine-c implementation.

Problem statement

  1. darktint-RGB-Timeline causes fatal errors or incorrect behavior
    • Binary file case: Parsing a spine binary that includes darktint-RGB-Timeline results in a fatal crash due to invalid memory access.
    • JSON file case: Parsing a JSON file containing darktint-RGB-Timeline does not crash, but produces incorrect rendering results — the timeline appears to be parsed incorrectly or ignored.

  2. spSkeletonBinary_create fails to honor custom scale factor
    • When using spSkeletonBinary_create(...) with a custom scale value (e.g., for resolution scaling),
    • the animation behaves abnormally:
    • Attachment positions and sizes are not scaled.
    • The referenceScale does not reflect the custom scale (unlike spSkeletonJson_create(...), which works as expected).

Pull Request of below 2 will fix the issue, but no reply or activity is ongoing over 30 days.

  • EsotericSoftware/spine-runtimes2864
  • EsotericSoftware/spine-runtimes2863

    Runtime information

    • Spine Runtime: spine-c v4.2
    • Platform: Cross-platform C/C++ engine
    • Files tested: .spine → exported to .json and .skel with dark tint timelines (RGB2 not RGBA2) and scale factors
    • Expected behavior: spSkeletonBinary_create() should honor the scale factor; timelines should parse and animate correctly.

Please review the above PRs or let us know if there’s any blocker preventing these from being merged. These issues are critical to the integrity of the runtime in production environments, and we are happy to provide test cases or further assistance.

Thanks so much for your time and the amazing work on Spine!

Related Discussions
...

Sorry for the delay! We'll get this sorted ASAP!

  • 수정됨

There was a mistake from my side too.
I realized it after the reply. Sorry for making confuse.

I extended the PR with the issue EsotericSoftware/spine-runtimes2879

Thanks for reporting. This has been fixed in the 4.2 branch.

Please note that in Spine 4.3, we are removing spine-c in favor of spine-cpp-lite, a C wrapper around spine-cpp. This consolidation to a single implementation for native runtimes should help improve the native runtimes considerably.

  • pbk님이 이에 답장했습니다.

    Mario
    I appreciate your fast response. Thank you.
    I understand the decsion, of dropping spine-c and using spine-cpp-lite. But that's a bad news for me to hear.
    I did try using cpp-lite before using spine-c, but it lacks of essential features and bugs that I can not fix without affecting other cpp supported platform.

    Bug for example, iOS pma issue(this needs to touch skeletonRenderer.cpp), blend mode issue

    Lacking feature: TrackEntry specific callback for example, hidden interfaces

    In my experience from several contribution to spine spine-ios and spine-cpp-lite, making runtime from spine-c rather than reusing existing is much easier to handle those issue.

    Anyway, I hope spine-ios, spine-cpp-lite could handle these in near future. I really appreciate this awesome product.