diff options
| author | robojumper <robojumper@gmail.com> | 2025-05-16 11:18:43 +0200 |
|---|---|---|
| committer | robojumper <robojumper@gmail.com> | 2025-05-16 11:18:43 +0200 |
| commit | 96264ddedc8c7a2b8dce966a1e9ddd7a4251ee8d (patch) | |
| tree | 36778463ed38415ebf5b2475dcbaa5f3bd836dc2 /include/d/lyt/meter | |
| parent | df17fa201a9ff8fcc46c3de9fc5fccfef3975f97 (diff) | |
d_lyt_do_button_related OK
Diffstat (limited to 'include/d/lyt/meter')
| -rw-r--r-- | include/d/lyt/meter/d_lyt_meter.h | 21 | ||||
| -rw-r--r-- | include/d/lyt/meter/d_lyt_meter_cross_btn.h | 36 |
2 files changed, 45 insertions, 12 deletions
diff --git a/include/d/lyt/meter/d_lyt_meter.h b/include/d/lyt/meter/d_lyt_meter.h index 5f71f75e..6fa03ddd 100644 --- a/include/d/lyt/meter/d_lyt_meter.h +++ b/include/d/lyt/meter/d_lyt_meter.h @@ -25,6 +25,7 @@ #include "d/lyt/meter/d_lyt_meter_item_select.h" #include "d/lyt/meter/d_lyt_meter_parts.h" #include "d/lyt/d_lyt_unknowns.h" +#include "d/lyt/d_lyt_target_bird.h" #include "m/m_vec.h" // clang-format on @@ -291,11 +292,23 @@ public: mFlags = 0xFFFFFFFF; } - static s32 getCrossBtn0x7BF8() { + static dLytMeterCrossBtn_c::CrossIcon_e getCrossIconDown() { if (sInstance != nullptr) { - return sInstance->mMain.mCrossBtn.getField_0x620(); + return sInstance->mMain.mCrossBtn.getIconDown(); } else { - return 6; + return dLytMeterCrossBtn_c::CROSS_ICON_NONE; + } + } + + static void setCrossIconDown(dLytMeterCrossBtn_c::CrossIcon_e icon) { + if (sInstance != nullptr) { + sInstance->mMain.mCrossBtn.setIconDown(icon); + } + } + + static void setCrossIconTop(dLytMeterCrossBtn_c::CrossIcon_e icon) { + if (sInstance != nullptr) { + sInstance->mMain.mCrossBtn.setIconTop(icon); } } @@ -443,7 +456,7 @@ private: /* 0x00378 */ dLytMeterMain_c mMain; /* 0x13B3C */ dLytDobutton_c *mpDoButton; /* 0x13B40 */ LytDoButtonRelated *mpDoButtonRelated; - /* 0x13B44 */ LytBirdButtonRelated *mpBirdRelated; + /* 0x13B44 */ dLytTargetBird_c *mpTargetBird; /* 0x13B48 */ bool mVisible; /* 0x13B49 */ u8 _0x13B49[0x13B50 - 0x13B49]; /* 0x13B50 */ s32 mFlags; diff --git a/include/d/lyt/meter/d_lyt_meter_cross_btn.h b/include/d/lyt/meter/d_lyt_meter_cross_btn.h index a9c48dde..56f91edd 100644 --- a/include/d/lyt/meter/d_lyt_meter_cross_btn.h +++ b/include/d/lyt/meter/d_lyt_meter_cross_btn.h @@ -41,18 +41,30 @@ private: /* 0x54 */ dTextBox_c *mpSizeBox; /* 0x58 */ nw4r::lyt::Pane *mpOwnerPane; /* 0x5C */ s32 mIndex; - /* 0x60 */ s32 field_0x60; - /* 0x64 */ s32 field_0x64; + /* 0x60 */ s32 mSavedMessage; + /* 0x64 */ s32 mMessage; /* 0x68 */ s32 field_0x68; /* 0x6C */ s32 field_0x6C; - /* 0x70 */ s32 field_0x70; - /* 0x74 */ s32 field_0x74; + /* 0x70 */ s32 mSavedIcon; + /* 0x74 */ s32 mCurrentIcon; /* 0x78 */ s32 mOnDelay; /* 0x7C */ u8 field_0x7C; }; class dLytMeterCrossBtn_c : public d2d::dSubPane { public: + enum CrossIcon_e { + CROSS_ICON_TOP_1 = 1, + CROSS_ICON_TOP_3 = 3, + CROSS_ICON_TOP_4 = 4, + + CROSS_ICON_DOWN_0 = 0, + CROSS_ICON_DOWN_2 = 2, + CROSS_ICON_DOWN_5 = 5, + + CROSS_ICON_NONE = 6, + }; + dLytMeterCrossBtn_c() : mStateMgr(*this, sStateID::null) {} virtual bool build(d2d::ResAccIf_c *resAcc) override; virtual bool remove() override; @@ -69,8 +81,16 @@ public: virtual ~dLytMeterCrossBtn_c() {} - s32 getField_0x620() const { - return field_0x620; + CrossIcon_e getIconDown() const { + return mIconDown; + } + + void setIconDown(CrossIcon_e icon) { + mIconDown = icon; + } + + void setIconTop(CrossIcon_e icon) { + mIconTop = icon; } void setOwnerPane(nw4r::lyt::Pane *pane); @@ -93,8 +113,8 @@ private: /* 0x400 */ dWindow_c *mpWindows[4]; /* 0x410 */ dTextBox_c *mpSizeBoxes[4]; /* 0x420 */ dLytMeterCrossBtnParts_c mParts[4]; - /* 0x620 */ s32 field_0x620; - /* 0x624 */ s32 field_0x624; + /* 0x620 */ CrossIcon_e mIconDown; + /* 0x624 */ CrossIcon_e mIconTop; /* 0x628 */ u16 mSavedFiFlow; /* 0x62C */ s32 mCallCount0; /* 0x630 */ s32 mCallCount1; |
