#ifndef RAGNAROK_SOURCE_UI_WINDOW_UINAVIGATIONWND_H #define RAGNAROK_SOURCE_UI_WINDOW_UINAVIGATIONWND_H #include "UI/Window/UIFrameWnd.h" #include #include class UIWindowMgr; class CActRes; class CSprRes; struct NaviCell; struct NaviRouteLine; class UIBitmapButton; class UIButton; class UICheckBox; class UIComboBoxDefWnd; class UIEditCtrl; class UIListBoxNavi; class UIResizer; struct NavigationWndInfo { /* 0000 */ int x; /* 0004 */ int y; /* 0008 */ int width; /* 000C */ int height; /* 0010 */ bool minimized; }; extern bool g_navigationMinimized; extern int g_navigationMode; extern bool g_navigationHidden; extern CActRes* g_navigationActions; extern CSprRes* g_navigationSprites; extern bool g_unknown16FC585; extern bool g_unknown16FC586; extern std::string g_navigationSearchText; extern int g_navigationActiveLabel; extern std::vector g_navigationPoints; extern std::vector g_navigationLabels; extern bool g_navigationFilter; extern int g_navigationSearchType; class UINavigationWnd : public UIFrameWnd { public: void Slot11() override; void Slot15(int width, int height) override; void Paint() override; void Slot31(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 LayoutTabs(); void ApplyMinimized(); __declspec(noinline) void RefreshHeaderTexts(int mode); void RefreshWorldMapMarks(); void RefreshWorldMapSelection(); void RefreshWorldMapLevels(); void RefreshRouteList(); void FillRouteList(); bool LoadRoute(int index); bool ClearHistory(); protected: /* 00B4 */ UIWindow* m_closeButton; /* 00B8 */ UIButton* m_minimizeButton; /* 00BC */ std::string m_title; /* 00D4 */ std::string m_subtitle; /* 00EC */ UIComboBoxDefWnd* unknown_00EC; /* 00F0 */ UIEditCtrl* m_titleBar; /* 00F4 */ UIListBoxNavi* m_routePanel; /* 00F8 */ UIListBoxNavi* m_searchPanel; union { /* 00FC */ UIBitmapButton* m_buttons[6]; struct { /* 00FC */ UIWindow* unknown_00FC; /* 0100 */ UIWindow* unknown_0100; /* 0104 */ UIWindow* m_routeFooter; /* 0108 */ UIWindow* m_searchFooter; /* 010C */ UIWindow* unknown_010C; /* 0110 */ UIWindow* unknown_0110; }; }; /* 0114 */ UICheckBox* unknown_0114; /* 0118 */ UICheckBox* unknown_0118; /* 011C */ UICheckBox* unknown_011C; /* 0120 */ UIBitmapButton* unknown_0120; /* 0124 */ NavigationWndInfo* m_saved; /* 0128 */ UIResizer* unknown_0128; /* 012C */ std::vector m_history; }; #endif