Shipwright/soh/src/overlays/actors/ovl_En_Zo/z_en_zo.h

45 lines
1.1 KiB
C

#ifndef Z_EN_ZO_H
#define Z_EN_ZO_H
#include "ultra64.h"
#include "global.h"
struct EnZo;
typedef struct {
/* 0x00 */ u8 type;
/* 0x04 */ f32 scale;
/* 0x08 */ f32 targetScale;
/* 0x0C */ Color_RGBA8 color;
/* 0x10 */ u32 pad;
/* 0x14 */ Vec3f pos;
/* 0x20 */ Vec3f vel;
/* 0x2C */ Vec3f vec; // Usage specific
u32 epoch;
} EnZoEffect; // size = 0x38
typedef void (*EnZoActionFunc)(struct EnZo*, GlobalContext*);
typedef struct EnZo {
/* 0x0000 */ Actor actor;
/* 0x014C */ SkelAnime skelAnime;
/* 0x0190 */ EnZoActionFunc actionFunc;
/* 0x0194 */ struct_80034A14_arg1 unk_194;
/* 0x01BC */ ColliderCylinder collider;
/* 0x0208 */ u8 canSpeak;
/* 0x020A */ Vec3s jointTable[20];
/* 0x0282 */ Vec3s morphTable[20];
/* 0x02FC */ EnZoEffect effects[15];
/* 0x0644 */ f32 dialogRadius;
/* 0x0648 */ f32 alpha;
/* 0x064C */ s16 unk_64C;
/* 0x064E */ s16 rippleTimer;
/* 0x0650 */ s16 timeToDive;
/* 0x0652 */ s16 blinkTimer;
/* 0x0654 */ s16 eyeTexture;
/* 0x0656 */ s16 unk_656[20];
/* 0x067E */ s16 unk_67E[20];
} EnZo; // size = 0x06A8
#endif