mirror of
https://github.com/zeldaret/ss
synced 2026-06-26 01:54:27 -04:00
d_lyt_meter_timer OK by shamefully avoiding an inline
This commit is contained in:
+77
-77
@@ -31740,87 +31740,87 @@ lbl_805195BC = .data:0x805195BC; // type:object size:0xF data:string
|
||||
lbl_805195CC = .data:0x805195CC; // type:object size:0xE data:string
|
||||
lbl_805195DC = .data:0x805195DC; // type:object size:0x9 data:string
|
||||
__vt__35sFStateID_c<20dLytMeterEventSkip_c> = .data:0x80519710; // type:object size:0x34
|
||||
lbl_80519748 = .data:0x80519748; // type:object size:0x14
|
||||
lbl_8051975C = .data:0x8051975C; // type:object size:0xC
|
||||
lbl_80519768 = .data:0x80519768; // type:object size:0x1C
|
||||
lbl_80519748 = .data:0x80519748; // type:object size:0x12 data:string
|
||||
lbl_8051975C = .data:0x8051975C; // type:object size:0xB data:string
|
||||
lbl_80519768 = .data:0x80519768; // type:object size:0x1B data:string
|
||||
lbl_80519784 = .data:0x80519784; // type:object size:0x14 data:string
|
||||
lbl_80519798 = .data:0x80519798; // type:object size:0x10
|
||||
lbl_805197A8 = .data:0x805197A8; // type:object size:0x18
|
||||
lbl_805197C0 = .data:0x805197C0; // type:object size:0x18
|
||||
lbl_805197D8 = .data:0x805197D8; // type:object size:0x18
|
||||
lbl_805197F0 = .data:0x805197F0; // type:object size:0x10
|
||||
lbl_80519800 = .data:0x80519800; // type:object size:0x18
|
||||
lbl_80519818 = .data:0x80519818; // type:object size:0xC
|
||||
lbl_80519824 = .data:0x80519824; // type:object size:0xC
|
||||
lbl_80519830 = .data:0x80519830; // type:object size:0xC
|
||||
lbl_8051983C = .data:0x8051983C; // type:object size:0xC
|
||||
lbl_80519848 = .data:0x80519848; // type:object size:0xC
|
||||
lbl_80519854 = .data:0x80519854; // type:object size:0xC
|
||||
lbl_80519860 = .data:0x80519860; // type:object size:0xC
|
||||
lbl_8051986C = .data:0x8051986C; // type:object size:0xC
|
||||
lbl_80519878 = .data:0x80519878; // type:object size:0xC
|
||||
lbl_80519884 = .data:0x80519884; // type:object size:0xC
|
||||
lbl_80519890 = .data:0x80519890; // type:object size:0xC
|
||||
lbl_8051989C = .data:0x8051989C; // type:object size:0xC
|
||||
lbl_805198A8 = .data:0x805198A8; // type:object size:0xC
|
||||
lbl_805198B4 = .data:0x805198B4; // type:object size:0xC
|
||||
lbl_805198C0 = .data:0x805198C0; // type:object size:0xC
|
||||
lbl_805198CC = .data:0x805198CC; // type:object size:0x14
|
||||
lbl_805198E0 = .data:0x805198E0; // type:object size:0x10
|
||||
lbl_805198F0 = .data:0x805198F0; // type:object size:0x10
|
||||
lbl_80519900 = .data:0x80519900; // type:object size:0x10
|
||||
lbl_80519910 = .data:0x80519910; // type:object size:0x10
|
||||
lbl_80519920 = .data:0x80519920; // type:object size:0x10
|
||||
lbl_80519930 = .data:0x80519930; // type:object size:0x10
|
||||
lbl_80519940 = .data:0x80519940; // type:object size:0x10
|
||||
lbl_80519950 = .data:0x80519950; // type:object size:0x10
|
||||
lbl_80519960 = .data:0x80519960; // type:object size:0x10
|
||||
lbl_80519970 = .data:0x80519970; // type:object size:0x10
|
||||
lbl_80519980 = .data:0x80519980; // type:object size:0x10
|
||||
lbl_80519990 = .data:0x80519990; // type:object size:0x10
|
||||
lbl_805199A0 = .data:0x805199A0; // type:object size:0x10
|
||||
lbl_805199B0 = .data:0x805199B0; // type:object size:0x10
|
||||
lbl_805199C0 = .data:0x805199C0; // type:object size:0x10
|
||||
lbl_80519798 = .data:0x80519798; // type:object size:0xD data:string
|
||||
lbl_805197A8 = .data:0x805197A8; // type:object size:0x15 data:string
|
||||
lbl_805197C0 = .data:0x805197C0; // type:object size:0x15 data:string
|
||||
lbl_805197D8 = .data:0x805197D8; // type:object size:0x15 data:string
|
||||
lbl_805197F0 = .data:0x805197F0; // type:object size:0xE data:string
|
||||
lbl_80519800 = .data:0x80519800; // type:object size:0x17 data:string
|
||||
lbl_80519818 = .data:0x80519818; // type:object size:0x9 data:string
|
||||
lbl_80519824 = .data:0x80519824; // type:object size:0x9 data:string
|
||||
lbl_80519830 = .data:0x80519830; // type:object size:0x9 data:string
|
||||
lbl_8051983C = .data:0x8051983C; // type:object size:0x9 data:string
|
||||
lbl_80519848 = .data:0x80519848; // type:object size:0x9 data:string
|
||||
lbl_80519854 = .data:0x80519854; // type:object size:0x9 data:string
|
||||
lbl_80519860 = .data:0x80519860; // type:object size:0x9 data:string
|
||||
lbl_8051986C = .data:0x8051986C; // type:object size:0x9 data:string
|
||||
lbl_80519878 = .data:0x80519878; // type:object size:0x9 data:string
|
||||
lbl_80519884 = .data:0x80519884; // type:object size:0x9 data:string
|
||||
lbl_80519890 = .data:0x80519890; // type:object size:0x9 data:string
|
||||
lbl_8051989C = .data:0x8051989C; // type:object size:0x9 data:string
|
||||
lbl_805198A8 = .data:0x805198A8; // type:object size:0x9 data:string
|
||||
lbl_805198B4 = .data:0x805198B4; // type:object size:0x9 data:string
|
||||
lbl_805198C0 = .data:0x805198C0; // type:object size:0x9 data:string
|
||||
lbl_805198CC = .data:0x805198CC; // type:object size:0x13 data:string
|
||||
lbl_805198E0 = .data:0x805198E0; // type:object size:0xD data:string
|
||||
lbl_805198F0 = .data:0x805198F0; // type:object size:0xD data:string
|
||||
lbl_80519900 = .data:0x80519900; // type:object size:0xD data:string
|
||||
lbl_80519910 = .data:0x80519910; // type:object size:0xD data:string
|
||||
lbl_80519920 = .data:0x80519920; // type:object size:0xD data:string
|
||||
lbl_80519930 = .data:0x80519930; // type:object size:0xD data:string
|
||||
lbl_80519940 = .data:0x80519940; // type:object size:0xD data:string
|
||||
lbl_80519950 = .data:0x80519950; // type:object size:0xD data:string
|
||||
lbl_80519960 = .data:0x80519960; // type:object size:0xD data:string
|
||||
lbl_80519970 = .data:0x80519970; // type:object size:0xD data:string
|
||||
lbl_80519980 = .data:0x80519980; // type:object size:0xD data:string
|
||||
lbl_80519990 = .data:0x80519990; // type:object size:0xD data:string
|
||||
lbl_805199A0 = .data:0x805199A0; // type:object size:0xD data:string
|
||||
lbl_805199B0 = .data:0x805199B0; // type:object size:0xD data:string
|
||||
lbl_805199C0 = .data:0x805199C0; // type:object size:0xD data:string
|
||||
lbl_805199D0 = .data:0x805199D0; // type:object size:0x3C data:4byte
|
||||
lbl_80519A0C = .data:0x80519A0C; // type:object size:0x10
|
||||
lbl_80519A1C = .data:0x80519A1C; // type:object size:0x14
|
||||
lbl_80519A30 = .data:0x80519A30; // type:object size:0x1C
|
||||
lbl_80519A4C = .data:0x80519A4C; // type:object size:0x18
|
||||
lbl_80519A64 = .data:0x80519A64; // type:object size:0xC
|
||||
lbl_80519A70 = .data:0x80519A70; // type:object size:0xC
|
||||
lbl_80519A7C = .data:0x80519A7C; // type:object size:0xC
|
||||
lbl_80519A88 = .data:0x80519A88; // type:object size:0xC
|
||||
lbl_80519A94 = .data:0x80519A94; // type:object size:0xC
|
||||
lbl_80519AA0 = .data:0x80519AA0; // type:object size:0xC
|
||||
lbl_80519AAC = .data:0x80519AAC; // type:object size:0xC
|
||||
lbl_80519AB8 = .data:0x80519AB8; // type:object size:0xC
|
||||
lbl_80519AC4 = .data:0x80519AC4; // type:object size:0xC
|
||||
lbl_80519AD0 = .data:0x80519AD0; // type:object size:0x18
|
||||
lbl_80519AE8 = .data:0x80519AE8; // type:object size:0x1C
|
||||
lbl_80519B04 = .data:0x80519B04; // type:object size:0x10
|
||||
lbl_80519B14 = .data:0x80519B14; // type:object size:0x1C
|
||||
lbl_80519B30 = .data:0x80519B30; // type:object size:0x20
|
||||
lbl_80519A0C = .data:0x80519A0C; // type:object size:0xF data:string
|
||||
lbl_80519A1C = .data:0x80519A1C; // type:object size:0x12 data:string
|
||||
lbl_80519A30 = .data:0x80519A30; // type:object size:0x1B data:string
|
||||
lbl_80519A4C = .data:0x80519A4C; // type:object size:0x15 data:string
|
||||
lbl_80519A64 = .data:0x80519A64; // type:object size:0xA data:string
|
||||
lbl_80519A70 = .data:0x80519A70; // type:object size:0xA data:string
|
||||
lbl_80519A7C = .data:0x80519A7C; // type:object size:0xA data:string
|
||||
lbl_80519A88 = .data:0x80519A88; // type:object size:0xA data:string
|
||||
lbl_80519A94 = .data:0x80519A94; // type:object size:0xA data:string
|
||||
lbl_80519AA0 = .data:0x80519AA0; // type:object size:0xA data:string
|
||||
lbl_80519AAC = .data:0x80519AAC; // type:object size:0xA data:string
|
||||
lbl_80519AB8 = .data:0x80519AB8; // type:object size:0xA data:string
|
||||
lbl_80519AC4 = .data:0x80519AC4; // type:object size:0xA data:string
|
||||
lbl_80519AD0 = .data:0x80519AD0; // type:object size:0x17 data:string
|
||||
lbl_80519AE8 = .data:0x80519AE8; // type:object size:0x1B data:string
|
||||
lbl_80519B04 = .data:0x80519B04; // type:object size:0xF data:string
|
||||
lbl_80519B14 = .data:0x80519B14; // type:object size:0x1B data:string
|
||||
lbl_80519B30 = .data:0x80519B30; // type:object size:0x1A data:string
|
||||
lbl_80519B50 = .data:0x80519B50; // type:object size:0x10 data:string
|
||||
lbl_80519B60 = .data:0x80519B60; // type:object size:0x18
|
||||
lbl_80519B78 = .data:0x80519B78; // type:object size:0xC
|
||||
lbl_80519B84 = .data:0x80519B84; // type:object size:0x1C
|
||||
lbl_80519B60 = .data:0x80519B60; // type:object size:0x15 data:string
|
||||
lbl_80519B78 = .data:0x80519B78; // type:object size:0xB data:string
|
||||
lbl_80519B84 = .data:0x80519B84; // type:object size:0x1A data:string
|
||||
lbl_80519BA0 = .data:0x80519BA0; // type:object size:0x10 data:string
|
||||
lbl_80519BB0 = .data:0x80519BB0; // type:object size:0x1C
|
||||
lbl_80519BB0 = .data:0x80519BB0; // type:object size:0x1B data:string
|
||||
lbl_80519BCC = .data:0x80519BCC; // type:object size:0xC data:string
|
||||
lbl_80519BD8 = .data:0x80519BD8; // type:object size:0x1C
|
||||
lbl_80519BF4 = .data:0x80519BF4; // type:object size:0x10
|
||||
lbl_80519C04 = .data:0x80519C04; // type:object size:0x1C
|
||||
lbl_80519C20 = .data:0x80519C20; // type:object size:0x18
|
||||
lbl_80519BD8 = .data:0x80519BD8; // type:object size:0x19 data:string
|
||||
lbl_80519BF4 = .data:0x80519BF4; // type:object size:0xF data:string
|
||||
lbl_80519C04 = .data:0x80519C04; // type:object size:0x1A data:string
|
||||
lbl_80519C20 = .data:0x80519C20; // type:object size:0x14 data:string
|
||||
lbl_80519C38 = .data:0x80519C38; // type:object size:0x10 data:string
|
||||
lbl_80519C48 = .data:0x80519C48; // type:object size:0x14
|
||||
lbl_80519C5C = .data:0x80519C5C; // type:object size:0x10
|
||||
lbl_80519C6C = .data:0x80519C6C; // type:object size:0x10
|
||||
lbl_80519C48 = .data:0x80519C48; // type:object size:0x13 data:string
|
||||
lbl_80519C5C = .data:0x80519C5C; // type:object size:0xF data:string
|
||||
lbl_80519C6C = .data:0x80519C6C; // type:object size:0xF data:string
|
||||
lbl_80519C7C = .data:0x80519C7C; // type:object size:0xC data:string
|
||||
lbl_80519C88 = .data:0x80519C88; // type:object size:0x10
|
||||
lbl_80519C88 = .data:0x80519C88; // type:object size:0xD data:string
|
||||
lbl_80519C98 = .data:0x80519C98; // type:object size:0x10 data:string
|
||||
lbl_80519CA8 = .data:0x80519CA8; // type:object size:0x10
|
||||
lbl_80519CA8 = .data:0x80519CA8; // type:object size:0xF data:string
|
||||
__vt__20LytMeterTimerPart2_c = .data:0x80519CB8; // type:object size:0x34
|
||||
__vt__20LytMeterTimerPart1_c = .data:0x80519CEC; // type:object size:0x23C
|
||||
__vt__20LytMeterTimerPart1_c = .data:0x80519CEC; // type:object size:0x34
|
||||
__vt__31sFStateID_c<16dLytMeterTimer_c> = .data:0x80519F28; // type:object size:0x34
|
||||
lbl_80519F60 = .data:0x80519F60; // type:object size:0x17 data:string
|
||||
lbl_80519F78 = .data:0x80519F78; // type:object size:0xB data:string
|
||||
@@ -38178,7 +38178,7 @@ lbl_805724F0 = .sdata:0x805724F0; // type:object size:0x5 data:string
|
||||
lbl_805724F8 = .sdata:0x805724F8; // type:object size:0x6 data:string
|
||||
lbl_80572500 = .sdata:0x80572500; // type:object size:0x8 data:4byte
|
||||
lbl_80572508 = .sdata:0x80572508; // type:object size:0x5 data:string
|
||||
lbl_80572510 = .sdata:0x80572510; // type:object size:0x8 data:4byte
|
||||
lbl_80572510 = .sdata:0x80572510; // type:object size:0x4 data:4byte
|
||||
lbl_80572518 = .sdata:0x80572518; // type:object size:0x5 data:string
|
||||
lbl_80572520 = .sdata:0x80572520; // type:object size:0x8 data:string
|
||||
lbl_80572528 = .sdata:0x80572528; // type:object size:0x8 data:4byte
|
||||
@@ -48787,10 +48787,10 @@ LytMeterEventSkip__STATE_INVISIBLE = .bss:0x805ACAA0; // type:object size:0x30 d
|
||||
LytMeterEventSkip__STATE_IN = .bss:0x805ACAE0; // type:object size:0x30 data:4byte
|
||||
LytMeterEventSkip__STATE_VISIBLE = .bss:0x805ACB20; // type:object size:0x30 data:4byte
|
||||
LytMeterEventSkip__STATE_OUT = .bss:0x805ACB60; // type:object size:0x30 data:4byte
|
||||
lbl_805ACB90 = .bss:0x805ACB90; // type:object size:0x50
|
||||
LytMeterTimer__STATE_SIREN = .bss:0x805ACBE0; // type:object size:0x80 data:4byte
|
||||
LytMeterTimer__STATE_CHANGE_SAFE = .bss:0x805ACC60; // type:object size:0x40 data:4byte
|
||||
LytMeterTimer__STATE_SAFE = .bss:0x805ACCA0; // type:object size:0x80 data:4byte
|
||||
lbl_805ACB90 = .bss:0x805ACB90; // type:object size:0xC
|
||||
LytMeterTimer__STATE_SIREN = .bss:0x805ACBE0; // type:object size:0x30 data:4byte
|
||||
LytMeterTimer__STATE_CHANGE_SAFE = .bss:0x805ACC60; // type:object size:0x30 data:4byte
|
||||
LytMeterTimer__STATE_SAFE = .bss:0x805ACCA0; // type:object size:0x30 data:4byte
|
||||
LytMeterTimer__STATE_FRUITS = .bss:0x805ACD20; // type:object size:0x30 data:4byte
|
||||
lbl_805ACD50 = .bss:0x805ACD50; // type:object size:0xC
|
||||
LytMeterShieldGauge__STATE_NORMAL = .bss:0x805ACD60; // type:object size:0x30 data:4byte
|
||||
|
||||
+1
-1
@@ -401,7 +401,7 @@ config.libs = [
|
||||
Object(Matching, "d/lyt/meter/d_lyt_meter_rupy.cpp"),
|
||||
Object(Matching, "d/lyt/meter/d_lyt_meter_ganbari_gauge.cpp"),
|
||||
Object(Matching, "d/lyt/meter/d_lyt_meter_event_skip.cpp"),
|
||||
Object(NonMatching, "d/lyt/meter/d_lyt_meter_timer.cpp"),
|
||||
Object(Matching, "d/lyt/meter/d_lyt_meter_timer.cpp"),
|
||||
Object(Matching, "d/lyt/meter/d_lyt_meter_heart.cpp"),
|
||||
Object(Matching, "d/lyt/meter/d_lyt_meter_shield_gauge.cpp"),
|
||||
Object(NonMatching, "d/lyt/d_lyt_do_button.cpp"),
|
||||
|
||||
@@ -292,6 +292,12 @@ struct AnmGroupBase_c {
|
||||
return mpFrameCtrl->getNextFrame();
|
||||
}
|
||||
|
||||
#ifdef NEED_DIRECT_FRAMECTRL_ACCESS
|
||||
m2d::FrameCtrl_c *getFrameCtrl() {
|
||||
return mpFrameCtrl;
|
||||
}
|
||||
#endif
|
||||
|
||||
private:
|
||||
/* 0x04 */ void *field_0x04;
|
||||
/* 0x08 */ m2d::FrameCtrl_c *mpFrameCtrl;
|
||||
|
||||
@@ -114,7 +114,15 @@ public:
|
||||
return mEndFrame;
|
||||
}
|
||||
|
||||
// There's at least 1 file where the obvious way of writing
|
||||
// it seems to require accessing some members directly, without
|
||||
// inlines. I want to discourage direct access though, so
|
||||
// putting the ability behind an explicit define. We don't
|
||||
// know either way whether inlines are used at all or
|
||||
// whether stuff even is private.
|
||||
#ifndef NEED_DIRECT_FRAMECTRL_ACCESS
|
||||
private:
|
||||
#endif
|
||||
inline bool notLooping() const {
|
||||
return (mFlags & FLAG_NO_LOOP) != 0;
|
||||
}
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
#define NEED_DIRECT_FRAMECTRL_ACCESS 1
|
||||
|
||||
#include "d/lyt/meter/d_lyt_meter_timer.h"
|
||||
|
||||
#include "common.h"
|
||||
@@ -612,6 +614,14 @@ void LytMeterTimerPart2_c::initOutAnim() {
|
||||
mAnm[TIMER_02_ANIM_OUT].setAnimEnable(false);
|
||||
}
|
||||
|
||||
void LytMeterTimerPart2_c::initChangeFruitAnim() {
|
||||
mAnm[TIMER_02_ANIM_CHANGE_FRUIT].setForwardOnce();
|
||||
mAnm[TIMER_02_ANIM_CHANGE_FRUIT].setFrame(0.0f);
|
||||
mAnm[TIMER_02_ANIM_CHANGE_FRUIT].setAnimEnable(true);
|
||||
mLyt.calc();
|
||||
mAnm[TIMER_02_ANIM_CHANGE_FRUIT].setAnimEnable(false);
|
||||
}
|
||||
|
||||
void LytMeterTimerPart2_c::startInAnim() {
|
||||
if (dLytMeterContainer_c::GetMeter()->fn_800D5650()) {
|
||||
mAnm[TIMER_02_ANIM_MAP_POSITION].setFrame(1.0f);
|
||||
@@ -626,14 +636,6 @@ void LytMeterTimerPart2_c::startInAnim() {
|
||||
mAnm[TIMER_02_ANIM_IN].setAnimEnable(true);
|
||||
}
|
||||
|
||||
void LytMeterTimerPart2_c::initChangeFruitAnim() {
|
||||
mAnm[TIMER_02_ANIM_CHANGE_FRUIT].setForwardOnce();
|
||||
mAnm[TIMER_02_ANIM_CHANGE_FRUIT].setFrame(0.0f);
|
||||
mAnm[TIMER_02_ANIM_CHANGE_FRUIT].setAnimEnable(true);
|
||||
mLyt.calc();
|
||||
mAnm[TIMER_02_ANIM_CHANGE_FRUIT].setAnimEnable(false);
|
||||
}
|
||||
|
||||
void LytMeterTimerPart2_c::enableBloomAnim() {
|
||||
mAnm[TIMER_02_ANIM_BLOOM].setAnimEnable(true);
|
||||
}
|
||||
@@ -741,14 +743,8 @@ void LytMeterTimerPart2_c::syncTimeWithSafe() {
|
||||
if (time == 0) {
|
||||
time = 2000;
|
||||
}
|
||||
// FPR regswap between 2000.0f and cast constant
|
||||
// Not sure why the cast needs to be pulled out here
|
||||
|
||||
// This way works in other functions, but breaks instructions in this case
|
||||
// f32 loopFrame = duration - (time / 2000.0f) * duration;
|
||||
f32 fTime = time;
|
||||
f32 loopFrame = duration - (fTime / 2000.0f) * duration;
|
||||
f32 safeDuration = mAnm[TIMER_02_ANIM_SIREN_SAFE].getAnimDuration() - 1.0f;
|
||||
f32 loopFrame = duration - (time / 2000.0f) * duration;
|
||||
f32 safeDuration = mAnm[TIMER_02_ANIM_SIREN_SAFE].getFrameCtrl()->mEndFrame - 1.0f;
|
||||
f32 finalFrame = loopFrame;
|
||||
if (safeDuration < finalFrame) {
|
||||
finalFrame = finalFrame - safeDuration;
|
||||
|
||||
Reference in New Issue
Block a user