Exemplo n.º 1
0
        public override void ReadData(RAMBuffer buffer)
        {
            ResourceCosts = new List<ResourceTuple<short, short, short>>(3);
            for(int i = 0; i < 3; ++i)
                ResourceCosts.Add(new ResourceTuple<short, short, short>() { Type = buffer.ReadShort(), Amount = buffer.ReadShort(), Enabled = buffer.ReadShort() });

            TrainTime = buffer.ReadShort();
            TrainLocationID = buffer.ReadShort();
            ButtonID = buffer.ReadByte();
            Unknown26 = buffer.ReadInteger();
            Unknown27 = buffer.ReadInteger();
            Unknown28 = buffer.ReadByte();
            HeroMode = buffer.ReadByte();
            GarrisonGraphic = buffer.ReadInteger();
            DuplicatedMissilesMin = buffer.ReadFloat();
            DuplicatedMissilesMax = buffer.ReadByte();

            MissileSpawningArea = new List<float>(3);
            for(int i = 0; i < 3; ++i)
                MissileSpawningArea.Add(buffer.ReadFloat());

            AlternativeProjectileUnit = buffer.ReadInteger();
            ChargingGraphic = buffer.ReadInteger();
            ChargingMode = buffer.ReadByte();
            DisplayedPierceArmour = buffer.ReadShort();
        }
Exemplo n.º 2
0
        public override void ReadData(RAMBuffer buffer)
        {
            ConstructionGraphicID = buffer.ReadShort();
            SnowGraphicID = buffer.ReadShort();
            AdjacentMode = buffer.ReadByte();
            GraphicsAngle = buffer.ReadShort();
            DisappearsWhenBuilt = buffer.ReadByte();
            StackUnitID = buffer.ReadShort();
            FoundationTerrainID = buffer.ReadShort();
            OldTerrainLikeID = buffer.ReadShort();
            ResearchID = buffer.ReadShort();
            Unknown33 = buffer.ReadByte();

            Annexes = new List<BuildingAnnex>(4);
            for(int i = 0; i < 4; ++i)
                Annexes.Add(new BuildingAnnex().ReadDataInline(buffer));

            HeadUnit = buffer.ReadShort();
            TransformUnit = buffer.ReadShort();
            UnknownSound = buffer.ReadShort();
            ConstructionSound = buffer.ReadShort();
            GarrisonType = buffer.ReadByte();
            GarrisonHealRate = buffer.ReadFloat();
            Unknown35 = buffer.ReadFloat();
            PileUnit = buffer.ReadShort();

            LootingTable = new List<byte>(6);
            for(int i = 0; i < 6; ++i)
                LootingTable.Add(buffer.ReadByte());
        }
Exemplo n.º 3
0
 public override void ReadData(RAMBuffer buffer)
 {
     SheepConversion = buffer.ReadShort();
     SearchRadius = buffer.ReadFloat();
     WorkRate = buffer.ReadFloat();
     DropSite1 = buffer.ReadShort();
     DropSite2 = buffer.ReadShort();
     VillagerMode = buffer.ReadByte();
     AttackSound = buffer.ReadShort();
     MoveSound = buffer.ReadShort();
     AnimalMode = buffer.ReadByte();
 }
Exemplo n.º 4
0
        public override void ReadData(RAMBuffer buffer)
        {
            WalkingGraphic1 = buffer.ReadShort();
            WalkingGraphic2 = buffer.ReadShort();
            RotationSpeed = buffer.ReadFloat();
            Unknown11 = buffer.ReadByte();
            TrackingUnit = buffer.ReadShort();
            TrackingUnitUsed = buffer.ReadByte();
            TrackingUnitDensity = buffer.ReadFloat();
            Unknown16 = buffer.ReadByte();

            Unknown16B = new List<int>(5);
            for(int i = 0; i < 5; ++i)
                Unknown16B.Add(buffer.ReadInteger());
        }
