11#ifndef D_A_OBJ_BATTA_H
22#define D_A_OBJ_BATTA_H
33
4- #include " f_op/f_op_actor_mng.h"
4+ #include " d/actor/d_a_player.h"
5+ #include " d/d_bg_s_acch.h"
6+ #include " d/d_cc_d.h"
57#include " d/d_insect.h"
68
79/* *
1416 */
1517class daObjBATTA_c : public dInsect_c {
1618public:
19+ typedef void (daObjBATTA_c::*actionFunc)();
20+
1721 /* 80BA9E5C */ void setAction (void (daObjBATTA_c::*)());
1822 /* 80BAA1C8 */ void wait ();
1923 /* 80BAA47C */ void turn ();
@@ -27,21 +31,54 @@ class daObjBATTA_c : public dInsect_c {
2731 /* 80BABA98 */ void batta_setParticle ();
2832 /* 80BABCA4 */ void action ();
2933 /* 80BABD6C */ void hit_check ();
30- /* 80BABE20 */ void execute ();
31- /* 80BABFA4 */ void _delete ();
34+ /* 80BABE20 */ int execute ();
35+ /* 80BABFA4 */ int _delete ();
3236 /* 80BAC00C */ void mtx_set ();
33- /* 80BAC194 */ void create ();
37+ /* 80BAC194 */ int create ();
38+
39+ inline int CreateHeap ();
40+ inline int draw ();
41+
42+ bool checkAction (actionFunc i_func) {
43+ return mActionFunc == i_func;
44+ }
3445
3546private:
36- /* 0x590 */ u8 field_0x568[0x9f8 - 0x590 ];
47+ /* 0x590 */ Z2Creature mCreature ;
48+ /* 0x620 */ mDoExt_McaMorfSO * mpMorf;
49+ /* 0x624 */ mDoExt_brkAnm * mBrk ;
50+ /* 0x628 */ mDoExt_btkAnm * mBtk ;
51+ /* 0x62C */ dBgS_AcchCir mAcchCir ;
52+ /* 0x66C */ dBgS_ObjAcch mAcch ;
53+ /* 0x844 */ dCcD_Stts mStts ;
54+ /* 0x890 */ dCcD_Sph mSph ;
55+ /* 0x8B8 */ daPy_boomerangMove_c mBoomerangMove ;
56+ /* 0x9C4 */ request_of_phase_process_class mPhase ;
57+ /* 0x9CC */ f32 mParticleScale ;
58+ /* 0x9D0 */ actionFunc mActionFunc ;
59+ /* 0x9DC */ actionFunc mPrevActionFunc ;
60+ /* 0x9E8 */ int field_0x9e8;
61+ /* 0x9EC */ s16 field_0x9ec;
62+ /* 0x9EE */ u16 mActionTimer ;
63+ /* 0x9F0 */ u8 field_0x9f0;
64+ /* 0x9F1 */ u8 field_0x9f1;
65+ /* 0x9F2 */ u8 field_0x9f2;
66+ /* 0x9F3 */ u8 mSex ;
67+ /* 0x9F4 */ u8 mIsHIOOwner ;
3768};
3869
3970STATIC_ASSERT (sizeof (daObjBATTA_c) == 0x9f8);
4071
41- class daObj_BattaHIO_c {
72+ class daObj_BattaHIO_c : public JORReflexible {
4273public:
4374 /* 80BA9E2C */ daObj_BattaHIO_c();
44- /* 80BAC874 */ ~daObj_BattaHIO_c ();
75+ /* 80BAC874 */ virtual ~daObj_BattaHIO_c () {}
76+
77+ void genMessage (JORMContext* ctx);
78+
79+ /* 0x4 */ s8 mId ;
80+ /* 0x8 */ f32 mModelScaleFemale ;
81+ /* 0xC */ f32 mModelScaleMale ;
4582};
4683
4784#endif /* D_A_OBJ_BATTA_H */
0 commit comments