From a02f72d8f3a87a2d2ddde062301d3639050e1e35 Mon Sep 17 00:00:00 2001 From: Carco_21 <144170194+carter-ktb21@users.noreply.github.com> Date: Mon, 10 Nov 2025 21:15:17 -0500 Subject: [PATCH] d_a_npc_post matching (#2792) * initial work * matching * changed draw ifdef * enums added * enum change --- config/GZ2E01/rels/d_a_npc_post/symbols.txt | 1 + configure.py | 2 +- include/d/actor/d_a_npc_post.h | 194 +- include/d/actor/d_a_tag_evtarea.h | 2 + include/m_Do/m_Do_audio.h | 4 + src/d/actor/d_a_npc_post.cpp | 3098 +++++++++---------- 6 files changed, 1695 insertions(+), 1606 deletions(-) diff --git a/config/GZ2E01/rels/d_a_npc_post/symbols.txt b/config/GZ2E01/rels/d_a_npc_post/symbols.txt index 829e52716fb..d9deb9e5fd8 100644 --- a/config/GZ2E01/rels/d_a_npc_post/symbols.txt +++ b/config/GZ2E01/rels/d_a_npc_post/symbols.txt @@ -212,6 +212,7 @@ __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:globa @3839 = .bss:0x00000048; // type:object size:0xC scope:local l_HIO = .bss:0x00000054; // type:object size:0x4 scope:global data:4byte @4753 = .bss:0x00000058; // type:object size:0xC scope:local +init$2635 = .bss:0x00000064; // type:object size:0x1 scope:local align:1 prtclScl$4752 = .bss:0x00000068; // type:object size:0xC scope:local sInstance__40JASGlobalInstance<19JASDefaultBankTable> = .bss:0x00000074; // type:object size:0x4 scope:global sInstance__35JASGlobalInstance<14JASAudioThread> = .bss:0x00000078; // type:object size:0x4 scope:global diff --git a/configure.py b/configure.py index 40cb70e04da..d2435cc4430 100755 --- a/configure.py +++ b/configure.py @@ -1903,7 +1903,7 @@ config.libs = [ ActorRel(NonMatching, "d_a_npc_pachi_taro"), ActorRel(NonMatching, "d_a_npc_passer"), ActorRel(NonMatching, "d_a_npc_passer2"), - ActorRel(NonMatching, "d_a_npc_post"), + ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_post"), ActorRel(NonMatching, "d_a_npc_pouya"), ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_prayer", extra_cflags=[DANPCF_C_HACK]), ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_raca"), diff --git a/include/d/actor/d_a_npc_post.h b/include/d/actor/d_a_npc_post.h index 086954b26de..e3348b8b30b 100644 --- a/include/d/actor/d_a_npc_post.h +++ b/include/d/actor/d_a_npc_post.h @@ -10,73 +10,173 @@ * * @details * - */ -class daNpc_Post_c : public fopAc_ac_c { +*/ + +struct daNpc_Post_HIOParam { + /* 0x00 */ daNpcT_HIOParam common; + /* 0x8C */ f32 run_spd; + /* 0x90 */ s16 nod_interval; +}; + +class daNpc_Post_Param_c { public: + /* 80AAD120 */ virtual ~daNpc_Post_Param_c() {} + + static daNpc_Post_HIOParam const m; +}; + +#if DEBUG +class daNpc_Post_HIO_c : public mDoHIO_entry_c { +public: + daNpc_Post_HIO_c(); + void listenPropertyEvent(const JORPropertyEvent*); + void genMessage(JORMContext*); + + /* 0x8 */ daNpc_Post_HIOParam m; +}; +#define NPC_POST_HIO_CLASS daNpc_Post_HIO_c +#else +#define NPC_POST_HIO_CLASS daNpc_Post_Param_c +#endif + +class daNpc_Post_c : public daNpcT_c { +public: + enum Material { + /* 0x0 */ MAT_SC_EYE, + /* 0x1 */ MAT_EYEBALL, + /* 0x2 */ MAT_POST_BODY_M, + /* 0x3 */ MAT_POST_FACE_M, + }; + + enum Joint { + /* 0x00 */ JNT_CENTER, + /* 0x01 */ JNT_BACKBONE1, + /* 0x02 */ JNT_BACKBONE2, + /* 0x03 */ JNT_NECK, + /* 0x04 */ JNT_HEAD, + /* 0x05 */ JNT_CHIN, + /* 0x06 */ JNT_MAYU_L, + /* 0x07 */ JNT_MAYU_R, + /* 0x08 */ JNT_MOUTH, + /* 0x09 */ JNT_SHOULDERL, + /* 0x0A */ JNT_ARML1, + /* 0x0B */ JNT_ARML2, + /* 0x0C */ JNT_HANDL, + /* 0x0D */ JNT_FINGERL, + /* 0x0E */ JNT_THAMBL, + /* 0x0F */ JNT_SHOULDERR, + /* 0x10 */ JNT_ARMR1, + /* 0x11 */ JNT_ARMR2, + /* 0x12 */ JNT_HANDR, + /* 0x13 */ JNT_FINGERR, + /* 0x14 */ JNT_THAMBR, + /* 0x15 */ JNT_WAIST, + /* 0x16 */ JNT_LEGL1, + /* 0x17 */ JNT_LEGL2, + /* 0x18 */ JNT_FOOTL, + /* 0x19 */ JNT_LEGR1, + /* 0x1A */ JNT_LEGR2, + /* 0x1B */ JNT_FOOTR, + }; + + typedef int (daNpc_Post_c::*actionFunc)(void*); + typedef int (daNpc_Post_c::*cutFunc)(int); + /* 80AA8C8C */ ~daNpc_Post_c(); - /* 80AA8DE8 */ void create(); - /* 80AA90B0 */ void CreateHeap(); - /* 80AA9634 */ void Delete(); - /* 80AA9668 */ void Execute(); - /* 80AA9688 */ void Draw(); - /* 80AA971C */ void createHeapCallBack(fopAc_ac_c*); - /* 80AA973C */ void ctrlJointCallBack(J3DJoint*, int); - /* 80AA9794 */ void getType(); - /* 80AA97E0 */ void isDelete(); + /* 80AA8DE8 */ cPhs__Step create(); + /* 80AA90B0 */ int CreateHeap(); + /* 80AA9634 */ int Delete(); + /* 80AA9668 */ int Execute(); + /* 80AA9688 */ int Draw(); + /* 80AA971C */ static int createHeapCallBack(fopAc_ac_c*); + /* 80AA973C */ static int ctrlJointCallBack(J3DJoint*, int); + /* 80AA9794 */ u8 getType(); + /* 80AA97E0 */ BOOL isDelete(); /* 80AA9828 */ void reset(); /* 80AA99F0 */ void afterJntAnm(int); /* 80AA9A7C */ void setParam(); - /* 80AA9BA4 */ void checkChangeEvt(); + /* 80AA9BA4 */ BOOL checkChangeEvt(); /* 80AA9C58 */ void setAfterTalkMotion(); /* 80AA9D04 */ void srchActors(); - /* 80AA9D98 */ void evtTalk(); - /* 80AA9E98 */ void evtCutProc(); + /* 80AA9D98 */ BOOL evtTalk(); + /* 80AA9E98 */ BOOL evtCutProc(); /* 80AA9F60 */ void action(); /* 80AAA058 */ void beforeMove(); /* 80AAA124 */ void afterMoved(); /* 80AAA1E4 */ void setAttnPos(); /* 80AAA570 */ void setCollision(); - /* 80AAA714 */ bool drawDbgInfo(); + /* 80AAA714 */ int drawDbgInfo(); /* 80AAA71C */ void drawOtherMdl(); - /* 80AAA8A4 */ void setFlagAnm(int, int, f32); - /* 80AAA968 */ void afterSetMotionAnm(int, int, f32, int); - /* 80AAA99C */ void selectAction(); - /* 80AAA9E4 */ void chkAction(int (daNpc_Post_c::*)(void*)); - /* 80AAAA10 */ void setAction(int (daNpc_Post_c::*)(void*)); - /* 80AAAAB8 */ void chkPullOutLetter1(); - /* 80AAAB2C */ void chkPullOutLetter2(); + /* 80AAA8A4 */ BOOL setFlagAnm(int, int, f32); + /* 80AAA968 */ bool afterSetMotionAnm(int, int, f32, int); + /* 80AAA99C */ BOOL selectAction(); + /* 80AAA9E4 */ BOOL chkAction(actionFunc); + /* 80AAAA10 */ BOOL setAction(actionFunc); + /* 80AAAAB8 */ BOOL chkPullOutLetter1(); + /* 80AAAB2C */ BOOL chkPullOutLetter2(); /* 80AAABA0 */ void pullOutLetter(); - /* 80AAAC64 */ void cutDeliver(int); - /* 80AAB61C */ void wait(void*); - /* 80AABC24 */ void talk(void*); - /* 80AACFF0 */ daNpc_Post_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**); - /* 80AAD0D0 */ u16 getEyeballMaterialNo(); - /* 80AAD0D8 */ s32 getHeadJointNo(); - /* 80AAD0E0 */ s32 getNeckJointNo(); - /* 80AAD0E8 */ bool getBackboneJointNo(); - /* 80AAD0F0 */ void checkChangeJoint(int); - /* 80AAD100 */ void checkRemoveJoint(int); - /* 80AAD110 */ s32 getFootLJointNo(); - /* 80AAD118 */ s32 getFootRJointNo(); + /* 80AAAC64 */ int cutDeliver(int); + /* 80AAB61C */ int wait(void*); + /* 80AABC24 */ int talk(void*); + int test(void*); + /* 80AACFF0 */ daNpc_Post_c( + daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData, + daNpcT_motionAnmData_c const* i_motionAnmData, + daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData, + int i_faceMotionStepNum, + daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum, + daNpcT_evtData_c const* i_evtData, char** i_arcNames) + : daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData, + i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData, + i_arcNames) { + OS_REPORT("|%06d:%x|daNpc_Post_c -> コンストラクト\n", g_Counter.mCounter0, this); + } + /* 80AAD0D0 */ u16 getEyeballMaterialNo() { return MAT_EYEBALL; } + /* 80AAD0D8 */ s32 getHeadJointNo() { return JNT_HEAD; } + /* 80AAD0E0 */ s32 getNeckJointNo() { return JNT_NECK; } + /* 80AAD0E8 */ s32 getBackboneJointNo() { return JNT_BACKBONE1; } + /* 80AAD0F0 */ BOOL checkChangeJoint(int i_joint) { return i_joint == JNT_HEAD; } + /* 80AAD100 */ BOOL checkRemoveJoint(int i_joint) { return i_joint == JNT_MOUTH; } + /* 80AAD110 */ s32 getFootLJointNo() { return JNT_FOOTL; } + /* 80AAD118 */ s32 getFootRJointNo() { return JNT_FOOTR; } + + u32 getFlowNodeNo() { + u16 nodeNo = home.angle.x; + u32 rv; + if (nodeNo == 0xffff) { + rv = -1; + } else { + rv = nodeNo; + } + return rv; + } + + u8 getBitSW() { return (fopAcM_GetParam(this) & 0xFF00) >> 8; } static char* mCutNameList[2]; - static u8 mCutList[24]; + static cutFunc mCutList[2]; private: - /* 0x568 */ u8 field_0x568[0x1018 - 0x568]; + /* 0x0E40 */ mDoExt_McaMorfSO* mpFlagModelMorf; + /* 0x0E44 */ NPC_POST_HIO_CLASS* mHIO; + /* 0x0E48 */ J3DModel* mpLetterModels[2]; + /* 0x0E50 */ dCcD_Cyl mCyl; + /* 0x0F8C */ u8 mType; + /* 0x0F90 */ daNpcT_ActorMngr_c mActorMngrs[4]; + /* 0x0FB0 */ daNpcT_Path_c mPath; + /* 0x0FD8 */ actionFunc mNextAction; + /* 0x0FE4 */ actionFunc mAction; + /* 0x0FF0 */ cXyz mActorPos; + /* 0x0FFC */ cXyz field_0xffc; + /* 0x1008 */ f32 mPrevPosY; + /* 0x100C */ int mNodTimer; + /* 0x1010 */ u8 mLetterADispFlag; + /* 0x1011 */ u8 mLetterBDispFlag; + /* 0x1012 */ u8 mFlagModelDispFlag; + /* 0x1013 */ u8 mSitFlag; + /* 0x1014 */ u8 field_0x1014; }; STATIC_ASSERT(sizeof(daNpc_Post_c) == 0x1018); -class daNpc_Post_Param_c { -public: - /* 80AAD120 */ ~daNpc_Post_Param_c(); - - static u8 const m[148]; -}; - - #endif /* D_A_NPC_POST_H */ diff --git a/include/d/actor/d_a_tag_evtarea.h b/include/d/actor/d_a_tag_evtarea.h index 56dd9102c50..9215979ef59 100644 --- a/include/d/actor/d_a_tag_evtarea.h +++ b/include/d/actor/d_a_tag_evtarea.h @@ -44,6 +44,8 @@ public: u8 getBitSW2() { return (home.angle.x & 0xff00) >> 8; } + void noEffect() { field_0x56c = 1; } + private: /* 0x568 vtable */ /* 0x56C */ u8 field_0x56c; diff --git a/include/m_Do/m_Do_audio.h b/include/m_Do/m_Do_audio.h index 2d9af17e14c..922da1b042b 100644 --- a/include/m_Do/m_Do_audio.h +++ b/include/m_Do/m_Do_audio.h @@ -55,6 +55,10 @@ inline void mDoAud_bgmStart(u32 i_bgmID) { Z2AudioMgr::getInterface()->bgmStart(i_bgmID, 0, 0); } +inline void mDoAud_bgmAllMute(u32 i_count) { + Z2AudioMgr::getInterface()->bgmAllMute(i_count, 0.0f); +} + inline void mDoAud_subBgmStart(u32 i_bgmID) { Z2AudioMgr::getInterface()->subBgmStart(i_bgmID); } diff --git a/src/d/actor/d_a_npc_post.cpp b/src/d/actor/d_a_npc_post.cpp index 65c14fc7976..b4bc0ac8755 100644 --- a/src/d/actor/d_a_npc_post.cpp +++ b/src/d/actor/d_a_npc_post.cpp @@ -6,309 +6,206 @@ #include "d/dolzel_rel.h" // IWYU pragma: keep #include "d/actor/d_a_npc_post.h" +#include "JSystem/JHostIO/JORFile.h" +#include "d/d_meter2_info.h" +#include "d/actor/d_a_horse.h" +#include "d/actor/d_a_tag_evtarea.h" +#include "d/d_debug_viewer.h" #include "Z2AudioLib/Z2Instances.h" -#include "dol2asm.h" -// -// Forward References: -// +enum post_RES_File_ID { + /* BCK */ + /* 0x06 */ BCK_POST_F_HAPPY = 0x6, + /* 0x07 */ BCK_POST_F_TALK_A, + /* 0x08 */ BCK_POST_FH_HAPPY, + /* 0x09 */ BCK_POST_FLAG_STEP, + /* 0x0A */ BCK_POST_FLAG_WAIT_A, + /* 0x0B */ BCK_POST_STEP, + /* 0x0C */ BCK_POST_WAIT_A, -extern "C" void __dt__12daNpc_Post_cFv(); -extern "C" void create__12daNpc_Post_cFv(); -extern "C" void CreateHeap__12daNpc_Post_cFv(); -extern "C" void __dt__15J3DTevKColorAnmFv(); -extern "C" void __ct__15J3DTevKColorAnmFv(); -extern "C" void __dt__14J3DTevColorAnmFv(); -extern "C" void __ct__14J3DTevColorAnmFv(); -extern "C" void __dt__11J3DTexNoAnmFv(); -extern "C" void __ct__11J3DTexNoAnmFv(); -extern "C" void __dt__12J3DTexMtxAnmFv(); -extern "C" void __ct__12J3DTexMtxAnmFv(); -extern "C" void __dt__14J3DMatColorAnmFv(); -extern "C" void __ct__14J3DMatColorAnmFv(); -extern "C" void Delete__12daNpc_Post_cFv(); -extern "C" void Execute__12daNpc_Post_cFv(); -extern "C" void Draw__12daNpc_Post_cFv(); -extern "C" void createHeapCallBack__12daNpc_Post_cFP10fopAc_ac_c(); -extern "C" void ctrlJointCallBack__12daNpc_Post_cFP8J3DJointi(); -extern "C" void getType__12daNpc_Post_cFv(); -extern "C" void isDelete__12daNpc_Post_cFv(); -extern "C" void reset__12daNpc_Post_cFv(); -extern "C" void afterJntAnm__12daNpc_Post_cFi(); -extern "C" void setParam__12daNpc_Post_cFv(); -extern "C" void checkChangeEvt__12daNpc_Post_cFv(); -extern "C" void setAfterTalkMotion__12daNpc_Post_cFv(); -extern "C" void srchActors__12daNpc_Post_cFv(); -extern "C" void evtTalk__12daNpc_Post_cFv(); -extern "C" void evtCutProc__12daNpc_Post_cFv(); -extern "C" void action__12daNpc_Post_cFv(); -extern "C" void beforeMove__12daNpc_Post_cFv(); -extern "C" void afterMoved__12daNpc_Post_cFv(); -extern "C" void setAttnPos__12daNpc_Post_cFv(); -extern "C" void setCollision__12daNpc_Post_cFv(); -extern "C" bool drawDbgInfo__12daNpc_Post_cFv(); -extern "C" void drawOtherMdl__12daNpc_Post_cFv(); -extern "C" void setFlagAnm__12daNpc_Post_cFiif(); -extern "C" void afterSetMotionAnm__12daNpc_Post_cFiifi(); -extern "C" void selectAction__12daNpc_Post_cFv(); -extern "C" void chkAction__12daNpc_Post_cFM12daNpc_Post_cFPCvPvPv_i(); -extern "C" void setAction__12daNpc_Post_cFM12daNpc_Post_cFPCvPvPv_i(); -extern "C" void chkPullOutLetter1__12daNpc_Post_cFv(); -extern "C" void chkPullOutLetter2__12daNpc_Post_cFv(); -extern "C" void pullOutLetter__12daNpc_Post_cFv(); -extern "C" void cutDeliver__12daNpc_Post_cFi(); -extern "C" void wait__12daNpc_Post_cFPv(); -extern "C" void talk__12daNpc_Post_cFPv(); -extern "C" static void daNpc_Post_Create__FPv(); -extern "C" static void daNpc_Post_Delete__FPv(); -extern "C" static void daNpc_Post_Execute__FPv(); -extern "C" static void daNpc_Post_Draw__FPv(); -extern "C" static bool daNpc_Post_IsDelete__FPv(); -extern "C" void calc__11J3DTexNoAnmCFPUs(); -extern "C" void __dt__10cCcD_GSttsFv(); -extern "C" void __dt__8daNpcT_cFv(); -extern "C" void __dt__4cXyzFv(); -extern "C" void __dt__5csXyzFv(); -extern "C" void __dt__18daNpcT_ActorMngr_cFv(); -extern "C" void __dt__13daNpcT_Path_cFv(); -extern "C" void __ct__18daNpcT_ActorMngr_cFv(); -extern "C" void __dt__8cM3dGCylFv(); -extern "C" void __dt__8cM3dGAabFv(); -extern "C" void -__ct__8daNpcT_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc(); -extern "C" void __ct__5csXyzFv(); -extern "C" void __dt__15daNpcT_JntAnm_cFv(); -extern "C" void __ct__4cXyzFv(); -extern "C" void __dt__22daNpcT_MotionSeqMngr_cFv(); -extern "C" void __dt__12dBgS_AcchCirFv(); -extern "C" void __dt__10dCcD_GSttsFv(); -extern "C" void __dt__12dBgS_ObjAcchFv(); -extern "C" void __dt__12J3DFrameCtrlFv(); -extern "C" void setEyeAngleY__15daNpcT_JntAnm_cF4cXyzsifs(); -extern "C" void setEyeAngleX__15daNpcT_JntAnm_cF4cXyzfs(); -extern "C" void ctrlSubFaceMotion__8daNpcT_cFi(); -extern "C" bool getEyeballLMaterialNo__8daNpcT_cFv(); -extern "C" bool getEyeballRMaterialNo__8daNpcT_cFv(); -extern "C" bool evtEndProc__8daNpcT_cFv(); -extern "C" 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_80AACF10(void* _this, int*); -extern "C" void func_80AACF2C(void* _this, f32, f32); -extern "C" void __sinit_d_a_npc_post_cpp(); -extern "C" void -__ct__12daNpc_Post_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc(); -extern "C" u16 getEyeballMaterialNo__12daNpc_Post_cFv(); -extern "C" s32 getHeadJointNo__12daNpc_Post_cFv(); -extern "C" s32 getNeckJointNo__12daNpc_Post_cFv(); -extern "C" bool getBackboneJointNo__12daNpc_Post_cFv(); -extern "C" void checkChangeJoint__12daNpc_Post_cFi(); -extern "C" void checkRemoveJoint__12daNpc_Post_cFi(); -extern "C" s32 getFootLJointNo__12daNpc_Post_cFv(); -extern "C" s32 getFootRJointNo__12daNpc_Post_cFv(); -extern "C" void __dt__18daNpc_Post_Param_cFv(); -extern "C" static void func_80AAD168(); -extern "C" static void func_80AAD170(); -extern "C" void chkPointInArea__15daTag_EvtArea_cF4cXyz(); -extern "C" u8 const m__18daNpc_Post_Param_c[148]; -extern "C" extern char const* const d_a_npc_post__stringBase0; -extern "C" void* mCutNameList__12daNpc_Post_c[2]; -extern "C" u8 mCutList__12daNpc_Post_c[24]; + /* BMDR */ + /* 0x0F */ BMDR_POST = 0xF, + /* 0x10 */ BMDR_POST_FLAG, + /* 0x11 */ BMDR_POST_LETTER, -// -// External References: -// + /* BTK */ + /* 0x14 */ BTK_POST = 0x14, -extern "C" void mDoMtx_YrotS__FPA4_fs(); -extern "C" void mDoMtx_YrotM__FPA4_fs(); -extern "C" void mDoMtx_ZrotM__FPA4_fs(); -extern "C" void mDoExt_modelUpdateDL__FP8J3DModel(); -extern "C" void -__ct__16mDoExt_McaMorfSOFP12J3DModelDataP25mDoExt_McaMorfCallBack1_cP25mDoExt_McaMorfCallBack2_cP15J3DAnmTransformifiiP10Z2CreatureUlUl(); -extern "C" void 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 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_searchActorDistanceXZ__FPC10fopAc_ac_cPC10fopAc_ac_c(); -extern "C" void dComIfGs_wolfeye_effect_check__Fv(); -extern "C" void onSwitch__10dSv_info_cFii(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void reset__14dEvt_control_cFv(); -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 ChkPresentEnd__16dEvent_manager_cFv(); -extern "C" void init__7dPaPo_cFP9dBgS_Acchff(); -extern "C" void addReal__21dDlst_shadowControl_cFUlP8J3DModel(); -extern "C" void GroundCross__4cBgSFP11cBgS_GndChk(); -extern "C" void __ct__12dBgS_AcchCirFv(); -extern "C" void SetWallR__12dBgS_AcchCirFf(); -extern "C" void __dt__9dBgS_AcchFv(); -extern "C" void __ct__9dBgS_AcchFv(); -extern "C" void Set__9dBgS_AcchFP4cXyzP4cXyzP10fopAc_ac_ciP12dBgS_AcchCirP4cXyzP5csXyzP5csXyz(); -extern "C" void CrrPos__9dBgS_AcchFR4dBgS(); -extern "C" void __ct__11dBgS_GndChkFv(); -extern "C" void __dt__11dBgS_GndChkFv(); -extern "C" void __ct__11dBgS_LinChkFv(); -extern "C" void __dt__11dBgS_LinChkFv(); -extern "C" void SetObj__16dBgS_PolyPassChkFv(); -extern "C" void __ct__10dCcD_GSttsFv(); -extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c(); -extern "C" void __ct__12dCcD_GObjInfFv(); -extern "C" void __dt__12dCcD_GObjInfFv(); -extern "C" void Set__8dCcD_CylFRC11dCcD_SrcCyl(); -extern "C" void initialize__18daNpcT_ActorMngr_cFv(); -extern "C" void entry__18daNpcT_ActorMngr_cFP10fopAc_ac_c(); -extern "C" void remove__18daNpcT_ActorMngr_cFv(); -extern "C" void getActorP__18daNpcT_ActorMngr_cFv(); -extern "C" void initialize__15daNpcT_MatAnm_cFv(); -extern "C" void initialize__22daNpcT_MotionSeqMngr_cFv(); -extern "C" void checkEndSequence__22daNpcT_MotionSeqMngr_cFv(); -extern "C" void initialize__13daNpcT_Path_cFv(); -extern "C" void initialize__15daNpcT_JntAnm_cFv(); -extern "C" void setParam__15daNpcT_JntAnm_cFP10fopAc_ac_cP8J3DModelP4cXyziiiffffffffffP4cXyz(); -extern "C" void calcJntRad__15daNpcT_JntAnm_cFfff(); -extern "C" void calc__19daNpcT_DmgStagger_cFi(); -extern "C" void tgHitCallBack__8daNpcT_cFP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf(); -extern "C" void getTrnsfrmAnmP__8daNpcT_cFPCci(); -extern "C" void 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 setMtx__8daNpcT_cFv(); -extern "C" void ctrlJoint__8daNpcT_cFP8J3DJointP8J3DModel(); -extern "C" void evtProc__8daNpcT_cFv(); -extern "C" void setFootPos__8daNpcT_cFv(); -extern "C" void setFootPrtcl__8daNpcT_cFP4cXyzff(); -extern "C" bool checkCullDraw__8daNpcT_cFv(); -extern "C" void twilight__8daNpcT_cFv(); -extern "C" void evtOrder__8daNpcT_cFv(); -extern "C" void evtChange__8daNpcT_cFv(); -extern "C" void clrParam__8daNpcT_cFv(); -extern "C" void setFaceMotionAnm__8daNpcT_cFib(); -extern "C" void setMotionAnm__8daNpcT_cFifi(); -extern "C" void setAngle__8daNpcT_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 getEvtAreaTagP__8daNpcT_cFii(); -extern "C" void daNpcT_getDistTableIdx__Fii(); -extern "C" void daNpcT_chkEvtBit__FUl(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void dKy_darkworld_check__Fv(); -extern "C" void dMeter2Info_getNewLetterNum__Fv(); -extern "C" void __ct__10dMsgFlow_cFv(); -extern "C" void __dt__10dMsgFlow_cFv(); -extern "C" void init__10dMsgFlow_cFP10fopAc_ac_ciiPP10fopAc_ac_c(); -extern "C" void doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci(); -extern "C" void Set__4cCcSFP8cCcD_Obj(); -extern "C" void __pl__4cXyzCFRC3Vec(); -extern "C" void __mi__4cXyzCFRC3Vec(); -extern "C" void cM_atan2s__Fff(); -extern "C" void cM_rndF__Ff(); -extern "C" void __ct__11cBgS_GndChkFv(); -extern "C" void __dt__11cBgS_GndChkFv(); -extern "C" void SetPos__11cBgS_GndChkFPC4cXyz(); -extern "C" void __dt__13cBgS_PolyInfoFv(); -extern "C" void __dt__8cM3dGCirFv(); -extern "C" void SetC__8cM3dGCylFRC4cXyz(); -extern "C" void SetH__8cM3dGCylFf(); -extern "C" void SetR__8cM3dGCylFf(); -extern "C" void cLib_addCalcAngleS2__FPssss(); -extern "C" void cLib_chaseF__FPfff(); -extern "C" void cLib_targetAngleY__FPC3VecPC3Vec(); -extern "C" void subBgmStart__8Z2SeqMgrFUl(); -extern "C" void subBgmStop__8Z2SeqMgrFv(); -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 getTexNo__16J3DAnmTexPatternCFUsPUs(); -extern "C" void initialize__14J3DMaterialAnmFv(); -extern "C" void __destroy_arr(); -extern "C" void __construct_array(); -extern "C" void __ptmf_test(); -extern "C" void __ptmf_cmpr(); -extern "C" void __ptmf_scall(); -extern "C" void _savegpr_22(); -extern "C" void _savegpr_23(); -extern "C" void _savegpr_24(); -extern "C" void _savegpr_25(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -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_28(); -extern "C" void _restgpr_29(); -extern "C" extern u8 const __ptmf_null[12 + 4 /* padding */]; -extern "C" extern void* __vt__8dCcD_Cyl[36]; -extern "C" extern void* __vt__9dCcD_Stts[11]; -extern "C" u8 mCcDCyl__8daNpcT_c[68]; -extern "C" extern void* __vt__8daNpcT_c[49]; -extern "C" extern void* __vt__15daNpcT_MatAnm_c[4 + 1 /* padding */]; -extern "C" extern void* __vt__12cCcD_CylAttr[25]; -extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; -extern "C" extern void* __vt__9cCcD_Stts[8]; -extern "C" extern void* __vt__14J3DMaterialAnm[4]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; -extern "C" void chkPointInArea__15daTag_EvtArea_cF4cXyz4cXyz(); -extern "C" void __register_global_object(); + /* BTP */ + /* 0x17 */ BTP_POST = 0x17, + /* 0x18 */ BTP_POST_F_HAPPY, + /* 0x19 */ BTP_POST_F_TALK_A, + /* 0x1A */ BTP_POST_FH_HAPPY, +}; -// -// Declarations: -// +enum post1_RES_File_ID { + /* BCK */ + /* 0x06 */ BCK_POST_BYE = 0x6, + /* 0x07 */ BCK_POST_BYE_WAIT, + /* 0x08 */ BCK_POST_EXPLAIN, + /* 0x09 */ BCK_POST_F_BYE, + /* 0x0A */ BCK_POST_F_EXPLAIN, + /* 0x0B */ BCK_POST_F_HAND, + /* 0x0C */ BCK_POST_F_HELLO, + /* 0x0D */ BCK_POST_F_REGRET, + /* 0x0E */ BCK_POST_FH_REGRET, + /* 0x0F */ BCK_POST_FLAG_EXPLAIN, + /* 0x10 */ BCK_POST_FLAG_HAND, + /* 0x11 */ BCK_POST_FLAG_HAND_WAIT, + /* 0x12 */ BCK_POST_FLAG_HELLO, + /* 0x13 */ BCK_POST_FLAG_REGRET, + /* 0x14 */ BCK_POST_FLAG_RUN, + /* 0x15 */ BCK_POST_HAND, + /* 0x16 */ BCK_POST_HAND_WAIT, + /* 0x17 */ BCK_POST_HELLO, + /* 0x18 */ BCK_POST_REGRET, + /* 0x19 */ BCK_POST_RUN, + + /* BTK */ + /* 0x1C */ BTK_POST_HAND = 0x1C, + /* 0x1D */ BTK_POST_RUN, -/* ############################################################################################## */ -/* 80AAD34C-80AAD34C 000160 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80AAD34C = ""; -SECTION_DEAD static char const* const stringBase_80AAD34D = "NO_RESPONSE"; -SECTION_DEAD static char const* const stringBase_80AAD359 = "DELIVER"; -SECTION_DEAD static char const* const stringBase_80AAD361 = "DELIVERTO_PLAYER_ON_HORSE"; -SECTION_DEAD static char const* const stringBase_80AAD37B = "DELIVERTO_WOLF"; -SECTION_DEAD static char const* const stringBase_80AAD38A = "post"; -SECTION_DEAD static char const* const stringBase_80AAD38F = "post1"; -SECTION_DEAD static char const* const stringBase_80AAD395 = "post2"; -#pragma pop + /* BTP */ + /* 0x20 */ BTP_POST_F_BYE = 0x20, + /* 0x21 */ BTP_POST_F_EXPLAIN, + /* 0x22 */ BTP_POST_F_HAND, + /* 0x23 */ BTP_POST_F_HELLO, + /* 0x24 */ BTP_POST_F_REGRET, + /* 0x25 */ BTP_POST_FH_REGRET, + /* 0x26 */ BTP_POST_RUN, + + /* EVT */ + /* 0x29 */ EVT_POST1_EVENT_LIST = 0x29, +}; + +enum post2_RES_File_ID { + /* BCK */ + /* 0x06 */ BCK_POST_F_ANGRY = 0x6, + /* 0x07 */ BCK_POST_F_SAD, + /* 0x08 */ BCK_POST_FH_ANGRY, + /* 0x09 */ BCK_POST_FH_SAD, + /* 0x0A */ BCK_POST_SIT_A, + /* 0x0B */ BCK_POST_SIT_NOD, + /* 0x0C */ BCK_POST_SIT_TALK_A, + + /* BMDR */ + /* 0x0F */ BMDR_POST_LETTER_B = 0xF, + + /* BTK */ + /* 0x12 */ BTK_POST_SIT_A = 0x12, + /* 0x13 */ BTK_POST_SIT_NOD, + /* 0x14 */ BTK_POST_SIT_TALK_A, + + /* BTP */ + /* 0x17 */ BTP_POST_F_ANGRY = 0x17, + /* 0x18 */ BTP_POST_F_SAD, + /* 0x19 */ BTP_POST_FH_ANGRY, + /* 0x1A */ BTP_POST_FH_SAD, + /* 0x1B */ BTP_POST_SIT_NOD, +}; + +enum RES_Name { + /* 0x0 */ NONE, + /* 0x1 */ POST, + /* 0x2 */ POST1, + /* 0x3 */ POST2, +}; + +enum Face_Motion { + /* 0x0 */ FACE_MOT_TALK_A, + /* 0x1 */ FACE_MOT_HAND, + /* 0x2 */ FACE_MOT_EXPLAIN, + /* 0x3 */ FACE_MOT_HELLO, + /* 0x4 */ FACE_MOT_REGRET, + /* 0x5 */ FACE_MOT_BYE, + /* 0x6 */ FACE_MOT_HAPPY, + /* 0x7 */ FACE_MOT_SAD, + /* 0x8 */ FACE_MOT_ANGRY, + /* 0x9 */ FACE_MOT_H_REGRET, + /* 0xA */ FACE_MOT_NONE, + /* 0xB */ FACE_MOT_H_HAPPY, + /* 0xC */ FACE_MOT_H_SAD, + /* 0xD */ FACE_MOT_H_ANGRY, + /* 0xE */ FACE_MOT_NONE_2, +}; + +enum Motion { + /* 0x0 */ MOT_WAIT_A, + /* 0x1 */ MOT_HAND, + /* 0x2 */ MOT_EXPLAIN, + /* 0x3 */ MOT_HELLO, + /* 0x4 */ MOT_REGRET, + /* 0x5 */ MOT_BYE, + /* 0x6 */ MOT_SIT_A, + /* 0x7 */ MOT_SIT_TALK_A, + /* 0x8 */ MOT_RUN, + /* 0x9 */ MOT_SIT_NOD, + /* 0xA */ MOT_STEP, +}; + +enum Event { + /* 0x0 */ EVT_NONE, + /* 0x1 */ EVT_NO_RESPONSE, + /* 0x2 */ EVT_DELIVER, + /* 0x3 */ EVT_DELIVERTO_PLAYER_ON_HORSE, + /* 0x4 */ EVT_DELIVERTO_WOLF, +}; + +enum Type { + /* 0x0 */ TYPE_0, + /* 0x1 */ TYPE_DELIVER, + /* 0x2 */ TYPE_BAR, + /* 0x3 */ TYPE_DEFAULT, +}; + +#if DEBUG +daNpc_Post_HIO_c::daNpc_Post_HIO_c() { + m = daNpc_Post_Param_c::m; +} + +void daNpc_Post_HIO_c::listenPropertyEvent(const JORPropertyEvent* evt) { + JORReflexible::listenPropertyEvent(evt); + + char buffer[2000]; + JORFile jorFile; + int len; + + switch ((u32)evt->id) { + case 0x40000002: + if (jorFile.open(6, "", NULL, NULL, NULL)) { + memset(&buffer, 0, sizeof(buffer)); + len = 0; + daNpcT_cmnListenPropertyEvent(buffer, &len, &m.common); + + sprintf(buffer + len, "%.3ff,\t// 走り速度\n", m.run_spd); + len = strlen(buffer); + sprintf(buffer + len, "%d, \t// 頷き間隔\n", m.nod_interval); + len = strlen(buffer); + + jorFile.writeData(buffer, len); + jorFile.close(); + OS_REPORT("write append success!::%6d\n", len); + } else { + OS_REPORT("write append failure!\n"); + } + break; + } +} + +void daNpc_Post_HIO_c::genMessage(JORMContext* ctx) { + daNpcT_cmnGenMessage(ctx, &m.common); + ctx->genSlider("走り速度 ", &m.run_spd, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + ctx->genSlider("頷き間隔 ", &m.nod_interval, 0, 1000, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + ctx->genButton("ファイル書き出し", 0x40000002, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); +} +#endif /* 80AAD3CC-80AAD3EC 000020 0020+00 1/1 0/0 0/0 .data l_bmdData */ -SECTION_DATA static u8 l_bmdData[32] = { - 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x03, +static int l_bmdData[4][2] = { + {BMDR_POST, POST}, + {BMDR_POST_FLAG, POST}, + {BMDR_POST_LETTER, POST}, + {BMDR_POST_LETTER_B, POST2}, }; /* 80AAD3EC-80AAD414 -00001 0028+00 0/1 0/0 0/0 .data l_evtList */ @@ -329,134 +226,97 @@ static char* l_resNameList[4] = { }; /* 80AAD424-80AAD428 000078 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] = { + POST, POST1, -1 }; /* 80AAD428-80AAD42C 00007C 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] = { + POST, POST2, -1, }; /* 80AAD42C-80AAD430 000080 0004+00 1/0 0/0 0/0 .data l_loadResPtrn9 */ -SECTION_DATA static u32 l_loadResPtrn9 = 0x010203FF; +static s8 l_loadResPtrn9[4] = { + POST, POST1, POST2, -1, +}; /* 80AAD430-80AAD440 -00001 0010+00 1/2 0/0 0/0 .data l_loadResPtrnList */ -SECTION_DATA static void* l_loadResPtrnList[4] = { - (void*)&l_loadResPtrn0, - (void*)&l_loadResPtrn0, - (void*)&l_loadResPtrn1, - (void*)&l_loadResPtrn9, +static s8* l_loadResPtrnList[4] = { + l_loadResPtrn0, + l_loadResPtrn0, + l_loadResPtrn1, + l_loadResPtrn9, }; /* 80AAD440-80AAD5E4 000094 01A4+00 0/1 0/0 0/0 .data l_faceMotionAnmData */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 l_faceMotionAnmData[420] = { - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x21, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x18, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1A, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, - 0x00, 0x00, 0x00, 0x00, +static daNpcT_faceMotionAnmData_c l_faceMotionAnmData[15] = { + {-1, J3DFrameCtrl::EMode_NONE, NONE, BTP_POST, J3DFrameCtrl::EMode_LOOP, POST, 1}, + {-1, J3DFrameCtrl::EMode_NONE, NONE, BTP_POST_RUN, J3DFrameCtrl::EMode_LOOP, POST1, 0}, + {BCK_POST_F_TALK_A, J3DFrameCtrl::EMode_NONE, POST, BTP_POST_F_TALK_A, J3DFrameCtrl::EMode_NONE, POST, 0}, + {BCK_POST_F_HAND, J3DFrameCtrl::EMode_NONE, POST1, BTP_POST_F_HAND, J3DFrameCtrl::EMode_NONE, POST1, 0}, + {BCK_POST_F_EXPLAIN, J3DFrameCtrl::EMode_NONE, POST1, BTP_POST_F_EXPLAIN, J3DFrameCtrl::EMode_NONE, POST1, 0}, + {BCK_POST_F_HELLO, J3DFrameCtrl::EMode_NONE, POST1, BTP_POST_F_HELLO, J3DFrameCtrl::EMode_NONE, POST1, 0}, + {BCK_POST_F_REGRET, J3DFrameCtrl::EMode_NONE, POST1, BTP_POST_F_REGRET, J3DFrameCtrl::EMode_NONE, POST1, 0}, + {BCK_POST_F_BYE, J3DFrameCtrl::EMode_NONE, POST1, BTP_POST_F_BYE, J3DFrameCtrl::EMode_NONE, POST1, 0}, + {BCK_POST_F_HAPPY, J3DFrameCtrl::EMode_NONE, POST, BTP_POST_F_HAPPY, J3DFrameCtrl::EMode_NONE, POST, 0}, + {BCK_POST_F_SAD, J3DFrameCtrl::EMode_NONE, POST2, BTP_POST_F_SAD, J3DFrameCtrl::EMode_NONE, POST2, 0}, + {BCK_POST_F_ANGRY, J3DFrameCtrl::EMode_NONE, POST2, BTP_POST_F_ANGRY, J3DFrameCtrl::EMode_NONE, POST2, 0}, + {BCK_POST_FH_REGRET, J3DFrameCtrl::EMode_LOOP, POST1, BTP_POST_FH_REGRET, J3DFrameCtrl::EMode_LOOP, POST1, 0}, + {BCK_POST_FH_HAPPY, J3DFrameCtrl::EMode_LOOP, POST, BTP_POST_FH_HAPPY, J3DFrameCtrl::EMode_LOOP, POST, 0}, + {BCK_POST_FH_SAD, J3DFrameCtrl::EMode_LOOP, POST2, BTP_POST_FH_SAD, J3DFrameCtrl::EMode_LOOP, POST2, 0}, + {BCK_POST_FH_ANGRY, J3DFrameCtrl::EMode_LOOP, POST2, BTP_POST_FH_ANGRY, J3DFrameCtrl::EMode_LOOP, POST2, 0}, }; -#pragma pop /* 80AAD5E4-80AAD750 000238 016C+00 2/3 0/0 0/0 .data l_motionAnmData */ -SECTION_DATA static u8 l_motionAnmData[364] = { - 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, 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, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x14, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x14, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, - 0x00, 0x00, 0x00, 0x14, 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, 0x13, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, +static daNpcT_motionAnmData_c l_motionAnmData[13] = { + {BCK_POST_WAIT_A, J3DFrameCtrl::EMode_LOOP, POST, BTK_POST, J3DFrameCtrl::EMode_NONE, POST, 1, 0}, + {BCK_POST_RUN, J3DFrameCtrl::EMode_LOOP, POST1, BTK_POST_RUN, J3DFrameCtrl::EMode_LOOP, POST1, 0, 0}, + {BCK_POST_STEP, J3DFrameCtrl::EMode_NONE, POST, BTK_POST, J3DFrameCtrl::EMode_NONE, POST, 1, 0}, + {BCK_POST_HAND, J3DFrameCtrl::EMode_NONE, POST1, BTK_POST_HAND, J3DFrameCtrl::EMode_NONE, POST1, 0, 0}, + {BCK_POST_HAND_WAIT, J3DFrameCtrl::EMode_LOOP, POST1, BTK_POST, J3DFrameCtrl::EMode_NONE, POST, 1, 0}, + {BCK_POST_EXPLAIN, J3DFrameCtrl::EMode_NONE, POST1, BTK_POST, J3DFrameCtrl::EMode_NONE, POST, 1, 0}, + {BCK_POST_HELLO, J3DFrameCtrl::EMode_NONE, POST1, BTK_POST, J3DFrameCtrl::EMode_NONE, POST, 1, 0}, + {BCK_POST_REGRET, J3DFrameCtrl::EMode_NONE, POST1, BTK_POST, J3DFrameCtrl::EMode_NONE, POST, 1, 0}, + {BCK_POST_BYE, J3DFrameCtrl::EMode_NONE, POST1, BTK_POST, J3DFrameCtrl::EMode_NONE, POST, 1, 0}, + {BCK_POST_BYE_WAIT, J3DFrameCtrl::EMode_LOOP, POST1, BTK_POST, J3DFrameCtrl::EMode_NONE, POST, 1, 0}, + {BCK_POST_SIT_A, J3DFrameCtrl::EMode_LOOP, POST2, BTK_POST_SIT_A, J3DFrameCtrl::EMode_LOOP, POST2, 0, 0}, + {BCK_POST_SIT_TALK_A, J3DFrameCtrl::EMode_NONE, POST2, BTK_POST_SIT_TALK_A, J3DFrameCtrl::EMode_NONE, POST2, 0, 0}, + {BCK_POST_SIT_NOD, J3DFrameCtrl::EMode_NONE, POST2, BTK_POST_SIT_NOD, J3DFrameCtrl::EMode_NONE, POST2, 0, 0}, }; /* 80AAD750-80AAD840 0003A4 00F0+00 0/1 0/0 0/0 .data l_faceMotionSequenceData */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 l_faceMotionSequenceData[240] = { - 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, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x06, 0xFF, 0x01, 0x00, 0x0B, 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, 0x08, 0xFF, 0x01, 0x00, 0x0C, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x09, 0xFF, 0x01, 0x00, 0x0D, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x0A, 0xFF, 0x01, 0x00, 0x0E, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x0B, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x01, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x0C, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x0D, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x0E, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, +static daNpcT_MotionSeqMngr_c::sequenceStepData_c l_faceMotionSequenceData[60] = { + {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}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {6, -1, 1}, {11, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {7, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {8, -1, 1}, {12, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {9, -1, 1}, {13, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {10, -1, 1}, {14, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {11, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {1, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {12, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {13, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {14, -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 /* 80AAD840-80AAD8F0 000494 00B0+00 0/1 0/0 0/0 .data l_motionSequenceData */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 l_motionSequenceData[176] = { - 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x03, 0xFF, 0x01, 0x00, 0x04, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x05, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x06, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x07, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x08, 0xFF, 0x01, 0x00, 0x09, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x0A, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x0B, 0xFF, 0x01, 0x00, 0x0A, 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, 0x0C, 0xFF, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, - 0x00, 0x02, 0x04, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, +static daNpcT_MotionSeqMngr_c::sequenceStepData_c l_motionSequenceData[44] = { + {0, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {3, -1, 1}, {4, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {5, -1, 1}, {0, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {6, -1, 1}, {0, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {7, -1, 1}, {0, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {8, -1, 1}, {9, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {10, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {11, -1, 1}, {10, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {1, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {12, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, + {2, 4, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, }; -#pragma pop /* 80AAD8F0-80AAD8F8 -00001 0008+00 1/1 0/0 0/0 .data mCutNameList__12daNpc_Post_c */ char* daNpc_Post_c::mCutNameList[2] = { @@ -464,99 +324,1299 @@ char* daNpc_Post_c::mCutNameList[2] = { "DELIVER", }; -/* 80AAD8F8-80AAD904 -00001 000C+00 1/1 0/0 0/0 .data @3838 */ -SECTION_DATA static void* lit_3838[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cutDeliver__12daNpc_Post_cFi, -}; - /* 80AAD904-80AAD91C 000558 0018+00 2/2 0/0 0/0 .data mCutList__12daNpc_Post_c */ -SECTION_DATA u8 daNpc_Post_c::mCutList[24] = { - 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_Post_c::cutFunc daNpc_Post_c::mCutList[2] = { + NULL, + &daNpc_Post_c::cutDeliver, }; -/* 80AAD91C-80AAD928 -00001 000C+00 1/1 0/0 0/0 .data @4596 */ -SECTION_DATA static void* lit_4596[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)talk__12daNpc_Post_cFPv, +/* 80AADC3C-80AADC40 000054 0004+00 1/1 0/0 0/0 .bss l_HIO */ +static NPC_POST_HIO_CLASS l_HIO; + +/* 80AA8C8C-80AA8DE8 0000EC 015C+00 1/0 0/0 0/0 .text __dt__12daNpc_Post_cFv */ +daNpc_Post_c::~daNpc_Post_c() { + OS_REPORT("|%06d:%x|daNpc_Post_c -> コンストラクト\n", g_Counter.mCounter0, this); + + if (mpMorf[0] != NULL) { + mpMorf[0]->stopZelAnime(); + } + + if (mpFlagModelMorf != NULL) { + mpFlagModelMorf->stopZelAnime(); + } + + #if DEBUG + if (mHIO != NULL) { + mHIO->removeHIO(); + } + #endif + + deleteRes(l_loadResPtrnList[mType], (const char**)l_resNameList); +} + +/* 80AAD1EC-80AAD280 000000 0094+00 12/12 0/0 0/0 .rodata m__18daNpc_Post_Param_c */ +daNpc_Post_HIOParam const daNpc_Post_Param_c::m = { + 190.0f, + -3.0f, + 1.0f, + 700.0f, + 255.0f, + 180.0f, + 35.0f, + 30.0f, + 0.0f, + 0.0f, + 10.0f, + -10.0f, + 30.0f, + -10.0f, + 45.0f, + -45.0f, + 0.6f, + 12.0f, + 3, + 6, + 5, + 6, + 110.0f, + 0.0f, + 0.0f, + 0.0f, + 60, + 8, + 0, + 0, + 0, + false, + false, + 4.0f, + 0.0f, + 0.0f, + 0.0f, + 0.0f, + 0.0f, + 0.0f, + 0.0f, + 16.0f, + 60, }; -/* 80AAD928-80AAD934 -00001 000C+00 1/1 0/0 0/0 .data @4653 */ -SECTION_DATA static void* lit_4653[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)talk__12daNpc_Post_cFPv, +/* 80AA8DE8-80AA90B0 000248 02C8+00 1/1 0/0 0/0 .text create__12daNpc_Post_cFv */ +cPhs__Step daNpc_Post_c::create() { + daNpcT_ct(this, daNpc_Post_c, l_faceMotionAnmData, l_motionAnmData, l_faceMotionSequenceData, + 4, l_motionSequenceData, 4, l_evtList, l_resNameList); + + mType = getType(); + mFlowNodeNo = getFlowNodeNo(); + mTwilight = dKy_darkworld_check(); + + 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, BitSW:%02x<%08x> ", fopAcM_getProcNameString(this), mType, mFlowNodeNo, + getBitSW(), fopAcM_GetParam(this)); + + if (isDelete()) { + OS_REPORT("===>isDelete:TRUE\n"); + return cPhs_ERROR_e; + } + + OS_REPORT("\n"); + + static int const heapSize[4] = { + 0x0, 0x5060, 0x4EC0, 0x0, + }; + + if (!fopAcM_entrySolidHeap(this, createHeapCallBack, heapSize[mType])) { + return cPhs_ERROR_e; + } + + J3DModel* model = mpMorf[0]->getModel(); + fopAcM_SetMtx(this, mpMorf[0]->getModel()->getBaseTRMtx()); + fopAcM_setCullSizeBox(this, -200.0f, -100.0f, -200.0f, 200.0f, 300.0f, 200.0f); + + mSound.init(¤t.pos, &eyePos, 3, 1); + field_0x9c0.init(&mAcch, 0.0f, 0.0f); + + #if DEBUG + mHIO = &l_HIO; + mHIO->entryHIO("ポストマン"); + #endif + + 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(mHIO->m.common.weight, 0, this); + + mCyl.Set(mCcDCyl); + mCyl.SetStts(&mCcStts); + mCyl.SetTgHitCallback(tgHitCallBack); + + mAcch.CrrPos(dComIfG_Bgsp()); + mGndChk = mAcch.m_gnd; + mGroundH = mAcch.GetGroundH(); + + if (mGroundH != -G_CM3D_F_INF) { + setEnvTevColor(); + setRoomNo(); + } + + mCreating = true; + Execute(); + mCreating = false; + } + + return phase; +} + +/* 80AA90B0-80AA9478 000510 03C8+00 1/1 0/0 0/0 .text CreateHeap__12daNpc_Post_cFv */ +int daNpc_Post_c::CreateHeap() { + int bmdIdx = 0; + int resIdx = l_bmdData[bmdIdx][1]; + int idx = l_bmdData[bmdIdx][0]; + J3DModelData* modelData = static_cast(dComIfG_getObjectRes(l_resNameList[resIdx], idx)); + if (modelData == NULL) { + return 0; + } + + u32 uVar1 = 0x11020284; + mpMorf[0] = new mDoExt_McaMorfSO(modelData, NULL, NULL, NULL, -1, 1.0f, 0, -1, &mSound, 0x80000, uVar1); + if (mpMorf[0] == NULL || mpMorf[0]->getModel() == NULL) { + return 0; + } + + J3DModel* model = mpMorf[0]->getModel(); + for (u16 i = 0; i < modelData->getJointNum(); i++) { + modelData->getJointNodePointer(i)->setCallBack(ctrlJointCallBack); + } + model->setUserArea((uintptr_t)this); + + mpMatAnm[0] = new daNpcT_MatAnm_c(); + if (mpMatAnm[0] == NULL) { + return 0; + } + + bmdIdx = 1; + resIdx = l_bmdData[bmdIdx][1]; + idx = l_bmdData[bmdIdx][0]; + modelData = (J3DModelData*)dComIfG_getObjectRes(l_resNameList[resIdx], idx); + if (modelData == NULL) { + return 0; + } + + if (mType != TYPE_BAR) { + u32 uVar2 = 0x11000084; + mpFlagModelMorf = new mDoExt_McaMorfSO(modelData, NULL, NULL, NULL, -1, 1.0f, 0, -1, NULL, J3DMdlFlag_DifferedDLBuffer, uVar2); + if (mpFlagModelMorf == NULL || mpFlagModelMorf->getModel() == NULL) { + return 0; + } + } + + static int const bmdTypeList[2] = { + 2, 3, + }; + + for (int i = 0; i < 2; i++) { + if (l_bmdData[bmdTypeList[i]][0] >= 0) { + modelData = (J3DModelData*)dComIfG_getObjectRes(l_resNameList[l_bmdData[bmdTypeList[i]][1]], l_bmdData[bmdTypeList[i]][0]); + } else { + modelData = NULL; + } + + if (modelData != NULL) { + mpLetterModels[i] = mDoExt_J3DModel__create(modelData, J3DMdlFlag_DifferedDLBuffer, 0x11000084); + } else { + mpLetterModels[i] = NULL; + } + } + + if (setFaceMotionAnm(2, false) && setMotionAnm(0, 0.0f, FALSE)) { + return 1; + } + + return 0; +} + +/* 80AA9634-80AA9668 000A94 0034+00 1/1 0/0 0/0 .text Delete__12daNpc_Post_cFv */ +int daNpc_Post_c::Delete() { + OS_REPORT("|%06d:%x|daNpc_Post_c -> コンストラクト\n", g_Counter.mCounter0, this); + fpc_ProcID id = fopAcM_GetID(this); + this->~daNpc_Post_c(); + return 1; +} + +/* 80AA9668-80AA9688 000AC8 0020+00 2/2 0/0 0/0 .text Execute__12daNpc_Post_cFv */ +int daNpc_Post_c::Execute() { + return execute(); +} + +/* 80AA9688-80AA971C 000AE8 0094+00 1/1 0/0 0/0 .text Draw__12daNpc_Post_cFv */ +int daNpc_Post_c::Draw() { + if (mpMatAnm[0] != NULL) { + J3DModelData* modelData = mpMorf[0]->getModel()->getModelData(); + modelData->getMaterialNodePointer(getEyeballMaterialNo())->setMaterialAnm(mpMatAnm[0]); + } + + return draw( +#if DEBUG + chkAction(&daNpc_Post_c::test), +#else + 0, +#endif + 0, mRealShadowSize, NULL, 100.0f, 0, 0, 0); +} + +/* 80AA971C-80AA973C 000B7C 0020+00 1/1 0/0 0/0 .text createHeapCallBack__12daNpc_Post_cFP10fopAc_ac_c */ +int daNpc_Post_c::createHeapCallBack(fopAc_ac_c* i_this) { + daNpc_Post_c* actor = (daNpc_Post_c*)i_this; + return actor->CreateHeap(); +} + +/* 80AA973C-80AA9794 000B9C 0058+00 1/1 0/0 0/0 .text ctrlJointCallBack__12daNpc_Post_cFP8J3DJointi */ +int daNpc_Post_c::ctrlJointCallBack(J3DJoint* i_joint, int param_2) { + if (param_2 == 0) { + J3DModel* model = j3dSys.getModel(); + daNpc_Post_c* actor = (daNpc_Post_c*)model->getUserArea(); + if (actor != NULL) { + actor->ctrlJoint(i_joint, model); + } + } + + return 1; +} + +/* 80AA9794-80AA97E0 000BF4 004C+00 1/1 0/0 0/0 .text getType__12daNpc_Post_cFv */ +u8 daNpc_Post_c::getType() { + u8 param = fopAcM_GetParam(this) & 0xFF; + switch (param) { + case 0: + return TYPE_0; + + case 1: + return TYPE_DELIVER; + + case 2: + return TYPE_BAR; + + default: + return TYPE_DEFAULT; + } +} + +/* 80AA97E0-80AA9828 000C40 0048+00 1/1 0/0 0/0 .text isDelete__12daNpc_Post_cFv */ +BOOL daNpc_Post_c::isDelete() { + switch (mType) { + case TYPE_0: + return FALSE; + + case TYPE_DELIVER: + return FALSE; + + case TYPE_BAR: + return FALSE; + + default: + return FALSE; + } +} + +/* 80AA9828-80AA99F0 000C88 01C8+00 1/1 0/0 0/0 .text reset__12daNpc_Post_cFv */ +void daNpc_Post_c::reset() { + csXyz angle; + int size = (u8*)&field_0x1014 - (u8*)&mNextAction; + + if (mpMatAnm[0] != NULL) { + mpMatAnm[0]->initialize(); + } + + initialize(); + + for (int i = 0; i < 4; i++) { + mActorMngrs[i].initialize(); + } + + memset(&mNextAction, 0, size); + + if (dMeter2Info_getNewLetterNum()) { + mFlagModelDispFlag = 1; + } + + angle.setall(0); + angle.y = home.angle.y; + + switch (mType) { + case TYPE_0: + break; + + case TYPE_DELIVER: + mHide = true; + break; + + case TYPE_BAR: + mLetterBDispFlag = 1; + mFlagModelDispFlag = 0; + mSitFlag = 1; + break; + } + + setAngle(angle); +} + +/* 80AA99F0-80AA9A7C 000E50 008C+00 1/0 0/0 0/0 .text afterJntAnm__12daNpc_Post_cFi */ +void daNpc_Post_c::afterJntAnm(int i_joint) { + if (i_joint == JNT_BACKBONE1) { + mDoMtx_stack_c::YrotM(mStagger.getAngleZ(1)); + mDoMtx_stack_c::ZrotM(-mStagger.getAngleX(1)); + } else if (i_joint == JNT_HEAD) { + mDoMtx_stack_c::YrotM(-mStagger.getAngleZ(0)); + mDoMtx_stack_c::ZrotM(mStagger.getAngleX(0)); + } +} + +/* 80AA9A7C-80AA9BA4 000EDC 0128+00 1/0 0/0 0/0 .text setParam__12daNpc_Post_cFv */ +void daNpc_Post_c::setParam() { + selectAction(); + srchActors(); + + u32 flags = fopAc_AttnFlag_SPEAK_e | fopAc_AttnFlag_TALK_e; + s16 talk_distance = mHIO->m.common.talk_distance; + s16 talk_angle = mHIO->m.common.talk_angle; + s16 attention_distance = mHIO->m.common.attention_distance; + s16 attention_angle = mHIO->m.common.attention_angle; + + attention_info.distances[fopAc_attn_LOCK_e] = daNpcT_getDistTableIdx(attention_distance, attention_angle); + attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[fopAc_attn_LOCK_e]; + attention_info.distances[fopAc_attn_SPEAK_e] = daNpcT_getDistTableIdx(talk_distance, talk_angle); + attention_info.flags = flags; + + if (daPy_py_c::checkNowWolf()) { + attention_info.flags |= fopAc_AttnFlag_UNK_0x800000; + } + + scale.set(mHIO->m.common.scale, mHIO->m.common.scale, mHIO->m.common.scale); + mCcStts.SetWeight(mHIO->m.common.weight); + + mCylH = mHIO->m.common.height; + mWallR = mHIO->m.common.width; + mAttnFovY = mHIO->m.common.fov; + mAcchCir.SetWallR(mWallR); + mAcchCir.SetWallH(mHIO->m.common.knee_length); + mRealShadowSize = mHIO->m.common.real_shadow_size; + mExpressionMorfFrame = mHIO->m.common.expression_morf_frame; + mMorfFrames = mHIO->m.common.morf_frame; + gravity = mHIO->m.common.gravity; + + pullOutLetter(); +} + +/* 80AA9BA4-80AA9C58 001004 00B4+00 1/0 0/0 0/0 .text checkChangeEvt__12daNpc_Post_cFv */ +BOOL daNpc_Post_c::checkChangeEvt() { + if (!chkAction(&daNpc_Post_c::talk)) { + mPreItemNo = 0; + + if (dComIfGp_event_chkTalkXY()) { + if (dComIfGp_evmng_ChkPresentEnd()) { + mEvtNo = EVT_NO_RESPONSE; + evtChange(); + } + + return TRUE; + } + } + + return FALSE; +} + +/* 80AA9C58-80AA9D04 0010B8 00AC+00 1/0 0/0 0/0 .text setAfterTalkMotion__12daNpc_Post_cFv */ +void daNpc_Post_c::setAfterTalkMotion() { + int idx = FACE_MOT_NONE_2; + + switch (mFaceMotionSeqMngr.getNo()) { + case FACE_MOT_REGRET: + idx = FACE_MOT_H_REGRET; + break; + + case FACE_MOT_HAPPY: + idx = FACE_MOT_H_HAPPY; + break; + + case FACE_MOT_SAD: + idx = FACE_MOT_H_SAD; + break; + + case FACE_MOT_ANGRY: + idx = FACE_MOT_H_ANGRY; + break; + } + + mFaceMotionSeqMngr.setNo(idx, -1.0f, FALSE, 0); +} + +/* 80AA9D04-80AA9D98 001164 0094+00 1/1 0/0 0/0 .text srchActors__12daNpc_Post_cFv */ +void daNpc_Post_c::srchActors() { + switch (mType) { + case TYPE_0: + break; + + case TYPE_DELIVER: + for (int i = 0; i < 4; i++) { + if (mActorMngrs[i].getActorP() == NULL) { + mActorMngrs[i].entry(getEvtAreaTagP(21, i)); + } + } + break; + + case TYPE_BAR: + break; + } +} + +/* 80AA9D98-80AA9E98 0011F8 0100+00 1/0 0/0 0/0 .text evtTalk__12daNpc_Post_cFv */ +BOOL daNpc_Post_c::evtTalk() { + if (chkAction(&daNpc_Post_c::talk)) { + (this->*mAction)(NULL); + } else { + mPreItemNo = 0; + + if (dComIfGp_event_chkTalkXY()) { + if (!dComIfGp_evmng_ChkPresentEnd()) { + return TRUE; + } + + mEvtNo = EVT_NO_RESPONSE; + evtChange(); + + return TRUE; + } else { + setAction(&daNpc_Post_c::talk); + } + } + + return TRUE; +} + +/* 80AA9E98-80AA9F60 0012F8 00C8+00 1/0 0/0 0/0 .text evtCutProc__12daNpc_Post_cFv */ +BOOL daNpc_Post_c::evtCutProc() { + int staffId = dComIfGp_getEventManager().getMyStaffId("Post", this, -1); + if (staffId != -1) { + mStaffId = staffId; + int actIdx = dComIfGp_getEventManager().getMyActIdx(mStaffId, mCutNameList, 2, FALSE, FALSE); + + if ((this->*mCutList[actIdx])(mStaffId)) { + dComIfGp_getEventManager().cutEnd(mStaffId); + } + + return TRUE; + } + + return FALSE; +} + +/* 80AA9F60-80AAA058 0013C0 00F8+00 1/0 0/0 0/0 .text action__12daNpc_Post_cFv */ +void daNpc_Post_c::action() { + fopAc_ac_c* actor = NULL; + actor = hitChk(&mCyl, 0xFFFFFFFF); + #if DEBUG + if (actor != NULL) { + if (mCyl.GetTgHitObj()->ChkAtType(AT_TYPE_THROW_OBJ)) { + mStagger.setParam(this, actor, mCurAngle.y); + setDamage(0, 14, 0); + mDamageTimerStart = 0; + mJntAnm.lookNone(1); + } + } + #endif + + if (mStagger.checkRebirth()) { + mStagger.initialize(); + mMode = MODE_INIT; + } + + if (mNextAction) { + if (mAction == mNextAction) { + (this->*mAction)(NULL); + } else { + setAction(mNextAction); + } + } +} + +/* 80AAA058-80AAA124 0014B8 00CC+00 1/0 0/0 0/0 .text beforeMove__12daNpc_Post_cFv */ +void daNpc_Post_c::beforeMove() { + fopAcM_OffStatus(this, fopAcM_STATUS_UNK_0x8000000); + + if (checkHide()) { + fopAcM_OnStatus(this, fopAcM_STATUS_UNK_0x8000000); + } + + if (checkHide() || mNoDraw) { + attention_info.flags = 0; + } + + mPrevPosY = current.pos.y; +} + +/* 80AAA124-80AAA1E4 001584 00C0+00 1/0 0/0 0/0 .text afterMoved__12daNpc_Post_cFv */ +void daNpc_Post_c::afterMoved() { + if (mGroundH == -G_CM3D_F_INF) { + cXyz pos(current.pos); + pos.y += 300.0f; + mGndChk.SetPos(&pos); + + pos.y = dComIfG_Bgsp().GroundCross(&mGndChk); + if (pos.y != -G_CM3D_F_INF) { + current.pos.y = pos.y; + } else { + current.pos.y = mPrevPosY; + } + + speed.y = 0.0f; + old.pos.y = current.pos.y; + } +} + +/* 80AAA1E4-80AAA570 001644 038C+00 1/0 0/0 0/0 .text setAttnPos__12daNpc_Post_cFv */ +void daNpc_Post_c::setAttnPos() { + cXyz work(-30.0f, 10.0f, 0.0f); + cXyz sp7c(0.0f, 10.0f, 0.0f); + + mStagger.calc(FALSE); + f32 rad_val = cM_s2rad(mCurAngle.y - field_0xd7e.y); + mJntAnm.setParam(this, mpMorf[0]->getModel(), &work, getBackboneJointNo(), getNeckJointNo(), getHeadJointNo(), + mHIO->m.common.body_angleX_min, mHIO->m.common.body_angleX_max, + mHIO->m.common.body_angleY_min, mHIO->m.common.body_angleY_max, + mHIO->m.common.head_angleX_min, mHIO->m.common.head_angleX_max, + mHIO->m.common.head_angleY_min, mHIO->m.common.head_angleY_max, + mHIO->m.common.neck_rotation_ratio, rad_val, &sp7c); + mJntAnm.calcJntRad(0.2f, 1.0f, rad_val); + + setMtx(); + + if (mpFlagModelMorf != NULL) { + mpFlagModelMorf->play(0, 0); + mDoMtx_stack_c::copy(mpMorf[0]->getModel()->getAnmMtx(JNT_BACKBONE2)); + Mtx mtx; + MTXCopy(mDoMtx_stack_c::get(), mtx); + mpFlagModelMorf->getModel()->setBaseTRMtx(mtx); + mpFlagModelMorf->modelCalc(); + } + + mDoMtx_stack_c::copy(mpMorf[0]->getModel()->getAnmMtx(getHeadJointNo())); + mDoMtx_stack_c::multVec(&work, &eyePos); + mJntAnm.setEyeAngleX(eyePos, 1.0f, 0); + mJntAnm.setEyeAngleY(eyePos, mCurAngle.y, TRUE, 1.0f, 0); + field_0xde4 = 0.3f; + + work.set(0.0f, 0.0f, 16.0f); + work.y = mHIO->m.common.attention_offset; + if (mSitFlag != 0) { + work.set(0.0f, 110.0f, 40.0f); + } + + mDoMtx_stack_c::YrotS(mCurAngle.y); + mDoMtx_stack_c::multVec(&work, &work); + attention_info.position = work + current.pos; + + static cXyz prtclScl(1.0f, 1.0f, 1.0f); + setFootPos(); + if (3.0f < speedF) { + setFootPrtcl(&prtclScl, 11.0f, 0.0f); + } +} + +/* 80AAA570-80AAA714 0019D0 01A4+00 1/0 0/0 0/0 .text setCollision__12daNpc_Post_cFv */ +void daNpc_Post_c::setCollision() { + cXyz work; + + if (!mHide) { + u32 coSPrm = 0x79; + u32 tgType = 0xD8FBFDFF; + u32 tgSPrm = 0x1F; + + if (dComIfGp_event_runCheck()) { + tgType = 0; + tgSPrm = 0; + } else if (mTwilight) { + tgType = 0; + tgSPrm = 0; + } else if (mStagger.checkStagger()) { + tgType = 0; + tgSPrm = 0; + } + + mCyl.SetCoSPrm(coSPrm); + mCyl.SetTgType(tgType); + mCyl.SetTgSPrm(tgSPrm); + mCyl.OnTgNoHitMark(); + + work.set(0.0f, 0.0f, 10.0f); + f32 height = mCylH; + f32 width = mWallR; + + if (mType == TYPE_BAR) { + work.set(0.0f, 0.0f, 20.0f); + height = 80.0f; + width = 50.0f; + } + + mDoMtx_stack_c::YrotS(mCurAngle.y); + mDoMtx_stack_c::multVec(&work, &work); + work += current.pos; + mCyl.SetH(height); + mCyl.SetR(width); + mCyl.SetC(work); + dComIfG_Ccsp()->Set(&mCyl); + } + + mCyl.ClrCoHit(); + mCyl.ClrTgHit(); +} + +/* 80AAA714-80AAA71C 001B74 0008+00 1/0 0/0 0/0 .text drawDbgInfo__12daNpc_Post_cFv */ +int daNpc_Post_c::drawDbgInfo() { + #if DEBUG + if (mHIO->m.common.debug_info_ON) { + f32 radius = dComIfGp_getAttention()->getDistTable(attention_info.distances[fopAc_attn_SPEAK_e]).mDistMax; + f32 radius2 = dComIfGp_getAttention()->getDistTable(attention_info.distances[fopAc_attn_TALK_e]).mDistMax; + dDbVw_drawCircleOpa(attention_info.position, radius, (GXColor){0x00, 0xC8, 0x00, 0xFF}, 1, 12); + dDbVw_drawCircleOpa(attention_info.position, radius2, (GXColor){0xC8, 0x00, 0x00, 0xFF}, 1, 12); + dDbVw_drawSphereXlu(eyePos, 18.0f, (GXColor){0x80, 0x80, 0x80, 0xA0}, 1); + dDbVw_drawSphereXlu(attention_info.position, 9.0f, (GXColor){0x80, 0x80, 0x80, 0xA0}, 1); + } + #endif + + return 0; +} + +/* 80AAA71C-80AAA8A4 001B7C 0188+00 1/0 0/0 0/0 .text drawOtherMdl__12daNpc_Post_cFv */ +void daNpc_Post_c::drawOtherMdl() { + static int const jointNo[2] = { + JNT_FINGERR, JNT_HANDR, + }; + + J3DModel* model = mpMorf[0]->getModel(); + + if (mpFlagModelMorf != NULL) { + g_env_light.setLightTevColorType_MAJI(mpFlagModelMorf->getModel(), &tevStr); + + if (!mFlagModelDispFlag) { + mpFlagModelMorf->getModel()->getModelData()->hide(); + } else { + mpFlagModelMorf->getModel()->getModelData()->show(); + } + + mpFlagModelMorf->entryDL(); + dComIfGd_addRealShadow(mShadowKey, mpFlagModelMorf->getModel()); + } + + for (int i = 0; i < 2; i++) { + if (mpLetterModels[i] != NULL && ((i == 0 && mLetterADispFlag) || (i == 1 && mLetterBDispFlag))) { + g_env_light.setLightTevColorType_MAJI(mpLetterModels[i], &tevStr); + mDoMtx_stack_c::copy(model->getAnmMtx(jointNo[i])); + + Mtx mtx; + MTXCopy(mDoMtx_stack_c::get(), mtx); + mpLetterModels[i]->setBaseTRMtx(mtx); + mDoExt_modelUpdateDL(mpLetterModels[i]); + dComIfGd_addRealShadow(mShadowKey, mpLetterModels[i]); + } + } +} + +/* 80AAA8A4-80AAA968 001D04 00C4+00 1/1 0/0 0/0 .text setFlagAnm__12daNpc_Post_cFiif */ +BOOL daNpc_Post_c::setFlagAnm(int i_idx, int i_attr, f32 i_morf) { + static daNpc_GetParam1 flagAnmData[13] = { + {BCK_POST_FLAG_WAIT_A, POST}, + {BCK_POST_FLAG_RUN, POST1}, + {BCK_POST_FLAG_STEP, POST}, + {BCK_POST_FLAG_HAND, POST1}, + {BCK_POST_FLAG_HAND_WAIT, POST1}, + {BCK_POST_FLAG_EXPLAIN, POST1}, + {BCK_POST_FLAG_HELLO, POST1}, + {BCK_POST_FLAG_REGRET, POST1}, + {NONE, NONE}, + {NONE, NONE}, + {NONE, NONE}, + {NONE, NONE}, + {NONE, NONE}, + }; + + J3DAnmTransform* anm = NULL; + if (mpFlagModelMorf != NULL) { + if (flagAnmData[i_idx].fileIdx > 0) { + anm = getTrnsfrmKeyAnmP(l_resNameList[flagAnmData[i_idx].arcIdx], flagAnmData[i_idx].fileIdx); + } + + if (anm != NULL) { + mpFlagModelMorf->setAnm(anm, i_attr, i_morf, 1.0f, 0.0f, -1.0f); + } + } + + return TRUE; +} + +/* 80AAA968-80AAA99C 001DC8 0034+00 1/0 0/0 0/0 .text afterSetMotionAnm__12daNpc_Post_cFiifi */ +bool daNpc_Post_c::afterSetMotionAnm(int i_idx, int i_attr, f32 i_morf, int param_4) { + f32 morf = mCreating == true ? 0.0f : i_morf; + setFlagAnm(i_idx, i_attr, morf); +} + +/* 80AAA99C-80AAA9E4 001DFC 0048+00 1/1 0/0 0/0 .text selectAction__12daNpc_Post_cFv */ +BOOL daNpc_Post_c::selectAction() { + mNextAction = NULL; + + #if DEBUG + if (mHIO->m.common.debug_mode_ON) { + mNextAction = &daNpc_Post_c::test; + return TRUE; + } + #endif + + switch (mType) { + default: + break; + } + + mNextAction = &daNpc_Post_c::wait; + return TRUE; +} + +/* 80AAA9E4-80AAAA10 001E44 002C+00 2/2 0/0 0/0 .text chkAction__12daNpc_Post_cFM12daNpc_Post_cFPCvPvPv_i */ +BOOL daNpc_Post_c::chkAction(actionFunc action) { + return mAction == action; +} + +/* 80AAAA10-80AAAAB8 001E70 00A8+00 2/2 0/0 0/0 .text setAction__12daNpc_Post_cFM12daNpc_Post_cFPCvPvPv_i */ +BOOL daNpc_Post_c::setAction(actionFunc action) { + mMode = MODE_EXIT; + + if (mAction) { + (this->*mAction)(NULL); + } + + mMode = MODE_ENTER; + mAction = action; + + if (mAction) { + (this->*mAction)(NULL); + } + + return TRUE; +} + +/* 80AAAAB8-80AAAB2C 001F18 0074+00 1/1 0/0 0/0 .text chkPullOutLetter1__12daNpc_Post_cFv */ +BOOL daNpc_Post_c::chkPullOutLetter1() { + if (mType == TYPE_DELIVER) { + J3DAnmTransform* anm = NULL; + anm = getTrnsfrmAnmP(l_resNameList[l_motionAnmData[3].mBckArcIdx], l_motionAnmData[3].mBckFileIdx); + return anm == mpMorf[0]->getAnm(); + } + + return false; +} + +/* 80AAAB2C-80AAABA0 001F8C 0074+00 1/1 0/0 0/0 .text chkPullOutLetter2__12daNpc_Post_cFv */ +BOOL daNpc_Post_c::chkPullOutLetter2() { + if (mType == TYPE_DELIVER) { + J3DAnmTransform* anm = NULL; + anm = getTrnsfrmAnmP(l_resNameList[l_motionAnmData[4].mBckArcIdx], l_motionAnmData[4].mBckFileIdx); + return anm == mpMorf[0]->getAnm(); + } + + return false; +} + +/* 80AAABA0-80AAAC64 002000 00C4+00 1/1 0/0 0/0 .text pullOutLetter__12daNpc_Post_cFv */ +void daNpc_Post_c::pullOutLetter() { + u8 uVar1 = mLetterADispFlag; + + if (!mStagger.checkStagger()) { + mLetterADispFlag = 0; + + if (chkPullOutLetter1()) { + if (37.0f < mpMorf[0]->getFrame()) { + mLetterADispFlag = 1; + if (uVar1 != mLetterADispFlag) { + mSound.startCreatureVoice(Z2SE_POST_V_FANFARE, -1); + } + } + } else if (chkPullOutLetter2()) { + mLetterADispFlag = 1; + } + } +} + +/* 80AAD324-80AAD32C 000138 0008+00 0/0 0/0 0/0 .rodata @5155 */ +static int const dummy[2] = { + -1, -1, }; -/* 80AAD934-80AAD940 -00001 000C+00 1/1 0/0 0/0 .data @4663 */ -SECTION_DATA static void* lit_4663[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)talk__12daNpc_Post_cFPv, -}; +/* 80AAAC64-80AAB61C 0020C4 09B8+00 3/0 0/0 0/0 .text cutDeliver__12daNpc_Post_cFi */ +int daNpc_Post_c::cutDeliver(int i_staffId) { + cXyz work; + csXyz angle; + int rv = 0; + int* piVar1 = NULL; + int prm = -1; + int timer = 0; + + piVar1 = dComIfGp_evmng_getMyIntegerP(i_staffId, "prm"); + if (piVar1 != NULL) { + prm = *piVar1; + } -/* 80AAD940-80AAD9A8 000594 0068+00 1/1 0/0 0/0 .data flagAnmData$5038 */ -SECTION_DATA static u8 flagAnmData[104] = { - 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, - 0x00, 0x02, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0F, 0x00, - 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; + piVar1 = dComIfGp_evmng_getMyIntegerP(i_staffId, "timer"); + if (piVar1 != NULL) { + timer = *piVar1; + } -/* 80AAD9A8-80AAD9B4 -00001 000C+00 1/1 0/0 0/0 .data @5060 */ -SECTION_DATA static void* lit_5060[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)wait__12daNpc_Post_cFPv, -}; + if (dComIfGp_getEventManager().getIsAddvance(i_staffId)) { + switch (prm) { + case 0: + work = mActorPos; + work.y += 300.0f; + mGndChk.SetPos(&work); + current.pos.x = work.x; + current.pos.z = work.z; + work.y = dComIfG_Bgsp().GroundCross(&mGndChk); + + if (work.y != -1e9f) { + current.pos.y = work.y; + } -/* 80AAD9B4-80AAD9E8 -00001 0034+00 1/1 0/0 0/0 .data @5418 */ -SECTION_DATA static void* lit_5418[13] = { - (void*)(((char*)cutDeliver__12daNpc_Post_cFi) + 0x6D0), - (void*)(((char*)cutDeliver__12daNpc_Post_cFi) + 0x720), - (void*)(((char*)cutDeliver__12daNpc_Post_cFi) + 0x720), - (void*)(((char*)cutDeliver__12daNpc_Post_cFi) + 0x758), - (void*)(((char*)cutDeliver__12daNpc_Post_cFi) + 0x7A4), - (void*)(((char*)cutDeliver__12daNpc_Post_cFi) + 0x828), - (void*)(((char*)cutDeliver__12daNpc_Post_cFi) + 0x85C), - (void*)(((char*)cutDeliver__12daNpc_Post_cFi) + 0x864), - (void*)(((char*)cutDeliver__12daNpc_Post_cFi) + 0x878), - (void*)(((char*)cutDeliver__12daNpc_Post_cFi) + 0x8A4), - (void*)(((char*)cutDeliver__12daNpc_Post_cFi) + 0x930), - (void*)(((char*)cutDeliver__12daNpc_Post_cFi) + 0x948), - (void*)(((char*)cutDeliver__12daNpc_Post_cFi) + 0x998), -}; + old.pos = current.pos; + setAngle(fopAcM_searchPlayerAngleY(this)); + mAcch.SetWallNone(); + mEventTimer = timer; + break; -/* 80AAD9E8-80AADA1C -00001 0034+00 1/1 0/0 0/0 .data @5415 */ -SECTION_DATA static void* lit_5415[13] = { - (void*)(((char*)cutDeliver__12daNpc_Post_cFi) + 0xC0), - (void*)(((char*)cutDeliver__12daNpc_Post_cFi) + 0x170), - (void*)(((char*)cutDeliver__12daNpc_Post_cFi) + 0x170), - (void*)(((char*)cutDeliver__12daNpc_Post_cFi) + 0x188), - (void*)(((char*)cutDeliver__12daNpc_Post_cFi) + 0x228), - (void*)(((char*)cutDeliver__12daNpc_Post_cFi) + 0x384), - (void*)(((char*)cutDeliver__12daNpc_Post_cFi) + 0x404), - (void*)(((char*)cutDeliver__12daNpc_Post_cFi) + 0x44C), - (void*)(((char*)cutDeliver__12daNpc_Post_cFi) + 0x4CC), - (void*)(((char*)cutDeliver__12daNpc_Post_cFi) + 0x530), - (void*)(((char*)cutDeliver__12daNpc_Post_cFi) + 0x590), - (void*)(((char*)cutDeliver__12daNpc_Post_cFi) + 0x6B0), - (void*)(((char*)cutDeliver__12daNpc_Post_cFi) + 0x6B0), -}; + case 1: + case 2: + if (prm == 2) { + mHide = false; + } + + mEventTimer = timer; + break; + + case 3: + mFaceMotionSeqMngr.setNo(FACE_MOT_NONE, 0.0f, TRUE, 0); + mMotionSeqMngr.setNo(MOT_RUN, 0.0f, TRUE, 0); + mHide = false; + mEventTimer = timer; + mAcch.ClrGrndNone(); + mDoAud_subBgmStart(Z2BGM_POSTMAN); + Z2GetAudioMgr()->bgmAllUnMute(0); + break; + + case 4: + mFaceMotionSeqMngr.setNo(FACE_MOT_NONE, 0.0f, TRUE, 0); + mMotionSeqMngr.setNo(MOT_RUN, 0.0f, TRUE, 0); + work.set(0.0f, 0.0f, 1000.0f); + mDoMtx_stack_c::YrotS(fopAcM_searchActorAngleY(daPy_getPlayerActorClass(), this)); + mDoMtx_stack_c::multVec(&work, &work); + work += daPy_getPlayerActorClass()->current.pos; + work.y += 300.0f; + mGndChk.SetPos(&work); + current.pos.x = work.x; + current.pos.z = work.z; + work.y = dComIfG_Bgsp().GroundCross(&mGndChk); + + if (work.y != -1e9f) { + current.pos.y = work.y; + } else { + current.pos.y = daPy_getPlayerActorClass()->current.pos.y; + if (daPy_getPlayerActorClass()->checkHorseRide()) { + current.pos.y = dComIfGp_getHorseActor()->current.pos.y; + } + } + + old.pos = current.pos; + speedF = 0.0f; + speed.setall(0.0f); + break; + + case 5: + mFaceMotionSeqMngr.setNo(FACE_MOT_NONE_2, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOT_WAIT_A, 5.0f, FALSE, 0); + speedF = 0.0f; + speed.setall(0.0f); + initTalk(0x14, NULL); + break; + + case 6: + if (getBitSW() != 0xFF) { + dComIfGs_onSwitch(getBitSW(), fopAcM_GetRoomNo(this)); + } + + home.pos = current.pos; + home.angle.y = current.angle.y; + break; + + case 7: + angle.y = fopAcM_searchActorAngleY(daPy_getPlayerActorClass(), this); + work = daPy_getPlayerActorClass()->current.pos; + work.y += 100.0f; + mGndChk.SetPos(&work); + work.y = dComIfG_Bgsp().GroundCross(&mGndChk); + + JUT_ASSERT(2046, -(1000000000.0f) != work.y); + + daPy_getPlayerActorClass()->setPlayerPosAndAngle(&work, angle.y, 0); + break; + + case 8: + mFlow.init(NULL, 0x13, 0, NULL); + mDoAud_bgmAllMute(0x5A); + break; + + case 9: + mFaceMotionSeqMngr.setNo(FACE_MOT_NONE, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOT_RUN, -1.0f, FALSE, 0); + mEventTimer = timer; + break; + + case 10: + mFaceMotionSeqMngr.setNo(FACE_MOT_NONE_2, 0.0f, TRUE, 0); + mMotionSeqMngr.setNo(MOT_WAIT_A, 0.0f, TRUE, 0); + + if (getBitSW() != 0xFF) { + dComIfGs_onSwitch(getBitSW(), fopAcM_GetRoomNo(this)); + } + + speedF = 0.0f; + speed.setall(0.0f); + work = home.pos; + work.y += 300.0f; + mGndChk.SetPos(&work); + current.pos.x = work.x; + current.pos.z = work.z; + work.y = dComIfG_Bgsp().GroundCross(&mGndChk); + + if (work.y != -1e9f) { + current.pos.y = work.y; + } + + old.pos = current.pos; + setAngle(home.angle.y); + mHide = true; + mEventTimer = timer; + mDoAud_subBgmStop(); + break; + + case 11: + case 12: + break; + } + } + + switch (prm) { + case 0: + mJntAnm.lookPlayer(0); + if (cLib_calcTimer(&mEventTimer) == 0) { + rv = 1; + } + break; + + case 1: + case 2: + if (cLib_calcTimer(&mEventTimer) == 0) { + rv = 1; + } + + mAcch.SetGrndNone(); + mAcch.SetWallNone(); + gravity = 0.0f; + break; + + case 3: + if (cLib_calcTimer(&mEventTimer) != 0) { + speedF = mHIO->m.run_spd; + + if (fopAcM_searchPlayerDistanceXZ(this) < 200.0f) { + rv = 1; + } + } else { + rv = 1; + } + break; + + case 4: + if (!dComIfGp_getEventManager().getIsAddvance(i_staffId)) { + speedF = mHIO->m.run_spd; + + if (daPy_getPlayerActorClass()->checkHorseRide()) { + if (fopAcM_searchPlayerDistanceXZ(this) < 400.0f) { + rv = 1; + } + } else if (fopAcM_searchPlayerDistanceXZ(this) < 200.0f) { + rv = 1; + } + } + break; + + case 5: + if (talkProc(NULL, FALSE, NULL, FALSE) && mFlow.checkEndFlow()) { + rv = 1; + } + break; + + case 6: + rv = 1; + break; + + case 7: + speedF = mHIO->m.run_spd; + rv = 1; + break; + + case 8: + field_0xe26 = 0; + if (mFlow.doFlow(NULL, NULL, 0)) { + rv = 1; + } + break; + + case 9: + mJntAnm.lookNone(0); + current.angle.y = cLib_targetAngleY(¤t.pos, &mActorPos); + cLib_addCalcAngleS2(&shape_angle.y, current.angle.y, 4, 0x800); + mCurAngle.y = shape_angle.y; + cLib_chaseF(&speedF, mHIO->m.run_spd, 1.5f); + + if (cLib_calcTimer(&mEventTimer) == 0) { + rv = 1; + } + break; + + case 10: + if (cLib_calcTimer(&mEventTimer) == 0) { + rv = 1; + } + break; + + case 11: + angle.y = cLib_targetAngleY(¤t.pos, &mActorPos); + if (angle.y != mCurAngle.y) { + if (step(angle.y, 14, 10, 15, 0)) { + rv = 1; + } + } else { + rv = 1; + } + break; + + case 12: + rv = 1; + break; + } + + return rv; +} + +/* 80AAB61C-80AABC24 002A7C 0608+00 1/0 0/0 0/0 .text wait__12daNpc_Post_cFPv */ +int daNpc_Post_c::wait(void* param_1) { + daPy_py_c* player = daPy_getPlayerActorClass(); + f32 fVar1 = mHIO->m.nod_interval; + + switch (mMode) { + case MODE_ENTER: + case MODE_INIT: + if (!mStagger.checkStagger()) { + if (mSitFlag) { + mFaceMotionSeqMngr.setNo(FACE_MOT_NONE_2, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOT_SIT_A, -1.0f, FALSE, 0); + mNodTimer = cLib_getRndValue(fVar1 * 0.5f, fVar1 * 1.5f); + } else { + mFaceMotionSeqMngr.setNo(FACE_MOT_NONE_2, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(MOT_WAIT_A, -1.0f, FALSE, 0); + } + + mMode = MODE_RUN; + } + // fallthrough + case MODE_RUN: + if ( + mType == TYPE_DELIVER && + ( + !daPy_py_c::checkNowWolf() || + daNpcT_chkEvtBit(110) // dSv_event_flag_c::M_077 - Main Event - Get shadow crystal (can now transform) + ) + ) { + for (int i = 0; i < 4; i++) { + daTag_EvtArea_c* actor_p = (daTag_EvtArea_c*)mActorMngrs[i].getActorP(); + if (actor_p != NULL) { + if (actor_p->chkPointInArea(player->current.pos)) { + if (daPy_getPlayerActorClass()->checkBoarRide()) { + actor_p->noEffect(); + } else if (daPy_getPlayerActorClass()->eventInfo.chkCondition(1) != FALSE && dMeter2Info_getNewLetterNum()) { + mActorPos = actor_p->current.pos; + + f32 fVar2 = player->current.pos.absXZ(actor_p->current.pos); + if (actor_p->scale.x - 700.0f <= fVar2) { + if (daPy_getPlayerActorClass()->checkHorseRide()) { + mEvtNo = EVT_DELIVERTO_PLAYER_ON_HORSE; + } else if (daPy_py_c::checkNowWolf()) { + mEvtNo = EVT_DELIVERTO_WOLF; + } else { + mEvtNo = EVT_DELIVER; + } + break; + } + } + } + } + } + } + + if (!mStagger.checkStagger()) { + if (mSitFlag != 0) { + mPlayerActorMngr.remove(); + } + + if (mPlayerActorMngr.getActorP() != NULL && !mTwilight) { + mJntAnm.lookPlayer(0); + + if (!chkActorInSight(mPlayerActorMngr.getActorP(), mAttnFovY, mCurAngle.y)) { + mJntAnm.lookNone(0); + } + + if (!srchPlayerActor() && home.angle.y == mCurAngle.y) { + mMode = MODE_INIT; + } + } else { + mJntAnm.lookNone(0); + + if (home.angle.y != mCurAngle.y) { + if (field_0xe34 == 0) { + setAngle(home.angle.y); + mMode = MODE_INIT; + } else if (step(home.angle.y, 14, 10, 15, 0)) { + mMode = MODE_INIT; + } + + attention_info.flags = 0; + } else if (mSitFlag) { + if (mNodTimer != 0) { + if (cLib_calcTimer(&mNodTimer) == 0) { + mMotionSeqMngr.setNo(MOT_SIT_NOD, -1.0f, FALSE, 0); + } + } else if (mMotionSeqMngr.checkEndSequence()) { + mMode = MODE_INIT; + } + } else { + srchPlayerActor(); + } + } + + switch (mJntAnm.getMode()) { + case 0: + break; + } + } + break; + + case MODE_EXIT: + break; + } + + return 1; +} + +/* 80AABC24-80AABE04 003084 01E0+00 3/0 0/0 0/0 .text talk__12daNpc_Post_cFPv */ +int daNpc_Post_c::talk(void* param_1) { + switch (mMode) { + case MODE_ENTER: + case MODE_INIT: + if (!mStagger.checkStagger()) { + initTalk(mFlowNodeNo, NULL); + mMode = MODE_RUN; + } + // fallthrough + case MODE_RUN: + if (!mStagger.checkStagger()) { + if (mTwilight || mPlayerAngle == mCurAngle.y || mSitFlag) { + if (talkProc(NULL, FALSE, NULL, FALSE) && mFlow.checkEndFlow()) { + mPlayerActorMngr.entry(daPy_getPlayerActorClass()); + dComIfGp_event_reset(); + mMode = MODE_EXIT; + } + + mJntAnm.lookPlayer(0); + + if (mTwilight || mSitFlag) { + mJntAnm.lookNone(0); + } + } else { + mJntAnm.lookPlayer(0); + step(mPlayerAngle, 14, 10, 15, 0); + } + } + break; + + case MODE_EXIT: + break; + } + + return 0; +} + +int daNpc_Post_c::test(void* param_1) { + switch (mMode) { + case MODE_ENTER: + case MODE_INIT: + speedF = 0.0f; + speed.setall(0.0f); + mMode = MODE_RUN; + // fallthrough + case MODE_RUN: + mFaceMotionSeqMngr.setNo(mHIO->m.common.face_expression, -1.0f, FALSE, 0); + mMotionSeqMngr.setNo(mHIO->m.common.motion, -1.0f, FALSE, 0); + mJntAnm.lookNone(0); + attention_info.flags = 0; + break; + + case MODE_EXIT: + break; + } + + return 1; +} + +/* 80AABE04-80AABE24 003264 0020+00 1/0 0/0 0/0 .text daNpc_Post_Create__FPv */ +static int daNpc_Post_Create(void* i_this) { + return static_cast(i_this)->create(); +} + +/* 80AABE24-80AABE44 003284 0020+00 1/0 0/0 0/0 .text daNpc_Post_Delete__FPv */ +static int daNpc_Post_Delete(void* i_this) { + return static_cast(i_this)->Delete(); +} + +/* 80AABE44-80AABE64 0032A4 0020+00 1/0 0/0 0/0 .text daNpc_Post_Execute__FPv */ +static int daNpc_Post_Execute(void* i_this) { + return static_cast(i_this)->Execute(); +} + +/* 80AABE64-80AABE84 0032C4 0020+00 1/0 0/0 0/0 .text daNpc_Post_Draw__FPv */ +static int daNpc_Post_Draw(void* i_this) { + return static_cast(i_this)->Draw(); +} + +/* 80AABE84-80AABE8C 0032E4 0008+00 1/0 0/0 0/0 .text daNpc_Post_IsDelete__FPv */ +static int daNpc_Post_IsDelete(void* i_this) { + return 1; +} + +AUDIO_INSTANCES; /* 80AADA1C-80AADA3C -00001 0020+00 1/0 0/0 0/0 .data daNpc_Post_MethodTable */ static actor_method_class daNpc_Post_MethodTable = { - (process_method_func)daNpc_Post_Create__FPv, - (process_method_func)daNpc_Post_Delete__FPv, - (process_method_func)daNpc_Post_Execute__FPv, - (process_method_func)daNpc_Post_IsDelete__FPv, - (process_method_func)daNpc_Post_Draw__FPv, + (process_method_func)daNpc_Post_Create, + (process_method_func)daNpc_Post_Delete, + (process_method_func)daNpc_Post_Execute, + (process_method_func)daNpc_Post_IsDelete, + (process_method_func)daNpc_Post_Draw, }; /* 80AADA3C-80AADA6C -00001 0030+00 0/0 0/0 1/0 .data g_profile_NPC_POST */ @@ -576,1081 +1636,3 @@ extern actor_process_profile_definition g_profile_NPC_POST = { fopAc_NPC_e, // mActorType fopAc_CULLBOX_CUSTOM_e, // cullType }; - -/* 80AADA6C-80AADA78 0006C0 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, -}; - -/* 80AADA78-80AADA84 0006CC 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, -}; - -/* 80AADA84-80AADAA8 0006D8 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_80AAD170, - (void*)NULL, - (void*)NULL, - (void*)func_80AAD168, -}; - -/* 80AADAA8-80AADAB4 0006FC 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, -}; - -/* 80AADAB4-80AADAC0 000708 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, -}; - -/* 80AADAC0-80AADACC 000714 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, -}; - -/* 80AADACC-80AADAD8 000720 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, -}; - -/* 80AADAD8-80AADAE4 00072C 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, -}; - -/* 80AADAE4-80AADAF0 000738 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, -}; - -/* 80AADAF0-80AADAFC 000744 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGAab */ -SECTION_DATA extern void* __vt__8cM3dGAab[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGAabFv, -}; - -/* 80AADAFC-80AADB08 000750 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, -}; - -/* 80AADB08-80AADB14 00075C 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, -}; - -/* 80AADB14-80AADBD8 000768 00C4+00 2/2 0/0 0/0 .data __vt__12daNpc_Post_c */ -SECTION_DATA extern void* __vt__12daNpc_Post_c[49] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12daNpc_Post_cFv, - (void*)ctrlBtk__8daNpcT_cFv, - (void*)ctrlSubFaceMotion__8daNpcT_cFi, - (void*)checkChangeJoint__12daNpc_Post_cFi, - (void*)checkRemoveJoint__12daNpc_Post_cFi, - (void*)getBackboneJointNo__12daNpc_Post_cFv, - (void*)getNeckJointNo__12daNpc_Post_cFv, - (void*)getHeadJointNo__12daNpc_Post_cFv, - (void*)getFootLJointNo__12daNpc_Post_cFv, - (void*)getFootRJointNo__12daNpc_Post_cFv, - (void*)getEyeballLMaterialNo__8daNpcT_cFv, - (void*)getEyeballRMaterialNo__8daNpcT_cFv, - (void*)getEyeballMaterialNo__12daNpc_Post_cFv, - (void*)ctrlJoint__8daNpcT_cFP8J3DJointP8J3DModel, - (void*)afterJntAnm__12daNpc_Post_cFi, - (void*)setParam__12daNpc_Post_cFv, - (void*)checkChangeEvt__12daNpc_Post_cFv, - (void*)evtTalk__12daNpc_Post_cFv, - (void*)evtEndProc__8daNpcT_cFv, - (void*)evtCutProc__12daNpc_Post_cFv, - (void*)setAfterTalkMotion__12daNpc_Post_cFv, - (void*)evtProc__8daNpcT_cFv, - (void*)action__12daNpc_Post_cFv, - (void*)beforeMove__12daNpc_Post_cFv, - (void*)afterMoved__12daNpc_Post_cFv, - (void*)setAttnPos__12daNpc_Post_cFv, - (void*)setFootPos__8daNpcT_cFv, - (void*)setCollision__12daNpc_Post_cFv, - (void*)setFootPrtcl__8daNpcT_cFP4cXyzff, - (void*)checkCullDraw__8daNpcT_cFv, - (void*)twilight__8daNpcT_cFv, - (void*)chkXYItems__8daNpcT_cFv, - (void*)evtOrder__8daNpcT_cFv, - (void*)decTmr__8daNpcT_cFv, - (void*)clrParam__8daNpcT_cFv, - (void*)drawDbgInfo__12daNpc_Post_cFv, - (void*)drawOtherMdl__12daNpc_Post_cFv, - (void*)drawGhost__8daNpcT_cFv, - (void*)afterSetFaceMotionAnm__8daNpcT_cFiifi, - (void*)afterSetMotionAnm__12daNpc_Post_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, -}; - -/* 80AA8C8C-80AA8DE8 0000EC 015C+00 1/0 0/0 0/0 .text __dt__12daNpc_Post_cFv */ -daNpc_Post_c::~daNpc_Post_c() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80AAD1EC-80AAD280 000000 0094+00 12/12 0/0 0/0 .rodata m__18daNpc_Post_Param_c */ -SECTION_RODATA u8 const daNpc_Post_Param_c::m[148] = { - 0x43, 0x3E, 0x00, 0x00, 0xC0, 0x40, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x44, 0x2F, 0x00, - 0x00, 0x43, 0x7F, 0x00, 0x00, 0x43, 0x34, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, 0x41, 0xF0, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00, 0xC1, - 0x20, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00, 0xC1, 0x20, 0x00, 0x00, 0x42, 0x34, 0x00, 0x00, - 0xC2, 0x34, 0x00, 0x00, 0x3F, 0x19, 0x99, 0x9A, 0x41, 0x40, 0x00, 0x00, 0x00, 0x03, 0x00, - 0x06, 0x00, 0x05, 0x00, 0x06, 0x42, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x80, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AAD1EC, &daNpc_Post_Param_c::m); - -/* 80AAD280-80AAD290 000094 0010+00 0/1 0/0 0/0 .rodata heapSize$4000 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const heapSize[16] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x60, 0x00, 0x00, 0x4E, 0xC0, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AAD280, &heapSize); -#pragma pop - -/* 80AAD290-80AAD294 0000A4 0004+00 0/1 0/0 0/0 .rodata @4066 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4066 = -200.0f; -COMPILER_STRIP_GATE(0x80AAD290, &lit_4066); -#pragma pop - -/* 80AAD294-80AAD298 0000A8 0004+00 0/1 0/0 0/0 .rodata @4067 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4067 = -100.0f; -COMPILER_STRIP_GATE(0x80AAD294, &lit_4067); -#pragma pop - -/* 80AAD298-80AAD29C 0000AC 0004+00 0/1 0/0 0/0 .rodata @4068 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4068 = 200.0f; -COMPILER_STRIP_GATE(0x80AAD298, &lit_4068); -#pragma pop - -/* 80AAD29C-80AAD2A0 0000B0 0004+00 0/3 0/0 0/0 .rodata @4069 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4069 = 300.0f; -COMPILER_STRIP_GATE(0x80AAD29C, &lit_4069); -#pragma pop - -/* 80AAD2A0-80AAD2A4 0000B4 0004+00 4/14 0/0 0/0 .rodata @4070 */ -SECTION_RODATA static u8 const lit_4070[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80AAD2A0, &lit_4070); - -/* 80AAD2A4-80AAD2A8 0000B8 0004+00 0/3 0/0 0/0 .rodata @4071 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4071 = -G_CM3D_F_INF; -COMPILER_STRIP_GATE(0x80AAD2A4, &lit_4071); -#pragma pop - -/* 80AA8DE8-80AA90B0 000248 02C8+00 1/1 0/0 0/0 .text create__12daNpc_Post_cFv */ -void daNpc_Post_c::create() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80AAD2A8-80AAD2AC 0000BC 0004+00 0/2 0/0 0/0 .rodata @4235 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4235 = 65536.0f; -COMPILER_STRIP_GATE(0x80AAD2A8, &lit_4235); -#pragma pop - -/* 80AAD2AC-80AAD2B0 0000C0 0004+00 0/3 0/0 0/0 .rodata @4236 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4236 = 1.0f / 5.0f; -COMPILER_STRIP_GATE(0x80AAD2AC, &lit_4236); -#pragma pop - -/* 80AAD2B0-80AAD2B8 0000C4 0008+00 0/1 0/0 0/0 .rodata bmdTypeList$4354 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const bmdTypeList[8] = { - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, -}; -COMPILER_STRIP_GATE(0x80AAD2B0, &bmdTypeList); -#pragma pop - -/* 80AAD2B8-80AAD2BC 0000CC 0004+00 1/5 0/0 0/0 .rodata @4418 */ -SECTION_RODATA static f32 const lit_4418 = 1.0f; -COMPILER_STRIP_GATE(0x80AAD2B8, &lit_4418); - -/* 80AA90B0-80AA9478 000510 03C8+00 1/1 0/0 0/0 .text CreateHeap__12daNpc_Post_cFv */ -void daNpc_Post_c::CreateHeap() { - // NONMATCHING -} - -/* 80AA9478-80AA94B4 0008D8 003C+00 1/1 0/0 0/0 .text __dt__15J3DTevKColorAnmFv */ -// J3DTevKColorAnm::~J3DTevKColorAnm() { -extern "C" void __dt__15J3DTevKColorAnmFv() { - // NONMATCHING -} - -/* 80AA94B4-80AA94CC 000914 0018+00 1/1 0/0 0/0 .text __ct__15J3DTevKColorAnmFv */ -// J3DTevKColorAnm::J3DTevKColorAnm() { -extern "C" void __ct__15J3DTevKColorAnmFv() { - // NONMATCHING -} - -/* 80AA94CC-80AA9508 00092C 003C+00 1/1 0/0 0/0 .text __dt__14J3DTevColorAnmFv */ -// J3DTevColorAnm::~J3DTevColorAnm() { -extern "C" void __dt__14J3DTevColorAnmFv() { - // NONMATCHING -} - -/* 80AA9508-80AA9520 000968 0018+00 1/1 0/0 0/0 .text __ct__14J3DTevColorAnmFv */ -// J3DTevColorAnm::J3DTevColorAnm() { -extern "C" void __ct__14J3DTevColorAnmFv() { - // NONMATCHING -} - -/* 80AA9520-80AA9568 000980 0048+00 1/1 0/0 0/0 .text __dt__11J3DTexNoAnmFv */ -// J3DTexNoAnm::~J3DTexNoAnm() { -extern "C" void __dt__11J3DTexNoAnmFv() { - // NONMATCHING -} - -/* 80AA9568-80AA958C 0009C8 0024+00 1/1 0/0 0/0 .text __ct__11J3DTexNoAnmFv */ -// J3DTexNoAnm::J3DTexNoAnm() { -extern "C" void __ct__11J3DTexNoAnmFv() { - // NONMATCHING -} - -/* 80AA958C-80AA95C8 0009EC 003C+00 1/1 0/0 0/0 .text __dt__12J3DTexMtxAnmFv */ -// J3DTexMtxAnm::~J3DTexMtxAnm() { -extern "C" void __dt__12J3DTexMtxAnmFv() { - // NONMATCHING -} - -/* 80AA95C8-80AA95E0 000A28 0018+00 1/1 0/0 0/0 .text __ct__12J3DTexMtxAnmFv */ -// J3DTexMtxAnm::J3DTexMtxAnm() { -extern "C" void __ct__12J3DTexMtxAnmFv() { - // NONMATCHING -} - -/* 80AA95E0-80AA961C 000A40 003C+00 1/1 0/0 0/0 .text __dt__14J3DMatColorAnmFv */ -// J3DMatColorAnm::~J3DMatColorAnm() { -extern "C" void __dt__14J3DMatColorAnmFv() { - // NONMATCHING -} - -/* 80AA961C-80AA9634 000A7C 0018+00 1/1 0/0 0/0 .text __ct__14J3DMatColorAnmFv */ -// J3DMatColorAnm::J3DMatColorAnm() { -extern "C" void __ct__14J3DMatColorAnmFv() { - // NONMATCHING -} - -/* 80AA9634-80AA9668 000A94 0034+00 1/1 0/0 0/0 .text Delete__12daNpc_Post_cFv */ -void daNpc_Post_c::Delete() { - // NONMATCHING -} - -/* 80AA9668-80AA9688 000AC8 0020+00 2/2 0/0 0/0 .text Execute__12daNpc_Post_cFv */ -void daNpc_Post_c::Execute() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80AAD2BC-80AAD2C0 0000D0 0004+00 1/1 0/0 0/0 .rodata @4467 */ -SECTION_RODATA static f32 const lit_4467 = 100.0f; -COMPILER_STRIP_GATE(0x80AAD2BC, &lit_4467); - -/* 80AA9688-80AA971C 000AE8 0094+00 1/1 0/0 0/0 .text Draw__12daNpc_Post_cFv */ -void daNpc_Post_c::Draw() { - // NONMATCHING -} - -/* 80AA971C-80AA973C 000B7C 0020+00 1/1 0/0 0/0 .text - * createHeapCallBack__12daNpc_Post_cFP10fopAc_ac_c */ -void daNpc_Post_c::createHeapCallBack(fopAc_ac_c* param_0) { - // NONMATCHING -} - -/* 80AA973C-80AA9794 000B9C 0058+00 1/1 0/0 0/0 .text - * ctrlJointCallBack__12daNpc_Post_cFP8J3DJointi */ -void daNpc_Post_c::ctrlJointCallBack(J3DJoint* param_0, int param_1) { - // NONMATCHING -} - -/* 80AA9794-80AA97E0 000BF4 004C+00 1/1 0/0 0/0 .text getType__12daNpc_Post_cFv */ -void daNpc_Post_c::getType() { - // NONMATCHING -} - -/* 80AA97E0-80AA9828 000C40 0048+00 1/1 0/0 0/0 .text isDelete__12daNpc_Post_cFv */ -void daNpc_Post_c::isDelete() { - // NONMATCHING -} - -/* 80AA9828-80AA99F0 000C88 01C8+00 1/1 0/0 0/0 .text reset__12daNpc_Post_cFv */ -void daNpc_Post_c::reset() { - // NONMATCHING -} - -/* 80AA99F0-80AA9A7C 000E50 008C+00 1/0 0/0 0/0 .text afterJntAnm__12daNpc_Post_cFi */ -void daNpc_Post_c::afterJntAnm(int param_0) { - // NONMATCHING -} - -/* 80AA9A7C-80AA9BA4 000EDC 0128+00 1/0 0/0 0/0 .text setParam__12daNpc_Post_cFv */ -void daNpc_Post_c::setParam() { - // NONMATCHING -} - -/* 80AA9BA4-80AA9C58 001004 00B4+00 1/0 0/0 0/0 .text checkChangeEvt__12daNpc_Post_cFv */ -void daNpc_Post_c::checkChangeEvt() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80AAD2C0-80AAD2C4 0000D4 0004+00 1/3 0/0 0/0 .rodata @4632 */ -SECTION_RODATA static f32 const lit_4632 = -1.0f; -COMPILER_STRIP_GATE(0x80AAD2C0, &lit_4632); - -/* 80AA9C58-80AA9D04 0010B8 00AC+00 1/0 0/0 0/0 .text setAfterTalkMotion__12daNpc_Post_cFv */ -void daNpc_Post_c::setAfterTalkMotion() { - // NONMATCHING -} - -/* 80AA9D04-80AA9D98 001164 0094+00 1/1 0/0 0/0 .text srchActors__12daNpc_Post_cFv */ -void daNpc_Post_c::srchActors() { - // NONMATCHING -} - -/* 80AA9D98-80AA9E98 0011F8 0100+00 1/0 0/0 0/0 .text evtTalk__12daNpc_Post_cFv */ -void daNpc_Post_c::evtTalk() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80AAD34C-80AAD34C 000160 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80AAD39B = "Post"; -#pragma pop - -/* 80AA9E98-80AA9F60 0012F8 00C8+00 1/0 0/0 0/0 .text evtCutProc__12daNpc_Post_cFv */ -void daNpc_Post_c::evtCutProc() { - // NONMATCHING -} - -/* 80AA9F60-80AAA058 0013C0 00F8+00 1/0 0/0 0/0 .text action__12daNpc_Post_cFv */ -void daNpc_Post_c::action() { - // NONMATCHING -} - -/* 80AAA058-80AAA124 0014B8 00CC+00 1/0 0/0 0/0 .text beforeMove__12daNpc_Post_cFv */ -void daNpc_Post_c::beforeMove() { - // NONMATCHING -} - -/* 80AAA124-80AAA1E4 001584 00C0+00 1/0 0/0 0/0 .text afterMoved__12daNpc_Post_cFv */ -void daNpc_Post_c::afterMoved() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80AAD2C4-80AAD2C8 0000D8 0004+00 0/1 0/0 0/0 .rodata @4835 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4835 = -30.0f; -COMPILER_STRIP_GATE(0x80AAD2C4, &lit_4835); -#pragma pop - -/* 80AAD2C8-80AAD2CC 0000DC 0004+00 0/2 0/0 0/0 .rodata @4836 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4836 = 10.0f; -COMPILER_STRIP_GATE(0x80AAD2C8, &lit_4836); -#pragma pop - -/* 80AAD2CC-80AAD2D0 0000E0 0004+00 0/1 0/0 0/0 .rodata @4837 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_4837 = 0x38C90FDB; -COMPILER_STRIP_GATE(0x80AAD2CC, &lit_4837); -#pragma pop - -/* 80AAD2D0-80AAD2D4 0000E4 0004+00 0/1 0/0 0/0 .rodata @4838 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4838 = 3.0f / 10.0f; -COMPILER_STRIP_GATE(0x80AAD2D0, &lit_4838); -#pragma pop - -/* 80AAD2D4-80AAD2D8 0000E8 0004+00 0/1 0/0 0/0 .rodata @4839 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4839 = 16.0f; -COMPILER_STRIP_GATE(0x80AAD2D4, &lit_4839); -#pragma pop - -/* 80AAD2D8-80AAD2DC 0000EC 0004+00 0/1 0/0 0/0 .rodata @4840 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4840 = 110.0f; -COMPILER_STRIP_GATE(0x80AAD2D8, &lit_4840); -#pragma pop - -/* 80AAD2DC-80AAD2E0 0000F0 0004+00 0/1 0/0 0/0 .rodata @4841 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4841 = 40.0f; -COMPILER_STRIP_GATE(0x80AAD2DC, &lit_4841); -#pragma pop - -/* 80AAD2E0-80AAD2E4 0000F4 0004+00 0/1 0/0 0/0 .rodata @4842 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4842 = 3.0f; -COMPILER_STRIP_GATE(0x80AAD2E0, &lit_4842); -#pragma pop - -/* 80AAD2E4-80AAD2EC 0000F8 0004+04 0/1 0/0 0/0 .rodata @4843 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4843[1 + 1 /* padding */] = { - 11.0f, - /* padding */ - 0.0f, -}; -COMPILER_STRIP_GATE(0x80AAD2E4, &lit_4843); -#pragma pop - -/* 80AAD2EC-80AAD2F4 000100 0008+00 1/4 0/0 0/0 .rodata @4845 */ -SECTION_RODATA static u8 const lit_4845[8] = { - 0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AAD2EC, &lit_4845); - -/* 80AADC30-80AADC3C 000048 000C+00 1/1 0/0 0/0 .bss @3839 */ -static u8 lit_3839[12]; - -/* 80AADC3C-80AADC40 000054 0004+00 1/1 0/0 0/0 .bss l_HIO */ -static u8 l_HIO[4]; - -/* 80AADC40-80AADC50 000058 000C+04 0/1 0/0 0/0 .bss @4753 */ -#pragma push -#pragma force_active on -static u8 lit_4753[12 + 4 /* padding */]; -#pragma pop - -/* 80AADC50-80AADC5C 000068 000C+00 0/1 0/0 0/0 .bss prtclScl$4752 */ -#pragma push -#pragma force_active on -static u8 prtclScl[12]; -#pragma pop - -/* 80AAA1E4-80AAA570 001644 038C+00 1/0 0/0 0/0 .text setAttnPos__12daNpc_Post_cFv */ -void daNpc_Post_c::setAttnPos() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80AAD2F4-80AAD2FC 000108 0008+00 0/2 0/0 0/0 .rodata @4903 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4903[8] = { - 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AAD2F4, &lit_4903); -#pragma pop - -/* 80AAD2FC-80AAD304 000110 0008+00 0/2 0/0 0/0 .rodata @4904 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4904[8] = { - 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AAD2FC, &lit_4904); -#pragma pop - -/* 80AAD304-80AAD30C 000118 0008+00 0/2 0/0 0/0 .rodata @4905 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4905[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AAD304, &lit_4905); -#pragma pop - -/* 80AAD30C-80AAD310 000120 0004+00 0/1 0/0 0/0 .rodata @4949 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4949 = 20.0f; -COMPILER_STRIP_GATE(0x80AAD30C, &lit_4949); -#pragma pop - -/* 80AAD310-80AAD314 000124 0004+00 0/1 0/0 0/0 .rodata @4950 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4950 = 80.0f; -COMPILER_STRIP_GATE(0x80AAD310, &lit_4950); -#pragma pop - -/* 80AAD314-80AAD318 000128 0004+00 0/1 0/0 0/0 .rodata @4951 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4951 = 50.0f; -COMPILER_STRIP_GATE(0x80AAD314, &lit_4951); -#pragma pop - -/* 80AAA570-80AAA714 0019D0 01A4+00 1/0 0/0 0/0 .text setCollision__12daNpc_Post_cFv */ -void daNpc_Post_c::setCollision() { - // NONMATCHING -} - -/* 80AAA714-80AAA71C 001B74 0008+00 1/0 0/0 0/0 .text drawDbgInfo__12daNpc_Post_cFv */ -bool daNpc_Post_c::drawDbgInfo() { - return false; -} - -/* ############################################################################################## */ -/* 80AAD318-80AAD320 00012C 0008+00 1/1 0/0 0/0 .rodata jointNo$4959 */ -SECTION_RODATA static u8 const jointNo[8] = { - 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x12, -}; -COMPILER_STRIP_GATE(0x80AAD318, &jointNo); - -/* 80AAA71C-80AAA8A4 001B7C 0188+00 1/0 0/0 0/0 .text drawOtherMdl__12daNpc_Post_cFv */ -void daNpc_Post_c::drawOtherMdl() { - // NONMATCHING -} - -/* 80AAA8A4-80AAA968 001D04 00C4+00 1/1 0/0 0/0 .text setFlagAnm__12daNpc_Post_cFiif */ -void daNpc_Post_c::setFlagAnm(int param_0, int param_1, f32 param_2) { - // NONMATCHING -} - -/* 80AAA968-80AAA99C 001DC8 0034+00 1/0 0/0 0/0 .text afterSetMotionAnm__12daNpc_Post_cFiifi */ -void daNpc_Post_c::afterSetMotionAnm(int param_0, int param_1, f32 param_2, int param_3) { - // NONMATCHING -} - -/* 80AAA99C-80AAA9E4 001DFC 0048+00 1/1 0/0 0/0 .text selectAction__12daNpc_Post_cFv */ -void daNpc_Post_c::selectAction() { - // NONMATCHING -} - -/* 80AAA9E4-80AAAA10 001E44 002C+00 2/2 0/0 0/0 .text - * chkAction__12daNpc_Post_cFM12daNpc_Post_cFPCvPvPv_i */ -void daNpc_Post_c::chkAction(int (daNpc_Post_c::*param_0)(void*)) { - // NONMATCHING -} - -/* 80AAAA10-80AAAAB8 001E70 00A8+00 2/2 0/0 0/0 .text - * setAction__12daNpc_Post_cFM12daNpc_Post_cFPCvPvPv_i */ -void daNpc_Post_c::setAction(int (daNpc_Post_c::*param_0)(void*)) { - // NONMATCHING -} - -/* 80AAAAB8-80AAAB2C 001F18 0074+00 1/1 0/0 0/0 .text chkPullOutLetter1__12daNpc_Post_cFv - */ -void daNpc_Post_c::chkPullOutLetter1() { - // NONMATCHING -} - -/* 80AAAB2C-80AAABA0 001F8C 0074+00 1/1 0/0 0/0 .text chkPullOutLetter2__12daNpc_Post_cFv - */ -void daNpc_Post_c::chkPullOutLetter2() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80AAD320-80AAD324 000134 0004+00 1/1 0/0 0/0 .rodata @5115 */ -SECTION_RODATA static f32 const lit_5115 = 37.0f; -COMPILER_STRIP_GATE(0x80AAD320, &lit_5115); - -/* 80AAABA0-80AAAC64 002000 00C4+00 1/1 0/0 0/0 .text pullOutLetter__12daNpc_Post_cFv */ -void daNpc_Post_c::pullOutLetter() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80AAD34C-80AAD34C 000160 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80AAD3A0 = "prm"; -SECTION_DEAD static char const* const stringBase_80AAD3A4 = "timer"; -#pragma pop - -/* 80AAAC64-80AAB61C 0020C4 09B8+00 3/0 0/0 0/0 .text cutDeliver__12daNpc_Post_cFi */ -void daNpc_Post_c::cutDeliver(int param_0) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80AAD324-80AAD32C 000138 0008+00 0/0 0/0 0/0 .rodata @5155 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5155[8] = { - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -}; -COMPILER_STRIP_GATE(0x80AAD324, &lit_5155); -#pragma pop - -/* 80AAD32C-80AAD330 000140 0004+00 0/0 0/0 0/0 .rodata @5411 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5411 = 1000.0f; -COMPILER_STRIP_GATE(0x80AAD32C, &lit_5411); -#pragma pop - -/* 80AAD330-80AAD334 000144 0004+00 0/0 0/0 0/0 .rodata @5412 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5412 = 5.0f; -COMPILER_STRIP_GATE(0x80AAD330, &lit_5412); -#pragma pop - -/* 80AAD334-80AAD338 000148 0004+00 0/0 0/0 0/0 .rodata @5413 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5413 = 400.0f; -COMPILER_STRIP_GATE(0x80AAD334, &lit_5413); -#pragma pop - -/* 80AAD338-80AAD33C 00014C 0004+00 0/1 0/0 0/0 .rodata @5414 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5414 = 1.5f; -COMPILER_STRIP_GATE(0x80AAD338, &lit_5414); -#pragma pop - -/* 80AAD33C-80AAD344 000150 0008+00 0/0 0/0 0/0 .rodata @5417 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5417[8] = { - 0x43, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AAD33C, &lit_5417); -#pragma pop - -/* 80AAD344-80AAD348 000158 0004+00 0/1 0/0 0/0 .rodata @5626 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5626 = 0.5f; -COMPILER_STRIP_GATE(0x80AAD344, &lit_5626); -#pragma pop - -/* 80AAD348-80AAD34C 00015C 0004+00 0/1 0/0 0/0 .rodata @5627 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5627 = 700.0f; -COMPILER_STRIP_GATE(0x80AAD348, &lit_5627); -#pragma pop - -/* 80AAB61C-80AABC24 002A7C 0608+00 1/0 0/0 0/0 .text wait__12daNpc_Post_cFPv */ -void daNpc_Post_c::wait(void* param_0) { - // NONMATCHING -} - -/* 80AABC24-80AABE04 003084 01E0+00 3/0 0/0 0/0 .text talk__12daNpc_Post_cFPv */ -void daNpc_Post_c::talk(void* param_0) { - // NONMATCHING -} - -/* 80AABE04-80AABE24 003264 0020+00 1/0 0/0 0/0 .text daNpc_Post_Create__FPv */ -static void daNpc_Post_Create(void* param_0) { - // NONMATCHING -} - -/* 80AABE24-80AABE44 003284 0020+00 1/0 0/0 0/0 .text daNpc_Post_Delete__FPv */ -static void daNpc_Post_Delete(void* param_0) { - // NONMATCHING -} - -/* 80AABE44-80AABE64 0032A4 0020+00 1/0 0/0 0/0 .text daNpc_Post_Execute__FPv */ -static void daNpc_Post_Execute(void* param_0) { - // NONMATCHING -} - -/* 80AABE64-80AABE84 0032C4 0020+00 1/0 0/0 0/0 .text daNpc_Post_Draw__FPv */ -static void daNpc_Post_Draw(void* param_0) { - // NONMATCHING -} - -/* 80AABE84-80AABE8C 0032E4 0008+00 1/0 0/0 0/0 .text daNpc_Post_IsDelete__FPv */ -static bool daNpc_Post_IsDelete(void* param_0) { - return true; -} - -/* 80AABE8C-80AABEBC 0032EC 0030+00 1/0 0/0 0/0 .text calc__11J3DTexNoAnmCFPUs */ -// void J3DTexNoAnm::calc(u16* param_0) const { -extern "C" void calc__11J3DTexNoAnmCFPUs() { - // NONMATCHING -} - -/* 80AABEBC-80AABF04 00331C 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */ -// cCcD_GStts::~cCcD_GStts() { -extern "C" void __dt__10cCcD_GSttsFv() { - // NONMATCHING -} - -/* 80AABF04-80AAC28C 003364 0388+00 1/1 0/0 0/0 .text __dt__8daNpcT_cFv */ -// daNpcT_c::~daNpcT_c() { -extern "C" void __dt__8daNpcT_cFv() { - // NONMATCHING -} - -/* 80AAC28C-80AAC2C8 0036EC 003C+00 4/4 0/0 0/0 .text __dt__4cXyzFv */ -// cXyz::~cXyz() { -extern "C" void __dt__4cXyzFv() { - // NONMATCHING -} - -/* 80AAC2C8-80AAC304 003728 003C+00 2/2 0/0 0/0 .text __dt__5csXyzFv */ -// csXyz::~csXyz() { -extern "C" void __dt__5csXyzFv() { - // NONMATCHING -} - -/* 80AAC304-80AAC34C 003764 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 -} - -/* 80AAC34C-80AAC394 0037AC 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 -} - -/* 80AAC394-80AAC3D0 0037F4 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 -} - -/* 80AAC3D0-80AAC418 003830 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */ -// cM3dGCyl::~cM3dGCyl() { -extern "C" void __dt__8cM3dGCylFv() { - // NONMATCHING -} - -/* 80AAC418-80AAC460 003878 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */ -// cM3dGAab::~cM3dGAab() { -extern "C" void __dt__8cM3dGAabFv() { - // NONMATCHING -} - -/* 80AAC460-80AAC864 0038C0 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 -} - -/* 80AAC864-80AAC868 003CC4 0004+00 1/1 0/0 0/0 .text __ct__5csXyzFv */ -// csXyz::csXyz() { -extern "C" void __ct__5csXyzFv() { - /* empty function */ -} - -/* 80AAC868-80AAC964 003CC8 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 -} - -/* 80AAC964-80AAC968 003DC4 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -// cXyz::cXyz() { -extern "C" void __ct__4cXyzFv() { - /* empty function */ -} - -/* 80AAC968-80AAC9B0 003DC8 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 -} - -/* 80AAC9B0-80AACA20 003E10 0070+00 1/0 0/0 0/0 .text __dt__12dBgS_AcchCirFv */ -// dBgS_AcchCir::~dBgS_AcchCir() { -extern "C" void __dt__12dBgS_AcchCirFv() { - // NONMATCHING -} - -/* 80AACA20-80AACA7C 003E80 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */ -// dCcD_GStts::~dCcD_GStts() { -extern "C" void __dt__10dCcD_GSttsFv() { - // NONMATCHING -} - -/* 80AACA7C-80AACAEC 003EDC 0070+00 3/2 0/0 0/0 .text __dt__12dBgS_ObjAcchFv */ -// dBgS_ObjAcch::~dBgS_ObjAcch() { -extern "C" void __dt__12dBgS_ObjAcchFv() { - // NONMATCHING -} - -/* 80AACAEC-80AACB34 003F4C 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */ -// J3DFrameCtrl::~J3DFrameCtrl() { -extern "C" void __dt__12J3DFrameCtrlFv() { - // NONMATCHING -} - -/* 80AACB34-80AACC50 003F94 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 -} - -/* 80AACC50-80AACE58 0040B0 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 -} - -/* 80AACE58-80AACE5C 0042B8 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 */ -} - -/* 80AACE5C-80AACE64 0042BC 0008+00 1/0 0/0 0/0 .text getEyeballLMaterialNo__8daNpcT_cFv - */ -// bool daNpcT_c::getEyeballLMaterialNo() { -extern "C" bool getEyeballLMaterialNo__8daNpcT_cFv() { - return false; -} - -/* 80AACE64-80AACE6C 0042C4 0008+00 1/0 0/0 0/0 .text getEyeballRMaterialNo__8daNpcT_cFv - */ -// bool daNpcT_c::getEyeballRMaterialNo() { -extern "C" bool getEyeballRMaterialNo__8daNpcT_cFv() { - return false; -} - -/* 80AACE6C-80AACE74 0042CC 0008+00 1/0 0/0 0/0 .text evtEndProc__8daNpcT_cFv */ -// bool daNpcT_c::evtEndProc() { -extern "C" bool evtEndProc__8daNpcT_cFv() { - return true; -} - -/* 80AACE74-80AACE7C 0042D4 0008+00 1/0 0/0 0/0 .text chkXYItems__8daNpcT_cFv */ -// bool daNpcT_c::chkXYItems() { -extern "C" bool chkXYItems__8daNpcT_cFv() { - return false; -} - -/* 80AACE7C-80AACE94 0042DC 0018+00 1/0 0/0 0/0 .text decTmr__8daNpcT_cFv */ -// void daNpcT_c::decTmr() { -extern "C" void decTmr__8daNpcT_cFv() { - // NONMATCHING -} - -/* 80AACE94-80AACE98 0042F4 0004+00 1/0 0/0 0/0 .text drawGhost__8daNpcT_cFv */ -// void daNpcT_c::drawGhost() { -extern "C" void drawGhost__8daNpcT_cFv() { - /* empty function */ -} - -/* 80AACE98-80AACEA0 0042F8 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; -} - -/* 80AACEA0-80AACED0 004300 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 -} - -/* 80AACED0-80AACF00 004330 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 -} - -/* 80AACF00-80AACF04 004360 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 */ -} - -/* 80AACF04-80AACF08 004364 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 */ -} - -/* 80AACF08-80AACF0C 004368 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 */ -} - -/* 80AACF0C-80AACF10 00436C 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 */ -} - -/* 80AACF10-80AACF2C 004370 001C+00 2/2 0/0 0/0 .text cLib_calcTimer__FPi */ -extern "C" void func_80AACF10(void* _this, int* param_0) { - // NONMATCHING -} - -/* 80AACF2C-80AACF68 00438C 003C+00 1/1 0/0 0/0 .text cLib_getRndValue__Fff */ -extern "C" void func_80AACF2C(void* _this, f32 param_0, f32 param_1) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80AADBD8-80AADBE4 00082C 000C+00 2/2 0/0 0/0 .data __vt__18daNpc_Post_Param_c */ -SECTION_DATA extern void* __vt__18daNpc_Post_Param_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__18daNpc_Post_Param_cFv, -}; - -/* 80AACF68-80AACFF0 0043C8 0088+00 0/0 1/0 0/0 .text __sinit_d_a_npc_post_cpp */ -void __sinit_d_a_npc_post_cpp() { - // NONMATCHING -} - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x80AACF68, __sinit_d_a_npc_post_cpp); -#pragma pop - -/* 80AACFF0-80AAD0D0 004450 00E0+00 1/1 0/0 0/0 .text - * __ct__12daNpc_Post_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc - */ -daNpc_Post_c::daNpc_Post_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 -} - -/* 80AAD0D0-80AAD0D8 004530 0008+00 1/0 0/0 0/0 .text getEyeballMaterialNo__12daNpc_Post_cFv */ -u16 daNpc_Post_c::getEyeballMaterialNo() { - return true; -} - -/* 80AAD0D8-80AAD0E0 004538 0008+00 1/0 0/0 0/0 .text getHeadJointNo__12daNpc_Post_cFv */ -s32 daNpc_Post_c::getHeadJointNo() { - return 4; -} - -/* 80AAD0E0-80AAD0E8 004540 0008+00 1/0 0/0 0/0 .text getNeckJointNo__12daNpc_Post_cFv */ -s32 daNpc_Post_c::getNeckJointNo() { - return 3; -} - -/* 80AAD0E8-80AAD0F0 004548 0008+00 1/0 0/0 0/0 .text getBackboneJointNo__12daNpc_Post_cFv */ -bool daNpc_Post_c::getBackboneJointNo() { - return true; -} - -/* 80AAD0F0-80AAD100 004550 0010+00 1/0 0/0 0/0 .text checkChangeJoint__12daNpc_Post_cFi - */ -void daNpc_Post_c::checkChangeJoint(int param_0) { - // NONMATCHING -} - -/* 80AAD100-80AAD110 004560 0010+00 1/0 0/0 0/0 .text checkRemoveJoint__12daNpc_Post_cFi - */ -void daNpc_Post_c::checkRemoveJoint(int param_0) { - // NONMATCHING -} - -/* 80AAD110-80AAD118 004570 0008+00 1/0 0/0 0/0 .text getFootLJointNo__12daNpc_Post_cFv - */ -s32 daNpc_Post_c::getFootLJointNo() { - return 24; -} - -/* 80AAD118-80AAD120 004578 0008+00 1/0 0/0 0/0 .text getFootRJointNo__12daNpc_Post_cFv - */ -s32 daNpc_Post_c::getFootRJointNo() { - return 27; -} - -/* 80AAD120-80AAD168 004580 0048+00 2/1 0/0 0/0 .text __dt__18daNpc_Post_Param_cFv */ -daNpc_Post_Param_c::~daNpc_Post_Param_c() { - // NONMATCHING -} - -/* 80AAD168-80AAD170 0045C8 0008+00 1/0 0/0 0/0 .text @36@__dt__12dBgS_ObjAcchFv */ -static void func_80AAD168() { - // NONMATCHING -} - -/* 80AAD170-80AAD178 0045D0 0008+00 1/0 0/0 0/0 .text @20@__dt__12dBgS_ObjAcchFv */ -static void func_80AAD170() { - // NONMATCHING -} - -/* 80AAD178-80AAD1D8 0045D8 0060+00 1/1 0/0 0/0 .text chkPointInArea__15daTag_EvtArea_cF4cXyz */ -// void daTag_EvtArea_c::chkPointInArea(cXyz param_0) { -extern "C" void chkPointInArea__15daTag_EvtArea_cF4cXyz() { - // NONMATCHING -} - -AUDIO_INSTANCES;