Shipwright/soh/src/overlays/actors/ovl_En_Vm/z_en_vm.h

41 lines
1.0 KiB
C

#ifndef Z_EN_VM_H
#define Z_EN_VM_H
#include "ultra64.h"
#include "global.h"
struct EnVm;
typedef void (*EnVmActionFunc)(struct EnVm*, GlobalContext*);
typedef struct EnVm {
/* 0x0000 */ Actor actor;
/* 0x014C */ SkelAnime skelAnime;
/* 0x0190 */ Vec3s jointTable[11];
/* 0x01D2 */ Vec3s morphTable[11];
/* 0x0214 */ EnVmActionFunc actionFunc;
/* 0x0218 */ f32 beamSightRange;
/* 0x021C */ s32 unk_21C;
/* 0x0220 */ s32 timer;
/* 0x0224 */ Vec3f beamPos1;
/* 0x0230 */ Vec3f beamPos2;
/* 0x023C */ Vec3f beamPos3;
/* 0x0248 */ Vec3f beamScale;
/* 0x0254 */ Vec3s beamRot;
/* 0x025A */ s16 beamTexScroll;
/* 0x025C */ s16 headRotY;
/* 0x025E */ s16 unk_25E;
/* 0x0260 */ s16 unk_260;
/* 0x0264 */ f32 beamSpeed;
/* 0x0268 */ ColliderCylinder colliderCylinder;
/* 0x02B4 */ ColliderQuad colliderQuad1;
/* 0x0334 */ ColliderQuad colliderQuad2;
} EnVm; // size = 0x03B4
typedef enum {
/* 0x00 */ BEAMOS_LARGE,
/* 0x01 */ BEAMOS_SMALL
} BeamosType;
#endif