Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions configure.py
Original file line number Diff line number Diff line change
Expand Up @@ -1856,7 +1856,7 @@ def MatchingFor(*versions) -> bool:
ActorRel(NonMatching, "d_a_npc_len"),
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_npc_lf"),
ActorRel(NonMatching, "d_a_npc_lud"),
ActorRel(NonMatching, "d_a_npc_midp"),
ActorRel(MatchingFor("GZ2E01"), "d_a_npc_midp"),
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_npc_mk"),
ActorRel(NonMatching, "d_a_npc_moi"),
ActorRel(NonMatching, "d_a_npc_moir", extra_cflags=[DANPCF_C_HACK]),
Expand All @@ -1873,7 +1873,7 @@ def MatchingFor(*versions) -> bool:
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_npc_prayer", extra_cflags=[DANPCF_C_HACK]),
ActorRel(NonMatching, "d_a_npc_raca"),
ActorRel(NonMatching, "d_a_npc_rafrel"),
ActorRel(NonMatching, "d_a_npc_saru"),
ActorRel(MatchingFor("GZ2E01"), "d_a_npc_saru"),
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_npc_seib"),
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_npc_seic"),
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_npc_seid"),
Expand Down Expand Up @@ -1908,8 +1908,8 @@ def MatchingFor(*versions) -> bool:
ActorRel(NonMatching, "d_a_npc_ykw"),
ActorRel(NonMatching, "d_a_npc_zanb"),
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_npc_zant"),
ActorRel(NonMatching, "d_a_npc_zelR"),
ActorRel(NonMatching, "d_a_npc_zelRo"),
ActorRel(MatchingFor("GZ2E01"), "d_a_npc_zelR"),
ActorRel(MatchingFor("GZ2E01"), "d_a_npc_zelRo"),
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_npc_zelda"),
ActorRel(Equivalent, "d_a_npc_zra", extra_cflags=[DANPCF_C_HACK]), # regalloc
ActorRel(NonMatching, "d_a_npc_zrc", extra_cflags=[DANPCF_C_HACK]),
Expand Down
130 changes: 73 additions & 57 deletions include/d/actor/d_a_npc_midp.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,74 @@
*
* @details
*
*/
*/

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:
/* 80A73954 */ virtual ~daNpc_midP_Param_c() {}

static const daNpc_midP_HIOParam m;
};

