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
135
136
137
138
139
140
141
142
143
144
|
#ifndef D_A_BST_H
#define D_A_BST_H
#include "d/d_bg_s_acch.h"
#include "d/d_cc_d.h"
#include "d/d_particle.h"
#include "f_op/f_op_actor.h"
class mDoExt_McaMorf;
class mDoExt_btkAnm;
class mDoExt_brkAnm;
struct bst_class {
enum Part_Type_e {
Type_HEAD_e = 0,
Type_LEFT_HAND_e = 1,
Type_RIGHT_HAND_e = 2,
};
enum ActionType {
ACTION_STAY_e = 0,
ACTION_FLY_e = 1,
ACTION_DAMAGE_e = 5,
ACTION_SLEEP_e = 6,
ACTION_HEAD_DAMAGE_e = 7,
ACTION_HEAD_HUKKI_e = 8,
ACTION_DOWN_ATTACK_e = 10,
ACTION_PAA_ATTACK_e = 11,
ACTION_KUMI_ATTACK_e = 12,
ACTION_HARAI_ATTACK_e = 13,
ACTION_BEAM_ATTACK_e = 14,
ACTION_HANA_DEMO_e = 20,
ACTION_END_DEMO_e = 22,
};
/* 0x0000 */ fopEn_enemy_c actor;
/* 0x02AC */ request_of_phase_process_class mPhs;
/* 0x02B4 */ u8 mBstPartType;
/* 0x02B5 */ u8 m02B5[0x02B8 - 0x02B5];
/* 0x02B8 */ mDoExt_McaMorf* m02B8;
/* 0x02BC */ mDoExt_btkAnm* mpTexMtxAnimator;
/* 0x02C0 */ mDoExt_brkAnm* mpTevRegAnimator;
/* 0x02C4 */ s8 m02C4;
/* 0x02C5 */ u8 m02C5[0x02C8 - 0x02C5];
/* 0x02C8 */ J3DModel* m02C8;
/* 0x02CC */ mDoExt_btkAnm* mpBtkAnm;
/* 0x02D0 */ mDoExt_brkAnm* mpBrkAnm;
/* 0x02D4 */ s8 m02D4;
/* 0x02D5 */ u8 m02D5[0x02D8 - 0x02D5];
/* 0x02D8 */ dKy_tevstr_c mEnvLight;
/* 0x0388 */ J3DModel* m0388;
/* 0x038C */ u32 mShadowID;
/* 0x0390 */ J3DModel* m0390[10];
/* 0x03B8 */ cXyz m03B8[10];
/* 0x0430 */ cXyz m0430[10];
/* 0x04A8 */ csXyz m04A8[10];
/* 0x04E4 */ s8 m04E4[10];
/* 0x04EE */ u8 m04EE[0x04F0 - 0x04EE];
/* 0x04F0 */ dCcD_Sph mCcD_beams[10];
/* 0x10A8 */ f32 m10A8[10];
/* 0x10D0 */ f32 m10D0;
/* 0x10D4 */ s16 mUpdateLastFacingDirIfMultipleOf32;
/* 0x10D6 */ s16 mActionType;
/* 0x10D8 */ s16 m10D8;
/* 0x10DA */ s16 mDamage;
/* 0x10DC */ cXyz mTargetPos;
/* 0x10E8 */ s16 mLastCheckedPlayerFacingDir;
/* 0x10EA */ u8 m10EA[0x10EC - 0x10EA];
/* 0x10EC */ cXyz m10EC;
/* 0x10F8 */ f32 m10F8;
/* 0x10FC */ s16 m10FC[5]; // 0 = mUpdateTargetPosTimer, 1 = mSleepTimer
/* 0x1106 */ s16 mDamageTimer;
/* 0x1108 */ s16 mState;
/* 0x110A */ s16 mStateTimer;
/* 0x110C */ u8 m110C[0x1110 - 0x110C];
/* 0x1110 */ f32 m1110;
/* 0x1114 */ f32 m1114;
/* 0x1118 */ f32 m1118;
/* 0x111C */ s16 m111C;
/* 0x111E */ u8 m111E[0x1120 - 0x111E];
/* 0x1120 */ f32 mHeadHurtSpeed;
/* 0x1124 */ s16 mHurtRecoilAngle1;
/* 0x1126 */ s16 mHurtRecoilAngle2;
/* 0x1128 */ s16 mHeadHurtAngle;
/* 0x112A */ s16 m112A;
/* 0x112C */ s16 m112C;
/* 0x112E */ u8 m112E[0x1130 - 0x112E];
/* 0x1130 */ dBgS_AcchCir mAcchCir;
/* 0x1170 */ dBgS_ObjAcch mAcch;
/* 0x1334 */ dCcD_Stts mStts;
/* 0x1370 */ dCcD_Cyl mHeadHurtCyl;
/* 0x14A0 */ dCcD_Cyl mHandHurtCyl;
/* 0x15D0 */ dCcD_Sph mFingerSphs[19];
/* 0x2C14 */ dCcD_Sph mEyeSphs[2];
/* 0x2E6C */ u8 m2E6C[0x2E6E - 0x2E6C];
/* 0x2E6E */ s16 m2E6E;
/* 0x2E70 */ s16 mFacingDir;
/* 0x2E72 */ s8 mEyeHealth[2];
/* 0x2E74 */ s16 m2E74[2];
/* 0x2E78 */ s16 m2E78[2];
/* 0x2E7C */ s8 m2E7C;
/* 0x2E7D */ u8 m2E7D[0x2E7E - 0x2E7D];
/* 0x2E7E */ s16 m2E7E[3]; // 1 = mHeadBeamAttackTimer
/* 0x2E84 */ s16 mBombArrowDropTimer;
/* 0x2E86 */ u8 m2E86[0x2E88 - 0x2E86];
/* 0x2E88 */ fpc_ProcID mBombId;
/* 0x2E8C */ fpc_ProcID mCreatedItemId;
/* 0x2E90 */ fpc_ProcID m2E90[2];
#if VERSION > VERSION_DEMO
/* 0x2E98 */ s16 m2E98;
#endif
/* 0x2E9A */ s8 m2E9A;
/* 0x2E9B */ u8 m2E9B[0x2E9C - 0x2E9B];
/* 0x2E9C */ s16 msFrameCount;
/* 0x2E9E */ s8 m2E9E;
/* 0x2E9F */ u8 m2E9F[0x2EA0 - 0x2E9F];
/* 0x2EA0 */ cXyz m2EA0;
/* 0x2EAC */ cXyz m2EAC;
/* 0x2EB8 */ u8 m2EB8[0x2EC4 - 0x2EB8];
/* 0x2EC4 */ f32 m2EC4;
/* 0x2EC8 */ f32 m2EC8;
/* 0x2ECC */ f32 m2ECC;
/* 0x2ED0 */ f32 m2ED0;
/* 0x2ED4 */ s8 mRoomState;
/* 0x2ED5 */ u8 m2ED5[0x2ED8 - 0x2ED5];
/* 0x2ED8 */ JPABaseEmitter* m2ED8[2];
/* 0x2EE0 */ JPABaseEmitter* m2EE0[2];
/* 0x2EE8 */ u8 m2EE8[0x2EF4 - 0x2EE8];
/* 0x2EF4 */ JPABaseEmitter* m2EF4;
/* 0x2EF8 */ JPABaseEmitter* m2EF8;
/* 0x2EF8 */ u8 m2EFC[0x2F00 - 0x2EFC];
/* 0x2F00 */ dPa_smokeEcallBack mPa_smokeEcallBack;
/* 0x2F20 */ dKy_tevstr_c m2F20;
/* 0x2FD0 */ J3DModel* m2FD0;
/* 0x2FD4 */ mDoExt_btkAnm* m2FD4;
/* 0x2FD8 */ mDoExt_brkAnm* m2FD8;
/* 0x2FDC */ J3DModel* m2FDC;
/* 0x2FE0 */ mDoExt_brkAnm* m2FE0;
/* 0x2FE4 */ s8 m2FE4;
/* 0x2FE5 */ u8 mHioSet;
/* 0x2FE6 */ u8 m2FE6[0x2FE8 - 0x2FE6];
}; // Size: 0x2FE8
#endif /* D_A_BST_H */
|