Fix align type mixup wth align mask

Fix two cases of missed conversion of an alignment to an align mask.

Change induced_align()'s return type to unsigned int since it returns
an align mask (unsigned), not an align type (signed).
This commit is contained in:
Dean Luick
2021-01-17 14:25:08 -06:00
parent 2c38749cab
commit 2f4f7d22d3
3 changed files with 7 additions and 6 deletions

View File

@@ -621,7 +621,7 @@ extern void find_hell(d_level *);
extern void goto_hell(boolean, boolean);
extern void assign_level(d_level *, d_level *);
extern void assign_rnd_level(d_level *, d_level *, int);
extern int induced_align(int);
extern unsigned int induced_align(int);
extern boolean Invocation_lev(d_level *);
extern xchar level_difficulty(void);
extern schar lev_by_name(const char *);

View File

@@ -1865,7 +1865,8 @@ assign_rnd_level(d_level *dest, d_level *src, int range)
dest->dlevel = 1;
}
int
/* return an alignment mask */
unsigned int
induced_align(int pct)
{
s_level *lev = Is_special(&u.uz);

View File

@@ -1769,7 +1769,7 @@ create_monster(monster* m, struct mkroom* croom)
struct monst *mtmp;
xchar x, y;
char class;
aligntyp amask;
unsigned int amask;
coord cc;
struct permonst *pm;
unsigned g_mvflags;
@@ -1788,7 +1788,7 @@ create_monster(monster* m, struct mkroom* croom)
? Align2amask(noncoalignment(u.ualignbase[A_ORIGINAL]))
: (m->align == AM_SPLEV_RANDOM)
? induced_align(80)
: m->align;
: Align2amask(m->align);
if (!class)
pm = (struct permonst *) 0;
@@ -2266,7 +2266,7 @@ create_altar(altar* a, struct mkroom* croom)
{
schar sproom;
xchar x = -1, y = -1;
aligntyp amask;
unsigned int amask;
boolean croom_is_temple = TRUE;
int oldtyp;
@@ -2300,7 +2300,7 @@ create_altar(altar* a, struct mkroom* croom)
? Align2amask(noncoalignment(u.ualignbase[A_ORIGINAL]))
: (a->align == AM_SPLEV_RANDOM)
? induced_align(80)
: a->align;
: Align2amask(a->align);
levl[x][y].typ = ALTAR;
levl[x][y].altarmask = amask;