Skip to content

LastTilesInSet

Number of tiles the set held when the maps in circulation were numbered, so that older tile indices can be shifted into line.

Specification
Applies to
tile controls
File
theater control file
Section
[<TileSet ID>]
Value
integer
When omitted
-1No shift is recorded for the set, and tile indices read from a map pass through unchanged.

A map stores each cell’s terrain as a tile index into the theater heap, so inserting tiles into a set already released would move every index above it and repaint every older map. This key is the record of that insertion. It states the count the set used to have; TilesInSet states the count it has now, and the difference between them is how far the indices above the set have moved.

TEMPERAT.INI
[TileSet0042] ; example set that gained four tiles after release
SetName=Shore pieces
FileName=SHORE
TilesInSet=12 ; twelve tiles are loaded
LastTilesInSet=8 ; maps were numbered when there were eight

A shift is recorded only when the two counts differ. Every tile index a map supplies is then run through the recorded shifts in set order, and each one whose insertion point lies at or below that index adds its difference, so an index written against the older numbering arrives at the tile the theater now holds in that place. Indices below the first insertion point are left alone.

The insertion points are counted in the old numbering, and a set that records a shift contributes its old count rather than its new one to the running total, so a chain of shifts stays consistent as long as every set that grew declares what it grew from.

See alsoTilesInSet