11#ifndef D_A_E_ZH_H
22#define D_A_E_ZH_H
33
4+ #include " d/d_bg_s_acch.h"
5+ #include " d/d_cc_d.h"
6+ #include " d/d_cc_uty.h"
47#include " f_op/f_op_actor_mng.h"
58
69/* *
710 * @ingroup actors-enemies
811 * @class daE_ZH_c
9- * @brief Zant Head
12+ * @brief Ball Master
1013 *
1114 * @details
1215 *
1316 */
17+
18+ class daObjCarry_c ;
19+
1420class daE_ZH_c : public fopEn_enemy_c {
15- /* 8082907C */ void draw ();
21+ public:
22+ /* 8082907C */ int draw ();
1623 /* 808293A8 */ void setBck (int , u8 , f32 , f32 );
1724 /* 80829454 */ void setActionMode (int , int );
18- /* 80829570 */ void startDemoCheck ();
25+ /* 80829570 */ bool startDemoCheck ();
1926 /* 80829658 */ void mBallBGCheck ();
2027 /* 808298BC */ void mGateOpen ();
21- /* 808299F8 */ void mColorSet (bool , f32 , f32 );
22- /* 80829AD8 */ void mReturnLineMove ();
23- /* 80829E44 */ void mBallBgLineCheck ();
24- /* 8082A01C */ void mSearchMove (u8 );
28+ /* 808299F8 */ bool mColorSet (bool , f32 , f32 );
29+ /* 80829AD8 */ bool mReturnLineMove ();
30+ /* 80829E44 */ bool mBallBgLineCheck ();
31+ /* 8082A01C */ bool mSearchMove (u8 );
2532 /* 8082A390 */ void mStartParticleSet ();
26- /* 8082A4C8 */ void mCutTypeCheck ();
33+ /* 8082A4C8 */ bool mCutTypeCheck ();
2734 /* 8082A534 */ void damage_check ();
2835 /* 8082A88C */ void executeStartDemo ();
2936 /* 8082ABDC */ void executeWait ();
@@ -42,22 +49,83 @@ class daE_ZH_c : public fopEn_enemy_c {
4249 /* 8082DB84 */ void action ();
4350 /* 8082DE18 */ void mtx_set ();
4451 /* 8082DF44 */ void cc_set ();
45- /* 8082E2FC */ void execute ();
46- /* 8082E3E8 */ void _delete ();
47- /* 8082E4E4 */ void CreateHeap ();
48- /* 8082E730 */ void create ();
49- /* 8082ECEC */ daE_ZH_c();
50-
51- private:
52- /* 0x5ac */ u8 field_0x5ac[0xe08 - 0x5ac ];
52+ /* 8082E2FC */ int execute ();
53+ /* 8082E3E8 */ int _delete ();
54+ /* 8082E4E4 */ int CreateHeap ();
55+ /* 8082E730 */ cPhs__Step create ();
56+ /* 8082ECEC */ daE_ZH_c() {}
57+
58+ /* 0x5AC */ request_of_phase_process_class mPhase ;
59+ /* 0x5B4 */ mDoExt_McaMorfSO * mpModelMorf;
60+ /* 0x5B8 */ J3DModel* mEntranceModel ;
61+ /* 0x5BC */ mDoExt_btkAnm * mpBtkAnm;
62+ /* 0x5C0 */ Z2CreatureEnemy mSound ;
63+ /* 0x664 */ daObjCarry_c* mS_Ball ;
64+ /* 0x668 */ cXyz field_0x668;
65+ /* 0x674 */ u8 field_0x674[0x680 - 0x674 ];
66+ /* 0x680 */ cXyz field_0x680;
67+ /* 0x68C */ cXyz field_0x68c;
68+ /* 0x698 */ cXyz mRetrunStartLine ;
69+ /* 0x6A4 */ cXyz mRetrunEndLine ;
70+ /* 0x6B0 */ cXyz mBallHosei ;
71+ /* 0x6BC */ cXyz field_0x6bc;
72+ /* 0x6C8 */ cXyz field_0x6c8[3 ];
73+ /* 0x6EC */ int field_0x6ec[3 ];
74+ /* 0x6F8 */ cXyz field_0x6f8[8 ];
75+ /* 0x758 */ u8 field_0x758[8 ];
76+ /* 0x760 */ f32 field_0x760;
77+ /* 0x764 */ f32 field_0x764[3 ];
78+ /* 0x770 */ f32 pmRoofPos;
79+ /* 0x774 */ f32 field_0x774;
80+ /* 0x778 */ f32 field_0x778;
81+ /* 0x77C */ f32 field_0x77c;
82+ /* 0x780 */ int mActionMode ;
83+ /* 0x784 */ int mMoveMode ;
84+ /* 0x788 */ u32 mShadowKey ;
85+ /* 0x78C */ int field_0x78c;
86+ /* 0x790 */ int mAnm ;
87+ /* 0x794 */ int field_0x794[3 ];
88+ /* 0x7A0 */ int field_0x7a0;
89+ /* 0x7A4 */ int field_0x7a4;
90+ /* 0x7A8 */ u8 field_0x7a8;
91+ /* 0x7A9 */ u8 bitSw;
92+ /* 0x7AA */ u8 bitSwEnd;
93+ /* 0x7AB */ u8 arg0;
94+ /* 0x7AC */ u8 field_0x7ac;
95+ /* 0x7AD */ u8 field_0x7ad;
96+ /* 0x7AE */ u8 field_0x7ae;
97+ /* 0x7AF */ u8 field_0x7af;
98+ /* 0x7B0 */ s16 mRollAngle ;
99+ /* 0x7B2 */ s16 field_0x7b2;
100+ /* 0x7B4 */ dBgS_AcchCir mAcchCir ;
101+ /* 0x7F4 */ dBgS_ObjAcch mBgc ;
102+ /* 0x9CC */ dCcD_Stts mStts ;
103+ /* 0xA08 */ dCcD_Sph field_0xa08;
104+ /* 0xB40 */ dCcD_Cyl field_0xb40;
105+ /* 0xC7C */ dCcD_Cyl field_0xc7c;
106+ /* 0xDB8 */ dCcU_AtInfo mAtInfo ;
107+ /* 0xDDC */ u32 field_0xddc[3 ];
108+ /* 0xDE8 */ u32 field_0xde8;
109+ /* 0xDEC */ cXyz mDemoCamEye ;
110+ /* 0xDF8 */ cXyz mDemoCamCenter ;
111+ /* 0xE04 */ u8 field_0xe04;
53112};
54113
55114STATIC_ASSERT (sizeof (daE_ZH_c) == 0xe08);
56115
57- class daE_ZH_HIO_c {
116+ class daE_ZH_HIO_c : public JORReflexible {
117+ public:
58118 /* 8082902C */ daE_ZH_HIO_c();
59- /* 8082F160 */ ~daE_ZH_HIO_c ();
60- };
119+ /* 8082F160 */ virtual ~daE_ZH_HIO_c () {}
61120
121+ // ボールマスター (Ball Master)
122+ /* 0x04 */ s8 field_0x4;
123+ /* 0x08 */ f32 model_size; // モデルサイズ (Model Size)
124+ /* 0x0C */ f32 ascent_rate; // 上昇速度(落下後)(Rate of ascent (after falling))
125+ /* 0x10 */ f32 wandering_area; // うろうろ範囲 (Wandering Area)
126+ /* 0x14 */ s16 wait_time; // 玉取られ後移動開始待ち時間 (Waiting time after the stone is taken and movement begins)
127+ /* 0x16 */ s16 piyori_time; // ピヨリ時間 (Piyori Time)
128+ /* 0x18 */ u8 dungeon_bit_check; // ダンジョンビットチェックON/OFF (Dungeon Bit Check ON/OFF)
129+ };
62130
63131#endif /* D_A_E_ZH_H */
0 commit comments