Shipwright/soh/src/overlays/actors/ovl_Boss_Va/z_boss_va.h

75 lines
2.5 KiB
C

#ifndef Z_BOSS_VA_H
#define Z_BOSS_VA_H
#include "ultra64.h"
#include "global.h"
struct BossVa;
typedef void (*BossVaActionFunc)(struct BossVa*, GlobalContext*);
typedef struct BossVa {
/* 0x0000 */ Actor actor;
/* 0x014C */ SkelAnime skelAnime;
/* 0x0190 */ BossVaActionFunc actionFunc;
/* 0x0194 */ u8 onCeiling;
/* 0x0195 */ u8 burst;
/* 0x0196 */ s8 invincibilityTimer;
/* 0x0197 */ u8 isDead;
/* 0x0198 */ s32 timer;
/* 0x019C */ s16 timer2;
/* 0x01A0 */ f32 unk_1A0; // Upper body section pulse, Bari spin radius
/* 0x01A4 */ f32 unk_1A4; // Lower body segment pulse, Bari bob phase
/* 0x01A8 */ f32 unk_1A8; // Death camera zoom. Always 0.
/* 0x01AC */ s16 unk_1AC; // Body pulse phase, death camera rotation, Bari radius
/* 0x01AE */ s16 bodyGlow;
/* 0x01B0 */ s16 unk_1B0; // Body glow pulse rate, death growths counter, zapper death camera
/* 0x01B4 */ Vec3f armTip;
/* 0x01C0 */ Vec3f zapNeckPos;
/* 0x01CC */ Vec3f zapHeadPos;
/* 0x01D8 */ Vec3f unk_1D8; // Bari scale, Attach point for Bari spin, zapper head
/* 0x01E4 */ s16 unk_1E4; // Various Zapper rotations
/* 0x01E6 */ s16 unk_1E6;
/* 0x01E8 */ s16 unk_1E8;
/* 0x01EA */ s16 unk_1EA;
/* 0x01EC */ s16 unk_1EC;
/* 0x01EE */ s16 unk_1EE;
/* 0x01F0 */ s16 unk_1F0; // Bari lightning scale
/* 0x01F2 */ s16 unk_1F2; // Intro camera rotation rate
/* 0x01F4 */ s16 unk_1F4;
/* 0x01F6 */ Vec3s headRot;
/* 0x01FC */ Vec3f effectPos[10];
/* 0x0274 */ Vec3f unk_274; // Unused body position
/* 0x0280 */ Vec3f unk_280; // Unused body position
/* 0x028C */ ColliderCylinder colliderBody;
/* 0x02D8 */ ColliderJntSph colliderSph;
/* 0x02F8 */ ColliderJntSphElement elements[1];
/* 0x0338 */ ColliderQuad colliderLightning;
} BossVa; // size = 0x03B8
typedef enum {
/* -1 */ BOSSVA_BODY = -1,
/* 0 */ BOSSVA_SUPPORT_1,
/* 1 */ BOSSVA_SUPPORT_2,
/* 2 */ BOSSVA_SUPPORT_3,
/* 3 */ BOSSVA_ZAPPER_1,
/* 4 */ BOSSVA_ZAPPER_2,
/* 5 */ BOSSVA_ZAPPER_3,
/* 6 */ BOSSVA_BARI_UPPER_1,
/* 7 */ BOSSVA_BARI_UPPER_2,
/* 8 */ BOSSVA_BARI_UPPER_3,
/* 9 */ BOSSVA_BARI_UPPER_4,
/* 10 */ BOSSVA_BARI_UPPER_5,
/* 11 */ BOSSVA_BARI_LOWER_1,
/* 12 */ BOSSVA_BARI_LOWER_2,
/* 13 */ BOSSVA_BARI_LOWER_3,
/* 14 */ BOSSVA_BARI_LOWER_4,
/* 15 */ BOSSVA_BARI_LOWER_5,
/* 16 */ BOSSVA_STUMP_1,
/* 17 */ BOSSVA_STUMP_2,
/* 18 */ BOSSVA_STUMP_3,
/* 19 */ BOSSVA_DOOR
} BossVaParam;
#endif