Exemplo n.º 5
0
 public override void ReadData(RAMBuffer buffer)
 {
     Type = buffer.ReadByte();
     A = buffer.ReadShort();
     B = buffer.ReadShort();
     C = buffer.ReadShort();
     D = buffer.ReadFloat();
 }
Exemplo n.º 6
0
 public override void ReadData(RAMBuffer buffer)
 {
     StretchMode = buffer.ReadByte();
     CompensationMode = buffer.ReadByte();
     DropAnimationMode = buffer.ReadByte();
     PenetrationMode = buffer.ReadByte();
     Unknown24 = buffer.ReadByte();
     ProjectileArc = buffer.ReadFloat();
 }
Exemplo n.º 7
0
        public override void ReadData(RAMBuffer buffer)
        {
            TerrainAccessibleFlags = new List<float>(TerrainCount);
            for(int i = 0; i < TerrainCount; ++i)
                TerrainAccessibleFlags.Add(buffer.ReadFloat());

            TerrainPassGraphics = new List<TerrainPassGraphic>(TerrainCount);
            for(int i = 0; i < TerrainCount; ++i)
                TerrainPassGraphics.Add(new TerrainPassGraphic().ReadDataInline(buffer));
        }
Exemplo n.º 8
0
        public override void ReadData(RAMBuffer buffer)
        {
            DefaultArmour = buffer.ReadShort();

            ushort attackCount = buffer.ReadUShort();
            Attacks = new Dictionary<short, short>(attackCount);
            for(int i = 0; i < attackCount; ++i)
                Attacks[buffer.ReadShort()] = buffer.ReadShort();

            ushort armourCount = buffer.ReadUShort();
            Armours = new Dictionary<short, short>(armourCount);
            for(int i = 0; i < armourCount; ++i)
                Armours[buffer.ReadShort()] = buffer.ReadShort();

            TerrainRestrictionForDamageMultiplying = buffer.ReadShort();
            MaxRange = buffer.ReadFloat();
            BlastRadius = buffer.ReadFloat();
            ReloadTime = buffer.ReadFloat();
            ProjectileUnitID = buffer.ReadShort();
            AccuracyPercent = buffer.ReadShort();
            TowerMode = buffer.ReadByte();
            FrameDelay = buffer.ReadShort();

            GraphicDisplacement = new List<float>(3);
            for(int i = 0; i < 3; ++i)
                GraphicDisplacement.Add(buffer.ReadFloat());

            BlastLevel = buffer.ReadByte();
            MinRange = buffer.ReadFloat();
            AccuracyErrorRadius = buffer.ReadFloat();
            AttackGraphic = buffer.ReadShort();
            DisplayedMeleeArmour = buffer.ReadShort();
            DisplayedAttack = buffer.ReadShort();
            DisplayedRange = buffer.ReadFloat();
            DisplayedReloadTime = buffer.ReadFloat();
        }
Exemplo n.º 9
0
        public override void ReadData(RAMBuffer buffer)
        {
            One = buffer.ReadByte();
            Name = buffer.ReadString(20);
            int resourceCount = buffer.ReadUShort();
            TechTreeID = buffer.ReadShort();
            TeamBonusID = buffer.ReadShort();

            Resources = new List<float>(resourceCount);
            for(int i = 0; i < resourceCount; ++i)
                Resources.Add(buffer.ReadFloat());

            IconSet = buffer.ReadByte();

            int unitCount = buffer.ReadUShort();
            UnitPointers = new List<int>(unitCount);
            for(int i = 0; i < unitCount; ++i)
                UnitPointers.Add(buffer.ReadInteger());

            Units = new SortedList<int, Unit>(unitCount);
            for(int p = 0; p < UnitPointers.Count; ++p)
                if(UnitPointers[p] != 0)
                    Units.Add(p, new Unit().ReadDataInline(buffer));
        }
