Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
2d8c2b5
Began work on d_a_npc_jagar
carter-ktb21 Feb 12, 2025
d9b7f65
Major work on daNpc_Jagar_c::create()
carter-ktb21 Feb 12, 2025
bcd3df6
Jagar create() - 11%
carter-ktb21 Feb 13, 2025
52b7b77
Continued work on daNpc_Jagar_c
carter-ktb21 Feb 13, 2025
3f7e0fe
Jagar create() - 87%
carter-ktb21 Feb 14, 2025
db2e20f
Continues work on Jagar
carter-ktb21 Feb 14, 2025
bdb2f5b
Work on Jagar.checkChangeEvt()
carter-ktb21 Feb 17, 2025
6c9db98
Working on Jagar.talk()
carter-ktb21 Feb 18, 2025
6584d5c
Work on Jagar.changeBtp()
carter-ktb21 Feb 19, 2025
6df3c09
Jagar.checkChangeJoint() & checkRemoveJoint()
carter-ktb21 Feb 19, 2025
1167076
Jagar.chkAction() & setAction()
carter-ktb21 Feb 19, 2025
1ac5c84
Jagar.chkChuMotion()
carter-ktb21 Feb 19, 2025
4f7a385
Jagar.chkSitMotion() & chkSitMotion2()
carter-ktb21 Feb 19, 2025
ce61e79
Jagar.chkToMotion()
carter-ktb21 Feb 19, 2025
15adb57
Jagar.CreateHeap()
carter-ktb21 Feb 19, 2025
554de51
Jagar.createHeapCallBack() & ctrlJointCallBack()
carter-ktb21 Feb 19, 2025
a2e9b16
Jagar.cuAnger()
carter-ktb21 Feb 19, 2025
fb8fa94
Jagar.cutClimbUp() - 92%
carter-ktb21 Feb 20, 2025
876bf11
Jagar.setAttnPos() - 85%
carter-ktb21 Feb 20, 2025
356a74a
Jagar.cutConversationWithBou() - 48%
carter-ktb21 Feb 21, 2025
8563354
Jagar work and daNpcT_c::getActorDistance - 83%
carter-ktb21 Feb 21, 2025
f3c23d6
Jagar setParam work and daNpcT_c::getActorDistance - 85%
carter-ktb21 Feb 21, 2025
6d0103c
Prep Jagar push to main
carter-ktb21 Feb 23, 2025
249fc72
Merge branch 'initial_jaggle_work'
carter-ktb21 Feb 23, 2025
69cd70c
Merge pull request #1 from carter-ktb21/initial_jaggle_work
carter-ktb21 Feb 23, 2025
c36ba45
Merge branch 'main' of https://github.com/carter-ktb21/tp
carter-ktb21 Feb 23, 2025
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
2 changes: 1 addition & 1 deletion include/d/actor/d_a_npc_bou.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ class daNpc_Bou_c : public daNpcT_c {
/* 8096D8C0 */ void ctrlJointCallBack(J3DJoint*, int);
/* 8096D918 */ void srchCow(void*, void*);
/* 8096D9B4 */ void getCowP();
/* 8096DA78 */ void getType();
/* 8096DA78 */ u8 getType();
/* 8096DADC */ void isDelete();
/* 8096DBBC */ void reset();
/* 8096E18C */ void srchActors();
Expand Down
169 changes: 126 additions & 43 deletions include/d/actor/d_a_npc_jagar.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,75 +11,158 @@
* @details
*
*/
class daNpc_Jagar_c : public fopAc_ac_c {

class daNpc_Bou_c; // For action method?

class daNpc_Jagar_c : public daNpcT_c {
public:
typedef int (daNpc_Jagar_c::*cutFunc)(int);
typedef int (daNpc_Jagar_c::*actionFunc)(void*);

enum Type {
TYPE_0,
TYPE_1,
TYPE_2,
TYPE_3,
};

/* 80A1470C */ ~daNpc_Jagar_c();
/* 80A14858 */ void create();
/* 80A14B20 */ void CreateHeap();
/* 80A14F4C */ void Delete();
/* 80A14F80 */ void Execute();
/* 80A14FA0 */ void Draw();
/* 80A15034 */ void createHeapCallBack(fopAc_ac_c*);
/* 80A15054 */ void ctrlJointCallBack(J3DJoint*, int);
/* 80A150AC */ void getType();
/* 80A150F8 */ void isDelete();
/* 80A14858 */ int create();
/* 80A14B20 */ int CreateHeap();
/* 80A14F4C */ int Delete();
/* 80A14F80 */ int Execute();
/* 80A14FA0 */ int Draw();
/* 80A15034 */ static int createHeapCallBack(fopAc_ac_c*);
/* 80A15054 */ static int ctrlJointCallBack(J3DJoint*, int);
/* 80A150AC */ u8 getType();
/* 80A150F8 */ int isDelete();
/* 80A15198 */ void reset();
/* 80A15364 */ void afterJntAnm(int);
/* 80A153E8 */ void setParam();
/* 80A155E4 */ void checkChangeEvt();
/* 80A155E4 */ bool checkChangeEvt();
/* 80A15714 */ void setAfterTalkMotion();
/* 80A157B4 */ void srchActors();
/* 80A158A0 */ void evtTalk();
/* 80A15940 */ void evtCutProc();
/* 80A158A0 */ bool evtTalk();
/* 80A15940 */ bool evtCutProc();
/* 80A15A08 */ void action();
/* 80A15CA4 */ void beforeMove();
/* 80A15D68 */ void setAttnPos();
/* 80A1607C */ void setCollision();
/* 80A161EC */ bool drawDbgInfo();
/* 80A161EC */ int drawDbgInfo();
/* 80A161F4 */ void changeBtp(int*, int*);
/* 80A16234 */ void selectAction();
/* 80A162B0 */ void chkAction(int (daNpc_Jagar_c::*)(void*));
/* 80A162DC */ void setAction(int (daNpc_Jagar_c::*)(void*));
/* 80A16384 */ void cutClimbUp(int);
/* 80A16544 */ void cutNeedYourHelp(int);
/* 80A16CD8 */ void cutAnger(int);
/* 80A16EFC */ void cutConversationWithBou(int);
/* 80A1705C */ void cutConfidentialConversation(int);
/* 80A173D8 */ void cutFindWolf(int);
/* 80A17898 */ void chkSitMotion();
/* 80A17924 */ void chkSitMotion2();
/* 80A17984 */ void chkChuMotion();
/* 80A179F8 */ void chkToMotion();
/* 80A17A2C */ void wait(void*);
/* 80A1856C */ void talkwithBou(void*);
/* 80A18B74 */ void talk(void*);
/* 80A1A194 */ daNpc_Jagar_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**);
/* 80A16234 */ int selectAction();
/* 80A162B0 */ int chkAction(int (daNpc_Jagar_c::*)(void*));
/* 80A162DC */ int setAction(int (daNpc_Jagar_c::*)(void*));
/* 80A16384 */ int cutClimbUp(int);
/* 80A16544 */ int cutNeedYourHelp(int);
/* 80A16CD8 */ int cutAnger(int);
/* 80A16EFC */ int cutConversationWithBou(int);
/* 80A1705C */ int cutConfidentialConversation(int);
/* 80A173D8 */ int cutFindWolf(int);
/* 80A17898 */ int chkSitMotion();
/* 80A17924 */ int chkSitMotion2();
/* 80A17984 */ int chkChuMotion();
/* 80A179F8 */ int chkToMotion();
/* 80A17A2C */ int wait(void*);
/* 80A1856C */ int talkwithBou(void*);
/* 80A18B74 */ int talk(void*);
/* 80A1A194 */ daNpc_Jagar_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)
{}
/* 80A1A274 */ s32 getEyeballMaterialNo();
/* 80A1A27C */ s32 getHeadJointNo();
/* 80A1A284 */ s32 getNeckJointNo();
/* 80A1A28C */ bool getBackboneJointNo();
/* 80A1A294 */ void checkChangeJoint(int);
/* 80A1A2A4 */ void checkRemoveJoint(int);
/* 80A1A28C */ s32 getBackboneJointNo();
/* 80A1A294 */ int checkChangeJoint(int param_1) { return param_1 == 4; }
/* 80A1A2A4 */ int checkRemoveJoint(int param_1) { return param_1 == 8; }
/* 80A1A2B4 */ s32 getFootLJointNo();
/* 80A1A2BC */ s32 getFootRJointNo();

static void* mCutNameList[7];
static u8 mCutList[84];
int getFlowNodeNo() {
u16 nodeNo = home.angle.x;
if (nodeNo == 0xffff) {
return -1;
}
return nodeNo;
}

u8 getPathID() { return (fopAcM_GetParam(this) & 0xff00) >> 8; }

static char* mCutNameList[7];
static cutFunc mCutList[7];
private:
/* 0x568 */ u8 field_0x568[0x100c - 0x568];
/* 0x0E44 */ dCcD_Cyl mCyl1;
/* 0x0F80 */ u8 mType;
/* 0x0F84 */ daNpcT_ActorMngr_c mActorMngr[5];
/* 0x0FD4 */ actionFunc field_0xfd4;
/* 0x0FE0 */ actionFunc field_0xfe0;
/* 0x0FE4 */ actionFunc field_0xfe4;
/* 0x0FEC */ int field_0xfec;
/* 0x0FF0 */ int field_0xff0;
/* 0x0FF4 */ int field_0xff4;
/* 0x1001 */ u8 field_0x1001;
/* 0x1002 */ u8 field_0x1002; // Not sure if u8
/* 0x1003 */ u8 field_0x1003; // CutAnger u8
/* 0x1004 */ u8 field_0x1004;
/* 0x1008 */ int field_0x1008;
};

