47 lines
1.2 KiB
C
47 lines
1.2 KiB
C
#ifndef Z_EN_DH_H
|
|
#define Z_EN_DH_H
|
|
|
|
#include "ultra64.h"
|
|
#include "global.h"
|
|
|
|
struct EnDh;
|
|
|
|
typedef void (*EnDhActionFunc)(struct EnDh*, GlobalContext*);
|
|
|
|
typedef struct EnDh {
|
|
/* 0x0000 */ Actor actor;
|
|
/* 0x014C */ SkelAnime skelAnime;
|
|
/* 0x0170 */ Vec3s jointTable[16];
|
|
/* 0x01F0 */ Vec3s limbRotTable[16];
|
|
/* 0x0250 */ u8 actionState;
|
|
/* 0x0251 */ u8 retreat;
|
|
/* 0x0252 */ u8 drawDirtWave;
|
|
/* 0x0254 */ EnDhActionFunc actionFunc;
|
|
/* 0x0258 */ u8 unk_258; // Related to player->unk_845
|
|
/* 0x0259 */ u8 unused_259;
|
|
/* 0x025A */ u8 alpha;
|
|
/* 0x025B */ u8 curAction;
|
|
/* 0x025C */ s16 timer;
|
|
/* 0x025E */ s16 dirtWavePhase;
|
|
/* 0x0260 */ ColliderCylinder collider1;
|
|
/* 0x02AC */ ColliderJntSph collider2;
|
|
/* 0x02CC */ ColliderJntSphElement elements[1];
|
|
/* 0x030C */ Vec3f headPos;
|
|
/* 0x0318 */ f32 dirtWaveSpread;
|
|
/* 0x031C */ f32 dirtWaveHeight;
|
|
/* 0x0320 */ f32 dirtWaveAlpha;
|
|
} EnDh; // size = 0x0324
|
|
|
|
typedef enum {
|
|
ENDH_HANDS_KILLED_4 = -4,
|
|
ENDH_HANDS_KILLED_3,
|
|
ENDH_HANDS_KILLED_2,
|
|
ENDH_HANDS_KILLED_1,
|
|
ENDH_WAIT_UNDERGROUND,
|
|
ENDH_START_ATTACK_GRAB,
|
|
ENDH_START_ATTACK_BOMB = 5,
|
|
ENDH_DEATH = 10
|
|
} EnDhParams;
|
|
|
|
#endif
|