LAT system: Difference between revisions
No edit summary |
m link fix |
||
Line 65: | Line 65: | ||
While the [[Matze's tools#FinalAlert_2|Final Alert 2]] Map Editor has an option named ''AutoLat'' listed in the menu, there's not much use to it beyond previewing of what the game's ''Auto-LAT'' feature will do to your map. This is because the game will recalculate the tiling layer to apply its own ''Auto-LAT'' feature. Also, FinalAlert2 is not aware of the TileSets exempted from ''Auto-LAT'' as explained in the previous section. | While the [[Matze's tools#FinalAlert_2|Final Alert 2]] Map Editor has an option named ''AutoLat'' listed in the menu, there's not much use to it beyond previewing of what the game's ''Auto-LAT'' feature will do to your map. This is because the game will recalculate the tiling layer to apply its own ''Auto-LAT'' feature. Also, FinalAlert2 is not aware of the TileSets exempted from ''Auto-LAT'' as explained in the previous section. | ||
An attempt has been made by zzattack to correctly mimic the game's ''Auto-LAT'' feature in his maps rendering project. Corresponding code can be found [http://code.google.com/p/ccmaps/source/browse/branches/CNCMaps.NET/CNCMaps/MapLogic/TileCollection.cs | An attempt has been made by zzattack to correctly mimic the game's ''Auto-LAT'' feature in his maps rendering project. Corresponding code can be found [http://code.google.com/p/ccmaps/source/browse/branches/CNCMaps.NET/CNCMaps/MapLogic/TileCollection.cs here], more specifically in the ''RecalculateTileSystem'' function. | ||
[[Category:General_Editing_Information]] | [[Category:General_Editing_Information]] |
Revision as of 12:50, 2 January 2011
Auto-LAT System
The IsoMapPack5 section within a map file contains information on location, tile number and sub-tile number for each tile in the map. This information is post-processed by the game by a system that this page will refer to as Auto-LAT. The idea of Auto-LAT is to provide a smooth transition when different types of tiles are placed next to each other. The image below illustrates the effects of Auto-LAT:
On the left we see what six sand tiles would look like when surrounded by clear tiles, when Auto-LAT would be disabled. On the right we see what six SandTiles look like when surrounded by ClearTiles, due to Auto-LAT We see here that the six SandTiles have been replaced by tiles from the ClearToSandLat set.
How LAT and connecting LAT sets are specified in the Theater Control INI files
Every theater has 4 types of LAT tiles, internally named: GreenTile, PaveTile, RoughTile and SandTile. We can find the TileSet number of these in the Terrain_Control_INI_files under the INI section named 'General'. Also listed in this section are keys indicating the set numbers of TileSets that contain tiles which provide smooth transitions between LAT and non-LAT tiles, under keys ClearTo<LAT_name>Lat. An example, copied from the snow.ini theater control file:
[General] PaveTile = 68 ClearToPaveLat = 70 ...
[TileSet0068] SetName = LAT Pavement FileName = Pvclr ... [TileSet0070] SetName = Pavement/Clear LAT FileName = plat TilesInSet = 16 ..
How the Auto-LAT system determines which image to use from the connecting TileSet
Auto-LAT tests every tile which belongs to a LAT set on a map, and depending on which of this tile's neighbours do not belong to the same tileset, an image from the corresponding connecting LAT set is picked. This image below further illustrates this:
We see here that if we have a tile X, and we assign values 1, 2, 4 and 8 to the top-right, bottom-right, bottom-left and bottom-right neighbour of X in that order, we can use a bitwise combination of the values of the neighbours which are not of the same set as X to find the used tile number from the set of connecting LAT tiles. Note that "not from the same set" is not entirely accurate. Details on this follow in the following section.
TileSets exempted from Auto-LAT
It was mentioned above that if one tile from a LAT set has a tile from a different set next to it, the tile from the LAT set is replaced by one from the connecting LAT set. In most cases this is true, but some TileSets do not seem affected by this. For example, paved roads and pavement tiles do not have a ClearToPave tile to connect each other. The full list of exception is listed in the table below.
TileSets between which no connecting LAT pieces are placed
GreenTile | ShorePieces |
GreenTile | WaterBridge |
PaveTile | Medians |
PaveTile | PavedRoads |
Notes on the FinalAlert2 AutoLat feature
While the Final Alert 2 Map Editor has an option named AutoLat listed in the menu, there's not much use to it beyond previewing of what the game's Auto-LAT feature will do to your map. This is because the game will recalculate the tiling layer to apply its own Auto-LAT feature. Also, FinalAlert2 is not aware of the TileSets exempted from Auto-LAT as explained in the previous section.
An attempt has been made by zzattack to correctly mimic the game's Auto-LAT feature in his maps rendering project. Corresponding code can be found here, more specifically in the RecalculateTileSystem function.