summaryrefslogtreecommitdiff
path: root/include/d
diff options
context:
space:
mode:
authorMax Roncace <me@caseif.net>2026-01-13 17:58:15 -0500
committerGitHub <noreply@github.com>2026-01-13 14:58:15 -0800
commitc0e0bbaaf3ff70413498d2ce41f281e8aa41db07 (patch)
treeb7b24673595d7226d7d135a09802d25f86cf6214 /include/d
parent235cb9a9ad1b23da2a562c7b3bc5c25f2404299a (diff)
Clean up HIO for TUs using HIOParam/Param_c/HIO_c pattern (#3043)
Diffstat (limited to 'include/d')
-rw-r--r--include/d/actor/d_a_bullet.h52
-rw-r--r--include/d/actor/d_a_npc_aru.h40
-rw-r--r--include/d/actor/d_a_npc_besu.h43
-rw-r--r--include/d/actor/d_a_npc_blue_ns.h41
-rw-r--r--include/d/actor/d_a_npc_bou.h91
-rw-r--r--include/d/actor/d_a_npc_chat.h40
-rw-r--r--include/d/actor/d_a_npc_doorboy.h40
-rw-r--r--include/d/actor/d_a_npc_drainSol.h39
-rw-r--r--include/d/actor/d_a_npc_fairy_seirei.h37
-rw-r--r--include/d/actor/d_a_npc_gra.h13
-rw-r--r--include/d/actor/d_a_npc_grc.h47
-rw-r--r--include/d/actor/d_a_npc_grm.h45
-rw-r--r--include/d/actor/d_a_npc_grmc.h8
-rw-r--r--include/d/actor/d_a_npc_grr.h44
-rw-r--r--include/d/actor/d_a_npc_grz.h31
-rw-r--r--include/d/actor/d_a_npc_gwolf.h40
-rw-r--r--include/d/actor/d_a_npc_hanjo.h102
-rw-r--r--include/d/actor/d_a_npc_hoz.h43
-rw-r--r--include/d/actor/d_a_npc_ins.h38
-rw-r--r--include/d/actor/d_a_npc_kakashi.h48
-rw-r--r--include/d/actor/d_a_npc_kasi_hana.h2
-rw-r--r--include/d/actor/d_a_npc_kasi_kyu.h50
-rw-r--r--include/d/actor/d_a_npc_kasi_mich.h33
-rw-r--r--include/d/actor/d_a_npc_kkri.h42
-rw-r--r--include/d/actor/d_a_npc_kolin.h36
-rw-r--r--include/d/actor/d_a_npc_kolinb.h36
-rw-r--r--include/d/actor/d_a_npc_maro.h44
-rw-r--r--include/d/actor/d_a_npc_midp.h24
-rw-r--r--include/d/actor/d_a_npc_moi.h2
-rw-r--r--include/d/actor/d_a_npc_myna2.h46
-rw-r--r--include/d/actor/d_a_npc_pachi_besu.h41
-rw-r--r--include/d/actor/d_a_npc_prayer.h40
-rw-r--r--include/d/actor/d_a_npc_raca.h23
-rw-r--r--include/d/actor/d_a_npc_saru.h26
-rw-r--r--include/d/actor/d_a_npc_seib.h78
-rw-r--r--include/d/actor/d_a_npc_seic.h68
-rw-r--r--include/d/actor/d_a_npc_seid.h69
-rw-r--r--include/d/actor/d_a_npc_seira.h41
-rw-r--r--include/d/actor/d_a_npc_seira2.h44
-rw-r--r--include/d/actor/d_a_npc_seirei.h40
-rw-r--r--include/d/actor/d_a_npc_sola.h42
-rw-r--r--include/d/actor/d_a_npc_taro.h66
-rw-r--r--include/d/actor/d_a_npc_tkj.h40
-rw-r--r--include/d/actor/d_a_npc_tks.h27
-rw-r--r--include/d/actor/d_a_npc_yelia.h80
-rw-r--r--include/d/actor/d_a_npc_zant.h85
-rw-r--r--include/d/actor/d_a_npc_zelR.h23
-rw-r--r--include/d/actor/d_a_npc_zelRo.h23
-rw-r--r--include/d/actor/d_a_npc_zelda.h64
-rw-r--r--include/d/actor/d_a_npc_zra.h128
-rw-r--r--include/d/actor/d_a_npc_zrc.h81
-rw-r--r--include/d/actor/d_a_npc_zrz.h88
-rw-r--r--include/d/actor/d_a_obj_automata.h39
-rw-r--r--include/d/actor/d_a_obj_bed.h46
-rw-r--r--include/d/actor/d_a_obj_boumato.h43
-rw-r--r--include/d/actor/d_a_obj_kago.h61
-rw-r--r--include/d/actor/d_a_obj_kbacket.h38
-rw-r--r--include/d/actor/d_a_obj_mie.h24
-rw-r--r--include/d/actor/d_a_obj_nougu.h47
-rw-r--r--include/d/actor/d_a_obj_pleaf.h47
-rw-r--r--include/d/actor/d_a_obj_sekidoor.h37
-rw-r--r--include/d/actor/d_a_obj_sekizo.h33
-rw-r--r--include/d/actor/d_a_obj_sekizoa.h125
-rw-r--r--include/d/actor/d_a_obj_smtile.h38
-rw-r--r--include/d/actor/d_a_obj_stick.h47
-rw-r--r--include/d/actor/d_a_obj_tks.h23
-rw-r--r--include/d/actor/d_a_obj_yel_bag.h47
-rw-r--r--include/d/actor/d_a_peru.h90
-rw-r--r--include/d/actor/d_a_tag_lantern.h35
69 files changed, 1911 insertions, 1323 deletions
diff --git a/include/d/actor/d_a_bullet.h b/include/d/actor/d_a_bullet.h
index 63d7b802aa..d6f9135654 100644
--- a/include/d/actor/d_a_bullet.h
+++ b/include/d/actor/d_a_bullet.h
@@ -5,6 +5,39 @@
#include "d/d_bg_s_acch.h"
#include "d/d_cc_d.h"
+struct daBullet_HIOParam {
+ /* 0x00 */ f32 gravity;
+ /* 0x04 */ f32 weight;
+ /* 0x08 */ f32 height;
+ /* 0x0C */ f32 knee_height;
+ /* 0x10 */ f32 width;
+ /* 0x14 */ s16 lifetime;
+};
+
+class daBullet_Param_c {
+public:
+ virtual ~daBullet_Param_c() {}
+
+ static daBullet_HIOParam const m;
+};
+
+#if DEBUG
+class daBullet_HIO_c : public mDoHIO_entry_c {
+public:
+ daBullet_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
+
+ daBullet_HIOParam m;
+};
+
+#define BULLET_HIO_CLASS daBullet_HIO_c
+#else
+#define BULLET_HIO_CLASS daBullet_Param_c
+#endif
+
/**
* @ingroup actors-unsorted
* @class daBullet_c
@@ -24,7 +57,7 @@ public:
/* 0x788 */ dBgS_AcchCir mAcchCir;
/* 0x7C8 */ dCcD_Sph mCcSph;
/* 0x900 */ cBgS_GndChk mGndChk;
- /* 0x93C */ u8 field_0x93C[0x940 - 0x93C];
+ /* 0x93C */ BULLET_HIO_CLASS* mpHIO;
/* 0x940 */ f32 mGroundY;
/* 0x944 */ processFn mProcess;
/* 0x950 */ int mLifetime;
@@ -53,21 +86,4 @@ public:
STATIC_ASSERT(sizeof(daBullet_c) == 0x95c);
-struct daBullet_HIOParam {
- /* 0x00 */ f32 gravity;
- /* 0x04 */ f32 weight;
- /* 0x08 */ f32 height;
- /* 0x0C */ f32 knee_height;
- /* 0x10 */ f32 width;
- /* 0x14 */ s16 lifetime;
-};
-
-class daBullet_Param_c {
-public:
- virtual ~daBullet_Param_c() {}
-
- static daBullet_HIOParam const m;
-};
-
-
#endif /* D_A_BULLET_H */
diff --git a/include/d/actor/d_a_npc_aru.h b/include/d/actor/d_a_npc_aru.h
index 7cdba1eff9..0cd612bb5c 100644
--- a/include/d/actor/d_a_npc_aru.h
+++ b/include/d/actor/d_a_npc_aru.h
@@ -3,15 +3,6 @@
#include "d/actor/d_a_npc.h"
-/**
- * @ingroup actors-npcs
- * @class daNpc_Aru_c
- * @brief Fado
- *
- * @details
- *
-*/
-
struct daNpc_Aru_HIOParam {
/* 0x00 */ daNpcT_HIOParam common;
/* 0x8C */ f32 warning_range; // 警戒範囲 - Warning Range
@@ -22,11 +13,6 @@ struct daNpc_Aru_HIOParam {
/* 0x9C */ f32 forward_visibility; // 前方視界 - Forward Visibility
};
-class daNpc_Aru_HIO_c : public mDoHIO_entry_c {
-public:
- /* 0x8 */ daNpc_Aru_HIOParam param;
-};
-
class daNpc_Aru_Param_c {
public:
virtual ~daNpc_Aru_Param_c() {}
@@ -34,6 +20,30 @@ public:
static daNpc_Aru_HIOParam const m;
};
+#if DEBUG
+class daNpc_Aru_HIO_c : public mDoHIO_entry_c {
+public:
+ daNpc_Aru_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
+
+ /* 0x8 */ daNpc_Aru_HIOParam m;
+};
+#define NPC_ARU_HIO_CLASS daNpc_Aru_HIO_c
+#else
+#define NPC_ARU_HIO_CLASS daNpc_Aru_Param_c
+#endif
+
+/**
+ * @ingroup actors-npcs
+ * @class daNpc_Aru_c
+ * @brief Fado
+ *
+ * @details
+ *
+*/
class daNpc_Aru_c : public daNpcT_c {
public:
enum Joint {
@@ -168,7 +178,7 @@ public:
static cutFunc mCutList[7];
private:
- /* 0xE40 */ daNpc_Aru_HIO_c* mHIO;
+ /* 0xE40 */ NPC_ARU_HIO_CLASS* mpHIO;
/* 0xE44 */ dCcD_Cyl mCyl;
/* 0xF80 */ u8 mType;
/* 0xF84 */ daNpcT_ActorMngr_c mActorMngrs[4];
diff --git a/include/d/actor/d_a_npc_besu.h b/include/d/actor/d_a_npc_besu.h
index 19fc851c0c..0e1028069f 100644
--- a/include/d/actor/d_a_npc_besu.h
+++ b/include/d/actor/d_a_npc_besu.h
@@ -6,6 +6,35 @@
#endif
#include "d/actor/d_a_npc.h"
+struct daNpc_Besu_HIOParam {
+ /* 0x00 */ daNpcT_HIOParam common;
+ /* 0x8C */ f32 field_0x8c;
+};
+
+class daNpc_Besu_Param_c {
+public:
+ virtual ~daNpc_Besu_Param_c() {}
+
+ static const daNpc_Besu_HIOParam m;
+};
+
+#if DEBUG
+class daNpc_Besu_HIO_c : public mDoHIO_entry_c {
+public:
+ daNpc_Besu_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
+
+ daNpc_Besu_HIOParam m;
+};
+
+#define NPC_BESU_HIO_CLASS daNpc_Besu_HIO_c
+#else
+#define NPC_BESU_HIO_CLASS daNpc_Besu_Param_c
+#endif
+
/**
* @ingroup actors-npcs
* @class daNpc_Besu_c
@@ -116,7 +145,7 @@ public:
private:
/* 0x0E40 */ mDoExt_McaMorfSO* mpCupModelMorf;
- /* 0x0E44 */ u8 field_0xe44[0x0E48 - 0xE44];
+ /* 0x0E44 */ NPC_BESU_HIO_CLASS* mpHIO;
/* 0x0E48 */ J3DModel* mpClothModel[1];
/* 0x0E4C */ dCcD_Cyl mCyl1;
/* 0x0F88 */ dCcD_Cyl mCyl2;
@@ -140,16 +169,4 @@ private:
STATIC_ASSERT(sizeof(daNpc_Besu_c) == 0x1138);
-struct daNpc_Besu_HIOParam {
- /* 0x00 */ daNpcT_HIOParam common;
- /* 0x8C */ f32 field_0x8c;
-};
-
-class daNpc_Besu_Param_c {
-public:
- virtual ~daNpc_Besu_Param_c() {}
-
- static const daNpc_Besu_HIOParam m;
-};
-
#endif /* D_A_NPC_BESU_H */
diff --git a/include/d/actor/d_a_npc_blue_ns.h b/include/d/actor/d_a_npc_blue_ns.h
index 6c6185c1f6..fb30855c23 100644
--- a/include/d/actor/d_a_npc_blue_ns.h
+++ b/include/d/actor/d_a_npc_blue_ns.h
@@ -5,6 +5,33 @@
#include "d/actor/d_a_tag_yami.h"
#include "d/actor/d_a_obj_carry.h"
+struct daNpcBlueNS_HIOParam {
+ /* 0x00 */ daNpcF_HIOParam common;
+ /* 0x6C */ f32 field_0x6c;
+};
+
+class daNpcBlueNS_Param_c {
+public:
+ virtual ~daNpcBlueNS_Param_c() {}
+
+ static const daNpcBlueNS_HIOParam m;
+};
+
+#if DEBUG
+class daNpcBlueNS_HIO_c : public mDoHIO_entry_c {
+public:
+ daNpcBlueNS_HIO_c();
+
+ void genMessage(JORMContext*);
+
+ daNpcBlueNS_HIOParam m;
+};
+
+#define NPC_BLUE_NS_HIO_CLASS daNpcBlueNS_HIO_c
+#else
+#define NPC_BLUE_NS_HIO_CLASS daNpcBlueNS_Param_c
+#endif
+
/**
* @ingroup actors-npcs
* @class daNpcBlueNS_c
@@ -103,7 +130,7 @@ public:
/* 0xBD8 */ u8 field_0xBD8[0xBDC - 0xBD8];
/* 0xBDC */ daNpcF_Lookat_c mLookat;
/* 0xC78 */ daNpcF_ActorMngr_c mActorMngr[1];
- /* 0xC80 */ u8 field_0xC80[0xC84 - 0xC80];
+ /* 0xC80 */ NPC_BLUE_NS_HIO_CLASS* mpHIO;
/* 0xC84 */ dCcD_Cyl mCyl;
/* 0xDC0 */ u16 field_0xdc0;
/* 0xDC4 */ int (daNpcBlueNS_c::*mAction)(int);
@@ -130,17 +157,5 @@ public:
STATIC_ASSERT(sizeof(daNpcBlueNS_c) == 0xe14);
-struct daNpcBlueNS_HIOParam {
- /* 0x00 */ daNpcF_HIOParam common;
- /* 0x6C */ f32 field_0x6c;
-};
-
-class daNpcBlueNS_Param_c {
-public:
- virtual ~daNpcBlueNS_Param_c() {}
-
- static const daNpcBlueNS_HIOParam m;
-};
-
#endif /* D_A_NPC_BLUE_NS_H */
diff --git a/include/d/actor/d_a_npc_bou.h b/include/d/actor/d_a_npc_bou.h
index 2629a9f221..391c038457 100644
--- a/include/d/actor/d_a_npc_bou.h
+++ b/include/d/actor/d_a_npc_bou.h
@@ -3,6 +3,38 @@
#include "d/actor/d_a_npc.h"
+struct daNpc_Bou_HIOParam {
+ /* 0x00 */ daNpcT_HIOParam common;
+ /* 0x8C */ f32 field_0x8c; // 16.0f
+ /* 0x90 */ f32 field_0x90; // 1000.0f
+ /* 0x94 */ f32 field_0x94; // 500.0f
+ /* 0x98 */ f32 field_0x98; // -500.0f
+};
+
+ class daNpc_Bou_Param_c {
+public:
+ virtual ~daNpc_Bou_Param_c() {}
+
+ static const daNpc_Bou_HIOParam m;
+ };
+
+#if DEBUG
+class daNpc_Bou_HIO_c : public mDoHIO_entry_c {
+public:
+ daNpc_Bou_HIO_c();
+ virtual ~daNpc_Bou_HIO_c() {}
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
+
+ daNpc_Bou_HIOParam m;
+};
+#define NPC_BOU_HIO_CLASS daNpc_Bou_HIO_c
+#else
+#define NPC_BOU_HIO_CLASS daNpc_Bou_Param_c
+#endif
+
/**
* @ingroup actors-npcs
* @class daNpc_Bou_c
@@ -11,58 +43,6 @@
* @details
*
*/
- class daNpc_Bou_Param_c {
- public:
- virtual ~daNpc_Bou_Param_c() {}
-
- struct Data {
- /* 0x00 */ f32 field_0x00; // 255.0f
- /* 0x04 */ f32 field_0x04; // 3.0f
- /* 0x08 */ f32 field_0x08; // 1.0f
- /* 0x0C */ f32 field_0x0c; // 600.0f
- /* 0x10 */ f32 field_0x10; // 255.0f
- /* 0x14 */ f32 field_0x14; // 200.0f
- /* 0x18 */ f32 field_0x18; // 35.0f
- /* 0x1C */ f32 field_0x1c; // 40.0f
- /* 0x20 */ f32 field_0x20; // 0.0f
- /* 0x24 */ f32 field_0x24; // 0.0f
- /* 0x28 */ f32 field_0x28; // 10.0f
- /* 0x2C */ f32 field_0x2c; // -10.0f
- /* 0x30 */ f32 field_0x30; // 30.0f
- /* 0x34 */ f32 field_0x34; // -10.0f
- /* 0x38 */ f32 field_0x38; // 45.0f
- /* 0x3C */ f32 field_0x3c; // -45.0f
- /* 0x40 */ f32 field_0x40; // 0.6f
- /* 0x44 */ f32 field_0x44; // 12.0f
- /* 0x48 */ s16 field_0x48; // 3
- /* 0x4a */ s16 field_0x4a; // 6
- /* 0x4c */ s16 field_0x4c; // 5
- /* 0x4e */ s16 field_0x4e; // 6
- /* 0x50 */ f32 field_0x50; // 110.0f
- /* 0x54 */ f32 field_0x54; // 500.0f
- /* 0x58 */ f32 field_0x58; // 300.0f
- /* 0x5c */ f32 field_0x5c; // -300.0f
- /* 0x60 */ s16 field_0x60; // 60
- /* 0x62 */ s16 field_0x62; // 8
- /* 0x64 */ f32 field_0x64; // 0.0f
- /* 0x68 */ f32 field_0x68; // 0.0f
- /* 0x6c */ f32 field_0x6c; // 4.0f
- /* 0x70 */ f32 field_0x70; // 0.0f
- /* 0x74 */ f32 field_0x74; // 0.0f
- /* 0x78 */ f32 field_0x78; // 0.0f
- /* 0x7c */ f32 field_0x7c; // 0.0f
- /* 0x80 */ f32 field_0x80; // 0.0f
- /* 0x84 */ f32 field_0x84; // 0.0f
- /* 0x88 */ f32 field_0x88; // 0.0f
- /* 0x8c */ f32 field_0x8c; // 16.0f
- /* 0x90 */ f32 field_0x90; // 1000.0f
- /* 0x94 */ f32 field_0x94; // 500.0f
- /* 0x98 */ f32 field_0x98; // -500.0f
- };
-
- static const Data m;
-};
-
class daNpc_Bou_c : public daNpcT_c {
public:
typedef int (daNpc_Bou_c::*cutFunc)(int);
@@ -145,8 +125,9 @@ public:
BOOL chkFindWolf() {
int iVar1 = daNpcT_getDistTableIdx(field_0xfe0, field_0xfe4);
- return daNpcT_c::chkFindWolf(mCurAngle.y, iVar1, field_0xfdc, daNpc_Bou_Param_c::m.field_0x54,
- daNpc_Bou_Param_c::m.field_0x50, daNpc_Bou_Param_c::m.field_0x58, daNpc_Bou_Param_c::m.field_0x5c, 1);
+ return daNpcT_c::chkFindWolf(mCurAngle.y, iVar1, field_0xfdc,
+ mpHIO->m.common.search_distance, mpHIO->m.common.fov,
+ mpHIO->m.common.search_height, mpHIO->m.common.search_depth, 1);
}
int chkCondition(int i_val) {
@@ -187,7 +168,7 @@ public:
}
private:
- /* 0xE40 */ int field_0xe40;
+ /* 0xE40 */ NPC_BOU_HIO_CLASS* mpHIO;
/* 0xE44 */ dCcD_Cyl mCyl1;
/* 0xF80 */ u8 mType;
/* 0xF84 */ daNpcT_ActorMngr_c mActorMngr[3];
diff --git a/include/d/actor/d_a_npc_chat.h b/include/d/actor/d_a_npc_chat.h
index cb550b120e..1e959b4bde 100644
--- a/include/d/actor/d_a_npc_chat.h
+++ b/include/d/actor/d_a_npc_chat.h
@@ -3,25 +3,10 @@
#include "d/actor/d_a_npc4.h"
-/**
- * @ingroup actors-npcs
- * @class daNpcChat_c
- * @brief NPC Chat
- *
- * @details
- *
-*/
-
struct daNpcChat_HIOParam {
/* 0x0 */ daNpcF_HIOParam common;
};
-class daNpcChat_HIO_c : public mDoHIO_entry_c {
- void genMessage(JORMContext*);
-
- /* 0x8 */ daNpcChat_HIOParam param;
-};
-
class daNpcChat_Param_c {
public:
virtual ~daNpcChat_Param_c() {}
@@ -29,6 +14,29 @@ public:
static daNpcChat_HIOParam const m;
};
+#if DEBUG
+class daNpcChat_HIO_c : public mDoHIO_entry_c {
+public:
+ daNpcChat_HIO_c();
+
+ void genMessage(JORMContext*);
+
+ /* 0x8 */ daNpcChat_HIOParam m;
+};
+
+#define NPC_CHAT_HIO_CLASS daNpcChat_HIO_c
+#else
+#define NPC_CHAT_HIO_CLASS daNpcChat_Param_c
+#endif
+
+/**
+ * @ingroup actors-npcs
+ * @class daNpcChat_c
+ * @brief NPC Chat
+ *
+ * @details
+ *
+*/
class daNpcChat_c : public daNpcF_c {
public:
typedef bool (daNpcChat_c::*actionFunc)(void*);
@@ -102,7 +110,7 @@ private:
/* 0xBF0 */ J3DModel* mObjModel;
/* 0xBF4 */ daNpcF_Lookat_c mLookat;
/* 0xC90 */ daNpcF_ActorMngr_c mActorMngr[1];
- /* 0xC98 */ daNpcChat_HIO_c* mHIO;
+ /* 0xC98 */ NPC_CHAT_HIO_CLASS* mpHIO;
/* 0xC9C */ dCcD_Cyl mCyl;
/* 0xDD8 */ actionFunc mAction;
/* 0xDE4 */ request_of_phase_process_class mPhase1;
diff --git a/include/d/actor/d_a_npc_doorboy.h b/include/d/actor/d_a_npc_doorboy.h
index fd25ec9fd2..536f0d0961 100644
--- a/include/d/actor/d_a_npc_doorboy.h
+++ b/include/d/actor/d_a_npc_doorboy.h
@@ -4,6 +4,32 @@
#include "d/actor/d_a_npc4.h"
#include "d/d_msg_object.h"
+struct daNpcDoorBoy_HIOParam {
+ /* 0x0 */ daNpcF_HIOParam common;
+};
+
+class daNpcDoorBoy_Param_c {
+public:
+ virtual ~daNpcDoorBoy_Param_c() {}
+
+ static daNpcDoorBoy_HIOParam const m;
+};
+
+#if DEBUG
+class daNpcDoorBoy_HIO_c : public mDoHIO_entry_c {
+public:
+ daNpcDoorBoy_HIO_c();
+
+ void genMessage(JORMContext*);
+
+ daNpcDoorBoy_HIOParam m;
+};
+
+#define NPC_DOORBOY_HIO_CLASS daNpcDoorBoy_HIO_c
+#else
+#define NPC_DOORBOY_HIO_CLASS daNpcDoorBoy_Param_c
+#endif
+
/**
* @ingroup actors-npcs
* @class daNpcDoorBoy_c
@@ -12,11 +38,6 @@
* @details
*
*/
-
-struct daNpcDoorBoy_HIOParam {
- /* 0x0 */ daNpcF_HIOParam common;
-};
-
class daNpcDoorBoy_c : public daNpcF_c {
public:
typedef bool (daNpcDoorBoy_c::*actionFunc)(void*);
@@ -64,7 +85,7 @@ private:
/* 0xBEC */ u8 field_0xbec[0xbf0 - 0xbec];
/* 0xBF0 */ daNpcF_Lookat_c mLookat;
/* 0xC8C */ daNpcF_ActorMngr_c mActorMngr[1];
- /* 0xC95 */ u8 field_0xc94[0xc98 - 0xc94];
+ /* 0xC95 */ NPC_DOORBOY_HIO_CLASS* mpHIO;
/* 0xC98 */ dCcD_Cyl field_0xc98;
/* 0xDD4 */ actionFunc mAction;
/* 0xDE0 */ request_of_phase_process_class mPhases[2];
@@ -80,12 +101,5 @@ private:
STATIC_ASSERT(sizeof(daNpcDoorBoy_c) == 0xe08);
-class daNpcDoorBoy_Param_c {
-public:
- virtual ~daNpcDoorBoy_Param_c() {}
-
- static daNpcDoorBoy_HIOParam const m;
-};
-
#endif /* D_A_NPC_DOORBOY_H */
diff --git a/include/d/actor/d_a_npc_drainSol.h b/include/d/actor/d_a_npc_drainSol.h
index fef98ee92e..d61fb243b3 100644
--- a/include/d/actor/d_a_npc_drainSol.h
+++ b/include/d/actor/d_a_npc_drainSol.h
@@ -3,6 +3,32 @@
#include "d/actor/d_a_npc4.h"
+struct daNpcDrSol_HIOParam {
+ /* 0x00 */ daNpcF_HIOParam common;
+};
+
+class daNpcDrSol_Param_c {
+public:
+ virtual ~daNpcDrSol_Param_c() {}
+
+ static const daNpcDrSol_HIOParam m;
+};
+
+#if DEBUG
+class daNpcDrSol_HIO_c : public mDoHIO_entry_c {
+public:
+ daNpcDrSol_HIO_c();
+
+ void genMessage(JORMContext*);
+
+ daNpcDrSol_HIOParam m;
+};
+
+#define NPC_DRSOL_HIO_CLASS daNpcDrSol_HIO_c
+#else
+#define NPC_DRSOL_HIO_CLASS daNpcDrSol_Param_c
+#endif
+
/**
* @ingroup actors-npcs
* @class daNpcDrSol_c
@@ -44,7 +70,7 @@ public:
/* 0xB48 */ Z2Creature mSound;
/* 0xBD8 */ J3DModel* field_0xbd8;
- /* 0xBDC */ u8 field_0xBDC[0xBE0 - 0xBDC];
+ /* 0xBDC */ NPC_DRSOL_HIO_CLASS* mpHIO;
/* 0xBE0 */ dCcD_Cyl mCyl;
/* 0xD1C */ bool (daNpcDrSol_c::*mAction)(void*);
/* 0xD28 */ request_of_phase_process_class mPhase;
@@ -57,16 +83,5 @@ public:
STATIC_ASSERT(sizeof(daNpcDrSol_c) == 0xd3c);
-struct daNpcDrSol_HIOParam {
- /* 0x00 */ daNpcF_HIOParam common;
-};
-
-class daNpcDrSol_Param_c {
-public:
- virtual ~daNpcDrSol_Param_c() {}
-
- static const daNpcDrSol_HIOParam m;
-};
-
#endif /* D_A_NPC_DRAINSOL_H */
diff --git a/include/d/actor/d_a_npc_fairy_seirei.h b/include/d/actor/d_a_npc_fairy_seirei.h
index 3093ca51f1..d3b5a23823 100644
--- a/include/d/actor/d_a_npc_fairy_seirei.h
+++ b/include/d/actor/d_a_npc_fairy_seirei.h
@@ -3,6 +3,34 @@
#include "d/actor/d_a_npc.h"
+struct daNpc_FairySeirei_HIOParam {
+ /* 0x00 */ daNpcT_HIOParam common;
+ /* 0x8C */ f32 field_0x8c;
+ /* 0x90 */ f32 field_0x90;
+};
+
+class daNpc_FairySeirei_Param_c {
+public:
+ virtual ~daNpc_FairySeirei_Param_c() {}
+
+ static daNpc_FairySeirei_HIOParam const m;
+};
+
+#if DEBUG
+class daNpc_FairySeirei_HIO_c : public mDoHIO_entry_c {
+public:
+ daNpc_FairySeirei_HIO_c();
+
+ void genMessage(JORMContext*);
+
+ daNpc_FairySeirei_HIOParam m;
+};
+
+#define NPC_FAIRY_SEIREI_HIO_CLASS daNpc_FairySeirei_HIO_c
+#else
+#define NPC_FAIRY_SEIREI_HIO_CLASS daNpc_FairySeirei_Param_c
+#endif
+
/**
* @ingroup actors-npcs
* @class daNpc_FairySeirei_c
@@ -66,7 +94,7 @@ public:
static cutFunc mCutList[1];
private:
- /* 0xE40 */ u8 field_0xE40[4];
+ /* 0xE40 */ NPC_FAIRY_SEIREI_HIO_CLASS* mpHIO;
/* 0xE44 */ u8 mType;
/* 0xE48 */ dCcD_Cyl mCyl;
/* 0xF84 */ actionFunc mInitFunc;
@@ -79,11 +107,4 @@ private:
STATIC_ASSERT(sizeof(daNpc_FairySeirei_c) == 0xfb0);
-class daNpc_FairySeirei_Param_c {
-public:
- virtual ~daNpc_FairySeirei_Param_c() {}
-
- static f32 const m[37];
-};
-
#endif /* D_A_NPC_FAIRY_SEIREI_H */
diff --git a/include/d/actor/d_a_npc_gra.h b/include/d/actor/d_a_npc_gra.h
index fe22a787f8..3209329a76 100644
--- a/include/d/actor/d_a_npc_gra.h
+++ b/include/d/actor/d_a_npc_gra.h
@@ -7,7 +7,7 @@
class daNpc_grA_HIOParam {
public:
- /* 0x00 */ daNpcF_HIOParam mNpcFParams;
+ /* 0x00 */ daNpcF_HIOParam common;
/* 0x6C */ s16 mBowTimer;
/* 0x70 */ f32 mRotationalSpeed;
/* 0x74 */ f32 mWalkingSpeed;
@@ -19,7 +19,7 @@ public:
class daNpc_grA_Param_c {
public:
- virtual ~daNpc_grA_Param_c(){};
+ virtual ~daNpc_grA_Param_c() {}
static daNpc_grA_HIOParam const m;
};
@@ -28,19 +28,14 @@ public:
class daNpc_grA_HIO_c : public mDoHIO_entry_c {
public:
daNpc_grA_HIO_c();
-#if DEBUG
void listenPropertyEvent(const JORPropertyEvent*);
void genMessage(JORMContext*);
-#endif
- daNpc_grA_HIOParam mHioParams;
+ daNpc_grA_HIOParam m;
};
#define NPC_GRA_HIO_CLASS daNpc_grA_HIO_c
-
#else
-
#define NPC_GRA_HIO_CLASS daNpc_grA_Param_c
-
#endif
/**
@@ -155,7 +150,7 @@ private:
/* 0x0BDC */ int field_0xBDC;
/* 0x0BE0 */ daNpcF_Lookat_c mNpcfLookAt;
/* 0x0C7C */ daNpcF_ActorMngr_c mNpcfActorManager[3];
- /* 0x0C94 */ NPC_GRA_HIO_CLASS* mpHio;
+ /* 0x0C94 */ NPC_GRA_HIO_CLASS* mpHIO;
/* 0x0C98 */ dCcD_Cyl field_0xC98;
/* 0x0DD4 */ daNpcF_Path_c field_0xDD4;
/* 0x1404 */ daNpc_grA_c_Action mAction2;
diff --git a/include/d/actor/d_a_npc_grc.h b/include/d/actor/d_a_npc_grc.h
index a2dd3838d7..2342adcd8e 100644
--- a/include/d/actor/d_a_npc_grc.h
+++ b/include/d/actor/d_a_npc_grc.h
@@ -4,6 +4,34 @@
#include "d/actor/d_a_npc4.h"
#include "d/d_particle_copoly.h"
+struct daNpc_grC_HIOParam {
+ /* 0x0 */ daNpcF_HIOParam common;
+};
+
+class daNpc_grC_Param_c {
+public:
+ virtual ~daNpc_grC_Param_c() {}
+
+ static daNpc_grC_HIOParam const m;
+};
+
+#if DEBUG
+class daNpc_grC_HIO_c : public mDoHIO_entry_c {
+public:
+ daNpc_grC_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
+
+ /* 0x8 */ daNpc_grC_HIOParam m;
+};
+
+#define NPC_GRC_HIO_CLASS daNpc_grC_HIO_c
+#else
+#define NPC_GRC_HIO_CLASS daNpc_grC_Param_c
+#endif
+
/**
* @ingroup actors-npcs
* @class daNpc_grC_c
@@ -12,8 +40,6 @@
* @details
*
*/
-
-
class daNpc_grC_c : public daNpcF_c {
public:
typedef BOOL (daNpc_grC_c::*ActionFn)(void*);
@@ -72,7 +98,7 @@ private:
/* 0xBDC */ daNpcF_Lookat_c mLookat;
/* 0xC78 */ dPaPo_c mPaPo;
/* 0xCB0 */ daNpcF_ActorMngr_c mActorMngr[2];
- /* 0xCC0 */ u8 field_0xcc0[0xcc4 - 0xcc0];
+ /* 0xCC0 */ NPC_GRC_HIO_CLASS* mpHIO;
/* 0xCC4 */ dCcD_Cyl mCyl;
/* 0xE00 */ ActionFn mNextAction;
/* 0xE0C */ ActionFn mAction;
@@ -92,20 +118,5 @@ private:
STATIC_ASSERT(sizeof(daNpc_grC_c) == 0xe54);
-struct daNpc_grC_HIOParam {
- /* 0x0 */ daNpcF_HIOParam common;
-};
-
-class daNpc_grC_HIO_c : public mDoHIO_entry_c {
- /* 0x8 */ daNpc_grC_HIOParam field_0x8;
-};
-
-class daNpc_grC_Param_c {
-public:
- virtual ~daNpc_grC_Param_c() {}
-
- static daNpc_grC_HIOParam const m;
-};
-
#endif /* D_A_NPC_GRC_H */
diff --git a/include/d/actor/d_a_npc_grm.h b/include/d/actor/d_a_npc_grm.h
index b6eb35f357..e3e6f1f45a 100644
--- a/include/d/actor/d_a_npc_grm.h
+++ b/include/d/actor/d_a_npc_grm.h
@@ -4,6 +4,33 @@
#include "d/actor/d_a_npc.h"
#include "d/d_shop_system.h"
+struct daNpc_grM_HIOParam {
+ /* 0x0 */ daNpcT_HIOParam common;
+};
+
+class daNpc_grM_Param_c {
+public:
+ virtual ~daNpc_grM_Param_c() {}
+
+ static daNpc_grM_HIOParam const m;
+};
+
+#if DEBUG
+class daNpc_grM_HIO_c : public mDoHIO_entry_c {
+public:
+ daNpc_grM_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
+
+ /* 0x8 */ daNpc_grM_HIOParam m;
+};
+#define NPC_GRM_HIO_CLASS daNpc_grM_HIO_c
+#else
+#define NPC_GRM_HIO_CLASS daNpc_grM_Param_c
+#endif
+
/**
* @ingroup actors-npcs
* @class daNpc_grM_c
@@ -108,7 +135,7 @@ public:
static cutFunc mCutList[2];
private:
- /* 0x0F7C */ u8 field_0xf7c[0xf80 - 0xf7c];
+ /* 0x0F7C */ NPC_GRM_HIO_CLASS* mpHIO;
/* 0x0F80 */ dCcD_Cyl mCyl;
/* 0x10BC */ u8 mType;
/* 0x10C0 */ actionFunc mNextAction;
@@ -122,20 +149,4 @@ private:
STATIC_ASSERT(sizeof(daNpc_grM_c) == 0x10e4);
-struct daNpc_grM_HIOParam {
- /* 0x0 */ daNpcT_HIOParam common;
-};
-
-class daNpc_grM_HIO_c : public mDoHIO_entry_c {
-public:
- /* 0x8 */ daNpc_grM_HIOParam param;
-};
-
-class daNpc_grM_Param_c {
-public:
- virtual ~daNpc_grM_Param_c() {}
-
- static daNpc_grM_HIOParam const m;
-};
-
#endif /* D_A_NPC_GRM_H */
diff --git a/include/d/actor/d_a_npc_grmc.h b/include/d/actor/d_a_npc_grmc.h
index b0ffb6f6f7..7d1bef1381 100644
--- a/include/d/actor/d_a_npc_grmc.h
+++ b/include/d/actor/d_a_npc_grmc.h
@@ -26,6 +26,12 @@ struct daNpc_grMC_HIOParam {
class daNpc_grMC_HIO_c : public mDoHIO_entry_c {
public:
/* 0x8 */ daNpc_grMC_HIOParam m;
+
+ daNpc_grMC_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
};
class daNpc_grMC_Param_c {
@@ -122,7 +128,7 @@ public:
static cutFunc mCutList[1];
private:
- /* 0x0F7C */ NPC_GRMC_HIO_CLASS* mHIO;
+ /* 0x0F7C */ NPC_GRMC_HIO_CLASS* mpHIO;
/* 0x0F80 */ dCcD_Cyl mCyl;
/* 0x10BC */ u8 mType;
/* 0x10C0 */ actionFunc mNextAction;
diff --git a/include/d/actor/d_a_npc_grr.h b/include/d/actor/d_a_npc_grr.h
index 642073e295..4dfed0b3fe 100644
--- a/include/d/actor/d_a_npc_grr.h
+++ b/include/d/actor/d_a_npc_grr.h
@@ -3,27 +3,10 @@
#include "d/actor/d_a_npc4.h"
-/**
- * @ingroup actors-npcs
- * @class daNpc_grR_c
- * @brief Gor Liggs
- *
- * @details
- *
-*/
-
struct daNpc_grR_HIOParam {
/* 0x0 */ daNpcF_HIOParam common;
};
-class daNpc_grR_HIO_c
-#if DEBUG
-: public mDoHIO_entry_c
-#endif
-{
- /* 0x8 */ daNpc_grR_HIOParam param;
-};
-
class daNpc_grR_Param_c {
public:
virtual ~daNpc_grR_Param_c() {}
@@ -31,6 +14,31 @@ public:
static daNpc_grR_HIOParam const m;
};
+#if DEBUG
+class daNpc_grR_HIO_c : public mDoHIO_entry_c {
+public:
+ /* 0x8 */ daNpc_grR_HIOParam m;
+
+ daNpc_grR_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent* event);
+
+ void genMessage(JORMContext* ctx);
+};
+
+#define NPC_GRR_HIO_CLASS daNpc_grR_HIO_c
+#else
+#define NPC_GRR_HIO_CLASS daNpc_grR_Param_c
+#endif
+
+/**
+ * @ingroup actors-npcs
+ * @class daNpc_grR_c
+ * @brief Gor Liggs
+ *
+ * @details
+ *
+*/
class daNpc_grR_c : public daNpcF_c {
public:
typedef int (daNpc_grR_c::*cutFunc)(int);
@@ -83,7 +91,7 @@ private:
/* 0xBD8 */ daNpcF_MatAnm_c* mpMatAnm;
/* 0xBDC */ daNpcF_Lookat_c mLookat;
/* 0xC78 */ daNpcF_ActorMngr_c mActorMngr[2];
- /* 0xC88 */ daNpc_grR_HIO_c* mHIO;
+ /* 0xC88 */ NPC_GRR_HIO_CLASS* mpHIO;
/* 0xC8C */ dCcD_Cyl mCyl;
/* 0xDC8 */ actionFunc mNextAction;
/* 0xDD4 */ actionFunc mAction;
diff --git a/include/d/actor/d_a_npc_grz.h b/include/d/actor/d_a_npc_grz.h
index d875a985fa..08ac9889bf 100644
--- a/include/d/actor/d_a_npc_grz.h
+++ b/include/d/actor/d_a_npc_grz.h
@@ -24,10 +24,30 @@ struct daNpc_Grz_HIOParam {
/* 0x7C */ f32 demo_start_distance; // デモ開始距離 - Demo Start Distance
};
+class daNpc_Grz_Param_c {
+public:
+ virtual ~daNpc_Grz_Param_c() {}
+
+ static daNpc_Grz_HIOParam const m;
+};
+
+#if DEBUG
class daNpc_Grz_HIO_c : public mDoHIO_entry_c {
- /* 0x8 */ daNpc_Grz_HIOParam param;
+public:
+ daNpc_Grz_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent* event);
+
+ void genMessage(JORMContext* ctx);
+
+ /* 0x8 */ daNpc_Grz_HIOParam m;
};
+#define NPC_GRZ_HIO_CLASS daNpc_Grz_HIO_c
+#else
+#define NPC_GRZ_HIO_CLASS daNpc_Grz_Param_c
+#endif
+
class daNpc_Grz_c : public daNpcF_c {
public:
typedef int (daNpc_Grz_c::*actionFunc)(void*);
@@ -105,7 +125,7 @@ private:
/* 0x0BDC */ daNpcF_Lookat_c mLookat;
/* 0x0C78 */ daNpcF_Path_c mPath;
/* 0x12A8 */ daNpcF_ActorMngr_c mActorMngrs[4];
- /* 0x12C8 */ daNpc_Grz_HIO_c* mHIO;
+ /* 0x12C8 */ NPC_GRZ_HIO_CLASS* mpHIO;
/* 0x12CC */ dCcD_Cyl mCyl1;
/* 0x1408 */ dCcD_Cyl mCyl2;
/* 0x1544 */ dCcD_Sph mSphs[4];
@@ -133,11 +153,4 @@ private:
STATIC_ASSERT(sizeof(daNpc_Grz_c) == 0x1b08);
-class daNpc_Grz_Param_c {
-public:
- virtual ~daNpc_Grz_Param_c() {}
-
- static daNpc_Grz_HIOParam const m;
-};
-
#endif /* D_A_NPC_GRZ_H */
diff --git a/include/d/actor/d_a_npc_gwolf.h b/include/d/actor/d_a_npc_gwolf.h
index 5cc64907ba..2bcab4be53 100644
--- a/include/d/actor/d_a_npc_gwolf.h
+++ b/include/d/actor/d_a_npc_gwolf.h
@@ -3,15 +3,6 @@
#include "d/actor/d_a_npc4.h"
-/**
- * @ingroup actors-npcs
- * @class daNpc_GWolf_c
- * @brief Golden Wolf
- *
- * @details
- *
-*/
-
struct daNpc_GWolf_HIOParam {
/* 0x00 */ daNpcF_HIOParam common;
/* 0x6C */ f32 attack_spd_horizontal; // 攻撃速度横 - Attack Speed Horizontal
@@ -24,10 +15,6 @@ struct daNpc_GWolf_HIOParam {
/* 0x88 */ f32 warp_start_dist; // ワープ開始距離 - Warp Start Distance
};
-class daNpc_GWolf_HIO_c : public mDoHIO_entry_c {
- /* 0x8 */ daNpc_GWolf_HIOParam param;
-};
-
class daNpc_GWolf_Param_c {
public:
virtual ~daNpc_GWolf_Param_c() {}
@@ -35,6 +22,31 @@ public:
static daNpc_GWolf_HIOParam const m;
};
+#if DEBUG
+class daNpc_GWolf_HIO_c : public mDoHIO_entry_c {
+public:
+ daNpc_GWolf_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
+
+ /* 0x8 */ daNpc_GWolf_HIOParam m;
+};
+
+#define NPC_GWOLF_HIO_CLASS daNpc_GWolf_HIO_c
+#else
+#define NPC_GWOLF_HIO_CLASS daNpc_GWolf_Param_c
+#endif
+
+/**
+ * @ingroup actors-npcs
+ * @class daNpc_GWolf_c
+ * @brief Golden Wolf
+ *
+ * @details
+ *
+*/
class daNpc_GWolf_c : public daNpcF_c {
public:
typedef BOOL (daNpc_GWolf_c::*actionFunc)(void*);
@@ -100,7 +112,7 @@ private:
/* 0xBD8 */ daNpcF_MatAnm_c* mpMatAnm;
/* 0xBDC */ daNpcF_Lookat_c mLookat;
/* 0xC78 */ daNpcF_ActorMngr_c mActorMngrs[2];
- /* 0xC88 */ daNpc_GWolf_HIO_c* mHIO;
+ /* 0xC88 */ NPC_GWOLF_HIO_CLASS* mpHIO;
/* 0xC8C */ dCcD_Cyl mCyl;
/* 0xDC8 */ actionFunc mNextAction;
/* 0xDD4 */ actionFunc mAction;
diff --git a/include/d/actor/d_a_npc_hanjo.h b/include/d/actor/d_a_npc_hanjo.h
index 0a4302ecf5..867f4674b6 100644
--- a/include/d/actor/d_a_npc_hanjo.h
+++ b/include/d/actor/d_a_npc_hanjo.h
@@ -3,6 +3,46 @@
#include "d/actor/d_a_npc.h"
+struct daNpc_Hanjo_HIOParam {
+ /* 0x00 */ daNpcT_HIOParam common;
+ /* 0x8C */ f32 field_0x8c;
+ /* 0x90 */ f32 field_0x90;
+ /* 0x94 */ f32 field_0x94;
+ /* 0x98 */ f32 field_0x98;
+ /* 0x9C */ f32 field_0x9c;
+ /* 0xA0 */ f32 field_0xa0;
+ /* 0xA4 */ f32 field_0xa4;
+ /* 0xA8 */ f32 field_0xa8;
+ /* 0xAC */ s16 field_0xac;
+ /* 0xAE */ s16 field_0xae;
+ /* 0xB0 */ s16 field_0xb0;
+ /* 0xB2 */ s16 field_0xb2;
+};
+
+class daNpc_Hanjo_Param_c {
+public:
+ virtual ~daNpc_Hanjo_Param_c() {}
+
+ static const daNpc_Hanjo_HIOParam m;
+};
+
+#if DEBUG
+class daNpc_Hanjo_HIO_c : public mDoHIO_entry_c {
+public:
+ daNpc_Hanjo_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent* event);
+
+ void genMessage(JORMContext*);
+
+ daNpc_Hanjo_HIOParam m;
+};
+
+#define NPC_HANJO_HIO_CLASS daNpc_Hanjo_HIO_c
+#else
+#define NPC_HANJO_HIO_CLASS daNpc_Hanjo_Param_c
+#endif
+
class daNpc_HanjoStone_c {
public:
~daNpc_HanjoStone_c() {}
@@ -182,7 +222,7 @@ public:
static cutFunc mCutList[6];
static dCcD_SrcSph mStoneCcDSph;
private:
- /* 0x0E40 */ int field_0x0E40;
+ /* 0x0E40 */ NPC_HANJO_HIO_CLASS* mpHIO;
/* 0x0E44 */ J3DModel* mModel1;
/* 0x0E48 */ J3DModel* mModel2;
/* 0x0E4C */ dCcD_Cyl mCyl1;
@@ -213,64 +253,4 @@ private:
STATIC_ASSERT(sizeof(daNpc_Hanjo_c) == 0x172c);
-class daNpc_Hanjo_Param_c {
-public:
- virtual ~daNpc_Hanjo_Param_c() {}
-
- struct Data {
- /* 0x00 */ f32 field_0x00;
- /* 0x04 */ f32 field_0x04;
- /* 0x08 */ f32 field_0x08;
- /* 0x0C */ f32 field_0x0c;
- /* 0x10 */ f32 field_0x10;
- /* 0x14 */ f32 field_0x14;
- /* 0x18 */ f32 field_0x18;
- /* 0x1C */ f32 field_0x1c;
- /* 0x20 */ f32 field_0x20;
- /* 0x24 */ f32 field_0x24;
- /* 0x28 */ f32 field_0x28;
- /* 0x2C */ f32 field_0x2c;
- /* 0x30 */ f32 field_0x30;
- /* 0x34 */ f32 field_0x34;
- /* 0x38 */ f32 field_0x38;
- /* 0x3C */ f32 field_0x3c;
- /* 0x40 */ f32 field_0x40;
- /* 0x44 */ f32 field_0x44;
- /* 0x48 */ s16 field_0x48;
- /* 0x4A */ s16 field_0x4a;
- /* 0x4C */ s16 field_0x4c;
- /* 0x4E */ s16 field_0x4e;
- /* 0x50 */ f32 field_0x50;
- /* 0x54 */ f32 field_0x54;
- /* 0x58 */ f32 field_0x58;
- /* 0x5C */ f32 field_0x5c;
- /* 0x60 */ s16 field_0x60;
- /* 0x62 */ s16 field_0x62;
- /* 0x64 */ int field_0x64;
- /* 0x68 */ int field_0x68;
- /* 0x6C */ f32 field_0x6c;
- /* 0x70 */ f32 field_0x70;
- /* 0x74 */ f32 field_0x74;
- /* 0x78 */ f32 field_0x78;
- /* 0x7C */ f32 field_0x7c;
- /* 0x80 */ f32 field_0x80;
- /* 0x84 */ f32 field_0x84;
- /* 0x88 */ f32 field_0x88;
- /* 0x8C */ f32 field_0x8c;
- /* 0x90 */ f32 field_0x90;
- /* 0x94 */ f32 field_0x94;
- /* 0x98 */ f32 field_0x98;
- /* 0x9C */ f32 field_0x9c;
- /* 0xA0 */ f32 field_0xa0;
- /* 0xA4 */ f32 field_0xa4;
- /* 0xA8 */ f32 field_0xa8;
- /* 0xAC */ s16 field_0xac;
- /* 0xAE */ s16 field_0xae;
- /* 0xB0 */ s16 field_0xb0;
- /* 0xB2 */ s16 field_0xb2;
- };
-
- static const Data m;
-};
-
#endif /* D_A_NPC_HANJO_H */
diff --git a/include/d/actor/d_a_npc_hoz.h b/include/d/actor/d_a_npc_hoz.h
index 0a0b10eada..645940b0cb 100644
--- a/include/d/actor/d_a_npc_hoz.h
+++ b/include/d/actor/d_a_npc_hoz.h
@@ -4,6 +4,35 @@
#include "d/actor/d_a_npc.h"
#include "d/actor/d_a_startAndGoal.h"
+struct daNpc_Hoz_HIOParam {
+ /* 0x00 */ daNpcT_HIOParam common;
+ /* 0x8C */ f32 field_0x8c;
+};
+
+class daNpc_Hoz_Param_c {
+public:
+ virtual ~daNpc_Hoz_Param_c() {}
+
+ static const daNpc_Hoz_HIOParam m;
+};
+
+#if DEBUG
+class daNpc_Hoz_HIO_c : public mDoHIO_entry_c {
+public:
+ daNpc_Hoz_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
+
+ daNpc_Hoz_HIOParam m;
+};
+
+#define NPC_HOZ_HIO_CLASS daNpc_Hoz_HIO_c
+#else
+#define NPC_HOZ_HIO_CLASS daNpc_Hoz_Param_c
+#endif
+
/**
* @ingroup actors-npcs
* @class daNpc_Hoz_c
@@ -100,7 +129,7 @@ public:
static cutFunc mCutList[];
private:
- /* 0xE40 */ int field_0xE40;
+ /* 0xE40 */ NPC_HOZ_HIO_CLASS* mpHIO;
/* 0xE44 */ dCcD_Cyl mCyl;
/* 0xF80 */ u8 mType;
/* 0xF84 */ daStartAndGoal_c* field_0xf84;
@@ -122,16 +151,4 @@ private:
STATIC_ASSERT(sizeof(daNpc_Hoz_c) == 0xFC8);
-struct daNpc_Hoz_HIOParam {
- /* 0x00 */ daNpcT_HIOParam common;
- /* 0x8C */ f32 field_0x8c;
-};
-
-class daNpc_Hoz_Param_c {
-public:
- virtual ~daNpc_Hoz_Param_c() {}
-
- static const daNpc_Hoz_HIOParam m;
-};
-
#endif /* D_A_NPC_HOZ_H */
diff --git a/include/d/actor/d_a_npc_ins.h b/include/d/actor/d_a_npc_ins.h
index fd3817bc8c..20e960a414 100644
--- a/include/d/actor/d_a_npc_ins.h
+++ b/include/d/actor/d_a_npc_ins.h
@@ -3,24 +3,11 @@
#include "d/actor/d_a_npc4.h"
-/**
- * @ingroup actors-npcs
- * @class daNpcIns_c
- * @brief Agitha
- *
- * @details
- *
-*/
-
struct daNpcIns_HIOParam {
/* 0x00 */ daNpcF_HIOParam common;
/* 0x70 */ f32 walk_speed; // 歩行速度 - Walking Speed
};
-class daNpcIns_HIO_c : public mDoHIO_entry_c {
- /* 0x8 */ daNpcIns_HIOParam param;
-};
-
class daNpcIns_Param_c {
public:
virtual ~daNpcIns_Param_c() {}
@@ -28,6 +15,21 @@ public:
static daNpcIns_HIOParam const m;
};
+#if DEBUG
+class daNpcIns_HIO_c : public mDoHIO_entry_c {
+public:
+ daNpcIns_HIO_c();
+
+ void genMessage(JORMContext*);
+
+ /* 0x8 */ daNpcIns_HIOParam m;
+};
+
+#define NPC_INS_HIO_CLASS daNpcIns_HIO_c
+#else
+#define NPC_INS_HIO_CLASS daNpcIns_Param_c
+#endif
+
struct insect_param_data {
int evt_bit_no;
s16 msg_no;
@@ -35,6 +37,14 @@ struct insect_param_data {
u8 field_0x7;
};
+/**
+ * @ingroup actors-npcs
+ * @class daNpcIns_c
+ * @brief Agitha
+ *
+ * @details
+ *
+*/
class daNpcIns_c : public daNpcF_c {
public:
typedef int (daNpcIns_c::*actionFunc)(void*);
@@ -118,7 +128,7 @@ private:
/* 0xBE0 */ daNpcF_MatAnm_c* mpMatAnm;
/* 0xBE4 */ daNpcF_Lookat_c mLookat;
/* 0xC80 */ daNpcF_ActorMngr_c mActorMngr[1];
- /* 0xC88 */ daNpcIns_HIO_c* mHIO;
+ /* 0xC88 */ NPC_INS_HIO_CLASS* mpHIO;
/* 0xC8C */ dCcD_Cyl mCyl;
/* 0xDC8 */ actionFunc mAction;
/* 0xDD4 */ actionFunc mPrevAction;
diff --git a/include/d/actor/d_a_npc_kakashi.h b/include/d/actor/d_a_npc_kakashi.h
index 97099d2849..80dadc3e47 100644
--- a/include/d/actor/d_a_npc_kakashi.h
+++ b/include/d/actor/d_a_npc_kakashi.h
@@ -3,6 +3,37 @@
#include "d/actor/d_a_npc.h"
+struct daNpc_Kakashi_HIOParam {
+ /* 0x00 */ daNpcT_HIOParam common;
+ /* 0x8C */ f32 field_0x8c;
+ /* 0x90 */ f32 field_0x90;
+ /* 0x94 */ f32 field_0x94;
+};
+
+class daNpc_Kakashi_Param_c {
+public:
+ virtual ~daNpc_Kakashi_Param_c() {}
+
+ static const daNpc_Kakashi_HIOParam m;
+};
+
+#if DEBUG
+class daNpc_Kakashi_HIO_c : public mDoHIO_entry_c {
+public:
+ daNpc_Kakashi_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
+
+ daNpc_Kakashi_HIOParam m;
+};
+
+#define NPC_KAKASHI_HIO_CLASS daNpc_Kakashi_HIO_c
+#else
+#define NPC_KAKASHI_HIO_CLASS daNpc_Kakashi_Param_c
+#endif
+
/**
* @ingroup actors-npcs
* @class daNpc_Kakashi_c
@@ -86,7 +117,7 @@ public:
static int (daNpc_Kakashi_c::*mCutList[])(int);
private:
- /* 0x0E40 */ u8 field_0xE40[0xE44 - 0xE40];
+ /* 0x0E40 */ NPC_KAKASHI_HIO_CLASS* mpHIO;
/* 0x0E44 */ Z2SoundObjSimple mSound;
/* 0x0E64 */ dCcD_Cyl mCcCyl;
/* 0x0FA0 */ dCcD_Sph mCcSph[3];
@@ -109,19 +140,4 @@ private:
STATIC_ASSERT(sizeof(daNpc_Kakashi_c) == 0x1398);
-struct daNpc_Kakashi_HIOParam {
- /* 0x00 */ daNpcT_HIOParam common;
- /* 0x8C */ f32 field_0x8c;
- /* 0x90 */ f32 field_0x90;
- /* 0x94 */ f32 field_0x94;
-};
-
-class daNpc_Kakashi_Param_c {
-public:
- virtual ~daNpc_Kakashi_Param_c() {}
-
- static const daNpc_Kakashi_HIOParam m;
-};
-
-
#endif /* D_A_NPC_KAKASHI_H */
diff --git a/include/d/actor/d_a_npc_kasi_hana.h b/include/d/actor/d_a_npc_kasi_hana.h
index 9a64943e29..f1a3bd534b 100644
--- a/include/d/actor/d_a_npc_kasi_hana.h
+++ b/include/d/actor/d_a_npc_kasi_hana.h
@@ -211,7 +211,7 @@ private:
/* 0x0BF0 */ daNpcF_Lookat_c mLookat;
/* 0x0C8C */ daNpcF_ActorMngr_c mActorMngr[1];
/* 0x0C94 */ daNpcF_Path_c mPath;
- /* 0x12C4 */ NPC_KASI_HANA_HIO_CLASS* mHIO;
+ /* 0x12C4 */ NPC_KASI_HANA_HIO_CLASS* mpHIO;
/* 0x12C8 */ dCcD_Cyl mCyl;
/* 0x1404 */ s8 mType;
/* 0x1405 */ u8 field_0x1405;
diff --git a/include/d/actor/d_a_npc_kasi_kyu.h b/include/d/actor/d_a_npc_kasi_kyu.h
index 45fb2d4359..bbf2f10238 100644
--- a/include/d/actor/d_a_npc_kasi_kyu.h
+++ b/include/d/actor/d_a_npc_kasi_kyu.h
@@ -4,29 +4,42 @@
#include "d/actor/d_a_npc4.h"
#include "d/actor/d_a_tag_escape.h"
-/**
- * @ingroup actors-npcs
- * @class daNpcKasiKyu_c
- * @brief Kili
- *
- * @details
- *
-*/
-
struct daNpcKasiKyu_HIOParam {
/* 0x00 */ daNpcF_HIOParam common;
/* 0x6C */ s16 escape_time; // 逃げるまでの時間 - Escape Time
/* 0x70 */ f32 escape_spd; // 逃げる速度 - Escape Speed
};
-class daNpcKasiKyu_HIO_c
+class daNpcKasiKyu_Param_c {
+public:
+ virtual ~daNpcKasiKyu_Param_c() {}
+
+ static daNpcKasiKyu_HIOParam const m;
+};
+
#if DEBUG
-: public mDoHIO_entry_c
-#endif
-{
- /* 0x8 */ daNpcKasiKyu_HIOParam param;
+class daNpcKasiKyu_HIO_c : public mDoHIO_entry_c {
+public:
+ daNpcKasiKyu_HIO_c();
+
+ void genMessage(JORMContext*);
+
+ /* 0x8 */ daNpcKasiKyu_HIOParam m;
};
+#define NPC_KASI_KYU_HIO_CLASS daNpcKasiKyu_HIO_c
+#else
+#define NPC_KASI_KYU_HIO_CLASS daNpcKasiKyu_Param_c
+#endif
+
+/**
+ * @ingroup actors-npcs
+ * @class daNpcKasiKyu_c
+ * @brief Kili
+ *
+ * @details
+ *
+*/
class daNpcKasiKyu_c : public daNpcF_c {
public:
typedef int (daNpcKasiKyu_c::*actionFunc)(int);
@@ -117,7 +130,7 @@ private:
/* 0x0BF0 */ daNpcF_Lookat_c mLookat;
/* 0x0C8C */ daNpcF_ActorMngr_c mActorMngr[1];
/* 0x0C94 */ daNpcF_Path_c mPath;
- /* 0x12C4 */ daNpcKasiKyu_HIO_c* mHIO;
+ /* 0x12C4 */ NPC_KASI_KYU_HIO_CLASS* mpHIO;
/* 0x12C8 */ dCcD_Cyl mCyl;
/* 0x1404 */ s16 mMode;
/* 0x1408 */ actionFunc mAction;
@@ -143,11 +156,4 @@ private:
STATIC_ASSERT(sizeof(daNpcKasiKyu_c) == 0x146c);
-class daNpcKasiKyu_Param_c {
-public:
- virtual ~daNpcKasiKyu_Param_c() {}
-
- static daNpcKasiKyu_HIOParam const m;
-};
-
#endif /* D_A_NPC_KASI_KYU_H */
diff --git a/include/d/actor/d_a_npc_kasi_mich.h b/include/d/actor/d_a_npc_kasi_mich.h
index fbda43e3c6..1237167f6a 100644
--- a/include/d/actor/d_a_npc_kasi_mich.h
+++ b/include/d/actor/d_a_npc_kasi_mich.h
@@ -19,14 +19,28 @@ struct daNpcKasiMich_HIOParam {
/* 0x70 */ f32 escape_spd; // 逃げる速度 - Escape Speed
};
-class daNpcKasiMich_HIO_c
+class daNpcKasiMich_Param_c {
+public:
+ virtual ~daNpcKasiMich_Param_c() {}
+
+ static daNpcKasiMich_HIOParam const m;
+};
+
#if DEBUG
-: public mDoHIO_entry_c
-#endif
-{
- /* 0x8 */ daNpcKasiMich_HIOParam param;
+class daNpcKasiMich_HIO_c : public mDoHIO_entry_c {
+public:
+ daNpcKasiMich_HIO_c();
+
+ void genMessage(JORMContext*);
+
+ /* 0x8 */ daNpcKasiMich_HIOParam m;
};
+#define NPC_KASI_MICH_HIO_CLASS daNpcKasiMich_HIO_c
+#else
+#define NPC_KASI_MICH_HIO_CLASS daNpcKasiMich_Param_c
+#endif
+
class daNpcKasiMich_c : public daNpcF_c {
public:
typedef int (daNpcKasiMich_c::*actionFunc)(int);
@@ -117,7 +131,7 @@ private:
/* 0x0BF0 */ daNpcF_Lookat_c mLookat;
/* 0x0C8C */ daNpcF_ActorMngr_c mActorMngr[1];
/* 0x0C94 */ daNpcF_Path_c mPath;
- /* 0x12C4 */ daNpcKasiMich_HIO_c* mHIO;
+ /* 0x12C4 */ NPC_KASI_MICH_HIO_CLASS* mpHIO;
/* 0x12C8 */ dCcD_Cyl mCyl;
/* 0x1404 */ s16 mMode;
/* 0x1408 */ actionFunc mAction;
@@ -143,11 +157,4 @@ private:
STATIC_ASSERT(sizeof(daNpcKasiMich_c) == 0x146c);
-class daNpcKasiMich_Param_c {
-public:
- virtual ~daNpcKasiMich_Param_c() {}
-
- static daNpcKasiMich_HIOParam const m;
-};
-
#endif /* D_A_NPC_KASI_MICH_H */
diff --git a/include/d/actor/d_a_npc_kkri.h b/include/d/actor/d_a_npc_kkri.h
index d0285f5a89..964599d45e 100644
--- a/include/d/actor/d_a_npc_kkri.h
+++ b/include/d/actor/d_a_npc_kkri.h
@@ -3,6 +3,34 @@
#include "d/actor/d_a_npc.h"
+struct daNpc_Kkri_HIOParam {
+ /* 0x00 */ daNpcT_HIOParam common;
+};
+
+class daNpc_Kkri_Param_c {
+public:
+ virtual ~daNpc_Kkri_Param_c() {}
+
+ static const daNpc_Kkri_HIOParam m;
+};
+
+#if DEBUG
+class daNpc_Kkri_HIO_c : public mDoHIO_entry_c {
+public:
+ daNpc_Kkri_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
+
+ daNpc_Kkri_HIOParam m;
+};
+
+#define NPC_KKRI_HIO_CLASS daNpc_Kkri_HIO_c
+#else
+#define NPC_KKRI_HIO_CLASS daNpc_Kkri_Param_c
+#endif
+
/**
* @ingroup actors-npcs
* @class daNpc_Kkri_c
@@ -94,7 +122,7 @@ public:
static int (daNpc_Kkri_c::*mCutList[])(int);
private:
- /* 0xE40 */ u8 field_0xE40[0xE44 - 0xE40];
+ /* 0xE40 */ NPC_KKRI_HIO_CLASS* mpHIO;
/* 0xE44 */ dCcD_Cyl mCcCyl;
/* 0xF80 */ u8 mType;
/* 0xF84 */ daNpcT_ActorMngr_c mActorMng[1];
@@ -112,16 +140,4 @@ private:
STATIC_ASSERT(sizeof(daNpc_Kkri_c) == 0xfdc);
-struct daNpc_Kkri_HIOParam {
- /* 0x00 */ daNpcT_HIOParam common;
-};
-
-class daNpc_Kkri_Param_c {
-public:
- virtual ~daNpc_Kkri_Param_c() {}
-
- static const daNpc_Kkri_HIOParam m;
-};
-
-
#endif /* D_A_NPC_KKRI_H */
diff --git a/include/d/actor/d_a_npc_kolin.h b/include/d/actor/d_a_npc_kolin.h
index 1c6b9f2e4b..a314088bd0 100644
--- a/include/d/actor/d_a_npc_kolin.h
+++ b/include/d/actor/d_a_npc_kolin.h
@@ -3,15 +3,6 @@
#include "d/actor/d_a_npc.h"
-/**
- * @ingroup actors-npcs
- * @class daNpc_Kolin_c
- * @brief Colin
- *
- * @details
- *
-*/
-
struct daNpc_Kolin_HIOParam {
/* 0x00 */ daNpcT_HIOParam common;
/* 0x8C */ f32 start_distance; // 走りはじめ距離 - Start Distance
@@ -29,6 +20,31 @@ public:
static daNpc_Kolin_HIOParam const m;
};
+#if DEBUG
+class daNpc_Kolin_HIO_c : public mDoHIO_entry_c {
+public:
+ daNpc_Kolin_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
+
+ daNpc_Kolin_HIOParam m;
+};
+
+#define NPC_KOLIN_HIO_CLASS daNpc_Kolin_HIO_c
+#else
+#define NPC_KOLIN_HIO_CLASS daNpc_Kolin_Param_c
+#endif
+
+/**
+ * @ingroup actors-npcs
+ * @class daNpc_Kolin_c
+ * @brief Colin
+ *
+ * @details
+ *
+*/
class daNpc_Kolin_c : public daNpcT_c {
public:
typedef int (daNpc_Kolin_c::*cutFunc)(int);
@@ -146,7 +162,7 @@ public:
}
private:
- /* 0x0E40 */ u8 field_0xe40[0xe44 - 0xe40];
+ /* 0x0E40 */ NPC_KOLIN_HIO_CLASS* mpHIO;
/* 0x0E44 */ J3DModel* mpClothModel;
/* 0x0E48 */ dCcD_Cyl field_0xe48;
/* 0x0F84 */ u8 mType;
diff --git a/include/d/actor/d_a_npc_kolinb.h b/include/d/actor/d_a_npc_kolinb.h
index 6cc9823437..28291b5943 100644
--- a/include/d/actor/d_a_npc_kolinb.h
+++ b/include/d/actor/d_a_npc_kolinb.h
@@ -4,15 +4,6 @@
#include "d/actor/d_a_npc.h"
#include "d/d_bg_w.h"
-/**
- * @ingroup actors-npcs
- * @class daNpc_Kolinb_c
- * @brief Colin (Bedridden) / Ralis (Bedridden)
- *
- * @details
- *
-*/
-
struct daNpc_Kolinb_HIOParam {
/* 0x00 */ daNpcT_HIOParam common;
};
@@ -24,6 +15,31 @@ public:
static daNpc_Kolinb_HIOParam const m;
};
+#if DEBUG
+class daNpc_Kolinb_HIO_c : public mDoHIO_entry_c {
+public:
+ daNpc_Kolinb_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
+
+ daNpc_Kolinb_HIOParam m;
+};
+
+#define NPC_KOLINB_HIO_CLASS daNpc_Kolinb_HIO_c
+#else
+#define NPC_KOLINB_HIO_CLASS daNpc_Kolinb_Param_c
+#endif
+
+/**
+ * @ingroup actors-npcs
+ * @class daNpc_Kolinb_c
+ * @brief Colin (Bedridden) / Ralis (Bedridden)
+ *
+ * @details
+ *
+*/
class daNpc_Kolinb_c : public daNpcT_c {
public:
enum Joint {
@@ -151,7 +167,7 @@ public:
u32 getModelType() { return fopAcM_GetParam(this) >> 28; }
private:
- /* 0xE40 */ u8 field_0xe40[0xe44 - 0xe40];
+ /* 0xE40 */ NPC_KOLINB_HIO_CLASS* mpHIO;
/* 0xE44 */ dCcD_Cyl field_0xe44;
/* 0xF80 */ Mtx mMtx;
/* 0xFB0 */ dBgW* mpBgW;
diff --git a/include/d/actor/d_a_npc_maro.h b/include/d/actor/d_a_npc_maro.h
index e2330b059f..b7683f1656 100644
--- a/include/d/actor/d_a_npc_maro.h
+++ b/include/d/actor/d_a_npc_maro.h
@@ -5,6 +5,35 @@
#include "d/actor/d_a_npc.h"
#include "d/d_shop_system.h"
+struct daNpc_Maro_HIOParam {
+ /* 0x00 */ daNpcT_HIOParam common;
+ /* 0x8C */ s16 field_0x8c;
+};
+
+class daNpc_Maro_Param_c {
+public:
+ virtual ~daNpc_Maro_Param_c() {}
+
+ static const daNpc_Maro_HIOParam m;
+};
+
+#if DEBUG
+class daNpc_Maro_HIO_c : public mDoHIO_entry_c {
+public:
+ daNpc_Maro_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
+
+ daNpc_Maro_HIOParam m;
+};
+
+#define NPC_MARO_HIO_CLASS daNpc_Maro_HIO_c
+#else
+#define NPC_MARO_HIO_CLASS daNpc_Maro_Param_c
+#endif
+
/**
* @ingroup actors-npcs
* @class daNpc_Maro_c
@@ -153,7 +182,7 @@ public:
}
private:
- /* 0x0F7C */ int field_0xf7c;
+ /* 0x0F7C */ NPC_MARO_HIO_CLASS* mpHIO;
/* 0x0F80 */ dCcD_Cyl mCyl1;
/* 0x10BC */ int field_0x10bc;
/* 0x10C0 */ u8 mType;
@@ -179,17 +208,4 @@ private:
STATIC_ASSERT(sizeof(daNpc_Maro_c) == 0x1140);
-struct daNpc_Maro_HIOParam {
- /* 0x00 */ daNpcT_HIOParam common;
- /* 0x8C */ u32 field_0x8c;
-};
-
-class daNpc_Maro_Param_c {
-public:
- virtual ~daNpc_Maro_Param_c() {}
-
- static const daNpc_Maro_HIOParam m;
-};
-
-
#endif /* D_A_NPC_MARO_H */
diff --git a/include/d/actor/d_a_npc_midp.h b/include/d/actor/d_a_npc_midp.h
index 9c358564b5..fcbc4ed3fa 100644
--- a/include/d/actor/d_a_npc_midp.h
+++ b/include/d/actor/d_a_npc_midp.h
@@ -16,10 +16,6 @@ struct daNpc_midP_HIOParam {
/* 0x0 */ daNpcT_HIOParam common;
};
-class daNpc_midP_HIO_c : public mDoHIO_entry_c {
- /* 0x8 */ daNpc_midP_HIOParam param;
-};
-
class daNpc_midP_Param_c {
public:
virtual ~daNpc_midP_Param_c() {}
@@ -27,6 +23,23 @@ public:
static const daNpc_midP_HIOParam m;
};
+#if DEBUG
+class daNpc_midP_HIO_c : public mDoHIO_entry_c {
+public:
+ daNpc_midP_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
+
+ daNpc_midP_HIOParam m;
+};
+
+#define NPC_MIDP_HIO_CLASS daNpc_midP_HIO_c
+#else
+#define NPC_MIDP_HIO_CLASS daNpc_midP_Param_c
+#endif
+
class daNpc_midP_c : public daNpcT_c {
public:
enum Joint {
@@ -139,10 +152,9 @@ public:
static cutFunc mCutList[1];
private:
- /* 0xE40 */ u8 field_0xE40[0xe44 - 0xe40];
+ /* 0xE40 */ NPC_MIDP_HIO_CLASS* mpHIO;
/* 0xE44 */ dCcD_Cyl mCyl;
/* 0xF80 */ u8 mType;
- /* 0xF81 */ u8 field_0xf81[0xf84-0xf81];
/* 0xF84 */ actionFunc field_0xf84;
/* 0xF90 */ actionFunc field_0xf90;
/* 0xF9C */ int field_0xf9c;
diff --git a/include/d/actor/d_a_npc_moi.h b/include/d/actor/d_a_npc_moi.h
index a855bf6543..b387a58235 100644
--- a/include/d/actor/d_a_npc_moi.h
+++ b/include/d/actor/d_a_npc_moi.h
@@ -24,7 +24,7 @@ struct daNpc_Moi_HIOParam {
class daNpc_Moi_Param_c {
public:
- virtual ~daNpc_Moi_Param_c() {};
+ virtual ~daNpc_Moi_Param_c() {}
static const daNpc_Moi_HIOParam m;
};
diff --git a/include/d/actor/d_a_npc_myna2.h b/include/d/actor/d_a_npc_myna2.h
index 76e78dd9e2..bf97f43124 100644
--- a/include/d/actor/d_a_npc_myna2.h
+++ b/include/d/actor/d_a_npc_myna2.h
@@ -3,6 +3,36 @@
#include "d/actor/d_a_npc4.h"
+struct daNpc_myna2_HIOParam {
+ /* 0x00 */ daNpcF_HIOParam common;
+ /* 0x6C */ f32 field_0x6c;
+ /* 0x70 */ f32 field_0x70;
+};
+
+class daNpc_myna2_Param_c {
+public:
+ virtual ~daNpc_myna2_Param_c() {}
+
+ static const daNpc_myna2_HIOParam m;
+};
+
+#if DEBUG
+class daNpc_myna2_HIO_c : public mDoHIO_entry_c {
+public:
+ daNpc_myna2_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
+
+ daNpc_myna2_HIOParam m;
+};
+
+#define NPC_MYNA2_HIO_CLASS daNpc_myna2_HIO_c
+#else
+#define NPC_MYNA2_HIO_CLASS daNpc_myna2_Param_c
+#endif
+
/**
* @ingroup actors-npcs
* @class daNpc_myna2_c
@@ -64,7 +94,7 @@ public:
/* 0xB4C */ daNpcF_Lookat_c mLookat;
/* 0xBE8 */ Z2CreatureSumomo mSound;
/* 0xC78 */ daNpcF_ActorMngr_c mActorMgrs[1];
- /* 0xC80 */ u8 field_0xC80[0xC84 - 0xC80];
+ /* 0xC80 */ NPC_MYNA2_HIO_CLASS* mpHIO;
/* 0xC84 */ dCcD_Cyl mCyl;
/* 0xDC0 */ ActionFn mNextAction;
/* 0xDCC */ ActionFn mAction;
@@ -88,18 +118,4 @@ public:
STATIC_ASSERT(sizeof(daNpc_myna2_c) == 0xe34);
-struct daNpc_myna2_HIOParam {
- /* 0x00 */ daNpcF_HIOParam common;
- /* 0x6C */ f32 field_0x6c;
- /* 0x70 */ f32 field_0x70;
-};
-
-class daNpc_myna2_Param_c {
-public:
- virtual ~daNpc_myna2_Param_c() {}
-
- static const daNpc_myna2_HIOParam m;
-};
-
-
#endif /* D_A_NPC_MYNA2_H */
diff --git a/include/d/actor/d_a_npc_pachi_besu.h b/include/d/actor/d_a_npc_pachi_besu.h
index 28240cfd58..c01375b7f4 100644
--- a/include/d/actor/d_a_npc_pachi_besu.h
+++ b/include/d/actor/d_a_npc_pachi_besu.h
@@ -3,24 +3,10 @@
#include "d/actor/d_a_npc.h"
-/**
- * @ingroup actors-npcs
- * @class daNpc_Pachi_Besu_c
- * @brief Beth (Slingshot Tutorial)
- *
- * @details
- *
-*/
-
struct daNpc_Pachi_Besu_HIOParam {
/* 0x0 */ daNpcT_HIOParam common;
};
-class daNpc_Pachi_Besu_HIO_c : public mDoHIO_entry_c {
-public:
- /* 0x8 */ daNpc_Pachi_Besu_HIOParam param;
-};
-
class daNpc_Pachi_Besu_Param_c {
public:
virtual ~daNpc_Pachi_Besu_Param_c() {}
@@ -28,6 +14,31 @@ public:
static daNpc_Pachi_Besu_HIOParam const m;
};
+#if DEBUG
+class daNpc_Pachi_Besu_HIO_c : public mDoHIO_entry_c {
+public:
+ daNpc_Pachi_Besu_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
+
+ daNpc_Pachi_Besu_HIOParam m;
+};
+
+#define NPC_PACHI_BESU_HIO_CLASS daNpc_Pachi_Besu_HIO_c
+#else
+#define NPC_PACHI_BESU_HIO_CLASS daNpc_Pachi_Besu_Param_c
+#endif
+
+/**
+ * @ingroup actors-npcs
+ * @class daNpc_Pachi_Besu_c
+ * @brief Beth (Slingshot Tutorial)
+ *
+ * @details
+ *
+*/
class daNpc_Pachi_Besu_c : public daNpcT_c {
public:
typedef BOOL (daNpc_Pachi_Besu_c::*actionFunc)(void*);
@@ -137,7 +148,7 @@ public:
static cutFunc mCutList[11];
private:
- /* 0xE40 */ daNpc_Pachi_Besu_HIO_c* mHIO;
+ /* 0xE40 */ NPC_PACHI_BESU_HIO_CLASS* mpHIO;
/* 0xE44 */ dCcD_Cyl mCyl;
/* 0xF80 */ u8 mType;
/* 0xF81 */ u8 mTalk;
diff --git a/include/d/actor/d_a_npc_prayer.h b/include/d/actor/d_a_npc_prayer.h
index 85dbed1014..459710f049 100644
--- a/include/d/actor/d_a_npc_prayer.h
+++ b/include/d/actor/d_a_npc_prayer.h
@@ -3,6 +3,32 @@
#include "d/actor/d_a_npc4.h"
+struct daNpcPray_HIOParam {
+ daNpcF_HIOParam common;
+};
+
+class daNpcPray_Param_c {
+public:
+ virtual ~daNpcPray_Param_c() {}
+
+ static const daNpcPray_HIOParam m;
+};
+
+#if DEBUG
+class daNpcPray_HIO_c : public mDoHIO_entry_c {
+public:
+ daNpcPray_HIO_c();
+
+ void genMessage(JORMContext*);
+
+ daNpcPray_HIOParam m;
+};
+
+#define NPC_PRAY_HIO_CLASS daNpcPray_HIO_c
+#else
+#define NPC_PRAY_HIO_CLASS daNpcPray_Param_c
+#endif
+
/**
* @ingroup actors-npcs
* @class daNpcPray_c
@@ -58,7 +84,7 @@ private:
/* 0xBEC */ u8 field_0xBEC[0xBF0 - 0xBEC];
/* 0xBF0 */ daNpcF_Lookat_c mLookat;
/* 0xC8C */ daNpcF_ActorMngr_c mActorMngr[2];
- /* 0xC9C */ u8 field_0xC9C[0xCA0 - 0xC9C];
+ /* 0xC9C */ NPC_PRAY_HIO_CLASS* mpHIO;
/* 0xCA0 */ dCcD_Cyl mCcCyl;
/* 0xDDC */ bool (daNpcPray_c::*mAction)(void*);
/* 0xDE8 */ request_of_phase_process_class mPhase[2];
@@ -74,16 +100,4 @@ private:
STATIC_ASSERT(sizeof(daNpcPray_c) == 0xe10);
-struct daNpcPray_HIOParam {
- daNpcF_HIOParam common;
-};
-
-class daNpcPray_Param_c {
-public:
- virtual ~daNpcPray_Param_c() {}
-
- static const daNpcPray_HIOParam m;
-};
-
-
#endif /* D_A_NPC_PRAYER_H */
diff --git a/include/d/actor/d_a_npc_raca.h b/include/d/actor/d_a_npc_raca.h
index 34e05c323b..abeb1e6572 100644
--- a/include/d/actor/d_a_npc_raca.h
+++ b/include/d/actor/d_a_npc_raca.h
@@ -16,10 +16,6 @@ struct daNpc_Raca_HIOParam {
/* 0x0 */ daNpcT_HIOParam common;
};
-class daNpc_Raca_HIO_c : public mDoHIO_entry_c {
- /* 0x8 */ daNpc_Raca_HIOParam param;
-};
-
class daNpc_Raca_Param_c {
public:
virtual ~daNpc_Raca_Param_c() {}
@@ -27,6 +23,23 @@ public:
static daNpc_Raca_HIOParam const m;
};
+#if DEBUG
+class daNpc_Raca_HIO_c : public mDoHIO_entry_c {
+public:
+ daNpc_Raca_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
+
+ daNpc_Raca_HIOParam m;
+};
+
+#define NPC_RACA_HIO_CLASS daNpc_Raca_HIO_c
+#else
+#define NPC_RACA_HIO_CLASS daNpc_Raca_Param_c
+#endif
+
class daNpc_Raca_c : public daNpcT_c {
public:
enum Material {
@@ -136,7 +149,7 @@ public:
static cutFunc mCutList[1];
private:
- /* 0xE40 */ daNpc_Raca_HIO_c* mHIO;
+ /* 0xE40 */ NPC_RACA_HIO_CLASS* mpHIO;
/* 0xE44 */ dCcD_Cyl mCyl;
/* 0xF80 */ u8 mType;
/* 0xF84 */ daNpcT_ActorMngr_c mActorMngr[1];
diff --git a/include/d/actor/d_a_npc_saru.h b/include/d/actor/d_a_npc_saru.h
index f4e64d918f..14c36ec633 100644
--- a/include/d/actor/d_a_npc_saru.h
+++ b/include/d/actor/d_a_npc_saru.h
@@ -15,25 +15,32 @@
struct daNpc_Saru_HIOParam {
/* 0x00 */ daNpcT_HIOParam common;
/* 0x8C */ s16 scared_time; // 怯える時間 - Scared Time
- /* 0x8E */ s16 field_0x8e;
};
-class daNpc_Saru_Param_c : public JORReflexible {
+class daNpc_Saru_Param_c {
public:
virtual ~daNpc_Saru_Param_c() {}
-#if DEBUG
- void genMessage(JORMContext*);
-#endif
-
static const daNpc_Saru_HIOParam m;
};
+#if DEBUG
class daNpc_Saru_HIO_c : public mDoHIO_entry_c {
public:
- daNpc_Saru_HIOParam param;
+ daNpc_Saru_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
+
+ daNpc_Saru_HIOParam m;
};
+#define NPC_SARU_HIO_CLASS daNpc_Saru_HIO_c
+#else
+#define NPC_SARU_HIO_CLASS daNpc_Saru_Param_c
+#endif
+
class daNpc_Saru_c : public daNpcT_c {
public:
typedef int (daNpc_Saru_c::*cutFunc)(int);
@@ -129,10 +136,7 @@ public:
static char* mCutNameList[4];
static cutFunc mCutList[4];
private:
- #if DEBUG
- /* 0xE90 */ daNpc_Saru_HIO_c* field_0xe90;
- #endif
- /* 0xE40 */ u8 field_0xe40[0xe44 - 0xe40];
+ /* 0xE40 */ NPC_SARU_HIO_CLASS* mpHIO;
/* 0xE44 */ J3DModel* mpRoseModels[2];
/* 0xE4C */ dCcD_Cyl field_0xe4c;
/* 0xF88 */ u8 mType;
diff --git a/include/d/actor/d_a_npc_seib.h b/include/d/actor/d_a_npc_seib.h
index 8e3f65df6d..43e887dc64 100644
--- a/include/d/actor/d_a_npc_seib.h
+++ b/include/d/actor/d_a_npc_seib.h
@@ -3,6 +3,36 @@
#include "d/actor/d_a_npc.h"
+struct daNpc_seiB_HIOParam {
+ /* 0x00 */ daNpcT_HIOParam common;
+ /* 0x8C */ f32 field_0x8c;
+ /* 0x90 */ f32 mDist;
+};
+
+class daNpc_seiB_Param_c {
+public:
+ virtual ~daNpc_seiB_Param_c() {};
+
+ static const daNpc_seiB_HIOParam m;
+};
+
+#if DEBUG
+class daNpc_seiB_HIO_c : public mDoHIO_entry_c {
+public:
+ daNpc_seiB_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
+
+ daNpc_seiB_HIOParam m;
+};
+
+#define NPC_SEIB_HIO_CLASS daNpc_seiB_HIO_c
+#else
+#define NPC_SEIB_HIO_CLASS daNpc_seiB_Param_c
+#endif
+
/**
* @ingroup actors-npcs
* @class daNpc_seiB_c
@@ -11,52 +41,6 @@
* @details
*
*/
-
-class daNpc_seiB_Param_c {
-public:
- virtual ~daNpc_seiB_Param_c() {};
- struct Data {
- /* 0x00 */ f32 field_0x00;
- /* 0x04 */ f32 mGravity;
- /* 0x08 */ f32 mScale;
- /* 0x0C */ f32 field_0xc;
- /* 0x10 */ f32 mWeight;
- /* 0x14 */ f32 mCylH;
- /* 0x18 */ f32 mWallH;
- /* 0x1C */ f32 mWallR;
- /* 0x20 */ f32 field_0x20;
- /* 0x24 */ f32 field_0x24;
- /* 0x28 */ f32 field_0x28;
- /* 0x2C */ f32 field_0x2c;
- /* 0x30 */ f32 field_0x30;
- /* 0x34 */ f32 field_0x34;
- /* 0x38 */ f32 field_0x38;
- /* 0x3C */ f32 field_0x3c;
- /* 0x40 */ f32 field_0x40;
- /* 0x44 */ f32 mMorfFrames;
- /* 0x48 */ f32 field_0x48;
- /* 0x4C */ f32 field_0x4c;
- /* 0x50 */ f32 field_0x50;
- /* 0x54 */ f32 field_0x54;
- /* 0x58 */ f32 field_0x58;
- /* 0x5C */ f32 field_0x5c;
- /* 0x60 */ f32 field_0x60;
- /* 0x64 */ f32 field_0x64;
- /* 0x68 */ f32 field_0x68;
- /* 0x6C */ f32 field_0x6c;
- /* 0x70 */ f32 field_0x70;
- /* 0x74 */ f32 field_0x74;
- /* 0x78 */ f32 field_0x78;
- /* 0x7C */ f32 field_0x7c;
- /* 0x80 */ f32 field_0x80;
- /* 0x84 */ f32 field_0x84;
- /* 0x88 */ f32 field_0x88;
- /* 0x8C */ f32 field_0x8c;
- /* 0x90 */ f32 mDist;
- };
-
- static const Data m;
-};
class daNpc_seiB_c : public daNpcT_c {
public:
typedef int (daNpc_seiB_c::*cutFunc)(int);
@@ -104,7 +88,7 @@ public:
static cutFunc mCutList[1];
private:
- /* 0xE40 */ daNpc_seiB_Param_c* mpParam;
+ /* 0xE40 */ NPC_SEIB_HIO_CLASS* mpHIO;
/* 0xE44 */ u8 mType;
/* 0xE48 */ actionFunc mActionFunc1;
/* 0xE54 */ actionFunc mActionFunc2;
diff --git a/include/d/actor/d_a_npc_seic.h b/include/d/actor/d_a_npc_seic.h
index 3c6f5f3fe8..dd860a8869 100644
--- a/include/d/actor/d_a_npc_seic.h
+++ b/include/d/actor/d_a_npc_seic.h
@@ -13,67 +13,35 @@
*/
struct daNpc_seiC_HIOParam {
- /* 0x00 */ f32 field_0x00;
- /* 0x04 */ f32 mGravity;
- /* 0x08 */ f32 mScale;
- /* 0x0C */ f32 field_0x0c;
- /* 0x10 */ f32 mSttsWeight;
- /* 0x14 */ f32 mCylH;
- /* 0x18 */ f32 mWallH;
- /* 0x1C */ f32 mWallR;
- /* 0x20 */ f32 field_0x20;
- /* 0x24 */ f32 field_0x24;
- /* 0x28 */ f32 field_0x28;
- /* 0x2C */ f32 field_0x2c;
- /* 0x30 */ f32 field_0x30;
- /* 0x34 */ f32 field_0x34;
- /* 0x38 */ f32 field_0x38;
- /* 0x3C */ f32 field_0x3c;
- /* 0x40 */ f32 field_0x40;
- /* 0x44 */ f32 mMorfFrames;
- /* 0x48 */ f32 field_0x48;
- /* 0x4C */ f32 field_0x4c;
- /* 0x50 */ f32 field_0x50;
- /* 0x54 */ f32 field_0x54;
- /* 0x58 */ f32 field_0x58;
- /* 0x5C */ f32 field_0x5c;
- /* 0x60 */ f32 field_0x60;
- /* 0x64 */ f32 field_0x64;
- /* 0x68 */ f32 field_0x68;
- /* 0x6C */ f32 field_0x6c;
- /* 0x70 */ f32 field_0x70;
- /* 0x74 */ f32 field_0x74;
- /* 0x78 */ f32 field_0x78;
- /* 0x7C */ f32 field_0x7c;
- /* 0x80 */ f32 field_0x80;
- /* 0x84 */ f32 field_0x84;
- /* 0x88 */ f32 field_0x88;
- /* 0x8C */ f32 field_0x8c;
- /* 0x90 */ f32 field_0x90;
+ /* 0x00 */ daNpcT_HIOParam common;
+ /* 0x8C */ f32 field_0x8c; // "強制会話距離" "Forced conversation distance" | Slider
+ /* 0x90 */ f32 field_0x90; // "会話距離" "Conversation distance" | Slider
};
class daNpc_seiC_Param_c {
- public:
- virtual ~daNpc_seiC_Param_c() {};
+public:
+ virtual ~daNpc_seiC_Param_c() {}
- static const daNpc_seiC_HIOParam m;
+ static const daNpc_seiC_HIOParam m;
};
-class daNpc_seiC_HIO_c
#if DEBUG
-: public mDoHIO_entry_c
-#endif
-{
+class daNpc_seiC_HIO_c : public mDoHIO_entry_c {
public:
+ daNpc_seiC_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
void genMessage(JORMContext*);
- #if DEBUG
- /* 0x08 */ daNpc_seiC_HIOParam field_0x8;
- /* 0x94 */ f32 field_0x94; // "強制会話距離" "Forced conversation distance" | Slider
- /* 0x98 */ f32 field_0x98; // "会話距離" "Conversation distance" | Slider
- #endif
+ /* 0x08 */ daNpc_seiC_HIOParam m;
};
+#define NPC_SEIC_HIO_CLASS daNpc_seiC_HIO_c
+#else
+#define NPC_SEIC_HIO_CLASS daNpc_seiC_Param_c
+#endif
+
class daNpc_seiC_c : public daNpcT_c {
public:
typedef int (daNpc_seiC_c::*cutFunc)(int);
@@ -123,7 +91,7 @@ public:
static cutFunc mCutList[1];
private:
- /* 0xE40 */ daNpc_seiC_HIO_c* field_0xe40;
+ /* 0xE40 */ NPC_SEIC_HIO_CLASS* mpHIO;
/* 0xE44 */ u8 mType;
/* 0xE45 */ u8 field_0xe45[0xe48 - 0xe45];
/* 0xE48 */ actionFunc mAction;
diff --git a/include/d/actor/d_a_npc_seid.h b/include/d/actor/d_a_npc_seid.h
index 43abdd2356..7119761b25 100644
--- a/include/d/actor/d_a_npc_seid.h
+++ b/include/d/actor/d_a_npc_seid.h
@@ -13,67 +13,35 @@
*/
struct daNpc_seiD_HIOParam {
- /* 0x00 */ f32 field_0x00;
- /* 0x04 */ f32 mGravity;
- /* 0x08 */ f32 mScale;
- /* 0x0C */ f32 field_0x0c;
- /* 0x10 */ f32 mSttsWeight;
- /* 0x14 */ f32 mCylH;
- /* 0x18 */ f32 mWallH;
- /* 0x1C */ f32 mWallR;
- /* 0x20 */ f32 field_0x20;
- /* 0x24 */ f32 field_0x24;
- /* 0x28 */ f32 field_0x28;
- /* 0x2C */ f32 field_0x2c;
- /* 0x30 */ f32 field_0x30;
- /* 0x34 */ f32 field_0x34;
- /* 0x38 */ f32 field_0x38;
- /* 0x3C */ f32 field_0x3c;
- /* 0x40 */ f32 field_0x40;
- /* 0x44 */ f32 mMorfFrames;
- /* 0x48 */ f32 field_0x48;
- /* 0x4C */ f32 field_0x4c;
- /* 0x50 */ f32 field_0x50;
- /* 0x54 */ f32 field_0x54;
- /* 0x58 */ f32 field_0x58;
- /* 0x5C */ f32 field_0x5c;
- /* 0x60 */ f32 field_0x60;
- /* 0x64 */ f32 field_0x64;
- /* 0x68 */ f32 field_0x68;
- /* 0x6C */ f32 field_0x6c;
- /* 0x70 */ f32 field_0x70;
- /* 0x74 */ f32 field_0x74;
- /* 0x78 */ f32 field_0x78;
- /* 0x7C */ f32 field_0x7c;
- /* 0x80 */ f32 field_0x80;
- /* 0x84 */ f32 field_0x84;
- /* 0x88 */ f32 field_0x88;
- /* 0x8C */ f32 field_0x8c;
- /* 0x90 */ f32 field_0x90;
+ /* 0x00 */ daNpcT_HIOParam common;
+ /* 0x8C */ f32 field_0x8c; // "強制会話距離" "Forced conversation distance" | Slider
+ /* 0x90 */ f32 field_0x90; // "会話距離" "Conversation distance" | Slider
};
class daNpc_seiD_Param_c {
- public:
- virtual ~daNpc_seiD_Param_c() {};
+public:
+ virtual ~daNpc_seiD_Param_c() {}
- static const daNpc_seiD_HIOParam m;
+ static const daNpc_seiD_HIOParam m;
};
-class daNpc_seiD_HIO_c
#if DEBUG
-: public mDoHIO_entry_c
-#endif
-{
+class daNpc_seiD_HIO_c : public mDoHIO_entry_c {
public:
+ daNpc_seiD_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
void genMessage(JORMContext*);
- #if DEBUG
- /* 0x08 */ daNpc_seiD_HIOParam field_0x8;
- // /* 0x94 */ f32 field_0x94; // "強制会話距離" "Forced conversation distance" | Slider
- // /* 0x98 */ f32 field_0x98; // "会話距離" "Conversation distance" | Slider
- #endif
+ /* 0x08 */ daNpc_seiD_HIOParam m;
};
+#define NPC_SEID_HIO_CLASS daNpc_seiD_HIO_c
+#else
+#define NPC_SEID_HIO_CLASS daNpc_seiD_Param_c
+#endif
+
class daNpc_seiD_c : public daNpcT_c {
public:
typedef int (daNpc_seiD_c::*cutFunc)(int);
@@ -122,9 +90,8 @@ public:
static cutFunc mCutList[1];
private:
- /* 0xE40 */ daNpc_seiD_HIO_c* field_0xe40;
+ /* 0xE40 */ NPC_SEID_HIO_CLASS* mpHIO;
/* 0xE44 */ u8 mType;
- /* 0xE45 */ u8 field_0xe45[0xe48 - 0xe45];
/* 0xE48 */ actionFunc mAction;
/* 0xE54 */ actionFunc mAction2;
/* 0xE60 */ int field_0xe60;
diff --git a/include/d/actor/d_a_npc_seira.h b/include/d/actor/d_a_npc_seira.h
index f6b8baf40b..5c387526d8 100644
--- a/include/d/actor/d_a_npc_seira.h
+++ b/include/d/actor/d_a_npc_seira.h
@@ -4,6 +4,34 @@
#include "d/actor/d_a_npc.h"
#include "d/d_shop_system.h"
+struct daNpc_Seira_HIOParam {
+ /* 0x00 */ daNpcT_HIOParam common;
+};
+
+class daNpc_Seira_Param_c {
+public:
+ virtual ~daNpc_Seira_Param_c() {}
+
+ static const daNpc_Seira_HIOParam m;
+};
+
+#if DEBUG
+class daNpc_Seira_HIO_c : public mDoHIO_entry_c {
+public:
+ daNpc_Seira_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
+
+ daNpc_Seira_HIOParam m;
+};
+
+#define NPC_SEIRA_HIO_CLASS daNpc_Seira_HIO_c
+#else
+#define NPC_SEIRA_HIO_CLASS daNpc_Seira_Param_c
+#endif
+
/**
* @ingroup actors-npcs
* @class daNpc_Seira_c
@@ -91,7 +119,7 @@ public:
private:
/* 0x0F7C */ mDoExt_McaMorfSO* mpSeiraMorf;
- /* 0x0F80 */ int field_0x0F80;
+ /* 0x0F80 */ NPC_SEIRA_HIO_CLASS* mpHIO;
/* 0x0F80 */ dCcD_Cyl mCyl1;
/* 0x10C0 */ u8 mChkBottle;
/* 0x10C1 */ u8 mType;
@@ -111,16 +139,5 @@ private:
STATIC_ASSERT(sizeof(daNpc_Seira_c) == 0x1108);
-struct daNpc_Seira_HIOParam {
- /* 0x00 */ daNpcT_HIOParam common;
-};
-
-class daNpc_Seira_Param_c {
-public:
- virtual ~daNpc_Seira_Param_c() {}
-
- static const daNpc_Seira_HIOParam m;
-};
-
#endif /* D_A_NPC_SEIRA_H */
diff --git a/include/d/actor/d_a_npc_seira2.h b/include/d/actor/d_a_npc_seira2.h
index 245e482c97..9743a2b7a3 100644
--- a/include/d/actor/d_a_npc_seira2.h
+++ b/include/d/actor/d_a_npc_seira2.h
@@ -4,6 +4,34 @@
#include "d/actor/d_a_npc.h"
#include "d/d_shop_system.h"
+struct daNpc_Seira2_HIOParam {
+ /* 0x00 */ daNpcT_HIOParam common;
+};
+
+class daNpc_Seira2_Param_c {
+public:
+ virtual ~daNpc_Seira2_Param_c() {}
+
+ static const daNpc_Seira2_HIOParam m;
+};
+
+#if DEBUG
+class daNpc_Seira2_HIO_c : public mDoHIO_entry_c {
+public:
+ daNpc_Seira2_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
+
+ daNpc_Seira2_HIOParam m;
+};
+
+#define NPC_SEIRA2_HIO_CLASS daNpc_Seira2_HIO_c
+#else
+#define NPC_SEIRA2_HIO_CLASS daNpc_Seira2_Param_c
+#endif
+
/**
* @ingroup actors-npcs
* @class daNpc_Seira2_c
@@ -83,8 +111,8 @@ public:
private:
/* 0x0F7C */ mDoExt_McaMorfSO* mpSeiraMorf;
- /* 0x0F80 */ int field_0x0F80;
- /* 0x0F80 */ dCcD_Cyl mCyl1;
+ /* 0x0F80 */ NPC_SEIRA2_HIO_CLASS* mpHIO;
+ /* 0x0F84 */ dCcD_Cyl mCyl1;
/* 0x10C0 */ u8 mChkBottle;
/* 0x10C1 */ u8 mType;
/* 0x10C4 */ daNpcT_ActorMngr_c mActorMngr[1];
@@ -101,16 +129,4 @@ private:
STATIC_ASSERT(sizeof(daNpc_Seira2_c) == 0x10F4);
-struct daNpc_Seira2_HIOParam {
- /* 0x00 */ daNpcT_HIOParam common;
-};
-
-class daNpc_Seira2_Param_c {
-public:
- virtual ~daNpc_Seira2_Param_c() {}
-
- static const daNpc_Seira2_HIOParam m;
-};
-
-
#endif /* D_A_NPC_SEIRA2_H */
diff --git a/include/d/actor/d_a_npc_seirei.h b/include/d/actor/d_a_npc_seirei.h
index c537f63cc0..c23f7ed4de 100644
--- a/include/d/actor/d_a_npc_seirei.h
+++ b/include/d/actor/d_a_npc_seirei.h
@@ -3,25 +3,12 @@
#include "d/actor/d_a_npc.h"
-/**
- * @ingroup actors-npcs
- * @class daNpc_Seirei_c
- * @brief Light Spirit Ordona
- *
- * @details
- *
-*/
-
struct daNpc_Seirei_HIOParam {
/* 0x00 */ daNpcT_HIOParam common;
/* 0x8C */ f32 force_talk_dist; // 強制会話距離 - Force Talk Distance
/* 0x90 */ f32 talk_dist; // 会話距離 - Talk Distance
};
-class daNpc_Seirei_HIO_c : public mDoHIO_entry_c {
- /* 0x8 */ daNpc_Seirei_HIOParam param;
-};
-
class daNpc_Seirei_Param_c {
public:
virtual ~daNpc_Seirei_Param_c() {}
@@ -29,6 +16,31 @@ public:
static daNpc_Seirei_HIOParam const m;
};
+#if DEBUG
+class daNpc_Seirei_HIO_c : public mDoHIO_entry_c {
+public:
+ daNpc_Seirei_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
+
+ daNpc_Seirei_HIOParam m;
+};
+
+#define NPC_SEIREI_HIO_CLASS daNpc_Seirei_HIO_c
+#else
+#define NPC_SEIREI_HIO_CLASS daNpc_Seirei_Param_c
+#endif
+
+/**
+ * @ingroup actors-npcs
+ * @class daNpc_Seirei_c
+ * @brief Light Spirit Ordona
+ *
+ * @details
+ *
+*/
class daNpc_Seirei_c : public daNpcT_c {
public:
typedef int (daNpc_Seirei_c::*actionFunc)(void*);
@@ -91,7 +103,7 @@ public:
static cutFunc mCutList[2];
private:
- /* 0xE40 */ daNpc_Seirei_HIO_c* mHIO;
+ /* 0xE40 */ NPC_SEIREI_HIO_CLASS* mpHIO;
/* 0xE44 */ u8 mType;
/* 0xE45 */ u8 arg0;
/* 0xE48 */ actionFunc mNextAction;
diff --git a/include/d/actor/d_a_npc_sola.h b/include/d/actor/d_a_npc_sola.h
index e05d92ab40..6d6cf742f8 100644
--- a/include/d/actor/d_a_npc_sola.h
+++ b/include/d/actor/d_a_npc_sola.h
@@ -3,6 +3,34 @@
#include "d/actor/d_a_npc.h"
+struct daNpc_solA_HIOParam {
+ /* 0x00 */ daNpcT_HIOParam common;
+};
+
+class daNpc_solA_Param_c {
+public:
+ virtual ~daNpc_solA_Param_c() {}
+
+ static daNpc_solA_HIOParam const m;
+};
+
+#if DEBUG
+class daNpc_solA_HIO_c : public mDoHIO_entry_c {
+public:
+ daNpc_solA_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
+
+ daNpc_solA_HIOParam m;
+};
+
+#define NPC_SOLA_HIO_CLASS daNpc_solA_HIO_c
+#else
+#define NPC_SOLA_HIO_CLASS daNpc_solA_Param_c
+#endif
+
/**
* @ingroup actors-npcs
* @class daNpc_solA_c
@@ -11,7 +39,6 @@
* @details
*
*/
-
class daNpc_solA_c : public daNpcT_c {
public:
typedef int (daNpc_solA_c::*cutFunc)(int);
@@ -88,7 +115,7 @@ public:
static cutFunc mCutList[1];
private:
- /* 0xE40 */ u8 field_0xe40[0xe44 - 0xe40];
+ /* 0xE40 */ NPC_SOLA_HIO_CLASS* mpHIO;
/* 0xE44 */ dCcD_Cyl mCyl;
/* 0xF80 */ u8 field_0xf80;
/* 0xF84 */ actionFunc mNextAction;
@@ -98,15 +125,4 @@ private:
STATIC_ASSERT(sizeof(daNpc_solA_c) == 0xfa0);
-struct daNpc_solA_HIOParam {
- /* 0x00 */ daNpcT_HIOParam common;
-};
-
-class daNpc_solA_Param_c {
-public:
- virtual ~daNpc_solA_Param_c() {}
-
- static daNpc_solA_HIOParam const m;
-};
-
#endif /* D_A_NPC_SOLA_H */
diff --git a/include/d/actor/d_a_npc_taro.h b/include/d/actor/d_a_npc_taro.h
index cbbb9d44eb..7eaf3d42b3 100644
--- a/include/d/actor/d_a_npc_taro.h
+++ b/include/d/actor/d_a_npc_taro.h
@@ -5,63 +5,33 @@
#include "d/actor/d_a_npc.h"
struct daNpc_Taro_HIOParam {
- /* 0x00 */ f32 mAttentionPosYOffset;
- /* 0x04 */ f32 mGravity;
- /* 0x08 */ f32 mScale;
- /* 0x0C */ f32 field_0x0c;
- /* 0x10 */ f32 mSttsWeight;
- /* 0x14 */ f32 mCylH;
- /* 0x18 */ f32 mWallH;
- /* 0x1C */ f32 mWallR;
- /* 0x20 */ f32 mBodyDownAngle;
- /* 0x24 */ f32 mBodyUpAngle;
- /* 0x28 */ f32 mBodyRightAngle;
- /* 0x2C */ f32 mBodyLeftAngle;
- /* 0x30 */ f32 mHeadDownAngle;
- /* 0x34 */ f32 mHeadUpAngle;
- /* 0x38 */ f32 mHeadRightAngle;
- /* 0x3C */ f32 mHeadLeftAngle;
- /* 0x40 */ f32 field_0x40;
- /* 0x44 */ f32 mMorfFrames;
- /* 0x48 */ s16 field_0x48;
- /* 0x4A */ s16 field_0x4a;
- /* 0x4C */ s16 field_0x4c;
- /* 0x4E */ s16 field_0x4e;
- /* 0x50 */ f32 mAttnFovY;
- /* 0x54 */ f32 field_0x54;
- /* 0x58 */ f32 field_0x58;
- /* 0x5C */ f32 field_0x5c;
- /* 0x60 */ s16 field_0x60;
- /* 0x62 */ s16 field_0x62;
- /* 0x64 */ f32 field_0x64;
- /* 0x68 */ f32 field_0x68;
- /* 0x6C */ f32 field_0x6c;
- /* 0x70 */ f32 field_0x70;
- /* 0x74 */ f32 field_0x74;
- /* 0x78 */ f32 field_0x78;
- /* 0x7C */ f32 field_0x7c;
- /* 0x80 */ f32 field_0x80;
- /* 0x84 */ f32 field_0x84;
- /* 0x88 */ f32 field_0x88;
+ /* 0x00 */ daNpcT_HIOParam common;
/* 0x8C */ s16 mChoccaiTimer;
/* 0x8E */ s16 field_0x8e;
};
class daNpc_Taro_Param_c {
- public:
- virtual ~daNpc_Taro_Param_c() {}
-
- static daNpc_Taro_HIOParam const m;
- };
+public:
+ virtual ~daNpc_Taro_Param_c() {}
+
+ static daNpc_Taro_HIOParam const m;
+};
-class daNpc_Taro_HIO_c
#if DEBUG
-: public mDoHIO_entry_c
-#endif
-{
+class daNpc_Taro_HIO_c : public mDoHIO_entry_c {
public:
+ daNpc_Taro_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
void genMessage(JORMContext*);
+
+ daNpc_Taro_HIOParam m;
};
+#define NPC_TARO_HIO_CLASS daNpc_Taro_HIO_c
+#else
+#define NPC_TARO_HIO_CLASS daNpc_Taro_Param_c
+#endif
/**
* @ingroup actors-npcs
@@ -191,7 +161,7 @@ public:
static cutFunc mCutList[17];
private:
- /* 0x0E40 */ daNpc_Taro_HIO_c* field_0xe40;
+ /* 0x0E40 */ NPC_TARO_HIO_CLASS* mpHIO;
/* 0x0E44 */ J3DModel* mModels[2];
/* 0x0E4C */ dCcD_Cyl mCyl1;
/* 0x0F88 */ dCcD_Cyl mCyl2;
diff --git a/include/d/actor/d_a_npc_tkj.h b/include/d/actor/d_a_npc_tkj.h
index 5ab377f3f5..e2718d8b45 100644
--- a/include/d/actor/d_a_npc_tkj.h
+++ b/include/d/actor/d_a_npc_tkj.h
@@ -3,6 +3,34 @@
#include "d/actor/d_a_npc.h"
+struct daNpc_Tkj_HIOParam {
+ /* 0x00 */ daNpcT_HIOParam common;
+};
+
+class daNpc_Tkj_Param_c {
+public:
+ virtual ~daNpc_Tkj_Param_c() {}
+
+ static const daNpc_Tkj_HIOParam m;
+};
+
+#if DEBUG
+class daNpc_Tkj_HIO_c : public mDoHIO_entry_c {
+public:
+ daNpc_Tkj_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
+
+ daNpc_Tkj_HIOParam m;
+};
+
+#define NPC_TKJ_HIO_CLASS daNpc_Tkj_HIO_c
+#else
+#define NPC_TKJ_HIO_CLASS daNpc_Tkj_Param_c
+#endif
+
/**
* @ingroup actors-npcs
* @class daNpcTkj_c
@@ -70,7 +98,7 @@ public:
static int (daNpcTkj_c::*mCutList[])(int);
private:
- /* 0xE40 */ u8 field_0xE40[0xE44 - 0xE40];
+ /* 0xE40 */ NPC_TKJ_HIO_CLASS* mpHIO;
/* 0xE44 */ dCcD_Cyl mCcCyl;
/* 0xF80 */ u8 mType;
/* 0xF84 */ ActionFunc field_0xf84;
@@ -81,14 +109,4 @@ private:
STATIC_ASSERT(sizeof(daNpcTkj_c) == 0xfa4);
-struct daNpc_Tkj_HIOParam {
- /* 0x00 */ daNpcT_HIOParam common;
-};
-class daNpc_Tkj_Param_c {
-public:
- virtual ~daNpc_Tkj_Param_c() {}
-
- static const daNpc_Tkj_HIOParam m;
-};
-
#endif /* D_A_NPC_TKJ_H */
diff --git a/include/d/actor/d_a_npc_tks.h b/include/d/actor/d_a_npc_tks.h
index ed8ee3f54f..6f908fd7e0 100644
--- a/include/d/actor/d_a_npc_tks.h
+++ b/include/d/actor/d_a_npc_tks.h
@@ -27,14 +27,6 @@ struct daNpcTks_HIOParam {
/* 0x94 */ f32 run_spd; // 走行速度 - Run Speed
};
-class daNpcTks_HIO_c
-#if DEBUG
-: public mDoHIO_entry_c
-#endif
-{
- /* 0x8 */ daNpcTks_HIOParam param;
-};
-
class daNpcTks_Param_c {
public:
virtual ~daNpcTks_Param_c() {}
@@ -42,6 +34,23 @@ public:
static daNpcTks_HIOParam const m;
};
+#if DEBUG
+class daNpcTks_HIO_c : public mDoHIO_entry_c {
+public:
+ daNpcTks_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
+
+ daNpcTks_HIOParam m;
+};
+
+#define NPC_TKS_HIO_CLASS daNpcTks_HIO_c
+#else
+#define NPC_TKS_HIO_CLASS daNpcTks_Param_c
+#endif
+
class daNpcTksTsubo_c {
public:
/* 0x000 */ mDoExt_McaMorfSO* mpModelMorf;
@@ -132,7 +141,7 @@ private:
/* 0x1164 */ daNpcF_Lookat_c mLookat;
/* 0x1200 */ daNpcF_ActorMngr_c mActorMngr[1];
/* 0x1208 */ fopAc_ac_c* field_0x1208;
- /* 0x120C */ daNpcTks_HIO_c* mHIO;
+ /* 0x120C */ NPC_TKS_HIO_CLASS* mpHIO;
/* 0x1210 */ dCcD_Cyl mCyl;
/* 0x134C */ actionFunc mAction;
/* 0x1358 */ request_of_phase_process_class mPhases[2];
diff --git a/include/d/actor/d_a_npc_yelia.h b/include/d/actor/d_a_npc_yelia.h
index 527a383334..0b30954344 100644
--- a/include/d/actor/d_a_npc_yelia.h
+++ b/include/d/actor/d_a_npc_yelia.h
@@ -3,6 +3,34 @@
#include "d/actor/d_a_npc.h"
+struct daNpc_Yelia_HIOParam {
+ daNpcT_HIOParam common;
+};
+
+class daNpc_Yelia_Param_c {
+public:
+ virtual ~daNpc_Yelia_Param_c() {}
+
+ static daNpc_Yelia_HIOParam const m;
+};
+
+#if DEBUG
+class daNpc_Yelia_HIO_c : public mDoHIO_entry_c {
+public:
+ daNpc_Yelia_HIO_c();
+
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+ void genMessage(JORMContext*);
+
+ daNpc_Yelia_HIOParam m;
+};
+
+#define NPC_YELIA_HIO_CLASS daNpc_Yelia_HIO_c
+#else
+#define NPC_YELIA_HIO_CLASS daNpc_Yelia_Param_c
+#endif
+
/**
* @ingroup actors-npcs
* @class daNpc_Yelia_c
@@ -77,7 +105,7 @@ public:
static char* mCutNameList[6];
static int (daNpc_Yelia_c::*mCutList[6])(int);
private:
- /* 0xE40 */ u8 field_0xe40[0xe44 - 0xe40];
+ /* 0xE40 */ NPC_YELIA_HIO_CLASS* mpHIO;
/* 0xE44 */ dCcD_Cyl mCcCyl;
/* 0xF80 */ u8 mType;
/* 0xF84 */ daNpcT_ActorMngr_c mActorMngr[4];
@@ -91,54 +119,4 @@ private:
STATIC_ASSERT(sizeof(daNpc_Yelia_c) == 0xff0);
-class daNpc_Yelia_Param_c {
-public:
- struct param {
- /* 0x00 */ f32 mAttnOffsetY;
- /* 0x04 */ f32 mGravity;
- /* 0x08 */ f32 mScale;
- /* 0x0C */ f32 mShadowDepth;
- /* 0x10 */ f32 mCcWeight;
- /* 0x14 */ f32 mCylH;
- /* 0x18 */ f32 mWallH;
- /* 0x1C */ f32 mWallR;
- /* 0x20 */ f32 mBodyUpAngle;
- /* 0x24 */ f32 mBodyDownAngle;
- /* 0x28 */ f32 mBodyLeftAngle;
- /* 0x2C */ f32 mBodyRightAngle;
- /* 0x30 */ f32 mHeadUpAngle;
- /* 0x34 */ f32 mHeadDownAngle;
- /* 0x38 */ f32 mHeadLeftAngle;
- /* 0x3C */ f32 mHeadRightAngle;
- /* 0x40 */ f32 mNeckAngleScl;
- /* 0x44 */ f32 mMorfFrames;
- /* 0x48 */ s16 mSpeakDistIdx;
- /* 0x4A */ s16 mSpeakAngleIdx;
- /* 0x4C */ s16 mTalkDistIdx;
- /* 0x4E */ s16 mTalkAngleIdx;
- /* 0x50 */ f32 mAttnFovY;
- /* 0x54 */ f32 mAttnRadius;
- /* 0x58 */ f32 mAttnUpperY;
- /* 0x5C */ f32 mAttnLowerY;
- /* 0x60 */ s16 field_0x60;
- /* 0x62 */ s16 mDamageTimer;
- /* 0x64 */ s16 mTestExpression;
- /* 0x66 */ s16 mTestMotion;
- /* 0x68 */ s16 mTestLookMode;
- /* 0x6A */ bool mTest;
- /* 0x6C */ f32 field_0x6c;
- /* 0x70 */ f32 field_0x70;
- /* 0x74 */ f32 field_0x74;
- /* 0x78 */ f32 field_0x78;
- /* 0x7C */ f32 field_0x7c;
- /* 0x80 */ f32 field_0x80;
- /* 0x84 */ f32 field_0x84;
- /* 0x88 */ f32 field_0x88;
- };
-
- virtual ~daNpc_Yelia_Param_c() {}
-
- static param const m;
-};
-
#endif /* D_A_NPC_YELIA_H */
diff --git a/include/d/actor/d_a_npc_zant.h b/include/d/actor/d_a_npc_zant.h
index 52f65b4140..fb5d430694 100644
--- a/include/d/actor/d_a_npc_zant.h
+++ b/include/d/actor/d_a_npc_zant.h
@@ -3,6 +3,33 @@
#include "d/actor/d_a_npc.h"
+struct daNpc_Zant_HIOParam {
+ daNpcT_HIOParam common;
+};
+
+class daNpc_Zant_Param_c {
+public:
+ virtual ~daNpc_Zant_Param_c() {}
+
+ static const daNpc_Zant_HIOParam m;
+};
+
+#if DEBUG
+class daNpc_Zant_HIO_c : public mDoHIO_entry_c {
+public:
+ daNpc_Zant_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
+
+ daNpc_Zant_HIOParam m;
+};
+#define NPC_ZANT_HIO_CLASS daNpc_Zant_HIO_c
+#else
+#define NPC_ZANT_HIO_CLASS daNpc_Zant_Param_c
+#endif
+
/**
* @ingroup actors-npcs
* @class daNpc_Zant_c
@@ -60,7 +87,7 @@ public:
static cutFunc mCutList[1];
private:
- /* 0xE40 */ u8 field_0xe40[0xe44 - 0xe40];
+ /* 0xE40 */ NPC_ZANT_HIO_CLASS* mpHIO;
/* 0xE44 */ dCcD_Cyl mCyl;
/* 0xF80 */ u8 mType;
/* 0xF81 */ u8 field_0xf81[0xf84 - 0xf81];
@@ -71,60 +98,4 @@ private:
STATIC_ASSERT(sizeof(daNpc_Zant_c) == 0xfa0);
-class daNpc_Zant_Param_c {
-public:
- virtual ~daNpc_Zant_Param_c() {}
- struct Data {
- /* 0x00 */ f32 field_0x0;
- /* 0x04 */ f32 field_0x4;
- /* 0x08 */ f32 field_0x8;
- /* 0x0C */ f32 field_0xc;
- /* 0x10 */ f32 field_0x10;
- /* 0x14 */ f32 field_0x14;
- /* 0x18 */ f32 field_0x18;
- /* 0x1C */ f32 field_0x1c;
- /* 0x20 */ f32 field_0x20;
- /* 0x24 */ f32 field_0x24;
- /* 0x28 */ f32 field_0x28;
- /* 0x2C */ f32 field_0x2c;
- /* 0x30 */ f32 field_0x30;
- /* 0x34 */ f32 field_0x34;
- /* 0x38 */ f32 field_0x38;
- /* 0x3C */ f32 field_0x3c;
- /* 0x40 */ f32 field_0x40;
- /* 0x44 */ f32 field_0x44;
- /* 0x48 */ s16 field_0x48;
- /* 0x4A */ s16 field_0x4a;
- /* 0x4C */ s16 field_0x4c;
- /* 0x4E */ s16 field_0x4e;
- /* 0x50 */ f32 field_0x50;
- /* 0x54 */ f32 field_0x54;
- /* 0x58 */ f32 field_0x58;
- /* 0x5C */ f32 field_0x5c;
- /* 0x60 */ s16 field_0x60;
- /* 0x62 */ s16 field_0x62;
- /* 0x64 */ int field_0x64;
- /* 0x68 */ int field_0x68;
- /* 0x6C */ f32 field_0x6c;
- /* 0x70 */ f32 field_0x70;
- /* 0x74 */ f32 field_0x74;
- /* 0x78 */ f32 field_0x78;
- /* 0x7C */ f32 field_0x7c;
- /* 0x80 */ f32 field_0x80;
- /* 0x84 */ f32 field_0x84;
- /* 0x88 */ f32 field_0x88;
- };
-
- static const Data m;
-};
-
-class daNpc_Zant_HIO_c {
-public:
- virtual ~daNpc_Zant_HIO_c() {}
-
-#if DEBUG
- daNpc_Zant_Param_c::Data param;
-#endif
-};
-
#endif /* D_A_NPC_ZANT_H */
diff --git a/include/d/actor/d_a_npc_zelR.h b/include/d/actor/d_a_npc_zelR.h
index a13b40855e..0c6fcd81b4 100644
--- a/include/d/actor/d_a_npc_zelR.h
+++ b/include/d/actor/d_a_npc_zelR.h
@@ -16,10 +16,6 @@ struct daNpc_ZelR_HIOParam {
/* 0x0 */ daNpcT_HIOParam common;
};
-class daNpc_ZelR_HIO_c : public mDoHIO_entry_c {
- /* 0x8 */ daNpc_ZelR_HIOParam param;
-};
-
class daNpc_ZelR_Param_c {
public:
virtual ~daNpc_ZelR_Param_c() {};
@@ -27,6 +23,23 @@ public:
static const daNpc_ZelR_HIOParam m;
};
+#if DEBUG
+class daNpc_ZelR_HIO_c : public mDoHIO_entry_c {
+public:
+ daNpc_ZelR_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
+
+ daNpc_ZelR_HIOParam m;
+};
+
+#define NPC_ZELR_HIO_CLASS daNpc_ZelR_HIO_c
+#else
+#define NPC_ZELR_HIO_CLASS daNpc_ZelR_Param_c
+#endif
+
class daNpc_ZelR_c : public daNpcT_c {
public:
typedef BOOL (daNpc_ZelR_c::*ActionFn)(void*);
@@ -84,7 +97,7 @@ public:
static EventFn mCutList[1];
private:
- /* 0xE40 */ u8 field_0xe40[0xe44 - 0xe40];
+ /* 0xE40 */ NPC_ZELR_HIO_CLASS* mpHIO;
/* 0xE44 */ dCcD_Cyl mCyl;
/* 0xF80 */ u8 mType;
/* 0xF84 */ ActionFn field_0xf84;
diff --git a/include/d/actor/d_a_npc_zelRo.h b/include/d/actor/d_a_npc_zelRo.h
index ebac8e8929..4056b4ea28 100644
--- a/include/d/actor/d_a_npc_zelRo.h
+++ b/include/d/actor/d_a_npc_zelRo.h
@@ -16,10 +16,6 @@ struct daNpc_ZelRo_HIOParam {
/* 0x0 */ daNpcT_HIOParam common;
};
-class daNpc_ZelRo_HIO_c : public mDoHIO_entry_c {
- /* 0x8 */ daNpc_ZelRo_HIOParam param;
-};
-
class daNpc_ZelRo_Param_c {
public:
virtual ~daNpc_ZelRo_Param_c() {}
@@ -27,6 +23,23 @@ public:
static daNpc_ZelRo_HIOParam const m;
};
+#if DEBUG
+class daNpc_ZelRo_HIO_c : public mDoHIO_entry_c {
+public:
+ daNpc_ZelRo_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
+
+ daNpc_ZelRo_HIOParam m;
+};
+
+#define NPC_ZELRO_HIO_CLASS daNpc_ZelRo_HIO_c
+#else
+#define NPC_ZELRO_HIO_CLASS daNpc_ZelRo_Param_c
+#endif
+
class daNpc_ZelRo_c : public daNpcT_c {
public:
enum Material {
@@ -138,7 +151,7 @@ public:
static cutFunc mCutList[1];
private:
- /* 0xE40 */ daNpc_ZelRo_HIO_c* mHIO;
+ /* 0xE40 */ NPC_ZELRO_HIO_CLASS* mpHIO;
/* 0xE44 */ dCcD_Cyl mCyl;
/* 0xF80 */ u8 mType;
/* 0xF84 */ actionFunc mNextAction;
diff --git a/include/d/actor/d_a_npc_zelda.h b/include/d/actor/d_a_npc_zelda.h
index cffc4ee386..78630dbb5b 100644
--- a/include/d/actor/d_a_npc_zelda.h
+++ b/include/d/actor/d_a_npc_zelda.h
@@ -3,8 +3,36 @@
#include "d/actor/d_a_npc.h"
-class daNpc_Zelda_HIO_c;
-class daNpc_Zelda_c;
+class daNpc_Zelda_HIOParam {
+public:
+ /* 0x00 */ daNpcT_HIOParam common;
+};
+
+STATIC_ASSERT(sizeof(daNpc_Zelda_HIOParam) == 0x8c);
+
+class daNpc_Zelda_Param_c {
+public:
+ virtual ~daNpc_Zelda_Param_c() {}
+
+ static const daNpc_Zelda_HIOParam m;
+};
+
+#if DEBUG
+class daNpc_Zelda_HIO_c : public mDoHIO_entry_c {
+public:
+ daNpc_Zelda_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext* ctx);
+
+ daNpc_Zelda_HIOParam m;
+};
+
+#define NPC_ZELDA_HIO_CLASS daNpc_Zelda_HIO_c
+#else
+#define NPC_ZELDA_HIO_CLASS daNpc_Zelda_Param_c
+#endif
/**
* @ingroup actors-npcs
@@ -76,7 +104,7 @@ public:
static cutFunc mCutList[1];
private:
- /* 0xE40 */ daNpc_Zelda_HIO_c* mHIO;
+ /* 0xE40 */ NPC_ZELDA_HIO_CLASS* mpHIO;
/* 0xE44 */ dCcD_Cyl mCyl;
/* 0xF80 */ u8 field_0xf80;
/* 0xF84 */ actionFunc mAction1;
@@ -86,34 +114,4 @@ private:
STATIC_ASSERT(sizeof(daNpc_Zelda_c) == 0xfa0);
-class daNpc_Zelda_HIOParam {
-public:
- /* 0x00 */ daNpcT_HIOParam common;
-};
-
-STATIC_ASSERT(sizeof(daNpc_Zelda_HIOParam) == 0x8c);
-
-class daNpc_Zelda_Param_c {
-public:
- virtual ~daNpc_Zelda_Param_c() {}
-
- static const daNpc_Zelda_HIOParam m;
-};
-
-class daNpc_Zelda_HIO_c
-#if DEBUG
- : public mDoHIO_entry_c
-#endif
-{
-public:
- daNpc_Zelda_HIO_c();
-
- void genMessage(JORMContext* ctx);
- void listenPropertyEvent(const JORPropertyEvent*);
-
-#if DEBUG
- daNpc_Zelda_HIOParam param;
-#endif
-};
-
#endif /* D_A_NPC_ZELDA_H */
diff --git a/include/d/actor/d_a_npc_zra.h b/include/d/actor/d_a_npc_zra.h
index 6de13512dc..76df44770d 100644
--- a/include/d/actor/d_a_npc_zra.h
+++ b/include/d/actor/d_a_npc_zra.h
@@ -4,15 +4,53 @@
#include "d/actor/d_a_npc4.h"
#include "d/d_particle_copoly.h"
-class daNpc_zrA_HIO_c;
-/**
- * @ingroup actors-npcs
- * @class daNpc_zrA_Path_c
- * @brief Zora (Adult)
- *
- * @details
- *
-*/
+struct daNpc_zrA_HIOParam {
+ /* 0x00 */ daNpcF_HIOParam common;
+ /* 0x6C */ f32 mSwimSpeed;
+ /* 0x70 */ f32 mMinSwimSpeedScale;
+ /* 0x74 */ s16 mSwimAngleSpeed;
+ /* 0x78 */ f32 mSwimAnmRate;
+ /* 0x7C */ f32 field_0x7c;
+ /* 0x80 */ f32 field_0x80;
+ /* 0x84 */ f32 mMaxScaleFactor;
+ /* 0x88 */ f32 mMinDepth;
+ /* 0x8C */ f32 field_0x8c;
+ /* 0x90 */ f32 field_0x90;
+ /* 0x94 */ f32 mWalkSpeed;
+ /* 0x98 */ s16 mWalkAngleSpeed;
+ /* 0x9A */ s16 mWalkAngleScale;
+ /* 0x9C */ f32 mWalkAnmRate;
+ /* 0xA0 */ f32 field_0xa0;
+ /* 0xA4 */ f32 field_0xa4;
+ /* 0xA8 */ f32 field_0xa8;
+ /* 0xAC */ f32 field_0xac;
+};
+
+STATIC_ASSERT(sizeof(daNpc_zrA_HIOParam) == 0xB0);
+
+class daNpc_zrA_Param_c {
+public:
+ virtual ~daNpc_zrA_Param_c() {}
+
+ static daNpc_zrA_HIOParam const m;
+};
+
+#if DEBUG
+class daNpc_zrA_HIO_c : public mDoHIO_entry_c {
+public:
+ daNpc_zrA_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
+
+ daNpc_zrA_HIOParam m;
+};
+
+#define NPC_ZRA_HIO_CLASS daNpc_zrA_HIO_c
+#else
+#define NPC_ZRA_HIO_CLASS daNpc_zrA_Param_c
+#endif
class daNpc_zrA_Path_c : public daNpcF_Path_c {
public:
@@ -28,6 +66,14 @@ public:
STATIC_ASSERT(sizeof(daNpc_zrA_Path_c) == 0x630);
+/**
+ * @ingroup actors-npcs
+ * @class daNpc_zrA_Path_c
+ * @brief Zora (Adult)
+ *
+ * @details
+ *
+*/
class daNpc_zrA_c : public daNpcF_c {
public:
typedef BOOL (daNpc_zrA_c::*ActionFn)(void*);
@@ -334,7 +380,7 @@ public:
/* 0x1248 */ daNpcF_Lookat_c mLookat;
/* 0x12E4 */ dPaPo_c mPaPo;
/* 0x131C */ daNpcF_ActorMngr_c mActorMngr[3];
- /* 0x1334 */ daNpc_zrA_HIO_c* mpHIO;
+ /* 0x1334 */ NPC_ZRA_HIO_CLASS* mpHIO;
/* 0x1338 */ dCcD_Cyl mCcCyl;
/* 0x1474 */ ActionFn mpNextActionFn;
/* 0x1480 */ ActionFn mpActionFn;
@@ -403,66 +449,4 @@ public:
STATIC_ASSERT(sizeof(daNpc_zrA_c) == 0x15C4);
-class daNpc_zrA_Param_c {
-public:
- struct param {
- /* 0x00 */ f32 mAttnOffsetY;
- /* 0x04 */ f32 mGravity;
- /* 0x08 */ f32 mScale;
- /* 0x0C */ f32 mShadowDepth;
- /* 0x10 */ f32 mCcWeight;
- /* 0x14 */ f32 mCylH;
- /* 0x18 */ f32 mWallH;
- /* 0x1C */ f32 mWallR;
- /* 0x20 */ f32 mBodyUpAngle;
- /* 0x24 */ f32 mBodyDownAngle;
- /* 0x28 */ f32 mBodyLeftAngle;
- /* 0x2C */ f32 mBodyRightAngle;
- /* 0x30 */ f32 mHeadUpAngle;
- /* 0x34 */ f32 mHeadDownAngle;
- /* 0x38 */ f32 mHeadLeftAngle;
- /* 0x3C */ f32 mHeadRightAngle;
- /* 0x40 */ f32 mNeckAngleScl;
- /* 0x44 */ f32 mMorfFrames;
- /* 0x48 */ s16 mSpeakDistIdx;
- /* 0x4A */ s16 mSpeakAngleIdx;
- /* 0x4C */ s16 mTalkDistIdx;
- /* 0x4E */ s16 mTalkAngleIdx;
- /* 0x50 */ f32 mAttnFovY;
- /* 0x54 */ f32 mAttnRadius;
- /* 0x58 */ f32 mAttnUpperY;
- /* 0x5C */ f32 mAttnLowerY;
- /* 0x60 */ s16 field_0x60;
- /* 0x62 */ s16 mDamageTimer;
- /* 0x64 */ s16 mTestExpression;
- /* 0x66 */ s16 mTestMotion;
- /* 0x68 */ s16 mTestLookMode;
- /* 0x6A */ bool mTest;
- /* 0x6C */ f32 mSwimSpeed;
- /* 0x70 */ f32 mMinSwimSpeedScale;
- /* 0x74 */ s16 mSwimAngleSpeed;
- /* 0x78 */ f32 mSwimAnmRate;
- /* 0x7C */ f32 field_0x7c;
- /* 0x80 */ f32 field_0x80;
- /* 0x84 */ f32 mMaxScaleFactor;
- /* 0x88 */ f32 mMinDepth;
- /* 0x8C */ f32 field_0x8c;
- /* 0x90 */ f32 field_0x90;
- /* 0x94 */ f32 mWalkSpeed;
- /* 0x98 */ s16 mWalkAngleSpeed;
- /* 0x9A */ s16 mWalkAngleScale;
- /* 0x9C */ f32 mWalkAnmRate;
- /* 0xA0 */ f32 field_0xa0;
- /* 0xA4 */ f32 field_0xa4;
- /* 0xA8 */ f32 field_0xa8;
- /* 0xAC */ f32 field_0xac;
- };
-
- virtual ~daNpc_zrA_Param_c() {}
-
- static param const m;
-};
-
-STATIC_ASSERT(sizeof(daNpc_zrA_Param_c::param) == 0xB0);
-
#endif /* D_A_NPC_ZRA_H */
diff --git a/include/d/actor/d_a_npc_zrc.h b/include/d/actor/d_a_npc_zrc.h
index f3b2f86426..907dbe11a5 100644
--- a/include/d/actor/d_a_npc_zrc.h
+++ b/include/d/actor/d_a_npc_zrc.h
@@ -3,6 +3,39 @@
#include "d/actor/d_a_npc4.h"
+
+struct daNpc_zrC_HIOParam {
+ /* 0x00 */ daNpcF_HIOParam common;
+ /* 0x6C */ f32 field_0x6c;
+ /* 0x70 */ f32 field_0x70;
+};
+
+STATIC_ASSERT(sizeof(daNpc_zrC_HIOParam) == 0x74);
+
+class daNpc_zrC_Param_c {
+public:
+ virtual ~daNpc_zrC_Param_c() {}
+
+ static daNpc_zrC_HIOParam const m;
+};
+
+#if DEBUG
+class daNpc_zrC_HIO_c : public mDoHIO_entry_c {
+public:
+ daNpc_zrC_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
+
+ daNpc_zrC_HIOParam m;
+};
+
+#define NPC_ZRC_HIO_CLASS daNpc_zrC_HIO_c
+#else
+#define NPC_ZRC_HIO_CLASS daNpc_zrC_Param_c
+#endif
+
/**
* @ingroup actors-npcs
* @class daNpc_zrC_c
@@ -68,7 +101,7 @@ private:
/* 0xBD8 */ daNpcF_MatAnm_c* mpMatAnm;
/* 0xBDC */ daNpcF_Lookat_c mLookat;
/* 0xC78 */ daNpcF_ActorMngr_c mActorMngr[3];
- /* 0xC90 */ u8 field_0xc90[4];
+ /* 0xC90 */ NPC_ZRC_HIO_CLASS* mpHIO;
/* 0xC94 */ dCcD_Cyl mCcCyl;
/* 0xDD0 */ ActionFn mpNextActionFn;
/* 0xDDC */ ActionFn mpActionFn;
@@ -167,50 +200,4 @@ private:
STATIC_ASSERT(sizeof(daNpc_zrC_c) == 0xe3c);
-class daNpc_zrC_Param_c {
-public:
- struct param {
- /* 0x00 */ f32 mAttnOffsetY;
- /* 0x04 */ f32 mGravity;
- /* 0x08 */ f32 mScale;
- /* 0x0C */ f32 mShadowDepth;
- /* 0x10 */ f32 mCcWeight;
- /* 0x14 */ f32 mCylH;
- /* 0x18 */ f32 mWallH;
- /* 0x1C */ f32 mWallR;
- /* 0x20 */ f32 mBodyUpAngle;
- /* 0x24 */ f32 mBodyDownAngle;
- /* 0x28 */ f32 mBodyLeftAngle;
- /* 0x2C */ f32 mBodyRightAngle;
- /* 0x30 */ f32 mHeadUpAngle;
- /* 0x34 */ f32 mHeadDownAngle;
- /* 0x38 */ f32 mHeadLeftAngle;
- /* 0x3C */ f32 mHeadRightAngle;
- /* 0x40 */ f32 mNeckAngleScl;
- /* 0x44 */ f32 mMorfFrames;
- /* 0x48 */ s16 mSpeakDistIdx;
- /* 0x4A */ s16 mSpeakAngleIdx;
- /* 0x4C */ s16 mTalkDistIdx;
- /* 0x4E */ s16 mTalkAngleIdx;
- /* 0x50 */ f32 mAttnFovY;
- /* 0x54 */ f32 mAttnRadius;
- /* 0x58 */ f32 mAttnUpperY;
- /* 0x5C */ f32 mAttnLowerY;
- /* 0x60 */ s16 field_0x60;
- /* 0x62 */ s16 mDamageTimer;
- /* 0x64 */ s16 mTestExpression;
- /* 0x66 */ s16 mTestMotion;
- /* 0x68 */ s16 mTestLookMode;
- /* 0x6A */ bool mTest;
- /* 0x6C */ f32 field_0x6c;
- /* 0x70 */ f32 field_0x70;
- };
-
- virtual ~daNpc_zrC_Param_c() {}
-
- static param const m;
-};
-
-STATIC_ASSERT(sizeof(daNpc_zrC_Param_c::param) == 0x74);
-
#endif /* D_A_NPC_ZRC_H */
diff --git a/include/d/actor/d_a_npc_zrz.h b/include/d/actor/d_a_npc_zrz.h
index 131c349805..259046fe1b 100644
--- a/include/d/actor/d_a_npc_zrz.h
+++ b/include/d/actor/d_a_npc_zrz.h
@@ -6,6 +6,42 @@
class daGraveStone_c;
class daObjZraRock_c;
+struct daNpc_zrZ_HIOParam {
+ /* 0x00 */ daNpcF_HIOParam common;
+ /* 0x6C */ f32 field_0x6c;
+ /* 0x70 */ f32 mFollowDst;
+ /* 0x74 */ f32 mRestoreDst;
+ /* 0x78 */ f32 mMaxSpeed;
+ /* 0x7C */ f32 mClothesGetDst;
+ /* 0x80 */ f32 field_0x80;
+};
+
+class daNpc_zrZ_Param_c {
+public:
+ virtual ~daNpc_zrZ_Param_c() {}
+
+ static daNpc_zrZ_HIOParam const m;
+};
+
+STATIC_ASSERT(sizeof(daNpc_zrZ_HIOParam) == 0x84);
+
+#if DEBUG
+class daNpc_zrZ_HIO_c : public mDoHIO_entry_c {
+public:
+ daNpc_zrZ_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
+
+ daNpc_zrZ_HIOParam m;
+};
+
+#define NPC_ZRZ_HIO_CLASS daNpc_zrZ_HIO_c
+#else
+#define NPC_ZRZ_HIO_CLASS daNpc_zrZ_Param_c
+#endif
+
/**
* @ingroup actors-npcs
* @class daNpc_zrZ_c
@@ -85,7 +121,7 @@ private:
/* 0x0BE4 */ daNpcF_Lookat_c mLookat;
/* 0x0C80 */ daNpcF_ActorMngr_c mActorMngr[2];
/* 0x0C90 */ daNpcF_Path_c mPath;
- /* 0x12C0 */ u8 field_0x12c0[4];
+ /* 0x12C0 */ NPC_ZRZ_HIO_CLASS* mpHIO;
/* 0x12C4 */ dCcD_Cyl mCcCyl;
/* 0x1400 */ ActionFn mpNextActionFn;
/* 0x140C */ ActionFn mpActionFn;
@@ -166,54 +202,4 @@ private:
STATIC_ASSERT(sizeof(daNpc_zrZ_c) == 0x14c8);
-class daNpc_zrZ_Param_c {
-public:
- struct param {
- /* 0x00 */ f32 mAttnOffsetY;
- /* 0x04 */ f32 mGravity;
- /* 0x08 */ f32 mScale;
- /* 0x0C */ f32 mShadowDepth;
- /* 0x10 */ f32 mCcWeight;
- /* 0x14 */ f32 mCylH;
- /* 0x18 */ f32 mWallH;
- /* 0x1C */ f32 mWallR;
- /* 0x20 */ f32 mBodyUpAngle;
- /* 0x24 */ f32 mBodyDownAngle;
- /* 0x28 */ f32 mBodyLeftAngle;
- /* 0x2C */ f32 mBodyRightAngle;
- /* 0x30 */ f32 mHeadUpAngle;
- /* 0x34 */ f32 mHeadDownAngle;
- /* 0x38 */ f32 mHeadLeftAngle;
- /* 0x3C */ f32 mHeadRightAngle;
- /* 0x40 */ f32 mNeckAngleScl;
- /* 0x44 */ f32 mMorfFrames;
- /* 0x48 */ s16 mSpeakDistIdx;
- /* 0x4A */ s16 mSpeakAngleIdx;
- /* 0x4C */ s16 mTalkDistIdx;
- /* 0x4E */ s16 mTalkAngleIdx;
- /* 0x50 */ f32 mAttnFovY;
- /* 0x54 */ f32 mAttnRadius;
- /* 0x58 */ f32 mAttnUpperY;
- /* 0x5C */ f32 mAttnLowerY;
- /* 0x60 */ s16 field_0x60;
- /* 0x62 */ s16 mDamageTimer;
- /* 0x64 */ s16 mTestExpression;
- /* 0x66 */ s16 mTestMotion;
- /* 0x68 */ s16 mTestLookMode;
- /* 0x6A */ bool mTest;
- /* 0x6C */ f32 field_0x6c;
- /* 0x70 */ f32 mFollowDst;
- /* 0x74 */ f32 mRestoreDst;
- /* 0x78 */ f32 mMaxSpeed;
- /* 0x7C */ f32 mClothesGetDst;
- /* 0x80 */ f32 field_0x80;
- };
-
- virtual ~daNpc_zrZ_Param_c() {}
-
- static param const m;
-};
-
-STATIC_ASSERT(sizeof(daNpc_zrZ_Param_c::param) == 0x84);
-
#endif /* D_A_NPC_ZRZ_H */
diff --git a/include/d/actor/d_a_obj_automata.h b/include/d/actor/d_a_obj_automata.h
index 501c4f7e6b..3468ccc3e8 100644
--- a/include/d/actor/d_a_obj_automata.h
+++ b/include/d/actor/d_a_obj_automata.h
@@ -5,6 +5,36 @@
#include "d/d_cc_d.h"
#include "f_op/f_op_actor.h"
+struct daObj_AutoMata_HIOParam {
+ f32 field_0x0;
+ f32 field_0x4;
+ f32 field_0x8;
+};
+
+class daObj_AutoMata_Param_c {
+public:
+ virtual ~daObj_AutoMata_Param_c() {}
+
+ static daObj_AutoMata_HIOParam const m;
+};
+
+#if DEBUG
+class daObj_AutoMata_HIO_c : public mDoHIO_entry_c {
+public:
+ daObj_AutoMata_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
+
+ daObj_AutoMata_HIOParam m;
+};
+
+#define OBJ_AUTOMATA_HIO_CLASS daObj_AutoMata_HIO_c
+#else
+#define OBJ_AUTOMATA_HIO_CLASS daObj_AutoMata_Param_c
+#endif
+
/**
* @ingroup actors-objects
* @class daObj_AutoMata_c
@@ -15,7 +45,7 @@
*/
class daObj_AutoMata_c : public fopAc_ac_c {
private:
- /* 0x568 */ int field_0x568;
+ /* 0x568 */ OBJ_AUTOMATA_HIO_CLASS* mpHIO;
/* 0x56C */ mDoExt_McaMorfSO* mpMorf;
/* 0x570 */ Z2Creature mCreature;
/* 0x600 */ mDoExt_btkAnm mBtk;
@@ -58,11 +88,4 @@ public:
STATIC_ASSERT(sizeof(daObj_AutoMata_c) == 0xb38);
-class daObj_AutoMata_Param_c {
-public:
- virtual ~daObj_AutoMata_Param_c() {}
-
- static f32 const m[3];
-};
-
#endif /* D_A_OBJ_AUTOMATA_H */
diff --git a/include/d/actor/d_a_obj_bed.h b/include/d/actor/d_a_obj_bed.h
index 827f3827fc..e889f8a590 100644
--- a/include/d/actor/d_a_obj_bed.h
+++ b/include/d/actor/d_a_obj_bed.h
@@ -8,6 +8,36 @@
class dBgW;
+struct daObj_Bed_HIOParam {
+ /* 0x0 */ f32 field_0x0;
+ /* 0x4 */ f32 field_0x4;
+ /* 0x8 */ f32 field_0x8;
+ /* 0xC */ f32 field_0xc;
+};
+
+class daObj_Bed_Param_c {
+public:
+ virtual ~daObj_Bed_Param_c() {}
+
+ static daObj_Bed_HIOParam const m;
+};
+
+#if DEBUG
+class daObj_Bed_HIO_c : public mDoHIO_entry_c {
+public:
+ daObj_Bed_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
+
+ daObj_Bed_HIOParam m;
+};
+#define OBJ_BED_HIO_CLASS daObj_Bed_HIO_c
+#else
+#define OBJ_BED_HIO_CLASS daObj_Bed_Param_c
+#endif
+
/**
* @ingroup actors-objects
* @class daObj_Bed_c
@@ -18,7 +48,7 @@ class dBgW;
*/
class daObj_Bed_c : public fopAc_ac_c {
public:
- /* 0x568 */ u8 field_0x568[4];
+ /* 0x568 */ OBJ_BED_HIO_CLASS* mpHIO;
/* 0x56C */ request_of_phase_process_class mPhase;
/* 0x574 */ J3DModel* mpModel;
/* 0x578 */ dBgS_ObjAcch mAcch;
@@ -50,18 +80,4 @@ public:
STATIC_ASSERT(sizeof(daObj_Bed_c) == 0x844);
-class daObj_Bed_Param_c {
-public:
- virtual ~daObj_Bed_Param_c() {}
-
- struct params {
- /* 0x0 */ f32 field_0x0;
- /* 0x4 */ f32 field_0x4;
- /* 0x8 */ f32 field_0x8;
- /* 0xC */ f32 field_0xc;
- };
-
- static daObj_Bed_Param_c::params const m;
-};
-
#endif /* D_A_OBJ_BED_H */
diff --git a/include/d/actor/d_a_obj_boumato.h b/include/d/actor/d_a_obj_boumato.h
index 27c1fd81d3..176832f24f 100644
--- a/include/d/actor/d_a_obj_boumato.h
+++ b/include/d/actor/d_a_obj_boumato.h
@@ -7,6 +7,40 @@
#include "f_op/f_op_actor_mng.h"
#include "d/d_cc_d.h"
+struct daObj_BouMato_HIOParam {
+ /* 0x00 */ f32 field_0x00;
+ /* 0x04 */ f32 field_0x04;
+ /* 0x08 */ f32 field_0x08;
+ /* 0x0C */ f32 field_0x0c;
+ /* 0x10 */ f32 field_0x10;
+ /* 0x14 */ f32 field_0x14;
+ /* 0x18 */ f32 field_0x18;
+};
+
+class daObj_BouMato_Param_c {
+public:
+ virtual ~daObj_BouMato_Param_c() {}
+
+ static daObj_BouMato_HIOParam const m;
+};
+
+#if DEBUG
+class daObj_BouMato_HIO_c : public mDoHIO_entry_c {
+public:
+ daObj_BouMato_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
+
+ daObj_BouMato_HIOParam m;
+};
+
+#define OBJ_BOUMATO_HIO_CLASS daObj_BouMato_HIO_c
+#else
+#define OBJ_BOUMATO_HIO_CLASS daObj_BouMato_Param_c
+#endif
+
/**
* @ingroup actors-objects
* @class daObj_BouMato_c
@@ -17,7 +51,7 @@
*/
class daObj_BouMato_c : public fopAc_ac_c {
private:
- /* 0x568 */ int field_0x568;
+ /* 0x568 */ OBJ_BOUMATO_HIO_CLASS* mpHIO;
/* 0x56C */ request_of_phase_process_class mPhase;
/* 0x574 */ J3DModel* mModel;
/* 0x578 */ dBgS_ObjAcch mAcch;
@@ -93,12 +127,5 @@ public:
STATIC_ASSERT(sizeof(daObj_BouMato_c) == 0xa40);
-class daObj_BouMato_Param_c {
-public:
- virtual ~daObj_BouMato_Param_c() {}
-
- static f32 const m[7];
-};
-
#endif /* D_A_OBJ_BOUMATO_H */
diff --git a/include/d/actor/d_a_obj_kago.h b/include/d/actor/d_a_obj_kago.h
index 10806570dd..46d1e0eb42 100644
--- a/include/d/actor/d_a_obj_kago.h
+++ b/include/d/actor/d_a_obj_kago.h
@@ -6,6 +6,44 @@
#include "d/d_cc_d.h"
#include "f_op/f_op_actor_mng.h"
+struct daObj_Kago_HIOParam {
+ /* 0x00 */ f32 field_0x00;
+ /* 0x04 */ f32 mGravity;
+ /* 0x08 */ f32 field_0x08;
+ /* 0x0C */ f32 field_0x0c;
+ /* 0x10 */ f32 mWeight;
+ /* 0x14 */ f32 field_0x14;
+ /* 0x18 */ f32 mWallH;
+ /* 0x1C */ f32 mWallR;
+ /* 0x20 */ f32 field_0x20;
+ /* 0x24 */ f32 field_0x24;
+ /* 0x28 */ f32 field_0x28;
+};
+
+class daObj_Kago_Param_c {
+public:
+ virtual ~daObj_Kago_Param_c() {}
+
+ static const daObj_Kago_HIOParam m;
+};
+
+#if DEBUG
+class daObj_Kago_HIO_c : public mDoHIO_entry_c {
+public:
+ daObj_Kago_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
+
+ daObj_Kago_HIOParam m;
+};
+
+#define OBJ_KAGO_HIO_CLASS daObj_Kago_HIO_c
+#else
+#define OBJ_KAGO_HIO_CLASS daObj_Kago_Param_c
+#endif
+
/**
* @ingroup actors-objects
* @class daObj_Kago_c
@@ -88,7 +126,7 @@ public:
}
private:
- /* 0x568 */ u8 field_0x568[0x56c - 0x568];
+ /* 0x568 */ OBJ_KAGO_HIO_CLASS* mpHIO;
/* 0x56C */ request_of_phase_process_class mPhase;
/* 0x574 */ J3DModel* field_0x574;
/* 0x578 */ dBgS_ObjAcch mObjAcch;
@@ -139,25 +177,4 @@ private:
STATIC_ASSERT(sizeof(daObj_Kago_c) == 0xba8);
-class daObj_Kago_Param_c {
-public:
- virtual ~daObj_Kago_Param_c() {}
-
- struct Data {
- /* 0x00 */ f32 field_0x00;
- /* 0x04 */ f32 mGravity;
- /* 0x08 */ f32 field_0x08;
- /* 0x0C */ f32 field_0x0c;
- /* 0x10 */ f32 mWeight;
- /* 0x14 */ f32 field_0x14;
- /* 0x18 */ f32 mWallH;
- /* 0x1C */ f32 mWallR;
- /* 0x20 */ f32 field_0x20;
- /* 0x24 */ f32 field_0x24;
- /* 0x28 */ f32 field_0x28;
- };
- static const Data m;
-};
-
-
#endif /* D_A_OBJ_KAGO_H */
diff --git a/include/d/actor/d_a_obj_kbacket.h b/include/d/actor/d_a_obj_kbacket.h
index e8c4908e7d..f3855fc8ca 100644
--- a/include/d/actor/d_a_obj_kbacket.h
+++ b/include/d/actor/d_a_obj_kbacket.h
@@ -8,10 +8,10 @@
struct daObj_KBacket_HIOParam
{
- f32 field_0x0;
- f32 field_0x4;
- f32 field_0x8;
- f32 field_0xc;
+ f32 field_0x00;
+ f32 field_0x04;
+ f32 field_0x08;
+ f32 field_0x0c;
f32 field_0x10;
f32 field_0x14;
f32 field_0x18;
@@ -21,26 +21,30 @@ struct daObj_KBacket_HIOParam
f32 field_0x28;
};
-class daObj_KBacket_HIO_c
-#if DEBUG
- : public mDoHIO_entry_c
-#endif
-{
+class daObj_KBacket_Param_c {
public:
-#if DEBUG
- void genMessage(JORMContext*);
+ virtual ~daObj_KBacket_Param_c() {}
- daObj_KBacket_HIOParam param;
-#endif
+ static const daObj_KBacket_HIOParam m;
};
-class daObj_KBacket_Param_c {
+#if DEBUG
+class daObj_KBacket_HIO_c : public mDoHIO_entry_c {
public:
- virtual ~daObj_KBacket_Param_c() {}
+ daObj_KBacket_HIO_c();
- static const daObj_KBacket_HIOParam m;
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
+
+ daObj_KBacket_HIOParam m;
};
+#define OBJ_KBACKET_HIO_CLASS daObj_KBacket_HIO_c
+#else
+#define OBJ_KBACKET_HIO_CLASS daObj_KBacket_Param_c
+#endif
+
/**
* @ingroup actors-objects
* @class daObj_KBacket_c
@@ -51,7 +55,7 @@ public:
*/
class daObj_KBacket_c : public fopAc_ac_c {
public:
- /* 0x568 */ daObj_KBacket_HIO_c* mHIO;
+ /* 0x568 */ OBJ_KBACKET_HIO_CLASS* mpHIO;
/* 0x56C */ request_of_phase_process_class field_0x56c;
/* 0x574 */ J3DModel* mpModel;
/* 0x578 */ dBgS_ObjAcch mObjAcch;
diff --git a/include/d/actor/d_a_obj_mie.h b/include/d/actor/d_a_obj_mie.h
index a07ff24452..0f1df429be 100644
--- a/include/d/actor/d_a_obj_mie.h
+++ b/include/d/actor/d_a_obj_mie.h
@@ -20,27 +20,31 @@ struct daObj_Mie_HIOParam {
/* 0x28 */ f32 floating_offset;
};
-struct daObj_Mie_Param_c {
+class daObj_Mie_Param_c {
+public:
virtual ~daObj_Mie_Param_c() {}
+
static const daObj_Mie_HIOParam m;
};
-class daObj_Mie_HIO_c
#if DEBUG
-: public mDoHIO_entry_c
-#endif
+class daObj_Mie_HIO_c : public mDoHIO_entry_c
{
public:
- daObj_Mie_HIO_c() {
- mParams = daObj_Mie_Param_c::m;
- }
+ daObj_Mie_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
void genMessage(JORMContext*);
- virtual ~daObj_Mie_HIO_c() {}
- daObj_Mie_HIOParam mParams;
+ daObj_Mie_HIOParam m;
};
+#define OBJ_MIE_HIO_CLASS daObj_Mie_HIO_c
+#else
+#define OBJ_MIE_HIO_CLASS daObj_Mie_Param_c
+#endif
+
/**
* @ingroup actors-objects
* @class daObj_Mie_c
@@ -51,7 +55,7 @@ public:
*/
class daObj_Mie_c : public fopAc_ac_c {
private:
- /* 0x568 */ daObj_Mie_HIO_c* mHIO;
+ /* 0x568 */ OBJ_MIE_HIO_CLASS* mpHIO;
/* 0x56C */ request_of_phase_process_class mPhase;
/* 0x574 */ J3DModel* mModel;
/* 0x578 */ dBgS_ObjAcch mAcch;
diff --git a/include/d/actor/d_a_obj_nougu.h b/include/d/actor/d_a_obj_nougu.h
index 414c269f61..3e8e004e36 100644
--- a/include/d/actor/d_a_obj_nougu.h
+++ b/include/d/actor/d_a_obj_nougu.h
@@ -5,6 +5,37 @@
#include "d/d_bg_s_acch.h"
#include "d/d_cc_d.h"
+struct daObj_Nougu_HIOParam {
+ /* 0x0 */ f32 attention_offset;
+ /* 0x4 */ f32 gravity;
+ /* 0x8 */ f32 scale;
+ /* 0xC */ f32 shadow_size;
+};
+
+class daObj_Nougu_Param_c {
+public:
+ virtual ~daObj_Nougu_Param_c() {}
+
+ static const daObj_Nougu_HIOParam m;
+};
+
+#if DEBUG
+class daObj_Nougu_HIO_c : public mDoHIO_entry_c {
+public:
+ daObj_Nougu_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
+
+ daObj_Nougu_HIOParam m;
+};
+
+#define OBJ_NOUGU_HIO_CLASS daObj_Nougu_HIO_c
+#else
+#define OBJ_NOUGU_HIO_CLASS daObj_Nougu_Param_c
+#endif
+
/**
* @ingroup actors-objects
* @class daObj_Nougu_c
@@ -15,7 +46,7 @@
*/
class daObj_Nougu_c : public fopAc_ac_c {
public:
- /* 0x568 */ u8 field_0x568[0x56C - 0x568];
+ /* 0x568 */ OBJ_NOUGU_HIO_CLASS* mpHIO;
/* 0x56C */ request_of_phase_process_class mPhase;
/* 0x574 */ J3DModel* mpModel;
/* 0x578 */ dBgS_ObjAcch mAcch;
@@ -47,19 +78,5 @@ public:
STATIC_ASSERT(sizeof(daObj_Nougu_c) == 0xe30);
-struct daObj_Nougu_HIOParam {
- /* 0x0 */ f32 attention_offset;
- /* 0x4 */ f32 gravity;
- /* 0x8 */ f32 scale;
- /* 0xC */ f32 shadow_size;
-};
-
-class daObj_Nougu_Param_c {
-public:
- virtual ~daObj_Nougu_Param_c() {}
-
- static const daObj_Nougu_HIOParam m;
-};
-
#endif /* D_A_OBJ_NOUGU_H */
diff --git a/include/d/actor/d_a_obj_pleaf.h b/include/d/actor/d_a_obj_pleaf.h
index d447a97fa7..084f4f1543 100644
--- a/include/d/actor/d_a_obj_pleaf.h
+++ b/include/d/actor/d_a_obj_pleaf.h
@@ -4,6 +4,37 @@
#include "d/d_com_inf_game.h"
#include "f_op/f_op_actor_mng.h"
+struct daObj_Pleaf_HIOParam {
+ f32 field_0x0;
+ f32 field_0x4;
+ f32 field_0x8;
+ f32 field_0xc;
+};
+
+class daObj_Pleaf_Param_c {
+public:
+ virtual ~daObj_Pleaf_Param_c() {}
+
+ static daObj_Pleaf_HIOParam const m;
+};
+
+#if DEBUG
+class daObj_Pleaf_HIO_c : public mDoHIO_entry_c {
+public:
+ daObj_Pleaf_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
+
+ daObj_Pleaf_HIOParam m;
+};
+
+#define OBJ_PLEAF_HIO_CLASS daObj_Pleaf_HIO_c
+#else
+#define OBJ_PLEAF_HIO_CLASS daObj_Pleaf_Param_c
+#endif
+
/**
* @ingroup actors-objects
* @class daObj_Pleaf_c
@@ -14,7 +45,7 @@
*/
class daObj_Pleaf_c : public fopAc_ac_c {
private:
- /* 0x568*/ u8 field_0x568[0x56C - 0x568];
+ /* 0x568 */ OBJ_PLEAF_HIO_CLASS* mpHIO;
/* 0x56C */ request_of_phase_process_class mPhaseReq;
/* 0x574 */ J3DModel* mpModel;
/* 0x578 */ dBgS_ObjAcch mObjAcch;
@@ -45,18 +76,4 @@ public:
STATIC_ASSERT(sizeof(daObj_Pleaf_c) == 0x950);
-class daObj_Pleaf_Param_c {
-public:
- virtual ~daObj_Pleaf_Param_c() {}
-
- struct params {
- f32 field_0x0;
- f32 field_0x4;
- f32 field_0x8;
- f32 field_0xc;
- };
-
- static daObj_Pleaf_Param_c::params const m;
-};
-
#endif /* D_A_OBJ_PLEAF_H */
diff --git a/include/d/actor/d_a_obj_sekidoor.h b/include/d/actor/d_a_obj_sekidoor.h
index 515c009662..ae4ff9acd4 100644
--- a/include/d/actor/d_a_obj_sekidoor.h
+++ b/include/d/actor/d_a_obj_sekidoor.h
@@ -6,6 +6,34 @@
#include "d/d_com_inf_game.h"
#include "f_op/f_op_actor_mng.h"
+struct daObj_SekiDoor_HIOParam {
+ /* 0x00 */ u8 field_0x0;
+};
+
+class daObj_SekiDoor_Param_c {
+public:
+ virtual ~daObj_SekiDoor_Param_c() {};
+
+ static daObj_SekiDoor_HIOParam const m;
+};
+
+#if DEBUG
+class daObj_SekiDoor_HIO_c : public mDoHIO_entry_c {
+public:
+ daObj_SekiDoor_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
+
+ daObj_SekiDoor_HIOParam m;
+};
+
+#define OBJ_SEKIDOOR_HIO_CLASS daObj_SekiDoor_HIO_c
+#else
+#define OBJ_SEKIDOOR_HIO_CLASS daObj_SekiDoor_Param_c
+#endif
+
/**
* @ingroup actors-objects
* @class daObj_SekiDoor_c
@@ -32,7 +60,7 @@ public:
bool chkDestroy() { return (mDestroyed == true); }
private:
- /* 0x5A0 */ s32 field_0x5A0;
+ /* 0x5A0 */ OBJ_SEKIDOOR_HIO_CLASS* mpHIO;
/* 0x5A4 */ request_of_phase_process_class mPhaseReq;
/* 0x5AC */ J3DModel* mpModel;
/* 0x5B0 */ csXyz mRotation;
@@ -47,12 +75,5 @@ private:
STATIC_ASSERT(sizeof(daObj_SekiDoor_c) == 0x5d8);
-class daObj_SekiDoor_Param_c {
-public:
- virtual ~daObj_SekiDoor_Param_c() {};
-
- static u8 const m;
-};
-
#endif /* D_A_OBJ_SEKIDOOR_H */
diff --git a/include/d/actor/d_a_obj_sekizo.h b/include/d/actor/d_a_obj_sekizo.h
index db0cab0a00..272f900c5d 100644
--- a/include/d/actor/d_a_obj_sekizo.h
+++ b/include/d/actor/d_a_obj_sekizo.h
@@ -4,6 +4,32 @@
#include "d/d_bg_s_movebg_actor.h"
#include "f_op/f_op_actor_mng.h"
+struct daObj_Sekizo_HIOParam {
+};
+
+class daObj_Sekizo_Param_c {
+public:
+ virtual ~daObj_Sekizo_Param_c() {}
+ static daObj_Sekizo_HIOParam const m;
+};
+
+#if DEBUG
+class daObj_Sekizo_HIO_c : public mDoHIO_entry_c {
+public:
+ daObj_Sekizo_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
+
+ daObj_Sekizo_HIOParam m;
+};
+
+#define OBJ_SEKIZO_HIO_CLASS daObj_Sekizo_HIO_c
+#else
+#define OBJ_SEKIZO_HIO_CLASS daObj_Sekizo_Param_c
+#endif
+
/**
* @ingroup actors-objects
* @class daObj_Sekizo_c
@@ -25,7 +51,7 @@ public:
void setBaseMtx();
private:
- /* 0x5A0 */ u32 field_0x5a0;
+ /* 0x5A0 */ OBJ_SEKIZO_HIO_CLASS* mpHIO;
/* 0x5A4 */ request_of_phase_process_class mPhaseReq;
/* 0x5AC */ J3DModel* mpModel;
/* 0x5B0 */ u8 field_0x5b0;
@@ -35,9 +61,4 @@ private:
STATIC_ASSERT(sizeof(daObj_Sekizo_c) == 0x5B4);
-class daObj_Sekizo_Param_c {
-public:
- virtual ~daObj_Sekizo_Param_c() {}
-};
-
#endif /* D_A_OBJ_SEKIZO_H */
diff --git a/include/d/actor/d_a_obj_sekizoa.h b/include/d/actor/d_a_obj_sekizoa.h
index ad7459e9aa..3e3307c468 100644
--- a/include/d/actor/d_a_obj_sekizoa.h
+++ b/include/d/actor/d_a_obj_sekizoa.h
@@ -4,6 +4,79 @@
#include "d/actor/d_a_npc.h"
#include "d/actor/d_a_tag_evtarea.h"
+//TODO: this might be the same struct that's used in d_a_peru's HIO
+struct daObj_Sekizoa_HIOParam_inner {
+ /* 0x00 */ f32 field_0x00;
+ /* 0x04 */ f32 field_0x04;
+ /* 0x08 */ f32 field_0x08;
+ /* 0x0C */ f32 field_0x0C;
+ /* 0x10 */ f32 field_0x10;
+ /* 0x14 */ f32 field_0x14;
+ /* 0x18 */ f32 field_0x18;
+ /* 0x1C */ f32 field_0x1C;
+ /* 0x20 */ f32 field_0x20;
+ /* 0x24 */ f32 field_0x24;
+ /* 0x28 */ f32 field_0x28;
+ /* 0x2C */ f32 field_0x2C;
+ /* 0x30 */ f32 field_0x30;
+ /* 0x34 */ f32 field_0x34;
+ /* 0x38 */ f32 field_0x38;
+ /* 0x3C */ f32 field_0x3C;
+ /* 0x40 */ f32 field_0x40;
+ /* 0x44 */ f32 field_0x44;
+ /* 0x48 */ s16 field_0x48;
+ /* 0x4A */ s16 field_0x4A;
+ /* 0x4C */ s16 field_0x4C;
+ /* 0x4E */ s16 field_0x4E;
+ /* 0x50 */ f32 field_0x50;
+ /* 0x54 */ f32 field_0x54;
+ /* 0x58 */ f32 field_0x58;
+ /* 0x5C */ f32 field_0x5C;
+ /* 0x60 */ int field_0x60;
+ /* 0x64 */ f32 field_0x64;
+ /* 0x68 */ f32 field_0x68;
+ /* 0x6C */ f32 field_0x6C;
+ /* 0x70 */ f32 field_0x70;
+ /* 0x74 */ f32 field_0x74;
+ /* 0x78 */ f32 field_0x78;
+ /* 0x7C */ f32 field_0x7C;
+ /* 0x80 */ f32 field_0x80;
+ /* 0x84 */ f32 field_0x84;
+ /* 0x88 */ f32 field_0x88;
+};
+
+struct daObj_Sekizoa_HIOParam {
+ /* 0x00 */ daObj_Sekizoa_HIOParam_inner inner;
+ /* 0x8C */ f32 field_0x8C;
+ /* 0x90 */ f32 field_0x90;
+ /* 0x94 */ f32 field_0x94;
+ /* 0x98 */ s16 field_0x98;
+};
+
+class daObj_Sekizoa_Param_c {
+public:
+ virtual ~daObj_Sekizoa_Param_c() {}
+
+ static daObj_Sekizoa_HIOParam const m;
+};
+
+#if DEBUG
+class daObj_Sekizoa_HIO_c : public mDoHIO_entry_c {
+public:
+ daObj_Sekizoa_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
+
+ daObj_Sekizoa_HIOParam m;
+};
+
+#define OBJ_SEKIZOA_HIO_CLASS daObj_Sekizoa_HIO_c
+#else
+#define OBJ_SEKIZOA_HIO_CLASS daObj_Sekizoa_Param_c
+#endif
+
/**
* @ingroup actors-objects
* @class daObj_Sekizoa_c
@@ -211,7 +284,7 @@ public:
/* 0x0E40 */ mDoExt_McaMorfSO* mpMcaMorf;
/* 0x0E44 */ mDoExt_invisibleModel mInvModel;
- /* 0x0E4C */ u8 field_0x0E4C[4]; // Padding
+ /* 0x0E4C */ OBJ_SEKIZOA_HIO_CLASS* mpHIO;
/* 0x0E50 */ dCcD_Cyl mCyl;
/* 0x0F8C */ dCcD_Cyl mCyl2;
/* 0x10C8 */ u8 mType;
@@ -250,54 +323,4 @@ public:
/* 0x117C */ u8 field_0x117C;
};
-struct daObj_Sekizoa_Param_c {
- virtual ~daObj_Sekizoa_Param_c() {}
-
- struct Data {
- /* 0x00 */ f32 field_0x00;
- /* 0x04 */ f32 field_0x04;
- /* 0x08 */ f32 field_0x08;
- /* 0x0C */ f32 field_0x0C;
- /* 0x10 */ f32 field_0x10;
- /* 0x14 */ f32 field_0x14;
- /* 0x18 */ f32 field_0x18;
- /* 0x1C */ f32 field_0x1C;
- /* 0x20 */ f32 field_0x20;
- /* 0x24 */ f32 field_0x24;
- /* 0x28 */ f32 field_0x28;
- /* 0x2C */ f32 field_0x2C;
- /* 0x30 */ f32 field_0x30;
- /* 0x34 */ f32 field_0x34;
- /* 0x38 */ f32 field_0x38;
- /* 0x3C */ f32 field_0x3C;
- /* 0x40 */ f32 field_0x40;
- /* 0x44 */ f32 field_0x44;
- /* 0x48 */ s16 field_0x48;
- /* 0x4A */ s16 field_0x4A;
- /* 0x4C */ s16 field_0x4C;
- /* 0x4E */ s16 field_0x4E;
- /* 0x50 */ f32 field_0x50;
- /* 0x54 */ f32 field_0x54;
- /* 0x58 */ f32 field_0x58;
- /* 0x5C */ f32 field_0x5C;
- /* 0x60 */ int field_0x60;
- /* 0x64 */ f32 field_0x64;
- /* 0x68 */ f32 field_0x68;
- /* 0x6C */ f32 field_0x6C;
- /* 0x70 */ f32 field_0x70;
- /* 0x74 */ f32 field_0x74;
- /* 0x78 */ f32 field_0x78;
- /* 0x7C */ f32 field_0x7C;
- /* 0x80 */ f32 field_0x80;
- /* 0x84 */ f32 field_0x84;
- /* 0x88 */ f32 field_0x88;
- /* 0x8C */ f32 field_0x8C;
- /* 0x90 */ f32 field_0x90;
- /* 0x94 */ f32 field_0x94;
- /* 0x98 */ s16 field_0x98;
- };
-
- static Data const m;
-};
-
#endif /* D_A_OBJ_SEKIZOA_H */
diff --git a/include/d/actor/d_a_obj_smtile.h b/include/d/actor/d_a_obj_smtile.h
index e20936053c..1832a7c4b8 100644
--- a/include/d/actor/d_a_obj_smtile.h
+++ b/include/d/actor/d_a_obj_smtile.h
@@ -3,6 +3,35 @@
#include "f_op/f_op_actor_mng.h"
+struct daObj_SMTile_HIOParam {
+ /* 0x00 */ f32 field_0x0;
+ /* 0x04 */ f32 field_0x4;
+};
+
+class daObj_SMTile_Param_c {
+public:
+ virtual ~daObj_SMTile_Param_c() {}
+
+ static daObj_SMTile_HIOParam const m;
+};
+
+#if DEBUG
+class daObj_SMTile_HIO_c : public mDoHIO_entry_c {
+public:
+ daObj_SMTile_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
+
+ daObj_SMTile_HIOParam m;
+};
+
+#define OBJ_SMTILE_HIO_CLASS daObj_SMTile_HIO_c
+#else
+#define OBJ_SMTILE_HIO_CLASS daObj_SMTile_Param_c
+#endif
+
/**
* @ingroup actors-objects
* @class daObj_SMTile_c
@@ -14,7 +43,7 @@
class daObj_SMTile_c : public fopAc_ac_c {
private:
/* 0x568 */ mDoExt_brkAnm mBrk;
- /* 0x580 */ int field_0x580;
+ /* 0x580 */ OBJ_SMTILE_HIO_CLASS* mpHIO;
/* 0x584 */ request_of_phase_process_class mPhase;
/* 0x58C */ J3DModel* mModel;
/* 0x590 */ cXyz field_0x590[21];
@@ -52,12 +81,5 @@ public:
STATIC_ASSERT(sizeof(daObj_SMTile_c) == 0xb30);
-class daObj_SMTile_Param_c {
-public:
- virtual ~daObj_SMTile_Param_c() {}
-
- static f32 const m[2];
-};
-
#endif /* D_A_OBJ_SMTILE_H */
diff --git a/include/d/actor/d_a_obj_stick.h b/include/d/actor/d_a_obj_stick.h
index 9d256331bf..fe43aabd15 100644
--- a/include/d/actor/d_a_obj_stick.h
+++ b/include/d/actor/d_a_obj_stick.h
@@ -5,6 +5,37 @@
#include "d/d_bg_s_acch.h"
#include "d/d_cc_d.h"
+struct daObj_Stick_HIOParam {
+ f32 attention_offset;
+ f32 gravity;
+ f32 scale;
+ f32 real_shadow_size;
+};
+
+class daObj_Stick_Param_c {
+public:
+ virtual ~daObj_Stick_Param_c() {}
+
+ static const daObj_Stick_HIOParam m;
+};
+
+#if DEBUG
+class daObj_Stick_HIO_c : public mDoHIO_entry_c {
+public:
+ daObj_Stick_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
+
+ daObj_Stick_HIOParam m;
+};
+
+#define OBJ_STICK_HIO_CLASS daObj_Stick_HIO_c
+#else
+#define OBJ_STICK_HIO_CLASS daObj_Stick_Param_c
+#endif
+
/**
* @ingroup actors-objects
* @class daObj_Stick_c
@@ -15,7 +46,7 @@
*/
class daObj_Stick_c : public fopAc_ac_c {
private:
- /* 0x568 */ mDoHIO_entry_c* field_0x568;
+ /* 0x568 */ OBJ_STICK_HIO_CLASS* mpHIO;
/* 0x56c */ request_of_phase_process_class mPhase;
/* 0x574 */ J3DModel* mpModel;
/* 0x578 */ dBgS_ObjAcch mAcch;
@@ -47,18 +78,4 @@ public:
STATIC_ASSERT(sizeof(daObj_Stick_c) == 0x950);
-class daObj_Stick_Param_c {
-public:
- virtual ~daObj_Stick_Param_c() {};
-
- struct daObj_Stick_HIOParam {
- f32 attention_offset;
- f32 gravity;
- f32 scale;
- f32 real_shadow_size;
- };
- static const daObj_Stick_HIOParam m;
-};
-
-
#endif /* D_A_OBJ_STICK_H */
diff --git a/include/d/actor/d_a_obj_tks.h b/include/d/actor/d_a_obj_tks.h
index 93ec22da8a..9d98f8cd0b 100644
--- a/include/d/actor/d_a_obj_tks.h
+++ b/include/d/actor/d_a_obj_tks.h
@@ -20,6 +20,23 @@ public:
static const daObjTks_HIOParam m;
};
+#if DEBUG
+class daObjTks_HIO_c : public mDoHIO_entry_c {
+
+public:
+ daObjTks_HIO_c();
+ virtual ~daObjTks_HIO_c() {}
+
+ void genMessage(JORMContext*);
+
+ daObjTks_HIOParam m;
+};
+
+#define OBJ_TKS_HIO_CLASS daObjTks_HIO_c
+#else
+#define OBJ_TKS_HIO_CLASS daObjTks_Param_c
+#endif
+
/**
* @ingroup actors-objects
* @class daObjTks_c
@@ -28,7 +45,6 @@ public:
* @details
*
*/
-
class daObjTks_c : public daNpcF_c {
public:
daObjTks_c();
@@ -64,7 +80,8 @@ public:
virtual inline void drawOtherMdls();
void calcSpringF(f32* param_0, f32 param_1, f32* param_2) {
- *param_2 = daObjTks_Param_c::m.spring_atten * (*param_2 + (daObjTks_Param_c::m.spring_factor * (*param_0 - param_1)));
+ f32 var_f31 = mpHIO->m.spring_factor * (*param_0 - param_1);
+ *param_2 = mpHIO->m.spring_atten * (*param_2 + var_f31);
*param_0 += *param_2;
}
@@ -89,7 +106,7 @@ public:
/* 0xB48 */ Z2Creature mSound;
/* 0xBD8 */ daNpcF_MatAnm_c* mpMatAnm;
/* 0xBDC */ daNpcF_Lookat_c mLookat;
- /* 0xC78 */ u8 field_0xC78[0xC7C - 0xC78];
+ /* 0xC78 */ OBJ_TKS_HIO_CLASS* mpHIO;
/* 0xC7C */ dCcD_Cyl mCcCyl;
/* 0xDB8 */ void (daObjTks_c::*mAction)();
/* 0xDC4 */ request_of_phase_process_class mPhase;
diff --git a/include/d/actor/d_a_obj_yel_bag.h b/include/d/actor/d_a_obj_yel_bag.h
index f74ed46da8..69b428da49 100644
--- a/include/d/actor/d_a_obj_yel_bag.h
+++ b/include/d/actor/d_a_obj_yel_bag.h
@@ -6,6 +6,44 @@
#include "d/d_cc_d.h"
#include "f_op/f_op_actor_mng.h"
+struct daObj_YBag_HIOParam {
+ /* 0x00 */ f32 field_0x00;
+ /* 0x04 */ f32 field_0x04;
+ /* 0x08 */ f32 field_0x08;
+ /* 0x0C */ f32 field_0x0c;
+ /* 0x10 */ f32 field_0x10;
+ /* 0x14 */ f32 field_0x14;
+ /* 0x18 */ f32 field_0x18;
+ /* 0x1C */ f32 field_0x1c;
+ /* 0x20 */ f32 field_0x20;
+ /* 0x24 */ f32 field_0x24;
+ /* 0x28 */ f32 field_0x28;
+};
+
+class daObj_YBag_Param_c {
+public:
+ virtual ~daObj_YBag_Param_c() {}
+
+ static daObj_YBag_HIOParam const m;
+};
+
+#if DEBUG
+class daObj_YBag_HIO_c : public mDoHIO_entry_c {
+public:
+ daObj_YBag_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
+
+ daObj_YBag_HIOParam m;
+};
+
+#define OBJ_YBAG_HIO_CLASS daObj_YBag_HIO_c
+#else
+#define OBJ_YBAG_HIO_CLASS daObj_YBag_Param_c
+#endif
+
/**
* @ingroup actors-objects
* @class daObj_YBag_c
@@ -18,7 +56,7 @@ class daObj_YBag_c : public fopAc_ac_c {
private:
/* 0x568 */ request_of_phase_process_class mPhases[3];
/* 0x580 */ J3DModel* mModel;
- /* 0x584 */ int field_0x584;
+ /* 0x584 */ OBJ_YBAG_HIO_CLASS* mpHIO;
/* 0x588 */ dBgS_ObjAcch mAcch;
/* 0x760 */ dCcD_Stts mStts;
/* 0x79C */ dBgS_AcchCir mAcchCir;
@@ -77,12 +115,5 @@ public:
STATIC_ASSERT(sizeof(daObj_YBag_c) == 0xa3c);
-class daObj_YBag_Param_c {
-public:
- virtual ~daObj_YBag_Param_c() {}
-
- static f32 const m[11];
-};
-
#endif /* D_A_OBJ_YEL_BAG_H */
diff --git a/include/d/actor/d_a_peru.h b/include/d/actor/d_a_peru.h
index f485dc68a7..2ca6d71e12 100644
--- a/include/d/actor/d_a_peru.h
+++ b/include/d/actor/d_a_peru.h
@@ -6,6 +6,79 @@
#include "d/actor/d_a_npc.h"
#include "SSystem/SComponent/c_counter.h"
+//TODO: this might be the same struct that's used in d_a_obj_sekizoa's HIO
+struct daPeru_HIO_inner {
+ /* 0x00 */ f32 field_0x00;
+ /* 0x04 */ f32 field_0x04;
+ /* 0x08 */ f32 field_0x08;
+ /* 0x0C */ f32 field_0x0C;
+ /* 0x10 */ f32 field_0x10;
+ /* 0x14 */ f32 field_0x14;
+ /* 0x18 */ f32 field_0x18;
+ /* 0x1C */ f32 field_0x1C;
+ /* 0x20 */ f32 field_0x20;
+ /* 0x24 */ f32 field_0x24;
+ /* 0x28 */ f32 field_0x28;
+ /* 0x2C */ f32 field_0x2C;
+ /* 0x30 */ f32 field_0x30;
+ /* 0x34 */ f32 field_0x34;
+ /* 0x38 */ f32 field_0x38;
+ /* 0x3C */ f32 field_0x3C;
+ /* 0x40 */ f32 field_0x40;
+ /* 0x44 */ f32 field_0x44;
+ /* 0x48 */ s16 field_0x48;
+ /* 0x4A */ s16 field_0x4A;
+ /* 0x4C */ s16 field_0x4C;
+ /* 0x4E */ s16 field_0x4E;
+ /* 0x50 */ f32 field_0x50;
+ /* 0x54 */ f32 field_0x54;
+ /* 0x58 */ f32 field_0x58;
+ /* 0x5C */ f32 field_0x5C;
+ /* 0x60 */ s16 field_0x60;
+ /* 0x62 */ s16 field_0x62;
+ /* 0x64 */ f32 field_0x64;
+ /* 0x68 */ f32 field_0x68;
+ /* 0x6C */ f32 field_0x6C;
+ /* 0x70 */ f32 field_0x70;
+ /* 0x74 */ f32 field_0x74;
+ /* 0x78 */ f32 field_0x78;
+ /* 0x7C */ f32 field_0x7C;
+ /* 0x80 */ f32 field_0x80;
+ /* 0x84 */ f32 field_0x84;
+ /* 0x88 */ f32 field_0x88;
+};
+
+struct daPeru_HIOParam {
+ /* 0x00 */ daPeru_HIO_inner inner;
+ /* 0x8C */ f32 field_0x8c;
+ /* 0x90 */ f32 field_0x90;
+ /* 0x94 */ f32 field_0x94;
+};
+
+class daPeru_Param_c {
+public:
+ virtual ~daPeru_Param_c() {}
+
+ static daPeru_HIOParam const m;
+};
+
+#if DEBUG
+class daPeru_HIO_c : public mDoHIO_entry_c {
+public:
+ daPeru_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
+
+ daPeru_HIOParam m;
+};
+
+#define PERU_HIO_CLASS daPeru_HIO_c
+#else
+#define PERU_HIO_CLASS daPeru_Param_c
+#endif
+
/**
* @ingroup actors-npcs
* @class daPeru_c
@@ -127,7 +200,7 @@ private:
/* 0x0E70 */ u8 field_0xe70[0xe7c - 0xe70];
/* 0x0E7C */ s8 field_0xe7c;
/* 0x0E80 */ int field_0xe80;
- /* 0x0E84 */ int field_0xe84;
+ /* 0x0E84 */ PERU_HIO_CLASS* mpHIO;
/* 0x0E88 */ dCcD_Cyl mCyls[2];
/* 0x1100 */ daNpcT_Path_c mPath;
/* 0x1128 */ u8 mType;
@@ -136,19 +209,4 @@ private:
STATIC_ASSERT(sizeof(daPeru_c) == 0x112c);
-struct PeruParams {
- f32 field_0x00[18];
- s16 field_0x48[4];
- f32 field_0x50[4];
- s16 field_0x60[2];
- f32 field_0x64[13];
-};
-
-class daPeru_Param_c {
-public:
- virtual ~daPeru_Param_c() {}
-
- static PeruParams const m;
-};
-
#endif /* D_A_PERU_H */
diff --git a/include/d/actor/d_a_tag_lantern.h b/include/d/actor/d_a_tag_lantern.h
index ba743e34c4..9cb8c698e1 100644
--- a/include/d/actor/d_a_tag_lantern.h
+++ b/include/d/actor/d_a_tag_lantern.h
@@ -4,6 +4,34 @@
#include "d/d_com_inf_game.h"
#include "d/d_msg_flow.h"
+struct daTag_Lantern_HIOParam {
+ u8 field_0x0;
+};
+
+class daTag_Lantern_Param_c {
+public:
+ inline virtual ~daTag_Lantern_Param_c() {}
+
+ static daTag_Lantern_HIOParam const m;
+};
+
+#if DEBUG
+class daTag_Lantern_HIO_c : public mDoHIO_entry_c {
+public:
+ daTag_Lantern_HIO_c();
+
+ void listenPropertyEvent(const JORPropertyEvent*);
+
+ void genMessage(JORMContext*);
+
+ daTag_Lantern_HIOParam m;
+};
+
+#define TAG_LANTERN_HIO_CLASS daTag_Lantern_HIO_c
+#else
+#define TAG_LANTERN_HIO_CLASS daTag_Lantern_Param_c
+#endif
+
class daTag_Lantern_c : public fopAc_ac_c {
public:
int create();
@@ -28,7 +56,7 @@ public:
/* 0x568 */ dMsgFlow_c mMsgFlow;
/* 0x5B4 */ cBgS_GndChk mGndChk;
- /* 0x5F0 */ u32 field_0x5f0;
+ /* 0x5F0 */ TAG_LANTERN_HIO_CLASS* mpHIO;
/* 0x5F4 */ f32 mGroundCross;
/* 0x5F8 */ s32 field_0x5f8;
/* 0x5FC */ u32 field_0x5fc;
@@ -38,9 +66,4 @@ public:
virtual ~daTag_Lantern_c();
}; // Size: 0x60C
-class daTag_Lantern_Param_c {
-public:
- inline virtual ~daTag_Lantern_Param_c() {}
-};
-
#endif /* D_A_TAG_LANTERN_H */