22#define D_A_B_GG_H
33
44#include " f_op/f_op_actor_mng.h"
5+ #include " d/d_bg_s_acch.h"
6+ #include " d/d_cc_d.h"
7+ #include " d/d_cc_uty.h"
58
69/* *
710 * @ingroup actors-enemies
1316 */
1417class daB_GG_c : public fopEn_enemy_c {
1518public:
16- /* 805DE464 */ void CreateHeap ();
19+ /* 805DE464 */ int CreateHeap ();
1720 /* 805DE650 */ void initCc ();
1821 /* 805DE7A4 */ void setCcCylinder ();
1922 /* 805DE9B8 */ void G_setCcCylinder ();
2023 /* 805DEAD0 */ void MoveCo ();
21- /* 805DEB44 */ void ctrlJoint (J3DJoint*, J3DModel*);
22- /* 805DED58 */ void HeadctrlJoint (J3DJoint*, J3DModel*);
24+ /* 805DEB44 */ int ctrlJoint (J3DJoint*, J3DModel*);
25+ /* 805DED58 */ int HeadctrlJoint (J3DJoint*, J3DModel*);
2326 /* 805DEF64 */ void SetAnm (int , int , f32 , f32 );
2427 /* 805DF9F4 */ void Yazirushi ();
2528 /* 805DFA48 */ void SpeedClear ();
2629 /* 805DFA64 */ void SetAction (u8 , u8 , u8 );
27- /* 805DFA8C */ void GetAction (u8 , u8 , u8 );
30+ /* 805DFA8C */ u8 GetAction (u8 , u8 , u8 );
2831 /* 805DFACC */ void DemoSkip (int );
29- /* 805DFC24 */ void DemoSkipCallBack (void *, int );
30- /* 805DFC58 */ void CameraSet ();
32+ /* 805DFC24 */ static int DemoSkipCallBack (void *, int );
33+ /* 805DFC58 */ bool CameraSet ();
3134 /* 805DFD78 */ void SetStopingCam ();
3235 /* 805DFDFC */ void SetStopCam (cXyz, f32 , f32 , s16);
3336 /* 805DFF4C */ void SetMoveCam (cXyz, f32 , f32 , s16, f32 , f32 );
@@ -48,8 +51,8 @@ class daB_GG_c : public fopEn_enemy_c {
4851 /* 805E4914 */ void F_DamageAction ();
4952 /* 805E5190 */ void AttentionChk ();
5053 /* 805E5220 */ void FlyAction ();
51- /* 805E561C */ void F_A_TargetMove (cXyz);
52- /* 805E53DC */ void F_A_TargetMove (cXyz, u8 );
54+ /* 805E561C */ bool F_A_TargetMove (cXyz);
55+ /* 805E53DC */ bool F_A_TargetMove (cXyz, u8 );
5356 /* 805E5808 */ void F_A_MoveAction ();
5457 /* 805E5D0C */ void F_A_WaitAction ();
5558 /* 805E5D2C */ void F_A_Action ();
@@ -69,35 +72,122 @@ class daB_GG_c : public fopEn_enemy_c {
6972 /* 805E9418 */ void HeadAction ();
7073 /* 805E9A28 */ void SetHeadAngle ();
7174 /* 805E9B48 */ void SoundChk ();
72- /* 805EA344 */ void Execute ();
75+ /* 805EA344 */ int Execute ();
7376 /* 805EA72C */ void ObjHit ();
7477 /* 805EA74C */ void At_Check ();
7578 /* 805EA938 */ void MoveAt ();
7679 /* 805EA9AC */ void F_AtHit ();
7780 /* 805EAAFC */ void ChanceTime ();
7881 /* 805EB028 */ void ArmAngleSet ();
7982 /* 805EB090 */ void Guard ();
80- /* 805EB5E0 */ void Draw ();
81- /* 805EB8A8 */ void Delete ();
83+ /* 805EB5E0 */ int Draw ();
84+ /* 805EB8A8 */ int Delete ();
8285 /* 805EB910 */ void setBaseMtx ();
8386 /* 805EB980 */ void setShieldMtx ();
8487 /* 805EB9DC */ void setSwordMtx ();
8588 /* 805EBA4C */ void setSwordMtx1 ();
8689 /* 805EBAB8 */ void setHeadMtx ();
8790 /* 805EBB30 */ void setHeadMtx1 ();
88- /* 805EBBE4 */ void Create ();
89- /* 805EC424 */ daB_GG_c();
91+ /* 805EBBE4 */ int Create ();
9092
91- private:
92- /* 0x5ac */ u8 field_0x5ac[0x116c - 0x5ac ];
93+ /* 0x05AC */ f32 field_0x5ac;
94+ /* 0x05B0 */ u8 field_0x5b0;
95+ /* 0x05B1 */ u8 field_0x5b1;
96+ /* 0x05B2 */ u8 field_0x5b2;
97+ /* 0x05B4 */ s16 mInOutPosIdx ;
98+ /* 0x05B6 */ u8 field_0x5b6;
99+ /* 0x05B7 */ u8 field_0x5b7;
100+ /* 0x05B8 */ u8 field_0x5B8[0x05BA - 0x05B8 ];
101+ /* 0x05BA */ s16 field_0x5ba;
102+ /* 0x05BC */ f32 field_0x5bc;
103+ /* 0x05C0 */ f32 field_0x5c0;
104+ /* 0x05C4 */ u8 field_0x5c4;
105+ /* 0x05C5 */ u8 mAction ;
106+ /* 0x05C6 */ u8 mSubAction ;
107+ /* 0x05C7 */ u8 mMode ;
108+ /* 0x05C8 */ u8 mPrevAction ;
109+ /* 0x05C9 */ u8 mPrevSubAction ;
110+ /* 0x05CA */ u8 mPrevMode ;
111+ /* 0x05CB */ u8 mCamMode ;
112+ /* 0x05CC */ s16 field_0x5cc;
113+ /* 0x05CE */ u8 field_0x5ce;
114+ /* 0x05CF */ u8 field_0x5cf;
115+ /* 0x05D0 */ u8 field_0x5d0;
116+ /* 0x05D4 */ int mAnm ;
117+ /* 0x05D8 */ s16 mTimers [4 ];
118+ /* 0x05E0 */ s16 field_0x5e0;
119+ /* 0x05E4 */ cXyz field_0x5e4;
120+ /* 0x05F0 */ u8 field_0x5f0;
121+ /* 0x05F4 */ cXyz mCamCenter ;
122+ /* 0x0600 */ cXyz mCamEye ;
123+ /* 0x060C */ cXyz field_0x60c;
124+ /* 0x0618 */ cXyz field_0x618;
125+ /* 0x0624 */ cXyz mCamCenterTarget ;
126+ /* 0x0630 */ cXyz mCamEyeTarget ;
127+ /* 0x063C */ f32 mCamFovy ;
128+ /* 0x0640 */ f32 mModelPlaySpeed ;
129+ /* 0x0644 */ f32 field_0x644;
130+ /* 0x0648 */ f32 field_0x648;
131+ /* 0x064C */ f32 field_0x64c;
132+ /* 0x0650 */ f32 field_0x650;
133+ /* 0x0654 */ u8 field_0x654[0x0658 - 0x0654 ];
134+ /* 0x0658 */ s16 field_0x658;
135+ /* 0x065A */ s16 field_0x65a;
136+ /* 0x065C */ cXyz field_0x65c;
137+ /* 0x0668 */ f32 field_0x668;
138+ /* 0x066C */ u8 field_0x66c;
139+ /* 0x066D */ u8 field_0x66d;
140+ /* 0x0670 */ cXyz mSwordPos ;
141+ /* 0x067C */ csXyz mSwordRot ;
142+ /* 0x0684 */ cXyz field_0x684;
143+ /* 0x0690 */ u8 mType ;
144+ /* 0x0694 */ cXyz mHeadPos ;
145+ /* 0x06A0 */ csXyz mHeadRot ;
146+ /* 0x06A8 */ cXyz field_0x6a8;
147+ /* 0x06B4 */ csXyz field_0x6b4;
148+ /* 0x06BA */ u8 field_0x6ba;
149+ /* 0x06BC */ s16 field_0x6bc;
150+ /* 0x06BE */ s16 field_0x6be;
151+ /* 0x06C0 */ u8 field_0x6C0[0x06C4 - 0x06C0 ];
152+ /* 0x06C4 */ s16 field_0x6c4;
153+ /* 0x06C6 */ u8 field_0x6C6[0x06C8 - 0x06C6 ];
154+ /* 0x06C8 */ csXyz mArmL1Rot ;
155+ /* 0x06CE */ csXyz mArmL2Rot ;
156+ /* 0x06D4 */ s16 field_0x6d4;
157+ /* 0x06D6 */ s16 field_0x6d6;
158+ /* 0x06D8 */ dCcD_Cyl mCcCyl ;
159+ /* 0x0814 */ dCcD_Sph mCcSph [3 ];
160+ /* 0x0BBC */ dCcD_Cyl mCcHookCyl ;
161+ /* 0x0CF8 */ dCcD_Sph mCcShieldSph ;
162+ /* 0x0E30 */ mDoExt_McaMorfSO * mpModelMorf;
163+ /* 0x0E34 */ J3DModel* mpShieldModel;
164+ /* 0x0E38 */ J3DModel* mpSwordModel;
165+ /* 0x0E3C */ J3DModel* mpHelmetModel;
166+ /* 0x0E40 */ request_of_phase_process_class mPhase ;
167+ /* 0x0E48 */ u32 mShadowId ;
168+ /* 0x0E4C */ Z2CreatureEnemy mSound ;
169+ /* 0x0EF0 */ dBgS_AcchCir mAcchCir ;
170+ /* 0x0F30 */ dBgS_ObjAcch mAcch ;
171+ /* 0x1108 */ dCcD_Stts mCcStts ;
172+ /* 0x1144 */ dCcU_AtInfo mAtInfo ;
173+ /* 0x1168 */ u8 mHIOInit ;
93174};
94175
95176STATIC_ASSERT (sizeof (daB_GG_c) == 0x116c);
96177
97178class daB_GG_HIO_c {
98179public:
99180 /* 805DE40C */ daB_GG_HIO_c();
100- /* 805EC9C4 */ ~daB_GG_HIO_c ();
181+ /* 805EC9C4 */ virtual ~daB_GG_HIO_c () {}
182+
183+ /* 0x04 */ s8 id;
184+ /* 0x08 */ f32 base_size;
185+ /* 0x0C */ s16 takeoff_time;
186+ /* 0x0E */ s16 fly_attack_wait_time;
187+ /* 0x10 */ f32 fly_attack_speed;
188+ /* 0x14 */ s16 takeoff2_time;
189+ /* 0x16 */ s16 max_hp;
190+ /* 0x18 */ f32 field_0x18;
101191};
102192
103193
0 commit comments