Skip to content

Theater control files

Formats

Changed in 0.2.0

Defines theater-wide tile-set indices and the properties of each tile set.

Format
Kind
Configuration file
Filename
<Theater root>.INI

A theater’s control file is its Root plus .INI: TEMPERAT.INI for the temperate theater and SNOW.INI for snow. The game reads it when a scenario starts in a theater other than the one already loaded, after mounting that theater’s archives, so the file can ship inside them. A loose copy is used ahead of an archived one; OPENTS.INI lists the folders searched and their order.

Starting a scenario in the theater already loaded keeps the tile sets read earlier and does not read the file again. Loading a saved game always reads it again. Each read replaces the previous theater’s tile sets.

[General] assigns tile sets to the roles the engine uses them for: clear ground, water, cliffs, the height ramp base, and the rest. A role’s value is a tile-set number, the NNNN of a [TileSetNNNN] section, not a tile index. The bridge piece keys, such as BridgeTopLeft1, are the exception: their values are positions within a bridge set. A role that names a set the game does not read stays unset.

Tile sets are read in order from [TileSet0000] upward, with the number zero-padded to four digits. A theater may declare any number of sets.

A set’s tile files are named from its FileName, a two-digit tile number starting at 01, and the theater’s Suffix as the extension. FileName=RVCLIF with TilesInSet=8 loads RVCLIF01.TEM through RVCLIF08.TEM in the temperate theater, and RVCLIF01.SNO through RVCLIF08.SNO in snow.

A tile can have alternate artwork in files with a lowercase letter after the tile number, such as RVCLIF01a.TEM and RVCLIF01b.TEM. The game looks for the letters in order from a and stops at the first missing file, so RVCLIF01c.TEM is not used when RVCLIF01b.TEM is missing.

When a tile file with the theater’s Suffix is missing, the game tries the same name with the theater’s MMSuffix: .MMT in the temperate theater and .MMS in snow. A set with NonMarbleMadness=0 skips this second try.

A set can also have a section of per-tile animations, the section whose heading is the set’s SetName value. Tile<NN>Anim names the animation for tile NN of the set, with NN matching the tile’s file number. Tile<NN>XOffset, Tile<NN>YOffset, Tile<NN>AttachesTo, and Tile<NN>ZAdjust are read only for a tile whose Tile<NN>Anim names an animation. Alternate artwork never has an animation.

TEMPERAT.INI
[General]
ClearTile=0 ; example tile-set numbers, not tile indices
WaterSet=21
CliffSet=10
ClearToRoughLat=14
[TileSet0631] ; example set; 0631 is the number a [General] role would name
SetName=Riverbank cliffs
FileName=RVCLIF ; loads RVCLIF01.TEM through RVCLIF08.TEM
TilesInSet=8
Morphable=no
AllowToPlace=yes
AllowTiberium=no
[Riverbank cliffs] ; named by this set's SetName
Tile03Anim=MYFALLS ; AnimType registered in rules.ini
Tile03ZAdjust=-12

The example leaves out sets 0000 through 0630, which must all be present for [TileSet0631] to be read.

Accepted settings

81 of 81

