[cpp] 4.3 porting WIP

This commit is contained in:
Mario Zechner 2025-06-24 15:11:34 +02:00
parent 0c8ad6e0a7
commit 0f7253882a
4 changed files with 8 additions and 10 deletions

View File

@ -52,7 +52,7 @@ namespace spine {
virtual const String &getName() const = 0;
virtual const bool &isSkinRequired() const = 0;
virtual bool isSkinRequired() const = 0;
};
/// Base class for all constraint data types.
@ -66,7 +66,7 @@ namespace spine {
// Resolve ambiguity by forwarding to PosedData's implementation
virtual const String &getName() const override { return PosedDataGeneric<P>::getName(); }
virtual const bool &isSkinRequired() const override { return PosedDataGeneric<P>::isSkinRequired(); }
virtual bool isSkinRequired() const override { return PosedDataGeneric<P>::isSkinRequired(); }
};
}

View File

@ -66,13 +66,13 @@ namespace spine {
virtual ~PosedData();
/// The constraint's name, which is unique across all constraints in the skeleton of the same type.
const spine::String& getName() { return _name; };
const spine::String& getName() const { return _name; };
/// When true, Skeleton::updateWorldTransform(Physics) only updates this constraint if the Skeleton::getSkin()
/// contains this constraint.
///
/// See Skin::getConstraints().
bool isSkinRequired() { return _skinRequired; };
bool isSkinRequired() const { return _skinRequired; };
void setSkinRequired(bool skinRequired) { _skinRequired = skinRequired; };
protected:
@ -120,6 +120,7 @@ namespace spine {
virtual ~PosedDataGeneric() {};
P& getSetupPose() { return _setup; };
const P& getSetupPose() const { return _setup; };
};
}

View File

@ -81,10 +81,7 @@ Skeleton::Skeleton(SkeletonData &skeletonData) : _data(skeletonData), _skin(NULL
_drawOrder.ensureCapacity(_data.getSlots().size());
for (size_t i = 0; i < _data.getSlots().size(); ++i) {
SlotData *data = _data.getSlots()[i];
Bone *bone = _bones[data->getBoneData().getIndex()];
Slot *slot = new (__FILE__, __LINE__) Slot(*data, *this);
_slots.add(slot);
_drawOrder.add(slot);
}
@ -147,7 +144,7 @@ void Skeleton::updateCache() {
for (size_t i = 0; i < n; i++) {
Constraint *constraint = constraints[i];
constraint->_active = constraint->isSourceActive() &&
(!constraint->getData().isSkinRequired()) || (_skin && _skin->_constraints.contains(&constraint->getData()));
((!constraint->getData().isSkinRequired()) || (_skin && _skin->_constraints.contains(&constraint->getData())));
if (constraint->_active) constraint->sort(*this);
}

View File

@ -101,7 +101,7 @@ bool SkeletonClipping::clipTriangles(float *vertices, unsigned short *triangles,
int stride = 2;
for (int i = 0; i < trianglesLength; i += 3) {
for (size_t i = 0; i < trianglesLength; i += 3) {
int vertexOffset = triangles[i] * stride;
float x1 = vertices[vertexOffset], y1 = vertices[vertexOffset + 1];
@ -178,7 +178,7 @@ bool SkeletonClipping::clipTriangles(float *vertices, unsigned short *triangles,
clippedTriangles.clear();
bool clipped = false;
for (int i = 0; i < trianglesLength; i += 3) {
for (size_t i = 0; i < trianglesLength; i += 3) {
int vertexOffset = triangles[i] * (int) stride;
float x1 = vertices[vertexOffset], y1 = vertices[vertexOffset + 1];
float u1 = uvs[vertexOffset], v1 = uvs[vertexOffset + 1];