diff --git a/OpenRA.Game/Game.cs b/OpenRA.Game/Game.cs index 5858b29f3d..6da149ea7e 100644 --- a/OpenRA.Game/Game.cs +++ b/OpenRA.Game/Game.cs @@ -146,7 +146,7 @@ namespace OpenRA ChromeProvider.Initialize(manifest.Chrome); - world = new World(); + world = new World(mapName); Timer.Time( "world: {0}" ); diff --git a/OpenRA.Game/World.cs b/OpenRA.Game/World.cs index 53a0c0be60..62bd45784b 100644 --- a/OpenRA.Game/World.cs +++ b/OpenRA.Game/World.cs @@ -75,11 +75,14 @@ namespace OpenRA public readonly WorldRenderer WorldRenderer; internal readonly Minimap Minimap; - public World() + public World(string mapUid) { Timer.Time( "----World.ctor" ); - Map = new Map( Game.AvailableMaps[Game.LobbyInfo.GlobalSettings.Map].Package ); + if (!Game.AvailableMaps.ContainsKey(mapUid)) + throw new InvalidDataException("Cannot find map with Uid {0}".F(mapUid)); + + Map = new Map( Game.AvailableMaps[mapUid].Package ); customTerrain = new ICustomTerrain[Map.MapSize.X, Map.MapSize.Y]; Timer.Time( "new Map: {0}" );