Selaa lähdekoodia

[c][cpp] Using -Werror, both C and C++ runtime compiles without warnings now. Fixes #1391.

badlogic 6 vuotta sitten
vanhempi
commit
f5632c4ef1

+ 2 - 2
CMakeLists.txt

@@ -6,8 +6,8 @@ if(MSVC)
 	set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
 	set (CMAKE_C_FLAGS "${CMAKE_CXX_FLAGS}")
 else()
-	set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -pedantic -Wnonportable-include-path -Wshadow -std=c89")
-	set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wnon-virtual-dtor -pedantic -Wnonportable-include-path -Wshadow -std=c++03 -fno-exceptions -fno-rtti")
+	set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wunused-value -Wno-c++11-long-long -Wno-variadic-macros -Werror -Wextra -pedantic -Wnonportable-include-path -Wshadow -std=c89")
+	set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wunused-value -Wno-c++11-long-long -Wno-variadic-macros -Werror -Wextra -Wnon-virtual-dtor -pedantic -Wnonportable-include-path -Wshadow -std=c++03 -fno-exceptions -fno-rtti")
 endif()
 
 set(CMAKE_INSTALL_PREFIX "./")

+ 6 - 5
spine-c/spine-c/src/spine/IkConstraint.c

@@ -101,6 +101,7 @@ void spIkConstraint_apply2 (spBone* parent, spBone* child, float targetX, float
 	spBone* pp = parent->parent;
 	float tx, ty, dd, dx, dy, l1, l2, a1, a2, r, td, sd, p;
 	float id, x, y;
+	float aa, bb, ll, ta, c0, c1, c2;
 	if (alpha == 0) {
 		spBone_updateWorldTransform(child);
 		return;
@@ -171,7 +172,7 @@ void spIkConstraint_apply2 (spBone* parent, spBone* child, float targetX, float
 		}
 	}
 	if (u) {
-		float cosine, a, b;
+		float cosine;
 		l2 *= psx;
 		cosine = (dd - l1 * l1 - l2 * l2) / (2 * l1 * l2);
 		if (cosine < -1) cosine = -1;
@@ -184,10 +185,10 @@ void spIkConstraint_apply2 (spBone* parent, spBone* child, float targetX, float
 		b = l2 * SIN(a2);
 		a1 = ATAN2(ty * a - tx * b, tx * a + ty * b);
 	} else {
-		float a = psx * l2, b = psy * l2;
-		float aa = a * a, bb = b * b, ll = l1 * l1, ta = ATAN2(ty, tx);
-		float c0 = bb * ll + aa * dd - aa * bb, c1 = -2 * bb * l1, c2 = bb - aa;
-		float d = c1 * c1 - 4 * c2 * c0;
+		a = psx * l2; b = psy * l2;
+		aa = a * a, bb = b * b, ll = l1 * l1, ta = ATAN2(ty, tx);
+		c0 = bb * ll + aa * dd - aa * bb, c1 = -2 * bb * l1, c2 = bb - aa;
+		d = c1 * c1 - 4 * c2 * c0;
 		if (d >= 0) {
 			float q = SQRT(d), r0, r1;
 			if (c1 < 0) q = -q;

+ 0 - 1
spine-c/spine-c/src/spine/SkeletonBinary.c

@@ -71,7 +71,6 @@ spSkeletonBinary* spSkeletonBinary_create (spAtlas* atlas) {
 }
 
 void spSkeletonBinary_dispose (spSkeletonBinary* self) {
-	int i;
 	_spSkeletonBinary* internal = SUB_CAST(_spSkeletonBinary, self);
 	if (internal->ownsLoader) spAttachmentLoader_dispose(self->attachmentLoader);
 	FREE(internal->linkedMeshes);

+ 2 - 1
spine-c/spine-c/src/spine/SkeletonBounds.c

@@ -127,10 +127,11 @@ void spSkeletonBounds_update (spSkeletonBounds* self, spSkeleton* skeleton, int/
 	for (i = 0; i < skeleton->slotsCount; ++i) {
 		spPolygon* polygon;
 		spBoundingBoxAttachment* boundingBox;
+		spAttachment* attachment;
 
 		spSlot* slot = skeleton->slots[i];
 		if (!slot->bone->active) continue;
-		spAttachment* attachment = slot->attachment;
+		attachment = slot->attachment;
 		if (!attachment || attachment->type != SP_ATTACHMENT_BOUNDING_BOX) continue;
 		boundingBox = (spBoundingBoxAttachment*)attachment;
 		self->boundingBoxes[self->count] = boundingBox;

+ 26 - 26
spine-c/spine-c/src/spine/SkeletonJson.c

@@ -153,11 +153,11 @@ static spAnimation* _spSkeletonJson_readAnimation (spSkeletonJson* self, Json* r
 	Json* ik = Json_getItem(root, "ik");
 	Json* transform = Json_getItem(root, "transform");
 	Json* paths = Json_getItem(root, "paths");
-	Json* deform = Json_getItem(root, "deform");
-	Json* drawOrder = Json_getItem(root, "drawOrder");
+	Json* deformJson = Json_getItem(root, "deform");
+	Json* drawOrderJson = Json_getItem(root, "drawOrder");
 	Json* events = Json_getItem(root, "events");
 	Json *boneMap, *slotMap, *constraintMap;
-	if (!drawOrder) drawOrder = Json_getItem(root, "draworder");
+	if (!drawOrderJson) drawOrderJson = Json_getItem(root, "draworder");
 
 	for (boneMap = bones ? bones->child : 0; boneMap; boneMap = boneMap->next)
 		timelinesCount += boneMap->size;
@@ -167,10 +167,10 @@ static spAnimation* _spSkeletonJson_readAnimation (spSkeletonJson* self, Json* r
 	timelinesCount += transform ? transform->size : 0;
 	for (constraintMap = paths ? paths->child : 0; constraintMap; constraintMap = constraintMap->next)
 		timelinesCount += constraintMap->size;
-	for (constraintMap = deform ? deform->child : 0; constraintMap; constraintMap = constraintMap->next)
+	for (constraintMap = deformJson ? deformJson->child : 0; constraintMap; constraintMap = constraintMap->next)
 		for (slotMap = constraintMap->child; slotMap; slotMap = slotMap->next)
 			timelinesCount += slotMap->size;
-	if (drawOrder) ++timelinesCount;
+	if (drawOrderJson) ++timelinesCount;
 	if (events) ++timelinesCount;
 
 	animation = spAnimation_create(root->name, timelinesCount);
@@ -381,7 +381,7 @@ static spAnimation* _spSkeletonJson_readAnimation (spSkeletonJson* self, Json* r
 	}
 
 	/* Deform timelines. */
-	for (constraintMap = deform ? deform->child : 0; constraintMap; constraintMap = constraintMap->next) {
+	for (constraintMap = deformJson ? deformJson->child : 0; constraintMap; constraintMap = constraintMap->next) {
 		spSkin* skin = spSkeletonData_findSkin(skeletonData, constraintMap->name);
 		for (slotMap = constraintMap->child; slotMap; slotMap = slotMap->next) {
 			int slotIndex = spSkeletonData_findSlotIndex(skeletonData, slotMap->name);
@@ -406,8 +406,8 @@ static spAnimation* _spSkeletonJson_readAnimation (spSkeletonJson* self, Json* r
 				timeline->attachment = SUPER(attachment);
 
 				for (valueMap = timelineMap->child, frameIndex = 0; valueMap; valueMap = valueMap->next, ++frameIndex) {
-					Json* vertices = Json_getItem(valueMap, "vertices");
 					float* deform;
+					Json* vertices = Json_getItem(valueMap, "vertices");
 					if (!vertices) {
 						if (weighted) {
 							deform = tempDeform;
@@ -428,9 +428,9 @@ static spAnimation* _spSkeletonJson_readAnimation (spSkeletonJson* self, Json* r
 						}
 						memset(deform + v, 0, sizeof(float) * (deformLength - v));
 						if (!weighted) {
-							float* vertices = attachment->vertices;
+							float* verticesValues = attachment->vertices;
 							for (v = 0; v < deformLength; ++v)
-								deform[v] += vertices[v];
+								deform[v] += verticesValues[v];
 						}
 					}
 					spDeformTimeline_setFrame(timeline, frameIndex, Json_getFloat(valueMap, "time", 0), deform);
@@ -445,9 +445,9 @@ static spAnimation* _spSkeletonJson_readAnimation (spSkeletonJson* self, Json* r
 	}
 
 	/* Draw order timeline. */
-	if (drawOrder) {
-		spDrawOrderTimeline* timeline = spDrawOrderTimeline_create(drawOrder->size, skeletonData->slotsCount);
-		for (valueMap = drawOrder->child, frameIndex = 0; valueMap; valueMap = valueMap->next, ++frameIndex) {
+	if (drawOrderJson) {
+		spDrawOrderTimeline* timeline = spDrawOrderTimeline_create(drawOrderJson->size, skeletonData->slotsCount);
+		for (valueMap = drawOrderJson->child, frameIndex = 0; valueMap; valueMap = valueMap->next, ++frameIndex) {
 			int ii;
 			int* drawOrder = 0;
 			Json* offsets = Json_getItem(valueMap, "offsets");
@@ -486,7 +486,7 @@ static spAnimation* _spSkeletonJson_readAnimation (spSkeletonJson* self, Json* r
 			FREE(drawOrder);
 		}
 		animation->timelines[animation->timelinesCount++] = SUPER_CAST(spTimeline, timeline);
-		animation->duration = MAX(animation->duration, timeline->frames[drawOrder->size - 1]);
+		animation->duration = MAX(animation->duration, timeline->frames[drawOrderJson->size - 1]);
 	}
 
 	/* Event timeline. */
@@ -586,7 +586,7 @@ spSkeletonData* spSkeletonJson_readSkeletonDataFile (spSkeletonJson* self, const
 spSkeletonData* spSkeletonJson_readSkeletonData (spSkeletonJson* self, const char* json) {
 	int i, ii;
 	spSkeletonData* skeletonData;
-	Json *root, *skeleton, *bones, *boneMap, *ik, *transform, *path, *slots, *skins, *animations, *events;
+	Json *root, *skeleton, *bones, *boneMap, *ik, *transform, *pathJson, *slots, *skins, *animations, *events;
 	_spSkeletonJson* internal = SUB_CAST(_spSkeletonJson, self);
 
 	FREE(self->error);
@@ -811,12 +811,12 @@ spSkeletonData* spSkeletonJson_readSkeletonData (spSkeletonJson* self, const cha
 	}
 
 	/* Path constraints */
-	path = Json_getItem(root, "path");
-	if (path) {
+	pathJson = Json_getItem(root, "path");
+	if (pathJson) {
 		Json *constraintMap;
-		skeletonData->pathConstraintsCount = path->size;
-		skeletonData->pathConstraints = MALLOC(spPathConstraintData*, path->size);
-		for (constraintMap = path->child, i = 0; constraintMap; constraintMap = constraintMap->next, ++i) {
+		skeletonData->pathConstraintsCount = pathJson->size;
+		skeletonData->pathConstraints = MALLOC(spPathConstraintData*, pathJson->size);
+		for (constraintMap = pathJson->child, i = 0; constraintMap; constraintMap = constraintMap->next, ++i) {
 			const char* name;
 			const char* item;
 
@@ -1070,19 +1070,19 @@ spSkeletonData* spSkeletonJson_readSkeletonData (spSkeletonJson* self, const cha
 						break;
 					}
 					case SP_ATTACHMENT_PATH: {
-						spPathAttachment* path = SUB_CAST(spPathAttachment, attachment);
+						spPathAttachment* pathAttachment = SUB_CAST(spPathAttachment, attachment);
 						int vertexCount = 0;
-						path->closed = Json_getInt(attachmentMap, "closed", 0);
-						path->constantSpeed = Json_getInt(attachmentMap, "constantSpeed", 1);
+						pathAttachment->closed = Json_getInt(attachmentMap, "closed", 0);
+						pathAttachment->constantSpeed = Json_getInt(attachmentMap, "constantSpeed", 1);
 						vertexCount = Json_getInt(attachmentMap, "vertexCount", 0);
-						_readVertices(self, attachmentMap, SUPER(path), vertexCount << 1);
+						_readVertices(self, attachmentMap, SUPER(pathAttachment), vertexCount << 1);
 
-						path->lengthsLength = vertexCount / 3;
-						path->lengths = MALLOC(float, path->lengthsLength);
+						pathAttachment->lengthsLength = vertexCount / 3;
+						pathAttachment->lengths = MALLOC(float, pathAttachment->lengthsLength);
 
 						curves = Json_getItem(attachmentMap, "lengths");
 						for (curves = curves->child, ii = 0; curves; curves = curves->next, ++ii) {
-							path->lengths[ii] = curves->valueFloat * self->scale;
+							pathAttachment->lengths[ii] = curves->valueFloat * self->scale;
 						}
 						break;
 					}

+ 2 - 1
spine-c/spine-c/src/spine/Triangulator.c

@@ -151,8 +151,9 @@ spShortArray* spTriangulator_triangulate(spTriangulator* self, spFloatArray* ver
 	spShortArray_ensureCapacity(triangles, MAX(0, vertexCount - 2) << 2);
 
 	while (vertexCount > 3) {
-		int previous = vertexCount - 1, i = 0, next = 1;
+		int previous = vertexCount - 1, next = 1;
 		int previousIndex, nextIndex;
+		i = 0;
 		while (1) {
 			if (!isConcave[i]) {
 				int p1 = indices[previous] << 1, p2 = indices[i] << 1, p3 = indices[next] << 1;

+ 1 - 0
spine-c/spine-c/src/spine/VertexEffect.c

@@ -92,6 +92,7 @@ void _spSwirlVertexEffect_transform(spVertexEffect* self, float* positionX, floa
 }
 
 void _spSwirlVertexEffect_end(spVertexEffect* self) {
+	UNUSED(self);
 }
 
 spSwirlVertexEffect* spSwirlVertexEffect_create(float radius) {

+ 0 - 1
spine-cpp/spine-cpp/include/spine/Debug.h

@@ -55,7 +55,6 @@ public:
 
 	void reportLeaks() {
 		for (std::map<void*, Allocation>::iterator it = _allocated.begin(); it != _allocated.end(); it++) {
-			void* addr = it->second.address;
 			printf("\"%s:%i (%zu bytes at %p)\n", it->second.fileName, it->second.line, it->second.size, it->second.address);
 		}
 		printf("allocations: %zu, reallocations: %zu, frees: %zu\n", _allocations, _reallocations, _frees);

+ 4 - 4
spine-cpp/spine-cpp/src/spine/IkConstraint.cpp

@@ -128,7 +128,7 @@ void IkConstraint::apply(Bone &parent, Bone &child, float targetX, float targetY
 	dx = (x * d - y * b) * id - px;
 	dy = (y * a - x * c) * id - py;
 	l1 = MathUtil::sqrt(dx * dx + dy * dy);
-	l2 = child._data.getLength() * csx, a1, a2;
+	l2 = child._data.getLength() * csx;
 	if (l1 < 0.0001) {
 		apply(parent, targetX, targetY, false, stretch, false, alpha);
 		child.updateWorldTransform(cx, cy, 0, child._ascaleX, child._ascaleY, child._ashearX, child._ashearY);
@@ -150,7 +150,7 @@ void IkConstraint::apply(Bone &parent, Bone &child, float targetX, float targetY
 		}
 	}
 	if (u) {
-		float cosine, a, b;
+		float cosine;
 		l2 *= psx;
 		cosine = (dd - l1 * l1 - l2 * l2) / (2 * l1 * l2);
 		if (cosine < -1) cosine = -1;
@@ -163,10 +163,10 @@ void IkConstraint::apply(Bone &parent, Bone &child, float targetX, float targetY
 		b = l2 * MathUtil::sin(a2);
 		a1 = MathUtil::atan2(ty * a - tx * b, tx * a + ty * b);
 	} else {
-		float a = psx * l2, b = psy * l2;
+		a = psx * l2, b = psy * l2;
 		float aa = a * a, bb = b * b, ll = l1 * l1, ta = MathUtil::atan2(ty, tx);
 		float c0 = bb * ll + aa * dd - aa * bb, c1 = -2 * bb * l1, c2 = bb - aa;
-		float d = c1 * c1 - 4 * c2 * c0;
+		d = c1 * c1 - 4 * c2 * c0;
 		if (d >= 0) {
 			float q = MathUtil::sqrt(d), r0, r1;
 			if (c1 < 0) q = -q;

+ 1 - 2
spine-cpp/spine-cpp/src/spine/SkeletonJson.cpp

@@ -687,8 +687,7 @@ SkeletonData *SkeletonJson::readSkeletonData(const char *json) {
 							int vertexCount = 0;
 							const char *end = Json::getString(attachmentMap, "end", 0);
 							if (end) {
-								SlotData *slot = skeletonData->findSlot(end);
-								clip->_endSlot = slot;
+								clip->_endSlot = skeletonData->findSlot(end);
 							}
 							vertexCount = Json::getInt(attachmentMap, "vertexCount", 0) << 1;
 							readVertices(attachmentMap, clip, vertexCount);

+ 4 - 4
spine-cpp/spine-cpp/src/spine/Skin.cpp

@@ -158,10 +158,10 @@ void Skin::attachAll(Skeleton &skeleton, Skin &oldSkin) {
 }
 
 void Skin::addSkin(Skin* other) {
-	for (int i = 0; i < other->getBones().size(); i++)
+	for (size_t i = 0; i < other->getBones().size(); i++)
 		if (!_bones.contains(other->getBones()[i])) _bones.add(other->getBones()[i]);
 
-	for (int i = 0; i < other->getConstraints().size(); i++)
+	for (size_t i = 0; i < other->getConstraints().size(); i++)
 		if (!_constraints.contains(other->getConstraints()[i])) _constraints.add(other->getConstraints()[i]);
 
 	AttachmentMap::Entries entries = other->getAttachments();
@@ -172,10 +172,10 @@ void Skin::addSkin(Skin* other) {
 }
 
 void Skin::copySkin(Skin* other) {
-	for (int i = 0; i < other->getBones().size(); i++)
+	for (size_t i = 0; i < other->getBones().size(); i++)
 		if (!_bones.contains(other->getBones()[i])) _bones.add(other->getBones()[i]);
 
-	for (int i = 0; i < other->getConstraints().size(); i++)
+	for (size_t i = 0; i < other->getConstraints().size(); i++)
 		if (!_constraints.contains(other->getConstraints()[i])) _constraints.add(other->getConstraints()[i]);
 
 	AttachmentMap::Entries entries = other->getAttachments();

+ 13 - 1
spine-sfml/c/example/main.cpp

@@ -40,6 +40,7 @@ using namespace spine;
 #include <stdlib.h>
 
 void callback (AnimationState* state, EventType type, TrackEntry* entry, Event* event) {
+	UNUSED(state);
 	const char* animationName = (entry && entry->animation) ? entry->animation->name : 0;
 
 	switch (type) {
@@ -107,6 +108,7 @@ void testcase (void func(SkeletonData* skeletonData, Atlas* atlas),
 }
 
 void spineboy (SkeletonData* skeletonData, Atlas* atlas) {
+	UNUSED(atlas);
 	SkeletonBounds* bounds = SkeletonBounds_create();
 
 	// Configure mixing.
@@ -164,6 +166,7 @@ void spineboy (SkeletonData* skeletonData, Atlas* atlas) {
 }
 
 void goblins (SkeletonData* skeletonData, Atlas* atlas) {
+	UNUSED(atlas);
 	SkeletonDrawable* drawable = new SkeletonDrawable(skeletonData);
 	drawable->timeScale = 1;
 	drawable->setUsePremultipliedAlpha(true);
@@ -199,6 +202,7 @@ void goblins (SkeletonData* skeletonData, Atlas* atlas) {
 }
 
 void raptor (SkeletonData* skeletonData, Atlas* atlas) {
+	UNUSED(atlas);
 	SkeletonDrawable* drawable = new SkeletonDrawable(skeletonData);
 	drawable->timeScale = 1;
 	drawable->setUsePremultipliedAlpha(true);
@@ -242,6 +246,7 @@ void raptor (SkeletonData* skeletonData, Atlas* atlas) {
 }
 
 void tank (SkeletonData* skeletonData, Atlas* atlas) {
+	UNUSED(atlas);
 	SkeletonDrawable* drawable = new SkeletonDrawable(skeletonData);
 	drawable->timeScale = 1;
 	drawable->setUsePremultipliedAlpha(true);
@@ -272,6 +277,7 @@ void tank (SkeletonData* skeletonData, Atlas* atlas) {
 }
 
 void vine (SkeletonData* skeletonData, Atlas* atlas) {
+	UNUSED(atlas);
 	SkeletonDrawable* drawable = new SkeletonDrawable(skeletonData);
 	drawable->timeScale = 1;
 	drawable->setUsePremultipliedAlpha(true);
@@ -303,6 +309,7 @@ void vine (SkeletonData* skeletonData, Atlas* atlas) {
 }
 
 void stretchyman (SkeletonData* skeletonData, Atlas* atlas) {
+	UNUSED(atlas);
 	SkeletonDrawable* drawable = new SkeletonDrawable(skeletonData);
 	drawable->timeScale = 1;
 	drawable->setUsePremultipliedAlpha(true);
@@ -334,6 +341,7 @@ void stretchyman (SkeletonData* skeletonData, Atlas* atlas) {
 }
 
 void coin (SkeletonData* skeletonData, Atlas* atlas) {
+	UNUSED(atlas);
 	SkeletonDrawable* drawable = new SkeletonDrawable(skeletonData);
 	drawable->timeScale = 1;
 	drawable->setUsePremultipliedAlpha(true);
@@ -349,7 +357,7 @@ void coin (SkeletonData* skeletonData, Atlas* atlas) {
 	window.setFramerateLimit(60);
 	sf::Event event;
 	sf::Clock deltaClock;
-	float swirlTime = 0;
+
 	while (window.isOpen()) {
 		while (window.pollEvent(event))
 			if (event.type == sf::Event::Closed) window.close();
@@ -366,6 +374,7 @@ void coin (SkeletonData* skeletonData, Atlas* atlas) {
 }
 
 void owl (SkeletonData* skeletonData, Atlas* atlas) {
+	UNUSED(atlas);
 	SkeletonDrawable* drawable = new SkeletonDrawable(skeletonData);
 	drawable->timeScale = 1;
 	drawable->setUsePremultipliedAlpha(true);
@@ -423,6 +432,7 @@ void owl (SkeletonData* skeletonData, Atlas* atlas) {
  * Used for debugging purposes during runtime development
  */
 void test (SkeletonData* skeletonData, Atlas* atlas) {
+	UNUSED(atlas);
 	spSkeleton* skeleton = Skeleton_create(skeletonData);
 	spAnimationStateData* animData = spAnimationStateData_create(skeletonData);
 	spAnimationState* animState = spAnimationState_create(animData);
@@ -447,6 +457,7 @@ void test (SkeletonData* skeletonData, Atlas* atlas) {
 }
 
 void testSkinsApi(SkeletonData* skeletonData, Atlas* atlas) {
+	UNUSED(atlas);
 	SkeletonDrawable* drawable = new SkeletonDrawable(skeletonData);
 	drawable->timeScale = 1;
 	drawable->setUsePremultipliedAlpha(true);
@@ -488,6 +499,7 @@ void testSkinsApi(SkeletonData* skeletonData, Atlas* atlas) {
 }
 
 void testMixAndMatch(SkeletonData* skeletonData, Atlas* atlas) {
+	UNUSED(atlas);
 	SkeletonDrawable* drawable = new SkeletonDrawable(skeletonData);
 	drawable->timeScale = 1;
 	drawable->setUsePremultipliedAlpha(true);

+ 6 - 6
spine-sfml/c/src/spine/spine-sfml.cpp

@@ -256,11 +256,11 @@ void SkeletonDrawable::draw (RenderTarget& target, RenderStates states) const {
 		if (vertexEffect != 0) {
 			spFloatArray_clear(tempUvs);
 			spColorArray_clear(tempColors);
-			for (int i = 0; i < verticesCount; i++) {
+			for (int j = 0; j < verticesCount; j++) {
 				spColor vertexColor = light;
 				spColor dark;
 				dark.r = dark.g = dark.b = dark.a = 0;
-				int index = i << 1;
+				int index = j << 1;
 				float x = vertices[index];
 				float y = vertices[index + 1];
 				float u = uvs[index];
@@ -273,8 +273,8 @@ void SkeletonDrawable::draw (RenderTarget& target, RenderStates states) const {
 				spColorArray_add(tempColors, vertexColor);
 			}
 
-			for (int i = 0; i < indicesCount; ++i) {
-				int index = indices[i] << 1;
+			for (int j = 0; j < indicesCount; ++j) {
+				int index = indices[j] << 1;
 				vertex.position.x = vertices[index];
 				vertex.position.y = vertices[index + 1];
 				vertex.texCoords.x = uvs[index] * size.x;
@@ -287,8 +287,8 @@ void SkeletonDrawable::draw (RenderTarget& target, RenderStates states) const {
 				vertexArray->append(vertex);
 			}
 		} else {
-			for (int i = 0; i < indicesCount; ++i) {
-				int index = indices[i] << 1;
+			for (int j = 0; j < indicesCount; ++j) {
+				int index = indices[j] << 1;
 				vertex.position.x = vertices[index];
 				vertex.position.y = vertices[index + 1];
 				vertex.texCoords.x = uvs[index] * size.x;

+ 24 - 1
spine-sfml/cpp/example/main.cpp

@@ -42,6 +42,7 @@ unique_ptr<T> make_unique(Args&&... args) {
 }
 
 void callback (AnimationState* state, EventType type, TrackEntry* entry, Event* event) {
+	SP_UNUSED(state);
 	const String& animationName = (entry && entry->getAnimation()) ? entry->getAnimation()->getName() : String("");
 
 	switch (type) {
@@ -104,6 +105,8 @@ void testcase (void func(SkeletonData* skeletonData, Atlas* atlas),
 }
 
 void spineboy (SkeletonData* skeletonData, Atlas* atlas) {
+	SP_UNUSED(atlas);
+
 	SkeletonBounds bounds;
 
 	// Configure mixing.
@@ -158,6 +161,8 @@ void spineboy (SkeletonData* skeletonData, Atlas* atlas) {
 }
 
 void goblins (SkeletonData* skeletonData, Atlas* atlas) {
+	SP_UNUSED(atlas);
+
 	SkeletonDrawable drawable(skeletonData);
 	drawable.timeScale = 1;
 	drawable.setUsePremultipliedAlpha(true);
@@ -197,6 +202,8 @@ void goblins (SkeletonData* skeletonData, Atlas* atlas) {
 }
 
 void raptor (SkeletonData* skeletonData, Atlas* atlas) {
+	SP_UNUSED(atlas);
+
 	SkeletonDrawable drawable(skeletonData);
 	drawable.timeScale = 1;
 	drawable.setUsePremultipliedAlpha(true);
@@ -240,6 +247,8 @@ void raptor (SkeletonData* skeletonData, Atlas* atlas) {
 }
 
 void tank (SkeletonData* skeletonData, Atlas* atlas) {
+	SP_UNUSED(atlas);
+
 	SkeletonDrawable drawable(skeletonData);
 	drawable.timeScale = 1;
 	drawable.setUsePremultipliedAlpha(true);
@@ -269,6 +278,8 @@ void tank (SkeletonData* skeletonData, Atlas* atlas) {
 }
 
 void vine (SkeletonData* skeletonData, Atlas* atlas) {
+	SP_UNUSED(atlas);
+
 	SkeletonDrawable drawable(skeletonData);
 	drawable.timeScale = 1;
 	drawable.setUsePremultipliedAlpha(true);
@@ -299,6 +310,8 @@ void vine (SkeletonData* skeletonData, Atlas* atlas) {
 }
 
 void stretchyman (SkeletonData* skeletonData, Atlas* atlas) {
+	SP_UNUSED(atlas);
+
 	SkeletonDrawable drawable(skeletonData);
 	drawable.timeScale = 1;
 	drawable.setUsePremultipliedAlpha(true);
@@ -330,6 +343,8 @@ void stretchyman (SkeletonData* skeletonData, Atlas* atlas) {
 }
 
 void stretchymanStrechyIk (SkeletonData* skeletonData, Atlas* atlas) {
+	SP_UNUSED(atlas);
+
 	SkeletonDrawable* drawable = new SkeletonDrawable(skeletonData);
 	drawable->timeScale = 1;
 	drawable->setUsePremultipliedAlpha(true);
@@ -363,6 +378,8 @@ void stretchymanStrechyIk (SkeletonData* skeletonData, Atlas* atlas) {
 }
 
 void coin (SkeletonData* skeletonData, Atlas* atlas) {
+	SP_UNUSED(atlas);
+
 	SkeletonDrawable drawable(skeletonData);
 	drawable.timeScale = 1;
 	drawable.setUsePremultipliedAlpha(true);
@@ -377,7 +394,7 @@ void coin (SkeletonData* skeletonData, Atlas* atlas) {
 	window.setFramerateLimit(60);
 	sf::Event event;
 	sf::Clock deltaClock;
-	float swirlTime = 0;
+
 	while (window.isOpen()) {
 		while (window.pollEvent(event)) {
 			if (event.type == sf::Event::Closed) window.close();
@@ -395,6 +412,8 @@ void coin (SkeletonData* skeletonData, Atlas* atlas) {
 }
 
 void owl (SkeletonData* skeletonData, Atlas* atlas) {
+	SP_UNUSED(atlas);
+
 	SkeletonDrawable drawable(skeletonData);
 	drawable.timeScale = 1;
 	drawable.setUsePremultipliedAlpha(true);
@@ -451,6 +470,8 @@ void owl (SkeletonData* skeletonData, Atlas* atlas) {
 }
 
 void mixAndMatch (SkeletonData* skeletonData, Atlas* atlas) {
+	SP_UNUSED(atlas);
+
 	SkeletonDrawable drawable(skeletonData);
 	drawable.timeScale = 1;
 	drawable.setUsePremultipliedAlpha(true);
@@ -499,6 +520,8 @@ void mixAndMatch (SkeletonData* skeletonData, Atlas* atlas) {
  * Used for debugging purposes during runtime development
  */
 void test (SkeletonData* skeletonData, Atlas* atlas) {
+	SP_UNUSED(atlas);
+
 	Skeleton skeleton(skeletonData);
 	AnimationStateData animationStateData(skeletonData);
 	AnimationState animationState(&animationStateData);