diff options
| author | Max Roncace <me@caseif.net> | 2026-01-13 17:58:15 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-01-13 14:58:15 -0800 |
| commit | c0e0bbaaf3ff70413498d2ce41f281e8aa41db07 (patch) | |
| tree | b7b24673595d7226d7d135a09802d25f86cf6214 /include/d | |
| parent | 235cb9a9ad1b23da2a562c7b3bc5c25f2404299a (diff) | |
Clean up HIO for TUs using HIOParam/Param_c/HIO_c pattern (#3043)
Diffstat (limited to 'include/d')
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 */ |
