709 Commits

Author SHA1 Message Date
Mario Zechner
366291deaf [cpp] 4.3 porting WIP 2025-06-11 15:21:35 +02:00
Mario Zechner
e3fb50da5b [cpp] 4.3 porting WIP 2025-06-11 14:39:38 +02:00
Mario Zechner
2e369a8130 [cpp] 4.3 porting WIP 2025-06-11 12:51:03 +02:00
Mario Zechner
878403d271 [cpp] 4.3 porting WIP 2025-06-11 12:42:45 +02:00
Mario Zechner
4225089764 [cpp] 4.3 porting WIP 2025-06-10 17:13:43 +02:00
Mario Zechner
61126de9f3 [cpp] 4.3 porting WIP 2025-06-10 16:49:03 +02:00
Mario Zechner
cf27cb438c [cpp] 4.3 porting WIP 2025-06-10 16:19:49 +02:00
Mario Zechner
33db4555be [cpp] 4.3 porting WIP 2025-06-10 15:48:33 +02:00
Mario Zechner
6dce28c68e [cpp] 4.3 porting WIP 2025-06-10 15:32:44 +02:00
Mario Zechner
5fe90b456f [cpp] 4.3 porting WIP 2025-06-10 15:21:41 +02:00
Mario Zechner
0f5cc0b766 [cpp] 4.3 porting WIP 2025-06-10 14:16:46 +02:00
Mario Zechner
fb331a19c0 [cpp] 4.3 porting WIP 2025-06-07 04:42:17 +02:00
Mario Zechner
cb6916c3c3 [cpp] 4.3 porting WIP 2025-06-07 02:54:51 +02:00
Mario Zechner
ad381b43ef [cpp] 4.3 porting WIP 2025-06-07 02:39:16 +02:00
Mario Zechner
a743b7aa23 [cpp] 4.3 porting WIP 2025-06-07 01:43:55 +02:00
Mario Zechner
2692f4c684 Revert "[cpp] Add core pose classes for 4.3-beta architecture"
This reverts commit c83a0ba84915799bc905c4f86cf436c24f4c8aec.

# Conflicts:
#	spine-cpp/spine-cpp/include/spine/spine.h
#	spine-cpp/spine-cpp/src/spine/BoneLocal.cpp
#	spine-cpp/spine-cpp/src/spine/BonePose.cpp
#	spine-cpp/spine-cpp/src/spine/SlotPose.cpp
2025-06-05 20:01:32 +02:00
Mario Zechner
a9874c887c Revert "[cpp] Add pose architecture foundation for 4.3-beta"
This reverts commit 84637da40bc7c2a1d753b14feb2428faa8ee572f.

# Conflicts:
#	.gitignore
#	spine-cpp/spine-cpp/include/spine/spine.h
2025-06-05 20:00:52 +02:00
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