示例#1
0
        private void Parse(DataReader reader)
        {
            reader.Assert(0L, 0, "UNKNOWN", "Part", "First 4 bytes");

            model = reader.ReadString(13);
            reader.Assert((byte)0xCC, 0, "Model: " + model, "UNKNOWN PART", "Model");

            icon        = reader.ReadString(13);
            name        = reader.ReadString(25);
            description = reader.ReadString(200);
            group       = reader.ReadShort();
            techtree    = new Techtree(reader);

            reader.Assert((ushort)0xCCCC, 0, name, "UNKNOWN PART", "Techtree");

            mass           = reader.ReadFloat();
            sigmod         = reader.ReadFloat();
            uid            = reader.ReadUShort();
            specUID        = uid;
            overriding_uid = reader.ReadShort();
            parttype       = reader.ReadShort();
            usemask        = new BitArray(reader.ReadBytes(2));
            slot           = reader.ReadString(13);

            string PartTypeName = PartType.GetName(typeof(PartType), parttype);

            //reader.Assert((byte)0xCC, uid, name, PartTypeName, "Slot");
            reader.Skip(1);
            reader.Assert((ushort)0xCCCC, uid, name, PartTypeName, "Slot");
        }
 private void Parse(DataReader reader)
 {
     percentRed   = reader.ReadFloat();
     percentGreen = reader.ReadFloat();
     percentBlue  = reader.ReadFloat();
     percentAlpha = reader.ReadFloat();
     stats_s1     = reader.ReadFloat();
     stats_s2     = reader.ReadFloat();
     file_model   = reader.ReadString(13);
     file_texture = reader.ReadString(13);
     reader.Assert((ushort)0xCCCC, 0, "Texture: " + file_texture, "Projectile", "Texture");
     stats_s3  = reader.ReadFloat();
     stats_s4  = reader.ReadFloat();
     stats_s5  = reader.ReadFloat();
     stats_s6  = reader.ReadFloat();
     stats_s7  = reader.ReadFloat();
     uid       = reader.ReadUShort();
     DM        = reader.ReadByte();
     stats_ss1 = reader.ReadByte();
     stats_ss2 = reader.ReadByte();
     reader.Assert((byte)0xCC, uid, file_texture, "Projectile", "Directional");
     reader.Assert((byte)0xCC, uid, file_texture, "Projectile", "Directional");
     reader.Assert((byte)0xCC, uid, file_texture, "Projectile", "Directional");
     stats_s8      = reader.ReadFloat();
     ambient_sound = reader.ReadUShort();
     reader.Assert((ushort)0xCCCC, uid, file_model, "Projectile", "Ambient Sound");
 }
示例#3
0
 private void Parse(DataReader reader)
 {
     percentRed   = reader.ReadFloat();
     percentGreen = reader.ReadFloat();
     percentBlue  = reader.ReadFloat();
     percentAlpha = reader.ReadFloat();
     stats_s1     = reader.ReadFloat();
     stats_s2     = reader.ReadFloat();
     file_model   = reader.ReadString(13);
     file_texture = reader.ReadString(13);
     reader.Skip(2);
     stats_s3  = reader.ReadFloat();
     stats_s4  = reader.ReadFloat();
     stats_s5  = reader.ReadFloat();
     stats_s6  = reader.ReadFloat();
     stats_s7  = reader.ReadFloat();
     uid       = reader.ReadUShort();
     DM        = reader.ReadByte();
     stats_ss1 = reader.ReadByte();
     stats_ss2 = reader.ReadByte();
     reader.Assert((byte)0xCC, "Unexpected data encountered in IGCCoreProjectile after stats");
     reader.Assert((byte)0xCC, "Unexpected data encountered in IGCCoreProjectile after stats");
     reader.Assert((byte)0xCC, "Unexpected data encountered in IGCCoreProjectile after stats");
     stats_s8      = reader.ReadFloat();
     ambient_sound = reader.ReadUShort();
     reader.Assert((byte)0xCC, "Unexpected data encountered at end of IGCCoreProjectile");
     reader.Assert((byte)0xCC, "Unexpected data encountered at end of IGCCoreProjectile");
 }
