public void Write(OutputBuffer o) { OutputBuffer chunk = new OutputBuffer(); chunk.writeInt(atlasId); chunk.writeShort(unk1); chunk.writeShort((short)verts.Length); chunk.writeInt(indices.Length); foreach (var vert in verts) { chunk.writeFloat(vert.x); chunk.writeFloat(vert.y); chunk.writeFloat(vert.u); chunk.writeFloat(vert.v); } foreach (var index in indices) { chunk.writeShort(index); } if ((indices.Length % 2) != 0) { chunk.writeShort(0); } o.writeInt((int)TagType.Graphic); o.writeInt(chunk.Size / 4); o.write(chunk); }
public void Write(OutputBuffer o) { o.writeInt((int)TagType.RemoveObject); o.writeInt(2); o.writeInt(unk1); o.writeShort(mcObjectId); o.writeShort(unk2); }
public void Write(OutputBuffer o) { o.writeInt((int)TagType.Metadata); o.writeInt(2); o.writeShort(VersionMajor); o.writeShort(VersionMinor); o.writeShort(VersionPatch); o.writeShort(VersionFlag); }
public void Write(OutputBuffer o) { o.writeInt((int)TagType.PlaceObject); o.writeInt(12); o.writeInt(objectId); o.writeInt(placementId); o.writeInt(unk1); o.writeInt(nameId); o.writeShort(unk2); o.writeShort(unk3); o.writeShort(mcObjectId); o.writeShort(unk4); o.writeShort(transformFlags); o.writeShort(transformId); o.writeShort((short)positionFlags); o.writeShort(positionId); o.writeInt(colorId1); o.writeInt(colorId2); o.writeInt((colorMatrix != null) ? 1 : 0); o.writeInt((unkF014 != null) ? 1 : 0); if (colorMatrix != null) { colorMatrix.Write(o); } if (unkF014 != null) { unkF014.Write(o); } }
void writeColors(OutputBuffer o) { o.writeInt((int)TagType.Colors); o.writeInt(colors.Count * 2 + 1); o.writeInt(colors.Count); foreach (var color in colors) { o.writeShort((short)(color.r * 255)); o.writeShort((short)(color.g * 255)); o.writeShort((short)(color.b * 255)); o.writeShort((short)(color.a * 255)); } }
public void Write(OutputBuffer o) { o.writeInt((int)TagType.DefineEditText); o.writeInt(16); o.writeInt(id); o.writeInt(unk1); o.writeInt(placeholderTextId); o.writeInt(unk2); o.writeInt(colorId); o.writeInt(unk3); o.writeInt(unk4); o.writeInt(unk5); o.writeShort((short)alignment); o.writeShort(unk6); o.writeInt(unk7); o.writeInt(unk8); o.writeFloat(size); o.writeInt(unk9); o.writeInt(unk10); o.writeInt(unk11); o.writeInt(unk12); }