Exemplo n.º 1
0
 public Deserializer(BDM_File _bdmFile)
 {
     bdm_File = _bdmFile;
     bdm_File.SortEntries();
     type = GetBdmType();
     Validation();
     WriteFile();
 }
Exemplo n.º 2
0
 public Parser(byte[] _rawBytes)
 {
     rawBytes         = _rawBytes;
     bytes            = rawBytes.ToList();
     type             = GetBdmType();
     bdmFile.BDM_Type = type;
     Parse();
 }
Exemplo n.º 3
0
 public Deserializer(BDM_File _bdmFile, string location)
 {
     saveLocation = location;
     bdm_File     = _bdmFile;
     bdm_File.SortEntries();
     type = GetBdmType();
     Validation();
     WriteFile();
     SaveBinaryFile();
 }
Exemplo n.º 4
0
 public Deserializer(string location)
 {
     saveLocation = String.Format("{0}/{1}", Path.GetDirectoryName(location), Path.GetFileNameWithoutExtension(location));
     ReadXmlFile(location);
     type = GetBdmType();
     bdm_File.SortEntries();
     Validation();
     WriteFile();
     SaveBinaryFile();
 }
Exemplo n.º 5
0
        void Parse()
        {
            int count  = BitConverter.ToInt32(rawBytes, 8);
            int offset = BitConverter.ToInt32(rawBytes, 12);

            bdmFile.BDM_Entries = new List <BDM_Entry>();

            if (count > 0)
            {
                switch (type)
                {
                case BDM_Type.XV2_0:
                    for (int i = 0; i < count; i++)
                    {
                        bdmFile.BDM_Entries.Add(new BDM_Entry()
                        {
                            I_00         = BitConverter.ToInt32(rawBytes, offset),
                            Type0Entries = GetType0_Xv2(offset + 4, i)
                        });
                        offset += 1284;
                    }
                    break;

                case BDM_Type.XV2_1:
                    for (int i = 0; i < count; i++)
                    {
                        bdmFile.BDM_Entries.Add(new BDM_Entry()
                        {
                            I_00         = BitConverter.ToInt32(rawBytes, offset),
                            Type1Entries = GetType1_Xv2(offset + 4, i)
                        });
                        offset += 1084;
                    }
                    break;

                case BDM_Type.XV1:
                    for (int i = 0; i < count; i++)
                    {
                        bdmFile.BDM_Entries.Add(new BDM_Entry()
                        {
                            I_00         = i,
                            Type1Entries = GetType1_Xv1(offset, i)
                        });
                        offset += 756;
                    }
                    break;
                }
            }

            //Auto-convert
            bdmFile.ConvertToXv2();
            type = BDM_Type.XV2_0;
        }
Exemplo n.º 6
0
 public Parser(string location, bool _writeXml)
 {
     saveLocation     = location;
     rawBytes         = File.ReadAllBytes(location);
     bytes            = rawBytes.ToList();
     type             = GetBdmType();
     bdmFile.BDM_Type = type;
     Parse();
     if (_writeXml)
     {
         SaveXmlFile();
     }
 }