diff --git a/configure.py b/configure.py index cf1e143505b..7b206e77a48 100755 --- a/configure.py +++ b/configure.py @@ -1794,7 +1794,7 @@ config.libs = [ ActorRel(NonMatching, "d_a_npc_shaman"), ActorRel(NonMatching, "d_a_npc_shoe"), ActorRel(NonMatching, "d_a_npc_shop0"), - ActorRel(Equivalent, "d_a_npc_shop_maro"), # daNpcT_c base functions missing + ActorRel(Equivalent, "d_a_npc_shop_maro"), # weak function order ActorRel(NonMatching, "d_a_npc_sola"), ActorRel(NonMatching, "d_a_npc_soldierA"), ActorRel(NonMatching, "d_a_npc_soldierB"), @@ -1813,7 +1813,7 @@ config.libs = [ ActorRel(NonMatching, "d_a_npc_yamid"), ActorRel(NonMatching, "d_a_npc_yamis"), ActorRel(NonMatching, "d_a_npc_yamit"), - ActorRel(NonMatching, "d_a_npc_yelia"), + ActorRel(Equivalent, "d_a_npc_yelia"), # weak function order ActorRel(NonMatching, "d_a_npc_ykm"), ActorRel(NonMatching, "d_a_npc_ykw"), ActorRel(NonMatching, "d_a_npc_zanb"), diff --git a/include/d/actor/d_a_demo_item.h b/include/d/actor/d_a_demo_item.h index 70fe4cf9514..f0ea257f2f0 100644 --- a/include/d/actor/d_a_demo_item.h +++ b/include/d/actor/d_a_demo_item.h @@ -52,9 +52,12 @@ public: u32 chkArgFlag(u8 i_flag) { return field_0x93d & i_flag; } + void setOffsetPos(cXyz i_pos) { mOffsetPos = i_pos; } + void setMaxScale(f32 i_scale) { mMaxScale = i_scale; } + private: - /* 0x92C */ cXyz field_0x92c; - /* 0x938 */ f32 field_0x938; + /* 0x92C */ cXyz mOffsetPos; + /* 0x938 */ f32 mMaxScale; /* 0x93C */ u8 field_0x93c; /* 0x93D */ u8 field_0x93d; /* 0x93E */ u8 field_0x93e; diff --git a/include/d/actor/d_a_npc.h b/include/d/actor/d_a_npc.h index cea1ddea720..2e375eb90b4 100644 --- a/include/d/actor/d_a_npc.h +++ b/include/d/actor/d_a_npc.h @@ -158,7 +158,7 @@ public: sVar3 * (1.0f / param_2); } - void setEyeAngleY(cXyz param_1, s16 param_2, int param_3, f32 param_4, s16 param_5) { + void setEyeAngleY(cXyz param_1, s16 param_2, BOOL param_3, f32 param_4, s16 param_5) { cXyz cStack_50; s16 sVar3 = 0; if (mAttnPosP != NULL) { @@ -169,7 +169,7 @@ public: sVar3 -= diff; sVar3 += param_5; } - if (param_3 != 0) { + if (param_3) { sVar3 = -sVar3; } mEyeAngle.y = field_0x132.y * (1.0f - 1.0f / param_4) + @@ -225,8 +225,8 @@ public: void clrDirectFlag() { mDirectFlag = 0; } int getMode() { return mMode; } - int setMode(int mode, int param_2) { - if (mode >= 0 && (param_2 != 0 || mode != mMode)) { + int setMode(int mode, BOOL param_2) { + if (mode >= 0 && (param_2 || mode != mMode)) { mActrMngr.remove(); mAttnPosP = NULL; field_0x14c = 0.0f; @@ -245,28 +245,48 @@ public: mDirectFlag = isDirect; } + enum LookMode { + /* 0 */ LOOK_NONE, + /* 1 */ LOOK_PLAYER, + /* 2 */ LOOK_ACTOR, + /* 3 */ LOOK_POS, + /* 4 */ LOOK_CAMERA, + /* 5 */ LOOK_MODE_5, + /* 6 */ LOOK_MODE_6, + /* 7 */ LOOK_MODE_7, + /* 8 */ LOOK_MODE_8, + }; + void lookNone(u8 isDirect) { - setMode(0, 0); + setMode(LOOK_NONE, FALSE); setDirect(isDirect); } void lookPlayer(u8 isDirect) { - setMode(1, 0); + setMode(LOOK_PLAYER, FALSE); setDirect(isDirect); } void lookCamera(u8 isDirect) { - setMode(4, 0); + setMode(LOOK_CAMERA, FALSE); setDirect(isDirect); } void lookActor(fopAc_ac_c* param_1, f32 param_2, u8 isDirect) { - if (setMode(2, mActrMngr.getActorP() != param_1) && fopAcM_IsActor(param_1)) { + if (setMode(LOOK_ACTOR, mActrMngr.getActorP() != param_1) && fopAcM_IsActor(param_1)) { mActrMngr.entry(param_1); field_0x14c = param_2; } setDirect(isDirect); } + + void lookPos(cXyz* i_pos, u8 i_direct) { + BOOL tmp = mAttnPosP != i_pos; + if (setMode(LOOK_POS, tmp)) { + mAttnPosP = i_pos; + } + setDirect(i_direct); + } }; class daNpcT_DmgStagger_c { @@ -299,8 +319,8 @@ private: }; struct daNpcT_evtData_c { - const char* eventName; - int num; + /* 0x0 */ const char* eventName; + /* 0x4 */ int num; }; struct daNpcT_faceMotionAnmData_c { @@ -412,7 +432,7 @@ public: /* 0x674 */ mDoExt_bpkAnm mBpkAnm; /* 0x68C */ dBgS_ObjAcch mAcch; /* 0x864 */ dCcD_Stts mCcStts; - /* 0x8A0 */ dBgS_AcchCir field_0x8a0; + /* 0x8A0 */ dBgS_AcchCir mAcchCir; /* 0x8E0 */ request_of_phase_process_class mPhase[10]; /* 0x930 */ cBgS_GndChk mGndChk; /* 0x96C */ daNpcT_MatAnm_c* mpMatAnm; @@ -420,10 +440,10 @@ public: /* 0x974 */ dMsgFlow_c mFlow; /* 0x9C0 */ dPaPoT_c field_0x9c0; /* 0xA40 */ dCcD_Stts field_0xa40; - /* 0xA7C */ u32 field_0xa7c; + /* 0xA7C */ u32 mFlowNodeNo; /* 0xA80 */ f32 field_0xa80; - /* 0xA84 */ f32 field_0xa84; - /* 0xA88 */ u8 field_0xa88; + /* 0xA84 */ f32 mMorfFrames; + /* 0xA88 */ bool mCreating; /* 0xA89 */ bool mTwilight; /* 0xA8C */ dBgS_GndChk field_0xa8c; /* 0xAE0 */ dBgS_LinChk mLinChk; @@ -432,7 +452,7 @@ public: /* 0xB98 */ daNpcT_ActorMngr_c mPlayerActorMngr; /* 0xBA0 */ daNpcT_ActorMngr_c field_0xba0; /* 0xBA8 */ daNpcT_JntAnm_c mJntAnm; - /* 0xD08 */ daNpcT_DmgStagger_c field_0xd08; + /* 0xD08 */ daNpcT_DmgStagger_c mStagger; /* 0xD24 */ cXyz mFootLPos; /* 0xD30 */ cXyz mFootRPos; /* 0xD3C */ cXyz mFootLOffset; @@ -450,14 +470,14 @@ public: /* 0xD9C */ u32 mMsgId; /* 0xDA0 */ u32 mHitodamaPrtclKey[2]; /* 0xDA8 */ u32 mPolSound; - /* 0xDAC */ int field_0xdac; + /* 0xDAC */ int mStaffId; /* 0xDB0 */ int mCutType; /* 0xDB4 */ int field_0xdb4; /* 0xDB8 */ int mDamageTimerStart; /* 0xDBC */ int mDamageTimer; /* 0xDC0 */ int mBtpPauseTimer; - /* 0xDC4 */ int field_0xdc4; - /* 0xDC8 */ s16 field_0xdc8; + /* 0xDC4 */ int mEventTimer; + /* 0xDC8 */ s16 mPlayerAngle; /* 0xDCA */ s16 mGroundAngle; /* 0xDCC */ u8 field_0xdcc[2]; /* 0xDCE */ s16 mFootLPolyAngle; @@ -471,10 +491,10 @@ public: /* 0xDE0 */ f32 field_0xde0; /* 0xDE4 */ f32 field_0xde4; /* 0xDE8 */ f32 field_0xde8; - /* 0xDEC */ f32 field_0xdec; - /* 0xDF0 */ f32 field_0xdf0; + /* 0xDEC */ f32 mCylH; + /* 0xDF0 */ f32 mWallR; /* 0xDF4 */ f32 mGroundH; - /* 0xDF8 */ f32 field_0xdf8; + /* 0xDF8 */ f32 mAttnFovY; /* 0xDFC */ f32 field_0xdfc; /* 0xE00 */ cXyz field_0xe00; /* 0xE0C */ cXyz field_0xe0c; @@ -483,9 +503,9 @@ public: /* 0xE1C */ s16 mEvtId; /* 0xE1E */ u16 mMorfLoops; /* 0xE20 */ u16 mBckLoops; - /* 0xE22 */ u16 field_0xe22; + /* 0xE22 */ u16 mMode; /* 0xE24 */ s8 mReverb; - /* 0xE25 */ u8 field_0xe25; + /* 0xE25 */ bool mHide; /* 0xE26 */ bool field_0xe26; /* 0xE27 */ u8 mFootLOnGround; /* 0xE28 */ u8 mFootROnGround; @@ -493,11 +513,11 @@ public: /* 0xE2A */ u8 field_0xe2a; /* 0xE2B */ bool mNoDraw; /* 0xE2C */ u8 field_0xe2c; - /* 0xE2D */ u8 field_0xe2d; - /* 0xE2E */ u8 field_0xe2e[2]; + /* 0xE2D */ bool field_0xe2d; + /* 0xE2E */ u8 mPreItemNo; /* 0xE30 */ u16 mEvtNo; /* 0xE32 */ bool mSpeakEvent; - /* 0xE33 */ u8 field_0xe33; + /* 0xE33 */ bool field_0xe33; /* 0xE34 */ u8 field_0xe34; /* 0xE35 */ u8 field_0xe35; /* 0xE36 */ u8 field_0xe36; @@ -506,16 +526,18 @@ public: /* 0xE3C vtable */ public: - daNpcT_c(daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData, daNpcT_motionAnmData_c const* i_motionAnmData, - 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* i_evtData, - char** i_arcNames) : + daNpcT_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) : mpFaceMotionAnmData(i_faceMotionAnmData), mpMotionAnmData(i_motionAnmData), mpEvtData(i_evtData), mpArcNames(i_arcNames), - mFaceMotionSeqMngr(param_3, param_4), - mMotionSeqMngr(param_5, param_6) { + mFaceMotionSeqMngr(i_faceMotionSequenceData, i_faceMotionStepNum), + mMotionSeqMngr(i_motionSequenceData, i_motionStepNum) { initialize(); } /* 80147FA4 */ static void tgHitCallBack(fopAc_ac_c*, dCcD_GObjInf*, fopAc_ac_c*, dCcD_GObjInf*); @@ -535,7 +557,7 @@ public: /* 801483F8 */ int loadRes(s8 const*, char const**); /* 801484AC */ void deleteRes(s8 const*, char const**); /* 8014852C */ int execute(); - /* 8014886C */ int draw(int, int, f32, _GXColorS10*, f32, int, int, int); + /* 8014886C */ int draw(BOOL, BOOL, f32, _GXColorS10*, f32, BOOL, BOOL, BOOL); /* 80148C70 */ void setEnvTevColor(); /* 80148CCC */ void setRoomNo(); /* 80148D10 */ int checkEndAnm(f32); @@ -621,9 +643,9 @@ public: /* 8014CCAC */ virtual void changeBck(int*, int*) {} /* 8014CCA8 */ virtual void changeBtp(int*, int*) {} /* 8014CCE8 */ virtual void changeBtk(int*, int*) {} - /* 8014A628 */ virtual bool setMotionAnm(int, f32, int); + /* 8014A628 */ virtual bool setMotionAnm(int, f32, BOOL); - bool checkHide() { return field_0xe25 || (!dComIfGs_wolfeye_effect_check() && mTwilight); } + bool checkHide() { return mHide || (!dComIfGs_wolfeye_effect_check() && mTwilight); } s16 checkStep() { return mStepMode == 1; } void setCommander(fopAc_ac_c* param_0) { field_0xba0.entry(param_0); } void setCutType(int i_cutType) { mCutType = i_cutType; } @@ -635,7 +657,7 @@ public: mPlayerActorMngr.initialize(); field_0xba0.initialize(); mJntAnm.initialize(); - field_0xd08.initialize(); + mStagger.initialize(); mItemId = fpcM_ERROR_PROCESS_ID_e; field_0xe26 = true; field_0xe1a = cM_rndF(65536.0f); @@ -650,6 +672,13 @@ public: static s16 mSrchName; static s32 mFindCount; + enum Mode { + /* 0 */ MODE_ENTER, + /* 1 */ MODE_INIT, + /* 2 */ MODE_RUN, + /* 3 */ MODE_EXIT, + }; + enum AnmFlags { ANM_PAUSE_MORF = 0x1, ANM_PAUSE_BTK = 0x2, @@ -679,6 +708,8 @@ void daNpcT_offTmpBit(u32 i_idx); void daNpcT_onTmpBit(u32 i_idx); BOOL daNpcT_chkTmpBit(u32 i_idx); void daNpcT_onEvtBit(u32 i_idx); +BOOL daNpcT_getPlayerInfoFromPlayerList(int param_0, int i_roomNo, cXyz* o_spawnPos, + csXyz* o_angle); struct daBaseNpc_matAnm_c { /* 8014D884 */ void calc(J3DMaterial*) const; diff --git a/include/d/actor/d_a_npc_yelia.h b/include/d/actor/d_a_npc_yelia.h index f902bbca0fe..b43e1b9391d 100644 --- a/include/d/actor/d_a_npc_yelia.h +++ b/include/d/actor/d_a_npc_yelia.h @@ -11,68 +11,134 @@ * @details * */ -class daNpc_Yelia_c : public fopAc_ac_c { +class daNpc_Yelia_c : public daNpcT_c { public: /* 80B4D30C */ ~daNpc_Yelia_c(); - /* 80B4D458 */ void create(); - /* 80B4D754 */ void CreateHeap(); - /* 80B4DC20 */ void Delete(); - /* 80B4DC54 */ void Execute(); - /* 80B4DC74 */ void Draw(); - /* 80B4DD08 */ void createHeapCallBack(fopAc_ac_c*); - /* 80B4DD28 */ void ctrlJointCallBack(J3DJoint*, int); - /* 80B4DD80 */ void getType(); - /* 80B4DDF8 */ void isDelete(); + /* 80B4D458 */ cPhs__Step create(); + /* 80B4D754 */ int CreateHeap(); + /* 80B4DC20 */ int Delete(); + /* 80B4DC54 */ int Execute(); + /* 80B4DC74 */ int Draw(); + /* 80B4DD08 */ static int createHeapCallBack(fopAc_ac_c*); + /* 80B4DD28 */ static int ctrlJointCallBack(J3DJoint*, int); + /* 80B4DD80 */ u8 getType(); + /* 80B4DDF8 */ BOOL isDelete(); /* 80B4DF10 */ void reset(); /* 80B4E068 */ void afterJntAnm(int); /* 80B4E0F4 */ void setParam(); - /* 80B4E2C0 */ void checkChangeEvt(); + /* 80B4E2C0 */ BOOL checkChangeEvt(); /* 80B4E5BC */ void setAfterTalkMotion(); /* 80B4E6A0 */ void srchActors(); - /* 80B4E7C8 */ void evtTalk(); - /* 80B4E868 */ void evtCutProc(); + /* 80B4E7C8 */ BOOL evtTalk(); + /* 80B4E868 */ BOOL evtCutProc(); /* 80B4E930 */ void action(); /* 80B4EA28 */ void beforeMove(); /* 80B4EAEC */ void setAttnPos(); /* 80B4EE4C */ void setCollision(); - /* 80B4EFA4 */ bool drawDbgInfo(); - /* 80B4EFAC */ void selectAction(); - /* 80B4F054 */ void chkAction(int (daNpc_Yelia_c::*)(void*)); - /* 80B4F080 */ void setAction(int (daNpc_Yelia_c::*)(void*)); - /* 80B4F128 */ void cutConversationAboutLoopHole(int); - /* 80B4F3E0 */ void cutTWResistance(int); - /* 80B4F534 */ void cutTakeWoodStatue(int); - /* 80B4FDD8 */ void cutClothTry(int); - /* 80B4FE78 */ void cutThankYou(int); - /* 80B50084 */ void wait(void*); - /* 80B5080C */ void horseWait(void*); - /* 80B50A0C */ void reminiscence(void*); - /* 80B50B60 */ void talk(void*); - /* 80B52104 */ daNpc_Yelia_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**); - /* 80B521E4 */ s32 getEyeballMaterialNo(); - /* 80B521EC */ s32 getHeadJointNo(); - /* 80B521F4 */ s32 getNeckJointNo(); - /* 80B521FC */ bool getBackboneJointNo(); - /* 80B52204 */ void checkChangeJoint(int); - /* 80B52214 */ void checkRemoveJoint(int); - /* 80B52224 */ bool chkXYItems(); + /* 80B4EFA4 */ BOOL drawDbgInfo(); + /* 80B4EFAC */ BOOL selectAction(); + /* 80B4F054 */ BOOL chkAction(BOOL (daNpc_Yelia_c::*)(void*)); + /* 80B4F080 */ BOOL setAction(BOOL (daNpc_Yelia_c::*)(void*)); + /* 80B4F128 */ BOOL cutConversationAboutLoopHole(int); + /* 80B4F3E0 */ BOOL cutTWResistance(int); + /* 80B4F534 */ BOOL cutTakeWoodStatue(int); + /* 80B4FDD8 */ BOOL cutClothTry(int); + /* 80B4FE78 */ BOOL cutThankYou(int); + /* 80B50084 */ BOOL wait(void*); + /* 80B5080C */ BOOL horseWait(void*); + /* 80B50A0C */ BOOL reminiscence(void*); + /* 80B50B60 */ BOOL talk(void*); + /* 80B52104 */ daNpc_Yelia_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) {} + /* 80B521E4 */ s32 getEyeballMaterialNo() { return 1; } + /* 80B521EC */ s32 getHeadJointNo() { return 4; } + /* 80B521F4 */ s32 getNeckJointNo() { return 3; } + /* 80B521FC */ s32 getBackboneJointNo() { return 1; } + /* 80B52204 */ BOOL checkChangeJoint(int i_jointNo) { return i_jointNo == 4; } + /* 80B52214 */ BOOL checkRemoveJoint(int i_jointNo) {return i_jointNo == 9; } + /* 80B52224 */ BOOL chkXYItems() { return true; } - static void* mCutNameList[6]; - static u8 mCutList[72]; + u32 getFlowNodeNo() { + u16 no = home.angle.x; + if (no == 0xffff) { + return -1; + } + return no; + } + + static char* mCutNameList[6]; + static int (daNpc_Yelia_c::*mCutList[6])(int); private: - /* 0x568 */ u8 field_0x568[0xff0 - 0x568]; + /* 0xE40 */ u8 field_0xe40[0xe44 - 0xe40]; + /* 0xE44 */ dCcD_Cyl mCcCyl; + /* 0xF80 */ u8 mType; + /* 0xF84 */ daNpcT_ActorMngr_c mActorMngr[4]; + /* 0xFA4 */ BOOL (daNpc_Yelia_c::*mpNextAction)(void*); + /* 0xFB0 */ BOOL (daNpc_Yelia_c::*mpAction)(void*); + /* 0xFBC */ daNpcT_Path_c mPath; + /* 0xFE4 */ fpc_ProcID mItemId; + /* 0xFE8 */ int mPendantTimer; + /* 0xFEC */ u8 field_0xfec; }; STATIC_ASSERT(sizeof(daNpc_Yelia_c) == 0xff0); class daNpc_Yelia_Param_c { public: - /* 80B5222C */ ~daNpc_Yelia_Param_c(); + struct param { + /* 0x00 */ f32 mAttnOffsetY; + /* 0x04 */ f32 mGravity; + /* 0x08 */ f32 mScale; + /* 0x0C */ f32 mShadowDepth; + /* 0x10 */ f32 mCcWeight; + /* 0x14 */ f32 mCylH; + /* 0x18 */ f32 mWallH; + /* 0x1C */ f32 mWallR; + /* 0x20 */ f32 mBodyUpAngle; + /* 0x24 */ f32 mBodyDownAngle; + /* 0x28 */ f32 mBodyLeftAngle; + /* 0x2C */ f32 mBodyRightAngle; + /* 0x30 */ f32 mHeadUpAngle; + /* 0x34 */ f32 mHeadDownAngle; + /* 0x38 */ f32 mHeadLeftAngle; + /* 0x3C */ f32 mHeadRightAngle; + /* 0x40 */ f32 mNeckAngleScl; + /* 0x44 */ f32 mMorfFrames; + /* 0x48 */ s16 mSpeakDistIdx; + /* 0x4A */ s16 mSpeakAngleIdx; + /* 0x4C */ s16 mTalkDistIdx; + /* 0x4E */ s16 mTalkAngleIdx; + /* 0x50 */ f32 mAttnFovY; + /* 0x54 */ f32 mAttnRadius; + /* 0x58 */ f32 mAttnUpperY; + /* 0x5C */ f32 mAttnLowerY; + /* 0x60 */ s16 field_0x60; + /* 0x62 */ s16 mDamageTimer; + /* 0x64 */ s16 mTestExpression; + /* 0x66 */ s16 mTestMotion; + /* 0x68 */ s16 mTestLookMode; + /* 0x6A */ bool mTest; + /* 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; + }; - static u8 const m[140]; + /* 80B5222C */ virtual ~daNpc_Yelia_Param_c() {} + + static param const m; }; #endif /* D_A_NPC_YELIA_H */ diff --git a/src/d/actor/d_a_demo_item.cpp b/src/d/actor/d_a_demo_item.cpp index 71b5af7910c..11aa20ecc2a 100644 --- a/src/d/actor/d_a_demo_item.cpp +++ b/src/d/actor/d_a_demo_item.cpp @@ -350,14 +350,14 @@ void daDitem_c::set_pos() { }; if (chkArgFlag(0x8)) { - current.pos = field_0x92c; + current.pos = mOffsetPos; return; } else if (chkArgFlag(0x2)) { offset = offset_tbl[1]; } else if (chkArgFlag(0x4)) { offset = offset_tbl[1]; } else if (chkArgFlag(0x10)) { - offset = field_0x92c; + offset = mOffsetPos; } else { offset = offset_tbl[0]; } @@ -508,8 +508,8 @@ int daDitem_c::execute() { if (chkDraw()) { f32 target_scale_x = 1.0f; - if (field_0x938 != 0.0f) { - target_scale_x = field_0x938; + if (mMaxScale != 0.0f) { + target_scale_x = mMaxScale; } cLib_chaseF(&scale.x, target_scale_x, 0.35f); diff --git a/src/d/actor/d_a_npc.cpp b/src/d/actor/d_a_npc.cpp index c94d9d17177..2e6d87532ef 100644 --- a/src/d/actor/d_a_npc.cpp +++ b/src/d/actor/d_a_npc.cpp @@ -595,16 +595,16 @@ void daNpcT_JntAnm_c::setParam(fopAc_ac_c* i_actor, J3DModel* i_model, cXyz* i_e mAttnPos.setall(0.0f); switch (mMode) { - case 0: + case LOOK_NONE: mAttnPosP = NULL; break; - case 1: + case LOOK_PLAYER: mAttnPosP = &daPy_getPlayerActorClass()->attention_info.position; mAttnPos = *mAttnPosP; break; - case 2: { + case LOOK_ACTOR: { fopAc_ac_c* actor = mActrMngr.getActorP(); if (actor != NULL) { mAttnPosP = &actor->attention_info.position; @@ -616,13 +616,13 @@ void daNpcT_JntAnm_c::setParam(fopAc_ac_c* i_actor, J3DModel* i_model, cXyz* i_e break; } - case 3: + case LOOK_POS: if (mAttnPosP != NULL) { mAttnPos = *mAttnPosP; } break; - case 4: { + case LOOK_CAMERA: { camera_class* camera = dComIfGp_getCamera(dComIfGp_getPlayerCameraID(0)); if (camera != NULL) { mAttnPosP = fopCamM_GetEye_p(camera); @@ -631,7 +631,7 @@ void daNpcT_JntAnm_c::setParam(fopAc_ac_c* i_actor, J3DModel* i_model, cXyz* i_e break; } - case 5: + case LOOK_MODE_5: if (mAttnPosP != NULL) { mMinRad[2].y = 0.0f; mMaxRad[2].y = 0.0f; @@ -641,7 +641,7 @@ void daNpcT_JntAnm_c::setParam(fopAc_ac_c* i_actor, J3DModel* i_model, cXyz* i_e } break; - case 6: + case LOOK_MODE_6: if (mAttnPosP != NULL) { mMinRad[2].y = 0.0f; mMaxRad[2].y = 0.0f; @@ -651,8 +651,8 @@ void daNpcT_JntAnm_c::setParam(fopAc_ac_c* i_actor, J3DModel* i_model, cXyz* i_e } break; - case 7: - case 8: { + case LOOK_MODE_7: + case LOOK_MODE_8: { if (cLib_calcTimer(&mTimer) == 0) { field_0x13c ^= 1; mTimer = getTime(); @@ -1177,8 +1177,8 @@ int daNpcT_c::execute() { } /* 8014886C-80148C70 1431AC 0404+00 0/0 0/0 58/58 .text draw__8daNpcT_cFiifP11_GXColorS10fiii */ -int daNpcT_c::draw(int param_0, int i_setEffMtx, f32 param_2, GXColorS10* i_color, f32 param_4, - int i_drawGhost, int i_noShadow, int i_simpleShadow) { +int daNpcT_c::draw(BOOL param_0, BOOL i_setEffMtx, f32 param_2, GXColorS10* i_color, f32 param_4, + BOOL i_drawGhost, BOOL i_noShadow, BOOL i_simpleShadow) { J3DModel* model = mpMorf[0]->getModel(); J3DModelData* modelData = model->getModelData(); field_0xe34 = 1; @@ -1205,7 +1205,7 @@ int daNpcT_c::draw(int param_0, int i_setEffMtx, f32 param_2, GXColorS10* i_colo if (cM3d_IsZero(r) == false) { tevStr.TevColor.r = r * 20.0f; } - } else if (param_0 != 0) { + } else if (param_0) { tevStr.TevColor.g = 20; } @@ -1517,11 +1517,11 @@ void daNpcT_c::ctrlMotion() { restart = TRUE; } - setMotionAnm(anmIdx, morf < 0.0f ? field_0xa84 : morf, restart); + setMotionAnm(anmIdx, morf < 0.0f ? mMorfFrames : morf, restart); field_0xdfc = 0.0f; - if (field_0xa88) { + if (mCreating) { mpMorf[0]->setMorf(0.0f); field_0xdfc = 0.0f; @@ -1538,7 +1538,7 @@ int daNpcT_c::ctrlMsgAnm(int* param_0, int* param_1, fopAc_ac_c* param_2, int pa *param_0 = -1; *param_1 = -1; - if (param_3 != 0 || eventInfo.checkCommandTalk() || field_0xdac != -1) { + if (param_3 != 0 || eventInfo.checkCommandTalk() || mStaffId != -1) { fopAc_ac_c* talk_partner = dComIfGp_event_getTalkPartner(); dMsgObject_c* talk_partner_conv = (dMsgObject_c*)talk_partner; @@ -1691,9 +1691,9 @@ BOOL daNpcT_c::evtProc() { field_0xe26 = true; } else { - if (field_0xdac != -1) { - field_0xe22 = 1; - field_0xdac = -1; + if (mStaffId != -1) { + mMode = MODE_INIT; + mStaffId = -1; } field_0xdb4 = 0; field_0xe26 = true; @@ -1718,7 +1718,7 @@ void daNpcT_c::setFootPos() { mFootROffset = mFootRPos - current.pos; } - if (field_0xa88) { + if (mCreating) { mOldFootLOffset = mFootLOffset; mOldFootROffset = mFootROffset; } @@ -2325,7 +2325,7 @@ int daNpcT_c::getActorDistance(fopAc_ac_c* i_actor, int i_distIndex1, int i_dist /* 8014BBF0-8014BC78 146530 0088+00 0/0 1/1 180/180 .text initTalk__8daNpcT_cFiPP10fopAc_ac_c */ BOOL daNpcT_c::initTalk(int i_flowID, fopAc_ac_c** param_1) { mFlow.init(this, i_flowID, 0, param_1); - field_0xdc8 = fopAcM_searchPlayerAngleY(this); + mPlayerAngle = fopAcM_searchPlayerAngleY(this); if (checkStep()) { mStepMode = 0; } diff --git a/src/d/actor/d_a_npc_hanjo.cpp b/src/d/actor/d_a_npc_hanjo.cpp index cb3a5256eb4..aeb53d4baa1 100644 --- a/src/d/actor/d_a_npc_hanjo.cpp +++ b/src/d/actor/d_a_npc_hanjo.cpp @@ -768,7 +768,7 @@ int daNpc_Hanjo_c::create() { (daNpcT_motionAnmData_c*)l_motionAnmData, l_faceMotionSequenceData, 4, l_motionSequenceData, 4, l_evtList, l_resNameList); mType = getType(); - field_0xa7c = getFlowNodeNo(); + mFlowNodeNo = getFlowNodeNo(); mTwilight = 0; int rv = loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); if (rv == cPhs_COMPLEATE_e) { @@ -789,7 +789,7 @@ int daNpc_Hanjo_c::create() { field_0x9c0.init(&mAcch, 60.0f, 0.0f); reset(); mAcch.Set(fopAcM_GetPosition_p(this), fopAcM_GetOldPosition_p(this), this, 1, - &field_0x8a0, fopAcM_GetSpeed_p(this), fopAcM_GetAngle_p(this), + &mAcchCir, fopAcM_GetSpeed_p(this), fopAcM_GetAngle_p(this), fopAcM_GetShapeAngle_p(this)); mCcStts.Init(daNpc_Hanjo_Param_c::m.field_0x10, 0, this); mCyl1.Set(mCcDCyl); @@ -808,9 +808,9 @@ int daNpc_Hanjo_c::create() { mStones[i].getSphP()->Set(*(dCcD_SrcSph*)&mStoneCcDSph); mStones[i].getSphP()->SetStts(&mCcStts); } - field_0xa88 = 1; + mCreating = 1; Execute(); - field_0xa88 = 0; + mCreating = 0; } return rv; } @@ -1020,11 +1020,11 @@ void daNpc_Hanjo_c::reset() { /* 809F9FCC-809FA050 00102C 0084+00 1/0 0/0 0/0 .text afterJntAnm__13daNpc_Hanjo_cFi */ void daNpc_Hanjo_c::afterJntAnm(int param_1) { if (param_1 == 1) { - mDoMtx_stack_c::YrotM(field_0xd08.getAngleZ(1)); - mDoMtx_stack_c::ZrotM(-field_0xd08.getAngleX(1)); + mDoMtx_stack_c::YrotM(mStagger.getAngleZ(1)); + mDoMtx_stack_c::ZrotM(-mStagger.getAngleX(1)); } else if (param_1 == 4) { - mDoMtx_stack_c::YrotM(field_0xd08.getAngleZ(0)); - mDoMtx_stack_c::ZrotM(field_0xd08.getAngleX(0)); + mDoMtx_stack_c::YrotM(mStagger.getAngleZ(0)); + mDoMtx_stack_c::ZrotM(mStagger.getAngleX(0)); } } @@ -1059,14 +1059,14 @@ void daNpc_Hanjo_c::setParam() { scale.set(daNpc_Hanjo_Param_c::m.field_0x08, daNpc_Hanjo_Param_c::m.field_0x08, daNpc_Hanjo_Param_c::m.field_0x08); mCcStts.SetWeight(daNpc_Hanjo_Param_c::m.field_0x10); - field_0xdec = daNpc_Hanjo_Param_c::m.field_0x14; - field_0xdf0 = daNpc_Hanjo_Param_c::m.field_0x1c; - field_0xdf8 = daNpc_Hanjo_Param_c::m.field_0x50; - field_0x8a0.SetWallR(field_0xdf0); - field_0x8a0.SetWallH(daNpc_Hanjo_Param_c::m.field_0x18); + mCylH = daNpc_Hanjo_Param_c::m.field_0x14; + mWallR = daNpc_Hanjo_Param_c::m.field_0x1c; + mAttnFovY = daNpc_Hanjo_Param_c::m.field_0x50; + mAcchCir.SetWallR(mWallR); + mAcchCir.SetWallH(daNpc_Hanjo_Param_c::m.field_0x18); field_0xde8 = daNpc_Hanjo_Param_c::m.field_0x0c; field_0xa80 = daNpc_Hanjo_Param_c::m.field_0x6c; - field_0xa84 = daNpc_Hanjo_Param_c::m.field_0x44; + mMorfFrames = daNpc_Hanjo_Param_c::m.field_0x44; gravity = daNpc_Hanjo_Param_c::m.field_0x04; } @@ -1074,7 +1074,7 @@ void daNpc_Hanjo_c::setParam() { */ BOOL daNpc_Hanjo_c::checkChangeEvt() { if (!chkAction(&daNpc_Hanjo_c::talk)) { - field_0xe2e[0] = 0; + mPreItemNo = 0; if (dComIfGp_event_chkTalkXY()) { if (dComIfGp_evmng_ChkPresentEnd()) { mEvtNo = 1; @@ -1189,11 +1189,11 @@ BOOL daNpc_Hanjo_c::evtTalk() { BOOL daNpc_Hanjo_c::evtCutProc() { int staffId = dComIfGp_getEventManager().getMyStaffId("Hanjo", this, -1); if (staffId != -1) { - field_0xdac = staffId; + mStaffId = staffId; int actIdx = - dComIfGp_getEventManager().getMyActIdx(field_0xdac, (char**)mCutNameList, 6, 0, 0); - if ((this->*(mCutList[actIdx]))(field_0xdac) != 0) { - dComIfGp_getEventManager().cutEnd(field_0xdac); + dComIfGp_getEventManager().getMyActIdx(mStaffId, (char**)mCutNameList, 6, 0, 0); + if ((this->*(mCutList[actIdx]))(mStaffId) != 0) { + dComIfGp_getEventManager().cutEnd(mStaffId); } return true; } @@ -1207,16 +1207,16 @@ void daNpc_Hanjo_c::action() { cCcD_Obj* hitObj = mCyl1.GetTgHitObj(); if (hitObj->ChkAtType(AT_TYPE_THROW_OBJ) && (fopAcM_GetName(hitActor) != PROC_NPC_TK || mType != TYPE_1)) { - field_0xd08.setParam(this, + mStagger.setParam(this, hitActor, mCurAngle.y); setDamage(0, 7, 0); mDamageTimerStart = 0; mJntAnm.lookNone(1); } } - if (field_0xd08.checkRebirth()) { - field_0xd08.initialize(); - field_0xe22 = 1; + if (mStagger.checkRebirth()) { + mStagger.initialize(); + mMode = 1; } if (field_0x16e0) { if (field_0x16ec == field_0x16e0) { @@ -1381,7 +1381,7 @@ static u8 l_HIO[4]; void daNpc_Hanjo_c::setAttnPos() { cXyz cStack_38(-10.0f, 10.0f, 0.0f); cXyz cStack_44; - field_0xd08.calc(0); + mStagger.calc(0); f32 dVar8 = cM_s2rad(mCurAngle.y - field_0xd7e.y); J3DModel* model = mpMorf[0]->getModel(); mJntAnm.setParam(this, model, &cStack_38, getBackboneJointNo(), getNeckJointNo(), @@ -1423,14 +1423,14 @@ void daNpc_Hanjo_c::setAttnPos() { /* 809FAF90-809FB2C4 001FF0 0334+00 1/0 0/0 0/0 .text setCollision__13daNpc_Hanjo_cFv */ void daNpc_Hanjo_c::setCollision() { cXyz cStack_4c; - if (field_0xe25 == 0) { + if (mHide == 0) { u32 tgType = 0xd8fbfdff; u32 tgSPrm = 0x1f; if (mTwilight != 0) { tgType = 0; tgSPrm = 0; } else { - if (field_0xd08.checkStagger()) { + if (mStagger.checkStagger()) { tgType = 0; tgSPrm = 0; } @@ -1440,8 +1440,8 @@ void daNpc_Hanjo_c::setCollision() { mCyl1.SetTgSPrm(tgSPrm); mCyl1.OnTgNoHitMark(); cStack_4c.set(0.0f, 0.0f, 0.0f); - f32 cylHeight = field_0xdec; - f32 cylRadius = field_0xdf0; + f32 cylHeight = mCylH; + f32 cylRadius = mWallR; mDoMtx_stack_c::YrotS(mCurAngle.y); mDoMtx_stack_c::multVec(&cStack_4c, &cStack_4c); cStack_4c += current.pos; @@ -1566,11 +1566,11 @@ int daNpc_Hanjo_c::chkAction(int (daNpc_Hanjo_c::*action)(void*)) { /* 809FB6F8-809FB7A0 002758 00A8+00 2/2 0/0 0/0 .text * setAction__13daNpc_Hanjo_cFM13daNpc_Hanjo_cFPCvPvPv_i */ int daNpc_Hanjo_c::setAction(int (daNpc_Hanjo_c::*action)(void*)) { - field_0xe22 = 3; + mMode = 3; if (field_0x16ec != NULL) { (this->*field_0x16ec)(NULL); } - field_0xe22 = 0; + mMode = 0; field_0x16ec = action; if (field_0x16ec != NULL) { (this->*field_0x16ec)(NULL); @@ -1659,7 +1659,7 @@ void daNpc_Hanjo_c::dive() { speedF *= 0.5f; field_0x1720 = 1; } else if (field_0x171f == 0) { - if (current.pos.y + field_0xdec < local_34) { + if (current.pos.y + mCylH < local_34) { if (0.0f < speed.y) { cLib_addCalc(&speed.y, 2.0f, 0.5f, 0.5f, 0.5f); } else { @@ -1784,7 +1784,7 @@ int daNpc_Hanjo_c::cutConversationAboutSaru(int staffIdx) { if (dComIfGp_getEventManager().getIsAddvance(staffIdx)) { switch(iVar4) { case 0: - field_0xdc8 = fopAcM_searchPlayerAngleY(this); + mPlayerAngle = fopAcM_searchPlayerAngleY(this); if (checkStep()) { mStepMode = 0; } @@ -1799,8 +1799,8 @@ int daNpc_Hanjo_c::cutConversationAboutSaru(int staffIdx) { break; case 1: mJntAnm.lookPlayer(0); - if (field_0xdc8 != mCurAngle.y) { - step(field_0xdc8, 7, 14, 15, 0); + if (mPlayerAngle != mCurAngle.y) { + step(mPlayerAngle, 7, 14, 15, 0); } else { rv = 1; } @@ -1832,14 +1832,14 @@ int daNpc_Hanjo_c::cutConversation(int param_1) { switch(iVar9) { case 0: mMotionSeqMngr.setNo(0, -1.0f, 0, 0); - initTalk(field_0xa7c, NULL); + initTalk(mFlowNodeNo, NULL); mPlayerActorMngr.entry(daPy_getPlayerActorClass()); break; case 1: case 2: case 3: if (iVar9 == 2) { - initTalk(field_0xa7c, NULL); + initTalk(mFlowNodeNo, NULL); mPlayerActorMngr.entry(daPy_getPlayerActorClass()); } if (iVar6 == 1) { @@ -1854,9 +1854,9 @@ int daNpc_Hanjo_c::cutConversation(int param_1) { switch(iVar9) { case 0: mJntAnm.lookPlayer(0); - if (field_0xdc8 == mCurAngle.y) { + if (mPlayerAngle == mCurAngle.y) { rv = 1; - } else if (step(field_0xdc8, 7, 0xe, 0xf, 0)) { + } else if (step(mPlayerAngle, 7, 0xe, 0xf, 0)) { mFaceMotionSeqMngr.setNo(7, -1.0f, 0, 0); mMotionSeqMngr.setNo(0, -1.0f, 0, 0); } @@ -1868,8 +1868,8 @@ int daNpc_Hanjo_c::cutConversation(int param_1) { if (iVar9 == 2) { mJntAnm.lookNone(0); } - if ((iVar9 == 3 && field_0xdc8 != mCurAngle.y) && - step(field_0xdc8, -1, -1, 15, 0)) + if ((iVar9 == 3 && mPlayerAngle != mCurAngle.y) && + step(mPlayerAngle, -1, -1, 15, 0)) { mFaceMotionSeqMngr.setNo(7, -1.0f, 0, 0); mMotionSeqMngr.setNo(0, -1.0f, 0, 0); @@ -1919,14 +1919,14 @@ int daNpc_Hanjo_c::cutPursuitBee(int param_1) { field_0x170c = 0xffffffff; break; case 1: - field_0xdc4 = 0; + mEventTimer = 0; break; case 3: mFaceMotionSeqMngr.setNo(6, -1.0f, 0, 0); mMotionSeqMngr.setNo(17, -1.0f, 0, 0); - field_0xdc4 = 1; + mEventTimer = 1; mSound.startCreatureVoice(Z2SE_M077_HANJO_05, -1); break; case 4: @@ -1958,7 +1958,7 @@ int daNpc_Hanjo_c::cutPursuitBee(int param_1) { } break; case 1: - if (field_0xdc4 != 0) { + if (mEventTimer != 0) { rv = 1; } else { for (int i = 0; i < 4; i++) { @@ -1966,7 +1966,7 @@ int daNpc_Hanjo_c::cutPursuitBee(int param_1) { fopAc_ac_c* hitActor = mStones[i].getSphP()->GetCoHitObj()->GetAc(); fopAc_ac_c* hitActor2 = dCc_GetAc(hitActor); if (hitActor2 != NULL && fopAcM_GetName(hitActor2) == PROC_E_NEST) { - field_0xdc4 = daNpc_Hanjo_Param_c::m.field_0xb0; + mEventTimer = daNpc_Hanjo_Param_c::m.field_0xb0; } mStones[i].initialize(); } @@ -1974,7 +1974,7 @@ int daNpc_Hanjo_c::cutPursuitBee(int param_1) { } break; case 2: - if (cLib_calcTimer(&field_0xdc4) == 0) { + if (cLib_calcTimer(&mEventTimer) == 0) { rv = 1; } break; @@ -1989,7 +1989,7 @@ int daNpc_Hanjo_c::cutPursuitBee(int param_1) { field_0xd7e.y = mCurAngle.y; cLib_chaseF(&speedF, daNpc_Hanjo_Param_c::m.field_0x90, 0.5f); - if (field_0xdc4 != 0 && + if (mEventTimer != 0 && mCyl1.ChkCoHit()) { fopAc_ac_c* hitActor = mCyl1.GetCoHitAc(); @@ -2005,7 +2005,7 @@ int daNpc_Hanjo_c::cutPursuitBee(int param_1) { } daPy_getPlayerActorClass()->setThrowDamage(angle2, dVar17 * cM_scos(sVar11), dVar17 * cM_ssin(sVar11), 0, 1, 0); field_0x1724 = 1; - field_0xdc4 = 0; + mEventTimer = 0; } } } @@ -2062,7 +2062,7 @@ int daNpc_Hanjo_c::cutAppearHawker(int param_1) { dComIfGp_getVibration().StartShock( 9, 15, cXyz(0.0f, 1.0f, 0.0f)); break; case 1: - field_0xdc4 = iVar7; + mEventTimer = iVar7; break; case 2: initTalk(0xcf, NULL); @@ -2071,16 +2071,16 @@ int daNpc_Hanjo_c::cutAppearHawker(int param_1) { if (iVar7 < 1) { iVar7 = 1; } - field_0xdc4 = iVar7; + mEventTimer = iVar7; break; case 4: mMotionSeqMngr.setNo(13, -1.0f, 0, 0); break; case 5: - field_0xdc4 = iVar7; + mEventTimer = iVar7; break; case 6: - field_0xdc4 = iVar7; + mEventTimer = iVar7; fopAc_ac_c* actor_p = field_0x10c8[2].getActorP(); JUT_ASSERT(3005, 0 != actor_p); ((daNPC_TK_c*)actor_p)->setAttackLink(); @@ -2108,7 +2108,7 @@ int daNpc_Hanjo_c::cutAppearHawker(int param_1) { } break; case 1: - if (cLib_calcTimer(&field_0xdc4) == 0) { + if (cLib_calcTimer(&mEventTimer) == 0) { rv = 1; } break; @@ -2119,8 +2119,8 @@ int daNpc_Hanjo_c::cutAppearHawker(int param_1) { } break; case 3: - if (field_0xdc4 != 0) { - if (cLib_calcTimer(&field_0xdc4) == 0) { + if (mEventTimer != 0) { + if (cLib_calcTimer(&mEventTimer) == 0) { mMotionSeqMngr.setNo(12, 8.0f, 0, 0); actor_p = field_0x10c8[2].getActorP(); JUT_ASSERT(3068, 0 != actor_p); @@ -2143,12 +2143,12 @@ int daNpc_Hanjo_c::cutAppearHawker(int param_1) { break; case 5: mJntAnm.lookCamera(0); - if (cLib_calcTimer(&field_0xdc4) == 0) { + if (cLib_calcTimer(&mEventTimer) == 0) { rv = 1; } break; case 6: - if (cLib_calcTimer(&field_0xdc4) == 0) { + if (cLib_calcTimer(&mEventTimer) == 0) { daNpcT_onEvtBit(0xcf); rv = 1; } @@ -2192,7 +2192,7 @@ int daNpc_Hanjo_c::cutDive(int param_1) { daPy_getPlayerActorClass()->setPlayerPosAndAngle(&cStack_2c, cStack_34.y, 0); dComIfGp_evmng_setGoal(&cStack_2c); initTalk(0xd0, NULL); - field_0xdc4 = uVar4; + mEventTimer = uVar4; break; case 1: fopAc_ac_c* actor_p = field_0x10c8[2].getActorP(); @@ -2214,14 +2214,14 @@ int daNpc_Hanjo_c::cutDive(int param_1) { } switch(iVar5) { case 0: - if (cLib_calcTimer(&field_0xdc4) == 0) { + if (cLib_calcTimer(&mEventTimer) == 0) { mJntAnm.lookPlayer(0); - if (field_0xdc8 == mCurAngle.y) { + if (mPlayerAngle == mCurAngle.y) { rv = 1; } else if (mType == TYPE_1) { - step(field_0xdc8, 7, 10, 0xf, 0); + step(mPlayerAngle, 7, 10, 0xf, 0); } else { - step(field_0xdc8, 7, 0xe, 0xf, 0); + step(mPlayerAngle, 7, 0xe, 0xf, 0); } } break; @@ -2270,10 +2270,10 @@ int daNpc_Hanjo_c::cutDive(int param_1) { /* 809FD86C-809FDEFC 0048CC 0690+00 2/0 0/0 0/0 .text wait__13daNpc_Hanjo_cFPv */ int daNpc_Hanjo_c::wait(void* param_0) { - switch(field_0xe22) { + switch(mMode) { case 0: case 1: - if (!field_0xd08.checkStagger()) { + if (!mStagger.checkStagger()) { switch (mType) { case TYPE_0: if (field_0x1721 != 0) { @@ -2295,7 +2295,7 @@ int daNpc_Hanjo_c::wait(void* param_0) { mMotionSeqMngr.setNo(0, -1.0f, 0, 0); break; } - field_0xe22 = 2; + mMode = 2; } case 2: switch(mType) { @@ -2322,7 +2322,7 @@ int daNpc_Hanjo_c::wait(void* param_0) { } } - if (!field_0xd08.checkStagger()) { + if (!mStagger.checkStagger()) { if (mType == TYPE_0) { if ((daNpcT_chkEvtBit(0xab) || daNpcT_chkEvtBit(0xb7)) && field_0x1721 == 0 && mMotionSeqMngr.getNo() == 2) @@ -2334,12 +2334,12 @@ int daNpc_Hanjo_c::wait(void* param_0) { } if (mPlayerActorMngr.getActorP() != NULL) { mJntAnm.lookPlayer(0); - if (!chkActorInSight(mPlayerActorMngr.getActorP(), field_0xdf8, + if (!chkActorInSight(mPlayerActorMngr.getActorP(), mAttnFovY, mCurAngle.y)) { mJntAnm.lookNone(0); } if (!srchPlayerActor() && home.angle.y == mCurAngle.y) { - field_0xe22 = 1; + mMode = 1; } } else { mJntAnm.lookNone(0); @@ -2347,16 +2347,16 @@ int daNpc_Hanjo_c::wait(void* param_0) { if (field_0xe34 != 0) { if (field_0x1721 != 0) { if (step(home.angle.y, -1, -1, 15, 0)) { - field_0xe22 = 1; + mMode = 1; } } else { if (step(home.angle.y, 7, 14, 15, 0)) { - field_0xe22 = 1; + mMode = 1; } } } else { setAngle(home.angle.y); - field_0xe22 = 1; + mMode = 1; } attention_info.flags = 0; } else { @@ -2395,10 +2395,10 @@ int daNpc_Hanjo_c::wait(void* param_0) { /* 809FDEFC-809FE2E0 004F5C 03E4+00 1/0 0/0 0/0 .text throwStone__13daNpc_Hanjo_cFPv */ int daNpc_Hanjo_c::throwStone(void* param_0) { int sVar4 = daNpc_Hanjo_Param_c::m.field_0xae; - switch(field_0xe22) { + switch(mMode) { case 0: case 1: - if (!field_0xd08.checkStagger()) { + if (!mStagger.checkStagger()) { if (daNpcT_chkEvtBit(0x8b)) { mFaceMotionSeqMngr.setNo(7, -1.0f, 0, 0); mMotionSeqMngr.setNo(0, -1.0f, 0, 0); @@ -2407,7 +2407,7 @@ int daNpc_Hanjo_c::throwStone(void* param_0) { mMotionSeqMngr.setNo(2, -1.0f, 0, 0); field_0x1704 = cLib_getRndValue(sVar4 * 0.5f, sVar4 * 1.5f); } - field_0xe22 = 2; + mMode = 2; } case 2: if (daNpcT_chkEvtBit(0x8b) && !daNpcT_chkEvtBit(0xad) && !daNpcT_chkEvtBit(0xb7)) { @@ -2417,7 +2417,7 @@ int daNpc_Hanjo_c::throwStone(void* param_0) { mEvtNo = 8; } } - if (!field_0xd08.checkStagger()) { + if (!mStagger.checkStagger()) { if (daNpcT_chkEvtBit(0x8b)) { mJntAnm.lookPlayer(0); lookround(fopAcM_searchPlayerAngleY(this)); @@ -2426,11 +2426,11 @@ int daNpc_Hanjo_c::throwStone(void* param_0) { if (home.angle.y != mCurAngle.y) { if (field_0xe34 != 0) { if (step(home.angle.y, 7, 14, 15, 0)) { - field_0xe22 = 1; + mMode = 1; } } else { setAngle(home.angle.y); - field_0xe22 = 1; + mMode = 1; } attention_info.flags = 0; } else { @@ -2447,7 +2447,7 @@ int daNpc_Hanjo_c::throwStone(void* param_0) { cLib_calcTimer(&field_0x1708); field_0x170c = 0xffffffff; } else { - field_0xe22 = 1; + mMode = 1; } } } @@ -2469,10 +2469,10 @@ int daNpc_Hanjo_c::takayose(void* param_0) { f32 dVar8 = daNpc_Hanjo_Param_c::m.field_0xae; cXyz cStack_50; cXyz cStack_5c; - switch (field_0xe22) { + switch (mMode) { case 0: case 1: - if (!field_0xd08.checkStagger()) { + if (!mStagger.checkStagger()) { if (mType == 1) { if (daNpcT_chkEvtBit(0xcf)) { mFaceMotionSeqMngr.setNo(0, -1.0f, 0, 0); @@ -2492,7 +2492,7 @@ int daNpc_Hanjo_c::takayose(void* param_0) { mMotionSeqMngr.setNo(0, -1.0f, 0, 0); } field_0x1710 = cLib_getRndValue(dVar8 * 0.5f, dVar8 * 1.5f); - field_0xe22 = 2; + mMode = 2; } case 2: field_0xe2d = 0; @@ -2521,28 +2521,28 @@ int daNpc_Hanjo_c::takayose(void* param_0) { mEvtNo = 10; } } - if (!field_0xd08.checkStagger()) { + if (!mStagger.checkStagger()) { if (mType == 1) { mPlayerActorMngr.remove(); } if (mPlayerActorMngr.getActorP() != NULL) { mJntAnm.lookPlayer(0); - if (!chkActorInSight(mPlayerActorMngr.getActorP(), field_0xdf8, mCurAngle.y)) { + if (!chkActorInSight(mPlayerActorMngr.getActorP(), mAttnFovY, mCurAngle.y)) { mJntAnm.lookNone(0); } if (!srchPlayerActor() && home.angle.y == mCurAngle.y) { - field_0xe22 = 1; + mMode = 1; } } else { mJntAnm.lookNone(0); if (home.angle.y != mCurAngle.y) { if (field_0xe34 != 0) { if (step(home.angle.y, 7, 14, 15, 0)) { - field_0xe22 = 1; + mMode = 1; } } else { setAngle(home.angle.y); - field_0xe22 = 1; + mMode = 1; } attention_info.flags = 0; } else { @@ -2561,14 +2561,14 @@ int daNpc_Hanjo_c::takayose(void* param_0) { } else { if (dVar1 != 0) { field_0x1714 = 0; - field_0xe22 = 1; + mMode = 1; } else { if (field_0x1714 != 0) { mJntAnm.lookNone(0); if (mMotionSeqMngr.getStepNo() > 0) { field_0x1714++; field_0x1714 &= 1; - field_0xe22 = 1; + mMode = 1; } } else { mJntAnm.lookActor(actor_p, 0.0, 0); @@ -2589,7 +2589,7 @@ int daNpc_Hanjo_c::takayose(void* param_0) { { field_0x1714++; field_0x1714 &= 1; - field_0xe22 = 1; + mMode = 1; } } } @@ -2607,10 +2607,10 @@ int daNpc_Hanjo_c::takayose(void* param_0) { /* 809FEAEC-809FED58 005B4C 026C+00 3/0 0/0 0/0 .text talk__13daNpc_Hanjo_cFPv */ int daNpc_Hanjo_c::talk(void* param_0) { - switch(field_0xe22) { + switch(mMode) { case 0: case 1: - if (!field_0xd08.checkStagger()) { + if (!mStagger.checkStagger()) { if (mType == TYPE_0 && mMotionSeqMngr.getNo() == 2) { mMotionSeqMngr.setNo(0, -1.0f, 0, 0); } @@ -2618,17 +2618,17 @@ int daNpc_Hanjo_c::talk(void* param_0) { initTalk(44, NULL); field_0x1723 = 0; } else { - initTalk(field_0xa7c, NULL); + initTalk(mFlowNodeNo, NULL); } - field_0xe22 = 2; + mMode = 2; } case 2: - if (!field_0xd08.checkStagger()) { - if (mTwilight != 0 || field_0xdc8 == mCurAngle.y) { + if (!mStagger.checkStagger()) { + if (mTwilight != 0 || mPlayerAngle == mCurAngle.y) { if (talkProc(NULL, 0, NULL, 0) && mFlow.checkEndFlow()) { mPlayerActorMngr.entry(daPy_getPlayerActorClass()); dComIfGp_event_reset(); - field_0xe22 = 3; + mMode = 3; } mJntAnm.lookPlayer(0); if (mTwilight != 0) { @@ -2637,9 +2637,9 @@ int daNpc_Hanjo_c::talk(void* param_0) { } else { mJntAnm.lookPlayer(0); if (field_0x1721 != 0) { - step(field_0xdc8, -1, -1, 15, 0); + step(mPlayerAngle, -1, -1, 15, 0); } else { - step(field_0xdc8, 7, 14, 15, 0); + step(mPlayerAngle, 7, 14, 15, 0); } } } diff --git a/src/d/actor/d_a_npc_yelia.cpp b/src/d/actor/d_a_npc_yelia.cpp index 46662d29d8b..1644a83151f 100644 --- a/src/d/actor/d_a_npc_yelia.cpp +++ b/src/d/actor/d_a_npc_yelia.cpp @@ -4,823 +4,1625 @@ */ #include "d/actor/d_a_npc_yelia.h" -#include "dol2asm.h" +#include "d/actor/d_a_demo_item.h" -// -// Forward References: -// - -extern "C" void __dt__13daNpc_Yelia_cFv(); -extern "C" void create__13daNpc_Yelia_cFv(); -extern "C" void CreateHeap__13daNpc_Yelia_cFv(); -extern "C" void __dt__15J3DTevKColorAnmFv(); -extern "C" void __ct__15J3DTevKColorAnmFv(); -extern "C" void __dt__14J3DTevColorAnmFv(); -extern "C" void __ct__14J3DTevColorAnmFv(); -extern "C" void __dt__11J3DTexNoAnmFv(); -extern "C" void __ct__11J3DTexNoAnmFv(); -extern "C" void __dt__12J3DTexMtxAnmFv(); -extern "C" void __ct__12J3DTexMtxAnmFv(); -extern "C" void __dt__14J3DMatColorAnmFv(); -extern "C" void __ct__14J3DMatColorAnmFv(); -extern "C" void Delete__13daNpc_Yelia_cFv(); -extern "C" void Execute__13daNpc_Yelia_cFv(); -extern "C" void Draw__13daNpc_Yelia_cFv(); -extern "C" void createHeapCallBack__13daNpc_Yelia_cFP10fopAc_ac_c(); -extern "C" void ctrlJointCallBack__13daNpc_Yelia_cFP8J3DJointi(); -extern "C" void getType__13daNpc_Yelia_cFv(); -extern "C" void isDelete__13daNpc_Yelia_cFv(); -extern "C" void reset__13daNpc_Yelia_cFv(); -extern "C" void afterJntAnm__13daNpc_Yelia_cFi(); -extern "C" void setParam__13daNpc_Yelia_cFv(); -extern "C" void checkChangeEvt__13daNpc_Yelia_cFv(); -extern "C" void setAfterTalkMotion__13daNpc_Yelia_cFv(); -extern "C" void srchActors__13daNpc_Yelia_cFv(); -extern "C" void evtTalk__13daNpc_Yelia_cFv(); -extern "C" void evtCutProc__13daNpc_Yelia_cFv(); -extern "C" void action__13daNpc_Yelia_cFv(); -extern "C" void beforeMove__13daNpc_Yelia_cFv(); -extern "C" void setAttnPos__13daNpc_Yelia_cFv(); -extern "C" void setCollision__13daNpc_Yelia_cFv(); -extern "C" bool drawDbgInfo__13daNpc_Yelia_cFv(); -extern "C" void selectAction__13daNpc_Yelia_cFv(); -extern "C" void chkAction__13daNpc_Yelia_cFM13daNpc_Yelia_cFPCvPvPv_i(); -extern "C" void setAction__13daNpc_Yelia_cFM13daNpc_Yelia_cFPCvPvPv_i(); -extern "C" void cutConversationAboutLoopHole__13daNpc_Yelia_cFi(); -extern "C" void cutTWResistance__13daNpc_Yelia_cFi(); -extern "C" void cutTakeWoodStatue__13daNpc_Yelia_cFi(); -extern "C" void cutClothTry__13daNpc_Yelia_cFi(); -extern "C" void cutThankYou__13daNpc_Yelia_cFi(); -extern "C" void wait__13daNpc_Yelia_cFPv(); -extern "C" void horseWait__13daNpc_Yelia_cFPv(); -extern "C" void reminiscence__13daNpc_Yelia_cFPv(); -extern "C" void talk__13daNpc_Yelia_cFPv(); -extern "C" static void daNpc_Yelia_Create__FPv(); -extern "C" static void daNpc_Yelia_Delete__FPv(); -extern "C" static void daNpc_Yelia_Execute__FPv(); -extern "C" static void daNpc_Yelia_Draw__FPv(); -extern "C" static bool daNpc_Yelia_IsDelete__FPv(); -extern "C" void calc__11J3DTexNoAnmCFPUs(); -extern "C" void __dt__10cCcD_GSttsFv(); -extern "C" void __dt__8daNpcT_cFv(); -extern "C" void __dt__4cXyzFv(); -extern "C" void __dt__5csXyzFv(); -extern "C" void __dt__18daNpcT_ActorMngr_cFv(); -extern "C" void __dt__13daNpcT_Path_cFv(); -extern "C" void __ct__18daNpcT_ActorMngr_cFv(); -extern "C" void __dt__8cM3dGCylFv(); -extern "C" void __dt__8cM3dGAabFv(); -extern "C" void -__ct__8daNpcT_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc(); -extern "C" void __ct__5csXyzFv(); -extern "C" void __dt__15daNpcT_JntAnm_cFv(); -extern "C" void __ct__4cXyzFv(); -extern "C" void __dt__22daNpcT_MotionSeqMngr_cFv(); -extern "C" void __dt__12dBgS_AcchCirFv(); -extern "C" void __dt__10dCcD_GSttsFv(); -extern "C" void __dt__12dBgS_ObjAcchFv(); -extern "C" void __dt__12J3DFrameCtrlFv(); -extern "C" void setEyeAngleY__15daNpcT_JntAnm_cF4cXyzsifs(); -extern "C" void setEyeAngleX__15daNpcT_JntAnm_cF4cXyzfs(); -extern "C" void ctrlSubFaceMotion__8daNpcT_cFi(); -extern "C" s32 getFootLJointNo__8daNpcT_cFv(); -extern "C" s32 getFootRJointNo__8daNpcT_cFv(); -extern "C" bool getEyeballLMaterialNo__8daNpcT_cFv(); -extern "C" bool getEyeballRMaterialNo__8daNpcT_cFv(); -extern "C" bool evtEndProc__8daNpcT_cFv(); -extern "C" void afterMoved__8daNpcT_cFv(); -extern "C" void decTmr__8daNpcT_cFv(); -extern "C" void drawOtherMdl__8daNpcT_cFv(); -extern "C" void drawGhost__8daNpcT_cFv(); -extern "C" bool afterSetFaceMotionAnm__8daNpcT_cFiifi(); -extern "C" bool afterSetMotionAnm__8daNpcT_cFiifi(); -extern "C" void getFaceMotionAnm__8daNpcT_cF26daNpcT_faceMotionAnmData_c(); -extern "C" void getMotionAnm__8daNpcT_cF22daNpcT_motionAnmData_c(); -extern "C" void changeAnm__8daNpcT_cFPiPi(); -extern "C" void changeBck__8daNpcT_cFPiPi(); -extern "C" void changeBtp__8daNpcT_cFPiPi(); -extern "C" void changeBtk__8daNpcT_cFPiPi(); -extern "C" void func_80B52004(void* _this, int*); -extern "C" void __sinit_d_a_npc_yelia_cpp(); -extern "C" void -__ct__13daNpc_Yelia_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc(); -extern "C" s32 getEyeballMaterialNo__13daNpc_Yelia_cFv(); -extern "C" s32 getHeadJointNo__13daNpc_Yelia_cFv(); -extern "C" s32 getNeckJointNo__13daNpc_Yelia_cFv(); -extern "C" bool getBackboneJointNo__13daNpc_Yelia_cFv(); -extern "C" void checkChangeJoint__13daNpc_Yelia_cFi(); -extern "C" void checkRemoveJoint__13daNpc_Yelia_cFi(); -extern "C" bool chkXYItems__13daNpc_Yelia_cFv(); -extern "C" void __dt__19daNpc_Yelia_Param_cFv(); -extern "C" static void func_80B52274(); -extern "C" static void func_80B5227C(); -extern "C" void setOffsetPos__9daDitem_cF4cXyz(); -extern "C" u8 const m__19daNpc_Yelia_Param_c[140]; -extern "C" extern char const* const d_a_npc_yelia__stringBase0; -extern "C" void* mCutNameList__13daNpc_Yelia_c[6]; -extern "C" u8 mCutList__13daNpc_Yelia_c[72]; - -// -// External References: -// - -extern "C" void mDoMtx_YrotS__FPA4_fs(); -extern "C" void mDoMtx_YrotM__FPA4_fs(); -extern "C" void mDoMtx_ZrotM__FPA4_fs(); -extern "C" void -__ct__16mDoExt_McaMorfSOFP12J3DModelDataP25mDoExt_McaMorfCallBack1_cP25mDoExt_McaMorfCallBack2_cP15J3DAnmTransformifiiP10Z2CreatureUlUl(); -extern "C" void stopZelAnime__16mDoExt_McaMorfSOFv(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void __dt__10fopAc_ac_cFv(); -extern "C" void fopAc_IsActor__FPv(); -extern "C" void fopAcM_SearchByID__FUiPP10fopAc_ac_c(); -extern "C" void fopAcM_delete__FP10fopAc_ac_c(); -extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl(); -extern "C" void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff(); -extern "C" void fopAcM_searchActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c(); -extern "C" void fopAcM_createItemForPresentDemo__FPC4cXyziUciiPC5csXyzPC4cXyz(); -extern "C" void fpcEx_IsExist__FUi(); -extern "C" void dStage_changeScene__FifUlScsi(); -extern "C" void getLayerNo__14dComIfG_play_cFi(); -extern "C" void dComIfGs_wolfeye_effect_check__Fv(); -extern "C" void setWarashibeItem__17dSv_player_item_cFUc(); -extern "C" void onSwitch__12dSv_memBit_cFi(); -extern "C" void hide__12daItemBase_cFv(); -extern "C" void show__12daItemBase_cFv(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void reset__14dEvt_control_cFv(); -extern "C" void setSkipZev__14dEvt_control_cFPvPc(); -extern "C" void onSkipFade__14dEvt_control_cFv(); -extern "C" void setPtT__14dEvt_control_cFPv(); -extern "C" void getMyStaffId__16dEvent_manager_cFPCcP10fopAc_ac_ci(); -extern "C" void getIsAddvance__16dEvent_manager_cFi(); -extern "C" void getMyActIdx__16dEvent_manager_cFiPCPCciii(); -extern "C" void getMySubstanceP__16dEvent_manager_cFiPCci(); -extern "C" void cutEnd__16dEvent_manager_cFi(); -extern "C" void setGoal__16dEvent_manager_cFP4cXyz(); -extern "C" void getRunEventName__16dEvent_manager_cFv(); -extern "C" void ChkPresentEnd__16dEvent_manager_cFv(); -extern "C" void __ct__12dBgS_AcchCirFv(); -extern "C" void SetWallR__12dBgS_AcchCirFf(); -extern "C" void __dt__9dBgS_AcchFv(); -extern "C" void __ct__9dBgS_AcchFv(); -extern "C" void Set__9dBgS_AcchFP4cXyzP4cXyzP10fopAc_ac_ciP12dBgS_AcchCirP4cXyzP5csXyzP5csXyz(); -extern "C" void CrrPos__9dBgS_AcchFR4dBgS(); -extern "C" void __ct__11dBgS_GndChkFv(); -extern "C" void __dt__11dBgS_GndChkFv(); -extern "C" void __ct__11dBgS_LinChkFv(); -extern "C" void __dt__11dBgS_LinChkFv(); -extern "C" void SetObj__16dBgS_PolyPassChkFv(); -extern "C" void __ct__10dCcD_GSttsFv(); -extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c(); -extern "C" void __ct__12dCcD_GObjInfFv(); -extern "C" void __dt__12dCcD_GObjInfFv(); -extern "C" void Set__8dCcD_CylFRC11dCcD_SrcCyl(); -extern "C" void initialize__18daNpcT_ActorMngr_cFv(); -extern "C" void entry__18daNpcT_ActorMngr_cFP10fopAc_ac_c(); -extern "C" void remove__18daNpcT_ActorMngr_cFv(); -extern "C" void getActorP__18daNpcT_ActorMngr_cFv(); -extern "C" void initialize__15daNpcT_MatAnm_cFv(); -extern "C" void initialize__22daNpcT_MotionSeqMngr_cFv(); -extern "C" void checkEndSequence__22daNpcT_MotionSeqMngr_cFv(); -extern "C" void initialize__13daNpcT_Path_cFv(); -extern "C" void initialize__15daNpcT_JntAnm_cFv(); -extern "C" void setParam__15daNpcT_JntAnm_cFP10fopAc_ac_cP8J3DModelP4cXyziiiffffffffffP4cXyz(); -extern "C" void calcJntRad__15daNpcT_JntAnm_cFfff(); -extern "C" void calc__19daNpcT_DmgStagger_cFi(); -extern "C" void tgHitCallBack__8daNpcT_cFP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf(); -extern "C" void loadRes__8daNpcT_cFPCScPPCc(); -extern "C" void deleteRes__8daNpcT_cFPCScPPCc(); -extern "C" void execute__8daNpcT_cFv(); -extern "C" void draw__8daNpcT_cFiifP11_GXColorS10fiii(); -extern "C" void setEnvTevColor__8daNpcT_cFv(); -extern "C" void setRoomNo__8daNpcT_cFv(); -extern "C" void ctrlBtk__8daNpcT_cFv(); -extern "C" void setMtx__8daNpcT_cFv(); -extern "C" void ctrlJoint__8daNpcT_cFP8J3DJointP8J3DModel(); -extern "C" void evtProc__8daNpcT_cFv(); -extern "C" void setFootPos__8daNpcT_cFv(); -extern "C" void setFootPrtcl__8daNpcT_cFP4cXyzff(); -extern "C" bool checkCullDraw__8daNpcT_cFv(); -extern "C" void twilight__8daNpcT_cFv(); -extern "C" void evtOrder__8daNpcT_cFv(); -extern "C" void evtChange__8daNpcT_cFv(); -extern "C" void clrParam__8daNpcT_cFv(); -extern "C" void setFaceMotionAnm__8daNpcT_cFib(); -extern "C" void setMotionAnm__8daNpcT_cFifi(); -extern "C" void setAngle__8daNpcT_cFs(); -extern "C" void hitChk__8daNpcT_cFP12dCcD_GObjInfUl(); -extern "C" void chkActorInSight__8daNpcT_cFP10fopAc_ac_cfs(); -extern "C" void srchPlayerActor__8daNpcT_cFv(); -extern "C" void step__8daNpcT_cFsiiii(); -extern "C" void initTalk__8daNpcT_cFiPP10fopAc_ac_c(); -extern "C" void talkProc__8daNpcT_cFPiiPP10fopAc_ac_ci(); -extern "C" void getNearestActorP__8daNpcT_cFs(); -extern "C" void daNpcT_getPlayerInfoFromPlayerList__FiiP4cXyzP5csXyz(); -extern "C" void daNpcT_getDistTableIdx__Fii(); -extern "C" void daNpcT_onEvtBit__FUl(); -extern "C" void daNpcT_chkEvtBit__FUl(); -extern "C" void daNpcT_offTmpBit__FUl(); -extern "C" void __ct__10dMsgFlow_cFv(); -extern "C" void __dt__10dMsgFlow_cFv(); -extern "C" void remove__10dMsgFlow_cFv(); -extern "C" void Set__4cCcSFP8cCcD_Obj(); -extern "C" void __pl__4cXyzCFRC3Vec(); -extern "C" void __mi__4cXyzCFRC3Vec(); -extern "C" void cM_atan2s__Fff(); -extern "C" void cM_rndF__Ff(); -extern "C" void __ct__11cBgS_GndChkFv(); -extern "C" void __dt__11cBgS_GndChkFv(); -extern "C" void __dt__13cBgS_PolyInfoFv(); -extern "C" void __dt__8cM3dGCirFv(); -extern "C" void SetC__8cM3dGCylFRC4cXyz(); -extern "C" void SetH__8cM3dGCylFf(); -extern "C" void SetR__8cM3dGCylFf(); -extern "C" void cLib_addCalcAngleS2__FPssss(); -extern "C" void __ct__10Z2CreatureFv(); -extern "C" void __dt__10Z2CreatureFv(); -extern "C" void init__10Z2CreatureFP3VecP3VecUcUc(); -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); -extern "C" void init__12J3DFrameCtrlFs(); -extern "C" void getTexNo__16J3DAnmTexPatternCFUsPUs(); -extern "C" void initialize__14J3DMaterialAnmFv(); -extern "C" void __destroy_arr(); -extern "C" void __construct_array(); -extern "C" void __ptmf_test(); -extern "C" void __ptmf_cmpr(); -extern "C" void __ptmf_scall(); -extern "C" void _savegpr_22(); -extern "C" void _savegpr_25(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_22(); -extern "C" void _restgpr_25(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" extern u8 const __ptmf_null[12 + 4 /* padding */]; -extern "C" extern void* __vt__8dCcD_Cyl[36]; -extern "C" extern void* __vt__9dCcD_Stts[11]; -extern "C" u8 mCcDCyl__8daNpcT_c[68]; -extern "C" extern void* __vt__8daNpcT_c[49]; -extern "C" extern void* __vt__15daNpcT_MatAnm_c[4 + 1 /* padding */]; -extern "C" extern void* __vt__12cCcD_CylAttr[25]; -extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; -extern "C" extern void* __vt__9cCcD_Stts[8]; -extern "C" extern void* __vt__14J3DMaterialAnm[4]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; -extern "C" void __register_global_object(); - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 80B52408-80B52408 000154 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80B52408 = ""; -SECTION_DEAD static char const* const stringBase_80B52409 = "NO_RESPONSE"; -SECTION_DEAD static char const* const stringBase_80B52415 = "TW_RESISTANCE1"; -SECTION_DEAD static char const* const stringBase_80B52424 = "TW_RESISTANCE2"; -SECTION_DEAD static char const* const stringBase_80B52433 = "TAKE_WOODSTATUE"; -SECTION_DEAD static char const* const stringBase_80B52443 = "THANK_YOU"; -SECTION_DEAD static char const* const stringBase_80B5244D = "Yelia"; -SECTION_DEAD static char const* const stringBase_80B52453 = "Yelia0"; -SECTION_DEAD static char const* const stringBase_80B5245A = "Yelia1"; -SECTION_DEAD static char const* const stringBase_80B52461 = "Yelia2"; -SECTION_DEAD static char const* const stringBase_80B52468 = "Yelia3"; -SECTION_DEAD static char const* const stringBase_80B5246F = "Yelia4"; -SECTION_DEAD static char const* const stringBase_80B52476 = "yelB_TW"; -SECTION_DEAD static char const* const stringBase_80B5247E = "CONVERSATION_ABOUT_LOOPHOLE"; -SECTION_DEAD static char const* const stringBase_80B5249A = "TW_RESISTANCE"; -SECTION_DEAD static char const* const stringBase_80B524A8 = "CLOTH_TRY"; -#pragma pop - -/* 80B524DC-80B524E8 000000 000C+00 4/4 0/0 0/0 .data cNullVec__6Z2Calc */ -SECTION_DATA static u8 cNullVec__6Z2Calc[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; - -/* 80B524E8-80B524FC 00000C 0004+10 0/0 0/0 0/0 .data @1787 */ -#pragma push -#pragma force_active on -SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = { - 0x02000201, - /* padding */ - 0x40080000, - 0x00000000, - 0x3FE00000, - 0x00000000, -}; -#pragma pop +UNK_REL_DATA /* 80B524FC-80B52514 000020 0018+00 1/1 0/0 0/0 .data l_bmdData */ -SECTION_DATA static u8 l_bmdData[24] = { - 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, - 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x07, +static daNpc_GetParam1 l_bmdData[3] = { + {3, 1}, + {3, 4}, + {8, 7}, }; /* 80B52514-80B52544 -00001 0030+00 1/2 0/0 0/0 .data l_evtList */ -SECTION_DATA static void* l_evtList[12] = { - (void*)&d_a_npc_yelia__stringBase0, - (void*)NULL, - (void*)(((char*)&d_a_npc_yelia__stringBase0) + 0x1), - (void*)NULL, - (void*)(((char*)&d_a_npc_yelia__stringBase0) + 0xD), - (void*)0x00000007, - (void*)(((char*)&d_a_npc_yelia__stringBase0) + 0x1C), - (void*)0x00000007, - (void*)(((char*)&d_a_npc_yelia__stringBase0) + 0x2B), - (void*)0x00000006, - (void*)(((char*)&d_a_npc_yelia__stringBase0) + 0x3B), - (void*)0x00000006, +static daNpcT_evtData_c l_evtList[6] = { + {"", 0}, + {"NO_RESPONSE", 0}, + {"TW_RESISTANCE1", 7}, + {"TW_RESISTANCE2", 7}, + {"TAKE_WOODSTATUE", 6}, + {"THANK_YOU", 6}, }; /* 80B52544-80B52564 -00001 0020+00 2/3 0/0 0/0 .data l_resNameList */ -SECTION_DATA static void* l_resNameList[8] = { - (void*)&d_a_npc_yelia__stringBase0, - (void*)(((char*)&d_a_npc_yelia__stringBase0) + 0x45), - (void*)(((char*)&d_a_npc_yelia__stringBase0) + 0x4B), - (void*)(((char*)&d_a_npc_yelia__stringBase0) + 0x52), - (void*)(((char*)&d_a_npc_yelia__stringBase0) + 0x59), - (void*)(((char*)&d_a_npc_yelia__stringBase0) + 0x60), - (void*)(((char*)&d_a_npc_yelia__stringBase0) + 0x67), - (void*)(((char*)&d_a_npc_yelia__stringBase0) + 0x6E), +static char* l_resNameList[8] = { + "", + "Yelia", + "Yelia0", + "Yelia1", + "Yelia2", + "Yelia3", + "Yelia4", + "yelB_TW", }; /* 80B52564-80B52568 000088 0004+00 1/0 0/0 0/0 .data l_loadResPtrn0 */ -SECTION_DATA static u32 l_loadResPtrn0 = 0x010203FF; +static s8 l_loadResPtrn0[4] = {1, 2, 3, -1}; /* 80B52568-80B5256C 00008C 0003+01 1/0 0/0 0/0 .data l_loadResPtrn1 */ -SECTION_DATA static u8 l_loadResPtrn1[3 + 1 /* padding */] = { - 0x02, - 0x04, - 0xFF, - /* padding */ - 0x00, -}; +static s8 l_loadResPtrn1[3] = {2, 4, -1}; /* 80B5256C-80B52570 000090 0004+00 1/0 0/0 0/0 .data l_loadResPtrn2 */ -SECTION_DATA static u32 l_loadResPtrn2 = 0x010205FF; +static s8 l_loadResPtrn2[4] = {1, 2, 5, -1}; /* 80B52570-80B52574 000094 0004+00 1/0 0/0 0/0 .data l_loadResPtrn3 */ -SECTION_DATA static u32 l_loadResPtrn3 = 0x020406FF; +static s8 l_loadResPtrn3[4] = {2, 4, 6, -1}; /* 80B52574-80B52578 000098 0004+00 1/0 0/0 0/0 .data l_loadResPtrn4 */ -SECTION_DATA static u32 l_loadResPtrn4 = 0x020706FF; +static s8 l_loadResPtrn4[4] = {2, 7, 6, -1}; /* 80B52578-80B52580 00009C 0005+03 1/0 0/0 0/0 .data l_loadResPtrn5 */ -SECTION_DATA static u8 l_loadResPtrn5[5 + 3 /* padding */] = { - 0x02, - 0x04, - 0x07, - 0x06, - 0xFF, - /* padding */ - 0x00, - 0x00, - 0x00, -}; +static s8 l_loadResPtrn5[5] = {2, 4, 7, 6, -1}; /* 80B52580-80B52588 0000A4 0008+00 1/0 0/0 0/0 .data l_loadResPtrn9 */ -SECTION_DATA static u8 l_loadResPtrn9[8] = { - 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0xFF, -}; +static s8 l_loadResPtrn9[8] = {1, 2, 3, 4, 5, 6, 7, -1}; /* 80B52588-80B525B0 -00001 0028+00 1/2 0/0 0/0 .data l_loadResPtrnList */ -SECTION_DATA static void* l_loadResPtrnList[10] = { - (void*)&l_loadResPtrn0, (void*)&l_loadResPtrn1, (void*)&l_loadResPtrn2, (void*)&l_loadResPtrn3, - (void*)&l_loadResPtrn4, (void*)&l_loadResPtrn5, (void*)&l_loadResPtrn3, (void*)&l_loadResPtrn3, - (void*)&l_loadResPtrn9, (void*)&l_loadResPtrn0, +static s8* l_loadResPtrnList[10] = { + l_loadResPtrn0, l_loadResPtrn1, l_loadResPtrn2, l_loadResPtrn3, l_loadResPtrn4, + l_loadResPtrn5, l_loadResPtrn3, l_loadResPtrn3, l_loadResPtrn9, l_loadResPtrn0, }; /* 80B525B0-80B528C0 0000D4 0310+00 0/1 0/0 0/0 .data l_faceMotionAnmData */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 l_faceMotionAnmData[784] = { - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x12, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, - 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x13, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, - 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x32, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, - 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x38, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, - 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x2C, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, - 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x14, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, +static daNpcT_faceMotionAnmData_c l_faceMotionAnmData[] = { + {-1, J3DFrameCtrl::LOOP_ONCE_e, 0, 19, J3DFrameCtrl::LOOP_REPEAT_e, 2, TRUE}, + {7, J3DFrameCtrl::LOOP_ONCE_e, 2, 19, J3DFrameCtrl::LOOP_REPEAT_e, 2, TRUE}, + {-1, J3DFrameCtrl::LOOP_ONCE_e, 0, -1, J3DFrameCtrl::LOOP_ONCE_e, 0, FALSE}, + {-1, J3DFrameCtrl::LOOP_ONCE_e, 0, -1, J3DFrameCtrl::LOOP_ONCE_e, 0, FALSE}, + {5, J3DFrameCtrl::LOOP_ONCE_e, 3, 18, J3DFrameCtrl::LOOP_ONCE_e, 3, FALSE}, + {6, J3DFrameCtrl::LOOP_ONCE_e, 3, 19, J3DFrameCtrl::LOOP_ONCE_e, 3, FALSE}, + {6, J3DFrameCtrl::LOOP_REPEAT_e, 5, 20, J3DFrameCtrl::LOOP_REPEAT_e, 5, FALSE}, + {5, J3DFrameCtrl::LOOP_ONCE_e, 5, 19, J3DFrameCtrl::LOOP_ONCE_e, 5, FALSE}, + {7, J3DFrameCtrl::LOOP_REPEAT_e, 5, 19, J3DFrameCtrl::LOOP_REPEAT_e, 2, TRUE}, + {8, J3DFrameCtrl::LOOP_ONCE_e, 5, 19, J3DFrameCtrl::LOOP_REPEAT_e, 2, TRUE}, + {14, J3DFrameCtrl::LOOP_ONCE_e, 6, 49, J3DFrameCtrl::LOOP_ONCE_e, 6, FALSE}, + {16, J3DFrameCtrl::LOOP_ONCE_e, 6, 51, J3DFrameCtrl::LOOP_ONCE_e, 6, FALSE}, + {15, J3DFrameCtrl::LOOP_ONCE_e, 6, 50, J3DFrameCtrl::LOOP_ONCE_e, 6, FALSE}, + {12, J3DFrameCtrl::LOOP_ONCE_e, 6, 47, J3DFrameCtrl::LOOP_ONCE_e, 6, FALSE}, + {13, J3DFrameCtrl::LOOP_ONCE_e, 6, 48, J3DFrameCtrl::LOOP_ONCE_e, 6, FALSE}, + {10, J3DFrameCtrl::LOOP_ONCE_e, 6, 45, J3DFrameCtrl::LOOP_ONCE_e, 6, FALSE}, + {21, J3DFrameCtrl::LOOP_REPEAT_e, 6, 56, J3DFrameCtrl::LOOP_REPEAT_e, 6, FALSE}, + {22, J3DFrameCtrl::LOOP_REPEAT_e, 6, 57, J3DFrameCtrl::LOOP_REPEAT_e, 6, FALSE}, + {18, J3DFrameCtrl::LOOP_REPEAT_e, 6, 53, J3DFrameCtrl::LOOP_REPEAT_e, 6, FALSE}, + {20, J3DFrameCtrl::LOOP_REPEAT_e, 6, 55, J3DFrameCtrl::LOOP_REPEAT_e, 6, FALSE}, + {9, J3DFrameCtrl::LOOP_ONCE_e, 6, 44, J3DFrameCtrl::LOOP_ONCE_e, 6, FALSE}, + {17, J3DFrameCtrl::LOOP_REPEAT_e, 6, 52, J3DFrameCtrl::LOOP_REPEAT_e, 6, FALSE}, + {11, J3DFrameCtrl::LOOP_ONCE_e, 6, 46, J3DFrameCtrl::LOOP_ONCE_e, 6, FALSE}, + {19, J3DFrameCtrl::LOOP_REPEAT_e, 6, 54, J3DFrameCtrl::LOOP_REPEAT_e, 6, FALSE}, + {5, J3DFrameCtrl::LOOP_ONCE_e, 2, 20, J3DFrameCtrl::LOOP_ONCE_e, 2, FALSE}, + {8, J3DFrameCtrl::LOOP_REPEAT_e, 2, 22, J3DFrameCtrl::LOOP_REPEAT_e, 2, FALSE}, + {6, J3DFrameCtrl::LOOP_REPEAT_e, 2, 21, J3DFrameCtrl::LOOP_REPEAT_e, 2, FALSE}, + {9, J3DFrameCtrl::LOOP_REPEAT_e, 2, 23, J3DFrameCtrl::LOOP_REPEAT_e, 2, FALSE}, }; -#pragma pop /* 80B528C0-80B52C94 0003E4 03D4+00 0/1 0/0 0/0 .data l_motionAnmData */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 l_motionAnmData[980] = { - 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x10, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0F, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, - 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, - 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0F, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, - 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x29, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, - 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x10, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, - 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x10, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, - 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x10, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, - 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x10, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x01, 0x00, 0x00, +static daNpcT_motionAnmData_c l_motionAnmData[] = { + {13, J3DFrameCtrl::LOOP_REPEAT_e, 2, 16, J3DFrameCtrl::LOOP_ONCE_e, 2, TRUE}, + {-1, J3DFrameCtrl::LOOP_ONCE_e, 0, -1, J3DFrameCtrl::LOOP_ONCE_e, 0, FALSE}, + {-1, J3DFrameCtrl::LOOP_ONCE_e, 0, -1, J3DFrameCtrl::LOOP_ONCE_e, 0, FALSE}, + {-1, J3DFrameCtrl::LOOP_ONCE_e, 0, -1, J3DFrameCtrl::LOOP_ONCE_e, 0, FALSE}, + {10, J3DFrameCtrl::LOOP_REPEAT_e, 3, 15, J3DFrameCtrl::LOOP_REPEAT_e, 3, FALSE}, + {-1, J3DFrameCtrl::LOOP_ONCE_e, 0, -1, J3DFrameCtrl::LOOP_ONCE_e, 0, FALSE}, + {11, J3DFrameCtrl::LOOP_REPEAT_e, 3, 16, J3DFrameCtrl::LOOP_ONCE_e, 2, TRUE}, + {9, J3DFrameCtrl::LOOP_ONCE_e, 3, 16, J3DFrameCtrl::LOOP_ONCE_e, 2, TRUE}, + {-1, J3DFrameCtrl::LOOP_ONCE_e, 0, -1, J3DFrameCtrl::LOOP_ONCE_e, 0, FALSE}, + {-1, J3DFrameCtrl::LOOP_ONCE_e, 0, -1, J3DFrameCtrl::LOOP_ONCE_e, 0, FALSE}, + {7, J3DFrameCtrl::LOOP_ONCE_e, 3, 16, J3DFrameCtrl::LOOP_ONCE_e, 2, TRUE}, + {8, J3DFrameCtrl::LOOP_ONCE_e, 3, 14, J3DFrameCtrl::LOOP_ONCE_e, 3, FALSE}, + {10, J3DFrameCtrl::LOOP_REPEAT_e, 5, 15, J3DFrameCtrl::LOOP_REPEAT_e, 5, FALSE}, + {9, J3DFrameCtrl::LOOP_ONCE_e, 5, 14, J3DFrameCtrl::LOOP_ONCE_e, 5, FALSE}, + {11, J3DFrameCtrl::LOOP_REPEAT_e, 5, 16, J3DFrameCtrl::LOOP_REPEAT_e, 5, FALSE}, + {35, J3DFrameCtrl::LOOP_REPEAT_e, 6, 16, J3DFrameCtrl::LOOP_ONCE_e, 2, TRUE}, + {34, J3DFrameCtrl::LOOP_REPEAT_e, 6, 41, J3DFrameCtrl::LOOP_REPEAT_e, 6, FALSE}, + {33, J3DFrameCtrl::LOOP_REPEAT_e, 6, 40, J3DFrameCtrl::LOOP_REPEAT_e, 6, FALSE}, + {31, J3DFrameCtrl::LOOP_ONCE_e, 6, 16, J3DFrameCtrl::LOOP_ONCE_e, 2, TRUE}, + {30, J3DFrameCtrl::LOOP_REPEAT_e, 6, 16, J3DFrameCtrl::LOOP_ONCE_e, 2, TRUE}, + {27, J3DFrameCtrl::LOOP_ONCE_e, 6, 16, J3DFrameCtrl::LOOP_ONCE_e, 2, TRUE}, + {28, J3DFrameCtrl::LOOP_REPEAT_e, 6, 16, J3DFrameCtrl::LOOP_ONCE_e, 2, TRUE}, + {25, J3DFrameCtrl::LOOP_ONCE_e, 6, 38, J3DFrameCtrl::LOOP_ONCE_e, 6, FALSE}, + {26, J3DFrameCtrl::LOOP_REPEAT_e, 6, 39, J3DFrameCtrl::LOOP_REPEAT_e, 6, FALSE}, + {6, J3DFrameCtrl::LOOP_ONCE_e, 6, 16, J3DFrameCtrl::LOOP_ONCE_e, 2, TRUE}, + {8, J3DFrameCtrl::LOOP_REPEAT_e, 6, 16, J3DFrameCtrl::LOOP_ONCE_e, 2, TRUE}, + {12, J3DFrameCtrl::LOOP_ONCE_e, 2, 16, J3DFrameCtrl::LOOP_ONCE_e, 2, TRUE}, + {5, J3DFrameCtrl::LOOP_REPEAT_e, 7, 16, J3DFrameCtrl::LOOP_ONCE_e, 2, TRUE}, + {32, J3DFrameCtrl::LOOP_ONCE_e, 6, 16, J3DFrameCtrl::LOOP_ONCE_e, 2, FALSE}, + {29, J3DFrameCtrl::LOOP_REPEAT_e, 6, 16, J3DFrameCtrl::LOOP_ONCE_e, 2, TRUE}, + {7, J3DFrameCtrl::LOOP_ONCE_e, 6, 16, J3DFrameCtrl::LOOP_ONCE_e, 2, FALSE}, + {23, J3DFrameCtrl::LOOP_ONCE_e, 6, 16, J3DFrameCtrl::LOOP_ONCE_e, 2, FALSE}, + {24, J3DFrameCtrl::LOOP_REPEAT_e, 6, 16, J3DFrameCtrl::LOOP_ONCE_e, 2, FALSE}, + {10, J3DFrameCtrl::LOOP_ONCE_e, 2, 16, J3DFrameCtrl::LOOP_ONCE_e, 2, TRUE}, + {11, J3DFrameCtrl::LOOP_ONCE_e, 2, 16, J3DFrameCtrl::LOOP_ONCE_e, 2, TRUE}, }; -#pragma pop /* 80B52C94-80B52E44 0007B8 01B0+00 0/1 0/0 0/0 .data l_faceMotionSequenceData */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 l_faceMotionSequenceData[432] = { - 0x00, 0x01, 0xFF, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x02, 0xFF, 0x01, 0x00, 0x03, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x07, 0xFF, 0x01, 0x00, 0x09, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x0A, 0xFF, 0x01, 0x00, 0x10, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x0B, 0xFF, 0x01, 0x00, 0x11, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x0C, 0xFF, 0x01, 0x00, 0x11, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x0D, 0xFF, 0x01, 0x00, 0x12, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x0E, 0xFF, 0x01, 0x00, 0x13, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x0F, 0xFF, 0x01, 0x00, 0x12, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x14, 0xFF, 0x01, 0x00, 0x15, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x18, 0xFF, 0x01, 0x00, 0x19, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x1A, 0xFF, 0x01, 0x00, 0x1B, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x03, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x04, 0xFF, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x05, 0xFF, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x09, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x06, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x10, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x11, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x12, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x13, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x15, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x19, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x16, 0xFF, 0x00, 0x00, 0x17, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x17, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x1B, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, +static daNpcT_MotionSeqMngr_c::sequenceStepData_c l_faceMotionSequenceData[] = { + {1, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {2, -1, 1}, {3, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, + {7, -1, 1}, {9, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {10, -1, 1}, {16, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {11, -1, 1}, {17, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {12, -1, 1}, {17, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {13, -1, 1}, {18, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {14, -1, 1}, {19, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {15, -1, 1}, {18, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {20, -1, 1}, {21, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {24, -1, 1}, {25, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {26, -1, 1}, {27, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {3, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {4, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {5, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {9, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {6, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {16, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {17, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {18, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {19, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {21, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {25, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {22, -1, 0}, {23, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {23, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {27, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {0, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, }; -#pragma pop /* 80B52E44-80B53064 000968 0220+00 0/1 0/0 0/0 .data l_motionSequenceData */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 l_motionSequenceData[544] = { - 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x02, 0xFF, 0x01, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x03, 0xFF, 0x01, 0x00, 0x01, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x0C, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x07, 0xFF, 0x01, 0x00, 0x06, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x06, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x0D, 0xFF, 0x01, 0x00, 0x0E, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x0F, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x10, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x11, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x12, 0xFF, 0x01, 0x00, 0x13, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x13, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x14, 0xFF, 0x01, 0x00, 0x15, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x15, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x16, 0xFF, 0x01, 0x00, 0x17, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x17, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x18, 0xFF, 0x01, 0x00, 0x19, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x19, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x1B, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x1D, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x21, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x22, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x04, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x05, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x08, 0xFF, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x09, 0xFF, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x0A, 0xFF, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x0B, 0xFF, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x0E, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x1C, 0xFF, 0x00, 0x00, 0x0F, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x1A, 0x04, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x1E, 0x04, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x1F, 0xFF, 0x00, 0x00, 0x20, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x20, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, +static daNpcT_MotionSeqMngr_c::sequenceStepData_c l_motionSequenceData[] = { + {0, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {2, -1, 1}, {0, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, + {3, -1, 1}, {1, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, + {12, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {7, -1, 1}, {6, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, + {6, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {13, -1, 1}, {14, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {15, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {16, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {17, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {18, -1, 1}, {19, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {19, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {20, -1, 1}, {21, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {21, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {22, -1, 1}, {23, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {23, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {24, -1, 1}, {25, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {25, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {27, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {29, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {33, -1, 1}, {0, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {34, -1, 1}, {0, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {4, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {5, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {8, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {9, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {10, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {11, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {14, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {28, -1, 0}, {15, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {26, 4, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {30, 4, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {31, -1, 0}, {32, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {32, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, }; -#pragma pop /* 80B53064-80B5307C -00001 0018+00 1/1 0/0 0/0 .data mCutNameList__13daNpc_Yelia_c */ -SECTION_DATA void* daNpc_Yelia_c::mCutNameList[6] = { - (void*)&d_a_npc_yelia__stringBase0, - (void*)(((char*)&d_a_npc_yelia__stringBase0) + 0x76), - (void*)(((char*)&d_a_npc_yelia__stringBase0) + 0x92), - (void*)(((char*)&d_a_npc_yelia__stringBase0) + 0x2B), - (void*)(((char*)&d_a_npc_yelia__stringBase0) + 0xA0), - (void*)(((char*)&d_a_npc_yelia__stringBase0) + 0x3B), +char* daNpc_Yelia_c::mCutNameList[6] = { + "", + "CONVERSATION_ABOUT_LOOPHOLE", + "TW_RESISTANCE", + "TAKE_WOODSTATUE", + "CLOTH_TRY", + "THANK_YOU", }; -/* 80B5307C-80B53088 -00001 000C+00 0/1 0/0 0/0 .data @3926 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3926[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cutConversationAboutLoopHole__13daNpc_Yelia_cFi, -}; -#pragma pop - -/* 80B53088-80B53094 -00001 000C+00 0/1 0/0 0/0 .data @3927 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3927[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cutTWResistance__13daNpc_Yelia_cFi, -}; -#pragma pop - -/* 80B53094-80B530A0 -00001 000C+00 0/1 0/0 0/0 .data @3928 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3928[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cutTakeWoodStatue__13daNpc_Yelia_cFi, -}; -#pragma pop - -/* 80B530A0-80B530AC -00001 000C+00 0/1 0/0 0/0 .data @3929 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3929[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cutClothTry__13daNpc_Yelia_cFi, -}; -#pragma pop - -/* 80B530AC-80B530B8 -00001 000C+00 0/1 0/0 0/0 .data @3930 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3930[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cutThankYou__13daNpc_Yelia_cFi, -}; -#pragma pop - /* 80B530B8-80B53100 000BDC 0048+00 1/2 0/0 0/0 .data mCutList__13daNpc_Yelia_c */ -SECTION_DATA u8 daNpc_Yelia_c::mCutList[72] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +BOOL (daNpc_Yelia_c::*daNpc_Yelia_c::mCutList[6])(int) = { + NULL, + &cutConversationAboutLoopHole, + &cutTWResistance, + &cutTakeWoodStatue, + &cutClothTry, + &cutThankYou, }; -/* 80B53100-80B53124 -00001 0024+00 1/1 0/0 0/0 .data @4570 */ -SECTION_DATA static void* lit_4570[9] = { - (void*)(((char*)getType__13daNpc_Yelia_cFv) + 0x28), - (void*)(((char*)getType__13daNpc_Yelia_cFv) + 0x30), - (void*)(((char*)getType__13daNpc_Yelia_cFv) + 0x38), - (void*)(((char*)getType__13daNpc_Yelia_cFv) + 0x40), - (void*)(((char*)getType__13daNpc_Yelia_cFv) + 0x48), - (void*)(((char*)getType__13daNpc_Yelia_cFv) + 0x50), - (void*)(((char*)getType__13daNpc_Yelia_cFv) + 0x58), - (void*)(((char*)getType__13daNpc_Yelia_cFv) + 0x60), - (void*)(((char*)getType__13daNpc_Yelia_cFv) + 0x68), +enum Type { + /* 0 */ TYPE_HORSE, + /* 1 */ TYPE_1, + /* 2 */ TYPE_REMINISCENCE, + /* 3 */ TYPE_KAKARIKO, + /* 4 */ TYPE_TWILIGHT, + /* 5 */ TYPE_AFTER_ESCORT, + /* 6 */ TYPE_WOOD_STATUE, + /* 7 */ TYPE_MEMORIES_RESTORED, + /* 8 */ TYPE_8, }; -/* 80B53124-80B53148 -00001 0024+00 1/1 0/0 0/0 .data @4592 */ -SECTION_DATA static void* lit_4592[9] = { - (void*)(((char*)isDelete__13daNpc_Yelia_cFv) + 0x34), - (void*)(((char*)isDelete__13daNpc_Yelia_cFv) + 0x3C), - (void*)(((char*)isDelete__13daNpc_Yelia_cFv) + 0x44), - (void*)(((char*)isDelete__13daNpc_Yelia_cFv) + 0x4C), - (void*)(((char*)isDelete__13daNpc_Yelia_cFv) + 0x7C), - (void*)(((char*)isDelete__13daNpc_Yelia_cFv) + 0x84), - (void*)(((char*)isDelete__13daNpc_Yelia_cFv) + 0xB4), - (void*)(((char*)isDelete__13daNpc_Yelia_cFv) + 0xE4), - (void*)(((char*)isDelete__13daNpc_Yelia_cFv) + 0xF8), +enum Event { + /* 0 */ EVENT_NONE, + /* 1 */ EVENT_NO_RESPONSE, + /* 2 */ EVENT_TW_RESISTANCE1, + /* 3 */ EVENT_TW_RESISTANCE2, + /* 4 */ EVENT_TAKE_WOODSTATUE, + /* 5 */ EVENT_THANK_YOU, }; -/* 80B53148-80B53154 -00001 000C+00 1/1 0/0 0/0 .data @4704 */ -SECTION_DATA static void* lit_4704[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)talk__13daNpc_Yelia_cFPv, +enum FaceMotion { + /* 0x00 */ FACE_TALK_A, + /* 0x01 */ FACE_1, + /* 0x02 */ FACE_KAISOU_TALK, + /* 0x03 */ FACE_SAD, + /* 0x04 */ FACE_TO_THINK, + /* 0x05 */ FACE_THINK, + /* 0x06 */ FACE_REMEMBER, + /* 0x07 */ FACE_REMEMBERING, + /* 0x08 */ FACE_INTENSE, + /* 0x09 */ FACE_ASK, + /* 0x0A */ FACE_HAPPY_TALK, + /* 0x0B */ FACE_LISTEN, + /* 0x0C */ FACE_12, + /* 0x0D */ FACE_HORSE_LOOKBACK, + /* 0x0E */ FACE_HORSE_RETURN, + /* 0x0F */ FACE_H_KAISOU_TALK, + /* 0x10 */ FACE_KAISOU_WAIT_A, + /* 0x11 */ FACE_H_SAD, + /* 0x12 */ FACE_H_THINK, + /* 0x13 */ FACE_H_INTENSE, + /* 0x14 */ FACE_H_REMEMBERING, + /* 0x15 */ FACE_H_ASK, + /* 0x16 */ FACE_H_HAPPY_TALK, + /* 0x17 */ FACE_KIZUKU, + /* 0x18 */ FACE_H_KIZUKU, + /* 0x19 */ FACE_H_LISTEN, + /* 0x1A */ FACE_NONE, }; -/* 80B53154-80B531B4 -00001 0060+00 1/1 0/0 0/0 .data @4804 */ -SECTION_DATA static void* lit_4804[24] = { - (void*)(((char*)setAfterTalkMotion__13daNpc_Yelia_cFv) + 0x9C), - (void*)(((char*)setAfterTalkMotion__13daNpc_Yelia_cFv) + 0x40), - (void*)(((char*)setAfterTalkMotion__13daNpc_Yelia_cFv) + 0x48), - (void*)(((char*)setAfterTalkMotion__13daNpc_Yelia_cFv) + 0x50), - (void*)(((char*)setAfterTalkMotion__13daNpc_Yelia_cFv) + 0x58), - (void*)(((char*)setAfterTalkMotion__13daNpc_Yelia_cFv) + 0x60), - (void*)(((char*)setAfterTalkMotion__13daNpc_Yelia_cFv) + 0x68), - (void*)(((char*)setAfterTalkMotion__13daNpc_Yelia_cFv) + 0x70), - (void*)(((char*)setAfterTalkMotion__13daNpc_Yelia_cFv) + 0x78), - (void*)(((char*)setAfterTalkMotion__13daNpc_Yelia_cFv) + 0x80), - (void*)(((char*)setAfterTalkMotion__13daNpc_Yelia_cFv) + 0x88), - (void*)(((char*)setAfterTalkMotion__13daNpc_Yelia_cFv) + 0x98), - (void*)(((char*)setAfterTalkMotion__13daNpc_Yelia_cFv) + 0x9C), - (void*)(((char*)setAfterTalkMotion__13daNpc_Yelia_cFv) + 0x9C), - (void*)(((char*)setAfterTalkMotion__13daNpc_Yelia_cFv) + 0x9C), - (void*)(((char*)setAfterTalkMotion__13daNpc_Yelia_cFv) + 0x9C), - (void*)(((char*)setAfterTalkMotion__13daNpc_Yelia_cFv) + 0x9C), - (void*)(((char*)setAfterTalkMotion__13daNpc_Yelia_cFv) + 0x9C), - (void*)(((char*)setAfterTalkMotion__13daNpc_Yelia_cFv) + 0x9C), - (void*)(((char*)setAfterTalkMotion__13daNpc_Yelia_cFv) + 0x9C), - (void*)(((char*)setAfterTalkMotion__13daNpc_Yelia_cFv) + 0x9C), - (void*)(((char*)setAfterTalkMotion__13daNpc_Yelia_cFv) + 0x9C), - (void*)(((char*)setAfterTalkMotion__13daNpc_Yelia_cFv) + 0x9C), - (void*)(((char*)setAfterTalkMotion__13daNpc_Yelia_cFv) + 0x90), +enum Motion { + /* 0x00 */ MOTION_WAIT_A, + /* 0x01 */ MOTION_1, + /* 0x02 */ MOTION_2, + /* 0x03 */ MOTION_KAISOU_WAIT_A, + /* 0x04 */ MOTION_HORSE_TALK_A, + /* 0x05 */ MOTION_HORSE_WAIT_C, + /* 0x06 */ MOTION_KAISOU_TALK, + /* 0x07 */ MOTION_WAIT_WORRY, + /* 0x08 */ MOTION_WAIT_WONDER, + /* 0x09 */ MOTION_WAIT_UTUMUKU, + /* 0x0A */ MOTION_TO_THINK, + /* 0x0B */ MOTION_THINK, + /* 0x0C */ MOTION_REMEMBER, + /* 0x0D */ MOTION_REMEMBERING, + /* 0x0E */ MOTION_LOOK, + /* 0x0F */ MOTION_LOOKING, + /* 0x10 */ MOTION_ASK, + /* 0x11 */ MOTION_ASKING, + /* 0x12 */ MOTION_DEMO_WAIT_SIT, + /* 0x13 */ MOTION_SITTALK_A, + /* 0x14 */ MOTION_HAPPYTALK, + /* 0x15 */ MOTION_LISTEN, + /* 0x16 */ MOTION_HORSE_WAIT_A, + /* 0x17 */ MOTION_17, + /* 0x18 */ MOTION_18, + /* 0x19 */ MOTION_19, + /* 0x1A */ MOTION_HORSE_LOOKBACK, + /* 0x1B */ MOTION_HORSE_RETURN, + /* 0x1C */ MOTION_KAISOU_WAIT_B, + /* 0x1D */ MOTION_TO_WORRY, + /* 0x1E */ MOTION_STEP, + /* 0x1F */ MOTION_ASK_STEP, + /* 0x20 */ MOTION_KIZUKU, + /* 0x21 */ MOTION_KIZUKU_WAIT, }; -/* 80B531B4-80B531C0 -00001 000C+00 1/1 0/0 0/0 .data @4833 */ -SECTION_DATA static void* lit_4833[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)talk__13daNpc_Yelia_cFPv, +daNpc_Yelia_Param_c::param const daNpc_Yelia_Param_c::m = { + 170.0f, // mAttnOffsetY + -3.0f, // mGravity + 1.0f, // mScale + 400.0f, // mShadowDepth + 255.0f, // mCcWeight + 160.0f, // mCylH + 35.0f, // mWallH + 30.0f, // mWallR + 0.0f, // mBodyUpAngle + 0.0f, // mBodyDownAngle + 10.0f, // mBodyLeftAngle + -10.0f, // mBodyRightAngle + 30.0f, // mHeadUpAngle + -10.0f, // mHeadDownAngle + 45.0f, // mHeadLeftAngle + -45.0f, // mHeadRightAngle + 0.6f, // mNeckAngleScl + 12.0f, // mMorfFrames + 3, // mSpeakDistIdx + 6, // mSpeakAngleIdx + 5, // mTalkDistIdx + 6, // mTalkAngleIdx + 110.0f, // mAttnFovY + 0.0f, // mAttnRadius + 0.0f, // mAttnUpperY + 0.0f, // mAttnLowerY + 60, + 8, // mDamageTimer + 0, // mTestExpression + 0, // mTestMotion + 0, // mTestLookMode + false, // mTest + 4.0f, + 0.0f, + 0.0f, + 0.0f, + 0.0f, + 0.0f, + 0.0f, + 0.0f, }; -/* 80B531C0-80B531CC -00001 000C+00 1/1 0/0 0/0 .data @4838 */ -SECTION_DATA static void* lit_4838[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)talk__13daNpc_Yelia_cFPv, -}; +/* 80B533FC-80B53400 000014 0004+00 1/1 0/0 0/0 .bss l_HIO */ +static daNpc_Yelia_Param_c l_HIO; -/* 80B531CC-80B531D8 -00001 000C+00 0/1 0/0 0/0 .data @5091 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5091[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)horseWait__13daNpc_Yelia_cFPv, -}; -#pragma pop +/* 80B4D30C-80B4D458 0000EC 014C+00 1/0 0/0 0/0 .text __dt__13daNpc_Yelia_cFv */ +daNpc_Yelia_c::~daNpc_Yelia_c() { + if (mpMorf[0] != NULL) { + mpMorf[0]->stopZelAnime(); + } + deleteRes(l_loadResPtrnList[mType], (const char**)l_resNameList); +} -/* 80B531D8-80B531E4 -00001 000C+00 0/1 0/0 0/0 .data @5093 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5093[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)reminiscence__13daNpc_Yelia_cFPv, -}; -#pragma pop +/* 80B4D458-80B4D754 000238 02FC+00 1/1 0/0 0/0 .text create__13daNpc_Yelia_cFv */ +cPhs__Step daNpc_Yelia_c::create() { + if (!fopAcM_CheckCondition(this, fopAcCnd_INIT_e)) { + new (this) daNpc_Yelia_c(l_faceMotionAnmData, l_motionAnmData, l_faceMotionSequenceData, 4, + l_motionSequenceData, 4, l_evtList, l_resNameList); + fopAcM_OnCondition(this, fopAcCnd_INIT_e); + } -/* 80B531E4-80B531F0 -00001 000C+00 0/1 0/0 0/0 .data @5095 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5095[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)wait__13daNpc_Yelia_cFPv, -}; -#pragma pop + mType = getType(); + mFlowNodeNo = getFlowNodeNo(); + mTwilight = false; + if (mType == TYPE_TWILIGHT) { + mTwilight = true; + } -/* 80B531F0-80B531FC -00001 000C+00 0/1 0/0 0/0 .data @5906 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5906[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)horseWait__13daNpc_Yelia_cFPv, -}; -#pragma pop + cPhs__Step step = (cPhs__Step)loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); -/* 80B531FC-80B53208 -00001 000C+00 0/1 0/0 0/0 .data @5912 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5912[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)horseWait__13daNpc_Yelia_cFPv, -}; -#pragma pop + if (step == cPhs_COMPLEATE_e) { + if (isDelete()) { + return cPhs_ERROR_e; + } -/* 80B53208-80B53214 -00001 000C+00 0/1 0/0 0/0 .data @5919 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5919[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)horseWait__13daNpc_Yelia_cFPv, -}; -#pragma pop + static const int heapSize[] = {0x44d0, 0, 0x44d0, 0x44d0, 0x4410, + 0x44d0, 0x44d0, 0x44d0, 0x44d0, 0}; + if (!fopAcM_entrySolidHeap(this, createHeapCallBack, heapSize[mType])) { + return cPhs_ERROR_e; + } -/* 80B53214-80B53220 -00001 000C+00 0/1 0/0 0/0 .data @5931 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5931[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)horseWait__13daNpc_Yelia_cFPv, -}; -#pragma pop + fopAcM_SetMtx(this, mpMorf[0]->getModel()->getBaseTRMtx()); + fopAcM_setCullSizeBox(this, -200.0f, -100.0f, -200.0f, 200.0f, 300.0, 200.0f); + mSound.init(¤t.pos, &eyePos, 3, 1); + reset(); + mAcch.Set(fopAcM_GetPosition_p(this), fopAcM_GetOldPosition_p(this), this, 1, &mAcchCir, + fopAcM_GetSpeed_p(this), fopAcM_GetAngle_p(this), fopAcM_GetShapeAngle_p(this)); + mCcStts.Init(l_HIO.m.mCcWeight, 0, this); + mCcCyl.Set(mCcDCyl); + mCcCyl.SetStts(&mCcStts); + mCcCyl.SetTgHitCallback(tgHitCallBack); + if (mType == TYPE_TWILIGHT || mType == TYPE_AFTER_ESCORT) { + mAcch.SetGrndNone(); + mAcch.SetWallNone(); + } + mAcch.CrrPos(dComIfG_Bgsp()); + mGndChk = mAcch.m_gnd; + mGroundH = mAcch.GetGroundH(); + if (mGroundH != -1.0e9f) { + setEnvTevColor(); + setRoomNo(); + } + reset(); + mCreating = true; + Execute(); + mCreating = false; + } + + return step; +} + +/* 80B4D754-80B4DA64 000534 0310+00 1/1 0/0 0/0 .text CreateHeap__13daNpc_Yelia_cFv */ +int daNpc_Yelia_c::CreateHeap() { + int bmd_idx = 1; + if (mTwilight) { + bmd_idx = 2; + } else if (mType == TYPE_HORSE || mType == TYPE_REMINISCENCE || mType == TYPE_8) { + bmd_idx = 0; + } + + J3DModelData* model_data = static_cast( + dComIfG_getObjectRes(l_resNameList[l_bmdData[bmd_idx].arcIdx], l_bmdData[bmd_idx].fileIdx)); + if (model_data == NULL) { + return 0; + } + + mpMorf[0] = new mDoExt_McaMorfSO(model_data, NULL, NULL, NULL, -1, 1.0f, 0, -1, + &mSound, 0x80000, 0x11020284); + if (mpMorf[0] == NULL || mpMorf[0]->getModel() == NULL) { + return 0; + } + + J3DModel* model = mpMorf[0]->getModel(); + for (u16 i = 0; i < model_data->getJointNum(); i++) { + model_data->getJointNodePointer(i)->setCallBack(ctrlJointCallBack); + } + model->setUserArea((u32)this); + + mpMatAnm = new daNpcT_MatAnm_c(); + if (mpMatAnm == NULL) { + return 0; + } + + if (mTwilight) { + if (setFaceMotionAnm(1, false) && setMotionAnm(0, 0.0f, 0)) { + return 1; + } else { + return 0; + } + } else { + if (setFaceMotionAnm(1, false) && setMotionAnm(0, 0.0f, 0)) { + return 1; + } else { + return 0; + } + } +} + +/* 80B4DC20-80B4DC54 000A00 0034+00 1/1 0/0 0/0 .text Delete__13daNpc_Yelia_cFv */ +int daNpc_Yelia_c::Delete() { + this->~daNpc_Yelia_c(); + return 1; +} + +/* 80B4DC54-80B4DC74 000A34 0020+00 2/2 0/0 0/0 .text Execute__13daNpc_Yelia_cFv */ +int daNpc_Yelia_c::Execute() { + return execute(); +} + +/* 80B4DC74-80B4DD08 000A54 0094+00 1/1 0/0 0/0 .text Draw__13daNpc_Yelia_cFv */ +int daNpc_Yelia_c::Draw() { + if (mpMatAnm != NULL) { + J3DModelData* model_data = mpMorf[0]->getModel()->getModelData(); + model_data->getMaterialNodePointer(getEyeballMaterialNo())->setMaterialAnm(mpMatAnm); + } + return draw(FALSE, FALSE, field_0xde8, NULL, 100.0f, FALSE, FALSE, FALSE); +} + +/* 80B4DD08-80B4DD28 000AE8 0020+00 1/1 0/0 0/0 .text + * createHeapCallBack__13daNpc_Yelia_cFP10fopAc_ac_c */ +int daNpc_Yelia_c::createHeapCallBack(fopAc_ac_c* i_this) { + return static_cast(i_this)->CreateHeap(); +} + +/* 80B4DD28-80B4DD80 000B08 0058+00 1/1 0/0 0/0 .text + * ctrlJointCallBack__13daNpc_Yelia_cFP8J3DJointi */ +int daNpc_Yelia_c::ctrlJointCallBack(J3DJoint* i_joint, int param_1) { + if (param_1 == 0) { + J3DModel* model = j3dSys.getModel(); + daNpc_Yelia_c* _this = (daNpc_Yelia_c*)model->getUserArea(); + if (_this != NULL) { + _this->ctrlJoint(i_joint, model); + } + } + return 1; +} + +/* 80B4DD80-80B4DDF8 000B60 0078+00 2/1 0/0 0/0 .text getType__13daNpc_Yelia_cFv */ +u8 daNpc_Yelia_c::getType() { + switch (fopAcM_GetParam(this) & 0xff) { + case 0: + return TYPE_HORSE; + case 1: + return TYPE_1; + case 2: + return TYPE_REMINISCENCE; + case 3: + return TYPE_KAKARIKO; + case 4: + return TYPE_TWILIGHT; + case 5: + return TYPE_AFTER_ESCORT; + case 6: + return TYPE_WOOD_STATUE; + case 7: + return TYPE_MEMORIES_RESTORED; + case 8: + return TYPE_8; + default: + return TYPE_REMINISCENCE; + } +} + +/* 80B4DDF8-80B4DF10 000BD8 0118+00 2/1 0/0 0/0 .text isDelete__13daNpc_Yelia_cFv */ +BOOL daNpc_Yelia_c::isDelete() { + switch (mType) { + case TYPE_HORSE: + return false; + case TYPE_1: + return false; + case TYPE_REMINISCENCE: + return false; + case TYPE_KAKARIKO: + return !daNpcT_chkEvtBit(0x108) || daNpcT_chkEvtBit(0x11f); + case TYPE_TWILIGHT: + return false; + case TYPE_AFTER_ESCORT: + return !daNpcT_chkEvtBit(0x44) || daNpcT_chkEvtBit(0x108); + case TYPE_WOOD_STATUE: + return !daNpcT_chkEvtBit(0x11f) || daNpcT_chkEvtBit(0x120); + case TYPE_MEMORIES_RESTORED: + return !daNpcT_chkEvtBit(0x120); + case TYPE_8: + return false; + default: + return false; + } +} + +/* 80B4DF10-80B4E068 000CF0 0158+00 1/1 0/0 0/0 .text reset__13daNpc_Yelia_cFv */ +void daNpc_Yelia_c::reset() { + u32 size = (u32)&field_0xfec - (u32)&mpNextAction; + if (mpMatAnm != NULL) { + mpMatAnm->initialize(); + } + initialize(); + for (int i = 0; i < 4; i++) { + mActorMngr[i].initialize(); + } + memset(&mpNextAction, 0, size); + mItemId = -1; + setAngle(home.angle.y); +} + +/* 80B4E068-80B4E0F4 000E48 008C+00 1/0 0/0 0/0 .text afterJntAnm__13daNpc_Yelia_cFi */ +void daNpc_Yelia_c::afterJntAnm(int i_jointNo) { + if (i_jointNo == 1) { + mDoMtx_stack_c::YrotM(-mStagger.getAngleZ(1)); + mDoMtx_stack_c::ZrotM(mStagger.getAngleX(1)); + } else if (i_jointNo == 4) { + mDoMtx_stack_c::YrotM(-mStagger.getAngleZ(0)); + mDoMtx_stack_c::ZrotM(mStagger.getAngleX(0)); + } +} + +/* 80B4E0F4-80B4E2C0 000ED4 01CC+00 1/0 0/0 0/0 .text setParam__13daNpc_Yelia_cFv */ +void daNpc_Yelia_c::setParam() { + selectAction(); + srchActors(); + + s16 speak_dist_idx = l_HIO.m.mSpeakDistIdx; + s16 speak_angle_idx = l_HIO.m.mSpeakAngleIdx; + s16 talk_dist_idx = l_HIO.m.mTalkDistIdx; + s16 talk_angle_idx = l_HIO.m.mTalkAngleIdx; + if (mType == TYPE_8) { + speak_dist_idx = 16; + speak_angle_idx = 6; + talk_dist_idx = 19; + talk_angle_idx = 6; + } else if (mType == TYPE_KAKARIKO && !daNpcT_chkEvtBit(0x11f)) { + speak_angle_idx = 3; + talk_angle_idx = 3; + } + if (daPy_getPlayerActorClass()->checkHorseRide()) { + if (speak_dist_idx < 7) { + speak_dist_idx = 7; + } + if (talk_dist_idx < 9) { + talk_dist_idx = 9; + } + } + attention_info.distances[fopAc_attn_LOCK_e] = + daNpcT_getDistTableIdx(talk_dist_idx, talk_angle_idx); + attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[fopAc_attn_LOCK_e]; + attention_info.distances[fopAc_attn_SPEAK_e] = + daNpcT_getDistTableIdx(speak_dist_idx, speak_angle_idx); + attention_info.flags = 0xa; + + scale.set(l_HIO.m.mScale, l_HIO.m.mScale, l_HIO.m.mScale); + mCcStts.SetWeight(l_HIO.m.mCcWeight); + mCylH = l_HIO.m.mCylH; + mWallR = l_HIO.m.mWallR; + mAttnFovY = l_HIO.m.mAttnFovY; + if (mType == TYPE_8) { + mAttnFovY = 135.0f; + } + mAcchCir.SetWallR(mWallR); + mAcchCir.SetWallH(l_HIO.m.mWallH); + field_0xde8 = l_HIO.m.mShadowDepth; + gravity = l_HIO.m.mGravity; + field_0xa80 = l_HIO.m.field_0x6c; + mMorfFrames = l_HIO.m.mMorfFrames; + if (mType == TYPE_TWILIGHT || mType == TYPE_AFTER_ESCORT) { + mAcch.SetGrndNone(); + mAcch.SetWallNone(); + gravity = 0.0f; + } +} + +/* 80B4E2C0-80B4E5BC 0010A0 02FC+00 1/0 0/0 0/0 .text checkChangeEvt__13daNpc_Yelia_cFv + */ +BOOL daNpc_Yelia_c::checkChangeEvt() { + if (!chkAction(&talk)) { + mPreItemNo = 0; + if (dComIfGp_event_chkTalkXY()) { + if (dComIfGp_evmng_ChkPresentEnd()) { + mPreItemNo = dComIfGp_event_getPreItemNo(); + if (mType == TYPE_WOOD_STATUE && daNpcT_chkEvtBit(0x11f) + && mPreItemNo == fpcNm_ITEM_IRIAS_PENDANT) + { + if (mPendantTimer >= 70) { + dStage_changeScene(10, 0.0f, 0, fopAcM_GetRoomNo(this), 0, + dComIfG_play_c::getLayerNo(0)); + } else { + if (mPendantTimer == 0) { + mSound.startCreatureVoice(Z2SE_YELIA_V_LOOK_KIBORI, -1); + } else if (mPendantTimer == 8) { + mFaceMotionSeqMngr.setNo(FACE_KIZUKU, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_KIZUKU, -1.0f, FALSE, 0); + } + mJntAnm.lookPlayer(false); + cLib_addCalcAngleS2(¤t.angle.y, fopAcM_searchPlayerAngleY(this), + 4, 0x800); + shape_angle.y = current.angle.y; + mCurAngle.y = shape_angle.y; + } + mPendantTimer++; + } + else if (mType == TYPE_KAKARIKO && !daNpcT_chkEvtBit(0x11f) + && mPreItemNo == fpcNm_ITEM_WOOD_STATUE) + { + mEvtNo = EVENT_TAKE_WOODSTATUE; + evtChange(); + } else { + mEvtNo = EVENT_NO_RESPONSE; + evtChange(); + } + } + return TRUE; + } + + switch (mType) { + case TYPE_TWILIGHT: + if (daNpcT_chkEvtBit(0x115)) { + mEvtNo = 3; + } else { + mEvtNo = 2; + } + evtChange(); + return TRUE; + case TYPE_AFTER_ESCORT: + mEvtNo = EVENT_THANK_YOU; + evtChange(); + return TRUE; + case TYPE_HORSE: + case TYPE_1: + case TYPE_REMINISCENCE: + case TYPE_KAKARIKO: + case TYPE_WOOD_STATUE: + case TYPE_MEMORIES_RESTORED: + case TYPE_8: + break; + } + } + + return FALSE; +} + +/* 80B4E5BC-80B4E6A0 00139C 00E4+00 2/0 0/0 0/0 .text setAfterTalkMotion__13daNpc_Yelia_cFv */ +void daNpc_Yelia_c::setAfterTalkMotion() { + int no = FACE_NONE; + switch (mFaceMotionSeqMngr.getNo()) { + case FACE_1: + no = FACE_12; + break; + case FACE_KAISOU_TALK: + no = FACE_H_KAISOU_TALK; + break; + case FACE_SAD: + no = FACE_H_SAD; + break; + case FACE_TO_THINK: + no = FACE_H_THINK; + break; + case FACE_THINK: + no = FACE_H_THINK; + break; + case FACE_REMEMBER: + no = FACE_H_INTENSE; + break; + case FACE_REMEMBERING: + no = FACE_H_REMEMBERING; + break; + case FACE_INTENSE: + no = FACE_H_INTENSE; + break; + case FACE_ASK: + no = FACE_H_ASK; + break; + case FACE_HAPPY_TALK: + no = FACE_H_HAPPY_TALK; + break; + case FACE_KIZUKU: + no = FACE_H_KIZUKU; + break; + case FACE_LISTEN: + no = FACE_H_LISTEN; + break; + } + mFaceMotionSeqMngr.setNo(no, -1.0f, FALSE, 0); +} + +/* 80B4E6A0-80B4E7C8 001480 0128+00 1/1 0/0 0/0 .text srchActors__13daNpc_Yelia_cFv */ +void daNpc_Yelia_c::srchActors() { + switch (mType) { + case TYPE_KAKARIKO: + if (mActorMngr[2].getActorP() == NULL) { + mActorMngr[2].entry(getNearestActorP(PROC_NPC_GRD)); + } + if (mActorMngr[3].getActorP() == NULL) { + mActorMngr[3].entry(getNearestActorP(PROC_NPC_GRZ)); + } + break; + case TYPE_TWILIGHT: + if (mActorMngr[0].getActorP() == NULL) { + mActorMngr[0].entry(getNearestActorP(PROC_NPC_THE)); + } + if (mActorMngr[1].getActorP() == NULL) { + mActorMngr[1].entry(getNearestActorP(PROC_NPC_ZRC)); + } + break; + case TYPE_AFTER_ESCORT: + if (mActorMngr[1].getActorP() == NULL) { + mActorMngr[1].entry(getNearestActorP(PROC_NPC_KOLINB)); + } + break; + case TYPE_HORSE: + case TYPE_1: + case TYPE_REMINISCENCE: + case TYPE_WOOD_STATUE: + case TYPE_MEMORIES_RESTORED: + case TYPE_8: + break; + } +} + +/* 80B4E7C8-80B4E868 0015A8 00A0+00 1/0 0/0 0/0 .text evtTalk__13daNpc_Yelia_cFv */ +BOOL daNpc_Yelia_c::evtTalk() { + if (chkAction(&talk)) { + (this->*mpAction)(NULL); + } else { + setAction(&talk); + } + return TRUE; +} + +/* 80B4E868-80B4E930 001648 00C8+00 1/0 0/0 0/0 .text evtCutProc__13daNpc_Yelia_cFv */ +BOOL daNpc_Yelia_c::evtCutProc() { + int staff_id = dComIfGp_getEventManager().getMyStaffId("Yelia", this, -1); + if (staff_id != -1) { + mStaffId = staff_id; + int act_idx = dComIfGp_getEventManager().getMyActIdx(mStaffId, mCutNameList, 6, 0, 0); + if ((this->*mCutList[act_idx])(mStaffId)) { + dComIfGp_getEventManager().cutEnd(mStaffId); + } + return TRUE; + } else { + return FALSE; + } +} + +/* 80B4E930-80B4EA28 001710 00F8+00 1/0 0/0 0/0 .text action__13daNpc_Yelia_cFv */ +void daNpc_Yelia_c::action() { + hitChk(&mCcCyl, -1); + if (mStagger.checkRebirth()) { + mStagger.initialize(); + mMode = MODE_INIT; + } + if (mpNextAction != NULL) { + if (mpAction == mpNextAction) { + (this->*mpAction)(NULL); + } else { + setAction(mpNextAction); + } + } +} + +/* 80B4EA28-80B4EAEC 001808 00C4+00 1/0 0/0 0/0 .text beforeMove__13daNpc_Yelia_cFv */ +void daNpc_Yelia_c::beforeMove() { + fopAcM_OffStatus(this, 0x8000000); + if (checkHide()) { + fopAcM_OnStatus(this, 0x8000000); + } + if (checkHide() || mNoDraw) { + attention_info.flags = 0; + } +} + +/* 80B4EAEC-80B4EE4C 0018CC 0360+00 1/0 0/0 0/0 .text setAttnPos__13daNpc_Yelia_cFv */ +void daNpc_Yelia_c::setAttnPos() { + cXyz eye_offset(30.0f, -5.0f, 0.0f); + cXyz vec(0.0f, -5.0f, 0.0f); + mStagger.calc(FALSE); + + f32 angle_diff = cM_s2rad(mCurAngle.y - field_0xd7e.y); + if (mType == TYPE_TWILIGHT || mType == TYPE_AFTER_ESCORT) { + mJntAnm.setParam(this, mpMorf[0]->getModel(), &eye_offset, getBackboneJointNo(), + getNeckJointNo(), getHeadJointNo(), 0.0f, 0.0f, 0.0f, 0.0f, + l_HIO.m.mHeadDownAngle, l_HIO.m.mHeadUpAngle, l_HIO.m.mHeadRightAngle, + l_HIO.m.mHeadLeftAngle, l_HIO.m.mNeckAngleScl, angle_diff, &vec); + } else { + mJntAnm.setParam(this, mpMorf[0]->getModel(), &eye_offset, getBackboneJointNo(), + getNeckJointNo(), getHeadJointNo(), l_HIO.m.mBodyDownAngle, + l_HIO.m.mBodyUpAngle, l_HIO.m.mBodyRightAngle, l_HIO.m.mBodyLeftAngle, + l_HIO.m.mHeadDownAngle, l_HIO.m.mHeadUpAngle, l_HIO.m.mHeadRightAngle, + l_HIO.m.mHeadLeftAngle, l_HIO.m.mNeckAngleScl, angle_diff, &vec); + } + mJntAnm.calcJntRad(0.2f, 1.0f, angle_diff); + + setMtx(); + mDoMtx_stack_c::copy(mpMorf[0]->getModel()->getAnmMtx(getHeadJointNo())); + mDoMtx_stack_c::multVec(&eye_offset, &eyePos); + mJntAnm.setEyeAngleX(eyePos, 1.0f, -0x1000); + mJntAnm.setEyeAngleY(eyePos, mCurAngle.y, TRUE, 1.0f, 0); + + if (mType == TYPE_TWILIGHT || mType == TYPE_AFTER_ESCORT) { + vec.set(0.0f, 150.0f, 20.0f); + } else { + vec.set(0.0f, l_HIO.m.mAttnOffsetY, 10.0f); + } + mDoMtx_stack_c::YrotS(mCurAngle.y); + mDoMtx_stack_c::multVec(&vec, &vec); + attention_info.position = vec + current.pos; +} + +/* 80B4EE4C-80B4EFA4 001C2C 0158+00 1/0 0/0 0/0 .text setCollision__13daNpc_Yelia_cFv */ +void daNpc_Yelia_c::setCollision() { + cXyz vec; + + if (!mHide) { + u32 tg_type = 0xd8fbfdff; + u32 tg_sprm = 0x1f; + if (mTwilight) { + tg_type = 0; + tg_sprm = 0; + } else if (mStagger.checkStagger()) { + tg_type = 0; + tg_sprm = 0; + } + mCcCyl.SetCoSPrm(0x79); + mCcCyl.SetTgType(tg_type); + mCcCyl.SetTgSPrm(tg_sprm); + mCcCyl.OnTgNoHitMark(); + + vec.set(0.0f, 0.0f, 0.0f); + f32 height = mCylH; + f32 radius = mWallR; + mDoMtx_stack_c::YrotS(mCurAngle.y); + mDoMtx_stack_c::multVec(&vec, &vec); + vec += current.pos; + mCcCyl.SetH(height); + mCcCyl.SetR(radius); + mCcCyl.SetC(vec); + dComIfG_Ccsp()->Set(&mCcCyl); + } + + mCcCyl.ClrCoHit(); + mCcCyl.ClrTgHit(); +} + +/* 80B4EFA4-80B4EFAC 001D84 0008+00 1/0 0/0 0/0 .text drawDbgInfo__13daNpc_Yelia_cFv */ +BOOL daNpc_Yelia_c::drawDbgInfo() { + return FALSE; +} + +/* 80B4EFAC-80B4F054 001D8C 00A8+00 1/1 0/0 0/0 .text selectAction__13daNpc_Yelia_cFv */ +BOOL daNpc_Yelia_c::selectAction() { + mpNextAction = NULL; + switch (mType) { + case TYPE_HORSE: + mpNextAction = &horseWait; + break; + case TYPE_REMINISCENCE: + mpNextAction = &reminiscence; + break; + default: + mpNextAction = &wait; + break; + } + return TRUE; +} + +/* 80B4F054-80B4F080 001E34 002C+00 2/2 0/0 0/0 .text + * chkAction__13daNpc_Yelia_cFM13daNpc_Yelia_cFPCvPvPv_i */ +BOOL daNpc_Yelia_c::chkAction(BOOL (daNpc_Yelia_c::*i_action)(void*)) { + return mpAction == i_action; +} + +/* 80B4F080-80B4F128 001E60 00A8+00 2/2 0/0 0/0 .text + * setAction__13daNpc_Yelia_cFM13daNpc_Yelia_cFPCvPvPv_i */ +BOOL daNpc_Yelia_c::setAction(BOOL (daNpc_Yelia_c::*i_action)(void*)) { + mMode = MODE_EXIT; + if (mpAction != NULL) { + (this->*mpAction)(NULL); + } + + mMode = MODE_ENTER; + mpAction = i_action; + if (mpAction != NULL) { + (this->*mpAction)(NULL); + } + + return TRUE; +} + +/* 80B4F128-80B4F3E0 001F08 02B8+00 1/0 0/0 0/0 .text + * cutConversationAboutLoopHole__13daNpc_Yelia_cFi */ +BOOL daNpc_Yelia_c::cutConversationAboutLoopHole(int i_staffId) { + BOOL ret = FALSE; + int prm = -1; + int* prm_p = dComIfGp_evmng_getMyIntegerP(i_staffId, "prm"); + if (prm_p != NULL) { + prm = *prm_p; + } + dComIfGp_evmng_getMyIntegerP(i_staffId, "msgNo"); + + if (dComIfGp_getEventManager().getIsAddvance(i_staffId)) { + switch (prm) { + case 0: + break; + + case 1: + mFaceMotionSeqMngr.setNo(FACE_HORSE_LOOKBACK, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_HORSE_LOOKBACK, -1.0f, FALSE, 0); + break; + + case 2: + mFaceMotionSeqMngr.setNo(FACE_HORSE_RETURN, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_HORSE_RETURN, -1.0f, FALSE, 0); + break; + } + } + + switch (prm) { + case 0: + ret = TRUE; + break; + + case 1: + if (mMotionSeqMngr.getNo() == MOTION_HORSE_LOOKBACK) { + if (mMotionSeqMngr.checkEndSequence()) { + mFaceMotionSeqMngr.setNo(FACE_NONE, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_HORSE_WAIT_C, -1.0f, FALSE, 0); + } + } else { + ret = TRUE; + } + break; + + case 2: + if (mMotionSeqMngr.getNo() == MOTION_HORSE_RETURN) { + if (mMotionSeqMngr.checkEndSequence()) { + mFaceMotionSeqMngr.setNo(FACE_NONE, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_HORSE_WAIT_A, -1.0f, FALSE, 0); + } + } else { + ret = TRUE; + } + break; + } + + return ret; +} + +/* 80B4F3E0-80B4F534 0021C0 0154+00 1/0 0/0 0/0 .text cutTWResistance__13daNpc_Yelia_cFi + */ +BOOL daNpc_Yelia_c::cutTWResistance(int i_staffId) { + BOOL ret = FALSE; + int prm = -1; + int* prm_p = dComIfGp_evmng_getMyIntegerP(i_staffId, "prm"); + if (prm_p != NULL) { + prm = *prm_p; + } + + fopAc_ac_c* actors[2] = {this, mActorMngr[0].getActorP()}; + dComIfGp_setMesgCameraInfoActor(actors[0], actors[1], NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL); + + if (dComIfGp_getEventManager().getIsAddvance(i_staffId)) { + switch (prm) { + case 0: + break; + + case 1: + initTalk(mFlowNodeNo, NULL); + break; + } + } + + switch (prm) { + case 0: + ret = TRUE; + break; + + case 1: + if (talkProc(NULL, TRUE, actors, FALSE) && mFlow.checkEndFlow()) { + ret = TRUE; + } + break; + } + + return ret; +} + +/* 80B4F534-80B4FDD8 002314 08A4+00 1/0 0/0 0/0 .text cutTakeWoodStatue__13daNpc_Yelia_cFi */ +BOOL daNpc_Yelia_c::cutTakeWoodStatue(int i_staffId) { + daDitem_c* item = NULL; + cXyz pos; + csXyz angle; + char name[0x68]; + BOOL ret = FALSE; + int prm = -1; + int timer = 0; + int msgNo = 0; + int send = 0; + int* prm_p = dComIfGp_evmng_getMyIntegerP(i_staffId, "prm"); + if (prm_p != NULL) { + prm = *prm_p; + } + int* timer_p = dComIfGp_evmng_getMyIntegerP(i_staffId, "timer"); + if (timer_p != NULL) { + timer = *timer_p; + } + int* msgNo_p = dComIfGp_evmng_getMyIntegerP(i_staffId, "msgNo"); + if (msgNo_p != NULL) { + msgNo = *msgNo_p; + } + int* send_p = dComIfGp_evmng_getMyIntegerP(i_staffId, "send"); + if (send_p != NULL) { + send = *send_p; + } + + fopAc_ac_c* actors[2] = {this, mActorMngr[2].getActorP()}; + dComIfGp_setMesgCameraInfoActor(actors[0], actors[1], NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL); + + if (dComIfGp_getEventManager().getIsAddvance(i_staffId)) { + switch (prm) { + case 0: + mFaceMotionSeqMngr.setNo(FACE_H_INTENSE, 0.0f, TRUE, 0); + mMotionSeqMngr.setNo(MOTION_LOOKING, 0.0f, TRUE, 0); + mSound.startCreatureVoice(Z2SE_YELIA_V_LOOK_KIBORI, -1); + daNpcT_offTmpBit(0xb); + daNpcT_offTmpBit(0xc); + dComIfGs_onSaveSwitch(6, 0x40); + if (daNpcT_getPlayerInfoFromPlayerList(10, fopAcM_GetRoomNo(this), &pos, &angle)) { + daPy_getPlayerActorClass()->setPlayerPosAndAngle(&pos, angle.y, 0); + dComIfGp_evmng_setGoal(&pos); + } + if (fopAcM_SearchByID(mItemId, (fopAc_ac_c**)&item) + && item != NULL && fopAc_IsActor(item)) { + item->scale.setall(0.55f); + item->show(); + } + break; + + case 1: + case 8: + initTalk(0x26, NULL); + break; + + case 4: + mFaceMotionSeqMngr.setNo(FACE_NONE, 0.0f, TRUE, 0); + mMotionSeqMngr.setNo(MOTION_ASKING, 0.0f, TRUE, 0); + break; + + case 5: + if (mFaceMotionSeqMngr.getNo() != FACE_H_ASK) { + mFaceMotionSeqMngr.setNo(FACE_H_ASK, -1.0f, TRUE, 0); + } + if (mMotionSeqMngr.getNo() != MOTION_TO_WORRY) { + mMotionSeqMngr.setNo(MOTION_TO_WORRY, -1.0f, TRUE, 0); + } + break; + + case 7: + mEventTimer = timer; + break; + + case 9: + mFaceMotionSeqMngr.setNo(FACE_H_ASK, 0.0f, TRUE, 0); + mMotionSeqMngr.setNo(MOTION_ASKING, 0.0f, TRUE, 0); + mEventTimer = timer; + break; + + case 11: + case 99: + mFaceMotionSeqMngr.setNo(FACE_H_INTENSE, 0.0f, TRUE, 0); + mMotionSeqMngr.setNo(MOTION_ASKING, 0.0f, TRUE, 0); + pos = daPy_getPlayerActorClass()->current.pos; + daPy_getPlayerActorClass()->setPlayerPosAndAngle(&pos, 0, 0); + dComIfGp_evmng_setGoal(&pos); + Z2GetAudioMgr()->unMuteSceneBgm(60); + if (prm == 99) { + daNpcT_onEvtBit(0x11f); + daNpcT_onEvtBit(0x17a); + dComIfGs_setWarashibeItem(0xff); + daNpcT_offTmpBit(0xb); + daNpcT_offTmpBit(0xc); + dComIfGs_onSaveSwitch(6, 0x40); + dComIfGs_onSaveSwitch(6, 0x1c); + mFlow.remove(); + } + break; + + case 13: + mItemId = fpcM_ERROR_PROCESS_ID_e; + mEventTimer = timer; + Z2GetAudioMgr()->muteSceneBgm(90, 0.0f); + strcpy(name, l_evtList[EVENT_TAKE_WOODSTATUE].eventName); + strcat(name, "@"); + dComIfGp_getEvent().setSkipZev(this, name); + dComIfGp_getEvent().onSkipFade(); + break; + } + + if ((prm == 6 || prm == 99) && mItemId != fpcM_ERROR_PROCESS_ID_e + && fopAcM_IsExecuting(mItemId) + && fopAcM_SearchByID(mItemId, (fopAc_ac_c**)&item) + && item != NULL && fopAc_IsActor(item)) { + fopAcM_delete(item); + } + } + + int msgs[2] = {-1, -1}; + + switch (prm) { + case 0: + ret = TRUE; + break; + + case 1: + case 2: + case 4: + case 6: + msgs[0] = msgNo; + if (talkProc(msgs, send, actors, FALSE)) { + if (msgNo == 0) { + if (mFlow.checkEndFlow()) { + ret = TRUE; + } + } else { + ret = TRUE; + } + } + if (prm == 6 && !send) { + ret = TRUE; + } + break; + + case 3: + case 5: + case 8: + if (talkProc(NULL, send, actors, FALSE) && mFlow.checkEndFlow()) { + ret = TRUE; + } + break; + + case 7: + case 9: + case 13: + if (cLib_calcTimer(&mEventTimer) == 0) { + if (prm == 13) { + if (mItemId == fpcM_ERROR_PROCESS_ID_e) { + mItemId = fopAcM_createItemForPresentDemo(¤t.pos, + fpcNm_ITEM_WOOD_STATUE, 9, -1, fopAcM_GetRoomNo(this), &mCurAngle, &scale); + } + if (fopAcM_SearchByID(mItemId, (fopAc_ac_c**)&item) + && item != NULL && fopAc_IsActor(item)) { + pos.set(0.0f, 110.0f, 30.0f); + mDoMtx_stack_c::YrotS(mCurAngle.y); + mDoMtx_stack_c::multVec(&pos, &pos); + pos += current.pos; + item->setOffsetPos(pos); + item->setMaxScale(0.55f); + item->scale.setall(0.0f); + item->hide(); + ret = TRUE; + } + } else { + ret = TRUE; + } + } + break; + + case 10: + case 11: + case 99: + ret = TRUE; + break; + + case 12: + ret = TRUE; + break; + } + + return ret; +} + +/* 80B4FDD8-80B4FE78 002BB8 00A0+00 1/0 0/0 0/0 .text cutClothTry__13daNpc_Yelia_cFi */ +BOOL daNpc_Yelia_c::cutClothTry(int i_staffId) { + BOOL ret = 0; + int prm = -1; + int* prm_p = dComIfGp_evmng_getMyIntegerP(i_staffId, "prm"); + if (prm_p != NULL) { + prm = *prm_p; + } + + dComIfGp_getEventManager().getIsAddvance(i_staffId); + + switch (prm) { + case 0: + action(); + ret = TRUE; + break; + } + + return ret; +} + +/* 80B4FE78-80B50084 002C58 020C+00 1/0 0/0 0/0 .text cutThankYou__13daNpc_Yelia_cFi */ +BOOL daNpc_Yelia_c::cutThankYou(int i_staffId) { + BOOL ret = 0; + int prm = -1; + int msgNo = 0; + int msgNo2 = 0; + int* prm_p = dComIfGp_evmng_getMyIntegerP(i_staffId, "prm"); + if (prm_p != NULL) { + prm = *prm_p; + } + int* msgNo_p = dComIfGp_evmng_getMyIntegerP(i_staffId, "msgNo"); + if (msgNo_p != NULL) { + msgNo = *msgNo_p; + } + int* msgNo2_p = dComIfGp_evmng_getMyIntegerP(i_staffId, "msgNo2"); + if (msgNo2_p != NULL) { + msgNo2 = *msgNo2_p; + } + + if (dComIfGp_getEventManager().getIsAddvance(i_staffId)) { + switch (prm) { + case 0: + break; + + case 1: + mJntAnm.lookPlayer(false); + initTalk(mFlowNodeNo, NULL); + break; + + case 2: + break; + } + } + + int msgs[3] = {-1, -1, -1}; + switch (prm) { + case 0: + ret = TRUE; + break; + + case 1: + msgs[0] = msgNo; + msgs[1] = msgNo2; + if (talkProc(msgs, FALSE, NULL, FALSE)) { + if (msgNo == 0 || msgNo2 == 0) { + if (mFlow.checkEndFlow()) { + ret = TRUE; + } + } else { + ret = TRUE; + } + } + break; + + case 2: + if (talkProc(NULL, FALSE, NULL, FALSE) && mFlow.checkEndFlow()) { + ret = TRUE; + } + break; + } + + return ret; +} + +/* 80B50084-80B5080C 002E64 0788+00 1/0 0/0 0/0 .text wait__13daNpc_Yelia_cFPv */ +BOOL daNpc_Yelia_c::wait(void* param_0) { + switch (mMode) { + case MODE_ENTER: + case MODE_INIT: + if (!mStagger.checkStagger()) { + switch (mType) { + case TYPE_HORSE: + case TYPE_1: + case TYPE_REMINISCENCE: + mFaceMotionSeqMngr.setNo(FACE_NONE, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_WAIT_A, -1.0f, FALSE, 0); + break; + + case TYPE_KAKARIKO: + if (daNpcT_chkEvtBit(0x11f)) { + mFaceMotionSeqMngr.setNo(FACE_H_INTENSE, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_ASKING, -1.0f, FALSE, 0); + } else { + mFaceMotionSeqMngr.setNo(FACE_NONE, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_WAIT_UTUMUKU, -1.0f, FALSE, 0); + } + break; + + case TYPE_TWILIGHT: + mFaceMotionSeqMngr.setNo(FACE_H_SAD, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_DEMO_WAIT_SIT, -1.0f, FALSE, 0); + break; + + case TYPE_AFTER_ESCORT: + mFaceMotionSeqMngr.setNo(FACE_NONE, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_DEMO_WAIT_SIT, -1.0f, FALSE, 0); + break; + + case TYPE_WOOD_STATUE: + mFaceMotionSeqMngr.setNo(FACE_H_INTENSE, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_ASKING, -1.0f, FALSE, 0); + break; + + case TYPE_MEMORIES_RESTORED: + mFaceMotionSeqMngr.setNo(FACE_NONE, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_WAIT_A, -1.0f, FALSE, 0); + break; + + default: + mFaceMotionSeqMngr.setNo(FACE_NONE, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_WAIT_A, -1.0f, FALSE, 0); + break; + } + + mMode = MODE_RUN; + } + // fallthrough + + case MODE_RUN: + if (mType == TYPE_MEMORIES_RESTORED && !daNpcT_chkEvtBit(0x30c)) { + mSpeakEvent = true; + field_0xe33 = true; + } + + if (!mStagger.checkStagger()) { + if (mType == TYPE_TWILIGHT) { + fopAc_ac_c* ralis = mActorMngr[1].getActorP(); + if (ralis != NULL) { + mJntAnm.lookPos(&ralis->eyePos, false); + } else { + mJntAnm.lookNone(false); + } + } else { + if ((mType == TYPE_KAKARIKO && !daNpcT_chkEvtBit(0x11f)) + || mType == TYPE_AFTER_ESCORT) { + mPlayerActorMngr.remove(); + } + if (mPlayerActorMngr.getActorP() != NULL && !mTwilight) { + mJntAnm.lookPlayer(false); + if (!chkActorInSight(mPlayerActorMngr.getActorP(), mAttnFovY, mCurAngle.y)) { + mJntAnm.lookNone(false); + } + if (!srchPlayerActor() && home.angle.y == mCurAngle.y) { + mMode = MODE_INIT; + } + } else { + mJntAnm.lookNone(false); + if (mType != TYPE_AFTER_ESCORT) { + if (home.angle.y != mCurAngle.y) { + if (field_0xe34) { + if ((mType == TYPE_KAKARIKO && daNpcT_chkEvtBit(0x11f)) + || mType == TYPE_WOOD_STATUE) { + if (step(home.angle.y, FACE_H_ASK, MOTION_ASK_STEP, 15, 0)) { + mMode = MODE_INIT; + } + } else if (step(home.angle.y, FACE_NONE, MOTION_STEP, 15, 0)) { + mMode = MODE_INIT; + } + } else { + setAngle(home.angle.y); + mMode = MODE_INIT; + } + attention_info.flags = 0; + } else { + srchPlayerActor(); + } + } + } + } + + switch (mJntAnm.getMode()) { + case daNpcT_JntAnm_c::LOOK_NONE: + switch (mType) { + case TYPE_AFTER_ESCORT: + fopAc_ac_c* colin = mActorMngr[1].getActorP(); + if (colin != NULL) { + mJntAnm.lookPos(&colin->eyePos, false); + } + break; + } + break; + } + } + break; + + case MODE_EXIT: + break; + } + + return TRUE; +} + +/* 80B5080C-80B50A0C 0035EC 0200+00 5/0 0/0 0/0 .text horseWait__13daNpc_Yelia_cFPv */ +BOOL daNpc_Yelia_c::horseWait(void* param_0) { + switch (mMode) { + case MODE_ENTER: + case MODE_INIT: + mMode = MODE_RUN; + // fallthrough + + case MODE_RUN: + if (!mStagger.checkStagger()) { + switch (mMotionSeqMngr.getNo()) { + case MOTION_HORSE_RETURN: + if (mMotionSeqMngr.checkEndSequence()) { + mFaceMotionSeqMngr.setNo(FACE_NONE, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_HORSE_WAIT_A, -1.0f, FALSE, 0); + } + break; + case MOTION_HORSE_WAIT_C: + mFaceMotionSeqMngr.setNo(FACE_HORSE_RETURN, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_HORSE_RETURN, -1.0f, FALSE, 0); + break; + default: + if (mMotionSeqMngr.getNo() != MOTION_HORSE_WAIT_A) { + mFaceMotionSeqMngr.setNo(FACE_NONE, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_HORSE_WAIT_A, -1.0f, FALSE, 0); + } + break; + } + mJntAnm.lookNone(false); + attention_info.flags = 0; + } + break; + + case MODE_EXIT: + break; + } + + return TRUE; +} + +/* 80B50A0C-80B50B60 0037EC 0154+00 1/0 0/0 0/0 .text reminiscence__13daNpc_Yelia_cFPv */ +BOOL daNpc_Yelia_c::reminiscence(void* param_0) { + switch (mMode) { + case MODE_ENTER: + case MODE_INIT: + mFaceMotionSeqMngr.setNo(FACE_KAISOU_WAIT_A, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_KAISOU_WAIT_A, -1.0f, FALSE, 0); + mMode = MODE_RUN; + // fallthrough + + case MODE_RUN: + field_0xe2d = false; + if (dComIfGp_event_runCheck() != FALSE + && !strcmp("SMELL_1st", dComIfGp_getEventManager().getRunEventName())) + { + dComIfGp_event_setTalkPartner(this); + field_0xe2d = true; + } + if (!mStagger.checkStagger()) { + mJntAnm.lookNone(false); + } + break; + + case MODE_EXIT: + break; + } + + return TRUE; +} + +/* 80B50B60-80B50EE0 003940 0380+00 3/0 0/0 0/0 .text talk__13daNpc_Yelia_cFPv */ +BOOL daNpc_Yelia_c::talk(void* param_0) { + switch (mMode) { + case MODE_ENTER: + case MODE_INIT: + if (!mStagger.checkStagger()) { + if (&horseWait == mpNextAction) { + mFaceMotionSeqMngr.setNo(FACE_HORSE_LOOKBACK, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_HORSE_LOOKBACK, -1.0f, FALSE, 0); + } + initTalk(mFlowNodeNo, NULL); + mMode = 2; + } + // fallthrough + + case MODE_RUN: + if (!mStagger.checkStagger()) { + if (&horseWait == mpNextAction && mMotionSeqMngr.getNo() == MOTION_HORSE_LOOKBACK) { + if (mMotionSeqMngr.checkEndSequence()) { + mFaceMotionSeqMngr.setNo(FACE_NONE, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_HORSE_WAIT_C, -1.0f, FALSE, 0); + } + return FALSE; + } else if (mTwilight || mPlayerAngle == mCurAngle.y || &horseWait == mpNextAction + || (mType == TYPE_KAKARIKO && !daNpcT_chkEvtBit(0x11f)) + || mType == TYPE_AFTER_ESCORT) + { + if (talkProc(NULL, FALSE, NULL, FALSE) && mFlow.checkEndFlow()) { + mPlayerActorMngr.entry(daPy_getPlayerActorClass()); + dComIfGp_event_reset(); + mMode = MODE_EXIT; + } + mJntAnm.lookPlayer(false); + if (mTwilight || &horseWait == mpNextAction) { + mJntAnm.lookNone(false); + } + } else { + mJntAnm.lookPlayer(false); + if ((mType == TYPE_KAKARIKO && daNpcT_chkEvtBit(0x11f)) + || mType == TYPE_WOOD_STATUE) + { + step(mPlayerAngle, FACE_H_ASK, MOTION_ASK_STEP, 15, 0); + } else { + step(mPlayerAngle, FACE_NONE, MOTION_STEP, 15, 0); + } + } + } + break; + + case MODE_EXIT: + break; + } + + return FALSE; +} + +/* 80B50EE0-80B50F00 003CC0 0020+00 1/0 0/0 0/0 .text daNpc_Yelia_Create__FPv */ +static cPhs__Step daNpc_Yelia_Create(void* i_this) { + return static_cast(i_this)->create(); +} + +/* 80B50F00-80B50F20 003CE0 0020+00 1/0 0/0 0/0 .text daNpc_Yelia_Delete__FPv */ +static int daNpc_Yelia_Delete(void* i_this) { + return static_cast(i_this)->Delete(); +} + +/* 80B50F20-80B50F40 003D00 0020+00 1/0 0/0 0/0 .text daNpc_Yelia_Execute__FPv */ +static int daNpc_Yelia_Execute(void* i_this) { + return static_cast(i_this)->Execute(); +} + +/* 80B50F40-80B50F60 003D20 0020+00 1/0 0/0 0/0 .text daNpc_Yelia_Draw__FPv */ +static int daNpc_Yelia_Draw(void* i_this) { + return static_cast(i_this)->Draw(); +} + +/* 80B50F60-80B50F68 003D40 0008+00 1/0 0/0 0/0 .text daNpc_Yelia_IsDelete__FPv */ +static int daNpc_Yelia_IsDelete(void* i_this) { + return 1; +} /* 80B53220-80B53240 -00001 0020+00 1/0 0/0 0/0 .data daNpc_Yelia_MethodTable */ static actor_method_class daNpc_Yelia_MethodTable = { - (process_method_func)daNpc_Yelia_Create__FPv, - (process_method_func)daNpc_Yelia_Delete__FPv, - (process_method_func)daNpc_Yelia_Execute__FPv, - (process_method_func)daNpc_Yelia_IsDelete__FPv, - (process_method_func)daNpc_Yelia_Draw__FPv, + (process_method_func)daNpc_Yelia_Create, + (process_method_func)daNpc_Yelia_Delete, + (process_method_func)daNpc_Yelia_Execute, + (process_method_func)daNpc_Yelia_IsDelete, + (process_method_func)daNpc_Yelia_Draw, }; /* 80B53240-80B53270 -00001 0030+00 0/0 0/0 1/0 .data g_profile_NPC_YELIA */ @@ -840,1016 +1642,3 @@ extern actor_process_profile_definition g_profile_NPC_YELIA = { fopAc_NPC_e, // mActorType fopAc_CULLBOX_CUSTOM_e, // cullType }; - -/* 80B53270-80B5327C 000D94 000C+00 2/2 0/0 0/0 .data __vt__11J3DTexNoAnm */ -SECTION_DATA extern void* __vt__11J3DTexNoAnm[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)calc__11J3DTexNoAnmCFPUs, -}; - -/* 80B5327C-80B53288 000DA0 000C+00 3/3 0/0 0/0 .data __vt__12J3DFrameCtrl */ -SECTION_DATA extern void* __vt__12J3DFrameCtrl[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12J3DFrameCtrlFv, -}; - -/* 80B53288-80B532AC 000DAC 0024+00 3/3 0/0 0/0 .data __vt__12dBgS_ObjAcch */ -SECTION_DATA extern void* __vt__12dBgS_ObjAcch[9] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12dBgS_ObjAcchFv, - (void*)NULL, - (void*)NULL, - (void*)func_80B5227C, - (void*)NULL, - (void*)NULL, - (void*)func_80B52274, -}; - -/* 80B532AC-80B532B8 000DD0 000C+00 2/2 0/0 0/0 .data __vt__12dBgS_AcchCir */ -SECTION_DATA extern void* __vt__12dBgS_AcchCir[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12dBgS_AcchCirFv, -}; - -/* 80B532B8-80B532C4 000DDC 000C+00 3/3 0/0 0/0 .data __vt__10cCcD_GStts */ -SECTION_DATA extern void* __vt__10cCcD_GStts[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__10cCcD_GSttsFv, -}; - -/* 80B532C4-80B532D0 000DE8 000C+00 2/2 0/0 0/0 .data __vt__10dCcD_GStts */ -SECTION_DATA extern void* __vt__10dCcD_GStts[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__10dCcD_GSttsFv, -}; - -/* 80B532D0-80B532DC 000DF4 000C+00 3/3 0/0 0/0 .data __vt__22daNpcT_MotionSeqMngr_c */ -SECTION_DATA extern void* __vt__22daNpcT_MotionSeqMngr_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__22daNpcT_MotionSeqMngr_cFv, -}; - -/* 80B532DC-80B532E8 000E00 000C+00 5/5 0/0 0/0 .data __vt__18daNpcT_ActorMngr_c */ -SECTION_DATA extern void* __vt__18daNpcT_ActorMngr_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__18daNpcT_ActorMngr_cFv, -}; - -/* 80B532E8-80B532F4 000E0C 000C+00 3/3 0/0 0/0 .data __vt__15daNpcT_JntAnm_c */ -SECTION_DATA extern void* __vt__15daNpcT_JntAnm_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__15daNpcT_JntAnm_cFv, -}; - -/* 80B532F4-80B53300 000E18 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGAab */ -SECTION_DATA extern void* __vt__8cM3dGAab[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGAabFv, -}; - -/* 80B53300-80B5330C 000E24 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGCyl */ -SECTION_DATA extern void* __vt__8cM3dGCyl[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGCylFv, -}; - -/* 80B5330C-80B53318 000E30 000C+00 3/3 0/0 0/0 .data __vt__13daNpcT_Path_c */ -SECTION_DATA extern void* __vt__13daNpcT_Path_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__13daNpcT_Path_cFv, -}; - -/* 80B53318-80B533DC 000E3C 00C4+00 2/2 0/0 0/0 .data __vt__13daNpc_Yelia_c */ -SECTION_DATA extern void* __vt__13daNpc_Yelia_c[49] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__13daNpc_Yelia_cFv, - (void*)ctrlBtk__8daNpcT_cFv, - (void*)ctrlSubFaceMotion__8daNpcT_cFi, - (void*)checkChangeJoint__13daNpc_Yelia_cFi, - (void*)checkRemoveJoint__13daNpc_Yelia_cFi, - (void*)getBackboneJointNo__13daNpc_Yelia_cFv, - (void*)getNeckJointNo__13daNpc_Yelia_cFv, - (void*)getHeadJointNo__13daNpc_Yelia_cFv, - (void*)getFootLJointNo__8daNpcT_cFv, - (void*)getFootRJointNo__8daNpcT_cFv, - (void*)getEyeballLMaterialNo__8daNpcT_cFv, - (void*)getEyeballRMaterialNo__8daNpcT_cFv, - (void*)getEyeballMaterialNo__13daNpc_Yelia_cFv, - (void*)ctrlJoint__8daNpcT_cFP8J3DJointP8J3DModel, - (void*)afterJntAnm__13daNpc_Yelia_cFi, - (void*)setParam__13daNpc_Yelia_cFv, - (void*)checkChangeEvt__13daNpc_Yelia_cFv, - (void*)evtTalk__13daNpc_Yelia_cFv, - (void*)evtEndProc__8daNpcT_cFv, - (void*)evtCutProc__13daNpc_Yelia_cFv, - (void*)setAfterTalkMotion__13daNpc_Yelia_cFv, - (void*)evtProc__8daNpcT_cFv, - (void*)action__13daNpc_Yelia_cFv, - (void*)beforeMove__13daNpc_Yelia_cFv, - (void*)afterMoved__8daNpcT_cFv, - (void*)setAttnPos__13daNpc_Yelia_cFv, - (void*)setFootPos__8daNpcT_cFv, - (void*)setCollision__13daNpc_Yelia_cFv, - (void*)setFootPrtcl__8daNpcT_cFP4cXyzff, - (void*)checkCullDraw__8daNpcT_cFv, - (void*)twilight__8daNpcT_cFv, - (void*)chkXYItems__13daNpc_Yelia_cFv, - (void*)evtOrder__8daNpcT_cFv, - (void*)decTmr__8daNpcT_cFv, - (void*)clrParam__8daNpcT_cFv, - (void*)drawDbgInfo__13daNpc_Yelia_cFv, - (void*)drawOtherMdl__8daNpcT_cFv, - (void*)drawGhost__8daNpcT_cFv, - (void*)afterSetFaceMotionAnm__8daNpcT_cFiifi, - (void*)afterSetMotionAnm__8daNpcT_cFiifi, - (void*)getFaceMotionAnm__8daNpcT_cF26daNpcT_faceMotionAnmData_c, - (void*)getMotionAnm__8daNpcT_cF22daNpcT_motionAnmData_c, - (void*)changeAnm__8daNpcT_cFPiPi, - (void*)changeBck__8daNpcT_cFPiPi, - (void*)changeBtp__8daNpcT_cFPiPi, - (void*)changeBtk__8daNpcT_cFPiPi, - (void*)setMotionAnm__8daNpcT_cFifi, -}; - -/* 80B4D30C-80B4D458 0000EC 014C+00 1/0 0/0 0/0 .text __dt__13daNpc_Yelia_cFv */ -daNpc_Yelia_c::~daNpc_Yelia_c() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80B522B4-80B52340 000000 008C+00 7/7 0/0 0/0 .rodata m__19daNpc_Yelia_Param_c */ -SECTION_RODATA u8 const daNpc_Yelia_Param_c::m[140] = { - 0x43, 0x2A, 0x00, 0x00, 0xC0, 0x40, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x43, 0xC8, 0x00, 0x00, - 0x43, 0x7F, 0x00, 0x00, 0x43, 0x20, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00, 0xC1, 0x20, 0x00, 0x00, - 0x41, 0xF0, 0x00, 0x00, 0xC1, 0x20, 0x00, 0x00, 0x42, 0x34, 0x00, 0x00, 0xC2, 0x34, 0x00, 0x00, - 0x3F, 0x19, 0x99, 0x9A, 0x41, 0x40, 0x00, 0x00, 0x00, 0x03, 0x00, 0x06, 0x00, 0x05, 0x00, 0x06, - 0x42, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x3C, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B522B4, &daNpc_Yelia_Param_c::m); - -/* 80B52340-80B52368 00008C 0028+00 0/1 0/0 0/0 .rodata heapSize$4085 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const heapSize[40] = { - 0x00, 0x00, 0x44, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0xD0, 0x00, 0x00, - 0x44, 0xD0, 0x00, 0x00, 0x44, 0x10, 0x00, 0x00, 0x44, 0xD0, 0x00, 0x00, 0x44, 0xD0, - 0x00, 0x00, 0x44, 0xD0, 0x00, 0x00, 0x44, 0xD0, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B52340, &heapSize); -#pragma pop - -/* 80B52368-80B5236C 0000B4 0004+00 0/1 0/0 0/0 .rodata @4164 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4164 = -200.0f; -COMPILER_STRIP_GATE(0x80B52368, &lit_4164); -#pragma pop - -/* 80B5236C-80B52370 0000B8 0004+00 0/1 0/0 0/0 .rodata @4165 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4165 = -100.0f; -COMPILER_STRIP_GATE(0x80B5236C, &lit_4165); -#pragma pop - -/* 80B52370-80B52374 0000BC 0004+00 0/1 0/0 0/0 .rodata @4166 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4166 = 200.0f; -COMPILER_STRIP_GATE(0x80B52370, &lit_4166); -#pragma pop - -/* 80B52374-80B52378 0000C0 0004+00 0/1 0/0 0/0 .rodata @4167 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4167 = 300.0f; -COMPILER_STRIP_GATE(0x80B52374, &lit_4167); -#pragma pop - -/* 80B52378-80B5237C 0000C4 0004+00 0/1 0/0 0/0 .rodata @4168 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4168 = -1000000000.0f; -COMPILER_STRIP_GATE(0x80B52378, &lit_4168); -#pragma pop - -/* 80B4D458-80B4D754 000238 02FC+00 1/1 0/0 0/0 .text create__13daNpc_Yelia_cFv */ -void daNpc_Yelia_c::create() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80B5237C-80B52380 0000C8 0004+00 9/15 0/0 0/0 .rodata @4330 */ -SECTION_RODATA static u8 const lit_4330[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80B5237C, &lit_4330); - -/* 80B52380-80B52384 0000CC 0004+00 0/2 0/0 0/0 .rodata @4331 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4331 = 65536.0f; -COMPILER_STRIP_GATE(0x80B52380, &lit_4331); -#pragma pop - -/* 80B52384-80B52388 0000D0 0004+00 0/3 0/0 0/0 .rodata @4332 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4332 = 1.0f / 5.0f; -COMPILER_STRIP_GATE(0x80B52384, &lit_4332); -#pragma pop - -/* 80B52388-80B5238C 0000D4 0004+00 2/5 0/0 0/0 .rodata @4489 */ -SECTION_RODATA static f32 const lit_4489 = 1.0f; -COMPILER_STRIP_GATE(0x80B52388, &lit_4489); - -/* 80B4D754-80B4DA64 000534 0310+00 1/1 0/0 0/0 .text CreateHeap__13daNpc_Yelia_cFv */ -void daNpc_Yelia_c::CreateHeap() { - // NONMATCHING -} - -/* 80B4DA64-80B4DAA0 000844 003C+00 1/1 0/0 0/0 .text __dt__15J3DTevKColorAnmFv */ -// J3DTevKColorAnm::~J3DTevKColorAnm() { -extern "C" void __dt__15J3DTevKColorAnmFv() { - // NONMATCHING -} - -/* 80B4DAA0-80B4DAB8 000880 0018+00 1/1 0/0 0/0 .text __ct__15J3DTevKColorAnmFv */ -// J3DTevKColorAnm::J3DTevKColorAnm() { -extern "C" void __ct__15J3DTevKColorAnmFv() { - // NONMATCHING -} - -/* 80B4DAB8-80B4DAF4 000898 003C+00 1/1 0/0 0/0 .text __dt__14J3DTevColorAnmFv */ -// J3DTevColorAnm::~J3DTevColorAnm() { -extern "C" void __dt__14J3DTevColorAnmFv() { - // NONMATCHING -} - -/* 80B4DAF4-80B4DB0C 0008D4 0018+00 1/1 0/0 0/0 .text __ct__14J3DTevColorAnmFv */ -// J3DTevColorAnm::J3DTevColorAnm() { -extern "C" void __ct__14J3DTevColorAnmFv() { - // NONMATCHING -} - -/* 80B4DB0C-80B4DB54 0008EC 0048+00 1/1 0/0 0/0 .text __dt__11J3DTexNoAnmFv */ -// J3DTexNoAnm::~J3DTexNoAnm() { -extern "C" void __dt__11J3DTexNoAnmFv() { - // NONMATCHING -} - -/* 80B4DB54-80B4DB78 000934 0024+00 1/1 0/0 0/0 .text __ct__11J3DTexNoAnmFv */ -// J3DTexNoAnm::J3DTexNoAnm() { -extern "C" void __ct__11J3DTexNoAnmFv() { - // NONMATCHING -} - -/* 80B4DB78-80B4DBB4 000958 003C+00 1/1 0/0 0/0 .text __dt__12J3DTexMtxAnmFv */ -// J3DTexMtxAnm::~J3DTexMtxAnm() { -extern "C" void __dt__12J3DTexMtxAnmFv() { - // NONMATCHING -} - -/* 80B4DBB4-80B4DBCC 000994 0018+00 1/1 0/0 0/0 .text __ct__12J3DTexMtxAnmFv */ -// J3DTexMtxAnm::J3DTexMtxAnm() { -extern "C" void __ct__12J3DTexMtxAnmFv() { - // NONMATCHING -} - -/* 80B4DBCC-80B4DC08 0009AC 003C+00 1/1 0/0 0/0 .text __dt__14J3DMatColorAnmFv */ -// J3DMatColorAnm::~J3DMatColorAnm() { -extern "C" void __dt__14J3DMatColorAnmFv() { - // NONMATCHING -} - -/* 80B4DC08-80B4DC20 0009E8 0018+00 1/1 0/0 0/0 .text __ct__14J3DMatColorAnmFv */ -// J3DMatColorAnm::J3DMatColorAnm() { -extern "C" void __ct__14J3DMatColorAnmFv() { - // NONMATCHING -} - -/* 80B4DC20-80B4DC54 000A00 0034+00 1/1 0/0 0/0 .text Delete__13daNpc_Yelia_cFv */ -void daNpc_Yelia_c::Delete() { - // NONMATCHING -} - -/* 80B4DC54-80B4DC74 000A34 0020+00 2/2 0/0 0/0 .text Execute__13daNpc_Yelia_cFv */ -void daNpc_Yelia_c::Execute() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80B5238C-80B52390 0000D8 0004+00 1/1 0/0 0/0 .rodata @4538 */ -SECTION_RODATA static f32 const lit_4538 = 100.0f; -COMPILER_STRIP_GATE(0x80B5238C, &lit_4538); - -/* 80B4DC74-80B4DD08 000A54 0094+00 1/1 0/0 0/0 .text Draw__13daNpc_Yelia_cFv */ -void daNpc_Yelia_c::Draw() { - // NONMATCHING -} - -/* 80B4DD08-80B4DD28 000AE8 0020+00 1/1 0/0 0/0 .text - * createHeapCallBack__13daNpc_Yelia_cFP10fopAc_ac_c */ -void daNpc_Yelia_c::createHeapCallBack(fopAc_ac_c* param_0) { - // NONMATCHING -} - -/* 80B4DD28-80B4DD80 000B08 0058+00 1/1 0/0 0/0 .text - * ctrlJointCallBack__13daNpc_Yelia_cFP8J3DJointi */ -void daNpc_Yelia_c::ctrlJointCallBack(J3DJoint* param_0, int param_1) { - // NONMATCHING -} - -/* 80B4DD80-80B4DDF8 000B60 0078+00 2/1 0/0 0/0 .text getType__13daNpc_Yelia_cFv */ -void daNpc_Yelia_c::getType() { - // NONMATCHING -} - -/* 80B4DDF8-80B4DF10 000BD8 0118+00 2/1 0/0 0/0 .text isDelete__13daNpc_Yelia_cFv */ -void daNpc_Yelia_c::isDelete() { - // NONMATCHING -} - -/* 80B4DF10-80B4E068 000CF0 0158+00 1/1 0/0 0/0 .text reset__13daNpc_Yelia_cFv */ -void daNpc_Yelia_c::reset() { - // NONMATCHING -} - -/* 80B4E068-80B4E0F4 000E48 008C+00 1/0 0/0 0/0 .text afterJntAnm__13daNpc_Yelia_cFi */ -void daNpc_Yelia_c::afterJntAnm(int param_0) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80B52390-80B52394 0000DC 0004+00 0/1 0/0 0/0 .rodata @4697 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4697 = 135.0f; -COMPILER_STRIP_GATE(0x80B52390, &lit_4697); -#pragma pop - -/* 80B4E0F4-80B4E2C0 000ED4 01CC+00 1/0 0/0 0/0 .text setParam__13daNpc_Yelia_cFv */ -void daNpc_Yelia_c::setParam() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80B52394-80B52398 0000E0 0004+00 7/8 0/0 0/0 .rodata @4778 */ -SECTION_RODATA static f32 const lit_4778 = -1.0f; -COMPILER_STRIP_GATE(0x80B52394, &lit_4778); - -/* 80B4E2C0-80B4E5BC 0010A0 02FC+00 1/0 0/0 0/0 .text checkChangeEvt__13daNpc_Yelia_cFv - */ -void daNpc_Yelia_c::checkChangeEvt() { - // NONMATCHING -} - -/* 80B4E5BC-80B4E6A0 00139C 00E4+00 2/0 0/0 0/0 .text setAfterTalkMotion__13daNpc_Yelia_cFv */ -void daNpc_Yelia_c::setAfterTalkMotion() { - // NONMATCHING -} - -/* 80B4E6A0-80B4E7C8 001480 0128+00 1/1 0/0 0/0 .text srchActors__13daNpc_Yelia_cFv */ -void daNpc_Yelia_c::srchActors() { - // NONMATCHING -} - -/* 80B4E7C8-80B4E868 0015A8 00A0+00 1/0 0/0 0/0 .text evtTalk__13daNpc_Yelia_cFv */ -void daNpc_Yelia_c::evtTalk() { - // NONMATCHING -} - -/* 80B4E868-80B4E930 001648 00C8+00 1/0 0/0 0/0 .text evtCutProc__13daNpc_Yelia_cFv */ -void daNpc_Yelia_c::evtCutProc() { - // NONMATCHING -} - -/* 80B4E930-80B4EA28 001710 00F8+00 1/0 0/0 0/0 .text action__13daNpc_Yelia_cFv */ -void daNpc_Yelia_c::action() { - // NONMATCHING -} - -/* 80B4EA28-80B4EAEC 001808 00C4+00 1/0 0/0 0/0 .text beforeMove__13daNpc_Yelia_cFv */ -void daNpc_Yelia_c::beforeMove() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80B52398-80B5239C 0000E4 0004+00 0/2 0/0 0/0 .rodata @4977 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4977 = 30.0f; -COMPILER_STRIP_GATE(0x80B52398, &lit_4977); -#pragma pop - -/* 80B5239C-80B523A0 0000E8 0004+00 0/1 0/0 0/0 .rodata @4978 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4978 = -5.0f; -COMPILER_STRIP_GATE(0x80B5239C, &lit_4978); -#pragma pop - -/* 80B523A0-80B523A4 0000EC 0004+00 0/1 0/0 0/0 .rodata @4979 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_4979 = 0x38C90FDB; -COMPILER_STRIP_GATE(0x80B523A0, &lit_4979); -#pragma pop - -/* 80B523A4-80B523A8 0000F0 0004+00 0/1 0/0 0/0 .rodata @4980 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4980 = 150.0f; -COMPILER_STRIP_GATE(0x80B523A4, &lit_4980); -#pragma pop - -/* 80B523A8-80B523AC 0000F4 0004+00 0/1 0/0 0/0 .rodata @4981 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4981 = 20.0f; -COMPILER_STRIP_GATE(0x80B523A8, &lit_4981); -#pragma pop - -/* 80B523AC-80B523B4 0000F8 0004+04 0/1 0/0 0/0 .rodata @4982 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4982[1 + 1 /* padding */] = { - 10.0f, - /* padding */ - 0.0f, -}; -COMPILER_STRIP_GATE(0x80B523AC, &lit_4982); -#pragma pop - -/* 80B523B4-80B523BC 000100 0008+00 1/3 0/0 0/0 .rodata @4984 */ -SECTION_RODATA static u8 const lit_4984[8] = { - 0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B523B4, &lit_4984); - -/* 80B4EAEC-80B4EE4C 0018CC 0360+00 1/0 0/0 0/0 .text setAttnPos__13daNpc_Yelia_cFv */ -void daNpc_Yelia_c::setAttnPos() { - // NONMATCHING -} - -/* 80B4EE4C-80B4EFA4 001C2C 0158+00 1/0 0/0 0/0 .text setCollision__13daNpc_Yelia_cFv */ -void daNpc_Yelia_c::setCollision() { - // NONMATCHING -} - -/* 80B4EFA4-80B4EFAC 001D84 0008+00 1/0 0/0 0/0 .text drawDbgInfo__13daNpc_Yelia_cFv */ -bool daNpc_Yelia_c::drawDbgInfo() { - return false; -} - -/* 80B4EFAC-80B4F054 001D8C 00A8+00 1/1 0/0 0/0 .text selectAction__13daNpc_Yelia_cFv */ -void daNpc_Yelia_c::selectAction() { - // NONMATCHING -} - -/* 80B4F054-80B4F080 001E34 002C+00 2/2 0/0 0/0 .text - * chkAction__13daNpc_Yelia_cFM13daNpc_Yelia_cFPCvPvPv_i */ -void daNpc_Yelia_c::chkAction(int (daNpc_Yelia_c::*param_0)(void*)) { - // NONMATCHING -} - -/* 80B4F080-80B4F128 001E60 00A8+00 2/2 0/0 0/0 .text - * setAction__13daNpc_Yelia_cFM13daNpc_Yelia_cFPCvPvPv_i */ -void daNpc_Yelia_c::setAction(int (daNpc_Yelia_c::*param_0)(void*)) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80B52408-80B52408 000154 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80B524B2 = "prm"; -SECTION_DEAD static char const* const stringBase_80B524B6 = "msgNo"; -#pragma pop - -/* 80B4F128-80B4F3E0 001F08 02B8+00 1/0 0/0 0/0 .text - * cutConversationAboutLoopHole__13daNpc_Yelia_cFi */ -void daNpc_Yelia_c::cutConversationAboutLoopHole(int param_0) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80B523BC-80B523C4 000108 0008+00 0/1 0/0 0/0 .rodata @5042 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5042[8] = { - 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B523BC, &lit_5042); -#pragma pop - -/* 80B523C4-80B523CC 000110 0008+00 0/1 0/0 0/0 .rodata @5043 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5043[8] = { - 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B523C4, &lit_5043); -#pragma pop - -/* 80B523CC-80B523D4 000118 0008+00 0/1 0/0 0/0 .rodata @5044 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5044[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B523CC, &lit_5044); -#pragma pop - -/* 80B523D4-80B523DC 000120 0008+00 1/1 0/0 0/0 .rodata @5202 */ -SECTION_RODATA static u8 const lit_5202[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B523D4, &lit_5202); - -/* 80B4F3E0-80B4F534 0021C0 0154+00 1/0 0/0 0/0 .text cutTWResistance__13daNpc_Yelia_cFi - */ -void daNpc_Yelia_c::cutTWResistance(int param_0) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80B523DC-80B523E4 000128 0008+00 0/1 0/0 0/0 .rodata @5237 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5237[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B523DC, &lit_5237); -#pragma pop - -/* 80B523E4-80B523EC 000130 0008+00 0/1 0/0 0/0 .rodata @5277 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5277[8] = { - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -}; -COMPILER_STRIP_GATE(0x80B523E4, &lit_5277); -#pragma pop - -/* 80B523EC-80B523F0 000138 0004+00 0/1 0/0 0/0 .rodata @5490 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5490 = 11.0f / 20.0f; -COMPILER_STRIP_GATE(0x80B523EC, &lit_5490); -#pragma pop - -/* 80B523F0-80B523F4 00013C 0004+00 0/1 0/0 0/0 .rodata @5491 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5491 = 110.0f; -COMPILER_STRIP_GATE(0x80B523F0, &lit_5491); -#pragma pop - -/* 80B523F4-80B523FC 000140 0008+00 0/1 0/0 0/0 .rodata @5493 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5493[8] = { - 0x43, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B523F4, &lit_5493); -#pragma pop - -/* 80B52408-80B52408 000154 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80B524BC = "timer"; -SECTION_DEAD static char const* const stringBase_80B524C2 = "send"; -SECTION_DEAD static char const* const stringBase_80B524C7 = "@"; -#pragma pop - -/* 80B4F534-80B4FDD8 002314 08A4+00 1/0 0/0 0/0 .text cutTakeWoodStatue__13daNpc_Yelia_cFi */ -void daNpc_Yelia_c::cutTakeWoodStatue(int param_0) { - // NONMATCHING -} - -/* 80B4FDD8-80B4FE78 002BB8 00A0+00 1/0 0/0 0/0 .text cutClothTry__13daNpc_Yelia_cFi */ -void daNpc_Yelia_c::cutClothTry(int param_0) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80B523FC-80B52408 000148 000C+00 1/1 0/0 0/0 .rodata @5534 */ -SECTION_RODATA static u8 const lit_5534[12] = { - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -}; -COMPILER_STRIP_GATE(0x80B523FC, &lit_5534); - -/* 80B52408-80B52408 000154 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80B524C9 = "msgNo2"; -#pragma pop - -/* 80B4FE78-80B50084 002C58 020C+00 1/0 0/0 0/0 .text cutThankYou__13daNpc_Yelia_cFi */ -void daNpc_Yelia_c::cutThankYou(int param_0) { - // NONMATCHING -} - -/* 80B50084-80B5080C 002E64 0788+00 1/0 0/0 0/0 .text wait__13daNpc_Yelia_cFPv */ -void daNpc_Yelia_c::wait(void* param_0) { - // NONMATCHING -} - -/* 80B5080C-80B50A0C 0035EC 0200+00 5/0 0/0 0/0 .text horseWait__13daNpc_Yelia_cFPv */ -void daNpc_Yelia_c::horseWait(void* param_0) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80B52408-80B52408 000154 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80B524D0 = "SMELL_1st"; -#pragma pop - -/* 80B50A0C-80B50B60 0037EC 0154+00 1/0 0/0 0/0 .text reminiscence__13daNpc_Yelia_cFPv */ -void daNpc_Yelia_c::reminiscence(void* param_0) { - // NONMATCHING -} - -/* 80B50B60-80B50EE0 003940 0380+00 3/0 0/0 0/0 .text talk__13daNpc_Yelia_cFPv */ -void daNpc_Yelia_c::talk(void* param_0) { - // NONMATCHING -} - -/* 80B50EE0-80B50F00 003CC0 0020+00 1/0 0/0 0/0 .text daNpc_Yelia_Create__FPv */ -static void daNpc_Yelia_Create(void* param_0) { - // NONMATCHING -} - -/* 80B50F00-80B50F20 003CE0 0020+00 1/0 0/0 0/0 .text daNpc_Yelia_Delete__FPv */ -static void daNpc_Yelia_Delete(void* param_0) { - // NONMATCHING -} - -/* 80B50F20-80B50F40 003D00 0020+00 1/0 0/0 0/0 .text daNpc_Yelia_Execute__FPv */ -static void daNpc_Yelia_Execute(void* param_0) { - // NONMATCHING -} - -/* 80B50F40-80B50F60 003D20 0020+00 1/0 0/0 0/0 .text daNpc_Yelia_Draw__FPv */ -static void daNpc_Yelia_Draw(void* param_0) { - // NONMATCHING -} - -/* 80B50F60-80B50F68 003D40 0008+00 1/0 0/0 0/0 .text daNpc_Yelia_IsDelete__FPv */ -static bool daNpc_Yelia_IsDelete(void* param_0) { - return true; -} - -/* 80B50F68-80B50F98 003D48 0030+00 1/0 0/0 0/0 .text calc__11J3DTexNoAnmCFPUs */ -// void J3DTexNoAnm::calc(u16* param_0) const { -extern "C" void calc__11J3DTexNoAnmCFPUs() { - // NONMATCHING -} - -/* 80B50F98-80B50FE0 003D78 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */ -// cCcD_GStts::~cCcD_GStts() { -extern "C" void __dt__10cCcD_GSttsFv() { - // NONMATCHING -} - -/* 80B50FE0-80B51368 003DC0 0388+00 1/1 0/0 0/0 .text __dt__8daNpcT_cFv */ -// daNpcT_c::~daNpcT_c() { -extern "C" void __dt__8daNpcT_cFv() { - // NONMATCHING -} - -/* 80B51368-80B513A4 004148 003C+00 3/3 0/0 0/0 .text __dt__4cXyzFv */ -// cXyz::~cXyz() { -extern "C" void __dt__4cXyzFv() { - // NONMATCHING -} - -/* 80B513A4-80B513E0 004184 003C+00 2/2 0/0 0/0 .text __dt__5csXyzFv */ -// csXyz::~csXyz() { -extern "C" void __dt__5csXyzFv() { - // NONMATCHING -} - -/* 80B513E0-80B51428 0041C0 0048+00 3/2 0/0 0/0 .text __dt__18daNpcT_ActorMngr_cFv */ -// daNpcT_ActorMngr_c::~daNpcT_ActorMngr_c() { -extern "C" void __dt__18daNpcT_ActorMngr_cFv() { - // NONMATCHING -} - -/* 80B51428-80B51470 004208 0048+00 1/0 0/0 0/0 .text __dt__13daNpcT_Path_cFv */ -// daNpcT_Path_c::~daNpcT_Path_c() { -extern "C" void __dt__13daNpcT_Path_cFv() { - // NONMATCHING -} - -/* 80B51470-80B514AC 004250 003C+00 1/1 0/0 0/0 .text __ct__18daNpcT_ActorMngr_cFv */ -// daNpcT_ActorMngr_c::daNpcT_ActorMngr_c() { -extern "C" void __ct__18daNpcT_ActorMngr_cFv() { - // NONMATCHING -} - -/* 80B514AC-80B514F4 00428C 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */ -// cM3dGCyl::~cM3dGCyl() { -extern "C" void __dt__8cM3dGCylFv() { - // NONMATCHING -} - -/* 80B514F4-80B5153C 0042D4 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */ -// cM3dGAab::~cM3dGAab() { -extern "C" void __dt__8cM3dGAabFv() { - // NONMATCHING -} - -/* 80B5153C-80B51940 00431C 0404+00 1/1 0/0 0/0 .text - * __ct__8daNpcT_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc - */ -// daNpcT_c::daNpcT_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) { -extern "C" void __ct__8daNpcT_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc() { - // NONMATCHING -} - -/* 80B51940-80B51944 004720 0004+00 1/1 0/0 0/0 .text __ct__5csXyzFv */ -// csXyz::csXyz() { -extern "C" void __ct__5csXyzFv() { - /* empty function */ -} - -/* 80B51944-80B51A40 004724 00FC+00 1/0 0/0 0/0 .text __dt__15daNpcT_JntAnm_cFv */ -// daNpcT_JntAnm_c::~daNpcT_JntAnm_c() { -extern "C" void __dt__15daNpcT_JntAnm_cFv() { - // NONMATCHING -} - -/* 80B51A40-80B51A44 004820 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -// cXyz::cXyz() { -extern "C" void __ct__4cXyzFv() { - /* empty function */ -} - -/* 80B51A44-80B51A8C 004824 0048+00 1/0 0/0 0/0 .text __dt__22daNpcT_MotionSeqMngr_cFv */ -// daNpcT_MotionSeqMngr_c::~daNpcT_MotionSeqMngr_c() { -extern "C" void __dt__22daNpcT_MotionSeqMngr_cFv() { - // NONMATCHING -} - -/* 80B51A8C-80B51AFC 00486C 0070+00 1/0 0/0 0/0 .text __dt__12dBgS_AcchCirFv */ -// dBgS_AcchCir::~dBgS_AcchCir() { -extern "C" void __dt__12dBgS_AcchCirFv() { - // NONMATCHING -} - -/* 80B51AFC-80B51B58 0048DC 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */ -// dCcD_GStts::~dCcD_GStts() { -extern "C" void __dt__10dCcD_GSttsFv() { - // NONMATCHING -} - -/* 80B51B58-80B51BC8 004938 0070+00 3/2 0/0 0/0 .text __dt__12dBgS_ObjAcchFv */ -// dBgS_ObjAcch::~dBgS_ObjAcch() { -extern "C" void __dt__12dBgS_ObjAcchFv() { - // NONMATCHING -} - -/* 80B51BC8-80B51C10 0049A8 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */ -// J3DFrameCtrl::~J3DFrameCtrl() { -extern "C" void __dt__12J3DFrameCtrlFv() { - // NONMATCHING -} - -/* 80B51C10-80B51D2C 0049F0 011C+00 1/1 0/0 0/0 .text setEyeAngleY__15daNpcT_JntAnm_cF4cXyzsifs */ -// void daNpcT_JntAnm_c::setEyeAngleY(cXyz param_0, s16 param_1, int param_2, f32 param_3, -// s16 param_4) { -extern "C" void setEyeAngleY__15daNpcT_JntAnm_cF4cXyzsifs() { - // NONMATCHING -} - -/* 80B51D2C-80B51F34 004B0C 0208+00 1/1 0/0 0/0 .text setEyeAngleX__15daNpcT_JntAnm_cF4cXyzfs */ -// void daNpcT_JntAnm_c::setEyeAngleX(cXyz param_0, f32 param_1, s16 param_2) { -extern "C" void setEyeAngleX__15daNpcT_JntAnm_cF4cXyzfs() { - // NONMATCHING -} - -/* 80B51F34-80B51F38 004D14 0004+00 1/0 0/0 0/0 .text ctrlSubFaceMotion__8daNpcT_cFi */ -// void daNpcT_c::ctrlSubFaceMotion(int param_0) { -extern "C" void ctrlSubFaceMotion__8daNpcT_cFi() { - /* empty function */ -} - -/* 80B51F48-80B51F50 004D28 0008+00 1/0 0/0 0/0 .text getEyeballLMaterialNo__8daNpcT_cFv - */ -// bool daNpcT_c::getEyeballLMaterialNo() { -extern "C" bool getEyeballLMaterialNo__8daNpcT_cFv() { - return false; -} - -/* 80B51F50-80B51F58 004D30 0008+00 1/0 0/0 0/0 .text getEyeballRMaterialNo__8daNpcT_cFv - */ -// bool daNpcT_c::getEyeballRMaterialNo() { -extern "C" bool getEyeballRMaterialNo__8daNpcT_cFv() { - return false; -} - -/* 80B51F58-80B51F60 004D38 0008+00 1/0 0/0 0/0 .text evtEndProc__8daNpcT_cFv */ -// bool daNpcT_c::evtEndProc() { -extern "C" bool evtEndProc__8daNpcT_cFv() { - return true; -} - -/* 80B51F64-80B51F7C 004D44 0018+00 1/0 0/0 0/0 .text decTmr__8daNpcT_cFv */ -// void daNpcT_c::decTmr() { -extern "C" void decTmr__8daNpcT_cFv() { - // NONMATCHING -} - -/* 80B51F7C-80B51F80 004D5C 0004+00 1/0 0/0 0/0 .text drawOtherMdl__8daNpcT_cFv */ -// void daNpcT_c::drawOtherMdl() { -extern "C" void drawOtherMdl__8daNpcT_cFv() { - /* empty function */ -} - -/* 80B51F80-80B51F84 004D60 0004+00 1/0 0/0 0/0 .text drawGhost__8daNpcT_cFv */ -// void daNpcT_c::drawGhost() { -extern "C" void drawGhost__8daNpcT_cFv() { - /* empty function */ -} - -/* 80B51F84-80B51F8C 004D64 0008+00 1/0 0/0 0/0 .text afterSetFaceMotionAnm__8daNpcT_cFiifi */ -// bool daNpcT_c::afterSetFaceMotionAnm(int param_0, int param_1, f32 param_2, int param_3) { -extern "C" bool afterSetFaceMotionAnm__8daNpcT_cFiifi() { - return true; -} - -/* 80B51F8C-80B51F94 004D6C 0008+00 1/0 0/0 0/0 .text afterSetMotionAnm__8daNpcT_cFiifi - */ -// bool daNpcT_c::afterSetMotionAnm(int param_0, int param_1, f32 param_2, int param_3) { -extern "C" bool afterSetMotionAnm__8daNpcT_cFiifi() { - return true; -} - -/* 80B51F94-80B51FC4 004D74 0030+00 1/0 0/0 0/0 .text - * getFaceMotionAnm__8daNpcT_cF26daNpcT_faceMotionAnmData_c */ -// void daNpcT_c::getFaceMotionAnm(daNpcT_faceMotionAnmData_c param_0) { -extern "C" void getFaceMotionAnm__8daNpcT_cF26daNpcT_faceMotionAnmData_c() { - // NONMATCHING -} - -/* 80B51FC4-80B51FF4 004DA4 0030+00 1/0 0/0 0/0 .text - * getMotionAnm__8daNpcT_cF22daNpcT_motionAnmData_c */ -// void daNpcT_c::getMotionAnm(daNpcT_motionAnmData_c param_0) { -extern "C" void getMotionAnm__8daNpcT_cF22daNpcT_motionAnmData_c() { - // NONMATCHING -} - -/* 80B51FF4-80B51FF8 004DD4 0004+00 1/0 0/0 0/0 .text changeAnm__8daNpcT_cFPiPi */ -// void daNpcT_c::changeAnm(int* param_0, int* param_1) { -extern "C" void changeAnm__8daNpcT_cFPiPi() { - /* empty function */ -} - -/* 80B51FF8-80B51FFC 004DD8 0004+00 1/0 0/0 0/0 .text changeBck__8daNpcT_cFPiPi */ -// void daNpcT_c::changeBck(int* param_0, int* param_1) { -extern "C" void changeBck__8daNpcT_cFPiPi() { - /* empty function */ -} - -/* 80B51FFC-80B52000 004DDC 0004+00 1/0 0/0 0/0 .text changeBtp__8daNpcT_cFPiPi */ -// void daNpcT_c::changeBtp(int* param_0, int* param_1) { -extern "C" void changeBtp__8daNpcT_cFPiPi() { - /* empty function */ -} - -/* 80B52000-80B52004 004DE0 0004+00 1/0 0/0 0/0 .text changeBtk__8daNpcT_cFPiPi */ -// void daNpcT_c::changeBtk(int* param_0, int* param_1) { -extern "C" void changeBtk__8daNpcT_cFPiPi() { - /* empty function */ -} - -/* 80B52004-80B52020 004DE4 001C+00 1/1 0/0 0/0 .text cLib_calcTimer__FPi */ -extern "C" void func_80B52004(void* _this, int* param_0) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80B533DC-80B533E8 000F00 000C+00 2/2 0/0 0/0 .data __vt__19daNpc_Yelia_Param_c */ -SECTION_DATA extern void* __vt__19daNpc_Yelia_Param_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__19daNpc_Yelia_Param_cFv, -}; - -/* 80B533F0-80B533FC 000008 000C+00 1/1 0/0 0/0 .bss @3931 */ -static u8 lit_3931[12]; - -/* 80B533FC-80B53400 000014 0004+00 1/1 0/0 0/0 .bss l_HIO */ -static u8 l_HIO[4]; - -/* 80B52020-80B52104 004E00 00E4+00 0/0 1/0 0/0 .text __sinit_d_a_npc_yelia_cpp */ -void __sinit_d_a_npc_yelia_cpp() { - // NONMATCHING -} - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x80B52020, __sinit_d_a_npc_yelia_cpp); -#pragma pop - -/* 80B52104-80B521E4 004EE4 00E0+00 1/1 0/0 0/0 .text - * __ct__13daNpc_Yelia_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc - */ -daNpc_Yelia_c::daNpc_Yelia_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 -} - -/* 80B521E4-80B521EC 004FC4 0008+00 1/0 0/0 0/0 .text getEyeballMaterialNo__13daNpc_Yelia_cFv */ -s32 daNpc_Yelia_c::getEyeballMaterialNo() { - return true; -} - -/* 80B521EC-80B521F4 004FCC 0008+00 1/0 0/0 0/0 .text getHeadJointNo__13daNpc_Yelia_cFv - */ -s32 daNpc_Yelia_c::getHeadJointNo() { - return 4; -} - -/* 80B521F4-80B521FC 004FD4 0008+00 1/0 0/0 0/0 .text getNeckJointNo__13daNpc_Yelia_cFv - */ -s32 daNpc_Yelia_c::getNeckJointNo() { - return 3; -} - -/* 80B521FC-80B52204 004FDC 0008+00 1/0 0/0 0/0 .text getBackboneJointNo__13daNpc_Yelia_cFv */ -bool daNpc_Yelia_c::getBackboneJointNo() { - return true; -} - -/* 80B52204-80B52214 004FE4 0010+00 1/0 0/0 0/0 .text checkChangeJoint__13daNpc_Yelia_cFi - */ -void daNpc_Yelia_c::checkChangeJoint(int param_0) { - // NONMATCHING -} - -/* 80B52214-80B52224 004FF4 0010+00 1/0 0/0 0/0 .text checkRemoveJoint__13daNpc_Yelia_cFi - */ -void daNpc_Yelia_c::checkRemoveJoint(int param_0) { - // NONMATCHING -} - -/* 80B52224-80B5222C 005004 0008+00 1/0 0/0 0/0 .text chkXYItems__13daNpc_Yelia_cFv */ -bool daNpc_Yelia_c::chkXYItems() { - return true; -} - -/* 80B5222C-80B52274 00500C 0048+00 2/1 0/0 0/0 .text __dt__19daNpc_Yelia_Param_cFv */ -daNpc_Yelia_Param_c::~daNpc_Yelia_Param_c() { - // NONMATCHING -} - -/* 80B52274-80B5227C 005054 0008+00 1/0 0/0 0/0 .text @36@__dt__12dBgS_ObjAcchFv */ -static void func_80B52274() { - // NONMATCHING -} - -/* 80B5227C-80B52284 00505C 0008+00 1/0 0/0 0/0 .text @20@__dt__12dBgS_ObjAcchFv */ -static void func_80B5227C() { - // NONMATCHING -} - -/* 80B52284-80B522A0 005064 001C+00 1/1 0/0 0/0 .text setOffsetPos__9daDitem_cF4cXyz */ -// void daDitem_c::setOffsetPos(cXyz param_0) { -extern "C" void setOffsetPos__9daDitem_cF4cXyz() { - // NONMATCHING -} - -/* 80B52408-80B52408 000154 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */