Accessibility: lookaround command, mention_map option

Adds a new extended command #lookaround, which will describe
the map around the hero they can see or remember.

Adds a new boolean option mention_map, which will give a message
when an interesting map location in sight changes.
This commit is contained in:
Pasi Kallinen
2024-02-28 20:21:51 +02:00
parent 1532a052c0
commit 25fa293c81
11 changed files with 277 additions and 4 deletions

View File

@@ -324,6 +324,7 @@ extern char *cmd_from_ecname(const char *);
extern const char *cmdname_from_func(int(*)(void), char *, boolean);
extern boolean redraw_cmd(char);
extern const char *levltyp_to_name(int);
extern int dolookaround(void);
extern void reset_occupations(void);
extern void set_occupation(int(*)(void), const char *, cmdcount_nht);
extern void cmdq_add_ec(int, int(*)(void));
@@ -634,6 +635,7 @@ extern const char *pmname(struct permonst *, int) NONNULLARG1;
extern const char *mon_pmname(struct monst *) NONNULLARG1;
extern const char *obj_pmname(struct obj *) NONNULLARG1;
extern boolean mapxy_valid(coordxy, coordxy);
extern boolean gather_locs_interesting(coordxy, coordxy, int);
/* ### do_wear.c ### */

View File

@@ -194,6 +194,7 @@ struct accessibility_data {
boolean mon_notices; /* msg when hero notices a monster */
int mon_notices_blocked; /* temp disable mon_notices */
boolean mon_movement; /* msg when hero sees monster move */
boolean glyph_updates; /* msg when map glyphs change */
};
/* Use notice_mon_off() / notice_mon_on() to temporarily disable

View File

@@ -408,6 +408,9 @@ static int optfn_##a(int, int, boolean, char *, char *);
NHOPTB(mention_decor, Advanced, 0, opt_in, set_in_game,
Off, Yes, No, No, NoAlias, &flags.mention_decor, Term_False,
"give feedback when walking over interesting features")
NHOPTB(mention_map, Advanced, 0, opt_in, set_in_game,
Off, Yes, No, No, NoAlias, &a11y.glyph_updates, Term_False,
"give feedback when interesting map locations change")
NHOPTB(mention_walls, Advanced, 0, opt_in, set_in_game,
Off, Yes, No, No, NoAlias, &flags.mention_walls, Term_False,
"give feedback when walking into walls")