yet more expanded-glyphs altar follow-up
The 5 glyphs are now unaligned_altar, chaotic_altar, neutral_altar, lawful_altar, and high_altar. The latter is only mapped if you are on astral or sanctum levels.
This commit is contained in:
@@ -317,7 +317,7 @@
|
||||
* cmap A S_ndoor through S_brdnladder
|
||||
* Count: (S_brdnladder - S_ndoor) + 1 = 19
|
||||
*
|
||||
* Altars Altar (Unaligned, Chaotic, Neutral, Lawful, shrine)
|
||||
* Altars Altar (Unaligned, Chaotic, Neutral, Lawful, high altar)
|
||||
* Count: 5
|
||||
*
|
||||
* cmap B S_grave through S_vibrating_square
|
||||
@@ -460,15 +460,16 @@ enum glyph_offsets {
|
||||
#define altar_to_glyph(amsk) \
|
||||
(((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))
|
||||
: (((amsk & AM_SHRINE) == AM_SHRINE) \
|
||||
&& (Is_astralevel(&u.uz) || Is_sanctum(&u.uz))) \
|
||||
? (GLYPH_ALTAR_OFF + 4) \
|
||||
: ((amsk & AM_MASK) == AM_CHAOTIC) \
|
||||
? (GLYPH_ALTAR_OFF + 1) \
|
||||
: ((amsk & AM_MASK) == AM_NEUTRAL) \
|
||||
? (GLYPH_ALTAR_OFF + 2) \
|
||||
: ((amsk & AM_MASK) == AM_LAWFUL) \
|
||||
? (GLYPH_ALTAR_OFF + 3) \
|
||||
: (GLYPH_ALTAR_OFF + 2))
|
||||
|
||||
/* not used, nor is it correct
|
||||
#define zap_to_glyph(zaptype, cmap_idx) \
|
||||
@@ -915,7 +916,7 @@ enum altar_colors {
|
||||
altar_color_neutral = CLR_GRAY,
|
||||
altar_color_lawful = CLR_GRAY,
|
||||
#endif
|
||||
altar_color_shrine = CLR_BRIGHT_MAGENTA
|
||||
altar_color_highaltar = CLR_BRIGHT_MAGENTA,
|
||||
};
|
||||
|
||||
/* types of explosions */
|
||||
@@ -955,7 +956,7 @@ enum altar_types {
|
||||
altar_chaotic,
|
||||
altar_neutral,
|
||||
altar_lawful,
|
||||
altar_shrine
|
||||
altar_highaltar
|
||||
};
|
||||
|
||||
enum { GM_FLAGS, GM_TTYCHAR, GM_COLOR, NUM_GLYPHMOD }; /* glyphmod entries */
|
||||
|
||||
@@ -2183,9 +2183,9 @@ get_bk_glyph(xchar x, xchar y)
|
||||
#define HI_DOMESTIC CLR_WHITE /* monst.c */
|
||||
|
||||
/* masks for per-level variances kept in g.glyphmap_perlevel_flags */
|
||||
#define GMAP_SET 0x0001
|
||||
#define GMAP_ROGUELEVEL 0x0002
|
||||
#define GMAP_ALTARCOLOR 0x0004
|
||||
#define GMAP_SET 0x0001
|
||||
#define GMAP_ROGUELEVEL 0x0002
|
||||
#define GMAP_HIGHALTARCOLOR 0x0004
|
||||
|
||||
void
|
||||
map_glyphinfo(xchar x, xchar y, int glyph, unsigned mgflags,
|
||||
@@ -2240,9 +2240,9 @@ const int zapcolors[NUM_ZAP] = {
|
||||
zap_color_sleep, zap_color_death, zap_color_lightning,
|
||||
zap_color_poison_gas, zap_color_acid,
|
||||
};
|
||||
const int altarcolors[5] = {
|
||||
const int altarcolors[] = {
|
||||
altar_color_unaligned, altar_color_chaotic, altar_color_neutral,
|
||||
altar_color_lawful, altar_color_shrine,
|
||||
altar_color_lawful, altar_color_highaltar
|
||||
};
|
||||
const int explodecolors[7] = {
|
||||
explode_color_dark, explode_color_noxious, explode_color_muddy,
|
||||
@@ -2328,17 +2328,14 @@ reset_glyphmap(enum glyphmap_change_triggers trigger)
|
||||
/*
|
||||
* GMAP_SET 0x00000001
|
||||
* GMAP_ROGUELEVEL 0x00000002
|
||||
* GMAP_ALTARCOLOR 0x00000004
|
||||
* GMAP_HIGHALTARCOLOR 0x00000004
|
||||
*/
|
||||
g.glyphmap_perlevel_flags |= GMAP_SET;
|
||||
|
||||
if (Is_rogue_level(&u.uz)) {
|
||||
g.glyphmap_perlevel_flags |= GMAP_ROGUELEVEL;
|
||||
} else if (Is_astralevel(&u.uz)
|
||||
|| Is_sanctum(&u.uz)
|
||||
|| In_mines(&u.uz)
|
||||
|| Is_valley(&u.uz)) {
|
||||
g.glyphmap_perlevel_flags |= GMAP_ALTARCOLOR;
|
||||
} else if (Is_astralevel(&u.uz) || Is_sanctum(&u.uz)) {
|
||||
g.glyphmap_perlevel_flags |= GMAP_HIGHALTARCOLOR;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2460,12 +2457,9 @@ reset_glyphmap(enum glyphmap_change_triggers trigger)
|
||||
gmap->symidx = S_grave + offset + SYM_OFF_P;
|
||||
cmap_color(S_grave + offset);
|
||||
} else if ((offset = (glyph - GLYPH_ALTAR_OFF)) >= 0) {
|
||||
/* unaligned, chaotic, neutral, lawful, shrine */
|
||||
/* unaligned, chaotic, neutral, lawful, high altar */
|
||||
gmap->symidx = S_altar + SYM_OFF_P;
|
||||
if (g.glyphmap_perlevel_flags & GMAP_ALTARCOLOR)
|
||||
altar_color(offset);
|
||||
else
|
||||
cmap_color(S_altar); /* gray */
|
||||
altar_color(offset);
|
||||
} else if ((offset = (glyph - GLYPH_CMAP_A_OFF)) >= 0) {
|
||||
int cmap = S_ndoor + offset;
|
||||
gmap->symidx = cmap + SYM_OFF_P;
|
||||
|
||||
@@ -692,7 +692,7 @@ Z = (195, 195, 195)
|
||||
...AAAAAAAAAAA..
|
||||
................
|
||||
}
|
||||
# tile 35 (shrine)
|
||||
# tile 35 (high altar)
|
||||
{
|
||||
................
|
||||
................
|
||||
|
||||
@@ -60,7 +60,7 @@ struct {
|
||||
enum {MON_GLYPH, OBJ_GLYPH, OTH_GLYPH, TERMINATOR = -1};
|
||||
#define EXTRA_SCROLL_DESCR_COUNT ((SCR_BLANK_PAPER - SCR_STINKING_CLOUD) - 1)
|
||||
const char *altar_text[] = {
|
||||
"unaligned", "chaotic", "neutral", "lawful", "shrine",
|
||||
"unaligned", "chaotic", "neutral", "lawful", "high altar",
|
||||
};
|
||||
enum wall_levels { main_dungeon, mines, gehennom, knox, sokoban };
|
||||
|
||||
@@ -329,7 +329,7 @@ tilename(int set, const int file_entry, int gend UNUSED)
|
||||
|
||||
/* Altars */
|
||||
cmap = S_altar;
|
||||
for (k = altar_unaligned; k <= altar_shrine; k++) {
|
||||
for (k = altar_unaligned; k <= altar_highaltar; k++) {
|
||||
/* Since defsyms only has one altar symbol,
|
||||
it isn't much help in identifying details
|
||||
these. Roll our own name. */
|
||||
@@ -889,7 +889,7 @@ init_tilemap(void)
|
||||
/* Altars */
|
||||
cmap = S_altar;
|
||||
j = 0;
|
||||
for (k = altar_unaligned; k <= altar_shrine; k++) {
|
||||
for (k = altar_unaligned; k <= altar_highaltar; k++) {
|
||||
offset = GLYPH_ALTAR_OFF + j;
|
||||
precheck((offset), "altar");
|
||||
tilemap[offset].tilenum = tilenum;
|
||||
@@ -1377,7 +1377,7 @@ acceptable_tilename(int glyph_set, int idx, const char *encountered,
|
||||
{ "raised drawbridge", "vertical closed drawbridge" },
|
||||
{ "raised drawbridge", "horizontal closed drawbridge" },
|
||||
{ "altar", "unaligned altar" },
|
||||
{ "altar", "shrine" },
|
||||
{ "altar", "high altar" },
|
||||
#if 0
|
||||
{ "dark part of a room", "stone" },
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user