示例#4
0
 /// <summary>
 /// Loads the IGCCoreMissile values from the specified DataReader
 /// </summary>
 /// <param name="reader">The DataReader from which to read the IGCCoreMissile</param>
 private void Parse(DataReader reader)
 {
     reader.Assert(0L, "Invalid header found while trying to parse IGCCoreMissile");
     reader.Assert(0L, "Invalid header found while trying to parse IGCCoreMissile");
     stats_s1 = reader.ReadFloat();
     stats_s2 = reader.ReadFloat();
     ldbmp    = reader.ReadString(13);
     reader.Seek(13);
     reader.Skip(2);
     stats_s3 = reader.ReadFloat();
     stats_s4 = reader.ReadFloat();
     stats_s5 = reader.ReadFloat();
     cost     = reader.ReadInt();
     reader.Assert((int)0, "Unexpected data found while trying to parse IGCCoreMissile");
     model = reader.ReadString(13);
     reader.Assert((byte)0xCC, "Unexpected data found while trying to parse IGCCoreMissile");
     type        = reader.ReadString(13);
     name        = reader.ReadString(25);
     description = reader.ReadString(200);
     group       = reader.ReadShort();
     techtree    = new Techtree(reader);
     reader.Assert((byte)0xCD, "Unexpected data found while trying to parse IGCCoreMissile");
     reader.Assert((byte)0xCD, "Unexpected data found while trying to parse IGCCoreMissile");
     sigmod    = reader.ReadFloat();
     mass      = reader.ReadFloat();
     usemask   = new BitArray(reader.ReadBytes(2));
     amount    = reader.ReadUShort();
     stats_s16 = reader.ReadFloat();
     AC        = reader.ReadByte();
     reader.Assert((byte)0xCD, "Unexpected data found while trying to parse IGCCoreMissile");
     uid            = reader.ReadUShort();
     special_effect = reader.ReadUShort();
     icon           = reader.ReadString(13);
     reader.Assert((byte)0xCD, "Unexpected data found while trying to parse IGCCoreMissile");
     stats_s7            = reader.ReadFloat();  // accel
     stats_s8            = reader.ReadFloat();  // turn radius
     stats_s9            = reader.ReadFloat();  // launch velocity
     stats_s10           = reader.ReadFloat();  // lock time
     stats_s11           = reader.ReadFloat();  // ready time
     stats_s12           = reader.ReadFloat();  // max lock
     stats_s13           = reader.ReadFloat();  // CM resistance
     stats_s14           = reader.ReadFloat();  // salvo ratio
     stats_s15           = reader.ReadFloat();  // lock radius
     stats_damage        = reader.ReadFloat();
     stats_unused1       = reader.ReadFloat();  // 0 Checked
     stats_damage_radius = reader.ReadFloat();
     stats_unused2       = reader.ReadFloat();  // 0 Checked
     DM        = reader.ReadUShort();
     stats_ss3 = reader.ReadUShort();           //sound launch
     stats_ss4 = reader.ReadUShort();           //sound flight
     reader.Assert((byte)0xCD, "Unexpected footer found while trying to parse IGCCoreMissile");
     reader.Assert((byte)0xCD, "Unexpected footer found while trying to parse IGCCoreMissile");
 }
示例#5
0
        private void Parse(DataReader reader)
        {
            shld_stats_s1 = reader.ReadFloat();
            shld_stats_s2 = reader.ReadFloat();
            shld_AC       = (IGCArmorClass)reader.ReadByte();

            reader.Assert((byte)0xCC, "Unexpected data found when trying to read IGCCorePartShield");

            shld_sound1 = reader.ReadUShort();
            shld_sound2 = reader.ReadUShort();

            reader.Assert((byte)0xCC, "Unexpected data found when trying to read IGCCorePartShield");
            reader.Assert((byte)0xCC, "Unexpected data found when trying to read IGCCorePartShield");
        }
示例#6
0
        private void Parse(DataReader reader)
        {
            shld_stats_s1 = reader.ReadFloat();
            shld_stats_s2 = reader.ReadFloat();
            shld_AC       = (IGCArmorClass)reader.ReadByte();

            string PartTypeName = PartType.GetName(typeof(PartType), parttype);

            reader.Assert((byte)0xCC, uid, name, PartTypeName, "ShieldAC");

            shld_sound1 = reader.ReadUShort();
            shld_sound2 = reader.ReadUShort();

            reader.Assert((ushort)0xCCCC, uid, name, PartTypeName, "Deactivate Sound");
        }
示例#7
0
        private void Parse(DataReader reader)
        {
            wep_stats_s1 = reader.ReadFloat();
            wep_stats_s2 = reader.ReadFloat();
            wep_stats_s3 = reader.ReadFloat();
            wep_stats_s4 = reader.ReadFloat();

            wep_stats_ss1      = reader.ReadUShort();
            wep_projectile_uid = reader.ReadUShort();
            wep_stats_ss2      = reader.ReadUShort();
            wep_stats_ss3      = reader.ReadUShort();
            wep_stats_ss4      = reader.ReadUShort();

            reader.Assert((byte)0xCC, "Unexpected end bytes encountered when reading IGCCorePartWeapon");
            reader.Assert((byte)0xCC, "Unexpected end bytes encountered when reading IGCCorePartWeapon");
        }
