diff --git a/.gitignore b/.gitignore
index d0064313e..c32fc32a5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,3 +4,4 @@ spine-libgdx/libs/gdx-backend-lwjgl-natives.jar
spine-libgdx/libs/gdx-backend-lwjgl.jar
spine-libgdx/libs/gdx-natives.jar
spine-libgdx/libs/gdx.jar
+target
\ No newline at end of file
diff --git a/README b/README
new file mode 100644
index 000000000..e8f355026
--- /dev/null
+++ b/README
@@ -0,0 +1,7 @@
+# Spine Runtimes
+
+This project hosts the runtimes needed to use [Spine](http://esotericsoftware.com/) 2D skeletal animations with various game toolkits.
+
+The code provided here is currently under development and is subject to change.
+
+Documentation is being worked on and will be provided as soon as possible.
\ No newline at end of file
diff --git a/spine-cpp/.cproject b/spine-cpp/.cproject
index f7b81f9ee..3a8e10aed 100644
--- a/spine-cpp/.cproject
+++ b/spine-cpp/.cproject
@@ -32,13 +32,13 @@
-
+
-
+
@@ -140,4 +140,16 @@
+
+
+
+ make
+
+ moo
+ true
+ true
+ true
+
+
+
diff --git a/spine-cpp/includes/spine-sfml/Skeleton.h b/spine-cpp/includes/spine-sfml/Skeleton.h
index 825e8abe3..e5d8d90a1 100644
--- a/spine-cpp/includes/spine-sfml/Skeleton.h
+++ b/spine-cpp/includes/spine-sfml/Skeleton.h
@@ -12,7 +12,7 @@ public:
Skeleton (SkeletonData *skeletonData);
- void draw (sf::RenderTarget& target, sf::RenderStates states) const;
+ virtual void draw (sf::RenderTarget& target, sf::RenderStates states) const;
};
} /* namespace spine */
diff --git a/spine-cpp/includes/spine/Animation.h b/spine-cpp/includes/spine/Animation.h
index c6ca45874..4e243d74a 100644
--- a/spine-cpp/includes/spine/Animation.h
+++ b/spine-cpp/includes/spine/Animation.h
@@ -38,7 +38,7 @@ public:
float *curves; // dfx, dfy, ddfx, ddfy, dddfx, dddfy, ...
CurveTimeline (int keyframeCount);
- ~CurveTimeline ();
+ virtual ~CurveTimeline ();
void setLinear (int keyframeIndex);
@@ -61,7 +61,7 @@ public:
int boneIndex;
RotateTimeline (int keyframeCount);
- ~RotateTimeline ();
+ virtual ~RotateTimeline ();
virtual float getDuration () = 0;
virtual int getKeyframeCount () = 0;
@@ -79,7 +79,7 @@ public:
int boneIndex;
TranslateTimeline (int keyframeCount);
- ~TranslateTimeline ();
+ virtual ~TranslateTimeline ();
virtual float getDuration () = 0;
virtual int getKeyframeCount () = 0;
@@ -108,7 +108,7 @@ public:
int slotIndex;
ColorTimeline (int keyframeCount);
- ~ColorTimeline ();
+ virtual ~ColorTimeline ();
virtual float getDuration () = 0;
virtual int getKeyframeCount () = 0;
@@ -127,7 +127,7 @@ public:
int slotIndex;
AttachmentTimeline (int keyframeCount);
- ~AttachmentTimeline ();
+ virtual ~AttachmentTimeline ();
virtual float getDuration () = 0;
virtual int getKeyframeCount () = 0;
diff --git a/spine-cpp/includes/spine/BaseRegionAttachment.h b/spine-cpp/includes/spine/BaseRegionAttachment.h
index 08344187f..d32ee2b1f 100644
--- a/spine-cpp/includes/spine/BaseRegionAttachment.h
+++ b/spine-cpp/includes/spine/BaseRegionAttachment.h
@@ -11,9 +11,6 @@ class BaseRegionAttachment: public Attachment {
public:
float offset[8];
- BaseRegionAttachment ();
- ~BaseRegionAttachment ();
-
void updateOffset ();
virtual void updateWorldVertices (Bone *bone) = 0;
diff --git a/spine-cpp/includes/spine/BaseSkeleton.h b/spine-cpp/includes/spine/BaseSkeleton.h
index b0a3d35da..b8dcc2dba 100644
--- a/spine-cpp/includes/spine/BaseSkeleton.h
+++ b/spine-cpp/includes/spine/BaseSkeleton.h
@@ -24,7 +24,7 @@ public:
bool flipX, flipY;
BaseSkeleton (SkeletonData *data);
- ~BaseSkeleton ();
+ virtual ~BaseSkeleton ();
void updateWorldTransform ();
diff --git a/spine-cpp/includes/spine/BaseSkeletonJson.h b/spine-cpp/includes/spine/BaseSkeletonJson.h
index 2d80a73e7..90f730978 100644
--- a/spine-cpp/includes/spine/BaseSkeletonJson.h
+++ b/spine-cpp/includes/spine/BaseSkeletonJson.h
@@ -14,6 +14,7 @@ public:
float scale;
BaseSkeletonJson (BaseAttachmentLoader *attachmentLoader);
+ virtual ~BaseSkeletonJson ();
SkeletonData* readSkeletonData (const char *begin, const char *end) const;
SkeletonData* readSkeletonData (const std::string &json) const;
diff --git a/spine-cpp/src/spine/BaseRegionAttachment.cpp b/spine-cpp/src/spine/BaseRegionAttachment.cpp
index cfe1b6e3f..ed83f6604 100644
--- a/spine-cpp/src/spine/BaseRegionAttachment.cpp
+++ b/spine-cpp/src/spine/BaseRegionAttachment.cpp
@@ -3,12 +3,6 @@
namespace spine {
-BaseRegionAttachment::BaseRegionAttachment () {
-}
-
-BaseRegionAttachment::~BaseRegionAttachment () {
-}
-
void BaseRegionAttachment::updateOffset () {
float localX2 = width / 2;
float localY2 = height / 2;
diff --git a/spine-cpp/src/spine/BaseSkeletonJson.cpp b/spine-cpp/src/spine/BaseSkeletonJson.cpp
index 479c5d5ce..2ae9f2c1c 100644
--- a/spine-cpp/src/spine/BaseSkeletonJson.cpp
+++ b/spine-cpp/src/spine/BaseSkeletonJson.cpp
@@ -20,6 +20,9 @@ BaseSkeletonJson::BaseSkeletonJson (BaseAttachmentLoader *attachmentLoader) :
scale(1) {
}
+BaseSkeletonJson::~BaseSkeletonJson () {
+}
+
float toColor (const string &value, int index) {
if (value.size() != 8) throw runtime_error("Error parsing color, length must be 8: " + value);
char *p;