Add developer-specific macros for g_regHIO child registers

This commit is contained in:
LagoLunatic
2024-07-04 00:57:17 -04:00
parent d71ff64d2d
commit 5778c31aed
20 changed files with 258 additions and 189 deletions
+15 -15
View File
@@ -674,11 +674,11 @@ void daRd_c::setCollision() {
}
if (isAnm(AnmPrm_SUWARIP)) {
mCyl.SetR(80.0f + g_regHIO.mChild[8].mFloatRegs[1]);
mCyl.SetH(170.0f + g_regHIO.mChild[8].mFloatRegs[0]);
mCyl.SetR(80.0f + REG8_F(1));
mCyl.SetH(170.0f + REG8_F(0));
} else {
mCyl.SetR(80.0f + g_regHIO.mChild[8].mFloatRegs[1]);
mCyl.SetH(250.0f + g_regHIO.mChild[8].mFloatRegs[0]);
mCyl.SetR(80.0f + REG8_F(1));
mCyl.SetH(250.0f + REG8_F(0));
}
mCyl.SetC(current.pos);
@@ -751,7 +751,7 @@ void daRd_c::modeWait() {
// Bug: If the ReDead spawned high up in the air, its spawn point will remain there even after the ReDead
// itself has fallen down to ground level. This means it will not be able to notice the player properly.
if (dLib_checkActorInCircle(mSpawnPos, player, mAreaRadius, 100.0f)) {
if ((dLib_checkActorInCircle(mSpawnPos, player, mAreaRadius, 100.0f) && player->speedF > 10.0f + g_regHIO.mChild[12].mFloatRegs[4]) ||
if ((dLib_checkActorInCircle(mSpawnPos, player, mAreaRadius, 100.0f) && player->speedF > 10.0f + REG12_F(4)) ||
isOto ||
dLib_checkActorInFan(current.pos, player, shape_angle.y, l_HIO.m40, l_HIO.m34, 100.0f)
) {
@@ -883,7 +883,7 @@ void daRd_c::modeMove() {
int angle = cLib_distanceAngleS(fopAcM_searchPlayerAngleY(this), mHeadAngle);
if (angle < 0x50) {
f32 dist = fopAcM_searchPlayerDistanceXZ(this);
f32 temp = (dist / 100.0f) + g_regHIO.mChild[12].mFloatRegs[3];
f32 temp = (dist / 100.0f) + REG12_F(3);
if (temp > 1.0f) {
temp = 1.0f;
}
@@ -894,9 +894,9 @@ void daRd_c::modeMove() {
if (mEnemyFire.mState != 0) {
temp2 *= 2.0f;
}
cLib_addCalc2(&speedF, temp2*temp, 0.1f, 0.1f + g_regHIO.mChild[12].mFloatRegs[0]);
cLib_addCalc2(&speedF, temp2*temp, 0.1f, 0.1f + REG12_F(0));
} else {
cLib_addCalc2(&speedF, 0.0f, 0.1f, 0.1f + g_regHIO.mChild[12].mFloatRegs[0]);
cLib_addCalc2(&speedF, 0.0f, 0.1f, 0.1f + REG12_F(0));
}
if (speedF < 0.1f) {
setAnm(AnmPrm_TACHIP1, false);
@@ -939,7 +939,7 @@ void daRd_c::modeCry() {
} else {
s16 targetY = fopAcM_searchPlayerAngleY(this);
f32 dist = fopAcM_searchPlayerDistanceXZ(this);
f32 temp = (dist / 100.0f) + g_regHIO.mChild[12].mFloatRegs[3];
f32 temp = (dist / 100.0f) + REG12_F(3);
if (temp > 1.0f) {
temp = 1.0f;
}
@@ -950,7 +950,7 @@ void daRd_c::modeCry() {
if (mEnemyFire.mState != 0) {
temp2 *= 2.0f;
}
cLib_addCalc2(&speedF, temp2*temp, 0.1f, 0.1f + g_regHIO.mChild[12].mFloatRegs[0]);
cLib_addCalc2(&speedF, temp2*temp, 0.1f, 0.1f + REG12_F(0));
if (mD3C > 0 && stickPosX < 0.0f) {
mD3C = -1;
@@ -1055,11 +1055,11 @@ void daRd_c::modeAttack() {
return;
}
f32 dist = fopAcM_searchPlayerDistanceXZ(this);
if (dist <= 50.0f + g_regHIO.mChild[12].mFloatRegs[5] && !isAnm(AnmPrm_ATACK)) {
if (dist <= 50.0f + REG12_F(5) && !isAnm(AnmPrm_ATACK)) {
offIkari();
setAnm(AnmPrm_WALK2ATACK, false);
}
if (dist <= 20.0f + g_regHIO.mChild[12].mFloatRegs[2]) {
if (dist <= 20.0f + REG12_F(2)) {
cLib_addCalcPosXZ2(&current.pos, player->current.pos, 0.3f, 1.0f);
if (cLib_calcTimer(&mTimer2) == 0) {
if (!daPy_getPlayerLinkActorClass()->checkNoDamageMode()) {
@@ -1134,7 +1134,7 @@ void daRd_c::modeReturn() {
return;
}
} else {
cLib_addCalc2(&speedF, l_HIO.mReturnWalkSpeed, 0.1f, 0.1f + g_regHIO.mChild[12].mFloatRegs[0]);
cLib_addCalc2(&speedF, l_HIO.mReturnWalkSpeed, 0.1f, 0.1f + REG12_F(0));
}
if (dComIfGp_evmng_startCheck("DEFAULT_RD_ATTACK")) {
@@ -1146,7 +1146,7 @@ void daRd_c::modeReturn() {
if (!isLinkControl()) {
if (dLib_checkActorInCircle(mSpawnPos, this, mAreaRadius, 1000.0f)) {
if (dLib_checkActorInCircle(mSpawnPos, player, mAreaRadius, 100.0f)) {
if ((dLib_checkActorInCircle(mSpawnPos, player, mAreaRadius, 100.0f) && player->speedF > 10.0f + g_regHIO.mChild[12].mFloatRegs[4]) ||
if ((dLib_checkActorInCircle(mSpawnPos, player, mAreaRadius, 100.0f) && player->speedF > 10.0f + REG12_F(4)) ||
isOto ||
dLib_checkActorInFan(current.pos, player, shape_angle.y, l_HIO.m40, l_HIO.m34, 100.0f)
) {
@@ -1178,7 +1178,7 @@ void daRd_c::modeSilentPray() {
setAnm(AnmPrm_TACHIP1, false);
speedF = 0.0f;
} else {
cLib_addCalc2(&speedF, l_HIO.mReturnWalkSpeed, 0.1f, 0.1f + g_regHIO.mChild[12].mFloatRegs[0]);
cLib_addCalc2(&speedF, l_HIO.mReturnWalkSpeed, 0.1f, 0.1f + REG12_F(0));
}
} else if (!isLinkControl()) {
if (dLib_checkActorInCircle(mSpawnPos, player, mAreaRadius, 100.0f)) {