diff options
| author | robojumper <robojumper@gmail.com> | 2025-08-03 22:08:11 +0200 |
|---|---|---|
| committer | robojumper <robojumper@gmail.com> | 2025-09-13 10:13:14 +0200 |
| commit | 66a653a2f64cb4e0bded89246fd5d384aeac226f (patch) | |
| tree | 9ff8e499797bb166a2583f3ae3fa8334fe832c57 /include | |
| parent | 90866457f1222fe62445b19cd75b96db5339d92b (diff) | |
d_lyt_pause_text OK
Diffstat (limited to 'include')
| -rw-r--r-- | include/d/a/d_a_item.h | 2 | ||||
| -rw-r--r-- | include/d/lyt/d_lyt_common_title.h | 5 | ||||
| -rw-r--r-- | include/d/lyt/d_lyt_pause.h | 33 | ||||
| -rw-r--r-- | include/d/lyt/d_lyt_pause_back.h | 1 | ||||
| -rw-r--r-- | include/d/lyt/d_lyt_pause_info.h | 1 | ||||
| -rw-r--r-- | include/d/lyt/d_lyt_pause_text.h | 44 | ||||
| -rw-r--r-- | include/d/lyt/d_lyt_util_items.h | 8 |
7 files changed, 93 insertions, 1 deletions
diff --git a/include/d/a/d_a_item.h b/include/d/a/d_a_item.h index 25bdf8f5..3341db31 100644 --- a/include/d/a/d_a_item.h +++ b/include/d/a/d_a_item.h @@ -69,6 +69,8 @@ public: static s32 getRupeeCounter(); static u32 getCurrentWalletCapacity(); + static u32 getHeartContainerHealthCount(); + static u32 getKeyPieceCount(); static u32 getSmallKeyCount(); diff --git a/include/d/lyt/d_lyt_common_title.h b/include/d/lyt/d_lyt_common_title.h index 3e7c5105..9d74f6bf 100644 --- a/include/d/lyt/d_lyt_common_title.h +++ b/include/d/lyt/d_lyt_common_title.h @@ -6,6 +6,11 @@ #include "s/s_State.hpp" #include "sized_string.h" +/** + * 2D UI - Common - Title + * + * Used on title screen and pause menu. + */ class dLytCommonTitle_c { public: dLytCommonTitle_c(); diff --git a/include/d/lyt/d_lyt_pause.h b/include/d/lyt/d_lyt_pause.h index 7e248b41..5aeda5ab 100644 --- a/include/d/lyt/d_lyt_pause.h +++ b/include/d/lyt/d_lyt_pause.h @@ -22,18 +22,49 @@ public: return field_0x083B; } + bool getField_0x0841() const { + return field_0x0841; + } + + enum SelectionType_e { + SELECT_DOWSING = 2, + SELECT_ITEM = 6, + SELECT_CATEGORY = 7, + SELECT_FIRE = 8, + SELECT_RING = 9, + }; + + SelectionType_e getCurrentSelectionType() const { + return mCurrentSelectionType; + } + + s32 getCurrentSelectionId() const { + return mCurrentSelectionId; + } + private: static dLytPauseMgr_c *sInstance; /* 0x0000 */ u8 _0x0000[0x00C8 - 0x0000]; + /* 0x00C8 */ d2d::ResAccIf_c mResAcc1; + /* 0x0438 */ u8 _0x0438[0x0814 - 0x0438]; /* 0x0814 */ EGG::CpuTexture *mpBgTexture; + /* 0x0818 */ SelectionType_e mCurrentSelectionType; - /* 0x0818 */ u8 _0x0818[0x083B - 0x0818]; + /* 0x081C */ u8 _0x081C[0x082C - 0x081C]; + + /* 0x082C */ u16 mCurrentSelectionId; + + /* 0x0830 */ u8 _0x0830[0x083B - 0x082E]; /* 0x083B */ bool field_0x083B; + + /* 0x083D */ u8 _0x083D[0x0841 - 0x083C]; + + /* 0x0841 */ bool field_0x0841; }; #endif diff --git a/include/d/lyt/d_lyt_pause_back.h b/include/d/lyt/d_lyt_pause_back.h index 9085f6f0..641c7dcb 100644 --- a/include/d/lyt/d_lyt_pause_back.h +++ b/include/d/lyt/d_lyt_pause_back.h @@ -4,6 +4,7 @@ #include "d/lyt/d2d.h" #include "s/s_State.hpp" +/** 2D UI - Pause menu - Background */ class dLytPauseBack_c { public: dLytPauseBack_c(); diff --git a/include/d/lyt/d_lyt_pause_info.h b/include/d/lyt/d_lyt_pause_info.h index a07f11a8..5212768a 100644 --- a/include/d/lyt/d_lyt_pause_info.h +++ b/include/d/lyt/d_lyt_pause_info.h @@ -6,6 +6,7 @@ class dLytCommonTitle_c; +/** 2D UI - Pause menu - title and button help */ class dLytPauseInfo_c { public: dLytPauseInfo_c(); diff --git a/include/d/lyt/d_lyt_pause_text.h b/include/d/lyt/d_lyt_pause_text.h index 296f6932..a7f96bf2 100644 --- a/include/d/lyt/d_lyt_pause_text.h +++ b/include/d/lyt/d_lyt_pause_text.h @@ -1,13 +1,57 @@ #ifndef D_LYT_PAUSE_TEXT_H #define D_LYT_PAUSE_TEXT_H +#include "common.h" +#include "d/lyt/d2d.h" +#include "d/lyt/d_lyt_common_a_btn.h" +#include "s/s_State.hpp" #include "sized_string.h" +/** 2D UI - Pause menu - item info popup */ class dLytPauseText_c { public: static const char *getCurrentPauseLabel(SizedString<32> &buf); + static const wchar_t *getCurrentPausePopupName(); + static const wchar_t *getCurrentPausePopupCaption(); + + dLytPauseText_c(); + virtual ~dLytPauseText_c() {} + + bool build(); + bool remove(); + bool execute(); + bool draw(); + + void requestIn(); + void requestOut(); private: + void startAnim(int idx); + void stopAnim(int idx); + void updateText(); + + bool isCurrentItemWallet() const; + void calcTextLines(dTextBox_c *textBox, const wchar_t *text); + + STATE_FUNC_DECLARE(dLytPauseText_c, None); + STATE_FUNC_DECLARE(dLytPauseText_c, In); + STATE_FUNC_DECLARE(dLytPauseText_c, Wait); + STATE_FUNC_DECLARE(dLytPauseText_c, Out); + + /* 0x004 */ UI_STATE_MGR_DECLARE(dLytPauseText_c); + /* 0x040 */ d2d::LytBase_c mLyt; + /* 0x0D0 */ d2d::AnmGroup_c mAnm[3]; + /* 0x190 */ d2d::ResAccIf_c mResAcc; + /* 0x500 */ dLytCommonABtn_c mABtn; + /* 0x6B0 */ d2d::SubPaneList mSubpaneList; + /* 0x6BC */ d2d::SubPaneListNode mSubpanes[1]; + /* 0x6CC */ UNKWORD mStep; + /* 0x6D0 */ f32 mLineSpace; + /* 0x6D4 */ u8 mNumTextLines; + /* 0x6D5 */ bool mInRequest; + /* 0x6D6 */ bool mOutRequest; + /* 0x6D7 */ bool field_0x6D7; + /* 0x6D8 */ bool field_0x6D8; }; #endif diff --git a/include/d/lyt/d_lyt_util_items.h b/include/d/lyt/d_lyt_util_items.h index 2a2c048b..657ff83d 100644 --- a/include/d/lyt/d_lyt_util_items.h +++ b/include/d/lyt/d_lyt_util_items.h @@ -6,6 +6,14 @@ #include "toBeSorted/dowsing_target.h" void getItemLabel(s32 itemId, SizedString<32> &buf); +void getCaptionItemLabel(s32 itemId, SizedString<32> &buf); +void getDowsingLabel(s32 itemId, SizedString<32> &buf); +void getPauseCategoryLabel(s32 itemId, SizedString<32> &buf); + +const wchar_t *getItemText(s32 itemId); +const wchar_t *getCaptionItemText(s32 itemId); +const wchar_t *getDowsingText(s32 itemId); +const wchar_t *getPauseCategoryText(s32 itemId); bool isPouchBocoburinLocked(); |
