Shipwright/soh/src/overlays/actors/ovl_En_Ko/z_en_ko.h

61 lines
1.6 KiB
C

#ifndef Z_EN_KO_H
#define Z_EN_KO_H
#include "ultra64.h"
#include "global.h"
struct EnKo;
typedef void (*EnKoActionFunc)(struct EnKo*, GlobalContext*);
typedef struct EnKo {
/* 0x0000 */ Actor actor;
/* 0x014C */ SkelAnime skelAnime;
/* 0x0190 */ EnKoActionFunc actionFunc;
/* 0x0194 */ s8 headObjectBankIdx;
/* 0x0195 */ s8 bodyObjectBankIdx;
/* 0x0196 */ s8 legsObjectBankIdx;
/* 0x0197 */ s8 osAnimeBankIndex;
/* 0x0198 */ ColliderCylinder collider;
/* 0x01E4 */ Path* path;
/* 0x01E8 */ struct_80034A14_arg1 unk_1E8;
/* 0x0210 */ u8 unk_210; // block trade quest sfx
/* 0x0212 */ s16 forestQuestState;
/* 0x0214 */ s16 blinkTimer;
/* 0x0216 */ s16 eyeTextureIndex;
/* 0x0218 */ f32 appearDist;
/* 0x021C */ f32 lookDist; // distance to start looking at player
/* 0x0220 */ f32 modelAlpha;
/* 0x0224 */ Vec3s jointTable[16];
/* 0x0284 */ Vec3s morphTable[16];
/* 0x02E4 */ s16 unk_2E4[16];
/* 0x0304 */ s16 unk_304[16];
} EnKo; // size = 0x0324
typedef enum {
ENKO_TYPE_CHILD_0,
ENKO_TYPE_CHILD_1,
ENKO_TYPE_CHILD_2,
ENKO_TYPE_CHILD_3,
ENKO_TYPE_CHILD_4,
ENKO_TYPE_CHILD_5, // Shop Awning
ENKO_TYPE_CHILD_6,
ENKO_TYPE_CHILD_7,
ENKO_TYPE_CHILD_8,
ENKO_TYPE_CHILD_9,
ENKO_TYPE_CHILD_10,
ENKO_TYPE_CHILD_11,
ENKO_TYPE_CHILD_FADO,
ENKO_TYPE_CHILD_MAX
} KokiriChildren;
typedef enum {
ENKO_FQS_CHILD_START,
ENKO_FQS_CHILD_STONE,
ENKO_FQS_CHILD_SARIA,
ENKO_FQS_ADULT_ENEMY,
ENKO_FQS_ADULT_SAVED
} KokiriForestQuestState;
#endif