|
1 | 1 | #ifndef D_A_BD_H |
2 | 2 | #define D_A_BD_H |
3 | 3 |
|
| 4 | +#include "d/d_bg_s_acch.h" |
| 5 | +#include "d/d_cc_d.h" |
4 | 6 | #include "f_op/f_op_actor_mng.h" |
5 | 7 |
|
6 | 8 | /** |
|
11 | 13 | * @details Used by birds that sit on Coro's head. |
12 | 14 | * |
13 | 15 | */ |
14 | | -class bd_class : public fopEn_enemy_c { |
15 | | -private: |
16 | | - /* 0x5ac */ u8 field_0x5ac[0x9ec - 0x5ac]; |
| 16 | + |
| 17 | +enum da_BD_ANM { |
| 18 | + ANM_FLY = 5, |
| 19 | + ANM_KAKKU, |
| 20 | + ANM_KAKKU1, |
| 21 | + ANM_PITA_DOWN, |
| 22 | + ANM_PITA_LEFTUP, |
| 23 | + ANM_PITA_RIGHT, |
| 24 | + ANM_PYON, |
| 25 | +}; |
| 26 | + |
| 27 | +enum Action_bd { |
| 28 | + ACT_GROUND = 0, |
| 29 | + ACT_FLY = 1, |
| 30 | + ACT_DROP = 2, |
| 31 | + ACT_LANDING = 3, |
| 32 | + ACT_LANDING2 = 4, |
| 33 | + ACT_LANDING3 = 5, |
| 34 | + ACT_ROPE = 6, |
| 35 | + ACT_KKRI = 7, |
| 36 | +}; |
| 37 | + |
| 38 | +class bd_class { |
| 39 | +public: |
| 40 | + /* 0x000 */ fopEn_enemy_c enemy; |
| 41 | + /* 0x5AC */ request_of_phase_process_class mPhase; |
| 42 | + /* 0x5B4 */ u8 field_0x5B4; |
| 43 | + /* 0x5B5 */ u8 field_0x5B5; |
| 44 | + /* 0x5B6 */ u8 field_0x5B6; |
| 45 | + /* 0x5B7 */ u8 field_0x5B7; |
| 46 | + /* 0x5B8 */ u8 field_0x5B8; |
| 47 | + /* 0x5B9 */ u8 field_0x5B9; |
| 48 | + /* 0x5B8 */ char pad5B8[0x8]; // Padding |
| 49 | + /* 0x5C2 */ s8 field_0x5C2; |
| 50 | + /* 0x5C4 */ cXyz field_0x5C4; |
| 51 | + /* 0x5D0 */ s16 mTargetAngleY; |
| 52 | + /* 0x5D4 */ actor_place* field_0x5D4; |
| 53 | + /* 0x5D8 */ s16 field_0x5D8; |
| 54 | + /* 0x5DC */ f32 field_0x5DC; |
| 55 | + /* 0x5E0 */ f32 field_0x5E0; |
| 56 | + /* 0x5E4 */ mDoExt_McaMorf* mpMorf; |
| 57 | + /* 0x5E8 */ mDoExt_btkAnm* mpBtk; |
| 58 | + /* 0x5EC */ s8 field_0x5EC; |
| 59 | + /* 0x5F0 */ s32 mAnmID; |
| 60 | + /* 0x5F4 */ s16 mChirpDist; |
| 61 | + /* 0x5F8 */ Z2SoundObjSimple mSound; |
| 62 | + /* 0x618 */ s16 field_0x618; |
| 63 | + /* 0x61A */ s16 mActionID; |
| 64 | + /* 0x61C */ s16 field_0x61C; |
| 65 | + /* 0x61E */ s16 field_0x61E; |
| 66 | + /* 0x620 */ f32 field_0x620; |
| 67 | + /* 0x624 */ f32 field_0x624; |
| 68 | + /* 0x628 */ s16 field_0x628; |
| 69 | + /* 0x62C */ cXyz* field_0x62C; |
| 70 | + /* 0x630 */ int field_0x630; |
| 71 | + /* 0x634 */ cXyz field_0x634; |
| 72 | + /* 0x640 */ s16 field_0x640; |
| 73 | + /* 0x642 */ s16 field_0x642; |
| 74 | + /* 0x644 */ char pad644[1]; // Padding |
| 75 | + /* 0x645 */ s8 field_0x645; |
| 76 | + /* 0x646 */ char pad646[0x64C - 0x646]; // Padding |
| 77 | + /* 0x64C */ s16 field_0x64C[4]; |
| 78 | + /* 0x654 */ s16 field_0x654; |
| 79 | + /* 0x656 */ s8 field_0x656; |
| 80 | + /* 0x658 */ s16 field_0x658; |
| 81 | + /* 0x65C */ dBgS_AcchCir mAcchCir; |
| 82 | + /* 0x69C */ dBgS_ObjAcch mBgc; |
| 83 | + /* 0x874 */ dCcD_Stts mStts; |
| 84 | + /* 0x8B0 */ dCcD_Sph mSphere; |
| 85 | + /* 0x9E8 */ u8 field_0x9E8; |
17 | 86 | }; |
18 | 87 |
|
19 | 88 | STATIC_ASSERT(sizeof(bd_class) == 0x9ec); |
20 | 89 |
|
21 | | -class daBd_HIO_c { |
| 90 | +class daBd_HIO_c : public JORReflexible { |
22 | 91 | public: |
23 | 92 | /* 804D6C4C */ daBd_HIO_c(); |
24 | | - /* 804D9CB8 */ ~daBd_HIO_c(); |
25 | | -}; |
| 93 | + /* 804D9CB8 */ virtual ~daBd_HIO_c() {} |
26 | 94 |
|
| 95 | + void genMessage(JORMContext*); |
| 96 | + |
| 97 | + /* 0x04 */ s8 id; |
| 98 | + /* 0x08 */ f32 mBasicSize; |
| 99 | + /* 0x0C */ f32 mFlightSpeed; |
| 100 | + /* 0x10 */ f32 mGroundSpeed; |
| 101 | + /* 0x14 */ s16 mFlightTime; |
| 102 | + /* 0x18 */ f32 mLinkDetectRange; |
| 103 | + /* 0x1C */ s16 mChirpDist; |
| 104 | + /* 0x1E */ s8 field_0x1E; |
| 105 | +}; |
27 | 106 |
|
28 | 107 | #endif /* D_A_BD_H */ |
0 commit comments