diff --git a/include/d/actor/d_a_npc.h b/include/d/actor/d_a_npc.h index a2d8a5c6419..ebf999bc5ac 100644 --- a/include/d/actor/d_a_npc.h +++ b/include/d/actor/d_a_npc.h @@ -409,7 +409,7 @@ public: bool chkReverse() { return mDirection == 1; } - u16 getNumPnts() { + int getNumPnts() { dPath* path = mpRoomPath; return path->m_num; } diff --git a/include/d/actor/d_a_npc_uri.h b/include/d/actor/d_a_npc_uri.h index adb74b1d0ad..721d8e91f8d 100644 --- a/include/d/actor/d_a_npc_uri.h +++ b/include/d/actor/d_a_npc_uri.h @@ -11,80 +11,179 @@ * @details * */ -class daNpc_Uri_c : public fopAc_ac_c { +class daNpc_Uri_c : public daNpcT_c { public: + typedef int (daNpc_Uri_c::*cutFunc)(int); + typedef int (daNpc_Uri_c::*actionFunc)(void*); + + enum Type { + TYPE_0, + TYPE_1, + TYPE_2, + TYPE_3, + TYPE_4, + TYPE_5, + TYPE_6, + }; + /* 80B267AC */ ~daNpc_Uri_c(); - /* 80B268F8 */ void create(); - /* 80B26BE4 */ void CreateHeap(); - /* 80B2708C */ void Delete(); - /* 80B270C0 */ void Execute(); - /* 80B270E0 */ void Draw(); - /* 80B27174 */ void createHeapCallBack(fopAc_ac_c*); - /* 80B27194 */ void ctrlJointCallBack(J3DJoint*, int); - /* 80B271EC */ void getType(); - /* 80B27260 */ void isDelete(); + /* 80B268F8 */ int create(); + /* 80B26BE4 */ int CreateHeap(); + /* 80B2708C */ int Delete(); + /* 80B270C0 */ int Execute(); + /* 80B270E0 */ int Draw(); + /* 80B27174 */ static int createHeapCallBack(fopAc_ac_c*); + /* 80B27194 */ static int ctrlJointCallBack(J3DJoint*, int); + /* 80B271EC */ u8 getType(); + /* 80B27260 */ int isDelete(); /* 80B272F0 */ void reset(); /* 80B27750 */ void afterJntAnm(int); /* 80B27820 */ void setParam(); - /* 80B27994 */ void checkChangeEvt(); + /* 80B27994 */ BOOL checkChangeEvt(); /* 80B27B3C */ void setAfterTalkMotion(); /* 80B27BF0 */ void srchActors(); - /* 80B27C8C */ void evtTalk(); - /* 80B27D2C */ void evtCutProc(); + /* 80B27C8C */ BOOL evtTalk(); + /* 80B27D2C */ BOOL evtCutProc(); /* 80B27DF4 */ void action(); /* 80B27F14 */ void beforeMove(); /* 80B27FD8 */ void setAttnPos(); /* 80B28318 */ void setCollision(); - /* 80B284D4 */ bool drawDbgInfo(); + /* 80B284D4 */ int drawDbgInfo(); /* 80B284DC */ void drawOtherMdl(); - /* 80B285B4 */ void afterSetMotionAnm(int, int, f32, int); + /* 80B285B4 */ bool afterSetMotionAnm(int, int, f32, int); /* 80B285EC */ void changeBck(int*, int*); /* 80B28618 */ void changeBtp(int*, int*); - /* 80B28644 */ void selectAction(); - /* 80B28794 */ void chkAction(int (daNpc_Uri_c::*)(void*)); - /* 80B287C0 */ void setAction(int (daNpc_Uri_c::*)(void*)); - /* 80B28868 */ void chkPlayerCarryBasket(); - /* 80B288DC */ void chkPlayerGetWoodShield(); - /* 80B28910 */ void getTutorialCond(cXyz); - /* 80B28FB8 */ void cutConversation(int); - /* 80B29198 */ void cutStartCarryTutorial(int); - /* 80B293C0 */ void cutEndCarryTutorial(int); - /* 80B296B8 */ void cutConversationWithMoi(int); - /* 80B2985C */ void cutFindWolf(int); - /* 80B29BA4 */ void cutMeetingAgain(int); - /* 80B29EA0 */ void krun(void*); - /* 80B2A1B4 */ void wait(void*); - /* 80B2AB60 */ void walk(void*); - /* 80B2B24C */ void sitWait(void*); - /* 80B2B7C0 */ void talk(void*); - /* 80B2CC64 */ daNpc_Uri_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**); - /* 80B2CD44 */ s32 getEyeballMaterialNo(); - /* 80B2CD4C */ s32 getHeadJointNo(); - /* 80B2CD54 */ s32 getNeckJointNo(); - /* 80B2CD5C */ bool getBackboneJointNo(); - /* 80B2CD64 */ void checkChangeJoint(int); - /* 80B2CD74 */ void checkRemoveJoint(int); - /* 80B2CD84 */ s32 getFootLJointNo(); - /* 80B2CD8C */ s32 getFootRJointNo(); + /* 80B28644 */ int selectAction(); + /* 80B28794 */ int chkAction(int (daNpc_Uri_c::*)(void*)); + /* 80B287C0 */ int setAction(int (daNpc_Uri_c::*)(void*)); + /* 80B28868 */ BOOL chkPlayerCarryBasket(); + /* 80B288DC */ BOOL chkPlayerGetWoodShield(); + /* 80B28910 */ int getTutorialCond(cXyz); + /* 80B28FB8 */ int cutConversation(int); + /* 80B29198 */ int cutStartCarryTutorial(int); + /* 80B293C0 */ int cutEndCarryTutorial(int); + /* 80B296B8 */ int cutConversationWithMoi(int); + /* 80B2985C */ int cutFindWolf(int); + /* 80B29BA4 */ int cutMeetingAgain(int); + /* 80B29EA0 */ int krun(void*); + /* 80B2A1B4 */ int wait(void*); + /* 80B2AB60 */ int walk(void*); + /* 80B2B24C */ int sitWait(void*); + /* 80B2B7C0 */ int talk(void*); + /* 80B2CC64 */ daNpc_Uri_c(daNpcT_faceMotionAnmData_c const* param_1, + daNpcT_motionAnmData_c const* param_2, + 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* param_7, char** param_8) + : daNpcT_c(param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8) {} + /* 80B2CD44 */ s32 getEyeballMaterialNo() { return 2; } + /* 80B2CD4C */ s32 getHeadJointNo() { return 4; } + /* 80B2CD54 */ s32 getNeckJointNo() { return 3; } + /* 80B2CD5C */ s32 getBackboneJointNo() { return 1; } + /* 80B2CD64 */ BOOL checkChangeJoint(int param_0) { return param_0 == 4; } + /* 80B2CD74 */ BOOL checkRemoveJoint(int param_0) { return param_0 == 8; } + /* 80B2CD84 */ s32 getFootLJointNo() { return 25; } + /* 80B2CD8C */ s32 getFootRJointNo() { return 28; } - static void* mCutNameList[7]; - static u8 mCutList[84]; + int getFlowNodeNo() { + u16 nodeNo = home.angle.x; + if (nodeNo == 0xffff) { + return -1; + } + return nodeNo; + } + + u8 getBitSW() { return (fopAcM_GetParam(this) & 0xff0000) >> 16; } + + u8 getPathID() { return (fopAcM_GetParam(this) & 0xff00) >> 8; } + + static const char* mCutNameList[7]; + static cutFunc mCutList[7]; private: - /* 0x568 */ u8 field_0x568[0x1018 - 0x568]; + /* 0x0E40 */ int field_0xe40; + /* 0x0E44 */ J3DModel* mpModel[1]; + /* 0x0E48 */ dCcD_Cyl mCyl; + /* 0x0F84 */ u8 mType; + /* 0x0F88 */ daNpcT_ActorMngr_c mActorMngr[2]; + /* 0x0F98 */ daNpcT_Path_c mPath; + /* 0x0FC0 */ actionFunc field_0xfc0[2]; + /* 0x0FD8 */ cXyz field_0xfd8; + /* 0x0FE4 */ csXyz field_0xfe4; + /* 0x0FEC */ int field_0xfec; + /* 0x0FF0 */ int field_0xff0; + /* 0x0FF4 */ int field_0xff4; + /* 0x0FF8 */ int field_0xff8; + /* 0x0FFC */ int field_0xffc; + /* 0x1000 */ f32 field_0x1000; + /* 0x1004 */ f32 field_0x1004; + /* 0x1008 */ u8 field_0x1008; + /* 0x1009 */ u8 field_0x1009; + /* 0x100A */ u8 field_0x100a; + /* 0x100B */ u8 field_0x100b; + /* 0x100C */ u8 field_0x100c; + /* 0x100D */ u8 field_0x100d; + /* 0x100E */ u8 field_0x100e; + /* 0x100F */ u8 field_0x100f; + /* 0x1010 */ u8 field_0x1010; + /* 0x1011 */ u8 field_0x1011; + /* 0x1012 */ u8 field_0x1012; + /* 0x1014 */ int field_0x1014; }; STATIC_ASSERT(sizeof(daNpc_Uri_c) == 0x1018); -class daNpc_Uri_Param_c { -public: - /* 80B2CD94 */ ~daNpc_Uri_Param_c(); - - static u8 const m[172]; +struct daNpc_Uri_HIOParam { + /* 0x00 */ f32 field_0x00; + /* 0x04 */ f32 field_0x04; + /* 0x08 */ f32 field_0x08; + /* 0x0C */ f32 field_0x0c; + /* 0x10 */ f32 field_0x10; + /* 0x14 */ f32 field_0x14; + /* 0x18 */ f32 field_0x18; + /* 0x1C */ f32 field_0x1c; + /* 0x20 */ f32 field_0x20; + /* 0x24 */ f32 field_0x24; + /* 0x28 */ f32 field_0x28; + /* 0x2C */ f32 field_0x2c; + /* 0x30 */ f32 field_0x30; + /* 0x34 */ f32 field_0x34; + /* 0x38 */ f32 field_0x38; + /* 0x3C */ f32 field_0x3c; + /* 0x40 */ f32 field_0x40; + /* 0x44 */ f32 field_0x44; + /* 0x48 */ s16 field_0x48; + /* 0x4A */ s16 field_0x4a; + /* 0x4C */ s16 field_0x4c; + /* 0x4E */ s16 field_0x4e; + /* 0x50 */ f32 field_0x50; + /* 0x54 */ f32 field_0x54; + /* 0x58 */ f32 field_0x58; + /* 0x5C */ f32 field_0x5c; + /* 0x60 */ s16 field_0x60; + /* 0x62 */ s16 field_0x62; + /* 0x64 */ u8 field_0x64[8]; + /* 0x6C */ f32 field_0x6c; + /* 0x70 */ u8 field_0x70[28]; + /* 0x8C */ s16 field_0x8c; + /* 0x8E */ s16 field_0x8e; + /* 0x90 */ s16 field_0x90; + /* 0x92 */ s16 field_0x92; + /* 0x94 */ s16 field_0x94; + /* 0x96 */ s16 field_0x96; + /* 0x98 */ f32 field_0x98; + /* 0x9C */ f32 field_0x9c; + /* 0xA0 */ f32 field_0xa0; + /* 0xA4 */ f32 field_0xa4; + /* 0xA8 */ f32 field_0xa8; }; +class daNpc_Uri_Param_c { +public: + /* 80B2CD94 */ virtual ~daNpc_Uri_Param_c() {}; + + static daNpc_Uri_HIOParam const m; +}; #endif /* D_A_NPC_URI_H */ diff --git a/include/d/d_com_inf_game.h b/include/d/d_com_inf_game.h index 275b1479098..ba5eefc473f 100644 --- a/include/d/d_com_inf_game.h +++ b/include/d/d_com_inf_game.h @@ -1658,7 +1658,7 @@ inline bool dComIfGs_isCollectCrystal(u8 i_item) { return g_dComIfG_gameInfo.info.getPlayer().getCollect().isCollectCrystal(i_item); } -inline bool dComIfGs_isCollectShield(u8 i_item) { +inline BOOL dComIfGs_isCollectShield(u8 i_item) { return g_dComIfG_gameInfo.info.getPlayer().getCollect().isCollect(2, i_item); } diff --git a/src/d/actor/d_a_npc.cpp b/src/d/actor/d_a_npc.cpp index 0b0cdd013de..0a3b4a60ef2 100644 --- a/src/d/actor/d_a_npc.cpp +++ b/src/d/actor/d_a_npc.cpp @@ -267,7 +267,7 @@ void daNpcT_Path_c::reverse() { /* 80145DD0-80145E38 140710 0068+00 2/2 0/0 8/8 .text setNextIdx__13daNpcT_Path_cFi */ int daNpcT_Path_c::setNextIdx(int param_0) { - u16 numPnts = getNumPnts(); + int numPnts = getNumPnts(); if (chkClose() != 0 && numPnts == param_0) { return daNpcT_incIdx(param_0, mIdx, 1, mDirection); diff --git a/src/d/actor/d_a_npc_uri.cpp b/src/d/actor/d_a_npc_uri.cpp index ca566cc7a25..296be123b8b 100644 --- a/src/d/actor/d_a_npc_uri.cpp +++ b/src/d/actor/d_a_npc_uri.cpp @@ -1,2141 +1,1905 @@ /** * @file d_a_npc_uri.cpp - * -*/ + * + */ #include "d/actor/d_a_npc_uri.h" -#include "dol2asm.h" +#include "Z2AudioLib/Z2Instances.h" +#include "m_Do/m_Do_graphic.h" -// -// Forward References: -// - -extern "C" void __dt__11daNpc_Uri_cFv(); -extern "C" void create__11daNpc_Uri_cFv(); -extern "C" void CreateHeap__11daNpc_Uri_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__11daNpc_Uri_cFv(); -extern "C" void Execute__11daNpc_Uri_cFv(); -extern "C" void Draw__11daNpc_Uri_cFv(); -extern "C" void createHeapCallBack__11daNpc_Uri_cFP10fopAc_ac_c(); -extern "C" void ctrlJointCallBack__11daNpc_Uri_cFP8J3DJointi(); -extern "C" void getType__11daNpc_Uri_cFv(); -extern "C" void isDelete__11daNpc_Uri_cFv(); -extern "C" void reset__11daNpc_Uri_cFv(); -extern "C" void afterJntAnm__11daNpc_Uri_cFi(); -extern "C" void setParam__11daNpc_Uri_cFv(); -extern "C" void checkChangeEvt__11daNpc_Uri_cFv(); -extern "C" void setAfterTalkMotion__11daNpc_Uri_cFv(); -extern "C" void srchActors__11daNpc_Uri_cFv(); -extern "C" void evtTalk__11daNpc_Uri_cFv(); -extern "C" void evtCutProc__11daNpc_Uri_cFv(); -extern "C" void action__11daNpc_Uri_cFv(); -extern "C" void beforeMove__11daNpc_Uri_cFv(); -extern "C" void setAttnPos__11daNpc_Uri_cFv(); -extern "C" void setCollision__11daNpc_Uri_cFv(); -extern "C" bool drawDbgInfo__11daNpc_Uri_cFv(); -extern "C" void drawOtherMdl__11daNpc_Uri_cFv(); -extern "C" void afterSetMotionAnm__11daNpc_Uri_cFiifi(); -extern "C" void changeBck__11daNpc_Uri_cFPiPi(); -extern "C" void changeBtp__11daNpc_Uri_cFPiPi(); -extern "C" void selectAction__11daNpc_Uri_cFv(); -extern "C" void chkAction__11daNpc_Uri_cFM11daNpc_Uri_cFPCvPvPv_i(); -extern "C" void setAction__11daNpc_Uri_cFM11daNpc_Uri_cFPCvPvPv_i(); -extern "C" void chkPlayerCarryBasket__11daNpc_Uri_cFv(); -extern "C" void chkPlayerGetWoodShield__11daNpc_Uri_cFv(); -extern "C" void getTutorialCond__11daNpc_Uri_cF4cXyz(); -extern "C" void cutConversation__11daNpc_Uri_cFi(); -extern "C" void cutStartCarryTutorial__11daNpc_Uri_cFi(); -extern "C" void cutEndCarryTutorial__11daNpc_Uri_cFi(); -extern "C" void cutConversationWithMoi__11daNpc_Uri_cFi(); -extern "C" void cutFindWolf__11daNpc_Uri_cFi(); -extern "C" void cutMeetingAgain__11daNpc_Uri_cFi(); -extern "C" void krun__11daNpc_Uri_cFPv(); -extern "C" void wait__11daNpc_Uri_cFPv(); -extern "C" void walk__11daNpc_Uri_cFPv(); -extern "C" void sitWait__11daNpc_Uri_cFPv(); -extern "C" void talk__11daNpc_Uri_cFPv(); -extern "C" static void daNpc_Uri_Create__FPv(); -extern "C" static void daNpc_Uri_Delete__FPv(); -extern "C" static void daNpc_Uri_Execute__FPv(); -extern "C" static void daNpc_Uri_Draw__FPv(); -extern "C" static bool daNpc_Uri_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" bool getEyeballLMaterialNo__8daNpcT_cFv(); -extern "C" bool getEyeballRMaterialNo__8daNpcT_cFv(); -extern "C" bool evtEndProc__8daNpcT_cFv(); -extern "C" void afterMoved__8daNpcT_cFv(); -extern "C" bool chkXYItems__8daNpcT_cFv(); -extern "C" void decTmr__8daNpcT_cFv(); -extern "C" void drawGhost__8daNpcT_cFv(); -extern "C" bool afterSetFaceMotionAnm__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 changeBtk__8daNpcT_cFPiPi(); -extern "C" void func_80B2CB10(void* _this, int*); -extern "C" void func_80B2CB2C(void* _this, f32, f32); -extern "C" void __sinit_d_a_npc_uri_cpp(); -extern "C" void -__ct__11daNpc_Uri_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc(); -extern "C" s32 getEyeballMaterialNo__11daNpc_Uri_cFv(); -extern "C" s32 getHeadJointNo__11daNpc_Uri_cFv(); -extern "C" s32 getNeckJointNo__11daNpc_Uri_cFv(); -extern "C" bool getBackboneJointNo__11daNpc_Uri_cFv(); -extern "C" void checkChangeJoint__11daNpc_Uri_cFi(); -extern "C" void checkRemoveJoint__11daNpc_Uri_cFi(); -extern "C" s32 getFootLJointNo__11daNpc_Uri_cFv(); -extern "C" s32 getFootRJointNo__11daNpc_Uri_cFv(); -extern "C" void __dt__17daNpc_Uri_Param_cFv(); -extern "C" static void func_80B2CDDC(); -extern "C" static void func_80B2CDE4(); -extern "C" void getDistTable__12dAttention_cFi(); -extern "C" u8 const m__17daNpc_Uri_Param_c[172]; -extern "C" extern char const* const d_a_npc_uri__stringBase0; -extern "C" void* mCutNameList__11daNpc_Uri_c[7]; -extern "C" u8 mCutList__11daNpc_Uri_c[84]; - -// -// 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 mDoExt_modelUpdateDL__FP8J3DModel(); -extern "C" void -__ct__16mDoExt_McaMorfSOFP12J3DModelDataP25mDoExt_McaMorfCallBack1_cP25mDoExt_McaMorfCallBack2_cP15J3DAnmTransformifiiP10Z2CreatureUlUl(); -extern "C" void stopZelAnime__16mDoExt_McaMorfSOFv(); -extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void __dt__10fopAc_ac_cFv(); -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 dComIfGs_wolfeye_effect_check__Fv(); -extern "C" void isCollect__20dSv_player_collect_cCFiUc(); -extern "C" void onEventBit__11dSv_event_cFUs(); -extern "C" void offEventBit__11dSv_event_cFUs(); -extern "C" void isEventBit__11dSv_event_cCFUs(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void reset__14dEvt_control_cFv(); -extern "C" void setPt2__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 ChkPresentEnd__16dEvent_manager_cFv(); -extern "C" void init__7dPaPo_cFP9dBgS_Acchff(); -extern "C" void addReal__21dDlst_shadowControl_cFUlP8J3DModel(); -extern "C" void GroundCross__4cBgSFP11cBgS_GndChk(); -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 setPathInfo__13daNpcT_Path_cFUcScUc(); -extern "C" void setNextPathInfo__13daNpcT_Path_cFScUc(); -extern "C" void setNextIdx__13daNpcT_Path_cFi(); -extern "C" void getDstPosH__13daNpcT_Path_cF4cXyzP4cXyzii(); -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 getTrnsfrmAnmP__8daNpcT_cFPCci(); -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 setPos__8daNpcT_cF4cXyz(); -extern "C" void setAngle__8daNpcT_cF5csXyz(); -extern "C" void setAngle__8daNpcT_cFs(); -extern "C" void hitChk__8daNpcT_cFP12dCcD_GObjInfUl(); -extern "C" void chkActorInSight__8daNpcT_cFP10fopAc_ac_cfs(); -extern "C" void chkPointInArea__8daNpcT_cF4cXyz4cXyzfffs(); -extern "C" void srchPlayerActor__8daNpcT_cFv(); -extern "C" void getAttnPos__8daNpcT_cFP10fopAc_ac_c(); -extern "C" void step__8daNpcT_cFsiiii(); -extern "C" void calcSpeedAndAngle__8daNpcT_cF4cXyziss(); -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 daNpcT_chkTmpBit__FUl(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void __ct__10dMsgFlow_cFv(); -extern "C" void __dt__10dMsgFlow_cFv(); -extern "C" void getEventId__10dMsgFlow_cFPi(); -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 SetPos__11cBgS_GndChkFPC4cXyz(); -extern "C" void __dt__13cBgS_PolyInfoFv(); -extern "C" void cM3d_Len2dSqPntAndSegLine__FffffffPfPfPf(); -extern "C" void __dt__8cM3dGCirFv(); -extern "C" void SetC__8cM3dGCylFRC4cXyz(); -extern "C" void SetH__8cM3dGCylFf(); -extern "C" void SetR__8cM3dGCylFf(); -extern "C" void cLib_chaseF__FPfff(); -extern "C" void cLib_targetAngleY__FPC3VecPC3Vec(); -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 checkPass__12J3DFrameCtrlFf(); -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_24(); -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_24(); -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" u8 dist_table__12dAttention_c[6552]; -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" extern u8 mBlureFlag__13mDoGph_gInf_c[4]; -extern "C" void __register_global_object(); - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 80B2CF74-80B2CF74 000160 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80B2CF74 = ""; -SECTION_DEAD static char const* const stringBase_80B2CF75 = "DEFAULT_GETITEM"; -SECTION_DEAD static char const* const stringBase_80B2CF85 = "NO_RESPONSE"; -SECTION_DEAD static char const* const stringBase_80B2CF91 = "FIRST_CONVERSATION"; -SECTION_DEAD static char const* const stringBase_80B2CFA4 = "CONVERSATION"; -SECTION_DEAD static char const* const stringBase_80B2CFB1 = "START_CARRY_TUTORIAL"; -SECTION_DEAD static char const* const stringBase_80B2CFC6 = "END_CARRY_TUTORIAL"; -SECTION_DEAD static char const* const stringBase_80B2CFD9 = "FAILURE_CARRY_TUTORIAL"; -SECTION_DEAD static char const* const stringBase_80B2CFF0 = "CONVERSATION_WITH_MOI"; -SECTION_DEAD static char const* const stringBase_80B2D006 = "FIND_WOLF"; -SECTION_DEAD static char const* const stringBase_80B2D010 = "MEETING_AGAIN"; -SECTION_DEAD static char const* const stringBase_80B2D01E = "Uri"; -SECTION_DEAD static char const* const stringBase_80B2D022 = "Uri1"; -SECTION_DEAD static char const* const stringBase_80B2D027 = "Uri2"; -SECTION_DEAD static char const* const stringBase_80B2D02C = "Uri3"; -SECTION_DEAD static char const* const stringBase_80B2D031 = "Uri_P1"; -#pragma pop - -/* 80B2D048-80B2D054 000000 000C+00 3/3 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, -}; - -/* 80B2D054-80B2D068 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; /* 80B2D068-80B2D078 000020 0010+00 1/1 0/0 0/0 .data l_bmdData */ -SECTION_DATA static u8 l_bmdData[16] = { - 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x02, -}; +static int l_bmdData[2][2] = {{12, 1}, {33, 2}}; /* 80B2D078-80B2D0D0 -00001 0058+00 0/1 0/0 0/0 .data l_evtList */ -#pragma push -#pragma force_active on -SECTION_DATA static void* l_evtList[22] = { - (void*)&d_a_npc_uri__stringBase0, - (void*)NULL, - (void*)(((char*)&d_a_npc_uri__stringBase0) + 0x1), - (void*)0x00000002, - (void*)(((char*)&d_a_npc_uri__stringBase0) + 0x11), - (void*)NULL, - (void*)(((char*)&d_a_npc_uri__stringBase0) + 0x1D), - (void*)0x00000002, - (void*)(((char*)&d_a_npc_uri__stringBase0) + 0x30), - (void*)0x00000002, - (void*)(((char*)&d_a_npc_uri__stringBase0) + 0x3D), - (void*)0x00000002, - (void*)(((char*)&d_a_npc_uri__stringBase0) + 0x52), - (void*)0x00000002, - (void*)(((char*)&d_a_npc_uri__stringBase0) + 0x65), - (void*)0x00000002, - (void*)(((char*)&d_a_npc_uri__stringBase0) + 0x7C), - (void*)0x00000003, - (void*)(((char*)&d_a_npc_uri__stringBase0) + 0x92), - (void*)0x00000003, - (void*)(((char*)&d_a_npc_uri__stringBase0) + 0x9C), - (void*)0x00000004, +static daNpcT_evtData_c l_evtList[11] = { + {"", 0}, + {"DEFAULT_GETITEM", 2}, + {"NO_RESPONSE", 0}, + {"FIRST_CONVERSATION", 2}, + {"CONVERSATION", 2}, + {"START_CARRY_TUTORIAL", 2}, + {"END_CARRY_TUTORIAL", 2}, + {"FAILURE_CARRY_TUTORIAL", 2}, + {"CONVERSATION_WITH_MOI", 3}, + {"FIND_WOLF", 3}, + {"MEETING_AGAIN", 4}, }; -#pragma pop /* 80B2D0D0-80B2D0E8 -00001 0018+00 3/4 0/0 0/0 .data l_resNameList */ -SECTION_DATA static void* l_resNameList[6] = { - (void*)&d_a_npc_uri__stringBase0, - (void*)(((char*)&d_a_npc_uri__stringBase0) + 0xAA), - (void*)(((char*)&d_a_npc_uri__stringBase0) + 0xAE), - (void*)(((char*)&d_a_npc_uri__stringBase0) + 0xB3), - (void*)(((char*)&d_a_npc_uri__stringBase0) + 0xB8), - (void*)(((char*)&d_a_npc_uri__stringBase0) + 0xBD), +static char* l_resNameList[6] = { + "", "Uri", "Uri1", "Uri2", "Uri3", "Uri_P1", }; /* 80B2D0E8-80B2D0EC 0000A0 0002+02 1/0 0/0 0/0 .data l_loadResPtrn0 */ -SECTION_DATA static u16 l_loadResPtrn0[1 + 1 /* padding */] = { - 0x01FF, - /* padding */ - 0x0000, -}; +static s8 l_loadResPtrn0[2] = {1, -1}; /* 80B2D0EC-80B2D0F0 0000A4 0003+01 1/0 0/0 0/0 .data l_loadResPtrn1 */ -SECTION_DATA static u8 l_loadResPtrn1[3 + 1 /* padding */] = { - 0x01, - 0x02, - 0xFF, - /* padding */ - 0x00, +static s8 l_loadResPtrn1[3] = { + 1, + 2, + -1, }; /* 80B2D0F0-80B2D0F4 0000A8 0003+01 1/0 0/0 0/0 .data l_loadResPtrn2 */ -SECTION_DATA static u8 l_loadResPtrn2[3 + 1 /* padding */] = { - 0x01, - 0x03, - 0xFF, - /* padding */ - 0x00, +static s8 l_loadResPtrn2[3] = { + 1, + 3, + -1, }; /* 80B2D0F4-80B2D0FC 0000AC 0005+03 1/0 0/0 0/0 .data l_loadResPtrn3 */ -SECTION_DATA static u8 l_loadResPtrn3[5 + 3 /* padding */] = { - 0x01, - 0x02, - 0x03, - 0x04, - 0xFF, - /* padding */ - 0x00, - 0x00, - 0x00, +static s8 l_loadResPtrn3[5] = { + 1, 2, 3, 4, -1, }; /* 80B2D0FC-80B2D100 0000B4 0003+01 1/0 0/0 0/0 .data l_loadResPtrn4 */ -SECTION_DATA static u8 l_loadResPtrn4[3 + 1 /* padding */] = { - 0x01, - 0x05, - 0xFF, - /* padding */ - 0x00, +static s8 l_loadResPtrn4[3] = { + 1, + 5, + -1, }; /* 80B2D100-80B2D108 0000B8 0005+03 1/0 0/0 0/0 .data l_loadResPtrn9 */ -SECTION_DATA static u8 l_loadResPtrn9[5 + 3 /* padding */] = { - 0x01, - 0x02, - 0x03, - 0x04, - 0xFF, - /* padding */ - 0x00, - 0x00, - 0x00, +static s8 l_loadResPtrn9[5] = { + 1, 2, 3, 4, -1, }; /* 80B2D108-80B2D124 -00001 001C+00 1/2 0/0 0/0 .data l_loadResPtrnList */ -SECTION_DATA static void* l_loadResPtrnList[7] = { - (void*)&l_loadResPtrn0, (void*)&l_loadResPtrn1, (void*)&l_loadResPtrn0, (void*)&l_loadResPtrn2, - (void*)&l_loadResPtrn3, (void*)&l_loadResPtrn4, (void*)&l_loadResPtrn9, -}; +static s8* l_loadResPtrnList[7] = {l_loadResPtrn0, l_loadResPtrn1, l_loadResPtrn0, l_loadResPtrn2, + l_loadResPtrn3, l_loadResPtrn4, l_loadResPtrn9}; /* 80B2D124-80B2D338 0000DC 0214+00 0/1 0/0 0/0 .data l_faceMotionAnmData */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 l_faceMotionAnmData[532] = { - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 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, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2C, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, - 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x17, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2E, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, - 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x12, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x00, 0x00, 0x00, +static daNpcT_faceMotionAnmData_c l_faceMotionAnmData[19] = { + {-1, 0, 0, 18, 2, 1, TRUE}, {-1, 0, 0, -1, 0, 0, FALSE}, {6, 0, 1, 18, 2, 1, TRUE}, + {10, 0, 2, 43, 0, 2, FALSE}, {11, 0, 2, 44, 0, 2, FALSE}, {9, 0, 2, 42, 0, 2, FALSE}, + {12, 0, 2, 45, 0, 2, FALSE}, {6, 0, 3, 21, 0, 3, FALSE}, {8, 0, 3, 23, 0, 3, FALSE}, + {15, 2, 2, 18, 2, 1, TRUE}, {7, 2, 2, 18, 2, 1, TRUE}, {14, 2, 2, 47, 2, 2, FALSE}, + {13, 2, 2, 46, 2, 2, FALSE}, {8, 2, 2, 41, 2, 2, FALSE}, {10, 2, 3, 18, 2, 1, TRUE}, + {7, 0, 3, 22, 0, 3, FALSE}, {11, 2, 3, 18, 2, 1, TRUE}, {7, 0, 1, 20, 0, 1, FALSE}, + {8, 2, 1, 21, 2, 1, FALSE}, }; -#pragma pop /* 80B2D338-80B2D6F0 0002F0 03B8+00 1/2 0/0 0/0 .data l_motionAnmData */ -SECTION_DATA static u8 l_motionAnmData[952] = { - 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0F, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 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, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x12, 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, - 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, 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, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0F, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x24, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0F, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0F, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, - 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0F, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, - 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0F, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, - 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0F, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, +static daNpcT_motionAnmData_c l_motionAnmData[34] = { + {9, 2, 1, 15, 0, 1, 1, 0}, {-1, 0, 0, -1, 0, 0, 0, 0}, {9, 2, 3, 18, 2, 3, 0, 0}, + {-1, 0, 0, -1, 0, 0, 0, 0}, {-1, 0, 0, -1, 0, 0, 0, 0}, {-1, 0, 0, -1, 0, 0, 0, 0}, + {-1, 0, 0, -1, 0, 0, 0, 0}, {-1, 0, 0, -1, 0, 0, 0, 0}, {30, 0, 2, 15, 0, 1, 1, 0}, + {27, 2, 2, 15, 0, 1, 1, 0}, {28, 0, 2, 15, 0, 1, 1, 0}, {29, 2, 2, 38, 2, 2, 0, 0}, + {18, 2, 2, 36, 2, 2, 0, 0}, {26, 2, 2, 37, 2, 2, 0, 0}, {22, 2, 2, 15, 0, 1, 1, 0}, + {23, 2, 2, 15, 0, 1, 1, 0}, {24, 2, 2, 15, 0, 1, 1, 0}, {25, 2, 2, 15, 0, 1, 1, 0}, + {20, 0, 2, 15, 0, 1, 1, 0}, {21, 0, 2, 15, 0, 1, 1, 0}, {16, 0, 2, 15, 0, 1, 1, 0}, + {17, 2, 2, 15, 0, 1, 1, 0}, {12, 0, 3, 15, 0, 1, 1, 0}, {13, 2, 3, 15, 0, 1, 1, 0}, + {14, 0, 3, 15, 0, 1, 1, 0}, {15, 0, 3, 15, 0, 1, 1, 0}, {6, 2, 4, 15, 0, 1, 1, 0}, + {7, 0, 4, 15, 0, 1, 1, 0}, {8, 0, 4, 15, 0, 1, 1, 0}, {10, 2, 4, 15, 0, 1, 1, 0}, + {9, 0, 4, 15, 0, 1, 1, 0}, {4, 2, 4, 15, 0, 1, 1, 0}, {5, 0, 4, 15, 0, 1, 1, 0}, + {19, 0, 2, 15, 0, 1, 1, 0}, }; /* 80B2D6F0-80B2D810 0006A8 0120+00 0/1 0/0 0/0 .data l_faceMotionSequenceData */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 l_faceMotionSequenceData[288] = { - 0x00, 0x02, 0xFF, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x07, 0xFF, 0x01, 0x00, 0x0E, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x03, 0xFF, 0x01, 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, 0x00, 0x0B, 0x00, 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, 0x0D, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x06, 0xFF, 0x01, 0x00, 0x09, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x08, 0xFF, 0x01, 0x00, 0x0E, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x11, 0xFF, 0x00, 0x00, 0x12, 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, 0x0F, 0xFF, 0x01, 0x00, 0x10, 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, 0x0A, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x0B, 0xFF, 0x00, 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, 0x12, 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[72] = { + {2, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {7, -1, 1}, {14, 0, 0}, {-1, 0, 0}, + {-1, 0, 0}, {3, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {4, -1, 1}, {-1, 0, 0}, + {-1, 0, 0}, {-1, 0, 0}, {5, -1, 1}, {11, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {12, -1, 0}, + {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {13, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {6, -1, 1}, {9, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {8, -1, 1}, {14, 0, 0}, {-1, 0, 0}, + {-1, 0, 0}, {17, -1, 0}, {18, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {14, -1, 0}, {-1, 0, 0}, + {-1, 0, 0}, {-1, 0, 0}, {15, -1, 1}, {16, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {16, -1, 0}, + {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {10, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {11, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {9, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, + {-1, 0, 0}, {18, -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 /* 80B2D810-80B2D9F0 0007C8 01E0+00 0/1 0/0 0/0 .data l_motionSequenceData */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 l_motionSequenceData[480] = { - 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x1C, 0xFF, 0x01, 0x00, 0x1D, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x1E, 0xFF, 0x01, 0x00, 0x1A, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x1F, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x20, 0xFF, 0x01, 0x00, 0x1F, 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, 0x1D, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x0A, 0xFF, 0x01, 0x00, 0x09, 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, 0x12, 0xFF, 0x01, 0x00, 0x0E, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x13, 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, 0x0B, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x0D, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x19, 0xFF, 0x01, 0x00, 0x18, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x02, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x18, 0xFF, 0x01, 0x00, 0x02, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x1A, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x1B, 0xFF, 0x01, 0x00, 0x1A, 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, 0x17, 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, 0x21, 0x04, 0x01, 0xFF, 0xFF, 0x00, 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, 0x08, 0xFF, 0x01, 0x00, 0x09, 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, 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, +static daNpcT_MotionSeqMngr_c::sequenceStepData_c l_motionSequenceData[120] = { + {0, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {28, -1, 1}, {29, 0, 0}, {-1, 0, 0}, + {-1, 0, 0}, {30, -1, 1}, {26, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {31, -1, 0}, {-1, 0, 0}, + {-1, 0, 0}, {-1, 0, 0}, {32, -1, 1}, {31, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {9, -1, 0}, + {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {29, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {10, -1, 1}, {9, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {14, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, + {-1, 0, 0}, {18, -1, 1}, {14, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {19, -1, 1}, {14, 0, 0}, + {-1, 0, 0}, {-1, 0, 0}, {15, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {11, -1, 0}, + {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {13, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {25, -1, 1}, {24, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {-1, 0, 0}, {2, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {24, -1, 1}, {2, 0, 0}, + {-1, 0, 0}, {-1, 0, 0}, {26, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {27, -1, 1}, + {26, 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}, {23, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, + {-1, 0, 0}, {22, -1, 1}, {23, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {33, 4, 1}, {-1, 0, 0}, + {-1, 0, 0}, {-1, 0, 0}, {12, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {8, -1, 1}, + {9, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {3, -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}, }; -#pragma pop /* 80B2D9F0-80B2DA0C -00001 001C+00 1/1 0/0 0/0 .data mCutNameList__11daNpc_Uri_c */ -SECTION_DATA void* daNpc_Uri_c::mCutNameList[7] = { - (void*)&d_a_npc_uri__stringBase0, - (void*)(((char*)&d_a_npc_uri__stringBase0) + 0x30), - (void*)(((char*)&d_a_npc_uri__stringBase0) + 0x3D), - (void*)(((char*)&d_a_npc_uri__stringBase0) + 0x52), - (void*)(((char*)&d_a_npc_uri__stringBase0) + 0x7C), - (void*)(((char*)&d_a_npc_uri__stringBase0) + 0x92), - (void*)(((char*)&d_a_npc_uri__stringBase0) + 0x9C), +const char* daNpc_Uri_c::mCutNameList[7] = { + "", + "CONVERSATION", + "START_CARRY_TUTORIAL", + "END_CARRY_TUTORIAL", + "CONVERSATION_WITH_MOI", + "FIND_WOLF", + "MEETING_AGAIN", }; -/* 80B2DA0C-80B2DA18 -00001 000C+00 0/1 0/0 0/0 .data @3815 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3815[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cutConversation__11daNpc_Uri_cFi, -}; -#pragma pop - -/* 80B2DA18-80B2DA24 -00001 000C+00 0/1 0/0 0/0 .data @3816 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3816[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cutStartCarryTutorial__11daNpc_Uri_cFi, -}; -#pragma pop - -/* 80B2DA24-80B2DA30 -00001 000C+00 0/1 0/0 0/0 .data @3817 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3817[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cutEndCarryTutorial__11daNpc_Uri_cFi, -}; -#pragma pop - -/* 80B2DA30-80B2DA3C -00001 000C+00 0/1 0/0 0/0 .data @3818 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3818[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cutConversationWithMoi__11daNpc_Uri_cFi, -}; -#pragma pop - -/* 80B2DA3C-80B2DA48 -00001 000C+00 0/1 0/0 0/0 .data @3819 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3819[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cutFindWolf__11daNpc_Uri_cFi, -}; -#pragma pop - -/* 80B2DA48-80B2DA54 -00001 000C+00 0/1 0/0 0/0 .data @3820 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3820[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cutMeetingAgain__11daNpc_Uri_cFi, -}; -#pragma pop - /* 80B2DA54-80B2DAA8 000A0C 0054+00 1/2 0/0 0/0 .data mCutList__11daNpc_Uri_c */ -SECTION_DATA u8 daNpc_Uri_c::mCutList[84] = { - 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; - -/* 80B2DAA8-80B2DAB4 -00001 000C+00 1/1 0/0 0/0 .data @4651 */ -SECTION_DATA static void* lit_4651[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)talk__11daNpc_Uri_cFPv, -}; - -/* 80B2DAB4-80B2DAE4 -00001 0030+00 1/1 0/0 0/0 .data @4714 */ -SECTION_DATA static void* lit_4714[12] = { - (void*)(((char*)setAfterTalkMotion__11daNpc_Uri_cFv) + 0x6C), - (void*)(((char*)setAfterTalkMotion__11daNpc_Uri_cFv) + 0x40), - (void*)(((char*)setAfterTalkMotion__11daNpc_Uri_cFv) + 0x6C), - (void*)(((char*)setAfterTalkMotion__11daNpc_Uri_cFv) + 0x6C), - (void*)(((char*)setAfterTalkMotion__11daNpc_Uri_cFv) + 0x48), - (void*)(((char*)setAfterTalkMotion__11daNpc_Uri_cFv) + 0x4C), - (void*)(((char*)setAfterTalkMotion__11daNpc_Uri_cFv) + 0x6C), - (void*)(((char*)setAfterTalkMotion__11daNpc_Uri_cFv) + 0x50), - (void*)(((char*)setAfterTalkMotion__11daNpc_Uri_cFv) + 0x58), - (void*)(((char*)setAfterTalkMotion__11daNpc_Uri_cFv) + 0x68), - (void*)(((char*)setAfterTalkMotion__11daNpc_Uri_cFv) + 0x6C), - (void*)(((char*)setAfterTalkMotion__11daNpc_Uri_cFv) + 0x60), -}; - -/* 80B2DAE4-80B2DAF0 -00001 000C+00 1/1 0/0 0/0 .data @4734 */ -SECTION_DATA static void* lit_4734[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)talk__11daNpc_Uri_cFPv, -}; - -/* 80B2DAF0-80B2DAFC -00001 000C+00 1/1 0/0 0/0 .data @4739 */ -SECTION_DATA static void* lit_4739[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)talk__11daNpc_Uri_cFPv, -}; - -/* 80B2DAFC-80B2DB08 -00001 000C+00 0/1 0/0 0/0 .data @5083 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5083[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)sitWait__11daNpc_Uri_cFPv, -}; -#pragma pop - -/* 80B2DB08-80B2DB14 -00001 000C+00 0/1 0/0 0/0 .data @5090 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5090[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)walk__11daNpc_Uri_cFPv, -}; -#pragma pop - -/* 80B2DB14-80B2DB20 -00001 000C+00 0/1 0/0 0/0 .data @5092 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5092[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)wait__11daNpc_Uri_cFPv, -}; -#pragma pop - -/* 80B2DB20-80B2DB2C -00001 000C+00 0/1 0/0 0/0 .data @5094 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5094[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)krun__11daNpc_Uri_cFPv, -}; -#pragma pop - -/* 80B2DB2C-80B2DB38 -00001 000C+00 0/1 0/0 0/0 .data @5096 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5096[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)sitWait__11daNpc_Uri_cFPv, -}; -#pragma pop - -/* 80B2DB38-80B2DB44 -00001 000C+00 0/1 0/0 0/0 .data @5098 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5098[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)wait__11daNpc_Uri_cFPv, -}; -#pragma pop - -/* 80B2DB44-80B2DB64 -00001 0020+00 1/0 0/0 0/0 .data daNpc_Uri_MethodTable */ -static actor_method_class daNpc_Uri_MethodTable = { - (process_method_func)daNpc_Uri_Create__FPv, - (process_method_func)daNpc_Uri_Delete__FPv, - (process_method_func)daNpc_Uri_Execute__FPv, - (process_method_func)daNpc_Uri_IsDelete__FPv, - (process_method_func)daNpc_Uri_Draw__FPv, -}; - -/* 80B2DB64-80B2DB94 -00001 0030+00 0/0 0/0 1/0 .data g_profile_NPC_URI */ -extern actor_process_profile_definition g_profile_NPC_URI = { - fpcLy_CURRENT_e, // mLayerID - 7, // mListID - fpcPi_CURRENT_e, // mListPrio - PROC_NPC_URI, // mProcName - &g_fpcLf_Method.base, // sub_method - sizeof(daNpc_Uri_c), // mSize - 0, // mSizeOther - 0, // mParameters - &g_fopAc_Method.base, // sub_method - 378, // mPriority - &daNpc_Uri_MethodTable, // sub_method - 0x00040107, // mStatus - fopAc_NPC_e, // mActorType - fopAc_CULLBOX_CUSTOM_e, // cullType -}; - -/* 80B2DB94-80B2DBA0 000B4C 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, -}; - -/* 80B2DBA0-80B2DBAC 000B58 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, -}; - -/* 80B2DBAC-80B2DBD0 000B64 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_80B2CDE4, - (void*)NULL, - (void*)NULL, - (void*)func_80B2CDDC, -}; - -/* 80B2DBD0-80B2DBDC 000B88 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, -}; - -/* 80B2DBDC-80B2DBE8 000B94 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, -}; - -/* 80B2DBE8-80B2DBF4 000BA0 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, -}; - -/* 80B2DBF4-80B2DC00 000BAC 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, -}; - -/* 80B2DC00-80B2DC0C 000BB8 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, -}; - -/* 80B2DC0C-80B2DC18 000BC4 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, -}; - -/* 80B2DC18-80B2DC24 000BD0 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, -}; - -/* 80B2DC24-80B2DC30 000BDC 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, -}; - -/* 80B2DC30-80B2DC3C 000BE8 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, -}; - -/* 80B2DC3C-80B2DD00 000BF4 00C4+00 2/2 0/0 0/0 .data __vt__11daNpc_Uri_c */ -SECTION_DATA extern void* __vt__11daNpc_Uri_c[49] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__11daNpc_Uri_cFv, - (void*)ctrlBtk__8daNpcT_cFv, - (void*)ctrlSubFaceMotion__8daNpcT_cFi, - (void*)checkChangeJoint__11daNpc_Uri_cFi, - (void*)checkRemoveJoint__11daNpc_Uri_cFi, - (void*)getBackboneJointNo__11daNpc_Uri_cFv, - (void*)getNeckJointNo__11daNpc_Uri_cFv, - (void*)getHeadJointNo__11daNpc_Uri_cFv, - (void*)getFootLJointNo__11daNpc_Uri_cFv, - (void*)getFootRJointNo__11daNpc_Uri_cFv, - (void*)getEyeballLMaterialNo__8daNpcT_cFv, - (void*)getEyeballRMaterialNo__8daNpcT_cFv, - (void*)getEyeballMaterialNo__11daNpc_Uri_cFv, - (void*)ctrlJoint__8daNpcT_cFP8J3DJointP8J3DModel, - (void*)afterJntAnm__11daNpc_Uri_cFi, - (void*)setParam__11daNpc_Uri_cFv, - (void*)checkChangeEvt__11daNpc_Uri_cFv, - (void*)evtTalk__11daNpc_Uri_cFv, - (void*)evtEndProc__8daNpcT_cFv, - (void*)evtCutProc__11daNpc_Uri_cFv, - (void*)setAfterTalkMotion__11daNpc_Uri_cFv, - (void*)evtProc__8daNpcT_cFv, - (void*)action__11daNpc_Uri_cFv, - (void*)beforeMove__11daNpc_Uri_cFv, - (void*)afterMoved__8daNpcT_cFv, - (void*)setAttnPos__11daNpc_Uri_cFv, - (void*)setFootPos__8daNpcT_cFv, - (void*)setCollision__11daNpc_Uri_cFv, - (void*)setFootPrtcl__8daNpcT_cFP4cXyzff, - (void*)checkCullDraw__8daNpcT_cFv, - (void*)twilight__8daNpcT_cFv, - (void*)chkXYItems__8daNpcT_cFv, - (void*)evtOrder__8daNpcT_cFv, - (void*)decTmr__8daNpcT_cFv, - (void*)clrParam__8daNpcT_cFv, - (void*)drawDbgInfo__11daNpc_Uri_cFv, - (void*)drawOtherMdl__11daNpc_Uri_cFv, - (void*)drawGhost__8daNpcT_cFv, - (void*)afterSetFaceMotionAnm__8daNpcT_cFiifi, - (void*)afterSetMotionAnm__11daNpc_Uri_cFiifi, - (void*)getFaceMotionAnm__8daNpcT_cF26daNpcT_faceMotionAnmData_c, - (void*)getMotionAnm__8daNpcT_cF22daNpcT_motionAnmData_c, - (void*)changeAnm__8daNpcT_cFPiPi, - (void*)changeBck__11daNpc_Uri_cFPiPi, - (void*)changeBtp__11daNpc_Uri_cFPiPi, - (void*)changeBtk__8daNpcT_cFPiPi, - (void*)setMotionAnm__8daNpcT_cFifi, +daNpc_Uri_c::cutFunc daNpc_Uri_c::mCutList[7] = { + NULL, + &daNpc_Uri_c::cutConversation, + &daNpc_Uri_c::cutStartCarryTutorial, + &daNpc_Uri_c::cutEndCarryTutorial, + &daNpc_Uri_c::cutConversationWithMoi, + &daNpc_Uri_c::cutFindWolf, + &daNpc_Uri_c::cutMeetingAgain, }; /* 80B267AC-80B268F8 0000EC 014C+00 1/0 0/0 0/0 .text __dt__11daNpc_Uri_cFv */ daNpc_Uri_c::~daNpc_Uri_c() { - // NONMATCHING + if (mpMorf[0] != 0) { + mpMorf[0]->stopZelAnime(); + } + deleteRes(l_loadResPtrnList[mType], (char const**)l_resNameList); } /* ############################################################################################## */ /* 80B2CE14-80B2CEC0 000000 00AC+00 14/14 0/0 0/0 .rodata m__17daNpc_Uri_Param_c */ -SECTION_RODATA u8 const daNpc_Uri_Param_c::m[172] = { - 0x43, 0x48, 0x00, 0x00, 0xC0, 0x40, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x43, 0xFA, 0x00, 0x00, - 0x43, 0x7F, 0x00, 0x00, 0x43, 0x34, 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, 0xA0, 0x00, 0x00, 0x00, 0x03, 0x00, 0x06, 0x00, 0x05, 0x00, 0x06, - 0x42, 0xDC, 0x00, 0x00, 0x43, 0xC8, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 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, 0x00, 0x78, 0x00, 0x78, - 0x00, 0x3C, 0x00, 0xB4, 0x00, 0x0A, 0x00, 0x00, 0x43, 0xAF, 0x00, 0x00, 0x43, 0xC8, 0x00, 0x00, - 0x45, 0x3B, 0x80, 0x00, 0x43, 0x48, 0x00, 0x00, 0x44, 0x16, 0x00, 0x00, +daNpc_Uri_HIOParam const daNpc_Uri_Param_c::m = { + 200.0f, // field_0x00 + -3.0f, // field_0x04 + 1.0f, // field_0x08 + 500.0f, // field_0x0c + 255.0f, // field_0x10 + 180.0f, // field_0x14 + 35.0f, // field_0x18 + 30.0f, // field_0x1c + 0.0f, // field_0x20 + 0.0f, // field_0x24 + 10.0f, // field_0x28 + -10.0f, // field_0x2c + 30.0f, // field_0x30 + -10.0f, // field_0x34 + 45.0f, // field_0x38 + -45.0f, // field_0x3c + 0.6f, // field_0x40 + 20.0f, // field_0x44 + 3, // field_0x48 + 6, // field_0x4a + 5, // field_0x4c + 6, // field_0x4e + 110.0f, // field_0x50 + 400.0f, // field_0x54 + 300.0f, // field_0x58 + -300.0f, // field_0x5c + 60, // field_0x60 + 8, // field_0x62 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 4.0f, // field_0x6c + 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, + 120, // field_0x8c + 120, // field_0x8e + 60, // field_0x90 + 180, // field_0x92 + 10, // field_0x94 + 0, // field_0x96 + 350.0f, // field_0x98 + 400.0f, // field_0x9c + 3000.0f, // field_0xa0 + 200.0f, // field_0xa4 + 600.0f, // field_0xa8 }; -COMPILER_STRIP_GATE(0x80B2CE14, &daNpc_Uri_Param_c::m); - -/* 80B2CEC0-80B2CEDC 0000AC 001C+00 0/1 0/0 0/0 .rodata heapSize$3979 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const heapSize[28] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x37, 0x40, 0x00, 0x00, 0x37, 0x40, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B2CEC0, &heapSize); -#pragma pop - -/* 80B2CEDC-80B2CEE0 0000C8 0004+00 0/1 0/0 0/0 .rodata @4051 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4051 = -200.0f; -COMPILER_STRIP_GATE(0x80B2CEDC, &lit_4051); -#pragma pop - -/* 80B2CEE0-80B2CEE4 0000CC 0004+00 0/1 0/0 0/0 .rodata @4052 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4052 = -100.0f; -COMPILER_STRIP_GATE(0x80B2CEE0, &lit_4052); -#pragma pop - -/* 80B2CEE4-80B2CEE8 0000D0 0004+00 0/2 0/0 0/0 .rodata @4053 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4053 = 200.0f; -COMPILER_STRIP_GATE(0x80B2CEE4, &lit_4053); -#pragma pop - -/* 80B2CEE8-80B2CEEC 0000D4 0004+00 0/2 0/0 0/0 .rodata @4054 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4054 = 300.0f; -COMPILER_STRIP_GATE(0x80B2CEE8, &lit_4054); -#pragma pop - -/* 80B2CEEC-80B2CEF0 0000D8 0004+00 8/21 0/0 0/0 .rodata @4055 */ -SECTION_RODATA static u8 const lit_4055[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80B2CEEC, &lit_4055); - -/* 80B2CEF0-80B2CEF4 0000DC 0004+00 0/1 0/0 0/0 .rodata @4056 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4056 = -1000000000.0f; -COMPILER_STRIP_GATE(0x80B2CEF0, &lit_4056); -#pragma pop /* 80B268F8-80B26BE4 000238 02EC+00 1/1 0/0 0/0 .text create__11daNpc_Uri_cFv */ -void daNpc_Uri_c::create() { - // NONMATCHING +int daNpc_Uri_c::create() { + static const int heapSize[] = {0, 0x3F20, 0, 0, 0x3740, 0x3740, 0}; + + fopAcM_SetupActor2(this, daNpc_Uri_c, l_faceMotionAnmData, + (const daNpcT_motionAnmData_c*)l_motionAnmData, + (const daNpcT_MotionSeqMngr_c::sequenceStepData_c*)l_faceMotionSequenceData, + 4, (const daNpcT_MotionSeqMngr_c::sequenceStepData_c*)l_motionSequenceData, + 4, (const daNpcT_evtData_c*)l_evtList, (char**)l_resNameList); + + mType = getType(); + mFlowNodeNo = getFlowNodeNo(); + mTwilight = 0; + + int phase = loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); + if (phase == cPhs_COMPLEATE_e) { + if (isDelete()) { + return cPhs_ERROR_e; + } + if (!fopAcM_entrySolidHeap(this, createHeapCallBack, heapSize[mType])) { + return cPhs_ERROR_e; + } + J3DModelData* modelData = mpMorf[0]->getModel()->getModelData(); + fopAcM_SetMtx(this, mpMorf[0]->getModel()->getBaseTRMtx()); + fopAcM_setCullSizeBox(this, -200.0f, -100.0f, -200.0f, 200.0f, 300.0f, 200.0f); + mSound.init(¤t.pos, &eyePos, 3, 1); + field_0x9c0.init(&mAcch, 0.0f, 0.0f); + 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(daNpc_Uri_Param_c::m.field_0x10, 0, this); + mCyl.Set(mCcDCyl); + mCyl.SetStts(&mCcStts); + mCyl.SetTgHitCallback(tgHitCallBack); + if (mType == TYPE_4) { + mAcch.SetGrndNone(); + mAcch.SetWallNone(); + } + mAcch.CrrPos(dComIfG_Bgsp()); + mGndChk = mAcch.m_gnd; + mGroundH = mAcch.GetGroundH(); + if (mGroundH != -1000000000.0f) { + setEnvTevColor(); + setRoomNo(); + } + mCreating = 1; + Execute(); + mCreating = 0; + } + + return phase; } -/* ############################################################################################## */ -/* 80B2CEF4-80B2CEF8 0000E0 0004+00 0/2 0/0 0/0 .rodata @4220 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4220 = 65536.0f; -COMPILER_STRIP_GATE(0x80B2CEF4, &lit_4220); -#pragma pop - -/* 80B2CEF8-80B2CEFC 0000E4 0004+00 0/3 0/0 0/0 .rodata @4221 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4221 = 1.0f / 5.0f; -COMPILER_STRIP_GATE(0x80B2CEF8, &lit_4221); -#pragma pop - -/* 80B2CEFC-80B2CF00 0000E8 0004+00 2/5 0/0 0/0 .rodata @4378 */ -SECTION_RODATA static f32 const lit_4378 = 1.0f; -COMPILER_STRIP_GATE(0x80B2CEFC, &lit_4378); - /* 80B26BE4-80B26ED0 000524 02EC+00 1/1 0/0 0/0 .text CreateHeap__11daNpc_Uri_cFv */ -void daNpc_Uri_c::CreateHeap() { - // NONMATCHING -} +int daNpc_Uri_c::CreateHeap() { + J3DModelData* modelData = static_cast( + dComIfG_getObjectRes(l_resNameList[l_bmdData[0][1]], l_bmdData[0][0])); + if (modelData == NULL) { + return 1; + } -/* 80B26ED0-80B26F0C 000810 003C+00 1/1 0/0 0/0 .text __dt__15J3DTevKColorAnmFv */ -// J3DTevKColorAnm::~J3DTevKColorAnm() { -extern "C" void __dt__15J3DTevKColorAnmFv() { - // NONMATCHING -} + mpMorf[0] = new mDoExt_McaMorfSO(modelData, NULL, NULL, NULL, -1, 1.0f, 0, -1, &mSound, 0x80000, + 0x11020284); + if (mpMorf[0] == NULL || mpMorf[0]->getModel() == NULL) { + return 0; + } -/* 80B26F0C-80B26F24 00084C 0018+00 1/1 0/0 0/0 .text __ct__15J3DTevKColorAnmFv */ -// J3DTevKColorAnm::J3DTevKColorAnm() { -extern "C" void __ct__15J3DTevKColorAnmFv() { - // NONMATCHING -} + J3DModel* model = mpMorf[0]->getModel(); -/* 80B26F24-80B26F60 000864 003C+00 1/1 0/0 0/0 .text __dt__14J3DTevColorAnmFv */ -// J3DTevColorAnm::~J3DTevColorAnm() { -extern "C" void __dt__14J3DTevColorAnmFv() { - // NONMATCHING -} + for (u16 i = 0; i < modelData->getJointNum(); i++) { + modelData->getJointNodePointer(i)->setCallBack(ctrlJointCallBack); + } -/* 80B26F60-80B26F78 0008A0 0018+00 1/1 0/0 0/0 .text __ct__14J3DTevColorAnmFv */ -// J3DTevColorAnm::J3DTevColorAnm() { -extern "C" void __ct__14J3DTevColorAnmFv() { - // NONMATCHING -} + model->setUserArea((u32)this); -/* 80B26F78-80B26FC0 0008B8 0048+00 1/1 0/0 0/0 .text __dt__11J3DTexNoAnmFv */ -// J3DTexNoAnm::~J3DTexNoAnm() { -extern "C" void __dt__11J3DTexNoAnmFv() { - // NONMATCHING -} + mpMatAnm[0] = new daNpcT_MatAnm_c(); + if (mpMatAnm[0] == NULL) { + return 0; + } -/* 80B26FC0-80B26FE4 000900 0024+00 1/1 0/0 0/0 .text __ct__11J3DTexNoAnmFv */ -// J3DTexNoAnm::J3DTexNoAnm() { -extern "C" void __ct__11J3DTexNoAnmFv() { - // NONMATCHING -} + if (mType == TYPE_1) { + J3DModelData* modelData2; + if (l_bmdData[1][0] >= 0) { + modelData2 = static_cast( + dComIfG_getObjectRes(l_resNameList[l_bmdData[1][1]], l_bmdData[1][0])); + } else { + modelData2 = NULL; + } + if (modelData2 != NULL) { + mpModel[0] = mDoExt_J3DModel__create(modelData2, 0x80000, 0x11000084); + } + if (mpModel[0] == NULL) { + return 0; + } + } -/* 80B26FE4-80B27020 000924 003C+00 1/1 0/0 0/0 .text __dt__12J3DTexMtxAnmFv */ -// J3DTexMtxAnm::~J3DTexMtxAnm() { -extern "C" void __dt__12J3DTexMtxAnmFv() { - // NONMATCHING -} + if (setFaceMotionAnm(2, false) && setMotionAnm(0, 0.0f, 0)) { + return 1; + } -/* 80B27020-80B27038 000960 0018+00 1/1 0/0 0/0 .text __ct__12J3DTexMtxAnmFv */ -// J3DTexMtxAnm::J3DTexMtxAnm() { -extern "C" void __ct__12J3DTexMtxAnmFv() { - // NONMATCHING -} - -/* 80B27038-80B27074 000978 003C+00 1/1 0/0 0/0 .text __dt__14J3DMatColorAnmFv */ -// J3DMatColorAnm::~J3DMatColorAnm() { -extern "C" void __dt__14J3DMatColorAnmFv() { - // NONMATCHING -} - -/* 80B27074-80B2708C 0009B4 0018+00 1/1 0/0 0/0 .text __ct__14J3DMatColorAnmFv */ -// J3DMatColorAnm::J3DMatColorAnm() { -extern "C" void __ct__14J3DMatColorAnmFv() { - // NONMATCHING + return 0; } /* 80B2708C-80B270C0 0009CC 0034+00 1/1 0/0 0/0 .text Delete__11daNpc_Uri_cFv */ -void daNpc_Uri_c::Delete() { - // NONMATCHING +int daNpc_Uri_c::Delete() { + fopAcM_GetID(this); + this->~daNpc_Uri_c(); + return 1; } /* 80B270C0-80B270E0 000A00 0020+00 2/2 0/0 0/0 .text Execute__11daNpc_Uri_cFv */ -void daNpc_Uri_c::Execute() { - // NONMATCHING +int daNpc_Uri_c::Execute() { + return daNpcT_c::execute(); } -/* ############################################################################################## */ -/* 80B2CF00-80B2CF04 0000EC 0004+00 1/3 0/0 0/0 .rodata @4427 */ -SECTION_RODATA static f32 const lit_4427 = 100.0f; -COMPILER_STRIP_GATE(0x80B2CF00, &lit_4427); - /* 80B270E0-80B27174 000A20 0094+00 1/1 0/0 0/0 .text Draw__11daNpc_Uri_cFv */ -void daNpc_Uri_c::Draw() { - // NONMATCHING +int daNpc_Uri_c::Draw() { + if (mpMatAnm[0] != NULL) { + J3DModelData* modelData = mpMorf[0]->getModel()->getModelData(); + modelData->getMaterialNodePointer(getEyeballMaterialNo())->setMaterialAnm(mpMatAnm[0]); + } + + return daNpcT_c::draw(0, 0, field_0xde8, NULL, 100.0f, 0, 0, 0); } /* 80B27174-80B27194 000AB4 0020+00 1/1 0/0 0/0 .text * createHeapCallBack__11daNpc_Uri_cFP10fopAc_ac_c */ -void daNpc_Uri_c::createHeapCallBack(fopAc_ac_c* param_0) { - // NONMATCHING +int daNpc_Uri_c::createHeapCallBack(fopAc_ac_c* i_this) { + return static_cast(i_this)->CreateHeap(); } /* 80B27194-80B271EC 000AD4 0058+00 1/1 0/0 0/0 .text ctrlJointCallBack__11daNpc_Uri_cFP8J3DJointi */ -void daNpc_Uri_c::ctrlJointCallBack(J3DJoint* param_0, int param_1) { - // NONMATCHING +int daNpc_Uri_c::ctrlJointCallBack(J3DJoint* param_0, int param_1) { + if (param_1 == 0) { + J3DModel* model = j3dSys.getModel(); + + daNpc_Uri_c* i_this = reinterpret_cast(model->getUserArea()); + if (i_this != 0) { + i_this->ctrlJoint(param_0, model); + } + } + + return 1; } /* 80B271EC-80B27260 000B2C 0074+00 1/1 0/0 0/0 .text getType__11daNpc_Uri_cFv */ -void daNpc_Uri_c::getType() { - // NONMATCHING +u8 daNpc_Uri_c::getType() { + switch (fopAcM_GetParam(this) & 0xFF) { + case 0: + return TYPE_0; + break; + case 1: + return TYPE_1; + break; + case 2: + return TYPE_2; + break; + case 3: + return TYPE_3; + break; + case 4: + return TYPE_4; + break; + case 5: + return TYPE_5; + } + return TYPE_6; } /* 80B27260-80B272F0 000BA0 0090+00 1/1 0/0 0/0 .text isDelete__11daNpc_Uri_cFv */ -void daNpc_Uri_c::isDelete() { - // NONMATCHING +int daNpc_Uri_c::isDelete() { + switch (mType) { + case TYPE_0: + return FALSE; + case TYPE_1: + return FALSE; + case TYPE_2: + return FALSE; + case TYPE_3: + return (chkPlayerGetWoodShield() == 0); + case TYPE_4: + return FALSE; + case TYPE_5: + return FALSE; + default: + return FALSE; + } } /* 80B272F0-80B27750 000C30 0460+00 1/1 0/0 0/0 .text reset__11daNpc_Uri_cFv */ void daNpc_Uri_c::reset() { - // NONMATCHING + csXyz cStack_a0; + cXyz acStack_38; + cXyz cStack_44; + + int iVar1 = (u8*)&field_0x1014 - (u8*)&field_0xfc0[0]; + if (mpMatAnm[0] != NULL) { + mpMatAnm[0]->initialize(); + } + initialize(); + for (int i = 0; i < 2; i++) { + mActorMngr[i].initialize(); + } + if (getPathID() != 0xFF) { + mPath.initialize(); + mPath.setPathInfo(getPathID(), fopAcM_GetRoomNo(this), 0); + } + memset(&field_0xfc0[0], 0, iVar1); + cStack_a0.setall(0); + cStack_a0.y = home.angle.y; + + switch (mType) { + case TYPE_1: + mPath.setNextPathInfo(fopAcM_GetRoomNo(this), 0); + int num = mPath.getNumPnts(); + acStack_38 = mPath.getPntPos(num - 2); + cStack_44 = mPath.getPntPos(num - 1); + field_0xfd8 = cStack_44; + field_0xfe4.setall(0); + field_0xfe4.y = cLib_targetAngleY(&acStack_38, &field_0xfd8); + if (daNpcT_chkEvtBit(0x25)) { + setPos(cStack_44); + cStack_a0.y = cLib_targetAngleY(&acStack_38, &cStack_44); + mPath.setPathInfo(getPathID(), fopAcM_GetRoomNo(this), 0); + field_0x100e = 1; + } else { + acStack_38 = mPath.getPntPos(0); + cStack_44 = mPath.getPntPos(1); + setPos(acStack_38); + cStack_a0.y = cLib_targetAngleY(&acStack_38, &cStack_44); + mPath.setNextIdx(mPath.mpRoomPath->m_num); + } + if (daNpcT_chkEvtBit(0x20) != 0 || daNpcT_chkEvtBit(0x1e) != 0 || + daNpcT_chkEvtBit(0x92) != 0) + { + setPos(home.pos); + if (daNpcT_chkEvtBit(0x20) != 0) { + field_0x100d = 1; + + } else { + if (daNpcT_chkEvtBit(0x1e) != 0 || daNpcT_chkEvtBit(0x92) != 0) { + field_0x100f = 1; + } + } + } + break; + case TYPE_4: + field_0x100d = 1; + break; + case TYPE_0: + case TYPE_2: + case TYPE_3: + case TYPE_5: + break; + } + + daNpcT_offTmpBit(7); + dComIfGs_offTmpBit(0x1308); + setAngle(cStack_a0); } /* 80B27750-80B27820 001090 00D0+00 1/0 0/0 0/0 .text afterJntAnm__11daNpc_Uri_cFi */ -void daNpc_Uri_c::afterJntAnm(int param_0) { - // NONMATCHING +void daNpc_Uri_c::afterJntAnm(int param_1) { + if (param_1 == 1) { + mDoMtx_stack_c::YrotM(mStagger.getAngleZ(1)); + mDoMtx_stack_c::ZrotM(-mStagger.getAngleX(1)); + } else if (param_1 == 4) { + mDoMtx_stack_c::YrotM(mStagger.getAngleZ(0)); + mDoMtx_stack_c::ZrotM(mStagger.getAngleX(0)); + } + + if (0.0f < field_0x1004) { + if (param_1 == 18) { + mpMorf[0]->onMorfNone(); + } else if (param_1 == 28) { + mpMorf[0]->offMorfNone(); + } + } } /* 80B27820-80B27994 001160 0174+00 1/0 0/0 0/0 .text setParam__11daNpc_Uri_cFv */ void daNpc_Uri_c::setParam() { - // NONMATCHING + selectAction(); + srchActors(); + + s16 sVar7 = daNpc_Uri_Param_c::m.field_0x48; + s16 sVar6 = daNpc_Uri_Param_c::m.field_0x4a; + s16 sVar5 = daNpc_Uri_Param_c::m.field_0x4c; + s16 sVar4 = daNpc_Uri_Param_c::m.field_0x4e; + if (mType == TYPE_1) { + sVar6 = 4; + sVar4 = 4; + } + + daPy_py_c* player = daPy_getPlayerActorClass(); + if (player->checkHorseRide()) { + sVar7 = 7; + sVar5 = 9; + } + + attention_info.distances[fopAc_attn_LOCK_e] = daNpcT_getDistTableIdx(sVar5, sVar4); + attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[fopAc_attn_LOCK_e]; + attention_info.distances[fopAc_attn_SPEAK_e] = daNpcT_getDistTableIdx(sVar7, sVar6); + attention_info.flags = 0xA; + scale.set(daNpc_Uri_Param_c::m.field_0x08, daNpc_Uri_Param_c::m.field_0x08, + daNpc_Uri_Param_c::m.field_0x08); + mCcStts.SetWeight(daNpc_Uri_Param_c::m.field_0x10); + mCylH = daNpc_Uri_Param_c::m.field_0x14; + mWallR = daNpc_Uri_Param_c::m.field_0x1c; + mAttnFovY = daNpc_Uri_Param_c::m.field_0x50; + mAcchCir.SetWallR(mWallR); + mAcchCir.SetWallH(daNpc_Uri_Param_c::m.field_0x18); + field_0xde8 = daNpc_Uri_Param_c::m.field_0x0c; + gravity = daNpc_Uri_Param_c::m.field_0x04; + field_0xa80 = daNpc_Uri_Param_c::m.field_0x6c; + mMorfFrames = daNpc_Uri_Param_c::m.field_0x44; + if (mType == TYPE_4) { + mAcch.SetGrndNone(); + mAcch.SetWallNone(); + gravity = 0.0f; + } } /* 80B27994-80B27B3C 0012D4 01A8+00 1/0 0/0 0/0 .text checkChangeEvt__11daNpc_Uri_cFv */ -void daNpc_Uri_c::checkChangeEvt() { - // NONMATCHING -} +BOOL daNpc_Uri_c::checkChangeEvt() { + if (!chkAction(&daNpc_Uri_c::talk)) { + mPreItemNo = 0; -/* ############################################################################################## */ -/* 80B2CF04-80B2CF08 0000F0 0004+00 2/6 0/0 0/0 .rodata @4713 */ -SECTION_RODATA static f32 const lit_4713 = -1.0f; -COMPILER_STRIP_GATE(0x80B2CF04, &lit_4713); + if (dComIfGp_event_chkTalkXY()) { + if (dComIfGp_evmng_ChkPresentEnd()) { + mEvtNo = 2; + evtChange(); + } + return TRUE; + } + + switch (mType) { + case TYPE_1: + if (!daNpcT_chkEvtBit(0x1E) && !daNpcT_chkEvtBit(0x92)) { + if (!daNpcT_chkTmpBit(0x7)) { + if (daNpcT_chkEvtBit(0x24)) { + mEvtNo = 4; + } else { + mEvtNo = 3; + } + evtChange(); + return TRUE; + } + } else if (!daNpcT_chkEvtBit(0x20) && field_0x100b == 0) { + mEvtNo = 7; + evtChange(); + return TRUE; + } + break; + case TYPE_4: + if (daNpcT_chkEvtBit(0x3D) && !daNpcT_chkEvtBit(0x14A)) { + mEvtNo = 10; + evtChange(); + return TRUE; + } + break; + case TYPE_0: + case TYPE_2: + case TYPE_3: + case TYPE_5: + break; + } + } + + return FALSE; +} /* 80B27B3C-80B27BF0 00147C 00B4+00 2/0 0/0 0/0 .text setAfterTalkMotion__11daNpc_Uri_cFv */ void daNpc_Uri_c::setAfterTalkMotion() { - // NONMATCHING + int iVar2 = 17; + switch (mFaceMotionSeqMngr.getNo()) { + case 1: + iVar2 = 10; + break; + case 4: + return; + case 5: + return; + case 7: + iVar2 = 15; + break; + case 8: + iVar2 = 10; + break; + case 9: + iVar2 = 12; + break; + case 11: + iVar2 = 16; + } + mFaceMotionSeqMngr.setNo(iVar2, -1.0f, 0, 0); } /* 80B27BF0-80B27C8C 001530 009C+00 1/1 0/0 0/0 .text srchActors__11daNpc_Uri_cFv */ void daNpc_Uri_c::srchActors() { - // NONMATCHING + switch (mType) { + case TYPE_0: + case TYPE_1: + case TYPE_2: + break; + case TYPE_3: + if (!mActorMngr[0].getActorP()) { + mActorMngr[0].entry(getNearestActorP(0x262)); + } + break; + case TYPE_4: + if (!mActorMngr[0].getActorP()) { + mActorMngr[0].entry(getNearestActorP(0x262)); + } + break; + case TYPE_5: + break; + } } /* 80B27C8C-80B27D2C 0015CC 00A0+00 1/0 0/0 0/0 .text evtTalk__11daNpc_Uri_cFv */ -void daNpc_Uri_c::evtTalk() { - // NONMATCHING +BOOL daNpc_Uri_c::evtTalk() { + if (chkAction(&daNpc_Uri_c::talk)) { + (this->*field_0xfc0[1])(NULL); + } else { + setAction(&daNpc_Uri_c::talk); + } + return 1; } /* 80B27D2C-80B27DF4 00166C 00C8+00 1/0 0/0 0/0 .text evtCutProc__11daNpc_Uri_cFv */ -void daNpc_Uri_c::evtCutProc() { - // NONMATCHING +BOOL daNpc_Uri_c::evtCutProc() { + int staffId = dComIfGp_getEventManager().getMyStaffId("Uri", this, -1); + if (staffId != -1) { + mStaffId = staffId; + int actIdx = + dComIfGp_getEventManager().getMyActIdx(mStaffId, (char**)mCutNameList, 7, 0, 0); + if ((this->*(mCutList[actIdx]))(mStaffId) != 0) { + dComIfGp_getEventManager().cutEnd(mStaffId); + } + return true; + } + return false; } /* 80B27DF4-80B27F14 001734 0120+00 1/0 0/0 0/0 .text action__11daNpc_Uri_cFv */ void daNpc_Uri_c::action() { - // NONMATCHING + fopAc_ac_c* hitActor = hitChk(&mCyl, 0xffffffff); + + if (mStagger.checkRebirth()) { + mStagger.initialize(); + mMode = 1; + } + + if (field_0xfc0[0] != NULL) { + if (field_0xfc0[1] == field_0xfc0[0]) { + (this->*field_0xfc0[1])(NULL); + } else { + setAction(field_0xfc0[0]); + } + } + + if (!dComIfGp_event_runCheck() && field_0x1012 != 0) { + fopAcM_delete(this); + } } /* 80B27F14-80B27FD8 001854 00C4+00 1/0 0/0 0/0 .text beforeMove__11daNpc_Uri_cFv */ void daNpc_Uri_c::beforeMove() { - // NONMATCHING + fopAcM_OffStatus(this, 0x8000000); + if (checkHide()) { + fopAcM_OnStatus(this, 0x8000000); + } + + if (checkHide() || mNoDraw != 0) { + attention_info.flags = 0; + } } -/* ############################################################################################## */ -/* 80B2CF08-80B2CF0C 0000F4 0004+00 0/1 0/0 0/0 .rodata @4875 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4875 = -30.0f; -COMPILER_STRIP_GATE(0x80B2CF08, &lit_4875); -#pragma pop - -/* 80B2CF0C-80B2CF10 0000F8 0004+00 0/2 0/0 0/0 .rodata @4876 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4876 = 10.0f; -COMPILER_STRIP_GATE(0x80B2CF0C, &lit_4876); -#pragma pop - -/* 80B2CF10-80B2CF14 0000FC 0004+00 0/1 0/0 0/0 .rodata @4877 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_4877 = 0x38C90FDB; -COMPILER_STRIP_GATE(0x80B2CF10, &lit_4877); -#pragma pop - -/* 80B2CF14-80B2CF18 000100 0004+00 0/2 0/0 0/0 .rodata @4878 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4878 = -60.0f; -COMPILER_STRIP_GATE(0x80B2CF14, &lit_4878); -#pragma pop - -/* 80B2CF18-80B2CF1C 000104 0004+00 0/2 0/0 0/0 .rodata @4879 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4879 = 20.0f; -COMPILER_STRIP_GATE(0x80B2CF18, &lit_4879); -#pragma pop - -/* 80B2CF1C-80B2CF20 000108 0004+00 0/1 0/0 0/0 .rodata @4880 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4880 = 3.0f; -COMPILER_STRIP_GATE(0x80B2CF1C, &lit_4880); -#pragma pop - -/* 80B2CF20-80B2CF24 00010C 0004+00 0/1 0/0 0/0 .rodata @4881 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4881 = 11.0f; -COMPILER_STRIP_GATE(0x80B2CF20, &lit_4881); -#pragma pop - -/* 80B2CF24-80B2CF2C 000110 0008+00 1/6 0/0 0/0 .rodata @4883 */ -SECTION_RODATA static u8 const lit_4883[8] = { - 0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B2CF24, &lit_4883); - -/* 80B2DD18-80B2DD1C 000008 0001+03 1/1 0/0 0/0 .bss @1109 */ -static u8 lit_1109[1 + 3 /* padding */]; - -/* 80B2DD1C-80B2DD20 00000C 0001+03 0/0 0/0 0/0 .bss @1107 */ -#pragma push -#pragma force_active on -static u8 lit_1107[1 + 3 /* padding */]; -#pragma pop - -/* 80B2DD20-80B2DD24 000010 0001+03 0/0 0/0 0/0 .bss @1105 */ -#pragma push -#pragma force_active on -static u8 lit_1105[1 + 3 /* padding */]; -#pragma pop - -/* 80B2DD24-80B2DD28 000014 0001+03 0/0 0/0 0/0 .bss @1104 */ -#pragma push -#pragma force_active on -static u8 lit_1104[1 + 3 /* padding */]; -#pragma pop - -/* 80B2DD28-80B2DD2C 000018 0001+03 0/0 0/0 0/0 .bss @1099 */ -#pragma push -#pragma force_active on -static u8 lit_1099[1 + 3 /* padding */]; -#pragma pop - -/* 80B2DD2C-80B2DD30 00001C 0001+03 0/0 0/0 0/0 .bss @1097 */ -#pragma push -#pragma force_active on -static u8 lit_1097[1 + 3 /* padding */]; -#pragma pop - -/* 80B2DD30-80B2DD34 000020 0001+03 0/0 0/0 0/0 .bss @1095 */ -#pragma push -#pragma force_active on -static u8 lit_1095[1 + 3 /* padding */]; -#pragma pop - -/* 80B2DD34-80B2DD38 000024 0001+03 0/0 0/0 0/0 .bss @1094 */ -#pragma push -#pragma force_active on -static u8 lit_1094[1 + 3 /* padding */]; -#pragma pop - -/* 80B2DD38-80B2DD3C 000028 0001+03 0/0 0/0 0/0 .bss @1057 */ -#pragma push -#pragma force_active on -static u8 lit_1057[1 + 3 /* padding */]; -#pragma pop - -/* 80B2DD3C-80B2DD40 00002C 0001+03 0/0 0/0 0/0 .bss @1055 */ -#pragma push -#pragma force_active on -static u8 lit_1055[1 + 3 /* padding */]; -#pragma pop - -/* 80B2DD40-80B2DD44 000030 0001+03 0/0 0/0 0/0 .bss @1053 */ -#pragma push -#pragma force_active on -static u8 lit_1053[1 + 3 /* padding */]; -#pragma pop - -/* 80B2DD44-80B2DD48 000034 0001+03 0/0 0/0 0/0 .bss @1052 */ -#pragma push -#pragma force_active on -static u8 lit_1052[1 + 3 /* padding */]; -#pragma pop - -/* 80B2DD48-80B2DD4C 000038 0001+03 0/0 0/0 0/0 .bss @1014 */ -#pragma push -#pragma force_active on -static u8 lit_1014[1 + 3 /* padding */]; -#pragma pop - -/* 80B2DD4C-80B2DD50 00003C 0001+03 0/0 0/0 0/0 .bss @1012 */ -#pragma push -#pragma force_active on -static u8 lit_1012[1 + 3 /* padding */]; -#pragma pop - -/* 80B2DD50-80B2DD54 000040 0001+03 0/0 0/0 0/0 .bss @1010 */ -#pragma push -#pragma force_active on -static u8 lit_1010[1 + 3 /* padding */]; -#pragma pop - -/* 80B2DD54-80B2DD58 000044 0001+03 0/0 0/0 0/0 .bss @1009 */ -#pragma push -#pragma force_active on -static u8 lit_1009[1 + 3 /* padding */]; -#pragma pop - -/* 80B2DD58-80B2DD64 000048 000C+00 1/1 0/0 0/0 .bss @3821 */ -static u8 lit_3821[12]; +UNK_REL_BSS; /* 80B2DD64-80B2DD68 000054 0004+00 1/1 0/0 0/0 .bss l_HIO */ -static u8 l_HIO[4]; - -/* 80B2DD68-80B2DD78 000058 000C+04 0/1 0/0 0/0 .bss @4816 */ -#pragma push -#pragma force_active on -static u8 lit_4816[12 + 4 /* padding */]; -#pragma pop - -/* 80B2DD78-80B2DD84 000068 000C+00 0/1 0/0 0/0 .bss prtclScl$4815 */ -#pragma push -#pragma force_active on -static u8 prtclScl[12]; -#pragma pop +static daNpc_Uri_Param_c l_HIO; /* 80B27FD8-80B28318 001918 0340+00 1/0 0/0 0/0 .text setAttnPos__11daNpc_Uri_cFv */ void daNpc_Uri_c::setAttnPos() { - // NONMATCHING + cXyz acStack_3c(-30.0f, 10.0f, 0.0f); + + mStagger.calc(0); + + f32 dVar6 = cM_s2rad(mCurAngle.y - field_0xd7e.y); + mJntAnm.setParam(this, mpMorf[0]->getModel(), &acStack_3c, getBackboneJointNo(), + getNeckJointNo(), getHeadJointNo(), l_HIO.m.field_0x24, l_HIO.m.field_0x20, + l_HIO.m.field_0x2c, l_HIO.m.field_0x28, l_HIO.m.field_0x34, l_HIO.m.field_0x30, + l_HIO.m.field_0x3c, l_HIO.m.field_0x38, l_HIO.m.field_0x40, dVar6, NULL); + mJntAnm.calcJntRad(0.2f, 1.0f, dVar6); + + setMtx(); + mDoMtx_stack_c::copy(mpMorf[0]->getModel()->getAnmMtx(getHeadJointNo())); + mDoMtx_stack_c::multVec(&acStack_3c, &eyePos); + + mJntAnm.setEyeAngleX(eyePos, 1.0f, 0); + mJntAnm.setEyeAngleY(eyePos, mCurAngle.y + field_0xd8a.y, 1, 1.0f, 0); + + acStack_3c.set(0.0f, 0.0f, 0.0f); + acStack_3c.y = l_HIO.m.field_0x00; + + if (field_0x100d != 0) { + if (mType == TYPE_1) { + acStack_3c.y -= 10.0f; + acStack_3c.z = -60.0f; + } else if (mType == TYPE_4) { + acStack_3c.y -= 20.0f; + } + } + + mDoMtx_stack_c::YrotS(mCurAngle.y); + mDoMtx_stack_c::multVec(&acStack_3c, &acStack_3c); + attention_info.position = acStack_3c + current.pos; + static cXyz prtclScl(1.0f, 1.0f, 1.0f); + setFootPos(); + if (3.0f < speedF) { + setFootPrtcl(&prtclScl, 11.0f, 0); + } } /* 80B28318-80B284D4 001C58 01BC+00 1/0 0/0 0/0 .text setCollision__11daNpc_Uri_cFv */ void daNpc_Uri_c::setCollision() { - // NONMATCHING + cXyz cStack_48; + + if (mHide == 0) { + u32 tgType = 0xd8fbfdff; + u32 tgSPrm = 0x1f; + + if (mTwilight != 0) { + tgType = 0; + tgSPrm = 0; + } else { + if (mStagger.checkStagger()) { + tgType = 0; + tgSPrm = 0; + } + } + + mCyl.SetCoSPrm(0x79); + mCyl.SetTgType(tgType); + mCyl.SetTgSPrm(tgSPrm); + mCyl.OnTgNoHitMark(); + cStack_48.set(0.0f, 0.0f, 10.0f); + f32 cylHeight = mCylH; + f32 cylRadius = mWallR; + if (field_0x100d != 0) { + switch (mType) { + case TYPE_1: + cylHeight = mCylH - 10.0f; + cylRadius = mWallR; + cStack_48.set(0.0f, 0.0f, -60.0f); + break; + case TYPE_4: + cylHeight = mCylH - 20.0f; + cylRadius = mWallR; + cStack_48.set(0.0f, 0.0f, 0.0f); + break; + case TYPE_2: + case TYPE_3: + case TYPE_5: + break; + } + } + mDoMtx_stack_c::YrotS(mCurAngle.y); + mDoMtx_stack_c::multVec(&cStack_48, &cStack_48); + cStack_48 += current.pos; + mCyl.SetH(cylHeight); + mCyl.SetR(cylRadius); + mCyl.SetC(cStack_48); + dComIfG_Ccsp()->Set(&mCyl); + } + mCyl.ClrCoHit(); + mCyl.ClrTgHit(); } /* 80B284D4-80B284DC 001E14 0008+00 1/0 0/0 0/0 .text drawDbgInfo__11daNpc_Uri_cFv */ -bool daNpc_Uri_c::drawDbgInfo() { - return false; +int daNpc_Uri_c::drawDbgInfo() { + return 0; } -/* ############################################################################################## */ -/* 80B2CF2C-80B2CF34 000118 0008+00 0/2 0/0 0/0 .rodata @4941 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4941[8] = { - 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B2CF2C, &lit_4941); -#pragma pop - -/* 80B2CF34-80B2CF3C 000120 0008+00 0/2 0/0 0/0 .rodata @4942 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4942[8] = { - 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B2CF34, &lit_4942); -#pragma pop - -/* 80B2CF3C-80B2CF44 000128 0008+00 0/2 0/0 0/0 .rodata @4943 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4943[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B2CF3C, &lit_4943); -#pragma pop - -/* 80B2CF44-80B2CF48 000130 0004+00 1/1 0/0 0/0 .rodata jointNo$5001 */ -SECTION_RODATA static u8 const jointNo[4] = { - 0x00, - 0x00, - 0x00, - 0x0C, -}; -COMPILER_STRIP_GATE(0x80B2CF44, &jointNo); - /* 80B284DC-80B285B4 001E1C 00D8+00 1/0 0/0 0/0 .text drawOtherMdl__11daNpc_Uri_cFv */ void daNpc_Uri_c::drawOtherMdl() { - // NONMATCHING + static int const jointNo[1] = {12}; + + Mtx mtx; + J3DModel* model = mpMorf[0]->getModel(); + + for (int i = 0; i < 1; i++) { + if (mpModel[i] != NULL && i == 0 && field_0x1008 != 0) { + g_env_light.setLightTevColorType_MAJI(mpModel[i], &tevStr); + mDoMtx_stack_c::copy(model->getAnmMtx(jointNo[0])); + cMtx_copy(mDoMtx_stack_c::get(), mtx); + mpModel[i]->setBaseTRMtx(mtx); + mDoExt_modelUpdateDL(mpModel[i]); + dComIfGd_addRealShadow(mShadowKey, mpModel[i]); + } + } } /* 80B285B4-80B285EC 001EF4 0038+00 1/0 0/0 0/0 .text afterSetMotionAnm__11daNpc_Uri_cFiifi */ -void daNpc_Uri_c::afterSetMotionAnm(int param_0, int param_1, f32 param_2, int param_3) { - // NONMATCHING +bool daNpc_Uri_c::afterSetMotionAnm(int param_1, int param_2, f32 param_3, int param_4) { + field_0x1008 = 0; + + switch (param_1) { + case 11: + case 12: + case 13: + case 14: + case 15: + case 16: + case 17: + case 18: + case 19: + case 20: + case 21: + case 33: + field_0x1008 = 1; + break; + case 22: + case 23: + case 24: + case 25: + case 26: + case 27: + case 28: + case 29: + case 30: + case 31: + case 32: + break; + } + + return true; } /* 80B285EC-80B28618 001F2C 002C+00 1/0 0/0 0/0 .text changeBck__11daNpc_Uri_cFPiPi */ void daNpc_Uri_c::changeBck(int* param_0, int* param_1) { - // NONMATCHING + if (mType != TYPE_5) { + return; + } + if (*param_0 != 10) { + return; + } + *param_0 = 4; + *param_1 = 5; } /* 80B28618-80B28644 001F58 002C+00 1/0 0/0 0/0 .text changeBtp__11daNpc_Uri_cFPiPi */ void daNpc_Uri_c::changeBtp(int* param_0, int* param_1) { - // NONMATCHING + if (mType != TYPE_5) { + return; + } + if (*param_0 != 43) { + return; + } + *param_0 = 7; + *param_1 = 5; } /* 80B28644-80B28794 001F84 0150+00 1/1 0/0 0/0 .text selectAction__11daNpc_Uri_cFv */ -void daNpc_Uri_c::selectAction() { - // NONMATCHING +int daNpc_Uri_c::selectAction() { + field_0xfc0[0] = NULL; + + switch (mType) { + case TYPE_1: + if (field_0x100d != NULL) { + field_0xfc0[0] = &daNpc_Uri_c::sitWait; + } else { + if (field_0x100e != NULL) { + if (daNpcT_chkTmpBit(7) && field_0x100f == NULL) { + field_0xfc0[0] = &daNpc_Uri_c::walk; + } else { + field_0xfc0[0] = &daNpc_Uri_c::wait; + } + } else { + field_0xfc0[0] = &daNpc_Uri_c::krun; + } + } + break; + case TYPE_4: + field_0xfc0[0] = &daNpc_Uri_c::sitWait; + break; + default: + field_0xfc0[0] = &daNpc_Uri_c::wait; + break; + } + + return 1; } /* 80B28794-80B287C0 0020D4 002C+00 2/2 0/0 0/0 .text * chkAction__11daNpc_Uri_cFM11daNpc_Uri_cFPCvPvPv_i */ -void daNpc_Uri_c::chkAction(int (daNpc_Uri_c::*param_0)(void*)) { - // NONMATCHING +int daNpc_Uri_c::chkAction(int (daNpc_Uri_c::*action)(void*)) { + return field_0xfc0[1] == action; } /* 80B287C0-80B28868 002100 00A8+00 2/2 0/0 0/0 .text * setAction__11daNpc_Uri_cFM11daNpc_Uri_cFPCvPvPv_i */ -void daNpc_Uri_c::setAction(int (daNpc_Uri_c::*param_0)(void*)) { - // NONMATCHING +int daNpc_Uri_c::setAction(int (daNpc_Uri_c::*action)(void*)) { + mMode = 3; + if (field_0xfc0[1] != NULL) { + (this->*field_0xfc0[1])(NULL); + } + mMode = 0; + field_0xfc0[1] = action; + if (field_0xfc0[1] != NULL) { + (this->*field_0xfc0[1])(NULL); + } + + return 1; } /* 80B28868-80B288DC 0021A8 0074+00 2/2 0/0 0/0 .text chkPlayerCarryBasket__11daNpc_Uri_cFv */ -void daNpc_Uri_c::chkPlayerCarryBasket() { - // NONMATCHING +BOOL daNpc_Uri_c::chkPlayerCarryBasket() { + fopAc_ac_c* actor = NULL; + daPy_py_c* player = daPy_getPlayerActorClass(); + if (fopAcM_SearchByID(player->getGrabActorID(), &actor) && actor != NULL && + fopAcM_GetName(actor) == PROC_OBJ_KAGO) + { + return TRUE; + } + return FALSE; } /* 80B288DC-80B28910 00221C 0034+00 1/1 0/0 0/0 .text chkPlayerGetWoodShield__11daNpc_Uri_cFv */ -void daNpc_Uri_c::chkPlayerGetWoodShield() { - // NONMATCHING +BOOL daNpc_Uri_c::chkPlayerGetWoodShield() { + return dComIfGs_isCollectShield(0); } /* 80B28910-80B28FB8 002250 06A8+00 2/2 0/0 0/0 .text getTutorialCond__11daNpc_Uri_cF4cXyz */ -void daNpc_Uri_c::getTutorialCond(cXyz param_0) { - // NONMATCHING -} +int daNpc_Uri_c::getTutorialCond(cXyz param_1) { + cXyz local_44; + cXyz local_50; + cXyz cStack_5c; + + local_44 = mPath.getPntPos(mPath.mpRoomPath->m_num - 1); + if (local_44.absXZ(param_1) < daNpc_Uri_Param_c::m.field_0x98) { + return 9; + } + f32 fVar11 = (param_1 - current.pos).absXZ(); + s16 sVar8 = cLib_targetAngleY(¤t.pos, ¶m_1) - mCurAngle.y; + s16 uVar5 = abs(sVar8); + + if (daNpc_Uri_Param_c::m.field_0xa4 < fVar11 && ((u32)uVar5 & 0xFFFF) > 0x4000) { + if (daNpc_Uri_Param_c::m.field_0xa8 < fVar11) { + field_0x1000 = daNpc_Uri_Param_c::m.field_0xa8 - 100.0f; + return 5; + } + if (field_0x1009 != NULL) { + return 8; + } + } + + int i; + for (i = 0; i < mPath.getNumPnts() - 1; i++) { + local_44 = mPath.getPntPos(i); + local_50 = mPath.getPntPos(i + 1); + if (!((param_1 - local_44).absXZ() < daNpc_Uri_Param_c::m.field_0xa8)) { + if (!((param_1 - local_50).absXZ() < daNpc_Uri_Param_c::m.field_0xa8)) { + f32 local_a8; + if (cM3d_Len2dSqPntAndSegLine(param_1.x, param_1.z, local_44.x, local_44.z, + local_50.x, local_50.z, &cStack_5c.x, &cStack_5c.z, + &local_a8) && + local_a8 < daNpc_Uri_Param_c::m.field_0xa8) + { + break; + } + } else { + break; + } + } else { + break; + } + } + + if (mPath.getNumPnts() - 1 <= i) { + field_0x1000 = daNpc_Uri_Param_c::m.field_0xa8 - 100.0f; + return 5; + } -/* ############################################################################################## */ -/* 80B2CF48-80B2CF50 000134 0008+00 1/1 0/0 0/0 .rodata @5394 */ -SECTION_RODATA static u8 const lit_5394[8] = { - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -}; -COMPILER_STRIP_GATE(0x80B2CF48, &lit_5394); - -/* 80B2CF74-80B2CF74 000160 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80B2D038 = "prm"; -SECTION_DEAD static char const* const stringBase_80B2D03C = "msgNo"; -#pragma pop - -/* 80B28FB8-80B29198 0028F8 01E0+00 1/0 0/0 0/0 .text cutConversation__11daNpc_Uri_cFi */ -void daNpc_Uri_c::cutConversation(int param_0) { - // NONMATCHING -} - -/* 80B29198-80B293C0 002AD8 0228+00 1/0 0/0 0/0 .text cutStartCarryTutorial__11daNpc_Uri_cFi */ -void daNpc_Uri_c::cutStartCarryTutorial(int param_0) { - // NONMATCHING -} - -/* 80B293C0-80B296B8 002D00 02F8+00 1/0 0/0 0/0 .text cutEndCarryTutorial__11daNpc_Uri_cFi */ -void daNpc_Uri_c::cutEndCarryTutorial(int param_0) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80B2CF50-80B2CF58 00013C 0008+00 1/1 0/0 0/0 .rodata @5573 */ -SECTION_RODATA static u8 const lit_5573[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B2CF50, &lit_5573); - -/* 80B2CF58-80B2CF60 000144 0008+00 1/1 0/0 0/0 .rodata @5580 */ -SECTION_RODATA static u8 const lit_5580[8] = { - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -}; -COMPILER_STRIP_GATE(0x80B2CF58, &lit_5580); - -/* 80B296B8-80B2985C 002FF8 01A4+00 1/0 0/0 0/0 .text cutConversationWithMoi__11daNpc_Uri_cFi */ -void daNpc_Uri_c::cutConversationWithMoi(int param_0) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80B2CF60-80B2CF64 00014C 0004+00 0/2 0/0 0/0 .rodata @5699 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5699 = 150.0f; -COMPILER_STRIP_GATE(0x80B2CF60, &lit_5699); -#pragma pop - -/* 80B2CF74-80B2CF74 000160 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80B2D042 = "timer"; -#pragma pop - -/* 80B2985C-80B29BA4 00319C 0348+00 1/0 0/0 0/0 .text cutFindWolf__11daNpc_Uri_cFi */ -void daNpc_Uri_c::cutFindWolf(int param_0) { - // NONMATCHING -} - -/* 80B29BA4-80B29EA0 0034E4 02FC+00 1/0 0/0 0/0 .text cutMeetingAgain__11daNpc_Uri_cFi */ -void daNpc_Uri_c::cutMeetingAgain(int param_0) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80B2CF64-80B2CF68 000150 0004+00 0/3 0/0 0/0 .rodata @5866 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5866 = 0.5f; -COMPILER_STRIP_GATE(0x80B2CF64, &lit_5866); -#pragma pop - -/* 80B2CF68-80B2CF6C 000154 0004+00 0/3 0/0 0/0 .rodata @5867 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5867 = 1.5f; -COMPILER_STRIP_GATE(0x80B2CF68, &lit_5867); -#pragma pop - -/* 80B2CF6C-80B2CF70 000158 0004+00 0/1 0/0 0/0 .rodata @5868 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5868 = 14.0f; -COMPILER_STRIP_GATE(0x80B2CF6C, &lit_5868); -#pragma pop - -/* 80B29EA0-80B2A1B4 0037E0 0314+00 1/0 0/0 0/0 .text krun__11daNpc_Uri_cFPv */ -void daNpc_Uri_c::krun(void* param_0) { - // NONMATCHING -} - -/* 80B2A1B4-80B2AB60 003AF4 09AC+00 2/0 0/0 0/0 .text wait__11daNpc_Uri_cFPv */ -void daNpc_Uri_c::wait(void* param_0) { - // NONMATCHING -} - -/* 80B2AB60-80B2B24C 0044A0 06EC+00 1/0 0/0 0/0 .text walk__11daNpc_Uri_cFPv */ -void daNpc_Uri_c::walk(void* param_0) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80B2CF70-80B2CF74 00015C 0004+00 0/1 0/0 0/0 .rodata @6565 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6565 = 4.0f; -COMPILER_STRIP_GATE(0x80B2CF70, &lit_6565); -#pragma pop - -/* 80B2B24C-80B2B7C0 004B8C 0574+00 2/0 0/0 0/0 .text sitWait__11daNpc_Uri_cFPv */ -void daNpc_Uri_c::sitWait(void* param_0) { - // NONMATCHING -} - -/* 80B2B7C0-80B2BA08 005100 0248+00 3/0 0/0 0/0 .text talk__11daNpc_Uri_cFPv */ -void daNpc_Uri_c::talk(void* param_0) { - // NONMATCHING -} - -/* 80B2BA08-80B2BA28 005348 0020+00 1/0 0/0 0/0 .text daNpc_Uri_Create__FPv */ -static void daNpc_Uri_Create(void* param_0) { - // NONMATCHING -} - -/* 80B2BA28-80B2BA48 005368 0020+00 1/0 0/0 0/0 .text daNpc_Uri_Delete__FPv */ -static void daNpc_Uri_Delete(void* param_0) { - // NONMATCHING -} - -/* 80B2BA48-80B2BA68 005388 0020+00 1/0 0/0 0/0 .text daNpc_Uri_Execute__FPv */ -static void daNpc_Uri_Execute(void* param_0) { - // NONMATCHING -} - -/* 80B2BA68-80B2BA88 0053A8 0020+00 1/0 0/0 0/0 .text daNpc_Uri_Draw__FPv */ -static void daNpc_Uri_Draw(void* param_0) { - // NONMATCHING -} - -/* 80B2BA88-80B2BA90 0053C8 0008+00 1/0 0/0 0/0 .text daNpc_Uri_IsDelete__FPv */ -static bool daNpc_Uri_IsDelete(void* param_0) { - return true; -} - -/* 80B2BA90-80B2BAC0 0053D0 0030+00 1/0 0/0 0/0 .text calc__11J3DTexNoAnmCFPUs */ -// void J3DTexNoAnm::calc(u16* param_0) const { -extern "C" void calc__11J3DTexNoAnmCFPUs() { - // NONMATCHING -} - -/* 80B2BAC0-80B2BB08 005400 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */ -// cCcD_GStts::~cCcD_GStts() { -extern "C" void __dt__10cCcD_GSttsFv() { - // NONMATCHING -} - -/* 80B2BB08-80B2BE90 005448 0388+00 1/1 0/0 0/0 .text __dt__8daNpcT_cFv */ -// daNpcT_c::~daNpcT_c() { -extern "C" void __dt__8daNpcT_cFv() { - // NONMATCHING -} - -/* 80B2BE90-80B2BECC 0057D0 003C+00 4/4 0/0 0/0 .text __dt__4cXyzFv */ -// cXyz::~cXyz() { -extern "C" void __dt__4cXyzFv() { - // NONMATCHING -} - -/* 80B2BECC-80B2BF08 00580C 003C+00 2/2 0/0 0/0 .text __dt__5csXyzFv */ -// csXyz::~csXyz() { -extern "C" void __dt__5csXyzFv() { - // NONMATCHING -} - -/* 80B2BF08-80B2BF50 005848 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 -} - -/* 80B2BF50-80B2BF98 005890 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 -} - -/* 80B2BF98-80B2BFD4 0058D8 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 -} - -/* 80B2BFD4-80B2C01C 005914 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */ -// cM3dGCyl::~cM3dGCyl() { -extern "C" void __dt__8cM3dGCylFv() { - // NONMATCHING -} - -/* 80B2C01C-80B2C064 00595C 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */ -// cM3dGAab::~cM3dGAab() { -extern "C" void __dt__8cM3dGAabFv() { - // NONMATCHING -} - -/* 80B2C064-80B2C468 0059A4 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 -} - -/* 80B2C468-80B2C46C 005DA8 0004+00 1/1 0/0 0/0 .text __ct__5csXyzFv */ -// csXyz::csXyz() { -extern "C" void __ct__5csXyzFv() { - /* empty function */ -} - -/* 80B2C46C-80B2C568 005DAC 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 -} - -/* 80B2C568-80B2C56C 005EA8 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -// cXyz::cXyz() { -extern "C" void __ct__4cXyzFv() { - /* empty function */ -} - -/* 80B2C56C-80B2C5B4 005EAC 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 -} - -/* 80B2C5B4-80B2C624 005EF4 0070+00 1/0 0/0 0/0 .text __dt__12dBgS_AcchCirFv */ -// dBgS_AcchCir::~dBgS_AcchCir() { -extern "C" void __dt__12dBgS_AcchCirFv() { - // NONMATCHING -} - -/* 80B2C624-80B2C680 005F64 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */ -// dCcD_GStts::~dCcD_GStts() { -extern "C" void __dt__10dCcD_GSttsFv() { - // NONMATCHING -} - -/* 80B2C680-80B2C6F0 005FC0 0070+00 3/2 0/0 0/0 .text __dt__12dBgS_ObjAcchFv */ -// dBgS_ObjAcch::~dBgS_ObjAcch() { -extern "C" void __dt__12dBgS_ObjAcchFv() { - // NONMATCHING -} - -/* 80B2C6F0-80B2C738 006030 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */ -// J3DFrameCtrl::~J3DFrameCtrl() { -extern "C" void __dt__12J3DFrameCtrlFv() { - // NONMATCHING -} - -/* 80B2C738-80B2C854 006078 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 -} - -/* 80B2C854-80B2CA5C 006194 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 -} - -/* 80B2CA5C-80B2CA60 00639C 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 */ -} - -/* 80B2CA60-80B2CA68 0063A0 0008+00 1/0 0/0 0/0 .text getEyeballLMaterialNo__8daNpcT_cFv - */ -// bool daNpcT_c::getEyeballLMaterialNo() { -extern "C" bool getEyeballLMaterialNo__8daNpcT_cFv() { - return false; -} - -/* 80B2CA68-80B2CA70 0063A8 0008+00 1/0 0/0 0/0 .text getEyeballRMaterialNo__8daNpcT_cFv - */ -// bool daNpcT_c::getEyeballRMaterialNo() { -extern "C" bool getEyeballRMaterialNo__8daNpcT_cFv() { - return false; -} - -/* 80B2CA70-80B2CA78 0063B0 0008+00 1/0 0/0 0/0 .text evtEndProc__8daNpcT_cFv */ -// bool daNpcT_c::evtEndProc() { -extern "C" bool evtEndProc__8daNpcT_cFv() { - return true; -} - -/* 80B2CA7C-80B2CA84 0063BC 0008+00 1/0 0/0 0/0 .text chkXYItems__8daNpcT_cFv */ -// bool daNpcT_c::chkXYItems() { -extern "C" bool chkXYItems__8daNpcT_cFv() { - return false; -} - -/* 80B2CA84-80B2CA9C 0063C4 0018+00 1/0 0/0 0/0 .text decTmr__8daNpcT_cFv */ -// void daNpcT_c::decTmr() { -extern "C" void decTmr__8daNpcT_cFv() { - // NONMATCHING -} - -/* 80B2CA9C-80B2CAA0 0063DC 0004+00 1/0 0/0 0/0 .text drawGhost__8daNpcT_cFv */ -// void daNpcT_c::drawGhost() { -extern "C" void drawGhost__8daNpcT_cFv() { - /* empty function */ -} - -/* 80B2CAA0-80B2CAA8 0063E0 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; -} - -/* 80B2CAA8-80B2CAD8 0063E8 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 -} - -/* 80B2CAD8-80B2CB08 006418 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 -} - -/* 80B2CB08-80B2CB0C 006448 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 */ -} - -/* 80B2CB0C-80B2CB10 00644C 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 */ -} - -/* 80B2CB10-80B2CB2C 006450 001C+00 2/2 0/0 0/0 .text cLib_calcTimer__FPi */ -extern "C" void func_80B2CB10(void* _this, int* param_0) { - // NONMATCHING -} - -/* 80B2CB2C-80B2CB68 00646C 003C+00 3/3 0/0 0/0 .text cLib_getRndValue__Fff */ -extern "C" void func_80B2CB2C(void* _this, f32 param_0, f32 param_1) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80B2DD00-80B2DD0C 000CB8 000C+00 2/2 0/0 0/0 .data __vt__17daNpc_Uri_Param_c */ -SECTION_DATA extern void* __vt__17daNpc_Uri_Param_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__17daNpc_Uri_Param_cFv, -}; - -/* 80B2CB68-80B2CC64 0064A8 00FC+00 0/0 1/0 0/0 .text __sinit_d_a_npc_uri_cpp */ -void __sinit_d_a_npc_uri_cpp() { - // NONMATCHING -} - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x80B2CB68, __sinit_d_a_npc_uri_cpp); -#pragma pop - -/* 80B2CC64-80B2CD44 0065A4 00E0+00 1/1 0/0 0/0 .text - * __ct__11daNpc_Uri_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc - */ -daNpc_Uri_c::daNpc_Uri_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 -} - -/* 80B2CD44-80B2CD4C 006684 0008+00 1/0 0/0 0/0 .text getEyeballMaterialNo__11daNpc_Uri_cFv */ -s32 daNpc_Uri_c::getEyeballMaterialNo() { return 2; } -/* 80B2CD4C-80B2CD54 00668C 0008+00 1/0 0/0 0/0 .text getHeadJointNo__11daNpc_Uri_cFv */ -s32 daNpc_Uri_c::getHeadJointNo() { - return 4; +/* 80B28FB8-80B29198 0028F8 01E0+00 1/0 0/0 0/0 .text cutConversation__11daNpc_Uri_cFi */ +int daNpc_Uri_c::cutConversation(int param_1) { + int rv = 0; + int iVar4 = -1; + int iVar3 = 0; + + int* piVar1 = dComIfGp_evmng_getMyIntegerP(param_1, "prm"); + if (piVar1) { + iVar4 = *piVar1; + } + piVar1 = dComIfGp_evmng_getMyIntegerP(param_1, "msgNo"); + if (piVar1) { + iVar3 = *piVar1; + } + + if (dComIfGp_getEventManager().getIsAddvance(param_1)) { + switch (iVar4) { + case 0: + initTalk(mFlowNodeNo, NULL); + break; + case 3: + initTalk(mFlowNodeNo, NULL); + break; + } + } + + int local_28[2] = {-1, -1}; + + switch (iVar4) { + case 0: + case 1: + case 2: + case 3: + mJntAnm.lookPlayer(0); + if (iVar4 == 0 || iVar4 == 2) { + mJntAnm.lookNone(0); + } + local_28[0] = iVar3; + if (talkProc(local_28, 0, NULL, 0)) { + if (iVar3 == 0) { + if (mFlow.checkEndFlow() != 0) { + rv = 1; + } + } else { + rv = 1; + } + } + break; + } + + return rv; } -/* 80B2CD54-80B2CD5C 006694 0008+00 1/0 0/0 0/0 .text getNeckJointNo__11daNpc_Uri_cFv */ -s32 daNpc_Uri_c::getNeckJointNo() { - return 3; +/* 80B29198-80B293C0 002AD8 0228+00 1/0 0/0 0/0 .text cutStartCarryTutorial__11daNpc_Uri_cFi */ +int daNpc_Uri_c::cutStartCarryTutorial(int param_1) { + cXyz acStack_30; + csXyz cStack_38; + int uVar7 = 0; + int iVar6 = -1; + int* piVar1 = dComIfGp_evmng_getMyIntegerP(param_1, "prm"); + if (piVar1) { + iVar6 = *piVar1; + } + + if (dComIfGp_getEventManager().getIsAddvance(param_1)) { + switch (iVar6) { + case 0: + break; + case 1: + if (daNpcT_getPlayerInfoFromPlayerList(23, fopAcM_GetRoomNo(this), &acStack_30, + &cStack_38)) + { + daPy_getPlayerActorClass()->setPlayerPosAndAngle(&acStack_30, cStack_38.y, 0); + dComIfGp_evmng_setGoal(&acStack_30); + } + mFaceMotionSeqMngr.setNo(17, 0.0f, 0, 0); + mMotionSeqMngr.setNo(8, 0.0f, 0, 0); + mJntAnm.lookPlayer(0); + setAngle(fopAcM_searchPlayerAngleY(this)); + break; + case 2: + initTalk(mFlowNodeNo, NULL); + } + } + + switch (iVar6) { + case 0: + uVar7 = 1; + break; + case 1: + uVar7 = 1; + break; + case 2: + if (talkProc(NULL, 0, NULL, 0) && mFlow.checkEndFlow()) { + uVar7 = 1; + } + } + + return uVar7; } -/* 80B2CD5C-80B2CD64 00669C 0008+00 1/0 0/0 0/0 .text getBackboneJointNo__11daNpc_Uri_cFv - */ -bool daNpc_Uri_c::getBackboneJointNo() { - return true; +/* 80B293C0-80B296B8 002D00 02F8+00 1/0 0/0 0/0 .text cutEndCarryTutorial__11daNpc_Uri_cFi */ +int daNpc_Uri_c::cutEndCarryTutorial(int param_1) { + cXyz acStack_30; + csXyz cStack_44; + int uVar8 = 0; + int iVar7 = -1; + int* piVar1 = dComIfGp_evmng_getMyIntegerP(param_1, "prm"); + if (piVar1) { + iVar7 = *piVar1; + } + + if (dComIfGp_getEventManager().getIsAddvance(param_1)) { + switch (iVar7) { + case 0: + break; + case 1: + if (daNpcT_getPlayerInfoFromPlayerList(21, fopAcM_GetRoomNo(this), &acStack_30, + &cStack_44)) + { + daPy_getPlayerActorClass()->setPlayerPosAndAngle(&acStack_30, cStack_44.y, 0); + dComIfGp_evmng_setGoal(&acStack_30); + } + mFaceMotionSeqMngr.setNo(17, -1.0f, 0, 0); + mMotionSeqMngr.setNo(0, -1.0f, 0, 0); + mJntAnm.lookPlayer(0); + setPos(home.pos); + setAngle(home.angle.y); + speedF = 0; + speed.setall(0.0f); + daNpcT_onEvtBit(0x1e); + break; + case 2: + initTalk(19, NULL); + mItemId = -1; + } + } + + switch (iVar7) { + case 0: + action(); + uVar8 = 1; + break; + case 1: + uVar8 = 1; + break; + case 2: + int local_48; + if (talkProc(NULL, 0, NULL, 0) && mFlow.checkEndFlow() && + (s32)mFlow.getEventId(&local_48) == 1) + { + if (mItemId == fpcM_ERROR_PROCESS_ID_e) { + mItemId = + fopAcM_createItemForPresentDemo(¤t.pos, local_48, 0, -1, -1, NULL, NULL); + } + if (fopAcM_IsExecuting(mItemId)) { + daNpcT_offTmpBit(7); + daNpcT_offTmpBit(10); + daNpcT_offTmpBit(0x20); + field_0x100b = 1; + mEvtNo = 1; + evtChange(); + } + } + } + + return uVar8; } -/* 80B2CD64-80B2CD74 0066A4 0010+00 1/0 0/0 0/0 .text checkChangeJoint__11daNpc_Uri_cFi - */ -void daNpc_Uri_c::checkChangeJoint(int param_0) { - // NONMATCHING +/* 80B296B8-80B2985C 002FF8 01A4+00 1/0 0/0 0/0 .text cutConversationWithMoi__11daNpc_Uri_cFi */ +int daNpc_Uri_c::cutConversationWithMoi(int param_1) { + int uVar5 = 0; + int iVar4 = -1; + int iVar3 = 0; + int* piVar1 = dComIfGp_evmng_getMyIntegerP(param_1, "prm"); + if (piVar1) { + iVar4 = *piVar1; + } + piVar1 = dComIfGp_evmng_getMyIntegerP(param_1, "msgNo"); + if (piVar1) { + iVar3 = *piVar1; + } + + fopAc_ac_c* actors[2] = {mActorMngr[0].getActorP(), (fopAc_ac_c*)this}; + dComIfGp_setMesgCameraInfoActor(actors[0], actors[1], 0, 0, 0, 0, 0, 0, 0, 0); + if (dComIfGp_getEventManager().getIsAddvance(param_1)) { + switch (iVar4) { + case 0: + initTalk(0xce, &actors[0]); + break; + case 1: + break; + } + } + + int local_30[2] = {-1, -1}; + + switch (iVar4) { + case 0: + case 1: + local_30[0] = iVar3; + if (talkProc(local_30, 1, &actors[0], 0)) { + if (iVar3 == 0) { + if (mFlow.checkEndFlow()) { + uVar5 = 1; + } + } else { + uVar5 = 1; + } + } + } + + return uVar5; } -/* 80B2CD74-80B2CD84 0066B4 0010+00 1/0 0/0 0/0 .text checkRemoveJoint__11daNpc_Uri_cFi - */ -void daNpc_Uri_c::checkRemoveJoint(int param_0) { - // NONMATCHING +/* 80B2985C-80B29BA4 00319C 0348+00 1/0 0/0 0/0 .text cutFindWolf__11daNpc_Uri_cFi */ +int daNpc_Uri_c::cutFindWolf(int param_1) { + cXyz cStack_2c; + int iVar12 = 0; + int iVar11 = -1; + int local_30 = 0; + int* piVar2 = dComIfGp_evmng_getMyIntegerP(param_1, "prm"); + if (piVar2) { + iVar11 = *piVar2; + } + int* puVar3 = dComIfGp_evmng_getMyIntegerP(param_1, "timer"); + if (puVar3) { + local_30 = *puVar3; + } + + if (dComIfGp_getEventManager().getIsAddvance(param_1)) { + switch (iVar11) { + case 0: + mFaceMotionSeqMngr.setNo(12, 0.0f, 0, 0); + mMotionSeqMngr.setNo(23, 0.0f, 0, 0); + mSound.startCreatureVoice(JAISoundID(Z2SE_URI_V_SCREAM_S), -1); + mEventTimer = local_30; + s16 sVar9 = fopAcM_searchPlayerAngleY(this); + sVar9 -= home.angle.y; + if (sVar9 > 0x4000) { + sVar9 = 0x4000; + } else if (sVar9 < -0x4000) { + sVar9 = -0x4000; + } + sVar9 += home.angle.y; + cStack_2c.set(0.0f, 300.0f, daNpc_Uri_Param_c::m.field_0x54 + 150.0f); + mDoMtx_stack_c::YrotS(sVar9); + mDoMtx_stack_c::multVec(&cStack_2c, &cStack_2c); + cStack_2c += current.pos; + mGndChk.SetPos(&cStack_2c); + cStack_2c.y = dComIfG_Bgsp().GroundCross(&mGndChk); + daPy_getPlayerActorClass()->setPlayerPosAndAngle(&cStack_2c, sVar9 - (s16)0x8000, 0); + // GUARD_URI + dComIfGs_onTmpBit(0x1308); + break; + case 1: + fopAc_ac_c* actor = mActorMngr[0].getActorP(); + if (actor) { + dComIfGp_getEvent().setPt2(actor); + } + break; + } + } + + switch (iVar11) { + case 0: + mJntAnm.lookPlayer(0); + if (mEventTimer != 0 && cLib_calcTimer(&mEventTimer) == 0) { + iVar12 = 1; + } + if (iVar12 != 0) { + fopAc_ac_c* actor = mActorMngr[0].getActorP(); + if (actor) { + s16 angle = cLib_targetAngleY(&daPy_getPlayerActorClass()->current.pos, + &actor->current.pos); + daPy_getPlayerActorClass()->changeDemoMoveAngle(angle); + } + } + break; + case 1: + mJntAnm.lookPlayer(0); + break; + } + + return iVar12; } -/* 80B2CD84-80B2CD8C 0066C4 0008+00 1/0 0/0 0/0 .text getFootLJointNo__11daNpc_Uri_cFv */ -s32 daNpc_Uri_c::getFootLJointNo() { - return 25; +/* 80B29BA4-80B29EA0 0034E4 02FC+00 1/0 0/0 0/0 .text cutMeetingAgain__11daNpc_Uri_cFi */ +int daNpc_Uri_c::cutMeetingAgain(int param_1) { + cXyz acStack_40; + csXyz cStack_48; + int uVar9 = 0; + int iVar10 = -1; + int uVar8 = 0; + int* piVar1 = dComIfGp_evmng_getMyIntegerP(param_1, "prm"); + if (piVar1) { + iVar10 = *piVar1; + } + int* puVar2 = dComIfGp_evmng_getMyIntegerP(param_1, "timer"); + if (puVar2) { + uVar8 = *puVar2; + } + + if (dComIfGp_getEventManager().getIsAddvance(param_1)) { + switch (iVar10) { + case 0: + mJntAnm.lookPlayer(0); + daNpcT_offTmpBit(0xB); + initTalk(mFlowNodeNo, NULL); + break; + case 1: + case 3: + acStack_40.set(0.0f, 100.0f, 150.0f); + cStack_48.y = fopAcM_searchPlayerAngleY(this); + mDoMtx_stack_c::YrotS(cStack_48.y); + mDoMtx_stack_c::multVec(&acStack_40, &acStack_40); + acStack_40 += current.pos; + mGndChk.SetPos(&acStack_40); + acStack_40.y = dComIfG_Bgsp().GroundCross(&mGndChk); + cStack_48.y = cLib_targetAngleY(&acStack_40, ¤t.pos); + if (iVar10 == 1) { + daPy_getPlayerActorClass()->setPlayerPosAndAngle( + &daPy_getPlayerActorClass()->current.pos, cStack_48.y, 0); + dComIfGp_evmng_setGoal(&acStack_40); + mEventTimer = uVar8; + } + if (iVar10 == 3) { + daPy_getPlayerActorClass()->setPlayerPosAndAngle(&acStack_40, cStack_48.y, 0); + initTalk(mFlowNodeNo, NULL); + mEventTimer = 0; + } + } + } + + switch (iVar10) { + case 0: + case 1: + case 2: + if (talkProc(NULL, 0, NULL, 0)) { + if (mFlow.checkEndFlow() != 0) { + uVar9 = 1; + } + } else { + switch (iVar10) { + case 0: + if (mDoGph_gInf_c::isFade()) { + uVar9 = 1; + } + break; + case 1: + uVar9 = 1; + } + } + break; + case 3: + iVar10 = talkProc(NULL, 0, NULL, 0); + if (iVar10 != 0 && mFlow.checkEndFlow() != 0) { + uVar9 = 1; + } + break; + } + + return uVar9; } -/* 80B2CD8C-80B2CD94 0066CC 0008+00 1/0 0/0 0/0 .text getFootRJointNo__11daNpc_Uri_cFv */ -s32 daNpc_Uri_c::getFootRJointNo() { - return 28; +/* 80B29EA0-80B2A1B4 0037E0 0314+00 1/0 0/0 0/0 .text krun__11daNpc_Uri_cFPv */ +int daNpc_Uri_c::krun(void* param_0) { + int iVar7 = daNpc_Uri_Param_c::m.field_0x8c / 2; + + switch (mMode) { + case MODE_ENTER: + case MODE_INIT: + if (!mStagger.checkStagger()) { + mFaceMotionSeqMngr.setNo(13, -1.0f, 0, 0); + mMotionSeqMngr.setNo(25, -1.0f, 0, 0); + mMode = MODE_RUN; + } + case MODE_RUN: + if (!mStagger.checkStagger()) { + mJntAnm.lookNone(0); + if (field_0xfec == 0) { + cXyz cStack_58; + int iVar2 = mPath.getDstPosH(current.pos, &cStack_58, mPath.mpRoomPath->m_num, 4); + + calcSpeedAndAngle(cStack_58, iVar2, 6, 0x800); + if (iVar2 != 0 && cM3d_IsZero(speedF)) { + mFaceMotionSeqMngr.setNo(17, -1.0f, 0, 0); + mMotionSeqMngr.setNo(11, -1.0f, 0, 0); + field_0xfec = cLib_getRndValue(iVar7 * 0.5f, iVar7 * 1.5f); + mPath.setPathInfo(getPathID(), fopAcM_GetRoomNo(this), 0); + daNpcT_onEvtBit(0x25); + } + } else { + J3DAnmTransform* anm_transform = getTrnsfrmAnmP( + l_resNameList[l_motionAnmData[15].mBckArcIdx], l_motionAnmData[15].mBckFileIdx); + if (anm_transform == mpMorf[0]->getAnm() && mpMorf[0]->checkFrame(14.0f)) { + mSound.startCreatureVoice(Z2SE_M036_URI_01, -1); + } + iVar7 = cLib_calcTimer(&field_0xfec); + if (iVar7 == 0) { + field_0x100e = 1; + } + } + } + attention_info.flags = 0; + break; + case MODE_EXIT: + case MODE_4: + break; + } + + return 1; } -/* 80B2CD94-80B2CDDC 0066D4 0048+00 2/1 0/0 0/0 .text __dt__17daNpc_Uri_Param_cFv */ -daNpc_Uri_Param_c::~daNpc_Uri_Param_c() { - // NONMATCHING +/* 80B2A1B4-80B2AB60 003AF4 09AC+00 2/0 0/0 0/0 .text wait__11daNpc_Uri_cFPv */ +int daNpc_Uri_c::wait(void* param_0) { + s16 sVar10 = home.angle.y; + + switch (mMode) { + case MODE_ENTER: + case MODE_INIT: + if (!mStagger.checkStagger()) { + switch (mType) { + case TYPE_1: + if (field_0x100b) { + mFaceMotionSeqMngr.setNo(17, -1.0f, 0, 0); + mMotionSeqMngr.setNo(0, -1.0f, 0, 0); + } else { + if (field_0x100f) { + if (!daNpcT_chkEvtBit(0x1e) && !daNpcT_chkEvtBit(0x92)) { + mFaceMotionSeqMngr.setNo(17, -1.0f, 0, 0); + mMotionSeqMngr.setNo(8, -1.0f, 0, 0); + } else { + mFaceMotionSeqMngr.setNo(17, -1.0f, 0, 0); + mMotionSeqMngr.setNo(0, -1.0f, 0, 0); + } + } else { + if (daNpcT_chkEvtBit(0x24)) { + mFaceMotionSeqMngr.setNo(5, -1.0f, 0, 0); + mMotionSeqMngr.setNo(12, -1.0f, 0, 0); + } else { + mFaceMotionSeqMngr.setNo(6, -1.0f, 0, 0); + mMotionSeqMngr.setNo(13, -1.0f, 0, 0); + } + } + } + break; + case TYPE_3: + if (dComIfGs_isTmpBit(0x1308)) { + mFaceMotionSeqMngr.setNo(12, -1.0f, 0, 0); + mMotionSeqMngr.setNo(22, -1.0f, 0, 0); + } else { + mFaceMotionSeqMngr.setNo(10, -1.0f, 0, 0); + mMotionSeqMngr.setNo(16, -1.0f, 0, 0); + } + break; + default: + mFaceMotionSeqMngr.setNo(17, -1.0f, 0, 0); + mMotionSeqMngr.setNo(0, -1.0f, 0, 0); + } + mMode = 2; + } + case MODE_RUN: + switch (mType) { + case TYPE_1: + if (daNpcT_chkTmpBit(0x7)) { + if (chkPlayerCarryBasket()) { + switch (getTutorialCond(daPy_getPlayerActorClass()->current.pos)) { + case 9: + field_0x1009 = 0; + field_0x100a = 0; + mEvtNo = 6; + break; + default: + field_0x1009 = 0; + field_0x100a = 0; + break; + } + } + } else { + if (!daNpcT_chkEvtBit(0x1e) && !daNpcT_chkEvtBit(0x92)) { + cXyz acStack_70 = getAttnPos(daPy_getPlayerActorClass()); + int dist_index = attention_info.distances[1]; + f32 fVar2 = dComIfGp_getAttention().getDistTable(dist_index).mLowerY * -1.0f; + f32 fVar3 = dComIfGp_getAttention().getDistTable(dist_index).mUpperY * -1.0f; + if (chkPointInArea(acStack_70, attention_info.position, 200.0f, fVar2, fVar3, + 0)) + { + if (daPy_getPlayerActorClass()->eventInfo.chkCondition(1) != 0 && + chkPlayerCarryBasket()) + { + mEvtNo = 5; + } + } + sVar10 = field_0xfe4.y; + } + } + break; + case TYPE_2: + break; + case TYPE_3: + if (daNpcT_chkEvtBit(0xcd)) { + cXyz cStack_7c = getAttnPos(daPy_getPlayerActorClass()); + if (chkPointInArea(cStack_7c, attention_info.position, + daNpc_Uri_Param_c::m.field_0x54, daNpc_Uri_Param_c::m.field_0x58, + daNpc_Uri_Param_c::m.field_0x5c, mCurAngle.y)) + { + if (!daPy_getPlayerActorClass()->checkPlayerFly()) { + if (daPy_getPlayerActorClass()->eventInfo.chkCondition(1) != 0) { + if (chkActorInSight(daPy_getPlayerActorClass(), mAttnFovY, + home.angle.y)) + { + mEvtNo = 9; + } + } + } + } + } else { + mEvtNo = 8; + field_0xe33 = true; + } + } + + if (!mStagger.checkStagger()) { + if (mType == TYPE_1 && field_0x100b != 0) { + mSpeakEvent = true; + field_0xe33 = true; + } + if (dComIfGs_isTmpBit(0x1308)) { + mPlayerActorMngr.entry(daPy_getPlayerActorClass()); + mJntAnm.lookPlayer(0); + } else { + if (mMotionSeqMngr.getNo() == 22) { + mFaceMotionSeqMngr.setNo(10, -1.0f, 0, 0); + mMotionSeqMngr.setNo(16, -1.0f, 0, 0); + } + if (mPlayerActorMngr.getActorP() && !mTwilight) { + mJntAnm.lookPlayer(0); + if (mType == TYPE_1 && !field_0x100b && !field_0x100f) { + mJntAnm.lookNone(0); + } else if (!chkActorInSight(mPlayerActorMngr.getActorP(), mAttnFovY, + mCurAngle.y)) + { + mJntAnm.lookNone(0); + } + if (!srchPlayerActor() && sVar10 == mCurAngle.y) { + mMode = 1; + } + } else { + mJntAnm.lookNone(0); + if (sVar10 != mCurAngle.y) { + if (field_0xe34) { + if (field_0x1008) { + if (step(sVar10, 17, 24, 15, 0)) { + mMode = 1; + } + } else if (step(sVar10, -1, -1, 15, 0)) { + mMode = 1; + } + } else { + setAngle(sVar10); + mMode = 1; + } + attention_info.flags = 0; + } else { + if (!mTwilight) { + srchPlayerActor(); + } + } + } + } + } + break; + case MODE_EXIT: + case MODE_4: + break; + } + + return 1; } -/* 80B2CDDC-80B2CDE4 00671C 0008+00 1/0 0/0 0/0 .text @36@__dt__12dBgS_ObjAcchFv */ -static void func_80B2CDDC() { - // NONMATCHING +/* 80B2AB60-80B2B24C 0044A0 06EC+00 1/0 0/0 0/0 .text walk__11daNpc_Uri_cFPv */ +int daNpc_Uri_c::walk(void* param_0) { + BOOL bVar = FALSE; + int uVar2 = daNpc_Uri_Param_c::m.field_0x8c; + int uVar3 = daNpc_Uri_Param_c::m.field_0x8e; + int uVar4 = daNpc_Uri_Param_c::m.field_0x90; + + switch (mMode) { + case MODE_ENTER: + case MODE_INIT: + if (!mStagger.checkStagger()) { + field_0xff4 = 0; + field_0xff8 = 0; + mMode = MODE_RUN; + } + case MODE_RUN: + if (chkPlayerCarryBasket()) { + fopAcM_searchPlayerAngleY(this); + switch (getTutorialCond(daPy_getPlayerActorClass()->current.pos)) { + case 9: + field_0x1009 = 0; + field_0x100a = 0; + mEvtNo = 6; + break; + default: + field_0x1009 = 0; + field_0x100a = 0; + break; + } + } + if (!mStagger.checkStagger()) { + cXyz cStack_84; + int iVar2 = mPath.getDstPosH(current.pos, &cStack_84, mPath.mpRoomPath->m_num, 4); + if (iVar2) { + bVar = TRUE; + } + calcSpeedAndAngle(cStack_84, bVar, 6, 0x800); + + if (iVar2 && cM3d_IsZero(speedF) && mMotionSeqMngr.getNo() != 8) { + mFaceMotionSeqMngr.setNo(17, -1.0f, 0, 0); + mMotionSeqMngr.setNo(8, -1.0f, 0, 0); + + int num = mPath.getNumPnts(); + cXyz cStack_54 = mPath.getPntPos((int)num - 1); + cXyz cStack_60 = mPath.getPntPos((int)num - 2); + home.angle.y = cLib_targetAngleY(&cStack_54, &cStack_60); + } + if (!bVar && field_0x1011 == 0) { + if (field_0xffc == 0) { + bool bVar11 = false; + if (mMotionSeqMngr.getNo() != 28 && mMotionSeqMngr.getNo() != 29) { + bVar11 = true; + field_0xfec = 0; + } else { + cLib_chaseF(&field_0x1004, 0.0f, 1.0f); + } + if (field_0xfec == 0) { + if (bVar11 || mpMorf[0]->isLoop()) { + field_0xfec = cLib_getRndValue((f32)uVar2 * 0.5f, (f32)uVar2 * 1.5f); + field_0x1004 = mMorfFrames; + if (mMotionSeqMngr.getNo() == 28) { + mMotionSeqMngr.setNo(29, -1.0f, 0, 0); + } else { + mMotionSeqMngr.setNo(28, -1.0f, 0, 0); + } + } + } else { + field_0xfec -= 1; + } + } else { + field_0xffc -= 1; + } + } + if (field_0xff4 == 0) { + if (field_0xff8 != 0) { + mPlayerActorMngr.entry(daPy_getPlayerActorClass()); + field_0xff8 -= 1; + } else { + field_0xff4 = cLib_getRndValue((f32)uVar3 * 0.5f, (f32)uVar3 * 1.5f); + } + } else { + field_0xff4 -= 1; + if (field_0xff4 == 0) { + field_0xff8 = cLib_getRndValue((f32)uVar4 * 0.5f, (f32)uVar4 * 1.5f); + } + } + if (iVar2 && home.angle.y != mCurAngle.y) { + mJntAnm.lookNone(0); + if (step(home.angle.y, 17, 24, 15, 0)) { + mFaceMotionSeqMngr.setNo(17, -1.0f, 0, 0); + mMotionSeqMngr.setNo(8, -1.0f, 0, 0); + field_0x100f = 1; + } + attention_info.flags = 0; + } else { + if (mPlayerActorMngr.getActorP() && !mTwilight) { + if (field_0xff8 == 0) { + field_0x1011 = 0; + } + mJntAnm.lookPlayer(0); + if (!chkActorInSight(mPlayerActorMngr.getActorP(), mAttnFovY, mCurAngle.y) && + field_0xff8 == 0) + { + mJntAnm.lookNone(0); + } + if (!srchPlayerActor() && home.angle.y == mCurAngle.y) { + mMode = MODE_INIT; + } + } else { + mJntAnm.lookNone(0); + if (!mTwilight) { + srchPlayerActor(); + } + } + } + } + break; + case MODE_EXIT: + case MODE_4: + break; + } + + return 1; } -/* 80B2CDE4-80B2CDEC 006724 0008+00 1/0 0/0 0/0 .text @20@__dt__12dBgS_ObjAcchFv */ -static void func_80B2CDE4() { - // NONMATCHING +/* 80B2B24C-80B2B7C0 004B8C 0574+00 2/0 0/0 0/0 .text sitWait__11daNpc_Uri_cFPv */ +int daNpc_Uri_c::sitWait(void* param_0) { + int sVar2 = daNpc_Uri_Param_c::m.field_0x92; + + switch (mMode) { + case MODE_ENTER: + case MODE_INIT: + if (!mStagger.checkStagger()) { + switch (mType) { + case TYPE_1: + if (field_0x100c != 0) { + mFaceMotionSeqMngr.setNo(17, -1.0f, 0, 0); + mMotionSeqMngr.setNo(26, 4.0f, 0, 0); + } else { + mFaceMotionSeqMngr.setNo(17, -1.0f, 0, 0); + mMotionSeqMngr.setNo(5, -1.0f, 0, 0); + field_0xff0 = cLib_getRndValue(sVar2 * 0.5f, sVar2 * 1.5f); + } + break; + case TYPE_4: + if (daNpcT_chkEvtBit(0x3D) && (daNpcT_chkEvtBit(0x14a) || daNpcT_chkEvtBit(0x204))) + { + mFaceMotionSeqMngr.setNo(17, -1.0f, 0, 0); + mMotionSeqMngr.setNo(3, -1.0f, 0, 0); + } else { + mFaceMotionSeqMngr.setNo(10, -1.0f, 0, 0); + mMotionSeqMngr.setNo(18, -1.0f, 0, 0); + } + break; + } + mMode = MODE_RUN; + } + case MODE_RUN: + if (mType == TYPE_4 && !daNpcT_chkEvtBit(0x14a)) { + mSpeakEvent = true; + field_0xe33 = true; + } + if (!mStagger.checkStagger()) { + if (field_0x100c != 0) { + mJntAnm.lookNone(0); + if (mMotionSeqMngr.getNo() == 26 && mMotionSeqMngr.checkEndSequence()) { + field_0x100c = 0; + mMode = MODE_INIT; + } + attention_info.flags = 0; + } else { + if (mPlayerActorMngr.getActorP() && !mTwilight) { + mJntAnm.lookPlayer(0); + if (!chkActorInSight(mPlayerActorMngr.getActorP(), mAttnFovY, mCurAngle.y)) { + mJntAnm.lookNone(0); + } + if (!srchPlayerActor() && home.angle.y == mCurAngle.y) { + mMode = MODE_INIT; + } + } else { + mJntAnm.lookNone(0); + if (mType == TYPE_1) { + if (field_0xff0 == 0) { + if (mMotionSeqMngr.getNo() == 7) { + if (mMotionSeqMngr.checkEndSequence()) { + mMode = MODE_INIT; + } + } else { + mMotionSeqMngr.setNo(7, -1.0f, 0, 0); + } + } else { + field_0xff0 -= 1; + } + } + if (!mTwilight && srchPlayerActor()) { + mMode = MODE_INIT; + } + } + } + switch (mJntAnm.getMode()) { + case 0: + if (mType == TYPE_4) { + fopAc_ac_c* actor = mActorMngr[0].getActorP(); + if (actor) { + mJntAnm.lookPos(&actor->eyePos, 0); + } + } + break; + } + } + break; + case MODE_EXIT: + case MODE_4: + break; + } + + return 1; } -/* 80B2CDEC-80B2CE00 00672C 0014+00 1/1 0/0 0/0 .text getDistTable__12dAttention_cFi */ -// void dAttention_c::getDistTable(int param_0) { -extern "C" void getDistTable__12dAttention_cFi() { - // NONMATCHING +/* 80B2B7C0-80B2BA08 005100 0248+00 3/0 0/0 0/0 .text talk__11daNpc_Uri_cFPv */ +int daNpc_Uri_c::talk(void* param_0) { + switch (mMode) { + case MODE_ENTER: + case MODE_INIT: + if (!mStagger.checkStagger()) { + if (field_0x100b != 0) { + initTalk(0x13, NULL); + } else { + initTalk(mFlowNodeNo, NULL); + } + mMode = MODE_RUN; + } + case MODE_RUN: + if (!mStagger.checkStagger()) { + if (mTwilight || mPlayerAngle == mCurAngle.y || field_0x100d != 0 || field_0x100f != 0) + { + if (talkProc(NULL, 0, NULL, 0) && mFlow.checkEndFlow() != 0) { + mPlayerActorMngr.entry(daPy_getPlayerActorClass()); + dComIfGp_event_reset(); + if (field_0x100b != 0) { + field_0x100b = 0; + field_0x100c = 1; + field_0x100d = 1; + } + mMode = MODE_EXIT; + } + mJntAnm.lookPlayer(0); + if (mTwilight != 0) { + mJntAnm.lookNone(0); + } + } else { + mJntAnm.lookPlayer(0); + if (field_0x1008 != 0) { + step(mPlayerAngle, 17, 24, 15, 0); + } else { + step(mPlayerAngle, -1, -1, 15, 0); + } + } + } + break; + case MODE_EXIT: + case MODE_4: + break; + } + + return 0; } -/* ############################################################################################## */ -/* 80B2DD84-80B2DD88 000074 0004+00 0/0 0/0 0/0 .bss - * sInstance__40JASGlobalInstance<19JASDefaultBankTable> */ -#pragma push -#pragma force_active on -static u8 data_80B2DD84[4]; -#pragma pop +/* 80B2BA08-80B2BA28 005348 0020+00 1/0 0/0 0/0 .text daNpc_Uri_Create__FPv */ +static int daNpc_Uri_Create(void* i_this) { + return static_cast(i_this)->create(); +} -/* 80B2DD88-80B2DD8C 000078 0004+00 0/0 0/0 0/0 .bss - * sInstance__35JASGlobalInstance<14JASAudioThread> */ -#pragma push -#pragma force_active on -static u8 data_80B2DD88[4]; -#pragma pop +/* 80B2BA28-80B2BA48 005368 0020+00 1/0 0/0 0/0 .text daNpc_Uri_Delete__FPv */ +static int daNpc_Uri_Delete(void* i_this) { + return static_cast(i_this)->Delete(); +} -/* 80B2DD8C-80B2DD90 00007C 0004+00 0/0 0/0 0/0 .bss sInstance__27JASGlobalInstance<7Z2SeMgr> */ -#pragma push -#pragma force_active on -static u8 data_80B2DD8C[4]; -#pragma pop +/* 80B2BA48-80B2BA68 005388 0020+00 1/0 0/0 0/0 .text daNpc_Uri_Execute__FPv */ +static int daNpc_Uri_Execute(void* i_this) { + return static_cast(i_this)->Execute(); +} -/* 80B2DD90-80B2DD94 000080 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8Z2SeqMgr> */ -#pragma push -#pragma force_active on -static u8 data_80B2DD90[4]; -#pragma pop +/* 80B2BA68-80B2BA88 0053A8 0020+00 1/0 0/0 0/0 .text daNpc_Uri_Draw__FPv */ +static int daNpc_Uri_Draw(void* i_this) { + return static_cast(i_this)->Draw(); +} -/* 80B2DD94-80B2DD98 000084 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SceneMgr> - */ -#pragma push -#pragma force_active on -static u8 data_80B2DD94[4]; -#pragma pop +/* 80B2BA88-80B2BA90 0053C8 0008+00 1/0 0/0 0/0 .text daNpc_Uri_IsDelete__FPv */ +static int daNpc_Uri_IsDelete(void* i_this) { + return 1; +} -/* 80B2DD98-80B2DD9C 000088 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2StatusMgr> - */ -#pragma push -#pragma force_active on -static u8 data_80B2DD98[4]; -#pragma pop +/* 80B2DB44-80B2DB64 -00001 0020+00 1/0 0/0 0/0 .data daNpc_Uri_MethodTable */ +static actor_method_class daNpc_Uri_MethodTable = { + (process_method_func)daNpc_Uri_Create, (process_method_func)daNpc_Uri_Delete, + (process_method_func)daNpc_Uri_Execute, (process_method_func)daNpc_Uri_IsDelete, + (process_method_func)daNpc_Uri_Draw, +}; -/* 80B2DD9C-80B2DDA0 00008C 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2DebugSys> - */ -#pragma push -#pragma force_active on -static u8 data_80B2DD9C[4]; -#pragma pop +/* 80B2DB64-80B2DB94 -00001 0030+00 0/0 0/0 1/0 .data g_profile_NPC_URI */ +extern actor_process_profile_definition g_profile_NPC_URI = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_NPC_URI, // mProcName + &g_fpcLf_Method.base, // sub_method + sizeof(daNpc_Uri_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 378, // mPriority + &daNpc_Uri_MethodTable, // sub_method + 0x00040107, // mStatus + fopAc_NPC_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType +}; -/* 80B2DDA0-80B2DDA4 000090 0004+00 0/0 0/0 0/0 .bss - * sInstance__36JASGlobalInstance<15JAISoundStarter> */ -#pragma push -#pragma force_active on -static u8 data_80B2DDA0[4]; -#pragma pop - -/* 80B2DDA4-80B2DDA8 000094 0004+00 0/0 0/0 0/0 .bss - * sInstance__35JASGlobalInstance<14Z2SoundStarter> */ -#pragma push -#pragma force_active on -static u8 data_80B2DDA4[4]; -#pragma pop - -/* 80B2DDA8-80B2DDAC 000098 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12Z2SpeechMgr2> */ -#pragma push -#pragma force_active on -static u8 data_80B2DDA8[4]; -#pragma pop - -/* 80B2DDAC-80B2DDB0 00009C 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8JAISeMgr> */ -#pragma push -#pragma force_active on -static u8 data_80B2DDAC[4]; -#pragma pop - -/* 80B2DDB0-80B2DDB4 0000A0 0004+00 0/0 0/0 0/0 .bss sInstance__29JASGlobalInstance<9JAISeqMgr> */ -#pragma push -#pragma force_active on -static u8 data_80B2DDB0[4]; -#pragma pop - -/* 80B2DDB4-80B2DDB8 0000A4 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12JAIStreamMgr> */ -#pragma push -#pragma force_active on -static u8 data_80B2DDB4[4]; -#pragma pop - -/* 80B2DDB8-80B2DDBC 0000A8 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SoundMgr> - */ -#pragma push -#pragma force_active on -static u8 data_80B2DDB8[4]; -#pragma pop - -/* 80B2DDBC-80B2DDC0 0000AC 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12JAISoundInfo> */ -#pragma push -#pragma force_active on -static u8 data_80B2DDBC[4]; -#pragma pop - -/* 80B2DDC0-80B2DDC4 0000B0 0004+00 0/0 0/0 0/0 .bss - * sInstance__34JASGlobalInstance<13JAUSoundTable> */ -#pragma push -#pragma force_active on -static u8 data_80B2DDC0[4]; -#pragma pop - -/* 80B2DDC4-80B2DDC8 0000B4 0004+00 0/0 0/0 0/0 .bss - * sInstance__38JASGlobalInstance<17JAUSoundNameTable> */ -#pragma push -#pragma force_active on -static u8 data_80B2DDC4[4]; -#pragma pop - -/* 80B2DDC8-80B2DDCC 0000B8 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12JAUSoundInfo> */ -#pragma push -#pragma force_active on -static u8 data_80B2DDC8[4]; -#pragma pop - -/* 80B2DDCC-80B2DDD0 0000BC 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SoundInfo> - */ -#pragma push -#pragma force_active on -static u8 data_80B2DDCC[4]; -#pragma pop - -/* 80B2DDD0-80B2DDD4 0000C0 0004+00 0/0 0/0 0/0 .bss - * sInstance__34JASGlobalInstance<13Z2SoundObjMgr> */ -#pragma push -#pragma force_active on -static u8 data_80B2DDD0[4]; -#pragma pop - -/* 80B2DDD4-80B2DDD8 0000C4 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2Audience> - */ -#pragma push -#pragma force_active on -static u8 data_80B2DDD4[4]; -#pragma pop - -/* 80B2DDD8-80B2DDDC 0000C8 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2FxLineMgr> - */ -#pragma push -#pragma force_active on -static u8 data_80B2DDD8[4]; -#pragma pop - -/* 80B2DDDC-80B2DDE0 0000CC 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2EnvSeMgr> - */ -#pragma push -#pragma force_active on -static u8 data_80B2DDDC[4]; -#pragma pop - -/* 80B2DDE0-80B2DDE4 0000D0 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SpeechMgr> - */ -#pragma push -#pragma force_active on -static u8 data_80B2DDE0[4]; -#pragma pop - -/* 80B2DDE4-80B2DDE8 0000D4 0004+00 0/0 0/0 0/0 .bss - * sInstance__34JASGlobalInstance<13Z2WolfHowlMgr> */ -#pragma push -#pragma force_active on -static u8 data_80B2DDE4[4]; -#pragma pop - -/* 80B2CF74-80B2CF74 000160 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +AUDIO_INSTANCES;