summaryrefslogtreecommitdiff
path: root/include/d/actor/d_a_e_mk.h
blob: f9c5c2abd76b8f4c6c3d7287c1326ac29dcc601a (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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
#ifndef D_A_E_MK_H
#define D_A_E_MK_H
#include "d/actor/d_a_e_db.h"
#include "d/actor/d_a_obj_pillar.h"
#include "d/d_bg_s_acch.h"
#include "d/d_cc_d.h"
#include "d/d_cc_uty.h"
#include "d/d_msg_flow.h"
#include "f_op/f_op_actor_mng.h"

/**
 * @ingroup actors-enemies
 * @class e_mk_class
 * @brief Ook
 * 
 * @details 
 * 
*/

class e_mk_class {
public:
    enum e_mk_ACTION {
        ACT_WAIT,
        ACT_MOVE,
        ACT_SHOOT,
        ACT_YORO,
        ACT_DROP = 9,
        ACT_DAMAGE,
        ACT_S_DEMO = 20,
        ACT_E_DEMO = 30,
        ACT_R04_DEMO = 35,
    };

    enum Demo_Mode {
        /* 0x0 */ DEMO_MODE_NONE,
        /* 0x1 */ DEMO_MODE_START,
        /* 0x2 */ DEMO_MODE_END,
        /* 0x3 */ DEMO_MODE_R04,
        /* 0x4 */ DEMO_MODE_BOHIT,
        /* 0xA */ DEMO_MODE_FINISH = 0xA,
    };

    /* 0x000 */ fopEn_enemy_c actor;
    /* 0x5AC */ request_of_phase_process_class phase;
    /* 0x5B4 */ s16 mode;
    /* 0x5B6 */ u8 arg0;
    /* 0x5B8 */ cXyz posTarget;
    /* 0x5C4 */ u8 field_0x5c4[0x5c8 - 0x5c4];
    /* 0x5C8 */ mDoExt_McaMorfSO* anmP;
    /* 0x5CC */ int anmNo;
    /* 0x5D0 */ mDoExt_btpAnm* btpP;
    /* 0x5D4 */ s16 field_0x5d4;
    /* 0x5D8 */ f32 btpFrame;
    /* 0x5DC */ mDoExt_McaMorf* crownAnmP;
    /* 0x5E0 */ s8 unkFlag1;
    /* 0x5E4 */ cXyz crownPos;
    /* 0x5F0 */ csXyz unkRotation;
    /* 0x5F6 */ csXyz field_0x5f6;
    /* 0x5FC */ f32 field_0x5fc; 
    /* 0x600 */ f32 field_0x600;
    /* 0x604 */ f32 field_0x604;
    /* 0x608 */ J3DModel* boomerangModelP;
    /* 0x60C */ s8 crownStatus;
    /* 0x60D */ s8 boomerangStatus;
    /* 0x60E */ s8 btpFrameFlag;
    /* 0x610 */ Z2CreatureEnemy sound;
    /* 0x6B4 */ s16 field_0x6b4;
    /* 0x6B6 */ s16 action;
    /* 0x6B8 */ f32 distToPl;
    /* 0x6BC */ s16 angleToPl;
    /* 0x6BE */ s8 unkFlag2;
    /* 0x6C0 */ cXyz prevPos;
    /* 0x6CC */ cXyz prevPosTarget;
    /* 0x6D8 */ f32 PosYTransOffset;
    /* 0x6DC */ cXyz posTargetStep;
    /* 0x6E8 */ daPillar_c* prevHasira;
    /* 0x6EC */ daPillar_c* hasira;
    /* 0x6F0 */ u32 shadowKey1;
    /* 0x6F4 */ u32 shadowKey2;
    /* 0x6F8 */ s8 unkFlag3;
    /* 0x6FA */ s16 unkCounter1;
    /* 0x6FC */ s16 timer[4];
    /* 0x704 */ s16 invulnerabilityTimer;
    /* 0x706 */ s8 tubaTimer;
    /* 0x707 */ s8 unkFlag4;
    /* 0x708 */ fpc_ProcID boomerangId;
    /* 0x70C */ e_db_class* db;
    /* 0x710 */ fpc_ProcID dbId1;
    /* 0x714 */ fpc_ProcID dbId2;
    /* 0x718 */ s8 unkFlag5;
    /* 0x719 */ s8 unkCounter2;
    /* 0x71A */ s8 unkTimer1;
    /* 0x71B */ s8 setSmokeFlag;
    /* 0x71C */ s8 unkCounter3;
    /* 0x71D */ s8 firstHasiraFlag;
    /* 0x71E */ s8 demoHasiraFlag;
    /* 0x720 */ dBgS_AcchCir acchcir;
    /* 0x760 */ dBgS_ObjAcch acch;
    /* 0x938 */ dCcU_AtInfo atInfo;
    /* 0x95C */ dCcD_Stts stts;
    /* 0x998 */ dCcD_Sph sph;
    /* 0xAD0 */ dCcD_Sph tgSph;
    /* 0xC08 */ u32 field_0xc08;
    /* 0xC0C */ u32 field_0xc0c;
    /* 0xC10 */ u32 field_0xc10;
    /* 0xC14 */ u32 field_0xc14;
    /* 0xC18 */ u32 boEno1Prtcls[2];
    /* 0xC20 */ u32 boEno0Prtcls[4];
    /* 0xC30 */ s16 demoMode;
    /* 0xC32 */ s16 demoSubMode;
    /* 0xC34 */ s16 demoCamCounter;
    /* 0xC38 */ cXyz camEye;
    /* 0xC44 */ cXyz camCenter;
    /* 0xC50 */ cXyz camEyeTarget;
    /* 0xC5C */ cXyz camCenterTarget;
    /* 0xC68 */ cXyz distToCamEyeTarget;
    /* 0xC74 */ cXyz distToCamCenterTarget;
    /* 0xC80 */ f32 demoCamFovy;
    /* 0xC84 */ f32 camStepScale1;
    /* 0xC88 */ f32 camStepScale2;
    /* 0xC8C */ f32 field_0xc8c;
    /* 0xC90 */ f32 field_0xc90;
    /* 0xC94 */ u8 field_0xc94[0xc98 - 0xc94];
    /* 0xC98 */ f32 field_0xc98;
    /* 0xC9C */ f32 field_0xc9c;
    /* 0xCA0 */ s16 prevPlShapeAngle;
    /* 0xCA4 */ dMsgFlow_c msgFlow;
    /* 0xCF0 */ u8 field_0xcf0[0xcf5 - 0xcf0];
    /* 0xCF5 */ u8 hioInit;
};

STATIC_ASSERT(sizeof(e_mk_class) == 0xcf8);

#endif /* D_A_E_MK_H */