mirror of https://github.com/zeldaret/tp.git
Work on d_a_npc_taro (#2386)
This commit is contained in:
parent
3d2942960d
commit
c7eb18a8bd
|
|
@ -294,8 +294,8 @@ public:
|
|||
|
||||
void initialize() {
|
||||
for (int i = 0; i < 2; i++) {
|
||||
field_0x0[i].setall(0);
|
||||
field_0xc[i] = 0.0f;
|
||||
mAngle[i].setall(0);
|
||||
mPower[i] = 0.0f;
|
||||
}
|
||||
mStagger = 0;
|
||||
field_0x16 = 0;
|
||||
|
|
@ -304,19 +304,17 @@ public:
|
|||
|
||||
int checkStagger() { return mStagger != 0; }
|
||||
|
||||
s16 getAngleX(int idx) { return field_0x0[idx].x; }
|
||||
s16 getAngleZ(int idx) { return field_0x0[idx].z; }
|
||||
s16 getAngleX(int idx) { return mAngle[idx].x; }
|
||||
s16 getAngleZ(int idx) { return mAngle[idx].z; }
|
||||
int checkRebirth() { return mRebirth; }
|
||||
|
||||
void setPower(f32 mPower) {
|
||||
void setPower(f32 power) {
|
||||
for (int i = 0; i < 2; i++) {
|
||||
field_0xc[i] = mPower;
|
||||
mPower[i] = power;
|
||||
}
|
||||
}
|
||||
|
||||
private:
|
||||
/* 0x00 */ csXyz field_0x0[2];
|
||||
/* 0x0C */ f32 field_0xc[2];
|
||||
/* 0x00 */ csXyz mAngle[2];
|
||||
/* 0x0C */ f32 mPower[2];
|
||||
/* 0x14 */ s16 mStagger;
|
||||
/* 0x16 */ s16 field_0x16;
|
||||
/* 0x18 */ bool mRebirth;
|
||||
|
|
@ -508,7 +506,7 @@ public:
|
|||
/* 0xE20 */ u16 mBckLoops;
|
||||
/* 0xE22 */ u16 mMode;
|
||||
/* 0xE24 */ s8 mReverb;
|
||||
/* 0xE25 */ bool mHide;
|
||||
/* 0xE25 */ u8 mHide;
|
||||
/* 0xE26 */ bool field_0xe26;
|
||||
/* 0xE27 */ u8 mFootLOnGround;
|
||||
/* 0xE28 */ u8 mFootROnGround;
|
||||
|
|
@ -649,7 +647,7 @@ public:
|
|||
/* 8014A628 */ virtual bool setMotionAnm(int, f32, BOOL);
|
||||
|
||||
bool checkHide() { return mHide || (!dComIfGs_wolfeye_effect_check() && mTwilight); }
|
||||
s16 checkStep() { return mStepMode == 1; }
|
||||
BOOL checkStep() { return mStepMode == 1; }
|
||||
void setCommander(fopAc_ac_c* param_0) { field_0xba0.entry(param_0); }
|
||||
void setCutType(int i_cutType) { mCutType = i_cutType; }
|
||||
void onHide() { mHide = true; }
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ public:
|
|||
/* 80A65F88 */ void selectAction();
|
||||
/* 80A66004 */ void chkAction(int (daNpc_Len_c::*)(void*));
|
||||
/* 80A66030 */ void setAction(int (daNpc_Len_c::*)(void*));
|
||||
/* 80A660D8 */ void checkStartDemo13StbEvt(fopAc_ac_c*, f32, f32, f32, f32, f32, f32, f32);
|
||||
/* 80A660D8 */ BOOL checkStartDemo13StbEvt(fopAc_ac_c*, f32, f32, f32, f32, f32, f32, f32);
|
||||
/* 80A661B4 */ void cutConversationInHotel(int);
|
||||
/* 80A66664 */ void cutHurry(int);
|
||||
/* 80A668B8 */ void cutTakeWoodStatue(int);
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#ifndef D_A_NPC_MARO_H
|
||||
#define D_A_NPC_MARO_H
|
||||
|
||||
#include "SSystem/SComponent/c_counter.h"
|
||||
#include "d/actor/d_a_npc.h"
|
||||
|
||||
/**
|
||||
|
|
@ -11,8 +12,10 @@
|
|||
* @details
|
||||
*
|
||||
*/
|
||||
class daNpc_Maro_c : public fopAc_ac_c {
|
||||
class daNpc_Maro_c : public daNpcT_c {
|
||||
public:
|
||||
typedef void (daNpc_Maro_c::*actionFunc)(void*);
|
||||
|
||||
/* 8055B58C */ ~daNpc_Maro_c();
|
||||
/* 8055B6E0 */ void create();
|
||||
/* 8055B9A8 */ void CreateHeap();
|
||||
|
|
@ -30,20 +33,20 @@ public:
|
|||
/* 8055C614 */ void reset();
|
||||
/* 8055C834 */ void afterJntAnm(int);
|
||||
/* 8055C8B0 */ void setParam();
|
||||
/* 8055CB14 */ void checkChangeEvt();
|
||||
/* 8055CC9C */ void evtEndProc();
|
||||
/* 8055CB14 */ BOOL checkChangeEvt();
|
||||
/* 8055CC9C */ BOOL evtEndProc();
|
||||
/* 8055CCD8 */ void setAfterTalkMotion();
|
||||
/* 8055CD74 */ void srchActors();
|
||||
/* 8055D0D8 */ void evtTalk();
|
||||
/* 8055D1F4 */ void evtCutProc();
|
||||
/* 8055D0D8 */ BOOL evtTalk();
|
||||
/* 8055D1F4 */ BOOL evtCutProc();
|
||||
/* 8055D368 */ void action();
|
||||
/* 8055D5C4 */ void beforeMove();
|
||||
/* 8055D688 */ void setAttnPos();
|
||||
/* 8055D918 */ void setCollision();
|
||||
/* 8055DA70 */ bool drawDbgInfo();
|
||||
/* 8055DA70 */ BOOL drawDbgInfo();
|
||||
/* 8055DA78 */ void drawOtherMdl();
|
||||
/* 8055DAD8 */ void getFaceMotionAnm(daNpcT_faceMotionAnmData_c);
|
||||
/* 8055DB64 */ void getMotionAnm(daNpcT_motionAnmData_c);
|
||||
/* 8055DAD8 */ daNpcT_faceMotionAnmData_c getFaceMotionAnm(daNpcT_faceMotionAnmData_c);
|
||||
/* 8055DB64 */ daNpcT_motionAnmData_c getMotionAnm(daNpcT_motionAnmData_c);
|
||||
/* 8055DBF0 */ void selectAction();
|
||||
/* 8055DD08 */ void chkAction(int (daNpc_Maro_c::*)(void*));
|
||||
/* 8055DD34 */ void setAction(int (daNpc_Maro_c::*)(void*));
|
||||
|
|
@ -71,22 +74,52 @@ public:
|
|||
/* 8056319C */ void arrowTutorial(void*);
|
||||
/* 8056342C */ void talk(void*);
|
||||
/* 80563660 */ void shop(void*);
|
||||
/* 805648A4 */ daNpc_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**);
|
||||
/* 805648A4 */ daNpc_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_Maro_c -> コンストラクト\n", g_Counter.mCounter0, this);
|
||||
}
|
||||
/* 80564970 */ s32 getEyeballMaterialNo();
|
||||
/* 80564978 */ s32 getHeadJointNo();
|
||||
/* 80564980 */ s32 getNeckJointNo();
|
||||
/* 80564988 */ bool getBackboneJointNo();
|
||||
/* 80564990 */ void checkChangeJoint(int);
|
||||
/* 805649A0 */ void checkRemoveJoint(int);
|
||||
/* 80564988 */ s32 getBackboneJointNo();
|
||||
/* 80564990 */ BOOL checkChangeJoint(int);
|
||||
/* 805649A0 */ BOOL checkRemoveJoint(int);
|
||||
|
||||
void lostPlayer() { mPlayerActorMngr.remove(); }
|
||||
BOOL checkNowMotionIsChoccai() {
|
||||
if (mMotionSeqMngr.getNo() == 5 || mMotionSeqMngr.getNo() == 6) {
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOL checkEndMotionIsChoccai() {
|
||||
if (checkNowMotionIsChoccai() == TRUE && mMotionSeqMngr.getStepNo() > 0) {
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void findPlayer() { mPlayerActorMngr.entry(daPy_getPlayerActorClass()); }
|
||||
|
||||
void startChoccai() { field_0x1134 = 1; }
|
||||
void endChoccai() { field_0x1134 = 0; }
|
||||
|
||||
static void* mCutNameList[17];
|
||||
static u8 mCutList[204];
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0x1140 - 0x568];
|
||||
/* 0x0E40 */ u8 field_0xe40[0x1134 - 0xe40];
|
||||
/* 0x1134 */ u8 field_0x1134;
|
||||
/* 0x1135 */ u8 field_0x1135[0x1140 - 0x1135];
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daNpc_Maro_c) == 0x1140);
|
||||
|
|
|
|||
|
|
@ -1,8 +1,68 @@
|
|||
#ifndef D_A_NPC_TARO_H
|
||||
#define D_A_NPC_TARO_H
|
||||
|
||||
#include "SSystem/SComponent/c_counter.h"
|
||||
#include "d/actor/d_a_npc.h"
|
||||
|
||||
struct daNpc_Taro_HIOParam {
|
||||
/* 0x00 */ f32 mAttentionPosYOffset;
|
||||
/* 0x04 */ f32 mGravity;
|
||||
/* 0x08 */ f32 mScale;
|
||||
/* 0x0C */ f32 field_0x0c;
|
||||
/* 0x10 */ f32 mSttsWeight;
|
||||
/* 0x14 */ f32 mCylH;
|
||||
/* 0x18 */ f32 mWallH;
|
||||
/* 0x1C */ f32 mWallR;
|
||||
/* 0x20 */ f32 mBodyDownAngle;
|
||||
/* 0x24 */ f32 mBodyUpAngle;
|
||||
/* 0x28 */ f32 mBodyRightAngle;
|
||||
/* 0x2C */ f32 mBodyLeftAngle;
|
||||
/* 0x30 */ f32 mHeadDownAngle;
|
||||
/* 0x34 */ f32 mHeadUpAngle;
|
||||
/* 0x38 */ f32 mHeadRightAngle;
|
||||
/* 0x3C */ f32 mHeadLeftAngle;
|
||||
/* 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 */ 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;
|
||||
/* 0x8C */ s16 mChoccaiTimer;
|
||||
/* 0x8E */ s16 field_0x8e;
|
||||
};
|
||||
|
||||
class daNpc_Taro_Param_c {
|
||||
public:
|
||||
/* 805715FC */ virtual ~daNpc_Taro_Param_c() {}
|
||||
|
||||
static daNpc_Taro_HIOParam const m;
|
||||
};
|
||||
|
||||
class daNpc_Taro_HIO_c
|
||||
#ifdef DEBUG
|
||||
: public mDoHIO_entry_c
|
||||
#endif
|
||||
{
|
||||
public:
|
||||
void genMessage(JORMContext*);
|
||||
};
|
||||
|
||||
/**
|
||||
* @ingroup actors-npcs
|
||||
* @class daNpc_Taro_c
|
||||
|
|
@ -11,91 +71,148 @@
|
|||
* @details
|
||||
*
|
||||
*/
|
||||
class daNpc_Taro_c : public fopAc_ac_c {
|
||||
class daNpc_Taro_c : public daNpcT_c {
|
||||
public:
|
||||
typedef int (daNpc_Taro_c::*cutFunc)(int);
|
||||
typedef int (daNpc_Taro_c::*actionFunc)(void*);
|
||||
|
||||
enum TaroType {
|
||||
TYPE_0,
|
||||
TYPE_1,
|
||||
TYPE_2,
|
||||
TYPE_3,
|
||||
TYPE_4,
|
||||
TYPE_5,
|
||||
TYPE_6,
|
||||
TYPE_7,
|
||||
TYPE_8,
|
||||
TYPE_9,
|
||||
TYPE_10,
|
||||
TYPE_11,
|
||||
TYPE_12,
|
||||
TYPE_13,
|
||||
TYPE_14,
|
||||
TYPE_15,
|
||||
TYPE_16,
|
||||
};
|
||||
|
||||
/* 80565E8C */ ~daNpc_Taro_c();
|
||||
/* 8056604C */ void create();
|
||||
/* 80566340 */ void CreateHeap();
|
||||
/* 80566910 */ void Delete();
|
||||
/* 80566944 */ void Execute();
|
||||
/* 80566964 */ void Draw();
|
||||
/* 805669F8 */ void createHeapCallBack(fopAc_ac_c*);
|
||||
/* 80566A18 */ void ctrlJointCallBack(J3DJoint*, int);
|
||||
/* 80566A70 */ void srchArrow(void*, void*);
|
||||
/* 80566B0C */ void srchNpc(void*, void*);
|
||||
/* 80566BD4 */ void getArrowP();
|
||||
/* 80566CCC */ void getType();
|
||||
/* 80566D7C */ void isDelete();
|
||||
/* 8056604C */ int create();
|
||||
/* 80566340 */ int CreateHeap();
|
||||
/* 80566910 */ int Delete();
|
||||
/* 80566944 */ int Execute();
|
||||
/* 80566964 */ int Draw();
|
||||
/* 805669F8 */ static int createHeapCallBack(fopAc_ac_c*);
|
||||
/* 80566A18 */ static int ctrlJointCallBack(J3DJoint*, int);
|
||||
/* 80566A70 */ static void* srchArrow(void*, void*);
|
||||
/* 80566B0C */ static void* srchNpc(void*, void*);
|
||||
/* 80566BD4 */ fopAc_ac_c* getArrowP();
|
||||
/* 80566CCC */ u8 getType();
|
||||
/* 80566D7C */ BOOL isDelete();
|
||||
/* 80566FA4 */ void reset();
|
||||
/* 805671F4 */ void afterJntAnm(int);
|
||||
/* 80567280 */ void setParam();
|
||||
/* 8056747C */ void checkChangeEvt();
|
||||
/* 8056757C */ void evtEndProc();
|
||||
/* 8056747C */ BOOL checkChangeEvt();
|
||||
/* 8056757C */ BOOL evtEndProc();
|
||||
/* 805675B8 */ void setAfterTalkMotion();
|
||||
/* 8056767C */ void srchActors();
|
||||
/* 805679F0 */ void evtTalk();
|
||||
/* 80567A90 */ void evtCutProc();
|
||||
/* 805679F0 */ BOOL evtTalk();
|
||||
/* 80567A90 */ BOOL evtCutProc();
|
||||
/* 80567C90 */ void action();
|
||||
/* 80567EB4 */ void beforeMove();
|
||||
/* 80567F78 */ void setAttnPos();
|
||||
/* 805682E8 */ void setCollision();
|
||||
/* 80568590 */ bool drawDbgInfo();
|
||||
/* 80568590 */ int drawDbgInfo();
|
||||
/* 80568598 */ void drawOtherMdl();
|
||||
/* 805686A0 */ void getFaceMotionAnm(daNpcT_faceMotionAnmData_c);
|
||||
/* 80568738 */ void selectAction();
|
||||
/* 80568828 */ void chkAction(int (daNpc_Taro_c::*)(void*));
|
||||
/* 80568854 */ void setAction(int (daNpc_Taro_c::*)(void*));
|
||||
/* 805686A0 */ daNpcT_faceMotionAnmData_c getFaceMotionAnm(daNpcT_faceMotionAnmData_c);
|
||||
/* 80568738 */ BOOL selectAction();
|
||||
/* 80568828 */ BOOL chkAction(int (daNpc_Taro_c::*)(void*));
|
||||
/* 80568854 */ BOOL setAction(int (daNpc_Taro_c::*)(void*));
|
||||
/* 805688FC */ void setSwingVoice();
|
||||
/* 80568A2C */ void cutConversationAboutPachinko(int);
|
||||
/* 80568C58 */ void cutConversationAboutWoodSwd(int);
|
||||
/* 80568E00 */ void cutSwdTutorial(int);
|
||||
/* 80569880 */ void cutHail(int);
|
||||
/* 80569AFC */ void cutFindMonkey(int);
|
||||
/* 8056A120 */ void cutHelpMe(int);
|
||||
/* 8056A460 */ void cutAppearanceMoi(int);
|
||||
/* 8056B000 */ void cutGiveMeWoodSwd(int);
|
||||
/* 8056B68C */ void cutGetWoodSwd(int);
|
||||
/* 8056C14C */ void cutConversationWithMaro(int);
|
||||
/* 8056C5B4 */ void cutCacaricoConversation(int);
|
||||
/* 8056C8CC */ void cutArrowTutorial(int);
|
||||
/* 8056D0B8 */ void cutCaution(int);
|
||||
/* 8056D310 */ void cutTagPush1(int);
|
||||
/* 8056D5C0 */ void cutNotGonnaLet(int);
|
||||
/* 8056DFAC */ void cutTagPush4(int);
|
||||
/* 8056E270 */ void wait(void*);
|
||||
/* 8056F2A8 */ void swdTutorial(void*);
|
||||
/* 8056F418 */ void talk_withMaro(void*);
|
||||
/* 8056F7E8 */ void practice(void*);
|
||||
/* 8056FC20 */ void nurse(void*);
|
||||
/* 8056FDCC */ void talk(void*);
|
||||
/* 8057148C */ daNpc_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**);
|
||||
/* 805715AC */ s32 getEyeballMaterialNo();
|
||||
/* 805715B4 */ s32 getHeadJointNo();
|
||||
/* 805715BC */ s32 getNeckJointNo();
|
||||
/* 805715C4 */ bool getBackboneJointNo();
|
||||
/* 805715CC */ void checkChangeJoint(int);
|
||||
/* 805715DC */ void checkRemoveJoint(int);
|
||||
/* 805715EC */ s32 getFootLJointNo();
|
||||
/* 805715F4 */ s32 getFootRJointNo();
|
||||
/* 80568A2C */ int cutConversationAboutPachinko(int);
|
||||
/* 80568C58 */ int cutConversationAboutWoodSwd(int);
|
||||
/* 80568E00 */ int cutSwdTutorial(int);
|
||||
/* 80569880 */ int cutHail(int);
|
||||
/* 80569AFC */ int cutFindMonkey(int);
|
||||
/* 8056A120 */ int cutHelpMe(int);
|
||||
/* 8056A460 */ int cutAppearanceMoi(int);
|
||||
/* 8056B000 */ int cutGiveMeWoodSwd(int);
|
||||
/* 8056B68C */ int cutGetWoodSwd(int);
|
||||
/* 8056C14C */ int cutConversationWithMaro(int);
|
||||
/* 8056C5B4 */ int cutCacaricoConversation(int);
|
||||
/* 8056C8CC */ int cutArrowTutorial(int);
|
||||
/* 8056D0B8 */ int cutCaution(int);
|
||||
/* 8056D310 */ int cutTagPush1(int);
|
||||
/* 8056D5C0 */ int cutNotGonnaLet(int);
|
||||
/* 8056DFAC */ int cutTagPush4(int);
|
||||
/* 8056E270 */ int wait(void*);
|
||||
/* 8056F2A8 */ int swdTutorial(void*);
|
||||
/* 8056F418 */ int talk_withMaro(void*);
|
||||
/* 8056F7E8 */ int practice(void*);
|
||||
/* 8056FC20 */ int nurse(void*);
|
||||
/* 8056FDCC */ int talk(void*);
|
||||
/* 8057148C */ daNpc_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_Taro_c -> コンストラクト\n", g_Counter.mCounter0, this);
|
||||
}
|
||||
/* 805715AC */ s32 getEyeballMaterialNo() { return 2; }
|
||||
/* 805715B4 */ s32 getHeadJointNo() { return 4; }
|
||||
/* 805715BC */ s32 getNeckJointNo() { return 3; }
|
||||
/* 805715C4 */ s32 getBackboneJointNo() { return 1; }
|
||||
/* 805715CC */ BOOL checkChangeJoint(int jntNo) { return jntNo == 4; }
|
||||
/* 805715DC */ BOOL checkRemoveJoint(int jntNo) { return jntNo == 7; }
|
||||
/* 805715EC */ s32 getFootLJointNo() { return 19; }
|
||||
/* 805715F4 */ s32 getFootRJointNo() { return 22; }
|
||||
|
||||
static void* mCutNameList[17];
|
||||
static u8 mCutList[204];
|
||||
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; }
|
||||
|
||||
static char* mCutNameList[17];
|
||||
static cutFunc mCutList[17];
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0x11ac - 0x568];
|
||||
/* 0x0E40 */ daNpc_Taro_HIO_c* field_0xe40;
|
||||
/* 0x0E44 */ J3DModel* mModels[2];
|
||||
/* 0x0E4C */ dCcD_Cyl mCyl1;
|
||||
/* 0x0F88 */ dCcD_Cyl mCyl2;
|
||||
/* 0x10C4 */ u8 mType;
|
||||
/* 0x10C8 */ daNpcT_ActorMngr_c mActors[23];
|
||||
/* 0x1180 */ actionFunc mAction;
|
||||
/* 0x118C */ actionFunc mAction2;
|
||||
/* 0x1198 */ int mChoccaiTimer;
|
||||
/* 0x119C */ int field_0x119c;
|
||||
/* 0x11A0 */ u8 field_0x11a0;
|
||||
/* 0x11A1 */ u8 field_0x11a1;
|
||||
/* 0x11A2 */ u8 field_0x11a2;
|
||||
/* 0x11A3 */ u8 field_0x11a3;
|
||||
/* 0x11A4 */ u8 field_0x11a4;
|
||||
/* 0x11A5 */ u8 field_0x11a5;
|
||||
/* 0x11A6 */ u8 field_0x11a6;
|
||||
/* 0x11A7 */ u8 field_0x11a7;
|
||||
/* 0x11A8 */ int field_0x11a8;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daNpc_Taro_c) == 0x11ac);
|
||||
|
||||
class daNpc_Taro_Param_c {
|
||||
public:
|
||||
/* 805715FC */ ~daNpc_Taro_Param_c();
|
||||
|
||||
static u8 const m[144];
|
||||
};
|
||||
|
||||
|
||||
#endif /* D_A_NPC_TARO_H */
|
||||
|
|
|
|||
|
|
@ -27,10 +27,30 @@ public:
|
|||
u8 getBitSW2() { return (fopAcM_GetParam(this) >> 8) & 0xFF; }
|
||||
|
||||
u32 getFlowNodeNo() {
|
||||
if (home.angle.x == 0xFFFF) {
|
||||
return 0xFFFFFFFF;
|
||||
} else {
|
||||
return home.angle.x & 0xFFFF;
|
||||
if (home.angle.x != 0xFFFF) {
|
||||
return (u16)home.angle.x;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
int getPlayerListNo() {
|
||||
u16 rv = (fopAcM_GetParam(this) & 0xff0000) >> 16;
|
||||
return (rv == 0xff) ? -1 : rv;
|
||||
}
|
||||
|
||||
void pushBackPlayer(int param_1) {
|
||||
if (getPlayerListNo() > -1) {
|
||||
cXyz cStack_1c;
|
||||
csXyz cStack_24;
|
||||
if (daNpcT_getPlayerInfoFromPlayerList(getPlayerListNo(), current.roomNo, &cStack_1c,
|
||||
&cStack_24) != 0)
|
||||
{
|
||||
daPy_getPlayerActorClass()->setPlayerPosAndAngle(&cStack_1c, cStack_24.y, 0);
|
||||
if (param_1 != 0) {
|
||||
daPy_getPlayerActorClass()->changeDemoMoveAngle(cStack_24.y);
|
||||
dComIfGp_evmng_setGoal(&cStack_1c);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3,9 +3,12 @@
|
|||
|
||||
#include "d/actor/d_a_suspend.h"
|
||||
|
||||
int daNpcKakashi_getSwdTutorialStep();
|
||||
u8 daNpcKakashi_getSwdTutorialStep();
|
||||
void daNpcKakashi_setSwdTutorialStep(u8 iEvtNum);
|
||||
bool daNpcKakashi_getSwdTutorialResult();
|
||||
BOOL daNpcKakashi_chkSwdTutorialStage();
|
||||
int daNpcKakashi_getSuccessCount();
|
||||
void daNpcKakashi_clrSuccessCount();
|
||||
int daNpcMsg_setEvtNum(u8 iEvtNum);
|
||||
|
||||
#endif /* D_COM_D_COM_STATIC_H */
|
||||
|
|
|
|||
|
|
@ -112,27 +112,28 @@ struct DOUBLE_POS {
|
|||
};
|
||||
|
||||
enum fopAcM_STATUS {
|
||||
/* 0x000001 */ fopAcM_STATUS_UNK_000001 = 1 << 0,
|
||||
/* 0x000002 */ fopAcM_STATUS_UNK_000002 = 1 << 1,
|
||||
/* 0x000004 */ fopAcM_STATUS_UNK_000004 = 1 << 2,
|
||||
/* 0x000008 */ fopAcM_STATUS_UNK_000008 = 1 << 3,
|
||||
/* 0x000010 */ fopAcM_STATUS_UNK_000010 = 1 << 4,
|
||||
/* 0x000020 */ fopAcM_STATUS_UNK_000020 = 1 << 5,
|
||||
/* 0x000040 */ fopAcM_STATUS_UNK_000040 = 1 << 6,
|
||||
/* 0x000080 */ fopAcM_STATUS_UNK_000080 = 1 << 7,
|
||||
/* 0x000100 */ fopAcM_STATUS_UNK_000100 = 1 << 8,
|
||||
/* 0x000200 */ fopAcM_STATUS_UNK_000200 = 1 << 9,
|
||||
/* 0x000400 */ fopAcM_STATUS_UNK_000400 = 1 << 10,
|
||||
/* 0x000800 */ fopAcM_STATUS_UNK_000800 = 1 << 11,
|
||||
/* 0x001000 */ fopAcM_STATUS_UNK_001000 = 1 << 12,
|
||||
/* 0x002000 */ fopAcM_STATUS_CARRY_NOW = 1 << 13,
|
||||
/* 0x004000 */ fopAcM_STATUS_UNK_004000 = 1 << 14,
|
||||
/* 0x008000 */ fopAcM_STATUS_UNK_008000 = 1 << 15,
|
||||
/* 0x010000 */ fopAcM_STATUS_UNK_010000 = 1 << 16,
|
||||
/* 0x020000 */ fopAcM_STATUS_UNK_200000 = 1 << 17,
|
||||
/* 0x040000 */ fopAcM_STATUS_UNK_400000 = 1 << 18,
|
||||
/* 0x080000 */ fopAcM_STATUS_UNK_800000 = 1 << 19,
|
||||
/* 0x100000 */ fopAcM_STATUS_HOOK_CARRY_NOW = 1 << 20,
|
||||
/* 0x0000001 */ fopAcM_STATUS_UNK_000001 = 1 << 0,
|
||||
/* 0x0000002 */ fopAcM_STATUS_UNK_000002 = 1 << 1,
|
||||
/* 0x0000004 */ fopAcM_STATUS_UNK_000004 = 1 << 2,
|
||||
/* 0x0000008 */ fopAcM_STATUS_UNK_000008 = 1 << 3,
|
||||
/* 0x0000010 */ fopAcM_STATUS_UNK_000010 = 1 << 4,
|
||||
/* 0x0000020 */ fopAcM_STATUS_UNK_000020 = 1 << 5,
|
||||
/* 0x0000040 */ fopAcM_STATUS_UNK_000040 = 1 << 6,
|
||||
/* 0x0000080 */ fopAcM_STATUS_UNK_000080 = 1 << 7,
|
||||
/* 0x0000100 */ fopAcM_STATUS_UNK_000100 = 1 << 8,
|
||||
/* 0x0000200 */ fopAcM_STATUS_UNK_000200 = 1 << 9,
|
||||
/* 0x0000400 */ fopAcM_STATUS_UNK_000400 = 1 << 10,
|
||||
/* 0x0000800 */ fopAcM_STATUS_UNK_000800 = 1 << 11,
|
||||
/* 0x0001000 */ fopAcM_STATUS_UNK_001000 = 1 << 12,
|
||||
/* 0x0002000 */ fopAcM_STATUS_CARRY_NOW = 1 << 13,
|
||||
/* 0x0004000 */ fopAcM_STATUS_UNK_004000 = 1 << 14,
|
||||
/* 0x0008000 */ fopAcM_STATUS_UNK_008000 = 1 << 15,
|
||||
/* 0x0010000 */ fopAcM_STATUS_UNK_010000 = 1 << 16,
|
||||
/* 0x0020000 */ fopAcM_STATUS_UNK_200000 = 1 << 17,
|
||||
/* 0x0040000 */ fopAcM_STATUS_UNK_400000 = 1 << 18,
|
||||
/* 0x0080000 */ fopAcM_STATUS_UNK_800000 = 1 << 19,
|
||||
/* 0x0100000 */ fopAcM_STATUS_HOOK_CARRY_NOW = 1 << 20,
|
||||
/* 0x8000000 */ fopAcM_STATUS_UNK_8000000 = 1 << 27,
|
||||
};
|
||||
|
||||
inline s8 fopAcM_GetRoomNo(const fopAc_ac_c* i_actor) {
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
#define MSL_ALGORITHM_H_
|
||||
|
||||
#include <iterator.h>
|
||||
#include <string.h>
|
||||
|
||||
namespace std {
|
||||
template <class ForwardIterator, class T>
|
||||
|
|
|
|||
|
|
@ -855,8 +855,8 @@ void daNpcT_JntAnm_c::calcJntRad(f32 param_0, f32 param_1, f32 param_2) {
|
|||
* setParam__19daNpcT_DmgStagger_cFP10fopAc_ac_cP10fopAc_ac_cs */
|
||||
void daNpcT_DmgStagger_c::setParam(fopAc_ac_c* i_actor1, fopAc_ac_c* i_actor2, s16 i_angle) {
|
||||
if (i_actor2 && i_actor1) {
|
||||
field_0xc[0] = 10922.0f;
|
||||
field_0xc[1] = 7281.0f;
|
||||
mPower[0] = 10922.0f;
|
||||
mPower[1] = 7281.0f;
|
||||
field_0x16 = fopAcM_searchActorAngleY(i_actor1, i_actor2) - i_angle;
|
||||
mStagger = 0x4000;
|
||||
}
|
||||
|
|
@ -866,14 +866,14 @@ void daNpcT_DmgStagger_c::setParam(fopAc_ac_c* i_actor1, fopAc_ac_c* i_actor2, s
|
|||
void daNpcT_DmgStagger_c::calc(BOOL param_0) {
|
||||
cXyz vec1, vec2;
|
||||
mDoMtx_stack_c::YrotS(field_0x16);
|
||||
cLib_addCalc2(&field_0xc[1], 0.0f, 0.1f, 125.0f);
|
||||
cLib_addCalc2(&field_0xc[0], 0.0f, 0.1f, 125.0f);
|
||||
cLib_addCalc2(&mPower[1], 0.0f, 0.1f, 125.0f);
|
||||
cLib_addCalc2(&mPower[0], 0.0f, 0.1f, 125.0f);
|
||||
|
||||
for (int i = 0; i < 2; i++) {
|
||||
vec1.set(0.0f, 0.0f, field_0xc[i] * cM_ssin(mStagger));
|
||||
vec1.set(0.0f, 0.0f, mPower[i] * cM_ssin(mStagger));
|
||||
mDoMtx_stack_c::multVec(&vec1, &vec2);
|
||||
field_0x0[i].x = -vec2.z;
|
||||
field_0x0[i].z = -vec2.x;
|
||||
mAngle[i].x = -vec2.z;
|
||||
mAngle[i].z = -vec2.x;
|
||||
}
|
||||
|
||||
if (mStagger != 0) {
|
||||
|
|
|
|||
|
|
@ -1146,7 +1146,7 @@ SECTION_DEAD static char const* const stringBase_80A6906E = "R_SP109";
|
|||
|
||||
/* 80A660D8-80A661B4 001E98 00DC+00 1/1 0/0 6/6 .text
|
||||
* checkStartDemo13StbEvt__11daNpc_Len_cFP10fopAc_ac_cfffffff */
|
||||
void daNpc_Len_c::checkStartDemo13StbEvt(fopAc_ac_c* param_0, f32 param_1, f32 param_2,
|
||||
BOOL daNpc_Len_c::checkStartDemo13StbEvt(fopAc_ac_c* param_0, f32 param_1, f32 param_2,
|
||||
f32 param_3, f32 param_4, f32 param_5, f32 param_6,
|
||||
f32 param_7) {
|
||||
// NONMATCHING
|
||||
|
|
|
|||
|
|
@ -1772,12 +1772,12 @@ void daNpc_Maro_c::setParam() {
|
|||
}
|
||||
|
||||
/* 8055CB14-8055CC9C 001674 0188+00 1/0 0/0 0/0 .text checkChangeEvt__12daNpc_Maro_cFv */
|
||||
void daNpc_Maro_c::checkChangeEvt() {
|
||||
BOOL daNpc_Maro_c::checkChangeEvt() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 8055CC9C-8055CCD8 0017FC 003C+00 1/0 0/0 0/0 .text evtEndProc__12daNpc_Maro_cFv */
|
||||
void daNpc_Maro_c::evtEndProc() {
|
||||
BOOL daNpc_Maro_c::evtEndProc() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
|
|
@ -1797,12 +1797,12 @@ void daNpc_Maro_c::srchActors() {
|
|||
}
|
||||
|
||||
/* 8055D0D8-8055D1F4 001C38 011C+00 1/0 0/0 0/0 .text evtTalk__12daNpc_Maro_cFv */
|
||||
void daNpc_Maro_c::evtTalk() {
|
||||
BOOL daNpc_Maro_c::evtTalk() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 8055D1F4-8055D368 001D54 0174+00 1/0 0/0 0/0 .text evtCutProc__12daNpc_Maro_cFv */
|
||||
void daNpc_Maro_c::evtCutProc() {
|
||||
BOOL daNpc_Maro_c::evtCutProc() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
|
|
@ -1852,8 +1852,8 @@ void daNpc_Maro_c::setCollision() {
|
|||
}
|
||||
|
||||
/* 8055DA70-8055DA78 0025D0 0008+00 1/0 0/0 0/0 .text drawDbgInfo__12daNpc_Maro_cFv */
|
||||
bool daNpc_Maro_c::drawDbgInfo() {
|
||||
return false;
|
||||
BOOL daNpc_Maro_c::drawDbgInfo() {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* 8055DA78-8055DAD8 0025D8 0060+00 1/0 0/0 0/0 .text drawOtherMdl__12daNpc_Maro_cFv */
|
||||
|
|
@ -1863,13 +1863,13 @@ void daNpc_Maro_c::drawOtherMdl() {
|
|||
|
||||
/* 8055DAD8-8055DB64 002638 008C+00 1/0 0/0 0/0 .text
|
||||
* getFaceMotionAnm__12daNpc_Maro_cF26daNpcT_faceMotionAnmData_c */
|
||||
void daNpc_Maro_c::getFaceMotionAnm(daNpcT_faceMotionAnmData_c param_0) {
|
||||
daNpcT_faceMotionAnmData_c daNpc_Maro_c::getFaceMotionAnm(daNpcT_faceMotionAnmData_c param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 8055DB64-8055DBF0 0026C4 008C+00 1/0 0/0 0/0 .text
|
||||
* getMotionAnm__12daNpc_Maro_cF22daNpcT_motionAnmData_c */
|
||||
void daNpc_Maro_c::getMotionAnm(daNpcT_motionAnmData_c param_0) {
|
||||
daNpcT_motionAnmData_c daNpc_Maro_c::getMotionAnm(daNpcT_motionAnmData_c param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
|
|
@ -2473,21 +2473,9 @@ void __sinit_d_a_npc_maro_cpp() {
|
|||
REGISTER_CTORS(0x805646B8, __sinit_d_a_npc_maro_cpp);
|
||||
#pragma pop
|
||||
|
||||
/* 805648A4-80564970 009404 00CC+00 1/1 0/0 0/0 .text
|
||||
* __ct__12daNpc_Maro_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc
|
||||
*/
|
||||
daNpc_Maro_c::daNpc_Maro_c(daNpcT_faceMotionAnmData_c const* param_0,
|
||||
daNpcT_motionAnmData_c const* param_1,
|
||||
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_2,
|
||||
int param_3,
|
||||
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_4,
|
||||
int param_5, daNpcT_evtData_c const* param_6, char** param_7) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80564970-80564978 0094D0 0008+00 1/0 0/0 0/0 .text getEyeballMaterialNo__12daNpc_Maro_cFv */
|
||||
s32 daNpc_Maro_c::getEyeballMaterialNo() {
|
||||
return true;
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80564978-80564980 0094D8 0008+00 1/0 0/0 0/0 .text getHeadJointNo__12daNpc_Maro_cFv */
|
||||
|
|
@ -2501,19 +2489,19 @@ s32 daNpc_Maro_c::getNeckJointNo() {
|
|||
}
|
||||
|
||||
/* 80564988-80564990 0094E8 0008+00 1/0 0/0 0/0 .text getBackboneJointNo__12daNpc_Maro_cFv */
|
||||
bool daNpc_Maro_c::getBackboneJointNo() {
|
||||
return true;
|
||||
s32 daNpc_Maro_c::getBackboneJointNo() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80564990-805649A0 0094F0 0010+00 1/0 0/0 0/0 .text checkChangeJoint__12daNpc_Maro_cFi
|
||||
*/
|
||||
void daNpc_Maro_c::checkChangeJoint(int param_0) {
|
||||
BOOL daNpc_Maro_c::checkChangeJoint(int param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 805649A0-805649B0 009500 0010+00 1/0 0/0 0/0 .text checkRemoveJoint__12daNpc_Maro_cFi
|
||||
*/
|
||||
void daNpc_Maro_c::checkRemoveJoint(int param_0) {
|
||||
BOOL daNpc_Maro_c::checkRemoveJoint(int param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -4,6 +4,7 @@
|
|||
*/
|
||||
|
||||
#include "d/actor/d_a_npc_zant.h"
|
||||
#include "SSystem/SComponent/c_counter.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "SSystem/SComponent/c_counter.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -241,8 +241,8 @@ void daNpcKakashi_setSwdTutorialStep(u8 iEvtNum) {
|
|||
|
||||
/* 800316E0-80031718 02C020 0038+00 0/0 1/1 4/4 .text daNpcKakashi_getSwdTutorialStep__Fv
|
||||
*/
|
||||
int daNpcKakashi_getSwdTutorialStep() {
|
||||
return dComIfGs_getTmpReg(0xFF0F);
|
||||
u8 daNpcKakashi_getSwdTutorialStep() {
|
||||
return dComIfGs_getTmpReg(0xFF0F) & 0xff;
|
||||
}
|
||||
|
||||
/* 80031718-80031754 02C058 003C+00 0/0 1/1 0/0 .text daNpcKakashi_getSwdTutorialResult__Fv */
|
||||
|
|
|
|||
Loading…
Reference in New Issue