diff options
| author | Carco_21 <144170194+carter-ktb21@users.noreply.github.com> | 2025-04-01 16:31:12 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-04-01 13:31:12 -0700 |
| commit | cc7f26c83861357404a2deb66914c9e8745f81d1 (patch) | |
| tree | a973cf74b007fcae2c592ad5d79e9c4334fe7a3f /include | |
| parent | 3df4a4b8d553c0a079954b936cadb9cd03759d38 (diff) | |
Work on create functions of d_a_npc_midp and changed mpMatAnm to array (#2366)
* Work on create functions of d_a_npc_midp and changed mpMatAnm to array
* Pull request cleanup
Diffstat (limited to 'include')
| -rw-r--r-- | include/d/actor/d_a_npc.h | 3 | ||||
| -rw-r--r-- | include/d/actor/d_a_npc_midp.h | 97 |
2 files changed, 77 insertions, 23 deletions
diff --git a/include/d/actor/d_a_npc.h b/include/d/actor/d_a_npc.h index 59e3e07eef..c6b8f6c7ee 100644 --- a/include/d/actor/d_a_npc.h +++ b/include/d/actor/d_a_npc.h @@ -433,8 +433,7 @@ public: /* 0x8A0 */ dBgS_AcchCir mAcchCir; /* 0x8E0 */ request_of_phase_process_class mPhase[10]; /* 0x930 */ cBgS_GndChk mGndChk; - /* 0x96C */ daNpcT_MatAnm_c* mpMatAnm; - /* 0x970 */ u8 field_0x970[4]; + /* 0x96C */ daNpcT_MatAnm_c* mpMatAnm[2]; /* 0x974 */ dMsgFlow_c mFlow; /* 0x9C0 */ dPaPoT_c field_0x9c0; /* 0xA40 */ dCcD_Stts field_0xa40; diff --git a/include/d/actor/d_a_npc_midp.h b/include/d/actor/d_a_npc_midp.h index c97b2eb8db..9d35141ec9 100644 --- a/include/d/actor/d_a_npc_midp.h +++ b/include/d/actor/d_a_npc_midp.h @@ -11,54 +11,68 @@ * @details * */ -class daNpc_midP_c : public fopAc_ac_c { +class daNpc_midP_c : public daNpcT_c { public: + typedef int (daNpc_midP_c::*cutFunc)(int); + /* 80A70C6C */ ~daNpc_midP_c(); - /* 80A70D90 */ void create(); - /* 80A71074 */ void CreateHeap(); + /* 80A70D90 */ int create(); + /* 80A71074 */ int CreateHeap(); /* 80A714BC */ void Delete(); /* 80A714F0 */ void Execute(); /* 80A71510 */ void Draw(); - /* 80A715D4 */ void createHeapCallBack(fopAc_ac_c*); - /* 80A715F4 */ void ctrlJointCallBack(J3DJoint*, int); - /* 80A7164C */ void getType(); - /* 80A7166C */ void isDelete(); + /* 80A715D4 */ static int createHeapCallBack(fopAc_ac_c*); + /* 80A715F4 */ static int ctrlJointCallBack(J3DJoint*, int); + /* 80A7164C */ u8 getType(); + /* 80A7166C */ int isDelete(); /* 80A7168C */ void reset(); /* 80A717D4 */ void afterJntAnm(int); - /* 80A71860 */ void ctrlBtk(); + /* 80A71860 */ BOOL ctrlBtk(); /* 80A7199C */ void setParam(); /* 80A71A98 */ void setAfterTalkMotion(); /* 80A71AF8 */ void srchActors(); - /* 80A71AFC */ void evtTalk(); - /* 80A71BFC */ void evtCutProc(); + /* 80A71AFC */ BOOL evtTalk(); + /* 80A71BFC */ BOOL evtCutProc(); /* 80A71CC4 */ void action(); /* 80A71DB0 */ void beforeMove(); /* 80A71E28 */ void setAttnPos(); /* 80A72064 */ void setCollision(); - /* 80A7216C */ bool drawDbgInfo(); + /* 80A7216C */ int drawDbgInfo(); /* 80A72174 */ void drawGhost(); /* 80A721E0 */ void selectAction(); /* 80A72228 */ void chkAction(int (daNpc_midP_c::*)(void*)); /* 80A72254 */ void setAction(int (daNpc_midP_c::*)(void*)); /* 80A722FC */ void wait(void*); /* 80A72548 */ void talk(void*); - /* 80A737D0 */ daNpc_midP_c(daNpcT_faceMotionAnmData_c const*, daNpcT_motionAnmData_c const*, - daNpcT_MotionSeqMngr_c::sequenceStepData_c const*, int, - daNpcT_MotionSeqMngr_c::sequenceStepData_c const*, int, - daNpcT_evtData_c const*, char**); + /* 80A737D0 */ daNpc_midP_c(daNpcT_faceMotionAnmData_c const* param_1, daNpcT_motionAnmData_c const* param_2, + daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_3, int param_4, + daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_5, int param_6, + daNpcT_evtData_c const* param_7, char** param_8) : + daNpcT_c(param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8) {} /* 80A7390C */ s32 getEyeballRMaterialNo(); /* 80A73914 */ s32 getEyeballLMaterialNo(); /* 80A7391C */ s32 getHeadJointNo(); /* 80A73924 */ s32 getNeckJointNo(); /* 80A7392C */ s32 getBackboneJointNo(); - /* 80A73934 */ void checkChangeJoint(int); - /* 80A73944 */ void checkRemoveJoint(int); + /* 80A73934 */ BOOL checkChangeJoint(int); + /* 80A73944 */ BOOL checkRemoveJoint(int); + + int getFlowNodeNo() { + u16 nodeNo = home.angle.x; + if (nodeNo == 0xffff) { + return -1; + } + return nodeNo; + } - static void* mCutNameList; - static u8 mCutList[12]; + static char* mCutNameList; + static cutFunc mCutList[1]; private: - /* 0x568 */ u8 field_0x568[0xfa0 - 0x568]; + /* 0xE40 */ u8 field_0xE40[0xe44 - 0xe40]; + /* 0xE44 */ dCcD_Cyl mCyl; + /* 0xF80 */ u8 mType; + /* 0xF81 */ u8 field_0xf81[0xfa0-0xf81]; }; STATIC_ASSERT(sizeof(daNpc_midP_c) == 0xfa0); @@ -67,7 +81,48 @@ class daNpc_midP_Param_c { public: /* 80A73954 */ ~daNpc_midP_Param_c(); - static u8 const m[140]; + 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; + }; + + static const Data m; }; |
