示例#1
0
            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);
            }
示例#2
0
 public void Write(OutputBuffer o)
 {
     o.writeInt((int)TagType.RemoveObject);
     o.writeInt(2);
     o.writeInt(unk1);
     o.writeShort(mcObjectId);
     o.writeShort(unk2);
 }
示例#3
0
            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);
            }
示例#4
0
                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);
                    }
                }
示例#5
0
        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));
            }
        }
示例#6
0
            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);
            }