diff --git a/Source/UI/SelectPackageItemBox/SelectPackageItemBox.h b/Source/UI/SelectPackageItemBox/SelectPackageItemBox.h index 0c40786a8..33c8fda83 100644 --- a/Source/UI/SelectPackageItemBox/SelectPackageItemBox.h +++ b/Source/UI/SelectPackageItemBox/SelectPackageItemBox.h @@ -5,23 +5,55 @@ #include "UI/FrameSkin.h" #include "UI/Lists/UIListBoxTemplate.h" +#include #include +class CUIGameItem; +class CUIStaticImage; +class CUITextButton; + namespace SelectPackageItemBox { class CTabInfoData { public: - /* 0000 */ unsigned char unknown_0000[0x08]; - /* 0008 */ std::string unknown_0008; + /* 0000 */ int packageId; + /* 0004 */ int tabIndex; + /* 0008 */ std::string name; }; -class CUIItemInfo : public CUIListItem {}; +class CUIItemInfo : public CUIListItem { +public: + void Slot16() override; + void Paint() override; -class CUITabInfo : public CUIListItem {}; + /* 00E8 */ CUIStaticImage* image; + /* 00EC */ CUIGameItem* gameItem; + /* 00F0 */ UIWindow* nameText; +}; + +class CUITabInfo : public CUIListItem { +public: + void Slot16() override; + + /* 00E8 */ UIWindow* nameText; +}; } class CUISelectPackageItemBox : public CUIFrameWnd { public: virtual void Slot53(); + + void OnCancel(); + void OnOk(); + void OnSelectItem(SelectPackageItemBox::CUIItemInfo* item, const ITEM_INFO& data); + void OnSelectTab(SelectPackageItemBox::CUITabInfo* tab, const SelectPackageItemBox::CTabInfoData& data); + + /* 00D8 */ UIWindow* title; + /* 00DC */ CUIListBoxEx* tabList; + /* 00E0 */ CUIListBoxEx* itemList; + /* 00E4 */ CUITextButton* okButton; + /* 00E8 */ CUITextButton* cancelButton; + /* 00EC */ int sourceIndex; + /* 00F0 */ int packageId; }; #if defined(_WIN32) && !defined(_WIN64) diff --git a/Source/UI/SelectPackageItemBox/UISelectPackageItemBox.cpp b/Source/UI/SelectPackageItemBox/UISelectPackageItemBox.cpp index 11a5662f4..999cea15a 100644 --- a/Source/UI/SelectPackageItemBox/UISelectPackageItemBox.cpp +++ b/Source/UI/SelectPackageItemBox/UISelectPackageItemBox.cpp @@ -1,4 +1,14 @@ #include "UI/SelectPackageItemBox/SelectPackageItemBox.h" +#include "Client/Mode/ModeMgr.h" +#include "Contents/Items/SelectPackageItemMgr.h" +#include "Contents/MessageTable.h" +#include "UI/Items/UIGameItem.h" +#include "UI/Window/UIWindowMgr.h" +#include "UI/Window/WindowDialogs.h" +#include "Utility/Text/FormatString.h" + +#include +#include // OFFSET: 0x00A693D0 // FUNCTION: fn_16659 @@ -35,3 +45,34 @@ void CUISelectPackageItemBox::Slot53() { this->SetSkinColors(0, 0, 0, 0); this->m_buttonBarStyle = 3; } + +// OFFSET: 0x00A6FBC0 +// FUNCTION: fn_16779 +void CUISelectPackageItemBox::OnCancel() { +} + +// OFFSET: 0x00A6FBE0 + +// OFFSET: 0x00A6FD00 + +// OFFSET: 0x00A6FE10 +// FUNCTION: fn_16782 +void CUISelectPackageItemBox::OnSelectItem(SelectPackageItemBox::CUIItemInfo*, const ITEM_INFO&) { +} + +namespace SelectPackageItemBox { +// OFFSET: 0x00A703A0 +// FUNCTION: fn_16784 +void CUIItemInfo::Paint() { + this->ClearSurface(0xFFFF00FF); +} + +// OFFSET: 0x00A703B0 + +// OFFSET: 0x00A705E0 +// FUNCTION: fn_16787 +void CUITabInfo::Slot16() { +} +} + +// OFFSET: 0x00A709E0