mirror of
https://github.com/zeldaret/mm.git
synced 2026-08-05 17:43:19 -04:00
ovl_En_Death and ovl_En_Minideath (#1645)
* En_Death new build system edition * Fix merge * Matched * Fix merge * Some names * Suggested changes * Further suggested changes * Add value comments to MinideathAction
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -2,6 +2,8 @@
|
||||
#define Z_EN_DEATH_H
|
||||
|
||||
#include "global.h"
|
||||
#include "overlays/actors/ovl_En_Minideath/z_en_minideath.h"
|
||||
#include "objects/object_death/object_death.h"
|
||||
|
||||
struct EnDeath;
|
||||
|
||||
@@ -9,9 +11,53 @@ typedef void (*EnDeathActionFunc)(struct EnDeath*, PlayState*);
|
||||
|
||||
typedef struct EnDeath {
|
||||
/* 0x000 */ Actor actor;
|
||||
/* 0x144 */ char unk_144[0x44];
|
||||
/* 0x144 */ SkelAnime skelAnime;
|
||||
/* 0x188 */ EnDeathActionFunc actionFunc;
|
||||
/* 0x18C */ char unk_18C[0x7AC];
|
||||
/* 0x18C */ u8 unk_18C;
|
||||
/* 0x18D */ u8 coreGuarded;
|
||||
/* 0x18E */ u8 holdsScythe;
|
||||
/* 0x18F */ u8 dmgEffect;
|
||||
/* 0x190 */ s8 numScytheAfterImages;
|
||||
/* 0x191 */ u8 matAnimStep; // animated material color step?
|
||||
/* 0x192 */ u8 inEarlyIntro;
|
||||
/* 0x193 */ u8 noDrawLimbs[GOMESS_LIMB_MAX];
|
||||
/* 0x1A9 */ u8 flameAlphas[56];
|
||||
/* 0x1E2 */ Vec3s jointTable[GOMESS_LIMB_MAX];
|
||||
/* 0x266 */ Vec3s morphTable[GOMESS_LIMB_MAX];
|
||||
/* 0x2EA */ s16 floatTimer;
|
||||
/* 0x2EC */ s16 weaponColliderLastUpdateTime;
|
||||
/* 0x2EE */ s16 actionTimer;
|
||||
/* 0x2F0 */ UNK_TYPE2 unk_2F0;
|
||||
/* 0x2F2 */ s16 cloakUpperRotationModifier;
|
||||
/* 0x2F4 */ s16 cloakLowerRotationModifier;
|
||||
/* 0x2F6 */ s16 coreRotation;
|
||||
/* 0x2F8 */ s16 explosiveDamageTimer;
|
||||
/* 0x2FA */ s16 camId;
|
||||
/* 0x2FC */ s16 lightArrowDamageTimer;
|
||||
/* 0x300 */ s32 effectIndex;
|
||||
/* 0x304 */ f32 scytheScale;
|
||||
/* 0x308 */ f32 coreVelocity;
|
||||
/* 0x30C */ f32 camEyeSpeed;
|
||||
/* 0x310 */ f32 camAtSpeed;
|
||||
/* 0x314 */ f32 dmgEffectScale;
|
||||
/* 0x318 */ f32 dmgEffectSteamScale;
|
||||
/* 0x31C */ f32 dmgEffectAlpha;
|
||||
/* 0x320 */ Vec3f corePos;
|
||||
/* 0x32C */ Vec3f scytheWorldPos;
|
||||
/* 0x338 */ Vec3f scytheScreenPos;
|
||||
/* 0x344 */ Vec3f camEyeTarget;
|
||||
/* 0x350 */ Vec3f camAtTarget;
|
||||
/* 0x35C */ Vec3f bodyPartsPos[14];
|
||||
/* 0x404 */ Vec3f sparklePositions[56];
|
||||
/* 0x6A4 */ MtxF scytheMtxF;
|
||||
/* 0x6E4 */ EnMinideath* miniDeaths[20];
|
||||
/* 0x734 */ AnimatedMaterial* bodyMatAnim;
|
||||
/* 0x738 */ AnimatedMaterial* coreMatAnim;
|
||||
/* 0x73C */ ColliderCylinder bodyCollider;
|
||||
/* 0x788 */ ColliderQuad weaponCollider;
|
||||
/* 0x808 */ ColliderSphere coreCollider;
|
||||
/* 0x860 */ ColliderTris weaponSpinningCollider;
|
||||
/* 0x880 */ ColliderTrisElement weaponSpinningColliderElements[2];
|
||||
} EnDeath; // size = 0x938
|
||||
|
||||
#endif // Z_EN_DEATH_H
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -7,10 +7,47 @@ struct EnMinideath;
|
||||
|
||||
typedef void (*EnMinideathActionFunc)(struct EnMinideath*, PlayState*);
|
||||
|
||||
#define MINIDEATH_NUM_EFFECTS 3
|
||||
|
||||
// "animation" length
|
||||
#define MINIDEATH_ANIM_LENGTH 9
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ MINIDEATH_ACTION_CONTINUE, // continue with current action until it is changed
|
||||
/* 1 */ MINIDEATH_ACTION_SCATTER, // scatter after light arrows?
|
||||
/* 2 */ MINIDEATH_ACTION_RETURN, // gomess damaged
|
||||
/* 3 */ MINIDEATH_ACTION_START_SWARM,
|
||||
/* 4 */ MINIDEATH_ACTION_SWARM, // chase player?
|
||||
/* 5 */ MINIDEATH_ACTION_DEATH_2, // death cs part 3
|
||||
/* 6 */ MINIDEATH_ACTION_DEATH_1, // death cs part 1
|
||||
/* 7 */ MINIDEATH_ACTION_INTRO_1, // intro cs part 2
|
||||
/* 8 */ MINIDEATH_ACTION_INTRO_2, // intro cs part 5 (1)
|
||||
/* 9 */ MINIDEATH_ACTION_INTRO_3 // intro cs part 5 (2)
|
||||
} MinideathAction;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 animFrame;
|
||||
/* 0x01 */ u8 state;
|
||||
/* 0x04 */ Vec3f pos;
|
||||
/* 0x10 */ Vec3f vel;
|
||||
/* 0x1C */ Vec3s angle;
|
||||
/* 0x22 */ s16 timer;
|
||||
} MiniDeathEffect; // size = 0x24
|
||||
|
||||
typedef struct EnMinideath {
|
||||
/* 0x000 */ Actor actor;
|
||||
/* 0x144 */ EnMinideathActionFunc actionFunc;
|
||||
/* 0x148 */ char unk_148[0x164];
|
||||
/* 0x148 */ u8 number;
|
||||
/* 0x149 */ u8 crowdState;
|
||||
/* 0x14A */ s16 timer;
|
||||
/* 0x14C */ s16 spawnShapeYaw;
|
||||
/* 0x14E */ s16 attackTimer;
|
||||
/* 0x150 */ Vec3s moveDirection;
|
||||
/* 0x158 */ f32 initialHeightDiffFromParent;
|
||||
/* 0x15C */ Actor* targetActor;
|
||||
/* 0x160 */ MiniDeathEffect effects[MINIDEATH_NUM_EFFECTS];
|
||||
/* 0x1CC */ ColliderJntSph collider;
|
||||
/* 0x1EC */ ColliderJntSphElement colliderElements[MINIDEATH_NUM_EFFECTS];
|
||||
} EnMinideath; // size = 0x2AC
|
||||
|
||||
#endif // Z_EN_MINIDEATH_H
|
||||
|
||||
Reference in New Issue
Block a user