diff --git a/Source/UI/UIChangeMaterialWnd.cpp b/Source/UI/UIChangeMaterialWnd.cpp index 506dd4c4..294ee733 100644 --- a/Source/UI/UIChangeMaterialWnd.cpp +++ b/Source/UI/UIChangeMaterialWnd.cpp @@ -64,9 +64,13 @@ void UIChangeMaterialWnd_List::Slot27(int x, int y) { // OFFSET: 0x005E2A30 // FUNCTION: fn_03889 void UIChangeMaterialWnd_List::Slot35(int argument) { - this->SendMsg(reinterpret_cast(this->unknown_00D8), argument < 0 ? 10 : 9, 0, 0, 0, 0); + this->SendMsg(this->m_scrollBar, argument < 0 ? 10 : 9, 0, 0, 0, 0); } +// OFFSET: 0x005E2A70 + +// OFFSET: 0x005E3B80 + // OFFSET: 0x005E44C0 // FUNCTION: fn_03898 void UIChangeMaterialWnd_List::ShiftSelectedIndex(int value) { diff --git a/Source/UI/UIChangeMaterialWnd.h b/Source/UI/UIChangeMaterialWnd.h index 297a2ebe..3a15700b 100644 --- a/Source/UI/UIChangeMaterialWnd.h +++ b/Source/UI/UIChangeMaterialWnd.h @@ -2,6 +2,7 @@ #define RAGNAROK_SOURCE_UI_UICHANGEMATERIALWND_H #include "Contents/Items/ItemInfo.h" +#include "UI/Lists/UIScrollBar.h" #include "UI/Window/UIFrameWnd.h" #include @@ -12,6 +13,10 @@ struct MaterialSlotPos { /* 0004 */ int y; }; +struct MaterialListEntry { + /* 0000 */ unsigned char unknown_0000[0x1C]; +}; + class UIChangeMaterialWnd : public UIFrameWnd { public: bool Slot02() override; @@ -43,9 +48,10 @@ public: /* 00CC */ int unknown_00CC; /* 00D0 */ int m_scrollOffset; /* 00D4 */ int m_previousScrollOffset; - /* 00D8 */ int unknown_00D8; + /* 00D8 */ UIScrollBar* m_scrollBar; /* 00DC */ std::vector m_items; - /* 00E8 */ unsigned char unknown_00E8[0x10]; + /* 00E8 */ std::vector m_entries; + /* 00F4 */ std::uint32_t unknown_00F4; }; #if defined(_WIN32) && !defined(_WIN64) @@ -59,6 +65,8 @@ static_assert(offsetof(UIChangeMaterialWnd_List, m_selectedIndex) == 0xC0); static_assert(offsetof(UIChangeMaterialWnd_List, m_scrollOffset) == 0xD0); static_assert(offsetof(UIChangeMaterialWnd_List, m_previousScrollOffset) == 0xD4); static_assert(offsetof(UIChangeMaterialWnd_List, m_items) == 0xDC); +static_assert(offsetof(UIChangeMaterialWnd_List, m_entries) == 0xE8); +static_assert(sizeof(MaterialListEntry) == 0x1C); #endif #endif