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(); }
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()); }
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(); }
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()); }
public override void ReadData(RAMBuffer buffer) { Type = buffer.ReadByte(); A = buffer.ReadShort(); B = buffer.ReadShort(); C = buffer.ReadShort(); D = buffer.ReadFloat(); }
public override void ReadData(RAMBuffer buffer) { StretchMode = buffer.ReadByte(); CompensationMode = buffer.ReadByte(); DropAnimationMode = buffer.ReadByte(); PenetrationMode = buffer.ReadByte(); Unknown24 = buffer.ReadByte(); ProjectileArc = buffer.ReadFloat(); }
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)); }
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(); }
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)); }
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)); } }
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()); }
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); }
public override void ReadData(RAMBuffer buffer) { UnitID = buffer.ReadShort(); MisplacementX = buffer.ReadFloat(); MisplacementY = buffer.ReadFloat(); }