tweak #vanquished - ESC when choosing sort order
Skip displaying vanquished monsters if player responds with ESC in the sort order menu instead of treating it like RET and using default order.
This commit is contained in:
22
src/end.c
22
src/end.c
@@ -52,7 +52,7 @@ STATIC_DCL boolean FDECL(odds_and_ends, (struct obj *, int));
|
|||||||
STATIC_DCL void FDECL(savelife, (int));
|
STATIC_DCL void FDECL(savelife, (int));
|
||||||
STATIC_PTR int FDECL(CFDECLSPEC vanqsort_cmp, (const genericptr,
|
STATIC_PTR int FDECL(CFDECLSPEC vanqsort_cmp, (const genericptr,
|
||||||
const genericptr));
|
const genericptr));
|
||||||
STATIC_DCL void NDECL(set_vanq_order);
|
STATIC_DCL int NDECL(set_vanq_order);
|
||||||
STATIC_DCL void FDECL(list_vanquished, (CHAR_P, BOOLEAN_P));
|
STATIC_DCL void FDECL(list_vanquished, (CHAR_P, BOOLEAN_P));
|
||||||
STATIC_DCL void FDECL(list_genocided, (CHAR_P, BOOLEAN_P));
|
STATIC_DCL void FDECL(list_genocided, (CHAR_P, BOOLEAN_P));
|
||||||
STATIC_DCL boolean FDECL(should_query_disclose_option, (int, char *));
|
STATIC_DCL boolean FDECL(should_query_disclose_option, (int, char *));
|
||||||
@@ -1536,7 +1536,8 @@ const genericptr vptr2;
|
|||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
STATIC_OVL void
|
/* returns -1 if cancelled via ESC */
|
||||||
|
STATIC_OVL int
|
||||||
set_vanq_order()
|
set_vanq_order()
|
||||||
{
|
{
|
||||||
winid tmpwin;
|
winid tmpwin;
|
||||||
@@ -1566,6 +1567,7 @@ set_vanq_order()
|
|||||||
free((genericptr_t) selected);
|
free((genericptr_t) selected);
|
||||||
vanq_sortmode = choice;
|
vanq_sortmode = choice;
|
||||||
}
|
}
|
||||||
|
return (n < 0) ? -1 : vanq_sortmode;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* #vanquished command */
|
/* #vanquished command */
|
||||||
@@ -1612,16 +1614,20 @@ boolean ask;
|
|||||||
if (c == 'q')
|
if (c == 'q')
|
||||||
done_stopprint++;
|
done_stopprint++;
|
||||||
if (c == 'y' || c == 'a') {
|
if (c == 'y' || c == 'a') {
|
||||||
klwin = create_nhwindow(NHW_MENU);
|
if (c == 'a') { /* ask player to choose sort order */
|
||||||
putstr(klwin, 0, "Vanquished creatures:");
|
/* choose value for vanq_sortmode via menu; ESC cancels list
|
||||||
putstr(klwin, 0, "");
|
of vanquished monsters but does not set 'done_stopprint' */
|
||||||
|
if (set_vanq_order() < 0)
|
||||||
if (c == 'a')
|
return;
|
||||||
set_vanq_order(); /* menu to choose value for vanq_sortmode */
|
}
|
||||||
uniq_header = (vanq_sortmode == VANQ_ALPHA_SEP);
|
uniq_header = (vanq_sortmode == VANQ_ALPHA_SEP);
|
||||||
class_header = (vanq_sortmode == VANQ_MCLS_LTOH
|
class_header = (vanq_sortmode == VANQ_MCLS_LTOH
|
||||||
|| vanq_sortmode == VANQ_MCLS_HTOL);
|
|| vanq_sortmode == VANQ_MCLS_HTOL);
|
||||||
|
|
||||||
|
klwin = create_nhwindow(NHW_MENU);
|
||||||
|
putstr(klwin, 0, "Vanquished creatures:");
|
||||||
|
putstr(klwin, 0, "");
|
||||||
|
|
||||||
qsort((genericptr_t) mindx, ntypes, sizeof *mindx, vanqsort_cmp);
|
qsort((genericptr_t) mindx, ntypes, sizeof *mindx, vanqsort_cmp);
|
||||||
for (ni = 0; ni < ntypes; ni++) {
|
for (ni = 0; ni < ntypes; ni++) {
|
||||||
i = mindx[ni];
|
i = mindx[ni];
|
||||||
|
|||||||
Reference in New Issue
Block a user