Matched func_80C0F078 and func_80C0F170

This commit is contained in:
KiritoDv
2023-11-03 12:21:06 -06:00
parent af9bdb84ba
commit b99b439602
2 changed files with 54 additions and 19 deletions
+39 -4
View File
@@ -720,7 +720,7 @@ void func_80C0CDE4(EnBsb* this, PlayState* play) {
this->unk_0F34.base.atFlags & AT_BOUNCED
|| temp_v0->stateFlags1 & 0x400000
&& temp_fv0 <= 70.0f
&& (temp_v1 = (temp_v0->actor.shape.rot.y - this->actor.shape.rot.y) + 0x8000, (temp_v1 < 0x2000) != 0)
&& (temp_v1 = (temp_v0->actor.shape.rot.y - this->actor.shape.rot.y) + 0x8000, (temp_v1 < 0x2000) != 0)
&& temp_v1 > -0x2000
) {
this->unk_0F34.base.atFlags &= ~(AT_BOUNCED|AT_HIT);
@@ -865,7 +865,7 @@ void func_80C0D3C0(EnBsb* this, PlayState* play) {
this->unk_1134.y = this->unk_114C.y = this->unk_02E0.y - 10.0f;
this->unk_1134.z = this->unk_114C.z = Math_CosS(this->actor.yawTowardsPlayer) * 10.0f + this->unk_02E0.z;
this->unk_1124 = 60.0f;
func_80C0B290(this, 2);
this->unk_02B4 = 9;
@@ -991,9 +991,44 @@ void EnBsb_Update(Actor* thisx, PlayState* play) {
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0EEA0.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0F078.s")
s32 func_80C0F078(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx, Gfx** gfx) {
EnBsb* this = THIS;
if (limbIndex != this->unk_02B0) {
*dList = NULL;
} else if (limbIndex != this->unk_02B0) {
*dList = NULL;
} else if ((limbIndex == 2) || (limbIndex == 3) || (limbIndex == 4) || (limbIndex == 5) || (limbIndex == 6) || (limbIndex == 7) || (limbIndex == 8) || (limbIndex == 9) || (limbIndex == 0xA) || (limbIndex == 0xC) || (limbIndex == 0xD) || (limbIndex == 0xF) || (limbIndex == 0x10) || (limbIndex == 0x11) || (limbIndex == 0x12) || (limbIndex == 0x13) || (limbIndex == 0x14)) {
rot->x += this->unk_031C.x;
rot->y += this->unk_031C.y;
rot->z += this->unk_031C.z;
}
return 0;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0F170.s")
void func_80C0F170(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) {
EnBsb* this = THIS;
if (this->unk_02B0 == 0) {
if (limbIndex == 0xA) {
Matrix_MultVec3f(&gZeroVec3f, &this->unk_02E0);
}
if (limbIndex == 0x11) {
Matrix_MultVec3f(&gZeroVec3f, &this->unk_0304);
}
if (limbIndex == 0x14) {
Matrix_MultVec3f(&gZeroVec3f, &this->unk_02F8);
}
if ((limbIndex == 2) || (limbIndex == 3) || (limbIndex == 4) || (limbIndex == 5) || (limbIndex == 6) || (limbIndex == 7) || (limbIndex == 8) || (limbIndex == 9) || (limbIndex == 0xA) || (limbIndex == 0xC) || (limbIndex == 0xD) || (limbIndex == 0xF) || (limbIndex == 0x10) || (limbIndex == 0x11) || (limbIndex == 0x12) || (limbIndex == 0x13) || (limbIndex == 0x14)) {
Matrix_MultZero(&this->unk_0330[this->unk_0440]);
this->unk_03FC[this->unk_0440] = limbIndex;
this->unk_0440++;
if (this->unk_0440 >= 0x11) {
this->unk_0440 = 0;
}
}
}
Collider_UpdateSpheres(limbIndex, &this->unk_0F34);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/EnBsb_Draw.s")
+15 -15
View File
@@ -38,21 +38,21 @@ typedef struct EnBsb {
/* 0x02CC */ s16 unk_02CC[5];
/* 0x02D8 */ s32 unk_02D8;
/* 0x02DC */ s32 unk_02DC;
/* 0x2E0 */ Vec3f unk_02E0;
/* 0x2EC */ Vec3f unk_02EC;
/* 0x2F8 */ Vec3f unk_02F8;
/* 0x304 */ Vec3f unk_0304;
/* 0x310 */ Vec3s unk_0310;
/* 0x316 */ Vec3s unk_0316;
/* 0x31C */ Vec3s unk_031C;
/* 0x322 */ s16 unk_0322;
/* 0x324 */ s16 unk_0324;
/* 0x328 */ f32 unk_0328;
/* 0x32C */ f32 unk_032C;
/* 0x330 */ Vec3f unk_0330[17];
/* 0x3FC */ s32 unk_03FC[17];
/* 0x440 */ s16 unk_0440;
/* 0x444 */ char pad_0444[0xAF0];
/* 0x02E0 */ Vec3f unk_02E0;
/* 0x02EC */ Vec3f unk_02EC;
/* 0x02F8 */ Vec3f unk_02F8;
/* 0x0304 */ Vec3f unk_0304;
/* 0x0310 */ Vec3s unk_0310;
/* 0x0316 */ Vec3s unk_0316;
/* 0x031C */ Vec3s unk_031C;
/* 0x0322 */ s16 unk_0322;
/* 0x0324 */ s16 unk_0324;
/* 0x0328 */ f32 unk_0328;
/* 0x032C */ f32 unk_032C;
/* 0x0330 */ Vec3f unk_0330[17];
/* 0x03FC */ s32 unk_03FC[17];
/* 0x0440 */ s16 unk_0440;
/* 0x0444 */ char pad_0444[0xAF0];
/* 0x0F34 */ ColliderJntSph unk_0F34;
/* 0x0F54 */ ColliderJntSphElement unk_0F54[7];
/* 0x1114 */ u32 unk_1114;