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:
+6
-33
@@ -8697,8 +8697,8 @@ doset_simple_menu(void)
|
|||||||
int
|
int
|
||||||
doset_simple(void)
|
doset_simple(void)
|
||||||
{
|
{
|
||||||
int pickedone = 0,
|
int pickedone = 0;
|
||||||
opt_crt_flags = docrtNocls;
|
boolean flush = FALSE;
|
||||||
|
|
||||||
if (iflags.menu_requested) {
|
if (iflags.menu_requested) {
|
||||||
/* doset() checks for 'm' and calls doset_simple(); clear the
|
/* doset() checks for 'm' and calls doset_simple(); clear the
|
||||||
@@ -8713,40 +8713,13 @@ doset_simple(void)
|
|||||||
give_opt_msg = FALSE;
|
give_opt_msg = FALSE;
|
||||||
do {
|
do {
|
||||||
pickedone = doset_simple_menu();
|
pickedone = doset_simple_menu();
|
||||||
|
flush = go.opt_need_redraw;
|
||||||
|
|
||||||
/* some option choices warrant immediate updating beyond the
|
reset_needed_visuals();
|
||||||
option value itself */
|
if (flush) {
|
||||||
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);
|
|
||||||
flush_screen(1);
|
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);
|
} while (pickedone > 0);
|
||||||
give_opt_msg = TRUE;
|
give_opt_msg = TRUE;
|
||||||
return ECMD_OK;
|
return ECMD_OK;
|
||||||
|
|||||||
Reference in New Issue
Block a user