From 293ce469d968dfe0fc887ed1ddc9bdf4eb33b854 Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Sat, 31 Oct 2026 14:51:44 +0000 Subject: [PATCH] Decompile fn_07685 (UIJobIconButton::UIJobIconButton) Batch #8180 by eAthena: 0 byte-identical, 1 confirmed by peer review. - fn_07685 UIJobIconButton::UIJobIconButton: logic confirmed by peer review Peer-reviewed-by: Yommy, secret Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes). --- Source/Contents/Messenger/MessengerMember.cpp | 22 +++++++++++-------- Source/UI/Guild/UIGuildWnd.cpp | 2 ++ Source/UI/Guild/UIGuildWnd.h | 1 + Source/UI/Quest/UIRenewQuestWnd.cpp | 2 ++ Source/UI/Quest/UIRenewQuestWnd.h | 1 + Source/UI/Text/UIAchWnd.cpp | 2 ++ Source/UI/Text/UIAchWnd.h | 1 + 7 files changed, 22 insertions(+), 9 deletions(-) diff --git a/Source/Contents/Messenger/MessengerMember.cpp b/Source/Contents/Messenger/MessengerMember.cpp index e76bcec0..e25173a2 100644 --- a/Source/Contents/Messenger/MessengerMember.cpp +++ b/Source/Contents/Messenger/MessengerMember.cpp @@ -43,13 +43,6 @@ namespace { /* 0008 */ int size; }; - struct UIFriendOptionContext { - UIButtonContext& buttons; - int& option0; - int& option1; - int& option2; - }; - struct SessionHelper { const char* sub_DDE770(const char* mapName); }; @@ -83,9 +76,16 @@ public: /* 0118 */ std::vector iconPositions; }; +struct UIFriendOptionContext { + UIButtonContext& buttons; + int& option0; + int& option1; + int& option2; +}; + class UIFriendOptionWnd : public UIFrameWnd { public: - UIFriendOptionWnd(); + UIFriendOptionWnd(UIWindowContext& windows, UIFrameContext& frames, UIFriendOptionContext& options); ~UIFriendOptionWnd() override; void Slot11() override; void Slot15(int width, int height) override; @@ -104,7 +104,7 @@ private: class UIJobIconButton : public UIBitmapButton { public: - UIJobIconButton(); + UIJobIconButton(UIWindowContext& windows, UIButtonContext& buttons); ~UIJobIconButton() override; void Paint() override; void Slot25(int x, int y) override; @@ -586,6 +586,10 @@ void UIFriendOptionWnd::Slot11() { } // OFFSET: 0x00739330 +// FUNCTION: fn_07685 +UIJobIconButton::UIJobIconButton(UIWindowContext& windows, UIButtonContext& buttons) : UIBitmapButton(windows, buttons) { + this->unknown_0120 = 0; +} // OFFSET: 0x007393E0 // FUNCTION: fn_07686 diff --git a/Source/UI/Guild/UIGuildWnd.cpp b/Source/UI/Guild/UIGuildWnd.cpp index 2184521d..1cdbb8d5 100644 --- a/Source/UI/Guild/UIGuildWnd.cpp +++ b/Source/UI/Guild/UIGuildWnd.cpp @@ -344,6 +344,8 @@ UIGuildPositionManageWnd::UIGuildPositionManageWnd(UIWindowContext& windows, UIF } } +// OFFSET: 0x00953E80 + // OFFSET: 0x00956050 // FUNCTION: fn_13035 bool CompareWideText(const char* left, const char* right) { diff --git a/Source/UI/Guild/UIGuildWnd.h b/Source/UI/Guild/UIGuildWnd.h index 37667781..1ffd9029 100644 --- a/Source/UI/Guild/UIGuildWnd.h +++ b/Source/UI/Guild/UIGuildWnd.h @@ -224,6 +224,7 @@ protected: class UIGuildSkillWnd : public UIGuildWnd { public: + UIGuildSkillWnd(UIWindowContext& windows, UIFrameContext& frames, UIButtonContext& controls); int Tab() override; void Slot15(int width, int height) override; void Paint() override; diff --git a/Source/UI/Quest/UIRenewQuestWnd.cpp b/Source/UI/Quest/UIRenewQuestWnd.cpp index 9a8c95b6..41b26d9f 100644 --- a/Source/UI/Quest/UIRenewQuestWnd.cpp +++ b/Source/UI/Quest/UIRenewQuestWnd.cpp @@ -356,6 +356,8 @@ void UIRecommededQuestScrollWnd::SetQuest(unsigned int questId) { this->Invalidate(); } +// OFFSET: 0x007FB4D0 + // OFFSET: 0x007FB6C0 // FUNCTION: fn_09959 void UIRenewDetailQuestInfoWnd::Slot15(int, int) { diff --git a/Source/UI/Quest/UIRenewQuestWnd.h b/Source/UI/Quest/UIRenewQuestWnd.h index 3e5a4393..e71f1be9 100644 --- a/Source/UI/Quest/UIRenewQuestWnd.h +++ b/Source/UI/Quest/UIRenewQuestWnd.h @@ -76,6 +76,7 @@ public: class UIRenewDetailQuestInfoWnd : public UIFrameWnd { public: + UIRenewDetailQuestInfoWnd(UIWindowContext& windows, UIFrameContext& frames, UIButtonContext& controls); void Slot15(int width, int height) override; void Paint() override; void Slot25(int x, int y) override; diff --git a/Source/UI/Text/UIAchWnd.cpp b/Source/UI/Text/UIAchWnd.cpp index ea1c97cb..d1dc6f4e 100644 --- a/Source/UI/Text/UIAchWnd.cpp +++ b/Source/UI/Text/UIAchWnd.cpp @@ -1033,6 +1033,8 @@ void UIAchTab::SetLabel(const char* text, int group, int sub) { this->Refresh(); } +// OFFSET: 0x007BA260 + // OFFSET: 0x007BA460 // FUNCTION: fn_09267 bool UIAchTracingWnd::Slot08() { diff --git a/Source/UI/Text/UIAchWnd.h b/Source/UI/Text/UIAchWnd.h index 288aad3e..158a112e 100644 --- a/Source/UI/Text/UIAchWnd.h +++ b/Source/UI/Text/UIAchWnd.h @@ -290,6 +290,7 @@ public: /* 00B8 */ UITextButton* toggleButtons[3]; /* 00C4 */ UITextButton* openButtons[3]; + UIAchTracingWnd(UIWindowContext& windows, UIFrameContext& frames, UIButtonContext& controls); bool Slot08() override; void Slot11() override; void Slot15(int width, int height) override;