From e60c6315359b609833d75a06d09ebd020ae4a154 Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Sun, 1 Nov 2026 15:18:26 +0000 Subject: [PATCH] Decompile fn_11940 (UIEquipWnd::UIEquipWnd) Batch #9550 by dori: 0 byte-identical, 1 confirmed by peer review. - fn_11940 UIEquipWnd::UIEquipWnd: logic confirmed by peer review Peer-reviewed-by: ragnarok-clanker, secret, gordaoprogramas Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes). --- Source/UI/Acceptance/UIChooseSellBuyWnd.cpp | 29 +++++++++++++++++++++ Source/UI/Items/UIEquipWnd.h | 21 +++++++++++---- 2 files changed, 45 insertions(+), 5 deletions(-) diff --git a/Source/UI/Acceptance/UIChooseSellBuyWnd.cpp b/Source/UI/Acceptance/UIChooseSellBuyWnd.cpp index 95e0db26..d4cb6e2f 100644 --- a/Source/UI/Acceptance/UIChooseSellBuyWnd.cpp +++ b/Source/UI/Acceptance/UIChooseSellBuyWnd.cpp @@ -191,6 +191,35 @@ UIBookWnd::UIBookWnd(UIWindowContext& windows, UIFrameContext& frames, UIBookCon this->m_bookName[0] = 0; } +// OFFSET: 0x008C7860 +// FUNCTION: fn_11940 +UIEquipWnd::UIEquipWnd(UIWindowContext& windows, UIFrameContext& frames) : UIFrameWnd(windows, frames, 0) { + this->unknown_0124 = nullptr; + this->unknown_0128 = 0; + this->unknown_012C = 0; + this->unknown_0130 = 0; + this->unknown_0178 = 0; + this->m_placement = nullptr; + this->m_updateTick = timeGetTime(); + this->unknown_00D8 = 0; + this->m_page = 0; + this->m_contentTop = 20; + for (int& value : this->unknown_00F8) { + value = 0; + } + this->unknown_011C = 0; + this->unknown_012C = 0; + this->m_scrollBar = nullptr; + for (int& value : this->unknown_0138) { + value = 0; + } + this->m_firstSlot = 0; + this->unknown_015C = g_session.m_damageSkinMode; + this->m_hoverSlot = g_session.m_damageSkinIndex; + this->m_damageSkinNames.reserve(g_session.unknown_80C8); + this->m_damageSkinIcons.reserve(g_session.unknown_80C8); +} + // OFFSET: 0x008CAC40 // FUNCTION: fn_11997 UIItemCollectionWnd::~UIItemCollectionWnd() { diff --git a/Source/UI/Items/UIEquipWnd.h b/Source/UI/Items/UIEquipWnd.h index 36cc2aa6..bcff8b47 100644 --- a/Source/UI/Items/UIEquipWnd.h +++ b/Source/UI/Items/UIEquipWnd.h @@ -9,6 +9,7 @@ class UITabControl; class UIEquipWnd : public UIFrameWnd { public: + UIEquipWnd(UIWindowContext& windows, UIFrameContext& frames); bool Slot03() override; void Move(int x, int y) override; void Slot10(int x, int y, std::intptr_t value) override; @@ -17,20 +18,30 @@ public: /* 00B8 */ int m_highlight[3]; /* 00C4 */ int m_show; /* 00C8 */ NormalItemSlotWindow* m_placement; - /* 00CC */ unsigned char unknown_00CC[0x20]; + /* 00CC */ unsigned char unknown_00CC[0x08]; + /* 00D4 */ std::uint32_t m_updateTick; + /* 00D8 */ int unknown_00D8; + /* 00DC */ unsigned char unknown_00DC[0x10]; /* 00EC */ UITabControl* m_tabs; /* 00F0 */ int m_page; /* 00F4 */ int m_contentTop; - /* 00F8 */ unsigned char unknown_00F8[0x2C]; + /* 00F8 */ int unknown_00F8[8]; + /* 0118 */ int unknown_0118; + /* 011C */ int unknown_011C; + /* 0120 */ int unknown_0120; /* 0124 */ UIWindow* unknown_0124; - /* 0128 */ unsigned char unknown_0128[0x0C]; + /* 0128 */ int unknown_0128; + /* 012C */ int unknown_012C; + /* 0130 */ int unknown_0130; /* 0134 */ UIWindow* m_scrollBar; - /* 0138 */ unsigned char unknown_0138[0x1C]; + /* 0138 */ int unknown_0138[6]; + /* 0150 */ int unknown_0150; /* 0154 */ int m_firstSlot; /* 0158 */ int m_hoverSlot; - /* 015C */ unsigned char unknown_015C[0x04]; + /* 015C */ int unknown_015C; /* 0160 */ std::vector m_damageSkinNames; /* 016C */ std::vector m_damageSkinIcons; + /* 0178 */ int unknown_0178; void Slot19() override; void Slot26(int x, int y) override;