public FB(FB roster, Frostbyte_type fbtype) { if (fbtype == Frostbyte_type.Draft) { this.filename = "DraftClass"; this.FB_InfoLength = 52; this.DataFileLength = 149240; this.TotalLength = 149292; this.SerialVersion = roster.SerialVersion; this.Serial = roster.Serial; this.DataType = DraftClass; this.DataEntries = DraftClassEntries; } }
public bool Extract(string filename) { this.filename = filename; binreader = new BinaryReader(File.Open(filename, FileMode.Open)); long size = binreader.BaseStream.Length; UInt32 frostbyte = binreader.ReadUInt32(); if (frostbyte != FBCH) { // Not supported binreader.Close(); return(false); } UNKS = binreader.ReadUInt32(); FB_Version = binreader.ReadUInt16(); FB_InfoLength = binreader.ReadUInt32(); DataFileLength = binreader.ReadUInt32(); TotalLength = binreader.ReadUInt32(); InfoYear = binreader.ReadUInt16(); InfoMonth = binreader.ReadUInt16(); InfoDay = binreader.ReadUInt16(); InfoHour = binreader.ReadUInt16(); InfoMin = binreader.ReadUInt16(); InfoSec = binreader.ReadUInt16(); SerialVersion = binreader.ReadUInt32(); //@38 bytes Serial = binreader.ReadBytes(24); //@62 bytes DataType = binreader.ReadUInt32(); if (DataType == 2) { FB_Type = Frostbyte_type.Draft; } else if (DataType == 95) { FB_Type = Frostbyte_type.Franchise; } else if (DataType == 134234692) { FB_Type = Frostbyte_type.Roster; } else { FB_Type = Frostbyte_type.Unknown; } DataEntries = binreader.ReadUInt32(); if (FB_Type != Frostbyte_type.Roster) { binreader.Close(); return(false); } binreader.BaseStream.Position = 62; DB = binreader.ReadBytes((int)size - 62); binreader.Close(); database = filename + ".db"; binwriter = new BinaryWriter(File.Open(database, FileMode.Create)); binwriter.Write(DB); binwriter.Close(); return(true); }