From a19f0b332ec8a3e03a5484f4579999d6b5c62bba Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Wed, 28 Oct 2026 12:39:59 +0000 Subject: [PATCH] Decompile 15 functions in Source/UI/Acceptance/UIChooseSellBuyWnd.cpp, Source/UI/Chat/UIWhisperWnd.h, ... Batch #1419 by Yommy: 15 byte-identical, 0 confirmed by peer review. - fn_12217 UIComboBoxIDWnd::Paint: byte-identical - fn_12218 UIComboBoxWnd::Paint: byte-identical - fn_12228 UILoadingWnd::Paint: byte-identical - fn_12235 UINotifyLevelUpWnd::Paint: byte-identical - fn_12236 UINotifyQuestWnd::Paint: byte-identical - fn_12261 UInCash_CallWnd::Paint: byte-identical - fn_12269 UICombinedCardItemCollection_ComparisonWnd::Slot25: byte-identical - fn_12272 UIItemCollection_ComparisonWnd::Slot25: byte-identical - fn_12274 UIMinimapZoomWnd::Slot25: byte-identical - fn_12281 UICombinedCardItemCollection_ComparisonWnd::Slot31: byte-identical - fn_12284 UIItemCollection_ComparisonWnd::Slot31: byte-identical - fn_12294 UIEquipWnd::Slot19: byte-identical - fn_12300 UISayDialogWnd::Slot19: byte-identical - fn_12307 UIItemIdentifyWnd::Slot33: byte-identical - fn_12308 UIWhisperWnd::Slot33: byte-identical Merged automatically: every function is byte-identical to the original. --- Source/UI/Acceptance/UIChooseSellBuyWnd.cpp | 154 +++++++++++++++++- Source/UI/Chat/UIWhisperWnd.h | 11 ++ Source/UI/Dialogs/UIBookWnd.h | 11 ++ .../UI/Dialogs/UIDisconnectedServerMsgWnd.h | 16 ++ Source/UI/Dialogs/UILoadingWnd.h | 11 ++ Source/UI/Dialogs/UIMenuWnd.h | 11 ++ Source/UI/Dialogs/UIMinimapZoomWnd.h | 11 ++ Source/UI/Dialogs/UINoticeConfirmWnd.h | 16 ++ Source/UI/Dialogs/UINotifyLevelUpWnd.h | 11 ++ Source/UI/Dialogs/UINotifyQuestWnd.h | 11 ++ Source/UI/Dialogs/UIPetTamingDeceiveWnd.h | 20 +++ Source/UI/Dialogs/UIQuitWnd.h | 16 ++ Source/UI/Dialogs/UIRestartWnd.h | 16 ++ Source/UI/Dialogs/UISayDialogWnd.h | 11 ++ Source/UI/Dialogs/UISelectCartWnd.h | 11 ++ Source/UI/Dialogs/UIWaitWnd.h | 16 ++ Source/UI/Items/UIEquipWnd.h | 19 +++ Source/UI/Items/UIExchangeWnd.h | 14 ++ Source/UI/Items/UIItemCollectionWnd.h | 27 +++ Source/UI/Items/UIItemIdentifyWnd.h | 23 +++ Source/UI/Lists/UIComboBoxWnd.h | 24 +++ Source/UI/Party/UIPartySettingWnd.h | 11 ++ Source/UI/Shop/UInCash_CallWnd.h | 11 ++ Source/UI/Status/UIStatusWnd.h | 15 ++ 24 files changed, 496 insertions(+), 1 deletion(-) create mode 100644 Source/UI/Chat/UIWhisperWnd.h create mode 100644 Source/UI/Dialogs/UIBookWnd.h create mode 100644 Source/UI/Dialogs/UIDisconnectedServerMsgWnd.h create mode 100644 Source/UI/Dialogs/UILoadingWnd.h create mode 100644 Source/UI/Dialogs/UIMenuWnd.h create mode 100644 Source/UI/Dialogs/UIMinimapZoomWnd.h create mode 100644 Source/UI/Dialogs/UINoticeConfirmWnd.h create mode 100644 Source/UI/Dialogs/UINotifyLevelUpWnd.h create mode 100644 Source/UI/Dialogs/UINotifyQuestWnd.h create mode 100644 Source/UI/Dialogs/UIPetTamingDeceiveWnd.h create mode 100644 Source/UI/Dialogs/UIQuitWnd.h create mode 100644 Source/UI/Dialogs/UIRestartWnd.h create mode 100644 Source/UI/Dialogs/UISayDialogWnd.h create mode 100644 Source/UI/Dialogs/UISelectCartWnd.h create mode 100644 Source/UI/Dialogs/UIWaitWnd.h create mode 100644 Source/UI/Items/UIEquipWnd.h create mode 100644 Source/UI/Items/UIExchangeWnd.h create mode 100644 Source/UI/Items/UIItemCollectionWnd.h create mode 100644 Source/UI/Items/UIItemIdentifyWnd.h create mode 100644 Source/UI/Lists/UIComboBoxWnd.h create mode 100644 Source/UI/Party/UIPartySettingWnd.h create mode 100644 Source/UI/Shop/UInCash_CallWnd.h create mode 100644 Source/UI/Status/UIStatusWnd.h diff --git a/Source/UI/Acceptance/UIChooseSellBuyWnd.cpp b/Source/UI/Acceptance/UIChooseSellBuyWnd.cpp index 0192af7..0b3f5e2 100644 --- a/Source/UI/Acceptance/UIChooseSellBuyWnd.cpp +++ b/Source/UI/Acceptance/UIChooseSellBuyWnd.cpp @@ -1,13 +1,42 @@ +#include "Client/Mode/ActiveGameMode.h" #include "Client/Mode/ModeEvents.h" +#include "Client/Replay.h" #include "Client/ReplayPacketRecorder.h" #include "Resource/Bitmap/BitmapResource.h" #include "Resource/ResourceMgr.h" -#include "UI/Buttons/UIBitmapButton.h" +#include "Resource/TextureNames.h" #include "UI/Acceptance/UIJoinPartyAcceptWnd.h" +#include "UI/Buttons/UIBitmapButton.h" +#include "UI/Chat/UIWhisperWnd.h" +#include "UI/Dialogs/UIBookWnd.h" +#include "UI/Dialogs/UIDisconnectedServerMsgWnd.h" +#include "UI/Dialogs/UILoadingWnd.h" +#include "UI/Dialogs/UIMenuWnd.h" +#include "UI/Dialogs/UIMinimapZoomWnd.h" +#include "UI/Dialogs/UINoticeConfirmWnd.h" +#include "UI/Dialogs/UINotifyLevelUpWnd.h" +#include "UI/Dialogs/UINotifyQuestWnd.h" +#include "UI/Dialogs/UIPetTamingDeceiveWnd.h" +#include "UI/Dialogs/UIQuitWnd.h" +#include "UI/Dialogs/UIRestartWnd.h" +#include "UI/Dialogs/UISayDialogWnd.h" +#include "UI/Dialogs/UISelectCartWnd.h" +#include "UI/Dialogs/UIWaitWnd.h" +#include "UI/Items/UIEquipWnd.h" +#include "UI/Items/UIExchangeWnd.h" +#include "UI/Items/UIItemCollectionWnd.h" +#include "UI/Items/UIItemIdentifyWnd.h" +#include "UI/Lists/UIComboBoxWnd.h" +#include "UI/Lists/UIListBox.h" +#include "UI/Party/UIPartySettingWnd.h" +#include "UI/Shop/UInCash_CallWnd.h" +#include "UI/Status/UIStatusWnd.h" #include "UI/Text/UITextViewer.h" #include "UI/Window/WindowManagerWindows.h" #include +#include +#include namespace { constexpr char prefix[] = "유저인터페이스\\"; @@ -71,6 +100,129 @@ void UIChooseSellBuyWnd::Paint() { this->DrawBitmap(0, 0, bitmap ? &bitmap->image : nullptr, false); } +// OFFSET: 0x008ED190 +// FUNCTION: fn_12217 +void UIComboBoxIDWnd::Paint() { + this->ClearSurface(0xFFFF00FF); +} + +// OFFSET: 0x008ED1A0 +// FUNCTION: fn_12218 +void UIComboBoxWnd::Paint() { + this->ClearSurface(0xFFFF00FF); +} + +// OFFSET: 0x008ED1B0 + +// OFFSET: 0x008EECD0 +// FUNCTION: fn_12228 +void UILoadingWnd::Paint() { +} + +// OFFSET: 0x008EF590 + +// OFFSET: 0x008EF7F0 +// FUNCTION: fn_12235 +void UINotifyLevelUpWnd::Paint() { +} + +// OFFSET: 0x008EF800 +// FUNCTION: fn_12236 +void UINotifyQuestWnd::Paint() { +} + +// OFFSET: 0x008EFF60 + +// OFFSET: 0x008EFFA0 + +// OFFSET: 0x008F2A90 + +// OFFSET: 0x008F2DE0 +// FUNCTION: fn_12261 +void UInCash_CallWnd::Paint() { +} + +// OFFSET: 0x008F32D0 + +// OFFSET: 0x008F3300 + +// OFFSET: 0x008F3630 + +// OFFSET: 0x008F3650 +// FUNCTION: fn_12269 +void UICombinedCardItemCollection_ComparisonWnd::Slot25(int, int) { +} + +// OFFSET: 0x008F38D0 +// FUNCTION: fn_12272 +void UIItemCollection_ComparisonWnd::Slot25(int, int) { +} + +// OFFSET: 0x008F38E0 + +// OFFSET: 0x008F39B0 +// FUNCTION: fn_12274 +void UIMinimapZoomWnd::Slot25(int, int) { +} + +// OFFSET: 0x008F39C0 + +// OFFSET: 0x008F39E0 + +// OFFSET: 0x008F3A40 + +// OFFSET: 0x008F3A60 + +// OFFSET: 0x008F3BA0 +// FUNCTION: fn_12281 +void UICombinedCardItemCollection_ComparisonWnd::Slot31(int, int) { +} + +// OFFSET: 0x008F3BB0 + +// OFFSET: 0x008F3C50 +// FUNCTION: fn_12284 +void UIItemCollection_ComparisonWnd::Slot31(int, int) { +} + +// OFFSET: 0x008F4A80 + +// OFFSET: 0x008F4AB0 + +// OFFSET: 0x008F4D40 +// FUNCTION: fn_12294 +void UIEquipWnd::Slot19() { +} + +// OFFSET: 0x008F4F80 + +// OFFSET: 0x008F50B0 +// FUNCTION: fn_12300 +void UISayDialogWnd::Slot19() { + for (UIWindow* child : this->m_children) { + child->Slot19(); + } +} + +// OFFSET: 0x008F5990 +// FUNCTION: fn_12307 +void UIItemIdentifyWnd::Slot33(int, int) { +} + +// OFFSET: 0x008F59A0 +// FUNCTION: fn_12308 +void UIWhisperWnd::Slot33(int, int) { + this->SendMsg(nullptr, 49, 0, 0, 0, 0); +} + +// OFFSET: 0x008F5A10 + +// OFFSET: 0x008F5A50 + +// OFFSET: 0x008F66B0 + +// OFFSET: 0x008F6700 + // OFFSET: 0x008F8860 // FUNCTION: fn_12332 int UIChooseSellBuyWnd::SendMsg(UIWindow* sender, int message, std::intptr_t a, std::intptr_t b, std::intptr_t c, std::intptr_t d) { diff --git a/Source/UI/Chat/UIWhisperWnd.h b/Source/UI/Chat/UIWhisperWnd.h new file mode 100644 index 0000000..975e301 --- /dev/null +++ b/Source/UI/Chat/UIWhisperWnd.h @@ -0,0 +1,11 @@ +#ifndef RAGNAROK_SOURCE_UI_CHAT_UIWHISPERWND_H +#define RAGNAROK_SOURCE_UI_CHAT_UIWHISPERWND_H + +#include "UI/Window/UIFrameWnd.h" + +class UIWhisperWnd : public UIFrameWnd { +public: + void Slot33(int x, int y) override; +}; + +#endif diff --git a/Source/UI/Dialogs/UIBookWnd.h b/Source/UI/Dialogs/UIBookWnd.h new file mode 100644 index 0000000..4c4a4e3 --- /dev/null +++ b/Source/UI/Dialogs/UIBookWnd.h @@ -0,0 +1,11 @@ +#ifndef RAGNAROK_SOURCE_UI_DIALOGS_UIBOOKWND_H +#define RAGNAROK_SOURCE_UI_DIALOGS_UIBOOKWND_H + +#include "UI/Window/UIFrameWnd.h" + +class UIBookWnd : public UIFrameWnd { +public: + void Slot25(int x, int y) override; +}; + +#endif diff --git a/Source/UI/Dialogs/UIDisconnectedServerMsgWnd.h b/Source/UI/Dialogs/UIDisconnectedServerMsgWnd.h new file mode 100644 index 0000000..ececc42 --- /dev/null +++ b/Source/UI/Dialogs/UIDisconnectedServerMsgWnd.h @@ -0,0 +1,16 @@ +#ifndef RAGNAROK_SOURCE_UI_DIALOGS_UIDISCONNECTEDSERVERMSGWND_H +#define RAGNAROK_SOURCE_UI_DIALOGS_UIDISCONNECTEDSERVERMSGWND_H + +#include "UI/Window/UIFrameWnd.h" + +struct TextureNames; + +class UIDisconnectedServerMsgWnd : public UIFrameWnd { +public: + void Paint() override; + +protected: + TextureNames* m_textureNames; +}; + +#endif diff --git a/Source/UI/Dialogs/UILoadingWnd.h b/Source/UI/Dialogs/UILoadingWnd.h new file mode 100644 index 0000000..5bd9798 --- /dev/null +++ b/Source/UI/Dialogs/UILoadingWnd.h @@ -0,0 +1,11 @@ +#ifndef RAGNAROK_SOURCE_UI_DIALOGS_UILOADINGWND_H +#define RAGNAROK_SOURCE_UI_DIALOGS_UILOADINGWND_H + +#include "UI/Window/UIFrameWnd.h" + +class UILoadingWnd : public UIFrameWnd { +public: + void Paint() override; +}; + +#endif diff --git a/Source/UI/Dialogs/UIMenuWnd.h b/Source/UI/Dialogs/UIMenuWnd.h new file mode 100644 index 0000000..d6dfc08 --- /dev/null +++ b/Source/UI/Dialogs/UIMenuWnd.h @@ -0,0 +1,11 @@ +#ifndef RAGNAROK_SOURCE_UI_DIALOGS_UIMENUWND_H +#define RAGNAROK_SOURCE_UI_DIALOGS_UIMENUWND_H + +#include "UI/Window/UIFrameWnd.h" + +class UIMenuWnd : public UIFrameWnd { +public: + void Slot27(int x, int y) override; +}; + +#endif diff --git a/Source/UI/Dialogs/UIMinimapZoomWnd.h b/Source/UI/Dialogs/UIMinimapZoomWnd.h new file mode 100644 index 0000000..3f49383 --- /dev/null +++ b/Source/UI/Dialogs/UIMinimapZoomWnd.h @@ -0,0 +1,11 @@ +#ifndef RAGNAROK_SOURCE_UI_DIALOGS_UIMINIMAPZOOMWND_H +#define RAGNAROK_SOURCE_UI_DIALOGS_UIMINIMAPZOOMWND_H + +#include "UI/Window/UIFrameWnd.h" + +class UIMinimapZoomWnd : public UIFrameWnd { +public: + void Slot25(int x, int y) override; +}; + +#endif diff --git a/Source/UI/Dialogs/UINoticeConfirmWnd.h b/Source/UI/Dialogs/UINoticeConfirmWnd.h new file mode 100644 index 0000000..9674c8e --- /dev/null +++ b/Source/UI/Dialogs/UINoticeConfirmWnd.h @@ -0,0 +1,16 @@ +#ifndef RAGNAROK_SOURCE_UI_DIALOGS_UINOTICECONFIRMWND_H +#define RAGNAROK_SOURCE_UI_DIALOGS_UINOTICECONFIRMWND_H + +#include "UI/Window/UIFrameWnd.h" + +struct TextureNames; + +class UINoticeConfirmWnd : public UIFrameWnd { +public: + void Paint() override; + +protected: + TextureNames* m_textureNames; +}; + +#endif diff --git a/Source/UI/Dialogs/UINotifyLevelUpWnd.h b/Source/UI/Dialogs/UINotifyLevelUpWnd.h new file mode 100644 index 0000000..ffc0a86 --- /dev/null +++ b/Source/UI/Dialogs/UINotifyLevelUpWnd.h @@ -0,0 +1,11 @@ +#ifndef RAGNAROK_SOURCE_UI_DIALOGS_UINOTIFYLEVELUPWND_H +#define RAGNAROK_SOURCE_UI_DIALOGS_UINOTIFYLEVELUPWND_H + +#include "UI/Window/UIFrameWnd.h" + +class UINotifyLevelUpWnd : public UIFrameWnd { +public: + void Paint() override; +}; + +#endif diff --git a/Source/UI/Dialogs/UINotifyQuestWnd.h b/Source/UI/Dialogs/UINotifyQuestWnd.h new file mode 100644 index 0000000..33adc1c --- /dev/null +++ b/Source/UI/Dialogs/UINotifyQuestWnd.h @@ -0,0 +1,11 @@ +#ifndef RAGNAROK_SOURCE_UI_DIALOGS_UINOTIFYQUESTWND_H +#define RAGNAROK_SOURCE_UI_DIALOGS_UINOTIFYQUESTWND_H + +#include "UI/Window/UIFrameWnd.h" + +class UINotifyQuestWnd : public UIFrameWnd { +public: + void Paint() override; +}; + +#endif diff --git a/Source/UI/Dialogs/UIPetTamingDeceiveWnd.h b/Source/UI/Dialogs/UIPetTamingDeceiveWnd.h new file mode 100644 index 0000000..c136440 --- /dev/null +++ b/Source/UI/Dialogs/UIPetTamingDeceiveWnd.h @@ -0,0 +1,20 @@ +#ifndef RAGNAROK_SOURCE_UI_DIALOGS_UIPETTAMINGDECEIVEWND_H +#define RAGNAROK_SOURCE_UI_DIALOGS_UIPETTAMINGDECEIVEWND_H + +#include "UI/Window/UIFrameWnd.h" + +class UIPetTamingDeceiveWnd : public UIFrameWnd { +public: + /* 00B4 */ std::uint32_t unknown_00B4; + /* 00B8 */ int m_state; + /* 00BC */ std::uint32_t unknown_00BC; + /* 00C0 */ int m_target; + /* 00C4 */ int m_frame; + /* 00C8 */ std::uint32_t unknown_00C8; + /* 00CC */ std::uint32_t unknown_00CC; + /* 00D0 */ int m_started; + + void Slot25(int x, int y) override; +}; + +#endif diff --git a/Source/UI/Dialogs/UIQuitWnd.h b/Source/UI/Dialogs/UIQuitWnd.h new file mode 100644 index 0000000..d4933a9 --- /dev/null +++ b/Source/UI/Dialogs/UIQuitWnd.h @@ -0,0 +1,16 @@ +#ifndef RAGNAROK_SOURCE_UI_DIALOGS_UIQUITWND_H +#define RAGNAROK_SOURCE_UI_DIALOGS_UIQUITWND_H + +#include "UI/Window/UIFrameWnd.h" + +struct TextureNames; + +class UIQuitWnd : public UIFrameWnd { +public: + void Paint() override; + +protected: + TextureNames* m_textureNames; +}; + +#endif diff --git a/Source/UI/Dialogs/UIRestartWnd.h b/Source/UI/Dialogs/UIRestartWnd.h new file mode 100644 index 0000000..218283f --- /dev/null +++ b/Source/UI/Dialogs/UIRestartWnd.h @@ -0,0 +1,16 @@ +#ifndef RAGNAROK_SOURCE_UI_DIALOGS_UIRESTARTWND_H +#define RAGNAROK_SOURCE_UI_DIALOGS_UIRESTARTWND_H + +#include "UI/Window/UIFrameWnd.h" + +struct TextureNames; + +class UIRestartWnd : public UIFrameWnd { +public: + void Paint() override; + +protected: + TextureNames* m_textureNames; +}; + +#endif diff --git a/Source/UI/Dialogs/UISayDialogWnd.h b/Source/UI/Dialogs/UISayDialogWnd.h new file mode 100644 index 0000000..6667826 --- /dev/null +++ b/Source/UI/Dialogs/UISayDialogWnd.h @@ -0,0 +1,11 @@ +#ifndef RAGNAROK_SOURCE_UI_DIALOGS_UISAYDIALOGWND_H +#define RAGNAROK_SOURCE_UI_DIALOGS_UISAYDIALOGWND_H + +#include "UI/Window/UIFrameWnd.h" + +class UISayDialogWnd : public UIFrameWnd { +public: + void Slot19() override; +}; + +#endif diff --git a/Source/UI/Dialogs/UISelectCartWnd.h b/Source/UI/Dialogs/UISelectCartWnd.h new file mode 100644 index 0000000..09fc464 --- /dev/null +++ b/Source/UI/Dialogs/UISelectCartWnd.h @@ -0,0 +1,11 @@ +#ifndef RAGNAROK_SOURCE_UI_DIALOGS_UISELECTCARTWND_H +#define RAGNAROK_SOURCE_UI_DIALOGS_UISELECTCARTWND_H + +#include "UI/Window/UIFrameWnd.h" + +class UISelectCartWnd : public UIFrameWnd { +public: + void Slot25(int x, int y) override; +}; + +#endif diff --git a/Source/UI/Dialogs/UIWaitWnd.h b/Source/UI/Dialogs/UIWaitWnd.h new file mode 100644 index 0000000..ce0c450 --- /dev/null +++ b/Source/UI/Dialogs/UIWaitWnd.h @@ -0,0 +1,16 @@ +#ifndef RAGNAROK_SOURCE_UI_DIALOGS_UIWAITWND_H +#define RAGNAROK_SOURCE_UI_DIALOGS_UIWAITWND_H + +#include "UI/Window/UIFrameWnd.h" + +struct TextureNames; + +class UIWaitWnd : public UIFrameWnd { +public: + void Paint() override; + +protected: + TextureNames* m_textureNames; +}; + +#endif diff --git a/Source/UI/Items/UIEquipWnd.h b/Source/UI/Items/UIEquipWnd.h new file mode 100644 index 0000000..3b3b8bf --- /dev/null +++ b/Source/UI/Items/UIEquipWnd.h @@ -0,0 +1,19 @@ +#ifndef RAGNAROK_SOURCE_UI_ITEMS_UIEQUIPWND_H +#define RAGNAROK_SOURCE_UI_ITEMS_UIEQUIPWND_H + +#include "UI/Window/UIFrameWnd.h" + +class UIEquipWnd : public UIFrameWnd { +public: + /* 00B4 */ unsigned char unknown_00B4[0x3C]; + /* 00F0 */ int m_page; + /* 00F4 */ unsigned char unknown_00F4[0x60]; + /* 0154 */ int m_firstSlot; + /* 0158 */ int m_hoverSlot; + + void Slot19() override; + void Slot27(int x, int y) override; + void Slot31(int x, int y) override; +}; + +#endif diff --git a/Source/UI/Items/UIExchangeWnd.h b/Source/UI/Items/UIExchangeWnd.h new file mode 100644 index 0000000..2f6b240 --- /dev/null +++ b/Source/UI/Items/UIExchangeWnd.h @@ -0,0 +1,14 @@ +#ifndef RAGNAROK_SOURCE_UI_ITEMS_UIEXCHANGEWND_H +#define RAGNAROK_SOURCE_UI_ITEMS_UIEXCHANGEWND_H + +#include "UI/Window/UIFrameWnd.h" + +class UIExchangeWnd : public UIFrameWnd { +public: + /* 00B4 */ unsigned char unknown_00B4[0x10]; + /* 00C4 */ UIWindow* m_scrollBar; + + void Slot35(int delta) override; +}; + +#endif diff --git a/Source/UI/Items/UIItemCollectionWnd.h b/Source/UI/Items/UIItemCollectionWnd.h new file mode 100644 index 0000000..c8f98ba --- /dev/null +++ b/Source/UI/Items/UIItemCollectionWnd.h @@ -0,0 +1,27 @@ +#ifndef RAGNAROK_SOURCE_UI_ITEMS_UIITEMCOLLECTIONWND_H +#define RAGNAROK_SOURCE_UI_ITEMS_UIITEMCOLLECTIONWND_H + +#include "UI/Window/UIFrameWnd.h" + +class UIItemCollectionWnd : public UIFrameWnd { +public: + /* 00B4 */ unsigned char unknown_00B4[0x108]; + /* 01BC */ UIWindow* m_preview; + /* 01C0 */ std::uint32_t m_previewTick; + + void Slot19() override; +}; + +class UIItemCollection_ComparisonWnd : public UIItemCollectionWnd { +public: + void Slot25(int x, int y) override; + void Slot31(int x, int y) override; +}; + +class UICombinedCardItemCollection_ComparisonWnd : public UIItemCollectionWnd { +public: + void Slot25(int x, int y) override; + void Slot31(int x, int y) override; +}; + +#endif diff --git a/Source/UI/Items/UIItemIdentifyWnd.h b/Source/UI/Items/UIItemIdentifyWnd.h new file mode 100644 index 0000000..2b8d770 --- /dev/null +++ b/Source/UI/Items/UIItemIdentifyWnd.h @@ -0,0 +1,23 @@ +#ifndef RAGNAROK_SOURCE_UI_ITEMS_UIITEMIDENTIFYWND_H +#define RAGNAROK_SOURCE_UI_ITEMS_UIITEMIDENTIFYWND_H + +#include "Contents/Items/ItemInfo.h" +#include "UI/Window/UIFrameWnd.h" + +class UIItemIdentifyWnd : public UIFrameWnd { +public: + /* 00B4 */ UIWindow* m_scrollBar; + /* 00B8 */ int m_scroll; + /* 00BC */ int m_selected; + /* 00C0 */ int m_columns; + /* 00C4 */ int m_rows; + /* 00C8 */ int m_scrollable; + /* 00CC */ std::list m_items; + + void Slot25(int x, int y) override; + void Slot26(int x, int y) override; + void Slot33(int x, int y) override; + void Slot35(int delta) override; +}; + +#endif diff --git a/Source/UI/Lists/UIComboBoxWnd.h b/Source/UI/Lists/UIComboBoxWnd.h new file mode 100644 index 0000000..3fc96c7 --- /dev/null +++ b/Source/UI/Lists/UIComboBoxWnd.h @@ -0,0 +1,24 @@ +#ifndef RAGNAROK_SOURCE_UI_LISTS_UICOMBOBOXWND_H +#define RAGNAROK_SOURCE_UI_LISTS_UICOMBOBOXWND_H + +#include "UI/Window/UIFrameWnd.h" + +class UIListBox; + +class UIComboBoxWnd : public UIFrameWnd { +public: + /* 00B4 */ UIListBox* m_list; + + void Resize(int width, int height) override; + void Paint() override; +}; + +class UIComboBoxIDWnd : public UIFrameWnd { +public: + /* 00B4 */ UIListBox* m_list; + + void Resize(int width, int height) override; + void Paint() override; +}; + +#endif diff --git a/Source/UI/Party/UIPartySettingWnd.h b/Source/UI/Party/UIPartySettingWnd.h new file mode 100644 index 0000000..6bd9a7f --- /dev/null +++ b/Source/UI/Party/UIPartySettingWnd.h @@ -0,0 +1,11 @@ +#ifndef RAGNAROK_SOURCE_UI_PARTY_UIPARTYSETTINGWND_H +#define RAGNAROK_SOURCE_UI_PARTY_UIPARTYSETTINGWND_H + +#include "UI/Window/UIFrameWnd.h" + +class UIPartySettingWnd : public UIFrameWnd { +public: + void Slot25(int x, int y) override; +}; + +#endif diff --git a/Source/UI/Shop/UInCash_CallWnd.h b/Source/UI/Shop/UInCash_CallWnd.h new file mode 100644 index 0000000..1065aca --- /dev/null +++ b/Source/UI/Shop/UInCash_CallWnd.h @@ -0,0 +1,11 @@ +#ifndef RAGNAROK_SOURCE_UI_SHOP_UINCASH_CALLWND_H +#define RAGNAROK_SOURCE_UI_SHOP_UINCASH_CALLWND_H + +#include "UI/Window/UIFrameWnd.h" + +class UInCash_CallWnd : public UIFrameWnd { +public: + void Paint() override; +}; + +#endif diff --git a/Source/UI/Status/UIStatusWnd.h b/Source/UI/Status/UIStatusWnd.h new file mode 100644 index 0000000..654901b --- /dev/null +++ b/Source/UI/Status/UIStatusWnd.h @@ -0,0 +1,15 @@ +#ifndef RAGNAROK_SOURCE_UI_STATUS_UISTATUSWND_H +#define RAGNAROK_SOURCE_UI_STATUS_UISTATUSWND_H + +#include "UI/Window/UIFrameWnd.h" + +class UIStatusWnd : public UIFrameWnd { +public: + /* 00B4 */ unsigned char unknown_00B4[0x20]; + /* 00D4 */ int m_titleHeight; + + void Slot25(int x, int y) override; + void Slot26(int x, int y) override; +}; + +#endif