diff --git a/Source/UI/Buttons/UINaviLinkButton.h b/Source/UI/Buttons/UINaviLinkButton.h index bbcdf4a..c9b2be7 100644 --- a/Source/UI/Buttons/UINaviLinkButton.h +++ b/Source/UI/Buttons/UINaviLinkButton.h @@ -16,6 +16,7 @@ public: UINaviLinkButton(UIWindowContext& windows, UIButtonContext& buttons, NavigationDestination& navigation); ~UINaviLinkButton() override; void Slot25(int x, int y) override; + std::string Link(); std::string link; private: diff --git a/Source/UI/Buttons/UISpriteButton.h b/Source/UI/Buttons/UISpriteButton.h new file mode 100644 index 0000000..b0d3084 --- /dev/null +++ b/Source/UI/Buttons/UISpriteButton.h @@ -0,0 +1,17 @@ +#ifndef RAGNAROK_SOURCE_UI_BUTTONS_UISPRITEBUTTON_H +#define RAGNAROK_SOURCE_UI_BUTTONS_UISPRITEBUTTON_H + +#include "UI/Buttons/UIButton.h" + +#include + +class UISpriteButton : public UIButton { +public: + int FrameHeight(int action, int frame); + int FrameWidth(int action, int frame); + + /* 00CC */ std::string spriteName; + /* 00E4 */ std::string actionName; +}; + +#endif diff --git a/Source/UI/Edit/UIEditCtrl.cpp b/Source/UI/Edit/UIEditCtrl.cpp index 8403a19..e5c8a1c 100644 --- a/Source/UI/Edit/UIEditCtrl.cpp +++ b/Source/UI/Edit/UIEditCtrl.cpp @@ -14,6 +14,19 @@ #include "UI/Window/UIWindow.h" #include "UI/Window/UIWindowMgr.h" #include "Render/Renderer.h" +#include "Render/Textures/SpritePixels.h" +#include "Resource/ResourceMgr.h" +#include "Resource/Sprites/ActionResource.h" +#include "Resource/Sprites/SpriteResource.h" +#include "UI/Buttons/UINaviLinkButton.h" +#include "UI/Buttons/UISpriteButton.h" +#include "UI/Item/UIItemStoreFindWnd.h" +#include "UI/Item/UIItemStoreSubWnd.h" +#include "UI/Item/UIItemWnd.h" +#include "UI/Shop/UIMerchantItemMyShopWnd.h" +#include "UI/Shop/UIMerchantItemShopWnd.h" +#include "UI/Shop/UINoticeMessageBox_LockSellItem.h" +#include "UI/Skill/UISkillListWnd.h" #include #include @@ -582,3 +595,50 @@ void UIEditCtrl::MoveReadingWindow(int x) { window->Move(left, top); } + +// OFFSET: 0x00858B80 + +// OFFSET: 0x00858BE0 + +// OFFSET: 0x00858C50 + +// OFFSET: 0x0097E3E0 +// FUNCTION: fn_13327 +void UIItemWnd::Slot18() { +} + +// OFFSET: 0x00984130 +// FUNCTION: fn_13351 +void UIItemStoreFindWnd::Slot26(int, int) { + this->SendMsg(nullptr, 6, 232, 0, 0, 0); +} + +// OFFSET: 0x00984150 +// FUNCTION: fn_13352 +void UIItemStoreSubWnd::Slot26(int, int) { + this->SendMsg(nullptr, 6, 232, 0, 0, 0); +} + +// OFFSET: 0x00985380 + +// OFFSET: 0x009886C0 + +// OFFSET: 0x009886D0 +// FUNCTION: fn_13387 +void UIMerchantItemMyShopWnd::Slot19() { + this->Invalidate(); +} + +// OFFSET: 0x009886E0 +// FUNCTION: fn_13388 +void UIMerchantItemShopWnd::Slot19() { + this->Invalidate(); +} + +// OFFSET: 0x00988C20 + +// OFFSET: 0x0098A220 +// FUNCTION: fn_13407 +void UISkillListWnd::Slot33(int, int) { + this->SendMsg(nullptr, 49, 0, 0, 0, 0); +} diff --git a/Source/UI/Item/UIItemBaseWnd.h b/Source/UI/Item/UIItemBaseWnd.h new file mode 100644 index 0000000..f8116cb --- /dev/null +++ b/Source/UI/Item/UIItemBaseWnd.h @@ -0,0 +1,8 @@ +#ifndef RAGNAROK_SOURCE_UI_ITEM_UIITEMBASEWND_H +#define RAGNAROK_SOURCE_UI_ITEM_UIITEMBASEWND_H + +#include "UI/Window/UIFrameWnd.h" + +class UIItemBaseWnd : public UIFrameWnd {}; + +#endif diff --git a/Source/UI/Item/UIItemStoreFindWnd.h b/Source/UI/Item/UIItemStoreFindWnd.h new file mode 100644 index 0000000..114df54 --- /dev/null +++ b/Source/UI/Item/UIItemStoreFindWnd.h @@ -0,0 +1,11 @@ +#ifndef RAGNAROK_SOURCE_UI_ITEM_UIITEMSTOREFINDWND_H +#define RAGNAROK_SOURCE_UI_ITEM_UIITEMSTOREFINDWND_H + +#include "UI/Item/UIItemBaseWnd.h" + +class UIItemStoreFindWnd : public UIItemBaseWnd { +public: + void Slot26(int x, int y) override; +}; + +#endif diff --git a/Source/UI/Item/UIItemStoreSubWnd.h b/Source/UI/Item/UIItemStoreSubWnd.h new file mode 100644 index 0000000..dbfec59 --- /dev/null +++ b/Source/UI/Item/UIItemStoreSubWnd.h @@ -0,0 +1,11 @@ +#ifndef RAGNAROK_SOURCE_UI_ITEM_UIITEMSTORESUBWND_H +#define RAGNAROK_SOURCE_UI_ITEM_UIITEMSTORESUBWND_H + +#include "UI/Item/UIItemBaseWnd.h" + +class UIItemStoreSubWnd : public UIItemBaseWnd { +public: + void Slot26(int x, int y) override; +}; + +#endif diff --git a/Source/UI/Item/UIItemWnd.h b/Source/UI/Item/UIItemWnd.h new file mode 100644 index 0000000..12b2a5b --- /dev/null +++ b/Source/UI/Item/UIItemWnd.h @@ -0,0 +1,14 @@ +#ifndef RAGNAROK_SOURCE_UI_ITEM_UIITEMWND_H +#define RAGNAROK_SOURCE_UI_ITEM_UIITEMWND_H + +#include "UI/Item/UIItemBaseWnd.h" + +class UIItemWnd : public UIItemBaseWnd { +public: + void Slot18() override; + void Slot19() override; + + /* 0128 */ UIWindow* unknown_0128; +}; + +#endif diff --git a/Source/UI/Shop/UIMerchantItemMyShopWnd.h b/Source/UI/Shop/UIMerchantItemMyShopWnd.h new file mode 100644 index 0000000..cd6c70d --- /dev/null +++ b/Source/UI/Shop/UIMerchantItemMyShopWnd.h @@ -0,0 +1,12 @@ +#ifndef RAGNAROK_SOURCE_UI_SHOP_UIMERCHANTITEMMYSHOPWND_H +#define RAGNAROK_SOURCE_UI_SHOP_UIMERCHANTITEMMYSHOPWND_H + +#include "UI/Item/UIItemBaseWnd.h" + +class UIMerchantItemMyShopWnd : public UIItemBaseWnd { +public: + void Slot19() override; + void Slot25(int x, int y) override; +}; + +#endif diff --git a/Source/UI/Shop/UIMerchantItemShopWnd.h b/Source/UI/Shop/UIMerchantItemShopWnd.h new file mode 100644 index 0000000..23b0fee --- /dev/null +++ b/Source/UI/Shop/UIMerchantItemShopWnd.h @@ -0,0 +1,11 @@ +#ifndef RAGNAROK_SOURCE_UI_SHOP_UIMERCHANTITEMSHOPWND_H +#define RAGNAROK_SOURCE_UI_SHOP_UIMERCHANTITEMSHOPWND_H + +#include "UI/Item/UIItemBaseWnd.h" + +class UIMerchantItemShopWnd : public UIItemBaseWnd { +public: + void Slot19() override; +}; + +#endif diff --git a/Source/UI/Shop/UINoticeMessageBox_LockSellItem.h b/Source/UI/Shop/UINoticeMessageBox_LockSellItem.h new file mode 100644 index 0000000..94be2bf --- /dev/null +++ b/Source/UI/Shop/UINoticeMessageBox_LockSellItem.h @@ -0,0 +1,16 @@ +#ifndef RAGNAROK_SOURCE_UI_SHOP_UINOTICEMESSAGEBOX_LOCKSELLITEM_H +#define RAGNAROK_SOURCE_UI_SHOP_UINOTICEMESSAGEBOX_LOCKSELLITEM_H + +#include "UI/Window/UIFrameWnd.h" + +#include + +class UINoticeMessageBox_LockSellItem : public UIFrameWnd { +public: + void Slot19() override; + + /* 00B4 */ std::uint32_t startTick; + /* 00B8 */ std::uint32_t duration; +}; + +#endif diff --git a/Source/UI/Skill/UISkillListWnd.h b/Source/UI/Skill/UISkillListWnd.h new file mode 100644 index 0000000..c2f0266 --- /dev/null +++ b/Source/UI/Skill/UISkillListWnd.h @@ -0,0 +1,11 @@ +#ifndef RAGNAROK_SOURCE_UI_SKILL_UISKILLLISTWND_H +#define RAGNAROK_SOURCE_UI_SKILL_UISKILLLISTWND_H + +#include "UI/Window/UIFrameWnd.h" + +class UISkillListWnd : public UIFrameWnd { +public: + void Slot33(int x, int y) override; +}; + +#endif