class daNpc_midP_c : public daNpcT_c {
public:
enum Joint {
/* 0x00 */ JNT_CENTER,
/* 0x01 */ JNT_BACKBONE1,
/* 0x02 */ JNT_BACKBONE2,
/* 0x03 */ JNT_NECK,
/* 0x04 */ JNT_HEAD,
/* 0x05 */ JNT_CHIN,
/* 0x06 */ JNT_MAYUL,
/* 0x07 */ JNT_MAYUR,
/* 0x08 */ JNT_MOUTH,
/* 0x09 */ JNT_SHOULDERL,
/* 0x0A */ JNT_ARML1,
/* 0x0B */ JNT_ARML2,
/* 0x0C */ JNT_HANDL,
/* 0x0D */ JNT_FINGERL1,
/* 0x0E */ JNT_FINGERL2,
/* 0x0F */ JNT_THAMBL,
/* 0x10 */ JNT_MANTL1,
/* 0x11 */ JNT_MANTL2,
/* 0x12 */ JNT_MANT_ANIMEL1,
/* 0x13 */ JNT_SHOULDERR,
/* 0x14 */ JNT_ARMR1,
/* 0x15 */ JNT_ARMR2,
/* 0x16 */ JNT_HANDR,
/* 0x17 */ JNT_FINGERR1,
/* 0x18 */ JNT_FINGERR2,
/* 0x19 */ JNT_THAMBR,
/* 0x1A */ JNT_MANTR1,
/* 0x1B */ JNT_MANTR2,
/* 0x1C */ JNT_MANT_ANIMER1,
/* 0x1D */ JNT_WAIST,
/* 0x1E */ JNT_LEGL1,
/* 0x1F */ JNT_LEGL2,
/* 0x20 */ JNT_FOOTL,
/* 0x21 */ JNT_TOEL,
/* 0x22 */ JNT_LEGR1,
/* 0x23 */ JNT_LEGR2,
/* 0x24 */ JNT_FOOTR,
/* 0x25 */ JNT_TOER,
/* 0x26 */ JNT_MANTC1,
/* 0x27 */ JNT_MANTC2,
/* 0x28 */ JNT_MANT_ANIMEL2,
/* 0x29 */ JNT_MANT_ANIMER2,
/* 0x2A */ JNT_SKIRTB1,
/* 0x2B */ JNT_SKIRTB2,
/* 0x2C */ JNT_SKIRTF1,
/* 0x2D */ JNT_SKIRTF2,
};

typedef int (daNpc_midP_c::*cutFunc)(int);
typedef int (daNpc_midP_c::*actionFunc)(void*);

Expand Down Expand Up @@ -55,13 +120,13 @@ class daNpc_midP_c : public daNpcT_c {
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 */ u16 getEyeballRMaterialNo();
/* 80A73914 */ u16 getEyeballLMaterialNo();
/* 80A7391C */ s32 getHeadJointNo();
/* 80A73924 */ s32 getNeckJointNo();
/* 80A7392C */ s32 getBackboneJointNo();
/* 80A73934 */ BOOL checkChangeJoint(int);
/* 80A73944 */ BOOL checkRemoveJoint(int);
/* 80A7390C */ u16 getEyeballRMaterialNo() { return 3; }
/* 80A73914 */ u16 getEyeballLMaterialNo() { return 2; }
/* 80A7391C */ s32 getHeadJointNo() { return JNT_HEAD; }
/* 80A73924 */ s32 getNeckJointNo() { return JNT_NECK; }
/* 80A7392C */ s32 getBackboneJointNo() { return JNT_BACKBONE2; }
/* 80A73934 */ BOOL checkChangeJoint(int i_joint) { return i_joint == JNT_HEAD; }
/* 80A73944 */ BOOL checkRemoveJoint(int i_joint) { return i_joint == JNT_MOUTH; }

int getFlowNodeNo() {
u16 nodeNo = home.angle.x;
Expand All @@ -86,53 +151,4 @@ class daNpc_midP_c : public daNpcT_c {

STATIC_ASSERT(sizeof(daNpc_midP_c) == 0xfa0);

class daNpc_midP_Param_c {
public:
/* 80A73954 */ ~daNpc_midP_Param_c();

struct Data {
/* 0x00 */ f32 field_0x00;
/* 0x04 */ f32 mGravity;
/* 0x08 */ f32 mScale;
/* 0x0C */ f32 field_0x0c;
/* 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 */ 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 */ 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;
};


#endif /* D_A_NPC_MIDP_H */
6 changes: 2 additions & 4 deletions include/d/actor/d_a_npc_saru.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,9 @@
*
* @details
*
*/

struct daNpc_Saru_HIOParam
{
*/

struct daNpc_Saru_HIOParam {
/* 0x00 */ daNpcT_HIOParam common;
/* 0x8C */ s16 scared_time; // 怯える時間 - Scared Time
/* 0x8E */ s16 field_0x8e;
Expand Down
75 changes: 21 additions & 54 deletions include/d/actor/d_a_npc_zelR.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,23 @@
*
* @details
*
*/
*/

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:
/* 80B71A74 */ virtual ~daNpc_ZelR_Param_c() {};

static const daNpc_ZelR_HIOParam m;
};

class daNpc_ZelR_c : public daNpcT_c {
public:
typedef BOOL (daNpc_ZelR_c::*ActionFn)(void*);
Expand Down Expand Up @@ -57,10 +73,10 @@ class daNpc_ZelR_c : public daNpcT_c {
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)
{}
/* 80B71A34 */ u16 getEyeballRMaterialNo();
/* 80B71A3C */ u16 getEyeballLMaterialNo();
/* 80B71A44 */ s32 getHeadJointNo();
/* 80B71A4C */ s32 getBackboneJointNo();
/* 80B71A34 */ u16 getEyeballRMaterialNo() { return 3; }
/* 80B71A3C */ u16 getEyeballLMaterialNo() { return 2; }
/* 80B71A44 */ s32 getHeadJointNo() { return 3; }
/* 80B71A4C */ s32 getBackboneJointNo() { return 1; }
/* 80B71A54 */ BOOL checkChangeJoint(int param_1) { return param_1 == 3; };
/* 80B71A64 */ BOOL checkRemoveJoint(int param_1) { return param_1 == 13; };

Expand All @@ -71,7 +87,6 @@ class daNpc_ZelR_c : public daNpcT_c {
/* 0xE40 */ u8 field_0xe40[0xe44 - 0xe40];
/* 0xE44 */ dCcD_Cyl mCyl;
/* 0xF80 */ u8 mType;
/* 0xF81 */ u8 field_0xf81[0xf84 - 0xf81];
/* 0xF84 */ ActionFn field_0xf84;
/* 0xF90 */ ActionFn field_0xf90;
/* 0xF9C */ daNpcT_Path_c mPath;
Expand All @@ -80,53 +95,5 @@ class daNpc_ZelR_c : public daNpcT_c {

STATIC_ASSERT(sizeof(daNpc_ZelR_c) == 0xfc8);

class daNpc_ZelR_Param_c {
public:
/* 80B71A74 */ virtual ~daNpc_ZelR_Param_c() {};

struct Data {
/* 0x00 */ f32 field_0x0;
/* 0x04 */ f32 mGravity;
/* 0x08 */ f32 field_0x8;
/* 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 */ 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;
};

static const Data m;
};


#endif /* D_A_NPC_ZELR_H */
Loading