diff --git a/Source/UI/Shortcuts/ShortcutCooldowns.cpp b/Source/UI/Shortcuts/ShortcutCooldowns.cpp index 82a4354..694ea00 100644 --- a/Source/UI/Shortcuts/ShortcutCooldowns.cpp +++ b/Source/UI/Shortcuts/ShortcutCooldowns.cpp @@ -1,4 +1,11 @@ #include "Client/Session.h" +#include "Resource/Bitmap/BitmapResource.h" +#include "Resource/ResourceMgr.h" +#include "Resource/SkinPalette.h" +#include "Resource/TextureNames.h" +#include "UI/Buttons/UIButton.h" +#include "UI/Window/UIRebirthWnd.h" +#include "UI/Window/UISeekPartyMBWnd.h" #include "UI/Shortcuts/ShortcutCooldowns.h" #include @@ -204,3 +211,32 @@ void ShortcutCooldowns::Paint( ++entry; } } + +// OFFSET: 0x0092DDE0 +// FUNCTION: fn_12673 +void UIRebirthWnd::Paint() { + auto* background = static_cast(ResourceMgr::Instance().Load(Resolve("유저인터페이스\\win_msgbox1.bmp"))); + this->DrawBitmap(0, 0, &background->image, false); +} + +// OFFSET: 0x0092E230 +// FUNCTION: fn_12676 +void UISeekPartyMBWnd::Paint() { + auto& controls = *this->m_controls; + this->DrawTitleBar(controls.fonts, controls.locale, true, "", 0); + if (this->m_minimized) { + return; + } + + unsigned red; + unsigned green; + unsigned blue; + SkinPaletteChannels(ResourceMgr::Instance(), 2, 2, red, green, blue); + this->FillRegion(0, 17, this->geometry.width, this->geometry.height - 38, RGB(red, green, blue)); + + const RECT outer = {50, 95, 310, 293}; + const RECT inner = {51, 96, 309, 292}; + this->FillSurface(0, &outer); + this->FillSurface(0xF0F0F0, &inner); + this->DrawButtonBar(2, 0, 1); +} diff --git a/Source/UI/Window/UIRebirthWnd.h b/Source/UI/Window/UIRebirthWnd.h new file mode 100644 index 0000000..e4ba4fd --- /dev/null +++ b/Source/UI/Window/UIRebirthWnd.h @@ -0,0 +1,11 @@ +#ifndef RAGNAROK_SOURCE_UI_WINDOW_UIREBIRTHWND_H +#define RAGNAROK_SOURCE_UI_WINDOW_UIREBIRTHWND_H + +#include "UI/Window/UIFrameWnd.h" + +class UIRebirthWnd : public UIFrameWnd { +public: + void Paint() override; +}; + +#endif diff --git a/Source/UI/Window/UISeekPartyMBWnd.h b/Source/UI/Window/UISeekPartyMBWnd.h new file mode 100644 index 0000000..660b899 --- /dev/null +++ b/Source/UI/Window/UISeekPartyMBWnd.h @@ -0,0 +1,18 @@ +#ifndef RAGNAROK_SOURCE_UI_WINDOW_UISEEKPARTYMBWND_H +#define RAGNAROK_SOURCE_UI_WINDOW_UISEEKPARTYMBWND_H + +#include "UI/Window/UIFrameWnd.h" + +struct UIButtonContext; + +class UISeekPartyMBWnd : public UIFrameWnd { +public: + void Paint() override; + +protected: + /* 00BC */ unsigned char unknown_00BC[0xAC]; + /* 0168 */ unsigned char m_minimized; + UIButtonContext* m_controls; +}; + +#endif