extern const struct Align aligns[]; /* table of available alignments */
-/* hangup handling; sometimes u.uinwater is overridden, and we need to
- be able to reset it in the event of restoring from a hangup save;
- save/override/restore takes place during normal execution, so this
- isn't dependent upon current port's signal handling capability */
-struct huphack {
- Bitfield(hup_uinwater,1);
- Bitfield(hup_uburied,1);
-};
/*** Information about the player ***/
struct you {
xchar skill_record[P_SKILL_LIMIT]; /* skill advancements */
struct skills weapon_skills[P_NUM_SKILLS];
boolean twoweap; /* KMH -- Using two-weapon combat */
- struct huphack save; /* hup_{uinwater,uburied} */
}; /* end of `struct you' */
outgoldmap:
cls();
- u.save.hup_uinwater = u.uinwater, u.save.hup_uburied = u.uburied;
+ iflags.save_uinwater = u.uinwater, iflags.save_uburied = u.uburied;
u.uinwater = u.uburied = 0;
/* Discover gold locations. */
for (obj = fobj; obj; obj = obj->nobj) {
}
}
newsym(u.ux,u.uy);
- u.uinwater = u.save.hup_uinwater, u.uburied = u.save.hup_uburied;
+ u.uinwater = iflags.save_uinwater, u.uburied = iflags.save_uburied;
You_feel("very greedy, and sense gold!");
exercise(A_WIS, TRUE);
display_nhwindow(WIN_MAP, TRUE);
struct obj *temp;
known = TRUE;
cls();
- u.save.hup_uinwater = u.uinwater, u.save.hup_uburied = u.uburied;
+ iflags.save_uinwater = u.uinwater, iflags.save_uburied = u.uburied;
u.uinwater = u.uburied = 0;
for (obj = fobj; obj; obj = obj->nobj)
if ((temp = o_in(obj, oclass)) != 0) {
break; /* skip rest of this monster's inventory */
}
newsym(u.ux,u.uy);
- u.uinwater = u.save.hup_uinwater, u.uburied = u.save.hup_uburied;
+ u.uinwater = iflags.save_uinwater, u.uburied = iflags.save_uburied;
if (sobj) {
if (sobj->blessed) {
Your("%s %s to tingle and you smell %s.", body_part(NOSE),
cls();
- u.save.hup_uinwater = u.uinwater, u.save.hup_uburied = u.uburied;
+ iflags.save_uinwater = u.uinwater, iflags.save_uburied = u.uburied;
u.uinwater = u.uburied = 0;
/*
* Map all buried objects first.
}
newsym(u.ux,u.uy);
- u.uinwater = u.save.hup_uinwater, u.uburied = u.save.hup_uburied;
+ u.uinwater = iflags.save_uinwater, u.uburied = iflags.save_uburied;
You("detect the %s of %s.", ct ? "presence" : "absence", stuff);
display_nhwindow(WIN_MAP, TRUE);
/*
outtrapmap:
cls();
- u.save.hup_uinwater = u.uinwater, u.save.hup_uburied = u.uburied;
+ iflags.save_uinwater = u.uinwater, iflags.save_uburied = u.uburied;
u.uinwater = u.uburied = 0;
/* show chest traps first, so that subsequent floor trap display
glyph = glyph_at(u.ux, u.uy);
if (!(glyph_is_trap(glyph) || glyph_is_object(glyph)))
newsym(u.ux, u.uy);
- u.uinwater = u.save.hup_uinwater, u.uburied = u.save.hup_uburied;
+ u.uinwater = iflags.save_uinwater, u.uburied = iflags.save_uburied;
You_feel("%s.", cursed_src ? "very greedy" : "entrapped");
/* wait for user to respond, then reset map display to normal */
{
register int zx, zy;
- u.save.hup_uinwater = u.uinwater, u.save.hup_uburied = u.uburied;
+ iflags.save_uinwater = u.uinwater, iflags.save_uburied = u.uburied;
u.uinwater = u.uburied = 0;
for (zx = 1; zx < COLNO; zx++)
for (zy = 0; zy < ROWNO; zy++)
show_map_spot(zx, zy);
- u.uinwater = u.save.hup_uinwater, u.uburied = u.save.hup_uburied;
+ u.uinwater = iflags.save_uinwater, u.uburied = iflags.save_uburied;
if (!level.flags.hero_memory || Underwater) {
flush_screen(1); /* flush temp screen */
display_nhwindow(WIN_MAP, TRUE); /* wait */