Skip to content

Theater

Changed in 0.2.0

Marks a type's artwork as theater-specific in the art file; in a map file it instead names the theater the scenario is played in.

Theater-specific artwork

Specification — Theater-specific artwork
Applies to
ObjectType and derived types
AircraftTypeBuildingTypeBulletTypeInfantryTypeOverlayTypeParticleSystemTypeParticleTypeSmudgeTypeTerrainTypeUnitTypeVoxelAnimType
File
art.ini
Section
[<Image ID>]Image ID: Image= value; ObjectType ID when omitted
Value
boolean
When omitted
no

The type’s shape file takes the extension set by the scenario theater’s Suffix in place of .SHP. By default that is .TEM in temperate and .SNO in snow. The rest of the name is the Image ID, with the exceptions below for a TerrainType, SmudgeType, or BuildingType. There is no fallback to .SHP, so a type with no file for the current theater has no shape in that theater.

art.ini
[MYROCK] ; a TerrainType that sets no Image=
Theater=yes ; draws MYROCK.TEM or MYROCK.SNO, never MYROCK.SHP

This applies to a BuildingType, OverlayType, SmudgeType, TerrainType, BulletType, and ParticleType. A ParticleSystemType or VoxelAnimType draws no shape, so the flag changes nothing on them.

The file is looked up again for every scenario and every loaded saved game, so its extension always matches the current theater.

A type that also sets NewTheater=yes uses this flag and ignores that one.

Leave Image= unset on a TerrainType or SmudgeType marked here, or set it to the type’s own ObjectType ID. When the scenario’s theater differs from the previous scenario’s, these two types look up the theater file under their ObjectType ID. When the theater repeats, and after a saved game loads, they use the Image ID, so a different Image ID gives different artwork depending on how the scenario was reached.

A BuildingType loads its theater shape even when it is Voxel=yes. After a saved game loads, the name’s second letter is also replaced as NewTheater=yes describes. A structure whose Image ID is GAHUT therefore draws GAHUT.TEM in a temperate scenario, and GTHUT.TEM once that game is saved and loaded.

When a scenario starts, a BuildingType marked here also loads its Buildup file with the theater’s extension, unless it sets DemandLoadBuildup=yes. The Buildup page covers how that changes the construction animation. After a saved game loads, the structure uses the ordinary construction file and timing described there.

On an AircraftType, InfantryType, or UnitType the flag has no effect when a scenario starts: the type loads its plain <Image ID>.SHP. After a saved game loads, though, these types take the theater file when one exists, so an infantry type or a shape-drawn vehicle can change its look on loading. Leave the flag off these types.

Theater-specific animation artwork

Specification — Theater-specific animation artwork
Applies to
AnimType
File
art.ini
Section
[<ObjectType ID>]
Value
boolean
When omitted
no
Read order

This setting is accepted under more than one entry heading; the last one the engine reads wins.

OrderFileSection
1art.ini[<Image ID>]Image ID: Image= value; ObjectType ID when omitted
2art.ini[<ObjectType ID>]

The animation’s shape file is named after its AnimType ID, with the extension set by the scenario theater’s Suffix in place of .SHP. By default that is .TEM in temperate and .SNO in snow.

art.ini
[MYBLAST] ; an AnimType ID
Theater=yes ; draws MYBLAST.TEM or MYBLAST.SNO

When the theater’s file is missing, the animation draws <AnimType ID>.SHP instead. That fallback applies when the scenario’s theater differs from the previous scenario’s, and after a saved game loads. The animation draws nothing in that theater in two cases:

  • The scenario repeats the previous scenario’s theater.
  • The animation sets DemandLoad=yes.

The file is looked up again for every scenario and every loaded saved game, so its extension always matches the current theater.

An animation that also sets NewTheater=yes uses this flag and ignores that one.

Scenario theater

Specification — Scenario theater
Applies to
scenarios
File
map file
Section
[Map]
Value
TheaterType
When omitted
Context-dependentThe first theater the rules declare, which is TEMPERATE unless a [Theaters] list puts another first.
Parse behavior

read twice from the same [Map] entry into the same scenario member, once as the scenario is set up and once as the map is read

map file
[Map]
Theater=SNOW

The theater decides which tile, art and palette archives are mounted for the whole map load, so it is settled before the map’s houses, objects, terrain and rules overrides are read. Unlike most scenario-wide settings, it goes under [Map], not [Basic].

The value names one of the theaters the rules file lists in [Theaters], ignoring case. Rules that declare no such section still have TEMPERATE and SNOW, in that order. A name that matches no theater is ignored, and the map is played in the first declared theater.

The theater also decides whether ice grows. IceGrowthEnabled does nothing in a theater whose IsIceGrowthEnabled is off.

History

  1. Changed0.2.0In development

    Declare extra theaters in the rules — scenarios