Fix visual reset in simple options

Switching symset in simple options menu did not reset the
map glyphs corectly.  Just call the same routine for resetting
visuals as in the #optionsfull command.
This commit is contained in:
Pasi Kallinen
2026-04-23 15:51:32 +03:00
parent 25849ac5a2
commit 21f0e18595

View File

@@ -8697,8 +8697,8 @@ doset_simple_menu(void)
int
doset_simple(void)
{
int pickedone = 0,
opt_crt_flags = docrtNocls;
int pickedone = 0;
boolean flush = FALSE;
if (iflags.menu_requested) {
/* doset() checks for 'm' and calls doset_simple(); clear the
@@ -8713,40 +8713,13 @@ doset_simple(void)
give_opt_msg = FALSE;
do {
pickedone = doset_simple_menu();
flush = go.opt_need_redraw;
/* some option choices warrant immediate updating beyond the
option value itself */
if (go.opt_need_glyph_reset) {
reset_glyphmap(gm_optionchange);
}
if (go.opt_need_redraw) {
check_gold_symbol();
reglyph_darkroom();
if (go.opt_symset_changed)
opt_crt_flags &= ~docrtRefresh;
docrt_flags(opt_crt_flags);
reset_needed_visuals();
if (flush) {
flush_screen(1);
flush = FALSE;
}
if (go.opt_need_promptstyle)
adjust_menu_promptstyle(WIN_INVEN, &iflags.menu_headings);
if (go.opt_update_basic_palette) {
#ifdef CHANGE_COLOR
change_palette();
#endif
go.opt_update_basic_palette = FALSE;
}
if (go.opt_reset_customcolors || go.opt_reset_customsymbols) {
if (go.opt_reset_customcolors)
reset_customcolors();
if (go.opt_reset_customsymbols)
reset_customsymbols();
docrt_flags(opt_crt_flags);
}
/* status may need updating if terminal is tall enough that
doset_simple menu doesn't cover up status or wide enough for
curses to honor player's choice of align_status:Right|Left */
if (disp.botl || disp.botlx)
bot();
} while (pickedone > 0);
give_opt_msg = TRUE;
return ECMD_OK;