From d26fa16e5c94301108d088cb12f26d99503579f2 Mon Sep 17 00:00:00 2001 From: Pasi Kallinen Date: Thu, 19 Apr 2018 09:10:06 +0300 Subject: [PATCH] Reorder #droptype menu and add some separators --- doc/fixes36.1 | 1 + src/pickup.c | 31 ++++++++++++++++++++++--------- 2 files changed, 23 insertions(+), 9 deletions(-) diff --git a/doc/fixes36.1 b/doc/fixes36.1 index c4ce6bbd0..2102a306f 100644 --- a/doc/fixes36.1 +++ b/doc/fixes36.1 @@ -539,6 +539,7 @@ gas spore explosion killing a gas spore which triggers a recursive explosion wizard mode 'sanity_check' gave spurious "mon not on map" warnings when mounted at the prompt for entering a level annotation, responding with erroneously removed old annotation; use to do that +reorder the #droptype menu and add some separator lines Fixes to Post-3.6.0 Problems that Were Exposed Via git Repository diff --git a/src/pickup.c b/src/pickup.c index 119f3bf2e..2df6a719b 100644 --- a/src/pickup.c +++ b/src/pickup.c @@ -1061,6 +1061,20 @@ int how; /* type of query */ win = create_nhwindow(NHW_MENU); start_menu(win); pack = flags.inv_order; + + if (qflags & CHOOSE_ALL) { + invlet = 'A'; + any = zeroany; + any.a_int = 'A'; + add_menu(win, NO_GLYPH, &any, invlet, 0, ATR_NONE, + (qflags & WORN_TYPES) ? "Auto-select every item being worn" + : "Auto-select every item", + MENU_UNSELECTED); + + any = zeroany; + add_menu(win, NO_GLYPH, &any, 0, 0, ATR_NONE, "", MENU_UNSELECTED); + } + if ((qflags & ALL_TYPES) && (ccount > 1)) { invlet = 'a'; any = zeroany; @@ -1097,6 +1111,13 @@ int how; /* type of query */ return 0; } } while (*pack); + + if (do_unpaid || (qflags & BILLED_TYPES) || do_blessed || do_cursed + || do_uncursed || do_buc_unknown) { + any = zeroany; + add_menu(win, NO_GLYPH, &any, 0, 0, ATR_NONE, "", MENU_UNSELECTED); + } + /* unpaid items if there are any */ if (do_unpaid) { invlet = 'u'; @@ -1113,15 +1134,7 @@ int how; /* type of query */ add_menu(win, NO_GLYPH, &any, invlet, 0, ATR_NONE, "Unpaid items already used up", MENU_UNSELECTED); } - if (qflags & CHOOSE_ALL) { - invlet = 'A'; - any = zeroany; - any.a_int = 'A'; - add_menu(win, NO_GLYPH, &any, invlet, 0, ATR_NONE, - (qflags & WORN_TYPES) ? "Auto-select every item being worn" - : "Auto-select every item", - MENU_UNSELECTED); - } + /* items with b/u/c/unknown if there are any; this cluster of menu entries is in alphabetical order, reversing the usual sequence of 'U' and 'C' in BUCX */