diff options
| author | Davi Eler Magalhães <davi.eler.magalhaes@gmail.com> | 2026-03-04 12:07:37 -0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-03-04 22:07:37 +0700 |
| commit | ca5fde56fed613a8f45767868636e2321b03d3f3 (patch) | |
| tree | 327658dc3098ea3cabe1b5788891d2cd395cfb5b /Minecraft.Client | |
| parent | 2d430798a56b00f321ef92a416797d6ce069d7b0 (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.cpp | 38 | ||||
| -rw-r--r-- | Minecraft.Client/Minecraft.Client.vcxproj.user | 2 |
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> |
