summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorPheenoh <pheenoh@gmail.com>2024-11-17 13:43:09 -0700
committerGitHub <noreply@github.com>2024-11-17 15:43:09 -0500
commit2159eac680836de5dba2e0a987f83b7262f07180 (patch)
treee6658d322a652681d8a23a6a0561f3d90012967a /include
parent3ab9e553f8fd37de5e3c805e281627adf458847b (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.h74
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 */