diff --git a/spine-godot/spine_godot/SpineAnimation.h b/spine-godot/spine_godot/SpineAnimation.h index 9d9e07c18..6fee5eb01 100644 --- a/spine-godot/spine_godot/SpineAnimation.h +++ b/spine-godot/spine_godot/SpineAnimation.h @@ -39,8 +39,8 @@ class SpineSkeleton; class SpineTimeline; class SpineSkeletonDataResource; -class SpineAnimation : public REFCOUNTED, public SpineObjectWrapper { - GDCLASS(SpineAnimation, REFCOUNTED); +class SpineAnimation : public SpineObjectWrapper { + GDCLASS(SpineAnimation, SpineObjectWrapper) protected: static void _bind_methods(); diff --git a/spine-godot/spine_godot/SpineAttachment.h b/spine-godot/spine_godot/SpineAttachment.h index 480ac06d4..8e874290e 100644 --- a/spine-godot/spine_godot/SpineAttachment.h +++ b/spine-godot/spine_godot/SpineAttachment.h @@ -35,8 +35,8 @@ class SpineSkeletonDataResource; -class SpineAttachment : public REFCOUNTED, public SpineObjectWrapper { - GDCLASS(SpineAttachment, REFCOUNTED) +class SpineAttachment : public SpineObjectWrapper { + GDCLASS(SpineAttachment, SpineObjectWrapper) protected: static void _bind_methods(); diff --git a/spine-godot/spine_godot/SpineBone.h b/spine-godot/spine_godot/SpineBone.h index ba1d0883c..d04977865 100644 --- a/spine-godot/spine_godot/SpineBone.h +++ b/spine-godot/spine_godot/SpineBone.h @@ -38,8 +38,8 @@ class SpineSkeleton; class SpineSprite; -class SpineBone : public REFCOUNTED, public SpineObjectWrapper { - GDCLASS(SpineBone, REFCOUNTED) +class SpineBone : public SpineObjectWrapper { + GDCLASS(SpineBone, SpineObjectWrapper) protected: static void _bind_methods(); diff --git a/spine-godot/spine_godot/SpineBoneData.h b/spine-godot/spine_godot/SpineBoneData.h index a12e3c8e6..2445c11c6 100644 --- a/spine-godot/spine_godot/SpineBoneData.h +++ b/spine-godot/spine_godot/SpineBoneData.h @@ -36,8 +36,8 @@ class SpineSkeletonDataResource; -class SpineBoneData : public REFCOUNTED, public SpineObjectWrapper { - GDCLASS(SpineBoneData, REFCOUNTED) +class SpineBoneData : public SpineObjectWrapper { + GDCLASS(SpineBoneData, SpineObjectWrapper) protected: static void _bind_methods(); diff --git a/spine-godot/spine_godot/SpineConstraintData.h b/spine-godot/spine_godot/SpineConstraintData.h index 57d4ce2f1..258fc77a6 100644 --- a/spine-godot/spine_godot/SpineConstraintData.h +++ b/spine-godot/spine_godot/SpineConstraintData.h @@ -35,8 +35,8 @@ class SpineSkeletonDataResource; -class SpineConstraintData : public REFCOUNTED, public SpineObjectWrapper { - GDCLASS(SpineConstraintData, REFCOUNTED) +class SpineConstraintData : public SpineObjectWrapper { + GDCLASS(SpineConstraintData, SpineObjectWrapper) protected: static void _bind_methods(); diff --git a/spine-godot/spine_godot/SpineIkConstraint.h b/spine-godot/spine_godot/SpineIkConstraint.h index dfdc65796..2a0aff8d5 100644 --- a/spine-godot/spine_godot/SpineIkConstraint.h +++ b/spine-godot/spine_godot/SpineIkConstraint.h @@ -36,8 +36,8 @@ class SpineBone; class SpineSprite; -class SpineIkConstraint : public REFCOUNTED, public SpineObjectWrapper { - GDCLASS(SpineIkConstraint, REFCOUNTED); +class SpineIkConstraint : public SpineObjectWrapper { + GDCLASS(SpineIkConstraint, SpineObjectWrapper) protected: static void _bind_methods(); diff --git a/spine-godot/spine_godot/SpineObjectWrapper.cpp b/spine-godot/spine_godot/SpineObjectWrapper.cpp new file mode 100644 index 000000000..2b4177e3d --- /dev/null +++ b/spine-godot/spine_godot/SpineObjectWrapper.cpp @@ -0,0 +1,33 @@ +/****************************************************************************** +* Spine Runtimes License Agreement + * Last updated January 1, 2020. Replaces all prior versions. + * + * Copyright (c) 2013-2020, Esoteric Software LLC + * + * Integration of the Spine Runtimes into software or otherwise creating + * derivative works of the Spine Runtimes is permitted under the terms and + * conditions of Section 2 of the Spine Editor License Agreement: + * http://esotericsoftware.com/spine-editor-license + * + * Otherwise, it is permitted to integrate the Spine Runtimes into software + * or otherwise create derivative works of the Spine Runtimes (collectively, + * "Products"), provided that each user of the Products must obtain their own + * Spine Editor license and redistribution of the Products in any form must + * include this license and copyright notice. + * + * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, + * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *****************************************************************************/ + +#include "SpineObjectWrapper.h" + + + diff --git a/spine-godot/spine_godot/SpineObjectWrapper.h b/spine-godot/spine_godot/SpineObjectWrapper.h index b05c1cd43..b197efaf5 100644 --- a/spine-godot/spine_godot/SpineObjectWrapper.h +++ b/spine-godot/spine_godot/SpineObjectWrapper.h @@ -30,7 +30,9 @@ #ifndef GODOT_SPINEOBJECTWRAPPER_H #define GODOT_SPINEOBJECTWRAPPER_H -template class SpineObjectWrapper { +#include "SpineCommon.h" + +template class SpineObjectWrapper: public REFCOUNTED { protected: Object *owner; OBJECT *spine_object; diff --git a/spine-godot/spine_godot/SpinePathConstraint.h b/spine-godot/spine_godot/SpinePathConstraint.h index 7b3a84a7a..e8afe7723 100644 --- a/spine-godot/spine_godot/SpinePathConstraint.h +++ b/spine-godot/spine_godot/SpinePathConstraint.h @@ -34,8 +34,8 @@ #include "SpineSlot.h" #include -class SpinePathConstraint : public REFCOUNTED, public SpineObjectWrapper { - GDCLASS(SpinePathConstraint, REFCOUNTED); +class SpinePathConstraint : public SpineObjectWrapper { + GDCLASS(SpinePathConstraint, SpineObjectWrapper) protected: static void _bind_methods(); diff --git a/spine-godot/spine_godot/SpinePathConstraintData.h b/spine-godot/spine_godot/SpinePathConstraintData.h index 6133044b4..f17173a51 100644 --- a/spine-godot/spine_godot/SpinePathConstraintData.h +++ b/spine-godot/spine_godot/SpinePathConstraintData.h @@ -37,7 +37,7 @@ #include class SpinePathConstraintData : public SpineConstraintData { - GDCLASS(SpinePathConstraintData, SpineConstraintData); + GDCLASS(SpinePathConstraintData, SpineConstraintData) spine::PathConstraintData *get_spine_constraint_data() { return (spine::PathConstraintData *)get_spine_object(); } diff --git a/spine-godot/spine_godot/SpineSkin.h b/spine-godot/spine_godot/SpineSkin.h index e54a6b1ed..00e6f1ea6 100644 --- a/spine-godot/spine_godot/SpineSkin.h +++ b/spine-godot/spine_godot/SpineSkin.h @@ -36,8 +36,8 @@ class SpineSkeletonDataResource; class SpineSprite; -class SpineSkin : public REFCOUNTED, public SpineObjectWrapper { - GDCLASS(SpineSkin, REFCOUNTED); +class SpineSkin : public SpineObjectWrapper { + GDCLASS(SpineSkin, SpineObjectWrapper) protected: static void _bind_methods(); diff --git a/spine-godot/spine_godot/SpineSlot.h b/spine-godot/spine_godot/SpineSlot.h index 82f7a861e..83a0ab120 100644 --- a/spine-godot/spine_godot/SpineSlot.h +++ b/spine-godot/spine_godot/SpineSlot.h @@ -35,12 +35,11 @@ #include "SpineAttachment.h" #include "SpineBone.h" -// Breaks cyclic dependency. class SpineSkeleton; class SpineSprite; -class SpineSlot : public REFCOUNTED, public SpineObjectWrapper { - GDCLASS(SpineSlot, REFCOUNTED) +class SpineSlot : public SpineObjectWrapper { + GDCLASS(SpineSlot, SpineObjectWrapper) protected: static void _bind_methods(); diff --git a/spine-godot/spine_godot/SpineSlotData.h b/spine-godot/spine_godot/SpineSlotData.h index c233d59fc..ef9663937 100644 --- a/spine-godot/spine_godot/SpineSlotData.h +++ b/spine-godot/spine_godot/SpineSlotData.h @@ -36,8 +36,8 @@ class SpineSkeletonDataResource; -class SpineSlotData : public REFCOUNTED, public SpineObjectWrapper { - GDCLASS(SpineSlotData, REFCOUNTED) +class SpineSlotData : public SpineObjectWrapper { + GDCLASS(SpineSlotData, SpineObjectWrapper) protected: static void _bind_methods(); diff --git a/spine-godot/spine_godot/SpineTrackEntry.h b/spine-godot/spine_godot/SpineTrackEntry.h index 2014d78bf..132274668 100644 --- a/spine-godot/spine_godot/SpineTrackEntry.h +++ b/spine-godot/spine_godot/SpineTrackEntry.h @@ -37,8 +37,8 @@ #include "SpineSprite.h" -class SpineTrackEntry : public REFCOUNTED, public SpineObjectWrapper { - GDCLASS(SpineTrackEntry, REFCOUNTED); +class SpineTrackEntry : public SpineObjectWrapper { + GDCLASS(SpineTrackEntry, SpineObjectWrapper); protected: static void _bind_methods(); diff --git a/spine-godot/spine_godot/SpineTransformConstraint.h b/spine-godot/spine_godot/SpineTransformConstraint.h index 470fdd191..30b10736a 100644 --- a/spine-godot/spine_godot/SpineTransformConstraint.h +++ b/spine-godot/spine_godot/SpineTransformConstraint.h @@ -35,8 +35,8 @@ #include "SpineBone.h" #include -class SpineTransformConstraint : public REFCOUNTED, public SpineObjectWrapper { - GDCLASS(SpineTransformConstraint, REFCOUNTED) +class SpineTransformConstraint : public SpineObjectWrapper { + GDCLASS(SpineTransformConstraint, SpineObjectWrapper) protected: static void _bind_methods(); diff --git a/spine-godot/spine_godot/SpineTransformConstraintData.h b/spine-godot/spine_godot/SpineTransformConstraintData.h index 642f7a959..0618a6be6 100644 --- a/spine-godot/spine_godot/SpineTransformConstraintData.h +++ b/spine-godot/spine_godot/SpineTransformConstraintData.h @@ -35,7 +35,7 @@ #include class SpineTransformConstraintData : public SpineConstraintData { - GDCLASS(SpineTransformConstraintData, SpineConstraintData); + GDCLASS(SpineTransformConstraintData, SpineConstraintData) spine::TransformConstraintData *get_spine_constraint_data() { return (spine::TransformConstraintData *) SpineConstraintData::get_spine_object(); }