11#ifndef D_A_E_YMB_H
22#define D_A_E_YMB_H
33
4+ #include " d/d_cc_d.h"
5+ #include " d/d_cc_uty.h"
46#include " f_op/f_op_actor_mng.h"
7+ #include " d/d_bg_w.h"
58
69/* *
710 * @ingroup actors-enemies
1316 */
1417class daE_YMB_c : public fopEn_enemy_c {
1518public:
16- /* 8081615C */ void ctrlJoint (J3DJoint*, J3DModel*);
17- /* 808164F0 */ void JointCallBack (J3DJoint*, int );
18- /* 80816554 */ void draw ();
19+ /* 8081615C */ int ctrlJoint (J3DJoint*, J3DModel*);
20+ /* 808164F0 */ static int JointCallBack (J3DJoint*, int );
21+ /* 80816554 */ int draw ();
1922 /* 8081697C */ void setBck (int , u8 , f32 , f32 );
20- /* 80816A20 */ void checkBck (int );
23+ /* 80816A20 */ BOOL checkBck (int );
2124 /* 80816A7C */ void setActionMode (int , int );
2225 /* 80816A88 */ void setLastDamage ();
2326 /* 80816B7C */ void damage_check ();
@@ -41,7 +44,7 @@ class daE_YMB_c : public fopEn_enemy_c {
4144 /* 80818328 */ void setBitePos (int );
4245 /* 80818370 */ void setInclination ();
4346 /* 80818518 */ void setBodyAngle ();
44- /* 80818930 */ void checkWolfLockIn ();
47+ /* 80818930 */ bool checkWolfLockIn ();
4548 /* 80818AE8 */ void executeFly ();
4649 /* 80819610 */ void executeFlyAttack ();
4750 /* 80819FD0 */ void executeRunAway ();
@@ -59,36 +62,123 @@ class daE_YMB_c : public fopEn_enemy_c {
5962 /* 8081D4D8 */ void setCreateDrop ();
6063 /* 8081D594 */ void executeDeath ();
6164 /* 8081DBD0 */ void demo_skip (int );
62- /* 8081DDE0 */ void DemoSkipCallBack (void *, int );
65+ /* 8081DDE0 */ static int DemoSkipCallBack (void *, int );
6366 /* 8081DE14 */ void calcLakeDemoPlayerPos ();
6467 /* 8081DE84 */ void executeLakeDemo ();
6568 /* 8081E5B4 */ void executeStartDemo ();
66- /* 8081F140 */ void checkStartBattleDemo ();
69+ /* 8081F140 */ bool checkStartBattleDemo ();
6770 /* 8081F2E0 */ void executeBattleDemo ();
6871 /* 8081FAC8 */ void action ();
6972 /* 8081FF88 */ void mtx_set ();
7073 /* 808200A0 */ void getBellyBitePos (cXyz*);
71- /* 80820128 */ void getDownLockPoint ();
74+ /* 80820128 */ int getDownLockPoint ();
7275 /* 808203D8 */ void setAttentionPos ();
7376 /* 80820668 */ void cc_set ();
74- /* 808207AC */ void execute ();
75- /* 80820A40 */ void _delete ();
76- /* 80820AF0 */ void CreateHeap ();
77- /* 80820DD0 */ void create ();
77+ /* 808207AC */ int execute ();
78+ /* 80820A40 */ int _delete ();
79+ /* 80820AF0 */ int CreateHeap ();
80+ /* 80820DD0 */ cPhs__Step create ();
7881
7982 int getMaxLockAttack () { return 6 ; }
8083 u8 getSwitchBit () { return mSwitchBit ; }
8184
82- /* 0x5AC */ u8 field_0x5ac[0x6C0 - 0x5ac ];
83- /* 0x6C0 */ u8 mSwitchBit ;
84- /* 0x6C1 */ u8 field_0x6c1[0x1524 - 0x6C1 ];
85+ /* 0x05AC */ request_of_phase_process_class mPhase ;
86+ /* 0x05B4 */ mDoExt_invisibleModel mInvisModel ;
87+ /* 0x05BC */ mDoExt_McaMorfSO * mpModelMorf;
88+ /* 0x05C0 */ mDoExt_brkAnm * mpBrkAnm;
89+ /* 0x05C4 */ Z2CreatureEnemy mSound ;
90+ /* 0x0668 */ f32 field_0x668[6 ];
91+ /* 0x0680 */ int field_0x680[6 ];
92+ /* 0x0698 */ int field_0x698;
93+ /* 0x069C */ cXyz field_0x69c;
94+ /* 0x06A8 */ cXyz field_0x6a8;
95+ /* 0x06B4 */ int mAction ;
96+ /* 0x06B8 */ int mMode ;
97+ /* 0x06BC */ u32 mShadowKey ;
98+ /* 0x06C0 */ u8 mSwitchBit ;
99+ /* 0x06C1 */ u8 field_0x6c1;
100+ /* 0x06C4 */ f32 field_0x6c4;
101+ /* 0x06C8 */ f32 field_0x6c8;
102+ /* 0x06CC */ f32 field_0x6cc;
103+ /* 0x06D0 */ f32 field_0x6d0;
104+ /* 0x06D4 */ f32 field_0x6d4;
105+ /* 0x06D8 */ f32 field_0x6d8;
106+ /* 0x06DC */ f32 field_0x6dc;
107+ /* 0x06E0 */ f32 field_0x6e0;
108+ /* 0x06E4 */ s16 field_0x6e4;
109+ /* 0x06E6 */ s16 field_0x6e6;
110+ /* 0x06E8 */ s16 field_0x6e8;
111+ /* 0x06EA */ s16 field_0x6ea;
112+ /* 0x06EC */ int field_0x6ec;
113+ /* 0x06F0 */ int field_0x6f0;
114+ /* 0x06F4 */ int field_0x6f4;
115+ /* 0x06F8 */ int field_0x6f8;
116+ /* 0x06FC */ int field_0x6fc;
117+ /* 0x0700 */ int field_0x700;
118+ /* 0x0704 */ int field_0x704;
119+ /* 0x0708 */ int field_0x708;
120+ /* 0x070C */ int field_0x70c;
121+ /* 0x0710 */ u8 field_0x710;
122+ /* 0x0711 */ u8 field_0x711;
123+ /* 0x0712 */ u8 field_0x712;
124+ /* 0x0713 */ u8 field_0x713;
125+ /* 0x0714 */ u8 field_0x714;
126+ /* 0x0715 */ u8 field_0x715;
127+ /* 0x0716 */ u8 field_0x716;
128+ /* 0x0717 */ u8 field_0x717;
129+ /* 0x0718 */ u8 field_0x718;
130+ /* 0x0719 */ u8 field_0x719[0x71f - 0x719 ];
131+ /* 0x071F */ u8 field_0x71f;
132+ /* 0x0720 */ u8 field_0x720;
133+ /* 0x0721 */ u8 field_0x721;
134+ /* 0x0722 */ u8 field_0x722;
135+ /* 0x0723 */ u8 field_0x723;
136+ /* 0x0724 */ u8 field_0x724;
137+ /* 0x0725 */ u8 field_0x725;
138+ /* 0x0728 */ cXyz mDemoCamEye ;
139+ /* 0x0734 */ cXyz mDemoCamCenter ;
140+ /* 0x0740 */ cXyz field_0x740;
141+ /* 0x074C */ cXyz field_0x74c;
142+ /* 0x0758 */ f32 mDemoCamFovy ;
143+ /* 0x075C */ f32 field_0x75c;
144+ /* 0x0760 */ s16 field_0x760;
145+ /* 0x0762 */ s16 field_0x762;
146+ /* 0x0764 */ u8 field_0x764;
147+ /* 0x0765 */ u8 field_0x765;
148+ /* 0x0768 */ Mtx field_0x768;
149+ /* 0x0798 */ dBgW* mpBgW;
150+ /* 0x079C */ dBgS_GndChk mGndChk ;
151+ /* 0x07F0 */ dCcD_Stts mStts ;
152+ /* 0x082C */ dCcD_Sph field_0x82c[2 ];
153+ /* 0x0A9C */ dCcD_Sph field_0xa9c;
154+ /* 0x0BD4 */ dCcD_Sph field_0xbd4[6 ];
155+ /* 0x1324 */ dCcD_Sph field_0x1324;
156+ /* 0x145C */ dCcU_AtInfo mAtInfo ;
157+ /* 0x1480 */ u32 mElecParticles [4 ];
158+ /* 0x1490 */ u32 mMidnaBindParticles [3 ];
159+ /* 0x149C */ u8 field_0x149c[0x14d8 - 0x149c ];
160+ /* 0x14D8 */ u32 mWaterParticles1 [6 ];
161+ /* 0x14F0 */ u32 mWaterParticles2 [7 ];
162+ /* 0x150C */ u32 mDownHamonParticles [2 ];
163+ /* 0x1514 */ u32 mBlurParticles [2 ];
164+ /* 0x151C */ u32 mDamageParticle ;
165+ /* 0x1520 */ u8 field_0x1520;
85166};
86167
87168STATIC_ASSERT (sizeof (daE_YMB_c) == 0x1524);
88169
89170struct daE_YMB_HIO_c {
171+ public:
90172 /* 8081610C */ daE_YMB_HIO_c();
91- /* 80821460 */ ~daE_YMB_HIO_c ();
173+ /* 80821460 */ virtual ~daE_YMB_HIO_c () {}
174+
175+ /* 0x04 */ s8 field_0x4;
176+ /* 0x08 */ f32 model_size; // モデルサイズ (Model Size)
177+ /* 0x0C */ f32 fly_movement_speed; // 飛行移動速度 (Fly Movement Speed)
178+ /* 0x10 */ f32 swim_attack_speed; // 泳ぎ攻撃速度 (Swim Attack Speed)
179+ /* 0x14 */ f32 fly_attack_speed; // 飛行攻撃速度 (Fly Attack Speed)
180+ /* 0x18 */ f32 rollover_time; // ひっくり返り時間 (Rollover Time)
181+ /* 0x1C */ f32 fly_height_adjust; // 飛行高度-加減値 (Fly Height Adjust)
92182};
93183
94184#endif /* D_A_E_YMB_H */
0 commit comments