#ifndef RAGNAROK_SOURCE_UI_ITEM_UIITEMWND_H #define RAGNAROK_SOURCE_UI_ITEM_UIITEMWND_H #include "Contents/UserData/NormalItemSlots.h" #include "UI/Item/UIItemBaseWnd.h" #include #include class UIBitmapButton; class UIButton; class UICheckBox; class UITabControl; class UIItemWnd : public UIItemBaseWnd { public: UIItemWnd(); __declspec(noinline) ~UIItemWnd() override; void Slot11() override; void Slot10(int x, int y, std::intptr_t value) override; void Slot18() override; void Slot19() override; void Slot25(int x, int y) override; void Slot26(int x, int y) override; void Slot28(int x, int y) override; void Slot32(int x, int y) override; void Paint() override; void Slot15(int width, int height) override; int SendMsg(UIWindow* sender, int message, std::intptr_t a, std::intptr_t b, std::intptr_t c, std::intptr_t d) override; ITEM_INFO GetItemAt(int x, int y); void ReleaseSelection(unsigned char keep); void DrawNewItemMark(int x, int y); void RefreshOptionBox(); void RefreshSortButton(); void RefreshItems(); /* 00F0 */ ItemWndInfo* saved; /* 00F4 */ UIBitmapButton* baseButton; /* 00F8 */ UIBitmapButton* minimizeButton; /* 00FC */ UIBitmapButton* closeButton; /* 0100 */ int unknown_0100; /* 0104 */ int unknown_0104; /* 0108 */ int unknown_0108; /* 010C */ int unknown_010C; /* 0110 */ int unknown_0110; /* 0114 */ UICheckBox* lockDropBox; /* 0118 */ UITabControl* tabs; /* 011C */ UIWindow* optionBox; /* 0120 */ UIBitmapButton* countButton; /* 0124 */ UIButton* unknown_0124; /* 0128 */ UIWindow* unknown_0128; /* 012C */ UIButton* unknown_012C; }; #if defined(_WIN32) && !defined(_WIN64) static_assert(offsetof(UIItemWnd, saved) == 0xF0); static_assert(offsetof(UIItemWnd, unknown_0110) == 0x110); static_assert(offsetof(UIItemWnd, tabs) == 0x118); static_assert(offsetof(UIItemWnd, unknown_0128) == 0x128); #endif #endif