From ac301b22e2fbfe25e62646ce6e4d872b63974f5b Mon Sep 17 00:00:00 2001 From: Curtis Shmyr Date: Sun, 9 Dec 2012 16:01:10 -0700 Subject: [PATCH] Editor - Template categories are now ordered by whats specified in the tileset yaml --- OpenRA.Editor/Form1.cs | 3 ++- OpenRA.FileFormats/Map/TileSet.cs | 1 + mods/ra/tilesets/desert.yaml | 6 ++++++ mods/ra/tilesets/snow.yaml | 5 +++++ mods/ra/tilesets/temperat.yaml | 35 ++++++++++++++++++------------- 5 files changed, 34 insertions(+), 16 deletions(-) diff --git a/OpenRA.Editor/Form1.cs b/OpenRA.Editor/Form1.cs index 7995bdad39..e27f263f66 100755 --- a/OpenRA.Editor/Form1.cs +++ b/OpenRA.Editor/Form1.cs @@ -150,7 +150,8 @@ namespace OpenRA.Editor var palettes = new[] { tilePalette, actorPalette, resourcePalette }; foreach (var p in palettes) { p.Visible = false; p.SuspendLayout(); } - foreach (var tc in tileset.Templates.GroupBy(t => t.Value.Category)) + string[] templateOrder = tileset.EditorTemplateOrder ?? new string[]{}; + foreach (var tc in tileset.Templates.GroupBy(t => t.Value.Category).OrderBy(t => templateOrder.ToList().IndexOf(t.Key))) { var category = tc.Key ?? "(Uncategorized)"; var categoryHeader = new Label diff --git a/OpenRA.FileFormats/Map/TileSet.cs b/OpenRA.FileFormats/Map/TileSet.cs index 8b7a08688a..e6d973b09d 100644 --- a/OpenRA.FileFormats/Map/TileSet.cs +++ b/OpenRA.FileFormats/Map/TileSet.cs @@ -84,6 +84,7 @@ namespace OpenRA.FileFormats public int WaterPaletteRotationBase = 0x60; public Dictionary Terrain = new Dictionary(); public Dictionary Templates = new Dictionary(); + public string[] EditorTemplateOrder; static readonly string[] fields = {"Name", "TileSize", "Id", "Palette", "Extensions"}; diff --git a/mods/ra/tilesets/desert.yaml b/mods/ra/tilesets/desert.yaml index d83bf4b6e2..df57060819 100644 --- a/mods/ra/tilesets/desert.yaml +++ b/mods/ra/tilesets/desert.yaml @@ -5,6 +5,7 @@ General: Palette: desert.pal PlayerPalette: temperat.pal WaterPaletteRotationBase: 32 + EditorTemplateOrder: Terrain, Debris, Road, Cliffs, Water Cliffs, Beach, River, Bridge Terrain: TerrainType@Clear: @@ -69,6 +70,7 @@ Templates: Id: 255 Image: clear1 Size: 1,1 + Category: Terrain Tiles: 0: Clear 1: Clear @@ -90,6 +92,7 @@ Templates: Id: 65535 Image: clear1 Size: 1,1 + Category: Terrain Tiles: 0: Clear 1: Clear @@ -111,12 +114,14 @@ Templates: Id: 256 Image: w1 Size: 1,1 + Category: Terrain Tiles: 0: Water Template@257: Id: 257 Image: sh17 Size: 2,2 + Category: Terrain Tiles: 0: Water 1: Water @@ -126,6 +131,7 @@ Templates: Id: 258 Image: sh18 Size: 2,2 + Category: Terrain Tiles: 0: Water 1: Water diff --git a/mods/ra/tilesets/snow.yaml b/mods/ra/tilesets/snow.yaml index 77f44c074c..776964d696 100644 --- a/mods/ra/tilesets/snow.yaml +++ b/mods/ra/tilesets/snow.yaml @@ -3,6 +3,7 @@ General: Id: SNOW Extensions: .sno, .shp, .tem Palette: snow.pal + EditorTemplateOrder: Terrain, Debris, Road, Cliffs, Water Cliffs, Beach, River, Bridge Terrain: TerrainType@Clear: @@ -52,6 +53,7 @@ Templates: Id: 255 Image: clear1 Size: 1,1 + Category: Terrain Tiles: 0: Clear 1: Clear @@ -73,6 +75,7 @@ Templates: Id: 65535 Image: clear1 Size: 1,1 + Category: Terrain Tiles: 0: Clear 1: Clear @@ -94,12 +97,14 @@ Templates: Id: 1 Image: w1 Size: 1,1 + Category: Terrain Tiles: 0: Water Template@2: Id: 2 Image: w2 Size: 2,2 + Category: Terrain Tiles: 0: Water 1: Water diff --git a/mods/ra/tilesets/temperat.yaml b/mods/ra/tilesets/temperat.yaml index cb9631a196..4f2c4706c3 100644 --- a/mods/ra/tilesets/temperat.yaml +++ b/mods/ra/tilesets/temperat.yaml @@ -3,6 +3,7 @@ General: Id: TEMPERAT Extensions: .tem, .shp Palette: temperat.pal + EditorTemplateOrder: Terrain, Debris, Road, Cliffs, Water Cliffs, Beach, River, Bridge Terrain: TerrainType@Clear: @@ -52,6 +53,7 @@ Templates: Id: 255 Image: clear1 Size: 1,1 + Category: Terrain Tiles: 0: Clear 1: Clear @@ -73,6 +75,7 @@ Templates: Id: 65535 Image: clear1 Size: 1,1 + Category: Terrain Tiles: 0: Clear 1: Clear @@ -90,6 +93,23 @@ Templates: 13: Clear 14: Clear 15: Clear + Template@1: + Id: 1 + Image: w1 + Size: 1,1 + Category: Terrain + Tiles: + 0: Water + Template@2: + Id: 2 + Image: w2 + Size: 2,2 + Category: Terrain + Tiles: + 0: Water + 1: Water + 2: Water + 3: Water Template@3: Id: 3 Image: sh01 @@ -945,21 +965,6 @@ Templates: Tiles: 0: Rock 1: Rock - Template@1: - Id: 1 - Image: w1 - Size: 1,1 - Tiles: - 0: Water - Template@2: - Id: 2 - Image: w2 - Size: 2,2 - Tiles: - 0: Water - 1: Water - 2: Water - 3: Water Template@135: Id: 135 Image: s01