Exemplo n.º 10
0
        public override void ReadData(RAMBuffer buffer)
        {
            Name1 = buffer.ReadString(21);
            Name2 = buffer.ReadString(13);

            SLP = buffer.ReadInteger();
            Unknown1 = buffer.ReadByte();
            Unknown2 = buffer.ReadByte();
            Layer = buffer.ReadByte();
            PlayerColor = buffer.ReadByte();
            Rainbow = buffer.ReadByte();
            Replay = buffer.ReadByte();

            Coordinates = new List<short>(4);
            for(int i = 0; i < 4; ++i)
                Coordinates.Add(buffer.ReadShort());

            int deltaCount = buffer.ReadUShort();

            SoundID = buffer.ReadShort();
            AttackSoundUsed = buffer.ReadByte();
            FrameCount = buffer.ReadUShort();
            AngleCount = buffer.ReadUShort();
            NewSpeed = buffer.ReadFloat();
            FrameRate = buffer.ReadFloat();
            ReplayDelay = buffer.ReadFloat();
            SequenceType = buffer.ReadByte();
            ID = buffer.ReadShort();
            MirroringMode = buffer.ReadByte();
            Unknown3 = buffer.ReadByte();

            Deltas = new List<GraphicDelta>(deltaCount);
            for(int i = 0; i < deltaCount; ++i)
                Deltas.Add(new GraphicDelta().ReadDataInline(buffer));

            if(AttackSoundUsed != 0)
            {
                AttackSounds = new List<GraphicAttackSound>(AngleCount);
                for(int i = 0; i < AngleCount; ++i)
                    AttackSounds.Add(new GraphicAttackSound().ReadDataInline(buffer));
            }
        }
Exemplo n.º 11
0
            public override void ReadData(RAMBuffer buffer)
            {
                One = buffer.ReadShort();
                ID = buffer.ReadShort();
                Unknown1 = buffer.ReadByte();
                Type = buffer.ReadShort();
                ClassID = buffer.ReadShort();
                UnitID = buffer.ReadShort();
                TerrainID = buffer.ReadShort();
                ResourceIn = buffer.ReadShort();
                ResourceProductivityMultiplier = buffer.ReadShort();
                ResourceOut = buffer.ReadShort();
                Resource = buffer.ReadShort();
                WorkRateMultiplier = buffer.ReadFloat();
                ExecutionRadius = buffer.ReadFloat();
                ExtraRange = buffer.ReadFloat();
                Unknown4 = buffer.ReadByte();
                Unknown5 = buffer.ReadFloat();
                SelectionEnabler = buffer.ReadByte();
                Unknown7 = buffer.ReadByte();
                PlunderSource = buffer.ReadShort();
                Unknown9 = buffer.ReadShort();
                SelectionMode = buffer.ReadByte();
                RightClickMode = buffer.ReadByte();
                Unknown12 = buffer.ReadByte();

                Graphics = new List<short>(6);
                for(int i = 0; i < 6; ++i)
                    Graphics.Add(buffer.ReadShort());
            }
