
Migration Guide


If you are upgrading from previous versions of Ares, you may have to
account for the following changes.

From Ares 0.1


Changed tags:

  [SuperWeapon]►SW.Deliver --> [SuperWeapon]►Deliver.Types.
    Replace the old tag name by the new tag name.
  
  [SuperWeapon]►SW.DeliverBuildups --> [SuperWeapon]►Deliver.Buildups.
    Replace the old tag name by the new tag name.
  
  [SuperWeapon]►SonarPulse.Range --> [SuperWeapon]►SW.Range.
    Replace the old tag name by the new tag name.
  
  [SuperWeapon]►GenericWarhead.Warhead --> [SuperWeapon]►SW.Warhead.
    Replace the old tag name by the new tag name.
  
  [SuperWeapon]►GenericWarhead.Damage --> [SuperWeapon]►SW.Damage.
    Replace the old tag name by the new tag name.
  
  [SuperWeapon]►Nuke.Sound --> [SuperWeapon]►SW.ActivationSound.
    Replace the old tag name by the new tag name.

Other changes:

  Ares 0.1 supported options in ares.ini to configure how
  graphics surfaces were allocated. The tags Surface.*.Memory and
  Surface.*.Force3D are obsolete now and have no effect any more.

From Ares 0.2 and below


Changed tags:

  No changes required.

Other changes:

  The ini file reader has been updated for Ares 0.3. Values that were
  invalid previously might now be valid, and previously valid notations might
  have become invalid. If values cannot be parsed correctly, Ares
  puts a message into the debug log.

  For example, it was possible to supply only one or two numbers when three
  comma separated numbers were expected. In that case, the value became
  inconsistent. This is no longer allowed and will result in a message in the
  debug log.

From Ares 0.3 and below


Changed tags:

  The following tags have been changed to use the actual value of their default
  tags, not the value the default tags have in rulesmd.ini. If a default
  is changed in a game mode or map file, this updated value will be used. In
  other words: It now uses the last value, while previously the first would have
  been used.

  If you do not change a default tag in game modes or maps, no action is needed.
  If you want to use the value the default tag has in rulesmd.ini, you
  have to copy the default value to the respective tag. 

  [Weapon]►IvanBomb.AttachSound
    Defaults to [AudioVisual]►BombAttachSound.

  [Weapon]►IvanBomb.TickingSound
    Defaults to [AudioVisual]►BombTickingSound.

  [SuperWeapon]►Lightning.Sounds
    Defaults to [AudioVisual]►LightningSounds.

  [SuperWeapon]►Lightning.Clouds
    Defaults to [General]►WeatherConClouds.

  [SuperWeapon]►Lightning.Bolts
    Defaults to [General]►WeatherConBolts.

  [SuperWeapon]►Lightning.Debris
    Defaults to [General]►MetallicDebris.

Other changes:

  Animations that have an owner now also respect AffectsAllies.
  Previously only AffectsEnemies was supported.

  The original tag Crashable does now also apply to
  AircraftTypes. Previously it had no function.

  The original tags Pip and OccupyPip have been changed to also
  support integers. Previously, integers were invalid and defaulted to
  green.

From Ares 0.4 and below


Changed tags:

  The following tags have been changed to use the actual value of their default
  tags. (Continued work from the Ares 0.4 release.)

  [Side]►DefaultDisguise
    Defaults to the original tag for a side.

  [Side]►Crew
    Defaults to the original tag for a side.

  [Side]►SurvivorDivisor
    Defaults to the original tag for a side.

  [Side]►AI.BaseDefenses
    Defaults to the original tag for a side.

  [Side]►AI.BaseDefenseCounts
    Defaults to the original tag for a side.

  [Weapon]►IvanBomb.Warhead
    Defaults to [CombatDamage]►IvanWarhead.

  [Weapon]►IvanBomb.Damage
    Defaults to [CombatDamage]►IvanDamage.

  [Weapon]►IvanBomb.Delay
    Defaults to [CombatDamage]►IvanTimedDelay.

  [Weapon]►IvanBomb.FlickerRate
    Defaults to [CombatDamage]►IvanIconFlickerRate.

Other changes:

  Values in [Side]►Crew and [Side]►DefaultDisguise will not be added
  to the list of InfantryTypes automatically any more. Make sure these
  values are listed under the InfantryTypes list.

  Previously, destroyed units did not eject survivors if they were owned by
  Neutral or Special, because Ares did not support
  survivors for them. The original handling has been restored, and these houses
  will use [General]►Technician as crew.

From Ares 0.5 and below


