rodecomp/Source/UI/Window/UIMessageBox.h
ragnarok-clanker cc8a43db9f Maintenance: [forced, user-approved] Family D5: remove UITextViewerContext and TextViewerActions entirely. UITextViewer ctor 0x86F0A0
Batch #10206 by ragnarok-clanker: forced by an admin (4 lower score(s), 20 changed function(s)); checked with 36 compiled unit(s), including every includer of Source/UI/Acceptance/UIJoinPartyAcceptWnd.h, Source/UI/Dialogs/UIBookWnd.h, Source/UI/Dialogs/UIDisconnectedServerMsgWnd.h, Source/UI/Dialogs/UINoticeConfirmWnd.h, Source/UI/Dialogs/UIWaitWnd.h, Source/UI/EntryQueue/UIEntryQueueWnd.h, Source/UI/Party/UIRequestJoinPartyWnd.h, Source/UI/Text/UITextViewer.h, Source/UI/Window/UIAccountLimitedToolWnd.h, Source/UI/Window/UIMessageBox.h, Source/UI/Window/UINavigationHelpWnd.h, Source/UI/Window/UINormalMB.h, Source/UI/Window/UIPartyBookingHelpWnd.h.
2026-11-02 22:23:07 +00:00

55 lines
1.5 KiB
C++

#ifndef RAGNAROK_SOURCE_UI_WINDOW_UIMESSAGEBOX_H
#define RAGNAROK_SOURCE_UI_WINDOW_UIMESSAGEBOX_H
#include "UI/Window/UIFrameWnd.h"
#include <string>
class UITextViewer;
class UIWindowMgr;
struct WindowResponseRecorder;
struct UIMessageBoxContext {
void* unknown_text;
UIWindowMgr& retirement;
WindowResponseRecorder& recorder;
int& response;
const int& screenWidth;
const int& screenHeight;
};
class UIMessageBox : public UIFrameWnd {
public:
UIMessageBox(UIWindowContext& windows, UIMessageBoxContext& dialog);
~UIMessageBox() override;
void Slot18() override;
void Slot19() override;
void Paint() override;
int SendMsg(UIWindow* sender, int message, std::intptr_t a, std::intptr_t b, std::intptr_t c, std::intptr_t d) override;
void Configure(const char* text, int type, bool defaultAccept, int timeout, const char* caption, int width, int height, int modal, const char* icon);
/* 00B4 */ UITextViewer* viewer;
/* 00B8 */ int unknown_00B8;
/* 00BC */ int counting;
/* 00C0 */ std::uint32_t started;
/* 00C4 */ std::uint32_t deadline;
/* 00C8 */ int unknown_00C8;
/* 00CC */ std::uint32_t remaining;
/* 00D0 */ std::string format;
/* 00E8 */ std::string messageText;
/* 0100 */ std::string caption;
/* 0118 */ int modal;
/* 011C */ unsigned char protectedMessage;
private:
UIMessageBoxContext* m_dialog;
void AddButton(const char* name, int id, int x, int y);
void FormatCountdown();
};
#if defined(_WIN32) && !defined(_WIN64)
static_assert(sizeof(UIMessageBox) == 300);
#endif
#endif