示例#8
0
        /// <summary>
        /// Loads the IGCCoreMissile values from the specified DataReader
        /// </summary>
        /// <param name="reader">The DataReader from which to read the IGCCoreMissile</param>
        private void Parse(DataReader reader)
        {
            reader.Assert(0L, 0, "UNKNOWN", "Part: Missile", "First 8 bytes");
            reader.Assert(0L, 0, "UNKNOWN", "Part: Missile", "2nd 8 bytes");

            stats_s1 = reader.ReadFloat();
            stats_s2 = reader.ReadFloat();
            ldbmp    = reader.ReadString(13);
            reader.Seek(13);
            reader.Assert((ushort)0xCCCC, 0, "Unknown", "Part: Missile", "13-byte spacer after LDBMP");
            stats_s3 = reader.ReadFloat();
            stats_s4 = reader.ReadFloat();
            stats_s5 = reader.ReadFloat();
            cost     = reader.ReadInt();
            reader.Assert((int)0, uid, "UNKNOWN", "Part: Missile", "Cost");
            model = reader.ReadString(13);
            reader.Assert((byte)0xCC, 0, "UNKNOWN", "Part: Missile", "Model");
            type        = reader.ReadString(13);
            name        = reader.ReadString(25);
            description = reader.ReadString(200);
            group       = reader.ReadShort();
            techtree    = new Techtree(reader);
            reader.Assert((ushort)0xCDCD, 0, name, "Part: Missile", "Techtree");
            sigmod    = reader.ReadFloat();
            mass      = reader.ReadFloat();
            usemask   = new BitArray(reader.ReadBytes(2));
            amount    = reader.ReadUShort();
            stats_s16 = reader.ReadFloat();
            AC        = reader.ReadByte();
            reader.Assert((byte)0xCD, 0, name, "Part: Missile", "AC");
            uid            = reader.ReadUShort();
            special_effect = reader.ReadUShort();
            icon           = reader.ReadString(13);
            reader.Assert((byte)0xCD, uid, name, "Part: Missile", "Icon");
            stats_s7            = reader.ReadFloat();  // accel
            stats_s8            = reader.ReadFloat();  // turn radius
            stats_s9            = reader.ReadFloat();  // launch velocity
            stats_s10           = reader.ReadFloat();  // lock time
            stats_s11           = reader.ReadFloat();  // ready time
            stats_s12           = reader.ReadFloat();  // max lock
            stats_s13           = reader.ReadFloat();  // CM resistance
            stats_s14           = reader.ReadFloat();  // salvo ratio
            stats_s15           = reader.ReadFloat();  // lock radius
            stats_damage        = reader.ReadFloat();
            stats_unused1       = reader.ReadFloat();  // 0 Checked
            stats_damage_radius = reader.ReadFloat();
            stats_unused2       = reader.ReadFloat();  // 0 Checked
            DM        = reader.ReadUShort();
            stats_ss3 = reader.ReadUShort();           //sound launch
            stats_ss4 = reader.ReadUShort();           //sound flight
            reader.Assert((ushort)0xCDCD, uid, name, "Part: Missile", "Flight Sound");
        }
示例#9
0
        /// <summary>
        /// Parses the IGCCoreCiv from the specified DataReader
        /// </summary>
        /// <param name="reader">The DataReader to use to read the IGCCoreCiv</param>
        private void Parse(DataReader reader)
        {
            ukf[0] = reader.ReadFloat();
            ukf[1] = reader.ReadFloat();

            name     = reader.ReadString(25);
            model    = reader.ReadString(13);
            obj      = reader.ReadString(13);
            techtree = new Techtree(reader);
            reader.Assert((byte)0xCD, 0, name, "Faction", "Techtree");
            factors = new Factors(reader);

            suk     = reader.ReadUShort();
            uid     = reader.ReadUShort();
            gar_uid = reader.ReadUShort();
            reader.Assert((ushort)0xCDCD, uid, name, "Faction", "Garrison UID");
        }
示例#10
0
        /// <summary>
        /// Parses the IGCCoreCiv from the specified DataReader
        /// </summary>
        /// <param name="reader">The DataReader to use to read the IGCCoreCiv</param>
        private void Parse(DataReader reader)
        {
            ukf[0] = reader.ReadFloat();
            ukf[1] = reader.ReadFloat();

            name     = reader.ReadString(25);
            model    = reader.ReadString(13);
            obj      = reader.ReadString(13);
            techtree = new Techtree(reader);
            reader.Assert((byte)0xCD, string.Concat("Unexpected value found when reading IGCCoreCiv ", name));
            factors = new Factors(reader);

            suk     = reader.ReadUShort();
            uid     = reader.ReadUShort();
            gar_uid = reader.ReadUShort();
            reader.Assert((byte)0xCD, string.Concat("Unexpected end bytes found when reading IGCCoreCiv ", name));
            reader.Assert((byte)0xCD, string.Concat("Unexpected end bytes found when reading IGCCoreCiv ", name));
        }
示例#11
0
        public void Parse(DataReader reader)
        {
            cost          = reader.ReadInt();
            research_time = reader.ReadInt();
            model         = reader.ReadString(13);
            reader.ReadByte();

            icon        = reader.ReadString(13);
            name        = reader.ReadString(25);
            description = reader.ReadString(200);
            group       = reader.ReadByte();
            zero        = reader.ReadByte();
            techtree    = new Techtree(reader);
            reader.Assert((ushort)0xCDCD, 0, name, "Station", "Techtree");

            stats_s1      = reader.ReadFloat();
            stats_s2      = reader.ReadFloat();
            stats_s3      = reader.ReadFloat();
            stats_s4      = reader.ReadFloat();
            stats_s5      = reader.ReadFloat();
            stats_s6      = reader.ReadFloat();
            stats_income  = reader.ReadInt();
            stats_s7      = reader.ReadFloat();
            techtreelocal = new BitArray(reader.ReadBytes(50));
            //            //
            uid            = reader.ReadUShort();
            overriding_uid = reader.ReadShort();
            ACHull         = reader.ReadByte();
            ACShld         = reader.ReadByte();
            AbilityBitMask = new BitArray(reader.ReadBytes(2));
            buildon        = (BuildOn)Enum.Parse(typeof(BuildOn), reader.ReadUShort().ToString());
            type           = reader.ReadByte();
            reader.Assert((byte)0xCD, uid, name, "Station", "Type");

            stats_ss0 = reader.ReadUShort();

            for (int i = 0; i < 13; i++)
            {
                sounds[i] = reader.ReadUShort();
            }
            uk3         = reader.ReadBytes(13);
            constructor = reader.ReadString(25);
        }
