summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crawl-ref/source/describe.cc1
-rw-r--r--crawl-ref/source/rltiles/dc-misc.txt2
-rw-r--r--crawl-ref/source/rltiles/dc-misc/halo.bmpbin0 -> 2102 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-misc/halo_player.bmpbin0 -> 2102 bytes
-rw-r--r--crawl-ref/source/rltiles/item/armor/urand_starlight.bmpbin2102 -> 2102 bytes
-rw-r--r--crawl-ref/source/tile1.cc34
-rw-r--r--crawl-ref/source/tile2.cc11
-rw-r--r--crawl-ref/source/tiles.h8
8 files changed, 37 insertions, 19 deletions
diff --git a/crawl-ref/source/describe.cc b/crawl-ref/source/describe.cc
index 1d56a276b2..1e993a65bd 100644
--- a/crawl-ref/source/describe.cc
+++ b/crawl-ref/source/describe.cc
@@ -278,6 +278,7 @@ static std::vector<std::string> _randart_propnames( const item_def& item )
{
const int val = proprt[propanns[i].prop];
+ // Don't show rF+/rC- for =Fire, or vice versa for =Ice.
if (item.base_type == OBJ_JEWELLERY)
{
if (item.sub_type == RING_FIRE
diff --git a/crawl-ref/source/rltiles/dc-misc.txt b/crawl-ref/source/rltiles/dc-misc.txt
index 8e3a566ced..1484827df0 100644
--- a/crawl-ref/source/rltiles/dc-misc.txt
+++ b/crawl-ref/source/rltiles/dc-misc.txt
@@ -29,6 +29,8 @@ sanctuary SANCTUARY
#########MAP
%sdir dc-misc
+halo_player HALO_PLAYER
+halo HALO
%corpse 0
%back none
%mesh 0
diff --git a/crawl-ref/source/rltiles/dc-misc/halo.bmp b/crawl-ref/source/rltiles/dc-misc/halo.bmp
new file mode 100644
index 0000000000..f7c7c4b3d6
--- /dev/null
+++ b/crawl-ref/source/rltiles/dc-misc/halo.bmp
Binary files differ
diff --git a/crawl-ref/source/rltiles/dc-misc/halo_player.bmp b/crawl-ref/source/rltiles/dc-misc/halo_player.bmp
new file mode 100644
index 0000000000..edfbc158c6
--- /dev/null
+++ b/crawl-ref/source/rltiles/dc-misc/halo_player.bmp
Binary files differ
diff --git a/crawl-ref/source/rltiles/item/armor/urand_starlight.bmp b/crawl-ref/source/rltiles/item/armor/urand_starlight.bmp
index a6a345485c..fc7c8633b8 100644
--- a/crawl-ref/source/rltiles/item/armor/urand_starlight.bmp
+++ b/crawl-ref/source/rltiles/item/armor/urand_starlight.bmp
Binary files differ
diff --git a/crawl-ref/source/tile1.cc b/crawl-ref/source/tile1.cc
index 1d02b745d9..f713d9f726 100644
--- a/crawl-ref/source/tile1.cc
+++ b/crawl-ref/source/tile1.cc
@@ -20,6 +20,7 @@
#include "mon-util.h"
#include "player.h"
#include "randart.h"
+#include "spells3.h" // for the halo
#include "stuff.h"
#include "terrain.h"
#include "tiles.h"
@@ -63,8 +64,8 @@ void TileNewLevel(bool first_time)
const coord_def gc(x,y);
int object = grd(gc);
- if (!is_travelable_stair((dungeon_feature_type)object) ||
- travel_cache.know_stair(gc))
+ if (!is_travelable_stair((dungeon_feature_type)object)
+ || travel_cache.know_stair(gc))
{
env.tile_bk_bg[x][y] &= ~TILE_FLAG_NEW_STAIR;
}
@@ -3795,7 +3796,6 @@ void tile_draw_floor()
{
int cx, cy;
for (cy = 0; cy < env.tile_fg.height(); cy++)
- {
for (cx = 0; cx < env.tile_fg.width(); cx++)
{
const coord_def ep(cx+1, cy+1);
@@ -3821,7 +3821,6 @@ void tile_draw_floor()
env.tile_bg[ep.x-1][ep.y-1] = bg;
env.tile_fg[ep.x-1][ep.y-1] = 0;
}
- }
}
// Called from item() in view.cc
@@ -4062,7 +4061,6 @@ void tile_finish_dngn(unsigned int *tileb, int cx, int cy)
const unsigned short baz_col = get_bazaar_special_colour();
for (y = 0; y < crawl_view.viewsz.y; y++)
- {
for (x = 0; x < crawl_view.viewsz.x; x++)
{
// View coords are not centered on you, but on (cx,cy)
@@ -4096,20 +4094,36 @@ void tile_finish_dngn(unsigned int *tileb, int cx, int cy)
if (in_bounds)
{
- if (is_bloodcovered(gx, gy))
+ bool print_blood = true;
+ if (inside_halo(gx, gy))
{
- tileb[count+1] |= TILE_FLAG_BLOOD;
+ if (gx == you.x_pos && gy == you.y_pos)
+ {
+ tileb[count+1] |= TILE_FLAG_HALO_YOU;
+ print_blood = false;
+ }
+ else if (see_grid(gx, gy) && mgrd[gx][gy] != NON_MONSTER)
+ {
+ monsters* m = &menv[mgrd[gx][gy]];
+ if (!mons_class_flag(m->type, M_NO_EXP_GAIN)
+ && (!mons_is_mimic(m->type)
+ || testbits(m->flags, MF_KNOWN_MIMIC)))
+ {
+ tileb[count+1] |= TILE_FLAG_HALO;
+ print_blood = false;
+ }
+ }
}
+ if (print_blood && is_bloodcovered(gx, gy))
+ tileb[count+1] |= TILE_FLAG_BLOOD;
+
if (is_sanctuary(gx, gy))
- {
tileb[count+1] |= TILE_FLAG_SANCTUARY;
- }
}
count += 2;
}
- }
}
void tile_draw_dungeon(unsigned int *tileb)
diff --git a/crawl-ref/source/tile2.cc b/crawl-ref/source/tile2.cc
index 09d309d02c..acd4f9e41f 100644
--- a/crawl-ref/source/tile2.cc
+++ b/crawl-ref/source/tile2.cc
@@ -661,15 +661,18 @@ void _tcache_compose_normal(int ix, int *fg, int *bg)
if (new_bg)
_tcache_overlay(tcache_image, ix, new_bg, &c, NULL);
+ if (bg0 & TILE_FLAG_HALO_YOU)
+ _tcache_overlay(tcache_image, ix, TILE_HALO_PLAYER, &c, NULL);
+ else if (bg0 & TILE_FLAG_HALO)
+ _tcache_overlay(tcache_image, ix, TILE_HALO, &c, NULL);
+
if ((bg0 & TILE_FLAG_SANCTUARY) && !(bg0 & TILE_FLAG_UNSEEN))
_tcache_overlay(tcache_image, ix, TILE_SANCTUARY, &c, NULL);
// Apply the travel exclusion under the foreground if the cell is
// visible. It will be applied later if the cell is unseen.
if ((bg0 & TILE_FLAG_TRAVEL_EX) && !(bg0 & TILE_FLAG_UNSEEN))
- {
_tcache_overlay(tcache_image, ix, TILE_TRAVEL_EXCLUSION, &c, NULL);
- }
if (bg0 & TILE_FLAG_RAY)
_tcache_overlay(tcache_image, ix, TILE_RAY_MESH, &c, NULL);
@@ -691,9 +694,7 @@ void _tcache_compose_normal(int ix, int *fg, int *bg)
_tcache_overlay(tcache_image, ix, TILE_TRAP_NET, &c, NULL);
if (fg0 & TILE_FLAG_S_UNDER)
- {
_tcache_overlay(tcache_image, ix, TILE_SOMETHING_UNDER, &c, NULL);
- }
// Pet mark
int status_shift = 0;
@@ -740,9 +741,7 @@ void _tcache_compose_normal(int ix, int *fg, int *bg)
// Don't let the "new stair" icon cover up any existing icons, but
// draw it otherwise.
if (bg0 & TILE_FLAG_NEW_STAIR && status_shift == 0)
- {
_tcache_overlay(tcache_image, ix, TILE_NEW_STAIR, &c, NULL);
- }
if ((bg0 & TILE_FLAG_TRAVEL_EX) && (bg0 & TILE_FLAG_UNSEEN))
{
diff --git a/crawl-ref/source/tiles.h b/crawl-ref/source/tiles.h
index fa1e808c6c..20d7320e29 100644
--- a/crawl-ref/source/tiles.h
+++ b/crawl-ref/source/tiles.h
@@ -158,9 +158,11 @@ enum tile_flags
TILE_FLAG_CURSOR3 = 0x0000C000,
TILE_FLAG_CURSOR = 0x0000C000,
TILE_FLAG_BLOOD = 0x00010000,
- TILE_FLAG_NEW_STAIR = 0x00020000,
- TILE_FLAG_TRAVEL_EX = 0x00040000,
- TILE_FLAG_SANCTUARY = 0x00080000,
+ TILE_FLAG_HALO_YOU = 0x00020000,
+ TILE_FLAG_HALO = 0x00040000,
+ TILE_FLAG_NEW_STAIR = 0x00080000,
+ TILE_FLAG_TRAVEL_EX = 0x00100000,
+ TILE_FLAG_SANCTUARY = 0x00200000,
// General
TILE_FLAG_MASK = 0x000007FF