示例#1
0
 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;
     }
 }
示例#2
0
        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);
        }