diff --git a/spine-godot/spine_godot/SpineAnimation.cpp b/spine-godot/spine_godot/SpineAnimation.cpp index 71fececf8..4ea17963d 100644 --- a/spine-godot/spine_godot/SpineAnimation.cpp +++ b/spine-godot/spine_godot/SpineAnimation.cpp @@ -27,11 +27,11 @@ * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *****************************************************************************/ -#include "common.h" #include "SpineAnimation.h" #include "SpineSkeleton.h" #include "SpineEvent.h" #include "SpineTimeline.h" +#include "SpineCommon.h" #include "core/method_bind_ext.gen.inc" diff --git a/spine-godot/spine_godot/SpineAnimationState.cpp b/spine-godot/spine_godot/SpineAnimationState.cpp index 907f95734..d0ee2aafc 100644 --- a/spine-godot/spine_godot/SpineAnimationState.cpp +++ b/spine-godot/spine_godot/SpineAnimationState.cpp @@ -27,8 +27,8 @@ * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *****************************************************************************/ -#include "common.h" #include "SpineAnimationState.h" +#include "SpineCommon.h" void SpineAnimationState::_bind_methods() { ClassDB::bind_method(D_METHOD("update", "delta"), &SpineAnimationState::update, DEFVAL(0)); diff --git a/spine-godot/spine_godot/SpineAttachment.cpp b/spine-godot/spine_godot/SpineAttachment.cpp index 2e00e0dd1..ad52dbb05 100644 --- a/spine-godot/spine_godot/SpineAttachment.cpp +++ b/spine-godot/spine_godot/SpineAttachment.cpp @@ -28,7 +28,7 @@ *****************************************************************************/ #include "SpineAttachment.h" -#include "common.h" +#include "SpineCommon.h" void SpineAttachment::_bind_methods() { ClassDB::bind_method(D_METHOD("get_attachment_name"), &SpineAttachment::get_attachment_name); diff --git a/spine-godot/spine_godot/SpineBone.cpp b/spine-godot/spine_godot/SpineBone.cpp index 38e682127..2b82d70ec 100644 --- a/spine-godot/spine_godot/SpineBone.cpp +++ b/spine-godot/spine_godot/SpineBone.cpp @@ -30,7 +30,7 @@ #include "SpineBone.h" #include "SpineSprite.h" #include "SpineSkeleton.h" -#include "common.h" +#include "SpineCommon.h" void SpineBone::_bind_methods() { ClassDB::bind_method(D_METHOD("update_world_transform"), &SpineBone::update_world_transform); diff --git a/spine-godot/spine_godot/SpineBoneData.cpp b/spine-godot/spine_godot/SpineBoneData.cpp index 7e097e47c..ab683e0bb 100644 --- a/spine-godot/spine_godot/SpineBoneData.cpp +++ b/spine-godot/spine_godot/SpineBoneData.cpp @@ -28,7 +28,7 @@ *****************************************************************************/ #include "SpineBoneData.h" -#include "common.h" +#include "SpineCommon.h" void SpineBoneData::_bind_methods() { ClassDB::bind_method(D_METHOD("get_index"), &SpineBoneData::get_index); @@ -192,4 +192,4 @@ Color SpineBoneData::get_color() { void SpineBoneData::set_color(Color color) { SPINE_CHECK(bone_data,) bone_data->getColor().set(color.r, color.g, color.b, color.a); -} \ No newline at end of file +} diff --git a/spine-godot/spine_godot/common.h b/spine-godot/spine_godot/SpineCommon.h similarity index 100% rename from spine-godot/spine_godot/common.h rename to spine-godot/spine_godot/SpineCommon.h diff --git a/spine-godot/spine_godot/SpineConstant.cpp b/spine-godot/spine_godot/SpineConstant.cpp index 522c4bd8e..62d6ac6d1 100644 --- a/spine-godot/spine_godot/SpineConstant.cpp +++ b/spine-godot/spine_godot/SpineConstant.cpp @@ -64,4 +64,15 @@ void SpineConstant::_bind_methods() { BIND_ENUM_CONSTANT(TransformMode_NoRotationOrReflection) BIND_ENUM_CONSTANT(TransformMode_NoScale) BIND_ENUM_CONSTANT(TransformMode_NoScaleOrReflection) + + BIND_ENUM_CONSTANT(PositionMode_Fixed) + BIND_ENUM_CONSTANT(PositionMode_Percent) + + BIND_ENUM_CONSTANT(SpacingMode_Length) + BIND_ENUM_CONSTANT(SpacingMode_Fixed) + BIND_ENUM_CONSTANT(SpacingMode_Percent) + + BIND_ENUM_CONSTANT(RotateMode_Tangent) + BIND_ENUM_CONSTANT(RotateMode_Chain) + BIND_ENUM_CONSTANT(RotateMode_ChainScale) } diff --git a/spine-godot/spine_godot/SpineConstant.h b/spine-godot/spine_godot/SpineConstant.h index c7de1f3c3..8d4e2a230 100644 --- a/spine-godot/spine_godot/SpineConstant.h +++ b/spine-godot/spine_godot/SpineConstant.h @@ -81,11 +81,31 @@ public: TransformMode_NoScale, TransformMode_NoScaleOrReflection }; + + enum PositionMode { + PositionMode_Fixed = 0, + PositionMode_Percent + }; + + enum SpacingMode { + SpacingMode_Length = 0, + SpacingMode_Fixed, + SpacingMode_Percent + }; + + enum RotateMode { + RotateMode_Tangent = 0, + RotateMode_Chain, + RotateMode_ChainScale + }; }; VARIANT_ENUM_CAST(SpineConstant::MixBlend); VARIANT_ENUM_CAST(SpineConstant::MixDirection); VARIANT_ENUM_CAST(SpineConstant::PropertyId); VARIANT_ENUM_CAST(SpineConstant::TransformMode); +VARIANT_ENUM_CAST(SpineConstant::PositionMode); +VARIANT_ENUM_CAST(SpineConstant::SpacingMode); +VARIANT_ENUM_CAST(SpineConstant::RotateMode); #endif//GODOT_SPINECONSTANT_H diff --git a/spine-godot/spine_godot/SpineConstraintData.cpp b/spine-godot/spine_godot/SpineConstraintData.cpp index ace5a3932..f09f8db98 100644 --- a/spine-godot/spine_godot/SpineConstraintData.cpp +++ b/spine-godot/spine_godot/SpineConstraintData.cpp @@ -29,7 +29,7 @@ #include "SpineConstraintData.h" #include -#include "common.h" +#include "SpineCommon.h" void SpineConstraintData::_bind_methods() { ClassDB::bind_method(D_METHOD("get_constraint_name"), &SpineConstraintData::get_constraint_name); diff --git a/spine-godot/spine_godot/SpineEvent.cpp b/spine-godot/spine_godot/SpineEvent.cpp index b058c7077..f432a2bca 100644 --- a/spine-godot/spine_godot/SpineEvent.cpp +++ b/spine-godot/spine_godot/SpineEvent.cpp @@ -28,8 +28,7 @@ *****************************************************************************/ #include "SpineEvent.h" -#include -#include "common.h" +#include "SpineCommon.h" void SpineEvent::_bind_methods() { ClassDB::bind_method(D_METHOD("get_data"), &SpineEvent::get_data); diff --git a/spine-godot/spine_godot/SpineEventData.cpp b/spine-godot/spine_godot/SpineEventData.cpp index c7f26297a..281928be1 100644 --- a/spine-godot/spine_godot/SpineEventData.cpp +++ b/spine-godot/spine_godot/SpineEventData.cpp @@ -28,7 +28,7 @@ *****************************************************************************/ #include "SpineEventData.h" -#include "common.h" +#include "SpineCommon.h" void SpineEventData::_bind_methods() { ClassDB::bind_method(D_METHOD("get_event_name"), &SpineEventData::get_event_name); diff --git a/spine-godot/spine_godot/SpineIkConstraint.cpp b/spine-godot/spine_godot/SpineIkConstraint.cpp index 15a22eb08..d25ed3fb4 100644 --- a/spine-godot/spine_godot/SpineIkConstraint.cpp +++ b/spine-godot/spine_godot/SpineIkConstraint.cpp @@ -29,7 +29,7 @@ #include "SpineIkConstraint.h" #include "SpineBone.h" -#include "common.h" +#include "SpineCommon.h" void SpineIkConstraint::_bind_methods() { ClassDB::bind_method(D_METHOD("update"), &SpineIkConstraint::update); diff --git a/spine-godot/spine_godot/SpineIkConstraintData.cpp b/spine-godot/spine_godot/SpineIkConstraintData.cpp index dd9dcd350..7ea25a40c 100644 --- a/spine-godot/spine_godot/SpineIkConstraintData.cpp +++ b/spine-godot/spine_godot/SpineIkConstraintData.cpp @@ -28,8 +28,7 @@ *****************************************************************************/ #include "SpineIkConstraintData.h" - -#include "common.h" +#include "SpineCommon.h" void SpineIkConstraintData::_bind_methods() { ClassDB::bind_method(D_METHOD("get_bones"), &SpineIkConstraintData::get_bones); diff --git a/spine-godot/spine_godot/SpineIkConstraintData.h b/spine-godot/spine_godot/SpineIkConstraintData.h index f8b40079e..4f5a84eea 100644 --- a/spine-godot/spine_godot/SpineIkConstraintData.h +++ b/spine-godot/spine_godot/SpineIkConstraintData.h @@ -38,7 +38,7 @@ class SpineIkConstraintData : public SpineConstraintData { GDCLASS(SpineIkConstraintData, SpineConstraintData) spine::IkConstraintData *get_spine_constraint_data() { return (spine::IkConstraintData *)get_spine_object(); } - + protected: static void _bind_methods(); @@ -49,31 +49,31 @@ public: Array get_bones(); Ref get_target(); - + void set_target(Ref v); int get_bend_direction(); - + void set_bend_direction(int v); bool get_compress(); - + void set_compress(bool v); bool get_stretch(); - + void set_stretch(bool v); bool get_uniform(); - + void set_uniform(bool v); float get_mix(); - + void set_mix(float v); float get_softness(); - + void set_softness(float v); }; diff --git a/spine-godot/spine_godot/SpinePathConstraint.cpp b/spine-godot/spine_godot/SpinePathConstraint.cpp index fd4f7f3a9..d91e22955 100644 --- a/spine-godot/spine_godot/SpinePathConstraint.cpp +++ b/spine-godot/spine_godot/SpinePathConstraint.cpp @@ -29,7 +29,7 @@ #include "SpinePathConstraint.h" #include "SpineBone.h" -#include "common.h" +#include "SpineCommon.h" void SpinePathConstraint::_bind_methods() { ClassDB::bind_method(D_METHOD("update"), &SpinePathConstraint::update); diff --git a/spine-godot/spine_godot/SpinePathConstraintData.cpp b/spine-godot/spine_godot/SpinePathConstraintData.cpp index a1e34f1a4..15ddd3df7 100644 --- a/spine-godot/spine_godot/SpinePathConstraintData.cpp +++ b/spine-godot/spine_godot/SpinePathConstraintData.cpp @@ -28,10 +28,10 @@ *****************************************************************************/ #include "SpinePathConstraintData.h" - +#include "SpineCommon.h" void SpinePathConstraintData::_bind_methods() { - ClassDB::bind_method(D_METHOD("get_all_bone_data"), &SpinePathConstraintData::get_bones); + ClassDB::bind_method(D_METHOD("get_bones"), &SpinePathConstraintData::get_bones); ClassDB::bind_method(D_METHOD("get_target"), &SpinePathConstraintData::get_target); ClassDB::bind_method(D_METHOD("set_target", "V"), &SpinePathConstraintData::set_target); ClassDB::bind_method(D_METHOD("get_position_mode"), &SpinePathConstraintData::get_position_mode); @@ -52,117 +52,121 @@ void SpinePathConstraintData::_bind_methods() { ClassDB::bind_method(D_METHOD("set_mix_x", "V"), &SpinePathConstraintData::set_mix_x); ClassDB::bind_method(D_METHOD("get_mix_y"), &SpinePathConstraintData::get_mix_y); ClassDB::bind_method(D_METHOD("set_mix_y", "V"), &SpinePathConstraintData::set_mix_y); - - BIND_ENUM_CONSTANT(POSITIONMODE_FIXED); - BIND_ENUM_CONSTANT(POSITIONMODE_PERCENT); - - BIND_ENUM_CONSTANT(SPACINGMODE_LENGTH); - BIND_ENUM_CONSTANT(SPACINGMODE_FIXED); - BIND_ENUM_CONSTANT(SPACINGMODE_PERCENT); - - BIND_ENUM_CONSTANT(ROTATEMODE_TANGENT); - BIND_ENUM_CONSTANT(ROTATEMODE_CHAIN); - BIND_ENUM_CONSTANT(ROTATEMODE_CHAINSCALE); } -SpinePathConstraintData::SpinePathConstraintData() {} -SpinePathConstraintData::~SpinePathConstraintData() {} - Array SpinePathConstraintData::get_bones() { - auto bs = get_spine_constraint_data()->getBones(); - Array gd_bs; - gd_bs.resize(bs.size()); - for (size_t i = 0; i < bs.size(); ++i) { - if (bs[i] == NULL) gd_bs[i] = Ref(NULL); - else { - Ref gd_b(memnew(SpineBoneData)); - gd_b->set_spine_object(bs[i]); - gd_bs[i] = gd_b; - } + Array result; + SPINE_CHECK(get_spine_constraint_data(), result) + auto bones = get_spine_constraint_data()->getBones(); + result.resize((int)bones.size()); + for (int i = 0; i < bones.size(); ++i) { + Ref bone_ref(memnew(SpineBoneData)); + bone_ref->set_spine_object(bones[i]); + result[i] = bone_ref; } - return gd_bs; + return result; } Ref SpinePathConstraintData::get_target() { - auto s = get_spine_constraint_data()->getTarget(); - if (s == NULL) return NULL; - Ref gd_s(memnew(SpineSlotData)); - gd_s->set_spine_object(s); - return gd_s; + SPINE_CHECK(get_spine_constraint_data(), nullptr) + auto slot = get_spine_constraint_data()->getTarget(); + if (!slot) return nullptr; + Ref slot_ref(memnew(SpineSlotData)); + slot_ref->set_spine_object(slot); + return slot_ref; } + void SpinePathConstraintData::set_target(Ref v) { - if (v.is_valid()) { - get_spine_constraint_data()->setTarget(v->get_spine_object()); - } else { - get_spine_constraint_data()->setTarget(NULL); - } + SPINE_CHECK(get_spine_constraint_data(),) + get_spine_constraint_data()->setTarget(v.is_valid() ? v->get_spine_object() : nullptr); } -SpinePathConstraintData::PositionMode SpinePathConstraintData::get_position_mode() { - auto m = (int) get_spine_constraint_data()->getPositionMode(); - return (PositionMode) m; -} -void SpinePathConstraintData::set_position_mode(PositionMode v) { - auto m = (int) v; - get_spine_constraint_data()->setPositionMode((spine::PositionMode) m); +SpineConstant::PositionMode SpinePathConstraintData::get_position_mode() { + SPINE_CHECK(get_spine_constraint_data(), SpineConstant::PositionMode_Fixed) + return (SpineConstant::PositionMode) get_spine_constraint_data()->getPositionMode(); } -SpinePathConstraintData::SpacingMode SpinePathConstraintData::get_spacing_mode() { - auto m = (int) get_spine_constraint_data()->getSpacingMode(); - return (SpacingMode) m; -} -void SpinePathConstraintData::set_spacing_mode(SpacingMode v) { - auto m = (int) v; - get_spine_constraint_data()->setSpacingMode((spine::SpacingMode) m); +void SpinePathConstraintData::set_position_mode(SpineConstant::PositionMode v) { + SPINE_CHECK(get_spine_constraint_data(),) + get_spine_constraint_data()->setPositionMode((spine::PositionMode)v); } -SpinePathConstraintData::RotateMode SpinePathConstraintData::get_rotate_mode() { - auto m = (int) get_spine_constraint_data()->getRotateMode(); - return (RotateMode) m; +SpineConstant::SpacingMode SpinePathConstraintData::get_spacing_mode() { + SPINE_CHECK(get_spine_constraint_data(),SpineConstant::SpacingMode_Fixed) + return (SpineConstant::SpacingMode) get_spine_constraint_data()->getSpacingMode(); } -void SpinePathConstraintData::set_rotate_mode(RotateMode v) { - auto m = (int) v; - get_spine_constraint_data()->setRotateMode((spine::RotateMode) m); + +void SpinePathConstraintData::set_spacing_mode(SpineConstant::SpacingMode v) { + SPINE_CHECK(get_spine_constraint_data(),) + get_spine_constraint_data()->setSpacingMode((spine::SpacingMode) v); +} + +SpineConstant::RotateMode SpinePathConstraintData::get_rotate_mode() { + SPINE_CHECK(get_spine_constraint_data(),SpineConstant::RotateMode_Tangent) + return (SpineConstant::RotateMode)get_spine_constraint_data()->getRotateMode(); +} + +void SpinePathConstraintData::set_rotate_mode(SpineConstant::RotateMode v) { + SPINE_CHECK(get_spine_constraint_data(),) + get_spine_constraint_data()->setRotateMode((spine::RotateMode) v); } float SpinePathConstraintData::get_offset_rotation() { + SPINE_CHECK(get_spine_constraint_data(), 0) return get_spine_constraint_data()->getOffsetRotation(); } + void SpinePathConstraintData::set_offset_rotation(float v) { + SPINE_CHECK(get_spine_constraint_data(),) get_spine_constraint_data()->setOffsetRotation(v); } float SpinePathConstraintData::get_position() { + SPINE_CHECK(get_spine_constraint_data(), 0) return get_spine_constraint_data()->getPosition(); } + void SpinePathConstraintData::set_position(float v) { + SPINE_CHECK(get_spine_constraint_data(),) get_spine_constraint_data()->setPosition(v); } float SpinePathConstraintData::get_spacing() { + SPINE_CHECK(get_spine_constraint_data(), 0) return get_spine_constraint_data()->getSpacing(); } + void SpinePathConstraintData::set_spacing(float v) { + SPINE_CHECK(get_spine_constraint_data(),) get_spine_constraint_data()->setSpacing(v); } float SpinePathConstraintData::get_mix_rotate() { + SPINE_CHECK(get_spine_constraint_data(), 0) return get_spine_constraint_data()->getMixRotate(); } + void SpinePathConstraintData::set_mix_rotate(float v) { + SPINE_CHECK(get_spine_constraint_data(),) get_spine_constraint_data()->setMixRotate(v); } float SpinePathConstraintData::get_mix_x() { + SPINE_CHECK(get_spine_constraint_data(), 0) return get_spine_constraint_data()->getMixX(); } + void SpinePathConstraintData::set_mix_x(float v) { + SPINE_CHECK(get_spine_constraint_data(),) get_spine_constraint_data()->setMixX(v); } float SpinePathConstraintData::get_mix_y() { + SPINE_CHECK(get_spine_constraint_data(), 0) return get_spine_constraint_data()->getMixY(); } + void SpinePathConstraintData::set_mix_y(float v) { + SPINE_CHECK(get_spine_constraint_data(),) get_spine_constraint_data()->setMixY(v); -} \ No newline at end of file +} diff --git a/spine-godot/spine_godot/SpinePathConstraintData.h b/spine-godot/spine_godot/SpinePathConstraintData.h index 5dd08221d..0bda1c984 100644 --- a/spine-godot/spine_godot/SpinePathConstraintData.h +++ b/spine-godot/spine_godot/SpinePathConstraintData.h @@ -31,6 +31,7 @@ #define GODOT_SPINEPATHCONSTRAINTDATA_H #include "SpineConstraintData.h" +#include "SpineConstant.h" #include "SpineBoneData.h" #include "SpineSlotData.h" #include @@ -39,65 +40,54 @@ class SpinePathConstraintData : public SpineConstraintData { GDCLASS(SpinePathConstraintData, SpineConstraintData); spine::PathConstraintData *get_spine_constraint_data() { return (spine::PathConstraintData *)get_spine_object(); } - + protected: static void _bind_methods(); public: - SpinePathConstraintData(); - ~SpinePathConstraintData(); - - enum PositionMode { - POSITIONMODE_FIXED = 0, - POSITIONMODE_PERCENT - }; - - enum SpacingMode { - SPACINGMODE_LENGTH = 0, - SPACINGMODE_FIXED, - SPACINGMODE_PERCENT - }; - - enum RotateMode { - ROTATEMODE_TANGENT = 0, - ROTATEMODE_CHAIN, - ROTATEMODE_CHAINSCALE - }; + SpinePathConstraintData() = default; + ~SpinePathConstraintData() = default; Array get_bones(); Ref get_target(); + void set_target(Ref v); - PositionMode get_position_mode(); - void set_position_mode(PositionMode v); + SpineConstant::PositionMode get_position_mode(); - SpacingMode get_spacing_mode(); - void set_spacing_mode(SpacingMode v); + void set_position_mode(SpineConstant::PositionMode v); - RotateMode get_rotate_mode(); - void set_rotate_mode(RotateMode v); + SpineConstant::SpacingMode get_spacing_mode(); + + void set_spacing_mode(SpineConstant::SpacingMode v); + + SpineConstant::RotateMode get_rotate_mode(); + + void set_rotate_mode(SpineConstant::RotateMode v); float get_offset_rotation(); + void set_offset_rotation(float v); float get_position(); + void set_position(float v); float get_spacing(); + void set_spacing(float v); float get_mix_rotate(); + void set_mix_rotate(float v); float get_mix_x(); + void set_mix_x(float v); float get_mix_y(); + void set_mix_y(float v); }; - -VARIANT_ENUM_CAST(SpinePathConstraintData::PositionMode); -VARIANT_ENUM_CAST(SpinePathConstraintData::SpacingMode); -VARIANT_ENUM_CAST(SpinePathConstraintData::RotateMode); #endif//GODOT_SPINEPATHCONSTRAINTDATA_H