Attached Files |
0001-fixed-an-item-ordering-bug-in-the-known-menu.patch [^] (1,336 bytes) 2012-08-11 01:37 [Show Content] [Hide Content]From e39ec1ce0178892fcc94b9fe6c0bd5d081dcde7b Mon Sep 17 00:00:00 2001
From: Jon Knapp <thann@linux.com>
Date: Fri, 10 Aug 2012 16:31:25 -0700
Subject: [PATCH] fixed an item ordering bug in the known menu
---
crawl-ref/source/invent.cc | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/crawl-ref/source/invent.cc b/crawl-ref/source/invent.cc
index b7812e3..14f9085 100644
--- a/crawl-ref/source/invent.cc
+++ b/crawl-ref/source/invent.cc
@@ -854,14 +854,20 @@ menu_letter InvMenu::load_items(const std::vector<const item_def*> &mitems,
items_in_class.clear();
}
+ InvEntry *forced_first = NULL;
for (int j = 0, count = mitems.size(); j < count; ++j)
{
if (mitems[j]->base_type != i)
continue;
- items_in_class.push_back(new InvEntry(*mitems[j]));
+ if (mitems[j]->sub_type == get_max_subtype(mitems[j]->base_type))
+ forced_first = new InvEntry(*mitems[j]);
+ else
+ items_in_class.push_back(new InvEntry(*mitems[j]));
}
sort_menu(items_in_class, cond);
+ if (forced_first)
+ items_in_class.insert(items_in_class.begin(),forced_first);
for (unsigned int j = 0; j < items_in_class.size(); ++j)
{
--
1.7.11.4
|