mirror of
https://github.com/zeldaret/mm.git
synced 2026-09-03 09:59:35 -04:00
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:
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
|
||||
|
||||
Reference in New Issue
Block a user