mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-03-26 22:49:01 +08:00
[ts] fix parsing of default skins without attachment for binary files.
This commit is contained in:
parent
fada823dcb
commit
8b714d6849
@ -4222,8 +4222,16 @@ var spine;
|
|||||||
return skeletonData;
|
return skeletonData;
|
||||||
};
|
};
|
||||||
SkeletonBinary.prototype.readSkin = function (input, skeletonData, defaultSkin, nonessential) {
|
SkeletonBinary.prototype.readSkin = function (input, skeletonData, defaultSkin, nonessential) {
|
||||||
var skin = new spine.Skin(defaultSkin ? "default" : input.readStringRef());
|
var skin = null;
|
||||||
if (!defaultSkin) {
|
var slotCount = 0;
|
||||||
|
if (defaultSkin) {
|
||||||
|
slotCount = input.readInt(true);
|
||||||
|
if (slotCount == 0)
|
||||||
|
return null;
|
||||||
|
skin = new spine.Skin("default");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
skin = new spine.Skin(input.readStringRef());
|
||||||
skin.bones.length = input.readInt(true);
|
skin.bones.length = input.readInt(true);
|
||||||
for (var i = 0, n = skin.bones.length; i < n; i++)
|
for (var i = 0, n = skin.bones.length; i < n; i++)
|
||||||
skin.bones[i] = skeletonData.bones[input.readInt(true)];
|
skin.bones[i] = skeletonData.bones[input.readInt(true)];
|
||||||
@ -4233,8 +4241,9 @@ var spine;
|
|||||||
skin.constraints.push(skeletonData.transformConstraints[input.readInt(true)]);
|
skin.constraints.push(skeletonData.transformConstraints[input.readInt(true)]);
|
||||||
for (var i = 0, n = input.readInt(true); i < n; i++)
|
for (var i = 0, n = input.readInt(true); i < n; i++)
|
||||||
skin.constraints.push(skeletonData.pathConstraints[input.readInt(true)]);
|
skin.constraints.push(skeletonData.pathConstraints[input.readInt(true)]);
|
||||||
|
slotCount = input.readInt(true);
|
||||||
}
|
}
|
||||||
for (var i = 0, n = input.readInt(true); i < n; i++) {
|
for (var i = 0; i < slotCount; i++) {
|
||||||
var slotIndex = input.readInt(true);
|
var slotIndex = input.readInt(true);
|
||||||
for (var ii = 0, nn = input.readInt(true); ii < nn; ii++) {
|
for (var ii = 0, nn = input.readInt(true); ii < nn; ii++) {
|
||||||
var name_3 = input.readStringRef();
|
var name_3 = input.readStringRef();
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@ -245,9 +245,15 @@ module spine {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private readSkin (input: BinaryInput, skeletonData: SkeletonData, defaultSkin: boolean, nonessential: boolean): Skin {
|
private readSkin (input: BinaryInput, skeletonData: SkeletonData, defaultSkin: boolean, nonessential: boolean): Skin {
|
||||||
let skin = new Skin(defaultSkin ? "default" : input.readStringRef());
|
let skin = null;
|
||||||
|
let slotCount = 0;
|
||||||
|
|
||||||
if (!defaultSkin) {
|
if (defaultSkin) {
|
||||||
|
slotCount = input.readInt(true)
|
||||||
|
if (slotCount == 0) return null;
|
||||||
|
skin = new Skin("default");
|
||||||
|
} else {
|
||||||
|
skin = new Skin(input.readStringRef());
|
||||||
skin.bones.length = input.readInt(true);
|
skin.bones.length = input.readInt(true);
|
||||||
for (let i = 0, n = skin.bones.length; i < n; i++)
|
for (let i = 0, n = skin.bones.length; i < n; i++)
|
||||||
skin.bones[i] = skeletonData.bones[input.readInt(true)];
|
skin.bones[i] = skeletonData.bones[input.readInt(true)];
|
||||||
@ -258,9 +264,11 @@ module spine {
|
|||||||
skin.constraints.push(skeletonData.transformConstraints[input.readInt(true)]);
|
skin.constraints.push(skeletonData.transformConstraints[input.readInt(true)]);
|
||||||
for (let i = 0, n = input.readInt(true); i < n; i++)
|
for (let i = 0, n = input.readInt(true); i < n; i++)
|
||||||
skin.constraints.push(skeletonData.pathConstraints[input.readInt(true)]);
|
skin.constraints.push(skeletonData.pathConstraints[input.readInt(true)]);
|
||||||
|
|
||||||
|
slotCount = input.readInt(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (let i = 0, n = input.readInt(true); i < n; i++) {
|
for (let i = 0; i < slotCount; i++) {
|
||||||
let slotIndex = input.readInt(true);
|
let slotIndex = input.readInt(true);
|
||||||
for (let ii = 0, nn = input.readInt(true); ii < nn; ii++) {
|
for (let ii = 0, nn = input.readInt(true); ii < nn; ii++) {
|
||||||
let name = input.readStringRef();
|
let name = input.readStringRef();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user