summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorrobojumper <robojumper@gmail.com>2025-04-19 12:38:35 +0200
committerrobojumper <robojumper@gmail.com>2025-04-21 21:51:05 +0200
commit8e5c06ea13140ddaeac8fa528b09f6a2765ec9dd (patch)
tree6636222d54a2c5cbbe0ac9a54c61e26ca5c8c292 /include
parent4874cda264bda7a6c399e8c71faf1afe545092f6 (diff)
dLytMeter_c::execute OK
Diffstat (limited to 'include')
-rw-r--r--include/d/lyt/d_lyt_boss_gauge.h1
-rw-r--r--include/d/lyt/d_lyt_unknowns.h8
-rw-r--r--include/d/lyt/meter/d_lyt_meter.h18
-rw-r--r--include/d/lyt/meter/d_lyt_meter_heart.h3
-rw-r--r--include/d/lyt/meter/d_lyt_meter_parts.h6
-rw-r--r--include/d/lyt/meter/d_lyt_meter_rupy.h4
-rw-r--r--include/d/lyt/meter/d_lyt_meter_shield_gauge.h8
-rw-r--r--include/d/lyt/msg_window/d_lyt_msg_window.h8
8 files changed, 48 insertions, 8 deletions
diff --git a/include/d/lyt/d_lyt_boss_gauge.h b/include/d/lyt/d_lyt_boss_gauge.h
index b1dd6cde..ab959bf7 100644
--- a/include/d/lyt/d_lyt_boss_gauge.h
+++ b/include/d/lyt/d_lyt_boss_gauge.h
@@ -12,6 +12,7 @@ public:
bool build();
bool remove();
+ bool execute();
bool draw();
private:
diff --git a/include/d/lyt/d_lyt_unknowns.h b/include/d/lyt/d_lyt_unknowns.h
index 806c4b9f..a6f22db2 100644
--- a/include/d/lyt/d_lyt_unknowns.h
+++ b/include/d/lyt/d_lyt_unknowns.h
@@ -54,6 +54,14 @@ public:
}
}
+ static void reset(DoButton_e button, Action_e value) {
+ LytDoButtonRelated *b = sInstance;
+ if (b != nullptr) {
+ b->field_0x04[button] = value;
+ b->field_0x34[button] = false;
+ }
+ }
+
static Action_e get(DoButton_e button) {
if (sInstance != nullptr) {
return sInstance->field_0x04[button];
diff --git a/include/d/lyt/meter/d_lyt_meter.h b/include/d/lyt/meter/d_lyt_meter.h
index 62252b84..4c2e158e 100644
--- a/include/d/lyt/meter/d_lyt_meter.h
+++ b/include/d/lyt/meter/d_lyt_meter.h
@@ -71,9 +71,11 @@ public:
bool fn_800CA040();
bool fn_800D5380(u8);
+ bool fn_800D5290();
bool fn_800D5650();
bool fn_800D5680();
bool fn_800D56B0();
+ bool fn_800D57B0();
bool execute();
bool isSilentRealm();
@@ -145,12 +147,12 @@ public:
/* 0x1374C */ s32 field_0x1374C;
/* 0x13750 */ s32 field_0x13750;
/* 0x13754 */ s32 field_0x13754;
- /* 0x13758 */ s32 field_0x13758;
- /* 0x1375C */ s32 field_0x1375C;
- /* 0x13760 */ s32 field_0x13760;
- /* 0x13764 */ s32 field_0x13764;
- /* 0x13768 */ s32 field_0x13768;
- /* 0x1376C */ s32 field_0x1376C;
+ /* 0x13758 */ s32 mShieldPosIndex;
+ /* 0x1375C */ s32 mRupyPosIndex;
+ /* 0x13760 */ s32 mRupyPosInterpFrame;
+ /* 0x13764 */ s32 mShieldPosInterpFrame;
+ /* 0x13768 */ s32 mOldShieldPosIndex;
+ /* 0x1376C */ s32 mOldRupyPosIndex;
/* 0x13770 */ u8 field_0x13770;
/* 0x13771 */ u8 field_0x13771;
/* 0x13772 */ u8 field_0x13772;
@@ -252,6 +254,10 @@ public:
mFlags = mFlags & ~mask;
}
+ void resetFlags() {
+ mFlags = 0xFFFFFFFF;
+ }
+
static s32 getCrossBtn0x7BF8() {
if (sInstance != nullptr) {
return sInstance->mMeter.mCrossBtn.getField_0x620();
diff --git a/include/d/lyt/meter/d_lyt_meter_heart.h b/include/d/lyt/meter/d_lyt_meter_heart.h
index c89fe181..bd16388b 100644
--- a/include/d/lyt/meter/d_lyt_meter_heart.h
+++ b/include/d/lyt/meter/d_lyt_meter_heart.h
@@ -26,9 +26,10 @@ public:
return field_0x78C;
}
+ u8 getCurrentHealthCapacity() const;
+
private:
u8 getCurrentHealth() const;
- u8 getCurrentHealthCapacity() const;
void realizeHeartsState();
void executeInternal();
s32 getNumDisplayedHearts() const;
diff --git a/include/d/lyt/meter/d_lyt_meter_parts.h b/include/d/lyt/meter/d_lyt_meter_parts.h
index 871d2b94..459ab21b 100644
--- a/include/d/lyt/meter/d_lyt_meter_parts.h
+++ b/include/d/lyt/meter/d_lyt_meter_parts.h
@@ -99,6 +99,10 @@ public:
mpAnm2 = outAnm;
}
+ void setShouldBeVisible(bool val) {
+ mShouldBeVisible = val;
+ }
+
private:
STATE_FUNC_DECLARE(dLytMeterParts_c, Invisible);
STATE_FUNC_DECLARE(dLytMeterParts_c, In);
@@ -109,7 +113,7 @@ private:
/* 0x3C */ d2d::AnmGroup_c *mpAnm1;
/* 0x40 */ d2d::AnmGroup_c *mpAnm2;
/* 0x44 */ s32 mIndex;
- /* 0x48 */ u8 mShouldBeVisible;
+ /* 0x48 */ bool mShouldBeVisible;
};
#endif
diff --git a/include/d/lyt/meter/d_lyt_meter_rupy.h b/include/d/lyt/meter/d_lyt_meter_rupy.h
index fc33335d..f2d3c06c 100644
--- a/include/d/lyt/meter/d_lyt_meter_rupy.h
+++ b/include/d/lyt/meter/d_lyt_meter_rupy.h
@@ -93,6 +93,10 @@ public:
field_0x8A9 = val;
}
+ u8 getField_0x8A9() const {
+ return field_0x8A9;
+ }
+
void setField_0x8AA(u8 val) {
field_0x8AA = val;
}
diff --git a/include/d/lyt/meter/d_lyt_meter_shield_gauge.h b/include/d/lyt/meter/d_lyt_meter_shield_gauge.h
index 13568143..12a4d730 100644
--- a/include/d/lyt/meter/d_lyt_meter_shield_gauge.h
+++ b/include/d/lyt/meter/d_lyt_meter_shield_gauge.h
@@ -31,6 +31,14 @@ public:
mpOwnerPane = pane;
}
+ f32 getGaugePercentMaybe() const {
+ return field_0x2E0;
+ }
+
+ void setfield_0x318(s32 v) {
+ field_0x318 = v;
+ }
+
private:
s32 getLytFrameForShield(s32) const;
void setLevel(f32 level);
diff --git a/include/d/lyt/msg_window/d_lyt_msg_window.h b/include/d/lyt/msg_window/d_lyt_msg_window.h
index ad6be3c2..7c8ad633 100644
--- a/include/d/lyt/msg_window/d_lyt_msg_window.h
+++ b/include/d/lyt/msg_window/d_lyt_msg_window.h
@@ -50,6 +50,14 @@ public:
const char *fn_80117390(bool) const;
+ // This function appears to be related to a compiler quirk.
+ // 0x800D7B40 is in d_lyt_meter, but calling a static method
+ // on an instance via dLytMsgWindow_c::getInstance()->fn_800D7B40()
+ // causes the method to be emitted there.
+ static u16 fn_800D7B40() {
+ return sInstance->mEntryPointToTrigger;
+ }
+
private:
bool setTextToDisplay(const wchar_t *text);
void createSubMsgManager(u8 type);