示例#12
0
        /// <summary>
        /// Parses an IGCCoreDevel from the specified DataReader
        /// </summary>
        /// <param name="reader">The DataReader from which to read this IGCCoreDevel</param>
        private void Parse(DataReader reader)
        {
            cost          = reader.ReadUInt();
            research_time = reader.ReadUInt();
            model         = reader.ReadString(13);
            reader.Assert((byte)0xCC, 0, "Model: " + model, "Development", "Model");
            icon        = reader.ReadString(13);
            name        = reader.ReadString(25);
            description = reader.ReadString(200);
            reader.Assert((byte)0, 0, name, "Development", "Description");

            root_tree = reader.ReadByte();
            techtree  = new Techtree(reader);
            reader.Assert((ushort)0xCDCD, 0, name, "Development", "Techtree");
            factors = new Factors(reader);

            uid = reader.ReadUShort();
            cat = reader.ReadUShort();
        }
示例#13
0
 private void Parse(DataReader reader)
 {
     amount         = reader.ReadUShort();
     uid            = reader.ReadUShort();
     overriding_uid = reader.ReadShort();
     parttype       = reader.ReadShort();
     group          = reader.ReadShort();
     slot           = reader.ReadString(13);
     reader.Assert((byte)0xCC, uid, name, PartType.GetName(typeof(PartType), parttype), "Slot");
 }
示例#14
0
 private void Parse(DataReader reader)
 {
     pcRED   = reader.ReadFloat();           // all zero = percent RGBA
     pcGreen = reader.ReadFloat();
     pcBlue  = reader.ReadFloat();
     pcAlpha = reader.ReadFloat();
     reader.Assert((uint)0xCCCCCCCC, 0, "UNKNOWN", "Part: Mine", "RGBA Colours");
     stats_s1 = reader.ReadFloat();            // rate rotation
     reader.Skip(13);
     icon = reader.ReadString(13);             // Length [13]; //fxmine
     reader.Assert((ushort)0xCCCC, 0, "UNKNOWN", "Part: Mine", "Icon");
     stats_s2       = reader.ReadFloat();      // load time
     stats_duration = reader.ReadFloat();
     stats_s3       = reader.ReadFloat();      // sig
     cost           = reader.ReadInt();
     reader.Assert((int)0, 0, "UNKNOWN", "Part: Mine", "Cost");
     model = reader.ReadString(13);            // Length [13];// inactive & loadout bmp (prefix with 'l')
     reader.Assert((byte)0xCC, 0, "UNKNOWN", "Part: Mine", "Model");
     type        = reader.ReadString(13);      // Length [13]; //part
     name        = reader.ReadString(25);      // Length [25];
     description = reader.ReadString(200);     // Length [200];
     group       = reader.ReadShort();
     techtree    = new Techtree(reader);
     reader.Assert((ushort)0xCDCD, 0, name, "Part: Mine", "Techtree");
     sigmod   = reader.ReadFloat();                // ship sig%
     mass     = reader.ReadFloat();                // mass
     usemask  = new BitArray(reader.ReadBytes(2)); //usemask	(2)
     amount   = reader.ReadUShort();               //cargo payload
     stats_s6 = reader.ReadFloat();                // hitpoints
     AC       = (IGCArmorClass)reader.ReadByte();  // OB
     reader.Assert((byte)0xCD, 0, name, "Part: Mine", "Armour Class");
     uid = reader.ReadUShort();
     reader.Assert((short)0, uid, name, "Part: Mine", "UID");
     ukbmp = reader.ReadString(13);             // length [13]; // icon bmp
     reader.Assert((byte)0xCD, uid, name, "Part: Mine", "UKBMP");
     stats_radius    = reader.ReadFloat();
     stats_damage    = reader.ReadFloat();
     stats_endurance = reader.ReadFloat(); // endurance
     DM = reader.ReadByte();               // 10
     reader.Assert((byte)0xCD, uid, name, "Part: Mine", "Damage Index");
     reader.Assert((ushort)0xCDCD, uid, name, "Part: Mine", "Damage Index");
 }
