Shipwright/soh/src/overlays/actors/ovl_En_Gb/z_en_gb.h

51 lines
1.3 KiB
C

#ifndef Z_EN_GB_H
#define Z_EN_GB_H
#include "ultra64.h"
#include "global.h"
struct EnGb;
typedef void (*EnGbActionFunc)(struct EnGb*, GlobalContext*);
typedef struct {
/* 0x00 */ Color_RGBA8 prim;
/* 0x04 */ Color_RGBA8 env;
/* 0x08 */ void* texture;
/* 0x0C */ s16 timerMultiplier;
} EnGbCagedSoulInfo; // size = 0x10
typedef struct {
/* 0x00 */ u8 infoIdx;
/* 0x01 */ u8 unk_1;
/* 0x02 */ u8 unk_2;
/* 0x03 */ u8 unk_3;
/* 0x04 */ u8 rotate180;
/* 0x06 */ s16 unk_6;
/* 0x08 */ Vec3f translation;
/* 0x14 */ Vec3f unk_14;
/* 0x20 */ f32 unk_20;
/* 0x24 */ f32 unk_24;
/* 0x28 */ f32 unk_28;
u32 epoch;
} EnGbCagedSoul; // size = 0x2C
typedef struct EnGb {
/* 0x0000 */ DynaPolyActor dyna;
/* 0x0164 */ SkelAnime skelAnime;
/* 0x01A8 */ Vec3s jointTable[12];
/* 0x01F0 */ Vec3s morphTable[12];
/* 0x0238 */ EnGbActionFunc actionFunc;
/* 0x023C */ ColliderCylinder collider;
/* 0x0288 */ ColliderCylinder bottlesColliders[3];
/* 0x036C */ LightNode* light;
/* 0x0370 */ LightInfo lightInfo;
/* 0x037E */ u16 textId;
/* 0x0380 */ s16 frameTimer;
/* 0x0382 */ s16 actionTimer;
/* 0x0384 */ Color_RGBA8 lightColor;
/* 0x0388 */ EnGbCagedSoul cagedSouls[4];
} EnGb; // size = 0x0438
#endif