summaryrefslogtreecommitdiff
path: root/include/d/lyt/meter
diff options
context:
space:
mode:
authorrobojumper <robojumper@gmail.com>2025-05-16 11:18:43 +0200
committerrobojumper <robojumper@gmail.com>2025-05-16 11:18:43 +0200
commit96264ddedc8c7a2b8dce966a1e9ddd7a4251ee8d (patch)
tree36778463ed38415ebf5b2475dcbaa5f3bd836dc2 /include/d/lyt/meter
parentdf17fa201a9ff8fcc46c3de9fc5fccfef3975f97 (diff)
d_lyt_do_button_related OK
Diffstat (limited to 'include/d/lyt/meter')
-rw-r--r--include/d/lyt/meter/d_lyt_meter.h21
-rw-r--r--include/d/lyt/meter/d_lyt_meter_cross_btn.h36
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;