From 048ed3ea3abb55b51a4244739dcee3a976aa17c2 Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Sat, 31 Oct 2026 01:09:40 +0000 Subject: [PATCH] Decompile fn_12642 (UINavigationHelpWnd::Slot15) Batch #6522 by willerthal: 0 byte-identical, 1 confirmed by peer review. - fn_12642 UINavigationHelpWnd::Slot15: logic confirmed by peer review Peer-reviewed-by: ragnarok-clanker, alisonrag, gordaoprogramas Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes). --- Source/UI/Window/UINavigationHelpWnd.cpp | 45 ++++++++++++++++++++++++ Source/UI/Window/UINavigationHelpWnd.h | 5 +++ 2 files changed, 50 insertions(+) diff --git a/Source/UI/Window/UINavigationHelpWnd.cpp b/Source/UI/Window/UINavigationHelpWnd.cpp index eee39fa1..60310c56 100644 --- a/Source/UI/Window/UINavigationHelpWnd.cpp +++ b/Source/UI/Window/UINavigationHelpWnd.cpp @@ -2,8 +2,53 @@ #include "Contents/MessageTable.h" #include "UI/Buttons/UIButton.h" +#include "UI/Text/UITextViewer.h" #include "UI/Window/WindowManagerWindows.h" +// OFFSET: 0x00921530 +// FUNCTION: fn_12642 +void UINavigationHelpWnd::Slot15(int width, int height) { + this->m_viewer = new UITextViewer(*this->m_context, *this->m_text); + this->m_viewer->Configure(5, 22, width - 10, height - 27, 0); + this->m_viewer->backgroundRed = 0xd2; + this->m_viewer->backgroundGreen = 0xd2; + this->m_viewer->backgroundBlue = 0xd2; + this->AddChild(this->m_viewer); + + this->m_viewer->SendMsg(nullptr, 29, reinterpret_cast(LookupMessage(2241)), 0x30, 0, 0); + this->m_viewer->SendMsg(nullptr, 29, reinterpret_cast(""), 0x30, 0, 0); + this->m_viewer->SendMsg(nullptr, 29, reinterpret_cast(LookupMessage(2242)), 0x30, 0, 0); + this->m_viewer->SendMsg(nullptr, 29, reinterpret_cast(LookupMessage(2243)), 0x30, 0, 0); + this->m_viewer->SendMsg(nullptr, 29, reinterpret_cast(LookupMessage(2244)), 0x30, 0, 0); + this->m_viewer->SendMsg(nullptr, 29, reinterpret_cast(""), 0x30, 0, 0); + this->m_viewer->SendMsg(nullptr, 29, reinterpret_cast(LookupMessage(2245)), 0x30, 0, 0); + this->m_viewer->SendMsg(nullptr, 29, reinterpret_cast(LookupMessage(2246)), 0x30, 0, 0); + this->m_viewer->SendMsg(nullptr, 29, reinterpret_cast(LookupMessage(2247)), 0x30, 0, 0); + this->m_viewer->SendMsg(nullptr, 29, reinterpret_cast(""), 0x30, 0, 0); + this->m_viewer->SendMsg(nullptr, 29, reinterpret_cast(LookupMessage(2248)), 0x30, 0, 0); + this->m_viewer->SendMsg(nullptr, 29, reinterpret_cast(""), 0x30, 0, 0); + this->m_viewer->SendMsg(nullptr, 29, reinterpret_cast(LookupMessage(2249)), 0x30, 0, 0); + this->m_viewer->SendMsg(nullptr, 29, reinterpret_cast(""), 0x30, 0, 0); + this->m_viewer->SendMsg(nullptr, 29, reinterpret_cast(LookupMessage(2250)), 0x30, 0, 0); + this->m_viewer->SendMsg(nullptr, 29, reinterpret_cast(""), 0x30, 0, 0); + this->m_viewer->SendMsg(nullptr, 29, reinterpret_cast(LookupMessage(2251)), 0x30, 0, 0); + this->m_viewer->SendMsg(nullptr, 29, reinterpret_cast(""), 0x30, 0, 0); + this->m_viewer->SendMsg(nullptr, 29, reinterpret_cast(LookupMessage(2252)), 0x30, 0, 0); + this->m_viewer->SendMsg(nullptr, 29, reinterpret_cast(""), 0x30, 0, 0); + this->m_viewer->SendMsg(nullptr, 29, reinterpret_cast(LookupMessage(2253)), 0x30, 0, 0); + this->m_viewer->SendMsg(nullptr, 29, reinterpret_cast(LookupMessage(2254)), 0x30, 0, 0); + this->m_viewer->SendMsg(nullptr, 29, reinterpret_cast(""), 0x30, 0, 0); + this->m_viewer->SendMsg(nullptr, 29, reinterpret_cast(LookupMessage(2255)), 0x30, 0, 0); + this->m_viewer->SendMsg(nullptr, 29, reinterpret_cast(LookupMessage(2256)), 0x30, 0, 0); + this->m_viewer->SendMsg(nullptr, 29, reinterpret_cast(""), 0x30, 0, 0); + this->m_viewer->SendMsg(nullptr, 29, reinterpret_cast(LookupMessage(3216)), 0x30, 0, 0); + this->m_viewer->SendMsg(nullptr, 29, reinterpret_cast(""), 0x30, 0, 0); + this->m_viewer->SendMsg(nullptr, 29, reinterpret_cast(LookupMessage(3217)), 0x30, 0, 0); + this->m_viewer->SendMsg(nullptr, 29, reinterpret_cast(LookupMessage(3218)), 0x30, 0, 0); + + this->AddCloseButton(*this->m_controls, LookupMessage(2202), 0); +} + // OFFSET: 0x0092CEC0 // FUNCTION: fn_12667 void UINavigationHelpWnd::Paint() { diff --git a/Source/UI/Window/UINavigationHelpWnd.h b/Source/UI/Window/UINavigationHelpWnd.h index e68e73bc..60169bed 100644 --- a/Source/UI/Window/UINavigationHelpWnd.h +++ b/Source/UI/Window/UINavigationHelpWnd.h @@ -3,15 +3,20 @@ #include "UI/Window/UIFrameWnd.h" +class UITextViewer; struct UIButtonContext; +struct UITextViewerContext; class UINavigationHelpWnd : public UIFrameWnd { public: + void Slot15(int width, int height) override; void Paint() override; int SendMsg(UIWindow* sender, int message, std::intptr_t a, std::intptr_t b, std::intptr_t c, std::intptr_t d) override; protected: UIButtonContext* m_controls; + UITextViewerContext* m_text; + /* 00B4 */ UITextViewer* m_viewer; }; #endif