d_a_btd - 99% matching (#872)

Co-authored-by: ‎ ‎ ‎ <‎ ‎ ‎>
This commit is contained in:
123456789758
2025-08-29 17:04:11 -04:00
committed by GitHub
parent e0da16f8c7
commit 52d3e87e7d
10 changed files with 2812 additions and 131 deletions
+1 -1
View File
@@ -49,7 +49,7 @@ static BOOL daBita_Draw(bita_class* i_this) {
/* 0000018C-000002D0 .text mode_normal__FP10bita_class */
static void mode_normal(bita_class* i_this) {
if (btd != NULL) {
if (btd->field_0x6e16 >= 100) {
if (btd->m6E16 >= 100) {
cXyz delta = dComIfGp_getCamera(0)->mLookat.mEye - i_this->current.pos;
if (delta.abs() < 1500.0f) {
fopAcM_delete(i_this);
+2649 -84
View File
File diff suppressed because it is too large Load Diff
+8 -8
View File
@@ -293,12 +293,12 @@ void iwa_move(dr2_class* i_this) {
i_this->unk_4A8.y += a_this->speed.y;
a_this->speed.y -= REG0_F(2) + 10.0f;
f32 fVar11 = btd->field_0x320.y + REG0_F(3);
f32 fVar11 = btd->m02FC[3].y + REG0_F(3);
if (i_this->unk_4A8.y < fVar11) {
i_this->unk_4A8.y = fVar11;
i_this->unk_4BA = 2;
i_this->unk_400[0] = 0x32;
btd->field_0x2F6 = true;
btd->m02F6 = true;
fopAcM_seStartCurrent(a_this, JA_SE_CM_BTD_ROCK_HIT, 0);
dComIfGp_getVibration().StartShock(REG0_S(2) + 5, -0x21, cXyz(0.0f, 1.0f, 0.0f));
}
@@ -308,19 +308,19 @@ void iwa_move(dr2_class* i_this) {
i_this->unk_40A = 3;
cLib_addCalc2(&i_this->unk_414, 2000.0f, 0.5f, 100.0f);
i_this->unk_4A8.y = btd->field_0x320.y + REG0_F(3);
i_this->unk_4A8.y = btd->m02FC[3].y + REG0_F(3);
i_this->unk_4B4.y = i_this->unk_514->current.angle.y;
if (btd->field_0x320.y < REG0_F(6) + 100.0f) {
i_this->unk_4C0 = (REG0_F(6) + 100.0f) - btd->field_0x320.y;
if (btd->m02FC[3].y < REG0_F(6) + 100.0f) {
i_this->unk_4C0 = (REG0_F(6) + 100.0f) - btd->m02FC[3].y;
i_this->unk_4C0 *= REG0_F(7) + 0.3f;
}
sp4C = btd->field_0x320 - btd->field_0x32C;
sp4C = btd->m02FC[3] - btd->m02FC[4];
sp4C.y += REG0_F(5) + -330.0f + i_this->unk_4C0;
cLib_addCalcAngleS2(&i_this->unk_4B4.x, -cM_atan2s(sp4C.y, std::sqrtf(sp4C.x * sp4C.x + sp4C.z * sp4C.z)), 1, 0x200);
if (!btd->field_0x2F6) {
if (!btd->m02F6) {
i_this->unk_4BA = 3;
#if VERSION == VERSION_DEMO
i_this->unk_4D4_demo =
@@ -331,7 +331,7 @@ void iwa_move(dr2_class* i_this) {
break;
case 3:
i_this->unk_4A8.y = btd->field_0x360 + 100.0f + REG0_F(9);
i_this->unk_4A8.y = btd->m02FC[8].y + 100.0f + REG0_F(9);
cLib_addCalcAngleS2(&i_this->unk_4B4.x, 0, 1, 0x100);
cLib_addCalcAngleS2(&i_this->unk_4B4.y, 0, 1, 0x100);
+10 -10
View File
@@ -994,7 +994,7 @@ void new_himo2_move(himo2_class* param_1) {
param_1->m24D9 = 0xFF;
param_1->m24D8 = 1;
if (btd != 0) {
fopAcM_OffStatus(btd, 0x4000);
fopAcM_OffStatus(btd, fopAcStts_UNK4000_e);
}
} else if ((param_1->m02A2 == 0) && param_1->m2050.ChkAtHit()) {
param_1->m02DC = 9;
@@ -1314,7 +1314,7 @@ void new_himo2_move(himo2_class* param_1) {
cLib_addCalc2(&param_1->m24E8.y, param_1->m217C->home.pos.y + 2500.0f + REG0_F(14), 0.3f, 100.0f);
cLib_addCalc2(&param_1->m24F4, REG0_F(13) + 80.0f, 1.0f, 2.0f);
if (param_1->m029C < 30) {
btd->field_0x6e15 = 0xB4;
btd->m6E15 = 0xB4;
}
if (param_1->m029C == 30) {
fopAcM_seStartCurrent((fopAc_ac_c*)dr, JA_SE_CM_BTD_ROPE_SET, 0);
@@ -1325,7 +1325,7 @@ void new_himo2_move(himo2_class* param_1) {
if ((param_1->m029C != 0) || (REG0_S(8) != 0)) {
break;
}
btd->field_0x6e15 = 1;
btd->m6E15 = 1;
param_1->m24D9 = 4;
if ((dComIfGp_getStartStageName()[0] == 'X') || (dComIfGs_isEventBit(0x420))) {
param_1->m029C = 0;
@@ -1494,17 +1494,17 @@ void new_himo2_move(himo2_class* param_1) {
cLib_addCalc2(&param_1->m24DC.y, 0.0f, 0.5f, 100.0f);
if (param_1->m029C == (s16)(REG0_S(4) + 0x6E)) {
param_1->m2520 = REG0_F(11) + 50.0f;
btd->field_0x6e15 = 0xB4;
btd->m6E15 = 0xB4;
}
if (param_1->m029C < 81) {
cLib_addCalc2(&param_1->m24F4, REG0_F(14) + 40.0f, 0.5f, 2.0f);
}
}
if (param_1->m029C == 2) {
btd->field_0x6e15 = 1;
btd->m6E15 = 1;
}
if (param_1->m029C == 0) {
if (btd->field_0x6190 >= 3) {
if (btd->m6190 >= 3) {
param_1->m24D9 = 9;
param_1->m029C = 220;
} else {
@@ -1515,7 +1515,7 @@ void new_himo2_move(himo2_class* param_1) {
camera->mCamera.Reset(param_1->eyePos, local_164);
camera->mCamera.Start();
camera->mCamera.SetTrimSize(0);
fopAcM_OffStatus(btd, 0x4000);
fopAcM_OffStatus(btd, fopAcStts_UNK4000_e);
dComIfGp_event_reset();
}
dr->unk_40A = 0;
@@ -1534,10 +1534,10 @@ void new_himo2_move(himo2_class* param_1) {
cLib_addCalc2(&param_1->m24DC.y, local_11c.y, 0.1f, 50.0f);
cLib_addCalc2(&param_1->m24DC.z, local_11c.z, 0.1f, 50.0f);
if (param_1->m029C == 99) {
btd->field_0x6e15 = 0xB4;
btd->m6E15 = 0xB4;
}
if (param_1->m029C == 40) {
btd->field_0x6e15 = 1;
btd->m6E15 = 1;
}
if (param_1->m029C == 0) {
param_1->m24D9 = 0;
@@ -1547,7 +1547,7 @@ void new_himo2_move(himo2_class* param_1) {
camera->mCamera.Reset(param_1->eyePos, local_170);
camera->mCamera.Start();
camera->mCamera.SetTrimSize(0);
fopAcM_OffStatus(btd, 0x4000);
fopAcM_OffStatus(btd, fopAcStts_UNK4000_e);
dComIfGp_event_reset();
}
break;
+1 -1
View File
@@ -219,7 +219,7 @@ static BOOL daKui_Execute(kui_class* i_this) {
btd_class* btd = search_btd(i_this);
if (dragon_tail != NULL && btd != NULL) {
if ((dragon_tail->unk_4BA == 0 || dragon_tail->unk_4BA >= 10) && btd->field_0x2e4 < 10) {
if ((dragon_tail->unk_4BA == 0 || dragon_tail->unk_4BA >= 10) && btd->m02E4 < 10) {
actor->current.pos = dragon_tail->unk_3B0;
actor->current.angle = dragon_tail->actor.current.angle;
} else {