@esotericsoftware/spine-canvas 4.2.28 → 4.2.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -3271,7 +3271,7 @@ var spine = (() => {
|
|
|
3271
3271
|
}
|
|
3272
3272
|
};
|
|
3273
3273
|
var PhysicsConstraintInertiaTimeline = class extends PhysicsConstraintTimeline {
|
|
3274
|
-
constructor(frameCount, bezierCount, physicsConstraintIndex
|
|
3274
|
+
constructor(frameCount, bezierCount, physicsConstraintIndex) {
|
|
3275
3275
|
super(frameCount, bezierCount, physicsConstraintIndex, Property.physicsConstraintInertia);
|
|
3276
3276
|
}
|
|
3277
3277
|
setup(constraint) {
|
|
@@ -3288,7 +3288,7 @@ var spine = (() => {
|
|
|
3288
3288
|
}
|
|
3289
3289
|
};
|
|
3290
3290
|
var PhysicsConstraintStrengthTimeline = class extends PhysicsConstraintTimeline {
|
|
3291
|
-
constructor(frameCount, bezierCount, physicsConstraintIndex
|
|
3291
|
+
constructor(frameCount, bezierCount, physicsConstraintIndex) {
|
|
3292
3292
|
super(frameCount, bezierCount, physicsConstraintIndex, Property.physicsConstraintStrength);
|
|
3293
3293
|
}
|
|
3294
3294
|
setup(constraint) {
|
|
@@ -3305,7 +3305,7 @@ var spine = (() => {
|
|
|
3305
3305
|
}
|
|
3306
3306
|
};
|
|
3307
3307
|
var PhysicsConstraintDampingTimeline = class extends PhysicsConstraintTimeline {
|
|
3308
|
-
constructor(frameCount, bezierCount, physicsConstraintIndex
|
|
3308
|
+
constructor(frameCount, bezierCount, physicsConstraintIndex) {
|
|
3309
3309
|
super(frameCount, bezierCount, physicsConstraintIndex, Property.physicsConstraintDamping);
|
|
3310
3310
|
}
|
|
3311
3311
|
setup(constraint) {
|
|
@@ -3322,7 +3322,7 @@ var spine = (() => {
|
|
|
3322
3322
|
}
|
|
3323
3323
|
};
|
|
3324
3324
|
var PhysicsConstraintMassTimeline = class extends PhysicsConstraintTimeline {
|
|
3325
|
-
constructor(frameCount, bezierCount, physicsConstraintIndex
|
|
3325
|
+
constructor(frameCount, bezierCount, physicsConstraintIndex) {
|
|
3326
3326
|
super(frameCount, bezierCount, physicsConstraintIndex, Property.physicsConstraintMass);
|
|
3327
3327
|
}
|
|
3328
3328
|
setup(constraint) {
|
|
@@ -3339,7 +3339,7 @@ var spine = (() => {
|
|
|
3339
3339
|
}
|
|
3340
3340
|
};
|
|
3341
3341
|
var PhysicsConstraintWindTimeline = class extends PhysicsConstraintTimeline {
|
|
3342
|
-
constructor(frameCount, bezierCount, physicsConstraintIndex
|
|
3342
|
+
constructor(frameCount, bezierCount, physicsConstraintIndex) {
|
|
3343
3343
|
super(frameCount, bezierCount, physicsConstraintIndex, Property.physicsConstraintWind);
|
|
3344
3344
|
}
|
|
3345
3345
|
setup(constraint) {
|
|
@@ -3356,7 +3356,7 @@ var spine = (() => {
|
|
|
3356
3356
|
}
|
|
3357
3357
|
};
|
|
3358
3358
|
var PhysicsConstraintGravityTimeline = class extends PhysicsConstraintTimeline {
|
|
3359
|
-
constructor(frameCount, bezierCount, physicsConstraintIndex
|
|
3359
|
+
constructor(frameCount, bezierCount, physicsConstraintIndex) {
|
|
3360
3360
|
super(frameCount, bezierCount, physicsConstraintIndex, Property.physicsConstraintGravity);
|
|
3361
3361
|
}
|
|
3362
3362
|
setup(constraint) {
|
|
@@ -3373,7 +3373,7 @@ var spine = (() => {
|
|
|
3373
3373
|
}
|
|
3374
3374
|
};
|
|
3375
3375
|
var PhysicsConstraintMixTimeline = class extends PhysicsConstraintTimeline {
|
|
3376
|
-
constructor(frameCount, bezierCount, physicsConstraintIndex
|
|
3376
|
+
constructor(frameCount, bezierCount, physicsConstraintIndex) {
|
|
3377
3377
|
super(frameCount, bezierCount, physicsConstraintIndex, Property.physicsConstraintMix);
|
|
3378
3378
|
}
|
|
3379
3379
|
setup(constraint) {
|
|
@@ -6194,8 +6194,8 @@ var spine = (() => {
|
|
|
6194
6194
|
let rotationIK = -bone.ashearX - bone.arotation, tx = 0, ty = 0;
|
|
6195
6195
|
switch (bone.data.transformMode) {
|
|
6196
6196
|
case 1 /* OnlyTranslation */:
|
|
6197
|
-
tx = targetX - bone.worldX;
|
|
6198
|
-
ty = targetY - bone.worldY;
|
|
6197
|
+
tx = (targetX - bone.worldX) * MathUtils.signum(bone.skeleton.scaleX);
|
|
6198
|
+
ty = (targetY - bone.worldY) * MathUtils.signum(bone.skeleton.scaleY);
|
|
6199
6199
|
break;
|
|
6200
6200
|
case 2 /* NoRotationOrReflection */:
|
|
6201
6201
|
let s = Math.abs(pa * pd - pb * pc) / Math.max(1e-4, pa * pa + pc * pc);
|
|
@@ -7721,7 +7721,7 @@ var spine = (() => {
|
|
|
7721
7721
|
}
|
|
7722
7722
|
sortPhysicsConstraint(constraint) {
|
|
7723
7723
|
const bone = constraint.bone;
|
|
7724
|
-
constraint.active = bone.active && !constraint.data.skinRequired || this.skin != null && Utils.contains(this.skin.constraints, constraint.data, true);
|
|
7724
|
+
constraint.active = bone.active && (!constraint.data.skinRequired || this.skin != null && Utils.contains(this.skin.constraints, constraint.data, true));
|
|
7725
7725
|
if (!constraint.active)
|
|
7726
7726
|
return;
|
|
7727
7727
|
this.sortBone(bone);
|
|
@@ -8039,6 +8039,45 @@ var spine = (() => {
|
|
|
8039
8039
|
return Physics2;
|
|
8040
8040
|
})(Physics || {});
|
|
8041
8041
|
|
|
8042
|
+
// spine-core/src/PhysicsConstraintData.ts
|
|
8043
|
+
var PhysicsConstraintData = class extends ConstraintData {
|
|
8044
|
+
_bone = null;
|
|
8045
|
+
/** The bone constrained by this physics constraint. */
|
|
8046
|
+
set bone(boneData) {
|
|
8047
|
+
this._bone = boneData;
|
|
8048
|
+
}
|
|
8049
|
+
get bone() {
|
|
8050
|
+
if (!this._bone)
|
|
8051
|
+
throw new Error("BoneData not set.");
|
|
8052
|
+
else
|
|
8053
|
+
return this._bone;
|
|
8054
|
+
}
|
|
8055
|
+
x = 0;
|
|
8056
|
+
y = 0;
|
|
8057
|
+
rotate = 0;
|
|
8058
|
+
scaleX = 1;
|
|
8059
|
+
shearX = 1;
|
|
8060
|
+
step = 0;
|
|
8061
|
+
inertia = 0;
|
|
8062
|
+
strength = 0;
|
|
8063
|
+
damping = 0;
|
|
8064
|
+
massInverse = 0;
|
|
8065
|
+
wind = 0;
|
|
8066
|
+
gravity = 0;
|
|
8067
|
+
/** A percentage (0-1) that controls the mix between the constrained and unconstrained poses. */
|
|
8068
|
+
mix = 0;
|
|
8069
|
+
inertiaGlobal = false;
|
|
8070
|
+
strengthGlobal = false;
|
|
8071
|
+
dampingGlobal = false;
|
|
8072
|
+
massGlobal = false;
|
|
8073
|
+
windGlobal = false;
|
|
8074
|
+
gravityGlobal = false;
|
|
8075
|
+
mixGlobal = false;
|
|
8076
|
+
constructor(name) {
|
|
8077
|
+
super(name, 0, false);
|
|
8078
|
+
}
|
|
8079
|
+
};
|
|
8080
|
+
|
|
8042
8081
|
// spine-core/src/SkeletonData.ts
|
|
8043
8082
|
var SkeletonData = class {
|
|
8044
8083
|
/** The skeleton's name, which by default is the name of the skeleton data file, if possible. May be null. */
|
|
@@ -8522,8 +8561,11 @@ var spine = (() => {
|
|
|
8522
8561
|
data.length = input.readFloat() * scale;
|
|
8523
8562
|
data.transformMode = input.readInt(true);
|
|
8524
8563
|
data.skinRequired = input.readBoolean();
|
|
8525
|
-
if (nonessential)
|
|
8564
|
+
if (nonessential) {
|
|
8526
8565
|
Color.rgba8888ToColor(data.color, input.readInt32());
|
|
8566
|
+
data.icon = input.readString() ?? void 0;
|
|
8567
|
+
data.visible = input.readBoolean();
|
|
8568
|
+
}
|
|
8527
8569
|
skeletonData.bones.push(data);
|
|
8528
8570
|
}
|
|
8529
8571
|
n = input.readInt(true);
|
|
@@ -8539,6 +8581,8 @@ var spine = (() => {
|
|
|
8539
8581
|
Color.rgb888ToColor(data.darkColor = new Color(), darkColor);
|
|
8540
8582
|
data.attachmentName = input.readStringRef();
|
|
8541
8583
|
data.blendMode = input.readInt(true);
|
|
8584
|
+
if (nonessential)
|
|
8585
|
+
data.visible = input.readBoolean();
|
|
8542
8586
|
skeletonData.slots.push(data);
|
|
8543
8587
|
}
|
|
8544
8588
|
n = input.readInt(true);
|
|
@@ -8548,17 +8592,18 @@ var spine = (() => {
|
|
|
8548
8592
|
throw new Error("IK constraint data name must not be null.");
|
|
8549
8593
|
let data = new IkConstraintData(name);
|
|
8550
8594
|
data.order = input.readInt(true);
|
|
8551
|
-
data.skinRequired = input.readBoolean();
|
|
8552
8595
|
nn = input.readInt(true);
|
|
8553
8596
|
for (let ii = 0; ii < nn; ii++)
|
|
8554
8597
|
data.bones.push(skeletonData.bones[input.readInt(true)]);
|
|
8555
8598
|
data.target = skeletonData.bones[input.readInt(true)];
|
|
8556
8599
|
data.mix = input.readFloat();
|
|
8557
8600
|
data.softness = input.readFloat() * scale;
|
|
8558
|
-
|
|
8559
|
-
data.
|
|
8560
|
-
data.
|
|
8561
|
-
data.
|
|
8601
|
+
let flags = input.readByte();
|
|
8602
|
+
data.skinRequired = (flags & 1) != 0;
|
|
8603
|
+
data.bendDirection = (flags & 2) != 0 ? 1 : -1;
|
|
8604
|
+
data.compress = (flags & 4) != 0;
|
|
8605
|
+
data.stretch = (flags & 8) != 0;
|
|
8606
|
+
data.uniform = (flags & 16) != 0;
|
|
8562
8607
|
skeletonData.ikConstraints.push(data);
|
|
8563
8608
|
}
|
|
8564
8609
|
n = input.readInt(true);
|
|
@@ -8568,13 +8613,14 @@ var spine = (() => {
|
|
|
8568
8613
|
throw new Error("Transform constraint data name must not be null.");
|
|
8569
8614
|
let data = new TransformConstraintData(name);
|
|
8570
8615
|
data.order = input.readInt(true);
|
|
8571
|
-
data.skinRequired = input.readBoolean();
|
|
8572
8616
|
nn = input.readInt(true);
|
|
8573
8617
|
for (let ii = 0; ii < nn; ii++)
|
|
8574
8618
|
data.bones.push(skeletonData.bones[input.readInt(true)]);
|
|
8575
8619
|
data.target = skeletonData.bones[input.readInt(true)];
|
|
8576
|
-
|
|
8577
|
-
data.
|
|
8620
|
+
const flags = input.readByte();
|
|
8621
|
+
data.skinRequired = (flags & 1) != 0;
|
|
8622
|
+
data.local = (flags & 2) != 0;
|
|
8623
|
+
data.relative = (flags & 4) != 0;
|
|
8578
8624
|
data.offsetRotation = input.readFloat();
|
|
8579
8625
|
data.offsetX = input.readFloat() * scale;
|
|
8580
8626
|
data.offsetY = input.readFloat() * scale;
|
|
@@ -8616,6 +8662,51 @@ var spine = (() => {
|
|
|
8616
8662
|
data.mixY = input.readFloat();
|
|
8617
8663
|
skeletonData.pathConstraints.push(data);
|
|
8618
8664
|
}
|
|
8665
|
+
n = input.readInt(true);
|
|
8666
|
+
for (let i = 0, nn; i < n; i++) {
|
|
8667
|
+
const name = input.readString();
|
|
8668
|
+
if (!name)
|
|
8669
|
+
throw new Error("Physics constraint data name must not be null.");
|
|
8670
|
+
const data = new PhysicsConstraintData(name);
|
|
8671
|
+
data.order = input.readInt(true);
|
|
8672
|
+
data.bone = skeletonData.bones[input.readInt(true)];
|
|
8673
|
+
let flags = input.readByte();
|
|
8674
|
+
data.skinRequired = (flags & 1) != 0;
|
|
8675
|
+
if ((flags & 2) != 0)
|
|
8676
|
+
data.x = input.readFloat();
|
|
8677
|
+
if ((flags & 4) != 0)
|
|
8678
|
+
data.y = input.readFloat();
|
|
8679
|
+
if ((flags & 8) != 0)
|
|
8680
|
+
data.rotate = input.readFloat();
|
|
8681
|
+
if ((flags & 16) != 0)
|
|
8682
|
+
data.scaleX = input.readFloat();
|
|
8683
|
+
if ((flags & 32) != 0)
|
|
8684
|
+
data.shearX = input.readFloat();
|
|
8685
|
+
data.step = 1 / input.readByte();
|
|
8686
|
+
data.inertia = input.readFloat();
|
|
8687
|
+
data.strength = input.readFloat();
|
|
8688
|
+
data.damping = input.readFloat();
|
|
8689
|
+
data.massInverse = input.readFloat();
|
|
8690
|
+
data.wind = input.readFloat();
|
|
8691
|
+
data.gravity = input.readFloat();
|
|
8692
|
+
data.mix = input.readFloat();
|
|
8693
|
+
flags = input.readByte();
|
|
8694
|
+
if ((flags & 1) != 0)
|
|
8695
|
+
data.inertiaGlobal = true;
|
|
8696
|
+
if ((flags & 2) != 0)
|
|
8697
|
+
data.strengthGlobal = true;
|
|
8698
|
+
if ((flags & 4) != 0)
|
|
8699
|
+
data.dampingGlobal = true;
|
|
8700
|
+
if ((flags & 8) != 0)
|
|
8701
|
+
data.massGlobal = true;
|
|
8702
|
+
if ((flags & 16) != 0)
|
|
8703
|
+
data.windGlobal = true;
|
|
8704
|
+
if ((flags & 32) != 0)
|
|
8705
|
+
data.gravityGlobal = true;
|
|
8706
|
+
if ((flags & 64) != 0)
|
|
8707
|
+
data.mixGlobal = true;
|
|
8708
|
+
skeletonData.physicsConstraints.push(data);
|
|
8709
|
+
}
|
|
8619
8710
|
let defaultSkin = this.readSkin(input, skeletonData, true, nonessential);
|
|
8620
8711
|
if (defaultSkin) {
|
|
8621
8712
|
skeletonData.defaultSkin = defaultSkin;
|
|
@@ -8634,9 +8725,7 @@ var spine = (() => {
|
|
|
8634
8725
|
n = this.linkedMeshes.length;
|
|
8635
8726
|
for (let i = 0; i < n; i++) {
|
|
8636
8727
|
let linkedMesh = this.linkedMeshes[i];
|
|
8637
|
-
|
|
8638
|
-
if (!skin)
|
|
8639
|
-
throw new Error("Not skin found for linked mesh.");
|
|
8728
|
+
const skin = skeletonData.skins[linkedMesh.skinIndex];
|
|
8640
8729
|
if (!linkedMesh.parent)
|
|
8641
8730
|
throw new Error("Linked mesh parent must not be null");
|
|
8642
8731
|
let parent = skin.getAttachment(linkedMesh.slotIndex, linkedMesh.parent);
|
|
@@ -8650,9 +8739,9 @@ var spine = (() => {
|
|
|
8650
8739
|
this.linkedMeshes.length = 0;
|
|
8651
8740
|
n = input.readInt(true);
|
|
8652
8741
|
for (let i = 0; i < n; i++) {
|
|
8653
|
-
let eventName = input.
|
|
8742
|
+
let eventName = input.readString();
|
|
8654
8743
|
if (!eventName)
|
|
8655
|
-
throw new Error();
|
|
8744
|
+
throw new Error("Event data name must not be null");
|
|
8656
8745
|
let data = new EventData(eventName);
|
|
8657
8746
|
data.intValue = input.readInt(false);
|
|
8658
8747
|
data.floatValue = input.readFloat();
|
|
@@ -8682,10 +8771,12 @@ var spine = (() => {
|
|
|
8682
8771
|
return null;
|
|
8683
8772
|
skin = new Skin("default");
|
|
8684
8773
|
} else {
|
|
8685
|
-
let skinName = input.
|
|
8774
|
+
let skinName = input.readString();
|
|
8686
8775
|
if (!skinName)
|
|
8687
8776
|
throw new Error("Skin name must not be null.");
|
|
8688
8777
|
skin = new Skin(skinName);
|
|
8778
|
+
if (nonessential)
|
|
8779
|
+
Color.rgba8888ToColor(skin.color, input.readInt32());
|
|
8689
8780
|
skin.bones.length = input.readInt(true);
|
|
8690
8781
|
for (let i = 0, n = skin.bones.length; i < n; i++)
|
|
8691
8782
|
skin.bones[i] = skeletonData.bones[input.readInt(true)];
|
|
@@ -8695,6 +8786,8 @@ var spine = (() => {
|
|
|
8695
8786
|
skin.constraints.push(skeletonData.transformConstraints[input.readInt(true)]);
|
|
8696
8787
|
for (let i = 0, n = input.readInt(true); i < n; i++)
|
|
8697
8788
|
skin.constraints.push(skeletonData.pathConstraints[input.readInt(true)]);
|
|
8789
|
+
for (let i = 0, n = input.readInt(true); i < n; i++)
|
|
8790
|
+
skin.constraints.push(skeletonData.physicsConstraints[input.readInt(true)]);
|
|
8698
8791
|
slotCount = input.readInt(true);
|
|
8699
8792
|
}
|
|
8700
8793
|
for (let i = 0; i < slotCount; i++) {
|
|
@@ -8712,12 +8805,15 @@ var spine = (() => {
|
|
|
8712
8805
|
}
|
|
8713
8806
|
readAttachment(input, skeletonData, skin, slotIndex, attachmentName, nonessential) {
|
|
8714
8807
|
let scale = this.scale;
|
|
8715
|
-
let
|
|
8808
|
+
let flags = input.readByte();
|
|
8809
|
+
const name = (flags & 8) != 0 ? input.readStringRef() : attachmentName;
|
|
8716
8810
|
if (!name)
|
|
8717
|
-
name
|
|
8718
|
-
switch (
|
|
8811
|
+
throw new Error("Attachment name must not be null");
|
|
8812
|
+
switch (flags & 7) {
|
|
8719
8813
|
case AttachmentType.Region: {
|
|
8720
|
-
let path = input.readStringRef();
|
|
8814
|
+
let path = (flags & 16) != 0 ? input.readStringRef() : null;
|
|
8815
|
+
const color = (flags & 32) != 0 ? input.readInt32() : 4294967295;
|
|
8816
|
+
const sequence = (flags & 64) != 0 ? this.readSequence(input) : null;
|
|
8721
8817
|
let rotation = input.readFloat();
|
|
8722
8818
|
let x = input.readFloat();
|
|
8723
8819
|
let y = input.readFloat();
|
|
@@ -8725,8 +8821,6 @@ var spine = (() => {
|
|
|
8725
8821
|
let scaleY = input.readFloat();
|
|
8726
8822
|
let width = input.readFloat();
|
|
8727
8823
|
let height = input.readFloat();
|
|
8728
|
-
let color = input.readInt32();
|
|
8729
|
-
let sequence = this.readSequence(input);
|
|
8730
8824
|
if (!path)
|
|
8731
8825
|
path = name;
|
|
8732
8826
|
let region = this.attachmentLoader.newRegionAttachment(skin, name, path, sequence);
|
|
@@ -8747,13 +8841,12 @@ var spine = (() => {
|
|
|
8747
8841
|
return region;
|
|
8748
8842
|
}
|
|
8749
8843
|
case AttachmentType.BoundingBox: {
|
|
8750
|
-
let
|
|
8751
|
-
let vertices = this.readVertices(input, vertexCount);
|
|
8844
|
+
let vertices = this.readVertices(input, (flags & 16) != 0);
|
|
8752
8845
|
let color = nonessential ? input.readInt32() : 0;
|
|
8753
8846
|
let box = this.attachmentLoader.newBoundingBoxAttachment(skin, name);
|
|
8754
8847
|
if (!box)
|
|
8755
8848
|
return null;
|
|
8756
|
-
box.worldVerticesLength =
|
|
8849
|
+
box.worldVerticesLength = vertices.length;
|
|
8757
8850
|
box.vertices = vertices.vertices;
|
|
8758
8851
|
box.bones = vertices.bones;
|
|
8759
8852
|
if (nonessential)
|
|
@@ -8761,18 +8854,17 @@ var spine = (() => {
|
|
|
8761
8854
|
return box;
|
|
8762
8855
|
}
|
|
8763
8856
|
case AttachmentType.Mesh: {
|
|
8764
|
-
let path = input.readStringRef();
|
|
8765
|
-
|
|
8766
|
-
|
|
8767
|
-
|
|
8768
|
-
|
|
8769
|
-
|
|
8770
|
-
|
|
8771
|
-
let sequence = this.readSequence(input);
|
|
8857
|
+
let path = (flags & 16) != 0 ? input.readStringRef() : name;
|
|
8858
|
+
const color = (flags & 32) != 0 ? input.readInt32() : 4294967295;
|
|
8859
|
+
const sequence = (flags & 64) != 0 ? this.readSequence(input) : null;
|
|
8860
|
+
const hullLength = input.readInt(true);
|
|
8861
|
+
const vertices = this.readVertices(input, (flags & 128) != 0);
|
|
8862
|
+
const uvs = this.readFloatArray(input, vertices.length, 1);
|
|
8863
|
+
const triangles = this.readShortArray(input, (vertices.length - hullLength - 2) * 3);
|
|
8772
8864
|
let edges = [];
|
|
8773
8865
|
let width = 0, height = 0;
|
|
8774
8866
|
if (nonessential) {
|
|
8775
|
-
edges = this.readShortArray(input);
|
|
8867
|
+
edges = this.readShortArray(input, input.readInt(true));
|
|
8776
8868
|
width = input.readFloat();
|
|
8777
8869
|
height = input.readFloat();
|
|
8778
8870
|
}
|
|
@@ -8785,7 +8877,7 @@ var spine = (() => {
|
|
|
8785
8877
|
Color.rgba8888ToColor(mesh.color, color);
|
|
8786
8878
|
mesh.bones = vertices.bones;
|
|
8787
8879
|
mesh.vertices = vertices.vertices;
|
|
8788
|
-
mesh.worldVerticesLength =
|
|
8880
|
+
mesh.worldVerticesLength = vertices.length;
|
|
8789
8881
|
mesh.triangles = triangles;
|
|
8790
8882
|
mesh.regionUVs = uvs;
|
|
8791
8883
|
if (sequence == null)
|
|
@@ -8800,19 +8892,19 @@ var spine = (() => {
|
|
|
8800
8892
|
return mesh;
|
|
8801
8893
|
}
|
|
8802
8894
|
case AttachmentType.LinkedMesh: {
|
|
8803
|
-
|
|
8804
|
-
|
|
8805
|
-
|
|
8806
|
-
|
|
8807
|
-
|
|
8808
|
-
|
|
8895
|
+
const path = (flags & 16) != 0 ? input.readStringRef() : name;
|
|
8896
|
+
if (path == null)
|
|
8897
|
+
throw new Error("Path of linked mesh must not be null");
|
|
8898
|
+
const color = (flags & 32) != 0 ? input.readInt32() : 4294967295;
|
|
8899
|
+
const sequence = (flags & 64) != 0 ? this.readSequence(input) : null;
|
|
8900
|
+
const inheritTimelines = (flags & 128) != 0;
|
|
8901
|
+
const skinIndex = input.readInt(true);
|
|
8902
|
+
const parent = input.readStringRef();
|
|
8809
8903
|
let width = 0, height = 0;
|
|
8810
8904
|
if (nonessential) {
|
|
8811
8905
|
width = input.readFloat();
|
|
8812
8906
|
height = input.readFloat();
|
|
8813
8907
|
}
|
|
8814
|
-
if (!path)
|
|
8815
|
-
path = name;
|
|
8816
8908
|
let mesh = this.attachmentLoader.newMeshAttachment(skin, name, path, sequence);
|
|
8817
8909
|
if (!mesh)
|
|
8818
8910
|
return null;
|
|
@@ -8823,24 +8915,23 @@ var spine = (() => {
|
|
|
8823
8915
|
mesh.width = width * scale;
|
|
8824
8916
|
mesh.height = height * scale;
|
|
8825
8917
|
}
|
|
8826
|
-
this.linkedMeshes.push(new LinkedMesh(mesh,
|
|
8918
|
+
this.linkedMeshes.push(new LinkedMesh(mesh, skinIndex, slotIndex, parent, inheritTimelines));
|
|
8827
8919
|
return mesh;
|
|
8828
8920
|
}
|
|
8829
8921
|
case AttachmentType.Path: {
|
|
8830
|
-
|
|
8831
|
-
|
|
8832
|
-
|
|
8833
|
-
|
|
8834
|
-
let lengths = Utils.newArray(vertexCount / 3, 0);
|
|
8922
|
+
const closed2 = (flags & 16) != 0;
|
|
8923
|
+
const constantSpeed = (flags & 32) != 0;
|
|
8924
|
+
const vertices = this.readVertices(input, (flags & 64) != 0);
|
|
8925
|
+
const lengths = Utils.newArray(vertices.length / 6, 0);
|
|
8835
8926
|
for (let i = 0, n = lengths.length; i < n; i++)
|
|
8836
8927
|
lengths[i] = input.readFloat() * scale;
|
|
8837
|
-
|
|
8838
|
-
|
|
8928
|
+
const color = nonessential ? input.readInt32() : 0;
|
|
8929
|
+
const path = this.attachmentLoader.newPathAttachment(skin, name);
|
|
8839
8930
|
if (!path)
|
|
8840
8931
|
return null;
|
|
8841
8932
|
path.closed = closed2;
|
|
8842
8933
|
path.constantSpeed = constantSpeed;
|
|
8843
|
-
path.worldVerticesLength =
|
|
8934
|
+
path.worldVerticesLength = vertices.length;
|
|
8844
8935
|
path.vertices = vertices.vertices;
|
|
8845
8936
|
path.bones = vertices.bones;
|
|
8846
8937
|
path.lengths = lengths;
|
|
@@ -8849,11 +8940,11 @@ var spine = (() => {
|
|
|
8849
8940
|
return path;
|
|
8850
8941
|
}
|
|
8851
8942
|
case AttachmentType.Point: {
|
|
8852
|
-
|
|
8853
|
-
|
|
8854
|
-
|
|
8855
|
-
|
|
8856
|
-
|
|
8943
|
+
const rotation = input.readFloat();
|
|
8944
|
+
const x = input.readFloat();
|
|
8945
|
+
const y = input.readFloat();
|
|
8946
|
+
const color = nonessential ? input.readInt32() : 0;
|
|
8947
|
+
const point = this.attachmentLoader.newPointAttachment(skin, name);
|
|
8857
8948
|
if (!point)
|
|
8858
8949
|
return null;
|
|
8859
8950
|
point.x = x * scale;
|
|
@@ -8864,15 +8955,14 @@ var spine = (() => {
|
|
|
8864
8955
|
return point;
|
|
8865
8956
|
}
|
|
8866
8957
|
case AttachmentType.Clipping: {
|
|
8867
|
-
|
|
8868
|
-
|
|
8869
|
-
let vertices = this.readVertices(input, vertexCount);
|
|
8958
|
+
const endSlotIndex = input.readInt(true);
|
|
8959
|
+
const vertices = this.readVertices(input, (flags & 16) != 0);
|
|
8870
8960
|
let color = nonessential ? input.readInt32() : 0;
|
|
8871
8961
|
let clip = this.attachmentLoader.newClippingAttachment(skin, name);
|
|
8872
8962
|
if (!clip)
|
|
8873
8963
|
return null;
|
|
8874
8964
|
clip.endSlot = skeletonData.slots[endSlotIndex];
|
|
8875
|
-
clip.worldVerticesLength =
|
|
8965
|
+
clip.worldVerticesLength = vertices.length;
|
|
8876
8966
|
clip.vertices = vertices.vertices;
|
|
8877
8967
|
clip.bones = vertices.bones;
|
|
8878
8968
|
if (nonessential)
|
|
@@ -8891,12 +8981,13 @@ var spine = (() => {
|
|
|
8891
8981
|
sequence.setupIndex = input.readInt(true);
|
|
8892
8982
|
return sequence;
|
|
8893
8983
|
}
|
|
8894
|
-
readVertices(input,
|
|
8895
|
-
|
|
8896
|
-
|
|
8897
|
-
|
|
8898
|
-
|
|
8899
|
-
|
|
8984
|
+
readVertices(input, weighted) {
|
|
8985
|
+
const scale = this.scale;
|
|
8986
|
+
const vertexCount = input.readInt(true);
|
|
8987
|
+
const vertices = new Vertices();
|
|
8988
|
+
vertices.length = vertexCount << 1;
|
|
8989
|
+
if (!weighted) {
|
|
8990
|
+
vertices.vertices = this.readFloatArray(input, vertices.length, scale);
|
|
8900
8991
|
return vertices;
|
|
8901
8992
|
}
|
|
8902
8993
|
let weights = new Array();
|
|
@@ -8926,19 +9017,16 @@ var spine = (() => {
|
|
|
8926
9017
|
}
|
|
8927
9018
|
return array;
|
|
8928
9019
|
}
|
|
8929
|
-
readShortArray(input) {
|
|
8930
|
-
let n = input.readInt(true);
|
|
9020
|
+
readShortArray(input, n) {
|
|
8931
9021
|
let array = new Array(n);
|
|
8932
9022
|
for (let i = 0; i < n; i++)
|
|
8933
|
-
array[i] = input.
|
|
9023
|
+
array[i] = input.readInt(true);
|
|
8934
9024
|
return array;
|
|
8935
9025
|
}
|
|
8936
9026
|
readAnimation(input, name, skeletonData) {
|
|
8937
9027
|
input.readInt(true);
|
|
8938
9028
|
let timelines = new Array();
|
|
8939
9029
|
let scale = this.scale;
|
|
8940
|
-
let tempColor1 = new Color();
|
|
8941
|
-
let tempColor2 = new Color();
|
|
8942
9030
|
for (let i = 0, n = input.readInt(true); i < n; i++) {
|
|
8943
9031
|
let slotIndex = input.readInt(true);
|
|
8944
9032
|
for (let ii = 0, nn = input.readInt(true); ii < nn; ii++) {
|
|
@@ -9179,7 +9267,8 @@ var spine = (() => {
|
|
|
9179
9267
|
let timeline = new IkConstraintTimeline(frameCount, input.readInt(true), index);
|
|
9180
9268
|
let time = input.readFloat(), mix = input.readFloat(), softness = input.readFloat() * scale;
|
|
9181
9269
|
for (let frame = 0, bezier = 0; ; frame++) {
|
|
9182
|
-
|
|
9270
|
+
const flags = input.readByte();
|
|
9271
|
+
timeline.setFrame(frame, time, mix, softness, input.readByte(), (flags & 1) != 0, (flags & 2) != 0);
|
|
9183
9272
|
if (frame == frameLast)
|
|
9184
9273
|
break;
|
|
9185
9274
|
let time2 = input.readFloat(), mix2 = input.readFloat(), softness2 = input.readFloat() * scale;
|
|
@@ -9232,23 +9321,24 @@ var spine = (() => {
|
|
|
9232
9321
|
let index = input.readInt(true);
|
|
9233
9322
|
let data = skeletonData.pathConstraints[index];
|
|
9234
9323
|
for (let ii = 0, nn = input.readInt(true); ii < nn; ii++) {
|
|
9235
|
-
|
|
9324
|
+
const type = input.readByte(), frameCount = input.readInt(true), bezierCount = input.readInt(true);
|
|
9325
|
+
switch (type) {
|
|
9236
9326
|
case PATH_POSITION:
|
|
9237
9327
|
timelines.push(readTimeline1(
|
|
9238
9328
|
input,
|
|
9239
|
-
new PathConstraintPositionTimeline(
|
|
9329
|
+
new PathConstraintPositionTimeline(frameCount, bezierCount, index),
|
|
9240
9330
|
data.positionMode == 0 /* Fixed */ ? scale : 1
|
|
9241
9331
|
));
|
|
9242
9332
|
break;
|
|
9243
9333
|
case PATH_SPACING:
|
|
9244
9334
|
timelines.push(readTimeline1(
|
|
9245
9335
|
input,
|
|
9246
|
-
new PathConstraintSpacingTimeline(
|
|
9336
|
+
new PathConstraintSpacingTimeline(frameCount, bezierCount, index),
|
|
9247
9337
|
data.spacingMode == 0 /* Length */ || data.spacingMode == 1 /* Fixed */ ? scale : 1
|
|
9248
9338
|
));
|
|
9249
9339
|
break;
|
|
9250
9340
|
case PATH_MIX:
|
|
9251
|
-
let timeline = new PathConstraintMixTimeline(
|
|
9341
|
+
let timeline = new PathConstraintMixTimeline(frameCount, bezierCount, index);
|
|
9252
9342
|
let time = input.readFloat(), mixRotate = input.readFloat(), mixX = input.readFloat(), mixY = input.readFloat();
|
|
9253
9343
|
for (let frame = 0, bezier = 0, frameLast = timeline.getFrameCount() - 1; ; frame++) {
|
|
9254
9344
|
timeline.setFrame(frame, time, mixRotate, mixX, mixY);
|
|
@@ -9273,6 +9363,42 @@ var spine = (() => {
|
|
|
9273
9363
|
}
|
|
9274
9364
|
}
|
|
9275
9365
|
}
|
|
9366
|
+
for (let i = 0, n = input.readInt(true); i < n; i++) {
|
|
9367
|
+
const index = input.readInt(true) - 1;
|
|
9368
|
+
for (let ii = 0, nn = input.readInt(true); ii < nn; ii++) {
|
|
9369
|
+
const type = input.readByte(), frameCount = input.readInt(true);
|
|
9370
|
+
if (type == PHYSICS_RESET) {
|
|
9371
|
+
const timeline = new PhysicsConstraintResetTimeline(frameCount, index);
|
|
9372
|
+
for (let frame = 0; frame < frameCount; frame++)
|
|
9373
|
+
timeline.setFrame(frame, input.readFloat());
|
|
9374
|
+
timelines.push(timeline);
|
|
9375
|
+
continue;
|
|
9376
|
+
}
|
|
9377
|
+
const bezierCount = input.readInt(true);
|
|
9378
|
+
switch (type) {
|
|
9379
|
+
case PHYSICS_INERTIA:
|
|
9380
|
+
timelines.push(readTimeline1(input, new PhysicsConstraintInertiaTimeline(frameCount, bezierCount, index), 1));
|
|
9381
|
+
break;
|
|
9382
|
+
case PHYSICS_STRENGTH:
|
|
9383
|
+
timelines.push(readTimeline1(input, new PhysicsConstraintStrengthTimeline(frameCount, bezierCount, index), 1));
|
|
9384
|
+
break;
|
|
9385
|
+
case PHYSICS_DAMPING:
|
|
9386
|
+
timelines.push(readTimeline1(input, new PhysicsConstraintDampingTimeline(frameCount, bezierCount, index), 1));
|
|
9387
|
+
break;
|
|
9388
|
+
case PHYSICS_MASS:
|
|
9389
|
+
timelines.push(readTimeline1(input, new PhysicsConstraintMassTimeline(frameCount, bezierCount, index), 1));
|
|
9390
|
+
break;
|
|
9391
|
+
case PHYSICS_WIND:
|
|
9392
|
+
timelines.push(readTimeline1(input, new PhysicsConstraintWindTimeline(frameCount, bezierCount, index), 1));
|
|
9393
|
+
break;
|
|
9394
|
+
case PHYSICS_GRAVITY:
|
|
9395
|
+
timelines.push(readTimeline1(input, new PhysicsConstraintGravityTimeline(frameCount, bezierCount, index), 1));
|
|
9396
|
+
break;
|
|
9397
|
+
case PHYSICS_MIX:
|
|
9398
|
+
timelines.push(readTimeline1(input, new PhysicsConstraintMixTimeline(frameCount, bezierCount, index), 1));
|
|
9399
|
+
}
|
|
9400
|
+
}
|
|
9401
|
+
}
|
|
9276
9402
|
for (let i = 0, n = input.readInt(true); i < n; i++) {
|
|
9277
9403
|
let skin = skeletonData.skins[input.readInt(true)];
|
|
9278
9404
|
for (let ii = 0, nn = input.readInt(true); ii < nn; ii++) {
|
|
@@ -9387,7 +9513,9 @@ var spine = (() => {
|
|
|
9387
9513
|
let event = new Event(time, eventData);
|
|
9388
9514
|
event.intValue = input.readInt(false);
|
|
9389
9515
|
event.floatValue = input.readFloat();
|
|
9390
|
-
event.stringValue = input.
|
|
9516
|
+
event.stringValue = input.readString();
|
|
9517
|
+
if (event.stringValue == null)
|
|
9518
|
+
event.stringValue = eventData.stringValue;
|
|
9391
9519
|
if (event.data.audioPath) {
|
|
9392
9520
|
event.volume = input.readFloat();
|
|
9393
9521
|
event.balance = input.readFloat();
|
|
@@ -9490,22 +9618,23 @@ var spine = (() => {
|
|
|
9490
9618
|
};
|
|
9491
9619
|
var LinkedMesh = class {
|
|
9492
9620
|
parent;
|
|
9493
|
-
|
|
9621
|
+
skinIndex;
|
|
9494
9622
|
slotIndex;
|
|
9495
9623
|
mesh;
|
|
9496
9624
|
inheritTimeline;
|
|
9497
|
-
constructor(mesh,
|
|
9625
|
+
constructor(mesh, skinIndex, slotIndex, parent, inheritDeform) {
|
|
9498
9626
|
this.mesh = mesh;
|
|
9499
|
-
this.
|
|
9627
|
+
this.skinIndex = skinIndex;
|
|
9500
9628
|
this.slotIndex = slotIndex;
|
|
9501
9629
|
this.parent = parent;
|
|
9502
9630
|
this.inheritTimeline = inheritDeform;
|
|
9503
9631
|
}
|
|
9504
9632
|
};
|
|
9505
9633
|
var Vertices = class {
|
|
9506
|
-
constructor(bones = null, vertices = null) {
|
|
9634
|
+
constructor(bones = null, vertices = null, length = 0) {
|
|
9507
9635
|
this.bones = bones;
|
|
9508
9636
|
this.vertices = vertices;
|
|
9637
|
+
this.length = length;
|
|
9509
9638
|
}
|
|
9510
9639
|
};
|
|
9511
9640
|
var AttachmentType = /* @__PURE__ */ ((AttachmentType2) => {
|
|
@@ -9582,6 +9711,14 @@ var spine = (() => {
|
|
|
9582
9711
|
var PATH_POSITION = 0;
|
|
9583
9712
|
var PATH_SPACING = 1;
|
|
9584
9713
|
var PATH_MIX = 2;
|
|
9714
|
+
var PHYSICS_INERTIA = 0;
|
|
9715
|
+
var PHYSICS_STRENGTH = 1;
|
|
9716
|
+
var PHYSICS_DAMPING = 2;
|
|
9717
|
+
var PHYSICS_MASS = 4;
|
|
9718
|
+
var PHYSICS_WIND = 5;
|
|
9719
|
+
var PHYSICS_GRAVITY = 6;
|
|
9720
|
+
var PHYSICS_MIX = 7;
|
|
9721
|
+
var PHYSICS_RESET = 8;
|
|
9585
9722
|
var CURVE_STEPPED = 1;
|
|
9586
9723
|
var CURVE_BEZIER = 2;
|
|
9587
9724
|
|