diff options
-rw-r--r-- | crawl-ref/source/describe.cc | 1 | ||||
-rw-r--r-- | crawl-ref/source/rltiles/dc-misc.txt | 2 | ||||
-rw-r--r-- | crawl-ref/source/rltiles/dc-misc/halo.bmp | bin | 0 -> 2102 bytes | |||
-rw-r--r-- | crawl-ref/source/rltiles/dc-misc/halo_player.bmp | bin | 0 -> 2102 bytes | |||
-rw-r--r-- | crawl-ref/source/rltiles/item/armor/urand_starlight.bmp | bin | 2102 -> 2102 bytes | |||
-rw-r--r-- | crawl-ref/source/tile1.cc | 34 | ||||
-rw-r--r-- | crawl-ref/source/tile2.cc | 11 | ||||
-rw-r--r-- | crawl-ref/source/tiles.h | 8 |
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 Binary files differnew file mode 100644 index 0000000000..f7c7c4b3d6 --- /dev/null +++ b/crawl-ref/source/rltiles/dc-misc/halo.bmp diff --git a/crawl-ref/source/rltiles/dc-misc/halo_player.bmp b/crawl-ref/source/rltiles/dc-misc/halo_player.bmp Binary files differnew file mode 100644 index 0000000000..edfbc158c6 --- /dev/null +++ b/crawl-ref/source/rltiles/dc-misc/halo_player.bmp diff --git a/crawl-ref/source/rltiles/item/armor/urand_starlight.bmp b/crawl-ref/source/rltiles/item/armor/urand_starlight.bmp Binary files differindex a6a345485c..fc7c8633b8 100644 --- a/crawl-ref/source/rltiles/item/armor/urand_starlight.bmp +++ b/crawl-ref/source/rltiles/item/armor/urand_starlight.bmp 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 |