Shipwright/soh/src/overlays/actors/ovl_En_GeldB/z_en_geldb.h

73 lines
2.2 KiB
C

#ifndef Z_EN_GELDB_H
#define Z_EN_GELDB_H
#include "ultra64.h"
#include "global.h"
struct EnGeldB;
typedef enum {
/* 0x00 */ GELDB_LIMB_NONE,
/* 0x01 */ GELDB_LIMB_ROOT,
/* 0x02 */ GELDB_LIMB_TORSO,
/* 0x03 */ GELDB_LIMB_NECK,
/* 0x04 */ GELDB_LIMB_PONYTAIL,
/* 0x05 */ GELDB_LIMB_VEIL,
/* 0x06 */ GELDB_LIMB_HEAD,
/* 0x07 */ GELDB_LIMB_R_UPPER_ARM,
/* 0x08 */ GELDB_LIMB_R_FOREARM,
/* 0x09 */ GELDB_LIMB_R_WRIST,
/* 0x0A */ GELDB_LIMB_R_HAND,
/* 0x0B */ GELDB_LIMB_R_SWORD,
/* 0x0C */ GELDB_LIMB_L_UPPER_ARM,
/* 0x0D */ GELDB_LIMB_L_FOREARM,
/* 0x0E */ GELDB_LIMB_L_WRIST,
/* 0x0F */ GELDB_LIMB_L_HAND,
/* 0x10 */ GELDB_LIMB_L_SWORD,
/* 0x11 */ GELDB_LIMB_L_THIGH,
/* 0x12 */ GELDB_LIMB_L_SHIN,
/* 0x13 */ GELDB_LIMB_L_FOOT,
/* 0x14 */ GELDB_LIMB_R_THIGH,
/* 0x15 */ GELDB_LIMB_R_SHIN,
/* 0x16 */ GELDB_LIMB_R_FOOT,
/* 0x17 */ GELDB_LIMB_WAIST,
/* 0x18 */ GELDB_LIMB_MAX
} EnGeldBLimb;
typedef void (*EnGeldBActionFunc)(struct EnGeldB*, GlobalContext*);
typedef struct EnGeldB {
/* 0x0000 */ Actor actor;
/* 0x014C */ Vec3s bodyPartsPos[10];
/* 0x0188 */ SkelAnime skelAnime;
/* 0x01CC */ Vec3s jointTable[GELDB_LIMB_MAX];
/* 0x025C */ Vec3s morphTable[GELDB_LIMB_MAX];
/* 0x02EC */ s32 action;
/* 0x02F0 */ char unk_2F0[4];
/* 0x02F4 */ EnGeldBActionFunc actionFunc;
/* 0x02F8 */ s16 unkTimer;
/* 0x02FA */ s16 lookTimer;
/* 0x02FC */ s16 iceTimer;
/* 0x02FE */ u8 damageEffect;
/* 0x0300 */ s32 timer;
/* 0x0304 */ f32 approachRate;
/* 0x0308 */ char unk_308[4];
/* 0x030C */ f32 unkFloat;
/* 0x0310 */ s16 swordState;
/* 0x0312 */ s16 spinAttackState;
/* 0x0314 */ s16 keyFlag;
/* 0x0316 */ char unk_316[2];
/* 0x0318 */ s16 invisible;
/* 0x031A */ u8 blinkState;
/* 0x031C */ s32 blureIndex;
/* 0x0320 */ ColliderCylinder bodyCollider;
/* 0x036C */ ColliderQuad swordCollider;
/* 0x03EC */ ColliderTris blockCollider;
/* 0x040C */ ColliderTrisElement blockElements[2];
/* 0x04C4 */ Vec3f rightFootPos;
/* 0x04D0 */ Vec3f leftFootPos;
/* 0x04DC */ Vec3s headRot;
} EnGeldB; // size = 0x04E4
#endif