diff --git a/Source/UI/AdventureGuide/UIAdventureGuide.cpp b/Source/UI/AdventureGuide/UIAdventureGuide.cpp new file mode 100644 index 00000000..e23eb56e --- /dev/null +++ b/Source/UI/AdventureGuide/UIAdventureGuide.cpp @@ -0,0 +1,50 @@ +#include "UI/AdventureGuide/UIAdventureGuide.h" + +namespace AdventureGuide { + +// OFFSET: 0x009DC8E0 +// FUNCTION: fn_14324 +void CUIIntro::Paint() { + this->ClearSurface(0xFFFF00FF); +} + +// OFFSET: 0x009DC8F0 +// FUNCTION: fn_14325 +void CUIItem::Paint() { + this->ClearSurface(0xFFFF00FF); +} + +// OFFSET: 0x009DC900 +// FUNCTION: fn_14326 +void CUIMonster::Paint() { + this->ClearSurface(0xFFFF00FF); +} + +// OFFSET: 0x009DC940 +// FUNCTION: fn_14328 +void CUIQuest::Paint() { + this->ClearSurface(0xFFFF00FF); +} + +// OFFSET: 0x009DD1C0 +// FUNCTION: fn_14333 +void CUIItem::Slot16() { +} + +// OFFSET: 0x009DD6B0 +// FUNCTION: fn_14338 +void CUIQuest::Slot16() { +} + +// OFFSET: 0x009DDA40 +// FUNCTION: fn_14347 +void CUIIntro::Slot54(int, int) { +} + +// OFFSET: 0x009DDE50 +// FUNCTION: fn_14350 +void CUIMonster::Slot54(int, int) { + this->unknown_0084->Show(0); +} + +} diff --git a/Source/UI/AdventureGuide/UIAdventureGuide.h b/Source/UI/AdventureGuide/UIAdventureGuide.h new file mode 100644 index 00000000..1c74f41d --- /dev/null +++ b/Source/UI/AdventureGuide/UIAdventureGuide.h @@ -0,0 +1,60 @@ +#ifndef RAGNAROK_SOURCE_UI_ADVENTUREGUIDE_UIADVENTUREGUIDE_H +#define RAGNAROK_SOURCE_UI_ADVENTUREGUIDE_UIADVENTUREGUIDE_H + +#include "UI/Window/UIControl.h" + +#include + +namespace AdventureGuide { + +class CUIPage : public CUIControl { +public: + virtual void Slot54(int first, int second) = 0; +}; + +class CUIIntro : public CUIPage { +public: + void Paint() override; + void Slot54(int first, int second) override; + + /* 0084 */ unsigned char unknown_0084[0x08]; +}; + +class CUIItem : public CUIPage { +public: + void Slot16() override; + void Paint() override; + + /* 0084 */ unsigned char unknown_0084[0x08]; + /* 008C */ std::string unknown_008C; + /* 00A4 */ unsigned char unknown_00A4[0x04]; +}; + +class CUIMonster : public CUIPage { +public: + void Paint() override; + void Slot54(int first, int second) override; + + /* 0084 */ UIWindow* unknown_0084; + /* 0088 */ std::string unknown_0088; +}; + +class CUIQuest : public CUIPage { +public: + void Slot16() override; + void Paint() override; + + /* 0084 */ unsigned char unknown_0084[0x08]; + /* 008C */ std::string unknown_008C; +}; + +} + +#if defined(_WIN32) && !defined(_WIN64) +static_assert(sizeof(AdventureGuide::CUIIntro) == 0x8C); +static_assert(sizeof(AdventureGuide::CUIItem) == 0xA8); +static_assert(sizeof(AdventureGuide::CUIMonster) == 0xA0); +static_assert(sizeof(AdventureGuide::CUIQuest) == 0xA4); +#endif + +#endif diff --git a/data/compile.json b/data/compile.json index f72a8cff..f696f2a3 100644 --- a/data/compile.json +++ b/data/compile.json @@ -656,6 +656,7 @@ "Source/UI/Acceptance/UIChooseSellBuyWnd.cpp": 2, "Source/UI/Acceptance/UIExchangeAcceptWnd.cpp": 2, "Source/UI/Acceptance/UIJoinPartyAcceptWnd.cpp": 2, + "Source/UI/AdventureGuide/UIAdventureGuide.cpp": 2, "Source/UI/Buttons/UIBasicButton.cpp": 2, "Source/UI/Buttons/UIBitmapButton.cpp": 2, "Source/UI/Buttons/UIBmpTextButton.cpp": 2,