Shipwright/soh/src/overlays/actors/ovl_En_Hy/z_en_hy.h

66 lines
2.0 KiB
C

#ifndef Z_EN_HY_H
#define Z_EN_HY_H
#include "ultra64.h"
#include "global.h"
typedef enum {
/* 0 */ ENHY_TYPE_AOB,
/* 1 */ ENHY_TYPE_COB,
/* 2 */ ENHY_TYPE_AHG_2,
/* 3 */ ENHY_TYPE_BOJ_3,
/* 4 */ ENHY_TYPE_AHG_4,
/* 5 */ ENHY_TYPE_BOJ_5,
/* 6 */ ENHY_TYPE_BBA,
/* 7 */ ENHY_TYPE_BJI_7,
/* 8 */ ENHY_TYPE_CNE_8,
/* 9 */ ENHY_TYPE_BOJ_9,
/* 10 */ ENHY_TYPE_BOJ_10,
/* 11 */ ENHY_TYPE_CNE_11,
/* 12 */ ENHY_TYPE_BOJ_12,
/* 13 */ ENHY_TYPE_AHG_13,
/* 14 */ ENHY_TYPE_BOJ_14,
/* 15 */ ENHY_TYPE_BJI_15,
/* 16 */ ENHY_TYPE_BOJ_16,
/* 17 */ ENHY_TYPE_AHG_17,
/* 18 */ ENHY_TYPE_BOB_18,
/* 19 */ ENHY_TYPE_BJI_19,
/* 20 */ ENHY_TYPE_AHG_20,
/* 21 */ ENHY_TYPE_MAX
} EnHyType;
struct EnHy;
typedef void (*EnHyActionFunc)(struct EnHy*, GlobalContext*);
typedef struct EnHy {
/* 0x0000 */ Actor actor;
/* 0x014C */ SkelAnime skelAnime;
/* 0x0190 */ EnHyActionFunc actionFunc;
/* 0x0194 */ char unk_194; // unused
/* 0x0195 */ u8 pathReverse;
/* 0x0196 */ s8 objBankIndexHead;
/* 0x0197 */ s8 objBankIndexSkel2; // 7 < limb < 15 (upper part?) (always same as objBankIndexSkel1)
/* 0x0198 */ s8 objBankIndexSkel1; // sets the object used when drawing the skeleton for limb <= 7 (lower part?)
/* 0x0199 */ s8 objBankIndexOsAnime;
/* 0x019C */ ColliderCylinder collider;
/* 0x01E8 */ struct_80034A14_arg1 unk_1E8;
/* 0x0210 */ Path* path;
/* 0x0214 */ s8 waypoint;
/* 0x0215 */ s8 unk_215;
/* 0x0216 */ char unk_216[2]; // unused
/* 0x0218 */ s16 curEyeIndex;
/* 0x021A */ s16 nextEyeIndexTimer;
/* 0x021C */ s16 unk_21C[16]; // bodyWiggleY ?
/* 0x023C */ s16 unk_23C[16]; // bodyWiggleZ ?
/* 0x025C */ f32 unkRange;
/* 0x0260 */ s32 unkGetItemId;
/* 0x0264 */ Vec3f modelOffset;
/* 0x0270 */ Vec3s jointTable[16];
/* 0x02D0 */ Vec3s morphTable[16];
/* 0x0330 */ u16 unk_330;
/* */ GetItemEntry getItemEntry;
} EnHy; // size = 0x0334
#endif