From 07613c6ddef6bee675fcdcc4f791691e9c869c05 Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Wed, 4 Nov 2026 23:14:12 +0000 Subject: [PATCH] Decompile fn_13870 (UITagListBox::AddTagButton) Batch #10866 by cremane: 0 byte-identical, 1 confirmed by peer review. - fn_13870 UITagListBox::AddTagButton: logic confirmed by peer review Peer-reviewed-by: Yommy, dori, StrawberrysherbetIX Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes). --- Source/UI/Lists/UITagListBox.cpp | 35 ++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/Source/UI/Lists/UITagListBox.cpp b/Source/UI/Lists/UITagListBox.cpp index 9078b24d..f52e608c 100644 --- a/Source/UI/Lists/UITagListBox.cpp +++ b/Source/UI/Lists/UITagListBox.cpp @@ -646,27 +646,36 @@ void UITagListBox::AddTagButton(STagInfoV2 tag, int lineCount) { std::string data = tag.unknown_0028; if (!data.empty()) { switch (tag.unknown_0004) { - case 438: - case 464: { + case 438: { std::string remaining = data; - std::size_t separator = remaining.find(','); + std::size_t separator = remaining.find(","); while (separator != std::string::npos) { const std::string field = remaining.substr(0, separator); button->AddString(field); remaining = remaining.substr(separator + 1); - separator = remaining.find(','); + separator = remaining.find(","); } button->AddString(remaining); - if (tag.unknown_0004 == 464) { - int id = 0; - if (!button->GetString(1).empty()) { - id = std::atoi(button->GetString(1).c_str()); - } - button->item.unknown_0000[0] = id; - button->item.identified = 1; - button->item.unknown_0060 = 0; - button->item.itemId = button->GetString(0); + break; + } + case 464: { + std::string remaining = data; + std::size_t separator = remaining.find(","); + while (separator != std::string::npos) { + const std::string field = remaining.substr(0, separator); + button->AddString(field); + remaining = remaining.substr(separator + 1); + separator = remaining.find(","); } + button->AddString(remaining); + int id = 0; + if (!button->GetString(1).empty()) { + id = std::atoi(button->GetString(1).c_str()); + } + button->item.unknown_0000[0] = id; + button->item.identified = 1; + button->item.unknown_0060 = 0; + button->item.itemId = button->GetString(0); break; } case 501: {