dLytMeter_c::build matching

This commit is contained in:
robojumper
2025-04-19 00:29:13 +02:00
parent bc1fe76fd2
commit bfcf7092fe
2 changed files with 75 additions and 17 deletions
+17 -7
View File
@@ -130,11 +130,12 @@ public:
/* 0x13200 */ u8 field_0x13200[0x13204 - 0x13200];
/* 0x13204 */ dLytMeterParts_c mParts[16];
/* 0x136C4 */ mVec3_c mPosArray1[2];
/* 0x136DC */ mVec3_c mPosArray2[7];
/* 0x13730 */ mVec3_c mPos1;
/* 0x1373C */ mVec3_c mPos2;
/* 0x13748 */ u8 field_0x13748[0x13750 - 0x13748];
/* 0x136C4 */ mVec3_c mShieldPositions[2];
/* 0x136DC */ mVec3_c mRupyPositions[7];
/* 0x13730 */ mVec3_c mShieldPos;
/* 0x1373C */ mVec3_c mRupyPos;
/* 0x13748 */ s32 field_0x13748;
/* 0x1374C */ s32 field_0x1374C;
/* 0x13750 */ s32 field_0x13750;
/* 0x13754 */ s32 field_0x13754;
/* 0x13758 */ s32 field_0x13758;
@@ -148,10 +149,19 @@ public:
/* 0x13772 */ u8 field_0x13772;
/* 0x13773 */ u8 field_0x13773;
/* 0x13774 */ u8 field_0x13774;
/* 0x13775 */ u8 field_0x13775[0x1377E - 0x13775];
/* 0x13775 */ u8 field_0x13775;
/* 0x13776 */ u8 field_0x13776;
/* 0x13777 */ u8 field_0x13777;
/* 0x13778 */ u8 field_0x13778;
/* 0x13779 */ u8 field_0x13779;
/* 0x1377A */ u8 field_0x1377A;
/* 0x1377B */ u8 field_0x1377B;
/* 0x1377C */ u8 field_0x1377C;
/* 0x1377D */ u8 field_0x1377D;
/* 0x1377E */ u8 field_0x1377E;
/* 0x1377F */ u8 field_0x1377F;
/* 0x13780 */ u8 field_0x13780[0x13782 - 0x13780];
/* 0x13780 */ u8 field_0x13780;
/* 0x13781 */ u8 field_0x13781;
/* 0x13782 */ u8 field_0x13782[16];
/* 0x13792 */ u8 field_0x13792[16];
/* 0x137A2 */ u8 field_0x137A2[16];
+58 -10
View File
@@ -612,23 +612,21 @@ bool dLytMeter_c::build(d2d::ResAccIf_c *resAcc) {
mNodes[METER_1_BTN].mpLytPane = mp1Button;
mNodes[METER_2_BTN].mpLytPane = mp2Button;
mPosArray1[0].copyFrom(mLyt.findPane("N_shield_00")->GetTranslate());
mPosArray1[1].copyFrom(mLyt.findPane("N_shield_01")->GetTranslate());
mShieldPositions[0].copyFrom(mLyt.findPane("N_shield_00")->GetTranslate());
mShieldPositions[1].copyFrom(mLyt.findPane("N_shield_01")->GetTranslate());
field_0x13758 = 0;
field_0x13768 = 0;
field_0x13764 = 0;
// TODO
mPos1 = mPosArray1[0];
mShieldPos = mShieldPositions[field_0x13764];
mLyt.findPane("N_rupyAll_00")->SetVisible(true);
mAnmGroups[METER_ANIM_RUPY_POSITION].setAnimEnable(true);
// Advance through some anim's keyframes and store positions in mPosArray2
// Advance through some anim's keyframes and store positions in mRupyPositions
for (int i = 0; i < 7; i++) {
mAnmGroups[METER_ANIM_RUPY_POSITION].setFrame(i);
mLyt.calc();
mPosArray2[i].copyFrom(mLyt.findPane("N_rupy_00")->GetTranslate());
mRupyPositions[i].copyFrom(mLyt.findPane("N_rupy_00")->GetTranslate());
}
mAnmGroups[METER_ANIM_RUPY_POSITION].setAnimEnable(false);
@@ -637,9 +635,7 @@ bool dLytMeter_c::build(d2d::ResAccIf_c *resAcc) {
field_0x1375C = 0;
field_0x1376C = 0;
field_0x13760 = 0;
// TODO
mPos2 = mPosArray2[0];
mRupyPos = mRupyPositions[field_0x13760];
mPos3.x = mPos3.y = mPos3.z = 0.0f;
field_0x137C0 = 0;
@@ -747,10 +743,62 @@ bool dLytMeter_c::build(d2d::ResAccIf_c *resAcc) {
}
}
mNodes[METER_GANBARI].mpPane->SetVisible(true);
mNodes[METER_HEART].mpPane->SetVisible(true);
mNodes[METER_RUPY].mpPane->SetVisible(true);
mNodes[METER_ITEM_SELECT].mpPane->SetVisible(true);
mNodes[METER_CROSS_BTN].mpPane->SetVisible(true);
mNodes[METER_PLUS_BTN].mpPane->SetVisible(true);
mNodes[METER_MINUS_BTN].mpPane->SetVisible(true);
mNodes[METER_A_BTN].mpPane->SetVisible(true);
mNodes[METER_DOWSING].mpPane->SetVisible(true);
mNodes[METER_Z_BTN].mpPane->SetVisible(true);
mNodes[METER_NUN_STK].mpPane->SetVisible(true);
mNodes[METER_REMOCON_BG].mpPane->SetVisible(true);
mNodes[METER_NUN_BG].mpPane->SetVisible(true);
mNodes[METER_SHIELD].mpPane->SetVisible(true);
if (mNodes[METER_1_BTN].mpPane != nullptr) {
mNodes[METER_1_BTN].mpPane->SetVisible(true);
}
if (mNodes[METER_2_BTN].mpPane != nullptr) {
mNodes[METER_2_BTN].mpPane->SetVisible(true);
}
mNodes[METER_SHIELD].mpPane->SetTranslate(mShieldPos);
mNodes[METER_RUPY].mpPane->SetTranslate(mRupyPos);
for (int i = 0; i < METER_NUM_PANES; i++) {
mAnmGroups[i + METER_ANIM_POSITION_IN_OFFSET].setAnimEnable(true);
mAnmGroups[i + METER_ANIM_POSITION_IN_OFFSET].setToStart();
}
s32 zero = 0;
field_0x1374C = 0;
field_0x13748 = 0;
field_0x13750 = 4;
field_0x13770 = 3;
field_0x13774 = 0;
field_0x13775 = 0;
field_0x13773 = 0;
field_0x13776 = 0;
field_0x13777 = 0;
field_0x13780 = 1;
field_0x13781 = 0;
field_0x13778 = 0;
field_0x13779 = 0;
field_0x1377A = 0;
field_0x1377B = 0;
field_0x1377C = 0;
field_0x1377D = 0;
field_0x1377E = 0;
field_0x1377F = 0;
field_0x13754 = 0;
mAnmGroups[METER_ANIM_POSITION].setFrame(zero);
mAnmGroups[METER_ANIM_POSITION].setAnimEnable(true);
mLyt.calc();