From e49ed1213d9b3de6b9f9ada9e347fc346d9737c5 Mon Sep 17 00:00:00 2001 From: Carco_21 <144170194+carter-ktb21@users.noreply.github.com> Date: Mon, 4 Aug 2025 15:25:39 -0400 Subject: [PATCH] d_a_npc_ykm work (#2566) * initial work * got to cut functions * Tiny work * All functions worked on * took out param dtor * naming work * cleanup * pr cleanup --- include/d/actor/d_a_npc.h | 17 + include/d/actor/d_a_npc_ykm.h | 362 +- include/d/actor/d_a_npc_ykw.h | 20 +- include/d/actor/d_a_obj_gadget.h | 29 +- include/d/d_com_inf_game.h | 2 +- include/d/d_save.h | 2 + include/d/d_tresure.h | 4 + src/d/actor/d_a_npc_ykm.cpp | 6370 +++++++++++++++++------------- src/d/actor/d_a_npc_ykw.cpp | 2 +- 9 files changed, 3926 insertions(+), 2882 deletions(-) diff --git a/include/d/actor/d_a_npc.h b/include/d/actor/d_a_npc.h index da87fa85c8d..03ab86691ce 100644 --- a/include/d/actor/d_a_npc.h +++ b/include/d/actor/d_a_npc.h @@ -289,6 +289,15 @@ public: setDirect(i_direct); } + void lookAround2(u8 i_direct, int i_baseTimer) { + if (setMode(LOOK_MODE_8, FALSE)) { + mTimer = 0; + } + + mBaseTimer = i_baseTimer; + setDirect(i_direct); + } + void sorasu1(cXyz *arg0, u8 arg1) { BOOL diff_ptrs = mAttnPosP != arg0; if (setMode(5, diff_ptrs) != 0) { @@ -334,6 +343,9 @@ public: mPower[i] = power; } } + void setRebirth() { + mRebirth = true; + } /* 0x00 */ csXyz mAngle[2]; /* 0x0C */ f32 mPower[2]; @@ -432,6 +444,8 @@ public: Vec getPntPos(int i_idx) { return mPathInfo->m_points[i_idx].m_position; } + u8 getArg0() { return mPathInfo->m_points[mIdx].mArg0; } + int chkClose() { BOOL rt = dPath_ChkClose(mPathInfo); return rt; @@ -456,6 +470,8 @@ public: mDirection = 0; field_0x1E = 1; } + + BOOL chkNextId() { return mPathInfo->m_nextID != 0xFFFF; } }; class mDoExt_McaMorfSO; @@ -761,6 +777,7 @@ void daNpcT_onEvtBit(u32 i_idx); BOOL daNpcT_chkTmpBit(u32 i_idx); BOOL daNpcT_getPlayerInfoFromPlayerList(int param_0, int i_roomNo, cXyz* o_spawnPos, csXyz* o_angle); +int daNpcT_judgeRace(dPath* i_path, fopAc_ac_c** param_1, daNpcT_pntData_c* i_pntData, int param_3, int* param_4); class daBaseNpc_matAnm_c : public J3DMaterialAnm { public: diff --git a/include/d/actor/d_a_npc_ykm.h b/include/d/actor/d_a_npc_ykm.h index 47e120dc0df..49bbfeb2ce3 100644 --- a/include/d/actor/d_a_npc_ykm.h +++ b/include/d/actor/d_a_npc_ykm.h @@ -2,6 +2,7 @@ #define D_A_NPC_YKM_H #include "d/actor/d_a_npc.h" +#include "d/d_save.h" #include "d/actor/d_a_npc_ykw.h" /** @@ -12,87 +13,322 @@ * @details * */ -class daNpc_ykM_c : public fopAc_ac_c { + +struct daNpc_ykM_HIOParam { + /* 0x00 */ daNpcT_HIOParam common; + /* 0x8C */ s16 step_speed; // ステップの速さ (Step Speed) + /* 0x8E */ s16 field_0x8e; + /* 0x90 */ f32 attention_dist; // 注目距離 (Attention Distance) + /* 0x94 */ f32 conversation_dist; // 会話距離 (Conversation Distance) + /* 0x98 */ f32 jump_speed; // 飛び出し速度 (Jump Speed) + /* 0x9C */ f32 push_out_angle; // 飛び出し角度 (Push-Out Angle) + /* 0xA0 */ f32 skip_frame; // 飛ばしフレ−ム (Skip Frame) + /* 0xA4 */ f32 fly_speed; // 飛ばし速度 (Fly Speed) + /* 0xA8 */ f32 fly_angle; // 飛ばし角度 (Fly Angle) + /* 0xAC */ f32 jump_init_speed; // ジャンプ初速 (Jump Initial Speed) + /* 0xB0 */ f32 slide_acceleration; // 滑り加速 (Slide Acceleration) + /* 0xB4 */ f32 slide_speed; // 滑り速度 (Slide Speed) + /* 0xB8 */ s16 wait_time; // ウエイト時間 (Wait Time) + /* 0xBA */ s16 field_0xba; + /* 0xBC */ f32 run_speed; // 走り速度 (Run Speed) + /* 0xC0 */ s16 competition_prm_a; // 競争パラメ−タa (Competition Parameter A) + /* 0xC2 */ s16 competition_prm_b; // 競争パラメ−タb (Competition Parameter B) + /* 0xC4 */ f32 competition_prm_c; // 競争パラメ−タc (Competition Parameter C) +}; + +class daNpc_ykM_Param_c : public JORReflexible { public: + /* 80B5D6C8 */ virtual ~daNpc_ykM_Param_c() {} + + static daNpc_ykM_HIOParam const m; +}; + +class daNpc_ykM_c : public daNpcT_c { +public: + enum FaceMotion { + /* 0x0 */ FACE_TALK_A, + /* 0x1 */ FACE_TALK_B, + /* 0x2 */ FACE_TALK_C, + /* 0x3 */ FACE_TALK_D, + /* 0x4 */ FACE_REGRET, + /* 0x5 */ FACE_LAUGH, + /* 0x6 */ FACE_ASK, + /* 0x7 */ FACE_SHOUT, + /* 0x8 */ FACE_SHUT, + /* 0x9 */ FACE_TALK_X, + /* 0xA */ FACE_HAPPY, + /* 0xB */ FACE_H_HAPPY, + /* 0xC */ FACE_TALK_Y, + /* 0xD */ FACE_H_REGRET, + /* 0xE */ FACE_H_LAUGH, + /* 0xF */ FACE_NONE, + }; + + enum Motion { + /* 0x00 */ MOTION_WAIT_A, + /* 0x01 */ MOTION_WAIT_B, + /* 0x02 */ MOTION_TALK_B, + /* 0x03 */ MOTION_TALK_C, + /* 0x04 */ MOTION_TALK_D, + /* 0x05 */ MOTION_TALK_E, + /* 0x06 */ MOTION_PUSH, + /* 0x08 */ MOTION_PICKUP = 8, + /* 0x09 */ MOTION_WAIT_C, + /* 0x0A */ MOTION_FUNWAIT, + /* 0x0B */ MOTION_REGRET, + /* 0x0C */ MOTION_LAUGH, + /* 0x0D */ MOTION_ASK, + /* 0x0E */ MOTION_FISH_WAIT_A, + /* 0x0F */ MOTION_FISH_TALK_B, + /* 0x10 */ MOTION_FISH_TALK_C, + /* 0x11 */ MOTION_FISH_REGRET, + /* 0x12 */ MOTION_FISH_LAUGH, + /* 0x13 */ MOTION_FISH_ASK, + /* 0x14 */ MOTION_FISH_LOOK, + /* 0x15 */ MOTION_WAITLIE, + /* 0x16 */ MOTION_WAKE, + /* 0x17 */ MOTION_DENY, + /* 0x18 */ MOTION_WAITWAKE, + /* 0x19 */ MOTION_HOLD, + /* 0x1A */ MOTION_WAITHOLD, + /* 0x1B */ MOTION_WAIT_X, + /* 0x1C */ MOTION_WAITHOLD_B_B, + /* 0x1D */ MOTION_WALK, + /* 0x1E */ MOTION_STEP, + /* 0x1F */ MOTION_POUR, + /* 0x20 */ MOTION_SB_WAIT, + /* 0x21 */ MOTION_SB_JUMP_A, + /* 0x22 */ MOTION_SB_JUMP_C, + /* 0x23 */ MOTION_RUN, + /* 0x24 */ MOTION_STOP, + /* 0x25 */ MOTION_HOLD_B, + /* 0x26 */ MOTION_38, + /* 0x27 */ MOTION_39, + /* 0x28 */ MOTION_SB_DAMAGE, + /* 0x29 */ MOTION_FISH_WAIT_A_2, + /* 0x2A */ MOTION_FISH_ATTACK, + /* 0x2B */ MOTION_FISH_JUMP, + /* 0x2C */ MOTION_SB_TURNL, + /* 0x2D */ MOTION_SB_TURNR, + /* 0x2E */ MOTION_SB_GOAL, + }; + + enum Leaf_Animation { + /* 0x00 */ ANM_LEAF_WAIT_A, + /* 0x01 */ ANM_LEAF_FALL, + /* 0x02 */ ANM_LEAF_WAIT_B, + }; + + enum Joint { + /* 0x00 */ JNT_CENTER, + /* 0x01 */ JNT_BB1, + /* 0x02 */ JNT_BB2, + /* 0x03 */ JNT_NECK, + /* 0x04 */ JNT_HEAD, + /* 0x05 */ JNT_CHIN, + /* 0x06 */ JNT_MAYUL, + /* 0x07 */ JNT_MAYUR, + /* 0x08 */ JNT_MOUTH, + /* 0x09 */ JNT_YKM_KURA, + /* 0x0A */ JNT_SHOULDERL, + /* 0x0B */ JNT_ARML1, + /* 0x0C */ JNT_ARML2, + /* 0x0D */ JNT_HANDL, + /* 0x0E */ JNT_FINGERL, + /* 0x0F */ JNT_THUMBL, + /* 0x10 */ JNT_SHOUDLERR, + /* 0x11 */ JNT_ARMR1, + /* 0x12 */ JNT_ARMR2, + /* 0x13 */ JNT_HANDR, + /* 0x14 */ JNT_FINGERR, + /* 0x15 */ JNT_THUMBR, + /* 0x16 */ JNT_WAIST, + /* 0x17 */ JNT_LEGL1, + /* 0x18 */ JNT_LEGL2, + /* 0x19 */ JNT_FOOTL, + /* 0x1A */ JNT_LEGR1, + /* 0x1B */ JNT_LEGR2, + /* 0x1C */ JNT_FOOTR, + /* 0x1D */ JNT_TAIL, + }; + + enum Type { + /* 0x0 */ TYPE_0, + /* 0x1 */ TYPE_COOK, + /* 0x2 */ TYPE_2, + /* 0x3 */ TYPE_3, + /* 0x4 */ TYPE_4, + /* 0x5 */ TYPE_5, + /* 0x6 */ TYPE_6, + /* 0x7 */ TYPE_7, + }; + + enum Event { + /* 0x0 */ EVENT_NONE, + /* 0x1 */ EVENT_NO_RESPONSE, + /* 0x2 */ EVENT_SLIDEDOWN, + /* 0x3 */ EVENT_MEETING_AGAIN, + /* 0x4 */ EVENT_GET_TOMATOPUREE, + /* 0x5 */ EVENT_GET_TASTE, + /* 0x6 */ EVENT_FIND_WOLF, + /* 0x7 */ EVENT_START_SNOWBOARDRACE, + /* 0x8 */ EVENT_END_SNOWBOARDRACE, + /* 0x9 */ EVENT_HUG, + }; + + typedef int (daNpc_ykM_c::*cutFunc)(int); + typedef BOOL (daNpc_ykM_c::*ActionFn)(void*); + /* 80B534EC */ ~daNpc_ykM_c(); - /* 80B53698 */ void create(); - /* 80B53990 */ void CreateHeap(); - /* 80B540BC */ void Delete(); - /* 80B540F0 */ void Execute(); - /* 80B54110 */ void Draw(); - /* 80B541F8 */ void createHeapCallBack(fopAc_ac_c*); - /* 80B54218 */ void ctrlJointCallBack(J3DJoint*, int); - /* 80B54270 */ void srchGadget(void*, void*); - /* 80B5430C */ void getTomatoPureeP(); - /* 80B543DC */ void getCheeseP(); - /* 80B544B0 */ void srchYkm(void*, void*); - /* 80B5454C */ void getOtherYkmP(int); - /* 80B54628 */ void srchYkw(void*, void*); - /* 80B546C4 */ void getOtherYkwP(int); - /* 80B547A0 */ void getType(); - /* 80B54808 */ void isDelete(); + /* 80B53698 */ cPhs__Step create(); + /* 80B53990 */ int CreateHeap(); + /* 80B540BC */ int Delete(); + /* 80B540F0 */ int Execute(); + /* 80B54110 */ int Draw(); + /* 80B541F8 */ static int createHeapCallBack(fopAc_ac_c*); + /* 80B54218 */ static int ctrlJointCallBack(J3DJoint*, int); + /* 80B54270 */ static void* srchGadget(void*, void*); + /* 80B5430C */ fopAc_ac_c* getTomatoPureeP(); + /* 80B543DC */ fopAc_ac_c* getCheeseP(); + /* 80B544B0 */ static void* srchYkm(void*, void*); + /* 80B5454C */ fopAc_ac_c* getOtherYkmP(int); + /* 80B54628 */ static void* srchYkw(void*, void*); + /* 80B546C4 */ fopAc_ac_c* getOtherYkwP(int); + /* 80B547A0 */ u8 getType(); + /* 80B54808 */ BOOL isDelete(); /* 80B548A8 */ void reset(); /* 80B54B44 */ void afterJntAnm(int); /* 80B54BD0 */ void setParam(); - /* 80B54E5C */ void checkChangeEvt(); + /* 80B54E5C */ BOOL checkChangeEvt(); /* 80B55004 */ void setAfterTalkMotion(); /* 80B550A4 */ void srchActors(); - /* 80B55254 */ void evtTalk(); - /* 80B552F4 */ void evtCutProc(); + /* 80B55254 */ BOOL evtTalk(); + /* 80B552F4 */ BOOL evtCutProc(); /* 80B553BC */ void action(); /* 80B55658 */ void beforeMove(); /* 80B5571C */ void afterMoved(); /* 80B55A64 */ void setAttnPos(); /* 80B560B4 */ void setCollision(); - /* 80B5641C */ bool drawDbgInfo(); + /* 80B5641C */ int drawDbgInfo(); /* 80B56424 */ void drawOtherMdl(); - /* 80B56624 */ void setFishAnm(int, int, f32); - /* 80B566E8 */ void setLeafAnm(int, f32); - /* 80B567B4 */ void afterSetMotionAnm(int, int, f32, int); - /* 80B5680C */ void selectAction(); - /* 80B56954 */ void chkAction(int (daNpc_ykM_c::*)(void*)); - /* 80B56980 */ void setAction(int (daNpc_ykM_c::*)(void*)); - /* 80B56A28 */ void chkContinueAttnPlayer(); - /* 80B56AB4 */ void chkTouchPlayer(); - /* 80B56B84 */ void cutSlideDown(int); - /* 80B572C8 */ void cutMeetingAgain(int); - /* 80B57638 */ void cutGetTomatoPuree(int); - /* 80B5806C */ void cutGetTaste(int); - /* 80B58A38 */ void cutLv5DungeonClear(int); - /* 80B59500 */ void cutFindWolf(int); - /* 80B59748 */ void cutStartSnowboardRace(int); - /* 80B59B90 */ void cutEndSnowboardRace(int); - /* 80B5A0B8 */ void cutHug(int); + /* 80B56624 */ bool setFishAnm(int, int, f32); + /* 80B566E8 */ bool setLeafAnm(int, f32); + /* 80B567B4 */ bool afterSetMotionAnm(int, int, f32, int); + /* 80B5680C */ int selectAction(); + /* 80B56954 */ BOOL chkAction(ActionFn); + /* 80B56980 */ int setAction(ActionFn); + /* 80B56A28 */ BOOL chkContinueAttnPlayer(); + /* 80B56AB4 */ BOOL chkTouchPlayer(); + /* 80B56B84 */ int cutSlideDown(int); + /* 80B572C8 */ int cutMeetingAgain(int); + /* 80B57638 */ int cutGetTomatoPuree(int); + /* 80B5806C */ int cutGetTaste(int); + /* 80B58A38 */ int cutLv5DungeonClear(int); + /* 80B59500 */ int cutFindWolf(int); + /* 80B59748 */ int cutStartSnowboardRace(int); + /* 80B59B90 */ int cutEndSnowboardRace(int); + /* 80B5A0B8 */ int cutHug(int); /* 80B5A128 */ void setDialogueMotion(); - /* 80B5A224 */ void dialogue(); - /* 80B5A3FC */ void wait(void*); - /* 80B5ABA8 */ void cook(void*); - /* 80B5B260 */ void race(void*); - /* 80B5BE08 */ void talk(void*); - /* 80B5D588 */ daNpc_ykM_c(daNpcT_faceMotionAnmData_c const*, daNpcT_motionAnmData_c const*, - daNpcT_MotionSeqMngr_c::sequenceStepData_c const*, int, - daNpcT_MotionSeqMngr_c::sequenceStepData_c const*, int, - daNpcT_evtData_c const*, char**); - /* 80B5D688 */ u16 getEyeballMaterialNo(); - /* 80B5D690 */ s32 getHeadJointNo(); - /* 80B5D698 */ s32 getNeckJointNo(); - /* 80B5D6A0 */ bool getBackboneJointNo(); - /* 80B5D6A8 */ void checkChangeJoint(int); - /* 80B5D6B8 */ void checkRemoveJoint(int); + /* 80B5A224 */ int dialogue(); + /* 80B5A3FC */ BOOL wait(void*); + /* 80B5ABA8 */ BOOL cook(void*); + /* 80B5B260 */ BOOL race(void*); + /* 80B5BE08 */ BOOL talk(void*); + #ifdef DEBUG + BOOL test(void*); + #endif + /* 80B5D588 */ daNpc_ykM_c( + daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData, + daNpcT_motionAnmData_c const* i_motionAnmData, + daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData, + int i_faceMotionStepNum, + daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, + int i_motionStepNum, + daNpcT_evtData_c const* i_evtData, + char** i_arcNames) + : daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData, + i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData, + i_arcNames) {} + /* 80B5D688 */ u16 getEyeballMaterialNo() { return 2; } + /* 80B5D690 */ s32 getHeadJointNo() { return JNT_HEAD; } + /* 80B5D698 */ s32 getNeckJointNo() { return JNT_NECK; } + /* 80B5D6A0 */ s32 getBackboneJointNo() { return JNT_BB1; } + /* 80B5D6A8 */ BOOL checkChangeJoint(int i_joint) { return i_joint == JNT_HEAD; } + /* 80B5D6B8 */ BOOL checkRemoveJoint(int i_joint) { return i_joint == JNT_YKM_KURA; } - static void* mCutNameList[10]; - static u8 mCutList[120]; + u32 getFlowNodeNo() { + u32 rv = (u16)home.angle.x; + + if (rv == 0xFFFF) { + return -1; + } + + return rv; + } + + int getBitTRB() { return (fopAcM_GetParam(this) & 0x3F0000) >> 16; } + u32 getPathID() { return (fopAcM_GetParam(this) & 0xFF00) >> 8; } + + void dComIfGs_setRaceGameTime(u32 i_time) { + g_dComIfG_gameInfo.info.getMiniGame().setRaceGameTime(i_time); + } + + static char* mCutNameList[10]; + static cutFunc mCutList[10]; private: - /* 0x568 */ u8 field_0x568[0x158c - 0x568]; + /* 0x0E40 */ mDoExt_McaMorfSO* mFishModelMorf; + /* 0x0E44 */ mDoExt_McaMorfSO* mLeafModelMorf; + /* 0x0E48 */ u8 field_0xe48[0xe4c - 0xe48]; + /* 0x0E4C */ J3DModel* field_0xe4c[3]; + /* 0x0E58 */ dCcD_Cyl field_0xe58; + /* 0x0F94 */ dCcD_Sph field_0xf94[4]; + /* 0x1474 */ u8 mType; + /* 0x1478 */ daNpcT_ActorMngr_c mActorMngr[8]; + /* 0x14B8 */ daNpcT_Path_c mPath; + /* 0x14E0 */ dPath* mRoomPath; + /* 0x14E4 */ ActionFn mpNextAction; + /* 0x14F0 */ ActionFn mpAction; + /* 0x14FC */ cXyz field_0x14fc; + /* 0x1508 */ cXyz field_0x1508; + /* 0x1514 */ cXyz field_0x1514; + /* 0x1520 */ cXyz field_0x1520; + /* 0x152C */ u8 field_0x152c[0x1534 - 0x152c]; + /* 0x1534 */ fpc_ProcID field_0x1534; + /* 0x1538 */ int field_0x1538; + /* 0x153C */ int field_0x153c; + /* 0x1540 */ int field_0x1540; + /* 0x1544 */ int field_0x1544; + /* 0x1548 */ int field_0x1548; + /* 0x154C */ int field_0x154c; + /* 0x1550 */ int field_0x1550; + /* 0x1554 */ u8 field_0x1554[0x1558 - 0x1554]; + /* 0x1558 */ daNpcT_pntData_c field_0x1558; + /* 0x1560 */ int field_0x1560; + /* 0x1564 */ u8 field_0x1564[0x1568 - 0x1564]; + /* 0x1568 */ f32 field_0x1568; + /* 0x156C */ s16 field_0x156c; + /* 0x1570 */ u32 field_0x1570; + /* 0x1574 */ u8 field_0x1574; + /* 0x1575 */ u8 field_0x1575; + /* 0x1576 */ u8 field_0x1576; + /* 0x1577 */ u8 field_0x1577; + /* 0x1578 */ u8 field_0x1578; + /* 0x1579 */ u8 field_0x1579; + /* 0x157A */ u8 field_0x157a; + /* 0x157B */ u8 field_0x157b; + /* 0x157C */ u8 field_0x157c; + /* 0x157D */ u8 field_0x157d; + /* 0x157E */ u8 field_0x157e; + /* 0x157F */ u8 field_0x157f; + /* 0x1580 */ u8 field_0x1580; + /* 0x1581 */ u8 field_0x1581; + /* 0x1582 */ u8 field_0x1582; + /* 0x1583 */ u8 field_0x1583; + /* 0x1584 */ u8 field_0x1584; + /* 0x1585 */ u8 field_0x1585; + /* 0x1588 */ int field_0x1588; }; STATIC_ASSERT(sizeof(daNpc_ykM_c) == 0x158c); -class daNpc_ykM_Param_c { -public: - /* 80B5D6C8 */ ~daNpc_ykM_Param_c(); - - static u8 const m[200]; -}; - #endif /* D_A_NPC_YKM_H */ diff --git a/include/d/actor/d_a_npc_ykw.h b/include/d/actor/d_a_npc_ykw.h index cca4dec9d31..cacaacddf78 100644 --- a/include/d/actor/d_a_npc_ykw.h +++ b/include/d/actor/d_a_npc_ykw.h @@ -26,7 +26,7 @@ public: /* 80B5FA74 */ void getOtherYkwP(int); /* 80B5FB50 */ void srchYkm(void*, void*); /* 80B5FBEC */ void getOtherYkmP(int); - /* 80B5FCC8 */ void getType(); + /* 80B5FCC8 */ u8 getType(); /* 80B5FD30 */ void isDelete(); /* 80B5FE6C */ void reset(); /* 80B601C8 */ void afterJntAnm(int); @@ -77,8 +77,24 @@ public: static void* mCutNameList[8]; static u8 mCutList[96]; + + void setDialogueTmr1(int param_1) { + field_0x1024 = param_1; + field_0x1018 = 10; + } + + void setDialogueTmr2(int param_1) { + field_0x1024 = param_1; + field_0x101c = 10; + } + private: - /* 0x568 */ u8 field_0x568[0x1078 - 0x568]; + /* 0x0568 */ u8 field_0x568[0x1018 - 0x568]; + /* 0x1018 */ int field_0x1018; + /* 0x101C */ int field_0x101c; + /* 0x1020 */ u8 field_0x1020[0x1024 - 0x1020]; + /* 0x1024 */ int field_0x1024; + /* 0x1028 */ u8 field_0x1028[0x1078 - 0x1028]; }; STATIC_ASSERT(sizeof(daNpc_ykW_c) == 0x1078); diff --git a/include/d/actor/d_a_obj_gadget.h b/include/d/actor/d_a_obj_gadget.h index 6153f40b949..63c6688c66c 100644 --- a/include/d/actor/d_a_obj_gadget.h +++ b/include/d/actor/d_a_obj_gadget.h @@ -1,6 +1,7 @@ #ifndef D_A_OBJ_GADGET_H #define D_A_OBJ_GADGET_H +#include "SSystem/SComponent/c_math.h" #include "f_op/f_op_actor_mng.h" /** @@ -30,8 +31,34 @@ public: /* 80BF4600 */ void setWaterPrtcl(); /* 80BF4728 */ void setHamonPrtcl(); + u32 getType() { return fopAcM_GetParam(this) & 0xFF; } + void setCoNone() { field_0xa40 = 1; } + void offHide() { mHide = 0; } + void onHide() { mHide = 1; } + + void popup(f32 param_1, f32 param_2, cXyz* param_3) { + if (param_3 != NULL) { + current.pos = *param_3; + old.pos = current.pos; + } + + int iVar1 = cM_deg2s(param_2); + speed.setall(0.0f); + speed.y = param_1 * cM_ssin(iVar1); + speedF = param_1 * cM_scos(iVar1); + field_0xa14 = 0x4000; + field_0xa43 = 1; + } + private: - /* 0x568 */ u8 field_0x568[0xa4c - 0x568]; + /* 0x568 */ u8 field_0x568[0xa14 - 0x568]; + /* 0xA14 */ s16 field_0xa14; + /* 0xA16 */ u8 field_0xa16[0xa40 - 0xa16]; + /* 0xA40 */ u8 field_0xa40; + /* 0xA41 */ u8 field_0xa41[0xa43 - 0xa41]; + /* 0xA43 */ u8 field_0xa43; + /* 0xA44 */ u8 mHide; + /* 0xA45 */ u8 field_0xa45[0xa4c - 0xa45]; }; STATIC_ASSERT(sizeof(daObj_Gadget_c) == 0xa4c); diff --git a/include/d/d_com_inf_game.h b/include/d/d_com_inf_game.h index c15edc9348e..04da6d3fef9 100644 --- a/include/d/d_com_inf_game.h +++ b/include/d/d_com_inf_game.h @@ -1746,7 +1746,7 @@ inline char* dComIfGs_getHorseName() { return g_dComIfG_gameInfo.info.getPlayer().getPlayerInfo().getHorseName(); } -inline u32 dComIfGs_getRaceGameTime() { +inline int dComIfGs_getRaceGameTime() { return g_dComIfG_gameInfo.info.getMiniGame().getRaceGameTime(); } diff --git a/include/d/d_save.h b/include/d/d_save.h index 966ddae3642..fabb4f9e635 100644 --- a/include/d/d_save.h +++ b/include/d/d_save.h @@ -672,6 +672,8 @@ public: u32 getRaceGameTime() const { return mRaceGameTime; } u32 getBalloonScore() const { return mBalloonScore; } + void setRaceGameTime(u32 i_time) { mRaceGameTime = i_time; } + private: /* 0x00 */ u8 unk0[1][4]; /* 0x04 */ u32 mStarTime; diff --git a/include/d/d_tresure.h b/include/d/d_tresure.h index 9261e978a11..a4a5042c287 100644 --- a/include/d/d_tresure.h +++ b/include/d/d_tresure.h @@ -94,6 +94,10 @@ public: static type_group_list mTypeGroupListAll[17]; static typeGroupData_c* mTypeGroupData; static u16 mNum; + + static void setNpcYkmPosition(int param_1, Vec* param_2) { + setPosition(param_1, 13, param_2, -1); + } }; #endif /* D_D_TRESURE_H */ diff --git a/src/d/actor/d_a_npc_ykm.cpp b/src/d/actor/d_a_npc_ykm.cpp index c78546c85c9..1e3a9e44322 100644 --- a/src/d/actor/d_a_npc_ykm.cpp +++ b/src/d/actor/d_a_npc_ykm.cpp @@ -4,1052 +4,3634 @@ */ #include "d/actor/d_a_npc_ykm.h" -#include "dol2asm.h" +#include "Z2AudioLib/Z2Instances.h" +#include "d/actor/d_a_obj_gadget.h" +#include "d/actor/d_a_tag_evtarea.h" +#include "d/d_item.h" +#include "d/actor/d_a_midna.h" +#include "d/d_meter2_info.h" +#include "d/d_timer.h" +#include "d/d_tresure.h" -// -// Forward References: -// +enum ykM_RES_File_ID { + /* BCK */ + /* 0x06 */ BCK_YKM_F_ASK = 0x6, + /* 0x07 */ BCK_YKM_F_LAUGH, + /* 0x08 */ BCK_YKM_F_REGRET, + /* 0x09 */ BCK_YKM_F_TALK_A, + /* 0x0A */ BCK_YKM_F_TALK_B, + /* 0x0B */ BCK_YKM_F_TALK_C, + /* 0x0C */ BCK_YKM_FH_LAUGH, + /* 0x0D */ BCK_YKM_FH_REGRET, + /* 0x0E */ BCK_YKM_FUNWAIT, + /* 0x0F */ BCK_YKM_STEP, + /* 0x10 */ BCK_YKM_TALK_B, + /* 0x11 */ BCK_YKM_TALK_C, + /* 0x12 */ BCK_YKM_WAIT_A, + /* 0x13 */ BCK_YKM_WALK, -extern "C" void __dt__11daNpc_ykM_cFv(); -extern "C" void create__11daNpc_ykM_cFv(); -extern "C" void CreateHeap__11daNpc_ykM_cFv(); -extern "C" void __dt__15J3DTevKColorAnmFv(); -extern "C" void __ct__15J3DTevKColorAnmFv(); -extern "C" void __dt__14J3DTevColorAnmFv(); -extern "C" void __ct__14J3DTevColorAnmFv(); -extern "C" void __dt__11J3DTexNoAnmFv(); -extern "C" void __ct__11J3DTexNoAnmFv(); -extern "C" void __dt__12J3DTexMtxAnmFv(); -extern "C" void __ct__12J3DTexMtxAnmFv(); -extern "C" void __dt__14J3DMatColorAnmFv(); -extern "C" void __ct__14J3DMatColorAnmFv(); -extern "C" void Delete__11daNpc_ykM_cFv(); -extern "C" void Execute__11daNpc_ykM_cFv(); -extern "C" void Draw__11daNpc_ykM_cFv(); -extern "C" void createHeapCallBack__11daNpc_ykM_cFP10fopAc_ac_c(); -extern "C" void ctrlJointCallBack__11daNpc_ykM_cFP8J3DJointi(); -extern "C" void srchGadget__11daNpc_ykM_cFPvPv(); -extern "C" void getTomatoPureeP__11daNpc_ykM_cFv(); -extern "C" void getCheeseP__11daNpc_ykM_cFv(); -extern "C" void srchYkm__11daNpc_ykM_cFPvPv(); -extern "C" void getOtherYkmP__11daNpc_ykM_cFi(); -extern "C" void srchYkw__11daNpc_ykM_cFPvPv(); -extern "C" void getOtherYkwP__11daNpc_ykM_cFi(); -extern "C" void getType__11daNpc_ykM_cFv(); -extern "C" void isDelete__11daNpc_ykM_cFv(); -extern "C" void reset__11daNpc_ykM_cFv(); -extern "C" void afterJntAnm__11daNpc_ykM_cFi(); -extern "C" void setParam__11daNpc_ykM_cFv(); -extern "C" void getDistTable__12dAttention_cFi(); -extern "C" void checkChangeEvt__11daNpc_ykM_cFv(); -extern "C" void setAfterTalkMotion__11daNpc_ykM_cFv(); -extern "C" void srchActors__11daNpc_ykM_cFv(); -extern "C" void evtTalk__11daNpc_ykM_cFv(); -extern "C" void evtCutProc__11daNpc_ykM_cFv(); -extern "C" void action__11daNpc_ykM_cFv(); -extern "C" void beforeMove__11daNpc_ykM_cFv(); -extern "C" void afterMoved__11daNpc_ykM_cFv(); -extern "C" void setAttnPos__11daNpc_ykM_cFv(); -extern "C" void setCollision__11daNpc_ykM_cFv(); -extern "C" bool drawDbgInfo__11daNpc_ykM_cFv(); -extern "C" void drawOtherMdl__11daNpc_ykM_cFv(); -extern "C" void setFishAnm__11daNpc_ykM_cFiif(); -extern "C" void setLeafAnm__11daNpc_ykM_cFif(); -extern "C" void afterSetMotionAnm__11daNpc_ykM_cFiifi(); -extern "C" void selectAction__11daNpc_ykM_cFv(); -extern "C" void chkAction__11daNpc_ykM_cFM11daNpc_ykM_cFPCvPvPv_i(); -extern "C" void setAction__11daNpc_ykM_cFM11daNpc_ykM_cFPCvPvPv_i(); -extern "C" void chkContinueAttnPlayer__11daNpc_ykM_cFv(); -extern "C" void chkTouchPlayer__11daNpc_ykM_cFv(); -extern "C" void cutSlideDown__11daNpc_ykM_cFi(); -extern "C" void cutMeetingAgain__11daNpc_ykM_cFi(); -extern "C" void cutGetTomatoPuree__11daNpc_ykM_cFi(); -extern "C" void cutGetTaste__11daNpc_ykM_cFi(); -extern "C" void cutLv5DungeonClear__11daNpc_ykM_cFi(); -extern "C" void cutFindWolf__11daNpc_ykM_cFi(); -extern "C" void cutStartSnowboardRace__11daNpc_ykM_cFi(); -extern "C" void cutEndSnowboardRace__11daNpc_ykM_cFi(); -extern "C" void cutHug__11daNpc_ykM_cFi(); -extern "C" void setDialogueMotion__11daNpc_ykM_cFv(); -extern "C" void dialogue__11daNpc_ykM_cFv(); -extern "C" void wait__11daNpc_ykM_cFPv(); -extern "C" void cook__11daNpc_ykM_cFPv(); -extern "C" void race__11daNpc_ykM_cFPv(); -extern "C" void talk__11daNpc_ykM_cFPv(); -extern "C" static void daNpc_ykM_Create__FPv(); -extern "C" static void daNpc_ykM_Delete__FPv(); -extern "C" static void daNpc_ykM_Execute__FPv(); -extern "C" static void daNpc_ykM_Draw__FPv(); -extern "C" static bool daNpc_ykM_IsDelete__FPv(); -extern "C" void calc__11J3DTexNoAnmCFPUs(); -extern "C" void __dt__10cCcD_GSttsFv(); -extern "C" void __dt__8daNpcT_cFv(); -extern "C" void __dt__4cXyzFv(); -extern "C" void __dt__5csXyzFv(); -extern "C" void __dt__8dCcD_SphFv(); -extern "C" void __dt__18daNpcT_ActorMngr_cFv(); -extern "C" void __dt__13daNpcT_Path_cFv(); -extern "C" void __ct__18daNpcT_ActorMngr_cFv(); -extern "C" void __ct__8dCcD_SphFv(); -extern "C" void __dt__8cM3dGSphFv(); -extern "C" void __dt__8cM3dGCylFv(); -extern "C" void __dt__8cM3dGAabFv(); -extern "C" void -__ct__8daNpcT_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc(); -extern "C" void __ct__5csXyzFv(); -extern "C" void __dt__15daNpcT_JntAnm_cFv(); -extern "C" void __ct__4cXyzFv(); -extern "C" void __dt__22daNpcT_MotionSeqMngr_cFv(); -extern "C" void __dt__12dBgS_AcchCirFv(); -extern "C" void __dt__10dCcD_GSttsFv(); -extern "C" void __dt__12dBgS_ObjAcchFv(); -extern "C" void __dt__12J3DFrameCtrlFv(); -extern "C" void setEyeAngleY__15daNpcT_JntAnm_cF4cXyzsifs(); -extern "C" void setEyeAngleX__15daNpcT_JntAnm_cF4cXyzfs(); -extern "C" void ctrlSubFaceMotion__8daNpcT_cFi(); -extern "C" s32 getFootLJointNo__8daNpcT_cFv(); -extern "C" s32 getFootRJointNo__8daNpcT_cFv(); -extern "C" bool getEyeballLMaterialNo__8daNpcT_cFv(); -extern "C" bool getEyeballRMaterialNo__8daNpcT_cFv(); -extern "C" bool evtEndProc__8daNpcT_cFv(); -extern "C" bool chkXYItems__8daNpcT_cFv(); -extern "C" void decTmr__8daNpcT_cFv(); -extern "C" void drawGhost__8daNpcT_cFv(); -extern "C" bool afterSetFaceMotionAnm__8daNpcT_cFiifi(); -extern "C" void getFaceMotionAnm__8daNpcT_cF26daNpcT_faceMotionAnmData_c(); -extern "C" void getMotionAnm__8daNpcT_cF22daNpcT_motionAnmData_c(); -extern "C" void changeAnm__8daNpcT_cFPiPi(); -extern "C" void changeBck__8daNpcT_cFPiPi(); -extern "C" void changeBtp__8daNpcT_cFPiPi(); -extern "C" void changeBtk__8daNpcT_cFPiPi(); -extern "C" void func_80B5D378(void* _this, int*); -extern "C" void func_80B5D394(void* _this, int, int); -extern "C" void __sinit_d_a_npc_ykm_cpp(); -extern "C" void -__ct__11daNpc_ykM_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc(); -extern "C" u16 getEyeballMaterialNo__11daNpc_ykM_cFv(); -extern "C" s32 getHeadJointNo__11daNpc_ykM_cFv(); -extern "C" s32 getNeckJointNo__11daNpc_ykM_cFv(); -extern "C" bool getBackboneJointNo__11daNpc_ykM_cFv(); -extern "C" void checkChangeJoint__11daNpc_ykM_cFi(); -extern "C" void checkRemoveJoint__11daNpc_ykM_cFi(); -extern "C" void __dt__17daNpc_ykM_Param_cFv(); -extern "C" static void func_80B5D710(); -extern "C" static void func_80B5D718(); -extern "C" void chkPointInArea__15daTag_EvtArea_cF4cXyz(); -extern "C" u8 const m__17daNpc_ykM_Param_c[200]; -extern "C" extern char const* const d_a_npc_ykm__stringBase0; -extern "C" void* mCutNameList__11daNpc_ykM_c[10]; -extern "C" u8 mCutList__11daNpc_ykM_c[120]; + /* BMDR */ + /* 0x16 */ BMDR_YKM = 0x16, -// -// External References: -// + /* BTK */ + /* 0x19 */ BTK_YKM = 0x19, -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 scaleM__14mDoMtx_stack_cFRC4cXyz(); -extern "C" void ZXYrotM__14mDoMtx_stack_cFRC5csXyz(); -extern "C" void mDoExt_modelUpdateDL__FP8J3DModel(); -extern "C" void -__ct__16mDoExt_McaMorfSOFP12J3DModelDataP25mDoExt_McaMorfCallBack1_cP25mDoExt_McaMorfCallBack2_cP15J3DAnmTransformifiiP10Z2CreatureUlUl(); -extern "C" void setAnm__16mDoExt_McaMorfSOFP15J3DAnmTransformiffff(); -extern "C" void play__16mDoExt_McaMorfSOFUlSc(); -extern "C" void entryDL__16mDoExt_McaMorfSOFv(); -extern "C" void modelCalc__16mDoExt_McaMorfSOFv(); -extern "C" void stopZelAnime__16mDoExt_McaMorfSOFv(); -extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void __dt__10fopAc_ac_cFv(); -extern "C" void 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_getPolygonAngle__FRC13cBgS_PolyInfos(); -extern "C" void fpcEx_SearchByID__FUi(); -extern "C" void fpcEx_IsExist__FUi(); -extern "C" void getTimerNowTimeMs__14dComIfG_play_cFv(); -extern "C" void getTimerMode__14dComIfG_play_cFv(); -extern "C" void getTimerPtr__14dComIfG_play_cFv(); -extern "C" void dComIfG_TimerStart__Fis(); -extern "C" void dComIfG_TimerEnd__Fii(); -extern "C" void dComIfG_TimerDeleteRequest__Fi(); -extern "C" void dComIfGs_wolfeye_effect_check__Fv(); -extern "C" void isDungeonItem__12dSv_memBit_cCFi(); -extern "C" void onEventBit__11dSv_event_cFUs(); -extern "C" void offEventBit__11dSv_event_cFUs(); -extern "C" void isEventBit__11dSv_event_cCFUs(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void reset__14dEvt_control_cFv(); -extern "C" void setPt2__14dEvt_control_cFPv(); -extern "C" void getMyStaffId__16dEvent_manager_cFPCcP10fopAc_ac_ci(); -extern "C" void getIsAddvance__16dEvent_manager_cFi(); -extern "C" void getMyActIdx__16dEvent_manager_cFiPCPCciii(); -extern "C" void getMySubstanceP__16dEvent_manager_cFiPCci(); -extern "C" void cutEnd__16dEvent_manager_cFi(); -extern "C" void setGoal__16dEvent_manager_cFP4cXyz(); -extern "C" void ChkPresentEnd__16dEvent_manager_cFv(); -extern "C" void getEmitter__Q213dPa_control_c7level_cFUl(); -extern "C" void -setPoly__13dPa_control_cFUlUsR13cBgS_PolyInfoPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyziP18dPa_levelEcallBackScPC4cXyz(); -extern "C" void dPath_GetRoomPath__Fii(); -extern "C" void addReal__21dDlst_shadowControl_cFUlP8J3DModel(); -extern "C" void StartShock__12dVibration_cFii4cXyz(); -extern "C" void GroundCross__4cBgSFP11cBgS_GndChk(); -extern "C" void GetPolyAtt0__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void __ct__12dBgS_AcchCirFv(); -extern "C" void SetWallR__12dBgS_AcchCirFf(); -extern "C" void __dt__9dBgS_AcchFv(); -extern "C" void __ct__9dBgS_AcchFv(); -extern "C" void Set__9dBgS_AcchFP4cXyzP4cXyzP10fopAc_ac_ciP12dBgS_AcchCirP4cXyzP5csXyzP5csXyz(); -extern "C" void CrrPos__9dBgS_AcchFR4dBgS(); -extern "C" void __ct__11dBgS_GndChkFv(); -extern "C" void __dt__11dBgS_GndChkFv(); -extern "C" void __ct__11dBgS_LinChkFv(); -extern "C" void __dt__11dBgS_LinChkFv(); -extern "C" void SetObj__16dBgS_PolyPassChkFv(); -extern "C" void GetAc__22dCcD_GAtTgCoCommonBaseFv(); -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 ChkCoHit__12dCcD_GObjInfFv(); -extern "C" void Set__8dCcD_CylFRC11dCcD_SrcCyl(); -extern "C" void Set__8dCcD_SphFRC11dCcD_SrcSph(); -extern "C" void checkItemGet__FUci(); -extern "C" void setPosition__7dTres_cFiUcPC3Veci(); -extern "C" void initialize__18daNpcT_ActorMngr_cFv(); -extern "C" void entry__18daNpcT_ActorMngr_cFP10fopAc_ac_c(); -extern "C" void remove__18daNpcT_ActorMngr_cFv(); -extern "C" void getActorP__18daNpcT_ActorMngr_cFv(); -extern "C" void initialize__15daNpcT_MatAnm_cFv(); -extern "C" void initialize__22daNpcT_MotionSeqMngr_cFv(); -extern "C" void checkEndSequence__22daNpcT_MotionSeqMngr_cFv(); -extern "C" void initialize__13daNpcT_Path_cFv(); -extern "C" void setPathInfo__13daNpcT_Path_cFUcScUc(); -extern "C" void setNextIdx__13daNpcT_Path_cFi(); -extern "C" void chkPassed1__13daNpcT_Path_cF4cXyzi(); -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 getTrnsfrmKeyAnmP__8daNpcT_cFPCci(); -extern "C" void loadRes__8daNpcT_cFPCScPPCc(); -extern "C" void deleteRes__8daNpcT_cFPCScPPCc(); -extern "C" void execute__8daNpcT_cFv(); -extern "C" void draw__8daNpcT_cFiifP11_GXColorS10fiii(); -extern "C" void setEnvTevColor__8daNpcT_cFv(); -extern "C" void setRoomNo__8daNpcT_cFv(); -extern "C" void ctrlBtk__8daNpcT_cFv(); -extern "C" void ctrlJoint__8daNpcT_cFP8J3DJointP8J3DModel(); -extern "C" void evtProc__8daNpcT_cFv(); -extern "C" void setFootPos__8daNpcT_cFv(); -extern "C" void setFootPrtcl__8daNpcT_cFP4cXyzff(); -extern "C" bool checkCullDraw__8daNpcT_cFv(); -extern "C" void twilight__8daNpcT_cFv(); -extern "C" void evtOrder__8daNpcT_cFv(); -extern "C" void evtChange__8daNpcT_cFv(); -extern "C" void clrParam__8daNpcT_cFv(); -extern "C" void setFaceMotionAnm__8daNpcT_cFib(); -extern "C" void setMotionAnm__8daNpcT_cFifi(); -extern "C" void setPos__8daNpcT_cF4cXyz(); -extern "C" void setAngle__8daNpcT_cF5csXyz(); -extern "C" void setAngle__8daNpcT_cFs(); -extern "C" void hitChk__8daNpcT_cFP12dCcD_GObjInfUl(); -extern "C" void chkActorInSight__8daNpcT_cFP10fopAc_ac_cfs(); -extern "C" void 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 daNpcT_getPlayerInfoFromPlayerList__FiiP4cXyzP5csXyz(); -extern "C" void daNpcT_judgeRace__FP5dPathPP10fopAc_ac_cP16daNpcT_pntData_ciPi(); -extern "C" void daNpcT_chkEvtBit__FUl(); -extern "C" void daNpcT_onTmpBit__FUl(); -extern "C" void daNpcT_offTmpBit__FUl(); -extern "C" void daNpcT_chkTmpBit__FUl(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void setMeterString__13dMeter2Info_cFl(); -extern "C" void __ct__10dMsgFlow_cFv(); -extern "C" void __dt__10dMsgFlow_cFv(); -extern "C" void getEventId__10dMsgFlow_cFPi(); -extern "C" void isStart__8dTimer_cFv(); -extern "C" void dTimer_createTimer__FlUlUcUcffff(); -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_rnd__Fv(); -extern "C" void cM_rndF__Ff(); -extern "C" void __ct__11cBgS_GndChkFv(); -extern "C" void __dt__11cBgS_GndChkFv(); -extern "C" void SetPos__11cBgS_GndChkFPC4cXyz(); -extern "C" void __dt__13cBgS_PolyInfoFv(); -extern "C" void __dt__8cM3dGCirFv(); -extern "C" void SetC__8cM3dGCylFRC4cXyz(); -extern "C" void SetH__8cM3dGCylFf(); -extern "C" void SetR__8cM3dGCylFf(); -extern "C" void SetC__8cM3dGSphFRC4cXyz(); -extern "C" void SetR__8cM3dGSphFf(); -extern "C" void cLib_addCalc2__FPffff(); -extern "C" void cLib_addCalcAngleS2__FPssss(); -extern "C" void cLib_chaseF__FPfff(); -extern "C" void cLib_targetAngleY__FPC3VecPC3Vec(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void subBgmStart__8Z2SeqMgrFUl(); -extern "C" void subBgmStop__8Z2SeqMgrFv(); -extern "C" void bgmStreamStop__8Z2SeqMgrFUl(); -extern "C" void __ct__10Z2CreatureFv(); -extern "C" void __dt__10Z2CreatureFv(); -extern "C" void init__10Z2CreatureFP3VecP3VecUcUc(); -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); -extern "C" void hide__13J3DShapeTableFv(); -extern "C" void show__13J3DShapeTableFv(); -extern "C" void init__12J3DFrameCtrlFs(); -extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void getTexNo__16J3DAnmTexPatternCFUsPUs(); -extern "C" void initialize__14J3DMaterialAnmFv(); -extern "C" void __destroy_arr(); -extern "C" void __construct_array(); -extern "C" void __ptmf_test(); -extern "C" void __ptmf_cmpr(); -extern "C" void __ptmf_scall(); -extern "C" void __cvt_fp2unsigned(); -extern "C" void _savegpr_17(); -extern "C" void _savegpr_22(); -extern "C" void _savegpr_23(); -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_17(); -extern "C" void _restgpr_22(); -extern "C" void _restgpr_23(); -extern "C" void _restgpr_24(); -extern "C" void _restgpr_25(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" extern u8 const __ptmf_null[12 + 4 /* padding */]; -extern "C" u8 dist_table__12dAttention_c[6552]; -extern "C" extern void* __vt__8dCcD_Sph[36]; -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" u8 mCcDSph__8daNpcT_c[64]; -extern "C" extern void* __vt__8daNpcT_c[49]; -extern "C" extern void* __vt__15daNpcT_MatAnm_c[4 + 1 /* padding */]; -extern "C" extern void* __vt__12cCcD_SphAttr[25]; -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" extern u8 g_meter2_info[248]; -extern "C" u8 sincosTable___5JMath[65536]; -extern "C" u8 mFindCount__8daNpcT_c[4]; -extern "C" u8 m_midnaActor__9daPy_py_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 getType__11daNpc_ykW_cFv(); - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 80B5DA40-80B5DA40 0002AC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80B5DA40 = ""; -SECTION_DEAD static char const* const stringBase_80B5DA41 = "NO_RESPONSE"; -SECTION_DEAD static char const* const stringBase_80B5DA4D = "SLIDEDOWN"; -SECTION_DEAD static char const* const stringBase_80B5DA57 = "MEETING_AGAIN"; -SECTION_DEAD static char const* const stringBase_80B5DA65 = "GET_TOMATOPUREE"; -SECTION_DEAD static char const* const stringBase_80B5DA75 = "GET_TASTE"; -SECTION_DEAD static char const* const stringBase_80B5DA7F = "FIND_WOLF"; -SECTION_DEAD static char const* const stringBase_80B5DA89 = "START_SNOWBOARDRACE"; -SECTION_DEAD static char const* const stringBase_80B5DA9D = "END_SNOWBOARDRACE"; -SECTION_DEAD static char const* const stringBase_80B5DAAF = "HUG"; -SECTION_DEAD static char const* const stringBase_80B5DAB3 = "ykM"; -SECTION_DEAD static char const* const stringBase_80B5DAB7 = "ykM1"; -SECTION_DEAD static char const* const stringBase_80B5DABC = "ykM2"; -SECTION_DEAD static char const* const stringBase_80B5DAC1 = "ykM3"; -SECTION_DEAD static char const* const stringBase_80B5DAC6 = "LV5DUNGEON_CLEAR"; -#pragma pop - -/* 80B5DAE8-80B5DAF4 000000 000C+00 3/3 0/0 0/0 .data cNullVec__6Z2Calc */ -SECTION_DATA static u8 cNullVec__6Z2Calc[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + /* BTP */ + /* 0x1C */ BTP_YKM = 0x1C, + /* 0x1D */ BTP_YKM_F_ASK, + /* 0x1E */ BTP_YKM_F_LAUGH, + /* 0x1F */ BTP_YKM_F_REGRET, + /* 0x20 */ BTP_YKM_FH_LAUGH, + /* 0x21 */ BTP_YKM_FH_REGRET, }; -/* 80B5DAF4-80B5DB08 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, +enum ykM1_RES_File_ID { + /* BCK */ + /* 0x07 */ BCK_YKM_DENY = 0x7, + /* 0x08 */ BCK_YKM_F_HAPPY, + /* 0x09 */ BCK_YKM_F_SHOUT, + /* 0x0A */ BCK_YKM_F_SHUT, + /* 0x0B */ BCK_YKM_F_TALK_D, + /* 0x0C */ BCK_YKM_F_TALK_X, + /* 0x0D */ BCK_YKM_F_TALK_Y, + /* 0x0E */ BCK_YKM_FH_HAPPY, + /* 0x0F */ BCK_YKM_HOLD, + /* 0x10 */ BCK_YKM_HOLD_B, + /* 0x11 */ BCK_YKM_PICKUP, + /* 0x12 */ BCK_YKM_POUR, + /* 0x13 */ BCK_YKM_PUSH, + /* 0x14 */ BCK_YKM_RUN, + /* 0x15 */ BCK_YKM_STOP, + /* 0x16 */ BCK_YKM_TALK_D, + /* 0x17 */ BCK_YKM_TALK_E, + /* 0x18 */ BCK_YKM_WAIT_B, + /* 0x19 */ BCK_YKM_WAIT_C, + /* 0x1A */ BCK_YKM_WAIT_X, + /* 0x1B */ BCK_YKM_WAITHOLD, + /* 0x1C */ BCK_YKM_WAITHOLD_B_B, + /* 0x1D */ BCK_YKM_WAITLIE, + /* 0x1E */ BCK_YKM_WAITWAKE, + /* 0x1F */ BCK_YKM_WAKE, + + /* BMDR */ + /* 0x22 */ BMDR_CHEESE = 0x22, + /* 0x23 */ BMDR_TOMATO, + /* 0x24 */ BMDR_YKM_CHEESE, + /* 0x25 */ BMDR_YKM_TOMATO, + + /* BTK */ + /* 0x28 */ BTK_YKM_PICKUP = 0x28, + /* 0x29 */ BTK_YKM_TALK_D, + /* 0x2A */ BTK_YKM_WAIT_B, + + /* BTP */ + /* 0x2D */ BTP_YKM_F_HAPPY = 0x2D, + /* 0x2E */ BTP_YKM_F_SHUT, + /* 0x2F */ BTP_YKM_FH_HAPPY, + + /* EVT */ + /* 0x32 */ EVT_YKM1_EVENT_LIST = 0x32, }; -#pragma pop + +enum ykM2_RES_File_ID { + /* BCK */ + /* 0x06 */ BCK_YKM_ASK = 0x6, + /* 0x07 */ BCK_YKM_LAUGH, + /* 0x08 */ BCK_YKM_REGRET, + /* 0x09 */ BCK_YKM_REGRETWAIT, + /* 0x0A */ BCK_YKM_SB_DAMAGE, + /* 0x0B */ BCK_YKM_SB_GOAL, + /* 0x0C */ BCK_YKM_SB_GOALWAIT, + /* 0x0D */ BCK_YKM_SB_JUMP_A, + /* 0x0E */ BCK_YKM_SB_JUMP_B, + /* 0x0F */ BCK_YKM_SB_JUMP_C, + /* 0x10 */ BCK_YKM_SB_TURNL, + /* 0x11 */ BCK_YKM_SB_TURNR, + /* 0x12 */ BCK_YKM_SB_WAIT, + + /* BMDR */ + /* 0x15 */ BMDR_YKM_LEAF = 0x15, + + /* BTK */ + /* 0x18 */ BTK_YKM_REGRET = 0x18, + /* 0x19 */ BTK_YKM_REGRETWAIT, + /* 0x1A */ BTK_YKM_SB_DAMAGE, + + /* EVT */ + /* 0x1D */ EVT_YKM2_EVENT_LIST, +}; + +enum ykM3_RES_File_ID { + /* BCK */ + /* 0x06 */ BCK_FISH_ATTACK = 0x6, + /* 0x07 */ BCK_FISH_JUMP, + /* 0x08 */ BCK_FISH_SB_WAIT, + /* 0x09 */ BCK_FISH_WAIT_A, + /* 0x0A */ BCK_LEAF_FALL, + /* 0x0B */ BCK_LEAF_WAIT_A, + /* 0x0C */ BCK_LEAF_WAIT_B, + /* 0x0D */ BCK_YKM_FISH_ASK, + /* 0x0E */ BCK_YKM_FISH_ATTACK, + /* 0x0F */ BCK_YKM_FISH_JUMP, + /* 0x10 */ BCK_YKM_FISH_LAUGH, + /* 0x11 */ BCK_YKM_FISH_LOOK, + /* 0x12 */ BCK_YKM_FISH_LOOKWAIT, + /* 0x13 */ BCK_YKM_FISH_REGRET, + /* 0x14 */ BCK_YKM_FISH_REGRETWAIT, + /* 0x15 */ BCK_YKM_FISH_TALK_B, + /* 0x16 */ BCK_YKM_FISH_TALK_C, + /* 0x17 */ BCK_YKM_FISH_WAIT_A, + /* 0x18 */ BCK_YKM_FISH_WAIT_B, + + /* BMDR */ + /* 0x1B */ BMDR_FISH = 0x1B, + /* 0x1C */ BMDR_LEAF, + + /* BTK */ + /* 0x1F */ BTK_YKM_FISH_ATTACK = 0x1F, + /* 0x20 */ BTK_YKM_FISH_JUMP, + /* 0x21 */ BTK_YKM_FISH_LOOK, + /* 0x22 */ BTK_YKM_FISH_LOOKWAIT, + /* 0x23 */ BTK_YKM_FISH_REGRET, + /* 0x24 */ BTK_YKM_FISH_REGRETWAIT, + /* 0x25 */ BTK_YKM_FISH_WAIT_B, + + /* EVT */ + /* 0x28 */ EVT_YKM3_EVENT_LIST = 0x28, +}; + +enum RES_Name { + /* 0x1 */ YKM = 0x1, + /* 0x2 */ YKM1, + /* 0x3 */ YKM2, + /* 0x4 */ YKM3, +}; + +UNK_REL_DATA; /* 80B5DB08-80B5DB38 000020 0030+00 1/1 0/0 0/0 .data l_bmdData */ -SECTION_DATA static u8 l_bmdData[48] = { - 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x04, +static int l_bmdData[6][2] = { + {BMDR_YKM, YKM}, + {BMDR_YKM_TOMATO, YKM1}, + {BMDR_YKM_LEAF, YKM2}, + {BMDR_YKM_CHEESE, YKM1}, + {BMDR_FISH, YKM3}, + {BMDR_LEAF, YKM3}, }; /* 80B5DB38-80B5DB88 -00001 0050+00 0/1 0/0 0/0 .data l_evtList */ -#pragma push -#pragma force_active on -SECTION_DATA static void* l_evtList[20] = { - (void*)&d_a_npc_ykm__stringBase0, - (void*)NULL, - (void*)(((char*)&d_a_npc_ykm__stringBase0) + 0x1), - (void*)NULL, - (void*)(((char*)&d_a_npc_ykm__stringBase0) + 0xD), - (void*)0x00000004, - (void*)(((char*)&d_a_npc_ykm__stringBase0) + 0x17), - (void*)0x00000002, - (void*)(((char*)&d_a_npc_ykm__stringBase0) + 0x25), - (void*)0x00000002, - (void*)(((char*)&d_a_npc_ykm__stringBase0) + 0x35), - (void*)0x00000002, - (void*)(((char*)&d_a_npc_ykm__stringBase0) + 0x3F), - (void*)0x00000003, - (void*)(((char*)&d_a_npc_ykm__stringBase0) + 0x49), - (void*)0x00000003, - (void*)(((char*)&d_a_npc_ykm__stringBase0) + 0x5D), - (void*)0x00000003, - (void*)(((char*)&d_a_npc_ykm__stringBase0) + 0x6F), - (void*)0x00000002, +static daNpcT_evtData_c l_evtList[10] = { + {"", 0}, + {"NO_RESPONSE", 0}, + {"SLIDEDOWN", 4}, + {"MEETING_AGAIN", 2}, + {"GET_TOMATOPUREE", 2}, + {"GET_TASTE", 2}, + {"FIND_WOLF", 3}, + {"START_SNOWBOARDRACE", 3}, + {"END_SNOWBOARDRACE", 3}, + {"HUG", 2}, }; -#pragma pop /* 80B5DB88-80B5DB9C -00001 0014+00 4/5 0/0 0/0 .data l_resNameList */ -SECTION_DATA static void* l_resNameList[5] = { - (void*)&d_a_npc_ykm__stringBase0, - (void*)(((char*)&d_a_npc_ykm__stringBase0) + 0x73), - (void*)(((char*)&d_a_npc_ykm__stringBase0) + 0x77), - (void*)(((char*)&d_a_npc_ykm__stringBase0) + 0x7C), - (void*)(((char*)&d_a_npc_ykm__stringBase0) + 0x81), +static char* l_resNameList[5] = { + "", + "ykM", + "ykM1", + "ykM2", + "ykM3", }; /* 80B5DB9C-80B5DBA0 0000B4 0003+01 1/0 0/0 0/0 .data l_loadResPtrn0 */ -SECTION_DATA static u8 l_loadResPtrn0[3 + 1 /* padding */] = { - 0x01, - 0x02, - 0xFF, - /* padding */ - 0x00, -}; +static s8 l_loadResPtrn0[3] = {YKM, YKM1, -1}; /* 80B5DBA0-80B5DBA4 0000B8 0003+01 1/0 0/0 0/0 .data l_loadResPtrn1 */ -SECTION_DATA static u8 l_loadResPtrn1[3 + 1 /* padding */] = { - 0x01, - 0x03, - 0xFF, - /* padding */ - 0x00, -}; +static s8 l_loadResPtrn1[3] = {YKM, YKM2, -1}; /* 80B5DBA4-80B5DBAC 0000BC 0005+03 1/0 0/0 0/0 .data l_loadResPtrn2 */ -SECTION_DATA static u8 l_loadResPtrn2[5 + 3 /* padding */] = { - 0x01, - 0x02, - 0x03, - 0x04, - 0xFF, - /* padding */ - 0x00, - 0x00, - 0x00, -}; +static s8 l_loadResPtrn2[5] = {YKM, YKM1, YKM2, YKM3, -1}; /* 80B5DBAC-80B5DBB4 0000C4 0005+03 1/0 0/0 0/0 .data l_loadResPtrn9 */ -SECTION_DATA static u8 l_loadResPtrn9[5 + 3 /* padding */] = { - 0x01, - 0x02, - 0x03, - 0x04, - 0xFF, - /* padding */ - 0x00, - 0x00, - 0x00, -}; +static s8 l_loadResPtrn9[5] = {YKM, YKM1, YKM2, YKM3, -1}; /* 80B5DBB4-80B5DBD4 -00001 0020+00 1/2 0/0 0/0 .data l_loadResPtrnList */ -SECTION_DATA static void* l_loadResPtrnList[8] = { - (void*)&l_loadResPtrn0, (void*)&l_loadResPtrn0, (void*)&l_loadResPtrn2, (void*)&l_loadResPtrn0, - (void*)&l_loadResPtrn1, (void*)&l_loadResPtrn1, (void*)&l_loadResPtrn1, (void*)&l_loadResPtrn9, +static s8* l_loadResPtrnList[8] = { + l_loadResPtrn0, l_loadResPtrn0, l_loadResPtrn2, l_loadResPtrn0, + l_loadResPtrn1, l_loadResPtrn1, l_loadResPtrn1, l_loadResPtrn9, }; /* 80B5DBD4-80B5DD94 0000EC 01C0+00 0/1 0/0 0/0 .data l_faceMotionAnmData */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 l_faceMotionAnmData[448] = { - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x09, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x1C, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x1C, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0A, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, +static daNpcT_faceMotionAnmData_c l_faceMotionAnmData[16] = { + {-1, J3DFrameCtrl::EMode_NONE, 0, BTP_YKM, J3DFrameCtrl::EMode_LOOP, YKM, TRUE}, + {BCK_YKM_F_TALK_A, J3DFrameCtrl::EMode_NONE, YKM, BTP_YKM, J3DFrameCtrl::EMode_LOOP, YKM, TRUE}, + {BCK_YKM_F_TALK_B, J3DFrameCtrl::EMode_NONE, YKM, BTP_YKM, J3DFrameCtrl::EMode_LOOP, YKM, TRUE}, + {BCK_YKM_F_TALK_C, J3DFrameCtrl::EMode_NONE, YKM, BTP_YKM, J3DFrameCtrl::EMode_LOOP, YKM, TRUE}, + {BCK_YKM_F_TALK_D, J3DFrameCtrl::EMode_NONE, YKM1, BTP_YKM, J3DFrameCtrl::EMode_LOOP, YKM, TRUE}, + {BCK_YKM_F_REGRET, J3DFrameCtrl::EMode_NONE, YKM, BTP_YKM_F_REGRET, J3DFrameCtrl::EMode_NONE, YKM, FALSE}, + {BCK_YKM_F_LAUGH, J3DFrameCtrl::EMode_NONE, YKM, BTP_YKM_F_LAUGH, J3DFrameCtrl::EMode_NONE, YKM, FALSE}, + {BCK_YKM_F_ASK, J3DFrameCtrl::EMode_NONE, YKM, BTP_YKM_F_ASK, J3DFrameCtrl::EMode_NONE, YKM, FALSE}, + {BCK_YKM_FH_LAUGH, J3DFrameCtrl::EMode_LOOP, YKM, BTP_YKM_FH_LAUGH, J3DFrameCtrl::EMode_LOOP, YKM, FALSE}, + {BCK_YKM_FH_REGRET, J3DFrameCtrl::EMode_LOOP, YKM, BTP_YKM_FH_REGRET, J3DFrameCtrl::EMode_LOOP, YKM, FALSE}, + {BCK_YKM_F_TALK_X, J3DFrameCtrl::EMode_NONE, YKM1, BTP_YKM, J3DFrameCtrl::EMode_LOOP, YKM, TRUE}, + {BCK_YKM_F_TALK_Y, J3DFrameCtrl::EMode_NONE, YKM1, BTP_YKM, J3DFrameCtrl::EMode_LOOP, YKM, TRUE}, + {BCK_YKM_F_SHOUT, J3DFrameCtrl::EMode_NONE, YKM1, BTP_YKM, J3DFrameCtrl::EMode_LOOP, YKM, TRUE}, + {BCK_YKM_F_SHUT, J3DFrameCtrl::EMode_NONE, YKM1, BTP_YKM_F_SHUT, J3DFrameCtrl::EMode_NONE, YKM1, FALSE}, + {BCK_YKM_F_HAPPY, J3DFrameCtrl::EMode_NONE, YKM1, BTP_YKM_F_HAPPY, J3DFrameCtrl::EMode_NONE, YKM1, FALSE}, + {BCK_YKM_FH_HAPPY, J3DFrameCtrl::EMode_LOOP, YKM1, BTP_YKM_FH_HAPPY, J3DFrameCtrl::EMode_LOOP, YKM1, FALSE}, }; -#pragma pop /* 80B5DD94-80B5E328 0002AC 0594+00 0/1 0/0 0/0 .data l_motionAnmData */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 l_motionAnmData[1428] = { - 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x19, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x19, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x19, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x19, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, - 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x19, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x19, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, - 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x19, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, - 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x19, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, - 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x19, - 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, 0x19, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, - 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x19, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, - 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x19, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x19, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x01, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x19, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x01, 0x00, 0x00, +static daNpcT_motionAnmData_c l_motionAnmData[51] = { + {BCK_YKM_WAIT_A, J3DFrameCtrl::EMode_LOOP, YKM, BTK_YKM, J3DFrameCtrl::EMode_NONE, YKM, 1, 0}, + {BCK_YKM_WAIT_B, J3DFrameCtrl::EMode_LOOP, YKM1, BTK_YKM_WAIT_B, J3DFrameCtrl::EMode_NONE, YKM1, 0, 0}, + {BCK_YKM_WAIT_C, J3DFrameCtrl::EMode_LOOP, YKM1, BTK_YKM, J3DFrameCtrl::EMode_NONE, YKM, 1, 0}, + {-1, J3DFrameCtrl::EMode_NONE, 0, -1, J3DFrameCtrl::EMode_NONE, 0, 0, 0}, + {BCK_YKM_WAIT_X, J3DFrameCtrl::EMode_LOOP, YKM1, BTK_YKM, J3DFrameCtrl::EMode_NONE, YKM, 1, 0}, + {BCK_YKM_FUNWAIT, J3DFrameCtrl::EMode_LOOP, YKM, BTK_YKM, J3DFrameCtrl::EMode_NONE, YKM, 1, 0}, + {BCK_YKM_REGRETWAIT, J3DFrameCtrl::EMode_LOOP, YKM2, BTK_YKM_REGRETWAIT, J3DFrameCtrl::EMode_LOOP, YKM2, 0, 0}, + {BCK_YKM_TALK_B, J3DFrameCtrl::EMode_NONE, YKM, BTK_YKM, J3DFrameCtrl::EMode_NONE, YKM, 1, 0}, + {BCK_YKM_TALK_C, J3DFrameCtrl::EMode_NONE, YKM, BTK_YKM, J3DFrameCtrl::EMode_NONE, YKM, 1, 0}, + {BCK_YKM_TALK_D, J3DFrameCtrl::EMode_NONE, YKM1, BTK_YKM_TALK_D, J3DFrameCtrl::EMode_NONE, YKM1, 0, 0}, + {BCK_YKM_TALK_E, J3DFrameCtrl::EMode_NONE, YKM1, BTK_YKM, J3DFrameCtrl::EMode_NONE, YKM, 1, 0}, + {-1, J3DFrameCtrl::EMode_NONE, 0, -1, J3DFrameCtrl::EMode_NONE, 0, 0, 0}, + {BCK_YKM_PUSH, J3DFrameCtrl::EMode_NONE, YKM1, BTK_YKM, J3DFrameCtrl::EMode_NONE, YKM, 1, 0}, + {BCK_YKM_PICKUP, J3DFrameCtrl::EMode_NONE, YKM1, BTK_YKM_PICKUP, J3DFrameCtrl::EMode_NONE, YKM1, 0, 0}, + {BCK_YKM_POUR, J3DFrameCtrl::EMode_NONE, YKM1, BTK_YKM, J3DFrameCtrl::EMode_NONE, YKM, 1, 0}, + {BCK_YKM_REGRET, J3DFrameCtrl::EMode_NONE, YKM2, BTK_YKM_REGRET, J3DFrameCtrl::EMode_NONE, YKM2, 0, 0}, + {BCK_YKM_LAUGH, J3DFrameCtrl::EMode_NONE, YKM2, BTK_YKM, J3DFrameCtrl::EMode_NONE, YKM, 1, 0}, + {BCK_YKM_ASK, J3DFrameCtrl::EMode_NONE, YKM2, BTK_YKM, J3DFrameCtrl::EMode_NONE, YKM, 1, 0}, + {BCK_YKM_WALK, J3DFrameCtrl::EMode_LOOP, YKM, BTK_YKM, J3DFrameCtrl::EMode_NONE, YKM, 1, 0}, + {BCK_YKM_STEP, J3DFrameCtrl::EMode_NONE, YKM, BTK_YKM, J3DFrameCtrl::EMode_NONE, YKM, 1, 0}, + {BCK_YKM_FISH_WAIT_A, J3DFrameCtrl::EMode_LOOP, YKM3, BTK_YKM, J3DFrameCtrl::EMode_NONE, YKM, 1, 0}, + {BCK_YKM_FISH_ATTACK, J3DFrameCtrl::EMode_NONE, YKM3, BTK_YKM_FISH_ATTACK, J3DFrameCtrl::EMode_NONE, YKM3, 0, 0}, + {BCK_YKM_FISH_WAIT_B, J3DFrameCtrl::EMode_LOOP, YKM3, BTK_YKM_FISH_WAIT_B, J3DFrameCtrl::EMode_LOOP, YKM3, 0, 0}, + {BCK_YKM_FISH_JUMP, J3DFrameCtrl::EMode_NONE, YKM3, BTK_YKM_FISH_JUMP, J3DFrameCtrl::EMode_NONE, YKM3, 0, 0}, + {BCK_YKM_FISH_TALK_B, J3DFrameCtrl::EMode_NONE, YKM3, BTK_YKM, J3DFrameCtrl::EMode_NONE, YKM, 1, 0}, + {BCK_YKM_FISH_TALK_C, J3DFrameCtrl::EMode_NONE, YKM3, BTK_YKM, J3DFrameCtrl::EMode_NONE, YKM, 1, 0}, + {BCK_YKM_FISH_REGRET, J3DFrameCtrl::EMode_NONE, YKM3, BTK_YKM_FISH_REGRET, J3DFrameCtrl::EMode_NONE, YKM3, 0, 0}, + {BCK_YKM_FISH_REGRETWAIT, J3DFrameCtrl::EMode_LOOP, YKM3, BTK_YKM_FISH_REGRETWAIT, J3DFrameCtrl::EMode_LOOP, YKM3, 0, 0}, + {BCK_YKM_FISH_LAUGH, J3DFrameCtrl::EMode_NONE, YKM3, BTK_YKM, J3DFrameCtrl::EMode_NONE, YKM, 1, 0}, + {BCK_YKM_FISH_ASK, J3DFrameCtrl::EMode_NONE, YKM3, BTK_YKM, J3DFrameCtrl::EMode_NONE, YKM, 1, 0}, + {BCK_YKM_FISH_LOOK, J3DFrameCtrl::EMode_NONE, YKM3, BTK_YKM_FISH_LOOK, J3DFrameCtrl::EMode_NONE, YKM3, 0, 0}, + {BCK_YKM_FISH_LOOKWAIT, J3DFrameCtrl::EMode_LOOP, YKM3, BTK_YKM_FISH_LOOKWAIT, J3DFrameCtrl::EMode_LOOP, YKM3, 0, 0}, + {BCK_YKM_SB_WAIT, J3DFrameCtrl::EMode_LOOP, YKM2, BTK_YKM, J3DFrameCtrl::EMode_NONE, YKM, 1, 0}, + {BCK_YKM_SB_JUMP_A, J3DFrameCtrl::EMode_NONE, YKM2, BTK_YKM, J3DFrameCtrl::EMode_NONE, YKM, 1, 0}, + {BCK_YKM_SB_JUMP_B, J3DFrameCtrl::EMode_LOOP, YKM2, BTK_YKM, J3DFrameCtrl::EMode_NONE, YKM, 1, 0}, + {BCK_YKM_SB_JUMP_C, J3DFrameCtrl::EMode_NONE, YKM2, BTK_YKM, J3DFrameCtrl::EMode_NONE, YKM, 1, 0}, + {BCK_YKM_SB_TURNL, J3DFrameCtrl::EMode_LOOP, YKM2, BTK_YKM, J3DFrameCtrl::EMode_NONE, YKM, 1, 0}, + {BCK_YKM_SB_TURNR, J3DFrameCtrl::EMode_LOOP, YKM2, BTK_YKM, J3DFrameCtrl::EMode_NONE, YKM, 1, 0}, + {BCK_YKM_SB_DAMAGE, J3DFrameCtrl::EMode_NONE, YKM2, BTK_YKM_SB_DAMAGE, J3DFrameCtrl::EMode_NONE, YKM2, 0, 0}, + {BCK_YKM_SB_GOAL, J3DFrameCtrl::EMode_NONE, YKM2, BTK_YKM, J3DFrameCtrl::EMode_NONE, YKM, 1, 0}, + {BCK_YKM_SB_GOALWAIT, J3DFrameCtrl::EMode_LOOP, YKM2, BTK_YKM, J3DFrameCtrl::EMode_NONE, YKM, 1, 0}, + {BCK_YKM_DENY, J3DFrameCtrl::EMode_NONE, YKM1, BTK_YKM, J3DFrameCtrl::EMode_NONE, YKM, 1, 0}, + {BCK_YKM_RUN, J3DFrameCtrl::EMode_LOOP, YKM1, BTK_YKM, J3DFrameCtrl::EMode_NONE, YKM, 1, 0}, + {BCK_YKM_STOP, J3DFrameCtrl::EMode_NONE, YKM1, BTK_YKM, J3DFrameCtrl::EMode_NONE, YKM, 1, 0}, + {BCK_YKM_WAITLIE, J3DFrameCtrl::EMode_LOOP, YKM1, BTK_YKM, J3DFrameCtrl::EMode_NONE, YKM, 1, 0}, + {BCK_YKM_WAKE, J3DFrameCtrl::EMode_NONE, YKM1, BTK_YKM, J3DFrameCtrl::EMode_NONE, YKM, 1, 0}, + {BCK_YKM_WAITWAKE, J3DFrameCtrl::EMode_LOOP, YKM1, BTK_YKM, J3DFrameCtrl::EMode_NONE, YKM, 1, 3}, + {BCK_YKM_HOLD, J3DFrameCtrl::EMode_NONE, YKM1, BTK_YKM, J3DFrameCtrl::EMode_NONE, YKM, 1, 0}, + {BCK_YKM_WAITHOLD, J3DFrameCtrl::EMode_LOOP, YKM1, BTK_YKM, J3DFrameCtrl::EMode_NONE, YKM, 1, 0}, + {BCK_YKM_HOLD_B, J3DFrameCtrl::EMode_NONE, YKM1, BTK_YKM, J3DFrameCtrl::EMode_NONE, YKM, 1, 0}, + {BCK_YKM_WAITHOLD_B_B, J3DFrameCtrl::EMode_LOOP, YKM1, BTK_YKM, J3DFrameCtrl::EMode_NONE, YKM, 1, 0}, }; -#pragma pop /* 80B5E328-80B5E428 000840 0100+00 0/1 0/0 0/0 .data l_faceMotionSequenceData */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 l_faceMotionSequenceData[256] = { - 0x00, 0x01, 0xFF, 0x01, 0xFF, 0xFF, 0x00, 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, 0x03, 0xFF, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x04, 0xFF, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x05, 0xFF, 0x01, 0x00, 0x09, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x06, 0xFF, 0x01, 0x00, 0x08, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x07, 0xFF, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x0C, 0xFF, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x0D, 0xFF, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x0A, 0xFF, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x0E, 0xFF, 0x01, 0x00, 0x0F, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x0F, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x0B, 0xFF, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x09, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x08, 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[64] = { + {1, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {2, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {3, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {4, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {5, -1, 1}, {9, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {6, -1, 1}, {8, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {7, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {0xC, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {0xD, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {0xA, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {0xE, -1, 1}, {0xF, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {0xF, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {0xB, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {9, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {8, -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 /* 80B5E428-80B5E718 000940 02F0+00 0/1 0/0 0/0 .data l_motionSequenceData */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 l_motionSequenceData[752] = { - 0x00, 0x00, 0xF7, 0x00, 0xFF, 0xFF, 0x00, 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, 0x07, 0xFF, 0x01, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x08, 0xFF, 0x01, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x09, 0xFF, 0x01, 0x00, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x0A, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x0C, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x0D, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x0D, 0xFF, 0x01, 0x00, 0x02, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x02, 0xF7, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x05, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x0F, 0xFF, 0x01, 0x00, 0x06, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x10, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x11, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x14, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x18, 0xFF, 0x01, 0x00, 0x14, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x19, 0xFF, 0x01, 0x00, 0x14, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x1A, 0xFF, 0x01, 0x00, 0x1B, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x1C, 0xFF, 0x01, 0x00, 0x14, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x1D, 0xFF, 0x01, 0x00, 0x14, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x1E, 0xFF, 0x01, 0x00, 0x1F, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x2C, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x2D, 0xFF, 0x01, 0x00, 0x2E, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x29, 0xFF, 0x01, 0x00, 0x2E, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x2E, 0xF7, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x2F, 0xFF, 0x01, 0x00, 0x30, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x30, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x04, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x32, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x12, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x13, 0x04, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x0E, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x20, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x21, 0x00, 0x01, 0x00, 0x22, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x23, 0x04, 0x01, 0x00, 0x20, 0x04, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x2A, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x2B, 0xFF, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x31, 0xFF, 0x01, 0x00, 0x32, 0x00, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x03, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x0B, 0xFF, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x26, 0x00, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x14, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x15, 0xFF, 0x01, 0x00, 0x16, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x17, 0xFF, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x24, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x25, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x27, 0xFF, 0x01, 0x00, 0x28, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, +static daNpcT_MotionSeqMngr_c::sequenceStepData_c l_motionSequenceData[188] = { + {0, 0xF7, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {1, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {7, -1, 1}, {0, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, + {8, -1, 1}, {0, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, + {9, -1, 1}, {1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {0xA, -1, 1}, {0, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {0xC, -1, 1}, {0, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {0xD, -1, 1}, {0, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {0xD, -1, 1}, {2, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {2, 0xF7, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {5, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {0xF, -1, 1}, {6, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {0x10, -1, 1}, {0, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {0x11, -1, 1}, {0, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {0x14, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {0x18, -1, 1}, {0x14, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {0x19, -1, 1}, {0x14, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {0x1A, -1, 1}, {0x1B, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, + {0x1C, -1, 1}, {0x14, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {0x1D, -1, 1}, {0x14, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {0x1E, -1, 1}, {0x1F, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {0x2C, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {0x2D, -1, 1}, {0x2E, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {0x29, -1, 1}, {0x2E, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {0x2E, 0xF7, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {0x2F, -1, 1}, {0x30, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {0x30, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {4, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {0x32, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {0x12, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {0x13, 4, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {0xE, -1, 1}, {0, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {0x20, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {0x21, 0, 1}, {0x22, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {0x23, 4, 1}, {0x20, 4, 0}, {-1, 0, 0}, {-1, 0, 0}, + {0x2A, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {0x2B, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {0x31, -1, 1}, {0x32, 0, 1}, {-1, 0, 0}, {-1, 0, 0}, + {3, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {0xB, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {0x26, 0, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {0x14, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {0x15, -1, 1}, {0x16, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {0x17, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {0x24, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {0x25, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {0x27, -1, 1}, {0x28, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, }; -#pragma pop /* 80B5E718-80B5E740 -00001 0028+00 1/1 0/0 0/0 .data mCutNameList__11daNpc_ykM_c */ -SECTION_DATA void* daNpc_ykM_c::mCutNameList[10] = { - (void*)&d_a_npc_ykm__stringBase0, - (void*)(((char*)&d_a_npc_ykm__stringBase0) + 0xD), - (void*)(((char*)&d_a_npc_ykm__stringBase0) + 0x17), - (void*)(((char*)&d_a_npc_ykm__stringBase0) + 0x25), - (void*)(((char*)&d_a_npc_ykm__stringBase0) + 0x35), - (void*)(((char*)&d_a_npc_ykm__stringBase0) + 0x86), - (void*)(((char*)&d_a_npc_ykm__stringBase0) + 0x3F), - (void*)(((char*)&d_a_npc_ykm__stringBase0) + 0x49), - (void*)(((char*)&d_a_npc_ykm__stringBase0) + 0x5D), - (void*)(((char*)&d_a_npc_ykm__stringBase0) + 0x6F), +char* daNpc_ykM_c::mCutNameList[10] = { + "", + "SLIDEDOWN", + "MEETING_AGAIN", + "GET_TOMATOPUREE", + "GET_TASTE", + "LV5DUNGEON_CLEAR", + "FIND_WOLF", + "START_SNOWBOARDRACE", + "END_SNOWBOARDRACE", + "HUG" }; -/* 80B5E740-80B5E74C -00001 000C+00 0/1 0/0 0/0 .data @3908 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3908[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cutSlideDown__11daNpc_ykM_cFi, -}; -#pragma pop - -/* 80B5E74C-80B5E758 -00001 000C+00 0/1 0/0 0/0 .data @3909 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3909[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cutMeetingAgain__11daNpc_ykM_cFi, -}; -#pragma pop - -/* 80B5E758-80B5E764 -00001 000C+00 0/1 0/0 0/0 .data @3910 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3910[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cutGetTomatoPuree__11daNpc_ykM_cFi, -}; -#pragma pop - -/* 80B5E764-80B5E770 -00001 000C+00 0/1 0/0 0/0 .data @3911 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3911[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cutGetTaste__11daNpc_ykM_cFi, -}; -#pragma pop - -/* 80B5E770-80B5E77C -00001 000C+00 0/1 0/0 0/0 .data @3912 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3912[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cutLv5DungeonClear__11daNpc_ykM_cFi, -}; -#pragma pop - -/* 80B5E77C-80B5E788 -00001 000C+00 0/1 0/0 0/0 .data @3913 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3913[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cutFindWolf__11daNpc_ykM_cFi, -}; -#pragma pop - -/* 80B5E788-80B5E794 -00001 000C+00 0/1 0/0 0/0 .data @3914 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3914[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cutStartSnowboardRace__11daNpc_ykM_cFi, -}; -#pragma pop - -/* 80B5E794-80B5E7A0 -00001 000C+00 0/1 0/0 0/0 .data @3915 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3915[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cutEndSnowboardRace__11daNpc_ykM_cFi, -}; -#pragma pop - -/* 80B5E7A0-80B5E7AC -00001 000C+00 0/1 0/0 0/0 .data @3916 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3916[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cutHug__11daNpc_ykM_cFi, -}; -#pragma pop - /* 80B5E7AC-80B5E824 000CC4 0078+00 1/2 0/0 0/0 .data mCutList__11daNpc_ykM_c */ -SECTION_DATA u8 daNpc_ykM_c::mCutList[120] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +daNpc_ykM_c::cutFunc daNpc_ykM_c::mCutList[10] = { + NULL, + &daNpc_ykM_c::cutSlideDown, + &daNpc_ykM_c::cutMeetingAgain, + &daNpc_ykM_c::cutGetTomatoPuree, + &daNpc_ykM_c::cutGetTaste, + &daNpc_ykM_c::cutLv5DungeonClear, + &daNpc_ykM_c::cutFindWolf, + &daNpc_ykM_c::cutStartSnowboardRace, + &daNpc_ykM_c::cutEndSnowboardRace, + &daNpc_ykM_c::cutHug, }; -/* 80B5E824-80B5E840 -00001 001C+00 1/1 0/0 0/0 .data @4838 */ -SECTION_DATA static void* lit_4838[7] = { - (void*)(((char*)getType__11daNpc_ykM_cFv) + 0x28), - (void*)(((char*)getType__11daNpc_ykM_cFv) + 0x30), - (void*)(((char*)getType__11daNpc_ykM_cFv) + 0x38), - (void*)(((char*)getType__11daNpc_ykM_cFv) + 0x40), - (void*)(((char*)getType__11daNpc_ykM_cFv) + 0x48), - (void*)(((char*)getType__11daNpc_ykM_cFv) + 0x50), - (void*)(((char*)getType__11daNpc_ykM_cFv) + 0x58), +/* 80B534EC-80B53698 0000EC 01AC+00 1/0 0/0 0/0 .text __dt__11daNpc_ykM_cFv */ +daNpc_ykM_c::~daNpc_ykM_c() { + if (mpMorf[0] != NULL) { + mpMorf[0]->stopZelAnime(); + } + + if (mFishModelMorf != NULL) { + mFishModelMorf->stopZelAnime(); + } + + if (mLeafModelMorf != NULL) { + mLeafModelMorf->stopZelAnime(); + } + + deleteRes(l_loadResPtrnList[mType], (const char**)l_resNameList); + + if (field_0x157b != 0) { + mDoAud_subBgmStop(); + } + + daNpcT_offTmpBit(0x54); // dSv_event_tmp_flag_c::T_0084 - Snowpeak mountain - Racing with Yeto +} + +/* 80B5D794-80B5D85C 000000 00C8+00 23/23 0/0 0/0 .rodata m__17daNpc_ykM_Param_c */ +daNpc_ykM_HIOParam const daNpc_ykM_Param_c::m = { + 500.0f, + -4.0f, + 1.0f, + 1600.0f, + 255.0f, + 170.0f, + 30.0f, + 120.0f, + 0.0f, + -15.0f, + 25.0f, + -25.0f, + 30.0f, + -15.0f, + 20.0f, + -20.0f, + 0.8f, + 12.0f, + 7, + 6, + 9, + 6, + 110.0f, + 0.0f, + 0.0f, + 0.0f, + 60, + 8, + 0, + 0, + 0, + 0, + 0, + 4.0f, + 0.0f, + 0.0f, + 0.0f, + 0.0f, + 0.0f, + 0.0f, + 0.0f, + 30, + 0, + 500.0f, + 300.0f, + 18.0f, + 50.0f, + 3.0f, + 20.0f, + 50.0f, + 56.0f, + 0.8f, + 52.0f, + 0x78, + 0, + 28.0f, + 1, + 5, + 0.6f, }; -/* 80B5E840-80B5E85C -00001 001C+00 1/1 0/0 0/0 .data @4854 */ -SECTION_DATA static void* lit_4854[7] = { - (void*)(((char*)isDelete__11daNpc_ykM_cFv) + 0x30), - (void*)(((char*)isDelete__11daNpc_ykM_cFv) + 0x38), - (void*)(((char*)isDelete__11daNpc_ykM_cFv) + 0x50), - (void*)(((char*)isDelete__11daNpc_ykM_cFv) + 0x5C), - (void*)(((char*)isDelete__11daNpc_ykM_cFv) + 0x74), - (void*)(((char*)isDelete__11daNpc_ykM_cFv) + 0x7C), - (void*)(((char*)isDelete__11daNpc_ykM_cFv) + 0x84), +/* 80B53698-80B53990 000298 02F8+00 1/1 0/0 0/0 .text create__11daNpc_ykM_cFv */ +cPhs__Step daNpc_ykM_c::create() { + fopAcM_SetupActor2(this, daNpc_ykM_c, l_faceMotionAnmData, l_motionAnmData, l_faceMotionSequenceData, + 4, l_motionSequenceData, 4, l_evtList, l_resNameList); + mType = getType(); + mFlowNodeNo = getFlowNodeNo(); + mTwilight = false; + + cPhs__Step phase = (cPhs__Step)loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList); + if (phase == cPhs_COMPLEATE_e) { + OS_REPORT("\t(%s:%d) flowNo:%d, PathID:%02x, BitTRB:%02x<%08x> ", fopAcM_getProcNameString(this), mType, mFlowNodeNo, + (getPathID() >> 32) & 0xFF, getBitTRB() & 0xFF, fopAcM_GetParam(this)); + + if (isDelete()) { + OS_REPORT("===>isDelete:TRUE\n"); + return cPhs_ERROR_e; + } + + static int const heapSize[8] = { + 0x8000, 0x5460, 0x8000, 0x4460, + 0x8000, 0x8000, 0x8000, 0x8000, + }; + OS_REPORT("\n"); + OS_REPORT("YKM: %u 0x%04x\n", mType, heapSize[mType]); + if (!fopAcM_entrySolidHeap(this, createHeapCallBack, heapSize[mType])) { + return cPhs_ERROR_e; + } + + fopAcM_SetMtx(this, mpMorf[0]->getModel()->getBaseTRMtx()); + fopAcM_setCullSizeBox(this, -400.0f, -100.0f, -500.0f, 400.0f, 600.0f, 500.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_ykM_Param_c::m.common.weight, 0, this); + + for (int i = 0; i < 4; i++) { + field_0xf94[i].Set(mCcDSph); + field_0xf94[i].SetStts(&mCcStts); + field_0xf94[i].SetTgHitCallback(tgHitCallBack); + } + + field_0xe58.Set(mCcDCyl); + field_0xe58.SetStts(&mCcStts); + field_0xe58.SetTgHitCallback(tgHitCallBack); + + mAcch.CrrPos(dComIfG_Bgsp()); + mGndChk = mAcch.m_gnd; + mGroundH = mAcch.GetGroundH(); + + if (mGroundH != -1000000000.0f) { + setEnvTevColor(); + setRoomNo(); + } + + mCreating = true; + Execute(); + mCreating = false; + } + + return phase; +} + +/* 80B53990-80B53F00 000590 0570+00 1/1 0/0 0/0 .text CreateHeap__11daNpc_ykM_cFv */ +int daNpc_ykM_c::CreateHeap() { + // NONMATCHING + J3DModelData* mdlData_p = (J3DModelData*)dComIfG_getObjectRes(l_resNameList[l_bmdData[mTwilight ? 0 : 1][1]], + l_bmdData[mTwilight ? 0 : 1][0]); + if (mdlData_p == NULL) { + return 1; + } + + mpMorf[0] = new mDoExt_McaMorfSO(mdlData_p, NULL, NULL, NULL, -1, 1.0f, 0, -1, &mSound, 0x80000, 0x11020284); + if (mpMorf[0] == NULL || mpMorf[0]->getModel() == NULL) { + return 0; + } + + J3DModel* model = mpMorf[0]->getModel(); + for (u16 i = 0; i < mdlData_p->getJointNum(); i++) { + mdlData_p->getJointNodePointer(i)->setCallBack(ctrlJointCallBack); + } + model->setUserArea((u32)this); + + mpMatAnm[0] = new daNpcT_MatAnm_c(); + if (mpMatAnm[0] == NULL) { + return 0; + } + + static int const bmdTypeList[3] = {1, 2, 3}; + switch (mType) { + case TYPE_COOK: + for (int i = 0; i < 3; i++) { + if (l_bmdData[bmdTypeList[i]][0] >= 0) { + mdlData_p = (J3DModelData*)dComIfG_getObjectRes(l_resNameList[l_bmdData[bmdTypeList[i]][1]], l_bmdData[bmdTypeList[i]][0]); + } else { + mdlData_p = NULL; + } + + // field_0xe4c holds a Pumpkin, Leaf, and Cheese model (in that order) + if (mdlData_p != NULL) { + field_0xe4c[i] = mDoExt_J3DModel__create(mdlData_p, 0x80000, 0x11000084); + } else { + field_0xe4c[i] = NULL; + } + } + break; + + case TYPE_2: + mdlData_p = (J3DModelData*)dComIfG_getObjectRes(l_resNameList[l_bmdData[4][1]], l_bmdData[4][0]); + + JUT_ASSERT(1595, 0 != mdlData_p); + + mFishModelMorf = new mDoExt_McaMorfSO(mdlData_p, NULL, NULL, NULL, -1, 1.0f, 0, -1, + NULL, 0x80000, 0x11000084); + if (mFishModelMorf == NULL || mFishModelMorf->getModel() == NULL) { + return 0; + } + + mdlData_p = (J3DModelData*)dComIfG_getObjectRes(l_resNameList[l_bmdData[5][1]], l_bmdData[5][0]); + + JUT_ASSERT(1622, 0 != mdlData_p); + + mLeafModelMorf = new mDoExt_McaMorfSO(mdlData_p, NULL, NULL, NULL, -1, 1.0f, 0, -1, + NULL, 0x80000, 0x11000084); + if (mLeafModelMorf == NULL || mLeafModelMorf->getModel() == NULL) { + return 0; + } + setLeafAnm(ANM_LEAF_WAIT_A, 0.0f); + + mdlData_p = (J3DModelData*)dComIfG_getObjectRes(l_resNameList[l_bmdData[bmdTypeList[1]][1]], l_bmdData[bmdTypeList[1]][0]); + if (mdlData_p != NULL) { + field_0xe4c[1] = mDoExt_J3DModel__create(mdlData_p, 0x80000, 0x11000084); + } else { + field_0xe4c[1] = NULL; + } + break; + + case TYPE_3: + break; + + case TYPE_4: + mdlData_p = (J3DModelData*)dComIfG_getObjectRes(l_resNameList[l_bmdData[bmdTypeList[1]][1]], l_bmdData[bmdTypeList[1]][0]); + if (mdlData_p != NULL) { + field_0xe4c[1] = mDoExt_J3DModel__create(mdlData_p, 0x80000, 0x11000084); + } else { + field_0xe4c[1] = NULL; + } + break; + } + + if (setFaceMotionAnm(1, false) && setMotionAnm(0, 0.0f, FALSE)) { + return 1; + } + + return 0; +} + +/* 80B540BC-80B540F0 000CBC 0034+00 1/1 0/0 0/0 .text Delete__11daNpc_ykM_cFv */ +int daNpc_ykM_c::Delete() { + this->~daNpc_ykM_c(); + return 1; +} + +/* 80B540F0-80B54110 000CF0 0020+00 2/2 0/0 0/0 .text Execute__11daNpc_ykM_cFv */ +int daNpc_ykM_c::Execute() { + return execute(); +} + +/* 80B54110-80B541F8 000D10 00E8+00 1/1 0/0 0/0 .text Draw__11daNpc_ykM_cFv */ +int daNpc_ykM_c::Draw() { + J3DModelData* mdlData_p = mpMorf[0]->getModel()->getModelData(); + + if (mpMatAnm[0] != NULL) { + mdlData_p->getMaterialNodePointer(getEyeballMaterialNo())->setMaterialAnm(mpMatAnm[0]); + } + + if (field_0x157a != 0) { + mdlData_p->getMaterialNodePointer(3)->getShape()->hide(); + } + + int rv = draw( + #ifdef DEBUG + chkAction(&daNpc_ykM_c::test), + #else + FALSE, + #endif + FALSE, mRealShadowSize, NULL, 0.0f, FALSE, field_0x1581 == 1, FALSE + ); + + if (field_0x157a != 0) { + mdlData_p->getMaterialNodePointer(3)->getShape()->show(); + } + + return rv; +} + +/* 80B541F8-80B54218 000DF8 0020+00 1/1 0/0 0/0 .text createHeapCallBack__11daNpc_ykM_cFP10fopAc_ac_c */ +int daNpc_ykM_c::createHeapCallBack(fopAc_ac_c* a_this) { + daNpc_ykM_c* i_this = (daNpc_ykM_c*)a_this; + return i_this->CreateHeap(); +} + +/* 80B54218-80B54270 000E18 0058+00 1/1 0/0 0/0 .text ctrlJointCallBack__11daNpc_ykM_cFP8J3DJointi */ +int daNpc_ykM_c::ctrlJointCallBack(J3DJoint* i_joint, int param_2) { + if (param_2 == 0) { + J3DModel* model = j3dSys.getModel(); + daNpc_ykM_c* i_this = (daNpc_ykM_c*)model->getUserArea(); + if (i_this != NULL) { + i_this->ctrlJoint(i_joint, model); + } + } + + return 1; +} + +/* 80B54270-80B5430C 000E70 009C+00 2/2 0/0 0/0 .text srchGadget__11daNpc_ykM_cFPvPv */ +void* daNpc_ykM_c::srchGadget(void* i_actor, void* i_data) { + if (mFindCount < 50 && i_actor != NULL && i_actor != i_data) { + if (fopAcM_IsExecuting(fopAcM_GetID(i_actor)) && fopAcM_GetName(i_actor) == PROC_OBJ_GADGET) { + mFindActorPtrs[mFindCount] = (fopAc_ac_c*)i_actor; + mFindCount++; + } + } + + return NULL; +} + +/* 80B5430C-80B543DC 000F0C 00D0+00 1/1 0/0 0/0 .text getTomatoPureeP__11daNpc_ykM_cFv */ +fopAc_ac_c* daNpc_ykM_c::getTomatoPureeP() { + fopAc_ac_c* actor = NULL; + f32 fVar1 = 1000000000.0f; + mFindCount = 0; + + fopAcM_Search(srchGadget, this); + + for (int i = 0; i < mFindCount; i++) { + if (((daObj_Gadget_c*)mFindActorPtrs[i])->getType() == 0 && fopAcM_searchActorDistance(this, mFindActorPtrs[i]) < fVar1) { + fVar1 = fopAcM_searchActorDistance(this, mFindActorPtrs[i]); + actor = mFindActorPtrs[i]; + } + } + + return actor; +} + +/* 80B543DC-80B544B0 000FDC 00D4+00 1/1 0/0 0/0 .text getCheeseP__11daNpc_ykM_cFv */ +fopAc_ac_c* daNpc_ykM_c::getCheeseP() { + fopAc_ac_c* actor = NULL; + f32 fVar1 = 1000000000.0f; + mFindCount = 0; + + fopAcM_Search(srchGadget, this); + + for (int i = 0; i < mFindCount; i++) { + if (((daObj_Gadget_c*)mFindActorPtrs[i])->getType() == 1 && fopAcM_searchActorDistance(this, mFindActorPtrs[i]) < fVar1) { + fVar1 = fopAcM_searchActorDistance(this, mFindActorPtrs[i]); + actor = mFindActorPtrs[i]; + } + } + + return actor; +} + +/* 80B544B0-80B5454C 0010B0 009C+00 1/1 0/0 0/0 .text srchYkm__11daNpc_ykM_cFPvPv */ +void* daNpc_ykM_c::srchYkm(void* i_actor, void* i_data) { + if (mFindCount < 50 && i_actor != NULL && i_actor != i_data) { + if (fopAcM_IsExecuting(fopAcM_GetID(i_actor)) && fopAcM_GetName(i_actor) == PROC_NPC_YKM) { + mFindActorPtrs[mFindCount] = (fopAc_ac_c*)i_actor; + mFindCount++; + } + } + + return NULL; +} + +/* 80B5454C-80B54628 00114C 00DC+00 4/4 0/0 0/0 .text getOtherYkmP__11daNpc_ykM_cFi */ +fopAc_ac_c* daNpc_ykM_c::getOtherYkmP(int param_1) { + fopAc_ac_c* actor = NULL; + f32 fVar1 = 1000000000.0f; + mFindCount = 0; + + fopAcM_Search(srchYkm, this); + + for (int i = 0; i < mFindCount; i++) { + if (param_1 == (((daNpc_ykM_c*)mFindActorPtrs[i])->getType() & 0xFF) && fopAcM_searchActorDistance(this, mFindActorPtrs[i]) < fVar1) { + fVar1 = fopAcM_searchActorDistance(this, mFindActorPtrs[i]); + actor = mFindActorPtrs[i]; + } + } + + return actor; +} + +/* 80B54628-80B546C4 001228 009C+00 1/1 0/0 0/0 .text srchYkw__11daNpc_ykM_cFPvPv */ +void* daNpc_ykM_c::srchYkw(void* i_actor, void* i_data) { + if (mFindCount < 50 && i_actor != NULL && i_actor != i_data) { + if (fopAcM_IsExecuting(fopAcM_GetID(i_actor)) && fopAcM_GetName(i_actor) == PROC_NPC_YKW) { + mFindActorPtrs[mFindCount] = (fopAc_ac_c*)i_actor; + mFindCount++; + } + } + + return NULL; +} + +/* 80B546C4-80B547A0 0012C4 00DC+00 1/1 0/0 0/0 .text getOtherYkwP__11daNpc_ykM_cFi */ +fopAc_ac_c* daNpc_ykM_c::getOtherYkwP(int param_1) { + fopAc_ac_c* actor = NULL; + f32 fVar1 = 1000000000.0f; + mFindCount = 0; + + fopAcM_Search(srchYkw, this); + + for (int i = 0; i < mFindCount; i++) { + if (param_1 == (((daNpc_ykW_c*)mFindActorPtrs[i])->getType() & 0xFF) && fopAcM_searchActorDistance(this, mFindActorPtrs[i]) < fVar1) { + fVar1 = fopAcM_searchActorDistance(this, mFindActorPtrs[i]); + actor = mFindActorPtrs[i]; + } + } + + return actor; +} + +/* 80B547A0-80B54808 0013A0 0068+00 3/2 0/0 1/1 .text getType__11daNpc_ykM_cFv */ +u8 daNpc_ykM_c::getType() { + switch (fopAcM_GetParam(this) & 0xFF) { + case 0: + return TYPE_0; + + case 1: + return TYPE_COOK; + + 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; + + default: + return TYPE_7; + } +} + +/* 80B54808-80B548A8 001408 00A0+00 2/1 0/0 0/0 .text isDelete__11daNpc_ykM_cFv */ +BOOL daNpc_ykM_c::isDelete() { + switch (mType) { + case TYPE_0: + return FALSE; + + case TYPE_COOK: + return dComIfGs_isDungeonItemBossKey(); + + case TYPE_2: + return daNpcT_chkEvtBit(0x134); // dSv_event_flag_c::F_0308 - Snowpeak mountain - Watched first meeting event with Yeto at top of mountain (human) + + case TYPE_3: + return dComIfGs_isStageBossEnemy(); + + case TYPE_4: + return FALSE; + + case TYPE_5: + return FALSE; + + case TYPE_6: + return FALSE; + + default: + return TRUE; + } +} + +/* 80B548A8-80B54B44 0014A8 029C+00 1/1 0/0 0/0 .text reset__11daNpc_ykM_cFv */ +void daNpc_ykM_c::reset() { + // NONMATCHING + csXyz angle; + int iVar1 = (u8*)&field_0x1588 - (u8*)&mpNextAction; + + if (mpMatAnm[0] != NULL) { + mpMatAnm[0]->initialize(); + } + initialize(); + for (int i = 0; i < 8; i++) { + mActorMngr[i].initialize(); + } + + memset(&mpNextAction, 0, iVar1); + + if (getPathID() != 0xFF) { + mPath.initialize(); + mPath.setPathInfo(getPathID(), fopAcM_GetRoomNo(this), 0); + + mRoomPath = NULL; + if (mType == TYPE_4 && mPath.chkNextId()) { + dPath* path = mPath.getPathInfo(); + mRoomPath = dPath_GetRoomPath(path->m_nextID, fopAcM_GetRoomNo(this)); + } + } + + angle.setall(0); + angle.y = home.angle.y; + + switch (mType) { + case TYPE_2: + field_0x1568 = -20.0f; + field_0x1579 = 1; + eventInfo.setIdx(0); + break; + + case TYPE_3: + mHide = true; + fopAcM_OnStatus(this, fopAcM_STATUS_UNK_80000000); + break; + + case TYPE_4: + eventInfo.setIdx(0); + break; + + case TYPE_5: + mHide = true; + fopAcM_OnStatus(this, fopAcM_STATUS_UNK_80000000); + eventInfo.setIdx(1); + break; + + case TYPE_6: + mHide = true; + fopAcM_OnStatus(this, fopAcM_STATUS_UNK_80000000); + eventInfo.setIdx(2); + break; + } + + daNpcT_offTmpBit(0x53); // dSv_event_tmp_flag_c::T_0083 - LV5 Dungeon - Speak with Yeta at top of mountain as wolf after clearing Snowpeak Ruins + daNpcT_offTmpBit(0x54); // dSv_event_tmp_flag_c::T_0084 - Snowpeak mountain - Racing with Yeto + daNpcT_offTmpBit(0x55); // dSv_event_tmp_flag_c::T_0085 - Snowpeak mountain - Racing with Yeta + setAngle(angle); +} + +/* 80B54B44-80B54BD0 001744 008C+00 1/0 0/0 0/0 .text afterJntAnm__11daNpc_ykM_cFi */ +void daNpc_ykM_c::afterJntAnm(int param_1) { + if (param_1 == 1) { + mDoMtx_stack_c::YrotM(-mStagger.getAngleZ(1)); + mDoMtx_stack_c::ZrotM(mStagger.getAngleX(1)); + } else if (param_1 == 4) { + mDoMtx_stack_c::YrotM(-mStagger.getAngleZ(0)); + mDoMtx_stack_c::ZrotM(mStagger.getAngleX(0)); + } +} + +/* 80B54BD0-80B54E48 0017D0 0278+00 1/0 0/0 0/0 .text setParam__11daNpc_ykM_cFv */ +void daNpc_ykM_c::setParam() { + selectAction(); + srchActors(); + + if (mType != TYPE_5 && mType != TYPE_6) { + u32 uVar1 = 10; + dComIfGp_getAttention()->getDistTable(71).mDistMax = daNpc_ykM_Param_c::m.attention_dist; + dComIfGp_getAttention()->getDistTable(71).mDistMaxRelease = daNpc_ykM_Param_c::m.attention_dist; + dComIfGp_getAttention()->getDistTable(70).mDistMax = daNpc_ykM_Param_c::m.conversation_dist; + dComIfGp_getAttention()->getDistTable(70).mDistMaxRelease = daNpc_ykM_Param_c::m.conversation_dist; + u32 uVar2 = 4; + + if (mType == TYPE_COOK || mType == TYPE_2) { + if (mType == TYPE_COOK) { + dComIfGp_getAttention()->getDistTable(71).mDistMax = 350.0f; + dComIfGp_getAttention()->getDistTable(71).mDistMaxRelease = 350.0f; + dComIfGp_getAttention()->getDistTable(70).mDistMax = 350.0f; + dComIfGp_getAttention()->getDistTable(70).mDistMaxRelease = 350.0f; + } + + uVar2 |= 0x80; + } else if (mType == TYPE_4) { + dComIfGp_getAttention()->getDistTable(71).mDistMax = 800.0f; + dComIfGp_getAttention()->getDistTable(71).mDistMaxRelease = 900.0f; + dComIfGp_getAttention()->getDistTable(70).mDistMax = 600.0f; + dComIfGp_getAttention()->getDistTable(70).mDistMaxRelease = 700.0f; + } + + dComIfGp_getAttention()->getDistTable(71).mAngleSelect = uVar2; + dComIfGp_getAttention()->getDistTable(70).mAngleSelect = uVar2; + attention_info.distances[fopAc_attn_LOCK_e] = 71; + attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[fopAc_attn_LOCK_e]; + attention_info.distances[fopAc_attn_SPEAK_e] = 70; + + if (daPy_py_c::checkNowWolf()) { + uVar1 |= 0x800000; + } + + attention_info.flags = uVar1; + } else { + attention_info.flags = 0; + } + + scale.set(daNpc_ykM_Param_c::m.common.scale, daNpc_ykM_Param_c::m.common.scale, daNpc_ykM_Param_c::m.common.scale); + mCcStts.SetWeight(daNpc_ykM_Param_c::m.common.weight); + mCylH = daNpc_ykM_Param_c::m.common.height; + mWallR = daNpc_ykM_Param_c::m.common.width; + mAttnFovY = daNpc_ykM_Param_c::m.common.fov; + mAcchCir.SetWallR(mWallR); + mAcchCir.SetWallH(daNpc_ykM_Param_c::m.common.knee_length); + + fopAcM_OnStatus(this, fopAcM_STATUS_UNK_000100); + mRealShadowSize = daNpc_ykM_Param_c::m.common.real_shadow_size; + + if (field_0x157b != 0) { + fopAcM_OffStatus(this, fopAcM_STATUS_UNK_000100); + } + + if (mType == TYPE_3) { + fopAcM_OffStatus(this, fopAcM_STATUS_UNK_000100); + mRealShadowSize = 1800.0f; + } + + mExpressionMorfFrame = daNpc_ykM_Param_c::m.common.expression_morf_frame; + mMorfFrames = daNpc_ykM_Param_c::m.common.morf_frame; + gravity = daNpc_ykM_Param_c::m.common.gravity; + field_0x1574 = 0; + field_0x1575 = 0; + field_0xd8a.y = 0; +} + +/* 80B54E5C-80B55004 001A5C 01A8+00 1/0 0/0 0/0 .text checkChangeEvt__11daNpc_ykM_cFv */ +BOOL daNpc_ykM_c::checkChangeEvt() { + if (!chkAction(&daNpc_ykM_c::talk)) { + mPreItemNo = 0; + + if (dComIfGp_event_chkTalkXY()) { + if (dComIfGp_evmng_ChkPresentEnd()) { + mEvtNo = EVENT_NO_RESPONSE; + evtChange(); + } + + return TRUE; + } + + switch (mType) { + case TYPE_0: + break; + + case TYPE_COOK: + if (!daNpcT_chkEvtBit(4) /* dSv_event_flag_c::TEST_004 - Snowpeak Ruins - Handed over secret ingredient */ + && checkItemGet(fpcNm_ITEM_TASTE, 1)) { + mEvtNo = EVENT_GET_TASTE; + evtChange(); + return TRUE; + } + + if (!daNpcT_chkEvtBit(3) /* dSv_event_flag_c::TEST_003 - Snowpeak Ruins - Handed over tomato puree */ + && checkItemGet(fpcNm_ITEM_TOMATO_PUREE, 1)) { + mEvtNo = EVENT_GET_TOMATOPUREE; + evtChange(); + return TRUE; + } + break; + + case TYPE_2: + break; + + case TYPE_3: + mEvtNo = EVENT_HUG; + evtChange(); + return TRUE; + + case TYPE_4: + if (daPy_py_c::checkNowWolf()) { + mEvtNo = EVENT_FIND_WOLF; + evtChange(); + return TRUE; + } + break; + + case TYPE_5: + case TYPE_6: + break; + } + } + + return FALSE; +} + +/* 80B55004-80B550A4 001C04 00A0+00 1/0 0/0 0/0 .text setAfterTalkMotion__11daNpc_ykM_cFv */ +void daNpc_ykM_c::setAfterTalkMotion() { + int i_index = FACE_NONE; + + switch (mFaceMotionSeqMngr.getNo()) { + case FACE_REGRET: + i_index = FACE_H_REGRET; + break; + + case FACE_LAUGH: + i_index = FACE_H_LAUGH; + break; + + case FACE_HAPPY: + i_index = FACE_H_HAPPY; + break; + } + + mFaceMotionSeqMngr.setNo(i_index, -1.0f, FALSE, 0); +} + +/* 80B550A4-80B55254 001CA4 01B0+00 1/1 0/0 0/0 .text srchActors__11daNpc_ykM_cFv */ +void daNpc_ykM_c::srchActors() { + switch (mType) { + case TYPE_COOK: + if (mActorMngr[6].getActorP() == NULL) { + mActorMngr[6].entry(getEvtAreaTagP(14, 0)); + } + + if (mActorMngr[3].getActorP() == NULL) { + mActorMngr[3].entry(getTomatoPureeP()); + } + + if (mActorMngr[4].getActorP() == NULL) { + mActorMngr[4].entry(getCheeseP()); + } + break; + + case TYPE_2: + if (mActorMngr[6].getActorP() == NULL) { + mActorMngr[6].entry(getEvtAreaTagP(14, 0)); + } + break; + + case TYPE_3: + if (mActorMngr[5].getActorP() == NULL) { + mActorMngr[5].entry(getNearestActorP(PROC_NPC_YKW)); + } + break; + + case TYPE_4: + if (mActorMngr[6].getActorP() == NULL) { + mActorMngr[6].entry(getEvtAreaTagP(14, 1)); + } + + if (mActorMngr[7].getActorP() == NULL) { + mActorMngr[7].entry(getEvtAreaTagP(14, 2)); + } + + if (mActorMngr[5].getActorP() == NULL) { + mActorMngr[5].entry(getOtherYkwP(3)); + } + break; + + case TYPE_5: + case TYPE_6: + break; + } +} + +/* 80B55254-80B552F4 001E54 00A0+00 1/0 0/0 0/0 .text evtTalk__11daNpc_ykM_cFv */ +BOOL daNpc_ykM_c::evtTalk() { + if (chkAction(&daNpc_ykM_c::talk)) { + (this->*mpAction)(NULL); + } else { + setAction(&daNpc_ykM_c::talk); + } + + return TRUE; +} + +/* 80B552F4-80B553BC 001EF4 00C8+00 1/0 0/0 0/0 .text evtCutProc__11daNpc_ykM_cFv */ +BOOL daNpc_ykM_c::evtCutProc() { + s32 staffId = dComIfGp_getEventManager().getMyStaffId("ykM", this, -1); + if (staffId != -1) { + mStaffId = staffId; + int actIdx = dComIfGp_getEventManager().getMyActIdx(mStaffId, mCutNameList, 10, 0, 0); + if ((this->*mCutList[actIdx])(mStaffId)) { + dComIfGp_getEventManager().cutEnd(mStaffId); + } + + return TRUE; + } + + return FALSE; +} + +/* 80B553BC-80B55658 001FBC 029C+00 1/0 0/0 0/0 .text action__11daNpc_ykM_cFv */ +void daNpc_ykM_c::action() { + fopAc_ac_c* actor; + + int i = 0; + do { + actor = hitChk(&field_0xf94[i], -1); + if (actor != NULL) break; + i++; + } while (i < 4); + + if (actor == NULL) { + actor = hitChk(&field_0xe58, -1); + } + + if (actor != NULL && field_0x157b != 0) { + mStagger.setParam(this, actor, mCurAngle.y); + mMotionSeqMngr.setNo(MOTION_SB_DAMAGE, 0.0f, 0, 0); + + mDamageTimer = mCutType == 8 ? 20 : 8; + mDamageTimerStart = 0; + + mJntAnm.lookNone(1); + + mSound.startCreatureSound(Z2SE_YM_SNOBO_SPIN, 0, -1); + mSound.startCreatureVoice(Z2SE_YM_V_SNOBO_SPIN, -1); + } + + if (mStagger.checkRebirth()) { + mStagger.initialize(); + mMode = 1; + } + + if (mpNextAction) { + if (mpAction == mpNextAction) { + (this->*mpAction)(NULL); + } else { + setAction(mpNextAction); + } + } + + if (field_0x1582 != 0 && !dComIfGp_event_runCheck()) { + fopAcM_delete(this); + } + + if (field_0x1540 > 0) { + field_0x1540--; + } else if (field_0x1540 < 0) { + field_0x1540 = 0; + } +} + +/* 80B55658-80B5571C 002258 00C4+00 1/0 0/0 0/0 .text beforeMove__11daNpc_ykM_cFv */ +void daNpc_ykM_c::beforeMove() { + fopAcM_OffStatus(this, fopAcM_STATUS_UNK_80000000); + + if (checkHide()) { + fopAcM_OnStatus(this, fopAcM_STATUS_UNK_80000000); + } + + if (checkHide() || mNoDraw) { + attention_info.flags = 0; + } +} + +/* 80B5571C-80B55A64 00231C 0348+00 1/0 0/0 0/0 .text afterMoved__11daNpc_ykM_cFv */ +void daNpc_ykM_c::afterMoved() { + f32 fVar1; + + if (field_0x157b != 0 && field_0x157e == 0) { + if (dComIfG_Bgsp().GetPolyAtt0(mAcch.m_gnd) == 13 && 3.0f < speedF) { + cXyz sp70(current.pos); + sp70.y -= 30.0f; + field_0x1570 = dComIfGp_particle_setPolyColor(field_0x1570, 0x8B8F, mAcch.m_gnd, &sp70, &tevStr, &mCurAngle, + NULL, 0, NULL, -1, NULL); + JPABaseEmitter* emitter = dComIfGp_particle_getEmitter(field_0x1570); + if (emitter != NULL) { + cXyz sp7c; + fVar1 = speedF / daNpc_ykM_Param_c::m.slide_speed; + + if (fVar1 > 1.0f) { + fVar1 = 1.0f; + } + + emitter->setRate(fVar1 * 2.0f + 1.0f); + emitter->setAwayFromCenterSpeed(fVar1 * 4.0f + 1.0f); + sp7c.x = fVar1 * 0.3f + 0.7f; + sp7c.y = sp7c.x; + sp7c.z = sp7c.x; + emitter->setGlobalParticleScale(sp7c); + emitter->setGlobalAlpha(fVar1 * 205.0f + 50.0f); + } + } + + f32 fVar2 = mGroundH - current.pos.y; + fVar1 = current.pos.absXZ(old.pos) * cM_ssin(mGroundAngle); + + if (fVar1 < 0.0f) { + fVar1 = 0.0f; + } + + if (fVar2 <= 0.000001f && fVar2 >= -mAcchCir.GetWallH() - fVar1) { + current.pos.y = mGroundH; + mAcch.SetGroundHit(); + speed.y = 0.0f; + } + } +} + +/* 80B55A64-80B560B4 002664 0650+00 1/0 0/0 0/0 .text setAttnPos__11daNpc_ykM_cFv */ +void daNpc_ykM_c::setAttnPos() { + // NONMATCHING + cXyz sp104(80.0f, 30.0f, 0.0f); + cXyz sp110(80.0f, 0.0f, 0.0f); + + if (field_0x157b != 0) { + if (mStagger.checkStagger() && (mMotionSeqMngr.getNo() != MOTION_SB_DAMAGE || mMotionSeqMngr.checkEndSequence())) { + mStagger.setRebirth(); + } + } else { + mStagger.calc(FALSE); + } + + f32 fVar1 = cM_s2rad((s16)(mCurAngle.y - field_0xd7e.y)); + f32 fVar2 = field_0x1574 != 0 ? 0.0f : daNpc_ykM_Param_c::m.common.head_angleY_max; + f32 fVar3 = field_0x1574 != 0 ? 0.0f : daNpc_ykM_Param_c::m.common.head_angleY_min; + f32 fVar4 = field_0x1574 != 0 ? 0.0f : daNpc_ykM_Param_c::m.common.head_angleX_max; + f32 fVar5 = field_0x1574 != 0 ? 0.0f : daNpc_ykM_Param_c::m.common.head_angleX_min; + f32 fVar6 = field_0x1575 != 0 ? 0.0f : daNpc_ykM_Param_c::m.common.body_angleY_max; + f32 fVar7 = field_0x1575 != 0 ? 0.0f : daNpc_ykM_Param_c::m.common.body_angleY_min; + f32 fVar8 = field_0x1575 != 0 ? 0.0f : daNpc_ykM_Param_c::m.common.body_angleX_max; + f32 fVar9 = field_0x1575 != 0 ? 0.0f : daNpc_ykM_Param_c::m.common.body_angleX_min; + J3DModel* model = mpMorf[0]->getModel(); + mJntAnm.setParam(this, model, &sp104, getBackboneJointNo(), getNeckJointNo(), getHeadJointNo(), fVar9, fVar8, fVar7, fVar6, fVar5, fVar4, fVar3, + fVar2, daNpc_ykM_Param_c::m.common.neck_rotation_ratio, fVar1, &sp110); + + if (mJntAnm.getMode() == daNpcT_JntAnm_c::LOOK_MODE_8) { + mJntAnm.calcJntRad(0.1f, 1.0f, fVar1); + } else { + mJntAnm.calcJntRad(0.2f, 1.0f, fVar1); + } + + model = mpMorf[0]->getModel(); + cXyz sp11c(current.pos); + sp11c.y += field_0x1568; + mDoMtx_stack_c::transS(sp11c); + mDoMtx_stack_c::ZXYrotM(mCurAngle); + mDoMtx_stack_c::scaleM(scale); + model->setBaseTRMtx(mDoMtx_stack_c::get()); + model->setUserArea((u32)this); + + mpMorf[0]->onMorfNone(); + if (cM3d_IsZero(field_0xdfc) != false) { + mpMorf[0]->offMorfNone(); + } + + if ((mAnmFlags & 0x400) != 0) { + mBckAnm.getBckAnm()->setFrame(mBckAnm.getFrame()); + } + + mpMorf[0]->modelCalc(); + + if (mFishModelMorf != NULL) { + cXyz sp128; + mFishModelMorf->play(0, 0); + mDoMtx_stack_c::copy(mpMorf[0]->getModel()->getAnmMtx(JNT_FINGERR)); + mDoMtx_stack_c::multVecZero(&sp128); + + Mtx mtx; + MTXCopy(mDoMtx_stack_c::get(), mtx); + mFishModelMorf->getModel()->setBaseTRMtx(mtx); + mFishModelMorf->modelCalc(); + + if (field_0x1579 != 0) { + mDoAud_seStartLevel(Z2SE_YM_FISH, &sp128, 0, 0); + } + } + + if (mLeafModelMorf != NULL) { + mLeafModelMorf->play(0, 0); + + fopAc_ac_c* otherYkmP = getOtherYkmP(5); + if (otherYkmP != NULL) { + mDoMtx_stack_c::transS(otherYkmP->current.pos); + mDoMtx_stack_c::ZXYrotM(otherYkmP->shape_angle); + mDoMtx_stack_c::scaleM(otherYkmP->scale); + mLeafModelMorf->getModel()->setBaseTRMtx(mDoMtx_stack_c::get()); + mLeafModelMorf->modelCalc(); + } + } + + mDoMtx_stack_c::copy(mpMorf[0]->getModel()->getAnmMtx(getHeadJointNo())); + mDoMtx_stack_c::multVec(&sp104, &eyePos); + + mJntAnm.setEyeAngleX(eyePos, 1.0f, 0); + mJntAnm.setEyeAngleY(eyePos, mCurAngle.y + field_0xd8a.y, TRUE, 1.0f, 0); + + sp104.set(0.0f, 0.0f, 50.0f); + sp104.y = daNpc_ykM_Param_c::m.common.attention_offset + field_0x1568; + + if (field_0x1581 != 0) { + sp104.set(55.0f, 440.0f, 55.0f); + } else if (mType == TYPE_COOK) { + sp104.set(0.0f, 480.0f, 50.0f); + } + + mDoMtx_stack_c::YrotS(mCurAngle.y); + mDoMtx_stack_c::multVec(&sp104, &sp104); + attention_info.position = current.pos + sp104; +} + +/* 80B560B4-80B5641C 002CB4 0368+00 1/0 0/0 0/0 .text setCollision__11daNpc_ykM_cFv */ +void daNpc_ykM_c::setCollision() { + cXyz sp28; + + if (!mHide && field_0x1580 == 0) { + u32 tgType = 0xD8FBFDFF; + u32 tgSPrm = 31; + u32 atSPrm = 0; + + if (dComIfGp_event_runCheck() || field_0x1581 != 0) { + tgType = 0; + tgSPrm = 0; + } else if (mTwilight) { + tgType = 0; + tgSPrm = 0; + } else { + if (mStagger.checkStagger()) { + tgType = 0; + tgSPrm = 0; + } + + if (field_0x157b != 0) { + atSPrm = 19; + } + } + + int jointNo[4] = {JNT_BB2, JNT_HANDL, JNT_HANDR, JNT_TAIL}; + f32 fVar1[4] = {140.0f, 60.0f, 60.0f, 140.0f}; + for (int i = 0; i < 4; i++) { + field_0xf94[i].SetCoSPrm(0x79); + field_0xf94[i].SetTgType(tgType); + field_0xf94[i].SetTgSPrm(tgSPrm); + field_0xf94[i].SetAtType(AT_TYPE_IRON_BALL); + field_0xf94[i].SetAtSPrm(atSPrm); + field_0xf94[i].OnTgNoHitMark(); + + mDoMtx_stack_c::copy(mpMorf[0]->getModel()->getAnmMtx(jointNo[i])); + + if (jointNo[i] == 29) { + sp28.set(170.0f, 0.0f, 0.0f); + mDoMtx_stack_c::multVec(&sp28, &sp28); + } else { + mDoMtx_stack_c::multVecZero(&sp28); + } + + field_0xf94[i].SetC(sp28); + field_0xf94[i].SetR(fVar1[i]); + dComIfG_Ccsp()->Set(&field_0xf94[i]); + } + + field_0xe58.SetCoSPrm(0x79); + field_0xe58.SetTgType(tgType); + field_0xe58.SetTgSPrm(tgSPrm); + field_0xe58.SetAtType(AT_TYPE_IRON_BALL); + field_0xe58.SetAtSPrm(atSPrm); + field_0xe58.OnTgNoHitMark(); + field_0xe58.SetH(mCylH); + field_0xe58.SetR(mWallR); + + mDoMtx_stack_c::copy(mpMorf[0]->getModel()->getAnmMtx(JNT_CENTER)); + mDoMtx_stack_c::multVecZero(&sp28); + sp28.y = current.pos.y; + field_0xe58.SetC(sp28); + dComIfG_Ccsp()->Set(&field_0xe58); + } + + for (int i = 0; i < 4; i++) { + field_0xf94[i].ClrCoHit(); + } + field_0xe58.ClrCoHit(); + + for (int i = 0; i < 4; i++) { + field_0xf94[i].ClrTgHit(); + } + field_0xe58.ClrTgHit(); + + for (int i = 0; i < 4; i++) { + field_0xf94[i].ClrAtHit(); + } + field_0xe58.ClrAtHit(); +} + +/* 80B5641C-80B56424 00301C 0008+00 1/0 0/0 0/0 .text drawDbgInfo__11daNpc_ykM_cFv */ +int daNpc_ykM_c::drawDbgInfo() { + return 0; +} + +/* 80B56424-80B56624 003024 0200+00 1/0 0/0 0/0 .text drawOtherMdl__11daNpc_ykM_cFv */ +void daNpc_ykM_c::drawOtherMdl() { + J3DModel* model = mpMorf[0]->getModel(); + + if (mFishModelMorf != NULL) { + g_env_light.setLightTevColorType_MAJI(mFishModelMorf->getModel(), &tevStr); + + if (field_0x1579 == 0) { + mFishModelMorf->getModel()->getModelData()->hide(); + } else { + mFishModelMorf->getModel()->getModelData()->show(); + } + + mFishModelMorf->entryDL(); + dComIfGd_addRealShadow(mShadowKey, mFishModelMorf->getModel()); + } + + if (mLeafModelMorf != NULL) { + g_env_light.setLightTevColorType_MAJI(mLeafModelMorf->getModel(), &tevStr); + + if (field_0x1576 != 0) { + mLeafModelMorf->getModel()->getModelData()->hide(); + } else { + mLeafModelMorf->getModel()->getModelData()->show(); + } + + mLeafModelMorf->entryDL(); + } + + static int const jointNo[3] = { + JNT_FINGERR, JNT_FOOTR, JNT_FINGERR, + }; + for (int i = 0; i < 3; i++) { + if (field_0xe4c[i] != NULL && ((i == 0 && field_0x1577 != 0) || (i == 2 && field_0x1578 != 0) || (i == 1 && field_0x1576 != 0))) { + g_env_light.setLightTevColorType_MAJI(field_0xe4c[i], &tevStr); + mDoMtx_stack_c::copy(model->getAnmMtx(jointNo[i])); + + Mtx mtx; + MTXCopy(mDoMtx_stack_c::get(), mtx); + field_0xe4c[i]->setBaseTRMtx(mtx); + mDoExt_modelUpdateDL(field_0xe4c[i]); + dComIfGd_addRealShadow(mShadowKey, field_0xe4c[i]); + } + } +} + +/* 80B56624-80B566E8 003224 00C4+00 1/1 0/0 0/0 .text setFishAnm__11daNpc_ykM_cFiif */ +bool daNpc_ykM_c::setFishAnm(int i_index, int i_attr, f32 i_morf) { + static struct { + int resIdx; + int arcIdx; + } fishAnmData[51] = { + {-1, 0}, {-1, 0}, + {-1, 0}, {-1, 0}, + {-1, 0}, {-1, 0}, + {-1, 0}, {-1, 0}, + {-1, 0}, {-1, 0}, + {-1, 0}, {-1, 0}, + {-1, 0}, {-1, 0}, + {-1, 0}, {-1, 0}, + {-1, 0}, {-1, 0}, + {-1, 0}, {-1, 0}, + {BCK_FISH_WAIT_A, YKM3}, {BCK_FISH_ATTACK, YKM3}, + {BCK_FISH_WAIT_A, YKM3}, {BCK_FISH_JUMP, YKM3}, + {BCK_FISH_WAIT_A, YKM3}, {BCK_FISH_WAIT_A, YKM3}, + {BCK_FISH_WAIT_A, YKM3}, {BCK_FISH_WAIT_A, YKM3}, + {BCK_FISH_WAIT_A, YKM3}, {BCK_FISH_WAIT_A, YKM3}, + {BCK_FISH_WAIT_A, YKM3}, {BCK_FISH_WAIT_A, YKM3}, + {BCK_FISH_SB_WAIT, YKM3}, {-1, 0}, + {-1, 0}, {-1, 0}, + {-1, 0}, {-1, 0}, + {-1, 0}, {-1, 0}, + {-1, 0}, {-1, 0}, + {-1, 0}, {-1, 0}, + {-1, 0}, {-1, 0}, + {-1, 0}, {-1, 0}, + {-1, 0}, {-1, 0}, + {-1, 0}, + }; + + J3DAnmTransform* anmTransform = NULL; + + if (mFishModelMorf != NULL) { + if (fishAnmData[i_index].resIdx > 0) { + anmTransform = getTrnsfrmKeyAnmP(l_resNameList[fishAnmData[i_index].arcIdx], fishAnmData[i_index].resIdx); + } + + if (anmTransform != NULL) { + mFishModelMorf->setAnm(anmTransform, i_attr, i_morf, 1.0f, 0.0f, -1.0f); + } + } + + return true; +} + +/* 80B566E8-80B567B4 0032E8 00CC+00 2/2 0/0 0/0 .text setLeafAnm__11daNpc_ykM_cFif */ +bool daNpc_ykM_c::setLeafAnm(int i_index, f32 i_morf) { + static struct { + int resIdx; + int attr; + int arcIdx; + } leafAnmData[3] = { + {BCK_LEAF_WAIT_A, J3DFrameCtrl::EMode_LOOP, YKM3}, + {BCK_LEAF_FALL, J3DFrameCtrl::EMode_NONE, YKM3}, + {BCK_LEAF_WAIT_B, J3DFrameCtrl::EMode_LOOP, YKM3}, + }; + + J3DAnmTransform* anmTransform = NULL; + + if (mLeafModelMorf != NULL) { + if (leafAnmData[i_index].resIdx > 0) { + anmTransform = getTrnsfrmKeyAnmP(l_resNameList[leafAnmData[i_index].arcIdx], leafAnmData[i_index].resIdx); + } + + if (anmTransform != NULL) { + mLeafModelMorf->setAnm(anmTransform, leafAnmData[i_index].attr, i_morf, 1.0f, 0.0f, -1.0f); + } + } + + return true; +} + +/* 80B567B4-80B5680C 0033B4 0058+00 1/0 0/0 0/0 .text afterSetMotionAnm__11daNpc_ykM_cFiifi */ +bool daNpc_ykM_c::afterSetMotionAnm(int i_index, int i_attr, f32 i_morf, int param_3) { + if (mCreating == true) { + i_morf = 0.0f; + } + + switch (i_index) { + case 0x23: + mpMorf[0]->setStartFrame(15.0f); + break; + } + + return setFishAnm(i_index, i_attr, i_morf); +} + +/* 80B5680C-80B56954 00340C 0148+00 1/1 0/0 0/0 .text selectAction__11daNpc_ykM_cFv */ +int daNpc_ykM_c::selectAction() { + mpNextAction = NULL; + + switch (mType) { + case TYPE_COOK: + mpNextAction = &daNpc_ykM_c::cook; + break; + + case TYPE_2: + if (field_0x157b != 0) { + mpNextAction = &daNpc_ykM_c::race; + mAcch.SetWallNone(); + } else { + mpNextAction = &daNpc_ykM_c::wait; + mAcch.ClrWallNone(); + } + break; + + case TYPE_4: + if (field_0x157b != 0) { + mpNextAction = &daNpc_ykM_c::race; + mAcch.SetWallNone(); + } else { + mpNextAction = &daNpc_ykM_c::wait; + mAcch.ClrWallNone(); + } + break; + + default: + mpNextAction = &daNpc_ykM_c::wait; + break; + } + + return 1; +} + +/* 80B56954-80B56980 003554 002C+00 2/2 0/0 0/0 .text chkAction__11daNpc_ykM_cFM11daNpc_ykM_cFPCvPvPv_i */ +BOOL daNpc_ykM_c::chkAction(ActionFn action) { + return mpAction == action; +} + +/* 80B56980-80B56A28 003580 00A8+00 2/2 0/0 0/0 .text setAction__11daNpc_ykM_cFM11daNpc_ykM_cFPCvPvPv_i */ +int daNpc_ykM_c::setAction(ActionFn action) { + mMode = 3; + + if (mpAction) { + (this->*mpAction)(NULL); + } + + mMode = 0; + mpAction = action; + + if (mpAction) { + (this->*mpAction)(NULL); + } + + return 1; +} + +/* 80B56A28-80B56AB4 003628 008C+00 2/2 0/0 0/0 .text chkContinueAttnPlayer__11daNpc_ykM_cFv */ +BOOL daNpc_ykM_c::chkContinueAttnPlayer() { + if (mType == TYPE_COOK && daNpcT_chkEvtBit(0xB) /* dSv_event_flag_c::F_0007 - Snowpeak Ruins - Spoke to Yeta while holding cheese */) { + if (daNpcT_chkEvtBit(4) /* dSv_event_flag_c::TEST_004 - Snowpeak Ruins - Handed over secret ingredient */ + && daNpcT_chkEvtBit(8) /* dSv_event_flag_c::F_0004 - Snowpeak Ruins - Handed over secret ingredient and left room */) { + return TRUE; + } + + if (daNpcT_chkEvtBit(3) /* dSv_event_flag_c::TEST_003 - Snowpeak Ruins - Handed over tomato puree */ + && daNpcT_chkEvtBit(7) /* dSv_event_flag_c::F_0003 - Snowpeak Ruins - Handed over tomato puree and left room */) { + return TRUE; + } + } + + return FALSE; +} + +/* 80B56AB4-80B56B84 0036B4 00D0+00 1/1 0/0 0/0 .text chkTouchPlayer__11daNpc_ykM_cFv */ +BOOL daNpc_ykM_c::chkTouchPlayer() { + if (20.0f < speedF) { + fopAc_ac_c* actor; + for (int i = 0; i < 4; i++) { + if (field_0xf94[i].ChkCoHit()) { + actor = field_0xf94[i].GetCoHitAc(); + + if (actor != NULL && fopAcM_GetName(actor) == PROC_ALINK) { + return TRUE; + } + } + } + + if (field_0xe58.ChkCoHit()) { + actor = field_0xe58.GetCoHitAc(); + + if (actor != NULL && fopAcM_GetName(actor) == PROC_ALINK) { + return TRUE; + } + } + } + + return FALSE; +} + +static u8 const lit_5936[8] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, }; -/* 80B5E85C-80B5E868 -00001 000C+00 1/1 0/0 0/0 .data @5032 */ -SECTION_DATA static void* lit_5032[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)talk__11daNpc_ykM_cFPv, +/* 80B56B84-80B572C8 003784 0744+00 3/0 0/0 0/0 .text cutSlideDown__11daNpc_ykM_cFi */ +int daNpc_ykM_c::cutSlideDown(int i_cutIndex) { + fopAc_ac_c* actor_p; + cXyz work; + csXyz angle; + int rv = 0; + int prm = -1; + int timer = 0; + + int* piVar1 = dComIfGp_evmng_getMyIntegerP(i_cutIndex, "prm"); + if (piVar1 != NULL) { + prm = *piVar1; + } + + piVar1 = dComIfGp_evmng_getMyIntegerP(i_cutIndex, "timer"); + if (piVar1 != NULL) { + timer = *piVar1; + } + + dEvent_manager_c* eventManager = &dComIfGp_getEventManager(); + + if (eventManager->getIsAddvance(i_cutIndex) != 0) { + switch (prm) { + case 0: + mEventTimer = timer; + break; + + case 1: + mFaceMotionSeqMngr.setNo(FACE_NONE, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_FISH_WAIT_A_2, -1.0f, FALSE, 0); + work.set(400.0f, 500.0f, -200.0f); + angle.y = mCurAngle.y; + mDoMtx_stack_c::YrotS(angle.y); + mDoMtx_stack_c::multVec(&work, &work); + work += current.pos; + mGndChk.SetPos(&work); + work.y = dComIfG_Bgsp().GroundCross(&mGndChk); + + JUT_ASSERT(3443, -(1000000000.0f) != work.y); + + daPy_getPlayerActorClass()->setPlayerPosAndAngle(&work, angle.y, 0); + work.set(400.0f, 500.0f, 0.0f); + angle.y = mCurAngle.y; + mDoMtx_stack_c::YrotS(angle.y); + mDoMtx_stack_c::multVec(&work, &work); + work += current.pos; + mGndChk.SetPos(&work); + work.y = dComIfG_Bgsp().GroundCross(&mGndChk); + + JUT_ASSERT(3454, -(1000000000.0f) != work.y); + + dComIfGp_evmng_setGoal(&work); + break; + + case 2: + initTalk(mFlowNodeNo, NULL); + mEventTimer = timer; + break; + + case 3: + mMotionSeqMngr.setNo(MOTION_FISH_ATTACK, 0.0f, TRUE, 0); + mJntAnm.lookNone(1); + break; + + case 4: + setLeafAnm(ANM_LEAF_FALL, 0.0f); + break; + + case 5: + mMotionSeqMngr.setNo(MOTION_FISH_JUMP, 0.0f, TRUE, 0); + actor_p = getOtherYkmP(5); + + JUT_ASSERT(3475, 0 != actor_p); + + setPos(actor_p->current.pos); + setAngle(actor_p->shape_angle.y); + field_0x1568 = 0.0f; + setLeafAnm(ANM_LEAF_WAIT_B, 0.0f); + mSound.startCreatureVoice(Z2SE_YKM_V_JUMP_TO_LEAF, -1); + break; + + case 6: + field_0x157b = 1; + field_0x1582 = 1; + break; + } + } + + cXyz i_sePos; + switch (prm) { + case 0: + if (cLib_calcTimer(&mEventTimer) == 0) { + rv = 1; + } + break; + + case 1: + rv = 1; + break; + + case 2: + mJntAnm.lookPlayer(0); + + if (cLib_calcTimer(&mEventTimer) == 0 && talkProc(NULL, FALSE, NULL, FALSE) && mFlow.checkEndFlow()) { + rv = 1; + } + break; + + case 3: + mJntAnm.lookNone(0); + + if (mMotionSeqMngr.getStepNo() == 0) { + if (mpMorf[0]->checkFrame(65.0f)) { + rv = 1; + } else if (mpMorf[0]->checkFrame(50.0f)) { + mSound.startCreatureVoice(Z2SE_YKM_V_ATTACK_TREE, -1); + } else if (mpMorf[0]->checkFrame(62.0f)) { + i_sePos.set(-14483.0f, 2023.0f, -9768.0f); + mDoAud_seStart(Z2SE_YM_ATTACK_TREE, &i_sePos, 0, 0); + dComIfGp_getVibration().StartShock(5, 15, cXyz(0.0f, 1.0f, 0.0f)); + } + } + break; + + case 4: + mJntAnm.lookNone(0); + + if (mLeafModelMorf->isStop()) { + actor_p = getOtherYkmP(5); + + JUT_ASSERT(3565, 0 != actor_p); + + angle.y = fopAcM_searchActorAngleY(daPy_getPlayerActorClass(), actor_p); + work = daPy_getPlayerActorClass()->current.pos; + daPy_getPlayerActorClass()->setPlayerPosAndAngle(&work, angle.y, 0); + rv = 1; + } else { + actor_p = getOtherYkmP(5); + + if (actor_p != NULL && mLeafModelMorf->checkFrame(22.0f)) { + mDoAud_seStart(Z2SE_OBJ_LEAF_FALL_DOWN, &actor_p->current.pos, 0, 0); + } + } + break; + + case 5: + if (mMotionSeqMngr.checkEndSequence()) { + rv = 1; + } else if (mpMorf[0]->checkFrame(27.0f)) { + mSound.startCreatureSound(Z2SE_YM_RIDE_LEAF, 0, -1); + } + break; + + case 6: + action(); + + if (17 < (int)mPath.getIdx()) { + rv = 1; + } + break; + } + + return rv; +} + +static u8 const lit_6143[8] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, }; -/* 80B5E868-80B5E874 -00001 000C+00 1/1 0/0 0/0 .data @5117 */ -SECTION_DATA static void* lit_5117[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)talk__11daNpc_ykM_cFPv, +/* 80B572C8-80B57638 003EC8 0370+00 1/0 0/0 0/0 .text cutMeetingAgain__11daNpc_ykM_cFi */ +int daNpc_ykM_c::cutMeetingAgain(int i_cutIndex) { + cXyz work; + int rv = 0; + int prm = -1; + int timer = 0; + + int* piVar1 = dComIfGp_evmng_getMyIntegerP(i_cutIndex, "prm"); + if (piVar1 != NULL) { + prm = *piVar1; + } + + piVar1 = dComIfGp_evmng_getMyIntegerP(i_cutIndex, "timer"); + if (piVar1 != NULL) { + timer = *piVar1; + } + + dComIfGp_evmng_getMyIntegerP(i_cutIndex, "msgNo"); + + dEvent_manager_c* eventManager = &dComIfGp_getEventManager(); + + if (eventManager->getIsAddvance(i_cutIndex)) { + switch (prm) { + case 0: + daNpcT_offTmpBit(0xB); // General use - General use temporary flag (flow control) A + daNpcT_offTmpBit(0xC); // General use - General use temporary flag (flow control) B + daNpcT_offTmpBit(0xD); // General use - General use temporary flag (flow control) C + initTalk(mFlowNodeNo, NULL); + break; + + case 1: + mEventTimer = timer; + field_0x156c = fopAcM_searchActorAngleY(daPy_getPlayerActorClass(), this); + work.set(0.0f, 0.0f, 1000.0f); + mDoMtx_stack_c::YrotS(field_0x156c); + mDoMtx_stack_c::multVec(&work, &work); + field_0x1520 = work + daPy_getPlayerActorClass()->current.pos; + dComIfGp_evmng_setGoal(&field_0x1520); + + work.set(0.0f, 0.0f, 80.0f); + mDoMtx_stack_c::YrotS(field_0x156c); + mDoMtx_stack_c::multVec(&work, &work); + work += daPy_getPlayerActorClass()->current.pos; + daPy_getPlayerActorClass()->setPlayerPosAndAngle(&work, field_0x156c, 0); + break; + + case 2: + initTalk(mFlowNodeNo, NULL); + daPy_getPlayerActorClass()->setPlayerPosAndAngle(&field_0x1520, field_0x156c, 0); + break; + + case 3: + break; + } + } + + switch (prm) { + case 0: + mJntAnm.lookPlayer(0); + if (talkProc(NULL, FALSE, NULL, FALSE) && mFlow.checkEndFlow()) { + rv = 1; + } + break; + + case 1: + if (cLib_calcTimer(&mEventTimer) == 0) { + rv = 1; + } + break; + + case 2: + mJntAnm.lookPlayer(0); + if (talkProc(NULL, FALSE, NULL, FALSE) && mFlow.checkEndFlow()) { + rv = 1; + } + break; + + case 3: + rv = 1; + break; + } + + return rv; +} + +/* 80B57638-80B5806C 004238 0A34+00 3/0 0/0 0/0 .text cutGetTomatoPuree__11daNpc_ykM_cFi */ +int daNpc_ykM_c::cutGetTomatoPuree(int i_cutIndex) { + cXyz work; + csXyz angle; + int rv = 0; + int prm = -1; + int timer = 0; + int msgNo = 0; + + field_0x1508.set(0.0f, 200.0f, 450.0f); + mDoMtx_stack_c::YrotS(home.angle.y); + mDoMtx_stack_c::multVec(&field_0x1508, &field_0x1508); + field_0x1508 += current.pos; + + int* piVar1 = dComIfGp_evmng_getMyIntegerP(i_cutIndex, "prm"); + if (piVar1 != NULL) { + prm = *piVar1; + } + + piVar1 = dComIfGp_evmng_getMyIntegerP(i_cutIndex, "timer"); + if (piVar1 != NULL) { + timer = *piVar1; + } + + piVar1 = dComIfGp_evmng_getMyIntegerP(i_cutIndex, "msgNo"); + if (piVar1 != NULL) { + msgNo = *piVar1; + } + + if (dComIfGp_getEventManager().getIsAddvance(i_cutIndex)) { + switch (prm) { + case 0: + mJntAnm.lookNone(0); + daNpcT_offTmpBit(0xB); // General use - General use temporary flag (flow control) A + daNpcT_offTmpBit(0xC); // General use - General use temporary flag (flow control) B + daNpcT_offTmpBit(0xD); // General use - General use temporary flag (flow control) C + initTalk(mFlowNodeNo, NULL); + break; + + case 1: + mEventTimer = timer; + break; + + case 2: + initTalk(mFlowNodeNo, NULL); + break; + + case 3: + mPlayerAngle = fopAcM_searchPlayerAngleY(this); + break; + + case 4: + mFaceMotionSeqMngr.setNo(FACE_NONE, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_PUSH, 0.0f, FALSE, 0); + mEventTimer = timer; + break; + + case 5: + mFaceMotionSeqMngr.setNo(FACE_NONE, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_PICKUP, -1.0f, FALSE, 0); + break; + + case 6: + initTalk(mFlowNodeNo, NULL); + break; + + case 7: + mFaceMotionSeqMngr.setNo(FACE_NONE, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_POUR, -1.0f, FALSE, 0); + mEventTimer = timer; + setAngle(home.angle.y); + break; + + case 8: + initTalk(mFlowNodeNo, NULL); + break; + } + } + + int iVar2[2] = {0, -1}; + daObj_Gadget_c* actor_p; + f32 fVar1; + int iVar1; + switch (prm) { + case 0: + if (talkProc(NULL, FALSE, NULL, FALSE) && mFlow.checkEndFlow()) { + rv = 1; + } + break; + + case 1: + if (cLib_calcTimer(&mEventTimer) == 0) { + rv = 1; + } + break; + + case 2: + iVar2[0] = msgNo; + if (talkProc(iVar2, FALSE, NULL, FALSE)) { + if (msgNo == 0) { + if (mFlow.checkEndFlow()) { + rv = 1; + } + } else { + rv = 1; + } + } + break; + + case 3: + mJntAnm.lookPlayer(0); + + if (mPlayerAngle != mCurAngle.y) { + step(mPlayerAngle, -1, -1, daNpc_ykM_Param_c::m.step_speed, 0); + } + + shape_angle.y = mPlayerAngle; + + if (talkProc(NULL, FALSE, NULL, FALSE) && mFlow.checkEndFlow() && mPlayerAngle == mCurAngle.y) { + rv = 1; + } + break; + + case 4: + mJntAnm.lookPlayer(0); + + if (mMotionSeqMngr.getNo() != MOTION_PUSH) break; + + if (mEventTimer != 0 || dComIfGp_getEventManager().getIsAddvance(i_cutIndex)) { + if (cLib_calcTimer(&mEventTimer) == 0) { + actor_p = (daObj_Gadget_c*)mActorMngr[3].getActorP(); + if (actor_p != NULL) { + actor_p->setCoNone(); + actor_p->offHide(); + actor_p->current.angle.y = shape_angle.y + 0x8000; + actor_p->popup(daNpc_ykM_Param_c::m.jump_speed, daNpc_ykM_Param_c::m.push_out_angle, &daPy_getPlayerActorClass()->attention_info.position); + } + } + } + + if (mMotionSeqMngr.getStepNo() == 0) { + if (mpMorf[0]->checkFrame(daNpc_ykM_Param_c::m.skip_frame)) { + mSound.startCreatureVoice(Z2SE_YKM_V_GETFOOD, -1); + fVar1 = daNpc_ykM_Param_c::m.fly_speed; + iVar1 = cM_deg2s(daNpc_ykM_Param_c::m.fly_angle); + daPy_getPlayerActorClass()->setThrowDamage(shape_angle.y, fVar1 * cM_scos(iVar1), fVar1 * cM_ssin(iVar1), 0, 1, 0); + } + } else { + rv = 1; + } + break; + + case 5: + if (mMotionSeqMngr.getNo() == MOTION_PICKUP) { + if (mMotionSeqMngr.getStepNo() == 0) { + if (mpMorf[0]->checkFrame(19.0f)) { + field_0x1577 = 1; + actor_p = (daObj_Gadget_c*)mActorMngr[3].getActorP(); + if (actor_p != NULL) { + actor_p->onHide(); + } + } + } else { + rv = 1; + } + } + break; + + case 7: + if (mMotionSeqMngr.getNo() == MOTION_POUR) { + if (mMotionSeqMngr.getStepNo() == 0) { + if (mpMorf[0]->checkFrame(18.0f)) { + if (field_0x1577 != 0) { + mDoAud_seStart(Z2SE_CM_BODYFALL_WATER_S, NULL, 0, 0); + } + + field_0x1577 = 0; + } + } else if (cLib_calcTimer(&mEventTimer) == 0) { + rv = 1; + } + } + break; + + case 6: + if (talkProc(NULL, FALSE, NULL, FALSE) && mFlow.checkEndFlow()) { + rv = 1; + } + break; + + case 8: + mJntAnm.lookPlayer(0); + + if (talkProc(NULL, FALSE, NULL, FALSE) && mFlow.checkEndFlow()) { + rv = 1; + } + break; + } + + field_0x1580 = 1; + if (prm == 8) { + field_0x1580 = 0; + } + + if (prm == 5 || prm == 6) { + if (field_0x1577 != 0) { + field_0x1575 = 1; + mDoMtx_stack_c::copy(mpMorf[0]->getModel()->getAnmMtx(JNT_FINGERR)); + mDoMtx_stack_c::multVecZero(&field_0xd6c); + mJntAnm.lookPos(&field_0xd6c, 0); + } else { + fopAc_ac_c* actor = mActorMngr[3].getActorP(); + if (actor == NULL) { + mJntAnm.lookNone(0); + return rv; + } + + field_0xd6c = actor->current.pos; + } + } else if (prm == 7) { + mJntAnm.lookPos(&field_0x1508, 0); + field_0x1575 = 1; + } + + return rv; +} + +/* 80B5806C-80B58A38 004C6C 09CC+00 3/0 0/0 0/0 .text cutGetTaste__11daNpc_ykM_cFi */ +int daNpc_ykM_c::cutGetTaste(int i_cutIndex) { + cXyz work; + csXyz angle; + int rv = 0; + int prm = -1; + int timer = 0; + int msgNo = 0; + + field_0x1508.set(0.0f, 200.0f, 450.0f); + mDoMtx_stack_c::YrotS(home.angle.y); + mDoMtx_stack_c::multVec(&field_0x1508, &field_0x1508); + field_0x1508 += current.pos; + + int* piVar1 = dComIfGp_evmng_getMyIntegerP(i_cutIndex, "prm"); + if (piVar1 != NULL) { + prm = *piVar1; + } + + piVar1 = dComIfGp_evmng_getMyIntegerP(i_cutIndex, "timer"); + if (piVar1 != NULL) { + timer = *piVar1; + } + + piVar1 = dComIfGp_evmng_getMyIntegerP(i_cutIndex, "msgNo"); + if (piVar1 != NULL) { + msgNo = *piVar1; + } + + if (dComIfGp_getEventManager().getIsAddvance(i_cutIndex)) { + switch (prm) { + case 2: + mJntAnm.lookNone(0); + daNpcT_offTmpBit(0xB); // General use - General use temporary flag (flow control) A + daNpcT_offTmpBit(0xC); // General use - General use temporary flag (flow control) B + daNpcT_offTmpBit(0xD); // General use - General use temporary flag (flow control) C + initTalk(mFlowNodeNo, NULL); + break; + + case 3: + mPlayerAngle = fopAcM_searchPlayerAngleY(this); + break; + + case 4: + mFaceMotionSeqMngr.setNo(FACE_NONE, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_PUSH, 0.0f, FALSE, 0); + mEventTimer = timer; + break; + + case 5: + mFaceMotionSeqMngr.setNo(FACE_NONE, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_PICKUP, -1.0f, FALSE, 0); + break; + + case 6: + initTalk(mFlowNodeNo, NULL); + break; + + case 7: + mFaceMotionSeqMngr.setNo(FACE_NONE, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_POUR, -1.0f, FALSE, 0); + mEventTimer = timer; + setAngle(home.angle.y); + break; + + case 8: + initTalk(mFlowNodeNo, NULL); + break; + } + } + int iVar2[2] = {0, -1}; + daObj_Gadget_c* actor_p; + f32 fVar1; + int iVar1; + switch (prm) { + case 2: + iVar2[0] = msgNo; + if (talkProc(iVar2, FALSE, NULL, FALSE)) { + if (msgNo == 0) { + if (mFlow.checkEndFlow()) { + rv = 1; + } + } else { + rv = 1; + } + } + break; + + case 3: + mJntAnm.lookPlayer(0); + + if (mPlayerAngle != mCurAngle.y) { + step(mPlayerAngle, -1, -1, daNpc_ykM_Param_c::m.step_speed, 0); + } + + shape_angle.y = mPlayerAngle; + + if (talkProc(NULL, FALSE, NULL, FALSE) && mFlow.checkEndFlow() && mPlayerAngle == mCurAngle.y) { + rv = 1; + } + break; + + case 4: + mJntAnm.lookPlayer(0); + + if (mMotionSeqMngr.getNo() != MOTION_PUSH) break; + + if (mEventTimer != 0 || dComIfGp_getEventManager().getIsAddvance(i_cutIndex)) { + if (cLib_calcTimer(&mEventTimer) == 0) { + actor_p = (daObj_Gadget_c*)mActorMngr[4].getActorP(); + if (actor_p != NULL) { + actor_p->setCoNone(); + actor_p->offHide(); + actor_p->current.angle.y = shape_angle.y + 0x8000; + actor_p->popup(daNpc_ykM_Param_c::m.jump_speed, daNpc_ykM_Param_c::m.push_out_angle, &daPy_getPlayerActorClass()->attention_info.position); + } + } + } + + if (mMotionSeqMngr.getStepNo() == 0) { + if (mpMorf[0]->checkFrame(daNpc_ykM_Param_c::m.skip_frame)) { + mSound.startCreatureVoice(Z2SE_YKM_V_GETFOOD, -1); + fVar1 = daNpc_ykM_Param_c::m.fly_speed; + iVar1 = cM_deg2s(daNpc_ykM_Param_c::m.fly_angle); + daPy_getPlayerActorClass()->setThrowDamage(shape_angle.y, fVar1 * cM_scos(iVar1), fVar1 * cM_ssin(iVar1), 0, 1, 0); + } + } else { + rv = 1; + } + break; + + case 5: + if (mMotionSeqMngr.getNo() == MOTION_PICKUP) { + if (mMotionSeqMngr.getStepNo() == 0) { + if (mpMorf[0]->checkFrame(19.0f)) { + field_0x1578 = 1; + actor_p = (daObj_Gadget_c*)mActorMngr[4].getActorP(); + if (actor_p != NULL) { + actor_p->onHide(); + } + } + } else { + rv = 1; + } + } + break; + case 7: + if (mMotionSeqMngr.getNo() == MOTION_POUR) { + if (mMotionSeqMngr.getStepNo() == 0) { + if (mpMorf[0]->checkFrame(18.0f)) { + if (field_0x1578 != 0) { + mDoAud_seStart(Z2SE_CM_BODYFALL_WATER_S, NULL, 0, 0); + } + + field_0x1578 = 0; + } + } else if (cLib_calcTimer(&mEventTimer) == 0) { + rv = 1; + } + } + break; + + case 6: + if (talkProc(NULL, FALSE, NULL, FALSE) && mFlow.checkEndFlow()) { + rv = 1; + } + break; + + case 8: + mJntAnm.lookPlayer(0); + + if (talkProc(NULL, FALSE, NULL, FALSE) && mFlow.checkEndFlow()) { + rv = 1; + } + break; + } + + field_0x1580 = 1; + if (prm == 8) { + field_0x1580 = 0; + } + + if (prm == 5 || prm == 6) { + if (field_0x1578 != 0) { + field_0x1575 = 1; + mDoMtx_stack_c::copy(mpMorf[0]->getModel()->getAnmMtx(JNT_FINGERR)); + mDoMtx_stack_c::multVecZero(&field_0xd6c); + mJntAnm.lookPos(&field_0xd6c, 0); + } else { + fopAc_ac_c* actor = mActorMngr[4].getActorP(); + if (actor == NULL) { + mJntAnm.lookNone(0); + return rv; + } + + field_0xd6c = actor->current.pos; + } + } else if (prm == 7) { + mJntAnm.lookPos(&field_0x1508, 0); + field_0x1575 = 1; + } + + return rv; +} + +/* 80B58A38-80B59500 005638 0AC8+00 1/0 0/0 0/0 .text cutLv5DungeonClear__11daNpc_ykM_cFi */ +int daNpc_ykM_c::cutLv5DungeonClear(int i_cutIndex) { + // NONMATCHING + daPy_py_c* player = daPy_getPlayerActorClass(); + cXyz work; + int rv = 0; + int prm = -1; + int timer = 0; + + int* piVar1 = dComIfGp_evmng_getMyIntegerP(i_cutIndex, "prm"); + if (piVar1 != NULL) { + prm = *piVar1; + } + + piVar1 = dComIfGp_evmng_getMyIntegerP(i_cutIndex, "timer"); + if (piVar1 != NULL) { + timer = *piVar1; + } + + fopAc_ac_c* actor_p; + if (dComIfGp_getEventManager().getIsAddvance(i_cutIndex)) { + switch (prm) { + case 0: + mFaceMotionSeqMngr.setNo(FACE_NONE, 0.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_WAIT_X, 0.0f, FALSE, 0); + mJntAnm.lookNone(1); + mHide = false; + fopAcM_OffStatus(this, fopAcM_STATUS_UNK_80000000); + break; + + case 1: + mMotionSeqMngr.setNo(MOTION_RUN, -1.0f, FALSE, 0); + mSound.startCreatureVoice(Z2SE_YKM_V_DASH, -1); + mEventTimer = timer; + daPy_getPlayerActorClass()->setPlayerPosAndAngle(&player->current.pos, fopAcM_searchActorAngleY(player, this), 0); + dComIfGp_getEvent().setPt2(this); + break; + + case 2: + mFaceMotionSeqMngr.setNo(FACE_NONE, 0.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_WAITLIE, 0.0f, FALSE, 0); + mEventTimer = timer; + break; + + case 3: + mMotionSeqMngr.setNo(MOTION_WAKE, -1.0f, FALSE, 0); + break; + + case 4: + mFaceMotionSeqMngr.setNo(FACE_SHUT, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_DENY, -1.0f, FALSE, 0); + break; + + case 5: + mFaceMotionSeqMngr.setNo(FACE_TALK_X, 0.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_WAITWAKE, 0.0f, FALSE, 0); + break; + + case 6: + mFaceMotionSeqMngr.setNo(FACE_NONE, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_HOLD, -1.0f, FALSE, 0); + break; + + case 7: + mFaceMotionSeqMngr.setNo(FACE_TALK_X, -1.0f, FALSE, 0); + break; + + case 8: + mFaceMotionSeqMngr.setNo(FACE_H_HAPPY, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_HOLD_B, -1.0f, FALSE, 0); + mSound.startCreatureVoice(Z2SE_YKM_V_HUG, -1); + break; + + case 10: + mEventTimer = timer; + break; + + case 12: + mFaceMotionSeqMngr.setNo(FACE_SHOUT, -1.0f, FALSE, 0); + mEventTimer = timer; + daPy_py_c::getMidnaActor()->onTagNoHairLead(); + break; + + case 13: + Z2GetAudioMgr()->bgmStreamStop(0x28); + break; + + case 20: + mFaceMotionSeqMngr.setNo(FACE_NONE, 0.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_STOP, 0.0f, FALSE, 0); + actor_p = mActorMngr[5].getActorP(); + + JUT_ASSERT(4401, 0 != actor_p); + + setPos(actor_p->home.pos); + setAngle(actor_p->home.angle.y); + break; + + case 21: + mFaceMotionSeqMngr.setNo(FACE_TALK_Y, -1.0f, FALSE, 0); + break; + + case 30: + field_0x1581 = 1; + field_0x157a = 1; + break; + + case 31: + field_0x157a = 0; + break; + + case 99: + mFaceMotionSeqMngr.setNo(FACE_H_HAPPY, 0.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_WAITHOLD_B_B, 0.0f, FALSE, 0); + actor_p = mActorMngr[5].getActorP(); + + JUT_ASSERT(4424, 0 != actor_p); + + setPos(actor_p->home.pos); + setAngle(actor_p->home.angle.y); + speedF = 0.0f; + speed.setall(0.0f); + field_0x157a = 0; + field_0x1580 = 0; + field_0x1581 = 1; + break; + } + } + + int iVar2[2] = {-1, -1}; + s16 sVar1; + switch (prm) { + case 0: + rv = 1; + break; + + case 11: + case 1: + if (mEventTimer != 0 || dComIfGp_getEventManager().getIsAddvance(i_cutIndex)) { + actor_p = mActorMngr[5].getActorP(); + + JUT_ASSERT(4455, 0 != actor_p); + + if (cLib_calcTimer(&mEventTimer) == 0) { + speedF = 0.0f; + } else { + current.angle.y = cLib_targetAngleY(¤t.pos, &actor_p->current.pos); + cLib_addCalcAngleS2(&shape_angle.y, current.angle.y, 4, 0x800); + mCurAngle.y = shape_angle.y; + speedF = daNpc_ykM_Param_c::m.run_speed; + } + } + + if (prm == 1) { + for (int i = 0; i < 4; i++) { + if (field_0xf94[i].ChkCoHit()) { + if (daPy_getPlayerActorClass() == field_0xf94[i].GetCoHitAc()) { + rv = 1; + } + } + } + + if (rv == 0 && field_0xe58.ChkCoHit()) { + if (daPy_getPlayerActorClass() == field_0xe58.GetCoHitAc()) { + rv = 1; + } + } + + if (rv != 0) { + sVar1 = fopAcM_searchActorAngleY(this, player); + daPy_getPlayerActorClass()->setPlayerPosAndAngle(&player->current.pos, sVar1 + 0x4000, 0); + field_0x1580 = 1; + } + } + + if (prm == 11) { + field_0x1580 = 1; + rv = mEventTimer == 0; + } + break; + + case 2: + case 5: + case 6: + case 7: + case 8: + case 21: + case 30: + case 31: + case 99: + rv = 1; + break; + + case 3: + if (mMotionSeqMngr.getStepNo() > 0) { + rv = 1; + } + break; + + case 4: + if (mMotionSeqMngr.getStepNo() > 0) { + rv = 1; + } + break; + + case 12: + case 10: + if (mEventTimer != 0) { + if (cLib_calcTimer(&mEventTimer) == 0) { + rv = 1; + } + } else { + rv = 1; + } + break; + + case 13: + rv = 1; + break; + + case 20: + field_0x1580 = 1; + + if (mMotionSeqMngr.checkEndSequence()) { + daPy_getPlayerActorClass()->changeDemoMoveAngle(0x7800); + rv = 1; + } + break; + } + + actor_p = mActorMngr[5].getActorP(); + if (actor_p != NULL && (prm == 2 || prm == 3 || prm == 4 || prm == 5 || prm == 6 || prm == 7 || prm == 8 || prm == 20 || prm == 21 || prm == 30 || prm == 31)) { + field_0xd6c = actor_p->eyePos; + field_0xd8a.y = 0xC000; + mJntAnm.lookPos(&field_0xd6c, 0); + } else { + mJntAnm.lookNone(0); + } + + if (prm == 8) { + field_0x1580 = 0; + } + + field_0x1575 = 1; + field_0x1574 = 1; + field_0xe26 = false; + + return rv; +} + +/* 80B59500-80B59748 006100 0248+00 1/0 0/0 0/0 .text cutFindWolf__11daNpc_ykM_cFi */ +int daNpc_ykM_c::cutFindWolf(int i_cutIndex) { + int rv = 0; + int prm = -1; + + int* piVar1 = dComIfGp_evmng_getMyIntegerP(i_cutIndex, "prm"); + if (piVar1 != NULL) { + prm = *piVar1; + } + + fopAc_ac_c* actors[2] = {mActorMngr[5].getActorP(), this}; + dComIfGp_setMesgCameraInfoActor(actors[0], actors[1], NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); + + if (dComIfGp_getEventManager().getIsAddvance(i_cutIndex)) { + switch (prm) { + case 0: + mPlayerAngle = fopAcM_searchPlayerAngleY(this); + break; + + case 1: + mPlayerActorMngr.entry(daPy_getPlayerActorClass()); + initTalk(mFlowNodeNo, NULL); + break; + } + } + + switch (prm) { + case 0: + mJntAnm.lookPlayer(0); + + if (mPlayerAngle != mCurAngle.y) { + step(mPlayerAngle, 15, 30, daNpc_ykM_Param_c::m.step_speed, 0); + } else { + rv = 1; + } + break; + + case 1: + if (talkProc(NULL, TRUE, &actors[0], FALSE) && mFlow.checkEndFlow()) { + mFaceMotionSeqMngr.setNo(FACE_NONE, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_WAIT_A, -1.0f, FALSE, 0); + rv = 1; + } + break; + } + + return rv; +} + +static u8 const lit_7359[8] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, }; -/* 80B5E874-80B5E880 -00001 000C+00 1/1 0/0 0/0 .data @5122 */ -SECTION_DATA static void* lit_5122[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)talk__11daNpc_ykM_cFPv, +/* 80B59748-80B59B90 006348 0448+00 1/0 0/0 0/0 .text cutStartSnowboardRace__11daNpc_ykM_cFi */ +int daNpc_ykM_c::cutStartSnowboardRace(int i_cutIndex) { + cXyz work; + csXyz angle; + int rv = 0; + int prm = -1; + int timer = 0; + + int* piVar1 = dComIfGp_evmng_getMyIntegerP(i_cutIndex, "prm"); + if (piVar1 != NULL) { + prm = *piVar1; + } + + piVar1 = dComIfGp_evmng_getMyIntegerP(i_cutIndex, "timer"); + if (piVar1 != NULL) { + timer = *piVar1; + } + + fopAc_ac_c* actor_p; + if (dComIfGp_getEventManager().getIsAddvance(i_cutIndex)) { + switch (prm) { + case 0: + mEventTimer = timer; + break; + + case 1: + mFaceMotionSeqMngr.setNo(FACE_NONE, 0.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_SB_WAIT, 0.0f, FALSE, 0); + mJntAnm.lookNone(1); + field_0x1585 = 0; + field_0x157e = 0; + field_0x1576 = 1; + field_0x157c = 0; + daNpcT_onTmpBit(0x54); // dSv_event_tmp_flag_c::T_0084 - Snowpeak mountain - Racing with Yeto + field_0x157e = 0; + actor_p = getOtherYkmP(5); + + JUT_ASSERT(4736, 0 != actor_p); + + setPos(actor_p->current.pos); + setAngle(actor_p->shape_angle.y); + + if (daNpcT_getPlayerInfoFromPlayerList(20, fopAcM_GetRoomNo(this), &work, &angle)) { + daPy_getPlayerActorClass()->setPlayerPosAndAngle(&work, angle.y, 0); + dComIfGp_evmng_setGoal(&work); + } + break; + + case 2: + field_0x157b = 1; + mDoAud_subBgmStart(Z2BGM_SNOW_BOARD); + break; + + case 4: + field_0x1534 = -1; + break; + + case 5: + home.pos.set(-72610.0f, -54260.0f, 56590.0f); + home.angle.setall(0); + home.angle.y = cM_deg2s(60.0f); + setPos(home.pos); + setAngle(home.angle.y); + break; + } + } + + switch (prm) { + case 0: + if (cLib_calcTimer(&mEventTimer) == 0) { + rv = 1; + } + break; + + case 1: + rv = 1; + break; + + case 2: + if (field_0x1534 != -1) { + if ((dTimer_c*)fpcM_SearchByID(field_0x1534) == dComIfG_getTimerPtr() && dComIfG_TimerStart(5, 0) != 0) { + rv = 1; + } + } + break; + + case 3: + if (field_0x1534 != -1) { + if ((dTimer_c*)fpcM_SearchByID(field_0x1534) == dComIfG_getTimerPtr()) { + if (dComIfG_getTimerPtr()->isStart()) { + rv = 1; + } + } + } + break; + + case 4: + if (field_0x1534 != -1) { + if ((dTimer_c*)fpcM_SearchByID(field_0x1534) == dComIfG_getTimerPtr()) { + rv = 1; + } + } else if (dComIfG_getTimerPtr() != NULL) { + dComIfG_TimerDeleteRequest(dComIfG_getTimerMode()); + } else { + field_0x1534 = dTimer_createTimer(5, 0x989298, 1, 0, 210.0f, 410.0f, 32.0f, 419.0f); + } + break; + + case 5: + rv = 1; + break; + } + + return rv; +} + +/* 80B59B90-80B5A0B8 006790 0528+00 1/0 0/0 0/0 .text cutEndSnowboardRace__11daNpc_ykM_cFi */ +int daNpc_ykM_c::cutEndSnowboardRace(int i_cutIndex) { + cXyz work; + csXyz angle; + int rv = 0; + int prm = -1; + int timer = 0; + + int* piVar1 = dComIfGp_evmng_getMyIntegerP(i_cutIndex, "prm"); + if (piVar1 != NULL) { + prm = *piVar1; + } + + piVar1 = dComIfGp_evmng_getMyIntegerP(i_cutIndex, "timer"); + if (piVar1 != NULL) { + timer = *piVar1; + } + + fopAc_ac_c* actor_p; + if (dComIfGp_getEventManager().getIsAddvance(i_cutIndex)) { + switch (prm) { + case 0: + mEventTimer = timer; + break; + + case 2: + mFaceMotionSeqMngr.setNo(FACE_NONE, 0.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_WAIT_A, 0.0f, FALSE, 0); + mJntAnm.lookPlayer(0); + field_0x1576 = 0; + daNpcT_offTmpBit(0x54); // dSv_event_tmp_flag_c::T_0084 - Snowpeak mountain - Racing with Yeto + field_0x157b = 0; + field_0x1558.field_0x0 = 0; + field_0x1560 = 0; + mPath.setIdx(0); + actor_p = getOtherYkmP(6); + + JUT_ASSERT(4900, 0 != actor_p); + + setPos(actor_p->current.pos); + angle.setall(0); + angle.y = actor_p->shape_angle.y; + home.angle.y = angle.y; + setAngle(angle); + + if (field_0x1534 != -1) { + if ((dTimer_c*)fpcM_SearchByID(field_0x1534) == dComIfG_getTimerPtr()) { + dComIfG_TimerDeleteRequest(5); + } + } + + if (daNpcT_getPlayerInfoFromPlayerList(12, fopAcM_GetRoomNo(this), &work, &angle)) { + angle.y = fopAcM_searchActorAngleY(daPy_getPlayerActorClass(), this); + daPy_getPlayerActorClass()->setPlayerPosAndAngle(&work, angle.y, 0); + dComIfGp_evmng_setGoal(&work); + } + + mDoAud_subBgmStop(); + speed.setall(0.0f); + speedF = 0.0f; + break; + + case 3: + daNpcT_onTmpBit(0x56); // dSv_event_tmp_flag_c::T_0086 - Snowpeak mountain - Won race against Yeto/Yeta + + if (field_0x157c != 0) { + daNpcT_offTmpBit(0x56); // dSv_event_tmp_flag_c::T_0086 - Snowpeak mountain - Won race against Yeto/Yeta + } + + mFlowNodeNo = 0x1FE; + initTalk(mFlowNodeNo, NULL); + break; + + case 5: + mFaceMotionSeqMngr.setNo(FACE_NONE, 0.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_WAIT_A, 0.0f, FALSE, 0); + actor_p = getOtherYkmP(6); + + JUT_ASSERT(4943, 0 != actor_p); + + home.pos = actor_p->current.pos; + angle.setall(0); + angle.y = actor_p->shape_angle.y; + home.angle.y = angle.y; + setPos(home.pos); + setAngle(angle); + } + } + + int iVar1; + switch (prm) { + case 0: + action(); + + if (cLib_calcTimer(&mEventTimer) == 0) { + rv = 1; + } + break; + + case 1: + action(); + rv = 1; + break; + + case 2: + rv = 1; + break; + + case 3: + if (talkProc(NULL, FALSE, NULL, FALSE)) { + switch ((int)mFlow.getEventId(&iVar1)) { + case 13: + mEvtNo = EVENT_START_SNOWBOARDRACE; + evtChange(); + break; + + default: + if (mFlow.checkEndFlow()) { + rv = 1; + } + break; + } + } + break; + + case 4: + rv = 1; + break; + + case 5: + mJntAnm.lookPlayer(0); + rv = 1; + break; + } + + return rv; +} + +/* 80B5A0B8-80B5A128 006CB8 0070+00 1/0 0/0 0/0 .text cutHug__11daNpc_ykM_cFi */ +int daNpc_ykM_c::cutHug(int i_cutIndex) { + dComIfGp_evmng_getMyIntegerP(i_cutIndex, "prm"); + dComIfGp_getEventManager().getIsAddvance(i_cutIndex); + field_0xe26 = false; + return 0; +} + +/* 80B5D9F8-80B5DA00 000264 0008+00 0/0 0/0 0/0 .rodata @7385 */ +static u8 const lit_7385[8] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, }; -/* 80B5E880-80B5EA18 000D98 0198+00 1/1 0/0 0/0 .data fishAnmData$5818 */ -SECTION_DATA static u8 fishAnmData[408] = { - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, - 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, - 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, - 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, - 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, - 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, - 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, -}; +/* 80B5A128-80B5A224 006D28 00FC+00 1/1 0/0 0/0 .text setDialogueMotion__11daNpc_ykM_cFv */ +void daNpc_ykM_c::setDialogueMotion() { + // NONMATCHING + u32 uVar1 = field_0x154c >> 1; + + if (0.5f < cM_rnd()) { + if (cM_rnd() - 0.5f < 0.0f) { + uVar1--; + } else { + uVar1++; + } + } -/* 80B5EA18-80B5EA3C 000F30 0024+00 1/1 0/0 0/0 .data leafAnmData$5831 */ -SECTION_DATA static u8 leafAnmData[36] = { - 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, - 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, - 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, -}; + static int const motionTbl2[4] = { + MOTION_TALK_B, MOTION_TALK_C, MOTION_LAUGH, MOTION_TALK_B, + }; + static int const motionTbl1[2] = { + MOTION_TALK_B, MOTION_ASK, + }; -/* 80B5EA3C-80B5EA48 -00001 000C+00 0/1 0/0 0/0 .data @5860 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5860[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cook__11daNpc_ykM_cFPv, -}; -#pragma pop + if ((field_0x154c & 1) != 0) { + mMotionSeqMngr.setNo(motionTbl2[uVar1 & 3], -1.0f, FALSE, 0); + } else { + mMotionSeqMngr.setNo(motionTbl1[uVar1 & 1], -1.0f, FALSE, 0); + } +} -/* 80B5EA48-80B5EA54 -00001 000C+00 0/1 0/0 0/0 .data @5864 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5864[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)race__11daNpc_ykM_cFPv, -}; -#pragma pop +/* 80B5A224-80B5A3FC 006E24 01D8+00 1/1 0/0 0/0 .text dialogue__11daNpc_ykM_cFv */ +int daNpc_ykM_c::dialogue() { + daNpc_ykW_c* actor_p; -/* 80B5EA54-80B5EA60 -00001 000C+00 0/1 0/0 0/0 .data @5866 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5866[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)wait__11daNpc_ykM_cFPv, -}; -#pragma pop + switch (field_0x1548) { + case 0: + if (field_0x1544 != 0 && cLib_calcTimer(&field_0x1544) == 0) { + field_0x1548++; -/* 80B5EA60-80B5EA6C -00001 000C+00 0/1 0/0 0/0 .data @5870 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5870[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)race__11daNpc_ykM_cFPv, -}; -#pragma pop + if ((field_0x154c & 1) != 0) { + dComIfGs_offTmpBit(0xD01); + dComIfGs_onTmpBit(0xE80); + actor_p = (daNpc_ykW_c*)mActorMngr[5].getActorP(); -/* 80B5EA6C-80B5EA78 -00001 000C+00 0/1 0/0 0/0 .data @5872 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5872[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)wait__11daNpc_ykM_cFPv, -}; -#pragma pop + if (actor_p != NULL) { + actor_p->setDialogueTmr1(field_0x154c); + } + } else { + dComIfGs_onTmpBit(0xD01); + dComIfGs_offTmpBit(0xE80); + setDialogueMotion(); + } + } + break; -/* 80B5EA78-80B5EA84 -00001 000C+00 0/1 0/0 0/0 .data @5874 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5874[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)wait__11daNpc_ykM_cFPv, -}; -#pragma pop + case 1: + case 2: + if (dComIfGs_isTmpBit(0xD01)) { + if (mMotionSeqMngr.getStepNo() > 0) { + dComIfGs_offTmpBit(0xD01); + dComIfGs_onTmpBit(0xE80); -/* 80B5EA84-80B5EAA0 -00001 001C+00 1/1 0/0 0/0 .data @6145 */ -SECTION_DATA static void* lit_6145[7] = { - (void*)(((char*)cutSlideDown__11daNpc_ykM_cFi) + 0x38C), - (void*)(((char*)cutSlideDown__11daNpc_ykM_cFi) + 0x3A4), - (void*)(((char*)cutSlideDown__11daNpc_ykM_cFi) + 0x3AC), - (void*)(((char*)cutSlideDown__11daNpc_ykM_cFi) + 0x428), - (void*)(((char*)cutSlideDown__11daNpc_ykM_cFi) + 0x568), - (void*)(((char*)cutSlideDown__11daNpc_ykM_cFi) + 0x6A4), - (void*)(((char*)cutSlideDown__11daNpc_ykM_cFi) + 0x704), -}; + if (field_0x1548 == 1) { + actor_p = (daNpc_ykW_c*)mActorMngr[5].getActorP(); -/* 80B5EAA0-80B5EABC -00001 001C+00 1/1 0/0 0/0 .data @6144 */ -SECTION_DATA static void* lit_6144[7] = { - (void*)(((char*)cutSlideDown__11daNpc_ykM_cFi) + 0xC0), - (void*)(((char*)cutSlideDown__11daNpc_ykM_cFi) + 0xC8), - (void*)(((char*)cutSlideDown__11daNpc_ykM_cFi) + 0x230), - (void*)(((char*)cutSlideDown__11daNpc_ykM_cFi) + 0x248), - (void*)(((char*)cutSlideDown__11daNpc_ykM_cFi) + 0x2AC), - (void*)(((char*)cutSlideDown__11daNpc_ykM_cFi) + 0x2C0), - (void*)(((char*)cutSlideDown__11daNpc_ykM_cFi) + 0x360), -}; + if (actor_p != NULL) { + actor_p->setDialogueTmr2(field_0x154c); + } + } -/* 80B5EABC-80B5EAE0 -00001 0024+00 1/1 0/0 0/0 .data @6555 */ -SECTION_DATA static void* lit_6555[9] = { - (void*)(((char*)cutGetTomatoPuree__11daNpc_ykM_cFi) + 0x34C), - (void*)(((char*)cutGetTomatoPuree__11daNpc_ykM_cFi) + 0x380), - (void*)(((char*)cutGetTomatoPuree__11daNpc_ykM_cFi) + 0x398), - (void*)(((char*)cutGetTomatoPuree__11daNpc_ykM_cFi) + 0x3E0), - (void*)(((char*)cutGetTomatoPuree__11daNpc_ykM_cFi) + 0x490), - (void*)(((char*)cutGetTomatoPuree__11daNpc_ykM_cFi) + 0x6A8), - (void*)(((char*)cutGetTomatoPuree__11daNpc_ykM_cFi) + 0x7A4), - (void*)(((char*)cutGetTomatoPuree__11daNpc_ykM_cFi) + 0x704), - (void*)(((char*)cutGetTomatoPuree__11daNpc_ykM_cFi) + 0x7D8), -}; + field_0x1548++; + } + } else if (!dComIfGs_isTmpBit(0xE80)) { + dComIfGs_onTmpBit(0xD01); + dComIfGs_offTmpBit(0xE80); -/* 80B5EAE0-80B5EB04 -00001 0024+00 1/1 0/0 0/0 .data @6554 */ -SECTION_DATA static void* lit_6554[9] = { - (void*)(((char*)cutGetTomatoPuree__11daNpc_ykM_cFi) + 0x138), - (void*)(((char*)cutGetTomatoPuree__11daNpc_ykM_cFi) + 0x198), - (void*)(((char*)cutGetTomatoPuree__11daNpc_ykM_cFi) + 0x1A0), - (void*)(((char*)cutGetTomatoPuree__11daNpc_ykM_cFi) + 0x1B4), - (void*)(((char*)cutGetTomatoPuree__11daNpc_ykM_cFi) + 0x1D0), - (void*)(((char*)cutGetTomatoPuree__11daNpc_ykM_cFi) + 0x230), - (void*)(((char*)cutGetTomatoPuree__11daNpc_ykM_cFi) + 0x28C), - (void*)(((char*)cutGetTomatoPuree__11daNpc_ykM_cFi) + 0x2A0), - (void*)(((char*)cutGetTomatoPuree__11daNpc_ykM_cFi) + 0x30C), -}; + if (field_0x1548 == 1) { + setDialogueMotion(); + } -/* 80B5EB04-80B5EB28 -00001 0024+00 1/1 0/0 0/0 .data @6858 */ -SECTION_DATA static void* lit_6858[9] = { - (void*)(((char*)cutGetTaste__11daNpc_ykM_cFi) + 0x7D8), - (void*)(((char*)cutGetTaste__11daNpc_ykM_cFi) + 0x7D8), - (void*)(((char*)cutGetTaste__11daNpc_ykM_cFi) + 0x330), - (void*)(((char*)cutGetTaste__11daNpc_ykM_cFi) + 0x378), - (void*)(((char*)cutGetTaste__11daNpc_ykM_cFi) + 0x428), - (void*)(((char*)cutGetTaste__11daNpc_ykM_cFi) + 0x640), - (void*)(((char*)cutGetTaste__11daNpc_ykM_cFi) + 0x73C), - (void*)(((char*)cutGetTaste__11daNpc_ykM_cFi) + 0x69C), - (void*)(((char*)cutGetTaste__11daNpc_ykM_cFi) + 0x770), -}; + field_0x1548++; + } + break; -/* 80B5EB28-80B5EB4C -00001 0024+00 1/1 0/0 0/0 .data @6857 */ -SECTION_DATA static void* lit_6857[9] = { - (void*)(((char*)cutGetTaste__11daNpc_ykM_cFi) + 0x300), - (void*)(((char*)cutGetTaste__11daNpc_ykM_cFi) + 0x300), - (void*)(((char*)cutGetTaste__11daNpc_ykM_cFi) + 0x138), - (void*)(((char*)cutGetTaste__11daNpc_ykM_cFi) + 0x198), - (void*)(((char*)cutGetTaste__11daNpc_ykM_cFi) + 0x1B4), - (void*)(((char*)cutGetTaste__11daNpc_ykM_cFi) + 0x214), - (void*)(((char*)cutGetTaste__11daNpc_ykM_cFi) + 0x270), - (void*)(((char*)cutGetTaste__11daNpc_ykM_cFi) + 0x284), - (void*)(((char*)cutGetTaste__11daNpc_ykM_cFi) + 0x2F0), -}; + case 3: + return 1; + } + + return 0; +} + +/* 80B5A3FC-80B5ABA8 006FFC 07AC+00 3/0 0/0 0/0 .text wait__11daNpc_ykM_cFPv */ +BOOL daNpc_ykM_c::wait(void* param_1) { + daPy_py_c* player = daPy_getPlayerActorClass(); + daTag_EvtArea_c* actor_p; + + switch (mMode) { + case 0: + case 1: + if (!mStagger.checkStagger()) { + if (field_0x1581 != 0) { + mFaceMotionSeqMngr.setNo(FACE_H_HAPPY, 0.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_WAITHOLD_B_B, 0.0f, FALSE, 0); + } else if (mType == TYPE_2) { + mFaceMotionSeqMngr.setNo(FACE_NONE, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_FISH_WAIT_A_2, -1.0f, FALSE, 0); + } else if (daNpcT_chkTmpBit(0x55)) { // dSv_event_tmp_flag_c::T_0085 - Snowpeak mountain - Racing with Yeta + mFaceMotionSeqMngr.setNo(FACE_NONE, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_FUNWAIT, -1.0f, FALSE, 0); + } else { + mFaceMotionSeqMngr.setNo(FACE_NONE, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_WAIT_A, -1.0f, FALSE, 0); + } + + field_0x1544 = cLib_getRndValue(180, 90); + field_0x1548 = 0; + field_0x154c++; + mMode = 2; + } + // fallthrough + case 2: + if (!daPy_py_c::checkNowWolf() && field_0x1585 == 0) { + for (int i = 0; i < 2; i++) { + actor_p = (daTag_EvtArea_c*)mActorMngr[i + 6].getActorP(); + + if (actor_p != NULL) { + if (actor_p->chkPointInArea(player->current.pos)) { + if (mType == TYPE_2) { + if (!daPy_py_c::checkNowWolf()) { + mEvtNo = EVENT_SLIDEDOWN; + } + } else { + mSpeakEvent = true; + field_0x1583 = 1; + } + } + } + } + } + + if (field_0x1581 != 0) { + mJntAnm.lookNone(0); + } else if (!mStagger.checkStagger()) { + if (mType == TYPE_4) { + if (field_0x1583 != 0) { + mPlayerActorMngr.entry(daPy_getPlayerActorClass()); + } + } else if (mType == TYPE_2) { + if (mPlayerActorMngr.getActorP() != NULL) { + if (cLib_calcTimer(&field_0x1538) == 0) { + field_0x1538 = cLib_getRndValue(90, 90); + field_0x153c ^= 1; + } + + if (field_0x153c != 0) { + mPlayerActorMngr.remove(); + } + } else { + field_0x1538 = 0; + field_0x153c = 0; + } + } + + if (daNpcT_chkTmpBit(0x55)) { // dSv_event_tmp_flag_c::T_0085 - Snowpeak mountain - Racing with Yeta + mPlayerActorMngr.remove(); + } + + if (mPlayerActorMngr.getActorP() != NULL) { + mJntAnm.lookPlayer(0); + + if (mType != TYPE_4) { + if (!chkActorInSight(mPlayerActorMngr.getActorP(), mAttnFovY, mCurAngle.y)) { + mJntAnm.lookNone(0); + } + } + + if (!srchPlayerActor() && home.angle.y == mCurAngle.y) { + mMode = 1; + } + } else { + mJntAnm.lookNone(0); + + if (home.angle.y != mCurAngle.y) { + if (field_0xe34 != 0) { + if (step(home.angle.y, 15, 30, daNpc_ykM_Param_c::m.step_speed, 0)) { + mMode = 1; + } + } else { + setAngle(home.angle.y); + mMode = 1; + } + + attention_info.flags = 0; + } else { + srchPlayerActor(); + } + } + + if (mType == TYPE_4) { + dComIfGs_offTmpBit(0xD02); + } + + switch (mJntAnm.getMode()) { + case daNpcT_JntAnm_c::LOOK_PLAYER: + if (mType == TYPE_4) { + dComIfGs_onTmpBit(0xD02); + + if (mMotionSeqMngr.getNo() != MOTION_WAIT_A) { + mMotionSeqMngr.setNo(MOTION_WAIT_A, -1.0f, FALSE, 0); + } + } + break; + + case daNpcT_JntAnm_c::LOOK_NONE: + if (mType == TYPE_4) { + if (daNpcT_chkTmpBit(0x55)) { // dSv_event_tmp_flag_c::T_0085 - Snowpeak mountain - Racing with Yeta + actor_p = (daTag_EvtArea_c*)mActorMngr[5].getActorP(); + + if (actor_p != NULL) { + mJntAnm.lookActor(actor_p, -40.0f, 0); + } + } else if (dComIfGs_isTmpBit(0xE40)) { + mJntAnm.lookPlayer(0); + } else { + actor_p = (daTag_EvtArea_c*)mActorMngr[5].getActorP(); + + if (actor_p != NULL) { + mJntAnm.lookActor(actor_p, -40.0f, 0); + + if (dialogue() != 0) { + mMode = 1; + } + } + } + } + break; + } + } + + case 3: + break; + } + + return TRUE; +} + +/* 80B5ABA8-80B5B260 0077A8 06B8+00 1/0 0/0 0/0 .text cook__11daNpc_ykM_cFPv */ +BOOL daNpc_ykM_c::cook(void* param_1) { + daPy_py_c* player = daPy_getPlayerActorClass(); + int waitTime = daNpc_ykM_Param_c::m.wait_time; + BOOL bVar1 = FALSE; + + field_0x1508.set(0.0f, 200.0f, 450.0f); + mDoMtx_stack_c::YrotS(home.angle.y); + mDoMtx_stack_c::multVec(&field_0x1508, &field_0x1508); + field_0x1508 += current.pos; + + fopAc_ac_c* actor_p; + f32 fVar1; + switch (mMode) { + case 0: + case 1: + if (!mStagger.checkStagger()) { + mFaceMotionSeqMngr.setNo(FACE_NONE, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_WAIT_A, -1.0f, FALSE, 0); + field_0x1538 = 0; + field_0x153c = 1; + mMode = 2; + } + // fallthrough + case 2: + if (!daPy_py_c::checkNowWolf() && !checkItemGet(fpcNm_ITEM_TOMATO_PUREE, 1) && !checkItemGet(fpcNm_ITEM_TASTE, 1) && + !daNpcT_chkEvtBit(10) /* dSv_event_flag_c::F_0006 - Snowpeak Ruins - First conversation with Yeto in kitchen */) { + actor_p = mActorMngr[6].getActorP(); + + if (actor_p != NULL) { + if (((daTag_EvtArea_c*)actor_p)->chkPointInArea(player->current.pos)) { + mEvtNo = EVENT_MEETING_AGAIN; + field_0xe33 = true; + } + } + } + + if (!mStagger.checkStagger()) { + if (daNpcT_chkEvtBit(10) /* dSv_event_flag_c::F_0006 - Snowpeak Ruins - First conversation with Yeto in kitchen */) { + if (!chkContinueAttnPlayer()) { + mPlayerActorMngr.remove(); + } + + if (!daNpcT_chkEvtBit(3) /* dSv_event_flag_c::TEST_003 - Snowpeak Ruins - Handed over tomato puree */) { + bVar1 = TRUE; + } + } + + if (mPlayerActorMngr.getActorP() != NULL) { + mJntAnm.lookPlayer(0); + + if (!chkActorInSight(mPlayerActorMngr.getActorP(), mAttnFovY, mCurAngle.y)) { + mJntAnm.lookPos(&field_0x1508, 0); + } + + if (!srchPlayerActor() && home.angle.y == mCurAngle.y) { + mMode = 1; + } + } else { + if (mMotionSeqMngr.getNo() == MOTION_TALK_E && mMotionSeqMngr.getStepNo() > 0) { + mJntAnm.lookPos(&field_0x1508, 0); + } + + if (cLib_calcTimer(&field_0x1538) == 0) { + if (field_0x153c != 0) { + mFaceMotionSeqMngr.setNo(FACE_NONE, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_WAIT_A, -1.0f, FALSE, 0); + mJntAnm.lookPos(&field_0x1508, 0); + field_0x1538 = cLib_getRndValue(waitTime / 2, waitTime); + field_0x1538 <<= 1; + } else { + fVar1 = cM_rnd(); + if (bVar1 && 0.6f < fVar1) { + mJntAnm.lookAround2(0, 0x2D); + } else if (0.5f < cM_rnd()) { + mFaceMotionSeqMngr.setNo(FACE_NONE, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_TALK_E, -1.0f, FALSE, 0); + mJntAnm.lookNone(0); + } else { + mFaceMotionSeqMngr.setNo(FACE_NONE, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_TALK_D, -1.0f, FALSE, 0); + mJntAnm.lookNone(0); + } + + field_0x1538 = waitTime; + } + + field_0x153c ^= 1; + } + } + + switch (mJntAnm.getMode()) { + case daNpcT_JntAnm_c::LOOK_NONE: + break; + + case daNpcT_JntAnm_c::LOOK_POS: + case daNpcT_JntAnm_c::LOOK_MODE_8: + mSound.startCreatureVoiceLevel(Z2SE_YKM_V_HUMMING, -1); + } + } + break; + + case 3: + break; + } + + return TRUE; +} + +/* 80B5B260-80B5BE08 007E60 0BA8+00 2/0 0/0 0/0 .text race__11daNpc_ykM_cFPv */ +BOOL daNpc_ykM_c::race(void* param_1) { + // NONMATCHING + cXyz work; + fopAc_ac_c* actors[2] = {this, daPy_getPlayerActorClass()}; + s16 sVar1; + + switch (mMode) { + case 0: + case 1: + if (!mStagger.checkStagger()) { + mFaceMotionSeqMngr.setNo(FACE_NONE, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_SB_WAIT, -1.0f, FALSE, 0); + field_0x1576 = 1; + mMode = 2; + } + // fallthrough + case 2: + if (daNpcT_chkTmpBit(0x54)) { + daNpcT_judgeRace(mRoomPath, actors, &field_0x1558, 2, &field_0x1550); + field_0x14fc.x = mRoomPath->m_points[mRoomPath->m_num - 1].m_position.x; + field_0x14fc.y = mRoomPath->m_points[mRoomPath->m_num - 1].m_position.y; + field_0x14fc.z = mRoomPath->m_points[mRoomPath->m_num - 1].m_position.z; + sVar1 = cLib_targetAngleY(&field_0x14fc, &daPy_getPlayerActorClass()->current.pos); + + if (field_0x1560 < 0 || (field_0x14fc.abs2(daPy_getPlayerActorClass()->current.pos) < 640000.0f && (sVar1 < -0x4000 || sVar1 > 0x4000))) { + field_0x1560 = -1; + mGndChk.SetPos(&daPy_getPlayerActorClass()->current.pos); + + if (dComIfG_Bgsp().GroundCross(&mGndChk) != -1000000000.0f) { + if (field_0x1534 != -1) { + if ((dTimer_c*)fpcM_SearchByID(field_0x1534) == dComIfG_getTimerPtr()) { + if (dComIfG_getTimerPtr()->isStart()) { + if (field_0x157c != 0) { + mDoAud_subBgmStart(Z2BGM_SNOWBOARD_LOSE); + dMeter2Info_setMeterString(0x539); + } else { + mDoAud_subBgmStart(Z2BGM_SNOWBOARD_WIN); + dMeter2Info_setMeterString(0x538); + } + + dComIfG_TimerEnd(5, -1); + if (dComIfG_getTimerNowTimeMs() < dComIfGs_getRaceGameTime() || dComIfGs_getRaceGameTime() == 0) { + dComIfGs_setRaceGameTime(dComIfG_getTimerNowTimeMs()); + } + } + } + } + + mEvtNo = EVENT_END_SNOWBOARDRACE; + } + } + + if (field_0x1560 >= 0 && field_0x1558.field_0x0 < 0) { + field_0x157c = 1; + } + } + + mJntAnm.lookNone(0); + + if (field_0x1585 != 0) { + if (field_0x1576 != 0) { + cLib_addCalc2(&speedF, 0.0f, 0.15f, 3.0f); + + if (speedF <= 0.15f) { + field_0x1576 = 0; + speedF = 0.0f; + speed.setall(0.0f); + } + } else { + mJntAnm.lookNone(0); + } + } else { + if (field_0x157e != 0 && mAcch.ChkGroundHit()) { + mMotionSeqMngr.setNo(MOTION_SB_JUMP_C, -1.0f, FALSE, 0); + mSound.startCreatureSound(Z2SE_YM_SNOBO_LAND, 0, -1); + field_0x157e = 0; + } + + if (field_0x157e == 0) { + do { + if (mPath.chkPassed1(current.pos, mPath.getNumPnts())) { + if (mPath.getArg0() == 0) { + mSound.startCreatureSound(Z2SE_YM_SNOBO_JUMP, 0, -1); + mSound.startCreatureVoice(Z2SE_YM_V_SNOBO_JUMP, -1); + field_0x157e = 1; + } + + if (mPath.setNextIdx(mPath.getNumPnts()) != 0) { + field_0x1585 = 1; + mMotionSeqMngr.setNo(MOTION_SB_GOAL, -1.0f, FALSE, 0); + break; + } + } + + int idx; + if (field_0x157e != 0) { + if (!mStagger.checkStagger()) { + mMotionSeqMngr.setNo(MOTION_SB_JUMP_A, -1.0f, FALSE, 0); + } + + field_0x1514 = current.pos; + idx = mPath.getIdx(); + field_0x1520 = mPath.getPntPos(idx); + current.angle.y = cLib_targetAngleY(&field_0x1514, &field_0x1520); + int iVar3 = (int)((field_0x1520 - field_0x1514).absXZ() / speedF) + 1; + speed.y = (field_0x1520.y - field_0x1514.y) + iVar3 * iVar3 * fabsf(gravity) * 0.5f; + speed.y /= iVar3; + } + + idx = mPath.getIdx(); + work = mPath.getPntPos(idx); + break; + } while (field_0x157e == 0); + } + + if (field_0x1585 == 0 && field_0x157e == 0) { + current.angle.y = cLib_targetAngleY(¤t.pos, &work); + cLib_addCalcAngleS2(&shape_angle.y, current.angle.y, 8, 0x100); + mCurAngle.y = shape_angle.y; + + if (!mStagger.checkStagger() && (mMotionSeqMngr.getNo() != MOTION_SB_JUMP_C || mMotionSeqMngr.checkEndSequence())) { + int sVar2 = sVar1 - mCurAngle.y; + if (0.0f < cM_sht2d(sVar2)) { + if (4.0f < cM_sht2d(sVar2)) { + mMotionSeqMngr.setNo(MOTION_SB_TURNL, 24.0f, FALSE, 0); + } else { + mMotionSeqMngr.setNo(MOTION_SB_WAIT, 24.0f, FALSE, 0); + } + } else { + if (cM_sht2d(sVar2) < -4.0f) { + mMotionSeqMngr.setNo(MOTION_SB_TURNR, 24.0f, FALSE, 0); + } else { + mMotionSeqMngr.setNo(MOTION_SB_WAIT, 24.0f, FALSE, 0); + } + } + } + + s16 sVar3 = -fopAcM_getPolygonAngle(mGndChk, current.angle.y + 0x4000); + cLib_addCalcAngleS2(&mCurAngle.x, mGroundAngle, 6, 0x200); + cLib_addCalcAngleS2(&mCurAngle.z, sVar3, 6, 0x200); + int iVar1 = field_0x1560 - field_0x1558.field_0x0; + f32 fVar2 = daNpc_ykM_Param_c::m.slide_speed * cM_scos(mGroundAngle); + + if (mStagger.checkStagger()) { + fVar2 *= 0.0f; + } else { + if (chkTouchPlayer() && field_0x1540 == 0) { + sVar1 = fopAcM_searchPlayerAngleY(this); + f32 fVar3 = daPy_getPlayerActorClass()->speedF; + int iVar3 = cM_deg2s(daNpc_ykM_Param_c::m.fly_angle); + daPy_getPlayerActorClass()->setThrowDamage(sVar1, fVar3 * cM_scos(iVar3), fVar3 * cM_ssin(iVar3), 0, 0, 0); + field_0x1540 = 8; + } + + int iVar2 = cLib_minMaxLimit(iVar1 + daNpc_ykM_Param_c::m.competition_prm_a, 0, daNpc_ykM_Param_c::m.competition_prm_b); + if (iVar2 > 0) { + fVar2 *= daNpc_ykM_Param_c::m.competition_prm_c * 0.1f * abs(iVar2) + 1.0f; + } + } + + cLib_chaseF(&speedF, fVar2, daNpc_ykM_Param_c::m.slide_acceleration); + mSound.startCreatureSoundLevel(Z2SE_YM_SNOBO_RIDE, speedF, -1); + mSound.startCreatureVoiceLevel(Z2SE_YM_V_SNOBO_RIDING, -1); + } + } + + attention_info.flags = 0; + break; + + case 3: + break; + } + + dTres_c::setNpcYkmPosition(getBitTRB() & 0xFF, ¤t.pos); + return TRUE; +} + +/* 80B5BE08-80B5C0C4 008A08 02BC+00 3/0 0/0 0/0 .text talk__11daNpc_ykM_cFPv */ +BOOL daNpc_ykM_c::talk(void* param_1) { + int iVar1; + + switch (mMode) { + case 0: + case 1: + if (!mStagger.checkStagger()) { + initTalk(mFlowNodeNo, NULL); + field_0x157f = 0; + + if (mType == TYPE_COOK) { + mFaceMotionSeqMngr.setNo(FACE_NONE, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOTION_WAIT_A, -1.0f, FALSE, 0); + + if (daNpcT_chkEvtBit(10) /* dSv_event_flag_c::F_0006 - Snowpeak Ruins - First conversation with Yeto in kitchen */ + && !chkContinueAttnPlayer()) { + field_0x157f = 1; + } + } + + mMode = 2; + } + // fallthrough + case 2: + if (!mStagger.checkStagger()) { + if (mTwilight || mPlayerAngle == mCurAngle.y || mType == TYPE_COOK || mType == TYPE_2) { + if (talkProc(NULL, FALSE, NULL, FALSE)) { + field_0x1583 = 0; + + switch ((int)mFlow.getEventId(&iVar1)) { + case 13: + mEvtNo = EVENT_START_SNOWBOARDRACE; + evtChange(); + break; + + default: + if (mFlow.checkEndFlow()) { + mPlayerActorMngr.entry(daPy_getPlayerActorClass()); + dComIfGp_event_reset(); + mMode = 3; + } + break; + } + } + + mJntAnm.lookPlayer(0); + + if (mTwilight || field_0x157f != 0) { + mJntAnm.lookNone(0); + } + } else { + mJntAnm.lookPlayer(0); + step(mPlayerAngle, 15, 30, daNpc_ykM_Param_c::m.step_speed, 0); + } + } + + case 3: + break; + } + + return FALSE; +} + +#ifdef DEBUG +BOOL daNpc_ykM_c::test(void* param_1) { + // NONMATCHING + switch (mMode) { + case 1: + speedF = 0.0f; + speed.setall(0.0f); + mMode = 2; + // fallthrough + case 2: + mFaceMotionSeqMngr.setNo(daNpc_ykM_Param_c::m.common.face_expression, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(daNpc_ykM_Param_c::m.common.motion, -1.0f, FALSE, 0); + mJntAnm.lookNone(0); + attention_info.flags = 0; + break; + + case 3: + break; + } + + return FALSE; +} +#endif + +/* 80B5C0C4-80B5C0E4 008CC4 0020+00 1/0 0/0 0/0 .text daNpc_ykM_Create__FPv */ +static int daNpc_ykM_Create(void* a_this) { + daNpc_ykM_c* i_this = (daNpc_ykM_c*)a_this; + return i_this->create(); +} + +/* 80B5C0E4-80B5C104 008CE4 0020+00 1/0 0/0 0/0 .text daNpc_ykM_Delete__FPv */ +static int daNpc_ykM_Delete(void* a_this) { + daNpc_ykM_c* i_this = (daNpc_ykM_c*)a_this; + return i_this->Delete(); +} + +/* 80B5C104-80B5C124 008D04 0020+00 1/0 0/0 0/0 .text daNpc_ykM_Execute__FPv */ +static int daNpc_ykM_Execute(void* a_this) { + daNpc_ykM_c* i_this = (daNpc_ykM_c*)a_this; + return i_this->Execute(); +} + +/* 80B5C124-80B5C144 008D24 0020+00 1/0 0/0 0/0 .text daNpc_ykM_Draw__FPv */ +static int daNpc_ykM_Draw(void* a_this) { + daNpc_ykM_c* i_this = (daNpc_ykM_c*)a_this; + return i_this->Draw(); +} + +/* 80B5C144-80B5C14C 008D44 0008+00 1/0 0/0 0/0 .text daNpc_ykM_IsDelete__FPv */ +static int daNpc_ykM_IsDelete(void* a_this) { + return 1; +} + +UNK_REL_BSS; + +/* 80B5ED74-80B5ED80 000054 000C+00 0/1 0/0 0/0 .bss l_SBRaceStartPos */ +static cXyz l_SBRaceStartPos; + +/* 80B5ED8C-80B5ED94 00006C 0006+02 0/1 0/0 0/0 .bss l_SBRaceStartAngle */ +static csXyz l_SBRaceStartAngle; + +/* 80B5EDA0-80B5EDA4 000080 0004+00 0/1 0/0 0/0 .bss l_HIO */ +static daNpc_ykM_Param_c l_HIO; + +AUDIO_INSTANCES; /* 80B5EB4C-80B5EB6C -00001 0020+00 1/0 0/0 0/0 .data daNpc_ykM_MethodTable */ static actor_method_class daNpc_ykM_MethodTable = { - (process_method_func)daNpc_ykM_Create__FPv, - (process_method_func)daNpc_ykM_Delete__FPv, - (process_method_func)daNpc_ykM_Execute__FPv, - (process_method_func)daNpc_ykM_IsDelete__FPv, - (process_method_func)daNpc_ykM_Draw__FPv, + (process_method_func)daNpc_ykM_Create, + (process_method_func)daNpc_ykM_Delete, + (process_method_func)daNpc_ykM_Execute, + (process_method_func)daNpc_ykM_IsDelete, + (process_method_func)daNpc_ykM_Draw, }; /* 80B5EB6C-80B5EB9C -00001 0030+00 0/0 0/0 1/0 .data g_profile_NPC_YKM */ @@ -1069,1843 +3651,3 @@ extern actor_process_profile_definition g_profile_NPC_YKM = { fopAc_NPC_e, // mActorType fopAc_CULLBOX_CUSTOM_e, // cullType }; - -/* 80B5EB9C-80B5EBA8 0010B4 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, -}; - -/* 80B5EBA8-80B5EBB4 0010C0 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGSph */ -SECTION_DATA extern void* __vt__8cM3dGSph[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGSphFv, -}; - -/* 80B5EBB4-80B5EBC0 0010CC 000C+00 3/3 0/0 0/0 .data __vt__12J3DFrameCtrl */ -SECTION_DATA extern void* __vt__12J3DFrameCtrl[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12J3DFrameCtrlFv, -}; - -/* 80B5EBC0-80B5EBE4 0010D8 0024+00 3/3 0/0 0/0 .data __vt__12dBgS_ObjAcch */ -SECTION_DATA extern void* __vt__12dBgS_ObjAcch[9] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12dBgS_ObjAcchFv, - (void*)NULL, - (void*)NULL, - (void*)func_80B5D718, - (void*)NULL, - (void*)NULL, - (void*)func_80B5D710, -}; - -/* 80B5EBE4-80B5EBF0 0010FC 000C+00 2/2 0/0 0/0 .data __vt__12dBgS_AcchCir */ -SECTION_DATA extern void* __vt__12dBgS_AcchCir[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12dBgS_AcchCirFv, -}; - -/* 80B5EBF0-80B5EBFC 001108 000C+00 3/3 0/0 0/0 .data __vt__10cCcD_GStts */ -SECTION_DATA extern void* __vt__10cCcD_GStts[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__10cCcD_GSttsFv, -}; - -/* 80B5EBFC-80B5EC08 001114 000C+00 2/2 0/0 0/0 .data __vt__10dCcD_GStts */ -SECTION_DATA extern void* __vt__10dCcD_GStts[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__10dCcD_GSttsFv, -}; - -/* 80B5EC08-80B5EC14 001120 000C+00 3/3 0/0 0/0 .data __vt__22daNpcT_MotionSeqMngr_c */ -SECTION_DATA extern void* __vt__22daNpcT_MotionSeqMngr_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__22daNpcT_MotionSeqMngr_cFv, -}; - -/* 80B5EC14-80B5EC20 00112C 000C+00 5/5 0/0 0/0 .data __vt__18daNpcT_ActorMngr_c */ -SECTION_DATA extern void* __vt__18daNpcT_ActorMngr_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__18daNpcT_ActorMngr_cFv, -}; - -/* 80B5EC20-80B5EC2C 001138 000C+00 3/3 0/0 0/0 .data __vt__15daNpcT_JntAnm_c */ -SECTION_DATA extern void* __vt__15daNpcT_JntAnm_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__15daNpcT_JntAnm_cFv, -}; - -/* 80B5EC2C-80B5EC38 001144 000C+00 5/5 0/0 0/0 .data __vt__8cM3dGAab */ -SECTION_DATA extern void* __vt__8cM3dGAab[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGAabFv, -}; - -/* 80B5EC38-80B5EC44 001150 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, -}; - -/* 80B5EC44-80B5EC50 00115C 000C+00 3/3 0/0 0/0 .data __vt__13daNpcT_Path_c */ -SECTION_DATA extern void* __vt__13daNpcT_Path_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__13daNpcT_Path_cFv, -}; - -/* 80B5EC50-80B5ED14 001168 00C4+00 2/2 0/0 0/0 .data __vt__11daNpc_ykM_c */ -SECTION_DATA extern void* __vt__11daNpc_ykM_c[49] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__11daNpc_ykM_cFv, - (void*)ctrlBtk__8daNpcT_cFv, - (void*)ctrlSubFaceMotion__8daNpcT_cFi, - (void*)checkChangeJoint__11daNpc_ykM_cFi, - (void*)checkRemoveJoint__11daNpc_ykM_cFi, - (void*)getBackboneJointNo__11daNpc_ykM_cFv, - (void*)getNeckJointNo__11daNpc_ykM_cFv, - (void*)getHeadJointNo__11daNpc_ykM_cFv, - (void*)getFootLJointNo__8daNpcT_cFv, - (void*)getFootRJointNo__8daNpcT_cFv, - (void*)getEyeballLMaterialNo__8daNpcT_cFv, - (void*)getEyeballRMaterialNo__8daNpcT_cFv, - (void*)getEyeballMaterialNo__11daNpc_ykM_cFv, - (void*)ctrlJoint__8daNpcT_cFP8J3DJointP8J3DModel, - (void*)afterJntAnm__11daNpc_ykM_cFi, - (void*)setParam__11daNpc_ykM_cFv, - (void*)checkChangeEvt__11daNpc_ykM_cFv, - (void*)evtTalk__11daNpc_ykM_cFv, - (void*)evtEndProc__8daNpcT_cFv, - (void*)evtCutProc__11daNpc_ykM_cFv, - (void*)setAfterTalkMotion__11daNpc_ykM_cFv, - (void*)evtProc__8daNpcT_cFv, - (void*)action__11daNpc_ykM_cFv, - (void*)beforeMove__11daNpc_ykM_cFv, - (void*)afterMoved__11daNpc_ykM_cFv, - (void*)setAttnPos__11daNpc_ykM_cFv, - (void*)setFootPos__8daNpcT_cFv, - (void*)setCollision__11daNpc_ykM_cFv, - (void*)setFootPrtcl__8daNpcT_cFP4cXyzff, - (void*)checkCullDraw__8daNpcT_cFv, - (void*)twilight__8daNpcT_cFv, - (void*)chkXYItems__8daNpcT_cFv, - (void*)evtOrder__8daNpcT_cFv, - (void*)decTmr__8daNpcT_cFv, - (void*)clrParam__8daNpcT_cFv, - (void*)drawDbgInfo__11daNpc_ykM_cFv, - (void*)drawOtherMdl__11daNpc_ykM_cFv, - (void*)drawGhost__8daNpcT_cFv, - (void*)afterSetFaceMotionAnm__8daNpcT_cFiifi, - (void*)afterSetMotionAnm__11daNpc_ykM_cFiifi, - (void*)getFaceMotionAnm__8daNpcT_cF26daNpcT_faceMotionAnmData_c, - (void*)getMotionAnm__8daNpcT_cF22daNpcT_motionAnmData_c, - (void*)changeAnm__8daNpcT_cFPiPi, - (void*)changeBck__8daNpcT_cFPiPi, - (void*)changeBtp__8daNpcT_cFPiPi, - (void*)changeBtk__8daNpcT_cFPiPi, - (void*)setMotionAnm__8daNpcT_cFifi, -}; - -/* 80B534EC-80B53698 0000EC 01AC+00 1/0 0/0 0/0 .text __dt__11daNpc_ykM_cFv */ -daNpc_ykM_c::~daNpc_ykM_c() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80B5D794-80B5D85C 000000 00C8+00 23/23 0/0 0/0 .rodata m__17daNpc_ykM_Param_c */ -SECTION_RODATA u8 const daNpc_ykM_Param_c::m[200] = { - 0x43, 0xFA, 0x00, 0x00, 0xC0, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x44, 0xC8, 0x00, 0x00, - 0x43, 0x7F, 0x00, 0x00, 0x43, 0x2A, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00, 0x42, 0xF0, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xC1, 0x70, 0x00, 0x00, 0x41, 0xC8, 0x00, 0x00, 0xC1, 0xC8, 0x00, 0x00, - 0x41, 0xF0, 0x00, 0x00, 0xC1, 0x70, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, 0xC1, 0xA0, 0x00, 0x00, - 0x3F, 0x4C, 0xCC, 0xCD, 0x41, 0x40, 0x00, 0x00, 0x00, 0x07, 0x00, 0x06, 0x00, 0x09, 0x00, 0x06, - 0x42, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x3C, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, - 0x43, 0xFA, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0x41, 0x90, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, - 0x40, 0x40, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, 0x42, 0x60, 0x00, 0x00, - 0x3F, 0x4C, 0xCC, 0xCD, 0x42, 0x50, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x41, 0xE0, 0x00, 0x00, - 0x00, 0x01, 0x00, 0x05, 0x3F, 0x19, 0x99, 0x9A, -}; -COMPILER_STRIP_GATE(0x80B5D794, &daNpc_ykM_Param_c::m); - -/* 80B5D85C-80B5D87C 0000C8 0020+00 0/1 0/0 0/0 .rodata heapSize$4109 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const heapSize[32] = { - 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x54, 0x60, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x44, 0x60, - 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, -}; -COMPILER_STRIP_GATE(0x80B5D85C, &heapSize); -#pragma pop - -/* 80B5D87C-80B5D880 0000E8 0004+00 0/1 0/0 0/0 .rodata @4189 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4189 = -400.0f; -COMPILER_STRIP_GATE(0x80B5D87C, &lit_4189); -#pragma pop - -/* 80B5D880-80B5D884 0000EC 0004+00 0/1 0/0 0/0 .rodata @4190 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4190 = -100.0f; -COMPILER_STRIP_GATE(0x80B5D880, &lit_4190); -#pragma pop - -/* 80B5D884-80B5D888 0000F0 0004+00 0/1 0/0 0/0 .rodata @4191 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4191 = -500.0f; -COMPILER_STRIP_GATE(0x80B5D884, &lit_4191); -#pragma pop - -/* 80B5D888-80B5D88C 0000F4 0004+00 0/1 0/0 0/0 .rodata @4192 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4192 = 400.0f; -COMPILER_STRIP_GATE(0x80B5D888, &lit_4192); -#pragma pop - -/* 80B5D88C-80B5D890 0000F8 0004+00 0/2 0/0 0/0 .rodata @4193 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4193 = 600.0f; -COMPILER_STRIP_GATE(0x80B5D88C, &lit_4193); -#pragma pop - -/* 80B5D890-80B5D894 0000FC 0004+00 0/1 0/0 0/0 .rodata @4194 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4194 = 500.0f; -COMPILER_STRIP_GATE(0x80B5D890, &lit_4194); -#pragma pop - -/* 80B5D894-80B5D898 000100 0004+00 0/2 0/0 0/0 .rodata @4195 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4195 = -1000000000.0f; -COMPILER_STRIP_GATE(0x80B5D894, &lit_4195); -#pragma pop - -/* 80B53698-80B53990 000298 02F8+00 1/1 0/0 0/0 .text create__11daNpc_ykM_cFv */ -void daNpc_ykM_c::create() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80B5D898-80B5D89C 000104 0004+00 5/25 0/0 0/0 .rodata @4392 */ -SECTION_RODATA static u8 const lit_4392[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80B5D898, &lit_4392); - -/* 80B5D89C-80B5D8A0 000108 0004+00 0/2 0/0 0/0 .rodata @4393 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4393 = 65536.0f; -COMPILER_STRIP_GATE(0x80B5D89C, &lit_4393); -#pragma pop - -/* 80B5D8A0-80B5D8A4 00010C 0004+00 0/3 0/0 0/0 .rodata @4394 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4394 = 1.0f / 5.0f; -COMPILER_STRIP_GATE(0x80B5D8A0, &lit_4394); -#pragma pop - -/* 80B5D8A4-80B5D8B0 000110 000C+00 0/1 0/0 0/0 .rodata bmdTypeList$4504 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const bmdTypeList[12] = { - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, -}; -COMPILER_STRIP_GATE(0x80B5D8A4, &bmdTypeList); -#pragma pop - -/* 80B5D8B0-80B5D8B4 00011C 0004+00 1/8 0/0 0/0 .rodata @4613 */ -SECTION_RODATA static f32 const lit_4613 = 1.0f; -COMPILER_STRIP_GATE(0x80B5D8B0, &lit_4613); - -/* 80B53990-80B53F00 000590 0570+00 1/1 0/0 0/0 .text CreateHeap__11daNpc_ykM_cFv */ -void daNpc_ykM_c::CreateHeap() { - // NONMATCHING -} - -/* 80B53F00-80B53F3C 000B00 003C+00 1/1 0/0 0/0 .text __dt__15J3DTevKColorAnmFv */ -// J3DTevKColorAnm::~J3DTevKColorAnm() { -extern "C" void __dt__15J3DTevKColorAnmFv() { - // NONMATCHING -} - -/* 80B53F3C-80B53F54 000B3C 0018+00 1/1 0/0 0/0 .text __ct__15J3DTevKColorAnmFv */ -// J3DTevKColorAnm::J3DTevKColorAnm() { -extern "C" void __ct__15J3DTevKColorAnmFv() { - // NONMATCHING -} - -/* 80B53F54-80B53F90 000B54 003C+00 1/1 0/0 0/0 .text __dt__14J3DTevColorAnmFv */ -// J3DTevColorAnm::~J3DTevColorAnm() { -extern "C" void __dt__14J3DTevColorAnmFv() { - // NONMATCHING -} - -/* 80B53F90-80B53FA8 000B90 0018+00 1/1 0/0 0/0 .text __ct__14J3DTevColorAnmFv */ -// J3DTevColorAnm::J3DTevColorAnm() { -extern "C" void __ct__14J3DTevColorAnmFv() { - // NONMATCHING -} - -/* 80B53FA8-80B53FF0 000BA8 0048+00 1/1 0/0 0/0 .text __dt__11J3DTexNoAnmFv */ -// J3DTexNoAnm::~J3DTexNoAnm() { -extern "C" void __dt__11J3DTexNoAnmFv() { - // NONMATCHING -} - -/* 80B53FF0-80B54014 000BF0 0024+00 1/1 0/0 0/0 .text __ct__11J3DTexNoAnmFv */ -// J3DTexNoAnm::J3DTexNoAnm() { -extern "C" void __ct__11J3DTexNoAnmFv() { - // NONMATCHING -} - -/* 80B54014-80B54050 000C14 003C+00 1/1 0/0 0/0 .text __dt__12J3DTexMtxAnmFv */ -// J3DTexMtxAnm::~J3DTexMtxAnm() { -extern "C" void __dt__12J3DTexMtxAnmFv() { - // NONMATCHING -} - -/* 80B54050-80B54068 000C50 0018+00 1/1 0/0 0/0 .text __ct__12J3DTexMtxAnmFv */ -// J3DTexMtxAnm::J3DTexMtxAnm() { -extern "C" void __ct__12J3DTexMtxAnmFv() { - // NONMATCHING -} - -/* 80B54068-80B540A4 000C68 003C+00 1/1 0/0 0/0 .text __dt__14J3DMatColorAnmFv */ -// J3DMatColorAnm::~J3DMatColorAnm() { -extern "C" void __dt__14J3DMatColorAnmFv() { - // NONMATCHING -} - -/* 80B540A4-80B540BC 000CA4 0018+00 1/1 0/0 0/0 .text __ct__14J3DMatColorAnmFv */ -// J3DMatColorAnm::J3DMatColorAnm() { -extern "C" void __ct__14J3DMatColorAnmFv() { - // NONMATCHING -} - -/* 80B540BC-80B540F0 000CBC 0034+00 1/1 0/0 0/0 .text Delete__11daNpc_ykM_cFv */ -void daNpc_ykM_c::Delete() { - // NONMATCHING -} - -/* 80B540F0-80B54110 000CF0 0020+00 2/2 0/0 0/0 .text Execute__11daNpc_ykM_cFv */ -void daNpc_ykM_c::Execute() { - // NONMATCHING -} - -/* 80B54110-80B541F8 000D10 00E8+00 1/1 0/0 0/0 .text Draw__11daNpc_ykM_cFv */ -void daNpc_ykM_c::Draw() { - // NONMATCHING -} - -/* 80B541F8-80B54218 000DF8 0020+00 1/1 0/0 0/0 .text - * createHeapCallBack__11daNpc_ykM_cFP10fopAc_ac_c */ -void daNpc_ykM_c::createHeapCallBack(fopAc_ac_c* param_0) { - // NONMATCHING -} - -/* 80B54218-80B54270 000E18 0058+00 1/1 0/0 0/0 .text ctrlJointCallBack__11daNpc_ykM_cFP8J3DJointi - */ -void daNpc_ykM_c::ctrlJointCallBack(J3DJoint* param_0, int param_1) { - // NONMATCHING -} - -/* 80B54270-80B5430C 000E70 009C+00 2/2 0/0 0/0 .text srchGadget__11daNpc_ykM_cFPvPv */ -void daNpc_ykM_c::srchGadget(void* param_0, void* param_1) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80B5D8B4-80B5D8B8 000120 0004+00 4/4 0/0 0/0 .rodata @4737 */ -SECTION_RODATA static f32 const lit_4737 = 1000000000.0f; -COMPILER_STRIP_GATE(0x80B5D8B4, &lit_4737); - -/* 80B5430C-80B543DC 000F0C 00D0+00 1/1 0/0 0/0 .text getTomatoPureeP__11daNpc_ykM_cFv */ -void daNpc_ykM_c::getTomatoPureeP() { - // NONMATCHING -} - -/* 80B543DC-80B544B0 000FDC 00D4+00 1/1 0/0 0/0 .text getCheeseP__11daNpc_ykM_cFv */ -void daNpc_ykM_c::getCheeseP() { - // NONMATCHING -} - -/* 80B544B0-80B5454C 0010B0 009C+00 1/1 0/0 0/0 .text srchYkm__11daNpc_ykM_cFPvPv */ -void daNpc_ykM_c::srchYkm(void* param_0, void* param_1) { - // NONMATCHING -} - -/* 80B5454C-80B54628 00114C 00DC+00 4/4 0/0 0/0 .text getOtherYkmP__11daNpc_ykM_cFi */ -void daNpc_ykM_c::getOtherYkmP(int param_0) { - // NONMATCHING -} - -/* 80B54628-80B546C4 001228 009C+00 1/1 0/0 0/0 .text srchYkw__11daNpc_ykM_cFPvPv */ -void daNpc_ykM_c::srchYkw(void* param_0, void* param_1) { - // NONMATCHING -} - -/* 80B546C4-80B547A0 0012C4 00DC+00 1/1 0/0 0/0 .text getOtherYkwP__11daNpc_ykM_cFi */ -void daNpc_ykM_c::getOtherYkwP(int param_0) { - // NONMATCHING -} - -/* 80B547A0-80B54808 0013A0 0068+00 3/2 0/0 1/1 .text getType__11daNpc_ykM_cFv */ -void daNpc_ykM_c::getType() { - // NONMATCHING -} - -/* 80B54808-80B548A8 001408 00A0+00 2/1 0/0 0/0 .text isDelete__11daNpc_ykM_cFv */ -void daNpc_ykM_c::isDelete() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80B5D8B8-80B5D8BC 000124 0004+00 0/1 0/0 0/0 .rodata @4914 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4914 = -20.0f; -COMPILER_STRIP_GATE(0x80B5D8B8, &lit_4914); -#pragma pop - -/* 80B548A8-80B54B44 0014A8 029C+00 1/1 0/0 0/0 .text reset__11daNpc_ykM_cFv */ -void daNpc_ykM_c::reset() { - // NONMATCHING -} - -/* 80B54B44-80B54BD0 001744 008C+00 1/0 0/0 0/0 .text afterJntAnm__11daNpc_ykM_cFi */ -void daNpc_ykM_c::afterJntAnm(int param_0) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80B5D8BC-80B5D8C0 000128 0004+00 0/1 0/0 0/0 .rodata @5022 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5022 = 350.0f; -COMPILER_STRIP_GATE(0x80B5D8BC, &lit_5022); -#pragma pop - -/* 80B5D8C0-80B5D8C4 00012C 0004+00 0/1 0/0 0/0 .rodata @5023 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5023 = 800.0f; -COMPILER_STRIP_GATE(0x80B5D8C0, &lit_5023); -#pragma pop - -/* 80B5D8C4-80B5D8C8 000130 0004+00 0/1 0/0 0/0 .rodata @5024 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5024 = 900.0f; -COMPILER_STRIP_GATE(0x80B5D8C4, &lit_5024); -#pragma pop - -/* 80B5D8C8-80B5D8CC 000134 0004+00 0/1 0/0 0/0 .rodata @5025 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5025 = 700.0f; -COMPILER_STRIP_GATE(0x80B5D8C8, &lit_5025); -#pragma pop - -/* 80B5D8CC-80B5D8D0 000138 0004+00 0/1 0/0 0/0 .rodata @5026 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5026 = 1800.0f; -COMPILER_STRIP_GATE(0x80B5D8CC, &lit_5026); -#pragma pop - -/* 80B54BD0-80B54E48 0017D0 0278+00 1/0 0/0 0/0 .text setParam__11daNpc_ykM_cFv */ -void daNpc_ykM_c::setParam() { - // NONMATCHING -} - -/* 80B54E48-80B54E5C 001A48 0014+00 1/1 0/0 0/0 .text getDistTable__12dAttention_cFi */ -// void dAttention_c::getDistTable(int param_0) { -extern "C" void getDistTable__12dAttention_cFi() { - // NONMATCHING -} - -/* 80B54E5C-80B55004 001A5C 01A8+00 1/0 0/0 0/0 .text checkChangeEvt__11daNpc_ykM_cFv */ -void daNpc_ykM_c::checkChangeEvt() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80B5D8D0-80B5D8D4 00013C 0004+00 1/11 0/0 0/0 .rodata @5084 */ -SECTION_RODATA static f32 const lit_5084 = -1.0f; -COMPILER_STRIP_GATE(0x80B5D8D0, &lit_5084); - -/* 80B55004-80B550A4 001C04 00A0+00 1/0 0/0 0/0 .text setAfterTalkMotion__11daNpc_ykM_cFv - */ -void daNpc_ykM_c::setAfterTalkMotion() { - // NONMATCHING -} - -/* 80B550A4-80B55254 001CA4 01B0+00 1/1 0/0 0/0 .text srchActors__11daNpc_ykM_cFv */ -void daNpc_ykM_c::srchActors() { - // NONMATCHING -} - -/* 80B55254-80B552F4 001E54 00A0+00 1/0 0/0 0/0 .text evtTalk__11daNpc_ykM_cFv */ -void daNpc_ykM_c::evtTalk() { - // NONMATCHING -} - -/* 80B552F4-80B553BC 001EF4 00C8+00 1/0 0/0 0/0 .text evtCutProc__11daNpc_ykM_cFv */ -void daNpc_ykM_c::evtCutProc() { - // NONMATCHING -} - -/* 80B553BC-80B55658 001FBC 029C+00 1/0 0/0 0/0 .text action__11daNpc_ykM_cFv */ -void daNpc_ykM_c::action() { - // NONMATCHING -} - -/* 80B55658-80B5571C 002258 00C4+00 1/0 0/0 0/0 .text beforeMove__11daNpc_ykM_cFv */ -void daNpc_ykM_c::beforeMove() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80B5D8D4-80B5D8D8 000140 0004+00 0/2 0/0 0/0 .rodata @5319 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5319 = 3.0f; -COMPILER_STRIP_GATE(0x80B5D8D4, &lit_5319); -#pragma pop - -/* 80B5D8D8-80B5D8DC 000144 0004+00 0/2 0/0 0/0 .rodata @5320 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5320 = 30.0f; -COMPILER_STRIP_GATE(0x80B5D8D8, &lit_5320); -#pragma pop - -/* 80B5D8DC-80B5D8E0 000148 0004+00 0/1 0/0 0/0 .rodata @5321 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5321 = 2.0f; -COMPILER_STRIP_GATE(0x80B5D8DC, &lit_5321); -#pragma pop - -/* 80B5D8E0-80B5D8E4 00014C 0004+00 0/2 0/0 0/0 .rodata @5322 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5322 = 4.0f; -COMPILER_STRIP_GATE(0x80B5D8E0, &lit_5322); -#pragma pop - -/* 80B5D8E4-80B5D8E8 000150 0004+00 0/1 0/0 0/0 .rodata @5323 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5323 = 7.0f / 10.0f; -COMPILER_STRIP_GATE(0x80B5D8E4, &lit_5323); -#pragma pop - -/* 80B5D8E8-80B5D8EC 000154 0004+00 0/1 0/0 0/0 .rodata @5324 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5324 = 3.0f / 10.0f; -COMPILER_STRIP_GATE(0x80B5D8E8, &lit_5324); -#pragma pop - -/* 80B5D8EC-80B5D8F0 000158 0004+00 0/2 0/0 0/0 .rodata @5325 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5325 = 50.0f; -COMPILER_STRIP_GATE(0x80B5D8EC, &lit_5325); -#pragma pop - -/* 80B5D8F0-80B5D8F4 00015C 0004+00 0/1 0/0 0/0 .rodata @5326 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5326 = 205.0f; -COMPILER_STRIP_GATE(0x80B5D8F0, &lit_5326); -#pragma pop - -/* 80B5D8F4-80B5D8FC 000160 0008+00 0/3 0/0 0/0 .rodata @5327 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5327[8] = { - 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B5D8F4, &lit_5327); -#pragma pop - -/* 80B5D8FC-80B5D904 000168 0008+00 0/3 0/0 0/0 .rodata @5328 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5328[8] = { - 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B5D8FC, &lit_5328); -#pragma pop - -/* 80B5D904-80B5D90C 000170 0008+00 0/3 0/0 0/0 .rodata @5329 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5329[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B5D904, &lit_5329); -#pragma pop - -/* 80B5D90C-80B5D910 000178 0004+00 0/1 0/0 0/0 .rodata @5330 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_5330 = 0x358637BD; -COMPILER_STRIP_GATE(0x80B5D90C, &lit_5330); -#pragma pop - -/* 80B5571C-80B55A64 00231C 0348+00 1/0 0/0 0/0 .text afterMoved__11daNpc_ykM_cFv */ -void daNpc_ykM_c::afterMoved() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80B5D910-80B5D914 00017C 0004+00 0/2 0/0 0/0 .rodata @5510 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5510 = 80.0f; -COMPILER_STRIP_GATE(0x80B5D910, &lit_5510); -#pragma pop - -/* 80B5D914-80B5D918 000180 0004+00 0/1 0/0 0/0 .rodata @5511 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_5511 = 0x38C90FDB; -COMPILER_STRIP_GATE(0x80B5D914, &lit_5511); -#pragma pop - -/* 80B5D918-80B5D91C 000184 0004+00 0/2 0/0 0/0 .rodata @5512 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5512 = 1.0f / 10.0f; -COMPILER_STRIP_GATE(0x80B5D918, &lit_5512); -#pragma pop - -/* 80B5D91C-80B5D920 000188 0004+00 0/1 0/0 0/0 .rodata @5513 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5513 = 55.0f; -COMPILER_STRIP_GATE(0x80B5D91C, &lit_5513); -#pragma pop - -/* 80B5D920-80B5D924 00018C 0004+00 0/1 0/0 0/0 .rodata @5514 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5514 = 440.0f; -COMPILER_STRIP_GATE(0x80B5D920, &lit_5514); -#pragma pop - -/* 80B5D924-80B5D92C 000190 0004+04 0/1 0/0 0/0 .rodata @5515 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5515[1 + 1 /* padding */] = { - 480.0f, - /* padding */ - 0.0f, -}; -COMPILER_STRIP_GATE(0x80B5D924, &lit_5515); -#pragma pop - -/* 80B5D92C-80B5D934 000198 0008+00 2/5 0/0 0/0 .rodata @5517 */ -SECTION_RODATA static u8 const lit_5517[8] = { - 0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B5D92C, &lit_5517); - -/* 80B55A64-80B560B4 002664 0650+00 1/0 0/0 0/0 .text setAttnPos__11daNpc_ykM_cFv */ -void daNpc_ykM_c::setAttnPos() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80B5D934-80B5D944 0001A0 0010+00 0/1 0/0 0/0 .rodata @5599 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5599[16] = { - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1D, -}; -COMPILER_STRIP_GATE(0x80B5D934, &lit_5599); -#pragma pop - -/* 80B5D944-80B5D954 0001B0 0010+00 0/1 0/0 0/0 .rodata @5600 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5600[16] = { - 0x43, 0x0C, 0x00, 0x00, 0x42, 0x70, 0x00, 0x00, 0x42, 0x70, 0x00, 0x00, 0x43, 0x0C, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B5D944, &lit_5600); -#pragma pop - -/* 80B5D954-80B5D958 0001C0 0004+00 0/1 0/0 0/0 .rodata @5701 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5701 = 170.0f; -COMPILER_STRIP_GATE(0x80B5D954, &lit_5701); -#pragma pop - -/* 80B560B4-80B5641C 002CB4 0368+00 1/0 0/0 0/0 .text setCollision__11daNpc_ykM_cFv */ -void daNpc_ykM_c::setCollision() { - // NONMATCHING -} - -/* 80B5641C-80B56424 00301C 0008+00 1/0 0/0 0/0 .text drawDbgInfo__11daNpc_ykM_cFv */ -bool daNpc_ykM_c::drawDbgInfo() { - return false; -} - -/* ############################################################################################## */ -/* 80B5D958-80B5D964 0001C4 000C+00 1/1 0/0 0/0 .rodata jointNo$5709 */ -SECTION_RODATA static u8 const jointNo[12] = { - 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x14, -}; -COMPILER_STRIP_GATE(0x80B5D958, &jointNo); - -/* 80B56424-80B56624 003024 0200+00 1/0 0/0 0/0 .text drawOtherMdl__11daNpc_ykM_cFv */ -void daNpc_ykM_c::drawOtherMdl() { - // NONMATCHING -} - -/* 80B56624-80B566E8 003224 00C4+00 1/1 0/0 0/0 .text setFishAnm__11daNpc_ykM_cFiif */ -void daNpc_ykM_c::setFishAnm(int param_0, int param_1, f32 param_2) { - // NONMATCHING -} - -/* 80B566E8-80B567B4 0032E8 00CC+00 2/2 0/0 0/0 .text setLeafAnm__11daNpc_ykM_cFif */ -void daNpc_ykM_c::setLeafAnm(int param_0, f32 param_1) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80B5D964-80B5D968 0001D0 0004+00 1/1 0/0 0/0 .rodata @5854 */ -SECTION_RODATA static f32 const lit_5854 = 15.0f; -COMPILER_STRIP_GATE(0x80B5D964, &lit_5854); - -/* 80B567B4-80B5680C 0033B4 0058+00 1/0 0/0 0/0 .text afterSetMotionAnm__11daNpc_ykM_cFiifi */ -void daNpc_ykM_c::afterSetMotionAnm(int param_0, int param_1, f32 param_2, int param_3) { - // NONMATCHING -} - -/* 80B5680C-80B56954 00340C 0148+00 1/1 0/0 0/0 .text selectAction__11daNpc_ykM_cFv */ -void daNpc_ykM_c::selectAction() { - // NONMATCHING -} - -/* 80B56954-80B56980 003554 002C+00 2/2 0/0 0/0 .text - * chkAction__11daNpc_ykM_cFM11daNpc_ykM_cFPCvPvPv_i */ -void daNpc_ykM_c::chkAction(int (daNpc_ykM_c::*param_0)(void*)) { - // NONMATCHING -} - -/* 80B56980-80B56A28 003580 00A8+00 2/2 0/0 0/0 .text - * setAction__11daNpc_ykM_cFM11daNpc_ykM_cFPCvPvPv_i */ -void daNpc_ykM_c::setAction(int (daNpc_ykM_c::*param_0)(void*)) { - // NONMATCHING -} - -/* 80B56A28-80B56AB4 003628 008C+00 2/2 0/0 0/0 .text chkContinueAttnPlayer__11daNpc_ykM_cFv */ -void daNpc_ykM_c::chkContinueAttnPlayer() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80B5D968-80B5D96C 0001D4 0004+00 1/1 0/0 0/0 .rodata @5936 */ -SECTION_RODATA static f32 const lit_5936 = 20.0f; -COMPILER_STRIP_GATE(0x80B5D968, &lit_5936); - -/* 80B56AB4-80B56B84 0036B4 00D0+00 1/1 0/0 0/0 .text chkTouchPlayer__11daNpc_ykM_cFv */ -void daNpc_ykM_c::chkTouchPlayer() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80B5DA40-80B5DA40 0002AC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80B5DAD7 = "prm"; -SECTION_DEAD static char const* const stringBase_80B5DADB = "timer"; -#pragma pop - -/* 80B56B84-80B572C8 003784 0744+00 3/0 0/0 0/0 .text cutSlideDown__11daNpc_ykM_cFi */ -void daNpc_ykM_c::cutSlideDown(int param_0) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80B5D96C-80B5D974 0001D8 0008+00 0/0 0/0 0/0 .rodata @5955 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5955[8] = { - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -}; -COMPILER_STRIP_GATE(0x80B5D96C, &lit_5955); -#pragma pop - -/* 80B5D974-80B5D978 0001E0 0004+00 0/0 0/0 0/0 .rodata @6136 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6136 = -200.0f; -COMPILER_STRIP_GATE(0x80B5D974, &lit_6136); -#pragma pop - -/* 80B5D978-80B5D97C 0001E4 0004+00 0/0 0/0 0/0 .rodata @6137 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6137 = 65.0f; -COMPILER_STRIP_GATE(0x80B5D978, &lit_6137); -#pragma pop - -/* 80B5D97C-80B5D980 0001E8 0004+00 0/0 0/0 0/0 .rodata @6138 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6138 = 62.0f; -COMPILER_STRIP_GATE(0x80B5D97C, &lit_6138); -#pragma pop - -/* 80B5D980-80B5D984 0001EC 0004+00 0/0 0/0 0/0 .rodata @6139 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6139 = -14483.0f; -COMPILER_STRIP_GATE(0x80B5D980, &lit_6139); -#pragma pop - -/* 80B5D984-80B5D988 0001F0 0004+00 0/0 0/0 0/0 .rodata @6140 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6140 = 2023.0f; -COMPILER_STRIP_GATE(0x80B5D984, &lit_6140); -#pragma pop - -/* 80B5D988-80B5D98C 0001F4 0004+00 0/0 0/0 0/0 .rodata @6141 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6141 = -9768.0f; -COMPILER_STRIP_GATE(0x80B5D988, &lit_6141); -#pragma pop - -/* 80B5D98C-80B5D990 0001F8 0004+00 0/0 0/0 0/0 .rodata @6142 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6142 = 22.0f; -COMPILER_STRIP_GATE(0x80B5D98C, &lit_6142); -#pragma pop - -/* 80B5D990-80B5D994 0001FC 0004+00 0/0 0/0 0/0 .rodata @6143 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6143 = 27.0f; -COMPILER_STRIP_GATE(0x80B5D990, &lit_6143); -#pragma pop - -/* 80B5D994-80B5D99C 000200 0008+00 0/0 0/0 0/0 .rodata @6165 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6165[8] = { - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -}; -COMPILER_STRIP_GATE(0x80B5D994, &lit_6165); -#pragma pop - -/* 80B5D99C-80B5D9A0 000208 0004+00 0/1 0/0 0/0 .rodata @6239 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6239 = 1000.0f; -COMPILER_STRIP_GATE(0x80B5D99C, &lit_6239); -#pragma pop - -/* 80B5DA40-80B5DA40 0002AC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80B5DAE1 = "msgNo"; -#pragma pop - -/* 80B572C8-80B57638 003EC8 0370+00 1/0 0/0 0/0 .text cutMeetingAgain__11daNpc_ykM_cFi */ -void daNpc_ykM_c::cutMeetingAgain(int param_0) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80B5D9A0-80B5D9A8 00020C 0008+00 0/1 0/0 0/0 .rodata @6262 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6262[8] = { - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -}; -COMPILER_STRIP_GATE(0x80B5D9A0, &lit_6262); -#pragma pop - -/* 80B5D9A8-80B5D9AC 000214 0004+00 0/3 0/0 0/0 .rodata @6549 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6549 = 200.0f; -COMPILER_STRIP_GATE(0x80B5D9A8, &lit_6549); -#pragma pop - -/* 80B5D9AC-80B5D9B0 000218 0004+00 0/3 0/0 0/0 .rodata @6550 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6550 = 450.0f; -COMPILER_STRIP_GATE(0x80B5D9AC, &lit_6550); -#pragma pop - -/* 80B57638-80B5806C 004238 0A34+00 3/0 0/0 0/0 .text cutGetTomatoPuree__11daNpc_ykM_cFi - */ -void daNpc_ykM_c::cutGetTomatoPuree(int param_0) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80B5D9B0-80B5D9B4 00021C 0004+00 0/1 0/0 0/0 .rodata @6551 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_6551 = 0x43360B61; -COMPILER_STRIP_GATE(0x80B5D9B0, &lit_6551); -#pragma pop - -/* 80B5D9B4-80B5D9B8 000220 0004+00 0/0 0/0 0/0 .rodata @6552 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6552 = 19.0f; -COMPILER_STRIP_GATE(0x80B5D9B4, &lit_6552); -#pragma pop - -/* 80B5D9B8-80B5D9BC 000224 0004+00 0/0 0/0 0/0 .rodata @6553 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6553 = 18.0f; -COMPILER_STRIP_GATE(0x80B5D9B8, &lit_6553); -#pragma pop - -/* 80B5D9BC-80B5D9C4 000228 0008+00 0/1 0/0 0/0 .rodata @6578 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6578[8] = { - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -}; -COMPILER_STRIP_GATE(0x80B5D9BC, &lit_6578); -#pragma pop - -/* 80B5806C-80B58A38 004C6C 09CC+00 3/0 0/0 0/0 .text cutGetTaste__11daNpc_ykM_cFi */ -void daNpc_ykM_c::cutGetTaste(int param_0) { - // NONMATCHING -} - -/* 80B58A38-80B59500 005638 0AC8+00 1/0 0/0 0/0 .text cutLv5DungeonClear__11daNpc_ykM_cFi - */ -void daNpc_ykM_c::cutLv5DungeonClear(int param_0) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80B5D9C4-80B5D9CC 000230 0008+00 0/0 0/0 0/0 .rodata @6889 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6889[8] = { - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -}; -COMPILER_STRIP_GATE(0x80B5D9C4, &lit_6889); -#pragma pop - -/* 80B5D9CC-80B5D9D4 000238 0008+00 0/1 0/0 0/0 .rodata @7183 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_7183[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B5D9CC, &lit_7183); -#pragma pop - -/* 80B59500-80B59748 006100 0248+00 1/0 0/0 0/0 .text cutFindWolf__11daNpc_ykM_cFi */ -void daNpc_ykM_c::cutFindWolf(int param_0) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80B5D9D4-80B5D9DC 000240 0008+00 0/0 0/0 0/0 .rodata @7190 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_7190[8] = { - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -}; -COMPILER_STRIP_GATE(0x80B5D9D4, &lit_7190); -#pragma pop - -/* 80B5D9DC-80B5D9E0 000248 0004+00 0/1 0/0 0/0 .rodata @7353 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7353 = -72610.0f; -COMPILER_STRIP_GATE(0x80B5D9DC, &lit_7353); -#pragma pop - -/* 80B5D9E0-80B5D9E4 00024C 0004+00 0/1 0/0 0/0 .rodata @7354 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7354 = -54260.0f; -COMPILER_STRIP_GATE(0x80B5D9E0, &lit_7354); -#pragma pop - -/* 80B5D9E4-80B5D9E8 000250 0004+00 0/1 0/0 0/0 .rodata @7355 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7355 = 56590.0f; -COMPILER_STRIP_GATE(0x80B5D9E4, &lit_7355); -#pragma pop - -/* 80B5D9E8-80B5D9EC 000254 0004+00 0/1 0/0 0/0 .rodata @7356 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7356 = 210.0f; -COMPILER_STRIP_GATE(0x80B5D9E8, &lit_7356); -#pragma pop - -/* 80B5D9EC-80B5D9F0 000258 0004+00 0/1 0/0 0/0 .rodata @7357 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7357 = 410.0f; -COMPILER_STRIP_GATE(0x80B5D9EC, &lit_7357); -#pragma pop - -/* 80B5D9F0-80B5D9F4 00025C 0004+00 0/1 0/0 0/0 .rodata @7358 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7358 = 32.0f; -COMPILER_STRIP_GATE(0x80B5D9F0, &lit_7358); -#pragma pop - -/* 80B5D9F4-80B5D9F8 000260 0004+00 0/1 0/0 0/0 .rodata @7359 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7359 = 419.0f; -COMPILER_STRIP_GATE(0x80B5D9F4, &lit_7359); -#pragma pop - -/* 80B59748-80B59B90 006348 0448+00 1/0 0/0 0/0 .text cutStartSnowboardRace__11daNpc_ykM_cFi */ -void daNpc_ykM_c::cutStartSnowboardRace(int param_0) { - // NONMATCHING -} - -/* 80B59B90-80B5A0B8 006790 0528+00 1/0 0/0 0/0 .text cutEndSnowboardRace__11daNpc_ykM_cFi */ -void daNpc_ykM_c::cutEndSnowboardRace(int param_0) { - // NONMATCHING -} - -/* 80B5A0B8-80B5A128 006CB8 0070+00 1/0 0/0 0/0 .text cutHug__11daNpc_ykM_cFi */ -void daNpc_ykM_c::cutHug(int param_0) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80B5D9F8-80B5DA00 000264 0008+00 0/0 0/0 0/0 .rodata @7385 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_7385[8] = { - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -}; -COMPILER_STRIP_GATE(0x80B5D9F8, &lit_7385); -#pragma pop - -/* 80B5DA00-80B5DA10 00026C 0010+00 0/1 0/0 0/0 .rodata motionTbl2$7522 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const motionTbl2[16] = { - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x02, -}; -COMPILER_STRIP_GATE(0x80B5DA00, &motionTbl2); -#pragma pop - -/* 80B5DA10-80B5DA18 00027C 0008+00 0/1 0/0 0/0 .rodata motionTbl1$7524 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const motionTbl1[8] = { - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0D, -}; -COMPILER_STRIP_GATE(0x80B5DA10, &motionTbl1); -#pragma pop - -/* 80B5DA18-80B5DA1C 000284 0004+00 0/3 0/0 0/0 .rodata @7540 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7540 = 0.5f; -COMPILER_STRIP_GATE(0x80B5DA18, &lit_7540); -#pragma pop - -/* 80B5A128-80B5A224 006D28 00FC+00 1/1 0/0 0/0 .text setDialogueMotion__11daNpc_ykM_cFv - */ -void daNpc_ykM_c::setDialogueMotion() { - // NONMATCHING -} - -/* 80B5A224-80B5A3FC 006E24 01D8+00 1/1 0/0 0/0 .text dialogue__11daNpc_ykM_cFv */ -void daNpc_ykM_c::dialogue() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80B5DA1C-80B5DA20 000288 0004+00 0/1 0/0 0/0 .rodata @7841 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7841 = -40.0f; -COMPILER_STRIP_GATE(0x80B5DA1C, &lit_7841); -#pragma pop - -/* 80B5A3FC-80B5ABA8 006FFC 07AC+00 3/0 0/0 0/0 .text wait__11daNpc_ykM_cFPv */ -void daNpc_ykM_c::wait(void* param_0) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80B5DA20-80B5DA24 00028C 0004+00 0/1 0/0 0/0 .rodata @8049 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_8049 = 3.0f / 5.0f; -COMPILER_STRIP_GATE(0x80B5DA20, &lit_8049); -#pragma pop - -/* 80B5ABA8-80B5B260 0077A8 06B8+00 1/0 0/0 0/0 .text cook__11daNpc_ykM_cFPv */ -void daNpc_ykM_c::cook(void* param_0) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80B5DA24-80B5DA2C 000290 0008+00 0/1 0/0 0/0 .rodata @8053 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_8053[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B5DA24, &lit_8053); -#pragma pop - -/* 80B5DA2C-80B5DA30 000298 0004+00 0/1 0/0 0/0 .rodata @8468 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_8468 = 640000.0f; -COMPILER_STRIP_GATE(0x80B5DA2C, &lit_8468); -#pragma pop - -/* 80B5DA30-80B5DA34 00029C 0004+00 0/1 0/0 0/0 .rodata @8469 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_8469 = 3.0f / 20.0f; -COMPILER_STRIP_GATE(0x80B5DA30, &lit_8469); -#pragma pop - -/* 80B5DA34-80B5DA38 0002A0 0004+00 0/1 0/0 0/0 .rodata @8470 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_8470 = 0x3BB40000; -COMPILER_STRIP_GATE(0x80B5DA34, &lit_8470); -#pragma pop - -/* 80B5DA38-80B5DA3C 0002A4 0004+00 0/1 0/0 0/0 .rodata @8471 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_8471 = 24.0f; -COMPILER_STRIP_GATE(0x80B5DA38, &lit_8471); -#pragma pop - -/* 80B5DA3C-80B5DA40 0002A8 0004+00 0/1 0/0 0/0 .rodata @8472 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_8472 = -4.0f; -COMPILER_STRIP_GATE(0x80B5DA3C, &lit_8472); -#pragma pop - -/* 80B5B260-80B5BE08 007E60 0BA8+00 2/0 0/0 0/0 .text race__11daNpc_ykM_cFPv */ -void daNpc_ykM_c::race(void* param_0) { - // NONMATCHING -} - -/* 80B5BE08-80B5C0C4 008A08 02BC+00 3/0 0/0 0/0 .text talk__11daNpc_ykM_cFPv */ -void daNpc_ykM_c::talk(void* param_0) { - // NONMATCHING -} - -/* 80B5C0C4-80B5C0E4 008CC4 0020+00 1/0 0/0 0/0 .text daNpc_ykM_Create__FPv */ -static void daNpc_ykM_Create(void* param_0) { - // NONMATCHING -} - -/* 80B5C0E4-80B5C104 008CE4 0020+00 1/0 0/0 0/0 .text daNpc_ykM_Delete__FPv */ -static void daNpc_ykM_Delete(void* param_0) { - // NONMATCHING -} - -/* 80B5C104-80B5C124 008D04 0020+00 1/0 0/0 0/0 .text daNpc_ykM_Execute__FPv */ -static void daNpc_ykM_Execute(void* param_0) { - // NONMATCHING -} - -/* 80B5C124-80B5C144 008D24 0020+00 1/0 0/0 0/0 .text daNpc_ykM_Draw__FPv */ -static void daNpc_ykM_Draw(void* param_0) { - // NONMATCHING -} - -/* 80B5C144-80B5C14C 008D44 0008+00 1/0 0/0 0/0 .text daNpc_ykM_IsDelete__FPv */ -static bool daNpc_ykM_IsDelete(void* param_0) { - return true; -} - -/* 80B5C14C-80B5C17C 008D4C 0030+00 1/0 0/0 0/0 .text calc__11J3DTexNoAnmCFPUs */ -// void J3DTexNoAnm::calc(u16* param_0) const { -extern "C" void calc__11J3DTexNoAnmCFPUs() { - // NONMATCHING -} - -/* 80B5C17C-80B5C1C4 008D7C 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */ -// cCcD_GStts::~cCcD_GStts() { -extern "C" void __dt__10cCcD_GSttsFv() { - // NONMATCHING -} - -/* 80B5C1C4-80B5C54C 008DC4 0388+00 1/1 0/0 0/0 .text __dt__8daNpcT_cFv */ -// daNpcT_c::~daNpcT_c() { -extern "C" void __dt__8daNpcT_cFv() { - // NONMATCHING -} - -/* 80B5C54C-80B5C588 00914C 003C+00 4/4 0/0 0/0 .text __dt__4cXyzFv */ -// cXyz::~cXyz() { -extern "C" void __dt__4cXyzFv() { - // NONMATCHING -} - -/* 80B5C588-80B5C5C4 009188 003C+00 3/3 0/0 0/0 .text __dt__5csXyzFv */ -// csXyz::~csXyz() { -extern "C" void __dt__5csXyzFv() { - // NONMATCHING -} - -/* 80B5C5C4-80B5C690 0091C4 00CC+00 2/2 0/0 0/0 .text __dt__8dCcD_SphFv */ -// dCcD_Sph::~dCcD_Sph() { -extern "C" void __dt__8dCcD_SphFv() { - // NONMATCHING -} - -/* 80B5C690-80B5C6D8 009290 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 -} - -/* 80B5C6D8-80B5C720 0092D8 0048+00 1/0 0/0 0/0 .text __dt__13daNpcT_Path_cFv */ -// daNpcT_Path_c::~daNpcT_Path_c() { -extern "C" void __dt__13daNpcT_Path_cFv() { - // NONMATCHING -} - -/* 80B5C720-80B5C75C 009320 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 -} - -/* 80B5C75C-80B5C7E0 00935C 0084+00 1/1 0/0 0/0 .text __ct__8dCcD_SphFv */ -// dCcD_Sph::dCcD_Sph() { -extern "C" void __ct__8dCcD_SphFv() { - // NONMATCHING -} - -/* 80B5C7E0-80B5C828 0093E0 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGSphFv */ -// cM3dGSph::~cM3dGSph() { -extern "C" void __dt__8cM3dGSphFv() { - // NONMATCHING -} - -/* 80B5C828-80B5C870 009428 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */ -// cM3dGCyl::~cM3dGCyl() { -extern "C" void __dt__8cM3dGCylFv() { - // NONMATCHING -} - -/* 80B5C870-80B5C8B8 009470 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */ -// cM3dGAab::~cM3dGAab() { -extern "C" void __dt__8cM3dGAabFv() { - // NONMATCHING -} - -/* 80B5C8B8-80B5CCBC 0094B8 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 -} - -/* 80B5CCBC-80B5CCC0 0098BC 0004+00 1/1 0/0 0/0 .text __ct__5csXyzFv */ -// csXyz::csXyz() { -extern "C" void __ct__5csXyzFv() { - /* empty function */ -} - -/* 80B5CCC0-80B5CDBC 0098C0 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 -} - -/* 80B5CDBC-80B5CDC0 0099BC 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -// cXyz::cXyz() { -extern "C" void __ct__4cXyzFv() { - /* empty function */ -} - -/* 80B5CDC0-80B5CE08 0099C0 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 -} - -/* 80B5CE08-80B5CE78 009A08 0070+00 1/0 0/0 0/0 .text __dt__12dBgS_AcchCirFv */ -// dBgS_AcchCir::~dBgS_AcchCir() { -extern "C" void __dt__12dBgS_AcchCirFv() { - // NONMATCHING -} - -/* 80B5CE78-80B5CED4 009A78 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */ -// dCcD_GStts::~dCcD_GStts() { -extern "C" void __dt__10dCcD_GSttsFv() { - // NONMATCHING -} - -/* 80B5CED4-80B5CF44 009AD4 0070+00 3/2 0/0 0/0 .text __dt__12dBgS_ObjAcchFv */ -// dBgS_ObjAcch::~dBgS_ObjAcch() { -extern "C" void __dt__12dBgS_ObjAcchFv() { - // NONMATCHING -} - -/* 80B5CF44-80B5CF8C 009B44 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */ -// J3DFrameCtrl::~J3DFrameCtrl() { -extern "C" void __dt__12J3DFrameCtrlFv() { - // NONMATCHING -} - -/* 80B5CF8C-80B5D0A8 009B8C 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 -} - -/* 80B5D0A8-80B5D2B0 009CA8 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 -} - -/* 80B5D2B0-80B5D2B4 009EB0 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 */ -} - -/* 80B5D2C4-80B5D2CC 009EC4 0008+00 1/0 0/0 0/0 .text getEyeballLMaterialNo__8daNpcT_cFv - */ -// bool daNpcT_c::getEyeballLMaterialNo() { -extern "C" bool getEyeballLMaterialNo__8daNpcT_cFv() { - return false; -} - -/* 80B5D2CC-80B5D2D4 009ECC 0008+00 1/0 0/0 0/0 .text getEyeballRMaterialNo__8daNpcT_cFv - */ -// bool daNpcT_c::getEyeballRMaterialNo() { -extern "C" bool getEyeballRMaterialNo__8daNpcT_cFv() { - return false; -} - -/* 80B5D2D4-80B5D2DC 009ED4 0008+00 1/0 0/0 0/0 .text evtEndProc__8daNpcT_cFv */ -// bool daNpcT_c::evtEndProc() { -extern "C" bool evtEndProc__8daNpcT_cFv() { - return true; -} - -/* 80B5D2DC-80B5D2E4 009EDC 0008+00 1/0 0/0 0/0 .text chkXYItems__8daNpcT_cFv */ -// bool daNpcT_c::chkXYItems() { -extern "C" bool chkXYItems__8daNpcT_cFv() { - return false; -} - -/* 80B5D2E4-80B5D2FC 009EE4 0018+00 1/0 0/0 0/0 .text decTmr__8daNpcT_cFv */ -// void daNpcT_c::decTmr() { -extern "C" void decTmr__8daNpcT_cFv() { - // NONMATCHING -} - -/* 80B5D2FC-80B5D300 009EFC 0004+00 1/0 0/0 0/0 .text drawGhost__8daNpcT_cFv */ -// void daNpcT_c::drawGhost() { -extern "C" void drawGhost__8daNpcT_cFv() { - /* empty function */ -} - -/* 80B5D300-80B5D308 009F00 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; -} - -/* 80B5D308-80B5D338 009F08 0030+00 1/0 0/0 0/0 .text - * getFaceMotionAnm__8daNpcT_cF26daNpcT_faceMotionAnmData_c */ -// void daNpcT_c::getFaceMotionAnm(daNpcT_faceMotionAnmData_c param_0) { -extern "C" void getFaceMotionAnm__8daNpcT_cF26daNpcT_faceMotionAnmData_c() { - // NONMATCHING -} - -/* 80B5D338-80B5D368 009F38 0030+00 1/0 0/0 0/0 .text - * getMotionAnm__8daNpcT_cF22daNpcT_motionAnmData_c */ -// void daNpcT_c::getMotionAnm(daNpcT_motionAnmData_c param_0) { -extern "C" void getMotionAnm__8daNpcT_cF22daNpcT_motionAnmData_c() { - // NONMATCHING -} - -/* 80B5D368-80B5D36C 009F68 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 */ -} - -/* 80B5D36C-80B5D370 009F6C 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 */ -} - -/* 80B5D370-80B5D374 009F70 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 */ -} - -/* 80B5D374-80B5D378 009F74 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 */ -} - -/* 80B5D378-80B5D394 009F78 001C+00 10/10 0/0 0/0 .text cLib_calcTimer__FPi */ -extern "C" void func_80B5D378(void* _this, int* param_0) { - // NONMATCHING -} - -/* 80B5D394-80B5D410 009F94 007C+00 2/2 0/0 0/0 .text cLib_getRndValue__Fii */ -extern "C" void func_80B5D394(void* _this, int param_0, int param_1) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80B5ED14-80B5ED20 00122C 000C+00 2/2 0/0 0/0 .data __vt__17daNpc_ykM_Param_c */ -SECTION_DATA extern void* __vt__17daNpc_ykM_Param_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__17daNpc_ykM_Param_cFv, -}; - -/* 80B5ED28-80B5ED2C 000008 0001+03 1/1 0/0 0/0 .bss @1109 */ -static u8 lit_1109[1 + 3 /* padding */]; - -/* 80B5ED2C-80B5ED30 00000C 0001+03 0/0 0/0 0/0 .bss @1107 */ -#pragma push -#pragma force_active on -static u8 lit_1107[1 + 3 /* padding */]; -#pragma pop - -/* 80B5ED30-80B5ED34 000010 0001+03 0/0 0/0 0/0 .bss @1105 */ -#pragma push -#pragma force_active on -static u8 lit_1105[1 + 3 /* padding */]; -#pragma pop - -/* 80B5ED34-80B5ED38 000014 0001+03 0/0 0/0 0/0 .bss @1104 */ -#pragma push -#pragma force_active on -static u8 lit_1104[1 + 3 /* padding */]; -#pragma pop - -/* 80B5ED38-80B5ED3C 000018 0001+03 0/0 0/0 0/0 .bss @1099 */ -#pragma push -#pragma force_active on -static u8 lit_1099[1 + 3 /* padding */]; -#pragma pop - -/* 80B5ED3C-80B5ED40 00001C 0001+03 0/0 0/0 0/0 .bss @1097 */ -#pragma push -#pragma force_active on -static u8 lit_1097[1 + 3 /* padding */]; -#pragma pop - -/* 80B5ED40-80B5ED44 000020 0001+03 0/0 0/0 0/0 .bss @1095 */ -#pragma push -#pragma force_active on -static u8 lit_1095[1 + 3 /* padding */]; -#pragma pop - -/* 80B5ED44-80B5ED48 000024 0001+03 0/0 0/0 0/0 .bss @1094 */ -#pragma push -#pragma force_active on -static u8 lit_1094[1 + 3 /* padding */]; -#pragma pop - -/* 80B5ED48-80B5ED4C 000028 0001+03 0/0 0/0 0/0 .bss @1057 */ -#pragma push -#pragma force_active on -static u8 lit_1057[1 + 3 /* padding */]; -#pragma pop - -/* 80B5ED4C-80B5ED50 00002C 0001+03 0/0 0/0 0/0 .bss @1055 */ -#pragma push -#pragma force_active on -static u8 lit_1055[1 + 3 /* padding */]; -#pragma pop - -/* 80B5ED50-80B5ED54 000030 0001+03 0/0 0/0 0/0 .bss @1053 */ -#pragma push -#pragma force_active on -static u8 lit_1053[1 + 3 /* padding */]; -#pragma pop - -/* 80B5ED54-80B5ED58 000034 0001+03 0/0 0/0 0/0 .bss @1052 */ -#pragma push -#pragma force_active on -static u8 lit_1052[1 + 3 /* padding */]; -#pragma pop - -/* 80B5ED58-80B5ED5C 000038 0001+03 0/0 0/0 0/0 .bss @1014 */ -#pragma push -#pragma force_active on -static u8 lit_1014[1 + 3 /* padding */]; -#pragma pop - -/* 80B5ED5C-80B5ED60 00003C 0001+03 0/0 0/0 0/0 .bss @1012 */ -#pragma push -#pragma force_active on -static u8 lit_1012[1 + 3 /* padding */]; -#pragma pop - -/* 80B5ED60-80B5ED64 000040 0001+03 0/0 0/0 0/0 .bss @1010 */ -#pragma push -#pragma force_active on -static u8 lit_1010[1 + 3 /* padding */]; -#pragma pop - -/* 80B5ED64-80B5ED68 000044 0001+03 0/0 0/0 0/0 .bss @1009 */ -#pragma push -#pragma force_active on -static u8 lit_1009[1 + 3 /* padding */]; -#pragma pop - -/* 80B5ED68-80B5ED74 000048 000C+00 0/1 0/0 0/0 .bss @3917 */ -#pragma push -#pragma force_active on -static u8 lit_3917[12]; -#pragma pop - -/* 80B5ED74-80B5ED80 000054 000C+00 0/1 0/0 0/0 .bss l_SBRaceStartPos */ -#pragma push -#pragma force_active on -static u8 l_SBRaceStartPos[12]; -#pragma pop - -/* 80B5ED80-80B5ED8C 000060 000C+00 0/1 0/0 0/0 .bss @3918 */ -#pragma push -#pragma force_active on -static u8 lit_3918[12]; -#pragma pop - -/* 80B5ED8C-80B5ED94 00006C 0006+02 0/1 0/0 0/0 .bss l_SBRaceStartAngle */ -#pragma push -#pragma force_active on -static u8 l_SBRaceStartAngle[6 + 2 /* padding */]; -#pragma pop - -/* 80B5ED94-80B5EDA0 000074 000C+00 0/1 0/0 0/0 .bss @3919 */ -#pragma push -#pragma force_active on -static u8 lit_3919[12]; -#pragma pop - -/* 80B5EDA0-80B5EDA4 000080 0004+00 0/1 0/0 0/0 .bss l_HIO */ -#pragma push -#pragma force_active on -static u8 l_HIO[4]; -#pragma pop - -/* 80B5D410-80B5D588 00A010 0178+00 0/0 1/0 0/0 .text __sinit_d_a_npc_ykm_cpp */ -void __sinit_d_a_npc_ykm_cpp() { - // NONMATCHING -} - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x80B5D410, __sinit_d_a_npc_ykm_cpp); -#pragma pop - -/* 80B5D588-80B5D688 00A188 0100+00 1/1 0/0 0/0 .text - * __ct__11daNpc_ykM_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc - */ -daNpc_ykM_c::daNpc_ykM_c(daNpcT_faceMotionAnmData_c const* param_0, - daNpcT_motionAnmData_c const* param_1, - daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_2, int param_3, - daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_4, int param_5, - daNpcT_evtData_c const* param_6, char** param_7) { - // NONMATCHING -} - -/* 80B5D688-80B5D690 00A288 0008+00 1/0 0/0 0/0 .text getEyeballMaterialNo__11daNpc_ykM_cFv */ -u16 daNpc_ykM_c::getEyeballMaterialNo() { - return 2; -} - -/* 80B5D690-80B5D698 00A290 0008+00 1/0 0/0 0/0 .text getHeadJointNo__11daNpc_ykM_cFv */ -s32 daNpc_ykM_c::getHeadJointNo() { - return 4; -} - -/* 80B5D698-80B5D6A0 00A298 0008+00 1/0 0/0 0/0 .text getNeckJointNo__11daNpc_ykM_cFv */ -s32 daNpc_ykM_c::getNeckJointNo() { - return 3; -} - -/* 80B5D6A0-80B5D6A8 00A2A0 0008+00 1/0 0/0 0/0 .text getBackboneJointNo__11daNpc_ykM_cFv - */ -bool daNpc_ykM_c::getBackboneJointNo() { - return true; -} - -/* 80B5D6A8-80B5D6B8 00A2A8 0010+00 1/0 0/0 0/0 .text checkChangeJoint__11daNpc_ykM_cFi - */ -void daNpc_ykM_c::checkChangeJoint(int param_0) { - // NONMATCHING -} - -/* 80B5D6B8-80B5D6C8 00A2B8 0010+00 1/0 0/0 0/0 .text checkRemoveJoint__11daNpc_ykM_cFi - */ -void daNpc_ykM_c::checkRemoveJoint(int param_0) { - // NONMATCHING -} - -/* 80B5D6C8-80B5D710 00A2C8 0048+00 2/1 0/0 0/0 .text __dt__17daNpc_ykM_Param_cFv */ -daNpc_ykM_Param_c::~daNpc_ykM_Param_c() { - // NONMATCHING -} - -/* 80B5D710-80B5D718 00A310 0008+00 1/0 0/0 0/0 .text @36@__dt__12dBgS_ObjAcchFv */ -static void func_80B5D710() { - // NONMATCHING -} - -/* 80B5D718-80B5D720 00A318 0008+00 1/0 0/0 0/0 .text @20@__dt__12dBgS_ObjAcchFv */ -static void func_80B5D718() { - // NONMATCHING -} - -/* 80B5D720-80B5D780 00A320 0060+00 2/2 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 -} - -/* ############################################################################################## */ -/* 80B5EDA4-80B5EDA8 000084 0004+00 0/0 0/0 0/0 .bss - * sInstance__40JASGlobalInstance<19JASDefaultBankTable> */ -#pragma push -#pragma force_active on -static u8 data_80B5EDA4[4]; -#pragma pop - -/* 80B5EDA8-80B5EDAC 000088 0004+00 0/0 0/0 0/0 .bss - * sInstance__35JASGlobalInstance<14JASAudioThread> */ -#pragma push -#pragma force_active on -static u8 data_80B5EDA8[4]; -#pragma pop - -/* 80B5EDAC-80B5EDB0 00008C 0004+00 0/0 0/0 0/0 .bss sInstance__27JASGlobalInstance<7Z2SeMgr> */ -#pragma push -#pragma force_active on -static u8 data_80B5EDAC[4]; -#pragma pop - -/* 80B5EDB0-80B5EDB4 000090 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8Z2SeqMgr> */ -#pragma push -#pragma force_active on -static u8 data_80B5EDB0[4]; -#pragma pop - -/* 80B5EDB4-80B5EDB8 000094 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SceneMgr> - */ -#pragma push -#pragma force_active on -static u8 data_80B5EDB4[4]; -#pragma pop - -/* 80B5EDB8-80B5EDBC 000098 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2StatusMgr> - */ -#pragma push -#pragma force_active on -static u8 data_80B5EDB8[4]; -#pragma pop - -/* 80B5EDBC-80B5EDC0 00009C 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2DebugSys> - */ -#pragma push -#pragma force_active on -static u8 data_80B5EDBC[4]; -#pragma pop - -/* 80B5EDC0-80B5EDC4 0000A0 0004+00 0/0 0/0 0/0 .bss - * sInstance__36JASGlobalInstance<15JAISoundStarter> */ -#pragma push -#pragma force_active on -static u8 data_80B5EDC0[4]; -#pragma pop - -/* 80B5EDC4-80B5EDC8 0000A4 0004+00 0/0 0/0 0/0 .bss - * sInstance__35JASGlobalInstance<14Z2SoundStarter> */ -#pragma push -#pragma force_active on -static u8 data_80B5EDC4[4]; -#pragma pop - -/* 80B5EDC8-80B5EDCC 0000A8 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12Z2SpeechMgr2> */ -#pragma push -#pragma force_active on -static u8 data_80B5EDC8[4]; -#pragma pop - -/* 80B5EDCC-80B5EDD0 0000AC 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8JAISeMgr> */ -#pragma push -#pragma force_active on -static u8 data_80B5EDCC[4]; -#pragma pop - -/* 80B5EDD0-80B5EDD4 0000B0 0004+00 0/0 0/0 0/0 .bss sInstance__29JASGlobalInstance<9JAISeqMgr> */ -#pragma push -#pragma force_active on -static u8 data_80B5EDD0[4]; -#pragma pop - -/* 80B5EDD4-80B5EDD8 0000B4 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12JAIStreamMgr> */ -#pragma push -#pragma force_active on -static u8 data_80B5EDD4[4]; -#pragma pop - -/* 80B5EDD8-80B5EDDC 0000B8 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SoundMgr> - */ -#pragma push -#pragma force_active on -static u8 data_80B5EDD8[4]; -#pragma pop - -/* 80B5EDDC-80B5EDE0 0000BC 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12JAISoundInfo> */ -#pragma push -#pragma force_active on -static u8 data_80B5EDDC[4]; -#pragma pop - -/* 80B5EDE0-80B5EDE4 0000C0 0004+00 0/0 0/0 0/0 .bss - * sInstance__34JASGlobalInstance<13JAUSoundTable> */ -#pragma push -#pragma force_active on -static u8 data_80B5EDE0[4]; -#pragma pop - -/* 80B5EDE4-80B5EDE8 0000C4 0004+00 0/0 0/0 0/0 .bss - * sInstance__38JASGlobalInstance<17JAUSoundNameTable> */ -#pragma push -#pragma force_active on -static u8 data_80B5EDE4[4]; -#pragma pop - -/* 80B5EDE8-80B5EDEC 0000C8 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12JAUSoundInfo> */ -#pragma push -#pragma force_active on -static u8 data_80B5EDE8[4]; -#pragma pop - -/* 80B5EDEC-80B5EDF0 0000CC 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SoundInfo> - */ -#pragma push -#pragma force_active on -static u8 data_80B5EDEC[4]; -#pragma pop - -/* 80B5EDF0-80B5EDF4 0000D0 0004+00 0/0 0/0 0/0 .bss - * sInstance__34JASGlobalInstance<13Z2SoundObjMgr> */ -#pragma push -#pragma force_active on -static u8 data_80B5EDF0[4]; -#pragma pop - -/* 80B5EDF4-80B5EDF8 0000D4 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2Audience> - */ -#pragma push -#pragma force_active on -static u8 data_80B5EDF4[4]; -#pragma pop - -/* 80B5EDF8-80B5EDFC 0000D8 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2FxLineMgr> - */ -#pragma push -#pragma force_active on -static u8 data_80B5EDF8[4]; -#pragma pop - -/* 80B5EDFC-80B5EE00 0000DC 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2EnvSeMgr> - */ -#pragma push -#pragma force_active on -static u8 data_80B5EDFC[4]; -#pragma pop - -/* 80B5EE00-80B5EE04 0000E0 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SpeechMgr> - */ -#pragma push -#pragma force_active on -static u8 data_80B5EE00[4]; -#pragma pop - -/* 80B5EE04-80B5EE08 0000E4 0004+00 0/0 0/0 0/0 .bss - * sInstance__34JASGlobalInstance<13Z2WolfHowlMgr> */ -#pragma push -#pragma force_active on -static u8 data_80B5EE04[4]; -#pragma pop - -/* 80B5DA40-80B5DA40 0002AC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/d/actor/d_a_npc_ykw.cpp b/src/d/actor/d_a_npc_ykw.cpp index 77defd68a7a..987f7078767 100644 --- a/src/d/actor/d_a_npc_ykw.cpp +++ b/src/d/actor/d_a_npc_ykw.cpp @@ -1377,7 +1377,7 @@ void daNpc_ykW_c::getOtherYkmP(int param_0) { } /* 80B5FCC8-80B5FD30 000EA8 0068+00 3/2 0/0 1/1 .text getType__11daNpc_ykW_cFv */ -void daNpc_ykW_c::getType() { +u8 daNpc_ykW_c::getType() { // NONMATCHING }