STATIC_ASSERT(sizeof(daNpc_Jagar_c) == 0x100c);
// STATIC_ASSERT(sizeof(daNpc_Jagar_c) == 0x100c);

class daNpc_Jagar_Param_c {
public:
/* 80A1A2C4 */ ~daNpc_Jagar_Param_c();
/* 80A1A2C4 */ virtual ~daNpc_Jagar_Param_c() {}

static u8 const m[160];
struct param {
/* 0x00 */ f32 field_0x00; // 170.0f
/* 0x04 */ f32 field_0x04; // -3.0f
/* 0x08 */ f32 field_0x08; // 1.0f
/* 0x0C */ f32 field_0x0c; // 400.0f
/* 0x10 */ f32 field_0x10; // 255.0f
/* 0x14 */ f32 field_0x14; // 160.0f
/* 0x18 */ f32 field_0x18; // 35.0f
/* 0x1C */ f32 field_0x1c; // 30.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;
/* 0x4A */ s16 field_0x4a;
/* 0x4C */ s16 field_0x4c;
/* 0x4E */ s16 field_0x4e;
/* 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; // 1400.0f
/* 0x90 */ f32 field_0x90; // 200.0f
/* 0x94 */ f32 field_0x94; // -800.0f
/* 0x98 */ f32 field_0x98; // 16.0f
/* 0x9C */ f32 field_0x9c; // 1800.0f

};
static daNpc_Jagar_Param_c::param const m;
};

