From 2f4ab354ba3a25a34ae0061784cc81d4ef0a81a5 Mon Sep 17 00:00:00 2001 From: Mario Zechner Date: Fri, 2 Sep 2022 14:11:30 +0200 Subject: [PATCH] [cpp] Add RTTI information for constraint data types. --- spine-cpp/spine-cpp/include/spine/ConstraintData.h | 4 +++- spine-cpp/spine-cpp/include/spine/IkConstraintData.h | 2 ++ spine-cpp/spine-cpp/include/spine/PathConstraintData.h | 3 ++- spine-cpp/spine-cpp/include/spine/TransformConstraintData.h | 2 ++ spine-cpp/spine-cpp/src/spine/Atlas.cpp | 2 +- spine-cpp/spine-cpp/src/spine/ConstraintData.cpp | 2 ++ spine-cpp/spine-cpp/src/spine/IkConstraintData.cpp | 2 ++ spine-cpp/spine-cpp/src/spine/PathConstraintData.cpp | 2 ++ spine-cpp/spine-cpp/src/spine/TransformConstraintData.cpp | 2 ++ 9 files changed, 18 insertions(+), 3 deletions(-) diff --git a/spine-cpp/spine-cpp/include/spine/ConstraintData.h b/spine-cpp/spine-cpp/include/spine/ConstraintData.h index eaee91cf6..dc540ed35 100644 --- a/spine-cpp/spine-cpp/include/spine/ConstraintData.h +++ b/spine-cpp/spine-cpp/include/spine/ConstraintData.h @@ -34,9 +34,11 @@ #include namespace spine { -/// The interface for all constraints. + /// The interface for all constraints. class SP_API ConstraintData : public SpineObject { + RTTI_DECL + public: ConstraintData(const String &name); diff --git a/spine-cpp/spine-cpp/include/spine/IkConstraintData.h b/spine-cpp/spine-cpp/include/spine/IkConstraintData.h index 721db504d..664f7c084 100644 --- a/spine-cpp/spine-cpp/include/spine/IkConstraintData.h +++ b/spine-cpp/spine-cpp/include/spine/IkConstraintData.h @@ -50,6 +50,8 @@ namespace spine { friend class IkConstraintTimeline; public: + RTTI_DECL + explicit IkConstraintData(const String &name); /// The bones that are constrained by this IK Constraint. diff --git a/spine-cpp/spine-cpp/include/spine/PathConstraintData.h b/spine-cpp/spine-cpp/include/spine/PathConstraintData.h index 6045fd669..120c4ab91 100644 --- a/spine-cpp/spine-cpp/include/spine/PathConstraintData.h +++ b/spine-cpp/spine-cpp/include/spine/PathConstraintData.h @@ -57,8 +57,9 @@ namespace spine { friend class PathConstraintPositionTimeline; friend class PathConstraintSpacingTimeline; - public: + RTTI_DECL + explicit PathConstraintData(const String &name); Vector &getBones(); diff --git a/spine-cpp/spine-cpp/include/spine/TransformConstraintData.h b/spine-cpp/spine-cpp/include/spine/TransformConstraintData.h index af430be37..726f9e6e2 100644 --- a/spine-cpp/spine-cpp/include/spine/TransformConstraintData.h +++ b/spine-cpp/spine-cpp/include/spine/TransformConstraintData.h @@ -50,6 +50,8 @@ namespace spine { friend class TransformConstraintTimeline; public: + RTTI_DECL + explicit TransformConstraintData(const String &name); Vector &getBones(); diff --git a/spine-cpp/spine-cpp/src/spine/Atlas.cpp b/spine-cpp/spine-cpp/src/spine/Atlas.cpp index 1b9e9f2f0..d13a0806c 100644 --- a/spine-cpp/spine-cpp/src/spine/Atlas.cpp +++ b/spine-cpp/spine-cpp/src/spine/Atlas.cpp @@ -286,7 +286,7 @@ void Atlas::load(const char *begin, int length, const char *dir, bool createText } else { page->texturePath = String(path, true); } - page->index = _pages.size(); + page->index = _pages.size(); _pages.add(page); } else { AtlasRegion *region = new (__FILE__, __LINE__) AtlasRegion(); diff --git a/spine-cpp/spine-cpp/src/spine/ConstraintData.cpp b/spine-cpp/spine-cpp/src/spine/ConstraintData.cpp index 051320899..3f3894dba 100644 --- a/spine-cpp/spine-cpp/src/spine/ConstraintData.cpp +++ b/spine-cpp/spine-cpp/src/spine/ConstraintData.cpp @@ -31,6 +31,8 @@ using namespace spine; +RTTI_IMPL_NOPARENT(ConstraintData) + ConstraintData::ConstraintData(const String &name) : _name(name), _order(0), _skinRequired(false) { } diff --git a/spine-cpp/spine-cpp/src/spine/IkConstraintData.cpp b/spine-cpp/spine-cpp/src/spine/IkConstraintData.cpp index ec6806598..52f6779a8 100644 --- a/spine-cpp/spine-cpp/src/spine/IkConstraintData.cpp +++ b/spine-cpp/spine-cpp/src/spine/IkConstraintData.cpp @@ -33,6 +33,8 @@ using namespace spine; +RTTI_IMPL(IkConstraintData, ConstraintData) + IkConstraintData::IkConstraintData(const String &name) : ConstraintData(name), _target(NULL), _bendDirection(1), diff --git a/spine-cpp/spine-cpp/src/spine/PathConstraintData.cpp b/spine-cpp/spine-cpp/src/spine/PathConstraintData.cpp index 6baf22b9d..a102ee51d 100644 --- a/spine-cpp/spine-cpp/src/spine/PathConstraintData.cpp +++ b/spine-cpp/spine-cpp/src/spine/PathConstraintData.cpp @@ -36,6 +36,8 @@ using namespace spine; +RTTI_IMPL(PathConstraintData, ConstraintData) + PathConstraintData::PathConstraintData(const String &name) : ConstraintData(name), _target(NULL), _positionMode(PositionMode_Fixed), diff --git a/spine-cpp/spine-cpp/src/spine/TransformConstraintData.cpp b/spine-cpp/spine-cpp/src/spine/TransformConstraintData.cpp index 6675d4521..bb7168808 100644 --- a/spine-cpp/spine-cpp/src/spine/TransformConstraintData.cpp +++ b/spine-cpp/spine-cpp/src/spine/TransformConstraintData.cpp @@ -35,6 +35,8 @@ using namespace spine; +RTTI_IMPL(TransformConstraintData, ConstraintData) + TransformConstraintData::TransformConstraintData(const String &name) : ConstraintData(name), _target(NULL), _mixRotate(0),