mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2025-12-21 09:46:02 +08:00
Wip unit tests
This commit is contained in:
parent
a6f0c88994
commit
1e6d8b793a
@ -0,0 +1,775 @@
|
|||||||
|
// !$*UTF8*$!
|
||||||
|
{
|
||||||
|
archiveVersion = 1;
|
||||||
|
classes = {
|
||||||
|
};
|
||||||
|
objectVersion = 48;
|
||||||
|
objects = {
|
||||||
|
|
||||||
|
/* Begin PBXBuildFile section */
|
||||||
|
BB6017131FD9289A009BD546 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB6017121FD9289A009BD546 /* main.cpp */; };
|
||||||
|
BB6017A21FD928AC009BD546 /* Attachment.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB6017671FD928AC009BD546 /* Attachment.cpp */; };
|
||||||
|
BB6017A31FD928AC009BD546 /* Skeleton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB6017681FD928AC009BD546 /* Skeleton.cpp */; };
|
||||||
|
BB6017A41FD928AC009BD546 /* TranslateTimeline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB6017691FD928AC009BD546 /* TranslateTimeline.cpp */; };
|
||||||
|
BB6017A51FD928AC009BD546 /* Extension.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB60176A1FD928AC009BD546 /* Extension.cpp */; };
|
||||||
|
BB6017A61FD928AC009BD546 /* Updatable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB60176B1FD928AC009BD546 /* Updatable.cpp */; };
|
||||||
|
BB6017A71FD928AC009BD546 /* Bone.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB60176C1FD928AC009BD546 /* Bone.cpp */; };
|
||||||
|
BB6017A81FD928AC009BD546 /* AtlasAttachmentLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB60176D1FD928AC009BD546 /* AtlasAttachmentLoader.cpp */; };
|
||||||
|
BB6017A91FD928AC009BD546 /* EventTimeline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB60176E1FD928AC009BD546 /* EventTimeline.cpp */; };
|
||||||
|
BB6017AA1FD928AC009BD546 /* PathConstraint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB60176F1FD928AC009BD546 /* PathConstraint.cpp */; };
|
||||||
|
BB6017AB1FD928AC009BD546 /* VertexAttachment.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB6017701FD928AC009BD546 /* VertexAttachment.cpp */; };
|
||||||
|
BB6017AC1FD928AC009BD546 /* TextureLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB6017711FD928AC009BD546 /* TextureLoader.cpp */; };
|
||||||
|
BB6017AD1FD928AC009BD546 /* SkeletonData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB6017721FD928AC009BD546 /* SkeletonData.cpp */; };
|
||||||
|
BB6017AE1FD928AC009BD546 /* TransformConstraintTimeline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB6017731FD928AC009BD546 /* TransformConstraintTimeline.cpp */; };
|
||||||
|
BB6017AF1FD928AC009BD546 /* IkConstraint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB6017741FD928AC009BD546 /* IkConstraint.cpp */; };
|
||||||
|
BB6017B01FD928AC009BD546 /* CurveTimeline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB6017751FD928AC009BD546 /* CurveTimeline.cpp */; };
|
||||||
|
BB6017B11FD928AC009BD546 /* AnimationStateData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB6017761FD928AC009BD546 /* AnimationStateData.cpp */; };
|
||||||
|
BB6017B21FD928AC009BD546 /* Constraint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB6017771FD928AC009BD546 /* Constraint.cpp */; };
|
||||||
|
BB6017B31FD928AC009BD546 /* BoundingBoxAttachment.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB6017781FD928AC009BD546 /* BoundingBoxAttachment.cpp */; };
|
||||||
|
BB6017B41FD928AC009BD546 /* PathAttachment.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB6017791FD928AC009BD546 /* PathAttachment.cpp */; };
|
||||||
|
BB6017B51FD928AC009BD546 /* MeshAttachment.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB60177A1FD928AC009BD546 /* MeshAttachment.cpp */; };
|
||||||
|
BB6017B61FD928AC009BD546 /* TransformConstraint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB60177B1FD928AC009BD546 /* TransformConstraint.cpp */; };
|
||||||
|
BB6017B71FD928AC009BD546 /* Skin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB60177C1FD928AC009BD546 /* Skin.cpp */; };
|
||||||
|
BB6017B81FD928AC009BD546 /* RTTI.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB60177D1FD928AC009BD546 /* RTTI.cpp */; };
|
||||||
|
BB6017B91FD928AC009BD546 /* MathUtil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB60177E1FD928AC009BD546 /* MathUtil.cpp */; };
|
||||||
|
BB6017BA1FD928AC009BD546 /* IkConstraintData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB60177F1FD928AC009BD546 /* IkConstraintData.cpp */; };
|
||||||
|
BB6017BB1FD928AC009BD546 /* Atlas.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB6017801FD928AC009BD546 /* Atlas.cpp */; };
|
||||||
|
BB6017BC1FD928AC009BD546 /* ClippingAttachment.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB6017811FD928AC009BD546 /* ClippingAttachment.cpp */; };
|
||||||
|
BB6017BD1FD928AC009BD546 /* PathConstraintData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB6017821FD928AC009BD546 /* PathConstraintData.cpp */; };
|
||||||
|
BB6017BE1FD928AC009BD546 /* Timeline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB6017831FD928AC009BD546 /* Timeline.cpp */; };
|
||||||
|
BB6017BF1FD928AC009BD546 /* SkeletonBinary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB6017841FD928AC009BD546 /* SkeletonBinary.cpp */; };
|
||||||
|
BB6017C01FD928AC009BD546 /* ScaleTimeline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB6017851FD928AC009BD546 /* ScaleTimeline.cpp */; };
|
||||||
|
BB6017C11FD928AC009BD546 /* LinkedMesh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB6017861FD928AC009BD546 /* LinkedMesh.cpp */; };
|
||||||
|
BB6017C21FD928AC009BD546 /* PointAttachment.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB6017871FD928AC009BD546 /* PointAttachment.cpp */; };
|
||||||
|
BB6017C31FD928AC009BD546 /* RegionAttachment.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB6017881FD928AC009BD546 /* RegionAttachment.cpp */; };
|
||||||
|
BB6017C41FD928AC009BD546 /* DeformTimeline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB6017891FD928AC009BD546 /* DeformTimeline.cpp */; };
|
||||||
|
BB6017C51FD928AC009BD546 /* Animation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB60178A1FD928AC009BD546 /* Animation.cpp */; };
|
||||||
|
BB6017C61FD928AC009BD546 /* AttachmentLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB60178B1FD928AC009BD546 /* AttachmentLoader.cpp */; };
|
||||||
|
BB6017C71FD928AC009BD546 /* DrawOrderTimeline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB60178C1FD928AC009BD546 /* DrawOrderTimeline.cpp */; };
|
||||||
|
BB6017C81FD928AC009BD546 /* AttachmentTimeline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB60178D1FD928AC009BD546 /* AttachmentTimeline.cpp */; };
|
||||||
|
BB6017C91FD928AC009BD546 /* EventData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB60178E1FD928AC009BD546 /* EventData.cpp */; };
|
||||||
|
BB6017CA1FD928AC009BD546 /* PathConstraintSpacingTimeline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB60178F1FD928AC009BD546 /* PathConstraintSpacingTimeline.cpp */; };
|
||||||
|
BB6017CB1FD928AC009BD546 /* PathConstraintPositionTimeline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB6017901FD928AC009BD546 /* PathConstraintPositionTimeline.cpp */; };
|
||||||
|
BB6017CC1FD928AC009BD546 /* TransformConstraintData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB6017911FD928AC009BD546 /* TransformConstraintData.cpp */; };
|
||||||
|
BB6017CD1FD928AC009BD546 /* SkeletonClipping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB6017921FD928AC009BD546 /* SkeletonClipping.cpp */; };
|
||||||
|
BB6017CE1FD928AC009BD546 /* TwoColorTimeline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB6017931FD928AC009BD546 /* TwoColorTimeline.cpp */; };
|
||||||
|
BB6017CF1FD928AC009BD546 /* Slot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB6017941FD928AC009BD546 /* Slot.cpp */; };
|
||||||
|
BB6017D01FD928AC009BD546 /* AnimationState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB6017951FD928AC009BD546 /* AnimationState.cpp */; };
|
||||||
|
BB6017D11FD928AC009BD546 /* SkeletonJson.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB6017961FD928AC009BD546 /* SkeletonJson.cpp */; };
|
||||||
|
BB6017D21FD928AC009BD546 /* BoneData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB6017971FD928AC009BD546 /* BoneData.cpp */; };
|
||||||
|
BB6017D31FD928AC009BD546 /* IkConstraintTimeline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB6017981FD928AC009BD546 /* IkConstraintTimeline.cpp */; };
|
||||||
|
BB6017D41FD928AC009BD546 /* Event.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB6017991FD928AC009BD546 /* Event.cpp */; };
|
||||||
|
BB6017D51FD928AC009BD546 /* RotateTimeline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB60179A1FD928AC009BD546 /* RotateTimeline.cpp */; };
|
||||||
|
BB6017D61FD928AC009BD546 /* PathConstraintMixTimeline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB60179B1FD928AC009BD546 /* PathConstraintMixTimeline.cpp */; };
|
||||||
|
BB6017D71FD928AC009BD546 /* Triangulator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB60179C1FD928AC009BD546 /* Triangulator.cpp */; };
|
||||||
|
BB6017D81FD928AC009BD546 /* Json.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB60179D1FD928AC009BD546 /* Json.cpp */; };
|
||||||
|
BB6017D91FD928AC009BD546 /* SkeletonBounds.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB60179E1FD928AC009BD546 /* SkeletonBounds.cpp */; };
|
||||||
|
BB6017DA1FD928AC009BD546 /* SlotData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB60179F1FD928AC009BD546 /* SlotData.cpp */; };
|
||||||
|
BB6017DB1FD928AC009BD546 /* ShearTimeline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB6017A01FD928AC009BD546 /* ShearTimeline.cpp */; };
|
||||||
|
BB6017DC1FD928AC009BD546 /* ColorTimeline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB6017A11FD928AC009BD546 /* ColorTimeline.cpp */; };
|
||||||
|
BB6017E21FD928F7009BD546 /* KMemory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB6017E01FD928F6009BD546 /* KMemory.cpp */; };
|
||||||
|
BB6017E31FD928F7009BD546 /* KString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB6017E11FD928F6009BD546 /* KString.cpp */; };
|
||||||
|
BB6017E71FD929D0009BD546 /* MiniCppUnit.cxx in Sources */ = {isa = PBXBuildFile; fileRef = BB6017E61FD929D0009BD546 /* MiniCppUnit.cxx */; };
|
||||||
|
BB6017EE1FD929F4009BD546 /* teamcity_cppunit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB6017EA1FD929F4009BD546 /* teamcity_cppunit.cpp */; };
|
||||||
|
BB6017EF1FD929F4009BD546 /* teamcity_messages.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB6017ED1FD929F4009BD546 /* teamcity_messages.cpp */; };
|
||||||
|
BB6018081FD92AF4009BD546 /* SpineEventMonitor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BB6017FD1FD92AF3009BD546 /* SpineEventMonitor.cpp */; };
|
||||||
|
/* End PBXBuildFile section */
|
||||||
|
|
||||||
|
/* Begin PBXCopyFilesBuildPhase section */
|
||||||
|
BB60170D1FD9289A009BD546 /* CopyFiles */ = {
|
||||||
|
isa = PBXCopyFilesBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
dstPath = /usr/share/man/man1/;
|
||||||
|
dstSubfolderSpec = 0;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 1;
|
||||||
|
};
|
||||||
|
/* End PBXCopyFilesBuildPhase section */
|
||||||
|
|
||||||
|
/* Begin PBXFileReference section */
|
||||||
|
BB60170F1FD9289A009BD546 /* spine_unit_test */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = spine_unit_test; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
|
BB6017121FD9289A009BD546 /* main.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = main.cpp; sourceTree = "<group>"; };
|
||||||
|
BB60171C1FD928AC009BD546 /* DeformTimeline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DeformTimeline.h; sourceTree = "<group>"; };
|
||||||
|
BB60171D1FD928AC009BD546 /* Animation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Animation.h; sourceTree = "<group>"; };
|
||||||
|
BB60171E1FD928AC009BD546 /* EventData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EventData.h; sourceTree = "<group>"; };
|
||||||
|
BB60171F1FD928AC009BD546 /* SlotData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SlotData.h; sourceTree = "<group>"; };
|
||||||
|
BB6017201FD928AC009BD546 /* PathConstraintMixTimeline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PathConstraintMixTimeline.h; sourceTree = "<group>"; };
|
||||||
|
BB6017211FD928AC009BD546 /* SkeletonClipping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SkeletonClipping.h; sourceTree = "<group>"; };
|
||||||
|
BB6017221FD928AC009BD546 /* Pool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Pool.h; sourceTree = "<group>"; };
|
||||||
|
BB6017231FD928AC009BD546 /* TimelineType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TimelineType.h; sourceTree = "<group>"; };
|
||||||
|
BB6017241FD928AC009BD546 /* TextureLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextureLoader.h; sourceTree = "<group>"; };
|
||||||
|
BB6017251FD928AC009BD546 /* PositionMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PositionMode.h; sourceTree = "<group>"; };
|
||||||
|
BB6017261FD928AC009BD546 /* RTTI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RTTI.h; sourceTree = "<group>"; };
|
||||||
|
BB6017271FD928AC009BD546 /* PathAttachment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PathAttachment.h; sourceTree = "<group>"; };
|
||||||
|
BB6017281FD928AC009BD546 /* MixDirection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MixDirection.h; sourceTree = "<group>"; };
|
||||||
|
BB6017291FD928AC009BD546 /* CurveTimeline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CurveTimeline.h; sourceTree = "<group>"; };
|
||||||
|
BB60172A1FD928AC009BD546 /* PointAttachment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PointAttachment.h; sourceTree = "<group>"; };
|
||||||
|
BB60172B1FD928AC009BD546 /* Event.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Event.h; sourceTree = "<group>"; };
|
||||||
|
BB60172C1FD928AC009BD546 /* Bone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Bone.h; sourceTree = "<group>"; };
|
||||||
|
BB60172D1FD928AC009BD546 /* Atlas.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Atlas.h; sourceTree = "<group>"; };
|
||||||
|
BB60172E1FD928AC009BD546 /* DrawOrderTimeline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DrawOrderTimeline.h; sourceTree = "<group>"; };
|
||||||
|
BB60172F1FD928AC009BD546 /* TransformConstraintTimeline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TransformConstraintTimeline.h; sourceTree = "<group>"; };
|
||||||
|
BB6017301FD928AC009BD546 /* IkConstraintTimeline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IkConstraintTimeline.h; sourceTree = "<group>"; };
|
||||||
|
BB6017311FD928AC009BD546 /* VertexAttachment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VertexAttachment.h; sourceTree = "<group>"; };
|
||||||
|
BB6017321FD928AC009BD546 /* AttachmentType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AttachmentType.h; sourceTree = "<group>"; };
|
||||||
|
BB6017331FD928AC009BD546 /* RotateMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RotateMode.h; sourceTree = "<group>"; };
|
||||||
|
BB6017341FD928AC009BD546 /* ClippingAttachment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ClippingAttachment.h; sourceTree = "<group>"; };
|
||||||
|
BB6017351FD928AC009BD546 /* PathConstraintPositionTimeline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PathConstraintPositionTimeline.h; sourceTree = "<group>"; };
|
||||||
|
BB6017361FD928AC009BD546 /* RotateTimeline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RotateTimeline.h; sourceTree = "<group>"; };
|
||||||
|
BB6017371FD928AC009BD546 /* Triangulator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Triangulator.h; sourceTree = "<group>"; };
|
||||||
|
BB6017381FD928AC009BD546 /* RegionAttachment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RegionAttachment.h; sourceTree = "<group>"; };
|
||||||
|
BB6017391FD928AC009BD546 /* Attachment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Attachment.h; sourceTree = "<group>"; };
|
||||||
|
BB60173A1FD928AC009BD546 /* HashMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HashMap.h; sourceTree = "<group>"; };
|
||||||
|
BB60173B1FD928AC009BD546 /* TransformConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TransformConstraint.h; sourceTree = "<group>"; };
|
||||||
|
BB60173C1FD928AC009BD546 /* TransformMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TransformMode.h; sourceTree = "<group>"; };
|
||||||
|
BB60173D1FD928AC009BD546 /* SkeletonJson.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SkeletonJson.h; sourceTree = "<group>"; };
|
||||||
|
BB60173E1FD928AC009BD546 /* IkConstraintData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IkConstraintData.h; sourceTree = "<group>"; };
|
||||||
|
BB60173F1FD928AC009BD546 /* MixPose.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MixPose.h; sourceTree = "<group>"; };
|
||||||
|
BB6017401FD928AC009BD546 /* AnimationStateData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AnimationStateData.h; sourceTree = "<group>"; };
|
||||||
|
BB6017411FD928AC009BD546 /* TwoColorTimeline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TwoColorTimeline.h; sourceTree = "<group>"; };
|
||||||
|
BB6017421FD928AC009BD546 /* Skeleton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Skeleton.h; sourceTree = "<group>"; };
|
||||||
|
BB6017431FD928AC009BD546 /* ColorTimeline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ColorTimeline.h; sourceTree = "<group>"; };
|
||||||
|
BB6017441FD928AC009BD546 /* SpacingMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SpacingMode.h; sourceTree = "<group>"; };
|
||||||
|
BB6017451FD928AC009BD546 /* Vertices.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Vertices.h; sourceTree = "<group>"; };
|
||||||
|
BB6017461FD928AC009BD546 /* Constraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Constraint.h; sourceTree = "<group>"; };
|
||||||
|
BB6017471FD928AC009BD546 /* LinkedMesh.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LinkedMesh.h; sourceTree = "<group>"; };
|
||||||
|
BB6017481FD928AC009BD546 /* ShearTimeline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShearTimeline.h; sourceTree = "<group>"; };
|
||||||
|
BB6017491FD928AC009BD546 /* Json.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Json.h; sourceTree = "<group>"; };
|
||||||
|
BB60174A1FD928AC009BD546 /* AttachmentLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AttachmentLoader.h; sourceTree = "<group>"; };
|
||||||
|
BB60174B1FD928AC009BD546 /* Skin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Skin.h; sourceTree = "<group>"; };
|
||||||
|
BB60174C1FD928AC009BD546 /* AttachmentTimeline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AttachmentTimeline.h; sourceTree = "<group>"; };
|
||||||
|
BB60174D1FD928AC009BD546 /* SkeletonBinary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SkeletonBinary.h; sourceTree = "<group>"; };
|
||||||
|
BB60174E1FD928AC009BD546 /* SkeletonData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SkeletonData.h; sourceTree = "<group>"; };
|
||||||
|
BB60174F1FD928AC009BD546 /* ContainerUtil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContainerUtil.h; sourceTree = "<group>"; };
|
||||||
|
BB6017501FD928AC009BD546 /* PathConstraintData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PathConstraintData.h; sourceTree = "<group>"; };
|
||||||
|
BB6017511FD928AC009BD546 /* Updatable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Updatable.h; sourceTree = "<group>"; };
|
||||||
|
BB6017521FD928AC009BD546 /* TransformConstraintData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TransformConstraintData.h; sourceTree = "<group>"; };
|
||||||
|
BB6017531FD928AC009BD546 /* Extension.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Extension.h; sourceTree = "<group>"; };
|
||||||
|
BB6017541FD928AC009BD546 /* BlendMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BlendMode.h; sourceTree = "<group>"; };
|
||||||
|
BB6017551FD928AC009BD546 /* PathConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PathConstraint.h; sourceTree = "<group>"; };
|
||||||
|
BB6017561FD928AC009BD546 /* PathConstraintSpacingTimeline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PathConstraintSpacingTimeline.h; sourceTree = "<group>"; };
|
||||||
|
BB6017571FD928AC009BD546 /* ScaleTimeline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScaleTimeline.h; sourceTree = "<group>"; };
|
||||||
|
BB6017581FD928AC009BD546 /* IkConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IkConstraint.h; sourceTree = "<group>"; };
|
||||||
|
BB6017591FD928AC009BD546 /* BoundingBoxAttachment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BoundingBoxAttachment.h; sourceTree = "<group>"; };
|
||||||
|
BB60175A1FD928AC009BD546 /* MathUtil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MathUtil.h; sourceTree = "<group>"; };
|
||||||
|
BB60175B1FD928AC009BD546 /* Vector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Vector.h; sourceTree = "<group>"; };
|
||||||
|
BB60175C1FD928AC009BD546 /* SkeletonBounds.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SkeletonBounds.h; sourceTree = "<group>"; };
|
||||||
|
BB60175D1FD928AC009BD546 /* Timeline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Timeline.h; sourceTree = "<group>"; };
|
||||||
|
BB60175E1FD928AC009BD546 /* Slot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Slot.h; sourceTree = "<group>"; };
|
||||||
|
BB60175F1FD928AC009BD546 /* BoneData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BoneData.h; sourceTree = "<group>"; };
|
||||||
|
BB6017601FD928AC009BD546 /* TranslateTimeline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TranslateTimeline.h; sourceTree = "<group>"; };
|
||||||
|
BB6017611FD928AC009BD546 /* AnimationState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AnimationState.h; sourceTree = "<group>"; };
|
||||||
|
BB6017621FD928AC009BD546 /* MeshAttachment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MeshAttachment.h; sourceTree = "<group>"; };
|
||||||
|
BB6017631FD928AC009BD546 /* AtlasAttachmentLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AtlasAttachmentLoader.h; sourceTree = "<group>"; };
|
||||||
|
BB6017641FD928AC009BD546 /* EventTimeline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EventTimeline.h; sourceTree = "<group>"; };
|
||||||
|
BB6017671FD928AC009BD546 /* Attachment.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Attachment.cpp; sourceTree = "<group>"; };
|
||||||
|
BB6017681FD928AC009BD546 /* Skeleton.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Skeleton.cpp; sourceTree = "<group>"; };
|
||||||
|
BB6017691FD928AC009BD546 /* TranslateTimeline.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TranslateTimeline.cpp; sourceTree = "<group>"; };
|
||||||
|
BB60176A1FD928AC009BD546 /* Extension.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Extension.cpp; sourceTree = "<group>"; };
|
||||||
|
BB60176B1FD928AC009BD546 /* Updatable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Updatable.cpp; sourceTree = "<group>"; };
|
||||||
|
BB60176C1FD928AC009BD546 /* Bone.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Bone.cpp; sourceTree = "<group>"; };
|
||||||
|
BB60176D1FD928AC009BD546 /* AtlasAttachmentLoader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AtlasAttachmentLoader.cpp; sourceTree = "<group>"; };
|
||||||
|
BB60176E1FD928AC009BD546 /* EventTimeline.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EventTimeline.cpp; sourceTree = "<group>"; };
|
||||||
|
BB60176F1FD928AC009BD546 /* PathConstraint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PathConstraint.cpp; sourceTree = "<group>"; };
|
||||||
|
BB6017701FD928AC009BD546 /* VertexAttachment.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VertexAttachment.cpp; sourceTree = "<group>"; };
|
||||||
|
BB6017711FD928AC009BD546 /* TextureLoader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextureLoader.cpp; sourceTree = "<group>"; };
|
||||||
|
BB6017721FD928AC009BD546 /* SkeletonData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SkeletonData.cpp; sourceTree = "<group>"; };
|
||||||
|
BB6017731FD928AC009BD546 /* TransformConstraintTimeline.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TransformConstraintTimeline.cpp; sourceTree = "<group>"; };
|
||||||
|
BB6017741FD928AC009BD546 /* IkConstraint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IkConstraint.cpp; sourceTree = "<group>"; };
|
||||||
|
BB6017751FD928AC009BD546 /* CurveTimeline.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CurveTimeline.cpp; sourceTree = "<group>"; };
|
||||||
|
BB6017761FD928AC009BD546 /* AnimationStateData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AnimationStateData.cpp; sourceTree = "<group>"; };
|
||||||
|
BB6017771FD928AC009BD546 /* Constraint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Constraint.cpp; sourceTree = "<group>"; };
|
||||||
|
BB6017781FD928AC009BD546 /* BoundingBoxAttachment.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BoundingBoxAttachment.cpp; sourceTree = "<group>"; };
|
||||||
|
BB6017791FD928AC009BD546 /* PathAttachment.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PathAttachment.cpp; sourceTree = "<group>"; };
|
||||||
|
BB60177A1FD928AC009BD546 /* MeshAttachment.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MeshAttachment.cpp; sourceTree = "<group>"; };
|
||||||
|
BB60177B1FD928AC009BD546 /* TransformConstraint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TransformConstraint.cpp; sourceTree = "<group>"; };
|
||||||
|
BB60177C1FD928AC009BD546 /* Skin.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Skin.cpp; sourceTree = "<group>"; };
|
||||||
|
BB60177D1FD928AC009BD546 /* RTTI.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RTTI.cpp; sourceTree = "<group>"; };
|
||||||
|
BB60177E1FD928AC009BD546 /* MathUtil.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MathUtil.cpp; sourceTree = "<group>"; };
|
||||||
|
BB60177F1FD928AC009BD546 /* IkConstraintData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IkConstraintData.cpp; sourceTree = "<group>"; };
|
||||||
|
BB6017801FD928AC009BD546 /* Atlas.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Atlas.cpp; sourceTree = "<group>"; };
|
||||||
|
BB6017811FD928AC009BD546 /* ClippingAttachment.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ClippingAttachment.cpp; sourceTree = "<group>"; };
|
||||||
|
BB6017821FD928AC009BD546 /* PathConstraintData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PathConstraintData.cpp; sourceTree = "<group>"; };
|
||||||
|
BB6017831FD928AC009BD546 /* Timeline.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Timeline.cpp; sourceTree = "<group>"; };
|
||||||
|
BB6017841FD928AC009BD546 /* SkeletonBinary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SkeletonBinary.cpp; sourceTree = "<group>"; };
|
||||||
|
BB6017851FD928AC009BD546 /* ScaleTimeline.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScaleTimeline.cpp; sourceTree = "<group>"; };
|
||||||
|
BB6017861FD928AC009BD546 /* LinkedMesh.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LinkedMesh.cpp; sourceTree = "<group>"; };
|
||||||
|
BB6017871FD928AC009BD546 /* PointAttachment.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PointAttachment.cpp; sourceTree = "<group>"; };
|
||||||
|
BB6017881FD928AC009BD546 /* RegionAttachment.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RegionAttachment.cpp; sourceTree = "<group>"; };
|
||||||
|
BB6017891FD928AC009BD546 /* DeformTimeline.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DeformTimeline.cpp; sourceTree = "<group>"; };
|
||||||
|
BB60178A1FD928AC009BD546 /* Animation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Animation.cpp; sourceTree = "<group>"; };
|
||||||
|
BB60178B1FD928AC009BD546 /* AttachmentLoader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AttachmentLoader.cpp; sourceTree = "<group>"; };
|
||||||
|
BB60178C1FD928AC009BD546 /* DrawOrderTimeline.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DrawOrderTimeline.cpp; sourceTree = "<group>"; };
|
||||||
|
BB60178D1FD928AC009BD546 /* AttachmentTimeline.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AttachmentTimeline.cpp; sourceTree = "<group>"; };
|
||||||
|
BB60178E1FD928AC009BD546 /* EventData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EventData.cpp; sourceTree = "<group>"; };
|
||||||
|
BB60178F1FD928AC009BD546 /* PathConstraintSpacingTimeline.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PathConstraintSpacingTimeline.cpp; sourceTree = "<group>"; };
|
||||||
|
BB6017901FD928AC009BD546 /* PathConstraintPositionTimeline.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PathConstraintPositionTimeline.cpp; sourceTree = "<group>"; };
|
||||||
|
BB6017911FD928AC009BD546 /* TransformConstraintData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TransformConstraintData.cpp; sourceTree = "<group>"; };
|
||||||
|
BB6017921FD928AC009BD546 /* SkeletonClipping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SkeletonClipping.cpp; sourceTree = "<group>"; };
|
||||||
|
BB6017931FD928AC009BD546 /* TwoColorTimeline.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TwoColorTimeline.cpp; sourceTree = "<group>"; };
|
||||||
|
BB6017941FD928AC009BD546 /* Slot.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Slot.cpp; sourceTree = "<group>"; };
|
||||||
|
BB6017951FD928AC009BD546 /* AnimationState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AnimationState.cpp; sourceTree = "<group>"; };
|
||||||
|
BB6017961FD928AC009BD546 /* SkeletonJson.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SkeletonJson.cpp; sourceTree = "<group>"; };
|
||||||
|
BB6017971FD928AC009BD546 /* BoneData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BoneData.cpp; sourceTree = "<group>"; };
|
||||||
|
BB6017981FD928AC009BD546 /* IkConstraintTimeline.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IkConstraintTimeline.cpp; sourceTree = "<group>"; };
|
||||||
|
BB6017991FD928AC009BD546 /* Event.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Event.cpp; sourceTree = "<group>"; };
|
||||||
|
BB60179A1FD928AC009BD546 /* RotateTimeline.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RotateTimeline.cpp; sourceTree = "<group>"; };
|
||||||
|
BB60179B1FD928AC009BD546 /* PathConstraintMixTimeline.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PathConstraintMixTimeline.cpp; sourceTree = "<group>"; };
|
||||||
|
BB60179C1FD928AC009BD546 /* Triangulator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Triangulator.cpp; sourceTree = "<group>"; };
|
||||||
|
BB60179D1FD928AC009BD546 /* Json.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Json.cpp; sourceTree = "<group>"; };
|
||||||
|
BB60179E1FD928AC009BD546 /* SkeletonBounds.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SkeletonBounds.cpp; sourceTree = "<group>"; };
|
||||||
|
BB60179F1FD928AC009BD546 /* SlotData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SlotData.cpp; sourceTree = "<group>"; };
|
||||||
|
BB6017A01FD928AC009BD546 /* ShearTimeline.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShearTimeline.cpp; sourceTree = "<group>"; };
|
||||||
|
BB6017A11FD928AC009BD546 /* ColorTimeline.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ColorTimeline.cpp; sourceTree = "<group>"; };
|
||||||
|
BB6017DE1FD928F6009BD546 /* KMemory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KMemory.h; sourceTree = "<group>"; };
|
||||||
|
BB6017DF1FD928F6009BD546 /* KString.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KString.h; sourceTree = "<group>"; };
|
||||||
|
BB6017E01FD928F6009BD546 /* KMemory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = KMemory.cpp; sourceTree = "<group>"; };
|
||||||
|
BB6017E11FD928F6009BD546 /* KString.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = KString.cpp; sourceTree = "<group>"; };
|
||||||
|
BB6017E51FD929D0009BD546 /* MiniCppUnit.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = MiniCppUnit.hxx; sourceTree = "<group>"; };
|
||||||
|
BB6017E61FD929D0009BD546 /* MiniCppUnit.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MiniCppUnit.cxx; sourceTree = "<group>"; };
|
||||||
|
BB6017E91FD929F4009BD546 /* teamcity_cppunit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = teamcity_cppunit.h; sourceTree = "<group>"; };
|
||||||
|
BB6017EA1FD929F4009BD546 /* teamcity_cppunit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = teamcity_cppunit.cpp; sourceTree = "<group>"; };
|
||||||
|
BB6017EB1FD929F4009BD546 /* teamcity_messages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = teamcity_messages.h; sourceTree = "<group>"; };
|
||||||
|
BB6017EC1FD929F4009BD546 /* README.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README.txt; sourceTree = "<group>"; };
|
||||||
|
BB6017ED1FD929F4009BD546 /* teamcity_messages.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = teamcity_messages.cpp; sourceTree = "<group>"; };
|
||||||
|
BB6017F01FD92A5B009BD546 /* SimpleTest.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SimpleTest.h; sourceTree = "<group>"; };
|
||||||
|
BB6017FC1FD92AF3009BD546 /* SpineEventMonitor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SpineEventMonitor.h; sourceTree = "<group>"; };
|
||||||
|
BB6017FD1FD92AF3009BD546 /* SpineEventMonitor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SpineEventMonitor.cpp; sourceTree = "<group>"; };
|
||||||
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
|
/* Begin PBXFrameworksBuildPhase section */
|
||||||
|
BB60170C1FD9289A009BD546 /* Frameworks */ = {
|
||||||
|
isa = PBXFrameworksBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
/* End PBXFrameworksBuildPhase section */
|
||||||
|
|
||||||
|
/* Begin PBXGroup section */
|
||||||
|
BB6017061FD9289A009BD546 = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
BB6017F11FD92AF3009BD546 /* tests */,
|
||||||
|
BB6017E81FD929F4009BD546 /* teamcity */,
|
||||||
|
BB6017E41FD929D0009BD546 /* minicppunit */,
|
||||||
|
BB6017DD1FD928F6009BD546 /* memory */,
|
||||||
|
BB6017191FD928AC009BD546 /* spine-cpp */,
|
||||||
|
BB6017111FD9289A009BD546 /* spine_unit_test */,
|
||||||
|
BB6017101FD9289A009BD546 /* Products */,
|
||||||
|
);
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
BB6017101FD9289A009BD546 /* Products */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
BB60170F1FD9289A009BD546 /* spine_unit_test */,
|
||||||
|
);
|
||||||
|
name = Products;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
BB6017111FD9289A009BD546 /* spine_unit_test */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
BB6017121FD9289A009BD546 /* main.cpp */,
|
||||||
|
BB6017F01FD92A5B009BD546 /* SimpleTest.h */,
|
||||||
|
);
|
||||||
|
path = spine_unit_test;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
BB6017191FD928AC009BD546 /* spine-cpp */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
BB60171A1FD928AC009BD546 /* include */,
|
||||||
|
BB6017651FD928AC009BD546 /* src */,
|
||||||
|
);
|
||||||
|
name = "spine-cpp";
|
||||||
|
path = "../../spine-cpp";
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
BB60171A1FD928AC009BD546 /* include */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
BB60171B1FD928AC009BD546 /* spine */,
|
||||||
|
);
|
||||||
|
path = include;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
BB60171B1FD928AC009BD546 /* spine */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
BB60171D1FD928AC009BD546 /* Animation.h */,
|
||||||
|
BB6017611FD928AC009BD546 /* AnimationState.h */,
|
||||||
|
BB6017401FD928AC009BD546 /* AnimationStateData.h */,
|
||||||
|
BB60172D1FD928AC009BD546 /* Atlas.h */,
|
||||||
|
BB6017631FD928AC009BD546 /* AtlasAttachmentLoader.h */,
|
||||||
|
BB6017391FD928AC009BD546 /* Attachment.h */,
|
||||||
|
BB60174A1FD928AC009BD546 /* AttachmentLoader.h */,
|
||||||
|
BB60174C1FD928AC009BD546 /* AttachmentTimeline.h */,
|
||||||
|
BB6017321FD928AC009BD546 /* AttachmentType.h */,
|
||||||
|
BB6017541FD928AC009BD546 /* BlendMode.h */,
|
||||||
|
BB60172C1FD928AC009BD546 /* Bone.h */,
|
||||||
|
BB60175F1FD928AC009BD546 /* BoneData.h */,
|
||||||
|
BB6017591FD928AC009BD546 /* BoundingBoxAttachment.h */,
|
||||||
|
BB6017341FD928AC009BD546 /* ClippingAttachment.h */,
|
||||||
|
BB6017431FD928AC009BD546 /* ColorTimeline.h */,
|
||||||
|
BB6017461FD928AC009BD546 /* Constraint.h */,
|
||||||
|
BB60174F1FD928AC009BD546 /* ContainerUtil.h */,
|
||||||
|
BB6017291FD928AC009BD546 /* CurveTimeline.h */,
|
||||||
|
BB60171C1FD928AC009BD546 /* DeformTimeline.h */,
|
||||||
|
BB60172E1FD928AC009BD546 /* DrawOrderTimeline.h */,
|
||||||
|
BB60172B1FD928AC009BD546 /* Event.h */,
|
||||||
|
BB60171E1FD928AC009BD546 /* EventData.h */,
|
||||||
|
BB6017641FD928AC009BD546 /* EventTimeline.h */,
|
||||||
|
BB6017531FD928AC009BD546 /* Extension.h */,
|
||||||
|
BB60173A1FD928AC009BD546 /* HashMap.h */,
|
||||||
|
BB6017581FD928AC009BD546 /* IkConstraint.h */,
|
||||||
|
BB60173E1FD928AC009BD546 /* IkConstraintData.h */,
|
||||||
|
BB6017301FD928AC009BD546 /* IkConstraintTimeline.h */,
|
||||||
|
BB6017491FD928AC009BD546 /* Json.h */,
|
||||||
|
BB6017471FD928AC009BD546 /* LinkedMesh.h */,
|
||||||
|
BB60175A1FD928AC009BD546 /* MathUtil.h */,
|
||||||
|
BB6017621FD928AC009BD546 /* MeshAttachment.h */,
|
||||||
|
BB6017281FD928AC009BD546 /* MixDirection.h */,
|
||||||
|
BB60173F1FD928AC009BD546 /* MixPose.h */,
|
||||||
|
BB6017271FD928AC009BD546 /* PathAttachment.h */,
|
||||||
|
BB6017551FD928AC009BD546 /* PathConstraint.h */,
|
||||||
|
BB6017501FD928AC009BD546 /* PathConstraintData.h */,
|
||||||
|
BB6017201FD928AC009BD546 /* PathConstraintMixTimeline.h */,
|
||||||
|
BB6017351FD928AC009BD546 /* PathConstraintPositionTimeline.h */,
|
||||||
|
BB6017561FD928AC009BD546 /* PathConstraintSpacingTimeline.h */,
|
||||||
|
BB60172A1FD928AC009BD546 /* PointAttachment.h */,
|
||||||
|
BB6017221FD928AC009BD546 /* Pool.h */,
|
||||||
|
BB6017251FD928AC009BD546 /* PositionMode.h */,
|
||||||
|
BB6017381FD928AC009BD546 /* RegionAttachment.h */,
|
||||||
|
BB6017331FD928AC009BD546 /* RotateMode.h */,
|
||||||
|
BB6017361FD928AC009BD546 /* RotateTimeline.h */,
|
||||||
|
BB6017261FD928AC009BD546 /* RTTI.h */,
|
||||||
|
BB6017571FD928AC009BD546 /* ScaleTimeline.h */,
|
||||||
|
BB6017481FD928AC009BD546 /* ShearTimeline.h */,
|
||||||
|
BB6017421FD928AC009BD546 /* Skeleton.h */,
|
||||||
|
BB60174D1FD928AC009BD546 /* SkeletonBinary.h */,
|
||||||
|
BB60175C1FD928AC009BD546 /* SkeletonBounds.h */,
|
||||||
|
BB6017211FD928AC009BD546 /* SkeletonClipping.h */,
|
||||||
|
BB60174E1FD928AC009BD546 /* SkeletonData.h */,
|
||||||
|
BB60173D1FD928AC009BD546 /* SkeletonJson.h */,
|
||||||
|
BB60174B1FD928AC009BD546 /* Skin.h */,
|
||||||
|
BB60175E1FD928AC009BD546 /* Slot.h */,
|
||||||
|
BB60171F1FD928AC009BD546 /* SlotData.h */,
|
||||||
|
BB6017441FD928AC009BD546 /* SpacingMode.h */,
|
||||||
|
BB6017241FD928AC009BD546 /* TextureLoader.h */,
|
||||||
|
BB60175D1FD928AC009BD546 /* Timeline.h */,
|
||||||
|
BB6017231FD928AC009BD546 /* TimelineType.h */,
|
||||||
|
BB60173B1FD928AC009BD546 /* TransformConstraint.h */,
|
||||||
|
BB6017521FD928AC009BD546 /* TransformConstraintData.h */,
|
||||||
|
BB60172F1FD928AC009BD546 /* TransformConstraintTimeline.h */,
|
||||||
|
BB60173C1FD928AC009BD546 /* TransformMode.h */,
|
||||||
|
BB6017601FD928AC009BD546 /* TranslateTimeline.h */,
|
||||||
|
BB6017371FD928AC009BD546 /* Triangulator.h */,
|
||||||
|
BB6017411FD928AC009BD546 /* TwoColorTimeline.h */,
|
||||||
|
BB6017511FD928AC009BD546 /* Updatable.h */,
|
||||||
|
BB60175B1FD928AC009BD546 /* Vector.h */,
|
||||||
|
BB6017311FD928AC009BD546 /* VertexAttachment.h */,
|
||||||
|
BB6017451FD928AC009BD546 /* Vertices.h */,
|
||||||
|
);
|
||||||
|
path = spine;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
BB6017651FD928AC009BD546 /* src */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
BB6017661FD928AC009BD546 /* spine */,
|
||||||
|
);
|
||||||
|
path = src;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
BB6017661FD928AC009BD546 /* spine */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
BB60178A1FD928AC009BD546 /* Animation.cpp */,
|
||||||
|
BB6017951FD928AC009BD546 /* AnimationState.cpp */,
|
||||||
|
BB6017761FD928AC009BD546 /* AnimationStateData.cpp */,
|
||||||
|
BB6017801FD928AC009BD546 /* Atlas.cpp */,
|
||||||
|
BB60176D1FD928AC009BD546 /* AtlasAttachmentLoader.cpp */,
|
||||||
|
BB6017671FD928AC009BD546 /* Attachment.cpp */,
|
||||||
|
BB60178B1FD928AC009BD546 /* AttachmentLoader.cpp */,
|
||||||
|
BB60178D1FD928AC009BD546 /* AttachmentTimeline.cpp */,
|
||||||
|
BB60176C1FD928AC009BD546 /* Bone.cpp */,
|
||||||
|
BB6017971FD928AC009BD546 /* BoneData.cpp */,
|
||||||
|
BB6017781FD928AC009BD546 /* BoundingBoxAttachment.cpp */,
|
||||||
|
BB6017811FD928AC009BD546 /* ClippingAttachment.cpp */,
|
||||||
|
BB6017A11FD928AC009BD546 /* ColorTimeline.cpp */,
|
||||||
|
BB6017771FD928AC009BD546 /* Constraint.cpp */,
|
||||||
|
BB6017751FD928AC009BD546 /* CurveTimeline.cpp */,
|
||||||
|
BB6017891FD928AC009BD546 /* DeformTimeline.cpp */,
|
||||||
|
BB60178C1FD928AC009BD546 /* DrawOrderTimeline.cpp */,
|
||||||
|
BB6017991FD928AC009BD546 /* Event.cpp */,
|
||||||
|
BB60178E1FD928AC009BD546 /* EventData.cpp */,
|
||||||
|
BB60176E1FD928AC009BD546 /* EventTimeline.cpp */,
|
||||||
|
BB60176A1FD928AC009BD546 /* Extension.cpp */,
|
||||||
|
BB6017741FD928AC009BD546 /* IkConstraint.cpp */,
|
||||||
|
BB60177F1FD928AC009BD546 /* IkConstraintData.cpp */,
|
||||||
|
BB6017981FD928AC009BD546 /* IkConstraintTimeline.cpp */,
|
||||||
|
BB60179D1FD928AC009BD546 /* Json.cpp */,
|
||||||
|
BB6017861FD928AC009BD546 /* LinkedMesh.cpp */,
|
||||||
|
BB60177E1FD928AC009BD546 /* MathUtil.cpp */,
|
||||||
|
BB60177A1FD928AC009BD546 /* MeshAttachment.cpp */,
|
||||||
|
BB6017791FD928AC009BD546 /* PathAttachment.cpp */,
|
||||||
|
BB60176F1FD928AC009BD546 /* PathConstraint.cpp */,
|
||||||
|
BB6017821FD928AC009BD546 /* PathConstraintData.cpp */,
|
||||||
|
BB60179B1FD928AC009BD546 /* PathConstraintMixTimeline.cpp */,
|
||||||
|
BB6017901FD928AC009BD546 /* PathConstraintPositionTimeline.cpp */,
|
||||||
|
BB60178F1FD928AC009BD546 /* PathConstraintSpacingTimeline.cpp */,
|
||||||
|
BB6017871FD928AC009BD546 /* PointAttachment.cpp */,
|
||||||
|
BB6017881FD928AC009BD546 /* RegionAttachment.cpp */,
|
||||||
|
BB60179A1FD928AC009BD546 /* RotateTimeline.cpp */,
|
||||||
|
BB60177D1FD928AC009BD546 /* RTTI.cpp */,
|
||||||
|
BB6017851FD928AC009BD546 /* ScaleTimeline.cpp */,
|
||||||
|
BB6017A01FD928AC009BD546 /* ShearTimeline.cpp */,
|
||||||
|
BB6017681FD928AC009BD546 /* Skeleton.cpp */,
|
||||||
|
BB6017841FD928AC009BD546 /* SkeletonBinary.cpp */,
|
||||||
|
BB60179E1FD928AC009BD546 /* SkeletonBounds.cpp */,
|
||||||
|
BB6017921FD928AC009BD546 /* SkeletonClipping.cpp */,
|
||||||
|
BB6017721FD928AC009BD546 /* SkeletonData.cpp */,
|
||||||
|
BB6017961FD928AC009BD546 /* SkeletonJson.cpp */,
|
||||||
|
BB60177C1FD928AC009BD546 /* Skin.cpp */,
|
||||||
|
BB6017941FD928AC009BD546 /* Slot.cpp */,
|
||||||
|
BB60179F1FD928AC009BD546 /* SlotData.cpp */,
|
||||||
|
BB6017711FD928AC009BD546 /* TextureLoader.cpp */,
|
||||||
|
BB6017831FD928AC009BD546 /* Timeline.cpp */,
|
||||||
|
BB60177B1FD928AC009BD546 /* TransformConstraint.cpp */,
|
||||||
|
BB6017911FD928AC009BD546 /* TransformConstraintData.cpp */,
|
||||||
|
BB6017731FD928AC009BD546 /* TransformConstraintTimeline.cpp */,
|
||||||
|
BB6017691FD928AC009BD546 /* TranslateTimeline.cpp */,
|
||||||
|
BB60179C1FD928AC009BD546 /* Triangulator.cpp */,
|
||||||
|
BB6017931FD928AC009BD546 /* TwoColorTimeline.cpp */,
|
||||||
|
BB60176B1FD928AC009BD546 /* Updatable.cpp */,
|
||||||
|
BB6017701FD928AC009BD546 /* VertexAttachment.cpp */,
|
||||||
|
);
|
||||||
|
path = spine;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
BB6017DD1FD928F6009BD546 /* memory */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
BB6017DE1FD928F6009BD546 /* KMemory.h */,
|
||||||
|
BB6017DF1FD928F6009BD546 /* KString.h */,
|
||||||
|
BB6017E01FD928F6009BD546 /* KMemory.cpp */,
|
||||||
|
BB6017E11FD928F6009BD546 /* KString.cpp */,
|
||||||
|
);
|
||||||
|
name = memory;
|
||||||
|
path = ../memory;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
BB6017E41FD929D0009BD546 /* minicppunit */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
BB6017E51FD929D0009BD546 /* MiniCppUnit.hxx */,
|
||||||
|
BB6017E61FD929D0009BD546 /* MiniCppUnit.cxx */,
|
||||||
|
);
|
||||||
|
name = minicppunit;
|
||||||
|
path = ../minicppunit;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
BB6017E81FD929F4009BD546 /* teamcity */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
BB6017E91FD929F4009BD546 /* teamcity_cppunit.h */,
|
||||||
|
BB6017EA1FD929F4009BD546 /* teamcity_cppunit.cpp */,
|
||||||
|
BB6017EB1FD929F4009BD546 /* teamcity_messages.h */,
|
||||||
|
BB6017EC1FD929F4009BD546 /* README.txt */,
|
||||||
|
BB6017ED1FD929F4009BD546 /* teamcity_messages.cpp */,
|
||||||
|
);
|
||||||
|
name = teamcity;
|
||||||
|
path = ../teamcity;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
BB6017F11FD92AF3009BD546 /* tests */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
BB6017FC1FD92AF3009BD546 /* SpineEventMonitor.h */,
|
||||||
|
BB6017FD1FD92AF3009BD546 /* SpineEventMonitor.cpp */,
|
||||||
|
);
|
||||||
|
name = tests;
|
||||||
|
path = ../tests;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
/* End PBXGroup section */
|
||||||
|
|
||||||
|
/* Begin PBXNativeTarget section */
|
||||||
|
BB60170E1FD9289A009BD546 /* spine_unit_test */ = {
|
||||||
|
isa = PBXNativeTarget;
|
||||||
|
buildConfigurationList = BB6017161FD9289A009BD546 /* Build configuration list for PBXNativeTarget "spine_unit_test" */;
|
||||||
|
buildPhases = (
|
||||||
|
BB60170B1FD9289A009BD546 /* Sources */,
|
||||||
|
BB60170C1FD9289A009BD546 /* Frameworks */,
|
||||||
|
BB60170D1FD9289A009BD546 /* CopyFiles */,
|
||||||
|
);
|
||||||
|
buildRules = (
|
||||||
|
);
|
||||||
|
dependencies = (
|
||||||
|
);
|
||||||
|
name = spine_unit_test;
|
||||||
|
productName = spine_unit_test;
|
||||||
|
productReference = BB60170F1FD9289A009BD546 /* spine_unit_test */;
|
||||||
|
productType = "com.apple.product-type.tool";
|
||||||
|
};
|
||||||
|
/* End PBXNativeTarget section */
|
||||||
|
|
||||||
|
/* Begin PBXProject section */
|
||||||
|
BB6017071FD9289A009BD546 /* Project object */ = {
|
||||||
|
isa = PBXProject;
|
||||||
|
attributes = {
|
||||||
|
LastUpgradeCheck = 0920;
|
||||||
|
ORGANIZATIONNAME = "Noctis Games";
|
||||||
|
TargetAttributes = {
|
||||||
|
BB60170E1FD9289A009BD546 = {
|
||||||
|
CreatedOnToolsVersion = 9.2;
|
||||||
|
ProvisioningStyle = Automatic;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
buildConfigurationList = BB60170A1FD9289A009BD546 /* Build configuration list for PBXProject "spine_unit_test" */;
|
||||||
|
compatibilityVersion = "Xcode 8.0";
|
||||||
|
developmentRegion = en;
|
||||||
|
hasScannedForEncodings = 0;
|
||||||
|
knownRegions = (
|
||||||
|
en,
|
||||||
|
);
|
||||||
|
mainGroup = BB6017061FD9289A009BD546;
|
||||||
|
productRefGroup = BB6017101FD9289A009BD546 /* Products */;
|
||||||
|
projectDirPath = "";
|
||||||
|
projectRoot = "";
|
||||||
|
targets = (
|
||||||
|
BB60170E1FD9289A009BD546 /* spine_unit_test */,
|
||||||
|
);
|
||||||
|
};
|
||||||
|
/* End PBXProject section */
|
||||||
|
|
||||||
|
/* Begin PBXSourcesBuildPhase section */
|
||||||
|
BB60170B1FD9289A009BD546 /* Sources */ = {
|
||||||
|
isa = PBXSourcesBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
BB6017CB1FD928AC009BD546 /* PathConstraintPositionTimeline.cpp in Sources */,
|
||||||
|
BB6017CD1FD928AC009BD546 /* SkeletonClipping.cpp in Sources */,
|
||||||
|
BB6017B51FD928AC009BD546 /* MeshAttachment.cpp in Sources */,
|
||||||
|
BB6017C01FD928AC009BD546 /* ScaleTimeline.cpp in Sources */,
|
||||||
|
BB6017D01FD928AC009BD546 /* AnimationState.cpp in Sources */,
|
||||||
|
BB6017A31FD928AC009BD546 /* Skeleton.cpp in Sources */,
|
||||||
|
BB6017BA1FD928AC009BD546 /* IkConstraintData.cpp in Sources */,
|
||||||
|
BB6017EE1FD929F4009BD546 /* teamcity_cppunit.cpp in Sources */,
|
||||||
|
BB6017CA1FD928AC009BD546 /* PathConstraintSpacingTimeline.cpp in Sources */,
|
||||||
|
BB6017C91FD928AC009BD546 /* EventData.cpp in Sources */,
|
||||||
|
BB6017B41FD928AC009BD546 /* PathAttachment.cpp in Sources */,
|
||||||
|
BB6017A91FD928AC009BD546 /* EventTimeline.cpp in Sources */,
|
||||||
|
BB6017A21FD928AC009BD546 /* Attachment.cpp in Sources */,
|
||||||
|
BB6017C81FD928AC009BD546 /* AttachmentTimeline.cpp in Sources */,
|
||||||
|
BB6017E21FD928F7009BD546 /* KMemory.cpp in Sources */,
|
||||||
|
BB6017E71FD929D0009BD546 /* MiniCppUnit.cxx in Sources */,
|
||||||
|
BB6017DA1FD928AC009BD546 /* SlotData.cpp in Sources */,
|
||||||
|
BB6017BE1FD928AC009BD546 /* Timeline.cpp in Sources */,
|
||||||
|
BB6017BF1FD928AC009BD546 /* SkeletonBinary.cpp in Sources */,
|
||||||
|
BB6017131FD9289A009BD546 /* main.cpp in Sources */,
|
||||||
|
BB6017B21FD928AC009BD546 /* Constraint.cpp in Sources */,
|
||||||
|
BB6017A41FD928AC009BD546 /* TranslateTimeline.cpp in Sources */,
|
||||||
|
BB6017A71FD928AC009BD546 /* Bone.cpp in Sources */,
|
||||||
|
BB6017DC1FD928AC009BD546 /* ColorTimeline.cpp in Sources */,
|
||||||
|
BB6017AE1FD928AC009BD546 /* TransformConstraintTimeline.cpp in Sources */,
|
||||||
|
BB6017BB1FD928AC009BD546 /* Atlas.cpp in Sources */,
|
||||||
|
BB6017C21FD928AC009BD546 /* PointAttachment.cpp in Sources */,
|
||||||
|
BB6017C11FD928AC009BD546 /* LinkedMesh.cpp in Sources */,
|
||||||
|
BB6017A61FD928AC009BD546 /* Updatable.cpp in Sources */,
|
||||||
|
BB6017DB1FD928AC009BD546 /* ShearTimeline.cpp in Sources */,
|
||||||
|
BB6017C31FD928AC009BD546 /* RegionAttachment.cpp in Sources */,
|
||||||
|
BB6017D71FD928AC009BD546 /* Triangulator.cpp in Sources */,
|
||||||
|
BB6017EF1FD929F4009BD546 /* teamcity_messages.cpp in Sources */,
|
||||||
|
BB6017D61FD928AC009BD546 /* PathConstraintMixTimeline.cpp in Sources */,
|
||||||
|
BB6017CC1FD928AC009BD546 /* TransformConstraintData.cpp in Sources */,
|
||||||
|
BB6017C71FD928AC009BD546 /* DrawOrderTimeline.cpp in Sources */,
|
||||||
|
BB6017B61FD928AC009BD546 /* TransformConstraint.cpp in Sources */,
|
||||||
|
BB6017BC1FD928AC009BD546 /* ClippingAttachment.cpp in Sources */,
|
||||||
|
BB6017B81FD928AC009BD546 /* RTTI.cpp in Sources */,
|
||||||
|
BB6017A51FD928AC009BD546 /* Extension.cpp in Sources */,
|
||||||
|
BB6017C41FD928AC009BD546 /* DeformTimeline.cpp in Sources */,
|
||||||
|
BB6017A81FD928AC009BD546 /* AtlasAttachmentLoader.cpp in Sources */,
|
||||||
|
BB6017AA1FD928AC009BD546 /* PathConstraint.cpp in Sources */,
|
||||||
|
BB6017B71FD928AC009BD546 /* Skin.cpp in Sources */,
|
||||||
|
BB6017D21FD928AC009BD546 /* BoneData.cpp in Sources */,
|
||||||
|
BB6017C61FD928AC009BD546 /* AttachmentLoader.cpp in Sources */,
|
||||||
|
BB6017CF1FD928AC009BD546 /* Slot.cpp in Sources */,
|
||||||
|
BB6017B91FD928AC009BD546 /* MathUtil.cpp in Sources */,
|
||||||
|
BB6017B11FD928AC009BD546 /* AnimationStateData.cpp in Sources */,
|
||||||
|
BB6018081FD92AF4009BD546 /* SpineEventMonitor.cpp in Sources */,
|
||||||
|
BB6017E31FD928F7009BD546 /* KString.cpp in Sources */,
|
||||||
|
BB6017D41FD928AC009BD546 /* Event.cpp in Sources */,
|
||||||
|
BB6017D81FD928AC009BD546 /* Json.cpp in Sources */,
|
||||||
|
BB6017CE1FD928AC009BD546 /* TwoColorTimeline.cpp in Sources */,
|
||||||
|
BB6017AD1FD928AC009BD546 /* SkeletonData.cpp in Sources */,
|
||||||
|
BB6017D11FD928AC009BD546 /* SkeletonJson.cpp in Sources */,
|
||||||
|
BB6017D31FD928AC009BD546 /* IkConstraintTimeline.cpp in Sources */,
|
||||||
|
BB6017AF1FD928AC009BD546 /* IkConstraint.cpp in Sources */,
|
||||||
|
BB6017AC1FD928AC009BD546 /* TextureLoader.cpp in Sources */,
|
||||||
|
BB6017C51FD928AC009BD546 /* Animation.cpp in Sources */,
|
||||||
|
BB6017B01FD928AC009BD546 /* CurveTimeline.cpp in Sources */,
|
||||||
|
BB6017BD1FD928AC009BD546 /* PathConstraintData.cpp in Sources */,
|
||||||
|
BB6017D91FD928AC009BD546 /* SkeletonBounds.cpp in Sources */,
|
||||||
|
BB6017B31FD928AC009BD546 /* BoundingBoxAttachment.cpp in Sources */,
|
||||||
|
BB6017D51FD928AC009BD546 /* RotateTimeline.cpp in Sources */,
|
||||||
|
BB6017AB1FD928AC009BD546 /* VertexAttachment.cpp in Sources */,
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
/* End PBXSourcesBuildPhase section */
|
||||||
|
|
||||||
|
/* Begin XCBuildConfiguration section */
|
||||||
|
BB6017141FD9289A009BD546 /* Debug */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
|
CLANG_ANALYZER_NONNULL = YES;
|
||||||
|
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
||||||
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
|
||||||
|
CLANG_CXX_LIBRARY = "libc++";
|
||||||
|
CLANG_ENABLE_MODULES = YES;
|
||||||
|
CLANG_ENABLE_OBJC_ARC = YES;
|
||||||
|
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||||
|
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||||
|
CLANG_WARN_COMMA = YES;
|
||||||
|
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||||
|
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||||
|
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
||||||
|
CLANG_WARN_EMPTY_BODY = YES;
|
||||||
|
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||||
|
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||||
|
CLANG_WARN_INT_CONVERSION = YES;
|
||||||
|
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||||
|
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||||
|
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||||
|
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||||
|
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||||
|
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||||
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||||
|
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||||
|
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||||
|
CODE_SIGN_IDENTITY = "-";
|
||||||
|
COPY_PHASE_STRIP = NO;
|
||||||
|
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||||
|
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||||
|
ENABLE_TESTABILITY = YES;
|
||||||
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||||
|
GCC_DYNAMIC_NO_PIC = NO;
|
||||||
|
GCC_NO_COMMON_BLOCKS = YES;
|
||||||
|
GCC_OPTIMIZATION_LEVEL = 0;
|
||||||
|
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||||
|
"DEBUG=1",
|
||||||
|
"$(inherited)",
|
||||||
|
);
|
||||||
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||||
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||||
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
|
MACOSX_DEPLOYMENT_TARGET = 10.13;
|
||||||
|
MTL_ENABLE_DEBUG_INFO = YES;
|
||||||
|
ONLY_ACTIVE_ARCH = YES;
|
||||||
|
SDKROOT = macosx;
|
||||||
|
};
|
||||||
|
name = Debug;
|
||||||
|
};
|
||||||
|
BB6017151FD9289A009BD546 /* Release */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
|
CLANG_ANALYZER_NONNULL = YES;
|
||||||
|
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
||||||
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
|
||||||
|
CLANG_CXX_LIBRARY = "libc++";
|
||||||
|
CLANG_ENABLE_MODULES = YES;
|
||||||
|
CLANG_ENABLE_OBJC_ARC = YES;
|
||||||
|
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||||
|
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||||
|
CLANG_WARN_COMMA = YES;
|
||||||
|
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||||
|
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||||
|
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
||||||
|
CLANG_WARN_EMPTY_BODY = YES;
|
||||||
|
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||||
|
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||||
|
CLANG_WARN_INT_CONVERSION = YES;
|
||||||
|
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||||
|
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||||
|
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||||
|
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||||
|
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||||
|
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||||
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||||
|
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||||
|
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||||
|
CODE_SIGN_IDENTITY = "-";
|
||||||
|
COPY_PHASE_STRIP = NO;
|
||||||
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||||
|
ENABLE_NS_ASSERTIONS = NO;
|
||||||
|
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||||
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||||
|
GCC_NO_COMMON_BLOCKS = YES;
|
||||||
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||||
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||||
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
|
MACOSX_DEPLOYMENT_TARGET = 10.13;
|
||||||
|
MTL_ENABLE_DEBUG_INFO = NO;
|
||||||
|
SDKROOT = macosx;
|
||||||
|
};
|
||||||
|
name = Release;
|
||||||
|
};
|
||||||
|
BB6017171FD9289A009BD546 /* Debug */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
CODE_SIGN_STYLE = Automatic;
|
||||||
|
HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../../spine-cpp/include\"";
|
||||||
|
OTHER_LDFLAGS = "-DKANJI_MEMTRACE";
|
||||||
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
|
};
|
||||||
|
name = Debug;
|
||||||
|
};
|
||||||
|
BB6017181FD9289A009BD546 /* Release */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
CODE_SIGN_STYLE = Automatic;
|
||||||
|
HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../../spine-cpp/include\"";
|
||||||
|
OTHER_LDFLAGS = "-DKANJI_MEMTRACE";
|
||||||
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
|
};
|
||||||
|
name = Release;
|
||||||
|
};
|
||||||
|
/* End XCBuildConfiguration section */
|
||||||
|
|
||||||
|
/* Begin XCConfigurationList section */
|
||||||
|
BB60170A1FD9289A009BD546 /* Build configuration list for PBXProject "spine_unit_test" */ = {
|
||||||
|
isa = XCConfigurationList;
|
||||||
|
buildConfigurations = (
|
||||||
|
BB6017141FD9289A009BD546 /* Debug */,
|
||||||
|
BB6017151FD9289A009BD546 /* Release */,
|
||||||
|
);
|
||||||
|
defaultConfigurationIsVisible = 0;
|
||||||
|
defaultConfigurationName = Release;
|
||||||
|
};
|
||||||
|
BB6017161FD9289A009BD546 /* Build configuration list for PBXNativeTarget "spine_unit_test" */ = {
|
||||||
|
isa = XCConfigurationList;
|
||||||
|
buildConfigurations = (
|
||||||
|
BB6017171FD9289A009BD546 /* Debug */,
|
||||||
|
BB6017181FD9289A009BD546 /* Release */,
|
||||||
|
);
|
||||||
|
defaultConfigurationIsVisible = 0;
|
||||||
|
defaultConfigurationName = Release;
|
||||||
|
};
|
||||||
|
/* End XCConfigurationList section */
|
||||||
|
};
|
||||||
|
rootObject = BB6017071FD9289A009BD546 /* Project object */;
|
||||||
|
}
|
||||||
@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Workspace
|
||||||
|
version = "1.0">
|
||||||
|
<FileRef
|
||||||
|
location = "self:spine_unit_test.xcodeproj">
|
||||||
|
</FileRef>
|
||||||
|
</Workspace>
|
||||||
@ -0,0 +1,197 @@
|
|||||||
|
//
|
||||||
|
// SimpleTest.h
|
||||||
|
// TestHarness
|
||||||
|
//
|
||||||
|
// Created by Stephen Gowen on 11/9/17.
|
||||||
|
// Copyright © 2017 Noctis Games. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#ifndef SimpleTest_h
|
||||||
|
#define SimpleTest_h
|
||||||
|
|
||||||
|
#include "SpineEventMonitor.h"
|
||||||
|
|
||||||
|
#include <spine/SkeletonJson.h>
|
||||||
|
#include <spine/SkeletonData.h>
|
||||||
|
#include <spine/Atlas.h>
|
||||||
|
#include <spine/AnimationStateData.h>
|
||||||
|
#include <spine/Skeleton.h>
|
||||||
|
#include <spine/AnimationState.h>
|
||||||
|
#include <spine/Animation.h>
|
||||||
|
|
||||||
|
#include <vector>
|
||||||
|
#include <spine/Extension.h>
|
||||||
|
#include <spine/TextureLoader.h>
|
||||||
|
#include <spine/Vector.h>
|
||||||
|
|
||||||
|
#include <spine/CurveTimeline.h>
|
||||||
|
#include <spine/VertexAttachment.h>
|
||||||
|
#include <spine/Json.h>
|
||||||
|
|
||||||
|
#include <spine/AttachmentLoader.h>
|
||||||
|
#include <spine/AtlasAttachmentLoader.h>
|
||||||
|
#include <spine/LinkedMesh.h>
|
||||||
|
|
||||||
|
#include <new>
|
||||||
|
|
||||||
|
#include "KMemory.h" // last include
|
||||||
|
|
||||||
|
#define SPINEBOY_JSON "/Users/sgowen/Dropbox/Documents/freelance/NoctisGames/github/dante/src/3rdparty/spine-runtimes/examples/spineboy/export/spineboy-ess.json"
|
||||||
|
#define SPINEBOY_ATLAS "/Users/sgowen/Dropbox/Documents/freelance/NoctisGames/github/dante/src/3rdparty/spine-runtimes/examples/spineboy/export/spineboy.atlas"
|
||||||
|
|
||||||
|
#define RAPTOR_JSON "/Users/sgowen/Dropbox/Documents/freelance/NoctisGames/github/dante/src/3rdparty/spine-runtimes/examples/raptor/export/raptor-pro.json"
|
||||||
|
#define RAPTOR_ATLAS "/Users/sgowen/Dropbox/Documents/freelance/NoctisGames/github/dante/src/3rdparty/spine-runtimes/examples/raptor/export/raptor.atlas"
|
||||||
|
|
||||||
|
#define GOBLINS_JSON "/Users/sgowen/Dropbox/Documents/freelance/NoctisGames/github/dante/src/3rdparty/spine-runtimes/examples/goblins/export/goblins-pro.json"
|
||||||
|
#define GOBLINS_ATLAS "/Users/sgowen/Dropbox/Documents/freelance/NoctisGames/github/dante/src/3rdparty/spine-runtimes/examples/goblins/export/goblins.atlas"
|
||||||
|
|
||||||
|
#define MAX_RUN_TIME 6000 // equal to about 100 seconds of execution
|
||||||
|
|
||||||
|
namespace Spine
|
||||||
|
{
|
||||||
|
class SimpleTest
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
static SkeletonData* readSkeletonJsonData(const char* filename, Atlas* atlas)
|
||||||
|
{
|
||||||
|
Vector<Atlas*> atlasArray;
|
||||||
|
atlasArray.push_back(atlas);
|
||||||
|
|
||||||
|
SkeletonJson* skeletonJson = NEW(SkeletonJson);
|
||||||
|
new (skeletonJson) SkeletonJson(atlasArray);
|
||||||
|
assert(skeletonJson != 0);
|
||||||
|
|
||||||
|
SkeletonData* skeletonData = skeletonJson->readSkeletonDataFile(filename);
|
||||||
|
assert(skeletonData != 0);
|
||||||
|
|
||||||
|
DESTROY(SkeletonJson, skeletonJson);
|
||||||
|
|
||||||
|
return skeletonData;
|
||||||
|
}
|
||||||
|
|
||||||
|
typedef std::vector<std::string> AnimList;
|
||||||
|
|
||||||
|
static size_t enumerateAnimations(AnimList& outList, SkeletonData* skeletonData)
|
||||||
|
{
|
||||||
|
if (skeletonData)
|
||||||
|
{
|
||||||
|
for (int n = 0; n < skeletonData->getAnimations().size(); n++)
|
||||||
|
{
|
||||||
|
outList.push_back(skeletonData->getAnimations()[n]->getName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return outList.size();
|
||||||
|
}
|
||||||
|
|
||||||
|
class MyTextureLoader : public TextureLoader
|
||||||
|
{
|
||||||
|
virtual void load(AtlasPage& page, std::string path)
|
||||||
|
{
|
||||||
|
page.rendererObject = NULL;
|
||||||
|
page.width = 2048;
|
||||||
|
page.height = 2048;
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual void unload(void* texture)
|
||||||
|
{
|
||||||
|
// TODO
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
static void testRunner(const char* jsonName, const char* atlasName)
|
||||||
|
{
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// Global Animation Information
|
||||||
|
MyTextureLoader myTextureLoader;
|
||||||
|
Atlas* atlas = NEW(Atlas);
|
||||||
|
new (atlas) Atlas(atlasName, myTextureLoader);
|
||||||
|
assert(atlas != 0);
|
||||||
|
|
||||||
|
SkeletonData* skeletonData = readSkeletonJsonData(jsonName, atlas);
|
||||||
|
assert(skeletonData != 0);
|
||||||
|
|
||||||
|
AnimationStateData* stateData = NEW(AnimationStateData);
|
||||||
|
new (stateData) AnimationStateData(*skeletonData);
|
||||||
|
assert(stateData != 0);
|
||||||
|
stateData->setDefaultMix(0.2f); // force mixing
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// Animation Instance
|
||||||
|
Skeleton* skeleton = NEW(Skeleton);
|
||||||
|
new (skeleton) Skeleton(*skeletonData);
|
||||||
|
assert(skeleton != 0);
|
||||||
|
|
||||||
|
AnimationState* state = NEW(AnimationState);
|
||||||
|
new (state) AnimationState(*stateData);
|
||||||
|
assert(state != 0);
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// Run animation
|
||||||
|
skeleton->setToSetupPose();
|
||||||
|
SpineEventMonitor eventMonitor(state);
|
||||||
|
|
||||||
|
AnimList anims; // Let's chain all the animations together as a test
|
||||||
|
size_t count = enumerateAnimations(anims, skeletonData);
|
||||||
|
if (count > 0)
|
||||||
|
{
|
||||||
|
state->setAnimation(0, anims[0].c_str(), false);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (size_t i = 1; i < count; ++i)
|
||||||
|
{
|
||||||
|
state->addAnimation(0, anims[i].c_str(), false, 0.0f);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Run Loop
|
||||||
|
for (int i = 0; i < MAX_RUN_TIME && eventMonitor.isAnimationPlaying(); ++i)
|
||||||
|
{
|
||||||
|
const float timeSlice = 1.0f / 60.0f;
|
||||||
|
skeleton->update(timeSlice);
|
||||||
|
state->update(timeSlice);
|
||||||
|
state->apply(*skeleton);
|
||||||
|
}
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// Dispose Instance
|
||||||
|
DESTROY(Skeleton, skeleton);
|
||||||
|
DESTROY(AnimationState, state);
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// Dispose Global
|
||||||
|
DESTROY(AnimationStateData, stateData);
|
||||||
|
DESTROY(SkeletonData, skeletonData);
|
||||||
|
DESTROY(Atlas, atlas);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void spineboyTestCase()
|
||||||
|
{
|
||||||
|
testRunner(SPINEBOY_JSON, SPINEBOY_ATLAS);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void raptorTestCase()
|
||||||
|
{
|
||||||
|
testRunner(RAPTOR_JSON, RAPTOR_ATLAS);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void goblinsTestCase()
|
||||||
|
{
|
||||||
|
testRunner(GOBLINS_JSON, GOBLINS_ATLAS);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void test()
|
||||||
|
{
|
||||||
|
spineboyTestCase();
|
||||||
|
raptorTestCase();
|
||||||
|
goblinsTestCase();
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
// ctor, copy ctor, and assignment should be private in a Singleton
|
||||||
|
SimpleTest();
|
||||||
|
SimpleTest(const SimpleTest&);
|
||||||
|
SimpleTest& operator=(const SimpleTest&);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* SimpleTest_h */
|
||||||
@ -0,0 +1,111 @@
|
|||||||
|
//
|
||||||
|
// main.cpp
|
||||||
|
// spine_unit_test
|
||||||
|
//
|
||||||
|
// Created by Stephen Gowen on 12/7/17.
|
||||||
|
// Copyright © 2017 Noctis Games. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#ifdef WIN32
|
||||||
|
#include <direct.h>
|
||||||
|
#else
|
||||||
|
#include <unistd.h>
|
||||||
|
#endif // WIN32
|
||||||
|
|
||||||
|
#include <ctime>
|
||||||
|
#include "KString.h"
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
#include "spine/Extension.h"
|
||||||
|
|
||||||
|
#include "SimpleTest.h"
|
||||||
|
|
||||||
|
#include "KMemory.h" // last include
|
||||||
|
|
||||||
|
using namespace Spine;
|
||||||
|
|
||||||
|
class KanjiSpineExtension : public DefaultSpineExtension
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
static KanjiSpineExtension* getInstance();
|
||||||
|
|
||||||
|
virtual ~KanjiSpineExtension();
|
||||||
|
|
||||||
|
virtual void* spineAlloc(size_t size, const char* file, int line);
|
||||||
|
|
||||||
|
virtual void* spineCalloc(size_t num, size_t size, const char* file, int line);
|
||||||
|
|
||||||
|
virtual void* spineRealloc(void* ptr, size_t size, const char* file, int line);
|
||||||
|
|
||||||
|
virtual void spineFree(void* mem);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
KanjiSpineExtension();
|
||||||
|
};
|
||||||
|
|
||||||
|
KanjiSpineExtension* KanjiSpineExtension::getInstance()
|
||||||
|
{
|
||||||
|
static KanjiSpineExtension ret;
|
||||||
|
return &ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
KanjiSpineExtension::~KanjiSpineExtension()
|
||||||
|
{
|
||||||
|
// Empty
|
||||||
|
}
|
||||||
|
|
||||||
|
void* KanjiSpineExtension::spineAlloc(size_t size, const char* file, int line)
|
||||||
|
{
|
||||||
|
return _kanjimalloc(size);
|
||||||
|
}
|
||||||
|
|
||||||
|
void* KanjiSpineExtension::spineCalloc(size_t num, size_t size, const char* file, int line)
|
||||||
|
{
|
||||||
|
void* ptr = spineAlloc(num * size, file, line);
|
||||||
|
if (ptr)
|
||||||
|
{
|
||||||
|
memset(ptr, 0, num * size);
|
||||||
|
}
|
||||||
|
|
||||||
|
return ptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
void* KanjiSpineExtension::spineRealloc(void* ptr, size_t size, const char* file, int line)
|
||||||
|
{
|
||||||
|
return _kanjirealloc(ptr, size);
|
||||||
|
}
|
||||||
|
|
||||||
|
void KanjiSpineExtension::spineFree(void* mem)
|
||||||
|
{
|
||||||
|
_kanjifree(mem);
|
||||||
|
}
|
||||||
|
|
||||||
|
KanjiSpineExtension::KanjiSpineExtension() : DefaultSpineExtension()
|
||||||
|
{
|
||||||
|
// Empty
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(int argc, char* argv[])
|
||||||
|
{
|
||||||
|
SpineExtension::setInstance(KanjiSpineExtension::getInstance());
|
||||||
|
|
||||||
|
// Start Timing
|
||||||
|
time_t start_time, end_time;
|
||||||
|
time(&start_time);
|
||||||
|
|
||||||
|
/* Set working directory to current location for opening test data */
|
||||||
|
#ifdef WIN32
|
||||||
|
_chdir( GetFileDir(argv[0], false).c_str() );
|
||||||
|
#else
|
||||||
|
chdir(GetFileDir(argv[0], false).c_str());
|
||||||
|
#endif
|
||||||
|
|
||||||
|
SimpleTest::test();
|
||||||
|
|
||||||
|
// End Timing
|
||||||
|
time(&end_time);
|
||||||
|
double secs = difftime(end_time,start_time);
|
||||||
|
printf("\n\n%i minutes and %i seconds of your life taken from you by these tests.\n", ((int)secs) / 60, ((int)secs) % 60);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
@ -35,9 +35,7 @@
|
|||||||
#define GOBLINS_JSON "testdata/goblins/goblins-pro.json"
|
#define GOBLINS_JSON "testdata/goblins/goblins-pro.json"
|
||||||
#define GOBLINS_ATLAS "testdata/goblins/goblins.atlas"
|
#define GOBLINS_ATLAS "testdata/goblins/goblins.atlas"
|
||||||
|
|
||||||
#define MAX_RUN_TIME 6000 // equal to about 100 seconds of execution
|
#define MAX_RUN_TIME 6000 // equal to about 100 seconds of execution
|
||||||
|
|
||||||
using namespace Spine;
|
|
||||||
|
|
||||||
void C_InterfaceTestFixture::setUp()
|
void C_InterfaceTestFixture::setUp()
|
||||||
{
|
{
|
||||||
@ -47,8 +45,10 @@ void C_InterfaceTestFixture::tearDown()
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
static SkeletonData* readSkeletonJsonData(const char* filename, Atlas* atlas)
|
static Spine::SkeletonData* readSkeletonJsonData(const char* filename, Atlas* atlas)
|
||||||
{
|
{
|
||||||
|
using namespace Spine;
|
||||||
|
|
||||||
Vector<Atlas*> atlasArray;
|
Vector<Atlas*> atlasArray;
|
||||||
atlasArray.push_back(atlas);
|
atlasArray.push_back(atlas);
|
||||||
|
|
||||||
|
|||||||
@ -2,8 +2,13 @@
|
|||||||
|
|
||||||
#include "KString.h"
|
#include "KString.h"
|
||||||
|
|
||||||
|
#include <spine/Animation.h>
|
||||||
|
#include <spine/Event.h>
|
||||||
|
|
||||||
#include "KMemory.h" // Last include
|
#include "KMemory.h" // Last include
|
||||||
|
|
||||||
|
using namespace Spine;
|
||||||
|
|
||||||
SpineEventMonitor::SpineEventMonitor(AnimationState* _pAnimationState /*= nullptr*/)
|
SpineEventMonitor::SpineEventMonitor(AnimationState* _pAnimationState /*= nullptr*/)
|
||||||
{
|
{
|
||||||
bLogging = false;
|
bLogging = false;
|
||||||
@ -17,53 +22,53 @@ SpineEventMonitor::~SpineEventMonitor()
|
|||||||
|
|
||||||
void SpineEventMonitor::RegisterListener(AnimationState * _pAnimationState)
|
void SpineEventMonitor::RegisterListener(AnimationState * _pAnimationState)
|
||||||
{
|
{
|
||||||
// if (_pAnimationState)
|
if (_pAnimationState)
|
||||||
// {
|
{
|
||||||
// _pAnimationState->rendererObject = this;
|
_pAnimationState->setRendererObject(this);
|
||||||
// _pAnimationState->listener = (spAnimationStateListener)&SpineEventMonitor::spineAnimStateHandler;
|
_pAnimationState->setOnAnimationEventFunc(&SpineEventMonitor::spineAnimStateHandler);
|
||||||
// }
|
}
|
||||||
// pAnimState = _pAnimationState;
|
pAnimState = _pAnimationState;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SpineEventMonitor::isAnimationPlaying()
|
bool SpineEventMonitor::isAnimationPlaying()
|
||||||
{
|
{
|
||||||
// if (pAnimState)
|
if (pAnimState)
|
||||||
// {
|
{
|
||||||
// return spAnimationState_getCurrent(pAnimState, 0) != 0;
|
return pAnimState->getCurrent(0) != NULL;
|
||||||
// }
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SpineEventMonitor::spineAnimStateHandler(AnimationState * state, int type, spTrackEntry * entry, spEvent * event)
|
void SpineEventMonitor::spineAnimStateHandler(AnimationState* state, EventType type, TrackEntry* entry, Event* event)
|
||||||
{
|
{
|
||||||
// if (state && state->rendererObject)
|
if (state && state->getRendererObject())
|
||||||
// {
|
{
|
||||||
// SpineEventMonitor* pEventMonitor = (SpineEventMonitor*)state->rendererObject;
|
SpineEventMonitor* pEventMonitor = (SpineEventMonitor*)state->getRendererObject();
|
||||||
// pEventMonitor->OnSpineAnimationStateEvent(state, type, entry, event);
|
pEventMonitor->OnSpineAnimationStateEvent(state, type, entry, event);
|
||||||
// }
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void SpineEventMonitor::OnSpineAnimationStateEvent(AnimationState * state, int type, spTrackEntry * trackEntry, spEvent * event)
|
void SpineEventMonitor::OnSpineAnimationStateEvent(AnimationState* state, EventType type, TrackEntry* entry, Event* event)
|
||||||
{
|
{
|
||||||
// const char* eventName = 0;
|
const char* eventName = 0;
|
||||||
// if (state == pAnimState)
|
if (state == pAnimState)
|
||||||
// {
|
{
|
||||||
// // only monitor ours
|
// only monitor ours
|
||||||
// switch(type)
|
switch(type)
|
||||||
// {
|
{
|
||||||
// case SP_ANIMATION_START: eventName = "SP_ANIMATION_START"; break;
|
case EventType_Start: eventName = "EventType_Start"; break;
|
||||||
// case SP_ANIMATION_INTERRUPT: eventName = "SP_ANIMATION_INTERRUPT"; break;
|
case EventType_Interrupt: eventName = "EventType_Interrupt"; break;
|
||||||
// case SP_ANIMATION_END: eventName = "SP_ANIMATION_END"; break;
|
case EventType_End: eventName = "EventType_End"; break;
|
||||||
// case SP_ANIMATION_COMPLETE: eventName = "SP_ANIMATION_COMPLETE"; break;
|
case EventType_Complete: eventName = "EventType_Complete"; break;
|
||||||
// case SP_ANIMATION_DISPOSE: eventName = "SP_ANIMATION_DISPOSE"; break;
|
case EventType_Dispose: eventName = "EventType_Dispose"; break;
|
||||||
// case SP_ANIMATION_EVENT: eventName = "SP_ANIMATION_EVENT"; break;
|
case EventType_Event: eventName = "EventType_Event"; break;
|
||||||
// default:
|
default:
|
||||||
// break;
|
break;
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// if (bLogging && eventName && trackEntry && trackEntry->animation && trackEntry->animation->name)
|
if (bLogging && eventName && entry && entry->getAnimation())
|
||||||
// KOutputDebug(DEBUGLVL, "[%s : '%s']\n", eventName, trackEntry->animation->name);//*/
|
KOutputDebug(DEBUGLVL, "[%s : '%s']\n", eventName, entry->getAnimation()->getName().c_str());//*/
|
||||||
// }
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
InterruptMonitor::InterruptMonitor(AnimationState * _pAnimationState):
|
InterruptMonitor::InterruptMonitor(AnimationState * _pAnimationState):
|
||||||
@ -98,7 +103,7 @@ InterruptMonitor& InterruptMonitor::AddInterruptEvent(int theEventType, const st
|
|||||||
}
|
}
|
||||||
|
|
||||||
// stops the first encounter of spEventType on the specified TrackEntry
|
// stops the first encounter of spEventType on the specified TrackEntry
|
||||||
InterruptMonitor& InterruptMonitor::AddInterruptEvent(int theEventType, spTrackEntry * theTrackEntry)
|
InterruptMonitor& InterruptMonitor::AddInterruptEvent(int theEventType, TrackEntry * theTrackEntry)
|
||||||
{
|
{
|
||||||
InterruptEvent ev;
|
InterruptEvent ev;
|
||||||
ev.mEventType = theEventType;
|
ev.mEventType = theEventType;
|
||||||
@ -117,7 +122,7 @@ InterruptMonitor& InterruptMonitor::AddInterruptEventTrigger(const std::string &
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
void InterruptMonitor::OnSpineAnimationStateEvent(AnimationState * state, int type, spTrackEntry * trackEntry, spEvent * event)
|
void InterruptMonitor::OnSpineAnimationStateEvent(AnimationState * state, EventType type, TrackEntry * trackEntry, Event * event)
|
||||||
{
|
{
|
||||||
SpineEventMonitor::OnSpineAnimationStateEvent(state, type, trackEntry, event);
|
SpineEventMonitor::OnSpineAnimationStateEvent(state, type, trackEntry, event);
|
||||||
|
|
||||||
@ -136,41 +141,41 @@ void InterruptMonitor::OnSpineAnimationStateEvent(AnimationState * state, int ty
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
inline bool InterruptMonitor::InterruptEvent::matches(AnimationState * state, int type, spTrackEntry * trackEntry, spEvent * event)
|
inline bool InterruptMonitor::InterruptEvent::matches(AnimationState * state, EventType type, TrackEntry * trackEntry, Event * event)
|
||||||
{
|
{
|
||||||
// Must match spEventType {SP_ANIMATION_START, SP_ANIMATION_INTERRUPT, SP_ANIMATION_END, SP_ANIMATION_COMPLETE, SP_ANIMATION_DISPOSE, SP_ANIMATION_EVENT }
|
// Must match spEventType {SP_ANIMATION_START, SP_ANIMATION_INTERRUPT, SP_ANIMATION_END, SP_ANIMATION_COMPLETE, SP_ANIMATION_DISPOSE, SP_ANIMATION_EVENT }
|
||||||
// if (mEventType == type)
|
if (mEventType == type)
|
||||||
// {
|
{
|
||||||
// // Looking for specific TrackEntry by pointer
|
// Looking for specific TrackEntry by pointer
|
||||||
// if (mTrackEntry != 0)
|
if (mTrackEntry != 0)
|
||||||
// {
|
{
|
||||||
// return mTrackEntry == trackEntry;
|
return mTrackEntry == trackEntry;
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// // looking for Animation Track by name
|
// looking for Animation Track by name
|
||||||
// if (!mAnimName.empty())
|
if (!mAnimName.empty())
|
||||||
// {
|
{
|
||||||
// if (trackEntry && trackEntry->animation && trackEntry->animation->name)
|
if (trackEntry && trackEntry->getAnimation())
|
||||||
// {
|
{
|
||||||
// if (CompareNoCase(trackEntry->animation->name, mAnimName) == 0)
|
if (CompareNoCase(trackEntry->getAnimation()->getName(), mAnimName) == 0)
|
||||||
// {
|
{
|
||||||
// return true;
|
return true;
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
// return false;
|
return false;
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// // looking for Event String Text
|
// looking for Event String Text
|
||||||
// if (!mEventName.empty())
|
if (!mEventName.empty())
|
||||||
// {
|
{
|
||||||
// if (event && event->stringValue)
|
if (event)
|
||||||
// {
|
{
|
||||||
// return (CompareNoCase(event->stringValue, mEventName) == 0);
|
return (CompareNoCase(event->getStringValue(), mEventName) == 0);
|
||||||
// }
|
}
|
||||||
// return false;
|
return false;
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// return true; // waiting for ANY spEventType that matches
|
return true; // waiting for ANY spEventType that matches
|
||||||
// }
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,12 +7,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
// forward declarations
|
|
||||||
typedef struct spAnimationState spAnimationState;
|
|
||||||
typedef struct spTrackEntry spTrackEntry;
|
|
||||||
typedef struct spEvent spEvent;
|
|
||||||
|
|
||||||
#include <spine/AnimationState.h>
|
#include <spine/AnimationState.h>
|
||||||
|
|
||||||
@ -22,7 +17,7 @@ using namespace Spine;
|
|||||||
// class: SpineEventMonitor
|
// class: SpineEventMonitor
|
||||||
//
|
//
|
||||||
// purpose: Monitor spAnimationState Events and report when there
|
// purpose: Monitor spAnimationState Events and report when there
|
||||||
// are no more spTrackEntry(s) waiting to play on track 0;
|
// are no more TrackEntry(s) waiting to play on track 0;
|
||||||
//
|
//
|
||||||
// Also allows for debug printing of Events to console.
|
// Also allows for debug printing of Events to console.
|
||||||
/////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////
|
||||||
@ -40,8 +35,8 @@ public:
|
|||||||
virtual bool isAnimationPlaying();
|
virtual bool isAnimationPlaying();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
static void spineAnimStateHandler(AnimationState* state, int type, spTrackEntry* entry, spEvent* event);
|
static void spineAnimStateHandler(AnimationState* state, EventType type, TrackEntry* entry, Event* event);
|
||||||
virtual void OnSpineAnimationStateEvent(AnimationState* state, int type, spTrackEntry* trackEntry, spEvent* event);
|
virtual void OnSpineAnimationStateEvent(AnimationState* state, EventType type, TrackEntry* entry, Event* event);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
AnimationState *pAnimState;
|
AnimationState *pAnimState;
|
||||||
@ -65,11 +60,11 @@ private:
|
|||||||
mTrackEntry = 0;
|
mTrackEntry = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool matches(AnimationState* state, int type, spTrackEntry* trackEntry, spEvent* event);
|
bool matches(AnimationState* state, EventType type, TrackEntry* trackEntry, Event* event);
|
||||||
|
|
||||||
std::string mAnimName;
|
std::string mAnimName;
|
||||||
int mEventType;
|
int mEventType;
|
||||||
spTrackEntry* mTrackEntry;
|
TrackEntry* mTrackEntry;
|
||||||
std::string mEventName;
|
std::string mEventName;
|
||||||
};
|
};
|
||||||
typedef std::vector<InterruptEvent> InterruptEventStack;
|
typedef std::vector<InterruptEvent> InterruptEventStack;
|
||||||
@ -84,11 +79,11 @@ public:
|
|||||||
public:
|
public:
|
||||||
InterruptMonitor& AddInterruptEvent(int theEventType);
|
InterruptMonitor& AddInterruptEvent(int theEventType);
|
||||||
InterruptMonitor& AddInterruptEvent(int theEventType, const std::string& theAnimationName);
|
InterruptMonitor& AddInterruptEvent(int theEventType, const std::string& theAnimationName);
|
||||||
InterruptMonitor& AddInterruptEvent(int theEventType, spTrackEntry* theTrackEntry);
|
InterruptMonitor& AddInterruptEvent(int theEventType, TrackEntry* theTrackEntry);
|
||||||
InterruptMonitor& AddInterruptEventTrigger(const std::string& theEventTriggerName);
|
InterruptMonitor& AddInterruptEventTrigger(const std::string& theEventTriggerName);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void OnSpineAnimationStateEvent(AnimationState* state, int type, spTrackEntry* trackEntry, spEvent* event) override;
|
virtual void OnSpineAnimationStateEvent(AnimationState* state, EventType type, TrackEntry* trackEntry, Event* event) override;
|
||||||
virtual void OnMatchingComplete() {}
|
virtual void OnMatchingComplete() {}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
@ -119,7 +114,7 @@ eventMonitor.SetDebugLogging(true);
|
|||||||
|
|
||||||
// Interrupt the animation on this specific sequence of spEventType(s)
|
// Interrupt the animation on this specific sequence of spEventType(s)
|
||||||
eventMonitor
|
eventMonitor
|
||||||
.AddInterruptEvent(SP_ANIMATION_INTERRUPT, "jump") // First, wait for INTERRUPT signal on the 'jump' animation spTrackEntry
|
.AddInterruptEvent(SP_ANIMATION_INTERRUPT, "jump") // First, wait for INTERRUPT signal on the 'jump' animation TrackEntry
|
||||||
.AddInterruptEvent(SP_ANIMATION_START); // Then, stop on any following START signal
|
.AddInterruptEvent(SP_ANIMATION_START); // Then, stop on any following START signal
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -56,7 +56,7 @@ namespace Spine
|
|||||||
class Skeleton;
|
class Skeleton;
|
||||||
class RotateTimeline;
|
class RotateTimeline;
|
||||||
|
|
||||||
typedef void (*OnAnimationEventFunc) (AnimationState& state, EventType type, TrackEntry* entry, Event* event);
|
typedef void (*OnAnimationEventFunc) (AnimationState* state, EventType type, TrackEntry* entry, Event* event);
|
||||||
|
|
||||||
/// State for the playback of an animation
|
/// State for the playback of an animation
|
||||||
class TrackEntry
|
class TrackEntry
|
||||||
@ -375,6 +375,8 @@ namespace Spine
|
|||||||
float getTimeScale();
|
float getTimeScale();
|
||||||
void setTimeScale(float inValue);
|
void setTimeScale(float inValue);
|
||||||
void setOnAnimationEventFunc(OnAnimationEventFunc inValue);
|
void setOnAnimationEventFunc(OnAnimationEventFunc inValue);
|
||||||
|
void setRendererObject(void* inValue);
|
||||||
|
void* getRendererObject();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static const int Subsequent, First, Dip, DipMix;
|
static const int Subsequent, First, Dip, DipMix;
|
||||||
@ -389,6 +391,8 @@ namespace Spine
|
|||||||
Vector<int> _propertyIDs;
|
Vector<int> _propertyIDs;
|
||||||
Vector<TrackEntry*> _mixingTo;
|
Vector<TrackEntry*> _mixingTo;
|
||||||
bool _animationsChanged;
|
bool _animationsChanged;
|
||||||
|
|
||||||
|
void* _rendererObject;
|
||||||
|
|
||||||
OnAnimationEventFunc _onAnimationEventFunc;
|
OnAnimationEventFunc _onAnimationEventFunc;
|
||||||
|
|
||||||
|
|||||||
@ -48,7 +48,7 @@
|
|||||||
|
|
||||||
namespace Spine
|
namespace Spine
|
||||||
{
|
{
|
||||||
void dummyOnAnimationEventFunc(AnimationState& state, EventType type, TrackEntry* entry, Event* event = NULL)
|
void dummyOnAnimationEventFunc(AnimationState* state, EventType type, TrackEntry* entry, Event* event = NULL)
|
||||||
{
|
{
|
||||||
// Empty
|
// Empty
|
||||||
}
|
}
|
||||||
@ -320,22 +320,22 @@ namespace Spine
|
|||||||
case EventType_Start:
|
case EventType_Start:
|
||||||
case EventType_Interrupt:
|
case EventType_Interrupt:
|
||||||
case EventType_Complete:
|
case EventType_Complete:
|
||||||
trackEntry->_onAnimationEventFunc(state, queueEntry->_type, trackEntry, NULL);
|
trackEntry->_onAnimationEventFunc(&state, queueEntry->_type, trackEntry, NULL);
|
||||||
state._onAnimationEventFunc(state, queueEntry->_type, trackEntry, NULL);
|
state._onAnimationEventFunc(&state, queueEntry->_type, trackEntry, NULL);
|
||||||
break;
|
break;
|
||||||
case EventType_End:
|
case EventType_End:
|
||||||
trackEntry->_onAnimationEventFunc(state, queueEntry->_type, trackEntry, NULL);
|
trackEntry->_onAnimationEventFunc(&state, queueEntry->_type, trackEntry, NULL);
|
||||||
state._onAnimationEventFunc(state, queueEntry->_type, trackEntry, NULL);
|
state._onAnimationEventFunc(&state, queueEntry->_type, trackEntry, NULL);
|
||||||
/* Yes, we want to fall through here */
|
/* Yes, we want to fall through here */
|
||||||
case EventType_Dispose:
|
case EventType_Dispose:
|
||||||
trackEntry->_onAnimationEventFunc(state, EventType_Dispose, trackEntry, NULL);
|
trackEntry->_onAnimationEventFunc(&state, EventType_Dispose, trackEntry, NULL);
|
||||||
state._onAnimationEventFunc(state, EventType_Dispose, trackEntry, NULL);
|
state._onAnimationEventFunc(&state, EventType_Dispose, trackEntry, NULL);
|
||||||
trackEntry->reset();
|
trackEntry->reset();
|
||||||
_trackEntryPool.free(trackEntry);
|
_trackEntryPool.free(trackEntry);
|
||||||
break;
|
break;
|
||||||
case EventType_Event:
|
case EventType_Event:
|
||||||
trackEntry->_onAnimationEventFunc(state, queueEntry->_type, trackEntry, queueEntry->_event);
|
trackEntry->_onAnimationEventFunc(&state, queueEntry->_type, trackEntry, queueEntry->_event);
|
||||||
state._onAnimationEventFunc(state, queueEntry->_type, trackEntry, queueEntry->_event);
|
state._onAnimationEventFunc(&state, queueEntry->_type, trackEntry, queueEntry->_event);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -732,6 +732,16 @@ namespace Spine
|
|||||||
_onAnimationEventFunc = inValue;
|
_onAnimationEventFunc = inValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AnimationState::setRendererObject(void* inValue)
|
||||||
|
{
|
||||||
|
_rendererObject = inValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
void* AnimationState::getRendererObject()
|
||||||
|
{
|
||||||
|
return _rendererObject;
|
||||||
|
}
|
||||||
|
|
||||||
Animation* AnimationState::getEmptyAnimation()
|
Animation* AnimationState::getEmptyAnimation()
|
||||||
{
|
{
|
||||||
static Vector<Timeline*> timelines;
|
static Vector<Timeline*> timelines;
|
||||||
|
|||||||
@ -145,7 +145,8 @@ namespace Spine
|
|||||||
|
|
||||||
FREE(name);
|
FREE(name);
|
||||||
|
|
||||||
assert(readTuple(&begin, end, tuple) == 2);
|
int tupleVal = readTuple(&begin, end, tuple);
|
||||||
|
assert(tupleVal == 2);
|
||||||
|
|
||||||
/* size is only optional for an atlas packed with an old TexturePacker. */
|
/* size is only optional for an atlas packed with an old TexturePacker. */
|
||||||
page->width = toInt(tuple);
|
page->width = toInt(tuple);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user