rodecomp/Source/UI/Navigation/UINavigationV4Wnd.h
ragnarok-clanker 94f06beb57 Decompile 3 functions in Source/UI/Navigation/UINavigationV4Wnd.cpp, Source/UI/Navigation/UINavigationV4Wnd.h
Batch #8533 by youko: 0 byte-identical, 3 confirmed by peer review.

- fn_03536 UINavigationRuideWnd::UINavigationRuideWnd: logic confirmed by peer review
- fn_03537 UINavigationV4Wnd::UINavigationV4Wnd: logic confirmed by peer review
- fn_03538 UINavigationroadiconWnd::UINavigationroadiconWnd: logic confirmed by peer review

Peer-reviewed-by: eAthena, Yommy
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
Adds to the build: Source/UI/Navigation/UINavigationV4Wnd.cpp
2026-10-31 18:44:09 +00:00

113 lines
3.3 KiB
C++

#ifndef RAGNAROK_SOURCE_UI_NAVIGATION_UINAVIGATIONV4WND_H
#define RAGNAROK_SOURCE_UI_NAVIGATION_UINAVIGATIONV4WND_H
#include "UI/Window/UIFrameWnd.h"
#include <string>
#include <vector>
class CNavi_Object;
class CTexture;
class UIListBox_NaviSearch;
struct UIListBoxContext;
class UIStaticText;
struct UIButtonContext;
struct NavigationWindowInfo {
/* 0000 */ int x;
/* 0004 */ int y;
/* 0008 */ int width;
/* 000C */ int height;
/* 0010 */ unsigned char expanded;
void Clamp();
};
class UINavigationV4Wnd : public UIFrameWnd {
public:
UINavigationV4Wnd(UIWindowContext& windows, UIFrameContext& frames);
void Slot11() override;
void Slot15(int width, int height) override;
void Slot19() override;
void Slot31(int x, int y) override;
bool ClearRouteTexts();
void LayoutWithoutDetails();
void LayoutWithDetails();
void RefreshLayout();
void SelectRouteNode(int node);
bool IsListShown() const;
void DrawMapTexture(int x, int y, int size);
std::string ObjectName(int type, void* object);
std::string ObjectLabel(int type, void* object);
std::string MobName(CNavi_Object* mob);
void SelectRoute(int route);
void FillRouteGroups();
void SetRoadIcon(int slot);
void InsertNavigationLink(std::string name, int x, int y);
/* 00B4 */ UIWindow* unknown_00B4;
/* 00B8 */ UIWindow* unknown_00B8;
/* 00BC */ UIWindow* unknown_00BC;
/* 00C0 */ UIWindow* unknown_00C0;
/* 00C4 */ UIWindow* unknown_00C4;
/* 00C8 */ UIWindow* unknown_00C8;
/* 00CC */ UIWindow* unknown_00CC;
/* 00D0 */ UIWindow* unknown_00D0;
/* 00D4 */ UIWindow* unknown_00D4;
/* 00D8 */ UIWindow* unknown_00D8;
/* 00DC */ UIWindow* unknown_00DC;
/* 00E0 */ UIWindow* unknown_00E0;
/* 00E4 */ UIWindow* unknown_00E4;
/* 00E8 */ UIStaticText* unknown_00E8;
/* 00EC */ UIListBox_NaviSearch* unknown_00EC;
/* 00F0 */ UIListBox_NaviSearch* unknown_00F0;
/* 00F4 */ UIWindow* unknown_00F4;
/* 00F8 */ UIWindow* unknown_00F8;
/* 00FC */ UIWindow* unknown_00FC;
/* 0100 */ UIWindow* unknown_0100;
/* 0104 */ std::vector<std::string> unknown_0104;
/* 0110 */ NavigationWindowInfo* info;
/* 0114 */ int unknown_0114;
/* 0118 */ int unknown_0118;
/* 011C */ int unknown_011C;
};
class UIStaticBitmap;
class UINavigationroadiconWnd : public UIFrameWnd {
public:
UINavigationroadiconWnd(UIWindowContext& windows, UIFrameContext& frames, UIButtonContext& controls);
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 a, std::intptr_t b, std::intptr_t c, std::intptr_t d) override;
/* 00B4 */ UIStaticBitmap* icon;
protected:
UIButtonContext* m_controls;
};
class UINavigationRuideWnd : public UIFrameWnd {
public:
UINavigationRuideWnd(UIWindowContext& windows, UIFrameContext& frames, UIButtonContext& controls, UIListBoxContext& lists);
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;
void RefreshRoute();
protected:
UIButtonContext* m_controls;
public:
/* 00B4 */ UIListBox_NaviSearch* routeList;
protected:
UIListBoxContext* m_listContext;
};
extern int g_navigationTab;
extern int g_navigationRoadIcon;
extern CTexture* g_navigationMapTexture;
#endif