Skip to content

Commit f853f9f

Browse files
committed
npc_tkj done
1 parent 4b729b0 commit f853f9f

File tree

3 files changed

+618
-1097
lines changed

3 files changed

+618
-1097
lines changed

configure.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1609,7 +1609,7 @@ def MatchingFor(*versions) -> bool:
16091609
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_npc_kolin"),
16101610
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_npc_maro"),
16111611
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_npc_taro"),
1612-
ActorRel(NonMatching, "d_a_npc_tkj"),
1612+
ActorRel(MatchingFor("GZ2E01"), "d_a_npc_tkj"),
16131613
ActorRel(NonMatching, "d_a_obj_bhashi"),
16141614
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_bkdoor"),
16151615
ActorRel(NonMatching, "d_a_obj_bosswarp"),

include/d/actor/d_a_npc_tkj.h

Lines changed: 65 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -11,61 +11,84 @@
1111
* @details
1212
*
1313
*/
14-
class daNpcTkj_c : public fopAc_ac_c {
14+
class daNpcTkj_c : public daNpcT_c {
1515
public:
16-
/* 8057372C */ ~daNpcTkj_c();
17-
/* 80573850 */ void create();
18-
/* 80573B18 */ void CreateHeap();
19-
/* 80573F68 */ void Delete();
20-
/* 80573F9C */ void Execute();
21-
/* 80573FBC */ void Draw();
22-
/* 80574058 */ void createHeapCallBack(fopAc_ac_c*);
23-
/* 80574078 */ void ctrlJointCallBack(J3DJoint*, int);
24-
/* 805740D0 */ void getType();
25-
/* 80574108 */ void getFlowNodeNo();
26-
/* 80574124 */ void isDelete();
16+
typedef int (daNpcTkj_c::*ActionFunc)(void*);
17+
18+
/* 80573850 */ int create();
19+
/* 80573B18 */ int CreateHeap();
20+
/* 80573F68 */ int Delete();
21+
/* 80573F9C */ int Execute();
22+
/* 80573FBC */ int Draw();
23+
/* 80574058 */ static int createHeapCallBack(fopAc_ac_c*);
24+
/* 80574078 */ static int ctrlJointCallBack(J3DJoint*, int);
25+
/* 805740D0 */ int getType();
26+
/* 80574108 */ int getFlowNodeNo();
27+
/* 80574124 */ int isDelete();
2728
/* 8057413C */ void reset();
28-
/* 80574268 */ void setAfterTalkMotion();
2929
/* 805742C8 */ void srchActors();
30-
/* 805742D4 */ void evtTalk();
31-
/* 805743B8 */ void evtCutProc();
32-
/* 8057449C */ void action();
33-
/* 80574524 */ void setAttnPos();
34-
/* 80574770 */ void setCollision();
35-
/* 80574850 */ bool drawDbgInfo();
36-
/* 80574858 */ void selectAction();
37-
/* 805748A8 */ void chkAction(int (daNpcTkj_c::*)(void*));
38-
/* 805748D4 */ void setAction(int (daNpcTkj_c::*)(void*));
39-
/* 8057497C */ void wait(void*);
40-
/* 80574B30 */ void talk(void*);
41-
/* 80574D28 */ void cutLv7Start(int);
42-
/* 80575280 */ void setParam();
43-
/* 8057538C */ void beforeMove();
44-
/* 805763B0 */ daNpcTkj_c(daNpcT_faceMotionAnmData_c const*, daNpcT_motionAnmData_c const*,
45-
daNpcT_MotionSeqMngr_c::sequenceStepData_c const*, int,
46-
daNpcT_MotionSeqMngr_c::sequenceStepData_c const*, int,
47-
daNpcT_evtData_c const*, char**);
48-
/* 805764EC */ u16 getEyeballMaterialNo();
49-
/* 805764F4 */ s32 getHeadJointNo();
50-
/* 805764FC */ s32 getNeckJointNo();
51-
/* 80576504 */ s32 getBackboneJointNo();
52-
/* 8057650C */ void checkChangeJoint(int);
53-
/* 8057651C */ void checkRemoveJoint(int);
30+
/* 80574858 */ int selectAction();
31+
/* 805748A8 */ BOOL chkAction(ActionFunc);
32+
/* 805748D4 */ int setAction(ActionFunc);
33+
/* 8057497C */ int wait(void*);
34+
/* 80574B30 */ int talk(void*);
35+
/* 80574D28 */ int cutLv7Start(int);
36+
37+
/* 805763B0 */ daNpcTkj_c(daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData,
38+
daNpcT_motionAnmData_c const* i_motionAnmData,
39+
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
40+
int i_faceMotionStepNum,
41+
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum,
42+
daNpcT_evtData_c const* i_evtData, char** i_arcNames)
43+
: daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
44+
i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
45+
i_arcNames)
46+
{
47+
OS_REPORT("|%06d:%x|daNpcTkj_c -> コンストラクト\n", g_Counter.mCounter0, this);
48+
}
49+
50+
/* 8057372C */ virtual ~daNpcTkj_c();
51+
/* 8057650C */ virtual BOOL checkChangeJoint(int i_jointNo) { return i_jointNo == 17; }
52+
/* 8057651C */ virtual BOOL checkRemoveJoint(int i_jointNo) { return i_jointNo == 19; }
53+
/* 80576504 */ virtual s32 getBackboneJointNo() { return 15; }
54+
/* 805764FC */ virtual s32 getNeckJointNo() { return 16; }
55+
/* 805764F4 */ virtual s32 getHeadJointNo() { return 17; }
56+
/* 805764EC */ virtual u16 getEyeballMaterialNo() { return 2; }
57+
/* 80575280 */ virtual inline void setParam();
58+
/* 805742D4 */ virtual BOOL evtTalk();
59+
/* 805743B8 */ virtual BOOL evtCutProc();
60+
/* 80574268 */ virtual void setAfterTalkMotion();
61+
/* 8057449C */ virtual void action();
62+
/* 8057538C */ virtual inline void beforeMove();
63+
/* 80574524 */ virtual void setAttnPos();
64+
/* 80574770 */ virtual void setCollision();
65+
/* 80574850 */ virtual int drawDbgInfo();
5466

55-
static void* mCutNameList[2];
56-
static u8 mCutList[24];
67+
int getPath() { return (fopAcM_GetParam(this) & 0xFF00) >> 8; }
68+
69+
static char* mCutNameList[2];
70+
static int (daNpcTkj_c::*mCutList[])(int);
5771

5872
private:
59-
/* 0x568 */ u8 field_0x568[0xfa4 - 0x568];
73+
/* 0xE40 */ u8 field_0xE40[0xE44 - 0xE40];
74+
/* 0xE44 */ dCcD_Cyl mCcCyl;
75+
/* 0xF80 */ u8 mType;
76+
/* 0xF84 */ ActionFunc field_0xf84;
77+
/* 0xF90 */ ActionFunc mAction;
78+
/* 0xF9C */ u8 field_0xf9c;
79+
/* 0xFA0 */ int mItemNo;
6080
};
6181

6282
STATIC_ASSERT(sizeof(daNpcTkj_c) == 0xfa4);
6383

84+
struct daNpc_Tkj_HIOParam {
85+
/* 0x00 */ daNpcT_HIOParam common;
86+
};
6487
class daNpc_Tkj_Param_c {
6588
public:
66-
/* 8057652C */ ~daNpc_Tkj_Param_c();
89+
/* 8057652C */ virtual ~daNpc_Tkj_Param_c() {}
6790

68-
static u8 const m[140];
91+
static const daNpc_Tkj_HIOParam m;
6992
};
7093

7194
#endif /* D_A_NPC_TKJ_H */

0 commit comments

Comments
 (0)