z_en_dinofos documented (#1661)

* Something not yet identified makes it current zeldaret's main and my documentation don't fit. Re-importing my code in steps. Now: imported function renaming from doc_ovl_en_dinofos.

* Ported missing function names from doc_ovl_en_dinofos branch and renamed a static variable. Everything external to the C file and its header should be accounted for right now.

* Branch now using same documented code as doc_ovl_en_dinofos and PR test works.

* Ready to PR EnDinofos' Documentation

* Applied first batch of review edits.

Co-authored-by: Derek-Hensley <hensley.derek58@gmail.com>

* Update src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.c

To make sure it'll actually get applied.

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>

* Update src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.c

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>

* Update src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.c

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>

* Update src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.c

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>

* Update src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.c

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>

* Update src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.c

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>

* Update src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.c

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>

* Update src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.c

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>

* RecoilFromBlockedSlash is now Recoil. Small this-> missing before a suggestion inserted online was added.

* Update src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.c

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>

* Updated last unnamed static variables and vertices names

* Renaming vertices in _PostLimbDraw and last unnamed static variables.

Co-authored-by: Derek-Hensley <hensley.derek58@gmail.com>

* Applied changes from hidden suggestions.

Co-authored-by: Derek-Hensley <hensley.derek58@gmail.com>

* Update src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.c

Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>

* Update src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.c

Co-authored-by: Tom Overton <tom-overton@users.noreply.github.com>

* Update src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.c

Co-authored-by: Tom Overton <tom-overton@users.noreply.github.com>

* Renamed sBaseFireVelocity to sFireVelocityOffset.

* Inserted some enums for collider limbs. Continuing to address PR comments.

Co-authored-by: Tom-Overton <tom.overton@outlook.com>

---------

Co-authored-by: Derek-Hensley <hensley.derek58@gmail.com>
Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>
Co-authored-by: Tom Overton <tom-overton@users.noreply.github.com>
Co-authored-by: Tom-Overton <tom.overton@outlook.com>
This commit is contained in:
TrulyNaN 2024-08-12 20:41:58 -04:00 committed by GitHub
parent b286111666
commit c7d2a81b2b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 680 additions and 605 deletions

File diff suppressed because it is too large Load Diff

View File

@ -24,36 +24,79 @@ typedef enum EnDinofosBodyPart {
/* 12 */ DINOFOS_BODYPART_MAX
} EnDinofosBodyPart;
typedef enum EnDinofosJumpType {
/* 0 */ DINOFOS_JUMP_TYPE_FORWARD,
/* 1 */ DINOFOS_JUMP_TYPE_IN_PLACE,
/* 2 */ DINOFOS_JUMP_TYPE_BACKWARD,
/* 3 */ DINOFOS_JUMP_TYPE_SLASH
} EnDinofosJumpType;
/**
* The elements before DINOFOS_COLLIDER_FIRE_START_INDEX are for a Dinofos' body in the actor's collider.
* The last three elements are for the flame.
*/
#define DINOFOS_COLLIDER_FIRE_START_INDEX 6
/**
* unk_294 explanation :
*
* The best way to compare is to look from timer1 to circlingRate in this current actor struct and from
* 0x03F0 to 0x0408 in OoT's struct for Lizalfos/Dinolfos.
*
* In OoT, an additionnal ice timer, booleans related to the platforms fight and platforms indices are stored
* after the two timers EnDinofos still has (all integers). Moreover, the alpha value (envColorAlpha) has been moved up
* in MM.
*
* In MM, subCamId and subCamRot were added to handle the new cutscenes. Also, the effectIndex for blur is new.
*
* All in all, unk_294 is probably remnants of the now unnecessary variables mentioned above.
*/
typedef struct EnDinofos {
/* 0x000 */ Actor actor;
/* 0x144 */ SkelAnime skelAnime;
/* 0x188 */ Vec3s jointTable[DINOLFOS_LIMB_MAX];
/* 0x206 */ Vec3s morphTable[DINOLFOS_LIMB_MAX];
/* 0x284 */ EnDinofosActionFunc actionFunc;
/* 0x288 */ u8 unk_288;
/* 0x289 */ u8 unk_289;
/* 0x288 */ u8 envColorAlpha;
/* 0x289 */ u8 eyeTexIndex;
/* 0x28A */ u8 drawDmgEffType;
/* 0x28B */ u8 unk_28B;
/* 0x28C */ s16 unk_28C;
/* 0x28E */ s16 unk_28E;
/* 0x290 */ s16 unk_290;
/* 0x292 */ s16 unk_292;
/* 0x28B */ u8 isDodgingGoronPound;
/* 0x28C */ s16 targetRotY;
/* 0x28E */ s16 headRotY;
/* 0x290 */ union { // multi-use timer
s16 timer1;
s16 cutsceneTimer;
s16 attackTimer;
s16 actionTimer;
s16 headTimer;
s16 stunTimer;
s16 jumpType;
s16 isJumpingBackward;
};
/* 0x292 */ union { // second multi-use timer
s16 timer2;
s16 sidestepTimer;
s16 walkTimer;
s16 idleTimer;
};
// unk_294 is all zeroes in-game. Leftovers from OoT.
/* 0x294 */ UNK_TYPE1 unk_294[4];
/* 0x298 */ s16 subCamId;
/* 0x29A */ Vec3s unk_29A;
/* 0x2A0 */ s32 unk_2A0;
/* 0x2A4 */ f32 unk_2A4;
/* 0x2A8 */ f32 unk_2A8;
/* 0x2AC */ f32 unk_2AC;
/* 0x29A */ Vec3s subCamRot;
/* 0x2A0 */ s32 effectIndex;
/* 0x2A4 */ f32 circlingRate;
/* 0x2A8 */ f32 subCamAtStep;
/* 0x2AC */ f32 subCamEyeStep;
/* 0x2B0 */ f32 drawDmgEffAlpha;
/* 0x2B4 */ f32 drawDmgEffScale;
/* 0x2B8 */ f32 drawDmgEffFrozenSteamScale;
/* 0x2BC */ Vec3f unk_2BC;
/* 0x2C8 */ Vec3f unk_2C8;
/* 0x2BC */ Vec3f subCamEye;
/* 0x2C8 */ Vec3f subCamAt;
/* 0x2D4 */ Vec3f bodyPartsPos[DINOFOS_BODYPART_MAX];
/* 0x364 */ ColliderJntSph colliderJntSph;
/* 0x384 */ ColliderJntSphElement colliderJntSphElement[9];
/* 0x5C4 */ ColliderQuad colliderQuad;
/* 0x364 */ ColliderJntSph bodyAndFireCollider;
/* 0x384 */ ColliderJntSphElement bodyAndFireColliderElements[9];
/* 0x5C4 */ ColliderQuad knifeCollider;
} EnDinofos; // size = 0x644
#endif // Z_EN_DINOFOS_H

View File

@ -5544,60 +5544,60 @@
0x8089A3FC:("EnHoll_Draw",),
0x8089A6E0:("EnDinofos_Init",),
0x8089A8B0:("EnDinofos_Destroy",),
0x8089A900:("func_8089A900",),
0x8089A968:("func_8089A968",),
0x8089A9B0:("func_8089A9B0",),
0x8089ABF4:("func_8089ABF4",),
0x8089AC70:("func_8089AC70",),
0x8089ACEC:("func_8089ACEC",),
0x8089AD70:("func_8089AD70",),
0x8089AE00:("func_8089AE00",),
0x8089B100:("func_8089B100",),
0x8089B288:("func_8089B288",),
0x8089B320:("func_8089B320",),
0x8089B3D4:("func_8089B3D4",),
0x8089B4A4:("func_8089B4A4",),
0x8089B580:("func_8089B580",),
0x8089B6E8:("func_8089B6E8",),
0x8089B72C:("func_8089B72C",),
0x8089B7B0:("func_8089B7B0",),
0x8089B834:("func_8089B834",),
0x8089B8B0:("func_8089B8B0",),
0x8089B98C:("func_8089B98C",),
0x8089BAC0:("func_8089BAC0",),
0x8089BB60:("func_8089BB60",),
0x8089BBB4:("func_8089BBB4",),
0x8089BD28:("func_8089BD28",),
0x8089C024:("func_8089C024",),
0x8089C0DC:("func_8089C0DC",),
0x8089C164:("func_8089C164",),
0x8089C1F8:("func_8089C1F8",),
0x8089C244:("func_8089C244",),
0x8089C2A8:("func_8089C2A8",),
0x8089C398:("func_8089C398",),
0x8089C44C:("func_8089C44C",),
0x8089C4F8:("func_8089C4F8",),
0x8089C56C:("func_8089C56C",),
0x8089C690:("func_8089C690",),
0x8089C724:("func_8089C724",),
0x8089C784:("func_8089C784",),
0x8089C7B8:("func_8089C7B8",),
0x8089C87C:("func_8089C87C",),
0x8089C938:("func_8089C938",),
0x8089CA14:("func_8089CA14",),
0x8089CA74:("func_8089CA74",),
0x8089CB10:("func_8089CB10",),
0x8089CBEC:("func_8089CBEC",),
0x8089CF00:("func_8089CF00",),
0x8089CF70:("func_8089CF70",),
0x8089CFAC:("func_8089CFAC",),
0x8089D018:("func_8089D018",),
0x8089D11C:("func_8089D11C",),
0x8089D1E0:("func_8089D1E0",),
0x8089D2E0:("func_8089D2E0",),
0x8089D318:("func_8089D318",),
0x8089D42C:("func_8089D42C",),
0x8089D60C:("func_8089D60C",),
0x8089A900:("EnDinofos_Blink",),
0x8089A968:("EnDinofos_IsFacingPlayer",),
0x8089A9B0:("EnDinofos_ChooseAction",),
0x8089ABF4:("EnDinofos_EndCutscene",),
0x8089AC70:("EnDinofos_Freeze",),
0x8089ACEC:("EnDinofos_ThawIfFrozen",),
0x8089AD70:("EnDinofos_EnableBumperCollision",),
0x8089AE00:("EnDinofos_Dodge",),
0x8089B100:("EnDinofos_SetupIntroCutsceneBeforeFall",),
0x8089B288:("EnDinofos_IntroCutsceneBeforeFall",),
0x8089B320:("EnDinofos_SetupIntroCutsceneFall",),
0x8089B3D4:("EnDinofos_IntroCutsceneFall",),
0x8089B4A4:("EnDinofos_SetupIntroCutsceneLandAndBreatheFire",),
0x8089B580:("EnDinofos_IntroCutsceneLandAndBreatheFire",),
0x8089B6E8:("EnDinofos_SetupIntroCutsceneYell",),
0x8089B72C:("EnDinofos_IntroCutsceneYell",),
0x8089B7B0:("EnDinofos_SetupIdle",),
0x8089B834:("EnDinofos_Idle",),
0x8089B8B0:("EnDinofos_SetupWalk",),
0x8089B98C:("EnDinofos_Walk",),
0x8089BAC0:("EnDinofos_SetupTurnToPlayer",),
0x8089BB60:("EnDinofos_TurnToPlayer",),
0x8089BBB4:("EnDinofos_SetupCircleAroundPlayer",),
0x8089BD28:("EnDinofos_CircleAroundPlayer",),
0x8089C024:("EnDinofos_SetupChooseJump",),
0x8089C0DC:("EnDinofos_ChooseJump",),
0x8089C164:("EnDinofos_SetupJump",),
0x8089C1F8:("EnDinofos_Jump",),
0x8089C244:("EnDinofos_SetupJumpSlash",),
0x8089C2A8:("EnDinofos_JumpSlash",),
0x8089C398:("EnDinofos_SetupLand",),
0x8089C44C:("EnDinofos_Land",),
0x8089C4F8:("EnDinofos_SetupSlash",),
0x8089C56C:("EnDinofos_Slash",),
0x8089C690:("EnDinofos_SetupRecoil",),
0x8089C724:("EnDinofos_Recoil",),
0x8089C784:("EnDinofos_SetupStunned",),
0x8089C7B8:("EnDinofos_Stunned",),
0x8089C87C:("EnDinofos_SetupDamaged",),
0x8089C938:("EnDinofos_Damaged",),
0x8089CA14:("EnDinofos_SetupStartBreatheFire",),
0x8089CA74:("EnDinofos_StartBreatheFire",),
0x8089CB10:("EnDinofos_SetupBreatheFire",),
0x8089CBEC:("EnDinofos_BreatheFire",),
0x8089CF00:("EnDinofos_SetupEndBreatheFire",),
0x8089CF70:("EnDinofos_EndBreatheFire",),
0x8089CFAC:("EnDinofos_SetupDie",),
0x8089D018:("EnDinofos_Die",),
0x8089D11C:("EnDinofos_SetupDodgeProjectile",),
0x8089D1E0:("EnDinofos_DodgeProjectile",),
0x8089D2E0:("EnDinofos_SetupPlayCutscene",),
0x8089D318:("EnDinofos_PlayCutscene",),
0x8089D42C:("EnDinofos_RotateHead",),
0x8089D60C:("EnDinofos_UpdateDamage",),
0x8089D960:("EnDinofos_Update",),
0x8089DC4C:("EnDinofos_OverrideLimbDraw",),
0x8089DC84:("EnDinofos_PostLimbDraw",),

View File

@ -5966,13 +5966,13 @@
0x8089E334:("D_8089E334","UNK_TYPE1","",0x1),
0x8089E33C:("D_8089E33C","UNK_TYPE4","",0x4),
0x8089E34C:("sCsId","UNK_TYPE2","",0x2),
0x8089E350:("D_8089E350","UNK_TYPE4","",0x4),
0x8089E350:("sNumAlive","s32","",0x4),
0x8089E354:("D_8089E354","UNK_TYPE1","",0x1),
0x8089E364:("sTexturesDesegmented","UNK_TYPE4","",0x4),
0x8089E368:("D_8089E368","EffectBlureInit2","",0x24),
0x8089E38C:("D_8089E38C","UNK_TYPE1","",0x1),
0x8089E398:("D_8089E398","UNK_TYPE1","",0x1),
0x8089E3A4:("D_8089E3A4","UNK_TYPE1","",0x1),
0x8089E38C:("sKnifeTipQuadOffset","UNK_TYPE1","",0x1),
0x8089E398:("sKnifeBaseQuadOffset","UNK_TYPE1","",0x1),
0x8089E3A4:("sCsFireVelocityOffset","Vec3f","",0x1),
0x8089E3B0:("sLimbToBodyParts","UNK_TYPE1","",0x1),
0x8089E3B4:("D_8089E3B4","UNK_TYPE1","",0x1),
0x8089E3B6:("D_8089E3B6","UNK_TYPE1","",0x1),