示例#15
0
        /// <summary>
        /// Parses an IGCCoreDevel from the specified DataReader
        /// </summary>
        /// <param name="reader">The DataReader from which to read this IGCCoreDevel</param>
        private void Parse(DataReader reader)
        {
            cost          = reader.ReadUInt();
            research_time = reader.ReadUInt();
            model         = reader.ReadString(13);
            reader.Assert((byte)0xCC, "Unexpected value encountered when parsing IGCCoreDevel");
            icon        = reader.ReadString(13);
            name        = reader.ReadString(25);
            description = reader.ReadString(200);
            reader.Skip(1);

            root_tree = reader.ReadByte();
            techtree  = new Techtree(reader);
            reader.Assert((byte)0xCD, string.Concat("Unexpected value encountered after techtree when parsing IGCCoreDevel ", name));
            reader.Assert((byte)0xCD, string.Concat("Unexpected value encountered after techtree when parsing IGCCoreDevel ", name));
            factors = new Factors(reader);

            uid = reader.ReadUShort();
            cat = reader.ReadUShort();
        }
示例#16
0
        private void Parse(DataReader reader)
        {
            reader.Assert(0L, "Unexpected data found when reading IGCCorePart header");

            model = reader.ReadString(13);
            reader.Skip(1);

            icon        = reader.ReadString(13);
            name        = reader.ReadString(25);
            description = reader.ReadString(200);
            group       = reader.ReadShort();
            techtree    = new Techtree(reader);

            reader.Assert((byte)0xCC, "Unexpected data found after Techtree in IGCCorePart");
            reader.Assert((byte)0xCC, "Unexpected data found after Techtree in IGCCorePart");

            mass           = reader.ReadFloat();
            sigmod         = reader.ReadFloat();
            uid            = reader.ReadUShort();
            specUID        = uid;
            overriding_uid = reader.ReadShort();
            parttype       = reader.ReadShort();
            usemask        = new BitArray(reader.ReadBytes(2));
            slot           = reader.ReadString(13);

            reader.Assert((byte)0xCC, "Unexpected data found at end of IGCCorePart");
            reader.Assert((byte)0xCC, "Unexpected data found at end of IGCCorePart");
            reader.Assert((byte)0xCC, "Unexpected data found at end of IGCCorePart");
        }
示例#17
0
 /// <summary>
 /// Reads an IGCCoreProbe from the specified DataReader
 /// </summary>
 /// <param name="reader">The DataReader from which to read the IGCCoreProbe</param>
 private void Parse(DataReader reader)
 {
     reader.Assert(0L, 0, "UNKNOWN", "Part: Probe", "First 8 bytes");
     reader.Assert(0L, 0, "UNKNOWN", "Part: Probe", "Second 8 bytes");
     stats_s1 = reader.ReadFloat();
     stats_s2 = reader.ReadFloat();
     model    = reader.ReadString(13);
     model1   = reader.ReadString(13);
     reader.Assert((ushort)0xCCCC, 0, "Model: " + model, "Part: Probe", "Model1");
     stats_s3 = reader.ReadFloat();
     stats_s4 = reader.ReadFloat();
     sigmod   = reader.ReadFloat();
     cost     = reader.ReadInt();
     reader.Assert((int)0, 0, "UNKNOWN", "Part: Probe", "Cost");
     ukbmp = reader.ReadString(13);
     reader.Assert((byte)0xCC, 0, "UNKNOWN", "Part: Probe", "UKBMP");
     type        = reader.ReadString(13);
     name        = reader.ReadString(25);
     description = reader.ReadString(200);
     group       = reader.ReadShort();
     techtree    = new Techtree(reader);
     reader.Assert((ushort)0xCDCD, 0, name, "Part: Probe", "Techtree");
     stats_s5 = reader.ReadFloat();
     mass     = reader.ReadFloat();
     usemask  = new BitArray(reader.ReadBytes(2));
     amount   = reader.ReadUShort();
     stats_s7 = reader.ReadFloat();
     AC       = (IGCArmorClass)reader.ReadByte();
     reader.Assert((byte)0xCD, 0, name, "Part: Probe", "Armour Class");
     uid       = reader.ReadUShort();
     stats_ss3 = new BitArray(reader.ReadBytes(2));
     icon      = reader.ReadString(13);
     reader.Assert((byte)0xCD, uid, name, "Part: Probe", "Icon");
     stats_s8         = reader.ReadFloat();
     stats_s9         = reader.ReadFloat();
     stats_s10        = reader.ReadFloat();
     stats_s11        = reader.ReadFloat();
     stats_ss4        = reader.ReadShort();
     stats_projectile = reader.ReadShort();
     stats_sound      = reader.ReadShort();
     reader.Assert((ushort)0xCDCD, uid, name, "Part: Probe", "Sound");
     stats_activation_delay = reader.ReadFloat();
 }