Exemplo n.º 12
0
            public override void ReadData(RAMBuffer buffer)
            {
                Type = (UnitType)buffer.ReadByte();
                NameLength1 = buffer.ReadUShort();
                ID1 = buffer.ReadShort();
                LanguageDLLName = buffer.ReadUShort();
                LanguageDLLCreation = buffer.ReadUShort();
                Class = buffer.ReadShort();
                StandingGraphic1 = buffer.ReadShort();
                StandingGraphic2 = buffer.ReadShort();
                DyingGraphic1 = buffer.ReadShort();
                DyingGraphic2 = buffer.ReadShort();
                DeathMode = buffer.ReadByte();
                HitPoints = buffer.ReadShort();
                LineOfSight = buffer.ReadFloat();
                GarrisonCapacity = buffer.ReadByte();
                SizeRadius1 = buffer.ReadFloat();
                SizeRadius2 = buffer.ReadFloat();
                HPBarHeight1 = buffer.ReadFloat();
                TrainSound1 = buffer.ReadShort();
                TrainSound2 = buffer.ReadShort();
                DeadUnitID = buffer.ReadShort();
                PlacementMode = buffer.ReadByte();
                AirMode = buffer.ReadByte();
                IconID = buffer.ReadShort();
                HideInEditor = buffer.ReadByte();
                Unknown1 = buffer.ReadShort();
                Enabled = buffer.ReadByte();
                Disabled = buffer.ReadByte();
                PlacementBypassTerrain1 = buffer.ReadShort();
                PlacementBypassTerrain2 = buffer.ReadShort();
                PlacementTerrain1 = buffer.ReadShort();
                PlacementTerrain2 = buffer.ReadShort();
                EditorRadius1 = buffer.ReadFloat();
                EditorRadius2 = buffer.ReadFloat();
                HillMode = buffer.ReadByte();
                VisibleInFog = buffer.ReadByte();
                TerrainRestriction = buffer.ReadShort();
                FlyMode = buffer.ReadByte();
                ResourceCapacity = buffer.ReadShort();
                ResourceDecay = buffer.ReadFloat();
                BlastType = buffer.ReadByte();
                Unknown2 = buffer.ReadByte();
                InteractionMode = buffer.ReadByte();
                MinimapMode = buffer.ReadByte();
                CommandAttribute = buffer.ReadByte();
                Unknown3A = buffer.ReadFloat();
                MinimapColor = buffer.ReadByte();
                LanguageDLLHelp = buffer.ReadInteger();
                LanguageDLLHotKeyText = buffer.ReadInteger();
                HotKey = buffer.ReadInteger();
                Unselectable = buffer.ReadByte();
                Unknown6 = buffer.ReadByte();
                UnknownSelectionMode = buffer.ReadByte();
                Unknown8 = buffer.ReadByte();
                SelectionMask = buffer.ReadByte();
                SelectionShapeType = buffer.ReadByte();
                SelectionShape = buffer.ReadByte();
                Attribute = buffer.ReadByte();
                Civilization = buffer.ReadByte();
                Nothing = buffer.ReadShort();
                SelectionEffect = buffer.ReadByte();
                EditorSelectionColor = buffer.ReadByte();
                SelectionRadius1 = buffer.ReadFloat();
                SelectionRadius2 = buffer.ReadFloat();
                HPBarHeight2 = buffer.ReadFloat();

                ResourceStorages = new List<ResourceTuple<short, float, byte>>(3);
                for(int i = 0; i < 3; ++i)
                    ResourceStorages.Add(new ResourceTuple<short, float, byte>() { Type = buffer.ReadShort(), Amount = buffer.ReadFloat(), Enabled = buffer.ReadByte() });

                int damageGraphicCount = buffer.ReadByte();
                DamageGraphics = new List<DamageGraphic>();
                for(int i = 0; i < damageGraphicCount; ++i)
                    DamageGraphics.Add(new DamageGraphic().ReadDataInline(buffer));

                SelectionSound = buffer.ReadShort();
                DyingSound = buffer.ReadShort();
                AttackMode = buffer.ReadByte();
                EdibleMeat = buffer.ReadByte();
                Name1 = buffer.ReadString(NameLength1);
                ID2 = buffer.ReadShort();
                ID3 = buffer.ReadShort();

                if(Type >= UnitType.Flag)
                    Speed = buffer.ReadFloat();
                if(Type >= UnitType.DeadFish)
                    DeadFish = new UnitTypes.DeadFish().ReadDataInline(buffer);
                if(Type >= UnitType.Bird)
                    Bird = new UnitTypes.Bird().ReadDataInline(buffer);
                if(Type >= UnitType.Type50)
                    Type50 = new UnitTypes.Type50().ReadDataInline(buffer);
                if(Type == UnitType.Projectile)
                    Projectile = new UnitTypes.Projectile().ReadDataInline(buffer);
                if(Type >= UnitType.Creatable)
                    Creatable = new UnitTypes.Creatable().ReadDataInline(buffer);
                if(Type == UnitType.Building)
                    Building = new UnitTypes.Building().ReadDataInline(buffer);
            }
Exemplo n.º 13
0
 public override void ReadData(RAMBuffer buffer)
 {
     UnitID = buffer.ReadShort();
     MisplacementX = buffer.ReadFloat();
     MisplacementY = buffer.ReadFloat();
 }