Shipwright/soh/src/overlays/actors/ovl_Demo_Im/z_demo_im.h

55 lines
1.5 KiB
C

#ifndef Z_DEMO_IM_H
#define Z_DEMO_IM_H
#include "ultra64.h"
#include "global.h"
struct DemoIm;
typedef void (*DemoImActionFunc)(struct DemoIm*, GlobalContext*);
typedef void (*DemoImDrawFunc)(struct DemoIm*, GlobalContext*);
typedef enum {
/* 0x00 */ IMPA_LIMB_NONE,
/* 0x01 */ IMPA_LIMB_ROOT,
/* 0x02 */ IMPA_LIMB_TORSO,
/* 0x03 */ IMPA_LIMB_LEFT_THIGH,
/* 0x04 */ IMPA_LIMB_LEFT_LEG,
/* 0x05 */ IMPA_LIMB_LEFT_FOOT,
/* 0x06 */ IMPA_LIMB_RIGHT_THIGH,
/* 0x07 */ IMPA_LIMB_RIGHT_LEG,
/* 0x08 */ IMPA_LIMB_RIGHT_FOOT,
/* 0x09 */ IMPA_LIMB_CHEST,
/* 0x0A */ IMPA_LIMB_LEFT_SHOULDER,
/* 0x0B */ IMPA_LIMB_LEFT_ARM,
/* 0x0C */ IMPA_LIMB_LEFT_HAND,
/* 0x0D */ IMPA_LIMB_RIGHT_SHOULDER,
/* 0x0E */ IMPA_LIMB_RIGHT_ARM,
/* 0x0F */ IMPA_LIMB_RIGHT_HAND,
/* 0x10 */ IMPA_LIMB_HEAD,
/* 0x11 */ IMPA_LIMB_MAX
} ImpaLimb;
typedef struct DemoIm {
/* 0x0000 */ Actor actor;
/* 0x014C */ SkelAnime skelAnime;
/* 0x0190 */ Vec3s jointTable[IMPA_LIMB_MAX];
/* 0x01F6 */ Vec3s morphTable[IMPA_LIMB_MAX];
/* 0x025C */ s16 eyeIndex;
/* 0x025E */ s16 blinkTimer;
/* 0x0260 */ s32 action;
/* 0x0264 */ s32 drawConfig;
/* 0x0268 */ f32 unk_268;
/* 0x026C */ s32 alpha;
/* 0x0270 */ s32 unk_270;
/* 0x0274 */ s32 unk_274;
/* 0x0278 */ f32 unk_278;
/* 0x027C */ s32 unk_27C;
/* 0x0280 */ s32 unk_280;
/* 0x0284 */ ColliderCylinder collider;
/* 0x02D0 */ s32 unk_2D0;
/* 0x02D4 */ struct_80034A14_arg1 unk_2D4;
} DemoIm; // size = 0x02FC
#endif