From 2451ea65f4e5e7743a682468634b6cd5e6286602 Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Sat, 7 Nov 2026 13:19:22 +0000 Subject: [PATCH] Decompile fn_10020 (UIRodexContentsWnd::Slot15) Batch #14096 by Yommy: 0 byte-identical, 1 confirmed by peer review. - fn_10020 UIRodexContentsWnd::Slot15: logic confirmed by peer review Peer-reviewed-by: secret, Tanke, codeplay Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes). --- Source/UI/Window/UIRodexContentsWnd.cpp | 38 ++++++++++++++----------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/Source/UI/Window/UIRodexContentsWnd.cpp b/Source/UI/Window/UIRodexContentsWnd.cpp index 81eec16c6..1cfc9ca85 100644 --- a/Source/UI/Window/UIRodexContentsWnd.cpp +++ b/Source/UI/Window/UIRodexContentsWnd.cpp @@ -107,26 +107,14 @@ void UIRodexContentsWnd::Slot15(int, int) { this->AddCloseButton("", 0); RodexMailStore* store = g_rodexMailStore; - std::map* mails = nullptr; switch (store->unknown_0010) { - case 0: - mails = &store->m_mails0; - break; - case 1: - mails = &store->m_mails1; - break; - case 2: - mails = &store->m_mails2; - break; - } - - if (mails != nullptr) { - std::map::iterator mail = mails->find(store->currentMailId); - if (mail != mails->end()) { + case 0: { + std::map::iterator mail = store->m_mails0.find(store->currentMailId); + if (mail != store->m_mails0.end()) { this->SetMailContents(mail->second.unknown_0004, mail->second.unknown_0024, mail->second.unknown_003C, mail->second.hasItem, mail->second.zeny, mail->second.unknown_0001); - if (store->unknown_0010 == 0 && (mail->second.unknown_0001 & 8) == 0 && mail->second.unknown_0194 == 0) { + if ((mail->second.unknown_0001 & 8) == 0 && mail->second.unknown_0194 == 0) { UIBasicButton* report = new UIBasicButton(); report->Configure(70, LookupMessage(3548)); report->Move(224, 29); @@ -136,6 +124,24 @@ void UIRodexContentsWnd::Slot15(int, int) { this->AddChild(report); } } + break; + } + case 1: { + std::map::iterator mail = store->m_mails1.find(store->currentMailId); + if (mail != store->m_mails1.end()) { + this->SetMailContents(mail->second.unknown_0004, mail->second.unknown_0024, mail->second.unknown_003C, mail->second.hasItem, mail->second.zeny, + mail->second.unknown_0001); + } + break; + } + case 2: { + std::map::iterator mail = store->m_mails2.find(store->currentMailId); + if (mail != store->m_mails2.end()) { + this->SetMailContents(mail->second.unknown_0004, mail->second.unknown_0024, mail->second.unknown_003C, mail->second.hasItem, mail->second.zeny, + mail->second.unknown_0001); + } + break; + } } this->unknown_0104 = new UIBasicButton();