simple O menu requires clear screen for symset

This commit is contained in:
nhmall
2024-05-12 08:10:36 -04:00
parent 38e8e99565
commit 329ffae7df
3 changed files with 7 additions and 1 deletions

View File

@@ -767,6 +767,7 @@ struct instance_globals_o {
boolean opt_reset_customcolors;
boolean opt_reset_customsymbols;
boolean opt_update_basic_palette;
boolean opt_symset_changed;
/* pickup.c */
int oldcap; /* last encumbrance */

View File

@@ -668,6 +668,7 @@ static const struct instance_globals_o g_init_o = {
FALSE, /* opt_reset_customcolors */
FALSE, /* opt_reset_customsymbols */
FALSE, /* opt_update_basic_palette */
FALSE, /* opt_symset_changed */
/* pickup.c */
0, /* oldcap */
/* restore.c */

View File

@@ -3449,7 +3449,8 @@ optfn_roguesymset(
} else {
if (!go.opt_initial && Is_rogue_level(&u.uz))
assign_graphics(ROGUESET);
go.opt_need_redraw = TRUE;
go.opt_need_redraw = go.opt_need_glyph_reset = TRUE;
go.opt_symset_changed = TRUE;
}
} else
return optn_err;
@@ -4072,6 +4073,7 @@ optfn_symset(
}
switch_symbols(gs.symset[PRIMARYSET].name != (char *) 0);
go.opt_need_redraw = go.opt_need_glyph_reset = TRUE;
go.opt_symset_changed = TRUE;
}
} else
return optn_err;
@@ -8508,6 +8510,8 @@ doset_simple(void)
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);
}