1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-08-08 15:30:14 +00:00

Document BodyBreak (en_part, body part spawner) (#797)

* done

* status defines

* whoops

* comment wording

* size calc change

* elseif
This commit is contained in:
fig02 2021-04-27 21:32:15 -04:00 committed by GitHub
parent 1ac9479cae
commit 3fbdccbdba
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
22 changed files with 128 additions and 116 deletions

View file

@ -632,8 +632,8 @@ void func_80A75790(EnIk* this) {
void func_80A758B0(EnIk* this, GlobalContext* globalCtx) {
Math_SmoothStepToF(&this->actor.speedXZ, 0.0f, 1.0f, 1.0f, 0.0f);
if (func_8003305C(&this->actor, &this->unk_308, globalCtx, this->actor.params + 4)) {
this->unk_308.unk_10 = 0;
if (BodyBreak_SpawnParts(&this->actor, &this->bodyBreak, globalCtx, this->actor.params + 4)) {
this->bodyBreak.val = BODYBREAK_STATUS_FINISHED;
}
if (SkelAnime_Update(&this->skelAnime)) {
if (ABS((s16)(this->actor.yawTowardsPlayer - this->actor.shape.rot.y)) <= 0x4000) {
@ -730,7 +730,7 @@ void func_80A75C38(EnIk* this, GlobalContext* globalCtx) {
if (this->actor.params != 0) {
if ((prevHealth > 10) && (this->actor.colChkInfo.health <= 10)) {
this->unk_2FB = 1;
func_80032E24(&this->unk_308, 3, globalCtx);
BodyBreak_Alloc(&this->bodyBreak, 3, globalCtx);
}
} else if (this->actor.colChkInfo.health <= 10) {
Actor_ChangeCategory(globalCtx, &globalCtx->actorCtx, &this->actor, ACTORCAT_BOSS);
@ -884,7 +884,7 @@ void EnIk_PostLimbDraw3(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Ve
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_ik_inFight.c", 1201);
if (this->unk_2FB & 1) {
func_80032F54(&this->unk_308, limbIndex, 0x1A, 0x1B, 0x1C, dList, -1);
BodyBreak_SetInfo(&this->bodyBreak, limbIndex, 26, 27, 28, dList, BODYBREAK_OBJECT_DEFAULT);
}
if (limbIndex == 12) {
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_ik_inFight.c", 1217),

View file

@ -24,7 +24,7 @@ typedef struct EnIk {
/* 0x0300 */ s16 unk_300;
/* 0x0302 */ s16 switchFlags;
/* 0x0304 */ EnIkActionFunc actionFunc;
/* 0x0308 */ struct_80032E24 unk_308;
/* 0x0308 */ BodyBreak bodyBreak;
/* 0x0320 */ ColliderCylinder bodyCollider;
/* 0x036C */ ColliderQuad axeCollider;
/* 0x03EC */ ColliderTris shieldCollider;