Fix: Sorted the item list in the debug overlay (#340)

* Fix: Sorted the item list in the debug overlay

* revert show all files to false

* Revert ShowAllFiles by removing it

* removed extra line

* Adressed PR review changes

* Replaced push_back with emplace_back

* Removed redundant emplace_back
This commit is contained in:
Davi Eler Magalhães
2026-03-04 12:07:37 -03:00
committed by GitHub
parent 2d430798a5
commit ca5fde56fe
2 changed files with 30 additions and 10 deletions

View File

@@ -39,17 +39,37 @@ UIScene_DebugOverlay::UIScene_DebugOverlay(int iPad, void *initData, UILayer *pa
m_buttonSetNight.init(L"Set Night", eControl_SetNight);
m_buttonListItems.init(eControl_Items);
// Sort items alphabetically
std::vector<std::pair<std::wstring, unsigned int>> sortedItems;
for (size_t i = 0; i < Item::items.length; ++i)
{
if (Item::items[i] != NULL)
{
sortedItems.emplace_back(std::wstring(app.GetString(Item::items[i]->getDescriptionId())), i);
}
}
for (size_t i = 1; i < sortedItems.size(); ++i)
{
auto key = sortedItems[i];
int j = i - 1;
while (j >= 0 && sortedItems[j].first > key.first)
{
sortedItems[j + 1] = sortedItems[j];
--j;
}
sortedItems[j + 1] = key;
}
// Populate the list in sorted order
int listId = 0;
for(unsigned int i = 0; i < Item::items.length; ++i)
{
if(Item::items[i] != NULL)
{
m_itemIds.push_back(i);
m_buttonListItems.addItem(app.GetString(Item::items[i]->getDescriptionId()), listId);
++listId;
}
}
for (const auto& entry : sortedItems)
{
m_itemIds.push_back(entry.second);
m_buttonListItems.addItem(entry.first.c_str(), listId);
++listId;
}
m_buttonListEnchantments.init(eControl_Enchantments);