Work on d_a_npc_taro (#2386)

This commit is contained in:
hatal175 2025-04-11 02:42:52 +03:00 committed by GitHub
parent 3d2942960d
commit c7eb18a8bd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
14 changed files with 3628 additions and 3222 deletions

View File

@ -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; }

View File

@ -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);

View File

@ -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);

View File

@ -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 */

View File

@ -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);
}
}
}
}

View File

@ -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 */

View File

@ -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) {

View File

@ -2,6 +2,7 @@
#define MSL_ALGORITHM_H_
#include <iterator.h>
#include <string.h>
namespace std {
template <class ForwardIterator, class T>

View File

@ -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) {

View File

@ -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

View File

@ -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

View File

@ -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"

View File

@ -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 */