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