summaryrefslogtreecommitdiff
path: root/src/overlays/actors/ovl_En_fHG/z_en_fhg.h
blob: e44cc79d8cdb191826b854187d30db67eec4e3e3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#ifndef Z_EN_FHG_H
#define Z_EN_FHG_H

#include "ultra64.h"
#include "actor.h"
#include "skin.h"

struct EnfHG;

typedef void (*EnfHGActionFunc)(struct EnfHG*, struct PlayState*);

typedef enum EnfHGSignal {
    /*  0 */ FHG_NO_SIGNAL,
    /*  1 */ FHG_RAISE_SPEAR,
    /*  2 */ FHG_REAR,
    /*  3 */ FHG_LIGHTNING,
    /*  4 */ FHG_RESET,
    /*  5 */ FHG_RIDE,
    /* 10 */ FHG_SPUR = 10,
    /* 11 */ FHG_FINISH,
    /* -1 */ FHG_START_FIGHT = 255
} EnfHGSignal;

typedef struct EnfHG {
    /* 0x0000 */ Actor actor;
    /* 0x014C */ u8 bossGndSignal;
    /* 0x014D */ u8 bossGndInPainting;
    /* 0x014E */ u8 killActor;
    /* 0x014F */ u8 fhgFireKillWarp;
    /* 0x0150 */ Vec3f subCamEye;
    /* 0x015C */ Vec3f subCamAt;
    /* 0x0168 */ Vec3f subCamEyeVel;
    /* 0x0174 */ Vec3f subCamAtVel;
    /* 0x0180 */ Vec3f hoofSfxPos;
    /* 0x018C */ Vec3f inPaintingPos;
    /* 0x0198 */ f32 inPaintingVelX;
    /* 0x019C */ f32 inPaintingVelZ;
    /* 0x01A0 */ f32 damageSpeedMod;
    /* 0x01A4 */ f32 approachRate;
    /* 0x01A8 */ f32 subCamVelFactor;
    /* 0x01AC */ f32 subCamPanZ;
    /* 0x01B0 */ char unk_1B0[0x10];
    /* 0x01C0 */ s16 gallopTimer;
    /* 0x01C2 */ s16 curPainting;
    /* 0x01C4 */ s16 targetPainting;
    /* 0x01C6 */ s16 turnTarget;
    /* 0x01C8 */ s16 spawnedWarp;
    /* 0x01CA */ s16 cutsceneState;
    /* 0x01CC */ s16 subCamId;
    /* 0x01CE */ char unk_1CE[6];
    /* 0x01D4 */ s16 timers[5];
    /* 0x01DE */ s16 hitTimer;
    /* 0x01E0 */ s16 turnRot;
    /* 0x01E2 */ char unk_1E2[6];
    /* 0x01E8 */ f32 warpColorFilterR;
    /* 0x01EC */ f32 warpColorFilterG;
    /* 0x01F0 */ f32 warpColorFilterB;
    /* 0x01F4 */ f32 warpColorFilterUnk1;
    /* 0x01F8 */ f32 warpColorFilterUnk2;
    /* 0x01FC */ EnfHGActionFunc actionFunc;
    /* 0x0200 */ char unk_200[4];
    /* 0x0204 */ Skin skin;
} EnfHG; // size = 0x0294

#endif