34 lines
1.0 KiB
C
34 lines
1.0 KiB
C
#ifndef Z_EN_DEKUBABA_H
|
|
#define Z_EN_DEKUBABA_H
|
|
|
|
#include "ultra64.h"
|
|
#include "global.h"
|
|
|
|
struct EnDekubaba;
|
|
|
|
typedef void (*EnDekubabaActionFunc)(struct EnDekubaba*, GlobalContext*);
|
|
|
|
typedef enum {
|
|
/* 0 */ DEKUBABA_NORMAL,
|
|
/* 1 */ DEKUBABA_BIG
|
|
} DekuBabaType;
|
|
|
|
typedef struct EnDekubaba {
|
|
/* 0x0000 */ Actor actor;
|
|
/* 0x014C */ Vec3f bodyPartsPos[4];
|
|
/* 0x017C */ SkelAnime skelAnime;
|
|
/* 0x01C0 */ EnDekubabaActionFunc actionFunc;
|
|
/* 0x01C4 */ char pad[0x2];
|
|
/* 0x01C6 */ s16 timer;
|
|
/* 0x01C8 */ s16 targetSwayAngle;
|
|
/* 0x01CA */ s16 stemSectionAngle[3]; // Used to calculate the position of the stem sections and head with spherical trigonometry
|
|
/* 0x01D0 */ Vec3s jointTable[8];
|
|
/* 0x0200 */ Vec3s morphTable[8];
|
|
/* 0x0230 */ f32 size; // Used everywhere to rescale offsets etc. for Big ones
|
|
/* 0x0234 */ CollisionPoly* boundFloor;
|
|
/* 0x0238 */ ColliderJntSph collider;
|
|
/* 0x0258 */ ColliderJntSphElement colliderElements[7];
|
|
} EnDekubaba; // size = 0x0418
|
|
|
|
#endif
|