Shipwright/soh/src/overlays/actors/ovl_En_Skj/z_en_skj.h

41 lines
1.3 KiB
C

#ifndef Z_EN_SKJ_H
#define Z_EN_SKJ_H
#include "ultra64.h"
#include "global.h"
struct EnSkj;
typedef void (*EnSkjActionFunc)(struct EnSkj*, GlobalContext*);
typedef struct EnSkj {
/* 0x0000 */ Actor actor;
/* 0x014C */ SkelAnime skelAnime;
/* 0x0190 */ Vec3s jointTable[19];
/* 0x0202 */ Vec3s morphTable[19];
/* 0x0274 */ EnSkjActionFunc actionFunc;
/* 0x0278 */ ColliderCylinder collider;
/* 0x02C4 */ u16 textId;
/* 0x02C6 */ s16 timer;
/* 0x02C8 */ s16 unk_2C8;
/* 0x02CA */ s16 multiuseTimer;
/* 0x02CC */ s16 needleShootTimer;
/* 0x02CE */ s16 dodgeResetTimer;
/* 0x02D0 */ u8 animIndex;
/* 0x02D1 */ u8 action;
/* 0x02D2 */ u8 backflipFlag;
/* 0x02D3 */ u8 unk_2D3; // Is set to zero when walking to trade for skull mask and set to 1 when dying
/* 0x02D4 */ u8 needlesToShoot;
/* 0x02D5 */ u8 hitsUntilDodge; // Upon reaching zero will always backflip to avoid stun lock
/* 0x02D6 */ u8 unk_2D6;
/* 0x02D7 */ u8 playerInRange;
/* 0x02D8 */ u8 minigameState; // Upon reaching zero stops and does another action
/* 0x02DC */ u32 alpha;
/* 0x02E0 */ Vec3f center;
/* 0x02EC */ f32 unk_2EC;
/* 0x02F0 */ f32 unk_2F0;
/* 0x02F4 */ Vec3f posCopy;
} EnSkj; // size = 0x0300
#endif