diff --git a/Source/UI/Buttons/UIDescriptRace.cpp b/Source/UI/Buttons/UIDescriptRace.cpp new file mode 100644 index 00000000..f5d90df2 --- /dev/null +++ b/Source/UI/Buttons/UIDescriptRace.cpp @@ -0,0 +1,11 @@ +#include "UI/Buttons/UIDescriptRace.h" + +#include +#include + +// OFFSET: 0x0086D060 +// FUNCTION: fn_11041 +UIDescriptRace::UIDescriptRace(int race) : m_race(race), unknown_0284(0) { + this->m_createTime = timeGetTime(); + this->m_noRace = race == 0; +} diff --git a/Source/UI/Buttons/UIDescriptRace.h b/Source/UI/Buttons/UIDescriptRace.h new file mode 100644 index 00000000..f9ec2f74 --- /dev/null +++ b/Source/UI/Buttons/UIDescriptRace.h @@ -0,0 +1,38 @@ +#ifndef RAGNAROK_SOURCE_UI_BUTTONS_UIDESCRIPTRACE_H +#define RAGNAROK_SOURCE_UI_BUTTONS_UIDESCRIPTRACE_H + +#include "UI/Buttons/UIBitmapButton.h" + +#include +#include + +struct UIDescriptRaceText { + /* 0000 */ int unknown_0000; + /* 0004 */ int unknown_0004; + /* 0008 */ std::string names[5]; + /* 0080 */ std::string descriptions[5]; + /* 00F8 */ std::string title; + /* 0110 */ int unknown_0110; + /* 0114 */ int unknown_0114; + /* 0118 */ std::string unknown_0118; + /* 0130 */ std::string unknown_0130; +}; + +// VTABLE: vt_00998 +class UIDescriptRace : public UIBitmapButton { +public: + explicit UIDescriptRace(int race); + + /* 0120 */ int m_race; + /* 0124 */ UIDescriptRaceText m_text; + /* 026C */ unsigned char unknown_026C[0x14]; + /* 0280 */ unsigned char m_noRace; + /* 0284 */ int unknown_0284; + /* 0288 */ std::uint32_t m_createTime; +}; + +#if defined(_WIN32) && !defined(_WIN64) +static_assert(sizeof(UIDescriptRaceText) == 0x148); +#endif + +#endif diff --git a/data/compile.json b/data/compile.json index 4cde6d18..b982dd3a 100644 --- a/data/compile.json +++ b/data/compile.json @@ -799,6 +799,7 @@ "Source/UI/Buttons/UIButton.cpp": 2, "Source/UI/Buttons/UICheckBox.cpp": 2, "Source/UI/Buttons/UIColorButton.cpp": 2, + "Source/UI/Buttons/UIDescriptRace.cpp": 2, "Source/UI/Buttons/UIJobSlotButton.cpp": 2, "Source/UI/Buttons/UINaviLinkButton.cpp": 2, "Source/UI/Buttons/UINoneVisibleButton.cpp": 2,