diff --git a/configure.py b/configure.py index 2f97c87ea55..8b79f498cda 100755 --- a/configure.py +++ b/configure.py @@ -1549,7 +1549,7 @@ config.libs = [ ActorRel(NonMatching, "d_a_npc_kakashi"), ActorRel(NonMatching, "d_a_npc_kkri"), ActorRel(NonMatching, "d_a_npc_kolin"), - ActorRel(NonMatching, "d_a_npc_maro"), + ActorRel(Equivalent, "d_a_npc_maro"), # weak func order ActorRel(NonMatching, "d_a_npc_taro"), ActorRel(NonMatching, "d_a_npc_tkj"), ActorRel(NonMatching, "d_a_obj_bhashi"), diff --git a/include/d/actor/d_a_npc.h b/include/d/actor/d_a_npc.h index faa906644a3..da96b83fd06 100644 --- a/include/d/actor/d_a_npc.h +++ b/include/d/actor/d_a_npc.h @@ -286,6 +286,24 @@ public: } setDirect(i_direct); } + + void sorasu1(cXyz *arg0, u8 arg1) { + BOOL diff_ptrs = mAttnPosP != arg0; + if (setMode(5, diff_ptrs) != 0) { + mAttnPosP = arg0; + } + + setDirect(arg1); + } + + void sorasu2(cXyz *arg0, u8 arg1) { + BOOL diff_ptrs = mAttnPosP != arg0; + if (setMode(6, diff_ptrs) != 0) { + mAttnPosP = arg0; + } + + setDirect(arg1); + } }; class daNpcT_DmgStagger_c { diff --git a/include/d/actor/d_a_npc_maro.h b/include/d/actor/d_a_npc_maro.h index c1e961bd3c6..0883942344c 100644 --- a/include/d/actor/d_a_npc_maro.h +++ b/include/d/actor/d_a_npc_maro.h @@ -3,6 +3,7 @@ #include "SSystem/SComponent/c_counter.h" #include "d/actor/d_a_npc.h" +#include "d/d_shop_system.h" /** * @ingroup actors-npcs @@ -12,24 +13,45 @@ * @details * */ -class daNpc_Maro_c : public daNpcT_c { +class daNpc_Maro_c : public dShopSystem_c { public: - typedef void (daNpc_Maro_c::*actionFunc)(void*); + typedef int (daNpc_Maro_c::*actionFunc)(void*); + typedef int (daNpc_Maro_c::*cutFunc)(int); + + enum Type { + TYPE_0, + TYPE_1, + TYPE_2, + TYPE_3, + TYPE_4, + TYPE_5, + TYPE_6, + TYPE_7, + TYPE_8, + TYPE_9, + TYPE_10, + TYPE_11, + TYPE_12, + TYPE_13, + TYPE_14, + TYPE_15, + TYPE_16, + }; /* 8055B58C */ ~daNpc_Maro_c(); - /* 8055B6E0 */ void create(); - /* 8055B9A8 */ void CreateHeap(); - /* 8055BDE8 */ void Delete(); - /* 8055BE1C */ void Execute(); - /* 8055BF0C */ void Draw(); - /* 8055BFA0 */ void createHeapCallBack(fopAc_ac_c*); - /* 8055BFC0 */ void ctrlJointCallBack(J3DJoint*, int); - /* 8055C018 */ void srchArrow(void*, void*); - /* 8055C0B4 */ void getArrowP(); - /* 8055C1AC */ void srchItaMato(void*, void*); - /* 8055C248 */ void getItaMatoP(int); - /* 8055C330 */ void getType(); - /* 8055C3E0 */ void isDelete(); + /* 8055B6E0 */ int create(); + /* 8055B9A8 */ int CreateHeap(); + /* 8055BDE8 */ int Delete(); + /* 8055BE1C */ int Execute(); + /* 8055BF0C */ int Draw(); + /* 8055BFA0 */ static int createHeapCallBack(fopAc_ac_c*); + /* 8055BFC0 */ static int ctrlJointCallBack(J3DJoint*, int); + /* 8055C018 */ static void* srchArrow(void*, void*); + /* 8055C0B4 */ fopAc_ac_c* getArrowP(); + /* 8055C1AC */ static void* srchItaMato(void*, void*); + /* 8055C248 */ fopAc_ac_c* getItaMatoP(int); + /* 8055C330 */ u8 getType(); + /* 8055C3E0 */ int isDelete(); /* 8055C614 */ void reset(); /* 8055C834 */ void afterJntAnm(int); /* 8055C8B0 */ void setParam(); @@ -47,33 +69,33 @@ public: /* 8055DA78 */ void drawOtherMdl(); /* 8055DAD8 */ daNpcT_faceMotionAnmData_c getFaceMotionAnm(daNpcT_faceMotionAnmData_c); /* 8055DB64 */ daNpcT_motionAnmData_c getMotionAnm(daNpcT_motionAnmData_c); - /* 8055DBF0 */ void selectAction(); - /* 8055DD08 */ void chkAction(int (daNpc_Maro_c::*)(void*)); - /* 8055DD34 */ void setAction(int (daNpc_Maro_c::*)(void*)); - /* 8055DDDC */ void cutConversationAboutPachinko(int); - /* 8055DF7C */ void cutConversationAboutWoodSwd(int); - /* 8055E124 */ void cutSwdTutorial(int); - /* 8055E414 */ void cutHail(int); - /* 8055E578 */ void cutFindMonkey(int); - /* 8055E968 */ void cutGiveMeWoodSwd(int); - /* 8055ECF4 */ void cutGetWoodSwd(int); - /* 8055F508 */ void cutConversationWithMaro(int); - /* 8055F634 */ void cutCacaricoConversation(int); - /* 8055F82C */ void cutSurprise(int); - /* 8055FAF0 */ void cutArrowTutorial(int); - /* 805611E0 */ void cutBokinTalk(int); - /* 80561328 */ void cutMarosWhisper(int); - /* 80561614 */ void cutTagPush1(int); - /* 8056178C */ void cutNotGonnaLet(int); - /* 80561E70 */ void cutTalkToKakashi(int); - /* 80562174 */ void wait(void*); - /* 805629A4 */ void swdTutorial(void*); - /* 80562B14 */ void talk_withTaro(void*); - /* 80562CA4 */ void choccai(void*); - /* 80562EC8 */ void tend(void*); - /* 8056319C */ void arrowTutorial(void*); - /* 8056342C */ void talk(void*); - /* 80563660 */ void shop(void*); + /* 8055DBF0 */ int selectAction(); + /* 8055DD08 */ int chkAction(int (daNpc_Maro_c::*)(void*)); + /* 8055DD34 */ int setAction(int (daNpc_Maro_c::*)(void*)); + /* 8055DDDC */ int cutConversationAboutPachinko(int); + /* 8055DF7C */ int cutConversationAboutWoodSwd(int); + /* 8055E124 */ int cutSwdTutorial(int); + /* 8055E414 */ int cutHail(int); + /* 8055E578 */ int cutFindMonkey(int); + /* 8055E968 */ int cutGiveMeWoodSwd(int); + /* 8055ECF4 */ int cutGetWoodSwd(int); + /* 8055F508 */ int cutConversationWithMaro(int); + /* 8055F634 */ int cutCacaricoConversation(int); + /* 8055F82C */ int cutSurprise(int); + /* 8055FAF0 */ int cutArrowTutorial(int); + /* 805611E0 */ int cutBokinTalk(int); + /* 80561328 */ int cutMarosWhisper(int); + /* 80561614 */ int cutTagPush1(int); + /* 8056178C */ int cutNotGonnaLet(int); + /* 80561E70 */ int cutTalkToKakashi(int); + /* 80562174 */ int wait(void*); + /* 805629A4 */ int swdTutorial(void*); + /* 80562B14 */ int talk_withTaro(void*); + /* 80562CA4 */ int choccai(void*); + /* 80562EC8 */ int tend(void*); + /* 8056319C */ int arrowTutorial(void*); + /* 8056342C */ int talk(void*); + /* 80563660 */ int shop(void*); /* 805648A4 */ daNpc_Maro_c( daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData, daNpcT_motionAnmData_c const* i_motionAnmData, @@ -81,7 +103,7 @@ public: int i_faceMotionStepNum, daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum, daNpcT_evtData_c const* i_evtData, char** i_arcNames) - : daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData, + : dShopSystem_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData, i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData, i_arcNames) { OS_REPORT("|%06d:%x|daNpc_Maro_c -> コンストラクト\n", g_Counter.mCounter0, this); @@ -90,8 +112,10 @@ public: /* 80564978 */ s32 getHeadJointNo(); /* 80564980 */ s32 getNeckJointNo(); /* 80564988 */ s32 getBackboneJointNo(); - /* 80564990 */ BOOL checkChangeJoint(int); - /* 805649A0 */ BOOL checkRemoveJoint(int); + /* 80564990 */ BOOL checkChangeJoint(int arg0) { return arg0 == 4; }; + /* 805649A0 */ BOOL checkRemoveJoint(int arg0) { return arg0 == 6; }; + + u8 getBitSW() { return (fopAcM_GetParam(this) & 0xFF0000) >> 16; } void lostPlayer() { mPlayerActorMngr.remove(); } BOOL checkNowMotionIsChoccai() { @@ -113,22 +137,94 @@ public: void startChoccai() { field_0x1134 = 1; } void endChoccai() { field_0x1134 = 0; } - static void* mCutNameList[17]; - static u8 mCutList[204]; + static char* mCutNameList[17]; + static cutFunc mCutList[17]; + + int getFlowNodeNo() { + u16 nodeNo = home.angle.x; + if (nodeNo == 0xffff) { + return -1; + } + return nodeNo; + } + + u8 getMaxNumItem() { + return (fopAcM_GetParam(this) & 0xf000000) >> 0x18; + } private: - /* 0x0E40 */ u8 field_0xe40[0x1134 - 0xe40]; + /* 0x0F7C */ int field_0xf7c; + /* 0x0F80 */ dCcD_Cyl mCyl1; + /* 0x10BC */ int field_0x10bc; + /* 0x10C0 */ u8 mType; + /* 0x10C4 */ daNpcT_ActorMngr_c mActorMngr[9]; + /* 0x110C */ actionFunc field_0x110c; + /* 0x110C */ actionFunc field_0x1118; + /* 0x1124 */ u8 field_0x1124[0x1128 - 0x1124]; + /* 0x1128 */ int field_0x1128; + /* 0x112C */ int field_0x112c; + /* 0x1130 */ u8 field_0x1130; + /* 0x1131 */ u8 field_0x1131; + /* 0x1132 */ u8 field_0x1132; + /* 0x1134 */ u8 field_0x1133; /* 0x1134 */ u8 field_0x1134; - /* 0x1135 */ u8 field_0x1135[0x1140 - 0x1135]; + /* 0x1135 */ u8 field_0x1135; + /* 0x1136 */ u8 field_0x1136; + /* 0x1137 */ u8 field_0x1137; + /* 0x1138 */ u8 field_0x1138; + /* 0x1139 */ u8 field_0x1139; + /* 0x113A */ u8 field_0x113a[0x113C - 0x113A]; + /* 0x113C */ u8 field_0x113C[0x1140 - 0x113C]; }; STATIC_ASSERT(sizeof(daNpc_Maro_c) == 0x1140); class daNpc_Maro_Param_c { public: - /* 805649B0 */ ~daNpc_Maro_Param_c(); + /* 805649B0 */ virtual ~daNpc_Maro_Param_c() {} - static u8 const m[144]; + struct Data { + /* 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 */ u32 field_0x54; + /* 0x58 */ u32 field_0x58; + /* 0x5C */ u32 field_0x5c; + /* 0x60 */ u32 field_0x60; + /* 0x64 */ u32 field_0x64; + /* 0x68 */ u32 field_0x68; + /* 0x6C */ f32 field_0x6c; + /* 0x70 */ f32 field_0x70; + /* 0x74 */ f32 field_0x74; + /* 0x78 */ f32 field_0x78; + /* 0x7C */ f32 field_0x7c; + /* 0x80 */ f32 field_0x80; + /* 0x84 */ f32 field_0x84; + /* 0x88 */ f32 field_0x88; + /* 0x8C */ u32 field_0x8c; + }; + + static const Data m; }; diff --git a/include/d/d_attention.h b/include/d/d_attention.h index 20884a94a61..188102f9196 100644 --- a/include/d/d_attention.h +++ b/include/d/d_attention.h @@ -264,6 +264,11 @@ public: mPadNo = i_padNo; } + void offAttnDraw() { + draw[0].field_0x173 = 3; + draw[1].field_0x173 = 3; + } + static type_tbl_entry loc_type_tbl[3]; static type_tbl_entry act_type_tbl[5]; static dist_entry dist_table[234]; diff --git a/include/d/d_shop_camera.h b/include/d/d_shop_camera.h index b2cc26ca449..da7d7884cc5 100644 --- a/include/d/d_shop_camera.h +++ b/include/d/d_shop_camera.h @@ -36,6 +36,8 @@ struct ShopCam_action_c { setCameraSpeed(0.25f, 20.0f, 0.25f, 5.0f); } + void setCamDataIdx(int data_idx) { mCamDataIdx = data_idx; } + /* 0x00 */ ShopCamFunc mCamAction; /* 0x0c */ u8 field_0xc[0x18 - 0xc]; /* 0x18 */ fopAc_ac_c* field_0x18; @@ -67,7 +69,7 @@ struct ShopCam_action_c { /* 0xD0 */ s16 field_0xd0; /* 0xD2 */ s16 field_0xd2; /* 0xD4 */ s16 field_0xd4; - /* 0xD6 */ s16 field_0xd6; + /* 0xD6 */ s16 mCamDataIdx; /* 0xD8 */ s16 field_0xd8; /* 0xDA */ bool field_0xda; }; diff --git a/include/d/d_shop_system.h b/include/d/d_shop_system.h index 21c2e539bf9..049e0744ec0 100644 --- a/include/d/d_shop_system.h +++ b/include/d/d_shop_system.h @@ -41,7 +41,7 @@ public: mShopCamAction.field_0xd0 = 0; mShopCamAction.field_0xd2 = 0; mShopCamAction.field_0xd4 = -1; - mShopCamAction.field_0xd6 = 0; + mShopCamAction.mCamDataIdx = 0; mShopCamAction.field_0x7c.x = 0.0f; mShopCamAction.field_0x7c.y = 0.0f; mShopCamAction.field_0x7c.z = 0.0f; @@ -103,10 +103,10 @@ public: /* 8019A364 */ void setSoldOut(); /* 8019A4F4 */ void setSoldOutItemHide(); /* 8019A564 */ void deleteObject(); - /* 8019A5D0 */ int searchItemActor(); + /* 8019A5D0 */ bool searchItemActor(); /* 8019AB00 */ int getFlowNodeNum(); /* 8019AB1C */ void setSellItemMax(u8); - /* 8019AB24 */ bool checkShopOpen(); + /* 8019AB24 */ BOOL checkShopOpen(); /* 8019AB60 */ bool checkLeftTrigger(STControl*); /* 8019AB84 */ bool checkRightTrigger(STControl*); /* 8019ABA8 */ bool dpdMove(); @@ -122,8 +122,9 @@ public: void offSpMode() { mSpMode = 0; } u8 getEventParamU8(int param_0) { return (mEventParam >> (3 - param_0) * 8) & 0xFF; } void setEventParam(u32 param) { mEventParam = param; } + void setMasterType(u8 master_type) { mMasterType = master_type; } -private: +public: /* 0xE40 */ STControl* mpStick; /* 0xE44 */ dSelect_cursor_c* mpDrawCursor; /* 0xE48 */ dShopItemCtrl_c mItemCtrl; @@ -145,7 +146,7 @@ private: /* 0xF74 */ u8 mSoldOutItemFlags; /* 0xF75 */ u8 mSpMode; /* 0xF76 */ u8 field_0xf76; - /* 0xF77 */ u8 field_0xf77; + /* 0xF77 */ u8 mMasterType; /* 0xF78 */ u8 field_0xf78; /* 0xF79 */ u8 field_0xf79; /* 0xF7A */ u8 field_0xf7a; diff --git a/src/d/actor/d_a_npc_maro.cpp b/src/d/actor/d_a_npc_maro.cpp index 19ebdf4dd69..b3e3a93a810 100644 --- a/src/d/actor/d_a_npc_maro.cpp +++ b/src/d/actor/d_a_npc_maro.cpp @@ -4,1851 +4,1066 @@ */ #include "d/actor/d_a_npc_maro.h" -#include "dol2asm.h" - -// -// Forward References: -// - -extern "C" void __dt__12daNpc_Maro_cFv(); -extern "C" void create__12daNpc_Maro_cFv(); -extern "C" void CreateHeap__12daNpc_Maro_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__12daNpc_Maro_cFv(); -extern "C" void Execute__12daNpc_Maro_cFv(); -extern "C" void Draw__12daNpc_Maro_cFv(); -extern "C" void createHeapCallBack__12daNpc_Maro_cFP10fopAc_ac_c(); -extern "C" void ctrlJointCallBack__12daNpc_Maro_cFP8J3DJointi(); -extern "C" void srchArrow__12daNpc_Maro_cFPvPv(); -extern "C" void getArrowP__12daNpc_Maro_cFv(); -extern "C" void srchItaMato__12daNpc_Maro_cFPvPv(); -extern "C" void getItaMatoP__12daNpc_Maro_cFi(); -extern "C" void getType__12daNpc_Maro_cFv(); -extern "C" void isDelete__12daNpc_Maro_cFv(); -extern "C" void reset__12daNpc_Maro_cFv(); -extern "C" void afterJntAnm__12daNpc_Maro_cFi(); -extern "C" void setParam__12daNpc_Maro_cFv(); -extern "C" void checkChangeEvt__12daNpc_Maro_cFv(); -extern "C" void evtEndProc__12daNpc_Maro_cFv(); -extern "C" void setAfterTalkMotion__12daNpc_Maro_cFv(); -extern "C" void srchActors__12daNpc_Maro_cFv(); -extern "C" void evtTalk__12daNpc_Maro_cFv(); -extern "C" void evtCutProc__12daNpc_Maro_cFv(); -extern "C" void action__12daNpc_Maro_cFv(); -extern "C" void beforeMove__12daNpc_Maro_cFv(); -extern "C" void setAttnPos__12daNpc_Maro_cFv(); -extern "C" void setCollision__12daNpc_Maro_cFv(); -extern "C" bool drawDbgInfo__12daNpc_Maro_cFv(); -extern "C" void drawOtherMdl__12daNpc_Maro_cFv(); -extern "C" void getFaceMotionAnm__12daNpc_Maro_cF26daNpcT_faceMotionAnmData_c(); -extern "C" void getMotionAnm__12daNpc_Maro_cF22daNpcT_motionAnmData_c(); -extern "C" void selectAction__12daNpc_Maro_cFv(); -extern "C" void chkAction__12daNpc_Maro_cFM12daNpc_Maro_cFPCvPvPv_i(); -extern "C" void setAction__12daNpc_Maro_cFM12daNpc_Maro_cFPCvPvPv_i(); -extern "C" void cutConversationAboutPachinko__12daNpc_Maro_cFi(); -extern "C" void cutConversationAboutWoodSwd__12daNpc_Maro_cFi(); -extern "C" void cutSwdTutorial__12daNpc_Maro_cFi(); -extern "C" void cutHail__12daNpc_Maro_cFi(); -extern "C" void cutFindMonkey__12daNpc_Maro_cFi(); -extern "C" void cutGiveMeWoodSwd__12daNpc_Maro_cFi(); -extern "C" void cutGetWoodSwd__12daNpc_Maro_cFi(); -extern "C" void cutConversationWithMaro__12daNpc_Maro_cFi(); -extern "C" void cutCacaricoConversation__12daNpc_Maro_cFi(); -extern "C" void cutSurprise__12daNpc_Maro_cFi(); -extern "C" void cutArrowTutorial__12daNpc_Maro_cFi(); -extern "C" void cutBokinTalk__12daNpc_Maro_cFi(); -extern "C" void cutMarosWhisper__12daNpc_Maro_cFi(); -extern "C" void cutTagPush1__12daNpc_Maro_cFi(); -extern "C" void cutNotGonnaLet__12daNpc_Maro_cFi(); -extern "C" void cutTalkToKakashi__12daNpc_Maro_cFi(); -extern "C" void wait__12daNpc_Maro_cFPv(); -extern "C" void swdTutorial__12daNpc_Maro_cFPv(); -extern "C" void talk_withTaro__12daNpc_Maro_cFPv(); -extern "C" void choccai__12daNpc_Maro_cFPv(); -extern "C" void tend__12daNpc_Maro_cFPv(); -extern "C" void arrowTutorial__12daNpc_Maro_cFPv(); -extern "C" void talk__12daNpc_Maro_cFPv(); -extern "C" void shop__12daNpc_Maro_cFPv(); -extern "C" static void daNpc_Maro_Create__FPv(); -extern "C" static void daNpc_Maro_Delete__FPv(); -extern "C" static void daNpc_Maro_Execute__FPv(); -extern "C" static void daNpc_Maro_Draw__FPv(); -extern "C" static bool daNpc_Maro_IsDelete__FPv(); -extern "C" void calc__11J3DTexNoAnmCFPUs(); -extern "C" void __dt__10cCcD_GSttsFv(); -extern "C" void __dt__18daNpcT_ActorMngr_cFv(); -extern "C" void __ct__18daNpcT_ActorMngr_cFv(); -extern "C" void __dt__8cM3dGCylFv(); -extern "C" void __dt__8cM3dGAabFv(); -extern "C" void __dt__4cXyzFv(); -extern "C" void __dt__5csXyzFv(); -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 lookActor__15daNpcT_JntAnm_cFP10fopAc_ac_cfUc(); -extern "C" void absXZ__4cXyzCFRC3Vec(); -extern "C" void ctrlSubFaceMotion__8daNpcT_cFi(); -extern "C" s32 getFootLJointNo__8daNpcT_cFv(); -extern "C" s32 getFootRJointNo__8daNpcT_cFv(); -extern "C" bool getEyeballLMaterialNo__8daNpcT_cFv(); -extern "C" bool getEyeballRMaterialNo__8daNpcT_cFv(); -extern "C" 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" bool afterSetMotionAnm__8daNpcT_cFiifi(); -extern "C" void changeAnm__8daNpcT_cFPiPi(); -extern "C" void changeBck__8daNpcT_cFPiPi(); -extern "C" void changeBtp__8daNpcT_cFPiPi(); -extern "C" void changeBtk__8daNpcT_cFPiPi(); -extern "C" void func_8056469C(void* _this, int*); -extern "C" void __sinit_d_a_npc_maro_cpp(); -extern "C" void -__ct__12daNpc_Maro_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc(); -extern "C" s32 getEyeballMaterialNo__12daNpc_Maro_cFv(); -extern "C" s32 getHeadJointNo__12daNpc_Maro_cFv(); -extern "C" s32 getNeckJointNo__12daNpc_Maro_cFv(); -extern "C" bool getBackboneJointNo__12daNpc_Maro_cFv(); -extern "C" void checkChangeJoint__12daNpc_Maro_cFi(); -extern "C" void checkRemoveJoint__12daNpc_Maro_cFi(); -extern "C" void __dt__18daNpc_Maro_Param_cFv(); -extern "C" static void func_805649F8(); -extern "C" static void func_80564A00(); -extern "C" void -__ct__13dShopSystem_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc(); -extern "C" bool getResName2__13dShopSystem_cFi(); -extern "C" bool beforeStartSeqAction__13dShopSystem_cFP10dMsgFlow_ci(); -extern "C" bool beforeSelectSeqAction__13dShopSystem_cFP10dMsgFlow_ci(); -extern "C" void chkPointInArea__15daTag_EvtArea_cF4cXyz(); -extern "C" u8 const m__18daNpc_Maro_Param_c[144]; -extern "C" extern char const* const d_a_npc_maro__stringBase0; -extern "C" void* mCutNameList__12daNpc_Maro_c[17]; -extern "C" u8 mCutList__12daNpc_Maro_c[204]; - -// -// 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 transS__14mDoMtx_stack_cFRC4cXyz(); -extern "C" void -__ct__16mDoExt_McaMorfSOFP12J3DModelDataP25mDoExt_McaMorfCallBack1_cP25mDoExt_McaMorfCallBack2_cP15J3DAnmTransformifiiP10Z2CreatureUlUl(); -extern "C" void stopZelAnime__16mDoExt_McaMorfSOFv(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void fopAc_IsActor__FPv(); -extern "C" void fopAcIt_Judge__FPFPvPv_PvPv(); -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_searchActorDistance__FPC10fopAc_ac_cPC10fopAc_ac_c(); -extern "C" void fopAcM_createItemForPresentDemo__FPC4cXyziUciiPC5csXyzPC4cXyz(); -extern "C" void fpcEx_IsExist__FUi(); -extern "C" void getTimerMode__14dComIfG_play_cFv(); -extern "C" void getTimerPtr__14dComIfG_play_cFv(); -extern "C" void dComIfG_TimerStart__Fis(); -extern "C" void dComIfG_TimerDeleteRequest__Fi(); -extern "C" void dComIfGs_wolfeye_effect_check__Fv(); -extern "C" void daNpcKakashi_chkSwdTutorialStage__Fv(); -extern "C" void offSwitch__12dSv_memBit_cFi(); -extern "C" void isSwitch__12dSv_memBit_cCFi(); -extern "C" void isEventBit__11dSv_event_cCFUs(); -extern "C" void setEventReg__11dSv_event_cFUsUc(); -extern "C" void isSwitch__10dSv_info_cCFii(); -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 setPtT__14dEvt_control_cFPv(); -extern "C" void setPtI__14dEvt_control_cFPv(); -extern "C" void getMyStaffId__16dEvent_manager_cFPCcP10fopAc_ac_ci(); -extern "C" void getIsAddvance__16dEvent_manager_cFi(); -extern "C" void getMyActIdx__16dEvent_manager_cFiPCPCciii(); -extern "C" void getMySubstanceP__16dEvent_manager_cFiPCci(); -extern "C" void cutEnd__16dEvent_manager_cFi(); -extern "C" void setGoal__16dEvent_manager_cFP4cXyz(); -extern "C" void getRunEventName__16dEvent_manager_cFv(); -extern "C" void ChkPresentEnd__16dEvent_manager_cFv(); -extern "C" void 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 __ct__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 checkItemGet__FUci(); -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 initialize__15daNpcT_JntAnm_cFv(); -extern "C" void setParam__15daNpcT_JntAnm_cFP10fopAc_ac_cP8J3DModelP4cXyziiiffffffffffP4cXyz(); -extern "C" void calcJntRad__15daNpcT_JntAnm_cFfff(); -extern "C" void setParam__19daNpcT_DmgStagger_cFP10fopAc_ac_cP10fopAc_ac_cs(); -extern "C" void calc__19daNpcT_DmgStagger_cFi(); -extern "C" void tgHitCallBack__8daNpcT_cFP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf(); -extern "C" void loadRes__8daNpcT_cFPCScPPCc(); -extern "C" void deleteRes__8daNpcT_cFPCScPPCc(); -extern "C" void execute__8daNpcT_cFv(); -extern "C" void draw__8daNpcT_cFiifP11_GXColorS10fiii(); -extern "C" void setEnvTevColor__8daNpcT_cFv(); -extern "C" void setRoomNo__8daNpcT_cFv(); -extern "C" void ctrlBtk__8daNpcT_cFv(); -extern "C" void setMtx__8daNpcT_cFv(); -extern "C" void ctrlJoint__8daNpcT_cFP8J3DJointP8J3DModel(); -extern "C" void evtProc__8daNpcT_cFv(); -extern "C" void setFootPos__8daNpcT_cFv(); -extern "C" void setFootPrtcl__8daNpcT_cFP4cXyzff(); -extern "C" bool checkCullDraw__8daNpcT_cFv(); -extern "C" void twilight__8daNpcT_cFv(); -extern "C" void evtOrder__8daNpcT_cFv(); -extern "C" void evtChange__8daNpcT_cFv(); -extern "C" void clrParam__8daNpcT_cFv(); -extern "C" void setFaceMotionAnm__8daNpcT_cFib(); -extern "C" void setMotionAnm__8daNpcT_cFifi(); -extern "C" void 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 setDamage__8daNpcT_cFiii(); -extern "C" void chkActorInSight__8daNpcT_cFP10fopAc_ac_cfs(); -extern "C" void srchPlayerActor__8daNpcT_cFv(); -extern "C" void step__8daNpcT_cFsiiii(); -extern "C" void initTalk__8daNpcT_cFiPP10fopAc_ac_c(); -extern "C" void talkProc__8daNpcT_cFPiiPP10fopAc_ac_ci(); -extern "C" void getNearestActorP__8daNpcT_cFs(); -extern "C" void getEvtAreaTagP__8daNpcT_cFii(); -extern "C" void getShopItemTagP__8daNpcT_cFv(); -extern "C" void daNpcT_getPlayerInfoFromPlayerList__FiiP4cXyzP5csXyz(); -extern "C" void daNpcT_chkDoBtnIsSpeak__FP10fopAc_ac_c(); -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 dCam_getBody__Fv(); -extern "C" void shop_cam_action_init__16ShopCam_action_cFv(); -extern "C" void Save__16ShopCam_action_cFv(); -extern "C" void EventRecoverNotime__16ShopCam_action_cFv(); -extern "C" void Reset__16ShopCam_action_cFv(); -extern "C" void move__16ShopCam_action_cFv(); -extern "C" void __ct__15dShopItemCtrl_cFv(); -extern "C" void initShopSystem__13dShopSystem_cFv(); -extern "C" void __dt__13dShopSystem_cFv(); -extern "C" void drawCursor__13dShopSystem_cFv(); -extern "C" void itemRotate__13dShopSystem_cFv(); -extern "C" void itemZoom__13dShopSystem_cFP4cXyz(); -extern "C" void shop_init__13dShopSystem_cFb(); -extern "C" void shop_process__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c(); -extern "C" void deleteObject__13dShopSystem_cFv(); -extern "C" void searchItemActor__13dShopSystem_cFv(); -extern "C" void setSellItemMax__13dShopSystem_cFUc(); -extern "C" void checkShopOpen__13dShopSystem_cFv(); -extern "C" void dKy_darkworld_check__Fv(); -extern "C" void __ct__10dMsgFlow_cFv(); -extern "C" void getEventId__10dMsgFlow_cFPi(); -extern "C" void getRestTimeMs__8dTimer_cFv(); -extern "C" void dTimer_createTimer__FlUlUcUcffff(); -extern "C" void dTimer_isStart__Fv(); -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 SetPos__11cBgS_GndChkFPC4cXyz(); -extern "C" void __dt__13cBgS_PolyInfoFv(); -extern "C" void __dt__8cM3dGCirFv(); -extern "C" void SetC__8cM3dGCylFRC4cXyz(); -extern "C" void SetH__8cM3dGCylFf(); -extern "C" void SetR__8cM3dGCylFf(); -extern "C" void cLib_addCalcAngleS2__FPssss(); -extern "C" void cLib_chaseF__FPfff(); -extern "C" void cLib_targetAngleY__FPC3VecPC3Vec(); -extern "C" void subBgmStop__8Z2SeqMgrFv(); -extern "C" void __ct__10Z2CreatureFv(); -extern "C" void init__10Z2CreatureFP3VecP3VecUcUc(); -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); -extern "C" void init__12J3DFrameCtrlFs(); -extern "C" void getTexNo__16J3DAnmTexPatternCFUsPUs(); -extern "C" void initialize__14J3DMaterialAnmFv(); -extern "C" void __destroy_arr(); -extern "C" void __construct_array(); -extern "C" void __ptmf_test(); -extern "C" void __ptmf_cmpr(); -extern "C" void __ptmf_scall(); -extern "C" void _savegpr_20(); -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_20(); -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" 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__13dShopSystem_c[52 + 1 /* padding */]; -extern "C" extern void* __vt__12cCcD_CylAttr[25]; -extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; -extern "C" extern void* __vt__9cCcD_Stts[8]; -extern "C" extern void* __vt__14J3DMaterialAnm[4]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" u8 mFindActorPtrs__8daNpcT_c[200]; -extern "C" u8 mFindCount__8daNpcT_c[4]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; -extern "C" void chkPointInArea__15daTag_EvtArea_cF4cXyz4cXyz(); -extern "C" void __register_global_object(); -extern "C" void checkStartDemo13StbEvt__11daNpc_Len_cFP10fopAc_ac_cfffffff(); -extern "C" void getSwitchBit1__16daTag_ShopItem_cFv(); +#include "d/actor/d_a_horse.h" +#include "d/actor/d_a_npc_len.h" +#include "d/actor/d_a_obj_itamato.h" +#include "d/actor/d_a_tag_evtarea.h" +#include "d/actor/d_a_tag_push.h" +#include "d/actor/d_a_tag_shop_item.h" +#include "d/d_com_static.h" +#include "d/d_item.h" +#include "d/d_timer.h" // // Declarations: // -/* ############################################################################################## */ -/* 80564D58-80564D58 0001AC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80564D58 = ""; -SECTION_DEAD static char const* const stringBase_80564D59 = "DEFAULT_GETITEM"; -SECTION_DEAD static char const* const stringBase_80564D69 = "NO_RESPONSE"; -SECTION_DEAD static char const* const stringBase_80564D75 = "CONVERSATION_ABOUT_WOODSWD1"; -SECTION_DEAD static char const* const stringBase_80564D91 = "CONVERSATION_ABOUT_WOODSWD2"; -SECTION_DEAD static char const* const stringBase_80564DAD = "CONVERSATION_WITH_MARO1"; -SECTION_DEAD static char const* const stringBase_80564DC5 = "CONVERSATION_WITH_MARO2"; -SECTION_DEAD static char const* const stringBase_80564DDD = "DEMO13_STB"; -SECTION_DEAD static char const* const stringBase_80564DE8 = "SURPRISE"; -SECTION_DEAD static char const* const stringBase_80564DF1 = "BREAK_ARROWTUTORIAL"; -SECTION_DEAD static char const* const stringBase_80564E05 = "CONTINUE_ARROWTUTORIAL"; -SECTION_DEAD static char const* const stringBase_80564E1C = "END_ARROWTUTORIAL"; -SECTION_DEAD static char const* const stringBase_80564E2E = "CLEAR_ARROWTUTORIAL"; -SECTION_DEAD static char const* const stringBase_80564E42 = "NOT_GONNA_LET_3"; -SECTION_DEAD static char const* const stringBase_80564E52 = "TALK_TO_KAKASHI"; -SECTION_DEAD static char const* const stringBase_80564E62 = "Maro"; -SECTION_DEAD static char const* const stringBase_80564E67 = "Maro_TW"; -SECTION_DEAD static char const* const stringBase_80564E6F = "Maro1"; -SECTION_DEAD static char const* const stringBase_80564E75 = "Maro2"; -SECTION_DEAD static char const* const stringBase_80564E7B = "Maro3"; -SECTION_DEAD static char const* const stringBase_80564E81 = "Taro1"; -SECTION_DEAD static char const* const stringBase_80564E87 = "Taro2"; -SECTION_DEAD static char const* const stringBase_80564E8D = "Len1"; -SECTION_DEAD static char const* const stringBase_80564E92 = "Besu1"; -SECTION_DEAD static char const* const stringBase_80564E98 = "CONVERSATION_ABOUT_PACHINKO"; -SECTION_DEAD static char const* const stringBase_80564EB4 = "CONVERSATION_ABOUT_WOODSWD"; -SECTION_DEAD static char const* const stringBase_80564ECF = "SWDTUTORIAL"; -SECTION_DEAD static char const* const stringBase_80564EDB = "HAIL"; -SECTION_DEAD static char const* const stringBase_80564EE0 = "FIND_MONKEY"; -SECTION_DEAD static char const* const stringBase_80564EEC = "GIVEME_WOODSWD"; -SECTION_DEAD static char const* const stringBase_80564EFB = "GET_WOODSWD"; -SECTION_DEAD static char const* const stringBase_80564F07 = "CONVERSATION_WITH_MARO"; -SECTION_DEAD static char const* const stringBase_80564F1E = "CACARICO_CONVERSATION"; -SECTION_DEAD static char const* const stringBase_80564F34 = "ARROWTUTORIAL"; -SECTION_DEAD static char const* const stringBase_80564F42 = "BOKIN_TALK"; -SECTION_DEAD static char const* const stringBase_80564F4D = "MAROS_WHISPER"; -SECTION_DEAD static char const* const stringBase_80564F5B = "TAG_PUSH1"; -SECTION_DEAD static char const* const stringBase_80564F65 = "NOT_GONNA_LET"; -#pragma pop +UNK_REL_DATA; -/* 80564F90-80564F9C 000000 000C+00 5/5 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, -}; - -/* 80564F9C-80564FB0 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 - -/* 80564FB0-80564FBC -00001 000C+00 0/0 0/0 0/0 .data @4085 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4085[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)choccai__12daNpc_Maro_cFPv, -}; -#pragma pop +daNpc_Maro_c::actionFunc dummy_lit_4085() { + return &daNpc_Maro_c::choccai; +} /* 80564FBC-80564FCC 00002C 0010+00 1/1 0/0 0/0 .data l_bmdData */ -SECTION_DATA static u8 l_bmdData[16] = { - 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, +static int l_bmdData[2][2] = { + {11, 1}, {5, 2}, }; /* 80564FCC-80565044 -00001 0078+00 0/1 0/0 0/0 .data l_evtList */ -#pragma push -#pragma force_active on -SECTION_DATA static void* l_evtList[30] = { - (void*)&d_a_npc_maro__stringBase0, - (void*)NULL, - (void*)(((char*)&d_a_npc_maro__stringBase0) + 0x1), - (void*)NULL, - (void*)(((char*)&d_a_npc_maro__stringBase0) + 0x11), - (void*)NULL, - (void*)(((char*)&d_a_npc_maro__stringBase0) + 0x1D), - (void*)0x00000009, - (void*)(((char*)&d_a_npc_maro__stringBase0) + 0x39), - (void*)0x00000009, - (void*)(((char*)&d_a_npc_maro__stringBase0) + 0x55), - (void*)0x00000006, - (void*)(((char*)&d_a_npc_maro__stringBase0) + 0x6D), - (void*)0x00000006, - (void*)(((char*)&d_a_npc_maro__stringBase0) + 0x85), - (void*)NULL, - (void*)(((char*)&d_a_npc_maro__stringBase0) + 0x90), - (void*)0x00000003, - (void*)(((char*)&d_a_npc_maro__stringBase0) + 0x99), - (void*)0x00000007, - (void*)(((char*)&d_a_npc_maro__stringBase0) + 0xAD), - (void*)0x00000007, - (void*)(((char*)&d_a_npc_maro__stringBase0) + 0xC4), - (void*)0x00000007, - (void*)(((char*)&d_a_npc_maro__stringBase0) + 0xD6), - (void*)0x00000007, - (void*)(((char*)&d_a_npc_maro__stringBase0) + 0xEA), - (void*)0x00000006, - (void*)(((char*)&d_a_npc_maro__stringBase0) + 0xFA), - (void*)0x00000003, +daNpcT_evtData_c l_evtList[15] = { + {"", 0}, + {"DEFAULT_GETITEM", 0}, + {"NO_RESPONSE", 0}, + {"CONVERSATION_ABOUT_WOODSWD1", 9}, + {"CONVERSATION_ABOUT_WOODSWD2", 9}, + {"CONVERSATION_WITH_MARO1", 6}, + {"CONVERSATION_WITH_MARO2", 6}, + {"DEMO13_STB", 0}, + {"SURPRISE", 3}, + {"BREAK_ARROWTUTORIAL", 7}, + {"CONTINUE_ARROWTUTORIAL", 7}, + {"END_ARROWTUTORIAL", 7}, + {"CLEAR_ARROWTUTORIAL", 7}, + {"NOT_GONNA_LET_3", 6}, + {"TALK_TO_KAKASHI", 3}, }; -#pragma pop /* 80565044-8056506C -00001 0028+00 2/3 0/0 0/0 .data l_resNameList */ -SECTION_DATA static void* l_resNameList[10] = { - (void*)&d_a_npc_maro__stringBase0, - (void*)(((char*)&d_a_npc_maro__stringBase0) + 0x10A), - (void*)(((char*)&d_a_npc_maro__stringBase0) + 0x10F), - (void*)(((char*)&d_a_npc_maro__stringBase0) + 0x117), - (void*)(((char*)&d_a_npc_maro__stringBase0) + 0x11D), - (void*)(((char*)&d_a_npc_maro__stringBase0) + 0x123), - (void*)(((char*)&d_a_npc_maro__stringBase0) + 0x129), - (void*)(((char*)&d_a_npc_maro__stringBase0) + 0x12F), - (void*)(((char*)&d_a_npc_maro__stringBase0) + 0x135), - (void*)(((char*)&d_a_npc_maro__stringBase0) + 0x13A), +static char* l_resNameList[10] = { + "", + "Maro", + "Maro_TW", + "Maro1", + "Maro2", + "Maro3", + "Taro1", + "Taro2", + "Len1", + "Besu1", }; /* 8056506C-80565070 0000DC 0003+01 1/0 0/0 0/0 .data l_loadResPtrn0 */ -SECTION_DATA static u8 l_loadResPtrn0[3 + 1 /* padding */] = { - 0x01, - 0x03, - 0xFF, - /* padding */ - 0x00, -}; +static s8 l_loadResPtrn0[3] = {1, 3, -1}; /* 80565070-80565074 0000E0 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}; /* 80565074-80565078 0000E4 0004+00 1/0 0/0 0/0 .data l_loadResPtrn2 */ -SECTION_DATA static u32 l_loadResPtrn2 = 0x010304FF; +static s8 l_loadResPtrn2[4] = {1, 3, 4, -1}; /* 80565078-80565080 0000E8 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}; /* 80565080-805650C4 -00001 0044+00 1/2 0/0 0/0 .data l_loadResPtrnList */ -SECTION_DATA static void* l_loadResPtrnList[17] = { - (void*)&l_loadResPtrn2, (void*)&l_loadResPtrn2, (void*)&l_loadResPtrn0, (void*)&l_loadResPtrn1, - (void*)&l_loadResPtrn0, (void*)&l_loadResPtrn0, (void*)&l_loadResPtrn0, (void*)&l_loadResPtrn2, - (void*)&l_loadResPtrn2, (void*)&l_loadResPtrn0, (void*)&l_loadResPtrn2, (void*)&l_loadResPtrn2, - (void*)&l_loadResPtrn2, (void*)&l_loadResPtrn2, (void*)&l_loadResPtrn2, (void*)&l_loadResPtrn2, - (void*)&l_loadResPtrn3, +static s8* l_loadResPtrnList[17] = { + l_loadResPtrn2, l_loadResPtrn2, l_loadResPtrn0, l_loadResPtrn1, + l_loadResPtrn0, l_loadResPtrn0, l_loadResPtrn0, l_loadResPtrn2, + l_loadResPtrn2, l_loadResPtrn0, l_loadResPtrn2, l_loadResPtrn2, + l_loadResPtrn2, l_loadResPtrn2, l_loadResPtrn2, l_loadResPtrn2, + l_loadResPtrn3, }; /* 805650C4-805651DC 000134 0118+00 0/1 0/0 0/0 .data l_faceMotionAnmData */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 l_faceMotionAnmData[280] = { - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 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, 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, 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, 0x06, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, - 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0B, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, +static daNpcT_faceMotionAnmData_c l_faceMotionAnmData[10] = { + {-1, 0, 0, 17, 2, 1, 1}, + {6, 0, 1, 18, 0, 1, 0}, + {7, 0, 3, 22, 0, 3, 0}, + {8, 0, 3, 23, 0, 3, 0}, + {6, 0, 3, 21, 0, 3, 0}, + {6, 0, 4, 10, 0, 4, 0}, + {6, 0, 5, 10, 0, 5, 0}, + {9, 2, 3, 24, 2, 3, 0}, + {7, 2, 4, 11, 2, 4, 0}, + {7, 2, 5, 11, 2, 5, 0}, }; -#pragma pop /* 805651DC-805652F4 00024C 0118+00 0/1 0/0 0/0 .data l_motionAnmData */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 l_motionAnmData[280] = { - 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0E, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0E, 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, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x11, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, - 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0E, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, +static daNpcT_motionAnmData_c l_motionAnmData[10] = { + {8, 2, 1, 14, 0, 1, 1, 0}, + {5, 2, 4, 14, 0, 1, 1, 0}, + {5, 2, 5, 14, 0, 1, 1, 0}, + {12, 0, 3, 14, 0, 1, 1, 0}, + {13, 0, 3, 17, 0, 3, 0, 0}, + {14, 0, 3, 18, 0, 3, 0, 0}, + {4, 0, 5, 14, 0, 1, 1, 0}, + {11, 2, 3, 14, 0, 1, 1, 0}, + {7, 0, 1, 14, 0, 1, 1, 0}, + {10, 2, 3, 14, 0, 1, 1, 0}, }; -#pragma pop /* 805652F4-80565394 000364 00A0+00 0/1 0/0 0/0 .data l_faceMotionSequenceData */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 l_faceMotionSequenceData[160] = { - 0x00, 0x01, 0xFF, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x04, 0xFF, 0x01, 0x00, 0x07, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x02, 0xFF, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x05, 0xFF, 0x01, 0x00, 0x08, 0xFF, 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, 0x03, 0xFF, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x07, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x08, 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, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, +static daNpcT_MotionSeqMngr_c::sequenceStepData_c l_faceMotionSequenceData[40] = { + {1, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {4, -1, 1}, {7, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, + {2, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {5, -1, 1}, {8, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, + {6, -1, 1}, {9, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {3, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {7, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {8, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {9, -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 /* 80565394-80565424 000404 0090+00 0/1 0/0 0/0 .data l_motionSequenceData */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 l_motionSequenceData[144] = { - 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x03, 0xFF, 0x01, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x01, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x06, 0xFF, 0x01, 0x00, 0x02, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x07, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x04, 0xFF, 0x01, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x05, 0xFF, 0x01, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x08, 0x04, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x09, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, +static daNpcT_MotionSeqMngr_c::sequenceStepData_c l_motionSequenceData[36] = { + {0, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {3, -1, 1}, {0, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, + {1, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {6, -1, 1}, {2, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {7, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {4, -1, 1}, {0, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, + {5, -1, 1}, {0, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {8, 4, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {9, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, }; -#pragma pop /* 80565424-80565468 -00001 0044+00 1/1 0/0 0/0 .data mCutNameList__12daNpc_Maro_c */ -SECTION_DATA void* daNpc_Maro_c::mCutNameList[17] = { - (void*)&d_a_npc_maro__stringBase0, - (void*)(((char*)&d_a_npc_maro__stringBase0) + 0x140), - (void*)(((char*)&d_a_npc_maro__stringBase0) + 0x15C), - (void*)(((char*)&d_a_npc_maro__stringBase0) + 0x177), - (void*)(((char*)&d_a_npc_maro__stringBase0) + 0x183), - (void*)(((char*)&d_a_npc_maro__stringBase0) + 0x188), - (void*)(((char*)&d_a_npc_maro__stringBase0) + 0x194), - (void*)(((char*)&d_a_npc_maro__stringBase0) + 0x1A3), - (void*)(((char*)&d_a_npc_maro__stringBase0) + 0x1AF), - (void*)(((char*)&d_a_npc_maro__stringBase0) + 0x1C6), - (void*)(((char*)&d_a_npc_maro__stringBase0) + 0x90), - (void*)(((char*)&d_a_npc_maro__stringBase0) + 0x1DC), - (void*)(((char*)&d_a_npc_maro__stringBase0) + 0x1EA), - (void*)(((char*)&d_a_npc_maro__stringBase0) + 0x1F5), - (void*)(((char*)&d_a_npc_maro__stringBase0) + 0x203), - (void*)(((char*)&d_a_npc_maro__stringBase0) + 0x20D), - (void*)(((char*)&d_a_npc_maro__stringBase0) + 0xFA), +char* daNpc_Maro_c::mCutNameList[17] = { + "", + "CONVERSATION_ABOUT_PACHINKO", + "CONVERSATION_ABOUT_WOODSWD", + "SWDTUTORIAL", + "HAIL", + "FIND_MONKEY", + "GIVEME_WOODSWD", + "GET_WOODSWD", + "CONVERSATION_WITH_MARO", + "CACARICO_CONVERSATION", + "SURPRISE", + "ARROWTUTORIAL", + "BOKIN_TALK", + "MAROS_WHISPER", + "TAG_PUSH1", + "NOT_GONNA_LET", + "TALK_TO_KAKASHI", }; -/* 80565468-80565474 -00001 000C+00 0/1 0/0 0/0 .data @4102 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4102[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cutConversationAboutPachinko__12daNpc_Maro_cFi, -}; -#pragma pop - -/* 80565474-80565480 -00001 000C+00 0/1 0/0 0/0 .data @4103 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4103[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cutConversationAboutWoodSwd__12daNpc_Maro_cFi, -}; -#pragma pop - -/* 80565480-8056548C -00001 000C+00 0/1 0/0 0/0 .data @4104 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4104[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cutSwdTutorial__12daNpc_Maro_cFi, -}; -#pragma pop - -/* 8056548C-80565498 -00001 000C+00 0/1 0/0 0/0 .data @4105 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4105[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cutHail__12daNpc_Maro_cFi, -}; -#pragma pop - -/* 80565498-805654A4 -00001 000C+00 0/1 0/0 0/0 .data @4106 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4106[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cutFindMonkey__12daNpc_Maro_cFi, -}; -#pragma pop - -/* 805654A4-805654B0 -00001 000C+00 0/1 0/0 0/0 .data @4107 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4107[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cutGiveMeWoodSwd__12daNpc_Maro_cFi, -}; -#pragma pop - -/* 805654B0-805654BC -00001 000C+00 0/1 0/0 0/0 .data @4108 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4108[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cutGetWoodSwd__12daNpc_Maro_cFi, -}; -#pragma pop - -/* 805654BC-805654C8 -00001 000C+00 0/1 0/0 0/0 .data @4109 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4109[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cutConversationWithMaro__12daNpc_Maro_cFi, -}; -#pragma pop - -/* 805654C8-805654D4 -00001 000C+00 0/1 0/0 0/0 .data @4110 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4110[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cutCacaricoConversation__12daNpc_Maro_cFi, -}; -#pragma pop - -/* 805654D4-805654E0 -00001 000C+00 0/1 0/0 0/0 .data @4111 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4111[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cutSurprise__12daNpc_Maro_cFi, -}; -#pragma pop - -/* 805654E0-805654EC -00001 000C+00 0/1 0/0 0/0 .data @4112 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4112[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cutArrowTutorial__12daNpc_Maro_cFi, -}; -#pragma pop - -/* 805654EC-805654F8 -00001 000C+00 0/1 0/0 0/0 .data @4113 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4113[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cutBokinTalk__12daNpc_Maro_cFi, -}; -#pragma pop - -/* 805654F8-80565504 -00001 000C+00 0/1 0/0 0/0 .data @4114 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4114[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cutMarosWhisper__12daNpc_Maro_cFi, -}; -#pragma pop - -/* 80565504-80565510 -00001 000C+00 0/1 0/0 0/0 .data @4115 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4115[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cutTagPush1__12daNpc_Maro_cFi, -}; -#pragma pop - -/* 80565510-8056551C -00001 000C+00 0/1 0/0 0/0 .data @4116 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4116[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cutNotGonnaLet__12daNpc_Maro_cFi, -}; -#pragma pop - -/* 8056551C-80565528 -00001 000C+00 0/1 0/0 0/0 .data @4117 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4117[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cutTalkToKakashi__12daNpc_Maro_cFi, -}; -#pragma pop - /* 80565528-805655F4 000598 00CC+00 1/2 0/0 0/0 .data mCutList__12daNpc_Maro_c */ -SECTION_DATA u8 daNpc_Maro_c::mCutList[204] = { - 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, 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, 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, -}; - -/* 805655F4-80565634 -00001 0040+00 1/1 0/0 0/0 .data @4874 */ -SECTION_DATA static void* lit_4874[16] = { - (void*)(((char*)getType__12daNpc_Maro_cFv) + 0x28), - (void*)(((char*)getType__12daNpc_Maro_cFv) + 0x30), - (void*)(((char*)getType__12daNpc_Maro_cFv) + 0x38), - (void*)(((char*)getType__12daNpc_Maro_cFv) + 0x40), - (void*)(((char*)getType__12daNpc_Maro_cFv) + 0x48), - (void*)(((char*)getType__12daNpc_Maro_cFv) + 0x50), - (void*)(((char*)getType__12daNpc_Maro_cFv) + 0x58), - (void*)(((char*)getType__12daNpc_Maro_cFv) + 0x60), - (void*)(((char*)getType__12daNpc_Maro_cFv) + 0x68), - (void*)(((char*)getType__12daNpc_Maro_cFv) + 0x70), - (void*)(((char*)getType__12daNpc_Maro_cFv) + 0x78), - (void*)(((char*)getType__12daNpc_Maro_cFv) + 0x80), - (void*)(((char*)getType__12daNpc_Maro_cFv) + 0x88), - (void*)(((char*)getType__12daNpc_Maro_cFv) + 0x90), - (void*)(((char*)getType__12daNpc_Maro_cFv) + 0x98), - (void*)(((char*)getType__12daNpc_Maro_cFv) + 0xA0), -}; - -/* 80565634-80565674 -00001 0040+00 1/1 0/0 0/0 .data @4915 */ -SECTION_DATA static void* lit_4915[16] = { - (void*)(((char*)isDelete__12daNpc_Maro_cFv) + 0x34), - (void*)(((char*)isDelete__12daNpc_Maro_cFv) + 0x64), - (void*)(((char*)isDelete__12daNpc_Maro_cFv) + 0x78), - (void*)(((char*)isDelete__12daNpc_Maro_cFv) + 0x80), - (void*)(((char*)isDelete__12daNpc_Maro_cFv) + 0x88), - (void*)(((char*)isDelete__12daNpc_Maro_cFv) + 0xB8), - (void*)(((char*)isDelete__12daNpc_Maro_cFv) + 0xE8), - (void*)(((char*)isDelete__12daNpc_Maro_cFv) + 0x118), - (void*)(((char*)isDelete__12daNpc_Maro_cFv) + 0x12C), - (void*)(((char*)isDelete__12daNpc_Maro_cFv) + 0x140), - (void*)(((char*)isDelete__12daNpc_Maro_cFv) + 0x148), - (void*)(((char*)isDelete__12daNpc_Maro_cFv) + 0x154), - (void*)(((char*)isDelete__12daNpc_Maro_cFv) + 0x184), - (void*)(((char*)isDelete__12daNpc_Maro_cFv) + 0x1B4), - (void*)(((char*)isDelete__12daNpc_Maro_cFv) + 0x1BC), - (void*)(((char*)isDelete__12daNpc_Maro_cFv) + 0x1EC), -}; - -/* 80565674-80565680 -00001 000C+00 0/1 0/0 0/0 .data @4995 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4995[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)arrowTutorial__12daNpc_Maro_cFPv, -}; -#pragma pop - -/* 80565680-8056568C -00001 000C+00 0/1 0/0 0/0 .data @5000 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5000[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)swdTutorial__12daNpc_Maro_cFPv, -}; -#pragma pop - -/* 8056568C-80565698 -00001 000C+00 0/1 0/0 0/0 .data @5010 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5010[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)talk_withTaro__12daNpc_Maro_cFPv, -}; -#pragma pop - -/* 80565698-805656A4 -00001 000C+00 1/1 0/0 0/0 .data @5060 */ -SECTION_DATA static void* lit_5060[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)talk__12daNpc_Maro_cFPv, -}; - -/* 805656A4-805656B0 -00001 000C+00 1/1 0/0 0/0 .data @5156 */ -SECTION_DATA static void* lit_5156[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)arrowTutorial__12daNpc_Maro_cFPv, -}; - -/* 805656B0-805656BC -00001 000C+00 1/1 0/0 0/0 .data @5163 */ -SECTION_DATA static void* lit_5163[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)tend__12daNpc_Maro_cFPv, -}; - -/* 805656BC-805656FC -00001 0040+00 1/1 0/0 0/0 .data @5193 */ -SECTION_DATA static void* lit_5193[16] = { - (void*)(((char*)srchActors__12daNpc_Maro_cFv) + 0x38), - (void*)(((char*)srchActors__12daNpc_Maro_cFv) + 0xDC), - (void*)(((char*)srchActors__12daNpc_Maro_cFv) + 0x350), - (void*)(((char*)srchActors__12daNpc_Maro_cFv) + 0x130), - (void*)(((char*)srchActors__12daNpc_Maro_cFv) + 0x350), - (void*)(((char*)srchActors__12daNpc_Maro_cFv) + 0x350), - (void*)(((char*)srchActors__12daNpc_Maro_cFv) + 0x350), - (void*)(((char*)srchActors__12daNpc_Maro_cFv) + 0x15C), - (void*)(((char*)srchActors__12daNpc_Maro_cFv) + 0x15C), - (void*)(((char*)srchActors__12daNpc_Maro_cFv) + 0x350), - (void*)(((char*)srchActors__12daNpc_Maro_cFv) + 0x208), - (void*)(((char*)srchActors__12daNpc_Maro_cFv) + 0x350), - (void*)(((char*)srchActors__12daNpc_Maro_cFv) + 0x234), - (void*)(((char*)srchActors__12daNpc_Maro_cFv) + 0x2B0), - (void*)(((char*)srchActors__12daNpc_Maro_cFv) + 0x350), - (void*)(((char*)srchActors__12daNpc_Maro_cFv) + 0x350), -}; - -/* 805656FC-80565708 -00001 000C+00 0/1 0/0 0/0 .data @5199 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5199[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)shop__12daNpc_Maro_cFPv, -}; -#pragma pop - -/* 80565708-80565714 -00001 000C+00 0/1 0/0 0/0 .data @5204 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5204[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)shop__12daNpc_Maro_cFPv, -}; -#pragma pop - -/* 80565714-80565720 -00001 000C+00 0/1 0/0 0/0 .data @5207 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5207[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)talk__12daNpc_Maro_cFPv, -}; -#pragma pop - -/* 80565720-8056572C -00001 000C+00 0/1 0/0 0/0 .data @5212 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5212[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)talk__12daNpc_Maro_cFPv, -}; -#pragma pop - -/* 8056572C-80565738 -00001 000C+00 0/1 0/0 0/0 .data @5535 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5535[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)tend__12daNpc_Maro_cFPv, -}; -#pragma pop - -/* 80565738-80565744 -00001 000C+00 0/1 0/0 0/0 .data @5537 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5537[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)arrowTutorial__12daNpc_Maro_cFPv, -}; -#pragma pop - -/* 80565744-80565750 -00001 000C+00 0/1 0/0 0/0 .data @5541 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5541[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)swdTutorial__12daNpc_Maro_cFPv, -}; -#pragma pop - -/* 80565750-8056575C -00001 000C+00 0/1 0/0 0/0 .data @5543 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5543[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)wait__12daNpc_Maro_cFPv, -}; -#pragma pop - -/* 8056575C-80565768 -00001 000C+00 0/1 0/0 0/0 .data @5545 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5545[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)wait__12daNpc_Maro_cFPv, -}; -#pragma pop - -/* 80565768-80565798 -00001 0030+00 1/1 0/0 0/0 .data @6228 */ -SECTION_DATA static void* lit_6228[12] = { - (void*)(((char*)cutGetWoodSwd__12daNpc_Maro_cFi) + 0x368), - (void*)(((char*)cutGetWoodSwd__12daNpc_Maro_cFi) + 0x3A8), - (void*)(((char*)cutGetWoodSwd__12daNpc_Maro_cFi) + 0x448), - (void*)(((char*)cutGetWoodSwd__12daNpc_Maro_cFi) + 0x448), - (void*)(((char*)cutGetWoodSwd__12daNpc_Maro_cFi) + 0x4E8), - (void*)(((char*)cutGetWoodSwd__12daNpc_Maro_cFi) + 0x7A4), - (void*)(((char*)cutGetWoodSwd__12daNpc_Maro_cFi) + 0x7F8), - (void*)(((char*)cutGetWoodSwd__12daNpc_Maro_cFi) + 0x7F8), - (void*)(((char*)cutGetWoodSwd__12daNpc_Maro_cFi) + 0x7F8), - (void*)(((char*)cutGetWoodSwd__12daNpc_Maro_cFi) + 0x7F8), - (void*)(((char*)cutGetWoodSwd__12daNpc_Maro_cFi) + 0x7E0), - (void*)(((char*)cutGetWoodSwd__12daNpc_Maro_cFi) + 0x7E0), -}; - -/* 80565798-805657C8 -00001 0030+00 1/1 0/0 0/0 .data @6227 */ -SECTION_DATA static void* lit_6227[12] = { - (void*)(((char*)cutGetWoodSwd__12daNpc_Maro_cFi) + 0xB8), - (void*)(((char*)cutGetWoodSwd__12daNpc_Maro_cFi) + 0x114), - (void*)(((char*)cutGetWoodSwd__12daNpc_Maro_cFi) + 0x1BC), - (void*)(((char*)cutGetWoodSwd__12daNpc_Maro_cFi) + 0x1C8), - (void*)(((char*)cutGetWoodSwd__12daNpc_Maro_cFi) + 0x268), - (void*)(((char*)cutGetWoodSwd__12daNpc_Maro_cFi) + 0x2C8), - (void*)(((char*)cutGetWoodSwd__12daNpc_Maro_cFi) + 0x348), - (void*)(((char*)cutGetWoodSwd__12daNpc_Maro_cFi) + 0x348), - (void*)(((char*)cutGetWoodSwd__12daNpc_Maro_cFi) + 0x348), - (void*)(((char*)cutGetWoodSwd__12daNpc_Maro_cFi) + 0x348), - (void*)(((char*)cutGetWoodSwd__12daNpc_Maro_cFi) + 0x348), - (void*)(((char*)cutGetWoodSwd__12daNpc_Maro_cFi) + 0x340), -}; - -/* 805657C8-80565940 -00001 0178+00 1/1 0/0 0/0 .data @7029 */ -SECTION_DATA static void* lit_7029[94] = { - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB7C), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB98), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xC58), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xD7C), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xC58), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xC58), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xD98), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x14B0), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x1530), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xDCC), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xE0C), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xE14), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xE2C), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB98), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xE60), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xEF4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x154C), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x15E0), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xEFC), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xF30), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xFB0), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xFB0), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x15E8), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x107C), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x1530), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x10C0), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x10C8), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x10C8), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x10C8), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16B0), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x12F8), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x1300), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x1334), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x13A0), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x1468), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x16D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x14A8), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xE60), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xFB0), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB7C), -}; - -/* 80565940-80565AB8 -00001 0178+00 1/1 0/0 0/0 .data @7028 */ -SECTION_DATA static void* lit_7028[94] = { - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x19C), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x1CC), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x1D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x1EC), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x1D4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x234), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x9D8), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x9E8), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x27C), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x2EC), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x3A8), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x3B0), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x44C), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x4DC), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x51C), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xA94), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xAD4), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x564), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x604), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB1C), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x618), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x664), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x700), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB34), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x714), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x72C), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x740), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x7C8), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x7DC), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0x938), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), - (void*)(((char*)cutArrowTutorial__12daNpc_Maro_cFi) + 0xB44), -}; - -/* 80565AB8-80565B38 -00001 0080+00 1/1 0/0 0/0 .data @7426 */ -SECTION_DATA static void* lit_7426[32] = { - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x5BC), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x5D8), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x5E0), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x698), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x698), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x6C4), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x6C4), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x6C4), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x6C4), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x6C4), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x6C4), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x6C4), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x6C4), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x6C4), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x6C4), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x6C4), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x6C4), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x6C4), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x6C4), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x6C4), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x698), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x698), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x6C4), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x6C4), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x6C4), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x6C4), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x6C4), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x6C4), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x6C4), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x6C4), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x6A0), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x6BC), -}; - -/* 80565B38-80565BB8 -00001 0080+00 1/1 0/0 0/0 .data @7425 */ -SECTION_DATA static void* lit_7425[32] = { - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x90), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0xA4), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x1DC), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x59C), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x218), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x59C), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x59C), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x59C), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x59C), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x59C), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x59C), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x59C), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x59C), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x59C), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x59C), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x59C), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x59C), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x59C), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x59C), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x59C), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x2EC), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x424), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x59C), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x59C), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x59C), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x59C), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x59C), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x59C), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x59C), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x59C), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x59C), - (void*)(((char*)cutNotGonnaLet__12daNpc_Maro_cFi) + 0x4E0), -}; - -/* 80565BB8-80565BD8 -00001 0020+00 1/0 0/0 0/0 .data daNpc_Maro_MethodTable */ -static actor_method_class daNpc_Maro_MethodTable = { - (process_method_func)daNpc_Maro_Create__FPv, - (process_method_func)daNpc_Maro_Delete__FPv, - (process_method_func)daNpc_Maro_Execute__FPv, - (process_method_func)daNpc_Maro_IsDelete__FPv, - (process_method_func)daNpc_Maro_Draw__FPv, -}; - -/* 80565BD8-80565C08 -00001 0030+00 0/0 0/0 1/0 .data g_profile_NPC_MARO */ -extern actor_process_profile_definition g_profile_NPC_MARO = { - fpcLy_CURRENT_e, // mLayerID - 7, // mListID - fpcPi_CURRENT_e, // mListPrio - PROC_NPC_MARO, // mProcName - &g_fpcLf_Method.base, // sub_method - sizeof(daNpc_Maro_c), // mSize - 0, // mSizeOther - 0, // mParameters - &g_fopAc_Method.base, // sub_method - 353, // mPriority - &daNpc_Maro_MethodTable, // sub_method - 0x00040107, // mStatus - fopAc_NPC_e, // mActorType - fopAc_CULLBOX_CUSTOM_e, // cullType -}; - -/* 80565C08-80565C14 000C78 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, -}; - -/* 80565C14-80565C20 000C84 000C+00 2/2 0/0 0/0 .data __vt__12J3DFrameCtrl */ -SECTION_DATA extern void* __vt__12J3DFrameCtrl[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12J3DFrameCtrlFv, -}; - -/* 80565C20-80565C44 000C90 0024+00 2/2 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_80564A00, - (void*)NULL, - (void*)NULL, - (void*)func_805649F8, -}; - -/* 80565C44-80565C50 000CB4 000C+00 1/1 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, -}; - -/* 80565C50-80565C5C 000CC0 000C+00 2/2 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, -}; - -/* 80565C5C-80565C68 000CCC 000C+00 1/1 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, -}; - -/* 80565C68-80565C74 000CD8 000C+00 2/2 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, -}; - -/* 80565C74-80565C80 000CE4 000C+00 2/2 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, -}; - -/* 80565C80-80565C8C 000CF0 000C+00 4/4 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, -}; - -/* 80565C8C-80565C98 000CFC 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, -}; - -/* 80565C98-80565CA4 000D08 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, -}; - -/* 80565CA4-80565D74 000D14 00D0+00 2/2 0/0 0/0 .data __vt__12daNpc_Maro_c */ -SECTION_DATA extern void* __vt__12daNpc_Maro_c[52] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12daNpc_Maro_cFv, - (void*)ctrlBtk__8daNpcT_cFv, - (void*)ctrlSubFaceMotion__8daNpcT_cFi, - (void*)checkChangeJoint__12daNpc_Maro_cFi, - (void*)checkRemoveJoint__12daNpc_Maro_cFi, - (void*)getBackboneJointNo__12daNpc_Maro_cFv, - (void*)getNeckJointNo__12daNpc_Maro_cFv, - (void*)getHeadJointNo__12daNpc_Maro_cFv, - (void*)getFootLJointNo__8daNpcT_cFv, - (void*)getFootRJointNo__8daNpcT_cFv, - (void*)getEyeballLMaterialNo__8daNpcT_cFv, - (void*)getEyeballRMaterialNo__8daNpcT_cFv, - (void*)getEyeballMaterialNo__12daNpc_Maro_cFv, - (void*)ctrlJoint__8daNpcT_cFP8J3DJointP8J3DModel, - (void*)afterJntAnm__12daNpc_Maro_cFi, - (void*)setParam__12daNpc_Maro_cFv, - (void*)checkChangeEvt__12daNpc_Maro_cFv, - (void*)evtTalk__12daNpc_Maro_cFv, - (void*)evtEndProc__12daNpc_Maro_cFv, - (void*)evtCutProc__12daNpc_Maro_cFv, - (void*)setAfterTalkMotion__12daNpc_Maro_cFv, - (void*)evtProc__8daNpcT_cFv, - (void*)action__12daNpc_Maro_cFv, - (void*)beforeMove__12daNpc_Maro_cFv, - (void*)afterMoved__8daNpcT_cFv, - (void*)setAttnPos__12daNpc_Maro_cFv, - (void*)setFootPos__8daNpcT_cFv, - (void*)setCollision__12daNpc_Maro_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__12daNpc_Maro_cFv, - (void*)drawOtherMdl__12daNpc_Maro_cFv, - (void*)drawGhost__8daNpcT_cFv, - (void*)afterSetFaceMotionAnm__8daNpcT_cFiifi, - (void*)afterSetMotionAnm__8daNpcT_cFiifi, - (void*)getFaceMotionAnm__12daNpc_Maro_cF26daNpcT_faceMotionAnmData_c, - (void*)getMotionAnm__12daNpc_Maro_cF22daNpcT_motionAnmData_c, - (void*)changeAnm__8daNpcT_cFPiPi, - (void*)changeBck__8daNpcT_cFPiPi, - (void*)changeBtp__8daNpcT_cFPiPi, - (void*)changeBtk__8daNpcT_cFPiPi, - (void*)setMotionAnm__8daNpcT_cFifi, - (void*)getResName2__13dShopSystem_cFi, - (void*)beforeStartSeqAction__13dShopSystem_cFP10dMsgFlow_ci, - (void*)beforeSelectSeqAction__13dShopSystem_cFP10dMsgFlow_ci, +daNpc_Maro_c::cutFunc daNpc_Maro_c::mCutList[17] = { + NULL, + &daNpc_Maro_c::cutConversationAboutPachinko, + &daNpc_Maro_c::cutConversationAboutWoodSwd, + &daNpc_Maro_c::cutSwdTutorial, + &daNpc_Maro_c::cutHail, + &daNpc_Maro_c::cutFindMonkey, + &daNpc_Maro_c::cutGiveMeWoodSwd, + &daNpc_Maro_c::cutGetWoodSwd, + &daNpc_Maro_c::cutConversationWithMaro, + &daNpc_Maro_c::cutCacaricoConversation, + &daNpc_Maro_c::cutSurprise, + &daNpc_Maro_c::cutArrowTutorial, + &daNpc_Maro_c::cutBokinTalk, + &daNpc_Maro_c::cutMarosWhisper, + &daNpc_Maro_c::cutTagPush1, + &daNpc_Maro_c::cutNotGonnaLet, + &daNpc_Maro_c::cutTalkToKakashi, }; /* 8055B58C-8055B6E0 0000EC 0154+00 1/0 0/0 0/0 .text __dt__12daNpc_Maro_cFv */ daNpc_Maro_c::~daNpc_Maro_c() { - // NONMATCHING + deleteObject(); + if (field_0x10bc != 0xFFFFFFFF) { + dComIfG_TimerDeleteRequest(0); + } + + if (mpMorf[0] != 0) { + mpMorf[0]->stopZelAnime(); + } + + deleteRes(l_loadResPtrnList[mType], (char const**)l_resNameList); } /* ############################################################################################## */ /* 80564BAC-80564C3C 000000 0090+00 15/15 0/0 0/0 .rodata m__18daNpc_Maro_Param_c */ -SECTION_RODATA u8 const daNpc_Maro_Param_c::m[144] = { - 0x42, 0xC8, 0x00, 0x00, 0xC0, 0x40, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x43, 0xC8, 0x00, 0x00, - 0x43, 0x7F, 0x00, 0x00, 0x42, 0xA0, 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, 0x41, 0xF0, 0x00, 0x00, 0xC1, 0xF0, 0x00, 0x00, - 0x3F, 0x19, 0x99, 0x9A, 0x41, 0x40, 0x00, 0x00, 0x00, 0x03, 0x00, 0x06, 0x00, 0x05, 0x00, 0x06, - 0x42, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x3C, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0x00, 0x00, - 0xC1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x70, 0x00, 0x00, 0x41, 0x70, 0x00, 0x00, - 0x41, 0xF0, 0x00, 0x00, 0x41, 0x70, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, +daNpc_Maro_Param_c::Data const daNpc_Maro_Param_c::m = { + 100.0f, + -3.0f, + 1.0f, + 400.0f, + /* 0x10 */ 255.0f, + 80.0f, + 35.0f, + 30.0f, + /* 0x20 */ 0.0f, + 0.0f, + 10.0f, + -10.0f, + /* 0x30 */ 30.0f, + -10.0f, + 30.0f, + -30.0f, + /* 0x40 */ 0.6f, + 12.0f, + 3, 6, + 5, 6, + 110.0f, + 0x00000000, + 0x00000000, + 0x00000000, + 0x003C0008, + 0x00000000, + 0x00000000, + 4.0f, + -15.0f, + 0.0f, + -15.0f, + 15.0f, + 30.0f, + 15.0f, + 30.0f, + 0x00780000, }; -COMPILER_STRIP_GATE(0x80564BAC, &daNpc_Maro_Param_c::m); - -/* 80564C3C-80564C80 000090 0044+00 0/1 0/0 0/0 .rodata heapSize$4152 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const heapSize[68] = { - 0x00, 0x00, 0x33, 0x10, 0x00, 0x00, 0x33, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x32, 0x60, 0x00, 0x00, 0x33, 0x20, 0x00, 0x00, 0x33, 0x20, 0x00, 0x00, 0x33, 0x20, - 0x00, 0x00, 0x33, 0x10, 0x00, 0x00, 0x33, 0x10, 0x00, 0x00, 0x33, 0x20, 0x00, 0x00, - 0x33, 0x10, 0x00, 0x00, 0x33, 0x10, 0x00, 0x00, 0x33, 0x10, 0x00, 0x00, 0x33, 0x10, - 0x00, 0x00, 0x33, 0x10, 0x00, 0x00, 0x33, 0x10, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80564C3C, &heapSize); -#pragma pop - -/* 80564C80-80564C84 0000D4 0004+00 0/1 0/0 0/0 .rodata @4222 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4222 = -200.0f; -COMPILER_STRIP_GATE(0x80564C80, &lit_4222); -#pragma pop - -/* 80564C84-80564C88 0000D8 0004+00 0/1 0/0 0/0 .rodata @4223 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4223 = -100.0f; -COMPILER_STRIP_GATE(0x80564C84, &lit_4223); -#pragma pop - -/* 80564C88-80564C8C 0000DC 0004+00 0/1 0/0 0/0 .rodata @4224 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4224 = 200.0f; -COMPILER_STRIP_GATE(0x80564C88, &lit_4224); -#pragma pop - -/* 80564C8C-80564C90 0000E0 0004+00 0/1 0/0 0/0 .rodata @4225 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4225 = 300.0f; -COMPILER_STRIP_GATE(0x80564C8C, &lit_4225); -#pragma pop - -/* 80564C90-80564C94 0000E4 0004+00 0/1 0/0 0/0 .rodata @4226 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4226 = -1000000000.0f; -COMPILER_STRIP_GATE(0x80564C90, &lit_4226); -#pragma pop /* 8055B6E0-8055B9A8 000240 02C8+00 1/1 0/0 0/0 .text create__12daNpc_Maro_cFv */ -void daNpc_Maro_c::create() { - // NONMATCHING +int daNpc_Maro_c::create() { + static int const heapSize[17] = { + 0x3310, 0x3310, 0, 0x3260, + 0x3320, 0x3320, 0x3320, 0x3310, + 0x3310, 0x3320, 0x3310, 0x3310, + 0x3310, 0x3310, 0x3310, 0x3310, + 0, + }; + fopAcM_SetupActor2(this, daNpc_Maro_c, l_faceMotionAnmData, l_motionAnmData, + l_faceMotionSequenceData, 4, l_motionSequenceData, 4, + l_evtList, l_resNameList + ); + mType = getType(); + mFlowNodeNo = getFlowNodeNo(); + mTwilight = dKy_darkworld_check(); + if (mType == 9) { + mTwilight = 0; + } + + int rv = loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); + if (rv == 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); + 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_Maro_Param_c::m.field_0x10, 0, this); + mCyl1.Set(mCcDCyl); + mCyl1.SetStts(&mCcStts); + mCyl1.SetTgHitCallback(tgHitCallBack); + mAcch.CrrPos(dComIfG_Bgsp()); + mGndChk = mAcch.m_gnd; + mGroundH = mAcch.GetGroundH(); + if (mGroundH != -1000000000.0f) { + setEnvTevColor(); + setRoomNo(); + } + + mCreating = 1; + Execute(); + mCreating = 0; + } + + return rv; } -/* ############################################################################################## */ -/* 80564C94-80564C98 0000E8 0004+00 0/1 0/0 0/0 .rodata @4315 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4315 = 0.25f; -COMPILER_STRIP_GATE(0x80564C94, &lit_4315); -#pragma pop - -/* 80564C98-80564C9C 0000EC 0004+00 0/1 0/0 0/0 .rodata @4316 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4316 = 20.0f; -COMPILER_STRIP_GATE(0x80564C98, &lit_4316); -#pragma pop - -/* 80564C9C-80564CA0 0000F0 0004+00 0/1 0/0 0/0 .rodata @4317 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4317 = 5.0f; -COMPILER_STRIP_GATE(0x80564C9C, &lit_4317); -#pragma pop - -/* 80564CA0-80564CA4 0000F4 0004+00 23/33 0/0 0/0 .rodata @4318 */ -SECTION_RODATA static u8 const lit_4318[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80564CA0, &lit_4318); - -/* 80564CA4-80564CA8 0000F8 0004+00 1/2 0/0 0/0 .rodata @4319 */ -SECTION_RODATA static f32 const lit_4319 = 100.0f; -COMPILER_STRIP_GATE(0x80564CA4, &lit_4319); - -/* 80564CA8-80564CAC 0000FC 0004+00 0/1 0/0 0/0 .rodata @4320 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4320 = 60.0f; -COMPILER_STRIP_GATE(0x80564CA8, &lit_4320); -#pragma pop - -/* 80564CAC-80564CB0 000100 0004+00 0/2 0/0 0/0 .rodata @4541 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4541 = 65536.0f; -COMPILER_STRIP_GATE(0x80564CAC, &lit_4541); -#pragma pop - -/* 80564CB0-80564CB4 000104 0004+00 0/3 0/0 0/0 .rodata @4542 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4542 = 1.0f / 5.0f; -COMPILER_STRIP_GATE(0x80564CB0, &lit_4542); -#pragma pop - -/* 80564CB4-80564CB8 000108 0004+00 2/4 0/0 0/0 .rodata @4688 */ -SECTION_RODATA static f32 const lit_4688 = 1.0f; -COMPILER_STRIP_GATE(0x80564CB4, &lit_4688); - /* 8055B9A8-8055BC2C 000508 0284+00 1/1 0/0 0/0 .text CreateHeap__12daNpc_Maro_cFv */ -void daNpc_Maro_c::CreateHeap() { - // NONMATCHING -} +int daNpc_Maro_c::CreateHeap() { + int bmd_get_idx; + if (mTwilight == 1) { + bmd_get_idx = 1; + } else { + bmd_get_idx = 0; + } -/* 8055BC2C-8055BC68 00078C 003C+00 1/1 0/0 0/0 .text __dt__15J3DTevKColorAnmFv */ -// J3DTevKColorAnm::~J3DTevKColorAnm() { -extern "C" void __dt__15J3DTevKColorAnmFv() { - // NONMATCHING -} + J3DModelData* modelData = static_cast(dComIfG_getObjectRes( + l_resNameList[l_bmdData[bmd_get_idx][1]], l_bmdData[bmd_get_idx][0])); + if (modelData == NULL) { + return 0; + } -/* 8055BC68-8055BC80 0007C8 0018+00 1/1 0/0 0/0 .text __ct__15J3DTevKColorAnmFv */ -// J3DTevKColorAnm::J3DTevKColorAnm() { -extern "C" void __ct__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; + } -/* 8055BC80-8055BCBC 0007E0 003C+00 1/1 0/0 0/0 .text __dt__14J3DTevColorAnmFv */ -// J3DTevColorAnm::~J3DTevColorAnm() { -extern "C" void __dt__14J3DTevColorAnmFv() { - // NONMATCHING -} + J3DModel* model = mpMorf[0]->getModel(); + for (u16 i = 0; i < modelData->getJointNum(); i++) { + modelData->getJointNodePointer(i)->setCallBack(ctrlJointCallBack); + } -/* 8055BCBC-8055BCD4 00081C 0018+00 1/1 0/0 0/0 .text __ct__14J3DTevColorAnmFv */ -// J3DTevColorAnm::J3DTevColorAnm() { -extern "C" void __ct__14J3DTevColorAnmFv() { - // NONMATCHING -} + model->setUserArea((u32)this); + mpMatAnm[0] = new daNpcT_MatAnm_c(); + if (mpMatAnm[0] == NULL) { + return 0; + } -/* 8055BCD4-8055BD1C 000834 0048+00 1/1 0/0 0/0 .text __dt__11J3DTexNoAnmFv */ -// J3DTexNoAnm::~J3DTexNoAnm() { -extern "C" void __dt__11J3DTexNoAnmFv() { - // NONMATCHING -} + if (setFaceMotionAnm(1, false) && setMotionAnm(0, 0.0f, 0)) { + return 1; + } -/* 8055BD1C-8055BD40 00087C 0024+00 1/1 0/0 0/0 .text __ct__11J3DTexNoAnmFv */ -// J3DTexNoAnm::J3DTexNoAnm() { -extern "C" void __ct__11J3DTexNoAnmFv() { - // NONMATCHING -} - -/* 8055BD40-8055BD7C 0008A0 003C+00 1/1 0/0 0/0 .text __dt__12J3DTexMtxAnmFv */ -// J3DTexMtxAnm::~J3DTexMtxAnm() { -extern "C" void __dt__12J3DTexMtxAnmFv() { - // NONMATCHING -} - -/* 8055BD7C-8055BD94 0008DC 0018+00 1/1 0/0 0/0 .text __ct__12J3DTexMtxAnmFv */ -// J3DTexMtxAnm::J3DTexMtxAnm() { -extern "C" void __ct__12J3DTexMtxAnmFv() { - // NONMATCHING -} - -/* 8055BD94-8055BDD0 0008F4 003C+00 1/1 0/0 0/0 .text __dt__14J3DMatColorAnmFv */ -// J3DMatColorAnm::~J3DMatColorAnm() { -extern "C" void __dt__14J3DMatColorAnmFv() { - // NONMATCHING -} - -/* 8055BDD0-8055BDE8 000930 0018+00 1/1 0/0 0/0 .text __ct__14J3DMatColorAnmFv */ -// J3DMatColorAnm::J3DMatColorAnm() { -extern "C" void __ct__14J3DMatColorAnmFv() { - // NONMATCHING + return 0; } /* 8055BDE8-8055BE1C 000948 0034+00 1/1 0/0 0/0 .text Delete__12daNpc_Maro_cFv */ -void daNpc_Maro_c::Delete() { - // NONMATCHING +int daNpc_Maro_c::Delete() { + fopAcM_GetID(this); + this->~daNpc_Maro_c(); + return 1; } /* 8055BE1C-8055BF0C 00097C 00F0+00 2/2 0/0 0/0 .text Execute__12daNpc_Maro_cFv */ -void daNpc_Maro_c::Execute() { - // NONMATCHING +int daNpc_Maro_c::Execute() { + if (!mCreating && !checkShopOpen() && mActorMngr[5].getActorP() != NULL && mType == 7 && !field_0x1131) { + initShopSystem(); + setSellItemMax(getMaxNumItem()); + field_0xf60 = -1; + setMasterType(2); + mShopCamAction.setCamDataIdx(NULL); + mShopCamAction.setCamAction(NULL); + field_0x1131 = 1; + } + + daNpcT_c::execute(); + if (field_0x1131 && searchItemActor()) { + mShopCamAction.move(); + } + + return 1; } /* 8055BF0C-8055BFA0 000A6C 0094+00 1/1 0/0 0/0 .text Draw__12daNpc_Maro_cFv */ -void daNpc_Maro_c::Draw() { - // NONMATCHING +int daNpc_Maro_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); } /* 8055BFA0-8055BFC0 000B00 0020+00 1/1 0/0 0/0 .text * createHeapCallBack__12daNpc_Maro_cFP10fopAc_ac_c */ -void daNpc_Maro_c::createHeapCallBack(fopAc_ac_c* param_0) { - // NONMATCHING +int daNpc_Maro_c::createHeapCallBack(fopAc_ac_c* i_this) { + return static_cast(i_this)->CreateHeap(); } /* 8055BFC0-8055C018 000B20 0058+00 1/1 0/0 0/0 .text * ctrlJointCallBack__12daNpc_Maro_cFP8J3DJointi */ -void daNpc_Maro_c::ctrlJointCallBack(J3DJoint* param_0, int param_1) { - // NONMATCHING +int daNpc_Maro_c::ctrlJointCallBack(J3DJoint* param_0, int param_1) { + if (param_1 == 0) { + J3DModel* model = j3dSys.getModel(); + daNpc_Maro_c* i_this = reinterpret_cast(model->getUserArea()); + if (i_this != 0) { + i_this->ctrlJoint(param_0, model); + } + } + + return 1; } /* 8055C018-8055C0B4 000B78 009C+00 1/1 0/0 0/0 .text srchArrow__12daNpc_Maro_cFPvPv */ -void daNpc_Maro_c::srchArrow(void* param_0, void* param_1) { - // NONMATCHING +void* daNpc_Maro_c::srchArrow(void* param_1, void* param_2) { + if (mFindCount < 50 && param_1 != NULL && param_1 != param_2) { + if (fopAcM_IsExecuting(fopAcM_GetID(param_1)) && fopAcM_GetName(param_1) == PROC_ARROW) { + mFindActorPtrs[mFindCount] = (fopAc_ac_c*)param_1; + mFindCount++; + } + } + return NULL; } -/* ############################################################################################## */ -/* 80564CB8-80564CBC 00010C 0004+00 2/2 0/0 0/0 .rodata @4808 */ -SECTION_RODATA static f32 const lit_4808 = 1000000000.0f; -COMPILER_STRIP_GATE(0x80564CB8, &lit_4808); - /* 8055C0B4-8055C1AC 000C14 00F8+00 1/1 0/0 0/0 .text getArrowP__12daNpc_Maro_cFv */ -void daNpc_Maro_c::getArrowP() { - // NONMATCHING +fopAc_ac_c* daNpc_Maro_c::getArrowP() { + fopAc_ac_c* pActor = NULL; + f32 minDist = 1e9f; + mFindCount = 0; + fopAcM_Search(srchArrow, this); + for (int i = 0; i < mFindCount; i++) { + if (cM3d_IsZero(mFindActorPtrs[i]->speedF) == false && + fopAcM_searchActorDistance(this, mFindActorPtrs[i]) < minDist) + { + minDist = fopAcM_searchActorDistance(this, mFindActorPtrs[i]); + pActor = mFindActorPtrs[i]; + } + } + return pActor; } /* 8055C1AC-8055C248 000D0C 009C+00 1/1 0/0 0/0 .text srchItaMato__12daNpc_Maro_cFPvPv */ -void daNpc_Maro_c::srchItaMato(void* param_0, void* param_1) { - // NONMATCHING +void* daNpc_Maro_c::srchItaMato(void* arg0, void* arg1) { + fopAc_ac_c* fop1 = (fopAc_ac_c*) arg1; + if (mFindCount < 50 && arg0 != NULL && arg0 != fop1) { + if (fopAcM_IsExecuting(fopAcM_GetID(arg0)) && fopAcM_GetName(arg0) == PROC_OBJ_ITAMATO) { + mFindActorPtrs[mFindCount] = (fopAc_ac_c*)arg0; + mFindCount++; + } + } + return NULL; } /* 8055C248-8055C330 000DA8 00E8+00 1/1 0/0 0/0 .text getItaMatoP__12daNpc_Maro_cFi */ -void daNpc_Maro_c::getItaMatoP(int param_0) { - // NONMATCHING +fopAc_ac_c* daNpc_Maro_c::getItaMatoP(int param_0) { + fopAc_ac_c* pActor = NULL; + f32 minDist = 1e9f; + mFindCount = 0; + fopAcM_Search(srchItaMato, this); + for (int i = 0; i < mFindCount; i++) { + if ( ((daObj_ItaMato_c*) mFindActorPtrs[i])->getNo() != param_0 ) { + continue; + } + + if (fopAcM_searchActorDistance(this, mFindActorPtrs[i]) < minDist) + { + minDist = fopAcM_searchActorDistance(this, mFindActorPtrs[i]); + pActor = mFindActorPtrs[i]; + } + } + + return pActor; } /* 8055C330-8055C3E0 000E90 00B0+00 2/1 0/0 0/0 .text getType__12daNpc_Maro_cFv */ -void daNpc_Maro_c::getType() { - // NONMATCHING +u8 daNpc_Maro_c::getType() { + u8 param = fopAcM_GetParam(this) & 0xFF; + switch (param) { + case 0: + return TYPE_0; + case 1: + return TYPE_1; + case 2: + return TYPE_2; + case 3: + return TYPE_3; + case 4: + return TYPE_4; + case 5: + return TYPE_5; + case 6: + return TYPE_6; + case 7: + return TYPE_7; + case 8: + return TYPE_8; + case 9: + return TYPE_9; + case 0xA: + return TYPE_10; + case 0xB: + return TYPE_11; + case 0xC: + return TYPE_12; + case 0xD: + return TYPE_13; + case 0xE: + return TYPE_14; + case 0xF: + return TYPE_15; + default: + return TYPE_16; + } } /* 8055C3E0-8055C614 000F40 0234+00 2/1 0/0 0/0 .text isDelete__12daNpc_Maro_cFv */ -void daNpc_Maro_c::isDelete() { - // NONMATCHING +int daNpc_Maro_c::isDelete() { + switch (mType) { + case 0: { + return (!daNpcT_chkEvtBit(0x12) || daNpcT_chkEvtBit(0x1F)); + } + + case 1: { + return !daNpcT_chkEvtBit(0x12); + } + + case 2: { + return true; + } + + case 3: { + return false; + } + + case 4: { + return (!daNpcT_chkEvtBit(0x3D) || daNpcT_chkEvtBit(0xA4)); + } + + case 5: { + return (!daNpcT_chkEvtBit(0xA4) || daNpcT_chkEvtBit(0x35)); + } + + case 6: { + return (!daNpcT_chkEvtBit(0x35) || daNpcT_chkEvtBit(0x55)); + } + + case 7: { + return !daNpcT_chkEvtBit(0x55); + } + + case 8: { + return !daNpcT_chkEvtBit(0x40); + } + + case 9: { + return false; + } + + case 0xA: { + return daNpcT_chkEvtBit(0x13); + } + + case 0xB: { + return (!daNpcT_chkEvtBit(0x13) || daNpcT_chkEvtBit(0x12)); + } + + case 0xC: { + return (!daNpcT_chkEvtBit(0x12) || daNpcT_chkEvtBit(0x25C)); + } + + case 0xD: { + return false; + } + + case 0xE: { + return (!daNpcT_chkEvtBit(0x25C) || daNpcT_chkEvtBit(0x80)); + } + + case 0xF: { + return (!daNpcT_chkEvtBit(0x80) || daNpcT_chkEvtBit(0x235)); + } + + default: { + return false; + } + } } /* 8055C614-8055C834 001174 0220+00 1/1 0/0 0/0 .text reset__12daNpc_Maro_cFv */ void daNpc_Maro_c::reset() { - // NONMATCHING + csXyz acStack_20; + int iVar1 = (u8*)&field_0x113C - (u8*)&field_0x110c; + if (mpMatAnm[0] != NULL) { + mpMatAnm[0]->initialize(); + } + + initialize(); + for (int i = 0; i < 9; i++) { + mActorMngr[i].initialize(); + } + + memset(&field_0x110c, 0, iVar1); + acStack_20.setall(0); + acStack_20.y = home.angle.y; + switch (mType) { + case 0:{ + eventInfo.setIdx(0); + break; + } + + case 1: { + mHide = !daNpcT_chkEvtBit(0x1F); + eventInfo.setIdx(1); + break; + } + + case 0xB: { + dComIfGs_setTmpReg(0xfbff, 0); + } + + case 0xC: + case 0xD: + case 0xE: + case 0xF: { + break; + } + } + + field_0x10bc = -1; + daNpcT_offTmpBit(0x3C); + daNpcT_offTmpBit(0x3F); + daNpcT_offTmpBit(0x40); + daNpcT_offTmpBit(0x41); + daNpcT_offTmpBit(0x42); + daNpcT_offTmpBit(0x64); + setAngle(acStack_20); } /* 8055C834-8055C8B0 001394 007C+00 1/0 0/0 0/0 .text afterJntAnm__12daNpc_Maro_cFi */ -void daNpc_Maro_c::afterJntAnm(int param_0) { - // NONMATCHING +void daNpc_Maro_c::afterJntAnm(int param_1) { + if (param_1 == 1) { + mDoMtx_stack_c::YrotM(mStagger.getAngleX(1)); + mDoMtx_stack_c::ZrotM(mStagger.getAngleZ(1)); + } else if (param_1 == 4) { + mDoMtx_stack_c::YrotM(mStagger.getAngleX(0)); + mDoMtx_stack_c::ZrotM(mStagger.getAngleZ(0)); + } } -/* ############################################################################################## */ -/* 80564CBC-80564CC0 000110 0004+00 0/1 0/0 0/0 .rodata @5050 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5050 = 210.0f; -COMPILER_STRIP_GATE(0x80564CBC, &lit_5050); -#pragma pop - -/* 80564CC0-80564CC4 000114 0004+00 0/1 0/0 0/0 .rodata @5051 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5051 = 410.0f; -COMPILER_STRIP_GATE(0x80564CC0, &lit_5051); -#pragma pop - -/* 80564CC4-80564CC8 000118 0004+00 0/1 0/0 0/0 .rodata @5052 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5052 = 32.0f; -COMPILER_STRIP_GATE(0x80564CC4, &lit_5052); -#pragma pop - -/* 80564CC8-80564CCC 00011C 0004+00 0/1 0/0 0/0 .rodata @5053 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5053 = 419.0f; -COMPILER_STRIP_GATE(0x80564CC8, &lit_5053); -#pragma pop - /* 8055C8B0-8055CB14 001410 0264+00 1/0 0/0 0/0 .text setParam__12daNpc_Maro_cFv */ void daNpc_Maro_c::setParam() { - // NONMATCHING + if (field_0x1130) { + if (field_0x112c == 2) { + mShopCamAction.Reset(); + } else { + mShopCamAction.EventRecoverNotime(); + } + + field_0x1130 = 0; + } + + selectAction(); + if (&daNpc_Maro_c::arrowTutorial == field_0x110c && field_0x10bc == 0xFFFFFFFF) { + field_0x10bc = dTimer_createTimer(0, 60000, 0, 0, 210.0f, 410.0f, 32.0f, 419.0f); + } + + srchActors(); + u32 uVar7 = 10; + s16 sVar10 = daNpc_Maro_Param_c::m.field_0x48; + s16 sVar9 = daNpc_Maro_Param_c::m.field_0x4a; + s16 sVar8 = daNpc_Maro_Param_c::m.field_0x4c; + s16 sVar7 = daNpc_Maro_Param_c::m.field_0x4e; + if (&daNpc_Maro_c::swdTutorial == field_0x110c) { + sVar10 = 11; + sVar9 = 6; + sVar8 = 15; + sVar7 = 6; + uVar7 = 0; + } else if (mType == 11) { + sVar10 = 7; + sVar8 = 9; + } else if (mType == 6) { + sVar10 = 4; + sVar8 = 6; + } else if (&daNpc_Maro_c::talk_withTaro == field_0x110c) { + sVar10 = 5; + sVar9 = 4; + sVar8 = 7; + sVar7 = 4; + } + + if (field_0x1131) { + sVar10 = 5; + sVar8 = 5; + } + + if (daPy_getPlayerActorClass()->checkHorseRide()) { + if (sVar10 < 7) { + sVar10 = 7; + } + + if (sVar8 < 9) { + sVar8 = 9; + } + } + + attention_info.distances[0] = daNpcT_getDistTableIdx(sVar8, sVar7); + attention_info.distances[1] = attention_info.distances[0]; + attention_info.distances[3] = daNpcT_getDistTableIdx(sVar10, sVar9); + + attention_info.flags = uVar7; + scale.set(daNpc_Maro_Param_c::m.field_0x08, daNpc_Maro_Param_c::m.field_0x08, + daNpc_Maro_Param_c::m.field_0x08); + mCcStts.SetWeight(daNpc_Maro_Param_c::m.field_0x10); + mCylH = daNpc_Maro_Param_c::m.field_0x14; + mWallR = daNpc_Maro_Param_c::m.field_0x1c; + mAttnFovY = daNpc_Maro_Param_c::m.field_0x50; + mAcchCir.SetWallR(mWallR); + mAcchCir.SetWallH(daNpc_Maro_Param_c::m.field_0x18); + field_0xde8 = daNpc_Maro_Param_c::m.field_0x0c; + field_0xa80 = daNpc_Maro_Param_c::m.field_0x6c; + mMorfFrames = daNpc_Maro_Param_c::m.field_0x44; + gravity = daNpc_Maro_Param_c::m.field_0x04; } /* 8055CB14-8055CC9C 001674 0188+00 1/0 0/0 0/0 .text checkChangeEvt__12daNpc_Maro_cFv */ BOOL daNpc_Maro_c::checkChangeEvt() { - // NONMATCHING + if (!chkAction(&daNpc_Maro_c::talk)) { + mPreItemNo = 0; + if (dComIfGp_event_chkTalkXY()) { + if (dComIfGp_evmng_ChkPresentEnd()) { + mEvtNo = 2; + evtChange(); + } + + return true; + } + + switch (mType) { + case TYPE_1: { + if (daNpcT_chkEvtBit(0x269)) { + mEvtNo = 6; + } else { + mEvtNo = 5; + } + + evtChange(); + return true; + } + + case TYPE_2: { + mEvtNo = 14; + evtChange(); + return true; + } + + case TYPE_11: { + if (daNpcT_chkEvtBit(0x266) && checkItemGet(0x3F, 1) && !daNpcT_chkEvtBit(0x22)) { + mEvtNo = 4; + } else { + mEvtNo = 3; + } + + evtChange(); + return true; + } + + case TYPE_0: + case TYPE_3: + case TYPE_4: + case TYPE_5: + case TYPE_6: + case TYPE_7: + case TYPE_8: + case TYPE_9: + case TYPE_10: + case TYPE_12: + case TYPE_13: + case TYPE_14: + case TYPE_15: { + break; + } + } + } + + return false; } /* 8055CC9C-8055CCD8 0017FC 003C+00 1/0 0/0 0/0 .text evtEndProc__12daNpc_Maro_cFv */ BOOL daNpc_Maro_c::evtEndProc() { - // NONMATCHING -} + if (field_0x1138) { + dCam_getBody()->CorrectCenter(); + } -/* ############################################################################################## */ -/* 80564CCC-80564CD0 000120 0004+00 10/14 0/0 0/0 .rodata @5128 */ -SECTION_RODATA static f32 const lit_5128 = -1.0f; -COMPILER_STRIP_GATE(0x80564CCC, &lit_5128); + return 1; +} /* 8055CCD8-8055CD74 001838 009C+00 1/0 0/0 0/0 .text setAfterTalkMotion__12daNpc_Maro_cFv */ void daNpc_Maro_c::setAfterTalkMotion() { - // NONMATCHING + int iVar2 = 9; + switch(mFaceMotionSeqMngr.getNo()) { + case 1: + return; + case 3: + iVar2 = 7; + break; + case 4: + iVar2 = 8; + break; + } + + mFaceMotionSeqMngr.setNo(iVar2, -1.0f, 0, 0); } /* 8055CD74-8055D0D8 0018D4 0364+00 2/1 0/0 0/0 .text srchActors__12daNpc_Maro_cFv */ void daNpc_Maro_c::srchActors() { - // NONMATCHING + switch (mType) { + case TYPE_0: { + if (mActorMngr[0].getActorP() == NULL) { + mActorMngr[0].entry(getNearestActorP(0x241)); + } + + if (mActorMngr[1].getActorP() == NULL) { + mActorMngr[1].entry(getNearestActorP(0x26E)); + } + + if (mActorMngr[2].getActorP() == NULL) { + mActorMngr[2].entry(getNearestActorP(0x245)); + } + + if (mActorMngr[3].getActorP() == NULL) { + mActorMngr[3].entry(getNearestActorP(0x25D)); + } + break; + } + + case TYPE_1: { + if (mActorMngr[0].getActorP() == NULL) { + mActorMngr[0].entry(getNearestActorP(0x241)); + } + + if (mActorMngr[1].getActorP() == NULL) { + mActorMngr[1].entry(getNearestActorP(0x26E)); + } + break; + } + + case TYPE_3: { + if (mActorMngr[8].getActorP() == NULL) { + mActorMngr[8].entry(getNearestActorP(0x250)); + } + + break; + } + + case TYPE_8: + case TYPE_7: { + if (&daNpc_Maro_c::arrowTutorial == field_0x110c) { + if (mActorMngr[1].getActorP() == NULL) { + mActorMngr[1].entry(getNearestActorP(0x26E)); + } + + if (mActorMngr[6].getActorP() == NULL) { + mActorMngr[6].entry(getEvtAreaTagP(11, 0)); + } + } + + if (&daNpc_Maro_c::tend == field_0x110c && mActorMngr[5].getActorP() == NULL) { + mActorMngr[5].entry(getShopItemTagP()); + } + + break; + } + + case TYPE_10: { + if (mActorMngr[2].getActorP() == NULL) { + mActorMngr[2].entry(getNearestActorP(0x245)); + } + + break; + } + + case TYPE_12: { + if (mActorMngr[1].getActorP() == NULL) { + mActorMngr[1].entry(getNearestActorP(0x26E)); + } + + if (mActorMngr[3].getActorP() == NULL) { + mActorMngr[3].entry(getNearestActorP(0x25d)); + } + + if (mActorMngr[7].getActorP() == NULL) { + mActorMngr[7].entry(getNearestActorP(0x264)); + } + break; + } + + case TYPE_13: { + if (mActorMngr[0].getActorP() == NULL) { + mActorMngr[0].entry(getNearestActorP(0x241)); + } + + if (mActorMngr[1].getActorP() == NULL) { + mActorMngr[1].entry(getNearestActorP(0x26E)); + } + + if (mActorMngr[2].getActorP() == NULL) { + mActorMngr[2].entry(getNearestActorP(0x245)); + } + + if (mActorMngr[3].getActorP() == NULL) { + mActorMngr[3].entry(getNearestActorP(0x25D)); + } + break; + } + + case TYPE_4: + case TYPE_5: + case TYPE_6: + case TYPE_9: + case TYPE_11: + case TYPE_14: + case TYPE_15: + case TYPE_2: { + break; + } + } } /* 8055D0D8-8055D1F4 001C38 011C+00 1/0 0/0 0/0 .text evtTalk__12daNpc_Maro_cFv */ BOOL daNpc_Maro_c::evtTalk() { - // NONMATCHING + if (field_0x1131) { + if (chkAction(&daNpc_Maro_c::shop)) { + (this->*(field_0x1118))(NULL); + } else { + mShopCamAction.shop_cam_action_init(); + setAction(&daNpc_Maro_c::shop); + } + } else { + if (chkAction(&daNpc_Maro_c::talk)) { + (this->*(field_0x1118))(NULL); + } else { + setAction(&daNpc_Maro_c::talk); + } + } + return 1; } /* 8055D1F4-8055D368 001D54 0174+00 1/0 0/0 0/0 .text evtCutProc__12daNpc_Maro_cFv */ BOOL daNpc_Maro_c::evtCutProc() { - // NONMATCHING + int staff_id = dComIfGp_getEventManager().getMyStaffId("Maro", this, -1); + if (staff_id != -1) { + if (mStaffId == -1) { + if (0 == strcmp(dComIfGp_getEventManager().getRunEventName(), "BREAK_ARROWTUTORIAL") + || 0 == strcmp(dComIfGp_getEventManager().getRunEventName(), "CONTINUE_ARROWTUTORIAL") + || 0 == strcmp(dComIfGp_getEventManager().getRunEventName(), "END_ARROWTUTORIAL") + || 0 == strcmp(dComIfGp_getEventManager().getRunEventName(), "CLEAR_ARROWTUTORIAL")) { + field_0x1138 = 1; + } + } + + mStaffId = staff_id; + int actIdx = dComIfGp_getEventManager().getMyActIdx(mStaffId, mCutNameList, 17, 0, 0); + if ((this->*(mCutList[actIdx]))(mStaffId) != 0) { + dComIfGp_getEventManager().cutEnd(mStaffId); + } + return 1; + } + + if (field_0x1131) { + mShopCamAction.Save(); + } + + return 0; } /* 8055D368-8055D5C4 001EC8 025C+00 1/0 0/0 0/0 .text action__12daNpc_Maro_cFv */ void daNpc_Maro_c::action() { - // NONMATCHING + fopAc_ac_c* actor_p = NULL; + if (!mTwilight) { + actor_p = hitChk(&mCyl1, -1); + } + + if (actor_p != NULL && mType != 6) { + mStagger.setParam(this, actor_p, mCurAngle.y); + setDamage(0, 9, 0); + mDamageTimerStart = 0; + mJntAnm.lookNone(1); + } + + if (mStagger.checkRebirth()) { + mStagger.initialize(); + mMode = 1; + } + + if (dComIfGp_event_runCheck() == 0) { + field_0x1138 = 0; + if (daNpcT_chkTmpBit(0x3C)) { + if (dComIfGs_getArrowNum() == 0) { + if (field_0x1128 && (cLib_calcTimer(&field_0x1128) == 0 || getArrowP() == NULL)) { + field_0x1128 = 0; + field_0x1137 = 1; + } + } else { + field_0x1128 = 30; + } + } + } + + if (field_0x110c) { + if (field_0x1118 == field_0x110c) { + (this->*(field_0x1118))(NULL); + } else { + setAction(field_0x110c); + } + } + + actor_p = field_0xba0.getActorP(); + if (actor_p != NULL) { + switch (((daTag_Push_c*) actor_p)->getId()) { + case 5: { + mEvtNo = 8; + } + } + } } /* 8055D5C4-8055D688 002124 00C4+00 1/0 0/0 0/0 .text beforeMove__12daNpc_Maro_cFv */ void daNpc_Maro_c::beforeMove() { - // NONMATCHING + fopAcM_OffStatus(this, fopAcM_STATUS_UNK_8000000); + if (checkHide()) { + fopAcM_OnStatus(this, fopAcM_STATUS_UNK_8000000); + } + if (checkHide() || mNoDraw) { + attention_info.flags = 0; + } } -/* ############################################################################################## */ -/* 80564CD0-80564CD4 000124 0004+00 0/1 0/0 0/0 .rodata @5395 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5395 = -30.0f; -COMPILER_STRIP_GATE(0x80564CD0, &lit_5395); -#pragma pop - -/* 80564CD4-80564CDC 000128 0004+04 0/1 0/0 0/0 .rodata @5396 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_5396[1 + 1 /* padding */] = { - 0x38C90FDB, - /* padding */ - 0x00000000, -}; -COMPILER_STRIP_GATE(0x80564CD4, &lit_5396); -#pragma pop - -/* 80564CDC-80564CE4 000130 0008+00 1/3 0/0 0/0 .rodata @5398 */ -SECTION_RODATA static u8 const lit_5398[8] = { - 0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80564CDC, &lit_5398); - /* 8055D688-8055D918 0021E8 0290+00 1/0 0/0 0/0 .text setAttnPos__12daNpc_Maro_cFv */ void daNpc_Maro_c::setAttnPos() { - // NONMATCHING + cXyz eyeOffset(0.0f, 0.0f, -30.0f); + if (field_0x1133) { + daPy_getPlayerActorClass()->onWolfEyeKeep(); + } + + mStagger.calc(0); + f32 dVar8 = cM_s2rad(mCurAngle.y - field_0xd7e.y); + mJntAnm.setParam( + this, mpMorf[0]->getModel(), &eyeOffset, getBackboneJointNo(), getNeckJointNo(), + getHeadJointNo(), daNpc_Maro_Param_c::m.field_0x24, daNpc_Maro_Param_c::m.field_0x20, + daNpc_Maro_Param_c::m.field_0x2c, daNpc_Maro_Param_c::m.field_0x28, + daNpc_Maro_Param_c::m.field_0x34, daNpc_Maro_Param_c::m.field_0x30, + daNpc_Maro_Param_c::m.field_0x3c, daNpc_Maro_Param_c::m.field_0x38, + daNpc_Maro_Param_c::m.field_0x40, 0.0f, NULL); + mJntAnm.calcJntRad(0.2f, 1.0f, (float)dVar8); + setMtx(); + mDoMtx_stack_c::copy(mpMorf[0]->getModel()->getAnmMtx(getHeadJointNo())); + mDoMtx_stack_c::multVec(&eyeOffset, &eyePos); + mJntAnm.setEyeAngleX(eyePos, 1.0f, 0); + mJntAnm.setEyeAngleY(eyePos, mCurAngle.y, 0, 1.0f, 0); + eyeOffset.set(0.0f, 0.0f, 0.0f); + eyeOffset.y = daNpc_Maro_Param_c::m.field_0x00; + mDoMtx_stack_c::YrotS(mCurAngle.y); + mDoMtx_stack_c::multVec(&eyeOffset, &eyeOffset); + attention_info.position = current.pos + eyeOffset; } /* 8055D918-8055DA70 002478 0158+00 1/0 0/0 0/0 .text setCollision__12daNpc_Maro_cFv */ void daNpc_Maro_c::setCollision() { - // NONMATCHING + cXyz cStack_48; + if (!mHide) { + int tgType = 0xd8fbfdff; + int tgSPrm = 0x1f; + if (mTwilight) { + tgType = 0; + tgSPrm = 0; + } else if (mStagger.checkStagger()) { + tgType = 0; + tgSPrm = 0; + } + mCyl1.SetCoSPrm(0x79); + mCyl1.SetTgType(tgType); + mCyl1.SetTgSPrm(tgSPrm); + mCyl1.OnTgNoHitMark(); + cStack_48.set(0.0f, 0.0f, 0.0f); + f32 cylH = mCylH; + f32 wallR = mWallR; + mDoMtx_stack_c::YrotS(mCurAngle.y); + mDoMtx_stack_c::multVec(&cStack_48, &cStack_48); + cStack_48 += current.pos; + mCyl1.SetH(cylH); + mCyl1.SetR(wallR); + mCyl1.SetC(cStack_48); + dComIfG_Ccsp()->Set(&mCyl1); + } + + mCyl1.ClrCoHit(); + mCyl1.ClrTgHit(); } /* 8055DA70-8055DA78 0025D0 0008+00 1/0 0/0 0/0 .text drawDbgInfo__12daNpc_Maro_cFv */ @@ -1858,620 +1073,2403 @@ BOOL daNpc_Maro_c::drawDbgInfo() { /* 8055DA78-8055DAD8 0025D8 0060+00 1/0 0/0 0/0 .text drawOtherMdl__12daNpc_Maro_cFv */ void daNpc_Maro_c::drawOtherMdl() { - // NONMATCHING + if (field_0x1131) { + cXyz my_vec; + itemRotate(); + my_vec.set(0.0f, 0.0f, 0.0f); + itemZoom(&my_vec); + drawCursor(); + } } /* 8055DAD8-8055DB64 002638 008C+00 1/0 0/0 0/0 .text * getFaceMotionAnm__12daNpc_Maro_cF26daNpcT_faceMotionAnmData_c */ daNpcT_faceMotionAnmData_c daNpc_Maro_c::getFaceMotionAnm(daNpcT_faceMotionAnmData_c param_0) { - // NONMATCHING + daNpcT_faceMotionAnmData_c rv = param_0; + if (mTwilight != TYPE_0 && rv.mBtpFileIdx == 17) { + rv.mBtpFileIdx = 11; + rv.mBtpArcIdx = 2; + } + return rv; } /* 8055DB64-8055DBF0 0026C4 008C+00 1/0 0/0 0/0 .text * getMotionAnm__12daNpc_Maro_cF22daNpcT_motionAnmData_c */ daNpcT_motionAnmData_c daNpc_Maro_c::getMotionAnm(daNpcT_motionAnmData_c param_0) { - // NONMATCHING + daNpcT_motionAnmData_c rv = param_0; + if (mTwilight && rv.mBtkFileIdx == 14) { + rv.mBtkFileIdx = 8; + rv.mBtkArcIdx = 2; + } + return rv; } /* 8055DBF0-8055DD08 002750 0118+00 1/1 0/0 0/0 .text selectAction__12daNpc_Maro_cFv */ -void daNpc_Maro_c::selectAction() { - // NONMATCHING +int daNpc_Maro_c::selectAction() { + field_0x110c = NULL; + switch (mType) { + case 7: { + field_0x110c = &daNpc_Maro_c::tend; + break; + } + + case 8: { + field_0x110c = &daNpc_Maro_c::arrowTutorial; + break; + } + + case 13: { + if ((u8)daNpcKakashi_chkSwdTutorialStage()) { + field_0x110c = &daNpc_Maro_c::swdTutorial; + } else { + field_0x110c = &daNpc_Maro_c::wait; + } + + break; + } + + default: { + field_0x110c = &daNpc_Maro_c::wait; + break; + } + } + + return 1; } /* 8055DD08-8055DD34 002868 002C+00 2/2 0/0 0/0 .text * chkAction__12daNpc_Maro_cFM12daNpc_Maro_cFPCvPvPv_i */ -void daNpc_Maro_c::chkAction(int (daNpc_Maro_c::*param_0)(void*)) { - // NONMATCHING +int daNpc_Maro_c::chkAction(int (daNpc_Maro_c::*param_0)(void*)) { + return field_0x1118 == param_0; } /* 8055DD34-8055DDDC 002894 00A8+00 2/2 0/0 0/0 .text * setAction__12daNpc_Maro_cFM12daNpc_Maro_cFPCvPvPv_i */ -void daNpc_Maro_c::setAction(int (daNpc_Maro_c::*param_0)(void*)) { - // NONMATCHING +int daNpc_Maro_c::setAction(int (daNpc_Maro_c::*action)(void*)) { + mMode = MODE_EXIT; + if (field_0x1118 != NULL) { + (this->*(field_0x1118))(NULL); + } + mMode = MODE_ENTER; + field_0x1118 = action; + if (field_0x1118 != NULL) { + (this->*(field_0x1118))(NULL); + } + return 1; } -/* ############################################################################################## */ -/* 80564D58-80564D58 0001AC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80564F73 = "prm"; -#pragma pop - /* 8055DDDC-8055DF7C 00293C 01A0+00 1/0 0/0 0/0 .text * cutConversationAboutPachinko__12daNpc_Maro_cFi */ -void daNpc_Maro_c::cutConversationAboutPachinko(int param_0) { - // NONMATCHING +int daNpc_Maro_c::cutConversationAboutPachinko(int arg0) { + int retval = 0; + int* param_p = NULL; + int prm_val = -1; + param_p = dComIfGp_evmng_getMyIntegerP(arg0, "prm"); + if (param_p != NULL) { + prm_val = *param_p; + } + + if (dComIfGp_getEventManager().getIsAddvance(arg0)) { + switch (prm_val) { + case 0: { + break; + } + + case 1: { + mPlayerAngle = fopAcM_searchPlayerAngleY(this); + } + } + } + + switch (prm_val) { + case 0: { + retval = 1; + break; + } + + case 1: { + mJntAnm.lookPlayer(0); + if (mPlayerAngle == mCurAngle.y) { + retval = 1; + } else if (step(mPlayerAngle, 9, 7, 0xF, 0)) { + mFaceMotionSeqMngr.setNo(9, -1.0f, 0, 0); + mMotionSeqMngr.setNo(0, -1.0f, 0, 0); + } + } + } + + return retval; } /* 8055DF7C-8055E124 002ADC 01A8+00 1/0 0/0 0/0 .text * cutConversationAboutWoodSwd__12daNpc_Maro_cFi */ -void daNpc_Maro_c::cutConversationAboutWoodSwd(int param_0) { - // NONMATCHING +int daNpc_Maro_c::cutConversationAboutWoodSwd(int arg0) { + int retval = 0; + int* param_p = NULL; + int prm_val = -1; + param_p = dComIfGp_evmng_getMyIntegerP(arg0, "prm"); + if (param_p != NULL) { + prm_val = *param_p; + } + + if (dComIfGp_getEventManager().getIsAddvance(arg0)) { + switch (prm_val) { + case 0: { + mPlayerAngle = fopAcM_searchPlayerAngleY(this); + break; + } + + case 1: { + break; + } + } + } + + switch (prm_val) { + case 0: { + mJntAnm.lookPlayer(0); + if (mPlayerAngle != mCurAngle.y) { + if (step(mPlayerAngle, 9, 7, 0xF, 0)) { + mFaceMotionSeqMngr.setNo(9, -1.0f, 0, 0); + mMotionSeqMngr.setNo(0, -1.0f, 0, 0); + } + } else { + retval = 1; + } + + break; + } + + case 1: { + retval = 1; + break; + } + } + + return retval; } -/* ############################################################################################## */ -/* 80564CE4-80564CEC 000138 0008+00 0/3 0/0 0/0 .rodata @5456 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5456[8] = { - 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80564CE4, &lit_5456); -#pragma pop - -/* 80564CEC-80564CF4 000140 0008+00 0/3 0/0 0/0 .rodata @5457 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5457[8] = { - 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80564CEC, &lit_5457); -#pragma pop - -/* 80564CF4-80564CFC 000148 0008+00 0/3 0/0 0/0 .rodata @5458 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5458[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80564CF4, &lit_5458); -#pragma pop - -/* 80564CFC-80564D00 000150 0004+00 1/1 0/0 0/0 .rodata @5731 */ -SECTION_RODATA static f32 const lit_5731 = 30.0f; -COMPILER_STRIP_GATE(0x80564CFC, &lit_5731); - /* 8055E124-8055E414 002C84 02F0+00 1/0 0/0 0/0 .text cutSwdTutorial__12daNpc_Maro_cFi */ -void daNpc_Maro_c::cutSwdTutorial(int param_0) { - // NONMATCHING +int daNpc_Maro_c::cutSwdTutorial(int arg0) { + cXyz my_vec_0; + int retval = 0; + int* param_p = NULL; + int prm_val = -1; + param_p = dComIfGp_evmng_getMyIntegerP(arg0, "prm"); + if (param_p != NULL) { + prm_val = *param_p; + } + + if (dComIfGp_getEventManager().getIsAddvance(arg0)) { + switch (prm_val) { + case 0: { + break; + } + + case 1: { + break; + } + + case 71: { + mFaceMotionSeqMngr.setNo(1, 0.0f, 0, 0); + mMotionSeqMngr.setNo(0, 0.0f, 0, 0); + setAngle(home.angle.y); + setPos(current.pos); + } + } + } + + switch (prm_val) { + case 0: { + mDamageTimer = 1; + action(); + mJntAnm.lookNone(0); + retval = 1; + break; + } + + case 1: { + mDamageTimer = 1; + action(); + my_vec_0.set(0.0f, 30.0f, 30.0f); + mDoMtx_stack_c::YrotS(mCurAngle.y + 0x2000); + mDoMtx_stack_c::multVec(&my_vec_0, &my_vec_0); + field_0xd6c = current.pos + my_vec_0; + mJntAnm.sorasu1(&field_0xd6c, 0); + retval = 1; + break; + } + + case 71: { + mJntAnm.lookCamera(0); + } + } + + return retval; } /* 8055E414-8055E578 002F74 0164+00 1/0 0/0 0/0 .text cutHail__12daNpc_Maro_cFi */ -void daNpc_Maro_c::cutHail(int param_0) { - // NONMATCHING +int daNpc_Maro_c::cutHail(int arg0) { + int retval = 0; + int* param_p = NULL; + int prm_val = -1; + param_p = dComIfGp_evmng_getMyIntegerP(arg0, "prm"); + if (param_p != NULL) { + prm_val = *param_p; + } + + if (dComIfGp_getEventManager().getIsAddvance(arg0)) { + switch (prm_val) { + case 0: { + break; + } + + case 1: { + mFaceMotionSeqMngr.setNo(9, 0.0f, 0, 0); + mMotionSeqMngr.setNo(0, 0.0f, 0, 0); + break; + } + } + } + + switch (prm_val) { + case 0: { + action(); + retval = 1; + break; + } + + case 1: { + mJntAnm.lookCamera(0); + break; + } + } + + return retval; } -/* ############################################################################################## */ -/* 80564D00-80564D04 000154 0004+00 0/1 0/0 0/0 .rodata @5888 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5888 = 50.0f; -COMPILER_STRIP_GATE(0x80564D00, &lit_5888); -#pragma pop - -/* 80564D04-80564D08 000158 0004+00 0/1 0/0 0/0 .rodata @5889 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5889 = 10.0f; -COMPILER_STRIP_GATE(0x80564D04, &lit_5889); -#pragma pop - -/* 80564D08-80564D0C 00015C 0004+00 0/1 0/0 0/0 .rodata @5890 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5890 = 0.5f; -COMPILER_STRIP_GATE(0x80564D08, &lit_5890); -#pragma pop - -/* 80564D58-80564D58 0001AC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80564F77 = "timer"; -#pragma pop - /* 8055E578-8055E968 0030D8 03F0+00 1/0 0/0 0/0 .text cutFindMonkey__12daNpc_Maro_cFi */ -void daNpc_Maro_c::cutFindMonkey(int param_0) { - // NONMATCHING +int daNpc_Maro_c::cutFindMonkey(int arg0) { + daHorse_c* actor_p = NULL; + cXyz my_vec_0; + int retval = 0; + int* param_p = NULL; + int prm_val = -1; + int timer_val = 0; + param_p = dComIfGp_evmng_getMyIntegerP(arg0, "prm"); + if (param_p != NULL) { + prm_val = *param_p; + } + + param_p = dComIfGp_evmng_getMyIntegerP(arg0, "timer"); + if (param_p != NULL) { + timer_val = *param_p; + } + + if (dComIfGp_getEventManager().getIsAddvance(arg0)) { + switch (prm_val) { + case 0: { + break; + } + + case 1: { + break; + } + + case 3: { + mEventTimer = timer_val; + if (mEventTimer == 0) { + mMotionSeqMngr.setNo(8, -1.0f, 0, 0); + } + + break; + } + + case 4: { + mHide = true; + speedF = 0.0f; + speed.setall(0.0f); + break; + } + } + } + + switch (prm_val) { + case 2: { + break; + } + + case 0: { + mJntAnm.lookNone(0); + retval = 1; + break; + } + + case 1: { + mJntAnm.lookNone(0); + retval = 1; + break; + } + + case 3: { + mJntAnm.lookNone(0); + if (mEventTimer == 0) { + actor_p = dComIfGp_getHorseActor(); + JUT_ASSERT(0xA99, 0 != actor_p); + my_vec_0 = actor_p->current.pos; + if (50.0f < current.pos.absXZ(my_vec_0)) { + cLib_addCalcAngleS2(¤t.angle.y, cLib_targetAngleY(¤t.pos, &my_vec_0), 4, 0x800); + shape_angle.y = current.angle.y; + mCurAngle.y = shape_angle.y; + cLib_chaseF(&speedF, 10.0f, 0.5f); + } else { + retval = 1; + } + } else if (cLib_calcTimer(&mEventTimer) == 0) { + mMotionSeqMngr.setNo(8, -1.0f, 0, 0); + } + + break; + } + + case 4: { + retval = 1; + break; + } + } + + return retval; } -/* ############################################################################################## */ -/* 80564D0C-80564D10 000160 0004+00 0/1 0/0 0/0 .rodata @5995 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5995 = -718.0f; -COMPILER_STRIP_GATE(0x80564D0C, &lit_5995); -#pragma pop - -/* 80564D10-80564D14 000164 0004+00 0/1 0/0 0/0 .rodata @5996 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5996 = 1331.0f; -COMPILER_STRIP_GATE(0x80564D10, &lit_5996); -#pragma pop - -/* 80564D14-80564D18 000168 0004+00 0/1 0/0 0/0 .rodata @5997 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5997 = -2139.0f; -COMPILER_STRIP_GATE(0x80564D14, &lit_5997); -#pragma pop - -/* 80564D18-80564D1C 00016C 0004+00 0/1 0/0 0/0 .rodata @5998 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5998 = -511.0f; -COMPILER_STRIP_GATE(0x80564D18, &lit_5998); -#pragma pop - -/* 80564D1C-80564D20 000170 0004+00 0/1 0/0 0/0 .rodata @5999 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5999 = 1370.0f; -COMPILER_STRIP_GATE(0x80564D1C, &lit_5999); -#pragma pop - -/* 80564D20-80564D24 000174 0004+00 0/1 0/0 0/0 .rodata @6000 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6000 = -2153.0f; -COMPILER_STRIP_GATE(0x80564D20, &lit_6000); -#pragma pop - -/* 80564D24-80564D28 000178 0004+00 1/4 0/0 0/0 .rodata @6001 */ -SECTION_RODATA static f32 const lit_6001 = -40.0f; -COMPILER_STRIP_GATE(0x80564D24, &lit_6001); - /* 8055E968-8055ECF4 0034C8 038C+00 1/0 0/0 0/0 .text cutGiveMeWoodSwd__12daNpc_Maro_cFi */ -void daNpc_Maro_c::cutGiveMeWoodSwd(int param_0) { - // NONMATCHING +int daNpc_Maro_c::cutGiveMeWoodSwd(int arg0) { + fopAc_ac_c* actor_p = NULL; + cXyz my_vec_0; + int retval = 0; + int* param_p = NULL; + int prm_val = -1; + param_p = dComIfGp_evmng_getMyIntegerP(arg0, "prm"); + if (param_p != NULL) { + prm_val = *param_p; + } + + if (dComIfGp_getEventManager().getIsAddvance(arg0)) { + switch (prm_val) { + case 0: { + mFaceMotionSeqMngr.setNo(9, -1.0f, 0, 0); + mMotionSeqMngr.setNo(0, -1.0f, 0, 0); + break; + } + + case 1: { + mFaceMotionSeqMngr.setNo(9, 0.0f, 0, 0); + mMotionSeqMngr.setNo(4, 0.0f, 0, 0); + my_vec_0.set(-718.0f, 1331.0f, -2139.0f); + setPos(my_vec_0); + setAngle(cM_deg2s(50.0f)); + mStepMode = 0; + break; + } + + case 2: { + break; + } + + case 3: { + mFaceMotionSeqMngr.setNo(9, 0.0f, 0, 0); + mMotionSeqMngr.setNo(0, 0.0f, 0, 0); + my_vec_0.set(-511.0f, 1370.0f, -2153.0f); + setPos(my_vec_0); + setAngle(cM_deg2s(30.0f)); + mStepMode = 0; + break; + } + } + } + + switch (prm_val) { + case 0: { + mJntAnm.lookPlayer(0); + retval = 1; + break; + } + + case 1: { + actor_p = mActorMngr[3].getActorP(); + JUT_ASSERT(0xB00, 0 != actor_p); + mJntAnm.lookActor(actor_p, -40.0f, 0); + retval = 1; + break; + } + + case 2: + case 3: { + mJntAnm.lookPlayer(0); + retval = 1; + break; + } + } + + return retval; } /* 8055ECF4-8055F508 003854 0814+00 3/0 0/0 0/0 .text cutGetWoodSwd__12daNpc_Maro_cFi */ -void daNpc_Maro_c::cutGetWoodSwd(int param_0) { - // NONMATCHING +int daNpc_Maro_c::cutGetWoodSwd(int arg0) { + fopAc_ac_c* actor_p = NULL; + cXyz my_vec_0; + int retval = 0; + int* param_p = NULL; + int prm_val = -1; + int timer_val; + param_p = dComIfGp_evmng_getMyIntegerP(arg0, "prm"); + if (param_p != NULL) { + prm_val = *param_p; + } + + param_p = dComIfGp_evmng_getMyIntegerP(arg0, "timer"); + if (param_p != NULL) { + timer_val = *param_p; + } + + if (dComIfGp_getEventManager().getIsAddvance(arg0)) { + switch (prm_val) { + case 0: { + mFaceMotionSeqMngr.setNo(9, -1.0f, 0, 0); + mMotionSeqMngr.setNo(0, -1.0f, 0, 0); + break; + } + + case 1: { + mFaceMotionSeqMngr.setNo(9, 0.0f, 0, 0); + mMotionSeqMngr.setNo(0, 0.0f, 0, 0); + my_vec_0.set(-718.0f, 1331.0f, -2139.0f); + setPos(my_vec_0); + setAngle(cM_deg2s(50.0f)); + mStepMode = 0; + mHide = true; + break; + } + + case 2: { + mHide = false; + break; + } + + case 3: { + mFaceMotionSeqMngr.setNo(9, 0.0f, 0, 0); + mMotionSeqMngr.setNo(0, 0.0f, 0, 0); + my_vec_0.set(-511.0f, 1370.0f, -2153.0f); + setPos(my_vec_0); + setAngle(cM_deg2s(30.0f)); + mStepMode = 0; + break; + } + + case 4: { + home.pos = current.pos; + home.angle.y = mCurAngle.y; + mEventTimer = timer_val; + if (mEventTimer == 0) { + mMotionSeqMngr.setNo(8, -1.0f, 0, 0); + } + + break; + } + + case 5: { + mFaceMotionSeqMngr.setNo(9, 0.0f, 0, 0); + mMotionSeqMngr.setNo(0, 0.0f, 0, 0); + speedF = 0.0f; + speed.setall(0.0f); + mHide = true; + break; + } + + case 11: { + mHide = false; + break; + } + } + } + + switch (prm_val) { + case 0: { + mJntAnm.lookPlayer(0); + retval = 1; + break; + } + + case 1: { + actor_p = mActorMngr[3].getActorP(); + JUT_ASSERT(0xB79, 0 != actor_p); + mJntAnm.lookActor(actor_p, -40.0f, 0); + retval = 1; + break; + } + + case 2: + case 3: { + actor_p = mActorMngr[1].getActorP(); + JUT_ASSERT(0xB81, 0 != actor_p); + mJntAnm.lookActor(actor_p, -40.0f, 0); + retval = 1; + break; + } + + case 4: { + actor_p = mActorMngr[1].getActorP(); + JUT_ASSERT(0xB81, 0 != actor_p); + mJntAnm.lookActor(actor_p, -40.0f, 0); + if (mEventTimer == 0) { + my_vec_0.set(0.0f, 0.0f, 1600.0f); + mDoMtx_stack_c::YrotS(home.angle.y + cM_deg2s(60.0f)); + mDoMtx_stack_c::multVec(&my_vec_0, &my_vec_0); + my_vec_0 += home.pos; + if (50.0f < current.pos.absXZ(my_vec_0)) { + cLib_addCalcAngleS2(¤t.angle.y, cLib_targetAngleY(¤t.pos, &my_vec_0), 4, 0x800); + shape_angle.y = current.angle.y; + mCurAngle.y = shape_angle.y; + cLib_chaseF(&speedF, 10.0f, 0.5f); + } else { + speedF = 0.0f; + speed.setall(0.0f); + } + } else if (cLib_calcTimer(&mEventTimer) == 0) { + mMotionSeqMngr.setNo(8, -1.0f, 0, 0); + } + + retval = 1; + break; + } + + case 5: { + mJntAnm.lookNone(0); + retval = 1; + break; + } + + case 10: + case 11: { + action(); + retval = 1; + break; + } + } + + return retval; } /* 8055F508-8055F634 004068 012C+00 1/0 0/0 0/0 .text cutConversationWithMaro__12daNpc_Maro_cFi */ -void daNpc_Maro_c::cutConversationWithMaro(int param_0) { - // NONMATCHING +int daNpc_Maro_c::cutConversationWithMaro(int arg0) { + fopAc_ac_c* actor_p = NULL; + cXyz my_vec_0; + int retval = 0; + int* param_p = NULL; + int prm_val = -1; + param_p = dComIfGp_evmng_getMyIntegerP(arg0, "prm"); + if (param_p != NULL) { + prm_val = *param_p; + } + + dComIfGp_getEventManager().getIsAddvance(arg0); + switch (prm_val) { + case 0: { + actor_p = mActorMngr[1].getActorP(); + JUT_ASSERT(0xB81, 0 != actor_p); + mJntAnm.lookActor(actor_p, -40.0f, 0); + retval = 1; + break; + } + } + + return retval; } /* 8055F634-8055F82C 004194 01F8+00 1/0 0/0 0/0 .text cutCacaricoConversation__12daNpc_Maro_cFi */ -void daNpc_Maro_c::cutCacaricoConversation(int param_0) { - // NONMATCHING +int daNpc_Maro_c::cutCacaricoConversation(int arg0) { + int retval = 0; + int* param_p = NULL; + int prm_val = -1; + param_p = dComIfGp_evmng_getMyIntegerP(arg0, "prm"); + if (param_p != NULL) { + prm_val = *param_p; + } + + if (dComIfGp_getEventManager().getIsAddvance(arg0)) { + switch (prm_val) { + case 0: { + mPlayerAngle = fopAcM_searchPlayerAngleY(this); + if (checkStep()) { + mStepMode = 0; + } + } + + case 1: { + break; + } + } + } + + switch (prm_val) { + case 0: { + mJntAnm.lookPlayer(0); + if (mPlayerAngle != mCurAngle.y) { + if (step(mPlayerAngle, 9, 7, 0xF, 0)) { + mFaceMotionSeqMngr.setNo(9, -1.0f, 0, 0); + mMotionSeqMngr.setNo(0, -1.0f, 0, 0); + } + } else { + retval = 1; + } + + break; + } + + case 1: { + mJntAnm.lookPlayer(0); + retval = 1; + break; + } + } + + return retval; } /* 8055F82C-8055FAF0 00438C 02C4+00 1/0 0/0 0/0 .text cutSurprise__12daNpc_Maro_cFi */ -void daNpc_Maro_c::cutSurprise(int param_0) { - // NONMATCHING +int daNpc_Maro_c::cutSurprise(int arg0) { + daTag_Push_c* push_p = (daTag_Push_c*) field_0xba0.getActorP(); + int retval = 0; + int* param_p = NULL; + int prm_val = -1; + param_p = dComIfGp_evmng_getMyIntegerP(arg0, "prm"); + if (param_p != NULL) { + prm_val = *param_p; + } + + if (dComIfGp_getEventManager().getIsAddvance(arg0)) { + switch (prm_val) { + case 0: { + mFaceMotionSeqMngr.setNo(9, 0.0f, 0, 0); + mMotionSeqMngr.setNo(0, 0.0f, 0, 0); + mJntAnm.lookNone(1); + push_p->pushBackPlayer(1); + break; + } + + case 1: { + initTalk(push_p->getFlowNodeNo(), NULL); + setAngle(mPlayerAngle); + mJntAnm.lookPlayer(1); + break; + } + } + } + + switch (prm_val) { + case 0: { + retval = 1; + break; + } + + case 1: { + if (talkProc(NULL, 0, NULL, 0) && mFlow.checkEndFlow()) { + mPlayerActorMngr.entry(daPy_getPlayerActorClass()); + field_0xba0.remove(); + retval = 1; + } + break; + } + } + + return retval; } -/* ############################################################################################## */ -/* 80564D28-80564D2C 00017C 0004+00 0/0 0/0 0/0 .rodata @6226 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6226 = 1600.0f; -COMPILER_STRIP_GATE(0x80564D28, &lit_6226); -#pragma pop - -/* 80564D2C-80564D34 000180 0008+00 0/0 0/0 0/0 .rodata @6272 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6272[8] = { - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -}; -COMPILER_STRIP_GATE(0x80564D2C, &lit_6272); -#pragma pop - -/* 80564D34-80564D3C 000188 0008+00 0/1 0/0 0/0 .rodata @6425 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6425[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80564D34, &lit_6425); -#pragma pop - -/* 80564D3C-80564D48 000190 000C+00 0/1 0/0 0/0 .rodata @6485 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6485[12] = { - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -}; -COMPILER_STRIP_GATE(0x80564D3C, &lit_6485); -#pragma pop - -/* 80564D58-80564D58 0001AC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80564F7D = "msgNo"; -SECTION_DEAD static char const* const stringBase_80564F83 = "msgNo2"; -SECTION_DEAD static char const* const stringBase_80564F8A = "send"; -#pragma pop +int dummy_lit_6272(int arg) { + int dummy_vals[2] = {-1, -1}; + return dummy_vals[arg]; +} /* 8055FAF0-805611E0 004650 16F0+00 3/0 0/0 0/0 .text cutArrowTutorial__12daNpc_Maro_cFi */ -void daNpc_Maro_c::cutArrowTutorial(int param_0) { - // NONMATCHING +int daNpc_Maro_c::cutArrowTutorial(int arg0) { + fopAc_ac_c* actor_p = NULL; + cXyz my_vec_0, temp, my_vec_2; + csXyz my_s_vec; + int retval = 0; + int* param_p = NULL; + int prm_val = -1; + int timer_val = 0; + int msgNo_val = 0; + int msgNo2_val = 0; + int send_val = 0; + param_p = dComIfGp_evmng_getMyIntegerP(arg0, "prm"); + if (param_p != NULL) { + prm_val = *param_p; + } + + param_p = dComIfGp_evmng_getMyIntegerP(arg0, "timer"); + if (param_p != NULL) { + timer_val = *param_p; + } + + param_p = dComIfGp_evmng_getMyIntegerP(arg0, "msgNo"); + if (param_p != NULL) { + msgNo_val = *param_p; + } + + param_p = dComIfGp_evmng_getMyIntegerP(arg0, "msgNo2"); + if (param_p != NULL) { + msgNo2_val = *param_p; + } + + param_p = dComIfGp_evmng_getMyIntegerP(arg0, "send"); + if (param_p != NULL) { + send_val = *param_p; + } + + fopAc_ac_c* local_4c[2] = {this, mActorMngr[1].getActorP()}; + dComIfGp_setMesgCameraInfoActor(local_4c[0], local_4c[1], NULL, 0, 0, 0, 0, 0, 0, 0); + + if (dComIfGp_getEventManager().getIsAddvance(arg0)) { + switch (prm_val) { + case 0: { + mActorMngr[4].entry(getItaMatoP(1)); + actor_p = mActorMngr[4].getActorP(); + JUT_ASSERT(0xCC3, 0 != actor_p); + dComIfGp_getEvent().setPtI(actor_p); + break; + } + + case 1: { + mEventTimer = timer_val; + break; + } + + case 2: + case 4: { + actor_p = mActorMngr[4].getActorP(); + JUT_ASSERT(0xCCE, 0 != actor_p); + dComIfGp_getEvent().setPt2(actor_p); + break; + } + + case 3: { + mJntAnm.lookPlayer(1); + break; + } + + case 5: { + mJntAnm.lookPlayer(1); + break; + } + + case 20: { + mFaceMotionSeqMngr.setNo(9, -1.0f, 0, 0); + mMotionSeqMngr.setNo(0, -1.0f, 0, 0); + Z2GetAudioMgr()->subBgmStop(); + break; + } + + case 21: { + setAngle(home.angle.y); + mHide = true; + field_0x1135 = 0; + if (daNpcT_getPlayerInfoFromPlayerList(0x42, current.roomNo, &my_vec_2, &my_s_vec)) { + daPy_getPlayerActorClass()->setPlayerPosAndAngle(&my_vec_2, my_s_vec.y, 0); + } + + if (field_0x10bc != 0xFFFFFFFF) { + dComIfG_TimerDeleteRequest(0); + field_0x10bc = -1; + } + + dComIfGp_getAttention()->offAttnDraw(); + daNpcT_offTmpBit(0x3C); + daNpcT_offTmpBit(0x3F); + daNpcT_offTmpBit(0x40); + daNpcT_offTmpBit(0x41); + daNpcT_offTmpBit(0x42); + break; + } + + case 22: { + mEventTimer = timer_val; + break; + } + + case 30: { + mFaceMotionSeqMngr.setNo(9, 0.0f, 0, 0); + mMotionSeqMngr.setNo(0, 0.0f, 0, 0); + mEventTimer = timer_val; + dComIfGp_getEvent().setPtT(this); + mActorMngr[4].entry(getItaMatoP(1)); + actor_p = mActorMngr[4].getActorP(); + JUT_ASSERT(0xD0B, 0 != actor_p); + dComIfGp_getEvent().setPtI(actor_p); + break; + } + + case 31: { + mFaceMotionSeqMngr.setNo(9, 0.0f, 0, 0); + mMotionSeqMngr.setNo(0, 0.0f, 0, 0); + initTalk(mFlowNodeNo, local_4c); + setAngle(mPlayerAngle); + mHide = false; + mEventTimer = timer_val; + dComIfGp_getEvent().setPt2(this); + break; + } + + case 32: { + mActorMngr[4].entry(getItaMatoP(2)); + actor_p = mActorMngr[4].getActorP(); + JUT_ASSERT(0xD1E, 0 != actor_p); + dComIfGp_getEvent().setPtI(actor_p); + dComIfGp_getEvent().setPt2(actor_p); + } + // fallthrough intentional. + case 33: { + mJntAnm.lookPlayer(1); + break; + } + + case 40: { + mFaceMotionSeqMngr.setNo(9, 0.0f, 0, 0); + mMotionSeqMngr.setNo(0, 0.0f, 0, 0); + mEventTimer = timer_val; + mActorMngr[4].entry(getItaMatoP(2)); + actor_p = mActorMngr[4].getActorP(); + JUT_ASSERT(0xD2E, 0 != actor_p); + dComIfGp_getEvent().setPtI(actor_p); + dComIfGp_getEvent().setPt2(actor_p); + break; + } + + case 41: { + initTalk(mFlowNodeNo, local_4c); + break; + } + + case 50: { + if (daNpcT_chkEvtBit(0x4C) && daNpcT_chkEvtBit(0x4B)) { + initTalk(0x1D, local_4c); + } else { + initTalk(mFlowNodeNo, local_4c); + } + + mEventTimer = timer_val; + break; + } + + case 60: { + mFaceMotionSeqMngr.setNo(9, 0.0f, 0, 0); + mMotionSeqMngr.setNo(0, 0.0f, 0, 0); + mJntAnm.lookNone(1); + break; + } + + case 61: { + initTalk(mFlowNodeNo, local_4c); + break; + } + + case 65: { + actor_p = mActorMngr[1].getActorP(); + JUT_ASSERT(0xD2E, 0 != actor_p); + dComIfGp_getEvent().setPt2(actor_p); + break; + } + + case 66: { + initTalk(29, local_4c); + break; + } + + case 70: { + mFaceMotionSeqMngr.setNo(9, 0.0f, 0, 0); + mMotionSeqMngr.setNo(0, 0.0f, 0, 0); + mPlayerAngle = fopAcM_searchPlayerAngleY(this); + if (checkStep()) { + mStepMode = 0; + } + + break; + } + + case 71: { + initTalk(27, NULL); + break; + } + + case 80: { + mFaceMotionSeqMngr.setNo(9, 0.0f, 0, 0); + mMotionSeqMngr.setNo(0, 0.0f, 0, 0); + if (daNpcT_getPlayerInfoFromPlayerList(0x42, current.roomNo, &my_vec_2, &my_s_vec)) { + my_vec_0.set(0.0f, 0.0f, 300.0f); + mDoMtx_stack_c::YrotS(cLib_targetAngleY(&my_vec_2, &daPy_getPlayerActorClass()->current.pos)); + mDoMtx_stack_c::multVec(&my_vec_0, &my_vec_0); + my_vec_0 += my_vec_2; + if (daPy_getPlayerActorClass()->current.pos.absXZ(my_vec_0) < 100.0f) { + my_vec_0.set(0.0f, 0.0f, 200.0f); + mDoMtx_stack_c::YrotS(cLib_targetAngleY(&my_vec_2, &daPy_getPlayerActorClass()->current.pos)); + mDoMtx_stack_c::multVec(&my_vec_0, &my_vec_0); + my_vec_0 += my_vec_2; + } + + dComIfGp_evmng_setGoal(&my_vec_0); + } + + break; + } + + case 90: { + mFaceMotionSeqMngr.setNo(9, 0.0f, 0, 0); + mMotionSeqMngr.setNo(0, 0.0f, 0, 0); + setAngle(fopAcM_searchPlayerAngleY(this)); + mHide = false; + initTalk(mFlowNodeNo, local_4c); + dComIfGp_getEvent().setPtT(this); + break; + } + + case 7: { + dComIfGp_getEvent().setPt2(this); + break; + } + + case 10: { + if (daNpcT_getPlayerInfoFromPlayerList(0x42, current.roomNo, &my_vec_2, &my_s_vec)) { + my_vec_0.set(0.0f, 300.0f, 200.0f); + mDoMtx_stack_c::transS(daPy_getPlayerActorClass()->current.pos); + mDoMtx_stack_c::YrotM(cLib_targetAngleY(&daPy_getPlayerActorClass()->current.pos, &my_vec_2)); + mDoMtx_stack_c::multVec(&my_vec_0, &temp); + mGndChk.SetPos(&temp); + temp.y = dComIfG_Bgsp().GroundCross(&mGndChk); + JUT_ASSERT(0xDA9, -(1000000000.0f) != temp.y); + dComIfGp_evmng_setGoal(&temp); + } + + break; + } + + case 34: { + mActorMngr[4].entry(getItaMatoP(2)); + actor_p = mActorMngr[4].getActorP(); + JUT_ASSERT(0xDB3, 0 != actor_p); + dComIfGp_getEvent().setPtI(actor_p); + dComIfGp_getEvent().setPt2(actor_p); + } + // fallthrough intentional. + case 35: { + mJntAnm.lookPlayer(1); + break; + } + + case 44: { + actor_p = mActorMngr[1].getActorP(); + JUT_ASSERT(0xDBD, 0 != actor_p); + dComIfGp_getEvent().setPt2(actor_p); + break; + } + + case 64: { + initTalk(mFlowNodeNo, local_4c); + break; + } + + case 93: { + break; + } + } + } + + int evt_id; + int my_vals[3] = {-1, -1, -1}; + switch (prm_val) { + case 0: + case 93: { + action(); + retval = 1; + break; + } + + case 1: + case 31: { + mJntAnm.lookPlayer(0); + my_vals[0] = msgNo_val; + my_vals[1] = msgNo2_val; + if (cLib_calcTimer(&mEventTimer) == 0 && talkProc(my_vals, false, local_4c, false)) { + if (msgNo_val == 0 && msgNo2_val == 0) { + if (mFlow.checkEndFlow()) { + retval = 1; + } + } else { + retval = 1; + } + } + + if (prm_val == 1 && retval != 0) { + actor_p = mActorMngr[4].getActorP(); + JUT_ASSERT(0xDF0, 0 != actor_p); + dComIfGp_getEvent().setPt2(actor_p); + } + + break; + } + + case 2: + case 4: + case 5: { + if (prm_val != 5) { + actor_p = mActorMngr[4].getActorP(); + JUT_ASSERT(0xDFA, 0 != actor_p); + mJntAnm.lookActor(actor_p, 0.0f, 0); + } + + my_vals[0] = msgNo_val; + if (talkProc(my_vals, send_val, local_4c, false)) { + if (msgNo_val == 0) { + if (mFlow.checkEndFlow()) { + switch (prm_val) { + case 2: { + mJntAnm.lookPlayer(1); + setAngle(home.angle.y); + } + // fallthrough intentional. + case 5: { + daNpcT_onEvtBit(0x4A); + } + // fallthrough intentional. + default: { + retval = 1; + } + } + } + } else { + retval = 1; + } + } + + if (retval == 1) { + switch (prm_val) { + case 2: + case 4: { + dComIfGp_getEvent().setPt2(this); + break; + } + } + } + + if (prm_val == 4 && send_val == 0) { + retval = 1; + } + + break; + } + + case 3: { + action(); + retval = 1; + break; + } + + case 6: { + if (home.angle.y != mCurAngle.y) { + step(home.angle.y, 9, 7, 15, 0); + } else { + retval = 1; + } + + break; + } + + case 20: { + mJntAnm.lookPlayer(0); + retval = 1; + break; + } + + case 21: { + retval = 1; + break; + } + + case 22: { + if (cLib_calcTimer(&mEventTimer) == 0) { + retval = 1; + } + + break; + } + + case 30: { + actor_p = mActorMngr[4].getActorP(); + JUT_ASSERT(0xE48, 0 != actor_p); + mJntAnm.lookActor(actor_p, 0.0f, 0); + if (cLib_calcTimer(&mEventTimer) == 0) { + retval = 1; + } + + break; + } + + case 32: + case 91: { + actor_p = mActorMngr[4].getActorP(); + JUT_ASSERT(0xE48, 0 != actor_p); + mJntAnm.lookActor(actor_p, 0.0f, 0); + my_vals[0] = msgNo_val; + if (talkProc(my_vals, send_val, local_4c, false)) { + if (msgNo_val == 0 && msgNo2_val == 0) { + if (mFlow.checkEndFlow()) { + retval = 1; + } + } else { + retval = 1; + } + } + + if (retval != 0 && prm_val == 91) { + setAngle(home.angle.y); + } + + if (send_val == 0) { + retval = 1; + } + + break; + } + + case 33: { + retval = 1; + break; + } + + case 40: { + actor_p = mActorMngr[4].getActorP(); + JUT_ASSERT(0xE48, 0 != actor_p); + mJntAnm.lookActor(actor_p, 0.0f, 0); + if (cLib_calcTimer(&mEventTimer) == 0) { + retval = 1; + } + + break; + } + + case 41: { + actor_p = mActorMngr[4].getActorP(); + JUT_ASSERT(0xE48, 0 != actor_p); + mJntAnm.lookActor(actor_p, 0.0f, 0); + my_vals[0] = msgNo_val; + if (talkProc(my_vals, 0, local_4c, false)) { + if (msgNo_val == 0) { + if (mFlow.checkEndFlow()) { + retval = 1; + } + } else { + retval = 1; + } + } + + if (retval != 0) { + actor_p = mActorMngr[1].getActorP(); + JUT_ASSERT(0xE48, 0 != actor_p); + dComIfGp_getEvent().setPt2(actor_p); + } + + break; + } + + case 42: + case 43: + case 92: { + actor_p = mActorMngr[1].getActorP(); + JUT_ASSERT(0xE48, 0 != actor_p); + mJntAnm.lookActor(actor_p, -40.0f, 0); + my_vals[0] = msgNo_val; + if (talkProc(my_vals, send_val, local_4c, false)) { + if (msgNo_val == 0) { + if (mFlow.checkEndFlow()) { + retval = 1; + } + } else { + retval = 1; + } + } + + if (retval != 0 && prm_val == 92) { + if (dComIfG_getTimerPtr() != NULL && dComIfG_getTimerMode() == 0 && dTimer_isStart() == 0) { + dComIfG_TimerStart(0, 0); + } + + setAngle(home.angle.y); + } + + if (prm_val == 43 && send_val == 0) { + retval = 1; + } + + break; + } + + case 50: { + if (cLib_calcTimer(&mEventTimer) == 0 && talkProc(NULL, false, local_4c, false) && mFlow.checkEndFlow()) { + retval = 1; + } + + break; + } + + case 60: { + retval = 1; + break; + } + + case 61: + case 62: + case 63: { + mJntAnm.lookNone(0); + if (prm_val == 63) { + mJntAnm.lookPlayer(dComIfGp_getEventManager().getIsAddvance(arg0)); + } + + my_vals[0] = msgNo_val; + my_vals[1] = msgNo2_val; + if (talkProc(my_vals, 0, local_4c, false)) { + if (msgNo_val == 0 && msgNo2_val == 0) { + if (mFlow.checkEndFlow()) { + retval = 1; + } + } else { + retval = 1; + } + } + + if (retval != 0) { + if (prm_val == 61) { + my_s_vec.y = fopAcM_searchActorAngleY(daPy_getPlayerActorClass(), this); + daPy_getPlayerActorClass()->setPlayerPosAndAngle(&daPy_getPlayerActorClass()->current.pos, + my_s_vec.y, 0); + dComIfGp_getEvent().setPt2(this); + setAngle(fopAcM_searchPlayerAngleY(this)); + } else if (prm_val == 63) { + if (!daNpcT_chkEvtBit(0x4B)) { + dComIfGs_offSaveSwitch(0x6D); + } + + int evt_ret = mFlow.getEventId(&evt_id); + switch (evt_ret) { + case 1: { + if (mItemPartnerId == -1) { + mItemPartnerId = fopAcM_createItemForPresentDemo(¤t.pos, evt_id, 0, -1, -1, NULL, NULL); + } + + if (fopAcM_IsExecuting(mItemPartnerId)) { + mEvtNo = 1; + field_0x1135 = 1; + evtChange(); + } + + retval = 0; + break; + } + + case 8: { + if (evt_id == 1) { + mEvtNo = 11; + evtChange(); + } + + retval = 0; + break; + } + } + } + } + + break; + } + + case 65: { + retval = 1; + break; + } + + case 66: { + if (talkProc(my_vals, 0, local_4c, 0) && mFlow.checkEndFlow()) { + retval = 1; + } + + break; + } + + case 70: { + mJntAnm.lookPlayer(0); + if (mPlayerAngle != mCurAngle.y) { + step(mPlayerAngle, 9, 7, 0xF, 0); + } else { + retval = 1; + } + + break; + } + + case 71: { + mJntAnm.lookPlayer(0); + if (talkProc(NULL, 0, NULL, 0)) { + int evt_ret = mFlow.getEventId(&evt_id); + if (evt_ret == 8) { + switch (evt_id) { + case 1: { + mEvtNo = 11; + evtChange(); + break; + } + + case 2: { + mEvtNo = 10; + evtChange(); + break; + } + + default: { + if (mFlow.checkEndFlow()) { + retval = 1; + } + + break; + } + } + } + } + + break; + } + + case 80: { + mJntAnm.lookPlayer(0); + retval = 1; + break; + } + + case 90: { + retval = 1; + break; + } + + case 7: { + mJntAnm.lookPlayer(dComIfGp_getEventManager().getIsAddvance(arg0)); + if (talkProc(NULL, 0, NULL, 0)) { + retval = 1; + } + + break; + } + + case 10: + case 51: { + action(); + retval = 1; + break; + } + + case 34: { + actor_p = mActorMngr[4].getActorP(); + JUT_ASSERT(0xE48, 0 != actor_p); + mJntAnm.lookActor(actor_p, 0.0f, 0); + my_vals[0] = msgNo_val; + if (talkProc(my_vals, send_val, local_4c, 0)) { + if (msgNo_val == 0 && msgNo2_val == 0) { + if (mFlow.checkEndFlow()) { + retval = 1; + } + } else { + retval = 1; + } + } + + if (retval != 0 && prm_val == 32) { + setAngle(home.angle.y); + } + + if (send_val == 0) { + retval = 1; + } + + break; + } + + case 35: { + retval = 1; + break; + } + + case 44: { + actor_p = mActorMngr[1].getActorP(); + JUT_ASSERT(0xE48, 0 != actor_p); + mJntAnm.lookActor(actor_p, -40.0f, 0); + my_vals[0] = msgNo_val; + if (talkProc(my_vals, send_val, local_4c, 0)) { + if (prm_val == 43) { + setAngle(home.angle.y); + if (dComIfG_getTimerPtr() != NULL && dComIfG_getTimerMode() == 0 && dTimer_isStart() == 0) { + dComIfG_TimerStart(0, 0); + } + } + + if (prm_val == 44) { + setAngle(fopAcM_searchPlayerAngleY(this)); + } + + retval = 1; + } + + if (send_val == 0) { + retval = 1; + } + + break; + } + + case 64: { + if (talkProc(NULL, 0, local_4c, 0)) { + retval = 1; + } + + break; + } + } + + return retval; } /* 805611E0-80561328 005D40 0148+00 1/0 0/0 0/0 .text cutBokinTalk__12daNpc_Maro_cFi */ -void daNpc_Maro_c::cutBokinTalk(int param_0) { - // NONMATCHING -} +int daNpc_Maro_c::cutBokinTalk(int arg0) { + daTag_Push_c* push_p = (daTag_Push_c*) field_0xba0.getActorP(); + (void) push_p; + int retval = 0; + int* param_p = NULL; + int prm_val = -1; + param_p = dComIfGp_evmng_getMyIntegerP(arg0, "prm"); + if (param_p != NULL) { + prm_val = *param_p; + } -/* ############################################################################################## */ -/* 80564D48-80564D4C 00019C 0004+00 1/1 0/0 0/0 .rodata @7191 */ -SECTION_RODATA static f32 const lit_7191 = 40.0f; -COMPILER_STRIP_GATE(0x80564D48, &lit_7191); + if (dComIfGp_getEventManager().getIsAddvance(arg0)) { + switch (prm_val) { + case 0: { + mFaceMotionSeqMngr.setNo(7, -1.0f, 0, 0); + mMotionSeqMngr.setNo(0, -1.0f, 0, 0); + mJntAnm.lookCamera(0); + break; + } + } + } + + switch (prm_val) { + case 0: { + retval = 1; + break; + } + } + + return retval; +} /* 80561328-80561614 005E88 02EC+00 1/0 0/0 0/0 .text cutMarosWhisper__12daNpc_Maro_cFi */ -void daNpc_Maro_c::cutMarosWhisper(int param_0) { - // NONMATCHING +int daNpc_Maro_c::cutMarosWhisper(int arg0) { + fopAc_ac_c* actor_p = NULL; + cXyz my_vec_0; + int retval = 0; + int* param_p = NULL; + int prm_val = -1; + int timer_val = 0; + s16 angle_y; + param_p = dComIfGp_evmng_getMyIntegerP(arg0, "prm"); + if (param_p != NULL) { + prm_val = *param_p; + } + + param_p = dComIfGp_evmng_getMyIntegerP(arg0, "timer"); + if (param_p != NULL) { + timer_val = *param_p; + } + + if (dComIfGp_getEventManager().getIsAddvance(arg0)) { + switch (prm_val) { + case 0: { + endChoccai(); + actor_p = mActorMngr[0].getActorP(); + JUT_ASSERT(0xFF8, 0 != actor_p); + angle_y = fopAcM_searchActorAngleY(daPy_getPlayerActorClass(), actor_p); + daPy_getPlayerActorClass()->setPlayerPosAndAngle(&daPy_getPlayerActorClass()->current.pos, + angle_y, 0); + break; + } + + case 1: + case 2: { + mEventTimer = timer_val; + break; + } + + case 3: { + mFaceMotionSeqMngr.setNo(9, 0.0f, 0, 0); + mMotionSeqMngr.setNo(0, 0.0f, 0, 0); + setAngle(home.angle.y); + my_vec_0.set(0.0f, 40.0f, 40.0f); + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::YrotM(mCurAngle.y - 0x2800); + mDoMtx_stack_c::multVec(&my_vec_0, &field_0xd6c); + mJntAnm.sorasu2(&field_0xd6c, 1); + initTalk(22, NULL); + dComIfGp_getEvent().setPtT(this); + dComIfGp_getEvent().setPt2(this); + } + } + } + + switch (prm_val) { + case 0: { + retval = 1; + break; + } + + case 1: + case 2: { + if (cLib_calcTimer(&mEventTimer) == 0) { + retval = 1; + } + + break; + } + + case 3: { + if (talkProc(NULL, 0, NULL, 0)) { + retval = 1; + } + + break; + } + + default: { + retval = 1; + break; + } + } + + return retval; } /* 80561614-8056178C 006174 0178+00 1/0 0/0 0/0 .text cutTagPush1__12daNpc_Maro_cFi */ -void daNpc_Maro_c::cutTagPush1(int param_0) { - // NONMATCHING +int daNpc_Maro_c::cutTagPush1(int arg0) { + int* param_p = NULL; + int prm_val = -1; + param_p = dComIfGp_evmng_getMyIntegerP(arg0, "prm"); + if (param_p != NULL) { + prm_val = *param_p; + } + + if (dComIfGp_getEventManager().getIsAddvance(arg0)) { + switch (prm_val) { + case 0: { + break; + } + + case 1: { + mFaceMotionSeqMngr.setNo(9, 0.0f, 0, 0); + mMotionSeqMngr.setNo(0, 0.0f, 0, 0); + mJntAnm.lookCamera(0); + field_0x1132 = 1; + } + } + } + + switch (prm_val) { + case 0: { + action(); + mEvtNo = 0; + return 1; + } + + case 1: { + return 1; + } + } + + return 1; } /* 8056178C-80561E70 0062EC 06E4+00 3/0 0/0 0/0 .text cutNotGonnaLet__12daNpc_Maro_cFi */ -void daNpc_Maro_c::cutNotGonnaLet(int param_0) { - // NONMATCHING +int daNpc_Maro_c::cutNotGonnaLet(int arg0) { + fopAc_ac_c* actor_p = NULL; + cXyz my_vec_0; + int retval = 0; + int* param_p = NULL; + int prm_val = -1; + param_p = dComIfGp_evmng_getMyIntegerP(arg0, "prm"); + if (param_p != NULL) { + prm_val = *param_p; + } + + if (dComIfGp_getEventManager().getIsAddvance(arg0)) { + switch (prm_val) { + case 0: { + endChoccai(); + field_0x1132 = 1; + break; + } + + case 1: { + mFaceMotionSeqMngr.setNo(9, 0.0f, 0, 0); + mMotionSeqMngr.setNo(4, 0.0f, 0, 0); + actor_p = mActorMngr[3].getActorP(); + JUT_ASSERT(0x108E, 0 != actor_p); + mJntAnm.lookActor(actor_p, -40.0f, 0); + my_vec_0.set(-718.0f, 1331.0f, -2139.0f); + setPos(my_vec_0); + setAngle(cM_deg2s(50.0f)); + mStepMode = 0; + break; + } + + case 2: { + mJntAnm.lookPlayer(0); + break; + } + + case 4: { + mFaceMotionSeqMngr.setNo(9, 0.0f, 0, 0); + mMotionSeqMngr.setNo(0, 0.0f, 0, 0); + mJntAnm.lookPlayer(0); + field_0x1132 = 0; + my_vec_0.set(-511.0f, 1370.0f, -2153.0f); + setPos(my_vec_0); + setAngle(cM_deg2s(30.0f)); + break; + } + + case 20: { + mFaceMotionSeqMngr.setNo(9, 0.0f, 0, 0); + mMotionSeqMngr.setNo(0, 0.0f, 0, 0); + actor_p = mActorMngr[3].getActorP(); + JUT_ASSERT(0x10B0, 0 != actor_p); + mJntAnm.lookActor(actor_p, -40.0f, 0); + my_vec_0.set(-718.0f, 1331.0f, -2139.0f); + setPos(my_vec_0); + setAngle(cM_deg2s(50.0f)); + mStepMode = 0; + break; + } + + case 21: { + my_vec_0.set(0.0f, 30.0f, 30.0f); + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::YrotM(mCurAngle.y - 0x2800); + mDoMtx_stack_c::multVec(&my_vec_0, &field_0xd6c); + mJntAnm.sorasu1(&field_0xd6c, 0); + break; + } + + case 31: { + mFaceMotionSeqMngr.setNo(9, 0.0f, 0, 0); + mMotionSeqMngr.setNo(0, 0.0f, 0, 0); + mJntAnm.lookPlayer(1); + findPlayer(); + setAngle(home.angle.y); + break; + } + } + } + + switch (prm_val) { + case 0: { + action(); + retval = 1; + break; + } + + case 1: { + retval = 1; + break; + } + + case 2: { + if (mCurAngle.y != fopAcM_searchPlayerAngleY(this)) { + if (step(fopAcM_searchPlayerAngleY(this), 9, 7, 15, 0)) { + mFaceMotionSeqMngr.setNo(9, -1.0f, 0, 0); + mMotionSeqMngr.setNo(0, -1.0f, 0, 0); + } + } else { + retval = 1; + } + + break; + } + + case 3: + case 4: + case 20: + case 21: { + retval = 1; + break; + } + + case 30: { + action(); + retval = 1; + break; + } + + case 31: { + retval = 1; + break; + } + + default: { + retval = 1; + break; + } + } + + return retval; } -/* ############################################################################################## */ -/* 80564D4C-80564D50 0001A0 0004+00 0/1 0/0 0/0 .rodata @7496 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7496 = 70.0f; -COMPILER_STRIP_GATE(0x80564D4C, &lit_7496); -#pragma pop - -/* 80564D50-80564D54 0001A4 0004+00 0/1 0/0 0/0 .rodata @7497 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7497 = 500.0f; -COMPILER_STRIP_GATE(0x80564D50, &lit_7497); -#pragma pop - -/* 80564D54-80564D58 0001A8 0004+00 0/1 0/0 0/0 .rodata @7498 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7498 = 150.0f; -COMPILER_STRIP_GATE(0x80564D54, &lit_7498); -#pragma pop - /* 80561E70-80562174 0069D0 0304+00 1/0 0/0 0/0 .text cutTalkToKakashi__12daNpc_Maro_cFi */ -void daNpc_Maro_c::cutTalkToKakashi(int param_0) { - // NONMATCHING +int daNpc_Maro_c::cutTalkToKakashi(int arg0) { + fopAc_ac_c* actor_p = NULL; + cXyz my_vec_0; + cXyz temp; + int retval = 0; + int* param_p = NULL; + int prm_val = -1; + s16 angle_y; + param_p = dComIfGp_evmng_getMyIntegerP(arg0, "prm"); + if (param_p != NULL) { + prm_val = *param_p; + } + + if (dComIfGp_getEventManager().getIsAddvance(arg0)) { + switch (prm_val) { + case 0: { + my_vec_0.set(0.0f, 0.0f, 70.0f); + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::YrotM(mCurAngle.y); + mDoMtx_stack_c::multVec(&my_vec_0, &temp); + mDoMtx_stack_c::transS(temp); + mDoMtx_stack_c::YrotM(cLib_targetAngleY(&temp, &daPy_getPlayerActorClass()->current.pos)); + my_vec_0.set(0.0f, 500.0f, 150.0f); + mDoMtx_stack_c::multVec(&my_vec_0, &temp); + mGndChk.SetPos(&temp); + temp.y = dComIfG_Bgsp().GroundCross(&mGndChk); + JUT_ASSERT(0xDA9, -(1000000000.0f) != temp.y); + angle_y = cLib_targetAngleY(&temp, ¤t.pos); + daPy_getPlayerActorClass()->setPlayerPosAndAngle(&temp, angle_y, 0); + break; + } + + case 1: { + mFaceMotionSeqMngr.setNo(9, 0.0f, 0, 0); + mMotionSeqMngr.setNo(0, 0.0f, 0, 0); + actor_p = mActorMngr[0].getActorP(); + JUT_ASSERT(0x1133, 0 != actor_p); + mJntAnm.lookActor(actor_p, -40.0f, 1); + initTalk(mFlowNodeNo, NULL); + break; + } + } + } + + switch (prm_val) { + case 0: { + mDamageTimer = 1; + action(); + retval = 1; + break; + } + + case 1: { + if (talkProc(NULL, 0, NULL, 0)) { + retval = 1; + } + + break; + } + + default: { + retval = 1; + break; + } + } + + return retval; } /* 80562174-805629A4 006CD4 0830+00 2/0 0/0 0/0 .text wait__12daNpc_Maro_cFPv */ -void daNpc_Maro_c::wait(void* param_0) { - // NONMATCHING +int daNpc_Maro_c::wait(void* param_0) { + fopAc_ac_c* actor_p = NULL; + switch (mMode) { + case 0: + case 1: { + if (mStagger.checkStagger() == 0) { + mFaceMotionSeqMngr.setNo(9, -1.0f, 0, 0); + mMotionSeqMngr.setNo(0, -1.0f, 0, 0); + mMode = 2; + } + } + + case 2: { + switch (mType) { + case 0: { + if (daNpcT_chkEvtBit(0x1F) && mHide) { + fopAcM_delete(this); + return 1; + } + + break; + } + + case 3: { + actor_p = (daNpc_Len_c*)mActorMngr[8].getActorP(); + if (actor_p != NULL && + ((daNpc_Len_c*) actor_p)->checkStartDemo13StbEvt( + this, daNpc_Maro_Param_c::m.field_0x70, daNpc_Maro_Param_c::m.field_0x74, + daNpc_Maro_Param_c::m.field_0x78, daNpc_Maro_Param_c::m.field_0x7c, + daNpc_Maro_Param_c::m.field_0x80, daNpc_Maro_Param_c::m.field_0x84, + daNpc_Maro_Param_c::m.field_0x88)) + { + mEvtNo = 7; + field_0x1133 = 1; + } + + if (field_0x1133 && daNpcT_chkEvtBit(0x3C) && dComIfGp_event_runCheck() == 0) { + field_0x1133 = 0; + } + + break; + } + + case 11: { + if (!daNpcT_chkEvtBit(0x266)) { + mSpeakEvent = true; + field_0xe33 = 1; + } + + break; + } + + case 12: { + if (daNpcT_chkEvtBit(0x25C)) { + fopAcM_delete(this); + return 1; + } + + break; + } + } + + if (mStagger.checkStagger() == 0) { + if (mType == 3) { + mJntAnm.lookNone(0); + if (getBitSW() != 0xFF) { + if (dComIfGs_isSwitch(getBitSW(), fopAcM_GetRoomNo(this))) { + field_0xd6c.setall(0.0f); + mJntAnm.lookPos(&field_0xd6c, 0); + } + } + + attention_info.flags = 0; + } else { + switch (mType) { + case 1: + case 2: { + mPlayerActorMngr.remove(); + break; + } + + case 4: + case 5: { + mPlayerActorMngr.remove(); + if (dComIfGs_isTmpBit(0xD02)) { + mPlayerActorMngr.entry(daPy_getPlayerActorClass()); + } + + mJntAnm.lookNone(0); + break; + } + + case 10: { + mPlayerActorMngr.remove(); + break; + } + } + + if (mPlayerActorMngr.getActorP() != NULL) { + if (mType != 4 && mType != 5) { + mJntAnm.lookPlayer(0); + if (chkActorInSight(mPlayerActorMngr.getActorP(), mAttnFovY, mCurAngle.y) == 0) { + mJntAnm.lookNone(0); + } + + if (srchPlayerActor() == 0 && home.angle.y == mCurAngle.y) { + mMode = 1; + } + } + } else { + mJntAnm.lookNone(0); + if (home.angle.y != mCurAngle.y) { + if (field_0xe34) { + if (step(home.angle.y, 9, 7, 15, 0)) { + mMode = 1; + } + } else { + setAngle(home.angle.y); + mMode = 1; + } + + attention_info.flags = 0; + } else if (mTwilight == 0 && mType != 4 && mType != 5) { + srchPlayerActor(); + } + } + + if (mType == 11) { + if (mJntAnm.getMode() == 1) { + dComIfGs_setTmpReg(0xFBFFU, 2); + } else { + dComIfGs_setTmpReg(0xFBFFU, 1); + } + + if (mPlayerActorMngr.getActorP() == NULL) { + dComIfGs_setTmpReg(0xFBFFU, 0); + } + } + } + + switch (mJntAnm.getMode()) { + case 0: { + switch (mType) { + case 1: + case 2: { + actor_p = mActorMngr[0].getActorP(); + if (actor_p != NULL) { + mJntAnm.lookActor(actor_p, -40.0f, 0); + } + + break; + } + + case 4: + case 5: { + if (dComIfGs_isTmpBit(0xE40)) { + mJntAnm.lookPlayer(0); + } + + break; + } + + case 10: { + if (daNpcT_chkTmpBit(0x64)) { + field_0x1139 = 1; + home.angle.y = -0x8000; + } + + if (field_0x1139) { + mJntAnm.lookCamera(0); + } else { + actor_p = mActorMngr[2].getActorP(); + if (actor_p != NULL) { + mJntAnm.lookActor(actor_p, -40.0f, 0); + } + } + + break; + } + } + + break; + } + } + + switch (mType) { + case 4: + case 5: + case 10: { + attention_info.flags = 0; + break; + } + } + } + } + + case 3: { + break; + } + } + + return 1; } /* 805629A4-80562B14 007504 0170+00 2/0 0/0 0/0 .text swdTutorial__12daNpc_Maro_cFPv */ -void daNpc_Maro_c::swdTutorial(void* param_0) { - // NONMATCHING +int daNpc_Maro_c::swdTutorial(void* ) { + switch (mMode) { + case 0: + case 1: { + if (mStagger.checkStagger() == 0) { + mFaceMotionSeqMngr.setNo(9, -1.0f, 0, 0); + mMotionSeqMngr.setNo(0, -1.0f, 0, 0); + mMode = 2; + } + } + // fallthrough intentional + case 2: { + if (mStagger.checkStagger() == 0) { + mJntAnm.lookPlayer(0); + if (home.angle.y != mCurAngle.y) { + if (field_0xe34) { + if (step(home.angle.y, 9, 7, 15, 0)) { + mMode = 1; + } + } else { + setAngle(home.angle.y); + mMode = 1; + } + } + } + + attention_info.flags = 0; + break; + } + + case 3: { + break; + } + } + + return 1; } /* 80562B14-80562CA4 007674 0190+00 1/0 0/0 0/0 .text talk_withTaro__12daNpc_Maro_cFPv */ -void daNpc_Maro_c::talk_withTaro(void* param_0) { - // NONMATCHING +int daNpc_Maro_c::talk_withTaro(void* ) { + switch (mMode) { + case 0: + case 1: { + mFaceMotionSeqMngr.setNo(9, -1.0f, 0, 0); + mMotionSeqMngr.setNo(0, -1.0f, 0, 0); + mMode = 2; + } + // fallthrough intentional + case 2: { + if (mStagger.checkStagger() == 0) { + mJntAnm.lookNone(0); + if (field_0x1132 || srchPlayerActor()) { + mJntAnm.lookPlayer(0); + } + + if (home.angle.y != mCurAngle.y) { + if (step(home.angle.y, 9, 7, 15, 0)) { + mMode = 1; + } + } + } + + break; + } + + case 3: { + break; + } + } + + return 1; } /* 80562CA4-80562EC8 007804 0224+00 1/0 0/0 2/0 .text choccai__12daNpc_Maro_cFPv */ -void daNpc_Maro_c::choccai(void* param_0) { - // NONMATCHING +int daNpc_Maro_c::choccai(void* ) { + fopAc_ac_c* actor_p = NULL; + switch (mMode) { + case 0: + case 1: { + mFaceMotionSeqMngr.setNo(9, -1.0f, 0, 0); + mMotionSeqMngr.setNo(0, -1.0f, 0, 0); + mMode = 2; + } + // fallthrough intentional + case 2: { + if (mStagger.checkStagger() == 0) { + mJntAnm.lookNone(0); + actor_p = mActorMngr[1].getActorP(); + if (actor_p != NULL) { + s16 angle_y = fopAcM_searchActorAngleY(this, actor_p) + 0xA9E; + if (angle_y != mCurAngle.y) { + step(angle_y, 9, 7, 15, 0); + } + + if (checkNowMotionIsChoccai() == 0) { + mFaceMotionSeqMngr.setNo(2, -1.0f, 0, 0); + mMotionSeqMngr.setNo(5, -1.0f, 0, 0); + } else if (checkEndMotionIsChoccai()) { + endChoccai(); + } + } + + attention_info.flags = 0; + } + + break; + } + + case 3: { + break; + } + } + + return 1; } /* 80562EC8-8056319C 007A28 02D4+00 2/0 0/0 0/0 .text tend__12daNpc_Maro_cFPv */ -void daNpc_Maro_c::tend(void* param_0) { - // NONMATCHING +int daNpc_Maro_c::tend(void* ) { + daTag_ShopItem_c* actor_p = (daTag_ShopItem_c*) mActorMngr[5].getActorP(); + int do_step = 0; + switch (mMode) { + case 0: + case 1: { + if (actor_p == NULL) { + break; + } + + if (dComIfGs_isSaveSwitch(actor_p->getSwitchBit1()) == 0) { + mFaceMotionSeqMngr.setNo(7, -1.0f, 0, 0); + mMotionSeqMngr.setNo(2, -1.0f, 0, 0); + } else { + mFaceMotionSeqMngr.setNo(7, -1.0f, 0, 0); + mMotionSeqMngr.setNo(0, -1.0f, 0, 0); + } + + mMode = 2; + } + // fallthrough intentional + case 2: { + mJntAnm.lookNone(0); + if (field_0x112c == 2) { + mSpeakEvent = true; + field_0xe33 = 1; + } + + if (dComIfGs_isSaveSwitch(actor_p->getSwitchBit1()) == 0 + && daNpcT_chkDoBtnIsSpeak(this)) { + dComIfGp_setDoStatusForce(0x39, 2); + } + + if (srchPlayerActor()) { + mJntAnm.lookPlayer(0); + do_step = checkStep(); + } else { + mJntAnm.lookNone(0); + do_step = home.angle.y != mCurAngle.y; + } + + if (do_step && step(home.angle.y, 9, 7, 15, 0)) { + mMode = 1; + } + + break; + } + + case 3: { + break; + } + } + + return 1; } /* 8056319C-8056342C 007CFC 0290+00 3/0 0/0 0/0 .text arrowTutorial__12daNpc_Maro_cFPv */ -void daNpc_Maro_c::arrowTutorial(void* param_0) { - // NONMATCHING +int daNpc_Maro_c::arrowTutorial(void* ) { + daTag_EvtArea_c* actor_p = NULL; + int unused = 0; + (void) unused; + switch (mMode) { + case 0: + case 1: { + if (mStagger.checkStagger() == 0) { + mFaceMotionSeqMngr.setNo(9, -1.0f, 0, 0); + mMotionSeqMngr.setNo(0, -1.0f, 0, 0); + mMode = 2; + } + } + // fallthrough intentional + case 2: { + mHide = daNpcT_chkTmpBit(0x3C) == 0; + if (!mHide) { + if (field_0x1135) { + mEvtNo = 12; + field_0xe33 = 1; + } else { + actor_p = (daTag_EvtArea_c*) mActorMngr[6].getActorP(); + if (actor_p != NULL && !(daPy_getPlayerActorClass()->eventInfo.chkCondition(1) == 0)) { + if (actor_p->chkPointInArea(daPy_getPlayerActorClass()->current.pos) == 0) { + mEvtNo = 9; + } + } + + if (field_0x1137 || field_0x1136) { + mSpeakEvent = true; + } + } + + if (daNpcT_chkEvtBit(0x47) == 0 && dComIfG_getTimerPtr() != NULL + && dComIfG_getTimerMode() == 0 && dComIfG_getTimerPtr()->getRestTimeMs() == 0) { + field_0x1136 = 1; + } + } + + if (mStagger.checkStagger() == 0) { + mJntAnm.lookPlayer(0); + if (home.angle.y != mCurAngle.y && field_0x1135 == 0) { + if (field_0xe34) { + if (step(home.angle.y, 9, 7, 15, 0)) { + mMode = 1; + } + } else { + setAngle(home.angle.y); + mMode = 1; + } + + attention_info.flags = 0; + } + } + + break; + } + + case 3: { + break; + } + } + + return 1; } /* 8056342C-80563660 007F8C 0234+00 3/0 0/0 0/0 .text talk__12daNpc_Maro_cFPv */ -void daNpc_Maro_c::talk(void* param_0) { - // NONMATCHING +int daNpc_Maro_c::talk(void* param_0) { + switch (mMode) { + case 0: + case 1: { + if (mStagger.checkStagger() == 0) { + initTalk((field_0x1137) ? 26 : (field_0x1136) ? 28 : mFlowNodeNo, NULL); + mMode = 2; + } + } + // fallthrough intentional + case 2: { + if (mStagger.checkStagger() == 0) { + if (mTwilight != 0 || mPlayerAngle == mCurAngle.y) { + if (talkProc(NULL, 0, NULL, 0)) { + int evt_id; + int get_ret = mFlow.getEventId(&evt_id); + if (get_ret == 8 && evt_id == 1) { + mEvtNo = 11; + evtChange(); + } else if (mFlow.checkEndFlow()) { + mPlayerActorMngr.entry(daPy_getPlayerActorClass()); + dComIfGp_event_reset(); + mMode = 3; + } + + field_0x1136 = 0; + field_0x1137 = 0; + } + + mJntAnm.lookPlayer(0); + if (mTwilight) { + mJntAnm.lookNone(0); + } + } else { + mJntAnm.lookPlayer(0); + step(mPlayerAngle, 9, 7, 15, 0); + } + } + + break; + } + + case 3: { + break; + } + } + + return 0; } /* 80563660-80563780 0081C0 0120+00 2/0 0/0 0/0 .text shop__12daNpc_Maro_cFPv */ -void daNpc_Maro_c::shop(void* param_0) { - // NONMATCHING +int daNpc_Maro_c::shop(void* param_0) { + int retval = 0; + switch (mMode) { + case 0: + case 1: { + if (field_0x112c == 2) { + shop_init(true); + } else { + mShopCamAction.Save(); + initTalk(mFlowNodeNo, NULL); + shop_init(false); + } + + mJntAnm.lookCamera(0); + mMode = 2; + } + // fallthrough intentional + case 2: { + field_0x112c = shop_process(this, &mFlow); + if (field_0x112c) { + mPlayerActorMngr.entry(daPy_getPlayerActorClass()); + dComIfGp_event_reset(); + field_0x1130 = 1; + mMode = 3; + } + + break; + } + + case 3: { + break; + } + } + + return retval; } /* 80563780-805637A0 0082E0 0020+00 1/0 0/0 0/0 .text daNpc_Maro_Create__FPv */ -static void daNpc_Maro_Create(void* param_0) { - // NONMATCHING +static int daNpc_Maro_Create(void* i_this) { + return static_cast(i_this)->create(); } /* 805637A0-805637C0 008300 0020+00 1/0 0/0 0/0 .text daNpc_Maro_Delete__FPv */ -static void daNpc_Maro_Delete(void* param_0) { - // NONMATCHING +static int daNpc_Maro_Delete(void* i_this) { + return static_cast(i_this)->Delete(); } /* 805637C0-805637E0 008320 0020+00 1/0 0/0 0/0 .text daNpc_Maro_Execute__FPv */ -static void daNpc_Maro_Execute(void* param_0) { - // NONMATCHING +static int daNpc_Maro_Execute(void* i_this) { + return static_cast(i_this)->Execute(); } /* 805637E0-80563800 008340 0020+00 1/0 0/0 0/0 .text daNpc_Maro_Draw__FPv */ -static void daNpc_Maro_Draw(void* param_0) { - // NONMATCHING +static int daNpc_Maro_Draw(void* i_this) { + return static_cast(i_this)->Draw(); } /* 80563800-80563808 008360 0008+00 1/0 0/0 0/0 .text daNpc_Maro_IsDelete__FPv */ -static bool daNpc_Maro_IsDelete(void* param_0) { - return true; +static int daNpc_Maro_IsDelete(void* i_this) { + return 1; } -/* 80563808-80563838 008368 0030+00 1/0 0/0 0/0 .text calc__11J3DTexNoAnmCFPUs */ -// void J3DTexNoAnm::calc(u16* param_0) const { -extern "C" void calc__11J3DTexNoAnmCFPUs() { - // NONMATCHING -} - -/* 80563838-80563880 008398 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */ -// cCcD_GStts::~cCcD_GStts() { -extern "C" void __dt__10cCcD_GSttsFv() { - // NONMATCHING -} - -/* 80563880-805638C8 0083E0 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 -} - -/* 805638C8-80563904 008428 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 -} - -/* 80563904-8056394C 008464 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */ -// cM3dGCyl::~cM3dGCyl() { -extern "C" void __dt__8cM3dGCylFv() { - // NONMATCHING -} - -/* 8056394C-80563994 0084AC 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */ -// cM3dGAab::~cM3dGAab() { -extern "C" void __dt__8cM3dGAabFv() { - // NONMATCHING -} - -/* 80563994-805639D0 0084F4 003C+00 2/2 0/0 0/0 .text __dt__4cXyzFv */ -// cXyz::~cXyz() { -extern "C" void __dt__4cXyzFv() { - // NONMATCHING -} - -/* 805639D0-80563A0C 008530 003C+00 1/1 0/0 0/0 .text __dt__5csXyzFv */ -// csXyz::~csXyz() { -extern "C" void __dt__5csXyzFv() { - // NONMATCHING -} - -/* 80563A0C-80563E10 00856C 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 -} - -/* 80563E10-80563E14 008970 0004+00 1/1 0/0 0/0 .text __ct__5csXyzFv */ -// csXyz::csXyz() { -extern "C" void __ct__5csXyzFv() { - /* empty function */ -} - -/* 80563E14-80563F10 008974 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 -} - -/* 80563F10-80563F14 008A70 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -// cXyz::cXyz() { -extern "C" void __ct__4cXyzFv() { - /* empty function */ -} - -/* 80563F14-80563F5C 008A74 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 -} - -/* 80563F5C-80563FCC 008ABC 0070+00 1/0 0/0 0/0 .text __dt__12dBgS_AcchCirFv */ -// dBgS_AcchCir::~dBgS_AcchCir() { -extern "C" void __dt__12dBgS_AcchCirFv() { - // NONMATCHING -} - -/* 80563FCC-80564028 008B2C 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */ -// dCcD_GStts::~dCcD_GStts() { -extern "C" void __dt__10dCcD_GSttsFv() { - // NONMATCHING -} - -/* 80564028-80564098 008B88 0070+00 3/2 0/0 0/0 .text __dt__12dBgS_ObjAcchFv */ -// dBgS_ObjAcch::~dBgS_ObjAcch() { -extern "C" void __dt__12dBgS_ObjAcchFv() { - // NONMATCHING -} - -/* 80564098-805640E0 008BF8 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */ -// J3DFrameCtrl::~J3DFrameCtrl() { -extern "C" void __dt__12J3DFrameCtrlFv() { - // NONMATCHING -} - -/* 805640E0-805641FC 008C40 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 -} - -/* 805641FC-80564404 008D5C 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 -} - -/* 80564404-805644E8 008F64 00E4+00 1/1 0/0 0/0 .text - * lookActor__15daNpcT_JntAnm_cFP10fopAc_ac_cfUc */ -// void daNpcT_JntAnm_c::lookActor(fopAc_ac_c* param_0, f32 param_1, u8 param_2) { -extern "C" void lookActor__15daNpcT_JntAnm_cFP10fopAc_ac_cfUc() { - // NONMATCHING -} - -/* 805644E8-80564630 009048 0148+00 1/1 0/0 0/0 .text absXZ__4cXyzCFRC3Vec */ -// void cXyz::absXZ(Vec const& param_0) const { -extern "C" void absXZ__4cXyzCFRC3Vec() { - // NONMATCHING -} - -/* 80564630-80564634 009190 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 */ -} - -/* 80564634-8056463C 009194 0008+00 1/0 0/0 0/0 .text getFootLJointNo__8daNpcT_cFv */ -s32 getFootLJointNo__8daNpcT_cFv() { - return -1; -} - -/* 8056463C-80564644 00919C 0008+00 1/0 0/0 0/0 .text getFootRJointNo__8daNpcT_cFv */ -s32 getFootRJointNo__8daNpcT_cFv() { - return -1; -} - -/* 80564644-8056464C 0091A4 0008+00 1/0 0/0 0/0 .text getEyeballLMaterialNo__8daNpcT_cFv - */ -// bool daNpcT_c::getEyeballLMaterialNo() { -extern "C" bool getEyeballLMaterialNo__8daNpcT_cFv() { - return false; -} - -/* 8056464C-80564654 0091AC 0008+00 1/0 0/0 0/0 .text getEyeballRMaterialNo__8daNpcT_cFv - */ -// bool daNpcT_c::getEyeballRMaterialNo() { -extern "C" bool getEyeballRMaterialNo__8daNpcT_cFv() { - return false; -} - -/* 80564658-80564660 0091B8 0008+00 1/0 0/0 0/0 .text chkXYItems__8daNpcT_cFv */ -// bool daNpcT_c::chkXYItems() { -extern "C" bool chkXYItems__8daNpcT_cFv() { - return false; -} - -/* 80564660-80564678 0091C0 0018+00 1/0 0/0 0/0 .text decTmr__8daNpcT_cFv */ -// void daNpcT_c::decTmr() { -extern "C" void decTmr__8daNpcT_cFv() { - // NONMATCHING -} - -/* 80564678-8056467C 0091D8 0004+00 1/0 0/0 0/0 .text drawGhost__8daNpcT_cFv */ -// void daNpcT_c::drawGhost() { -extern "C" void drawGhost__8daNpcT_cFv() { - /* empty function */ -} - -/* 8056467C-80564684 0091DC 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; -} - -/* 80564684-8056468C 0091E4 0008+00 1/0 0/0 0/0 .text afterSetMotionAnm__8daNpcT_cFiifi - */ -// bool daNpcT_c::afterSetMotionAnm(int param_0, int param_1, f32 param_2, int param_3) { -extern "C" bool afterSetMotionAnm__8daNpcT_cFiifi() { - return true; -} - -/* 8056468C-80564690 0091EC 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 */ -} - -/* 80564690-80564694 0091F0 0004+00 1/0 0/0 0/0 .text changeBck__8daNpcT_cFPiPi */ -// void daNpcT_c::changeBck(int* param_0, int* param_1) { -extern "C" void changeBck__8daNpcT_cFPiPi() { - /* empty function */ -} - -/* 80564694-80564698 0091F4 0004+00 1/0 0/0 0/0 .text changeBtp__8daNpcT_cFPiPi */ -// void daNpcT_c::changeBtp(int* param_0, int* param_1) { -extern "C" void changeBtp__8daNpcT_cFPiPi() { - /* empty function */ -} - -/* 80564698-8056469C 0091F8 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 */ -} - -/* 8056469C-805646B8 0091FC 001C+00 5/5 0/0 0/0 .text cLib_calcTimer__FPi */ -extern "C" void func_8056469C(void* _this, int* param_0) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80565D74-80565D80 000DE4 000C+00 2/2 0/0 0/0 .data __vt__18daNpc_Maro_Param_c */ -SECTION_DATA extern void* __vt__18daNpc_Maro_Param_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__18daNpc_Maro_Param_cFv, -}; - -/* 80565D88-80565D94 000008 000C+00 1/1 0/0 0/0 .bss @4118 */ -static u8 lit_4118[12]; - /* 80565D94-80565D98 000014 0004+00 1/1 0/0 0/0 .bss l_HIO */ -static u8 l_HIO[4]; - -/* 805646B8-805648A4 009218 01EC+00 0/0 1/0 0/0 .text __sinit_d_a_npc_maro_cpp */ -void __sinit_d_a_npc_maro_cpp() { - // NONMATCHING -} - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x805646B8, __sinit_d_a_npc_maro_cpp); -#pragma pop +static daNpc_Maro_Param_c l_HIO; /* 80564970-80564978 0094D0 0008+00 1/0 0/0 0/0 .text getEyeballMaterialNo__12daNpc_Maro_cFv */ s32 daNpc_Maro_c::getEyeballMaterialNo() { @@ -2493,70 +3491,29 @@ s32 daNpc_Maro_c::getBackboneJointNo() { return 1; } -/* 80564990-805649A0 0094F0 0010+00 1/0 0/0 0/0 .text checkChangeJoint__12daNpc_Maro_cFi - */ -BOOL daNpc_Maro_c::checkChangeJoint(int param_0) { - // NONMATCHING -} +/* 80565BB8-80565BD8 -00001 0020+00 1/0 0/0 0/0 .data daNpc_Maro_MethodTable */ +static actor_method_class daNpc_Maro_MethodTable = { + (process_method_func)daNpc_Maro_Create, + (process_method_func)daNpc_Maro_Delete, + (process_method_func)daNpc_Maro_Execute, + (process_method_func)daNpc_Maro_IsDelete, + (process_method_func)daNpc_Maro_Draw, +}; -/* 805649A0-805649B0 009500 0010+00 1/0 0/0 0/0 .text checkRemoveJoint__12daNpc_Maro_cFi - */ - BOOL daNpc_Maro_c::checkRemoveJoint(int param_0) { - // NONMATCHING -} - -/* 805649B0-805649F8 009510 0048+00 2/1 0/0 0/0 .text __dt__18daNpc_Maro_Param_cFv */ -daNpc_Maro_Param_c::~daNpc_Maro_Param_c() { - // NONMATCHING -} - -/* 805649F8-80564A00 009558 0008+00 1/0 0/0 0/0 .text @36@__dt__12dBgS_ObjAcchFv */ -static void func_805649F8() { - // NONMATCHING -} - -/* 80564A00-80564A08 009560 0008+00 1/0 0/0 0/0 .text @20@__dt__12dBgS_ObjAcchFv */ -static void func_80564A00() { - // NONMATCHING -} - -/* 80564A08-80564B20 009568 0118+00 1/1 0/0 0/0 .text - * __ct__13dShopSystem_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc - */ -// dShopSystem_c::dShopSystem_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__13dShopSystem_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc() { - // NONMATCHING -} - -/* 80564B20-80564B28 009680 0008+00 1/0 0/0 0/0 .text getResName2__13dShopSystem_cFi */ -// bool dShopSystem_c::getResName2(int param_0) { -extern "C" bool getResName2__13dShopSystem_cFi() { - return false; -} - -/* 80564B28-80564B30 009688 0008+00 1/0 0/0 0/0 .text - * beforeStartSeqAction__13dShopSystem_cFP10dMsgFlow_ci */ -// bool dShopSystem_c::beforeStartSeqAction(dMsgFlow_c* param_0, int param_1) { -extern "C" bool beforeStartSeqAction__13dShopSystem_cFP10dMsgFlow_ci() { - return true; -} - -/* 80564B30-80564B38 009690 0008+00 1/0 0/0 0/0 .text - * beforeSelectSeqAction__13dShopSystem_cFP10dMsgFlow_ci */ -// bool dShopSystem_c::beforeSelectSeqAction(dMsgFlow_c* param_0, int param_1) { -extern "C" bool beforeSelectSeqAction__13dShopSystem_cFP10dMsgFlow_ci() { - return true; -} - -/* 80564B38-80564B98 009698 0060+00 1/1 0/0 0/0 .text chkPointInArea__15daTag_EvtArea_cF4cXyz */ -// void daTag_EvtArea_c::chkPointInArea(cXyz param_0) { -extern "C" void chkPointInArea__15daTag_EvtArea_cF4cXyz() { - // NONMATCHING -} - -/* 80564D58-80564D58 0001AC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +/* 80565BD8-80565C08 -00001 0030+00 0/0 0/0 1/0 .data g_profile_NPC_MARO */ +extern actor_process_profile_definition g_profile_NPC_MARO = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_NPC_MARO, // mProcName + &g_fpcLf_Method.base, // sub_method + sizeof(daNpc_Maro_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 353, // mPriority + &daNpc_Maro_MethodTable, // sub_method + 0x00040107, // mStatus + fopAc_NPC_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType +}; diff --git a/src/d/d_shop_camera.cpp b/src/d/d_shop_camera.cpp index abc0e7bea5d..fef905b6acb 100644 --- a/src/d/d_shop_camera.cpp +++ b/src/d/d_shop_camera.cpp @@ -51,10 +51,10 @@ int ShopCam_action_c::shop_cam_action_init() { player->onPlayerNoDraw(); setCamAction(&ShopCam_action_c::shop_cam_action); - if (field_0xd6 >= 0) { - field_0x7c = shop_cam_data_tbl[field_0xd6]->field_0x0; - field_0x88 = shop_cam_data_tbl[field_0xd6]->field_0xc; - field_0x94 = shop_cam_data_tbl[field_0xd6]->field_0x18; + if (mCamDataIdx >= 0) { + field_0x7c = shop_cam_data_tbl[mCamDataIdx]->field_0x0; + field_0x88 = shop_cam_data_tbl[mCamDataIdx]->field_0xc; + field_0x94 = shop_cam_data_tbl[mCamDataIdx]->field_0x18; } else if (field_0xd4 <= 0) { field_0x7c = field_0x38; field_0x88 = field_0x44; @@ -79,19 +79,19 @@ int ShopCam_action_c::shop_cam_action() { cXyz acStack_58; f32 dVar11; if (field_0xd4 <= 0) { - if (field_0xd6 >= 0) { - acStack_4c = shop_cam_data_tbl[field_0xd6]->field_0x0; - acStack_58 = shop_cam_data_tbl[field_0xd6]->field_0xc; - dVar11 = shop_cam_data_tbl[field_0xd6]->field_0x18; + if (mCamDataIdx >= 0) { + acStack_4c = shop_cam_data_tbl[mCamDataIdx]->field_0x0; + acStack_58 = shop_cam_data_tbl[mCamDataIdx]->field_0xc; + dVar11 = shop_cam_data_tbl[mCamDataIdx]->field_0x18; } else { acStack_4c = field_0x38; acStack_58 = field_0x44; dVar11 = field_0x50; } - } else if (field_0xd6 >= 0) { - acStack_4c = shop_cam_data_tbl[field_0xd6]->field_0x1c; - acStack_58 = shop_cam_data_tbl[field_0xd6]->field_0x28; - dVar11 = shop_cam_data_tbl[field_0xd6]->field_0x34; + } else if (mCamDataIdx >= 0) { + acStack_4c = shop_cam_data_tbl[mCamDataIdx]->field_0x1c; + acStack_58 = shop_cam_data_tbl[mCamDataIdx]->field_0x28; + dVar11 = shop_cam_data_tbl[mCamDataIdx]->field_0x34; } else { acStack_4c = field_0x54; acStack_58 = field_0x60; @@ -184,7 +184,7 @@ void ShopCam_action_c::move() { */ void ShopCam_action_c::setCamDataIdx(fopAc_ac_c* param_1, fopAc_ac_c* param_2, fopAc_ac_c* param_3, fopAc_ac_c* param_4, cXyz* param_5, cXyz* param_6) { - field_0xd6 = -1; + mCamDataIdx = -1; if (field_0x18 == NULL) { field_0xb0 = param_1->eyePos; } @@ -219,7 +219,7 @@ void ShopCam_action_c::setCamDataIdx(fopAc_ac_c* param_1, fopAc_ac_c* param_2, f void ShopCam_action_c::setCamDataIdx2(fopAc_ac_c* param_1, fopAc_ac_c* param_2, fopAc_ac_c* param_3, fopAc_ac_c* param_4, fopAc_ac_c* param_5, fopAc_ac_c* param_6, fopAc_ac_c* param_7, cXyz* param_8, cXyz* param_9) { - field_0xd6 = -1; + mCamDataIdx = -1; if (field_0x18 == NULL) { field_0xb0 = param_1->eyePos; } @@ -304,4 +304,4 @@ void ShopCam_action_c::setMasterCamCtrPos(cXyz* param_0) { field_0x38.x = field_0xb0.x; field_0x38.y = field_0xb0.y; field_0x38.z = field_0xb0.z; -} \ No newline at end of file +} diff --git a/src/d/d_shop_system.cpp b/src/d/d_shop_system.cpp index 9d077d142b9..4b30e4c68b8 100644 --- a/src/d/d_shop_system.cpp +++ b/src/d/d_shop_system.cpp @@ -161,7 +161,7 @@ void dShopSystem_c::initShopSystem() { offSpMode(); field_0xf6c = 0; field_0xf76 = 0; - field_0xf77 = 9; + mMasterType = 9; field_0xf78 = -1; mFlow.onNonStopJunpFlowFlag(); } @@ -806,7 +806,7 @@ int dShopSystem_c::itemZoom(cXyz* param_0) { local_34.set(g_cursorHIO.mObjZoom.x, g_cursorHIO.mObjZoom.y + -25.0f, g_cursorHIO.mObjZoom.z + 150.0f); } else { - if (field_0xf77 == 5) { + if (mMasterType == 5) { if (dShopSystem_itemNo[mCursorPos - 1] == fpcNm_ITEM_ARROW_10 || dShopSystem_itemNo[mCursorPos - 1] == fpcNm_ITEM_ARROW_20 || dShopSystem_itemNo[mCursorPos - 1] == fpcNm_ITEM_ARROW_30) @@ -838,7 +838,7 @@ int dShopSystem_c::itemZoom(cXyz* param_0) { local_1c.set(*param_0); } - u8 dvar1 = field_0xf77; + u8 dvar1 = mMasterType; if (dvar1 == 1) { if (dShopSystem_itemNo[mCursorPos - 1] == fpcNm_ITEM_OIL_BOTTLE) { mItemCtrl.setZoomAnime(mCursorPos, &local_1c, @@ -1469,7 +1469,7 @@ void dShopSystem_c::deleteObject() { /* 8019A5D0-8019AB00 194F10 0530+00 1/1 0/0 8/8 .text searchItemActor__13dShopSystem_cFv */ -int dShopSystem_c::searchItemActor() { +bool dShopSystem_c::searchItemActor() { u8 temp_data; if ((dShopSystem_item_count != -1 && ((dShopSystem_item_count < (temp_data = dShopSystem_sellItemMax)) || @@ -1548,7 +1548,7 @@ int dShopSystem_c::searchItemActor() { } } - if (field_0xf77 == 8) { + if (mMasterType == 8) { dShopSystem_cameraActor[0]->current.pos.set(-175.0f, 165.0f, 10.0f); dShopSystem_cameraActor[1]->current.pos.set(215.0f, 225.0f, 370.0f); } @@ -1559,7 +1559,7 @@ int dShopSystem_c::searchItemActor() { dShopSystem_itemActor[3], dShopSystem_itemActor[4], dShopSystem_itemActor[5], &dShopSystem_cameraActor[0]->current.pos, &dShopSystem_cameraActor[1]->current.pos); - if (field_0xf77 == 8) { + if (mMasterType == 8) { cXyz camCtrPos; camCtrPos.set(-180.0f, 245.0f, -380.0f); mShopCamAction.setMasterCamCtrPos(&camCtrPos); @@ -1633,14 +1633,18 @@ void dShopSystem_c::setSellItemMax(u8 i_max) { } /* 8019AB24-8019AB60 195464 003C+00 0/0 0/0 9/9 .text checkShopOpen__13dShopSystem_cFv */ -bool dShopSystem_c::checkShopOpen() { +BOOL dShopSystem_c::checkShopOpen() { for (int i = 0; i < 2; i++) { if (dShopSystem_cameraActor[i] != NULL) { return true; } } - return dShopSystem_camera_count != 0; + if (dShopSystem_camera_count) { + return true; + } else { + return false; + } } /* 8019AB60-8019AB84 1954A0 0024+00 3/3 0/0 0/0 .text