mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-02-12 10:08:44 +08:00
[cpp] 4.3 porting WIP
This commit is contained in:
parent
0c8ad6e0a7
commit
0f7253882a
@ -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(); }
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@ -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; };
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
|
||||
@ -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];
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user