[as3] fix parsing of default skins without attachment for binary files.

This commit is contained in:
badlogic 2019-08-07 11:41:30 +02:00
parent 8b714d6849
commit cc694f7b5a
16 changed files with 12293 additions and 12240 deletions

View File

@ -277,13 +277,19 @@ package spine {
}
private function readSkin (input: BinaryInput, skeletonData: SkeletonData, defaultSkin: Boolean, nonessential: Boolean): Skin {
var skin : Skin = new Skin(defaultSkin ? "default" : input.readStringRef());
var skin : Skin = null;
var i : int = 0;
var n : int = 0;
var ii : int;
var nn: int;
var slotCount: int;
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);
for (i = 0, n = skin.bones.length; i < n; i++)
skin.bones[i] = skeletonData.bones[input.readInt(true)];
@ -294,9 +300,11 @@ package spine {
skin.constraints.push(skeletonData.transformConstraints[input.readInt(true)]);
for (i = 0, n = input.readInt(true); i < n; i++)
skin.constraints.push(skeletonData.pathConstraints[input.readInt(true)]);
slotCount = input.readInt(true);
}
for (i = 0, n = input.readInt(true); i < n; i++) {
for (i = 0; i < slotCount; i++) {
var slotIndex : int = input.readInt(true);
for (ii = 0, nn = input.readInt(true); ii < nn; ii++) {
var name : String = input.readStringRef();

View File

@ -4222,8 +4222,16 @@ var spine;
return skeletonData;
};
SkeletonBinary.prototype.readSkin = function (input, skeletonData, defaultSkin, nonessential) {
var skin = new spine.Skin(defaultSkin ? "default" : input.readStringRef());
if (!defaultSkin) {
var skin = null;
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);
for (var i = 0, n = skin.bones.length; i < n; i++)
skin.bones[i] = skeletonData.bones[input.readInt(true)];
@ -4233,8 +4241,9 @@ var spine;
skin.constraints.push(skeletonData.transformConstraints[input.readInt(true)]);
for (var i = 0, n = input.readInt(true); i < n; i++)
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);
for (var ii = 0, nn = input.readInt(true); ii < nn; ii++) {
var name_3 = input.readStringRef();

File diff suppressed because one or more lines are too long

View File

@ -4222,8 +4222,16 @@ var spine;
return skeletonData;
};
SkeletonBinary.prototype.readSkin = function (input, skeletonData, defaultSkin, nonessential) {
var skin = new spine.Skin(defaultSkin ? "default" : input.readStringRef());
if (!defaultSkin) {
var skin = null;
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);
for (var i = 0, n = skin.bones.length; i < n; i++)
skin.bones[i] = skeletonData.bones[input.readInt(true)];
@ -4233,8 +4241,9 @@ var spine;
skin.constraints.push(skeletonData.transformConstraints[input.readInt(true)]);
for (var i = 0, n = input.readInt(true); i < n; i++)
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);
for (var ii = 0, nn = input.readInt(true); ii < nn; ii++) {
var name_3 = input.readStringRef();

File diff suppressed because one or more lines are too long

View File

@ -4222,8 +4222,16 @@ var spine;
return skeletonData;
};
SkeletonBinary.prototype.readSkin = function (input, skeletonData, defaultSkin, nonessential) {
var skin = new spine.Skin(defaultSkin ? "default" : input.readStringRef());
if (!defaultSkin) {
var skin = null;
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);
for (var i = 0, n = skin.bones.length; i < n; i++)
skin.bones[i] = skeletonData.bones[input.readInt(true)];
@ -4233,8 +4241,9 @@ var spine;
skin.constraints.push(skeletonData.transformConstraints[input.readInt(true)]);
for (var i = 0, n = input.readInt(true); i < n; i++)
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);
for (var ii = 0, nn = input.readInt(true); ii < nn; ii++) {
var name_3 = input.readStringRef();

File diff suppressed because one or more lines are too long

View File

@ -4222,8 +4222,16 @@ var spine;
return skeletonData;
};
SkeletonBinary.prototype.readSkin = function (input, skeletonData, defaultSkin, nonessential) {
var skin = new spine.Skin(defaultSkin ? "default" : input.readStringRef());
if (!defaultSkin) {
var skin = null;
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);
for (var i = 0, n = skin.bones.length; i < n; i++)
skin.bones[i] = skeletonData.bones[input.readInt(true)];
@ -4233,8 +4241,9 @@ var spine;
skin.constraints.push(skeletonData.transformConstraints[input.readInt(true)]);
for (var i = 0, n = input.readInt(true); i < n; i++)
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);
for (var ii = 0, nn = input.readInt(true); ii < nn; ii++) {
var name_3 = input.readStringRef();

File diff suppressed because one or more lines are too long

View File

@ -4222,8 +4222,16 @@ var spine;
return skeletonData;
};
SkeletonBinary.prototype.readSkin = function (input, skeletonData, defaultSkin, nonessential) {
var skin = new spine.Skin(defaultSkin ? "default" : input.readStringRef());
if (!defaultSkin) {
var skin = null;
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);
for (var i = 0, n = skin.bones.length; i < n; i++)
skin.bones[i] = skeletonData.bones[input.readInt(true)];
@ -4233,8 +4241,9 @@ var spine;
skin.constraints.push(skeletonData.transformConstraints[input.readInt(true)]);
for (var i = 0, n = input.readInt(true); i < n; i++)
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);
for (var ii = 0, nn = input.readInt(true); ii < nn; ii++) {
var name_3 = input.readStringRef();

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long