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
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
|
#ifndef D_A_B_GG_H
#define D_A_B_GG_H
#include "f_op/f_op_actor_mng.h"
#include "d/d_bg_s_acch.h"
#include "d/d_cc_d.h"
#include "d/d_cc_uty.h"
/**
* @ingroup actors-enemies
* @class daB_GG_c
* @brief Aeralfos (Gargoyle)
*
* @details City in the Sky dungeon mini-boss.
*
*/
class daB_GG_c : public fopEn_enemy_c {
public:
int CreateHeap();
void initCc();
void setCcCylinder();
void G_setCcCylinder();
void MoveCo();
int ctrlJoint(J3DJoint*, J3DModel*);
int HeadctrlJoint(J3DJoint*, J3DModel*);
void SetAnm(int, int, f32, f32);
void Yazirushi();
void SpeedClear();
void SetAction(u8, u8, u8);
u8 GetAction(u8, u8, u8);
void DemoSkip(int);
static int DemoSkipCallBack(void*, int);
bool CameraSet();
void SetStopingCam();
void SetStopCam(cXyz, f32, f32, s16);
void SetMoveCam(cXyz, f32, f32, s16, f32, f32);
void SetMoveCam1(f32, f32);
void SetReleaseCam();
void St_CamAction();
void St_DemoAction();
void Md_CamAction();
void Md_DemoAction();
void Gn_CamAction();
void Gn_DemoAction();
void DemoAction();
void F_WaitAction();
void F_FookChk();
void F_MoveAction();
void F_LV7_W_MoveAction();
void F_AttackAction();
void F_DamageAction();
void AttentionChk();
void FlyAction();
bool F_A_TargetMove(cXyz);
bool F_A_TargetMove(cXyz, u8);
void F_A_MoveAction();
void F_A_WaitAction();
void F_A_Action();
void FookChk();
void CutChk();
void G_MoveAction();
void FallChk();
void G_AttackAction();
void G_DamageAction();
void G_DeathAction();
void G_DeathAction1();
void DeathCam();
void GroundAction();
void StopAction();
void HitChk();
void Action();
void HeadAction();
void SetHeadAngle();
void SoundChk();
int Execute();
void ObjHit();
void At_Check();
void MoveAt();
void F_AtHit();
void ChanceTime();
void ArmAngleSet();
void Guard();
int Draw();
int Delete();
void setBaseMtx();
void setShieldMtx();
void setSwordMtx();
void setSwordMtx1();
void setHeadMtx();
void setHeadMtx1();
int Create();
/* 0x05AC */ f32 field_0x5ac;
/* 0x05B0 */ u8 field_0x5b0;
/* 0x05B1 */ u8 field_0x5b1;
/* 0x05B2 */ u8 field_0x5b2;
/* 0x05B4 */ s16 mInOutPosIdx;
/* 0x05B6 */ u8 field_0x5b6;
/* 0x05B7 */ u8 field_0x5b7;
/* 0x05B8 */ u8 field_0x5B8[0x05BA - 0x05B8];
/* 0x05BA */ s16 field_0x5ba;
/* 0x05BC */ f32 field_0x5bc;
/* 0x05C0 */ f32 field_0x5c0;
/* 0x05C4 */ u8 field_0x5c4;
/* 0x05C5 */ u8 mAction;
/* 0x05C6 */ u8 mSubAction;
/* 0x05C7 */ u8 mMode;
/* 0x05C8 */ u8 mPrevAction;
/* 0x05C9 */ u8 mPrevSubAction;
/* 0x05CA */ u8 mPrevMode;
/* 0x05CB */ u8 mCamMode;
/* 0x05CC */ s16 field_0x5cc;
/* 0x05CE */ u8 field_0x5ce;
/* 0x05CF */ u8 field_0x5cf;
/* 0x05D0 */ u8 field_0x5d0;
/* 0x05D4 */ int mAnm;
/* 0x05D8 */ s16 mTimers[4];
/* 0x05E0 */ s16 field_0x5e0;
/* 0x05E4 */ cXyz field_0x5e4;
/* 0x05F0 */ u8 field_0x5f0;
/* 0x05F4 */ cXyz mCamCenter;
/* 0x0600 */ cXyz mCamEye;
/* 0x060C */ cXyz field_0x60c;
/* 0x0618 */ cXyz field_0x618;
/* 0x0624 */ cXyz mCamCenterTarget;
/* 0x0630 */ cXyz mCamEyeTarget;
/* 0x063C */ f32 mCamFovy;
/* 0x0640 */ f32 mModelPlaySpeed;
/* 0x0644 */ f32 field_0x644;
/* 0x0648 */ f32 field_0x648;
/* 0x064C */ f32 field_0x64c;
/* 0x0650 */ f32 field_0x650;
/* 0x0654 */ u8 field_0x654[0x0658 - 0x0654];
/* 0x0658 */ s16 field_0x658;
/* 0x065A */ s16 field_0x65a;
/* 0x065C */ cXyz field_0x65c;
/* 0x0668 */ f32 field_0x668;
/* 0x066C */ u8 field_0x66c;
/* 0x066D */ u8 field_0x66d;
/* 0x0670 */ cXyz mSwordPos;
/* 0x067C */ csXyz mSwordRot;
/* 0x0684 */ cXyz field_0x684;
/* 0x0690 */ u8 mType;
/* 0x0694 */ cXyz mHeadPos;
/* 0x06A0 */ csXyz mHeadRot;
/* 0x06A8 */ cXyz field_0x6a8;
/* 0x06B4 */ csXyz field_0x6b4;
/* 0x06BA */ u8 field_0x6ba;
/* 0x06BC */ s16 field_0x6bc;
/* 0x06BE */ s16 field_0x6be;
/* 0x06C0 */ u8 field_0x6C0[0x06C4 - 0x06C0];
/* 0x06C4 */ s16 field_0x6c4;
/* 0x06C6 */ u8 field_0x6C6[0x06C8 - 0x06C6];
/* 0x06C8 */ csXyz mArmL1Rot;
/* 0x06CE */ csXyz mArmL2Rot;
/* 0x06D4 */ s16 field_0x6d4;
/* 0x06D6 */ s16 field_0x6d6;
/* 0x06D8 */ dCcD_Cyl mCcCyl;
/* 0x0814 */ dCcD_Sph mCcSph[3];
/* 0x0BBC */ dCcD_Cyl mCcHookCyl;
/* 0x0CF8 */ dCcD_Sph mCcShieldSph;
/* 0x0E30 */ mDoExt_McaMorfSO* mpModelMorf;
/* 0x0E34 */ J3DModel* mpShieldModel;
/* 0x0E38 */ J3DModel* mpSwordModel;
/* 0x0E3C */ J3DModel* mpHelmetModel;
/* 0x0E40 */ request_of_phase_process_class mPhase;
/* 0x0E48 */ u32 mShadowId;
/* 0x0E4C */ Z2CreatureEnemy mSound;
/* 0x0EF0 */ dBgS_AcchCir mAcchCir;
/* 0x0F30 */ dBgS_ObjAcch mAcch;
/* 0x1108 */ dCcD_Stts mCcStts;
/* 0x1144 */ dCcU_AtInfo mAtInfo;
/* 0x1168 */ u8 mHIOInit;
};
STATIC_ASSERT(sizeof(daB_GG_c) == 0x116c);
#endif /* D_A_B_GG_H */
|