#endif /* D_A_NPC_JAGAR_H */
2 changes: 2 additions & 0 deletions include/d/actor/d_a_player.h
Original file line number Diff line number Diff line change
Expand Up @@ -1102,6 +1102,8 @@ class daPy_py_c : public fopAc_ac_c {
onNoResetFlg3(FLG3_UNK_200000);
}

BOOL checkClimbEndHang() { return checkResetFlg0(RFLG0_UNK_40000); }

static daMidna_c* m_midnaActor;
};

Expand Down
2 changes: 1 addition & 1 deletion src/d/actor/d_a_alink.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10309,7 +10309,7 @@ void daAlink_c::setBgCheckParam() {
mAcchCir[0].SetWallH(-50.0f);
mAcchCir[1].SetWallH(-25.0f);
mAcchCir[2].SetWallH(0.0f);
mAcchCir[0].SetWallR(35.0f);
mAcchCir[0].35.0f);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

accident?

Copy link
Copy Markdown
Contributor Author

@carter-ktb21 carter-ktb21 Feb 23, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah I fixed it in a branch but forgot to merge that change before making the pull request. Let me merge a couple cleanup things and try again.

} else if (checkModeFlg(0x1000000)) {
if (mProcID == PROC_WOLF_LIE_AUTO_MOVE) {
mAcchCir[0].SetWallR(11.655f);
Expand Down
17 changes: 15 additions & 2 deletions src/d/actor/d_a_npc_bou.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1088,8 +1088,21 @@ void daNpc_Bou_c::getCowP() {
}

/* 8096DA78-8096DADC 000BD8 0064+00 1/1 0/0 2/2 .text getType__11daNpc_Bou_cFv */
void daNpc_Bou_c::getType() {
// NONMATCHING
u8 daNpc_Bou_c::getType() {
switch ((u8)fopAcM_GetParam(this)) {
case 0:
return TYPE_0;
case 1:
return TYPE_1;
case 2:
return TYPE_2;
case 3:
return TYPE_3;
case 4:
return TYPE_4;
default:
return TYPE_5;
}
}

/* 8096DADC-8096DBBC 000C3C 00E0+00 1/1 0/0 0/0 .text isDelete__11daNpc_Bou_cFv */
Expand Down
Loading