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: "???"
70 lines
1.9 KiB
C
70 lines
1.9 KiB
C
#ifndef Z_EN_FHG_FIRE_H
|
|
#define Z_EN_FHG_FIRE_H
|
|
|
|
#include "ultra64.h"
|
|
#include "global.h"
|
|
|
|
struct EnFhgFire;
|
|
|
|
typedef void (*EnFhgFireUpdateFunc)(struct EnFhgFire*, GlobalContext*);
|
|
|
|
typedef enum {
|
|
/* 1 */ FHGFIRE_LIGHTNING_STRIKE = 1,
|
|
/* 35 */ FHGFIRE_LIGHTNING_SHOCK = 35,
|
|
/* 36 */ FHGFIRE_LIGHTNING_BURST,
|
|
/* 38 */ FHGFIRE_SPEAR_LIGHT = 38,
|
|
/* 39 */ FHGFIRE_WARP_EMERGE,
|
|
/* 40 */ FHGFIRE_WARP_RETREAT,
|
|
/* 41 */ FHGFIRE_WARP_DEATH,
|
|
/* 50 */ FHGFIRE_ENERGY_BALL = 50,
|
|
/* 100 */ FHGFIRE_LIGHTNING_TRAIL = 100
|
|
} FhgFireParam;
|
|
|
|
typedef enum {
|
|
/* 0 */ FHGFIRE_LIGHT_GREEN,
|
|
/* 1 */ FHGFIRE_LIGHT_BLUE,
|
|
/* 2 */ FHGFIRE_LIGHT_REFLECT
|
|
} FhgLightMode;
|
|
|
|
typedef enum {
|
|
/* 0 */ FHGFIRE_TIMER,
|
|
/* 1 */ FHGFIRE_FX_TIMER,
|
|
/* 2 */ FHGFIRE_US_2,
|
|
/* 3 */ FHGFIRE_VARIANCE_TIMER,
|
|
/* 4 */ FHGFIRE_FIRE_MODE,
|
|
/* 5 */ FHGFIRE_RETURN_COUNT,
|
|
/* 6 */ FHGFIRE_KILL_TIMER,
|
|
/* 7 */ FHGFIRE_SHORT_COUNT
|
|
} FhgFireS16Var;
|
|
|
|
typedef enum {
|
|
/* 0 */ FHGFIRE_ALPHA,
|
|
/* 1 */ FHGFIRE_UF_1,
|
|
/* 2 */ FHGFIRE_UF_2,
|
|
/* 3 */ FHGFIRE_SCALE,
|
|
/* 4 */ FHGFIRE_UF_4,
|
|
/* 5 */ FHGFIRE_WARP_TEX_1_X,
|
|
/* 6 */ FHGFIRE_WARP_TEX_1_Y,
|
|
/* 7 */ FHGFIRE_WARP_TEX_2_X,
|
|
/* 8 */ FHGFIRE_WARP_TEX_2_Y,
|
|
/* 9 */ FHGFIRE_WARP_TEX_SPEED,
|
|
/* 10 */ FHGFIRE_WARP_ALPHA,
|
|
/* 11 */ FHGFIRE_BURST_SCALE,
|
|
/* 15 */ FHGFIRE_FLOAT_COUNT = 15
|
|
} FhgFireF32Var;
|
|
|
|
typedef struct EnFhgFire {
|
|
/* 0x0000 */ Actor actor;
|
|
/* 0x014C */ EnFhgFireUpdateFunc updateFunc;
|
|
/* 0x0150 */ s16 work[FHGFIRE_SHORT_COUNT];
|
|
/* 0x0160 */ f32 fwork[FHGFIRE_FLOAT_COUNT];
|
|
/* 0x019C */ LightNode* lightNode;
|
|
/* 0x01A0 */ LightInfo lightInfo;
|
|
/* 0x01B0 */ ColliderCylinder collider;
|
|
/* 0x01FC */ u8 lensFlareOn;
|
|
/* 0x01FE */ s16 lensFlareTimer;
|
|
/* 0x0200 */ f32 lensFlareScale;
|
|
} EnFhgFire; // size = 0x0204
|
|
|
|
#endif
|