diff --git a/spine-cpp/src/spine/BaseAtlas.cpp b/spine-cpp/src/spine/BaseAtlas.cpp index c34987f87..2d25a9b80 100644 --- a/spine-cpp/src/spine/BaseAtlas.cpp +++ b/spine-cpp/src/spine/BaseAtlas.cpp @@ -1,6 +1,7 @@ #include #include #include +#include #include #include #include @@ -168,8 +169,8 @@ void BaseAtlas::load (const char *current, const char *end) { region->originalHeight = atoi(tuple[1].c_str()); readTuple(current, end, value, tuple); - region->offsetX = atoi(tuple[0].c_str()); - region->offsetY = atoi(tuple[1].c_str()); + region->offsetX = (float)atoi(tuple[0].c_str()); + region->offsetY = (float)atoi(tuple[1].c_str()); region->index = atoi(readValue(current, end, value).c_str()); } diff --git a/spine-cpp/src/spine/BaseRegionAttachment.cpp b/spine-cpp/src/spine/BaseRegionAttachment.cpp index 6da81d937..6b846e939 100644 --- a/spine-cpp/src/spine/BaseRegionAttachment.cpp +++ b/spine-cpp/src/spine/BaseRegionAttachment.cpp @@ -1,6 +1,10 @@ #include #include +#ifndef M_PI // fix for windows removing precious information +#define M_PI 3.14159265358979323846 +#endif + namespace spine { BaseRegionAttachment::BaseRegionAttachment () : @@ -22,7 +26,7 @@ void BaseRegionAttachment::updateOffset () { localY *= scaleY; localX2 *= scaleX; localY2 *= scaleY; - float radians = rotation * M_PI / 180; + float radians = (float)(rotation * M_PI / 180); float cos = cosf(radians); float sin = sinf(radians); float localXCos = localX * cos + x; diff --git a/spine-cpp/src/spine/BaseSkeleton.cpp b/spine-cpp/src/spine/BaseSkeleton.cpp index f87b3ac10..be0a6be97 100644 --- a/spine-cpp/src/spine/BaseSkeleton.cpp +++ b/spine-cpp/src/spine/BaseSkeleton.cpp @@ -91,25 +91,25 @@ Bone* BaseSkeleton::getRootBone () const { } Bone* BaseSkeleton::findBone (const string &boneName) const { - for (int i = 0; i < bones.size(); i++) + for (unsigned int i = 0; i < bones.size(); i++) if (data->bones[i]->name == boneName) return bones[i]; return 0; } int BaseSkeleton::findBoneIndex (const string &boneName) const { - for (int i = 0; i < bones.size(); i++) + for (unsigned int i = 0; i < bones.size(); i++) if (data->bones[i]->name == boneName) return i; return -1; } Slot* BaseSkeleton::findSlot (const string &slotName) const { - for (int i = 0; i < slots.size(); i++) + for (unsigned int i = 0; i < slots.size(); i++) if (data->slots[i]->name == slotName) return slots[i]; return 0; } int BaseSkeleton::findSlotIndex (const string &slotName) const { - for (int i = 0; i < slots.size(); i++) + for (unsigned int i = 0; i < slots.size(); i++) if (data->slots[i]->name == slotName) return i; return -1; } diff --git a/spine-cpp/src/spine/BaseSkeletonJson.cpp b/spine-cpp/src/spine/BaseSkeletonJson.cpp index 49ae223b1..fa42ce0a0 100644 --- a/spine-cpp/src/spine/BaseSkeletonJson.cpp +++ b/spine-cpp/src/spine/BaseSkeletonJson.cpp @@ -75,7 +75,7 @@ SkeletonData* BaseSkeletonJson::readSkeletonData (const char *begin, const char Json::Value bones = root["bones"]; skeletonData->bones.reserve(bones.size()); - for (int i = 0; i < bones.size(); ++i) { + for (unsigned int i = 0; i < bones.size(); ++i) { Json::Value boneMap = bones[i]; string boneName = boneMap["name"].asString(); @@ -85,12 +85,12 @@ SkeletonData* BaseSkeletonJson::readSkeletonData (const char *begin, const char if (!boneData->parent) throw runtime_error("Parent bone not found: " + boneName); } - boneData->length = boneMap.get("length", 0).asDouble() * scale; - boneData->x = boneMap.get("x", 0).asDouble() * scale; - boneData->y = boneMap.get("y", 0).asDouble() * scale; - boneData->rotation = boneMap.get("rotation", 0).asDouble(); - boneData->scaleX = boneMap.get("scaleX", 1).asDouble(); - boneData->scaleY = boneMap.get("scaleY", 1).asDouble(); + boneData->length = (float)(boneMap.get("length", 0).asDouble() * scale); + boneData->x = (float)(boneMap.get("x", 0).asDouble() * scale); + boneData->y = (float)(boneMap.get("y", 0).asDouble() * scale); + boneData->rotation = (float)(boneMap.get("rotation", 0).asDouble()); + boneData->scaleX = (float)(boneMap.get("scaleX", 1).asDouble()); + boneData->scaleY = (float)(boneMap.get("scaleY", 1).asDouble()); boneData->flipY = flipY; skeletonData->bones.push_back(boneData); @@ -99,7 +99,7 @@ SkeletonData* BaseSkeletonJson::readSkeletonData (const char *begin, const char Json::Value slots = root["slots"]; if (!slots.isNull()) { skeletonData->slots.reserve(slots.size()); - for (int i = 0; i < slots.size(); ++i) { + for (unsigned int i = 0; i < slots.size(); ++i) { Json::Value slotMap = slots[i]; string slotName = slotMap["name"].asString(); @@ -127,7 +127,7 @@ SkeletonData* BaseSkeletonJson::readSkeletonData (const char *begin, const char Json::Value skinsMap = root["skins"]; vector skinNames = skinsMap.getMemberNames(); skeletonData->skins.reserve(skinNames.size()); - for (int i = 0; i < skinNames.size(); i++) { + for (unsigned int i = 0; i < skinNames.size(); i++) { string skinName = skinNames[i]; Skin *skin = new Skin(skinName); skeletonData->skins.push_back(skin); @@ -135,13 +135,13 @@ SkeletonData* BaseSkeletonJson::readSkeletonData (const char *begin, const char Json::Value slotMap = skinsMap[skinName]; vector slotNames = slotMap.getMemberNames(); - for (int i = 0; i < slotNames.size(); i++) { + for (unsigned int i = 0; i < slotNames.size(); i++) { string slotName = slotNames[i]; int slotIndex = skeletonData->findSlotIndex(slotName); Json::Value attachmentsMap = slotMap[slotName]; vector attachmentNames = attachmentsMap.getMemberNames(); - for (int i = 0; i < attachmentNames.size(); i++) { + for (unsigned int i = 0; i < attachmentNames.size(); i++) { string attachmentName = attachmentNames[i]; Json::Value attachmentMap = attachmentsMap[attachmentName]; @@ -159,13 +159,13 @@ SkeletonData* BaseSkeletonJson::readSkeletonData (const char *begin, const char if (type == region || type == regionSequence) { BaseRegionAttachment *regionAttachment = reinterpret_cast(attachment); - regionAttachment->x = attachmentMap.get("x", 0).asDouble() * scale; - regionAttachment->y = attachmentMap.get("y", 0).asDouble() * scale; - regionAttachment->scaleX = attachmentMap.get("scaleX", 1).asDouble(); - regionAttachment->scaleY = attachmentMap.get("scaleY", 1).asDouble(); - regionAttachment->rotation = attachmentMap.get("rotation", 0).asDouble(); - regionAttachment->width = attachmentMap.get("width", 32).asDouble() * scale; - regionAttachment->height = attachmentMap.get("height", 32).asDouble() * scale; + regionAttachment->x = (float)(attachmentMap.get("x", 0).asDouble() * scale); + regionAttachment->y = (float)(attachmentMap.get("y", 0).asDouble() * scale); + regionAttachment->scaleX = (float)(attachmentMap.get("scaleX", 1).asDouble()); + regionAttachment->scaleY = (float)(attachmentMap.get("scaleY", 1).asDouble()); + regionAttachment->rotation = (float)(attachmentMap.get("rotation", 0).asDouble()); + regionAttachment->width = (float)(attachmentMap.get("width", 32).asDouble() * scale); + regionAttachment->height = (float)(attachmentMap.get("height", 32).asDouble() * scale); } skin->addAttachment(slotIndex, attachmentName, attachment); @@ -204,7 +204,7 @@ static void readCurve (CurveTimeline *timeline, int keyframeIndex, const Json::V if (curve.isString() && curve.asString() == "stepped") timeline->setStepped(keyframeIndex); else if (curve.isArray()) - timeline->setCurve(keyframeIndex, curve[0u].asDouble(), curve[1u].asDouble(), curve[2u].asDouble(), curve[3u].asDouble()); + timeline->setCurve(keyframeIndex, (float)curve[0u].asDouble(), (float)curve[1u].asDouble(), (float)curve[2u].asDouble(), (float)curve[3u].asDouble()); } Animation* BaseSkeletonJson::readAnimation (const char *begin, const char *end, const SkeletonData *skeletonData) const { @@ -228,14 +228,14 @@ Animation* BaseSkeletonJson::readAnimation (const char *begin, const char *end, Json::Value bones = root["bones"]; vector boneNames = bones.getMemberNames(); - for (int i = 0; i < boneNames.size(); i++) { + for (unsigned int i = 0; i < boneNames.size(); i++) { string boneName = boneNames[i]; int boneIndex = skeletonData->findBoneIndex(boneName); if (boneIndex == -1) throw runtime_error("Bone not found: " + boneName); Json::Value timelineMap = bones[boneName]; vector timelineNames = timelineMap.getMemberNames(); - for (int i = 0; i < timelineNames.size(); i++) { + for (unsigned int i = 0; i < timelineNames.size(); i++) { string timelineName = timelineNames[i]; Json::Value values = timelineMap[timelineName]; @@ -244,11 +244,11 @@ Animation* BaseSkeletonJson::readAnimation (const char *begin, const char *end, timeline->boneIndex = boneIndex; int keyframeIndex = 0; - for (int i = 0; i < values.size(); i++) { + for (unsigned int i = 0; i < values.size(); i++) { Json::Value valueMap = values[i]; - float time = valueMap["time"].asDouble(); - timeline->setKeyframe(keyframeIndex, time, valueMap["angle"].asDouble()); + float time = (float)valueMap["time"].asDouble(); + timeline->setKeyframe(keyframeIndex, time, (float)valueMap["angle"].asDouble()); readCurve(timeline, keyframeIndex, valueMap); keyframeIndex++; } @@ -267,14 +267,14 @@ Animation* BaseSkeletonJson::readAnimation (const char *begin, const char *end, timeline->boneIndex = boneIndex; int keyframeIndex = 0; - for (int i = 0; i < values.size(); i++) { + for (unsigned int i = 0; i < values.size(); i++) { Json::Value valueMap = values[i]; - float time = valueMap["time"].asDouble(); + float time = (float)valueMap["time"].asDouble(); timeline->setKeyframe(keyframeIndex, // - valueMap["time"].asDouble(), // - valueMap.get("x", 0).asDouble() * timelineScale, // - valueMap.get("y", 0).asDouble() * timelineScale); + (float)valueMap["time"].asDouble(), // + (float)valueMap.get("x", 0).asDouble() * timelineScale, // + (float)valueMap.get("y", 0).asDouble() * timelineScale); readCurve(timeline, keyframeIndex, valueMap); keyframeIndex++; } @@ -290,14 +290,14 @@ Animation* BaseSkeletonJson::readAnimation (const char *begin, const char *end, Json::Value slots = root["slots"]; if (!slots.isNull()) { vector slotNames = slots.getMemberNames(); - for (int i = 0; i < slotNames.size(); i++) { + for (unsigned int i = 0; i < slotNames.size(); i++) { string slotName = slotNames[i]; int slotIndex = skeletonData->findSlotIndex(slotName); if (slotIndex == -1) throw runtime_error("Slot not found: " + slotName); Json::Value timelineMap = slots[slotName]; vector timelineNames = timelineMap.getMemberNames(); - for (int i = 0; i < timelineNames.size(); i++) { + for (unsigned int i = 0; i < timelineNames.size(); i++) { string timelineName = timelineNames[i]; Json::Value values = timelineMap[timelineName]; @@ -306,11 +306,11 @@ Animation* BaseSkeletonJson::readAnimation (const char *begin, const char *end, timeline->slotIndex = slotIndex; int keyframeIndex = 0; - for (int i = 0; i < values.size(); i++) { + for (unsigned int i = 0; i < values.size(); i++) { Json::Value valueMap = values[i]; string s = valueMap["color"].asString(); - timeline->setKeyframe(keyframeIndex, valueMap["time"].asDouble(), // + timeline->setKeyframe(keyframeIndex, (float)valueMap["time"].asDouble(), // toColor(s, 0), toColor(s, 1), toColor(s, 2), toColor(s, 3)); readCurve(timeline, keyframeIndex, valueMap); keyframeIndex++; @@ -323,11 +323,11 @@ Animation* BaseSkeletonJson::readAnimation (const char *begin, const char *end, timeline->slotIndex = slotIndex; int keyframeIndex = 0; - for (int i = 0; i < values.size(); i++) { + for (unsigned int i = 0; i < values.size(); i++) { Json::Value valueMap = values[i]; Json::Value name = valueMap["name"]; - timeline->setKeyframe(keyframeIndex++, valueMap["time"].asDouble(), name.isNull() ? "" : name.asString()); + timeline->setKeyframe(keyframeIndex++, (float)valueMap["time"].asDouble(), name.isNull() ? "" : name.asString()); } timelines.push_back(timeline); if (timeline->getDuration() > duration) duration = timeline->getDuration(); diff --git a/spine-cpp/src/spine/Bone.cpp b/spine-cpp/src/spine/Bone.cpp index 143b1701d..26350fffa 100644 --- a/spine-cpp/src/spine/Bone.cpp +++ b/spine-cpp/src/spine/Bone.cpp @@ -3,6 +3,11 @@ #include #include + +#ifndef M_PI // fix for windows removing precious information +#define M_PI 3.14159265358979323846 +#endif + namespace spine { Bone::Bone (BoneData *data) : @@ -38,7 +43,7 @@ void Bone::updateWorldTransform (bool flipX, bool flipY) { worldScaleY = scaleY; worldRotation = rotation; } - float radians = worldRotation * M_PI / 180; + float radians = (float)(worldRotation * M_PI / 180); float cos = cosf(radians); float sin = sinf(radians); m00 = cos * worldScaleX; diff --git a/spine-cpp/src/spine/SkeletonData.cpp b/spine-cpp/src/spine/SkeletonData.cpp index d47cbc834..39eb3fa03 100644 --- a/spine-cpp/src/spine/SkeletonData.cpp +++ b/spine-cpp/src/spine/SkeletonData.cpp @@ -21,31 +21,31 @@ SkeletonData::~SkeletonData () { } BoneData* SkeletonData::findBone (const string &boneName) const { - for (int i = 0; i < bones.size(); i++) + for (unsigned int i = 0; i < bones.size(); i++) if (bones[i]->name == boneName) return bones[i]; return 0; } int SkeletonData::findBoneIndex (const string &boneName) const { - for (int i = 0; i < bones.size(); i++) + for (unsigned int i = 0; i < bones.size(); i++) if (bones[i]->name == boneName) return i; return -1; } SlotData* SkeletonData::findSlot (const string &slotName) const { - for (int i = 0; i < slots.size(); i++) + for (unsigned int i = 0; i < slots.size(); i++) if (slots[i]->name == slotName) return slots[i]; return 0; } int SkeletonData::findSlotIndex (const string &slotName) const { - for (int i = 0; i < slots.size(); i++) + for (unsigned int i = 0; i < slots.size(); i++) if (slots[i]->name == slotName) return i; return -1; } Skin* SkeletonData::findSkin (const string &skinName) { - for (int i = 0; i < skins.size(); i++) + for (unsigned int i = 0; i < skins.size(); i++) if (skins[i]->name == skinName) return skins[i]; return 0; }