From 8914aafdd390fba886ab2fbe16ee87772beeaba5 Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Fri, 30 Oct 2026 14:00:49 +0000 Subject: [PATCH] Decompile fn_09267 (UIAchTracingWnd::Slot08) Batch #5633 by Yommy: 1 byte-identical, 0 confirmed by peer review. - fn_09267 UIAchTracingWnd::Slot08: byte-identical Merged automatically: every function is byte-identical to the original. --- Source/UI/Buttons/UITextButton.h | 1 + Source/UI/Text/UIAchWnd.cpp | 19 +++++++++++++++++ Source/UI/Text/UIAchWnd.h | 35 ++++++++++++++++++++++++++++++++ 3 files changed, 55 insertions(+) diff --git a/Source/UI/Buttons/UITextButton.h b/Source/UI/Buttons/UITextButton.h index b1f5a8a5..ef7a32dc 100644 --- a/Source/UI/Buttons/UITextButton.h +++ b/Source/UI/Buttons/UITextButton.h @@ -10,6 +10,7 @@ class UITextButton : public UIButton { friend class UITextViewer; friend class UIMessageBox; + friend class UIAchTracingWnd; public: friend void OpenTextButtonLink(UITextButton* button); diff --git a/Source/UI/Text/UIAchWnd.cpp b/Source/UI/Text/UIAchWnd.cpp index 02fcf24b..f546c2ef 100644 --- a/Source/UI/Text/UIAchWnd.cpp +++ b/Source/UI/Text/UIAchWnd.cpp @@ -2,12 +2,14 @@ #include "Contents/Items/ItemDescription.h" #include "Contents/Items/ItemInfo.h" #include "Contents/MessageTable.h" +#include "Contents/UserData/NormalItemSlots.h" #include "Network/Connection/Connection.h" #include "Network/Packets/PacketId.h" #include "Network/Packets/PacketLengths.h" #include "Resource/Bitmap/BitmapResource.h" #include "Resource/ResourceMgr.h" #include "Resource/TextureNames.h" +#include "UI/Buttons/UITextButton.h" #include "UI/Text/ColoredText.h" #include "UI/Text/UIAchWnd.h" #include "UI/Window/WindowBorder.h" @@ -17,6 +19,9 @@ #include #include +// GLOBAL: gl_25003 +std::vector g_achievementTracking; + #pragma pack(push, 1) struct PACKET_CZ_REQ_ACH_REWARD { /* 0000 */ std::int16_t packetType; @@ -860,3 +865,17 @@ void UIAchTab::SetLabel(const char* text, int group, int sub) { this->unknown_0080 = -1; this->Refresh(); } + +// OFFSET: 0x007BA460 +// FUNCTION: fn_09267 +bool UIAchTracingWnd::Slot08() { + return true; +} + +// OFFSET: 0x007BAA20 + +// OFFSET: 0x007BA470 + +// OFFSET: 0x007BA590 + +// OFFSET: 0x007BA920 diff --git a/Source/UI/Text/UIAchWnd.h b/Source/UI/Text/UIAchWnd.h index dd75e9f6..51547d77 100644 --- a/Source/UI/Text/UIAchWnd.h +++ b/Source/UI/Text/UIAchWnd.h @@ -17,6 +17,7 @@ class CBitmapRes; class UIBitmapButton; +class UITextButton; struct UIAchListInfo { /* 0000 */ int unknown_0000; @@ -263,4 +264,38 @@ private: UIButtonContext* m_controls; }; + +struct AchTracingCondition { + /* 0000 */ std::string text; + /* 0018 */ unsigned char completed; +}; + +struct AchTracingEntry { + /* 0000 */ unsigned char expanded; + /* 0001 */ unsigned char pinned; + /* 0004 */ int id; + /* 0008 */ std::string name; + /* 0020 */ std::vector conditions; +}; + +struct AchTracingWndInfo; + +class UIAchTracingWnd : public UIFrameWnd { +public: + /* 00B4 */ AchTracingWndInfo* info; + /* 00B8 */ UITextButton* toggleButtons[3]; + /* 00C4 */ UITextButton* openButtons[3]; + + bool Slot08() override; + void Slot11() override; + void Slot15(int width, int height) override; + void Paint() override; + int SendMsg(UIWindow* sender, int message, std::intptr_t argument1, std::intptr_t argument2, std::intptr_t argument3, std::intptr_t argument4) override; + +private: + UIButtonContext* m_controls; +}; + +extern std::vector g_achievementTracking; + #endif