37 lines
1009 B
C
37 lines
1009 B
C
#ifndef Z_EN_JJ_H
|
|
#define Z_EN_JJ_H
|
|
|
|
#include "ultra64.h"
|
|
#include "global.h"
|
|
|
|
struct EnJj;
|
|
|
|
typedef void (*EnJjActionFunc)(struct EnJj*, GlobalContext*);
|
|
|
|
typedef struct EnJj {
|
|
/* 0x0000 */ DynaPolyActor dyna;
|
|
/* 0x0164 */ SkelAnime skelAnime;
|
|
/* 0x01A8 */ Vec3s jointTable[22];
|
|
/* 0x022C */ Vec3s morphTable[22];
|
|
/* 0x02B0 */ ColliderCylinder collider;
|
|
/* 0x02FC */ EnJjActionFunc actionFunc;
|
|
/* 0x0300 */ DynaPolyActor* bodyCollisionActor;
|
|
/* 0x0304 */ Actor* dust;
|
|
/* 0x0308 */ s16 mouthOpenAngle;
|
|
/* 0x030A */ u16 unk_30A;
|
|
/* 0x030C */ s16 cutsceneCountdownTimer;
|
|
/* 0x030E */ u8 eyeIndex;
|
|
/* 0x030F */ u8 blinkTimer;
|
|
/* 0x0310 */ u8 extraBlinkCounter;
|
|
/* 0x0311 */ u8 extraBlinkTotal;
|
|
} EnJj; // size = 0x0314
|
|
|
|
typedef enum {
|
|
/* -1 */ JABUJABU_MAIN = -1, // Head, drawn body, handles updating
|
|
/* 0 */ JABUJABU_COLLISION, // Static collision for body
|
|
/* 1 */ JABUJABU_UNUSED_COLLISION // Shaped like a screen
|
|
} EnJjType;
|
|
|
|
|
|
#endif
|