static boolean NDECL(unconstrain_map);
static void NDECL(reconstrain_map);
+static void NDECL(map_redisplay);
static void FDECL(browse_map, (int, const char *));
static void FDECL(map_monst, (struct monst *, BOOLEAN_P));
static void FDECL(do_dknown_of, (struct obj *));
u.uswallow = iflags.save_uswallow, iflags.save_uswallow = 0;
}
+static void
+map_redisplay()
+{
+ reconstrain_map();
+ docrt(); /* redraw the screen to remove unseen traps from the map */
+ if (Underwater)
+ under_water(2);
+ if (u.uburied)
+ under_ground(2);
+}
+
/* use getpos()'s 'autodescribe' to view whatever is currently shown on map */
static void
browse_map(ter_typ, ter_explain)
browse_map(ter_typ, "gold");
- reconstrain_map();
- docrt();
- if (Underwater)
- under_water(2);
- if (u.uburied)
- under_ground(2);
+ map_redisplay();
return 0;
}
browse_map(ter_typ, "food");
- reconstrain_map();
- docrt();
- if (Underwater)
- under_water(2);
- if (u.uburied)
- under_ground(2);
+ map_redisplay();
}
return 0;
}
else
browse_map(ter_typ, "object");
- reconstrain_map();
- docrt(); /* this will correctly reset vision */
- if (Underwater)
- under_water(2);
- if (u.uburied)
- under_ground(2);
+ map_redisplay();
return 0;
}
EDetect_monsters &= ~I_SPECIAL;
}
- reconstrain_map();
- docrt(); /* redraw the screen to remove unseen monsters from map */
- if (Underwater)
- under_water(2);
- if (u.uburied)
- under_ground(2);
+ map_redisplay();
}
return 0;
}
browse_map(ter_typ, "trap of interest");
- reconstrain_map();
- docrt(); /* redraw the screen to remove unseen traps from the map */
- if (Underwater)
- under_water(2);
- if (u.uburied)
- under_ground(2);
+ map_redisplay();
return 0;
}
browse_map(TER_DETECT | TER_MAP | TER_TRP | TER_OBJ | TER_MON,
"location");
- reconstrain_map();
- docrt(); /* redraw everything */
- if (Underwater)
- under_water(2);
- if (u.uburied)
- under_ground(2);
+ map_redisplay();
return 0;
}
which_subset |= TER_MAP; /* guarantee non-zero */
browse_map(which_subset, "anything of interest");
- reconstrain_map();
- docrt(); /* redraw the screen, restoring regular map */
- if (Underwater)
- under_water(2);
- if (u.uburied)
- under_ground(2);
+ map_redisplay();
}
return;
}