rodecomp/Source/UI/AdventureGuide/UIAdventureGuide.h
ragnarok-clanker 70f3e36c88 Maintenance: [forced, user-approved] Family G19: remove WindowOrdering, WindowDropDown, WindowMouseHit and the dead WindowMouseCaptur
Batch #10231 by ragnarok-clanker: forced by an admin (5 lower score(s), 39 changed function(s)); checked with 495 compiled unit(s), including every includer of Source/Client/Mode/ModeTooltip.h, Source/UI/AdventureGuide/UIAdventureGuide.h, Source/UI/Lists/UIDropDownBox.h, Source/UI/Window/UIWindowMgr.h, Source/UI/Window/UIWindowMgr.inl, Source/UI/Window/WindowMouseHit.h, Source/UI/Window/WindowOrdering.h.
Deletes: Source/UI/Window/WindowOrdering.h
2026-11-03 10:07:55 +00:00

164 lines
4.7 KiB
C++

#ifndef RAGNAROK_SOURCE_UI_ADVENTUREGUIDE_UIADVENTUREGUIDE_H
#define RAGNAROK_SOURCE_UI_ADVENTUREGUIDE_UIADVENTUREGUIDE_H
#include "UI/FrameSkin.h"
#include "UI/Lists/UIListBoxTemplate.h"
#include "UI/Navigation/UINavigationV4Wnd.h"
#include "UI/Window/UIControl.h"
#include "UI/Window/UINavigationWnd.h"
#include <string>
namespace AdventureGuide {
class CUICharacterInfo;
class CUIIntro;
class CUIItem;
class CUIMonster;
class CUIQuest;
}
class CUIAdventureGuide : public CUIFrameWnd {
public:
__declspec(noinline) CUIAdventureGuide();
void Slot15(int width, int height) override;
void Slot16() override;
virtual void Slot53();
void OnButtonClick();
void OnClose();
void OnSelectTab(AdventureGuide::CUITab* tab);
void MarkQuest(int questId);
/* 00D8 */ CUIStaticImage* background;
/* 00DC */ CUITitleBar* titleBar;
/* 00E0 */ AdventureGuide::CUICharacterInfo* characterInfo;
/* 00E4 */ CUIStaticText* titleText;
/* 00E8 */ AdventureGuide::CUIIntro* intro;
/* 00EC */ AdventureGuide::CUIQuest* quest;
/* 00F0 */ AdventureGuide::CUIMonster* monster;
/* 00F4 */ AdventureGuide::CUIItem* item;
/* 00F8 */ CUIListBox<AdventureGuide::CUITab>* tabs;
};
namespace AdventureGuide {
class CUIPage : public CUIControl {
public:
explicit CUIPage() : CUIControl() {
}
virtual void Slot54(int first, int second) = 0;
};
class CUICharacterInfo : public CUIControl {
public:
// OFFSET: 0x009D8F50
// FUNCTION: fn_14273
explicit CUICharacterInfo() : CUIControl(), level(nullptr), jobLevel(nullptr), name(nullptr), jobIcon(nullptr) {
}
void Slot15(int width, int height) override;
void Slot16() override;
/* 0084 */ CUIStaticText* level;
/* 0088 */ CUIStaticText* jobLevel;
/* 008C */ CUIStaticText* name;
/* 0080 */ CUIStaticImage* jobIcon;
};
class CUIIntro : public CUIPage {
public:
// OFFSET: 0x009D8FE0
// FUNCTION: fn_14274
explicit CUIIntro() : CUIPage(), image(nullptr), contents(nullptr), banner(nullptr) {
}
void Slot15(int width, int height) override;
void Slot16() override;
void Paint() override;
void Slot54(int first, int second) override;
void OnSelectContents(CUITabInfo* item, const Guide_Intro::Contents& contents);
void BindContents(CUITabInfo* item, const Guide_Intro::Contents& contents);
/* 0084 */ CUIStaticImage* image;
/* 0088 */ CUIListBoxEx<CUITabInfo, Guide_Intro::Contents>* contents;
/* 0080 */ CUIStaticImage* banner;
};
class CUIItem : public CUIPage {
public:
// OFFSET: 0x009D9080
// FUNCTION: fn_14275
explicit CUIItem()
: CUIPage(), unknown_0084(nullptr), unknown_0088(nullptr), unknown_008C(), location(-1), itemList(nullptr) {
}
void Slot15(int width, int height) override;
void Slot16() override;
void Paint() override;
void Slot54(int type, int id) override;
void BindItem(CUIItemInfo* item, const CItemData& data);
void OnSelectItem(CUIItemInfo* item, const CItemData& data);
void RequestNavigation();
void SearchNavigation();
/* 0084 */ CUIImageButton* unknown_0084;
/* 0088 */ CUIImageButton* unknown_0088;
/* 008C */ std::string unknown_008C;
/* 00A4 */ int location;
/* 0080 */ CUIListBoxEx<CUIItemInfo, CItemData>* itemList;
};
class CUIMonster : public CUIPage {
public:
// OFFSET: 0x009D9220
// FUNCTION: fn_14277
explicit CUIMonster() : CUIPage(), unknown_0084(nullptr), unknown_0088(), monsterList(nullptr) {
}
void Slot15(int width, int height) override;
void Slot16() override;
void Paint() override;
void Slot54(int first, int second) override;
void OnSelectMonster(CUIMonsterInfo* item, const CMonsterData& data);
void BindMonster(CUIMonsterInfo* item, const CMonsterData& data);
void SearchNavigation();
/* 0084 */ CUIImageButton* unknown_0084;
/* 0088 */ std::string unknown_0088;
/* 0080 */ CUIListBoxEx<CUIMonsterInfo, CMonsterData>* monsterList;
};
class CUIQuest : public CUIPage {
public:
// OFFSET: 0x009D9360
// FUNCTION: fn_14279
explicit CUIQuest() : CUIPage(), unknown_0084(nullptr), unknown_0088(nullptr), unknown_008C(), questList(nullptr) {
}
void Slot15(int width, int height) override;
void Slot16() override;
void Paint() override;
void Slot54(int type, int id) override;
void OnSelectQuest(CUIQuestInfo* item, const CQuestInfo& data);
void RequestNavigation();
void SearchNavigation();
/* 0084 */ CUIImageButton* unknown_0084;
/* 0088 */ CUIImageButton* unknown_0088;
/* 008C */ std::string unknown_008C;
/* 0080 */ CUIListBoxEx<CUIQuestInfo, CQuestInfo>* questList;
};
}
#if defined(_WIN32) && !defined(_WIN64)
static_assert(sizeof(AdventureGuide::CUIIntro) == 0x90);
static_assert(sizeof(AdventureGuide::CUIMonster) == 0xA4);
static_assert(sizeof(AdventureGuide::CUIQuest) == 0xA8);
#endif
#endif