rodecomp/Source/UI/EntryQueue/UIEntryQueueWnd.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

134 lines
4 KiB
C++

#ifndef RAGNAROK_SOURCE_UI_ENTRYQUEUE_UIENTRYQUEUEWND_H
#define RAGNAROK_SOURCE_UI_ENTRYQUEUE_UIENTRYQUEUEWND_H
#include "Contents/UserData/NormalItemSlots.h"
#include "UI/Lists/UIListBox.h"
#include "UI/Window/UIFrameWnd.h"
#include <cstddef>
#include <cstdint>
#include <map>
#include <string>
class UIBitmapButton;
class UIStaticText;
struct EntryQueueInfo;
class UITextViewer;
struct WindowResponseRecorder;
struct UIEntryQueueContext {
void* unknown_text;
WindowResponseRecorder& recorder;
};
class UIEntryQueueHelpWnd : public UIFrameWnd {
public:
UIEntryQueueHelpWnd(UIWindowContext& windows);
void Slot15(int width, int height) 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;
protected:
UIEntryQueueContext* m_entryQueue;
public:
/* 00B4 */ UITextViewer* m_viewer;
/* 00B8 */ UIBitmapButton* m_close;
};
class UIEntryQueueListBox : public UIListBox {
public:
UIEntryQueueListBox(UIWindowContext& windows);
~UIEntryQueueListBox() override;
void Slot31(int x, int y) override;
virtual void AddEntry(const char* name, int value);
virtual int EntryValue(int index);
/* 00D4 */ std::map<std::string, int> m_entries;
};
class UIEntryQueueRequestWnd : public UIFrameWnd {
public:
UIEntryQueueRequestWnd(UIWindowContext& windows, UIEntryQueueContext& entryQueue);
~UIEntryQueueRequestWnd() 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;
bool Create();
protected:
UIEntryQueueContext* m_entryQueue;
public:
/* 00B4 */ UITextViewer* m_viewer;
/* 00B8 */ UIBitmapButton* m_ok;
/* 00BC */ UIBitmapButton* m_cancel;
/* 00C0 */ unsigned m_interval;
/* 00C4 */ unsigned m_elapsed;
/* 00C8 */ unsigned m_delta;
/* 00CC */ unsigned m_lastTick;
/* 00D0 */ UIStaticText* m_countdown;
};
class UIEntryQueueStandByWnd : public UIFrameWnd {
public:
UIEntryQueueStandByWnd(UIWindowContext& windows, UIEntryQueueContext& entryQueue);
~UIEntryQueueStandByWnd() 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;
bool Create();
void SetInfo(const char* queueName, int waiting, int ranking);
protected:
UIEntryQueueContext* m_entryQueue;
public:
/* 00B4 */ std::string m_queueName;
/* 00CC */ int m_waiting;
/* 00D0 */ int m_ranking;
/* 00D4 */ UITextViewer* m_viewer;
/* 00D8 */ UIBitmapButton* m_cancel;
/* 00DC */ UIBitmapButton* m_close;
/* 00E0 */ char m_queueText[0x104];
/* 01E4 */ char m_waitingText[0x104];
/* 02E8 */ char m_rankingText[0x104];
};
class UIEntryQueueWnd : public UIFrameWnd {
public:
UIEntryQueueWnd(UIWindowContext& windows, UIEntryQueueContext& entryQueue);
~UIEntryQueueWnd() override;
void Slot11() override;
void Slot15(int width, int height) 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;
int SelectedIndex();
void SelectQueue(EntryQueueInfo* info);
bool ConfirmApply(const char* type);
/* 00BC */ unsigned char unknown_00BC[0x8];
/* 00C4 */ UIStaticText* m_labels[7];
/* 00E0 */ UIStaticText* m_values[7];
/* 00FC */ UIEntryQueueListBox* m_list;
/* 0100 */ EntryQueueWndInfo* saved;
protected:
UIEntryQueueContext* m_entryQueue;
void* unknown_listContext;
UIBitmapButton* m_applyButtons[3];
UIBitmapButton* m_helpButton;
};
#if defined(_WIN32) && !defined(_WIN64)
static_assert(offsetof(UIEntryQueueWnd, m_labels) == 0xC4);
static_assert(offsetof(UIEntryQueueWnd, m_values) == 0xE0);
static_assert(offsetof(UIEntryQueueWnd, m_list) == 0xFC);
static_assert(offsetof(UIEntryQueueWnd, saved) == 0x100);
#endif
#endif