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.
This commit is contained in:
ragnarok-clanker 2026-10-28 12:39:59 +00:00
commit a19f0b332e
24 changed files with 496 additions and 1 deletions

View file

@ -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 <cstring>
#include <windows.h>
#include <timeapi.h>
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) {

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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<ItemInfo> 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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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