Changed tags:

  The following tags have been changed to use the actual value of their default
  tags. (Continued work from earlier Ares releases.)

  [Side]►ParaDrop.Num
    Defaults to the original tag for a side.

  [Side]►ParaDrop.Types
    Defaults to the original tag for a side.

  [Side]►Parachute.Anim
    Defaults to [General]►Parachute.

  [Country]►ParaDrop.Num
    Defaults to the side's ParaDrop.Num.

  [Country]►ParaDrop.Types
    Defaults to the side's ParaDrop.Types.

  [Country]►AI.PowerPlants
    If empty or not set, the side's default power plants are used.

  [Weapon]►Wave.Color
    Default depends on wave type.

  [SuperWeapon]►SW.Damage
    Default depends on Type.

  [SuperWeapon]►SW.Range
    Default depends on Type.

  [SuperWeapon]►SW.Deferment
    Defaults to [General]►LightningDeferment for
    Type=LightningStorm.

  [SuperWeapon]►SW.Animation
    Default depends on Type.

  [SuperWeapon]►SW.Sound
    Default depends on Type.

  [SuperWeapon]►SW.ActivationSound
    Default depends on Type.

  [SuperWeapon]►Lightning.Duration
    Defaults to [General]►LightningStormDuration.

  [SuperWeapon]►Lightning.RadarOutage
    Defaults to [General]►LightningStormDuration.

  [SuperWeapon]►Lightning.HitDelay
    Defaults to [General]►LightningHitDelay.

  [SuperWeapon]►Lightning.ScatterDelay
    Defaults to [General]►LightningScatterDelay.

  [SuperWeapon]►Lightning.Separation
    Defaults to [General]►LightningSeparation.

  [SuperWeapon]►Lightning.PrintText
    Defaults to [General]►LightningPrintText.

  [SuperWeapon]►Lightning.BoltExplosion
    Defaults to [General]►WeatherConBoltExplosion.

  [SuperWeapon]►Nuke.TakeOff
    Defaults to [General]►NukeTakeOff.

  [SuperWeapon]►Dominator.FireAtPercentage
    Defaults to [General]►DominatorFireAtPercentage.

  [SuperWeapon]►Chronosphere.BlastSrc
    Defaults to [General]►ChronoBlast.

  [SuperWeapon]►Chronosphere.BlastDest
    Defaults to [General]►ChronoBlastDest.

  [SuperWeapon]►Mutate.Explosion
    Defaults to [General]►MutateExplosion.

From Ares 0.6 and below


Changed tags:

  No changes required.

Other changes:

  Only unpowered units create sparkle particle systems. Deactivation because of
  EMP and Operator logics does not make the unit sparkle any more. This is not
  optional at the moment.

From Ares 0.7 and below


Changed tags:

  No changes required.

Other changes:

  The Unit Delivery super weapon uses a new placing method. Compared to previous
  versions, unit and buildings are placed more random now. Delivered objects are
  put on guard, area guard or hunt mission.

  Force Shield no longer considers buildings with ForceShield.Modifier
  less than or equal to 0.0 eligible targets.

  Super weapon targeting mode Self now centers on the firing building
  instead of using the origin.

From Ares 0.8 and below


Changed tags:

  The following tags have been changed to use the actual value of their default
  tags. (Continued work from earlier Ares releases.)

  [BuildingType]►SecretLab.PossibleBoons
    Defaults to the combination of the latest [General]►SecretInfantry,
    [General]►SecretUnits and [General]►SecretBuildings.

Other changes:

  The way projectiles deliver the new warhead effects has changed. Previously,
  they were applied on the location the projectile was supposed to hit, not
  where it actually detonated. Short distance misses still count as direct hit.
  Abduction, KillDriver and Occupant Damage are only applied on direct hits.

  AttachEffect only checked verses if it had an owner. Now verses are applied
  even if owner-less. Previously affected victims might not get affected any
  more.

  The default SW.AITargeting for Type=HunterSeeker super weapons
  has been changed from NoTarget to HunterSeeker. It now only
  fires if the house has selected a favorite enemy.

  The targeting type Stealth now adheres to SW.AIRequiresTarget
  and SW.AIRequiresHouse instead of SW.RequiresTarget and
  SW.RequiresHouse. The targeting type Offensive no longer
  requires SW.AffectedHouse to include enemies.

  Prism Forwarding now properly uses negative intensity values for supporting
  beams. A PrismSupportModifier related bug has been fixed.

  Lasers were often drawn too big. This has been changed.

From Ares 0.9 and below


Changed tags:

  No changes required.

Other changes:

  Solid Buildings have been reworked. The feature now works with invisible
  projectiles. Also, units will now change positions instead of just firing
  through a Solid Building.

  The Firestorm Wall active and idle animations will now draw in the building's
  palette, while they were drawn using the animation palette before.

  ares.csf will always be read, no matter which language the game is run
  in.

From Ares 0.A and below


Changed tags:

  No changes required.

Other changes:

  None.

From Ares 0.B and below


Changed tags:

  [TechnoType]►Spotlight.StartHeight
    Default has been changed to 430. Defaulted to 200 before.

  [TechnoType]►Spotlight.AttachedTo
    The value barrel is no longer supported. Use turret
    instead.

  [Country]►AI.PowerPlants
    Default for the second side and all sides after side 3 now includes
    [General]►NodAdvancedPower again.

  [Projectile]►SubjectToFirewall
    The tag has been removed. Use [Projectile]►IgnoresFirestorm instead.

