mirror of https://github.com/zeldaret/tp.git
d_a_npc_pachi_taro and d_a_npc_pachi_maro matching (#2824)
* solid progress * almost matching * pachi_taro matching * pachi_maro matching
This commit is contained in:
parent
7eff24706b
commit
9d325bfb29
|
|
@ -1909,8 +1909,8 @@ config.libs = [
|
|||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_ne"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01", "ShieldD"), "d_a_npc_p2"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_pachi_besu"),
|
||||
ActorRel(NonMatching, "d_a_npc_pachi_maro"),
|
||||
ActorRel(NonMatching, "d_a_npc_pachi_taro"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_pachi_maro"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_pachi_taro"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_passer"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_passer2"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_post"),
|
||||
|
|
|
|||
|
|
@ -126,6 +126,13 @@ public:
|
|||
int getPathID() { return (fopAcM_GetParam(this) & 0xFF00) >> 8; }
|
||||
int getBitSW() { return (fopAcM_GetParam(this) & 0xFF0000) >> 16; }
|
||||
void setFMotion_None() { mFMotion = 0; }
|
||||
void setFMotion_Hit() { mFMotion = 1; }
|
||||
void setFMotion_Mad() { mFMotion = 2; }
|
||||
void setFMotion_LookBros() { mFMotion = 3; }
|
||||
void setFMotion_LookNone() { mFMotion = 4; }
|
||||
void talkOff() { mTalk = 0; }
|
||||
void setTagPos(cXyz const& i_pos) { mTagPos = i_pos; }
|
||||
void setLookPos(cXyz const& i_pos) { mLookPos = i_pos; }
|
||||
|
||||
static char* mCutNameList[11];
|
||||
static cutFunc mCutList[11];
|
||||
|
|
@ -134,9 +141,9 @@ private:
|
|||
/* 0xE40 */ daNpc_Pachi_Besu_HIO_c* mHIO;
|
||||
/* 0xE44 */ dCcD_Cyl mCyl;
|
||||
/* 0xF80 */ u8 mType;
|
||||
/* 0xF81 */ u8 field_0xf81;
|
||||
/* 0xF84 */ cXyz field_0xf84;
|
||||
/* 0xF90 */ cXyz field_0xf90;
|
||||
/* 0xF81 */ u8 mTalk;
|
||||
/* 0xF84 */ cXyz mTagPos;
|
||||
/* 0xF90 */ cXyz mLookPos;
|
||||
/* 0xF9C */ u16 field_0xf9c;
|
||||
/* 0xF9E */ u8 mFMotion;
|
||||
/* 0xFA0 */ daNpcT_ActorMngr_c mActorMngrs[2];
|
||||
|
|
|
|||
|
|
@ -10,100 +10,199 @@
|
|||
*
|
||||
* @details
|
||||
*
|
||||
*/
|
||||
class daNpc_Pachi_Maro_c : public fopAc_ac_c {
|
||||
*/
|
||||
|
||||
struct daNpc_Pachi_Maro_HIOParam {
|
||||
/* 0x00 */ daNpcT_HIOParam common;
|
||||
/* 0x8C */ s16 field_0x8c;
|
||||
};
|
||||
|
||||
class daNpc_Pachi_Maro_Param_c {
|
||||
public:
|
||||
/* 80A9B820 */ virtual ~daNpc_Pachi_Maro_Param_c() {}
|
||||
|
||||
static daNpc_Pachi_Maro_HIOParam const m;
|
||||
};
|
||||
|
||||
#if DEBUG
|
||||
class daNpc_Pachi_Maro_HIO_c : public mDoHIO_entry_c {
|
||||
public:
|
||||
daNpc_Pachi_Maro_HIO_c();
|
||||
void listenPropertyEvent(const JORPropertyEvent*);
|
||||
void genMessage(JORMContext*);
|
||||
|
||||
/* 0x8 */ daNpc_Pachi_Maro_HIOParam m;
|
||||
};
|
||||
#define NPC_PACHI_MARO_HIO_CLASS daNpc_Pachi_Maro_HIO_c
|
||||
#else
|
||||
#define NPC_PACHI_MARO_HIO_CLASS daNpc_Pachi_Maro_Param_c
|
||||
#endif
|
||||
|
||||
class daNpc_Pachi_Maro_c : public daNpcT_c {
|
||||
public:
|
||||
enum Material {
|
||||
/* 0x0 */ MAT_SC_EYE,
|
||||
/* 0x1 */ MAT_MARO_EYBALL_M,
|
||||
/* 0x2 */ MAT_MARO_FACE_M,
|
||||
/* 0x3 */ MAT_MARO_M,
|
||||
};
|
||||
|
||||
enum Joint {
|
||||
/* 0x00 */ JNT_CENTER,
|
||||
/* 0x01 */ JNT_BACKBONE1,
|
||||
/* 0x02 */ JNT_BACKBONE2,
|
||||
/* 0x03 */ JNT_NECK,
|
||||
/* 0x04 */ JNT_HEAD,
|
||||
/* 0x05 */ JNT_CHIN,
|
||||
/* 0x06 */ JNT_MOUTH,
|
||||
/* 0x07 */ JNT_SHOULDERL,
|
||||
/* 0x08 */ JNT_ARML1,
|
||||
/* 0x09 */ JNT_ARML2,
|
||||
/* 0x0A */ JNT_HANDL,
|
||||
/* 0x0B */ JNT_FINGERL,
|
||||
/* 0x0C */ JNT_SHOULDERR,
|
||||
/* 0x0D */ JNT_ARMR1,
|
||||
/* 0x0E */ JNT_ARMR2,
|
||||
/* 0x0F */ JNT_HANDR,
|
||||
/* 0x10 */ JNT_FINGERR,
|
||||
/* 0x11 */ JNT_WAIST,
|
||||
/* 0x12 */ JNT_LEGL1,
|
||||
/* 0x13 */ JNT_LEGL2,
|
||||
/* 0x14 */ JNT_FOOTL,
|
||||
/* 0x15 */ JNT_LEGR1,
|
||||
/* 0x16 */ JNT_FOOTR,
|
||||
};
|
||||
|
||||
typedef int (daNpc_Pachi_Maro_c::*actionFunc)(void*);
|
||||
typedef int (daNpc_Pachi_Maro_c::*cutFunc)(int);
|
||||
|
||||
/* 80A97C8C */ ~daNpc_Pachi_Maro_c();
|
||||
/* 80A97DC4 */ void create();
|
||||
/* 80A9809C */ void CreateHeap();
|
||||
/* 80A984DC */ void Delete();
|
||||
/* 80A98510 */ void Execute();
|
||||
/* 80A98530 */ void Draw();
|
||||
/* 80A985C4 */ void createHeapCallBack(fopAc_ac_c*);
|
||||
/* 80A985E4 */ void ctrlJointCallBack(J3DJoint*, int);
|
||||
/* 80A9863C */ void getType();
|
||||
/* 80A9865C */ void isDelete();
|
||||
/* 80A97DC4 */ cPhs__Step create();
|
||||
/* 80A9809C */ int CreateHeap();
|
||||
/* 80A984DC */ int Delete();
|
||||
/* 80A98510 */ int Execute();
|
||||
/* 80A98530 */ int Draw();
|
||||
/* 80A985C4 */ static int createHeapCallBack(fopAc_ac_c*);
|
||||
/* 80A985E4 */ static int ctrlJointCallBack(J3DJoint*, int);
|
||||
/* 80A9863C */ u8 getType();
|
||||
/* 80A9865C */ BOOL isDelete();
|
||||
/* 80A9867C */ void reset();
|
||||
/* 80A987F4 */ void afterJntAnm(int);
|
||||
/* 80A98870 */ void setParam();
|
||||
/* 80A9896C */ bool checkChangeEvt();
|
||||
/* 80A9896C */ BOOL checkChangeEvt();
|
||||
/* 80A98974 */ void setAfterTalkMotion();
|
||||
/* 80A98A10 */ void srchActors();
|
||||
/* 80A98A98 */ void evtTalk();
|
||||
/* 80A98B9C */ void evtCutProc();
|
||||
/* 80A98A98 */ BOOL evtTalk();
|
||||
/* 80A98B9C */ BOOL evtCutProc();
|
||||
/* 80A98C64 */ void action();
|
||||
/* 80A98DE8 */ void beforeMove();
|
||||
/* 80A98E60 */ void afterMoved();
|
||||
/* 80A98FB4 */ void setAttnPos();
|
||||
/* 80A9928C */ void setCollision();
|
||||
/* 80A99394 */ bool drawDbgInfo();
|
||||
/* 80A9939C */ void getFaceMotionAnm(daNpcT_faceMotionAnmData_c);
|
||||
/* 80A99428 */ void getMotionAnm(daNpcT_motionAnmData_c);
|
||||
/* 80A994B4 */ void selectAction();
|
||||
/* 80A99530 */ void chkAction(int (daNpc_Pachi_Maro_c::*)(void*));
|
||||
/* 80A9955C */ void setAction(int (daNpc_Pachi_Maro_c::*)(void*));
|
||||
/* 80A99604 */ void wait(void*);
|
||||
/* 80A9986C */ void talk(void*);
|
||||
/* 80A998FC */ void _turn_to_link(s16);
|
||||
/* 80A999A4 */ void _turn_pos(cXyz const&);
|
||||
/* 80A99948 */ void _turn_pos(cXyz const&, s16);
|
||||
/* 80A999E4 */ void cutTutrialBegin(int);
|
||||
/* 80A99A78 */ bool _cutTutrialBegin_Init(int const&);
|
||||
/* 80A99A80 */ bool _cutTutrialBegin_Main(int const&);
|
||||
/* 80A99A88 */ void cutTutrialBegin_Skip(int);
|
||||
/* 80A99B1C */ bool _cutTutrialBegin_Skip_Init(int const&);
|
||||
/* 80A99B24 */ bool _cutTutrialBegin_Skip_Main(int const&);
|
||||
/* 80A99B2C */ void cutTutrialClear(int);
|
||||
/* 80A99BC0 */ void _cutTutrialClear_Init(int const&);
|
||||
/* 80A99CB8 */ void _cutTutrialClear_Main(int const&);
|
||||
/* 80A99D4C */ void cutTalk(int);
|
||||
/* 80A99DE0 */ bool _cutTalk_Init(int const&);
|
||||
/* 80A99DE8 */ void _cutTalk_Main(int const&);
|
||||
/* 80A99E44 */ void cutTalk2(int);
|
||||
/* 80A99ED8 */ bool _cutTalk2_Init(int const&);
|
||||
/* 80A99EE0 */ void _cutTalk2_Main(int const&);
|
||||
/* 80A99F3C */ void cut1stHit_KakasiBody(int);
|
||||
/* 80A99FD0 */ void _cut1stHit_KakasiBody_Init(int const&);
|
||||
/* 80A9A05C */ void _cut1stHit_KakasiBody_Main(int const&);
|
||||
/* 80A9A0F0 */ void cutTutrialSelectGiveUp(int);
|
||||
/* 80A9A184 */ bool _cutTutrialSelectGiveUp_Init(int const&);
|
||||
/* 80A9A18C */ void _cutTutrialSelectGiveUp_Main(int const&);
|
||||
/* 80A9A288 */ void cutTutrialGiveUp(int);
|
||||
/* 80A9A31C */ bool _cutTutrialGiveUp_Init(int const&);
|
||||
/* 80A9A324 */ void _cutTutrialGiveUp_Main(int const&);
|
||||
/* 80A9A360 */ void cutTutrialContinue(int);
|
||||
/* 80A9A3F4 */ bool _cutTutrialContinue_Init(int const&);
|
||||
/* 80A9A3FC */ void _cutTutrialContinue_Main(int const&);
|
||||
/* 80A9A438 */ void cutTutrialCaution(int);
|
||||
/* 80A9A4CC */ bool _cutTutrialCaution_Init(int const&);
|
||||
/* 80A9A4D4 */ void _cutTutrialCaution_Main(int const&);
|
||||
/* 80A9B714 */ daNpc_Pachi_Maro_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**);
|
||||
/* 80A9B7E0 */ u16 getEyeballMaterialNo();
|
||||
/* 80A9B7E8 */ s32 getHeadJointNo();
|
||||
/* 80A9B7F0 */ s32 getNeckJointNo();
|
||||
/* 80A9B7F8 */ bool getBackboneJointNo();
|
||||
/* 80A9B800 */ void checkChangeJoint(int);
|
||||
/* 80A9B810 */ void checkRemoveJoint(int);
|
||||
/* 80A99394 */ int drawDbgInfo();
|
||||
/* 80A9939C */ daNpcT_faceMotionAnmData_c getFaceMotionAnm(daNpcT_faceMotionAnmData_c);
|
||||
/* 80A99428 */ daNpcT_motionAnmData_c getMotionAnm(daNpcT_motionAnmData_c);
|
||||
/* 80A994B4 */ BOOL selectAction();
|
||||
/* 80A99530 */ BOOL chkAction(actionFunc);
|
||||
/* 80A9955C */ BOOL setAction(actionFunc);
|
||||
/* 80A99604 */ int wait(void*);
|
||||
/* 80A9986C */ int talk(void*);
|
||||
int test(void*);
|
||||
/* 80A998FC */ BOOL _turn_to_link(s16);
|
||||
/* 80A999A4 */ BOOL _turn_pos(cXyz const&);
|
||||
/* 80A99948 */ BOOL _turn_pos(cXyz const&, s16);
|
||||
/* 80A999E4 */ BOOL cutTutrialBegin(int);
|
||||
/* 80A99A78 */ BOOL _cutTutrialBegin_Init(int const&);
|
||||
/* 80A99A80 */ BOOL _cutTutrialBegin_Main(int const&);
|
||||
/* 80A99A88 */ BOOL cutTutrialBegin_Skip(int);
|
||||
/* 80A99B1C */ BOOL _cutTutrialBegin_Skip_Init(int const&);
|
||||
/* 80A99B24 */ BOOL _cutTutrialBegin_Skip_Main(int const&);
|
||||
/* 80A99B2C */ BOOL cutTutrialClear(int);
|
||||
/* 80A99BC0 */ BOOL _cutTutrialClear_Init(int const&);
|
||||
/* 80A99CB8 */ BOOL _cutTutrialClear_Main(int const&);
|
||||
/* 80A99D4C */ BOOL cutTalk(int);
|
||||
/* 80A99DE0 */ BOOL _cutTalk_Init(int const&);
|
||||
/* 80A99DE8 */ BOOL _cutTalk_Main(int const&);
|
||||
/* 80A99E44 */ BOOL cutTalk2(int);
|
||||
/* 80A99ED8 */ BOOL _cutTalk2_Init(int const&);
|
||||
/* 80A99EE0 */ BOOL _cutTalk2_Main(int const&);
|
||||
/* 80A99F3C */ BOOL cut1stHit_KakasiBody(int);
|
||||
/* 80A99FD0 */ BOOL _cut1stHit_KakasiBody_Init(int const&);
|
||||
/* 80A9A05C */ BOOL _cut1stHit_KakasiBody_Main(int const&);
|
||||
/* 80A9A0F0 */ BOOL cutTutrialSelectGiveUp(int);
|
||||
/* 80A9A184 */ BOOL _cutTutrialSelectGiveUp_Init(int const&);
|
||||
/* 80A9A18C */ BOOL _cutTutrialSelectGiveUp_Main(int const&);
|
||||
/* 80A9A288 */ BOOL cutTutrialGiveUp(int);
|
||||
/* 80A9A31C */ BOOL _cutTutrialGiveUp_Init(int const&);
|
||||
/* 80A9A324 */ BOOL _cutTutrialGiveUp_Main(int const&);
|
||||
/* 80A9A360 */ BOOL cutTutrialContinue(int);
|
||||
/* 80A9A3F4 */ BOOL _cutTutrialContinue_Init(int const&);
|
||||
/* 80A9A3FC */ BOOL _cutTutrialContinue_Main(int const&);
|
||||
/* 80A9A438 */ BOOL cutTutrialCaution(int);
|
||||
/* 80A9A4CC */ BOOL _cutTutrialCaution_Init(int const&);
|
||||
/* 80A9A4D4 */ BOOL _cutTutrialCaution_Main(int const&);
|
||||
/* 80A9B714 */ daNpc_Pachi_Maro_c(
|
||||
daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData,
|
||||
daNpcT_motionAnmData_c const* i_motionAnmData,
|
||||
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
|
||||
int i_faceMotionStepNum,
|
||||
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData,
|
||||
int i_motionStepNum,
|
||||
daNpcT_evtData_c const* i_evtData,
|
||||
char** i_arcNames)
|
||||
: daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
|
||||
i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
|
||||
i_arcNames) {
|
||||
OS_REPORT("|%06d:%x|daNpc_Pachi_Maro_c -> コンストラクト\n", g_Counter.mCounter0, this);
|
||||
}
|
||||
/* 80A9B7E0 */ u16 getEyeballMaterialNo() { return MAT_MARO_EYBALL_M; }
|
||||
/* 80A9B7E8 */ s32 getHeadJointNo() { return JNT_HEAD; }
|
||||
/* 80A9B7F0 */ s32 getNeckJointNo() { return JNT_NECK; }
|
||||
/* 80A9B7F8 */ s32 getBackboneJointNo() { return JNT_BACKBONE1; }
|
||||
/* 80A9B800 */ BOOL checkChangeJoint(int i_joint) { return i_joint == JNT_HEAD; }
|
||||
/* 80A9B810 */ BOOL checkRemoveJoint(int i_joint) { return i_joint == JNT_MOUTH; }
|
||||
|
||||
u32 getFlowNodeNo() {
|
||||
u16 nodeNo = home.angle.x;
|
||||
u32 rv;
|
||||
if (nodeNo == 0xffff) {
|
||||
rv = -1;
|
||||
} else {
|
||||
rv = nodeNo;
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
u8 getPathID() { return (fopAcM_GetParam(this) & 0xFF00) >> 8; }
|
||||
u8 getBitSW() { return (fopAcM_GetParam(this) & 0xFF0000) >> 16; }
|
||||
u8 getMaxNumItem() { return (fopAcM_GetParam(this) & 0xF000000) >> 24; }
|
||||
u8 getGroupId() { return (fopAcM_GetParam(this) & 0xF0000000) >> 28; }
|
||||
|
||||
void talkOff() { mTalk = 0; }
|
||||
void setTagPos(cXyz const& i_pos) { mTagPos = i_pos; }
|
||||
void setLookPos(cXyz const& i_pos) { mLookPos = i_pos; }
|
||||
void setFMotion_None() { mFMotion = 0; }
|
||||
void setFMotion_Niramu_to_Besu() { mFMotion = 1; }
|
||||
void setFMotion_LookNone() { mFMotion = 2; }
|
||||
|
||||
static char* mCutNameList[11];
|
||||
static u8 mCutList[132];
|
||||
static cutFunc mCutList[11];
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0xfcc - 0x568];
|
||||
/* 0xE40 */ NPC_PACHI_MARO_HIO_CLASS* mpHIO;
|
||||
/* 0xE44 */ dCcD_Cyl mCyl;
|
||||
/* 0xF80 */ u8 mType;
|
||||
/* 0xF82 */ u16 mPrevEvtNo;
|
||||
/* 0xF84 */ u8 mTalk;
|
||||
/* 0xF85 */ u8 field_0xf85;
|
||||
/* 0xF86 */ u8 mFMotion;
|
||||
/* 0xF88 */ cXyz mTagPos;
|
||||
/* 0xF94 */ cXyz mLookPos;
|
||||
/* 0xFA0 */ daNpcT_ActorMngr_c mActorMngrs[2];
|
||||
/* 0xFB0 */ actionFunc mNextAction;
|
||||
/* 0xFBC */ actionFunc mAction;
|
||||
/* 0xFC8 */ u8 field_0xfc8;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daNpc_Pachi_Maro_c) == 0xfcc);
|
||||
|
||||
class daNpc_Pachi_Maro_Param_c {
|
||||
public:
|
||||
/* 80A9B820 */ ~daNpc_Pachi_Maro_Param_c();
|
||||
|
||||
static u8 const m[144];
|
||||
};
|
||||
|
||||
|
||||
#endif /* D_A_NPC_PACHI_MARO_H */
|
||||
|
|
|
|||
|
|
@ -10,120 +10,225 @@
|
|||
*
|
||||
* @details
|
||||
*
|
||||
*/
|
||||
class daNpc_Pachi_Taro_c : public fopAc_ac_c {
|
||||
*/
|
||||
|
||||
struct daNpc_Pachi_Taro_HIOParam {
|
||||
/* 0x0 */ daNpcT_HIOParam common;
|
||||
};
|
||||
|
||||
class daNpc_Pachi_Taro_Param_c {
|
||||
public:
|
||||
/* 80AA1598 */ virtual ~daNpc_Pachi_Taro_Param_c() {}
|
||||
|
||||
static daNpc_Pachi_Taro_HIOParam const m;
|
||||
};
|
||||
|
||||
#if DEBUG
|
||||
class daNpc_Pachi_Taro_HIO_c : public mDoHIO_entry_c {
|
||||
public:
|
||||
daNpc_Pachi_Taro_HIO_c();
|
||||
void listenPropertyEvent(const JORPropertyEvent*);
|
||||
void genMessage(JORMContext*);
|
||||
|
||||
/* 0x8 */ daNpc_Pachi_Taro_HIOParam m;
|
||||
};
|
||||
#define NPC_PACHI_TARO_HIO_CLASS daNpc_Pachi_Taro_HIO_c
|
||||
#else
|
||||
#define NPC_PACHI_TARO_HIO_CLASS daNpc_Pachi_Taro_Param_c
|
||||
#endif
|
||||
|
||||
class daNpc_Pachi_Taro_c : public daNpcT_c {
|
||||
public:
|
||||
enum Material {
|
||||
/* 0x0 */ MAT_SC_EYE,
|
||||
/* 0x1 */ MAT_TARO_BODY_M,
|
||||
/* 0x2 */ MAT_TARO_EYBALL_M,
|
||||
/* 0x3 */ MAT_TARO_FACE_M,
|
||||
};
|
||||
|
||||
enum Joint {
|
||||
/* 0x00 */ JNT_CENTER,
|
||||
/* 0x01 */ JNT_BACKBONE1,
|
||||
/* 0x02 */ JNT_BACKBONE2,
|
||||
/* 0x03 */ JNT_NECK,
|
||||
/* 0x04 */ JNT_HEAD,
|
||||
/* 0x05 */ JNT_CHINE,
|
||||
/* 0x06 */ JNT_HEADBAND,
|
||||
/* 0x07 */ JNT_MOUTH,
|
||||
/* 0x08 */ JNT_SHOULDERL,
|
||||
/* 0x09 */ JNT_ARML1,
|
||||
/* 0x0A */ JNT_ARML2,
|
||||
/* 0x0B */ JNT_HANDL,
|
||||
/* 0x0C */ JNT_SHOULDERR,
|
||||
/* 0x0D */ JNT_ARMR1,
|
||||
/* 0x0E */ JNT_ARMR2,
|
||||
/* 0x0F */ JNT_HANDR,
|
||||
/* 0x10 */ JNT_WAIST,
|
||||
/* 0x11 */ JNT_LEGL1,
|
||||
/* 0x12 */ JNT_LEGL2,
|
||||
/* 0x13 */ JNT_FOOTL,
|
||||
/* 0x14 */ JNT_LEGR1,
|
||||
/* 0x15 */ JNT_LEGR2,
|
||||
/* 0x16 */ JNT_FOOTR,
|
||||
/* 0x17 */ JNT_SKART1,
|
||||
/* 0x18 */ JNT_SKART2,
|
||||
};
|
||||
|
||||
typedef int (daNpc_Pachi_Taro_c::*actionFunc)(void*);
|
||||
typedef int (daNpc_Pachi_Taro_c::*cutFunc)(int);
|
||||
|
||||
/* 80A9C28C */ ~daNpc_Pachi_Taro_c();
|
||||
/* 80A9C3C4 */ void create();
|
||||
/* 80A9C69C */ void CreateHeap();
|
||||
/* 80A9CBD8 */ void Delete();
|
||||
/* 80A9CC0C */ void Execute();
|
||||
/* 80A9CC2C */ void Draw();
|
||||
/* 80A9CCC0 */ void createHeapCallBack(fopAc_ac_c*);
|
||||
/* 80A9CCE0 */ void ctrlJointCallBack(J3DJoint*, int);
|
||||
/* 80A9CD38 */ bool getType();
|
||||
/* 80A9CD40 */ void isDelete();
|
||||
/* 80A9C3C4 */ cPhs__Step create();
|
||||
/* 80A9C69C */ int CreateHeap();
|
||||
/* 80A9CBD8 */ int Delete();
|
||||
/* 80A9CC0C */ int Execute();
|
||||
/* 80A9CC2C */ int Draw();
|
||||
/* 80A9CCC0 */ static int createHeapCallBack(fopAc_ac_c*);
|
||||
/* 80A9CCE0 */ static int ctrlJointCallBack(J3DJoint*, int);
|
||||
/* 80A9CD38 */ u8 getType();
|
||||
/* 80A9CD40 */ BOOL isDelete();
|
||||
/* 80A9CD60 */ void reset();
|
||||
/* 80A9CF10 */ void afterJntAnm(int);
|
||||
/* 80A9CF9C */ void setParam();
|
||||
/* 80A9D098 */ bool checkChangeEvt();
|
||||
/* 80A9D098 */ BOOL checkChangeEvt();
|
||||
/* 80A9D0A0 */ void setAfterTalkMotion();
|
||||
/* 80A9D164 */ void srchActors();
|
||||
/* 80A9D27C */ void srchDistTag1();
|
||||
/* 80A9D2A8 */ void _srch_DistTag1_main(void*, void*);
|
||||
/* 80A9D310 */ void srchDistTag2();
|
||||
/* 80A9D33C */ void _srch_DistTag2_main(void*, void*);
|
||||
/* 80A9D3A4 */ void srchEscapeTag1();
|
||||
/* 80A9D3D0 */ void _srch_EscapeTag1_main(void*, void*);
|
||||
/* 80A9D438 */ void srchEscapeTag2();
|
||||
/* 80A9D464 */ void _srch_EscapeTag2_main(void*, void*);
|
||||
/* 80A9D4CC */ void evtTalk();
|
||||
/* 80A9D5D0 */ void evtCutProc();
|
||||
/* 80A9D27C */ fopAc_ac_c* srchDistTag1();
|
||||
/* 80A9D2A8 */ static void* _srch_DistTag1_main(void*, void*);
|
||||
/* 80A9D310 */ fopAc_ac_c* srchDistTag2();
|
||||
/* 80A9D33C */ static void* _srch_DistTag2_main(void*, void*);
|
||||
/* 80A9D3A4 */ fopAc_ac_c* srchEscapeTag1();
|
||||
/* 80A9D3D0 */ static void* _srch_EscapeTag1_main(void*, void*);
|
||||
/* 80A9D438 */ fopAc_ac_c* srchEscapeTag2();
|
||||
/* 80A9D464 */ static void* _srch_EscapeTag2_main(void*, void*);
|
||||
/* 80A9D4CC */ BOOL evtTalk();
|
||||
/* 80A9D5D0 */ BOOL evtCutProc();
|
||||
/* 80A9D698 */ void action();
|
||||
/* 80A9D840 */ void beforeMove();
|
||||
/* 80A9D8B8 */ void setAttnPos();
|
||||
/* 80A9DB0C */ void setCollision();
|
||||
/* 80A9DC14 */ bool drawDbgInfo();
|
||||
/* 80A9DC14 */ int drawDbgInfo();
|
||||
/* 80A9DC1C */ void drawOtherMdl();
|
||||
/* 80A9DD24 */ void selectAction();
|
||||
/* 80A9DDA0 */ void chkAction(int (daNpc_Pachi_Taro_c::*)(void*));
|
||||
/* 80A9DDCC */ void setAction(int (daNpc_Pachi_Taro_c::*)(void*));
|
||||
/* 80A9DE74 */ void wait(void*);
|
||||
/* 80A9DD24 */ BOOL selectAction();
|
||||
/* 80A9DDA0 */ BOOL chkAction(actionFunc);
|
||||
/* 80A9DDCC */ BOOL setAction(actionFunc);
|
||||
/* 80A9DE74 */ int wait(void*);
|
||||
/* 80A9E154 */ void setMesPat();
|
||||
/* 80A9E224 */ void _turn_to_link(s16);
|
||||
/* 80A9E270 */ void _turn_pos(cXyz const&, s16);
|
||||
/* 80A9E2CC */ void _turn_pos(cXyz const&);
|
||||
/* 80A9E224 */ BOOL _turn_to_link(s16);
|
||||
/* 80A9E270 */ BOOL _turn_pos(cXyz const&, s16);
|
||||
/* 80A9E2CC */ BOOL _turn_pos(cXyz const&);
|
||||
/* 80A9E30C */ void talk_cancel();
|
||||
/* 80A9E364 */ void watch_tutrial();
|
||||
/* 80A9E3E4 */ void chkDistTag();
|
||||
/* 80A9E458 */ void chkEscapeTag();
|
||||
/* 80A9E56C */ void chkTarget();
|
||||
/* 80A9E3E4 */ u16 chkDistTag();
|
||||
/* 80A9E458 */ u16 chkEscapeTag();
|
||||
/* 80A9E56C */ u16 chkTarget();
|
||||
/* 80A9E700 */ void clr_tagHit();
|
||||
/* 80A9E778 */ void allTagPosSet(cXyz const&);
|
||||
/* 80A9E80C */ void allLookPosSet(cXyz const&);
|
||||
/* 80A9E8A0 */ void talk(void*);
|
||||
/* 80A9E910 */ void evtEndProc();
|
||||
/* 80A9E9E8 */ void cutTutrialBegin(int);
|
||||
/* 80A9EAA0 */ void _cutTutrialBegin_Init(int const&);
|
||||
/* 80A9EB3C */ void _cutTutrialBegin_Main(int const&);
|
||||
/* 80A9EC5C */ void cutTutrialBegin_Skip(int);
|
||||
/* 80A9ECF0 */ void _cutTutrialBegin_Skip_Init(int const&);
|
||||
/* 80A9ED28 */ void _cutTutrialBegin_Skip_Main(int const&);
|
||||
/* 80A9ED40 */ void cutTutrialClear(int);
|
||||
/* 80A9EDD4 */ void _cutTutrialClear_Init(int const&);
|
||||
/* 80A9EEBC */ void _cutTutrialClear_Main(int const&);
|
||||
/* 80A9EFC0 */ void cutTalk(int);
|
||||
/* 80A9F0DC */ void _cutTalk_Init(int const&);
|
||||
/* 80A9F188 */ void _cutTalk_Main(int const&, int const&);
|
||||
/* 80A9F324 */ void cutTalk2(int);
|
||||
/* 80A9F440 */ void _cutTalk2_Init(int const&);
|
||||
/* 80A9F4EC */ void _cutTalk2_Main(int const&, int const&);
|
||||
/* 80A9F688 */ void cut1stHit_KakasiBody(int);
|
||||
/* 80A9F71C */ void _cut1stHit_KakasiBody_Init(int const&);
|
||||
/* 80A9F83C */ void _cut1stHit_KakasiBody_Main(int const&);
|
||||
/* 80A9F9C4 */ void cutTutrialSelectGiveUp(int);
|
||||
/* 80A9FA58 */ void _cutTutrialSelectGiveUp_Init(int const&);
|
||||
/* 80A9FB08 */ void _cutTutrialSelectGiveUp_Main(int const&);
|
||||
/* 80A9FCEC */ void cutTutrialGiveUp(int);
|
||||
/* 80A9FD80 */ void _cutTutrialGiveUp_Init(int const&);
|
||||
/* 80A9FE34 */ void _cutTutrialGiveUp_Main(int const&);
|
||||
/* 80A9FFAC */ void cutTutrialCaution(int);
|
||||
/* 80AA0040 */ void _cutTutrialCaution_Init(int const&);
|
||||
/* 80AA0088 */ void _cutTutrialCaution_Main(int const&);
|
||||
/* 80AA0108 */ void cutTutrialContinue(int);
|
||||
/* 80AA019C */ bool _cutTutrialContinue_Init(int const&);
|
||||
/* 80AA01A4 */ void _cutTutrialContinue_Main(int const&);
|
||||
/* 80AA148C */ daNpc_Pachi_Taro_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**);
|
||||
/* 80AA1558 */ u16 getEyeballMaterialNo();
|
||||
/* 80AA1560 */ s32 getHeadJointNo();
|
||||
/* 80AA1568 */ s32 getNeckJointNo();
|
||||
/* 80AA1570 */ bool getBackboneJointNo();
|
||||
/* 80AA1578 */ void checkChangeJoint(int);
|
||||
/* 80AA1588 */ void checkRemoveJoint(int);
|
||||
/* 80A9E8A0 */ int talk(void*);
|
||||
int test(void*);
|
||||
/* 80A9E910 */ BOOL evtEndProc();
|
||||
/* 80A9E9E8 */ int cutTutrialBegin(int);
|
||||
/* 80A9EAA0 */ int _cutTutrialBegin_Init(int const&);
|
||||
/* 80A9EB3C */ int _cutTutrialBegin_Main(int const&);
|
||||
/* 80A9EC5C */ int cutTutrialBegin_Skip(int);
|
||||
/* 80A9ECF0 */ int _cutTutrialBegin_Skip_Init(int const&);
|
||||
/* 80A9ED28 */ int _cutTutrialBegin_Skip_Main(int const&);
|
||||
/* 80A9ED40 */ int cutTutrialClear(int);
|
||||
/* 80A9EDD4 */ int _cutTutrialClear_Init(int const&);
|
||||
/* 80A9EEBC */ int _cutTutrialClear_Main(int const&);
|
||||
/* 80A9EFC0 */ int cutTalk(int);
|
||||
/* 80A9F0DC */ int _cutTalk_Init(int const&);
|
||||
/* 80A9F188 */ int _cutTalk_Main(int const&, int const&);
|
||||
/* 80A9F324 */ int cutTalk2(int);
|
||||
/* 80A9F440 */ int _cutTalk2_Init(int const&);
|
||||
/* 80A9F4EC */ int _cutTalk2_Main(int const&, int const&);
|
||||
/* 80A9F688 */ int cut1stHit_KakasiBody(int);
|
||||
/* 80A9F71C */ int _cut1stHit_KakasiBody_Init(int const&);
|
||||
/* 80A9F83C */ int _cut1stHit_KakasiBody_Main(int const&);
|
||||
/* 80A9F9C4 */ int cutTutrialSelectGiveUp(int);
|
||||
/* 80A9FA58 */ int _cutTutrialSelectGiveUp_Init(int const&);
|
||||
/* 80A9FB08 */ int _cutTutrialSelectGiveUp_Main(int const&);
|
||||
/* 80A9FCEC */ int cutTutrialGiveUp(int);
|
||||
/* 80A9FD80 */ int _cutTutrialGiveUp_Init(int const&);
|
||||
/* 80A9FE34 */ int _cutTutrialGiveUp_Main(int const&);
|
||||
/* 80A9FFAC */ int cutTutrialCaution(int);
|
||||
/* 80AA0040 */ int _cutTutrialCaution_Init(int const&);
|
||||
/* 80AA0088 */ int _cutTutrialCaution_Main(int const&);
|
||||
/* 80AA0108 */ int cutTutrialContinue(int);
|
||||
/* 80AA019C */ int _cutTutrialContinue_Init(int const&);
|
||||
/* 80AA01A4 */ int _cutTutrialContinue_Main(int const&);
|
||||
/* 80AA148C */ daNpc_Pachi_Taro_c(
|
||||
daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData,
|
||||
daNpcT_motionAnmData_c const* i_motionAnmData,
|
||||
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
|
||||
int i_faceMotionStepNum,
|
||||
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData,
|
||||
int i_motionStepNum,
|
||||
daNpcT_evtData_c const* i_evtData,
|
||||
char** i_arcNames)
|
||||
: daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
|
||||
i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
|
||||
i_arcNames) {
|
||||
OS_REPORT("|%06d:%x|daNpc_Pachi_Taro_c -> コンストラクト\n", g_Counter.mCounter0, this);
|
||||
}
|
||||
/* 80AA1558 */ u16 getEyeballMaterialNo() { return MAT_TARO_EYBALL_M; }
|
||||
/* 80AA1560 */ s32 getHeadJointNo() { return JNT_HEAD; }
|
||||
/* 80AA1568 */ s32 getNeckJointNo() { return JNT_NECK; }
|
||||
/* 80AA1570 */ s32 getBackboneJointNo() { return JNT_BACKBONE1; }
|
||||
/* 80AA1578 */ BOOL checkChangeJoint(int i_joint) { return i_joint == JNT_HEAD; }
|
||||
/* 80AA1588 */ BOOL checkRemoveJoint(int i_joint) { return i_joint == JNT_MOUTH; }
|
||||
|
||||
u32 getFlowNodeNo() {
|
||||
u16 nodeNo = home.angle.x;
|
||||
u32 rv;
|
||||
if (nodeNo == 0xffff) {
|
||||
rv = -1;
|
||||
} else {
|
||||
rv = nodeNo;
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
u8 getPathID() { return (fopAcM_GetParam(this) & 0xFF00) >> 8; }
|
||||
u8 getBitSW() { return (fopAcM_GetParam(this) & 0xFF0000) >> 16; }
|
||||
u8 getBitSW2() { return (fopAcM_GetParam(this) & 0xFF000000) >> 24; }
|
||||
void clrMesPat() { mMesPat = -1; }
|
||||
void setTagPos(cXyz const& i_pos) { mTagPos = i_pos; }
|
||||
void setLookPos(cXyz const& i_pos) { mLookPos = i_pos; }
|
||||
|
||||
static char* mCutNameList[11];
|
||||
static u8 mCutList[132];
|
||||
static cutFunc mCutList[11];
|
||||
|
||||
private:
|
||||
/* 0x0568 */ u8 field_0x568[0xfe8 - 0x568];
|
||||
/* 0x0E40 */ NPC_PACHI_TARO_HIO_CLASS* mpHIO;
|
||||
/* 0x0E44 */ J3DModel* mpModels[2];
|
||||
/* 0x0E4C */ dCcD_Cyl mCyl;
|
||||
/* 0x0F88 */ u8 mType;
|
||||
/* 0x0F8C */ daNpcT_ActorMngr_c mActorMngrs[6];
|
||||
/* 0x0FBC */ actionFunc mNextAction;
|
||||
/* 0x0FC8 */ actionFunc mAction;
|
||||
/* 0x0FD4 */ int field_0xfd4;
|
||||
/* 0x0FD8 */ u8 field_0xfd8[0xfda - 0xfd8];
|
||||
/* 0x0FDA */ s16 field_0xfda;
|
||||
/* 0x0FDC */ u16 mPrevEvtNo;
|
||||
/* 0x0FDE */ u8 field_0xfde;
|
||||
/* 0x0FDF */ u8 field_0xfdf;
|
||||
/* 0x0FE0 */ u8 field_0xfe0;
|
||||
/* 0x0FE1 */ u8 mHitMsgIdx;
|
||||
/* 0x0FE2 */ u8 field_0xfe2;
|
||||
/* 0x0FE3 */ u8 field_0xfe3;
|
||||
/* 0x0FE4 */ u8 field_0xfe4[0xfe8 - 0xfe4];
|
||||
/* 0x0FE8 */ s8 mMesPat;
|
||||
/* 0x0FEC */ u8 field_0xfec[0x100c - 0xfec];
|
||||
/* 0x0FEC */ cXyz mTagPos;
|
||||
/* 0x0FF8 */ cXyz mLookPos;
|
||||
/* 0x1004 */ u8 field_0x1004;
|
||||
/* 0x1005 */ u8 field_0x1005;
|
||||
/* 0x1006 */ u8 field_0x1006;
|
||||
/* 0x1007 */ u8 field_0x1007;
|
||||
/* 0x1008 */ u8 field_0x1008;
|
||||
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daNpc_Pachi_Taro_c) == 0x100c);
|
||||
|
||||
class daNpc_Pachi_Taro_Param_c {
|
||||
public:
|
||||
/* 80AA1598 */ ~daNpc_Pachi_Taro_Param_c();
|
||||
|
||||
static u8 const m[140];
|
||||
};
|
||||
|
||||
|
||||
#endif /* D_A_NPC_PACHI_TARO_H */
|
||||
|
|
|
|||
|
|
@ -20,6 +20,16 @@ public:
|
|||
return retVal;
|
||||
}
|
||||
|
||||
BOOL isDistChkTag1() { return field_0x6E0 == 0; }
|
||||
BOOL isDistChkTag2() { return field_0x6E0 == 1; }
|
||||
BOOL isEscapeChkTag1() { return field_0x6E0 == 2; }
|
||||
BOOL isEscapeChkTag2() { return field_0x6E0 == 3; }
|
||||
BOOL is_CoHit() const { return field_0x6E4; }
|
||||
void clr_CoHit() {
|
||||
mCyl.ClrCoHit();
|
||||
field_0x6E4 = 0;
|
||||
}
|
||||
|
||||
/* 0x568 */ dCcD_Cyl mCyl;
|
||||
/* 0x6A4 */ dCcD_Stts mStts;
|
||||
/* 0x6E0 */ u32 field_0x6E0;
|
||||
|
|
|
|||
|
|
@ -1054,7 +1054,7 @@ BOOL daNpc_Pachi_Besu_c::wait(void* param_1) {
|
|||
switch (mMode) {
|
||||
case MODE_ENTER:
|
||||
case MODE_INIT:
|
||||
field_0xf81 = 0;
|
||||
mTalk = 0;
|
||||
|
||||
if (!mStagger.checkStagger()) {
|
||||
mFaceMotionSeqMngr.setNo(FACE_MOT_NONE, -1.0f, FALSE, 0);
|
||||
|
|
@ -1063,7 +1063,7 @@ BOOL daNpc_Pachi_Besu_c::wait(void* param_1) {
|
|||
}
|
||||
// fallthrough
|
||||
case MODE_RUN:
|
||||
field_0xf81 = 0;
|
||||
mTalk = 0;
|
||||
|
||||
if (!mStagger.checkStagger()) {
|
||||
fopAc_ac_c* actor_p = mPlayerActorMngr.getActorP();
|
||||
|
|
@ -1446,8 +1446,8 @@ BOOL daNpc_Pachi_Besu_c::_cutTutrialSelectGiveUp_Main(int const& i_cutId) {
|
|||
|
||||
switch (i_cutId) {
|
||||
case 10:
|
||||
if (_turn_pos(field_0xf84)) {
|
||||
mJntAnm.lookPos(&field_0xf90, 1);
|
||||
if (_turn_pos(mTagPos)) {
|
||||
mJntAnm.lookPos(&mLookPos, 1);
|
||||
rv = TRUE;
|
||||
}
|
||||
break;
|
||||
|
|
@ -1531,7 +1531,7 @@ BOOL daNpc_Pachi_Besu_c::_cutTutrialContinue_Init(int const& i_cutId) {
|
|||
BOOL daNpc_Pachi_Besu_c::_cutTutrialContinue_Main(int const& i_cutId) {
|
||||
switch (i_cutId) {
|
||||
case 10:
|
||||
_turn_pos(field_0xf84, 0x1000);
|
||||
_turn_pos(mTagPos, 0x1000);
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue