expanded-glyphs follow-up: altars
This commit is contained in:
@@ -458,17 +458,17 @@ enum glyph_offsets {
|
||||
(((mon)->female == 0) ? GLYPH_PET_MALE_OFF : GLYPH_PET_FEM_OFF))
|
||||
|
||||
#define altar_to_glyph(amsk) \
|
||||
(((amsk & AM_NONE) == AM_NONE) \
|
||||
? (GLYPH_ALTAR_OFF + 0) \
|
||||
: ((amsk & AM_CHAOTIC) == AM_CHAOTIC) \
|
||||
? (GLYPH_ALTAR_OFF + 1) \
|
||||
: ((amsk & AM_NEUTRAL) == AM_NEUTRAL) \
|
||||
? (GLYPH_ALTAR_OFF + 2) \
|
||||
: ((amsk & AM_NEUTRAL) == AM_LAWFUL) \
|
||||
? (GLYPH_ALTAR_OFF + 3) \
|
||||
: ((amsk & AM_NEUTRAL) == AM_SHRINE) \
|
||||
? (GLYPH_ALTAR_OFF + 4) \
|
||||
: (GLYPH_ALTAR_OFF + 2))
|
||||
(((amsk & (AM_MASK | AM_SHRINE)) == AM_NONE) \
|
||||
? (GLYPH_ALTAR_OFF + 0) \
|
||||
: ((amsk & (AM_MASK | AM_SHRINE)) == AM_CHAOTIC) \
|
||||
? (GLYPH_ALTAR_OFF + 1) \
|
||||
: ((amsk & (AM_MASK | AM_SHRINE)) == AM_NEUTRAL) \
|
||||
? (GLYPH_ALTAR_OFF + 2) \
|
||||
: ((amsk & (AM_MASK | AM_SHRINE)) == AM_LAWFUL) \
|
||||
? (GLYPH_ALTAR_OFF + 3) \
|
||||
: ((amsk & AM_SHRINE) == AM_SHRINE) \
|
||||
? (GLYPH_ALTAR_OFF + 4) \
|
||||
: (GLYPH_ALTAR_OFF + 2))
|
||||
|
||||
/* not used, nor is it correct
|
||||
#define zap_to_glyph(zaptype, cmap_idx) \
|
||||
|
||||
@@ -342,6 +342,7 @@ extern int wiz_debug_cmd_bury(void);
|
||||
/* ### display.c ### */
|
||||
|
||||
extern void magic_map_background(xchar, xchar, int);
|
||||
static void map_altar(xchar, xchar, int);
|
||||
extern void map_background(xchar, xchar, int);
|
||||
extern void map_trap(struct trap *, int);
|
||||
extern void map_object(struct obj *, int);
|
||||
|
||||
@@ -370,6 +370,18 @@ show_mon_or_warn(int x, int y, int monglyph)
|
||||
show_glyph(x, y, monglyph);
|
||||
}
|
||||
|
||||
/*
|
||||
* map_altar(x, y, amsk)
|
||||
*/
|
||||
void
|
||||
map_altar(xchar x, xchar y, int amsk)
|
||||
{
|
||||
int glyph = altar_to_glyph(amsk);
|
||||
|
||||
if (g.level.flags.hero_memory)
|
||||
levl[x][y].glyph = glyph;
|
||||
show_glyph(x, y, glyph);
|
||||
}
|
||||
#define DETECTED 2
|
||||
#define PHYSICALLY_SEEN 1
|
||||
#define is_worm_tail(mon) ((mon) && ((x != (mon)->mx) || (y != (mon)->my)))
|
||||
@@ -825,6 +837,8 @@ newsym(register int x, register int y)
|
||||
display_warning(mon);
|
||||
} else if (glyph_is_invisible(lev->glyph)) {
|
||||
map_invisible(x, y);
|
||||
} else if (IS_ALTAR(levl[x][y].typ)) {
|
||||
map_altar(x, y, levl[x][y].altarmask);
|
||||
} else
|
||||
_map_location(x, y, 1); /* map the location */\
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user