示例#18
0
 private void Parse(DataReader reader)
 {
     pcRED    = reader.ReadFloat();
     pcGreen  = reader.ReadFloat();
     pcBlue   = reader.ReadFloat();
     pcAlpha  = reader.ReadFloat();
     stats_s1 = reader.ReadFloat();           // radius
     stats_s2 = reader.ReadFloat();           // rate rotation
     reader.Skip(13);
     icon = reader.ReadString(13);            // Length [13];
     reader.Assert((ushort)0xCCCC, 0, "UNKNOWN", "Part: Counter", "Icon");
     stats_s3 = reader.ReadFloat();           // load time
     stats_s4 = reader.ReadFloat();           // life span
     stats_s5 = reader.ReadFloat();           // sigfloating
     stats_s6 = reader.ReadInt();             // cost
     stats_s7 = reader.ReadInt();             // build time (seconds)
     model    = reader.ReadString(13);        // Length[13];
     reader.Assert((byte)0xCC, 0, "Model: " + model, "Part: Counter", "Model");
     type        = reader.ReadString(13);     // Length [13]; //part
     name        = reader.ReadString(25);     // Length [25];
     description = reader.ReadString(200);    // Length [200];
     group       = reader.ReadShort();
     techtree    = new Techtree(reader);
     reader.Assert((ushort)0xCDCD, 0, name, "Part: Counter", "Techtree");
     sigmod    = reader.ReadFloat();                // sig mod (%)
     mass      = reader.ReadFloat();                // mass
     usemask   = new BitArray(reader.ReadBytes(2)); //2
     amount    = reader.ReadUShort();               //1 - todo
     stats_s10 = reader.ReadFloat();                // hitpoints
     AC        = (IGCArmorClass)reader.ReadByte();  // 0B default (part)
     reader.Assert((byte)0xCD, 0, name, "Part: Counter", "Armour Class");
     uid       = reader.ReadUShort();
     stats_ss2 = reader.ReadUShort();           //0
     ukbmp     = reader.ReadString(13);         // Length [13];
     reader.Assert((byte)0xCD, uid, name, "Part: Counter", "ukbmp");
     stats_s11 = reader.ReadFloat();            // strength
 }
示例#19
0
        private void Parse(DataReader reader)
        {
            wep_stats_s1 = reader.ReadFloat();
            wep_stats_s2 = reader.ReadFloat();
            wep_stats_s3 = reader.ReadFloat();
            wep_stats_s4 = reader.ReadFloat();

            wep_stats_ss1      = reader.ReadUShort();
            wep_projectile_uid = reader.ReadUShort();
            wep_stats_ss2      = reader.ReadUShort();
            wep_stats_ss3      = reader.ReadUShort();
            wep_stats_ss4      = reader.ReadUShort();

            reader.Assert((ushort)0xCCCC, uid, name, PartType.GetName(typeof(PartType), parttype), "Burst sound");
        }
示例#20
0
 private void Parse(DataReader reader)
 {
     pcRED    = reader.ReadFloat();
     pcGreen  = reader.ReadFloat();
     pcBlue   = reader.ReadFloat();
     pcAlpha  = reader.ReadFloat();
     stats_s1 = reader.ReadFloat();             // radius
     stats_s2 = reader.ReadFloat();             // rate rotation
     reader.Skip(13);
     icon = reader.ReadString(13);              // Length [13];
     reader.Assert((byte)0xCC, "Unexpected data found after icon in IGCCoreCounter");
     reader.Assert((byte)0xCC, "Unexpected data found after icon in IGCCoreCounter");
     stats_s3 = reader.ReadFloat();           // load time
     stats_s4 = reader.ReadFloat();           // life span
     stats_s5 = reader.ReadFloat();           // sigfloating
     stats_s6 = reader.ReadInt();             // cost
     stats_s7 = reader.ReadInt();             // build time (seconds)
     model    = reader.ReadString(13);        // Length[13];
     reader.Skip(1);
     type        = reader.ReadString(13);     // Length [13]; //part
     name        = reader.ReadString(25);     // Length [25];
     description = reader.ReadString(200);    // Length [200];
     group       = reader.ReadShort();
     techtree    = new Techtree(reader);
     reader.Assert((byte)0xCD, "Unexpected data found after techtree in IGCCoreCounter");
     reader.Assert((byte)0xCD, "Unexpected data found after techtree in IGCCoreCounter");
     sigmod    = reader.ReadFloat();                // sig mod (%)
     mass      = reader.ReadFloat();                // mass
     usemask   = new BitArray(reader.ReadBytes(2)); //2
     amount    = reader.ReadUShort();               //1 - todo
     stats_s10 = reader.ReadFloat();                // hitpoints
     AC        = (IGCArmorClass)reader.ReadByte();  // 0B default (part)
     reader.Assert((byte)0xCD, "Unexpected data found after AC in IGCCoreCounter");
     uid       = reader.ReadUShort();
     stats_ss2 = reader.ReadUShort();           //0
     ukbmp     = reader.ReadString(13);         // Length [13];
     reader.Assert((byte)0xCD, "Unexpected data found after ukbmp in IGCCoreCounter");
     stats_s11 = reader.ReadFloat();            // strength
 }
示例#21
0
 private void Parse(DataReader reader)
 {
     pak_stats_ss1 = reader.ReadByte();
     reader.Assert((byte)0xCC, uid, name, "Part: Pack", "Packtype");
     pak_stats_ss2 = reader.ReadUShort();
 }