Other changes:

  None.

From Ares 0.C and below


Changed tags:

  [General]►EngineerDamageCursor
    The tag has been removed. Customize the EngineerDamage cursor
    instead.

  [General]►TogglePowerCursor
    The tag has been removed. Customize the TogglePower cursor
    instead.

  [General]►TogglePowerNoCursor
    The tag has been removed. Customize the NoTogglePower cursor
    instead.

  [SuperWeapon]►Cursor
    The tag has been changed to only support mouse cursor names.

  [SuperWeapon]►NoCursor
    The tag has been changed to only support mouse cursor names.

  [SuperWeapon]►Deliver.Buildups
    The tag has been removed. Buildups are now always on.

Other changes:

  Some ArmorType parsing issues have been resolved to improve defaulting
  to other types, and to not reset data unexpectedly.

  The Unit Delivery super weapon has been reworked. It now allows placing units
  on ore, and delivered objects are put on guard, area guard or hunt mission.
  The option to skip the buildup animations has been deprecated, because it
  never worked correctly.

  Hunter Seekers no longer target objects under the effect of the Iron Curtain
  or objects being temporally attacked.

From Ares 0.D and below


Changed tags:

  [SuperWeapon]►Nuke.Payload
    No longer automatically adds the weapon to the list. Ensure that the weapon
    is known to the game by adding it to the [WeaponTypes]► list.

Other changes:

  KillDriver has been changed to be applied like regular damage. It now
  respects immunities and supports CellSpread. Thus, the effect might
  not be applied in all cases where it was applied before, and might be applied
  in cases where it previously was not.

From Ares 0.E and below


Changed tags:

  No changes required.

Other changes:

  Some Super Weapon Targeting Modes used the wrong target cell when firing at
  buildings. Now, the centers of the buildings are targeted. Affected modes are
  Nuke, LightningStorm, Offensive, Stealth,
  Self, and MultiMissile.

From Ares 1.0 and below


Changed tags:

  [BuildingType]►SpyEffect.UnitVeterancy
    This setting has been replaced by finer grained options. Replace with
    SpyEffect.InfantryVeterancy=yes for BuildingType\ s with
    Factory=InfantryType, and with SpyEffect.VehicleVeterancy=yes
    for BuildingType\ s with Factory=UnitType to achieve the
    previous effect.

  [BuildingType]►FactoryOwners.HaveAllPlans= --> [BuildingType]►FactoryOwners.Permanent=.
    Replace the old tag name by the new tag name.

  [Warhead]►Ripple.Radius= --> [Warhead]►IonCannon.Ripple=.
    Replace the old tag name by the new tag name.

  [Weapon]►Abductor.ChangeOwner=.
    Respects PSIONICSIMMUNE veteran ability.

Other changes:

  Splits logic only targets air units if the AirburstWeapon projectile is
  AA=yes. Furthermore, Splits logic now only retargets objects that the
  projectile's warhead can affect.

  Units lifted by a Magnetron no longer count as being actively in air, and EMP
  might no longer destroy them.

  The AI supports other Iron Curtains and it might now use super weapons with
  Type=IronCurtain it has not used before, because of the changed default
  for SW.AITargetingMode. To restore previous behavior, manually set
  SW.AITargetingMode=none on all but the first super weapon with
  Type=IronCurtain.

  DeployToLand=yes units will only turn towards DeployDir if they
  have a DeployingAnim.

From Ares 2.0 and below


Changed tags:

  [BuildingType]►SpyEffect.StolenMoneyAmount
    [BuildingType]►SpyEffect.StolenMoneyPercentage now takes precedence,
    and the meaning of this tag changed if both tags are used together. To
    retain the previous behavior in this case, remove
    [BuildingType]►SpyEffect.StolenMoneyPercentage.

  [BuildingType]►PrismForwarding.MyHeight
    The tag has been removed. It had no effect.

  [BuildingType]►Rubble.Destroyed
    The hardcoded building properties have been removed. To go back to the
    previous behavior, set TogglePower=no and Unsellable=yes.
    Rubble buildings are not allowed to have occupants or passengers.

  [InfantryType]►IsDesolator
    Now also controls the behavior that deployed infantry starts firing at the
    ground automatically. Desolator-like infantry has to have this set.

Other changes:

  Overlay images for Ivan Bombs have been rewritten to work like in the original
  game. Editing bombcurs.shp is no longer necessary.

  The default SW.AITargeting for Type=DropPod super weapons
  has been changed from ParaDrop to DropPod. The effect is
  similar.

  The Soviet Repair Depot can now by default be used to sell units. To restore
  the vanilla behavior, add [NADEPT]►UnitSell=no to rulesmd.ini.
