#ifndef RAGNAROK_SOURCE_UI_DIALOGS_UIMINIMAPWND_H #define RAGNAROK_SOURCE_UI_DIALOGS_UIMINIMAPWND_H #include "UI/Window/UIFrameWnd.h" #include #include class UIBitmapButton; class UIButton; class UICheckBox; class UIHeadsprButton; struct MiniMapWndInfo; struct UIButtonContext; struct MiniMapMark { /* 0000 */ int x; /* 0004 */ int y; }; class UIMiniMapWnd : public UIFrameWnd { public: UIMiniMapWnd(UIWindowContext& windows, UIFrameContext& frames, UIButtonContext& controls); void Slot11() override; void Slot15(int width, int height) override; void Paint() override; void Slot25(int x, int y) override; void ResetCursor(int x, int y) override; int SendMsg(UIWindow* sender, int message, std::intptr_t argument1, std::intptr_t argument2, std::intptr_t argument3, std::intptr_t argument4) override; void AddTownMarks(); int LoadMemos(); void UpdatePlayerHead(); /* 00B4 */ MiniMapWndInfo* m_saved; /* 00B8 */ float scale; /* 00BC */ float originX; /* 00C0 */ float originY; /* 00C4 */ UIBitmapButton* memoButtons[20]; /* 0114 */ int unknown_0114; /* 0118 */ unsigned char dragging; /* 0119 */ unsigned char unknown_0119[0x3]; /* 011C */ UICheckBox* unknown_011C; /* 0120 */ UICheckBox* unknown_0120; /* 0124 */ UICheckBox* unknown_0124; /* 0128 */ UIHeadsprButton* m_playerHead; /* 012C */ UIWindow* unknown_012C; /* 0130 */ std::map townButtons; /* 0138 */ std::map questButtons; /* 0140 */ std::map questMarks; /* 0148 */ std::vector partyMarks; /* 0154 */ std::vector guildMarks; /* 0160 */ std::vector warpMarks; protected: UIButtonContext* m_controls; }; #endif