summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crawl-ref/docs/arena.txt11
-rw-r--r--crawl-ref/source/tile2.cc7
-rw-r--r--crawl-ref/source/tilepick.cc9
-rw-r--r--crawl-ref/source/tiles.h2
-rw-r--r--crawl-ref/source/tilesdl.cc4
5 files changed, 26 insertions, 7 deletions
diff --git a/crawl-ref/docs/arena.txt b/crawl-ref/docs/arena.txt
index b4339c32a7..901dd03638 100644
--- a/crawl-ref/docs/arena.txt
+++ b/crawl-ref/docs/arena.txt
@@ -5,7 +5,10 @@ entertainment. It can be invoked on the command line like this:
crawl -arena "kobold v goblin"
Which will cause one kobold to fight one goblin, with crawl shutting down once
-one of them has won. To make them fight for three rounds you can do:
+one of them has won. To be considered valid, a monster's name has to fully
+match its definition, e.g. "Blork the orc" rather than simply "Blork".
+
+To make them fight for three rounds you can do:
crawl -arena "t:3 kobold v goblin"
@@ -22,6 +25,12 @@ will give team A a rat and a cockroach and team B a kobold and a goblin; a
victory is declared when all of one team is dead and at lest one member of the
other team is still alive.
+Some monsters have a band (that is, a group of monsters) that will be
+generated with them during normal play. You can use the suffix "band" to
+make a monster appear with its band (if one exists). For example:
+
+ crawl -arena "Margery band v Saint Roka band"
+
You can also make multiple of a single type of monster (note that the singular
form of the names are still used):
diff --git a/crawl-ref/source/tile2.cc b/crawl-ref/source/tile2.cc
index dc6eb07898..a4f5386eff 100644
--- a/crawl-ref/source/tile2.cc
+++ b/crawl-ref/source/tile2.cc
@@ -29,6 +29,13 @@ REVISION("$Rev$");
#include "tiles.h"
#include "transfor.h"
+// In a labyrinth, don't display the minimap.
+bool player_in_mini_mappable_area()
+{
+ return (player_in_mappable_area()
+ && you.level_type != LEVEL_LABYRINTH);
+}
+
void tile_default_flv(level_area_type lev, branch_type br, tile_flavour &flv)
{
flv.wall = TILE_WALL_NORMAL;
diff --git a/crawl-ref/source/tilepick.cc b/crawl-ref/source/tilepick.cc
index cb18fe701d..23aa5e9ab3 100644
--- a/crawl-ref/source/tilepick.cc
+++ b/crawl-ref/source/tilepick.cc
@@ -42,10 +42,13 @@ static inline bool _is_sewers()
void TileNewLevel(bool first_time)
{
tiles.clear_minimap();
- for (int y = 0; y < GYM; y++)
- for (int x = 0; x < GXM; x++)
- tiles.update_minimap(x, y);
+ if (player_in_mini_mappable_area())
+ {
+ for (int y = 0; y < GYM; y++)
+ for (int x = 0; x < GXM; x++)
+ tiles.update_minimap(x, y);
+ }
if (first_time)
tile_init_flavour();
diff --git a/crawl-ref/source/tiles.h b/crawl-ref/source/tiles.h
index e926f93930..923a34b96b 100644
--- a/crawl-ref/source/tiles.h
+++ b/crawl-ref/source/tiles.h
@@ -39,6 +39,8 @@ struct demon_data
int wings;
};
+bool player_in_mini_mappable_area();
+
//*tile1.cc: get data from core part and drives tile drawing codes
//**convert in-game data to tile index
diff --git a/crawl-ref/source/tilesdl.cc b/crawl-ref/source/tilesdl.cc
index 035fa1de0d..a00edd2de6 100644
--- a/crawl-ref/source/tilesdl.cc
+++ b/crawl-ref/source/tilesdl.cc
@@ -1072,9 +1072,7 @@ void TilesFramework::redraw()
glScalef(m_viewsc.x, m_viewsc.y, 1.0f);
for (unsigned int i = 0; i < m_layers[m_active_layer].m_regions.size(); i++)
- {
m_layers[m_active_layer].m_regions[i]->render();
- }
// Draw tooltip
if (!m_tooltip.empty())
@@ -1091,7 +1089,7 @@ void TilesFramework::redraw()
void TilesFramework::update_minimap(int gx, int gy)
{
- if (!player_in_mappable_area())
+ if (!player_in_mini_mappable_area())
return;
int object = env.map[gx][gy].object;