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
4 changed files with 680 additions and 605 deletions
File diff suppressed because it is too large Load Diff
@@ -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