diff --git a/Source/UI/Acceptance/UIChooseSellBuyWnd.cpp b/Source/UI/Acceptance/UIChooseSellBuyWnd.cpp index e1be2e6..378c43a 100644 --- a/Source/UI/Acceptance/UIChooseSellBuyWnd.cpp +++ b/Source/UI/Acceptance/UIChooseSellBuyWnd.cpp @@ -1,4 +1,5 @@ #include "Client/Application/ApplicationWindow.h" +#include "Contents/Configuration/ServiceConfiguration.h" #include "Client/Mode/ActiveGameMode.h" #include "Client/Mode/CGameMode.h" #include "Client/Mode/ModeEvents.h" @@ -12,12 +13,17 @@ #include "UI/Buttons/UIBitmapButton.h" #include "UI/Chat/UIWhisperWnd.h" #include "UI/Dialogs/UIBookWnd.h" +#include "UI/Dialogs/UIChooseWarpWnd.h" +#include "UI/Dialogs/UIChooseWnd.h" #include "UI/Dialogs/UIDisconnectedServerMsgWnd.h" +#include "UI/Dialogs/UIEmailAddressWnd.h" #include "UI/Dialogs/UIGraffiStrboxWnd.h" #include "UI/Dialogs/UILoadingWnd.h" #include "UI/Dialogs/UIMenuWnd.h" #include "UI/Dialogs/UIMinimapZoomWnd.h" #include "UI/Dialogs/UINoticeConfirmWnd.h" +#include "UI/Dialogs/UINpcEditDialogWnd.h" +#include "UI/Dialogs/UIPasswordWnd.h" #include "UI/Dialogs/UINotifyLevelUpWnd.h" #include "UI/Dialogs/UINotifyQuestWnd.h" #include "UI/Dialogs/UIPetTamingDeceiveWnd.h" @@ -26,11 +32,13 @@ #include "UI/Dialogs/UISayDialogWnd.h" #include "UI/Dialogs/UISelectCartWnd.h" #include "UI/Dialogs/UITipOfTheDayWnd.h" +#include "UI/Dialogs/UIToolTipWnd.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/Items/UIItemParamChangeDisplayWnd.h" #include "UI/Items/UINotifyItemObtainWnd.h" #include "UI/Lists/UIComboBoxWnd.h" #include "UI/Lists/UIListBox.h" @@ -38,6 +46,7 @@ #include "UI/Shop/ItemDrawing.h" #include "UI/Shop/UInCash_CallWnd.h" #include "UI/Skill/UISkillDescribeWnd.h" +#include "UI/Skill/UISkillNameChangeWnd.h" #include "UI/Status/UIStatusWnd.h" #include "UI/Text/UITextViewer.h" #include "UI/Window/UIWindowMgr.h" @@ -112,6 +121,18 @@ void UIChooseSellBuyWnd::Paint() { this->DrawBitmap(0, 0, bitmap ? &bitmap->image : nullptr, false); } +// OFFSET: 0x008ED170 +// FUNCTION: fn_12215 +void UIChooseWarpWnd::Paint() { + this->DrawBorder(0, 0, 0, 0); +} + +// OFFSET: 0x008ED180 +// FUNCTION: fn_12216 +void UIChooseWnd::Paint() { + this->DrawBorder(0, 0, 0, 0); +} + // OFFSET: 0x008ED190 // FUNCTION: fn_12217 void UIComboBoxIDWnd::Paint() { @@ -131,6 +152,8 @@ void UIDisconnectedServerMsgWnd::Paint() { this->DrawBitmap(0, 0, bitmap ? &bitmap->image : nullptr, false); } +// OFFSET: 0x008ED1F0 + // OFFSET: 0x008EE230 // FUNCTION: fn_12223 void UIGraffiStrboxWnd::Paint() { @@ -142,6 +165,8 @@ void UIGraffiStrboxWnd::Paint() { this->DrawTextAt(controls.fonts, controls.locale, 16, 22, controls.services.MessageText(436), 0, 0, 12, 0, 0, 0); } +// OFFSET: 0x008EE9D0 + // OFFSET: 0x008EECD0 // FUNCTION: fn_12228 void UILoadingWnd::Paint() { @@ -177,6 +202,8 @@ void UINotifyLevelUpWnd::Paint() { void UINotifyQuestWnd::Paint() { } +// OFFSET: 0x008EF810 + // OFFSET: 0x008EF9A0 // FUNCTION: fn_12239 void UIPartyInvitationToWnd::Paint() { @@ -205,6 +232,12 @@ void UIPartySettingWnd::Paint() { this->DrawTextAt(controls.fonts, controls.locale, 10, this->m_mode + 17, controls.services.MessageText(293), 0, 0, 12, 0, 0, 0); } +// OFFSET: 0x008EFAF0 +// FUNCTION: fn_12241 +void UIPasswordWnd::Paint() { + this->DrawBorder(0, 0, 0, 0); +} + // OFFSET: 0x008EFF60 // FUNCTION: fn_12245 void UIQuitWnd::Paint() { @@ -219,6 +252,12 @@ void UIRestartWnd::Paint() { this->DrawBitmap(0, 0, bitmap ? &bitmap->image : nullptr, false); } +// OFFSET: 0x008EFFE0 +// FUNCTION: fn_12247 +void UISayDialogWnd::Paint() { + this->DrawBorder(0, 0, 0, 0); +} + // OFFSET: 0x008F0350 // FUNCTION: fn_12249 void UISelectCartWnd::Paint() { @@ -246,6 +285,8 @@ void UISkillDescribeWnd::Paint() { DrawRoundedBorder(*this, 2, 2, this->geometry.width - 4, this->geometry.height - 4, 0xFFFFFF); } +// OFFSET: 0x008F04B0 + // OFFSET: 0x008F2460 // FUNCTION: fn_12255 void UITipOfTheDayWnd::Paint() { @@ -284,6 +325,12 @@ void UITipOfTheDayWnd::Paint() { this->FillRegion(72, 17, columns * 32 - 32, slots * 32, RGB(red, green, blue)); } +// OFFSET: 0x008F2A80 +// FUNCTION: fn_12257 +void UIToolTipWnd::Paint() { + this->DrawBorder(0, 0, 0, 0); +} + // OFFSET: 0x008F2A90 // FUNCTION: fn_12258 void UIWaitWnd::Paint() { diff --git a/Source/UI/Dialogs/UIChooseWarpWnd.h b/Source/UI/Dialogs/UIChooseWarpWnd.h new file mode 100644 index 0000000..da2304d --- /dev/null +++ b/Source/UI/Dialogs/UIChooseWarpWnd.h @@ -0,0 +1,11 @@ +#ifndef RAGNAROK_SOURCE_UI_DIALOGS_UICHOOSEWARPWND_H +#define RAGNAROK_SOURCE_UI_DIALOGS_UICHOOSEWARPWND_H + +#include "UI/Window/UIFrameWnd.h" + +class UIChooseWarpWnd : public UIFrameWnd { +public: + void Paint() override; +}; + +#endif diff --git a/Source/UI/Dialogs/UIChooseWnd.h b/Source/UI/Dialogs/UIChooseWnd.h new file mode 100644 index 0000000..e865ff7 --- /dev/null +++ b/Source/UI/Dialogs/UIChooseWnd.h @@ -0,0 +1,11 @@ +#ifndef RAGNAROK_SOURCE_UI_DIALOGS_UICHOOSEWND_H +#define RAGNAROK_SOURCE_UI_DIALOGS_UICHOOSEWND_H + +#include "UI/Window/UIFrameWnd.h" + +class UIChooseWnd : public UIFrameWnd { +public: + void Paint() override; +}; + +#endif diff --git a/Source/UI/Dialogs/UIEmailAddressWnd.h b/Source/UI/Dialogs/UIEmailAddressWnd.h new file mode 100644 index 0000000..07c0822 --- /dev/null +++ b/Source/UI/Dialogs/UIEmailAddressWnd.h @@ -0,0 +1,16 @@ +#ifndef RAGNAROK_SOURCE_UI_DIALOGS_UIEMAILADDRESSWND_H +#define RAGNAROK_SOURCE_UI_DIALOGS_UIEMAILADDRESSWND_H + +#include "UI/Window/UIFrameWnd.h" + +struct UIButtonContext; + +class UIEmailAddressWnd : public UIFrameWnd { +public: + void Paint() override; + +protected: + UIButtonContext* m_controls; +}; + +#endif diff --git a/Source/UI/Dialogs/UINpcEditDialogWnd.h b/Source/UI/Dialogs/UINpcEditDialogWnd.h new file mode 100644 index 0000000..37ac000 --- /dev/null +++ b/Source/UI/Dialogs/UINpcEditDialogWnd.h @@ -0,0 +1,16 @@ +#ifndef RAGNAROK_SOURCE_UI_DIALOGS_UINPCEDITDIALOGWND_H +#define RAGNAROK_SOURCE_UI_DIALOGS_UINPCEDITDIALOGWND_H + +#include "UI/Window/UIFrameWnd.h" + +struct UIButtonContext; + +class UINpcEditDialogWnd : public UIFrameWnd { +public: + void Paint() override; + +protected: + UIButtonContext* m_controls; +}; + +#endif diff --git a/Source/UI/Dialogs/UIPasswordWnd.h b/Source/UI/Dialogs/UIPasswordWnd.h new file mode 100644 index 0000000..8a212d9 --- /dev/null +++ b/Source/UI/Dialogs/UIPasswordWnd.h @@ -0,0 +1,14 @@ +#ifndef RAGNAROK_SOURCE_UI_DIALOGS_UIPASSWORDWND_H +#define RAGNAROK_SOURCE_UI_DIALOGS_UIPASSWORDWND_H + +#include "UI/Window/UIFrameWnd.h" + +class UIItemDropCntWnd : public UIFrameWnd { +}; + +class UIPasswordWnd : public UIItemDropCntWnd { +public: + void Paint() override; +}; + +#endif diff --git a/Source/UI/Dialogs/UISayDialogWnd.h b/Source/UI/Dialogs/UISayDialogWnd.h index ec2deda..6d2cd04 100644 --- a/Source/UI/Dialogs/UISayDialogWnd.h +++ b/Source/UI/Dialogs/UISayDialogWnd.h @@ -12,6 +12,7 @@ public: void Resize(int width, int height) override; void Slot19() override; + void Paint() override; }; #endif diff --git a/Source/UI/Dialogs/UIToolTipWnd.h b/Source/UI/Dialogs/UIToolTipWnd.h new file mode 100644 index 0000000..1a32c52 --- /dev/null +++ b/Source/UI/Dialogs/UIToolTipWnd.h @@ -0,0 +1,11 @@ +#ifndef RAGNAROK_SOURCE_UI_DIALOGS_UITOOLTIPWND_H +#define RAGNAROK_SOURCE_UI_DIALOGS_UITOOLTIPWND_H + +#include "UI/Window/UIFrameWnd.h" + +class UIToolTipWnd : public UIFrameWnd { +public: + void Paint() override; +}; + +#endif diff --git a/Source/UI/Items/UIItemParamChangeDisplayWnd.h b/Source/UI/Items/UIItemParamChangeDisplayWnd.h new file mode 100644 index 0000000..dcde74a --- /dev/null +++ b/Source/UI/Items/UIItemParamChangeDisplayWnd.h @@ -0,0 +1,21 @@ +#ifndef RAGNAROK_SOURCE_UI_ITEMS_UIITEMPARAMCHANGEDISPLAYWND_H +#define RAGNAROK_SOURCE_UI_ITEMS_UIITEMPARAMCHANGEDISPLAYWND_H + +#include "UI/Window/UIFrameWnd.h" + +struct UIButtonContext; + +class UIItemParamChangeDisplayWnd : public UIFrameWnd { +public: + /* 00B4 */ int m_before; + /* 00B8 */ int m_after; + /* 00BC */ int m_beforeSecond; + /* 00C0 */ int m_afterSecond; + + void Paint() override; + +protected: + UIButtonContext* m_controls; +}; + +#endif diff --git a/Source/UI/Skill/UISkillNameChangeWnd.h b/Source/UI/Skill/UISkillNameChangeWnd.h new file mode 100644 index 0000000..cbb3456 --- /dev/null +++ b/Source/UI/Skill/UISkillNameChangeWnd.h @@ -0,0 +1,21 @@ +#ifndef RAGNAROK_SOURCE_UI_SKILL_UISKILLNAMECHANGEWND_H +#define RAGNAROK_SOURCE_UI_SKILL_UISKILLNAMECHANGEWND_H + +#include "UI/Window/UIFrameWnd.h" + +#include + +struct UIButtonContext; + +class UISkillNameChangeWnd : public UIFrameWnd { +public: + /* 00B4 */ unsigned char unknown_00B4[0x08]; + /* 00BC */ std::string m_name; + + void Paint() override; + +protected: + UIButtonContext* m_controls; +}; + +#endif diff --git a/Source/UI/Window/UICntWnd.h b/Source/UI/Window/UICntWnd.h index e7683ef..577e710 100644 --- a/Source/UI/Window/UICntWnd.h +++ b/Source/UI/Window/UICntWnd.h @@ -7,7 +7,6 @@ class UICntWnd : public UIFrameWnd { public: void Paint() override; - void DrawBorder(int x, int y, int width, int height); protected: }; diff --git a/Source/UI/Window/UIFrameWnd.h b/Source/UI/Window/UIFrameWnd.h index f13bcc6..aec82f6 100644 --- a/Source/UI/Window/UIFrameWnd.h +++ b/Source/UI/Window/UIFrameWnd.h @@ -33,6 +33,7 @@ public: std::vector Slot44() override; int Slot46() override; UIBitmapButton* AddCloseButton(UIButtonContext& controls, const char* tooltip, int width); + void DrawBorder(int x, int y, int width, int height); protected: /* 007C */ int m_dragX; diff --git a/Source/UI/Window/UIMessageBox.cpp b/Source/UI/Window/UIMessageBox.cpp index 7b943c7..52ccdd8 100644 --- a/Source/UI/Window/UIMessageBox.cpp +++ b/Source/UI/Window/UIMessageBox.cpp @@ -349,7 +349,7 @@ void UICntWnd::Paint() { // OFFSET: 0x008A91E0 // FUNCTION: fn_11721 -void UICntWnd::DrawBorder(int x, int y, int width, int height) { +void UIFrameWnd::DrawBorder(int x, int y, int width, int height) { if (width == 0) { width = this->geometry.width; }