예제 #1
0
            internal void UnParse(Stream s)
            {
                long         start = s.Position;
                BinaryWriter w     = new BinaryWriter(s);

                w.Write((uint)FOURCC("MTRL"));
                w.Write(mtrlUnknown1);
                w.Write(mtrlUnknown2);
                w.Write(mtrlUnknown3);
                if (sdList == null)
                {
                    sdList = new ShaderDataList(handler);
                }
                sdList.UnParse(s, start);
            }
예제 #2
0
        internal void UnParse(Stream s)
        {
            long         start = s.Position;
            BinaryWriter w     = new BinaryWriter(s);

            w.Write((uint)FOURCC("MTNF"));
            w.Write(mtnfUnknown1);
            long dlPos = s.Position;

            w.Write((uint)0);//data length
            if (sdList == null)
            {
                sdList = new ShaderDataList(handler, _ParentTGIBlocks, _RCOLTag);
            }
            sdList.UnParse(s, start);

            long dlEnd = s.Position;

            s.Position = dlPos;
            w.Write((uint)(dlEnd - sdList.dataPos));
            s.Position = dlEnd;
        }