KeyDescriptionValueWhen omitted
AllowBurrowing[<TileSet ID>]Ground that a subterranean unit may dive into or surface through.booleanyes
AllowTiberium[<TileSet ID>]Lets Tiberium take root on the tiles of a theater tile set.booleanno
AllowToPlaceNo effect[<TileSet ID>]Parsed tile-set flag that the engine never uses.booleanyes
BlackTileNo effect[General]Tile-set number whose first tile the engine looks up and never uses.integer-1
BlueMoldTile[General]Tile set whose first tile is a theater's plain blue mold ground.integer-1
BridgeBottomLeft1[General]Position within a bridge tile set of the piece that closes a north-south span at its bottom-left end.integer-1
BridgeBottomLeft2[General]Second position accepted as the bottom-left end of a north-south bridge span.integer-1
BridgeBottomRight1[General]Position within a bridge tile set of the piece that closes an east-west span at its bottom-right end.integer-1
BridgeBottomRight2[General]Second position accepted as the bottom-right end of an east-west bridge span.integer-1
BridgeMiddle1[General]Position within a bridge tile set of the first of the five middle pieces of an east-west span.integer-1
BridgeMiddle2[General]Position within a bridge tile set of the first of the five middle pieces of a north-south span.integer-1
BridgeSet[General]The tile set that supplies the sixteen pieces a road bridge is built from.integer-1
BridgeTopLeft1[General]Position within a bridge tile set of the piece that starts an east-west span at its top-left end.integer-1
BridgeTopLeft2[General]Second position accepted as the top-left end of an east-west bridge span.integer-1
BridgeTopRight1[General]Position within a bridge tile set of the piece that starts a north-south span at its top-right end.integer-1
BridgeTopRight2[General]Second position accepted as the top-right end of a north-south bridge span.integer-1
ClearTile[General]Tile set holding a theater's plain clear ground, used as the substitute for a cell that has no tile.integer-1
ClearToBlueMoldLat[General]Tile set holding the sixteen blend pieces laid where blue mold meets other terrain.integer-1
ClearToCrystalLat[General]Tile set holding the sixteen blend pieces laid where crystal terrain meets other terrain.integer-1
ClearToGreenLat[General]Tile set holding the sixteen blend pieces laid where green terrain meets other terrain.integer-1
ClearToPaveLat[General]Tile set holding the sixteen blend pieces laid where pavement meets other terrain.integer-1
ClearToRoughLat[General]Tile set holding the sixteen blend pieces laid where rough ground meets other terrain.integer-1
ClearToSandLat[General]Tile set holding the sixteen blend pieces laid where sand meets other terrain.integer-1
CliffRamps[General]Tile set that starts the twenty tiles the random map generator counts as cliff alongside CliffSet.integer-1
CliffSet[General]Tile set holding the theater's forty cliff faces.integer-1
CrystalCliff[General]Tile set holding the crystal cliff pieces.integer-1
CrystalTile[General]Tile set whose first tile is a theater's plain crystal ground.integer-1
DestroyableCliffs[General]Tile set holding the two cliff faces that weapon fire can bring down.integer-2
DirtRoadCurve[General]The tile set the whole run of 101 flat dirt road pieces is counted from.integer-1
DirtRoadJunction[General]The tile set that supplies the eleven dirt road junctions.integer-1
DirtRoadSlopesNo effect[General]The tile set that supplies the eight pieces taking a dirt road up a ramp.integer-1
DirtRoadStraightNo effect[General]Parsed tile set of straight dirt road pieces that nothing reads.integer-1
DirtTrackTunnels[General]The tile set that supplies the four dirt railway tunnel mouths, one per facing.integer-1
DirtTunnels[General]The tile set that supplies the four dirt road tunnel mouths, one per facing.integer-1
FileName[<TileSet ID>]Stem of the artwork file names a tile set loads its tiles from.stringTILE
GreenTile[General]Tile set whose first tile is a theater's plain green ground.integer-1
HeightBaseNo effect[General]Tile set number that is resolved and never read.integer-1
Ice1Set[General]First of the three sixty-four-tile ice sets a snow theater provides.integer-1
Ice2Set[General]Second of the three sixty-four-tile ice sets a snow theater provides.integer-1
Ice3Set[General]Third of the three sixty-four-tile ice sets a snow theater provides.integer-1
IceShoreSet[General]Forty-eight-tile set of the land-side pieces laid where ice meets ground.integer-1
LastTilesInSet[<TileSet ID>]Number of tiles the set held when the maps in circulation were numbered, so that older tile indices can be shifted into line.integer-1
MarbleMadnessNo effect[<TileSet ID>]Tile-set number that is read but has no effect.integer65535
Medians[General]Fourteen-tile set of the divider strips laid down the middle lane of a paved road.integer-1
MiscPaveTile[General]Fourteen-tile set of pavement patches and weathering used to dress paved ground.integer-1
MMRampBase[General]Tile set holding the marble madness counterparts of the plain ramps.integer-1
MonorailSlopesNo effect[General]Parsed tile set of monorail ramp pieces that nothing reads.integer-1
Morphable[<TileSet ID>]Ground that the terrain-reshaping tools are allowed to move, and that will take a smudge.booleanno
NonMarbleMadness[<TileSet ID>]Tile-set number whose only live consequence is whether the alternate artwork extension is tried when a tile file is missing.integer65535
PavedRoadEnds[General]The tile set that supplies the four caps that close the end of a paved road.integer-1
PavedRoads[General]The tile set the fifteen paved road tiles are counted from.integer-1
PavedRoadSlopesNo effect[General]Tile set of paved road ramp pieces that nothing reads.integer-1
PaveTile[General]Tile set whose first tile is a theater's plain pavement.integer-1
RampBase[General]Tile set holding the twenty plain ramps that carry ground between height levels.integer-1
RampSmooth[General]Tile set holding the twelve pieces that blend a straight ramp into flat ground.integer-1
RequiredForRMG[<TileSet ID>]Tile set whose artwork is kept in memory on a generated map even while no cell uses it.booleanno
Rocks[General]Tile set whose first tile is the rock ground the random map generator paints on snow maps.integer-1
RoughGround[General]Ten-tile set of rough ground decorations scattered by the random map generator.integer-1
RoughTile[General]Tile set whose first tile is a theater's plain rough ground.integer-1
SandTile[General]Tile set whose first tile is a theater's plain sand ground.integer-1
SetName[<TileSet ID>]Section heading a tile set's per-tile animations are read from, and the stem of the name each of its tiles uses.stringNo Name
ShadowCaster[<TileSet ID>]Tile set whose tiles darken the cells below them with a cliff shadow.booleanno
ShadowTiles[<TileSet ID>]Second condition a shadow-casting tile set must satisfy before any of its tiles is marked as a caster.integer0
ShorePieces[General]Forty-two-tile set of the shoreline pieces laid between water and land.integer-1
SlopeSetPieces[General]Tile set holding the ten slope pieces that carry ground between height levels.integer-1
SlopeSetPieces2[General]Tile set holding the marble madness counterparts of the slope pieces.integer-1
SwampTile[General]Nine-tile set of swamp ground, the first tile plain and the rest decorative.integer-1
TilesInSet[<TileSet ID>]Count of tiles a tile set contributes to the theater, and the marker that ends the theater read.integer-1
ToSnowTheaterNo effect[<TileSet ID>]Parsed tile-set number that the engine stores and never reads.integer-1
ToTemperateTheaterNo effect[<TileSet ID>]Parsed tile-set number that the engine stores and never reads.integer-1
TrackTunnels[General]The tile set that supplies the four railway tunnel mouths, one per facing.integer-1
TrainBridgeSet[General]The tile set that supplies the sixteen pieces a railway bridge is built from.integer-1
Tunnels[General]The tile set that supplies the four road tunnel mouths, one per facing.integer-1
WaterCaves[General]The tile set that supplies the eight cave mouths cut into a cliff at the water line.integer-1
WaterCliffs[General]Tile set holding the cliff faces that drop straight into water.integer-1
WaterfallEast[General]The tile set that supplies the four pieces of a waterfall running east.integer-1
WaterfallNorth[General]The tile set that supplies the four pieces of a waterfall running north.integer-1
WaterfallSouth[General]The tile set that supplies the four pieces of a waterfall running south.integer-1
WaterfallWest[General]The tile set that supplies the four pieces of a waterfall running west.integer-1
WaterSet[General]Fourteen-tile set of open water.integer-1
WaterToSwampLat[General]Tile set holding the sixteen blend pieces laid where swamp meets other terrain.integer-1

Source files

Linked at revision 51b52aa38392.

History

  1. Changed0.1.0

    Remove the theater tile-set lookup ceiling

  2. Changed0.2.0In development

    Declare extra theaters in the rules