diff options
| author | robojumper <robojumper@gmail.com> | 2025-04-19 12:38:35 +0200 |
|---|---|---|
| committer | robojumper <robojumper@gmail.com> | 2025-04-21 21:51:05 +0200 |
| commit | 8e5c06ea13140ddaeac8fa528b09f6a2765ec9dd (patch) | |
| tree | 6636222d54a2c5cbbe0ac9a54c61e26ca5c8c292 /include | |
| parent | 4874cda264bda7a6c399e8c71faf1afe545092f6 (diff) | |
dLytMeter_c::execute OK
Diffstat (limited to 'include')
| -rw-r--r-- | include/d/lyt/d_lyt_boss_gauge.h | 1 | ||||
| -rw-r--r-- | include/d/lyt/d_lyt_unknowns.h | 8 | ||||
| -rw-r--r-- | include/d/lyt/meter/d_lyt_meter.h | 18 | ||||
| -rw-r--r-- | include/d/lyt/meter/d_lyt_meter_heart.h | 3 | ||||
| -rw-r--r-- | include/d/lyt/meter/d_lyt_meter_parts.h | 6 | ||||
| -rw-r--r-- | include/d/lyt/meter/d_lyt_meter_rupy.h | 4 | ||||
| -rw-r--r-- | include/d/lyt/meter/d_lyt_meter_shield_gauge.h | 8 | ||||
| -rw-r--r-- | include/d/lyt/msg_window/d_lyt_msg_window.h | 8 |
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); |