示例#22
0
        public void Parse(DataReader reader)
        {
            cost = reader.ReadInt();
            reader.Assert((int)0, 0, "UNKNOWN", "Ship", "Cost");
            model = reader.ReadString(13);             // Length 13;
            reader.Assert((byte)0, 0, "Model: " + model, "Ship", "Model");

            icon        = reader.ReadString(13);  // Length 13;
            name        = reader.ReadString(25);  // Length 25;
            description = reader.ReadString(200); //Length 200;
            zero        = reader.ReadByte();      // Length 1;
            group       = reader.ReadByte();      // Length 1;
            techtree    = new Techtree(reader);   // Length 100;
            reader.Assert((short)0, 0, name, "Ship", "Techtree");

            stats_s1       = reader.ReadFloat();   // mass
            stats_s2       = reader.ReadFloat();   // sig%
            stats_s3       = reader.ReadFloat();   // speed
            stats_s4       = reader.ReadFloat();   // SAX = MaxRollRate in radians
            stats_s5       = reader.ReadFloat();   // SAY = MaxPitchRate in radians
            stats_s6       = reader.ReadFloat();   // SAZ = MaxYawRate in radians
            stats_s7       = reader.ReadFloat();   // SBX = DriftRoll (unit ?)
            stats_s8       = reader.ReadFloat();   // SBY = DriftPitch (unit ?)
            stats_s9       = reader.ReadFloat();   // SBZ = DriftYaw  (unit ?)
            stats_s10      = reader.ReadFloat();   // max thrust
            stats_s11      = reader.ReadFloat();   // STM (side thrust multiplier)
            stats_s12      = reader.ReadFloat();   // RTM (reverse thrust multiplier)
            stats_s13      = reader.ReadFloat();   // scan
            stats_s14      = reader.ReadFloat();   // fuel
            stats_s15      = reader.ReadFloat();   // lock mode (ecm)
            stats_s16      = reader.ReadFloat();   // scale
            stats_s17      = reader.ReadFloat();   // energy
            stats_s18      = reader.ReadFloat();   // recharge
            stats_s19      = reader.ReadFloat();   // rip time
            stats_s20      = reader.ReadFloat();   // rip cost
            stats_ss1      = reader.ReadUShort();  // ammo capacity
            uid            = reader.ReadUShort();  // confirmed
            overriding_uid = reader.ReadShort();   // -1 if none
            nb_parts       = reader.ReadByte();    // Length 1; part size = 30
            mnt_nbwpslots  = reader.ReadByte();    // Length 1
            stats_hp       = reader.ReadFloat();
            reader.Assert((ushort)0x021C, uid, name, "Ship", "Hitpoints");

            AC = reader.ReadByte();
            reader.Assert((byte)0, uid, name, "Ship", "Armour Class");
            stats_ld1 = reader.ReadUShort();             // missiles capacity
            stats_ld2 = reader.ReadUShort();             // pack capacity
            stats_ld3 = reader.ReadUShort();             // CM capacity
            for (int i = 0; i < 14; i++)
            {
                def_loadout[i] = reader.ReadShort();                 // Length 14; -1 or part uid
            }
            hullability = new BitArray(reader.ReadBytes(2));
            reader.Skip(14);             // all zero

            for (int i = 0; i < 8; i++)
            {
                can_use[i] = new BitArray(reader.ReadBytes(2));                 // Length 8; usage masks,see IGCShipUseMasks
            }
            Sound_Interior       = reader.ReadUShort();
            Sound_Exterior       = reader.ReadUShort();
            Sound_ThrustInterior = reader.ReadUShort();
            Sound_ThrustExterior = reader.ReadUShort();
            Sound_TurnInterior   = reader.ReadUShort();
            Sound_TurnExterior   = reader.ReadUShort();
            reader.Assert((short)0, uid, name, "Ship", "Exterior Turn Sound");

            parts = new IGCCoreShipMP[nb_parts];
            for (int i = 0; i < nb_parts; i++)
            {
                IGCCoreShipMP Part = new IGCCoreShipMP(reader);
                parts[i] = Part;                 // Length 20
            }
        }
示例#23
0
 private void Parse(DataReader reader)
 {
     pak_stats_ss1 = reader.ReadByte();
     reader.Assert((byte)0xCC, "Error while parsing IGCCorePartPack");
     pak_stats_ss2 = reader.ReadUShort();
 }
