mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2024-08-13 17:03:47 -04:00
39cc86c260
subrepo: subdir: "soh" merged: "ba904bbd0" upstream: origin: "https://github.com/HarbourMasters/soh.git" branch: "master" commit: "ba904bbd0" git-subrepo: version: "0.4.1" origin: "???" commit: "???"
63 lines
2.0 KiB
C
63 lines
2.0 KiB
C
#ifndef Z_EN_ANUBICE_H
|
|
#define Z_EN_ANUBICE_H
|
|
|
|
#include "ultra64.h"
|
|
#include "global.h"
|
|
#include "overlays/actors/ovl_Bg_Hidan_Curtain/z_bg_hidan_curtain.h"
|
|
|
|
struct EnAnubice;
|
|
|
|
typedef void (*EnAnubiceActionFunc)(struct EnAnubice*, struct GlobalContext*);
|
|
|
|
typedef enum {
|
|
/* 0 */ ANUBICE_LIMB_NONE,
|
|
/* 1 */ ANUBICE_LIMB_ROOT,
|
|
/* 2 */ ANUBICE_LIMB_BODY_ROOT,
|
|
/* 3 */ ANUBICE_LIMB_CHEST,
|
|
/* 4 */ ANUBICE_LIMB_ABDOMEN_ROOT,
|
|
/* 5 */ ANUBICE_LIMB_LOWER_ABDOMEN,
|
|
/* 6 */ ANUBICE_LIMB_UPPER_ABDOMEN,
|
|
/* 7 */ ANUBICE_LIMB_TAIL_ROOT,
|
|
/* 8 */ ANUBICE_LIMB_TAIL_BASE,
|
|
/* 9 */ ANUBICE_LIMB_TAIL_TIP,
|
|
/* 10 */ ANUBICE_LIMB_JEWEL_ROOT,
|
|
/* 11 */ ANUBICE_LIMB_JEWEL,
|
|
/* 12 */ ANUBICE_LIMB_HEAD_ROOT,
|
|
/* 13 */ ANUBICE_LIMB_HEAD,
|
|
/* 14 */ ANUBICE_LIMB_JAW_ROOT,
|
|
/* 15 */ ANUBICE_LIMB_JAW,
|
|
/* 16 */ ANUBICE_LIMB_MAX
|
|
} AnubiceLimbs;
|
|
|
|
typedef struct EnAnubice {
|
|
/* 0x0000 */ Actor actor;
|
|
/* 0x014C */ SkelAnime skelAnime;
|
|
/* 0x0190 */ Vec3s jointTable[ANUBICE_LIMB_MAX];
|
|
/* 0x01F0 */ Vec3s morphTable[ANUBICE_LIMB_MAX];
|
|
/* 0x0250 */ EnAnubiceActionFunc actionFunc;
|
|
/* 0x0254 */ s16 timeAlive;
|
|
/* 0x0256 */ s16 isFallingOver;
|
|
/* 0x0258 */ s16 fallTargetPitch;
|
|
/* 0x025A */ s16 deathTimer;
|
|
/* 0x025C */ s16 knockbackTimer;
|
|
/* 0x025E */ s16 isMirroringLink;
|
|
/* 0x0260 */ s16 isLinkOutOfRange;
|
|
/* 0x0262 */ s16 isKnockedback;
|
|
/* 0x0264 */ s16 hasSearchedForFlameCircles;
|
|
/* 0x0268 */ f32 hoverVelocityTimer;
|
|
/* 0x026C */ f32 animLastFrame;
|
|
/* 0x0270 */ f32 targetHeight;
|
|
/* 0x0274 */ f32 playerHeightOffset; // How high above the player to hover at
|
|
/* 0x0278 */ f32 headRot;
|
|
/* 0x027C */ f32 focusHeightOffset;
|
|
/* 0x0280 */ Vec3f fireballPos;
|
|
/* 0x028C */ Vec3f fireballRot;
|
|
/* 0x0298 */ Vec3f home;
|
|
/* 0x02A4 */ Vec3f knockbackRecoveryVelocity;
|
|
/* 0x02B0 */ BgHidanCurtain* flameCircles[5];
|
|
/* 0x02C4 */ char unk_2C4[0x4];
|
|
/* 0x02C8 */ ColliderCylinder collider;
|
|
} EnAnubice; // size = 0x0314
|
|
|
|
#endif
|