コード例 #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
        void writeSymbols(OutputBuffer o)
        {
            OutputBuffer chunk = new OutputBuffer();

            chunk.writeInt(symbols.Count);

            foreach (var symbol in symbols)
            {
                chunk.writeInt(symbol.Length);
                chunk.writeString(symbol);

                int padSize = 4 - (chunk.Size % 4);
                for (int i = 0; i < padSize; i++)
                {
                    chunk.writeByte(0);
                }
            }

            o.writeInt((int)TagType.Symbols);
            o.writeInt(chunk.Size / 4);
            o.write(chunk);
        }
コード例 #3
0
 public void Write(OutputBuffer o)
 {
     o.writeInt((int)type);
     o.writeInt(size);
     o.write(data);
 }