542 Commits

Author SHA1 Message Date
Mario Zechner
3bb48dceb9 Formatting 2025-05-26 18:22:28 +02:00
Mario Zechner
c83a0ba849 [cpp] Add core pose classes for 4.3-beta architecture
- Add BoneLocal class for local bone pose (x, y, rotation, scale, shear, inherit)
- Add BonePose class extending BoneLocal with world transform calculations
- Add SlotPose class for slot state (color, darkColor, attachment, sequence, deform)
- Implement complete world transform math in BonePose from reference implementation
- Use Spine's custom RTTI system instead of C++ RTTI for type checking
- Update spine.h to include new core pose classes
- Update development guidelines with RTTI usage patterns

These core pose classes provide the foundation for the new constraint system
and enable separation of local, constrained, and applied poses in the 4.3-beta
architecture redesign.
2025-05-26 18:19:58 +02:00
Mario Zechner
84637da40b [cpp] Add pose architecture foundation for 4.3-beta
- Replace Updatable interface with Update interface
- Add Pose<P> template interface for pose management
- Add PosedData<P> abstract base class for setup data
- Add Posed<D,P,A> base class linking data, pose, and applied states
- Add PosedActive<D,P,A> extending Posed with active state management
- Update spine.h to include new pose system headers

This implements the foundational pose architecture required for the 4.3-beta
constraint system overhaul. The new pose-based system provides better separation
of concerns and enables more flexible constraint management.
2025-05-26 16:51:07 +02:00
Nathan Sweet
7be6dac44a Merge branch '4.2' into 4.3-beta
# Conflicts:
#	spine-ts/package.json
#	spine-unity/Assets/Spine/package.json
2025-05-09 17:05:41 -04:00
Mario Zechner
ec3231f861 [cpp] Port of #2837 2025-05-07 13:06:50 +02:00
James Chen
b57acb040c
Fix spine::Vector copy assignment. (#2828) 2025-05-05 13:24:21 +02:00
bofeng-song
7fd1e5340c
Fix the inconsistent behavior between Spine vector's setSize and std::vector's resize, which causes the Spine vector to allocate additional space upfront. (#2830) 2025-05-05 13:21:33 +02:00
Nathan Sweet
dafafca942 Merge branch '4.2' into 4.3-beta-sliders
# Conflicts:
#	spine-ts/package.json
2025-04-23 11:59:55 -04:00
Mario Zechner
febbbbcd17 [cpp] Closes #2773, infinite loop in spine_skin_get_entries and subsequent freeing of name strings. 2025-04-17 11:52:02 +02:00
Luke Ingram
84d785c664 [c][cpp] Port of commit f1e0f0f (#2807)
* [c][cpp] Port of commit f1e0f0f: Fixed animation not being mixed out in some cases. #2786

* [c][cpp] Format.

---------

Co-authored-by: Davide Tantillo <iamdjj@gmail.com>
2025-04-09 16:08:23 +02:00
Luke Ingram
23233222f9
[c][cpp] Port of commit f1e0f0f (#2807)
* [c][cpp] Port of commit f1e0f0f: Fixed animation not being mixed out in some cases. #2786

* [c][cpp] Format.

---------

Co-authored-by: Davide Tantillo <iamdjj@gmail.com>
2025-04-09 15:13:39 +02:00
Mario Zechner
72381a534a [cpp] Fix block allocator compression, closes #2792 2025-04-08 14:29:14 +02:00
Byeong Gwan
6e5da45fa3
[iOS] update Swift inteface for more fine grained control(like external atlas loading) (#2772)
* update Swift inteface for more fine grained control

- move instance method to static method which does not require spine cpp pointer
- implement equality and hashing based on cpp pointer so that it can be stored in collection and compare it
- expose Atlas image count property so that the user can load the atlas resource lazily

- User can now Create Atlas by using Altas static function, and fetch whole resource path by iterating count of atlas page count

* [iOS] fix wrong y-axis alignment
2025-04-08 11:51:32 +02:00
James Chen
f037c05b73
Fix memory leak of Vector::setSize (#2781)
* Fix memory leak of Vector::setSize

* Format code
2025-04-08 11:48:47 +02:00
Byeong Gwan
294399886a
[cpp] fix bound computation ignores clipping (#2800) 2025-04-08 11:46:35 +02:00
Luke Ingram
ec395f00e1
[all] Updates documentation. (#2805)
- All links to forum posts have been updated.
- All links to Spine documentation have been updated to be accurate. This includes the Editor docs and specific Runtimes docs.
- Removes the doc link to the out-of-date spine-cocos2d-objc runtime and replaces it with spine-sdl.
- Links to external frameworks and tools have been corrected.
2025-04-08 04:53:39 +02:00
Nathan Sweet
f08d58dc98 License header update. 2025-04-05 13:42:13 -04:00
Mario Zechner
43b9f6cab3 [cpp] Fix null dereference in PhysicsConstraintResetTimeline. Closes #2694 2025-02-11 14:14:37 +01:00
Mario Zechner
c9de3b8776 [cpp] Fix JSON parsing of transform constraint timelines, path constraint mix timeline constant. Closes #2736 2025-02-11 14:05:44 +01:00
Luke Ingram
eca4b9e4c1 [c][cpp] Apply skeleton.scaleX/scaleY to wind and gravity. See #2729.
Tested using the spine-sdl runtime and cloud-pot example for both spine-c and spine-cpp.

spine-c's PhysicsConstraint.c has the gravity inverted as it will need to be inverted if the runtime is y-down rather than y-up.
If the runtime is y-up, remove the negative sign and parentheses from self->gravity in line 143.
2025-02-10 09:47:32 -04:00
Mario Zechner
0b2f403562 [glfw] Start of README and docs 2025-02-10 14:36:10 +01:00
Mario Zechner
140335636c [c] Port of commit 8d058fb: Improved AnimationState behavior when paused. See #2705 2024-12-09 15:00:59 +01:00
Mario Zechner
9bd964514d [cpp] Port of commit 8d058fb: Improved AnimationState behavior when paused. See #2705 2024-12-09 14:56:24 +01:00
Mario Zechner
a2859f68e0 [cpp] Closes #2672, JSON inherit timeline parsing didn't advance key map properly. 2024-12-06 12:55:59 +01:00
Mario Zechner
350faf2153 Formatting 2024-11-25 14:57:26 +01:00
Mario Zechner
5e80111b87 [glfw] Add spine-cpp-lite example. 2024-11-22 11:59:08 +01:00
Allen
b2061f1cf9
[ios] Using UnsafeBufferPointer to skip data copying and boost performance. (#2686)
* [ios] Using UnsafeBufferPointer to skip data copying and boost performance.

* [ios] Fix the extra data copying caused by using  and move the guard let condition to be earlier
2024-11-20 11:54:22 +01:00
Mario Zechner
90f6bfe49e [cpp] Port of commit 9d49999: Changed SequenceTimeline to match AttachmentTimeline behavior. 2024-11-15 15:31:31 +01:00
Mario Zechner
308c340cc9 Formatting 2024-11-15 15:18:06 +01:00
kikiloveswift
000df07027
[ios] Fix the issue where the SkeletonBounds instance couldn’t be initialized (#2669)
Co-authored-by: liqiang <liqiangbj01@kanyun.com>
2024-11-14 12:21:14 +01:00
kikiloveswift
648170f325
[ios] Provide the ability to convert an Attachment into a BoundingBoxAttachment. (#2671)
Co-authored-by: liqiang <liqiangbj01@kanyun.com>
2024-11-14 12:19:17 +01:00
Mario Zechner
19d3d1b29b [ios] Closes #2666, expose SkeletonBounds via spine-cpp-lite/Swift 2024-11-05 15:46:53 +01:00
Mario Zechner
9207cd2a40 [cpp][glfw] Fix reading bounding box attachments in SkeletonBinary, closes #2668, add binary Spineboy to example 2024-11-05 13:55:28 +01:00
Mario Zechner
28fb83d1d7 [cpp] Fix passing argument by reference 2024-11-05 13:27:01 +01:00
Mario Zechner
eb6a973f98 [cpp] Fix compliation on VS2017, closes #2645 2024-10-02 12:34:33 +02:00
chemodansama
7672c4a32d
Make String::startsWith and String::lastIndexOf const. (#2646)
Co-authored-by: Grigory Shabaganov <gshabaganov@halfbrick.com>
2024-10-02 12:11:59 +02:00
Mario Zechner
0e258cd0aa [cpp] Fixes #2635 2024-09-18 14:48:17 +02:00
Mario Zechner
03826796b6 [cpp] Closes #2622, fix memory leak in case of version mismatch. 2024-09-09 11:20:57 +02:00
Mario Zechner
f1956d9496 Formatting. 2024-08-19 14:01:33 +02:00
Mario Zechner
e0796bf543 [c][cpp] Port: Fixed mixing out inherit timelines to the setup pose. See #2590 2024-08-19 11:14:37 +02:00
Mario Zechner
eb2802e366 [ue] Fix shadowed variables on Clang/GCC. 2024-08-07 14:09:31 +02:00
Mario Zechner
853b5ee165 [cpp] Fix NaN in IKConstraint due to fp precision.
dd - r * r might result in a negative value, even if dd == r * r, depending on compiler optimizations and operation order.
2024-08-06 16:39:01 +02:00
Mario Zechner
1d0b33fb69 Formatting 2024-07-24 14:37:16 +02:00
Mario Zechner
a5e51afb57 [cpp] Port: Scale physics constraint limits with skeleton scale. See #2576 2024-07-24 14:32:13 +02:00
Mario Zechner
92b5b8a1ee [cpp] Fix handling of degenerate clipping polygons, closes #2579 2024-07-24 14:22:44 +02:00
Mario Zechner
aca86fa588 [cpp] Fix float exception, closes #2583 2024-07-24 13:49:42 +02:00
Mario Zechner
e9cd51e597 [cpp-lite][flutter] Switch to SkeletonRenderer 2024-07-02 14:08:00 +02:00
Mario Zechner
bf0a33876a Formatting 2024-07-02 12:32:59 +02:00
Mario Zechner
e9aab1c94e [cpp] Fix rendererObject assignment in sequence loading code 2024-07-01 16:24:18 +02:00
Mario Zechner
dcaa4f935e [sdl] Switch to SkeletonRenderer. 2024-07-01 15:09:42 +02:00