示例#24
0
 /// <summary>
 /// Reads an IGCCoreProbe from the specified DataReader
 /// </summary>
 /// <param name="reader">The DataReader from which to read the IGCCoreProbe</param>
 private void Parse(DataReader reader)
 {
     reader.Assert(0L, "Invalid header found while trying to parse IGCCoreProbe");
     reader.Assert(0L, "Invalid header found while trying to parse IGCCoreProbe");
     stats_s1 = reader.ReadFloat();
     stats_s2 = reader.ReadFloat();
     model    = reader.ReadString(13);
     model1   = reader.ReadString(13);
     reader.Assert((byte)0xCC, "Unexpected data found while trying to parse IGCCoreProbe");
     reader.Assert((byte)0xCC, "Unexpected data found while trying to parse IGCCoreProbe");
     stats_s3 = reader.ReadFloat();
     stats_s4 = reader.ReadFloat();
     sigmod   = reader.ReadFloat();
     cost     = reader.ReadInt();
     reader.Assert((int)0, "Unexpected data found while trying to parse IGCCoreProbe");
     ukbmp = reader.ReadString(13);
     reader.Assert((byte)0xCC, "Unexpected data found while trying to parse IGCCoreProbe");
     type        = reader.ReadString(13);
     name        = reader.ReadString(25);
     description = reader.ReadString(200);
     group       = reader.ReadShort();
     techtree    = new Techtree(reader);
     reader.Assert((byte)0xCD, "Unexpected data found while trying to parse IGCCoreProbe");
     reader.Assert((byte)0xCD, "Unexpected data found while trying to parse IGCCoreProbe");
     stats_s5 = reader.ReadFloat();
     mass     = reader.ReadFloat();
     usemask  = new BitArray(reader.ReadBytes(2));
     amount   = reader.ReadUShort();
     stats_s7 = reader.ReadFloat();
     AC       = (IGCArmorClass)reader.ReadByte();
     reader.Assert((byte)0xCD, "Unexpected data found while trying to parse IGCCoreProbe");
     uid       = reader.ReadUShort();
     stats_ss3 = new BitArray(reader.ReadBytes(2));
     icon      = reader.ReadString(13);
     reader.Assert((byte)0xCD, "Unexpected data found while trying to parse IGCCoreProbe");
     stats_s8         = reader.ReadFloat();
     stats_s9         = reader.ReadFloat();
     stats_s10        = reader.ReadFloat();
     stats_s11        = reader.ReadFloat();
     stats_ss4        = reader.ReadShort();
     stats_projectile = reader.ReadShort();
     stats_sound      = reader.ReadShort();
     reader.Assert((byte)0xCD, "Unexpected data found while trying to parse IGCCoreProbe");
     reader.Assert((byte)0xCD, "Unexpected data found while trying to parse IGCCoreProbe");
     stats_activation_delay = reader.ReadFloat();
 }
示例#25
0
 private void Parse(DataReader reader)
 {
     pcRED   = reader.ReadFloat();           // all zero = percent RGBA
     pcGreen = reader.ReadFloat();
     pcBlue  = reader.ReadFloat();
     pcAlpha = reader.ReadFloat();
     reader.Assert((byte)0xCC, "Unexpected data encountered after colours in IGCCoreMine");
     reader.Assert((byte)0xCC, "Unexpected data encountered after colours in IGCCoreMine");
     reader.Assert((byte)0xCC, "Unexpected data encountered after colours in IGCCoreMine");
     reader.Assert((byte)0xCC, "Unexpected data encountered after colours in IGCCoreMine");
     stats_s1 = reader.ReadFloat();            // rate rotation
     reader.Skip(13);
     icon = reader.ReadString(13);             // Length [13]; //fxmine
     reader.Assert((byte)0xCC, "Unexpected data encountered after icon in IGCCoreMine");
     reader.Assert((byte)0xCC, "Unexpected data encountered after icon in IGCCoreMine");
     stats_s2       = reader.ReadFloat();       // load time
     stats_duration = reader.ReadFloat();
     stats_s3       = reader.ReadFloat();       // sig
     cost           = reader.ReadInt();
     reader.Assert((byte)0, "Unexpected data encountered after cost in IGCCoreMine");
     reader.Assert((byte)0, "Unexpected data encountered after cost in IGCCoreMine");
     reader.Assert((byte)0, "Unexpected data encountered after cost in IGCCoreMine");
     reader.Assert((byte)0, "Unexpected data encountered after cost in IGCCoreMine");
     model = reader.ReadString(13);            // Length [13];// inactive & loadout bmp (prefix with 'l')
     reader.Assert((byte)0xCC, "Unexpected data encountered after model in IGCCoreMine");
     type        = reader.ReadString(13);      // Length [13]; //part
     name        = reader.ReadString(25);      // Length [25];
     description = reader.ReadString(200);     // Length [200];
     group       = reader.ReadShort();
     techtree    = new Techtree(reader);
     reader.Assert((byte)0xCD, "Unexpected data encountered after techtree in IGCCoreMine");
     reader.Assert((byte)0xCD, "Unexpected data encountered after techtree in IGCCoreMine");
     sigmod   = reader.ReadFloat();                // ship sig%
     mass     = reader.ReadFloat();                // mass
     usemask  = new BitArray(reader.ReadBytes(2)); //usemask	(2)
     amount   = reader.ReadUShort();               //cargo payload
     stats_s6 = reader.ReadFloat();                // hitpoints
     AC       = (IGCArmorClass)reader.ReadByte();  // OB
     reader.Assert((byte)0xCD, "Unexpected data encountered after ArmorClass in IGCCoreMine");
     uid = reader.ReadUShort();
     reader.Assert((short)0, "Unexpected data encountered after uid in IGCCoreMine");
     ukbmp = reader.ReadString(13);             // length [13]; // icon bmp
     reader.Assert((byte)0xCD, "Unexpected data encountered after ukbmp in IGCCoreMine");
     stats_radius    = reader.ReadFloat();
     stats_damage    = reader.ReadFloat();
     stats_endurance = reader.ReadFloat(); // endurance
     DM = reader.ReadByte();               // 10
     reader.Assert((byte)0xCD, "Unexpected data encountered at end of IGCCoreMine");
     reader.Assert((byte)0xCD, "Unexpected data encountered at end of IGCCoreMine");
     reader.Assert((byte)0xCD, "Unexpected data encountered at end of IGCCoreMine");
 }