コード例 #1
0
ファイル: CGFX.cs プロジェクト: clienthax/EveryFileExplorer
        public byte[] Write()
        {
            MemoryStream       m  = new MemoryStream();
            EndianBinaryWriter er = new EndianBinaryWriter(m, Endianness.LittleEndian);

            Header.NrBlocks = 1;
            Header.Write(er);
            CGFXWriterContext c = new CGFXWriterContext();

            Data.Write(er, c);
            if (c.DoWriteIMAGBlock())
            {
                long curpos = er.BaseStream.Position;
                er.BaseStream.Position = 0x10;
                er.Write((uint)2);
                er.BaseStream.Position = curpos;
                c.WriteIMAGBlock(er);
            }
            long curpos2 = er.BaseStream.Position;

            er.BaseStream.Position = 0xC;
            er.Write((uint)(curpos2));
            er.BaseStream.Position = curpos2;

            byte[] result = m.ToArray();
            er.Close();
            return(result);
        }
コード例 #2
0
ファイル: CGFX.cs プロジェクト: arves100/EveryFileExplorer
        public byte[] Write()
        {
            //MessageBox.Show("CGFX saving is experimental! A couple of sections (like animations) are lost while saving!");
            MemoryStream       m  = new MemoryStream();
            EndianBinaryWriter er = new EndianBinaryWriter(m, Endianness.LittleEndian);

            Header.NrBlocks = 1;
            Header.Write(er);
            CGFXWriterContext c = new CGFXWriterContext();

            Data.Write(er, c);
            if (c.DoWriteIMAGBlock())
            {
                long curpos = er.BaseStream.Position;
                er.BaseStream.Position = 0x10;
                er.Write((uint)2);
                er.BaseStream.Position = curpos;
                c.WriteIMAGBlock(er);
            }
            long curpos2 = er.BaseStream.Position;

            er.BaseStream.Position = 0xC;
            er.Write((uint)(curpos2));
            er.BaseStream.Position = curpos2;

            byte[] result = m.ToArray();
            er.Close();
            return(result);
        }