diff options
| author | Pheenoh <pheenoh@gmail.com> | 2024-11-17 13:43:09 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-11-17 15:43:09 -0500 |
| commit | 2159eac680836de5dba2e0a987f83b7262f07180 (patch) | |
| tree | e6658d322a652681d8a23a6a0561f3d90012967a /include | |
| parent | 3ab9e553f8fd37de5e3c805e281627adf458847b (diff) | |
d_a_npc_lf work (#2252)
Co-authored-by: pheenoh <pheenoh@macmini.lan>
Diffstat (limited to 'include')
| -rw-r--r-- | include/d/actor/d_a_npc_lf.h | 74 |
1 files changed, 58 insertions, 16 deletions
diff --git a/include/d/actor/d_a_npc_lf.h b/include/d/actor/d_a_npc_lf.h index 856b9b2237..13401f3b54 100644 --- a/include/d/actor/d_a_npc_lf.h +++ b/include/d/actor/d_a_npc_lf.h @@ -3,31 +3,73 @@ #include "d/actor/d_a_npc.h" -/** - * @ingroup actors-npcs - * @class npc_lf_class - * @brief Lake Fish - * - * @details - * - */ -class npc_lf_class : public fopAc_ac_c { -private: - /* 0x568 */ u8 field_0x568[0x1fc4 - 0x568]; -}; - -STATIC_ASSERT(sizeof(npc_lf_class) == 0x1fc4); - struct lf_s { /* 80A6A8A4 */ ~lf_s(); /* 80A6A8E0 */ lf_s(); + + /* 0x00 */ J3DModel* mpModel; + /* 0x04 */ cXyz field_0x04; + /* 0x10 */ csXyz field_0x10; + /* 0x16 */ s8 field_0x16; + /* 0x17 */ s8 field_0x17; + /* 0x18 */ s16 field_0x18; + /* 0x1A */ s16 mActionMode; + /* 0x1C */ s16 field_0x1c; + /* 0x20 */ cXyz field_0x20; + /* 0x2C */ u8 field_0x2c[0x34-0x2c]; + /* 0x34 */ f32 mDistFromPlayer; + /* 0x38 */ s16 field_0x38[2]; + /* 0x3C */ f32 field_0x3c; + /* 0x40 */ f32 field_0x40; + /* 0x44 */ f32 field_0x44; + /* 0x48 */ f32 field_0x48; + /* 0x4C */ s16 field_0x4c[2]; + /* 0x50 */ s16 field_0x50[2]; + /* 0x54 */ u8 field_0x54[4]; + /* 0x58 */ f32 field_0x58; + /* 0x5C */ f32 field_0x5c; + /* 0x60 */ f32 field_0x60; + /* 0x64 */ u8 field_0x64[0x68-0x64]; }; class daNPC_LF_HIO_c { public: /* 80A69B6C */ daNPC_LF_HIO_c(); - /* 80A6A8E4 */ ~daNPC_LF_HIO_c(); + /* 80A6A8E4 */ virtual ~daNPC_LF_HIO_c(); + +public: + /* 0x04 */ s8 field_0x04; + /* 0x08 */ f32 field_0x08; + /* 0x0C */ f32 field_0x0c; + /* 0x10 */ f32 field_0x10; + /* 0x14 */ f32 field_0x14; + /* 0x18 */ f32 field_0x18; }; +/** + * @ingroup actors-npcs + * @class npc_lf_class + * @brief Little Fish + * + * @details Group of several small fish spawned in a group. Used in Fishing Pond. + * + */ +class npc_lf_class : public fopEn_enemy_c { +public: + enum Action { + ACT_MOVE + }; + +public: + /* 0x05AC */ request_of_phase_process_class mPhase; ///< @brief Actor phase process class. + /* 0x05B4 */ u8 mParam1; ///< @brief Actor parameters. + /* 0x05B5 */ u8 mParam2; ///< @brief Actor parameters. + /* 0x05B8 */ int mIter; ///< @brief Iterator used to track mFish index. + /* 0x05BC */ lf_s mFish[64]; ///< @brief The number of small fish spawned in the group? + /* 0x1FBC */ u8 field_0x1fbc[0x4]; ///< @brief ??? + /* 0x1FC0 */ u8 field_0x1fc0; ///< @brief ??? +}; + +STATIC_ASSERT(sizeof(npc_lf_class) == 0x1fc4); #endif /* D_A_NPC_LF_H */ |
