aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client
diff options
context:
space:
mode:
authorDavi Eler Magalhães <davi.eler.magalhaes@gmail.com>2026-03-04 12:07:37 -0300
committerGitHub <noreply@github.com>2026-03-04 22:07:37 +0700
commitca5fde56fed613a8f45767868636e2321b03d3f3 (patch)
tree327658dc3098ea3cabe1b5788891d2cd395cfb5b /Minecraft.Client
parent2d430798a56b00f321ef92a416797d6ce069d7b0 (diff)
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
Diffstat (limited to 'Minecraft.Client')
-rw-r--r--Minecraft.Client/Common/UI/UIScene_DebugOverlay.cpp38
-rw-r--r--Minecraft.Client/Minecraft.Client.vcxproj.user2
2 files changed, 30 insertions, 10 deletions
diff --git a/Minecraft.Client/Common/UI/UIScene_DebugOverlay.cpp b/Minecraft.Client/Common/UI/UIScene_DebugOverlay.cpp
index 8e45c324..6514e6ec 100644
--- a/Minecraft.Client/Common/UI/UIScene_DebugOverlay.cpp
+++ b/Minecraft.Client/Common/UI/UIScene_DebugOverlay.cpp
@@ -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);
diff --git a/Minecraft.Client/Minecraft.Client.vcxproj.user b/Minecraft.Client/Minecraft.Client.vcxproj.user
index 09a7ebc4..24ca62f8 100644
--- a/Minecraft.Client/Minecraft.Client.vcxproj.user
+++ b/Minecraft.Client/Minecraft.Client.vcxproj.user
@@ -19,4 +19,4 @@
<LocalDebuggerWorkingDirectory>$(SolutionDir)$(Platform)\$(Configuration)\</LocalDebuggerWorkingDirectory>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
-</Project> \ No newline at end of file
+</Project>