From 4be5334a0e458f9359d27852835e335e3d45ebe4 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Sat, 28 Mar 2015 19:05:50 +0000 Subject: [PATCH] Add support for TS-style random tile variants. --- OpenRA.Editor/Form1.cs | 2 +- OpenRA.Editor/TileSetRenderer.cs | 2 +- OpenRA.Game/Graphics/Theater.cs | 44 +++- OpenRA.Game/Map/TileSet.cs | 6 +- .../UtilityCommands/FixClassicTilesets.cs | 8 +- .../UtilityCommands/D2kMapImporter.cs | 2 +- .../UtilityCommands/LegacyTilesetImporter.cs | 13 +- OpenRA.TilesetBuilder/FormBuilder.cs | 2 +- mods/ts/tilesets/snow.yaml | 228 +++++++++--------- mods/ts/tilesets/temperat.yaml | 228 +++++++++--------- 10 files changed, 285 insertions(+), 250 deletions(-) diff --git a/OpenRA.Editor/Form1.cs b/OpenRA.Editor/Form1.cs index 5f5cf39c27..98cb986370 100644 --- a/OpenRA.Editor/Form1.cs +++ b/OpenRA.Editor/Form1.cs @@ -210,7 +210,7 @@ namespace OpenRA.Editor var template = t.Value; tilePalette.Controls.Add(ibox); - tt.SetToolTip(ibox, "{1}:{0} ({2}x{3})".F(template.Image, template.Id, template.Size.X, template.Size.Y)); + tt.SetToolTip(ibox, "{1}:{0} ({2}x{3})".F(template.Image[0], template.Id, template.Size.X, template.Size.Y)); } catch { } } diff --git a/OpenRA.Editor/TileSetRenderer.cs b/OpenRA.Editor/TileSetRenderer.cs index abb118977e..f6741dbdb1 100644 --- a/OpenRA.Editor/TileSetRenderer.cs +++ b/OpenRA.Editor/TileSetRenderer.cs @@ -53,7 +53,7 @@ namespace OpenRA.Editor var frameCache = new FrameCache(Game.ModData.SpriteLoaders); foreach (var t in tileset.Templates) { - var allFrames = frameCache[t.Value.Image]; + var allFrames = frameCache[t.Value.Image[0]]; var frames = t.Value.Frames != null ? t.Value.Frames.Select(f => allFrames[f]).ToArray() : allFrames; templates.Add(t.Value.Id, frames.Select(f => ExtractSquareTile(f)).ToArray()); } diff --git a/OpenRA.Game/Graphics/Theater.cs b/OpenRA.Game/Graphics/Theater.cs index 940657bcf6..fb75fcedd5 100644 --- a/OpenRA.Game/Graphics/Theater.cs +++ b/OpenRA.Game/Graphics/Theater.cs @@ -13,14 +13,30 @@ using System.Collections.Generic; using System.Drawing; using System.Linq; using OpenRA.FileSystem; +using OpenRA.Support; namespace OpenRA.Graphics { + class TheaterTemplate + { + public readonly Sprite[] Sprites; + public readonly int Stride; + public readonly int Variants; + + public TheaterTemplate(Sprite[] sprites, int stride, int variants) + { + Sprites = sprites; + Stride = stride; + Variants = variants; + } + } + public sealed class Theater : IDisposable { - readonly Dictionary templates = new Dictionary(); + readonly Dictionary templates = new Dictionary(); readonly SheetBuilder sheetBuilder; readonly Sprite missingTile; + readonly MersenneTwister random; TileSet tileset; public Theater(TileSet tileset) @@ -37,20 +53,27 @@ namespace OpenRA.Graphics }; sheetBuilder = new SheetBuilder(SheetType.Indexed, allocate); - templates = new Dictionary(); + random = new MersenneTwister(); var frameCache = new FrameCache(Game.ModData.SpriteLoaders); foreach (var t in tileset.Templates) { - var allFrames = frameCache[t.Value.Image]; - var frames = t.Value.Frames != null ? t.Value.Frames.Select(f => allFrames[f]).ToArray() : allFrames; - var sprites = frames.Select(f => sheetBuilder.Add(f)); + var variants = new List(); + + foreach (var i in t.Value.Image) + { + var allFrames = frameCache[i]; + var frames = t.Value.Frames != null ? t.Value.Frames.Select(f => allFrames[f]).ToArray() : allFrames; + variants.Add(frames.Select(f => sheetBuilder.Add(f)).ToArray()); + } + + var allSprites = variants.SelectMany(s => s); // Ignore the offsets baked into R8 sprites if (tileset.IgnoreTileSpriteOffsets) - sprites = sprites.Select(s => new Sprite(s.Sheet, s.Bounds, float2.Zero, s.Channel, s.BlendMode)); + allSprites = allSprites.Select(s => new Sprite(s.Sheet, s.Bounds, float2.Zero, s.Channel, s.BlendMode)); - templates.Add(t.Value.Id, sprites.ToArray()); + templates.Add(t.Value.Id, new TheaterTemplate(allSprites.ToArray(), variants.First().Count(), t.Value.Image.Length)); } // 1x1px transparent tile @@ -61,14 +84,15 @@ namespace OpenRA.Graphics public Sprite TileSprite(TerrainTile r) { - Sprite[] template; + TheaterTemplate template; if (!templates.TryGetValue(r.Type, out template)) return missingTile; - if (r.Index >= template.Length) + if (r.Index >= template.Stride) return missingTile; - return template[r.Index]; + var start = template.Variants > 1 ? random.Next(template.Variants) : 0; + return template.Sprites[start * template.Stride + r.Index]; } public Rectangle TemplateBounds(TerrainTemplateInfo template, Size tileSize, TileShape tileShape) diff --git a/OpenRA.Game/Map/TileSet.cs b/OpenRA.Game/Map/TileSet.cs index 4904f68996..633012448a 100644 --- a/OpenRA.Game/Map/TileSet.cs +++ b/OpenRA.Game/Map/TileSet.cs @@ -65,10 +65,10 @@ namespace OpenRA public class TerrainTemplateInfo { - static readonly TerrainTemplateInfo Default = new TerrainTemplateInfo(0, null, int2.Zero, null); + static readonly TerrainTemplateInfo Default = new TerrainTemplateInfo(0, new string[] { null }, int2.Zero, null); public readonly ushort Id; - public readonly string Image; + public readonly string[] Image; public readonly int[] Frames; public readonly int2 Size; public readonly bool PickAny; @@ -76,7 +76,7 @@ namespace OpenRA TerrainTileInfo[] tileInfo; - public TerrainTemplateInfo(ushort id, string image, int2 size, byte[] tiles) + public TerrainTemplateInfo(ushort id, string[] image, int2 size, byte[] tiles) { this.Id = id; this.Image = image; diff --git a/OpenRA.Mods.Common/UtilityCommands/FixClassicTilesets.cs b/OpenRA.Mods.Common/UtilityCommands/FixClassicTilesets.cs index 1e5f9e7fd3..8a45fcbc21 100644 --- a/OpenRA.Mods.Common/UtilityCommands/FixClassicTilesets.cs +++ b/OpenRA.Mods.Common/UtilityCommands/FixClassicTilesets.cs @@ -54,17 +54,17 @@ namespace OpenRA.Mods.Common.UtilityCommands foreach (var ext in exts) { Stream s; - if (!GlobalFileSystem.TryOpen(template.Image + ext, out s)) + if (!GlobalFileSystem.TryOpen(template.Image[0] + ext, out s)) continue; // Rewrite the template image (normally readonly) using reflection - imageField.SetValue(template, template.Image + ext); + imageField.SetValue(template, template.Image[0] + ext); // Fetch the private tileInfo array so that we can write new entries var tileInfo = (TerrainTileInfo[])tileInfoField.GetValue(template); // Open the file and search for any implicit frames - var allFrames = frameCache[template.Image]; + var allFrames = frameCache[template.Image[0]]; var frames = template.Frames != null ? template.Frames.Select(f => allFrames[f]).ToArray() : allFrames; // Resize array for new entries @@ -86,7 +86,7 @@ namespace OpenRA.Mods.Common.UtilityCommands terrainTypeField.SetValue(tileInfo[i], ti); terrainLeftColorField.SetValue(tileInfo[i], ts[ti].Color); terrainRightColorField.SetValue(tileInfo[i], ts[ti].Color); - Console.WriteLine("Fixing entry for {0}:{1}", template.Image, i); + Console.WriteLine("Fixing entry for {0}:{1}", template.Image[0], i); } } diff --git a/OpenRA.Mods.D2k/UtilityCommands/D2kMapImporter.cs b/OpenRA.Mods.D2k/UtilityCommands/D2kMapImporter.cs index be5646e084..52baaa1330 100644 --- a/OpenRA.Mods.D2k/UtilityCommands/D2kMapImporter.cs +++ b/OpenRA.Mods.D2k/UtilityCommands/D2kMapImporter.cs @@ -323,7 +323,7 @@ namespace OpenRA.Mods.D2k.UtilityCommands // Get all templates from the tileset YAML file that have at least one frame and an Image property corresponding to the requested tileset // Each frame is a tile from the Dune 2000 tileset files, with the Frame ID being the index of the tile in the original file tileSetsFromYaml = tileSet.Templates.Where(t => t.Value.Frames != null - && t.Value.Image.ToLower() == tilesetName.ToLower()).Select(ts => ts.Value).ToList(); + && t.Value.Image[0].ToLower() == tilesetName.ToLower()).Select(ts => ts.Value).ToList(); } void FillMap() diff --git a/OpenRA.Mods.TS/UtilityCommands/LegacyTilesetImporter.cs b/OpenRA.Mods.TS/UtilityCommands/LegacyTilesetImporter.cs index fb41cc26de..7acd14f33c 100644 --- a/OpenRA.Mods.TS/UtilityCommands/LegacyTilesetImporter.cs +++ b/OpenRA.Mods.TS/UtilityCommands/LegacyTilesetImporter.cs @@ -77,7 +77,18 @@ namespace OpenRA.Mods.TS.UtilityCommands Console.WriteLine("\tTemplate@{0}:", templateIndex); Console.WriteLine("\t\tCategory: {0}", sectionCategory); Console.WriteLine("\t\tId: {0}", templateIndex); - Console.WriteLine("\t\tImage: {0}{1:D2}.{2}", sectionFilename, i, extension); + + var images = new List(); + + images.Add("{0}{1:D2}.{2}".F(sectionFilename, i, extension)); + for (var v = 'a'; v <= 'z'; v++) + { + var variant = "{0}{1:D2}{2}.{3}".F(sectionFilename, i, v, extension); + if (GlobalFileSystem.Exists(variant)) + images.Add(variant); + } + + Console.WriteLine("\t\tImage: {0}", images.JoinWith(", ")); var templateWidth = s.ReadUInt32(); var templateHeight = s.ReadUInt32(); diff --git a/OpenRA.TilesetBuilder/FormBuilder.cs b/OpenRA.TilesetBuilder/FormBuilder.cs index f3dc850913..2f071b7d0f 100644 --- a/OpenRA.TilesetBuilder/FormBuilder.cs +++ b/OpenRA.TilesetBuilder/FormBuilder.cs @@ -390,7 +390,7 @@ namespace OpenRA.TilesetBuilder var template = new TerrainTemplateInfo( id: cur, - image: "{0}{1:00}".F(txtTilesetName.Text, cur), + image: new[] { "{0}{1:00}".F(txtTilesetName.Text, cur) }, size: new int2(tp.Width, tp.Height), tiles: tiles); diff --git a/mods/ts/tilesets/snow.yaml b/mods/ts/tilesets/snow.yaml index fbf6082c41..21792f4c98 100644 --- a/mods/ts/tilesets/snow.yaml +++ b/mods/ts/tilesets/snow.yaml @@ -59,7 +59,7 @@ Templates: Template@0: Category: Clear Id: 0 - Image: Clear01.sno + Image: Clear01.sno, Clear01a.sno, Clear01b.sno, Clear01c.sno, Clear01d.sno, Clear01e.sno, Clear01f.sno, Clear01g.sno Size: 1, 1 Tiles: 0: Clear @@ -128,7 +128,7 @@ Templates: Template@4: Category: Clear Id: 4 - Image: Snow01.sno + Image: Snow01.sno, Snow01a.sno, Snow01b.sno, Snow01c.sno Size: 1, 1 Tiles: 0: Clear @@ -323,7 +323,7 @@ Templates: Template@40: Category: Ice Ramps Id: 40 - Image: slope01.sno + Image: slope01.sno, slope01a.sno, slope01b.sno, slope01c.sno Size: 1, 1 Tiles: 0: Clear @@ -333,7 +333,7 @@ Templates: Template@41: Category: Ice Ramps Id: 41 - Image: slope02.sno + Image: slope02.sno, slope02a.sno, slope02b.sno, slope02c.sno Size: 1, 1 Tiles: 0: Clear @@ -343,7 +343,7 @@ Templates: Template@42: Category: Ice Ramps Id: 42 - Image: slope03.sno + Image: slope03.sno, slope03a.sno, slope03b.sno, slope03c.sno Size: 1, 1 Tiles: 0: Clear @@ -353,7 +353,7 @@ Templates: Template@43: Category: Ice Ramps Id: 43 - Image: slope04.sno + Image: slope04.sno, slope04a.sno, slope04b.sno, slope04c.sno Size: 1, 1 Tiles: 0: Clear @@ -363,7 +363,7 @@ Templates: Template@44: Category: Ice Ramps Id: 44 - Image: slope05.sno + Image: slope05.sno, slope05a.sno, slope05b.sno, slope05c.sno Size: 1, 1 Tiles: 0: Clear @@ -373,7 +373,7 @@ Templates: Template@45: Category: Ice Ramps Id: 45 - Image: slope06.sno + Image: slope06.sno, slope06a.sno, slope06b.sno, slope06c.sno Size: 1, 1 Tiles: 0: Clear @@ -383,7 +383,7 @@ Templates: Template@46: Category: Ice Ramps Id: 46 - Image: slope07.sno + Image: slope07.sno, slope07a.sno, slope07b.sno, slope07c.sno Size: 1, 1 Tiles: 0: Clear @@ -393,7 +393,7 @@ Templates: Template@47: Category: Ice Ramps Id: 47 - Image: slope08.sno + Image: slope08.sno, slope08a.sno, slope08b.sno, slope08c.sno Size: 1, 1 Tiles: 0: Clear @@ -403,7 +403,7 @@ Templates: Template@48: Category: Ice Ramps Id: 48 - Image: slope09.sno + Image: slope09.sno, slope09a.sno, slope09b.sno, slope09c.sno Size: 1, 1 Tiles: 0: Clear @@ -413,7 +413,7 @@ Templates: Template@49: Category: Ice Ramps Id: 49 - Image: slope10.sno + Image: slope10.sno, slope10a.sno, slope10b.sno, slope10c.sno Size: 1, 1 Tiles: 0: Clear @@ -423,7 +423,7 @@ Templates: Template@50: Category: Ice Ramps Id: 50 - Image: slope11.sno + Image: slope11.sno, slope11a.sno, slope11b.sno, slope11c.sno Size: 1, 1 Tiles: 0: Clear @@ -433,7 +433,7 @@ Templates: Template@51: Category: Ice Ramps Id: 51 - Image: slope12.sno + Image: slope12.sno, slope12a.sno, slope12b.sno, slope12c.sno Size: 1, 1 Tiles: 0: Clear @@ -443,7 +443,7 @@ Templates: Template@52: Category: Ice Ramps Id: 52 - Image: slope13.sno + Image: slope13.sno, slope13a.sno, slope13b.sno, slope13c.sno Size: 1, 1 Tiles: 0: Clear @@ -453,7 +453,7 @@ Templates: Template@53: Category: Ice Ramps Id: 53 - Image: slope14.sno + Image: slope14.sno, slope14a.sno, slope14b.sno, slope14c.sno Size: 1, 1 Tiles: 0: Clear @@ -463,7 +463,7 @@ Templates: Template@54: Category: Ice Ramps Id: 54 - Image: slope15.sno + Image: slope15.sno, slope15a.sno, slope15b.sno, slope15c.sno Size: 1, 1 Tiles: 0: Clear @@ -473,7 +473,7 @@ Templates: Template@55: Category: Ice Ramps Id: 55 - Image: slope16.sno + Image: slope16.sno, slope16a.sno, slope16b.sno, slope16c.sno Size: 1, 1 Tiles: 0: Clear @@ -1034,7 +1034,7 @@ Templates: Template@92: Category: Cliff Set Id: 92 - Image: Cliff33.sno + Image: Cliff33.sno, Cliff33a.sno Size: 1, 1 Tiles: 0: Cliff @@ -1044,7 +1044,7 @@ Templates: Template@93: Category: Cliff Set Id: 93 - Image: Cliff34.sno + Image: Cliff34.sno, Cliff34a.sno Size: 1, 1 Tiles: 0: Cliff @@ -2161,7 +2161,7 @@ Templates: Template@150: Category: Rough lat Id: 150 - Image: Ruff01.sno + Image: Ruff01.sno, Ruff01a.sno, Ruff01b.sno, Ruff01c.sno, Ruff01d.sno, Ruff01e.sno, Ruff01f.sno, Ruff01g.sno Size: 1, 1 Tiles: 0: Rough @@ -2170,7 +2170,7 @@ Templates: Template@151: Category: Clear/Rough LAT Id: 151 - Image: clat01.sno + Image: clat01.sno, clat01a.sno Size: 1, 1 Tiles: 0: Rough @@ -2179,7 +2179,7 @@ Templates: Template@152: Category: Clear/Rough LAT Id: 152 - Image: clat02.sno + Image: clat02.sno, clat02a.sno Size: 1, 1 Tiles: 0: Rough @@ -2188,7 +2188,7 @@ Templates: Template@153: Category: Clear/Rough LAT Id: 153 - Image: clat03.sno + Image: clat03.sno, clat03a.sno Size: 1, 1 Tiles: 0: Rough @@ -2197,7 +2197,7 @@ Templates: Template@154: Category: Clear/Rough LAT Id: 154 - Image: clat04.sno + Image: clat04.sno, clat04a.sno Size: 1, 1 Tiles: 0: Rough @@ -2206,7 +2206,7 @@ Templates: Template@155: Category: Clear/Rough LAT Id: 155 - Image: clat05.sno + Image: clat05.sno, clat05a.sno Size: 1, 1 Tiles: 0: Rough @@ -2215,7 +2215,7 @@ Templates: Template@156: Category: Clear/Rough LAT Id: 156 - Image: clat06.sno + Image: clat06.sno, clat06a.sno Size: 1, 1 Tiles: 0: Rough @@ -2224,7 +2224,7 @@ Templates: Template@157: Category: Clear/Rough LAT Id: 157 - Image: clat07.sno + Image: clat07.sno, clat07a.sno Size: 1, 1 Tiles: 0: Rough @@ -2233,7 +2233,7 @@ Templates: Template@158: Category: Clear/Rough LAT Id: 158 - Image: clat08.sno + Image: clat08.sno, clat08a.sno Size: 1, 1 Tiles: 0: Rough @@ -2242,7 +2242,7 @@ Templates: Template@159: Category: Clear/Rough LAT Id: 159 - Image: clat09.sno + Image: clat09.sno, clat09a.sno Size: 1, 1 Tiles: 0: Rough @@ -2251,7 +2251,7 @@ Templates: Template@160: Category: Clear/Rough LAT Id: 160 - Image: clat10.sno + Image: clat10.sno, clat10a.sno Size: 1, 1 Tiles: 0: Rough @@ -2260,7 +2260,7 @@ Templates: Template@161: Category: Clear/Rough LAT Id: 161 - Image: clat11.sno + Image: clat11.sno, clat11a.sno Size: 1, 1 Tiles: 0: Rough @@ -2269,7 +2269,7 @@ Templates: Template@162: Category: Clear/Rough LAT Id: 162 - Image: clat12.sno + Image: clat12.sno, clat12a.sno Size: 1, 1 Tiles: 0: Rough @@ -2278,7 +2278,7 @@ Templates: Template@163: Category: Clear/Rough LAT Id: 163 - Image: clat13.sno + Image: clat13.sno, clat13a.sno Size: 1, 1 Tiles: 0: Rough @@ -2287,7 +2287,7 @@ Templates: Template@164: Category: Clear/Rough LAT Id: 164 - Image: clat14.sno + Image: clat14.sno, clat14a.sno Size: 1, 1 Tiles: 0: Rough @@ -2296,7 +2296,7 @@ Templates: Template@165: Category: Clear/Rough LAT Id: 165 - Image: clat15.sno + Image: clat15.sno, clat15a.sno Size: 1, 1 Tiles: 0: Rough @@ -2305,7 +2305,7 @@ Templates: Template@166: Category: Clear/Rough LAT Id: 166 - Image: clat16.sno + Image: clat16.sno, clat16a.sno Size: 1, 1 Tiles: 0: Rough @@ -5253,7 +5253,7 @@ Templates: Template@296: Category: Bridges Id: 296 - Image: Ovrps01.sno + Image: Ovrps01.sno, Ovrps01a.sno Size: 3, 5 Tiles: 0: Cliff @@ -5312,7 +5312,7 @@ Templates: Template@297: Category: Bridges Id: 297 - Image: Ovrps02.sno + Image: Ovrps02.sno, Ovrps02a.sno Size: 3, 5 Tiles: 0: Cliff @@ -5371,7 +5371,7 @@ Templates: Template@298: Category: Bridges Id: 298 - Image: Ovrps03.sno + Image: Ovrps03.sno, Ovrps03a.sno Size: 2, 5 Tiles: 0: Cliff @@ -5415,7 +5415,7 @@ Templates: Template@299: Category: Bridges Id: 299 - Image: Ovrps04.sno + Image: Ovrps04.sno, Ovrps04a.sno Size: 5, 3 Tiles: 0: Cliff @@ -5474,7 +5474,7 @@ Templates: Template@300: Category: Bridges Id: 300 - Image: Ovrps05.sno + Image: Ovrps05.sno, Ovrps05a.sno Size: 5, 3 Tiles: 0: Cliff @@ -5533,7 +5533,7 @@ Templates: Template@301: Category: Bridges Id: 301 - Image: Ovrps06.sno + Image: Ovrps06.sno, Ovrps06a.sno Size: 5, 2 Tiles: 0: Cliff @@ -5955,7 +5955,7 @@ Templates: Template@312: Category: Paved Roads Id: 312 - Image: Proad01.sno + Image: Proad01.sno, Proad01a.sno, Proad01b.sno, Proad01c.sno Size: 1, 3 Tiles: 0: Road @@ -5970,7 +5970,7 @@ Templates: Template@313: Category: Paved Roads Id: 313 - Image: Proad02.sno + Image: Proad02.sno, Proad02a.sno, Proad02b.sno, Proad02c.sno Size: 3, 1 Tiles: 0: Road @@ -10195,7 +10195,7 @@ Templates: Template@695: Category: TrainBridges Id: 695 - Image: Tovrps01.sno + Image: Tovrps01.sno, Tovrps01a.sno Size: 3, 5 Tiles: 0: Cliff @@ -10254,7 +10254,7 @@ Templates: Template@696: Category: TrainBridges Id: 696 - Image: Tovrps02.sno + Image: Tovrps02.sno, Tovrps02a.sno Size: 3, 5 Tiles: 0: Cliff @@ -10313,7 +10313,7 @@ Templates: Template@697: Category: TrainBridges Id: 697 - Image: Tovrps03.sno + Image: Tovrps03.sno, Tovrps03a.sno Size: 2, 5 Tiles: 0: Cliff @@ -10357,7 +10357,7 @@ Templates: Template@698: Category: TrainBridges Id: 698 - Image: Tovrps04.sno + Image: Tovrps04.sno, Tovrps04a.sno Size: 5, 3 Tiles: 0: Cliff @@ -10416,7 +10416,7 @@ Templates: Template@699: Category: TrainBridges Id: 699 - Image: Tovrps05.sno + Image: Tovrps05.sno, Tovrps05a.sno Size: 5, 3 Tiles: 0: Cliff @@ -10475,7 +10475,7 @@ Templates: Template@700: Category: TrainBridges Id: 700 - Image: Tovrps06.sno + Image: Tovrps06.sno, Tovrps06a.sno Size: 5, 2 Tiles: 0: Cliff @@ -11389,7 +11389,7 @@ Templates: Template@721: Category: Ramp edge fixup Id: 721 - Image: Rmpfx01.sno + Image: Rmpfx01.sno, Rmpfx01a.sno, Rmpfx01b.sno, Rmpfx01c.sno Size: 1, 1 Tiles: 0: Clear @@ -11399,7 +11399,7 @@ Templates: Template@722: Category: Ramp edge fixup Id: 722 - Image: Rmpfx02.sno + Image: Rmpfx02.sno, Rmpfx02a.sno, Rmpfx02b.sno, Rmpfx02c.sno Size: 1, 1 Tiles: 0: Clear @@ -11409,7 +11409,7 @@ Templates: Template@723: Category: Ramp edge fixup Id: 723 - Image: Rmpfx03.sno + Image: Rmpfx03.sno, Rmpfx03a.sno, Rmpfx03b.sno, Rmpfx03c.sno Size: 1, 1 Tiles: 0: Clear @@ -11419,7 +11419,7 @@ Templates: Template@724: Category: Ramp edge fixup Id: 724 - Image: Rmpfx04.sno + Image: Rmpfx04.sno, Rmpfx04a.sno, Rmpfx04b.sno, Rmpfx04c.sno Size: 1, 1 Tiles: 0: Clear @@ -11429,7 +11429,7 @@ Templates: Template@725: Category: Ramp edge fixup Id: 725 - Image: Rmpfx05.sno + Image: Rmpfx05.sno, Rmpfx05a.sno, Rmpfx05b.sno, Rmpfx05c.sno Size: 1, 1 Tiles: 0: Clear @@ -11439,7 +11439,7 @@ Templates: Template@726: Category: Ramp edge fixup Id: 726 - Image: Rmpfx06.sno + Image: Rmpfx06.sno, Rmpfx06a.sno, Rmpfx06b.sno, Rmpfx06c.sno Size: 1, 1 Tiles: 0: Clear @@ -11449,7 +11449,7 @@ Templates: Template@727: Category: Ramp edge fixup Id: 727 - Image: Rmpfx07.sno + Image: Rmpfx07.sno, Rmpfx07a.sno, Rmpfx07b.sno, Rmpfx07c.sno Size: 1, 1 Tiles: 0: Clear @@ -11459,7 +11459,7 @@ Templates: Template@728: Category: Ramp edge fixup Id: 728 - Image: Rmpfx08.sno + Image: Rmpfx08.sno, Rmpfx08a.sno, Rmpfx08b.sno, Rmpfx08c.sno Size: 1, 1 Tiles: 0: Clear @@ -11469,7 +11469,7 @@ Templates: Template@729: Category: Ramp edge fixup Id: 729 - Image: Rmpfx09.sno + Image: Rmpfx09.sno, Rmpfx09a.sno, Rmpfx09b.sno, Rmpfx09c.sno Size: 1, 1 Tiles: 0: Clear @@ -11479,7 +11479,7 @@ Templates: Template@730: Category: Ramp edge fixup Id: 730 - Image: Rmpfx10.sno + Image: Rmpfx10.sno, Rmpfx10a.sno, Rmpfx10b.sno, Rmpfx10c.sno Size: 1, 1 Tiles: 0: Clear @@ -11489,7 +11489,7 @@ Templates: Template@731: Category: Ramp edge fixup Id: 731 - Image: Rmpfx11.sno + Image: Rmpfx11.sno, Rmpfx11a.sno, Rmpfx11b.sno, Rmpfx11c.sno Size: 1, 1 Tiles: 0: Clear @@ -11499,7 +11499,7 @@ Templates: Template@732: Category: Ramp edge fixup Id: 732 - Image: Rmpfx12.sno + Image: Rmpfx12.sno, Rmpfx12a.sno, Rmpfx12b.sno, Rmpfx12c.sno Size: 1, 1 Tiles: 0: Clear @@ -12264,7 +12264,7 @@ Templates: Template@989: Category: Rock LAT Id: 989 - Image: Rock01.sno + Image: Rock01.sno, Rock01a.sno, Rock01b.sno, Rock01c.sno, Rock01d.sno, Rock01e.sno, Rock01f.sno, Rock01g.sno Size: 1, 1 Tiles: 0: Rough @@ -12273,7 +12273,7 @@ Templates: Template@990: Category: Rock/Clear LAT Id: 990 - Image: rlat01.sno + Image: rlat01.sno, rlat01a.sno Size: 1, 1 Tiles: 0: Rough @@ -12282,7 +12282,7 @@ Templates: Template@991: Category: Rock/Clear LAT Id: 991 - Image: rlat02.sno + Image: rlat02.sno, rlat02a.sno Size: 1, 1 Tiles: 0: Rough @@ -12291,7 +12291,7 @@ Templates: Template@992: Category: Rock/Clear LAT Id: 992 - Image: rlat03.sno + Image: rlat03.sno, rlat03a.sno Size: 1, 1 Tiles: 0: Rough @@ -12300,7 +12300,7 @@ Templates: Template@993: Category: Rock/Clear LAT Id: 993 - Image: rlat04.sno + Image: rlat04.sno, rlat04a.sno Size: 1, 1 Tiles: 0: Rough @@ -12309,7 +12309,7 @@ Templates: Template@994: Category: Rock/Clear LAT Id: 994 - Image: rlat05.sno + Image: rlat05.sno, rlat05a.sno Size: 1, 1 Tiles: 0: Rough @@ -12318,7 +12318,7 @@ Templates: Template@995: Category: Rock/Clear LAT Id: 995 - Image: rlat06.sno + Image: rlat06.sno, rlat06a.sno Size: 1, 1 Tiles: 0: Rough @@ -12327,7 +12327,7 @@ Templates: Template@996: Category: Rock/Clear LAT Id: 996 - Image: rlat07.sno + Image: rlat07.sno, rlat07a.sno Size: 1, 1 Tiles: 0: Rough @@ -12336,7 +12336,7 @@ Templates: Template@997: Category: Rock/Clear LAT Id: 997 - Image: rlat08.sno + Image: rlat08.sno, rlat08a.sno Size: 1, 1 Tiles: 0: Rough @@ -12345,7 +12345,7 @@ Templates: Template@998: Category: Rock/Clear LAT Id: 998 - Image: rlat09.sno + Image: rlat09.sno, rlat09a.sno Size: 1, 1 Tiles: 0: Rough @@ -12354,7 +12354,7 @@ Templates: Template@999: Category: Rock/Clear LAT Id: 999 - Image: rlat10.sno + Image: rlat10.sno, rlat10a.sno Size: 1, 1 Tiles: 0: Rough @@ -12363,7 +12363,7 @@ Templates: Template@1000: Category: Rock/Clear LAT Id: 1000 - Image: rlat11.sno + Image: rlat11.sno, rlat11a.sno Size: 1, 1 Tiles: 0: Rough @@ -12372,7 +12372,7 @@ Templates: Template@1001: Category: Rock/Clear LAT Id: 1001 - Image: rlat12.sno + Image: rlat12.sno, rlat12a.sno Size: 1, 1 Tiles: 0: Rough @@ -12381,7 +12381,7 @@ Templates: Template@1002: Category: Rock/Clear LAT Id: 1002 - Image: rlat13.sno + Image: rlat13.sno, rlat13a.sno Size: 1, 1 Tiles: 0: Rough @@ -12390,7 +12390,7 @@ Templates: Template@1003: Category: Rock/Clear LAT Id: 1003 - Image: rlat14.sno + Image: rlat14.sno, rlat14a.sno Size: 1, 1 Tiles: 0: Rough @@ -12399,7 +12399,7 @@ Templates: Template@1004: Category: Rock/Clear LAT Id: 1004 - Image: rlat15.sno + Image: rlat15.sno, rlat15a.sno Size: 1, 1 Tiles: 0: Rough @@ -12408,7 +12408,7 @@ Templates: Template@1005: Category: Rock/Clear LAT Id: 1005 - Image: rlat16.sno + Image: rlat16.sno, rlat16a.sno Size: 1, 1 Tiles: 0: Rough @@ -12417,7 +12417,7 @@ Templates: Template@1006: Category: Grey Id: 1006 - Image: Grey01.sno + Image: Grey01.sno, Grey01a.sno, Grey01b.sno, Grey01c.sno, Grey01d.sno, Grey01e.sno, Grey01f.sno, Grey01g.sno Size: 1, 1 Tiles: 0: Clear @@ -12426,7 +12426,7 @@ Templates: Template@1007: Category: Grey/Clear LAT Id: 1007 - Image: glat01.sno + Image: glat01.sno, glat01a.sno Size: 1, 1 Tiles: 0: Road @@ -12435,7 +12435,7 @@ Templates: Template@1008: Category: Grey/Clear LAT Id: 1008 - Image: glat02.sno + Image: glat02.sno, glat02a.sno Size: 1, 1 Tiles: 0: Road @@ -12444,7 +12444,7 @@ Templates: Template@1009: Category: Grey/Clear LAT Id: 1009 - Image: glat03.sno + Image: glat03.sno, glat03a.sno Size: 1, 1 Tiles: 0: Road @@ -12453,7 +12453,7 @@ Templates: Template@1010: Category: Grey/Clear LAT Id: 1010 - Image: glat04.sno + Image: glat04.sno, glat04a.sno Size: 1, 1 Tiles: 0: Road @@ -12462,7 +12462,7 @@ Templates: Template@1011: Category: Grey/Clear LAT Id: 1011 - Image: glat05.sno + Image: glat05.sno, glat05a.sno Size: 1, 1 Tiles: 0: Road @@ -12471,7 +12471,7 @@ Templates: Template@1012: Category: Grey/Clear LAT Id: 1012 - Image: glat06.sno + Image: glat06.sno, glat06a.sno Size: 1, 1 Tiles: 0: Road @@ -12480,7 +12480,7 @@ Templates: Template@1013: Category: Grey/Clear LAT Id: 1013 - Image: glat07.sno + Image: glat07.sno, glat07a.sno Size: 1, 1 Tiles: 0: Road @@ -12489,7 +12489,7 @@ Templates: Template@1014: Category: Grey/Clear LAT Id: 1014 - Image: glat08.sno + Image: glat08.sno, glat08a.sno Size: 1, 1 Tiles: 0: Road @@ -12498,7 +12498,7 @@ Templates: Template@1015: Category: Grey/Clear LAT Id: 1015 - Image: glat09.sno + Image: glat09.sno, glat09a.sno Size: 1, 1 Tiles: 0: Road @@ -12507,7 +12507,7 @@ Templates: Template@1016: Category: Grey/Clear LAT Id: 1016 - Image: glat10.sno + Image: glat10.sno, glat10a.sno Size: 1, 1 Tiles: 0: Road @@ -12516,7 +12516,7 @@ Templates: Template@1017: Category: Grey/Clear LAT Id: 1017 - Image: glat11.sno + Image: glat11.sno, glat11a.sno Size: 1, 1 Tiles: 0: Road @@ -12525,7 +12525,7 @@ Templates: Template@1018: Category: Grey/Clear LAT Id: 1018 - Image: glat12.sno + Image: glat12.sno, glat12a.sno Size: 1, 1 Tiles: 0: Road @@ -12534,7 +12534,7 @@ Templates: Template@1019: Category: Grey/Clear LAT Id: 1019 - Image: glat13.sno + Image: glat13.sno, glat13a.sno Size: 1, 1 Tiles: 0: Road @@ -12543,7 +12543,7 @@ Templates: Template@1020: Category: Grey/Clear LAT Id: 1020 - Image: glat14.sno + Image: glat14.sno, glat14a.sno Size: 1, 1 Tiles: 0: Road @@ -12552,7 +12552,7 @@ Templates: Template@1021: Category: Grey/Clear LAT Id: 1021 - Image: glat15.sno + Image: glat15.sno, glat15a.sno Size: 1, 1 Tiles: 0: Road @@ -12561,7 +12561,7 @@ Templates: Template@1022: Category: Grey/Clear LAT Id: 1022 - Image: glat16.sno + Image: glat16.sno, glat16a.sno Size: 1, 1 Tiles: 0: Road @@ -12942,7 +12942,7 @@ Templates: Template@1031: Category: Pavement (Use for LAT) Id: 1031 - Image: Pvclr01.sno + Image: Pvclr01.sno, Pvclr01a.sno, Pvclr01b.sno, Pvclr01c.sno, Pvclr01d.sno, Pvclr01e.sno, Pvclr01f.sno, Pvclr01g.sno Size: 1, 1 Tiles: 0: Road @@ -13167,7 +13167,7 @@ Templates: Template@1046: Category: Pavement/Clear LAT Id: 1046 - Image: plat01.sno + Image: plat01.sno, plat01a.sno Size: 1, 1 Tiles: 0: Road @@ -13176,7 +13176,7 @@ Templates: Template@1047: Category: Pavement/Clear LAT Id: 1047 - Image: plat02.sno + Image: plat02.sno, plat02a.sno Size: 1, 1 Tiles: 0: Road @@ -13185,7 +13185,7 @@ Templates: Template@1048: Category: Pavement/Clear LAT Id: 1048 - Image: plat03.sno + Image: plat03.sno, plat03a.sno Size: 1, 1 Tiles: 0: Road @@ -13194,7 +13194,7 @@ Templates: Template@1049: Category: Pavement/Clear LAT Id: 1049 - Image: plat04.sno + Image: plat04.sno, plat04a.sno Size: 1, 1 Tiles: 0: Road @@ -13203,7 +13203,7 @@ Templates: Template@1050: Category: Pavement/Clear LAT Id: 1050 - Image: plat05.sno + Image: plat05.sno, plat05a.sno Size: 1, 1 Tiles: 0: Road @@ -13212,7 +13212,7 @@ Templates: Template@1051: Category: Pavement/Clear LAT Id: 1051 - Image: plat06.sno + Image: plat06.sno, plat06a.sno Size: 1, 1 Tiles: 0: Road @@ -13221,7 +13221,7 @@ Templates: Template@1052: Category: Pavement/Clear LAT Id: 1052 - Image: plat07.sno + Image: plat07.sno, plat07a.sno Size: 1, 1 Tiles: 0: Road @@ -13230,7 +13230,7 @@ Templates: Template@1053: Category: Pavement/Clear LAT Id: 1053 - Image: plat08.sno + Image: plat08.sno, plat08a.sno Size: 1, 1 Tiles: 0: Road @@ -13239,7 +13239,7 @@ Templates: Template@1054: Category: Pavement/Clear LAT Id: 1054 - Image: plat09.sno + Image: plat09.sno, plat09a.sno Size: 1, 1 Tiles: 0: Road @@ -13248,7 +13248,7 @@ Templates: Template@1055: Category: Pavement/Clear LAT Id: 1055 - Image: plat10.sno + Image: plat10.sno, plat10a.sno Size: 1, 1 Tiles: 0: Road @@ -13257,7 +13257,7 @@ Templates: Template@1056: Category: Pavement/Clear LAT Id: 1056 - Image: plat11.sno + Image: plat11.sno, plat11a.sno Size: 1, 1 Tiles: 0: Road @@ -13266,7 +13266,7 @@ Templates: Template@1057: Category: Pavement/Clear LAT Id: 1057 - Image: plat12.sno + Image: plat12.sno, plat12a.sno Size: 1, 1 Tiles: 0: Road @@ -13275,7 +13275,7 @@ Templates: Template@1058: Category: Pavement/Clear LAT Id: 1058 - Image: plat13.sno + Image: plat13.sno, plat13a.sno Size: 1, 1 Tiles: 0: Road @@ -13284,7 +13284,7 @@ Templates: Template@1059: Category: Pavement/Clear LAT Id: 1059 - Image: plat14.sno + Image: plat14.sno, plat14a.sno Size: 1, 1 Tiles: 0: Road @@ -13293,7 +13293,7 @@ Templates: Template@1060: Category: Pavement/Clear LAT Id: 1060 - Image: plat15.sno + Image: plat15.sno, plat15a.sno Size: 1, 1 Tiles: 0: Road @@ -13302,7 +13302,7 @@ Templates: Template@1061: Category: Pavement/Clear LAT Id: 1061 - Image: plat16.sno + Image: plat16.sno, plat16a.sno Size: 1, 1 Tiles: 0: Road diff --git a/mods/ts/tilesets/temperat.yaml b/mods/ts/tilesets/temperat.yaml index e0e9a38b3b..242b2422e2 100644 --- a/mods/ts/tilesets/temperat.yaml +++ b/mods/ts/tilesets/temperat.yaml @@ -57,7 +57,7 @@ Templates: Template@0: Category: Clear Id: 0 - Image: Clear01.tem + Image: Clear01.tem, Clear01a.tem, Clear01b.tem, Clear01c.tem, Clear01d.tem, Clear01e.tem, Clear01f.tem, Clear01g.tem Size: 1, 1 Tiles: 0: Clear @@ -126,7 +126,7 @@ Templates: Template@4: Category: Clear Id: 4 - Image: Snow01.tem + Image: Snow01.tem, Snow01a.tem, Snow01b.tem, Snow01c.tem Size: 1, 1 Tiles: 0: Clear @@ -321,7 +321,7 @@ Templates: Template@40: Category: Ice Ramps Id: 40 - Image: slope01.tem + Image: slope01.tem, slope01a.tem, slope01b.tem, slope01c.tem Size: 1, 1 Tiles: 0: Clear @@ -331,7 +331,7 @@ Templates: Template@41: Category: Ice Ramps Id: 41 - Image: slope02.tem + Image: slope02.tem, slope02a.tem, slope02b.tem, slope02c.tem Size: 1, 1 Tiles: 0: Clear @@ -341,7 +341,7 @@ Templates: Template@42: Category: Ice Ramps Id: 42 - Image: slope03.tem + Image: slope03.tem, slope03a.tem, slope03b.tem, slope03c.tem Size: 1, 1 Tiles: 0: Clear @@ -351,7 +351,7 @@ Templates: Template@43: Category: Ice Ramps Id: 43 - Image: slope04.tem + Image: slope04.tem, slope04a.tem, slope04b.tem, slope04c.tem Size: 1, 1 Tiles: 0: Clear @@ -361,7 +361,7 @@ Templates: Template@44: Category: Ice Ramps Id: 44 - Image: slope05.tem + Image: slope05.tem, slope05a.tem, slope05b.tem, slope05c.tem Size: 1, 1 Tiles: 0: Clear @@ -371,7 +371,7 @@ Templates: Template@45: Category: Ice Ramps Id: 45 - Image: slope06.tem + Image: slope06.tem, slope06a.tem, slope06b.tem, slope06c.tem Size: 1, 1 Tiles: 0: Clear @@ -381,7 +381,7 @@ Templates: Template@46: Category: Ice Ramps Id: 46 - Image: slope07.tem + Image: slope07.tem, slope07a.tem, slope07b.tem, slope07c.tem Size: 1, 1 Tiles: 0: Clear @@ -391,7 +391,7 @@ Templates: Template@47: Category: Ice Ramps Id: 47 - Image: slope08.tem + Image: slope08.tem, slope08a.tem, slope08b.tem, slope08c.tem Size: 1, 1 Tiles: 0: Clear @@ -401,7 +401,7 @@ Templates: Template@48: Category: Ice Ramps Id: 48 - Image: slope09.tem + Image: slope09.tem, slope09a.tem, slope09b.tem, slope09c.tem Size: 1, 1 Tiles: 0: Clear @@ -411,7 +411,7 @@ Templates: Template@49: Category: Ice Ramps Id: 49 - Image: slope10.tem + Image: slope10.tem, slope10a.tem, slope10b.tem, slope10c.tem Size: 1, 1 Tiles: 0: Clear @@ -421,7 +421,7 @@ Templates: Template@50: Category: Ice Ramps Id: 50 - Image: slope11.tem + Image: slope11.tem, slope11a.tem, slope11b.tem, slope11c.tem Size: 1, 1 Tiles: 0: Clear @@ -431,7 +431,7 @@ Templates: Template@51: Category: Ice Ramps Id: 51 - Image: slope12.tem + Image: slope12.tem, slope12a.tem, slope12b.tem, slope12c.tem Size: 1, 1 Tiles: 0: Clear @@ -441,7 +441,7 @@ Templates: Template@52: Category: Ice Ramps Id: 52 - Image: slope13.tem + Image: slope13.tem, slope13a.tem, slope13b.tem, slope13c.tem Size: 1, 1 Tiles: 0: Clear @@ -451,7 +451,7 @@ Templates: Template@53: Category: Ice Ramps Id: 53 - Image: slope14.tem + Image: slope14.tem, slope14a.tem, slope14b.tem, slope14c.tem Size: 1, 1 Tiles: 0: Clear @@ -461,7 +461,7 @@ Templates: Template@54: Category: Ice Ramps Id: 54 - Image: slope15.tem + Image: slope15.tem, slope15a.tem, slope15b.tem, slope15c.tem Size: 1, 1 Tiles: 0: Clear @@ -471,7 +471,7 @@ Templates: Template@55: Category: Ice Ramps Id: 55 - Image: slope16.tem + Image: slope16.tem, slope16a.tem, slope16b.tem, slope16c.tem Size: 1, 1 Tiles: 0: Clear @@ -1032,7 +1032,7 @@ Templates: Template@92: Category: Cliff Set Id: 92 - Image: Cliff33.tem + Image: Cliff33.tem, Cliff33a.tem Size: 1, 1 Tiles: 0: Cliff @@ -1042,7 +1042,7 @@ Templates: Template@93: Category: Cliff Set Id: 93 - Image: Cliff34.tem + Image: Cliff34.tem, Cliff34a.tem Size: 1, 1 Tiles: 0: Cliff @@ -2159,7 +2159,7 @@ Templates: Template@150: Category: Rough LAT tile Id: 150 - Image: Ruff01.tem + Image: Ruff01.tem, Ruff01a.tem, Ruff01b.tem, Ruff01c.tem, Ruff01d.tem, Ruff01e.tem, Ruff01f.tem, Ruff01g.tem Size: 1, 1 Tiles: 0: Rough @@ -2168,7 +2168,7 @@ Templates: Template@151: Category: Clear/Rough LAT Id: 151 - Image: clat01.tem + Image: clat01.tem, clat01a.tem Size: 1, 1 Tiles: 0: Rough @@ -2177,7 +2177,7 @@ Templates: Template@152: Category: Clear/Rough LAT Id: 152 - Image: clat02.tem + Image: clat02.tem, clat02a.tem Size: 1, 1 Tiles: 0: Rough @@ -2186,7 +2186,7 @@ Templates: Template@153: Category: Clear/Rough LAT Id: 153 - Image: clat03.tem + Image: clat03.tem, clat03a.tem Size: 1, 1 Tiles: 0: Rough @@ -2195,7 +2195,7 @@ Templates: Template@154: Category: Clear/Rough LAT Id: 154 - Image: clat04.tem + Image: clat04.tem, clat04a.tem Size: 1, 1 Tiles: 0: Rough @@ -2204,7 +2204,7 @@ Templates: Template@155: Category: Clear/Rough LAT Id: 155 - Image: clat05.tem + Image: clat05.tem, clat05a.tem Size: 1, 1 Tiles: 0: Rough @@ -2213,7 +2213,7 @@ Templates: Template@156: Category: Clear/Rough LAT Id: 156 - Image: clat06.tem + Image: clat06.tem, clat06a.tem Size: 1, 1 Tiles: 0: Rough @@ -2222,7 +2222,7 @@ Templates: Template@157: Category: Clear/Rough LAT Id: 157 - Image: clat07.tem + Image: clat07.tem, clat07a.tem Size: 1, 1 Tiles: 0: Rough @@ -2231,7 +2231,7 @@ Templates: Template@158: Category: Clear/Rough LAT Id: 158 - Image: clat08.tem + Image: clat08.tem, clat08a.tem Size: 1, 1 Tiles: 0: Rough @@ -2240,7 +2240,7 @@ Templates: Template@159: Category: Clear/Rough LAT Id: 159 - Image: clat09.tem + Image: clat09.tem, clat09a.tem Size: 1, 1 Tiles: 0: Rough @@ -2249,7 +2249,7 @@ Templates: Template@160: Category: Clear/Rough LAT Id: 160 - Image: clat10.tem + Image: clat10.tem, clat10a.tem Size: 1, 1 Tiles: 0: Rough @@ -2258,7 +2258,7 @@ Templates: Template@161: Category: Clear/Rough LAT Id: 161 - Image: clat11.tem + Image: clat11.tem, clat11a.tem Size: 1, 1 Tiles: 0: Rough @@ -2267,7 +2267,7 @@ Templates: Template@162: Category: Clear/Rough LAT Id: 162 - Image: clat12.tem + Image: clat12.tem, clat12a.tem Size: 1, 1 Tiles: 0: Rough @@ -2276,7 +2276,7 @@ Templates: Template@163: Category: Clear/Rough LAT Id: 163 - Image: clat13.tem + Image: clat13.tem, clat13a.tem Size: 1, 1 Tiles: 0: Rough @@ -2285,7 +2285,7 @@ Templates: Template@164: Category: Clear/Rough LAT Id: 164 - Image: clat14.tem + Image: clat14.tem, clat14a.tem Size: 1, 1 Tiles: 0: Rough @@ -2294,7 +2294,7 @@ Templates: Template@165: Category: Clear/Rough LAT Id: 165 - Image: clat15.tem + Image: clat15.tem, clat15a.tem Size: 1, 1 Tiles: 0: Rough @@ -2303,7 +2303,7 @@ Templates: Template@166: Category: Clear/Rough LAT Id: 166 - Image: clat16.tem + Image: clat16.tem, clat16a.tem Size: 1, 1 Tiles: 0: Rough @@ -5251,7 +5251,7 @@ Templates: Template@296: Category: Bridges Id: 296 - Image: Ovrps01.tem + Image: Ovrps01.tem, Ovrps01a.tem Size: 3, 5 Tiles: 0: Cliff @@ -5310,7 +5310,7 @@ Templates: Template@297: Category: Bridges Id: 297 - Image: Ovrps02.tem + Image: Ovrps02.tem, Ovrps02a.tem Size: 3, 5 Tiles: 0: Cliff @@ -5369,7 +5369,7 @@ Templates: Template@298: Category: Bridges Id: 298 - Image: Ovrps03.tem + Image: Ovrps03.tem, Ovrps03a.tem Size: 2, 5 Tiles: 0: Cliff @@ -5413,7 +5413,7 @@ Templates: Template@299: Category: Bridges Id: 299 - Image: Ovrps04.tem + Image: Ovrps04.tem, Ovrps04a.tem Size: 5, 3 Tiles: 0: Cliff @@ -5472,7 +5472,7 @@ Templates: Template@300: Category: Bridges Id: 300 - Image: Ovrps05.tem + Image: Ovrps05.tem, Ovrps05a.tem Size: 5, 3 Tiles: 0: Cliff @@ -5531,7 +5531,7 @@ Templates: Template@301: Category: Bridges Id: 301 - Image: Ovrps06.tem + Image: Ovrps06.tem, Ovrps06a.tem Size: 5, 2 Tiles: 0: Cliff @@ -5947,7 +5947,7 @@ Templates: Template@312: Category: Paved Roads Id: 312 - Image: Proad01.tem + Image: Proad01.tem, Proad01a.tem, Proad01b.tem, Proad01c.tem Size: 1, 3 Tiles: 0: Road @@ -5962,7 +5962,7 @@ Templates: Template@313: Category: Paved Roads Id: 313 - Image: Proad02.tem + Image: Proad02.tem, Proad02a.tem, Proad02b.tem, Proad02c.tem Size: 3, 1 Tiles: 0: Road @@ -8589,7 +8589,7 @@ Templates: Template@535: Category: Sand Id: 535 - Image: Sandy01.tem + Image: Sandy01.tem, Sandy01a.tem, Sandy01b.tem, Sandy01c.tem, Sandy01d.tem, Sandy01e.tem, Sandy01f.tem, Sandy01g.tem Size: 1, 1 Tiles: 0: Rough @@ -8598,7 +8598,7 @@ Templates: Template@536: Category: Sand/Clear LAT Id: 536 - Image: dlat01.tem + Image: dlat01.tem, dlat01a.tem Size: 1, 1 Tiles: 0: Rough @@ -8607,7 +8607,7 @@ Templates: Template@537: Category: Sand/Clear LAT Id: 537 - Image: dlat02.tem + Image: dlat02.tem, dlat02a.tem Size: 1, 1 Tiles: 0: Rough @@ -8616,7 +8616,7 @@ Templates: Template@538: Category: Sand/Clear LAT Id: 538 - Image: dlat03.tem + Image: dlat03.tem, dlat03a.tem Size: 1, 1 Tiles: 0: Rough @@ -8625,7 +8625,7 @@ Templates: Template@539: Category: Sand/Clear LAT Id: 539 - Image: dlat04.tem + Image: dlat04.tem, dlat04a.tem Size: 1, 1 Tiles: 0: Rough @@ -8634,7 +8634,7 @@ Templates: Template@540: Category: Sand/Clear LAT Id: 540 - Image: dlat05.tem + Image: dlat05.tem, dlat05a.tem Size: 1, 1 Tiles: 0: Rough @@ -8643,7 +8643,7 @@ Templates: Template@541: Category: Sand/Clear LAT Id: 541 - Image: dlat06.tem + Image: dlat06.tem, dlat06a.tem Size: 1, 1 Tiles: 0: Rough @@ -8652,7 +8652,7 @@ Templates: Template@542: Category: Sand/Clear LAT Id: 542 - Image: dlat07.tem + Image: dlat07.tem, dlat07a.tem Size: 1, 1 Tiles: 0: Rough @@ -8661,7 +8661,7 @@ Templates: Template@543: Category: Sand/Clear LAT Id: 543 - Image: dlat08.tem + Image: dlat08.tem, dlat08a.tem Size: 1, 1 Tiles: 0: Rough @@ -8670,7 +8670,7 @@ Templates: Template@544: Category: Sand/Clear LAT Id: 544 - Image: dlat09.tem + Image: dlat09.tem, dlat09a.tem Size: 1, 1 Tiles: 0: Rough @@ -8679,7 +8679,7 @@ Templates: Template@545: Category: Sand/Clear LAT Id: 545 - Image: dlat10.tem + Image: dlat10.tem, dlat10a.tem Size: 1, 1 Tiles: 0: Rough @@ -8688,7 +8688,7 @@ Templates: Template@546: Category: Sand/Clear LAT Id: 546 - Image: dlat11.tem + Image: dlat11.tem, dlat11a.tem Size: 1, 1 Tiles: 0: Rough @@ -8697,7 +8697,7 @@ Templates: Template@547: Category: Sand/Clear LAT Id: 547 - Image: dlat12.tem + Image: dlat12.tem, dlat12a.tem Size: 1, 1 Tiles: 0: Rough @@ -8706,7 +8706,7 @@ Templates: Template@548: Category: Sand/Clear LAT Id: 548 - Image: dlat13.tem + Image: dlat13.tem, dlat13a.tem Size: 1, 1 Tiles: 0: Rough @@ -8715,7 +8715,7 @@ Templates: Template@549: Category: Sand/Clear LAT Id: 549 - Image: dlat14.tem + Image: dlat14.tem, dlat14a.tem Size: 1, 1 Tiles: 0: Rough @@ -8724,7 +8724,7 @@ Templates: Template@550: Category: Sand/Clear LAT Id: 550 - Image: dlat15.tem + Image: dlat15.tem, dlat15a.tem Size: 1, 1 Tiles: 0: Rough @@ -8733,7 +8733,7 @@ Templates: Template@551: Category: Sand/Clear LAT Id: 551 - Image: dlat16.tem + Image: dlat16.tem, dlat16a.tem Size: 1, 1 Tiles: 0: Rough @@ -9294,7 +9294,7 @@ Templates: Template@566: Category: TrainBridges Id: 566 - Image: Tovrps01.tem + Image: Tovrps01.tem, Tovrps01a.tem Size: 3, 5 Tiles: 0: Cliff @@ -9353,7 +9353,7 @@ Templates: Template@567: Category: TrainBridges Id: 567 - Image: Tovrps02.tem + Image: Tovrps02.tem, Tovrps02a.tem Size: 3, 5 Tiles: 0: Cliff @@ -9412,7 +9412,7 @@ Templates: Template@568: Category: TrainBridges Id: 568 - Image: Tovrps03.tem + Image: Tovrps03.tem, Tovrps03a.tem Size: 2, 5 Tiles: 0: Cliff @@ -9456,7 +9456,7 @@ Templates: Template@569: Category: TrainBridges Id: 569 - Image: Tovrps04.tem + Image: Tovrps04.tem, Tovrps04a.tem Size: 5, 3 Tiles: 0: Cliff @@ -9515,7 +9515,7 @@ Templates: Template@570: Category: TrainBridges Id: 570 - Image: Tovrps05.tem + Image: Tovrps05.tem, Tovrps05a.tem Size: 5, 3 Tiles: 0: Cliff @@ -9574,7 +9574,7 @@ Templates: Template@571: Category: TrainBridges Id: 571 - Image: Tovrps06.tem + Image: Tovrps06.tem, Tovrps06a.tem Size: 5, 2 Tiles: 0: Cliff @@ -10212,7 +10212,7 @@ Templates: Template@596: Category: Pavement/Clear LAT Id: 596 - Image: plat01.tem + Image: plat01.tem, plat01a.tem Size: 1, 1 Tiles: 0: Road @@ -10221,7 +10221,7 @@ Templates: Template@597: Category: Pavement/Clear LAT Id: 597 - Image: plat02.tem + Image: plat02.tem, plat02a.tem Size: 1, 1 Tiles: 0: Road @@ -10230,7 +10230,7 @@ Templates: Template@598: Category: Pavement/Clear LAT Id: 598 - Image: plat03.tem + Image: plat03.tem, plat03a.tem Size: 1, 1 Tiles: 0: Road @@ -10239,7 +10239,7 @@ Templates: Template@599: Category: Pavement/Clear LAT Id: 599 - Image: plat04.tem + Image: plat04.tem, plat04a.tem Size: 1, 1 Tiles: 0: Road @@ -10248,7 +10248,7 @@ Templates: Template@600: Category: Pavement/Clear LAT Id: 600 - Image: plat05.tem + Image: plat05.tem, plat05a.tem Size: 1, 1 Tiles: 0: Road @@ -10257,7 +10257,7 @@ Templates: Template@601: Category: Pavement/Clear LAT Id: 601 - Image: plat06.tem + Image: plat06.tem, plat06a.tem Size: 1, 1 Tiles: 0: Road @@ -10266,7 +10266,7 @@ Templates: Template@602: Category: Pavement/Clear LAT Id: 602 - Image: plat07.tem + Image: plat07.tem, plat07a.tem Size: 1, 1 Tiles: 0: Road @@ -10275,7 +10275,7 @@ Templates: Template@603: Category: Pavement/Clear LAT Id: 603 - Image: plat08.tem + Image: plat08.tem, plat08a.tem Size: 1, 1 Tiles: 0: Road @@ -10284,7 +10284,7 @@ Templates: Template@604: Category: Pavement/Clear LAT Id: 604 - Image: plat09.tem + Image: plat09.tem, plat09a.tem Size: 1, 1 Tiles: 0: Road @@ -10293,7 +10293,7 @@ Templates: Template@605: Category: Pavement/Clear LAT Id: 605 - Image: plat10.tem + Image: plat10.tem, plat10a.tem Size: 1, 1 Tiles: 0: Road @@ -10302,7 +10302,7 @@ Templates: Template@606: Category: Pavement/Clear LAT Id: 606 - Image: plat11.tem + Image: plat11.tem, plat11a.tem Size: 1, 1 Tiles: 0: Road @@ -10311,7 +10311,7 @@ Templates: Template@607: Category: Pavement/Clear LAT Id: 607 - Image: plat12.tem + Image: plat12.tem, plat12a.tem Size: 1, 1 Tiles: 0: Road @@ -10320,7 +10320,7 @@ Templates: Template@608: Category: Pavement/Clear LAT Id: 608 - Image: plat13.tem + Image: plat13.tem, plat13a.tem Size: 1, 1 Tiles: 0: Road @@ -10329,7 +10329,7 @@ Templates: Template@609: Category: Pavement/Clear LAT Id: 609 - Image: plat14.tem + Image: plat14.tem, plat14a.tem Size: 1, 1 Tiles: 0: Road @@ -10338,7 +10338,7 @@ Templates: Template@610: Category: Pavement/Clear LAT Id: 610 - Image: plat15.tem + Image: plat15.tem, plat15a.tem Size: 1, 1 Tiles: 0: Road @@ -10347,7 +10347,7 @@ Templates: Template@611: Category: Pavement/Clear LAT Id: 611 - Image: plat16.tem + Image: plat16.tem, plat16a.tem Size: 1, 1 Tiles: 0: Road @@ -10494,7 +10494,7 @@ Templates: Template@626: Category: Green Id: 626 - Image: Green01.tem + Image: Green01.tem, Green01a.tem, Green01b.tem, Green01c.tem, Green01d.tem, Green01e.tem, Green01f.tem, Green01g.tem Size: 1, 1 Tiles: 0: Rough @@ -10503,7 +10503,7 @@ Templates: Template@627: Category: Green/Clear LAT Id: 627 - Image: glat01.tem + Image: glat01.tem, glat01a.tem Size: 1, 1 Tiles: 0: Rough @@ -10512,7 +10512,7 @@ Templates: Template@628: Category: Green/Clear LAT Id: 628 - Image: glat02.tem + Image: glat02.tem, glat02a.tem Size: 1, 1 Tiles: 0: Rough @@ -10521,7 +10521,7 @@ Templates: Template@629: Category: Green/Clear LAT Id: 629 - Image: glat03.tem + Image: glat03.tem, glat03a.tem Size: 1, 1 Tiles: 0: Rough @@ -10530,7 +10530,7 @@ Templates: Template@630: Category: Green/Clear LAT Id: 630 - Image: glat04.tem + Image: glat04.tem, glat04a.tem Size: 1, 1 Tiles: 0: Rough @@ -10539,7 +10539,7 @@ Templates: Template@631: Category: Green/Clear LAT Id: 631 - Image: glat05.tem + Image: glat05.tem, glat05a.tem Size: 1, 1 Tiles: 0: Rough @@ -10548,7 +10548,7 @@ Templates: Template@632: Category: Green/Clear LAT Id: 632 - Image: glat06.tem + Image: glat06.tem, glat06a.tem Size: 1, 1 Tiles: 0: Rough @@ -10557,7 +10557,7 @@ Templates: Template@633: Category: Green/Clear LAT Id: 633 - Image: glat07.tem + Image: glat07.tem, glat07a.tem Size: 1, 1 Tiles: 0: Rough @@ -10566,7 +10566,7 @@ Templates: Template@634: Category: Green/Clear LAT Id: 634 - Image: glat08.tem + Image: glat08.tem, glat08a.tem Size: 1, 1 Tiles: 0: Rough @@ -10575,7 +10575,7 @@ Templates: Template@635: Category: Green/Clear LAT Id: 635 - Image: glat09.tem + Image: glat09.tem, glat09a.tem Size: 1, 1 Tiles: 0: Rough @@ -10584,7 +10584,7 @@ Templates: Template@636: Category: Green/Clear LAT Id: 636 - Image: glat10.tem + Image: glat10.tem, glat10a.tem Size: 1, 1 Tiles: 0: Rough @@ -10593,7 +10593,7 @@ Templates: Template@637: Category: Green/Clear LAT Id: 637 - Image: glat11.tem + Image: glat11.tem, glat11a.tem Size: 1, 1 Tiles: 0: Rough @@ -10602,7 +10602,7 @@ Templates: Template@638: Category: Green/Clear LAT Id: 638 - Image: glat12.tem + Image: glat12.tem, glat12a.tem Size: 1, 1 Tiles: 0: Rough @@ -10611,7 +10611,7 @@ Templates: Template@639: Category: Green/Clear LAT Id: 639 - Image: glat13.tem + Image: glat13.tem, glat13a.tem Size: 1, 1 Tiles: 0: Rough @@ -10620,7 +10620,7 @@ Templates: Template@640: Category: Green/Clear LAT Id: 640 - Image: glat14.tem + Image: glat14.tem, glat14a.tem Size: 1, 1 Tiles: 0: Rough @@ -10629,7 +10629,7 @@ Templates: Template@641: Category: Green/Clear LAT Id: 641 - Image: glat15.tem + Image: glat15.tem, glat15a.tem Size: 1, 1 Tiles: 0: Rough @@ -10638,7 +10638,7 @@ Templates: Template@642: Category: Green/Clear LAT Id: 642 - Image: glat16.tem + Image: glat16.tem, glat16a.tem Size: 1, 1 Tiles: 0: Rough @@ -10647,7 +10647,7 @@ Templates: Template@643: Category: Ramp edge fixup Id: 643 - Image: Rmpfx01.tem + Image: Rmpfx01.tem, Rmpfx01a.tem, Rmpfx01b.tem, Rmpfx01c.tem Size: 1, 1 Tiles: 0: Clear @@ -10657,7 +10657,7 @@ Templates: Template@644: Category: Ramp edge fixup Id: 644 - Image: Rmpfx02.tem + Image: Rmpfx02.tem, Rmpfx02a.tem, Rmpfx02b.tem, Rmpfx02c.tem Size: 1, 1 Tiles: 0: Clear @@ -10667,7 +10667,7 @@ Templates: Template@645: Category: Ramp edge fixup Id: 645 - Image: Rmpfx03.tem + Image: Rmpfx03.tem, Rmpfx03a.tem, Rmpfx03b.tem, Rmpfx03c.tem Size: 1, 1 Tiles: 0: Clear @@ -10677,7 +10677,7 @@ Templates: Template@646: Category: Ramp edge fixup Id: 646 - Image: Rmpfx04.tem + Image: Rmpfx04.tem, Rmpfx04a.tem, Rmpfx04b.tem, Rmpfx04c.tem Size: 1, 1 Tiles: 0: Clear @@ -10687,7 +10687,7 @@ Templates: Template@647: Category: Ramp edge fixup Id: 647 - Image: Rmpfx05.tem + Image: Rmpfx05.tem, Rmpfx05a.tem, Rmpfx05b.tem, Rmpfx05c.tem Size: 1, 1 Tiles: 0: Clear @@ -10697,7 +10697,7 @@ Templates: Template@648: Category: Ramp edge fixup Id: 648 - Image: Rmpfx06.tem + Image: Rmpfx06.tem, Rmpfx06a.tem, Rmpfx06b.tem, Rmpfx06c.tem Size: 1, 1 Tiles: 0: Clear @@ -10707,7 +10707,7 @@ Templates: Template@649: Category: Ramp edge fixup Id: 649 - Image: Rmpfx07.tem + Image: Rmpfx07.tem, Rmpfx07a.tem, Rmpfx07b.tem, Rmpfx07c.tem Size: 1, 1 Tiles: 0: Clear @@ -10717,7 +10717,7 @@ Templates: Template@650: Category: Ramp edge fixup Id: 650 - Image: Rmpfx08.tem + Image: Rmpfx08.tem, Rmpfx08a.tem, Rmpfx08b.tem, Rmpfx08c.tem Size: 1, 1 Tiles: 0: Clear @@ -10727,7 +10727,7 @@ Templates: Template@651: Category: Ramp edge fixup Id: 651 - Image: Rmpfx09.tem + Image: Rmpfx09.tem, Rmpfx09a.tem, Rmpfx09b.tem, Rmpfx09c.tem Size: 1, 1 Tiles: 0: Clear @@ -10737,7 +10737,7 @@ Templates: Template@652: Category: Ramp edge fixup Id: 652 - Image: Rmpfx10.tem + Image: Rmpfx10.tem, Rmpfx10a.tem, Rmpfx10b.tem, Rmpfx10c.tem Size: 1, 1 Tiles: 0: Clear @@ -10747,7 +10747,7 @@ Templates: Template@653: Category: Ramp edge fixup Id: 653 - Image: Rmpfx11.tem + Image: Rmpfx11.tem, Rmpfx11a.tem, Rmpfx11b.tem, Rmpfx11c.tem Size: 1, 1 Tiles: 0: Clear @@ -10757,7 +10757,7 @@ Templates: Template@654: Category: Ramp edge fixup Id: 654 - Image: Rmpfx12.tem + Image: Rmpfx12.tem, Rmpfx12a.tem, Rmpfx12b.tem, Rmpfx12c.tem Size: 1, 1 Tiles: 0: Clear @@ -10855,7 +10855,7 @@ Templates: Template@671: Category: Pavement (Use for LAT) Id: 671 - Image: Pvclr01.tem + Image: Pvclr01.tem, Pvclr01a.tem, Pvclr01b.tem, Pvclr01c.tem, Pvclr01d.tem, Pvclr01e.tem, Pvclr01f.tem, Pvclr01g.tem Size: 1, 1 Tiles: 0: Road