From 24b818aca2d2724a62a78468493fe8e8f5545022 Mon Sep 17 00:00:00 2001 From: robojumper Date: Tue, 7 Apr 2026 21:50:50 +0200 Subject: [PATCH] Fixes --- config/SOUE01/symbols.txt | 6 +++--- include/d/lyt/d2d.h | 4 ---- include/d/lyt/d_lyt_suiryu_score.h | 1 - include/d/t/d_t_clef_game.h | 6 ++++-- include/m/m2d.h | 5 +---- src/d/lyt/d_lyt_suiryu_score.cpp | 20 ++++++++++---------- 6 files changed, 18 insertions(+), 24 deletions(-) diff --git a/config/SOUE01/symbols.txt b/config/SOUE01/symbols.txt index 4100cd30..8f334e09 100644 --- a/config/SOUE01/symbols.txt +++ b/config/SOUE01/symbols.txt @@ -28376,8 +28376,8 @@ lbl_804E9B9C = .rodata:0x804E9B9C; // type:object size:0x2C data:byte lbl_804E9BC8 = .rodata:0x804E9BC8; // type:object size:0xE8 data:4byte AMMO_CAPACITY_INCREASES = .rodata:0x804E9CB0; // type:object size:0x28 sInteractionTargetDefs = .rodata:0x804E9CD8; // type:object size:0x150 scope:local -TADTONE_GROUP_SIZES = .rodata:0x804E9E28; // type:object size:0x14 data:byte -TADTONE_SCENEFLAGS = .rodata:0x804E9E3C; // type:object size:0x14 data:byte +sTadtoneGroupSizes = .rodata:0x804E9E28; // type:object size:0x14 data:byte +sTadtoneSceneflags = .rodata:0x804E9E3C; // type:object size:0x14 data:byte SK_DOOR_SCENEFLAGS = .rodata:0x804E9E50; // type:object size:0x20 lbl_804E9E70 = .rodata:0x804E9E70; // type:object size:0x20 data:4byte lbl_804E9E90 = .rodata:0x804E9E90; // type:object size:0xC data:4byte @@ -42375,7 +42375,7 @@ sStreamList__11dTgStream_c = .sbss:0x805756C8; // type:object size:0x8 data:4byt sSandStreamList__11dTgStream_c = .sbss:0x805756D0; // type:object size:0x8 data:4byte lbl_805756D8 = .sbss:0x805756D8; // type:object size:0x8 data:4byte IMPRISONED_PTR = .sbss:0x805756E0; // type:object size:0x4 data:4byte -TADTONE_GAME = .sbss:0x805756E4; // type:object size:0x4 data:4byte +sInstance__13dTgClefGame_c = .sbss:0x805756E4; // type:object size:0x4 data:4byte IS_IN_SKYKEEP_PUZZLE = .sbss:0x805756E8; // type:object size:0x1 data:byte lbl_805756E9 = .sbss:0x805756E9; // type:object size:0x1 data:byte sInstance__10dTgSndMg_c = .sbss:0x805756EC; // type:object size:0x4 data:4byte diff --git a/include/d/lyt/d2d.h b/include/d/lyt/d2d.h index fcf416ef..d650ee9e 100644 --- a/include/d/lyt/d2d.h +++ b/include/d/lyt/d2d.h @@ -245,10 +245,6 @@ struct AnmGroupBase_c { return mpFrameCtrl->isEndReached(); } - inline bool isStartReached() const { - return mpFrameCtrl->isStartReached(); - } - inline void setRate(f32 rate) { mpFrameCtrl->setRate(rate); } diff --git a/include/d/lyt/d_lyt_suiryu_score.h b/include/d/lyt/d_lyt_suiryu_score.h index 18792450..317920dc 100644 --- a/include/d/lyt/d_lyt_suiryu_score.h +++ b/include/d/lyt/d_lyt_suiryu_score.h @@ -72,7 +72,6 @@ private: void initAnm(); bool fn_80298600(); - void fn_80298B10(); /* 0x0004 */ UI_STATE_MGR_DECLARE(dLytMeterSuiryuScoreBase_c); /* 0x0040 */ d2d::LytBase_c mLyt; diff --git a/include/d/t/d_t_clef_game.h b/include/d/t/d_t_clef_game.h index 5f95745c..5f836e36 100644 --- a/include/d/t/d_t_clef_game.h +++ b/include/d/t/d_t_clef_game.h @@ -23,9 +23,11 @@ public: private: static dTgClefGame_c *sInstance; + static const s32 NUM_TADTONE_GROUPS = 17; + /* 0x0FC */ u8 _0x0FC[0x14C - 0x0FC]; - /* 0x14C */ u8 field_0x14C[17]; - /* 0x15D */ u8 field_0x15D[17]; + /* 0x14C */ u8 field_0x14C[NUM_TADTONE_GROUPS]; + /* 0x15D */ u8 field_0x15D[NUM_TADTONE_GROUPS]; }; #endif diff --git a/include/m/m2d.h b/include/m/m2d.h index 5ecdab76..059c4b26 100644 --- a/include/m/m2d.h +++ b/include/m/m2d.h @@ -1,6 +1,7 @@ #ifndef M_M2D_H #define M_M2D_H +#include "c/c_math.h" #include "m/m_allocator.h" #include "m/m_vec.h" #include "nw4r/lyt/lyt_arcResourceAccessor.h" @@ -85,10 +86,6 @@ public: return mCurrFrame >= actualEnd; } - inline bool isStartReached() const { - return std::fabsf(mCurrFrame) <= EGG::Math::epsilon(); - } - inline void setToEnd() { setFrame(mEndFrame - 1.0f); } diff --git a/src/d/lyt/d_lyt_suiryu_score.cpp b/src/d/lyt/d_lyt_suiryu_score.cpp index 0b9cc849..2258c56b 100644 --- a/src/d/lyt/d_lyt_suiryu_score.cpp +++ b/src/d/lyt/d_lyt_suiryu_score.cpp @@ -122,7 +122,7 @@ void dLytMeterSuiryuScoreBase_c::executeState_Wait() { } for (int i = 0; i < SUIRYU_SCORE_BASE_NUM_NOTE_ANIMS; i++) { - if (mAnm[field_0x2262 + SUIRYU_SCORE_BASE_ANIM_LOOP_OFFSET].isStartReached() == true) { + if (cM::isZero(mAnm[field_0x2262 + SUIRYU_SCORE_BASE_ANIM_LOOP_OFFSET].getFrame()) == true) { if (field_0x2251[i] == 0 && !mAnm[i + SUIRYU_SCORE_BASE_ANIM_LOOP_OFFSET].isEnabled()) { mAnm[i + SUIRYU_SCORE_BASE_ANIM_LOOP_OFFSET].setAnimEnable(true); } @@ -347,7 +347,7 @@ bool dLytMeterSuiryuScoreBase_c::remove() { bool dLytMeterSuiryuScoreBase_c::execute() { if (fn_80298600()) { - fn_80298B10(); + stopMove(); } if (dScGame_c::isCurrentStage("F103") && dScGame_c::currentSpawnInfo.layer == 13) { @@ -834,9 +834,9 @@ bool dLytMeterSuiryuScoreBase_c::fn_80298600() { } if (mAnm[SUIRYU_SCORE_BASE_ANIM_MOVE_3].isPlayingBackwardsOnce() && - mAnm[SUIRYU_SCORE_BASE_ANIM_MOVE_3].getFrame() <= 20.0f && + mAnm[SUIRYU_SCORE_BASE_ANIM_MOVE_3].getFrame() <= 10.0f && mAnm[SUIRYU_SCORE_BASE_ANIM_MOVE_3].isEnabled()) { - mAnm[SUIRYU_SCORE_BASE_ANIM_MOVE_123].setFrame(10.0f); + mAnm[SUIRYU_SCORE_BASE_ANIM_MOVE_123].setFrame(20.0f); return true; } @@ -954,12 +954,12 @@ bool dLytMeterSuiryuScoreBase_c::fn_80298B80() { case 2: { if (field_0x2263 == 1) { if (mAnm[SUIRYU_SCORE_BASE_ANIM_MOVE_123].isPlayingBackwardsOnce() && - mAnm[SUIRYU_SCORE_BASE_ANIM_MOVE_123].getFrame() <= 10.0f) { + mAnm[SUIRYU_SCORE_BASE_ANIM_MOVE_123].getFrame() <= 20.0f) { return true; } if (mAnm[SUIRYU_SCORE_BASE_ANIM_MOVE_123].isPlayingForwardsOnce() && - 10.0f <= mAnm[SUIRYU_SCORE_BASE_ANIM_MOVE_123].getFrame()) { + 20.0f <= mAnm[SUIRYU_SCORE_BASE_ANIM_MOVE_123].getFrame()) { return true; } } else { @@ -1080,9 +1080,9 @@ void dLytMeterClefMain_c::executeState_Wait() { acc += field_0x5E4E[j]; } - // TODO: actual length? - static const u8 sUnk1[] = { - 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 4, 0, + // TODO ??? + static const u8 sUnk1[NUM_TADTONE_GROUPS + 2] = { + 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 4 }; if (mBase.getField_0x2251(field_0x5F36) == 2 && mBase.fn_80297E10(sUnk1[field_0x5F35])) { @@ -1416,7 +1416,7 @@ void dLytMeterClefMain_c::fn_8029A050() { if (field_0x5E5F[i] == field_0x5E4E[i]) { field_0x5EA4[i] = 8; field_0x5E81[i] = field_0x5E4E[i]; - mBase.setColor0(i); + mBase.fn_802978F0((u8)i); } } }