#ifndef Z_EN_BIGPAMET_H
#define Z_EN_BIGPAMET_H

#include "global.h"
#include "objects/object_tl/object_tl.h"

struct EnBigpamet;

typedef void (*EnBigpametActionFunc)(struct EnBigpamet*, PlayState*);

enum {
    /* 0 */ ENBIGPAMET_0,    
    /* 1 */ ENBIGPAMET_1,    
};

typedef struct {
    /* 0x00 */ Vec3f unk_00;
    /* 0x0C */ Vec3f unk_0C;
    /* 0x18 */ Vec3s unk_18;
    /* 0x20 */ f32 unk_20;
} EnBigpametStruct; // size = 0x24

typedef struct EnBigpamet {
    /* 0x000 */ Actor actor;
    /* 0x144 */ SkelAnime skelAnime2;
    /* 0x188 */ Vec3s jointTable2[OBJECT_TL_2_LIMB_MAX];
    /* 0x1D6 */ Vec3s morphTable2[OBJECT_TL_2_LIMB_MAX];
    /* 0x224 */ SkelAnime skelAnime1;
    /* 0x268 */ Vec3s jointTable1[OBJECT_TL_1_LIMB_MAX];
    /* 0x280 */ Vec3s morphTable1[OBJECT_TL_1_LIMB_MAX];
    /* 0x298 */ EnBigpametActionFunc actionFunc;
    /* 0x29C */ u8 unk_29C;
    /* 0x29E */ s16 unk_29E;
    /* 0x2A0 */ UNK_TYPE1 pad2A0[2];
    /* 0x2A2 */ s16 unk_2A2;
    /* 0x2A4 */ f32 unk_2A4;
    /* 0x2A8 */ f32 unk_2A8;
    /* 0x2AC */ f32 unk_2AC;
    /* 0x2B0 */ ColliderCylinder collider;
    /* 0x2FC */ EnBigpametStruct unk_2FC[20];
} EnBigpamet; // size = 0x5CC

extern const ActorInit En_Bigpamet_InitVars;

#endif // Z_EN_BIGPAMET_H
