add a sensible error when trying to save a map using a bogus tileset

This commit is contained in:
Chris Forbes
2011-02-28 22:18:44 +13:00
parent ba949126ab
commit c2b0cec2ea

View File

@@ -375,7 +375,12 @@ namespace OpenRA
// File header consists of a version byte, followed by 2 ushorts for width and height // File header consists of a version byte, followed by 2 ushorts for width and height
writer.Write(TileFormat); writer.Write(TileFormat);
writer.Write((ushort)MapSize.X); writer.Write((ushort)MapSize.X);
writer.Write((ushort)MapSize.Y); writer.Write((ushort)MapSize.Y);
if (!OpenRA.Rules.TileSets.ContainsKey(Tileset))
throw new InvalidOperationException(
"Tileset used by the map ({0}) does not exist in this mod. Valid tilesets are: {1}"
.F(Tileset, string.Join(",", OpenRA.Rules.TileSets.Keys.ToArray())));
// Tile data // Tile data
for (int i = 0; i < MapSize.X; i++) for (int i = 0; i < MapSize.X; i++)