mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-02-06 07:14:55 +08:00
Merge branch '3.8' into 3.9-beta
This commit is contained in:
commit
e940f72d91
Binary file not shown.
@ -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();
|
||||
|
||||
@ -825,12 +825,15 @@ spAttachment* spSkeletonBinary_readAttachment(spSkeletonBinary* self, _dataInput
|
||||
|
||||
spSkin* spSkeletonBinary_readSkin(spSkeletonBinary* self, _dataInput* input, int/*bool*/ defaultSkin,
|
||||
spSkeletonData* skeletonData, int/*bool*/ nonessential) {
|
||||
spSkin* skin;
|
||||
int i, n, ii, nn;
|
||||
const char* skinName = defaultSkin ? "default" : readStringRef(input, skeletonData);
|
||||
skin = spSkin_create(skinName);
|
||||
spSkin *skin;
|
||||
int i, n, ii, nn, slotCount;
|
||||
|
||||
if (!defaultSkin) {
|
||||
if (defaultSkin) {
|
||||
slotCount = readVarint(input, 1);
|
||||
if (slotCount == 0) return 0;
|
||||
skin = spSkin_create("default");
|
||||
} else {
|
||||
skin = spSkin_create(readStringRef(input, skeletonData));
|
||||
for (i = 0, n = readVarint(input, 1); i < n; i++)
|
||||
spBoneDataArray_add(skin->bones, skeletonData->bones[readVarint(input, 1)]);
|
||||
|
||||
@ -842,9 +845,11 @@ spSkin* spSkeletonBinary_readSkin(spSkeletonBinary* self, _dataInput* input, int
|
||||
|
||||
for (i = 0, n = readVarint(input, 1); i < n; i++)
|
||||
spPathConstraintDataArray_add(skin->pathConstraints, skeletonData->pathConstraints[readVarint(input, 1)]);
|
||||
|
||||
slotCount = readVarint(input, 1);
|
||||
}
|
||||
|
||||
for (i = 0, n = readVarint(input, 1); i < n; ++i) {
|
||||
for (i = 0; i < slotCount; ++i) {
|
||||
int slotIndex = readVarint(input, 1);
|
||||
for (ii = 0, nn = readVarint(input, 1); ii < nn; ++ii) {
|
||||
const char* name = readStringRef(input, skeletonData);
|
||||
|
||||
@ -457,9 +457,14 @@ int SkeletonBinary::readVarint(DataInput *input, bool optimizePositive) {
|
||||
|
||||
Skin *
|
||||
SkeletonBinary::readSkin(DataInput *input, bool defaultSkin, SkeletonData *skeletonData, bool nonessential) {
|
||||
Skin *skin = new(__FILE__, __LINE__) Skin(defaultSkin ? "default" : readStringRef(input, skeletonData));
|
||||
|
||||
if (!defaultSkin) {
|
||||
Skin *skin;
|
||||
int slotCount = 0;
|
||||
if (defaultSkin) {
|
||||
slotCount = readVarint(input, true);
|
||||
if (slotCount == 0) return NULL;
|
||||
skin = new(__FILE__, __LINE__) Skin("default");
|
||||
} else {
|
||||
skin = new(__FILE__, __LINE__) Skin(readStringRef(input, skeletonData));
|
||||
for (int i = 0, n = readVarint(input, true); i < n; i++)
|
||||
skin->getBones().add(skeletonData->_bones[readVarint(input, true)]);
|
||||
|
||||
@ -471,9 +476,10 @@ SkeletonBinary::readSkin(DataInput *input, bool defaultSkin, SkeletonData *skele
|
||||
|
||||
for (int i = 0, n = readVarint(input, true); i < n; i++)
|
||||
skin->getConstraints().add(skeletonData->_pathConstraints[readVarint(input, true)]);
|
||||
slotCount = readVarint(input, true);
|
||||
}
|
||||
|
||||
for (int i = 0, n = readVarint(input, true); i < n; ++i) {
|
||||
for (int i = 0; i < slotCount; ++i) {
|
||||
int slotIndex = readVarint(input, true);
|
||||
for (int ii = 0, nn = readVarint(input, true); ii < nn; ++ii) {
|
||||
String name(readStringRef(input, skeletonData));
|
||||
|
||||
@ -73,7 +73,7 @@ namespace Spine {
|
||||
this.attachmentLoader = attachmentLoader;
|
||||
Scale = 1;
|
||||
}
|
||||
|
||||
|
||||
#if !ISUNITY && WINDOWS_STOREAPP
|
||||
private async Task<SkeletonData> ReadFile(string path) {
|
||||
var folder = Windows.ApplicationModel.Package.Current.InstalledLocation;
|
||||
@ -160,7 +160,7 @@ namespace Spine {
|
||||
String name = input.ReadString();
|
||||
BoneData parent = i == 0 ? null : skeletonData.bones.Items[input.ReadInt(true)];
|
||||
BoneData data = new BoneData(i, name, parent);
|
||||
data.rotation = input.ReadFloat();
|
||||
data.rotation = input.ReadFloat();
|
||||
data.x = input.ReadFloat() * scale;
|
||||
data.y = input.ReadFloat() * scale;
|
||||
data.scaleX = input.ReadFloat();
|
||||
@ -314,7 +314,7 @@ namespace Spine {
|
||||
o = skeletonData.animations.Resize(n = input.ReadInt(true)).Items;
|
||||
for (int i = 0; i < n; i++)
|
||||
o[i] = ReadAnimation(input.ReadString(), input, skeletonData);
|
||||
|
||||
|
||||
return skeletonData;
|
||||
}
|
||||
|
||||
@ -322,13 +322,19 @@ namespace Spine {
|
||||
/// <returns>May be null.</returns>
|
||||
private Skin ReadSkin (SkeletonInput input, SkeletonData skeletonData, bool defaultSkin, bool nonessential) {
|
||||
|
||||
Skin skin = new Skin(defaultSkin ? "default" : input.ReadStringRef());
|
||||
Skin skin;
|
||||
int slotCount;
|
||||
|
||||
if (!defaultSkin) {
|
||||
if (defaultSkin) {
|
||||
slotCount = input.ReadInt(true);
|
||||
if (slotCount == 0) return null;
|
||||
skin = new Skin("default"));
|
||||
} else {
|
||||
skin = new Skin(input.ReadStringRef());
|
||||
Object[] bones = skin.bones.Resize(input.ReadInt(true)).Items;
|
||||
for (int i = 0, n = skin.bones.Count; i < n; i++)
|
||||
bones[i] = skeletonData.bones.Items[input.ReadInt(true)];
|
||||
|
||||
|
||||
for (int i = 0, n = input.ReadInt(true); i < n; i++)
|
||||
skin.constraints.Add(skeletonData.ikConstraints.Items[input.ReadInt(true)]);
|
||||
for (int i = 0, n = input.ReadInt(true); i < n; i++)
|
||||
@ -336,8 +342,9 @@ namespace Spine {
|
||||
for (int i = 0, n = input.ReadInt(true); i < n; i++)
|
||||
skin.constraints.Add(skeletonData.pathConstraints.Items[input.ReadInt(true)]);
|
||||
skin.constraints.TrimExcess();
|
||||
slotCount = input.ReadInt(true);
|
||||
}
|
||||
for (int i = 0, n = input.ReadInt(true); i < n; i++) {
|
||||
for (int i = 0; i < slotCount; i++) {
|
||||
int slotIndex = input.ReadInt(true);
|
||||
for (int ii = 0, nn = input.ReadInt(true); ii < nn; ii++) {
|
||||
String name = input.ReadStringRef();
|
||||
@ -360,7 +367,7 @@ namespace Spine {
|
||||
switch (type) {
|
||||
case AttachmentType.Region: {
|
||||
String path = input.ReadStringRef();
|
||||
float rotation = input.ReadFloat();
|
||||
float rotation = input.ReadFloat();
|
||||
float x = input.ReadFloat();
|
||||
float y = input.ReadFloat();
|
||||
float scaleX = input.ReadFloat();
|
||||
@ -391,7 +398,7 @@ namespace Spine {
|
||||
int vertexCount = input.ReadInt(true);
|
||||
Vertices vertices = ReadVertices(input, vertexCount);
|
||||
if (nonessential) input.ReadInt(); //int color = nonessential ? input.ReadInt() : 0; // Avoid unused local warning.
|
||||
|
||||
|
||||
BoundingBoxAttachment box = attachmentLoader.NewBoundingBoxAttachment(skin, name);
|
||||
if (box == null) return null;
|
||||
box.worldVerticesLength = vertexCount << 1;
|
||||
@ -484,7 +491,7 @@ namespace Spine {
|
||||
path.bones = vertices.bones;
|
||||
path.lengths = lengths;
|
||||
// skipped porting: if (nonessential) Color.rgba8888ToColor(path.getColor(), color);
|
||||
return path;
|
||||
return path;
|
||||
}
|
||||
case AttachmentType.Point: {
|
||||
float rotation = input.ReadFloat();
|
||||
@ -560,7 +567,7 @@ namespace Spine {
|
||||
private int[] ReadShortArray (SkeletonInput input) {
|
||||
int n = input.ReadInt(true);
|
||||
int[] array = new int[n];
|
||||
for (int i = 0; i < n; i++)
|
||||
for (int i = 0; i < n; i++)
|
||||
array[i] = (input.ReadByte() << 8) | input.ReadByte();
|
||||
return array;
|
||||
}
|
||||
@ -719,7 +726,7 @@ namespace Spine {
|
||||
float timelineScale = 1;
|
||||
if (timelineType == PATH_SPACING) {
|
||||
timeline = new PathConstraintSpacingTimeline(frameCount);
|
||||
if (data.spacingMode == SpacingMode.Length || data.spacingMode == SpacingMode.Fixed) timelineScale = scale;
|
||||
if (data.spacingMode == SpacingMode.Length || data.spacingMode == SpacingMode.Fixed) timelineScale = scale;
|
||||
} else {
|
||||
timeline = new PathConstraintPositionTimeline(frameCount);
|
||||
if (data.positionMode == PositionMode.Fixed) timelineScale = scale;
|
||||
|
||||
@ -328,12 +328,18 @@ public class SkeletonBinary {
|
||||
return skeletonData;
|
||||
}
|
||||
|
||||
/** @return May be null. */
|
||||
private Skin readSkin (SkeletonInput input, SkeletonData skeletonData, boolean defaultSkin, boolean nonessential)
|
||||
throws IOException {
|
||||
|
||||
Skin skin = new Skin(defaultSkin ? "default" : input.readStringRef());
|
||||
|
||||
if (!defaultSkin) {
|
||||
Skin skin;
|
||||
int slotCount;
|
||||
if (defaultSkin) {
|
||||
slotCount = input.readInt(true);
|
||||
if (slotCount == 0) return null;
|
||||
skin = new Skin("default");
|
||||
} else {
|
||||
skin = new Skin(input.readStringRef());
|
||||
Object[] bones = skin.bones.setSize(input.readInt(true));
|
||||
for (int i = 0, n = skin.bones.size; i < n; i++)
|
||||
bones[i] = skeletonData.bones.get(input.readInt(true));
|
||||
@ -345,9 +351,11 @@ public class SkeletonBinary {
|
||||
for (int i = 0, n = input.readInt(true); i < n; i++)
|
||||
skin.constraints.add(skeletonData.pathConstraints.get(input.readInt(true)));
|
||||
skin.constraints.shrink();
|
||||
|
||||
slotCount = input.readInt(true);
|
||||
}
|
||||
|
||||
for (int i = 0, n = input.readInt(true); i < n; i++) {
|
||||
for (int i = 0; i < slotCount; i++) {
|
||||
int slotIndex = input.readInt(true);
|
||||
for (int ii = 0, nn = input.readInt(true); ii < nn; ii++) {
|
||||
String name = input.readStringRef();
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@ -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
@ -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
@ -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
@ -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
@ -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
@ -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
@ -245,9 +245,15 @@ module spine {
|
||||
}
|
||||
|
||||
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);
|
||||
for (let i = 0, n = skin.bones.length; i < n; i++)
|
||||
skin.bones[i] = skeletonData.bones[input.readInt(true)];
|
||||
@ -258,9 +264,11 @@ module spine {
|
||||
skin.constraints.push(skeletonData.transformConstraints[input.readInt(true)]);
|
||||
for (let i = 0, n = input.readInt(true); i < n; i++)
|
||||
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);
|
||||
for (let ii = 0, nn = input.readInt(true); ii < nn; ii++) {
|
||||
let name = input.readStringRef();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user