summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/arena.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/arena.cc')
-rw-r--r--crawl-ref/source/arena.cc13
1 files changed, 10 insertions, 3 deletions
diff --git a/crawl-ref/source/arena.cc b/crawl-ref/source/arena.cc
index 2d66ba2c88..fdd0cc40e9 100644
--- a/crawl-ref/source/arena.cc
+++ b/crawl-ref/source/arena.cc
@@ -6,6 +6,7 @@
#include "cio.h"
#include "dungeon.h"
#include "initfile.h"
+#include "items.h"
#include "libutil.h"
#include "maps.h"
#include "message.h"
@@ -201,8 +202,16 @@ namespace arena
if (!map)
throw make_stringf("No arena maps named \"%s\"", arena_type.c_str());
+#ifdef USE_TILE
+ tile_init_default_flavour();
+ tile_clear_flavour();
+#endif
+
ASSERT(map);
- dgn_place_map(map, true, true);
+ bool success = dgn_place_map(map, true, true);
+ if (!success)
+ throw make_stringf("Failed to create arena named \"%s\"", arena_type.c_str());
+ link_items();
if (!env.rock_colour)
env.rock_colour = CYAN;
@@ -210,8 +219,6 @@ namespace arena
env.floor_colour = LIGHTGREY;
#ifdef USE_TILE
- tile_init_default_flavour();
- tile_clear_flavour();
TileNewLevel(true);
#endif
}