diff --git a/configure.py b/configure.py index a1978ec8d87..989c00fb1c8 100755 --- a/configure.py +++ b/configure.py @@ -1836,7 +1836,7 @@ config.libs = [ ActorRel(NonMatching, "d_a_npc_seira"), ActorRel(NonMatching, "d_a_npc_seira2"), ActorRel(NonMatching, "d_a_npc_seirei"), - ActorRel(NonMatching, "d_a_npc_shad"), + ActorRel(NonMatching, "d_a_npc_shad", extra_cflags=[DANPCF_C_HACK]), ActorRel(NonMatching, "d_a_npc_shaman"), ActorRel(NonMatching, "d_a_npc_shoe", extra_cflags=[DANPCF_C_HACK]), ActorRel(MatchingFor("GZ2E01"), "d_a_npc_shop0"), diff --git a/include/d/actor/d_a_cstaF.h b/include/d/actor/d_a_cstaF.h index ed174bcce7f..24d3a0ddacd 100644 --- a/include/d/actor/d_a_cstaF.h +++ b/include/d/actor/d_a_cstaF.h @@ -33,6 +33,7 @@ public: cXyz& getBallPos() { return m_ballPos; } void onPlayerRide() { m_isPlayerRide = true; } + void onCoverVanishFlg() { m_coverVanishFlg = 1; } struct BckTbl { u16 idx[4]; diff --git a/include/d/actor/d_a_npc_shad.h b/include/d/actor/d_a_npc_shad.h index 18c2b8839d9..d7619771c53 100644 --- a/include/d/actor/d_a_npc_shad.h +++ b/include/d/actor/d_a_npc_shad.h @@ -11,68 +11,239 @@ * @details * */ -class daNpcShad_c : public fopAc_ac_c { + +struct daNpcShad_HIOParam { + /* 0x00 */ daNpcF_HIOParam common; + /* 0x6C */ f32 traveling_speed; // 走行速度 (Traveling Speed) +}; + +class daNpcShad_Param_c: public JORReflexible { public: + /* 80AE1F70 */ virtual ~daNpcShad_Param_c(); + + static const daNpcShad_HIOParam m; +}; + +class daNpcShad_c : public daNpcF_c { +public: + typedef bool (daNpcShad_c::*ActionFn)(void*); + typedef BOOL (daNpcShad_c::*EventFn)(int); + + enum Animation { + /* 0x00 */ ANM_NONE, + /* 0x01 */ ANM_F_TALK_A, + /* 0x02 */ ANM_F_HAPPY, + /* 0x03 */ ANM_F_ANGER, + /* 0x04 */ ANM_F_DISCOURAGED, + /* 0x05 */ ANM_F_CHANT, + /* 0x06 */ ANM_F_KOMON, + /* 0x07 */ ANM_F_SURPRISE, + /* 0x08 */ ANM_FH_SURPRISE, + /* 0x09 */ ANM_FH_KOMON, + /* 0x0A */ ANM_FH_HAPPY, + /* 0x0B */ ANM_FH_ANGER, + /* 0x0C */ ANM_FH_DISCOURAGED, + /* 0x0D */ ANM_WAIT_A, + /* 0x0E */ ANM_TALK_A, + /* 0x0F */ ANM_STEP, + /* 0x10 */ ANM_STEPB, + /* 0x11 */ ANM_BOOK_WAIT, + /* 0x12 */ ANM_BOOK_TALK_A, + /* 0x13 */ ANM_HI, + /* 0x14 */ ANM_RUN_A, + /* 0x15 */ ANM_WALK_A, + /* 0x16 */ ANM_SIT_A, + /* 0x17 */ ANM_LOOKBACK, + /* 0x18 */ ANM_CHANT, + /* 0x19 */ ANM_DISCOURAGED, + /* 0x1A */ ANM_DISCOURAGED_WAIT, + /* 0x1B */ ANM_SITTALK_A, + /* 0x1C */ ANM_LOOK, + /* 0x1D */ ANM_LOOK_WAIT, + /* 0x1E */ ANM_SAD_WALK, + /* 0x1F */ ANM_LOOKUP, + /* 0x20 */ ANM_TAKE_KOMON, + /* 0x21 */ ANM_READ_KOMON, + /* 0x22 */ ANM_SURPRISE, + /* 0x23 */ ANM_SURPRISE_WAIT, + }; + + enum Expression { + /* 0x0 */ EXPR_TALK_A, + /* 0x1 */ EXPR_HAPPY, + /* 0x2 */ EXPR_ANGER, + /* 0x3 */ EXPR_DISCOURAGED, + /* 0x4 */ EXPR_KOMON, + /* 0x5 */ EXPR_SURPRISE, + /* 0x6 */ EXPR_H_SURPRISE, + /* 0x7 */ EXPR_H_KOMON, + /* 0x8 */ EXPR_H_HAPPY, + /* 0x9 */ EXPR_H_ANGER, + /* 0xA */ EXPR_H_DISCOURAGED, + /* 0xB */ EXPR_CHANT, + /* 0xC */ EXPR_NONE, + }; + + enum Expression_BTP { + /* 0x0 */ EXPR_BTP_SHAD, + /* 0x1 */ EXPR_BTP_F_ANGER, + /* 0x2 */ EXPR_BTP_F_DISCOURAGED, + /* 0x3 */ EXPR_BTP_F_HAPPY, + /* 0x4 */ EXPR_BTP_F_KOMON, + /* 0x5 */ EXPR_BTP_F_SURPRISE, + /* 0x6 */ EXPR_BTP_FH_SURPRISE, + /* 0x7 */ EXPR_BTP_FH_KOMON, + /* 0x8 */ EXPR_BTP_FH_ANGER, + /* 0x9 */ EXPR_BTP_FH_DISCOURAGED, + /* 0xA */ EXPR_BTP_FH_HAPPY + }; + + enum Motion { + /* 0x00 */ MOT_WAIT_A, + /* 0x01 */ MOT_BOOK_TALK_A, + /* 0x02 */ MOT_BOOK_WAIT, + /* 0x03 */ MOT_HI, + /* 0x04 */ MOT_SIT_A, + /* 0x05 */ MOT_LOOKBACK, + /* 0x06 */ MOT_DISCOURAGED, + /* 0x07 */ MOT_DISCOURAGED_WAIT, + /* 0x08 */ MOT_TALK_A, + /* 0x09 */ MOT_SITTALK_A, + /* 0x0A */ MOT_LOOK, + /* 0x0B */ MOT_TAKE_KOMON, + /* 0x0C */ MOT_READ_KOMON, + /* 0x0D */ MOT_LOOK_WAIT, + /* 0x0E */ MOT_SURPRISE, + /* 0x0F */ MOT_SURPRISE_WAIT, + /* 0x10 */ MOT_LOOKUP, + /* 0x11 */ MOT_SAD_WALK, + /* 0x12 */ MOT_CHANT, + /* 0x13 */ MOT_RUN_A, + /* 0x14 */ MOT_WALK_A, + /* 0x15 */ MOT_STEP, + /* 0x16 */ MOT_STEPB, + }; + /* 80AD820C */ daNpcShad_c(); /* 80AD8420 */ ~daNpcShad_c(); - /* 80AD8620 */ void Create(); - /* 80AD8B60 */ void CreateHeap(); - /* 80AD90E0 */ void Delete(); - /* 80AD9114 */ void Execute(); - /* 80AD9138 */ void Draw(); - /* 80AD9280 */ void ctrlJoint(J3DJoint*, J3DModel*); - /* 80AD944C */ void createHeapCallBack(fopAc_ac_c*); - /* 80AD946C */ void ctrlJointCallBack(J3DJoint*, int); - /* 80AD94B8 */ void setExpressionAnm(int, bool); - /* 80AD974C */ void setExpressionBtp(int); - /* 80AD982C */ bool setMotionAnm(int, f32); + /* 80AD8620 */ cPhs__Step Create(); + /* 80AD8B60 */ int CreateHeap(); + /* 80AD90E0 */ int Delete(); + /* 80AD9114 */ int Execute(); + /* 80AD9138 */ int Draw(); + /* 80AD9280 */ int ctrlJoint(J3DJoint*, J3DModel*); + /* 80AD944C */ static int createHeapCallBack(fopAc_ac_c*); + /* 80AD946C */ static int ctrlJointCallBack(J3DJoint*, int); + /* 80AD94B8 */ bool setExpressionAnm(int, bool); + /* 80AD974C */ bool setExpressionBtp(int); + /* 80AD982C */ void setMotionAnm(int, f32); /* 80AD99B4 */ void reset(); - /* 80AD9C0C */ void setWaitAction(); - /* 80AD9E04 */ void getPathPoint(u8, int, Vec*); - /* 80AD9E90 */ void isSneaking(); - /* 80AD9F00 */ void wait_type0(void*); - /* 80ADA630 */ void setMotion(int, f32, int); + /* 80AD9C0C */ inline void setWaitAction(); + /* 80AD9E04 */ inline bool getPathPoint(u8, int, Vec*); + /* 80AD9E90 */ inline bool isSneaking(); + /* 80AD9F00 */ bool wait_type0(void*); + /* 80ADA630 */ void setMotion(int, f32, BOOL); /* 80ADA674 */ void setExpression(int, f32); - /* 80ADA6A0 */ void wait_type1(void*); - /* 80ADB428 */ void wait_type2(void*); - /* 80ADB628 */ void talk(void*); - /* 80ADBEA8 */ void demo(void*); - /* 80ADC3DC */ void leave(void*); - /* 80ADC700 */ void EvCut_Introduction(int); - /* 80ADC800 */ void EvCut_Meeting(int); - /* 80ADCAD8 */ void EvCut_ToChantSpell1(int); - /* 80ADD720 */ void EvCut_ToChantSpell2(int); - /* 80ADE47C */ void EvCut_ToChantSpell2Skip(int); - /* 80ADE5F8 */ void EvCut_DiscoveryCannon(int); - /* 80ADED68 */ void EvCut_DiscoveryCannonSkip(int); - /* 80ADEEE4 */ void EvCut_Disappear(int); - /* 80ADF810 */ void EvCut_DisappearSkip(int); - /* 80ADF8DC */ void EvCut_CallBack(int); - /* 80ADFB70 */ void EvCut_WiretapSponsor(int); - /* 80ADFE74 */ void EvCut_WiretapEntrant(int); + /* 80ADA6A0 */ bool wait_type1(void*); + /* 80ADB428 */ bool wait_type2(void*); + /* 80ADB628 */ bool talk(void*); + /* 80ADBEA8 */ bool demo(void*); + /* 80ADC3DC */ bool leave(void*); + /* 80ADC700 */ BOOL EvCut_Introduction(int); + /* 80ADC800 */ BOOL EvCut_Meeting(int); + /* 80ADCAD8 */ BOOL EvCut_ToChantSpell1(int); + /* 80ADD720 */ BOOL EvCut_ToChantSpell2(int); + /* 80ADE47C */ BOOL EvCut_ToChantSpell2Skip(int); + /* 80ADE5F8 */ BOOL EvCut_DiscoveryCannon(int); + /* 80ADED68 */ BOOL EvCut_DiscoveryCannonSkip(int); + /* 80ADEEE4 */ BOOL EvCut_Disappear(int); + /* 80ADF810 */ BOOL EvCut_DisappearSkip(int); + /* 80ADF8DC */ BOOL EvCut_CallBack(int); + /* 80ADFB70 */ BOOL EvCut_WiretapSponsor(int); + /* 80ADFE74 */ BOOL EvCut_WiretapEntrant(int); /* 80AE01BC */ void setParam(); - /* 80AE0438 */ void main(); + /* 80AE0438 */ BOOL main(); /* 80AE04D8 */ void playMotion(); /* 80AE0B58 */ void playExpression(); - /* 80AE0ED0 */ void ctrlBtk(); + /* 80AE0ED0 */ BOOL ctrlBtk(); /* 80AE0FAC */ void setAttnPos(); /* 80AE1320 */ void lookat(); - /* 80AE153C */ bool drawDbgInfo(); + /* 80AE153C */ BOOL drawDbgInfo(); - static u8 mEvtSeqList[168]; + static EventFn mEvtSeqList[14]; + + u8 getPathID() { return (fopAcM_GetParam(this) >> 8) & 0xFF; } + s16 getMessageNo() { return shape_angle.x; } + + inline void setAction(ActionFn action) { + field_0xe1a = 3; + + if (mActionFn) { + (this->*mActionFn)(NULL); + } + + field_0xe1a = 0; + mActionFn = action; + + if (mActionFn) { + (this->*mActionFn)(NULL); + } + } + + inline csXyz* unk_inline(); + inline BOOL chkFindPlayer(); + inline void setLookMode(int, fopAc_ac_c*, cXyz*); + inline BOOL step(s16, int, f32); + inline void setExpressionTalkAfter(); + inline void setLookObliquenessUp(); + + inline void searchActors() { + if (mMode == 0) { + if (mActorMngr[1].getActorP() == NULL) { + mActorMngr[1].entry(fopAcM_SearchByName(PROC_NPC_ASH)); + } + + if (mActorMngr[2].getActorP() == NULL) { + mActorMngr[2].entry(fopAcM_SearchByName(PROC_NPC_RAFREL)); + } + + if (mActorMngr[3].getActorP() == NULL) { + mActorMngr[3].entry(fopAcM_SearchByName(PROC_NPC_MOIR)); + } + + if (mActorMngr[4].getActorP() == NULL) { + mActorMngr[4].entry(getEvtAreaTagP(17, 0)); + } + } else if (mMode == 1 && daNpcF_chkEvtBit(0x12E) && mActorMngr[4].getActorP() == NULL) { + mActorMngr[4].entry(getEvtAreaTagP(18, 0)); + } + } private: - /* 0x568 */ u8 field_0x568[0xe24 - 0x568]; + /* 0xB48 */ J3DModel* mBookKnifeModel; + /* 0xB4C */ J3DModel* mKomonshoModel; + /* 0xB50 */ Z2Creature mSound; + /* 0xBE0 */ daNpcF_MatAnm_c* mpMatAnm; + /* 0xBE4 */ daNpcF_Lookat_c mLookat; + /* 0xC80 */ daNpcF_ActorMngr_c mActorMngr[5]; + /* 0xCA8 */ daPy_py_c* field_0xca8; + /* 0xCAC */ u8 field_0xcac[0xcb0 - 0xcac]; + /* 0xCB0 */ dCcD_Cyl field_0xcb0; + /* 0xDEC */ ActionFn mActionFn; + /* 0xDF8 */ request_of_phase_process_class mPhases[2]; + /* 0xE08 */ fpc_ProcID mItemPartnerId; + /* 0xE0C */ int field_0xe0c; + /* 0xE10 */ int field_0xe10; + /* 0xE14 */ s16 field_0xe14; + /* 0xE16 */ s16 field_0xe16; + /* 0xE18 */ s16 mLookMode; + /* 0xE1A */ u16 field_0xe1a; + /* 0xE1C */ s16 field_0xe1c; + /* 0xE1E */ u8 field_0xe1e; + /* 0xE1F */ u8 field_0xe1f; + /* 0xE20 */ u8 mMode; }; STATIC_ASSERT(sizeof(daNpcShad_c) == 0xe24); -class daNpcShad_Param_c { -public: - /* 80AE1F70 */ ~daNpcShad_Param_c(); - - static u8 const m[112]; -}; - - #endif /* D_A_NPC_SHAD_H */ diff --git a/src/d/actor/d_a_npc_shad.cpp b/src/d/actor/d_a_npc_shad.cpp index 83e15a16f0e..24c20ccffb8 100644 --- a/src/d/actor/d_a_npc_shad.cpp +++ b/src/d/actor/d_a_npc_shad.cpp @@ -4,708 +4,2705 @@ */ #include "d/actor/d_a_npc_shad.h" -#include "dol2asm.h" +#include "d/actor/d_a_cstaF.h" +#include "d/actor/d_a_npc.h" +#include "d/actor/d_a_tag_evtarea.h" +#include "d/d_msg_object.h" -// -// Forward References: -// +enum Shad_RES_File_ID { + /* BCK */ + /* 0x07 */ BCK_SHAD_F_DISCOURAGED = 0x7, + /* 0x08 */ BCK_SHAD_F_HAPPY, + /* 0x09 */ BCK_SHAD_F_TALK_A, + /* 0x0A */ BCK_SHAD_FH_DISCOURAGED, + /* 0x0B */ BCK_SHAD_FH_HAPPY, + /* 0x0C */ BCK_SHAD_RUN_A, -extern "C" void __ct__11daNpcShad_cFv(); -extern "C" void __dt__8cM3dGCylFv(); -extern "C" void __dt__8cM3dGAabFv(); -extern "C" void __dt__11daNpcShad_cFv(); -extern "C" void Create__11daNpcShad_cFv(); -extern "C" void CreateHeap__11daNpcShad_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__11daNpcShad_cFv(); -extern "C" void Execute__11daNpcShad_cFv(); -extern "C" void Draw__11daNpcShad_cFv(); -extern "C" void ctrlJoint__11daNpcShad_cFP8J3DJointP8J3DModel(); -extern "C" void createHeapCallBack__11daNpcShad_cFP10fopAc_ac_c(); -extern "C" void ctrlJointCallBack__11daNpcShad_cFP8J3DJointi(); -extern "C" void setExpressionAnm__11daNpcShad_cFib(); -extern "C" void setExpressionBtp__11daNpcShad_cFi(); -extern "C" void setMotionAnm__11daNpcShad_cFif(); -extern "C" void reset__11daNpcShad_cFv(); -extern "C" void setWaitAction__11daNpcShad_cFv(); -extern "C" void getPathPoint__11daNpcShad_cFUciP3Vec(); -extern "C" void isSneaking__11daNpcShad_cFv(); -extern "C" void wait_type0__11daNpcShad_cFPv(); -extern "C" void setMotion__11daNpcShad_cFifi(); -extern "C" void setExpression__11daNpcShad_cFif(); -extern "C" void wait_type1__11daNpcShad_cFPv(); -extern "C" void wait_type2__11daNpcShad_cFPv(); -extern "C" void talk__11daNpcShad_cFPv(); -extern "C" void demo__11daNpcShad_cFPv(); -extern "C" void leave__11daNpcShad_cFPv(); -extern "C" void EvCut_Introduction__11daNpcShad_cFi(); -extern "C" void EvCut_Meeting__11daNpcShad_cFi(); -extern "C" void EvCut_ToChantSpell1__11daNpcShad_cFi(); -extern "C" void EvCut_ToChantSpell2__11daNpcShad_cFi(); -extern "C" void EvCut_ToChantSpell2Skip__11daNpcShad_cFi(); -extern "C" void EvCut_DiscoveryCannon__11daNpcShad_cFi(); -extern "C" void EvCut_DiscoveryCannonSkip__11daNpcShad_cFi(); -extern "C" void EvCut_Disappear__11daNpcShad_cFi(); -extern "C" void EvCut_DisappearSkip__11daNpcShad_cFi(); -extern "C" void EvCut_CallBack__11daNpcShad_cFi(); -extern "C" void EvCut_WiretapSponsor__11daNpcShad_cFi(); -extern "C" void EvCut_WiretapEntrant__11daNpcShad_cFi(); -extern "C" static void daNpcShad_Create__FPv(); -extern "C" static void daNpcShad_Delete__FPv(); -extern "C" static void daNpcShad_Execute__FPv(); -extern "C" static void daNpcShad_Draw__FPv(); -extern "C" static bool daNpcShad_IsDelete__FPv(); -extern "C" void calc__11J3DTexNoAnmCFPUs(); -extern "C" void setParam__11daNpcShad_cFv(); -extern "C" void main__11daNpcShad_cFv(); -extern "C" void playMotion__11daNpcShad_cFv(); -extern "C" void playExpression__11daNpcShad_cFv(); -extern "C" void ctrlBtk__11daNpcShad_cFv(); -extern "C" void setAttnPos__11daNpcShad_cFv(); -extern "C" void lookat__11daNpcShad_cFv(); -extern "C" bool drawDbgInfo__11daNpcShad_cFv(); -extern "C" void func_80AE1544(void* _this, s16); -extern "C" void __sinit_d_a_npc_shad_cpp(); -extern "C" void __dt__18daNpcF_ActorMngr_cFv(); -extern "C" void __ct__18daNpcF_ActorMngr_cFv(); -extern "C" void __dt__15daNpcF_Lookat_cFv(); -extern "C" void __dt__5csXyzFv(); -extern "C" void __ct__5csXyzFv(); -extern "C" void __dt__4cXyzFv(); -extern "C" void __ct__4cXyzFv(); -extern "C" void __dt__8daNpcF_cFv(); -extern "C" void __ct__8daNpcF_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 adjustShapeAngle__8daNpcF_cFv(); -extern "C" void setCollisions__8daNpcF_cFv(); -extern "C" void drawOtherMdls__8daNpcF_cFv(); -extern "C" void __dt__10cCcD_GSttsFv(); -extern "C" void chkPointInArea__15daTag_EvtArea_cF4cXyz(); -extern "C" void __dt__17daNpcShad_Param_cFv(); -extern "C" static void func_80AE1FB8(); -extern "C" static void func_80AE1FC0(); -extern "C" u8 const m__17daNpcShad_Param_c[112]; -extern "C" extern char const* const d_a_npc_shad__stringBase0; -extern "C" u8 mEvtSeqList__11daNpcShad_c[168]; + /* BMDR */ + /* 0x0F */ BMDR_SHAD = 0xF, + /* 0x10 */ BMDR_SHAD_BOOK_KNIFE, -// -// External References: -// + /* BTK */ + /* 0x13 */ BTK_SHAD = 0x13, -extern "C" void mDoMtx_YrotM__FPA4_fs(); -extern "C" void transS__14mDoMtx_stack_cFRC4cXyz(); -extern "C" void changeBckOnly__13mDoExt_bckAnmFP15J3DAnmTransform(); -extern "C" void mDoExt_modelUpdateDL__FP8J3DModel(); -extern "C" void -__ct__16mDoExt_McaMorfSOFP12J3DModelDataP25mDoExt_McaMorfCallBack1_cP25mDoExt_McaMorfCallBack2_cP15J3DAnmTransformifiiP10Z2CreatureUlUl(); -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 fopAcIt_Judge__FPFPvPv_PvPv(); -extern "C" void fopAcM_SearchByName__FsPP10fopAc_ac_c(); -extern "C" void fopAcM_delete__FP10fopAc_ac_c(); -extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl(); -extern "C" void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff(); -extern "C" void fopAcM_searchActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c(); -extern "C" void fopAcM_seenActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c(); -extern "C" void fopAcM_searchActorDistanceXZ__FPC10fopAc_ac_cPC10fopAc_ac_c(); -extern "C" void fopAcM_orderChangeEventId__FP10fopAc_ac_csUsUs(); -extern "C" void fopAcM_createItemForPresentDemo__FPC4cXyziUciiPC5csXyzPC4cXyz(); -extern "C" void fpcSch_JudgeForPName__FPvPv(); -extern "C" void getLayerNo__14dComIfG_play_cFi(); -extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfGs_isStageSwitch__Fii(); -extern "C" void setItem__17dSv_player_item_cFiUc(); -extern "C" void onSwitch__12dSv_memBit_cFi(); -extern "C" void isSwitch__12dSv_memBit_cCFi(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void reset__14dEvt_control_cFv(); -extern "C" void reset__14dEvt_control_cFPv(); -extern "C" void dEv_noFinishSkipProc__FPvi(); -extern "C" void setSkipProc__14dEvt_control_cFPvPFPvi_ii(); -extern "C" void onSkipFade__14dEvt_control_cFv(); -extern "C" void convPId__14dEvt_control_cFUi(); -extern "C" void setPtI_Id__14dEvt_control_cFUi(); -extern "C" void getEventIdx__16dEvent_manager_cFP10fopAc_ac_cPCcUc(); -extern "C" void endCheck__16dEvent_manager_cFs(); -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 getMyNowCutName__16dEvent_manager_cFi(); -extern "C" void getMySubstanceP__16dEvent_manager_cFiPCci(); -extern "C" void cutEnd__16dEvent_manager_cFi(); -extern "C" void ChkPresentEnd__16dEvent_manager_cFv(); -extern "C" void dPath_GetPnt__FPC5dPathi(); -extern "C" void dPath_GetRoomPath__Fii(); -extern "C" void __ct__12dBgS_AcchCirFv(); -extern "C" void SetWallR__12dBgS_AcchCirFf(); -extern "C" void SetWall__12dBgS_AcchCirFff(); -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__18daNpcF_ActorMngr_cFv(); -extern "C" void entry__18daNpcF_ActorMngr_cFP10fopAc_ac_c(); -extern "C" void remove__18daNpcF_ActorMngr_cFv(); -extern "C" void getActorP__18daNpcF_ActorMngr_cFv(); -extern "C" void initialize__15daNpcF_MatAnm_cFv(); -extern "C" void initialize__15daNpcF_Lookat_cFv(); -extern "C" void setParam__15daNpcF_Lookat_cFffffffffffffsP4cXyz(); -extern "C" void calc__15daNpcF_Lookat_cFP10fopAc_ac_cPA4_fPP5csXyziii(); -extern "C" void execute__8daNpcF_cFv(); -extern "C" void draw__8daNpcF_cFiifP11_GXColorS10i(); -extern "C" void setMtx__8daNpcF_cFv(); -extern "C" void setMtx2__8daNpcF_cFv(); -extern "C" void initialize__8daNpcF_cFv(); -extern "C" void getTrnsfrmKeyAnmP__8daNpcF_cFPci(); -extern "C" void getTexPtrnAnmP__8daNpcF_cFPci(); -extern "C" void getTexSRTKeyAnmP__8daNpcF_cFPci(); -extern "C" void setMcaMorfAnm__8daNpcF_cFP18J3DAnmTransformKeyffiii(); -extern "C" void setBckAnm__8daNpcF_cFP15J3DAnmTransformfiiib(); -extern "C" void setBtpAnm__8daNpcF_cFP16J3DAnmTexPatternP12J3DModelDatafi(); -extern "C" void setBtkAnm__8daNpcF_cFP19J3DAnmTextureSRTKeyP12J3DModelDatafi(); -extern "C" void setEnvTevColor__8daNpcF_cFv(); -extern "C" void setRoomNo__8daNpcF_cFv(); -extern "C" void playExpressionAnm__8daNpcF_cFPPPQ28daNpcF_c18daNpcF_anmPlayData(); -extern "C" void playMotionAnm__8daNpcF_cFPPPQ28daNpcF_c18daNpcF_anmPlayData(); -extern "C" void setLookatMtx__8daNpcF_cFiPif(); -extern "C" void ctrlMsgAnm__8daNpcF_cFRiRiP10fopAc_ac_ci(); -extern "C" void orderEvent__8daNpcF_cFiPcUsUsUcUs(); -extern "C" void changeEvent__8daNpcF_cFPcPcUsUs(); -extern "C" void chkActorInSight__8daNpcF_cFP10fopAc_ac_cf(); -extern "C" void chkActorInAttnArea__8daNpcF_cFP10fopAc_ac_cP10fopAc_ac_ci(); -extern "C" void initTalk__8daNpcF_cFiPP10fopAc_ac_c(); -extern "C" void talkProc__8daNpcF_cFPiiPP10fopAc_ac_c(); -extern "C" void turn__8daNpcF_cFsfi(); -extern "C" void setAngle__8daNpcF_cFs(); -extern "C" void getDistTableIdx__8daNpcF_cFii(); -extern "C" void getEvtAreaTagP__8daNpcF_cFii(); -extern "C" void daNpcF_chkEvtBit__FUl(); -extern "C" void daNpcF_onEvtBit__FUl(); -extern "C" void daNpcF_chkTmpBit__FUl(); -extern "C" void daNpcF_offTmpBit__FUl(); -extern "C" void daNpcF_clearMessageTmpBit__Fv(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void onKillMessageFlag__12dMsgObject_cFv(); -extern "C" void __ct__10dMsgFlow_cFv(); -extern "C" void __dt__10dMsgFlow_cFv(); -extern "C" void getEventId__10dMsgFlow_cFPi(); -extern "C" void Set__4cCcSFP8cCcD_Obj(); -extern "C" void __mi__4cXyzCFRC3Vec(); -extern "C" void cM_atan2s__Fff(); -extern "C" void __ct__11cBgS_GndChkFv(); -extern "C" void __dt__11cBgS_GndChkFv(); -extern "C" void __dt__13cBgS_PolyInfoFv(); -extern "C" void __dt__8cM3dGCirFv(); -extern "C" void SetC__8cM3dGCylFRC4cXyz(); -extern "C" void SetH__8cM3dGCylFf(); -extern "C" void SetR__8cM3dGCylFf(); -extern "C" void cLib_targetAngleY__FPC3VecPC3Vec(); -extern "C" void cLib_targetAngleX__FPC4cXyzPC4cXyz(); -extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void subBgmStart__8Z2SeqMgrFUl(); -extern "C" void bgmStreamPrepare__8Z2SeqMgrFUl(); -extern "C" void bgmStreamPlay__8Z2SeqMgrFv(); -extern "C" void bgmStreamStop__8Z2SeqMgrFUl(); -extern "C" void __ct__10Z2CreatureFv(); -extern "C" void __dt__10Z2CreatureFv(); -extern "C" void init__10Z2CreatureFP3VecP3VecUcUc(); -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); -extern "C" void 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_scall(); -extern "C" void _savegpr_24(); -extern "C" void _savegpr_25(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_24(); -extern "C" void _restgpr_25(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" extern u8 const __ptmf_null[12 + 4 /* padding */]; -extern "C" extern void* __vt__8dCcD_Cyl[36]; -extern "C" extern void* __vt__9dCcD_Stts[11]; -extern "C" u8 mCcDCyl__8daNpcF_c[68]; -extern "C" extern void* __vt__8daNpcF_c[18]; -extern "C" extern void* __vt__15daNpcF_MatAnm_c[4 + 6 /* 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 mCurrentMtx__6J3DSys[48]; -extern "C" u8 sincosTable___5JMath[65536]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; -extern "C" void chkPointInArea__15daTag_EvtArea_cF4cXyz4cXyz(); -extern "C" void __register_global_object(); + /* BTP */ + /* 0x16 */ BTP_SHAD = 0x16, + /* 0x17 */ BTP_SHAD_F_DISCOURAGED, + /* 0x18 */ BTP_SHAD_F_HAPPY, + /* 0x19 */ BTP_SHAD_FH_DISCOURAGED, + /* 0x1A */ BTP_SHAD_FH_HAPPY, -// -// Declarations: -// - -/* ############################################################################################## */ -/* 80AE24C4-80AE24C4 0004E8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80AE24C4 = "Shad"; -SECTION_DEAD static char const* const stringBase_80AE24C9 = "Shad1"; -SECTION_DEAD static char const* const stringBase_80AE24CF = "Shad2"; -SECTION_DEAD static char const* const stringBase_80AE24D5 = "Shad3"; -SECTION_DEAD static char const* const stringBase_80AE24DB = ""; -SECTION_DEAD static char const* const stringBase_80AE24DC = "THE_INTRODUCTION"; -SECTION_DEAD static char const* const stringBase_80AE24ED = "RESIST_MEETING"; -SECTION_DEAD static char const* const stringBase_80AE24FC = "SHAD_TO_CHANT_SPELL1"; -SECTION_DEAD static char const* const stringBase_80AE2511 = "SHAD_TO_CHANT_SPELL2"; -SECTION_DEAD static char const* const stringBase_80AE2526 = "SHAD_TO_CHANT_SPELL2_SKIP"; -SECTION_DEAD static char const* const stringBase_80AE2540 = "SHAD_DISCOVERY_CANNON"; -SECTION_DEAD static char const* const stringBase_80AE2556 = "SHAD_DISCOVERY_CANNON_SKIP"; -SECTION_DEAD static char const* const stringBase_80AE2571 = "SHAD_DISAPPEAR"; -SECTION_DEAD static char const* const stringBase_80AE2580 = "SHAD_DISAPPEAR_SKIP"; -SECTION_DEAD static char const* const stringBase_80AE2594 = "SHAD_CALLBACK"; -SECTION_DEAD static char const* const stringBase_80AE25A2 = "RESIST_WIRETAP_ASH"; -SECTION_DEAD static char const* const stringBase_80AE25B5 = "RESIST_WIRETAP_SHAD"; -SECTION_DEAD static char const* const stringBase_80AE25C9 = "RESIST_WIRETAP_RAFREL"; -#pragma pop - -/* 80AE2620-80AE262C 000000 000C+00 7/7 0/0 0/0 .data cNullVec__6Z2Calc */ -SECTION_DATA static u8 cNullVec__6Z2Calc[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + /* EVT */ + /* 0x1D */ EVT_EVENT_LIST = 0x1D, }; -/* 80AE262C-80AE2640 00000C 0004+10 0/0 0/0 0/0 .data @1787 */ -#pragma push -#pragma force_active on -SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = { - 0x02000201, - /* padding */ - 0x40080000, - 0x00000000, - 0x3FE00000, - 0x00000000, +enum Shad1_RES_File_ID { + /* BCK */ + /* 0x06 */ BCK_SHAD_BOOK_TALK_A = 0x6, + /* 0x07 */ BCK_SHAD_BOOK_WAIT, + /* 0x08 */ BCK_SHAD_CHANT, + /* 0x09 */ BCK_SHAD_DISCOURAGED, + /* 0x0A */ BCK_SHAD_DISCOURAGED_WAIT, + /* 0x0B */ BCK_SHAD_F_ANGER, + /* 0x0C */ BCK_SHAD_F_CHANT, + /* 0x0D */ BCK_SHAD_F_KOMON, + /* 0x0E */ BCK_SHAD_F_SURPRISE, + /* 0x0F */ BCK_SHAD_FH_ANGER, + /* 0x10 */ BCK_SHAD_FH_KOMON, + /* 0x11 */ BCK_SHAD_FH_SURPRISE, + /* 0x12 */ BCK_SHAD_HI, + /* 0x13 */ BCK_SHAD_LOOK, + /* 0x14 */ BCK_SHAD_LOOK_WAIT, + /* 0x15 */ BCK_SHAD_LOOKBACK, + /* 0x16 */ BCK_SHAD_READ_KOMON, + /* 0x17 */ BCK_SHAD_SAD_WALK, + /* 0x18 */ BCK_SHAD_STEP, + /* 0x19 */ BCK_SHAD_STEPB, + /* 0x1A */ BCK_SHAD_SURPRISE, + /* 0x1B */ BCK_SHAD_SURPRISE_WAIT, + /* 0x1C */ BCK_SHAD_TAKE_KOMON, + /* 0x1D */ BCK_SHAD_TALK_A, + /* 0x1E */ BCK_SHAD_WAIT_A, + /* 0x1F */ BCK_SHAD_WALK_A, + + /* BMDR */ + /* 0x22 */ BMDR_SHAD_KOMONSHO = 0x22, + + /* BTK */ + /* 0x25 */ BTK_SHAD_DISCOURAGED = 0x25, + /* 0x26 */ BTK_SHAD_DISCOURAGED_WAIT, + /* 0x27 */ BTK_SHAD_READ_KOMON, + /* 0x28 */ BTK_SHAD_TAKE_KOMON, + + /* BTP */ + /* 0x2B */ BTP_SHAD_F_ANGER = 0x2B, + /* 0x2C */ BTP_SHAD_F_CHANT, + /* 0x2D */ BTP_SHAD_F_KOMON, + /* 0x2E */ BTP_SHAD_F_SURPRISE, + /* 0x2F */ BTP_SHAD_FH_ANGER, + /* 0x30 */ BTP_SHAD_FH_KOMON, + /* 0x31 */ BTP_SHAD_FH_SURPRISE, }; -#pragma pop + +enum Shad2_RES_File_ID { + /* BCK */ + /* 0x3 */ BCK_SHAD_SIT_A = 0x3, + /* 0x4 */ BCK_SHAD_SITTALK_A, +}; + +enum Shad3_RES_File_ID { + /* BCK */ + /* 0x3 */ BCK_SHAD_LOOKUP = 0x3, +}; + +enum arcIdx { + /* 0x0 */ SHAD, + /* 0x1 */ SHAD1, + /* 0x2 */ SHAD2, + /* 0x3 */ SHAD3, +}; + +enum Joint { + /* 0x00 */ JNT_CENTER, + /* 0x01 */ JNT_BACKBONE1, + /* 0x02 */ JNT_BACKBONE2, + /* 0x03 */ JNT_COLLOR, + /* 0x04 */ JNT_NECK, + /* 0x05 */ JNT_HEAD, + /* 0x06 */ JNT_CHIN, + /* 0x07 */ JNT_MAYUL, + /* 0x08 */ JNT_MAYUR, + /* 0x09 */ JNT_MOUTH, + /* 0x0A */ JNT_NECKTIE, + /* 0x0B */ JNT_SHOULDERL, + /* 0x0C */ JNT_ARML1, + /* 0x0D */ JNT_ARML2, + /* 0x0E */ JNT_HANDL, + /* 0x0F */ JNT_FINGERL, + /* 0x10 */ JNT_THUMBL, + /* 0x11 */ JNT_SHOULDERR, + /* 0x12 */ JNT_ARMR1, + /* 0x13 */ JNT_ARMR2, + /* 0x14 */ JNT_HANDR, + /* 0x15 */ JNT_FINGERR, + /* 0x16 */ JNT_THUMBR, + /* 0x17 */ JNT_WAIST, + /* 0x18 */ JNT_BOOK, + /* 0x19 */ JNT_LEGL1, + /* 0x1A */ JNT_LEGL2, + /* 0x1B */ JNT_FOOTL, + /* 0x1C */ JNT_LEGR1, + /* 0x1D */ JNT_LEGR2, + /* 0x1E */ JNT_FOOTR, +}; + +UNK_REL_DATA /* 80AE2640-80AE27F0 000020 01B0+00 1/2 0/0 0/0 .data l_bckGetParamList */ -SECTION_DATA static u8 l_bckGetParamList[432] = { - 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x09, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, - 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x16, - 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, +static daNpc_GetParam2 l_bckGetParamList[36] = { + {-1, J3DFrameCtrl::EMode_LOOP, SHAD}, + {BCK_SHAD_F_TALK_A, J3DFrameCtrl::EMode_NONE, SHAD}, + {BCK_SHAD_F_HAPPY, J3DFrameCtrl::EMode_NONE, SHAD}, + {BCK_SHAD_F_ANGER, J3DFrameCtrl::EMode_NONE, SHAD1}, + {BCK_SHAD_F_DISCOURAGED, J3DFrameCtrl::EMode_NONE, SHAD}, + {BCK_SHAD_F_CHANT, J3DFrameCtrl::EMode_LOOP, SHAD1}, + {BCK_SHAD_F_KOMON, J3DFrameCtrl::EMode_NONE, SHAD1}, + {BCK_SHAD_F_SURPRISE, J3DFrameCtrl::EMode_NONE, SHAD1}, + {BCK_SHAD_FH_SURPRISE, J3DFrameCtrl::EMode_LOOP, SHAD1}, + {BCK_SHAD_FH_KOMON, J3DFrameCtrl::EMode_LOOP, SHAD1}, + {BCK_SHAD_FH_HAPPY, J3DFrameCtrl::EMode_LOOP, SHAD}, + {BCK_SHAD_FH_ANGER, J3DFrameCtrl::EMode_LOOP, SHAD1}, + {BCK_SHAD_FH_DISCOURAGED, J3DFrameCtrl::EMode_LOOP, SHAD}, + {BCK_SHAD_WAIT_A, J3DFrameCtrl::EMode_LOOP, SHAD1}, + {BCK_SHAD_TALK_A, J3DFrameCtrl::EMode_NONE, SHAD1}, + {BCK_SHAD_STEP, J3DFrameCtrl::EMode_NONE, SHAD1}, + {BCK_SHAD_STEPB, J3DFrameCtrl::EMode_LOOP, SHAD1}, + {BCK_SHAD_BOOK_WAIT, J3DFrameCtrl::EMode_LOOP, SHAD1}, + {BCK_SHAD_BOOK_TALK_A, J3DFrameCtrl::EMode_NONE, SHAD1}, + {BCK_SHAD_HI, J3DFrameCtrl::EMode_NONE, SHAD1}, + {BCK_SHAD_RUN_A, J3DFrameCtrl::EMode_LOOP, SHAD}, + {BCK_SHAD_WALK_A, J3DFrameCtrl::EMode_LOOP, SHAD1}, + {BCK_SHAD_SIT_A, J3DFrameCtrl::EMode_LOOP, SHAD2}, + {BCK_SHAD_LOOKBACK, J3DFrameCtrl::EMode_NONE, SHAD1}, + {BCK_SHAD_CHANT, J3DFrameCtrl::EMode_LOOP, SHAD1}, + {BCK_SHAD_DISCOURAGED, J3DFrameCtrl::EMode_NONE, SHAD1}, + {BCK_SHAD_DISCOURAGED_WAIT, J3DFrameCtrl::EMode_LOOP, SHAD1}, + {BCK_SHAD_SITTALK_A, J3DFrameCtrl::EMode_NONE, SHAD2}, + {BCK_SHAD_LOOK, J3DFrameCtrl::EMode_NONE, SHAD1}, + {BCK_SHAD_LOOK_WAIT, J3DFrameCtrl::EMode_LOOP, SHAD1}, + {BCK_SHAD_SAD_WALK, J3DFrameCtrl::EMode_LOOP, SHAD1}, + {BCK_SHAD_LOOKUP, J3DFrameCtrl::EMode_LOOP, SHAD3}, + {BCK_SHAD_TAKE_KOMON, J3DFrameCtrl::EMode_NONE, SHAD1}, + {BCK_SHAD_READ_KOMON, J3DFrameCtrl::EMode_LOOP, SHAD1}, + {BCK_SHAD_SURPRISE, J3DFrameCtrl::EMode_NONE, SHAD1}, + {BCK_SHAD_SURPRISE_WAIT, J3DFrameCtrl::EMode_LOOP, SHAD1}, }; /* 80AE27F0-80AE2874 0001D0 0084+00 1/1 0/0 0/0 .data l_btpGetParamList */ -SECTION_DATA static u8 l_btpGetParamList[132] = { - 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x31, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, - 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x02, 0x00, - 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, +static daNpc_GetParam2 l_btpGetParamList[11] = { + {BTP_SHAD, J3DFrameCtrl::EMode_LOOP, SHAD}, + {BTP_SHAD_F_ANGER, J3DFrameCtrl::EMode_NONE, SHAD1}, + {BTP_SHAD_F_DISCOURAGED, J3DFrameCtrl::EMode_NONE, SHAD}, + {BTP_SHAD_F_HAPPY, J3DFrameCtrl::EMode_NONE, SHAD}, + {BTP_SHAD_F_KOMON, J3DFrameCtrl::EMode_NONE, SHAD1}, + {BTP_SHAD_F_SURPRISE, J3DFrameCtrl::EMode_NONE, SHAD1}, + {BTP_SHAD_FH_SURPRISE, J3DFrameCtrl::EMode_LOOP, SHAD1}, + {BTP_SHAD_FH_KOMON, J3DFrameCtrl::EMode_LOOP, SHAD1}, + {BTP_SHAD_FH_ANGER, J3DFrameCtrl::EMode_LOOP, SHAD1}, + {BTP_SHAD_FH_DISCOURAGED, J3DFrameCtrl::EMode_LOOP, SHAD}, + {BTP_SHAD_FH_HAPPY, J3DFrameCtrl::EMode_LOOP, SHAD}, }; /* 80AE2874-80AE28B0 000254 003C+00 1/2 0/0 0/0 .data l_btkGetParamList */ -SECTION_DATA static u8 l_btkGetParamList[60] = { - 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, - 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, +static daNpc_GetParam2 l_btkGetParamList[5] = { + {BTK_SHAD, J3DFrameCtrl::EMode_LOOP, SHAD}, + {BTK_SHAD_DISCOURAGED, J3DFrameCtrl::EMode_NONE, SHAD1}, + {BTK_SHAD_DISCOURAGED_WAIT, J3DFrameCtrl::EMode_LOOP, SHAD1}, + {BTK_SHAD_TAKE_KOMON, J3DFrameCtrl::EMode_NONE, SHAD1}, + {BTK_SHAD_READ_KOMON, J3DFrameCtrl::EMode_LOOP, SHAD1}, }; /* 80AE28B0-80AE28BC 000290 000C+00 1/0 0/0 0/0 .data l_loadRes_SHAD0 */ -SECTION_DATA static u8 l_loadRes_SHAD0[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xFF, +static int l_loadRes_SHAD0[3] = { + 0, 2, -1, }; /* 80AE28BC-80AE28C8 00029C 000C+00 1/0 0/0 0/0 .data l_loadRes_SHAD1 */ -SECTION_DATA static u8 l_loadRes_SHAD1[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, +static int l_loadRes_SHAD1[3] = { + 0, 1, -1, }; /* 80AE28C8-80AE28D4 0002A8 000C+00 1/0 0/0 0/0 .data l_loadRes_SHAD2 */ -SECTION_DATA static u8 l_loadRes_SHAD2[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, +static int l_loadRes_SHAD2[3] = { + 0, 3, -1, }; /* 80AE28D4-80AE28E0 -00001 000C+00 2/2 0/0 0/0 .data l_loadRes_list */ -SECTION_DATA static void* l_loadRes_list[3] = { - (void*)&l_loadRes_SHAD0, - (void*)&l_loadRes_SHAD1, - (void*)&l_loadRes_SHAD2, +static int* l_loadRes_list[3] = { + l_loadRes_SHAD0, + l_loadRes_SHAD1, + l_loadRes_SHAD2, }; /* 80AE28E0-80AE28F0 -00001 0010+00 6/8 0/0 0/0 .data l_arcNames */ -SECTION_DATA static void* l_arcNames[4] = { - (void*)&d_a_npc_shad__stringBase0, - (void*)(((char*)&d_a_npc_shad__stringBase0) + 0x5), - (void*)(((char*)&d_a_npc_shad__stringBase0) + 0xB), - (void*)(((char*)&d_a_npc_shad__stringBase0) + 0x11), +static char* l_arcNames[4] = { + "Shad", + "Shad1", + "Shad2", + "Shad3", }; /* 80AE28F0-80AE2928 -00001 0038+00 3/6 0/0 0/0 .data l_evtNames */ -SECTION_DATA static void* l_evtNames[14] = { - (void*)(((char*)&d_a_npc_shad__stringBase0) + 0x17), - (void*)(((char*)&d_a_npc_shad__stringBase0) + 0x18), - (void*)(((char*)&d_a_npc_shad__stringBase0) + 0x29), - (void*)(((char*)&d_a_npc_shad__stringBase0) + 0x38), - (void*)(((char*)&d_a_npc_shad__stringBase0) + 0x4D), - (void*)(((char*)&d_a_npc_shad__stringBase0) + 0x62), - (void*)(((char*)&d_a_npc_shad__stringBase0) + 0x7C), - (void*)(((char*)&d_a_npc_shad__stringBase0) + 0x92), - (void*)(((char*)&d_a_npc_shad__stringBase0) + 0xAD), - (void*)(((char*)&d_a_npc_shad__stringBase0) + 0xBC), - (void*)(((char*)&d_a_npc_shad__stringBase0) + 0xD0), - (void*)(((char*)&d_a_npc_shad__stringBase0) + 0xDE), - (void*)(((char*)&d_a_npc_shad__stringBase0) + 0xF1), - (void*)(((char*)&d_a_npc_shad__stringBase0) + 0x105), +static char* l_evtNames[14] = { + "", + "THE_INTRODUCTION", + "RESIST_MEETING", + "SHAD_TO_CHANT_SPELL1", + "SHAD_TO_CHANT_SPELL2", + "SHAD_TO_CHANT_SPELL2_SKIP", + "SHAD_DISCOVERY_CANNON", + "SHAD_DISCOVERY_CANNON_SKIP", + "SHAD_DISAPPEAR", + "SHAD_DISAPPEAR_SKIP", + "SHAD_CALLBACK", + "RESIST_WIRETAP_ASH", + "RESIST_WIRETAP_SHAD", + "RESIST_WIRETAP_RAFREL" }; /* 80AE2928-80AE2960 000308 0038+00 3/6 0/0 0/0 .data l_evtArcs */ -SECTION_DATA static u8 l_evtArcs[56] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +static char* l_evtArcs[14] = { + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, }; /* 80AE2960-80AE2964 -00001 0004+00 0/3 0/0 0/0 .data l_myName */ -#pragma push -#pragma force_active on -SECTION_DATA static void* l_myName = (void*)&d_a_npc_shad__stringBase0; -#pragma pop - -/* 80AE2964-80AE2970 -00001 000C+00 0/1 0/0 0/0 .data @3932 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3932[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)EvCut_Introduction__11daNpcShad_cFi, -}; -#pragma pop - -/* 80AE2970-80AE297C -00001 000C+00 0/1 0/0 0/0 .data @3933 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3933[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)EvCut_Meeting__11daNpcShad_cFi, -}; -#pragma pop - -/* 80AE297C-80AE2988 -00001 000C+00 0/1 0/0 0/0 .data @3934 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3934[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)EvCut_ToChantSpell1__11daNpcShad_cFi, -}; -#pragma pop - -/* 80AE2988-80AE2994 -00001 000C+00 0/1 0/0 0/0 .data @3935 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3935[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)EvCut_ToChantSpell2__11daNpcShad_cFi, -}; -#pragma pop - -/* 80AE2994-80AE29A0 -00001 000C+00 0/1 0/0 0/0 .data @3936 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3936[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)EvCut_ToChantSpell2Skip__11daNpcShad_cFi, -}; -#pragma pop - -/* 80AE29A0-80AE29AC -00001 000C+00 0/1 0/0 0/0 .data @3937 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3937[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)EvCut_DiscoveryCannon__11daNpcShad_cFi, -}; -#pragma pop - -/* 80AE29AC-80AE29B8 -00001 000C+00 0/1 0/0 0/0 .data @3938 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3938[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)EvCut_DiscoveryCannonSkip__11daNpcShad_cFi, -}; -#pragma pop - -/* 80AE29B8-80AE29C4 -00001 000C+00 0/1 0/0 0/0 .data @3939 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3939[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)EvCut_Disappear__11daNpcShad_cFi, -}; -#pragma pop - -/* 80AE29C4-80AE29D0 -00001 000C+00 0/1 0/0 0/0 .data @3940 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3940[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)EvCut_DisappearSkip__11daNpcShad_cFi, -}; -#pragma pop - -/* 80AE29D0-80AE29DC -00001 000C+00 0/1 0/0 0/0 .data @3941 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3941[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)EvCut_CallBack__11daNpcShad_cFi, -}; -#pragma pop - -/* 80AE29DC-80AE29E8 -00001 000C+00 0/1 0/0 0/0 .data @3942 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3942[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)EvCut_WiretapEntrant__11daNpcShad_cFi, -}; -#pragma pop - -/* 80AE29E8-80AE29F4 -00001 000C+00 0/1 0/0 0/0 .data @3943 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3943[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)EvCut_WiretapSponsor__11daNpcShad_cFi, -}; -#pragma pop - -/* 80AE29F4-80AE2A00 -00001 000C+00 0/1 0/0 0/0 .data @3944 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3944[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)EvCut_WiretapEntrant__11daNpcShad_cFi, -}; -#pragma pop +static char* l_myName = "Shad"; /* 80AE2A00-80AE2AA8 0003E0 00A8+00 0/2 0/0 0/0 .data mEvtSeqList__11daNpcShad_c */ -#pragma push -#pragma force_active on -SECTION_DATA u8 daNpcShad_c::mEvtSeqList[168] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -#pragma pop - -/* 80AE2AA8-80AE2ADC -00001 0034+00 1/1 0/0 0/0 .data @4739 */ -SECTION_DATA static void* lit_4739[13] = { - (void*)(((char*)setExpressionAnm__11daNpcShad_cFib) + 0xA0), - (void*)(((char*)setExpressionAnm__11daNpcShad_cFib) + 0xBC), - (void*)(((char*)setExpressionAnm__11daNpcShad_cFib) + 0xD8), - (void*)(((char*)setExpressionAnm__11daNpcShad_cFib) + 0xF4), - (void*)(((char*)setExpressionAnm__11daNpcShad_cFib) + 0x110), - (void*)(((char*)setExpressionAnm__11daNpcShad_cFib) + 0x12C), - (void*)(((char*)setExpressionAnm__11daNpcShad_cFib) + 0x148), - (void*)(((char*)setExpressionAnm__11daNpcShad_cFib) + 0x164), - (void*)(((char*)setExpressionAnm__11daNpcShad_cFib) + 0x180), - (void*)(((char*)setExpressionAnm__11daNpcShad_cFib) + 0x19C), - (void*)(((char*)setExpressionAnm__11daNpcShad_cFib) + 0x1B8), - (void*)(((char*)setExpressionAnm__11daNpcShad_cFib) + 0x1D4), - (void*)(((char*)setExpressionAnm__11daNpcShad_cFib) + 0x1F0), +daNpcShad_c::EventFn daNpcShad_c::mEvtSeqList[14] = { + NULL, + &daNpcShad_c::EvCut_Introduction, + &daNpcShad_c::EvCut_Meeting, + &daNpcShad_c::EvCut_ToChantSpell1, + &daNpcShad_c::EvCut_ToChantSpell2, + &daNpcShad_c::EvCut_ToChantSpell2Skip, + &daNpcShad_c::EvCut_DiscoveryCannon, + &daNpcShad_c::EvCut_DiscoveryCannonSkip, + &daNpcShad_c::EvCut_Disappear, + &daNpcShad_c::EvCut_DisappearSkip, + &daNpcShad_c::EvCut_CallBack, + &daNpcShad_c::EvCut_WiretapEntrant, + &daNpcShad_c::EvCut_WiretapSponsor, + &daNpcShad_c::EvCut_WiretapEntrant, }; -/* 80AE2ADC-80AE2AE8 -00001 000C+00 0/3 0/0 0/0 .data @4923 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4923[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)wait_type0__11daNpcShad_cFPv, -}; -#pragma pop +daNpcShad_c::daNpcShad_c() {} -/* 80AE2AE8-80AE2AF4 -00001 000C+00 0/3 0/0 0/0 .data @4926 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4926[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)wait_type1__11daNpcShad_cFPv, -}; -#pragma pop +/* 80AD8420-80AD8620 000300 0200+00 1/0 0/0 0/0 .text __dt__11daNpcShad_cFv */ +daNpcShad_c::~daNpcShad_c() { + for (int i = 0; l_loadRes_list[mMode][i] >= 0; i++) { + dComIfG_resDelete(&mPhases[i], l_arcNames[l_loadRes_list[mMode][i]]); + } -/* 80AE2AF4-80AE2B00 -00001 000C+00 0/3 0/0 0/0 .data @4929 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4929[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)wait_type2__11daNpcShad_cFPv, -}; -#pragma pop + if (heap != NULL) { + mpMorf->stopZelAnime(); + } +} -/* 80AE2B00-80AE2B0C -00001 000C+00 0/1 0/0 0/0 .data @5064 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5064[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)talk__11daNpcShad_cFPv, -}; -#pragma pop - -/* 80AE2B0C-80AE2B18 -00001 000C+00 0/1 0/0 0/0 .data @5069 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5069[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)demo__11daNpcShad_cFPv, -}; -#pragma pop - -/* 80AE2B18-80AE2B24 -00001 000C+00 0/1 0/0 0/0 .data @5295 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5295[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)talk__11daNpcShad_cFPv, -}; -#pragma pop - -/* 80AE2B24-80AE2B30 -00001 000C+00 0/1 0/0 0/0 .data @5300 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5300[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)demo__11daNpcShad_cFPv, -}; -#pragma pop - -/* 80AE2B30-80AE2B3C -00001 000C+00 1/1 0/0 0/0 .data @5565 */ -SECTION_DATA static void* lit_5565[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)leave__11daNpcShad_cFPv, +/* 80AE1FDC-80AE204C 000000 0070+00 19/19 0/0 0/0 .rodata m__17daNpcShad_Param_c */ +const daNpcShad_HIOParam daNpcShad_Param_c::m = { + 35.0f, + -3.0f, + 1.0f, + 400.0f, + 255.0f, + 200.0f, + 35.0f, + 30.0f, + 0.0f, + 0.0f, + 45.0f, + -45.0f, + 30.0f, + -10.0f, + 40.0f, + -40.0f, + 0.6f, + 12.0f, + 3, + 6, + 5, + 6, + 80.0f, + 500.0f, + 300.0f, + -300.0f, + 60, + 8, + 0, + 0, + 0, + false, + false, + 12.0f, }; -/* 80AE2B3C-80AE2B5C -00001 0020+00 1/1 0/0 0/0 .data @6551 */ -SECTION_DATA static void* lit_6551[8] = { - (void*)(((char*)EvCut_DiscoveryCannon__11daNpcShad_cFi) + 0x480), - (void*)(((char*)EvCut_DiscoveryCannon__11daNpcShad_cFi) + 0x730), - (void*)(((char*)EvCut_DiscoveryCannon__11daNpcShad_cFi) + 0x480), - (void*)(((char*)EvCut_DiscoveryCannon__11daNpcShad_cFi) + 0x730), - (void*)(((char*)EvCut_DiscoveryCannon__11daNpcShad_cFi) + 0x488), - (void*)(((char*)EvCut_DiscoveryCannon__11daNpcShad_cFi) + 0x730), - (void*)(((char*)EvCut_DiscoveryCannon__11daNpcShad_cFi) + 0x730), - (void*)(((char*)EvCut_DiscoveryCannon__11daNpcShad_cFi) + 0x488), -}; +/* 80AD8620-80AD8B60 000500 0540+00 1/1 0/0 0/0 .text Create__11daNpcShad_cFv */ +cPhs__Step daNpcShad_c::Create() { + fopAcM_SetupActor(this, daNpcShad_c); -/* 80AE2B5C-80AE2B7C -00001 0020+00 1/1 0/0 0/0 .data @6550 */ -SECTION_DATA static void* lit_6550[8] = { - (void*)(((char*)EvCut_DiscoveryCannon__11daNpcShad_cFi) + 0x7C), - (void*)(((char*)EvCut_DiscoveryCannon__11daNpcShad_cFi) + 0x280), - (void*)(((char*)EvCut_DiscoveryCannon__11daNpcShad_cFi) + 0x12C), - (void*)(((char*)EvCut_DiscoveryCannon__11daNpcShad_cFi) + 0x25C), - (void*)(((char*)EvCut_DiscoveryCannon__11daNpcShad_cFi) + 0x20C), - (void*)(((char*)EvCut_DiscoveryCannon__11daNpcShad_cFi) + 0x25C), - (void*)(((char*)EvCut_DiscoveryCannon__11daNpcShad_cFi) + 0x25C), - (void*)(((char*)EvCut_DiscoveryCannon__11daNpcShad_cFi) + 0x20C), -}; + if (strcmp(dComIfGp_getStartStageName(), "R_SP116") == 0 && dComIfG_play_c::getLayerNo(0) == 4) { + if (daNpcF_chkEvtBit(0x169) && daNpcF_chkEvtBit(0x10A) && daNpcF_chkEvtBit(0x10B) && !daNpcF_chkEvtBit(0x10C)) { + return cPhs_ERROR_e; + } + + if (dComIfGs_isStageSwitch(0x18, 0x4B)) { + return cPhs_ERROR_e; + } + + mMode = 0; + } else { + if (strcmp(dComIfGp_getStartStageName(), "R_SP209") == 0) { + if (daNpcF_chkEvtBit(0x311)) { + return cPhs_ERROR_e; + } + + if (!daNpcF_chkEvtBit(0x10B) || (daNpcF_chkEvtBit(0x12E) && !daNpcF_chkEvtBit(0x31C))) { + return cPhs_ERROR_e; + } + + if (daNpcF_chkEvtBit(0x12F)) { + if (!daNpcF_chkEvtBit(0x312)) { + if (getPathPoint(getPathID(), 1, &home.pos)) { + current.pos = home.pos; + old.pos = current.pos; + } + } else { + home.pos.set(4342.7183f, -1518.5f, -3942.3232f); + current.pos = home.pos; + old.pos = current.pos; + setAngle(-0x2581); + } + } + + mMode = 1; + } else { + if (strcmp(dComIfGp_getStartStageName(), "D_MN09") == 0) { + if (dComIfGs_isSaveSwitch(20)) { + return cPhs_ERROR_e; + } + + fopAcM_OnStatus(this, fopAcM_STATUS_UNK_004000); + mMode = 2; + } + } + } + + bool bVar1 = false; + if (mMode == 1 && daNpcF_chkEvtBit(0x31C)) { + bVar1 = true; + } + + s16 sVar1; + if (bVar1) { + sVar1 = 0x42; + } else { + sVar1 = getMessageNo(); + } + + field_0xe14 = sVar1; + field_0xe16 = field_0xe14; + + cPhs__Step phase = cPhs_ERROR_e; + for (int i = 0; l_loadRes_list[mMode][i] >= 0; i++) { + phase = (cPhs__Step)dComIfG_resLoad(&mPhases[i], l_arcNames[l_loadRes_list[mMode][i]]); + + if (phase != cPhs_COMPLEATE_e) { + return phase; + } + } + + if (phase == cPhs_COMPLEATE_e) { + int i_size = 0; + switch (mMode) { + case 0: + i_size = 0x3610; + break; + + case 1: + i_size = 0x4CA0; + break; + + case 2: + i_size = 0x44A0; + break; + + default: + JUT_ASSERT(423, 0); + break; + } + + if (!fopAcM_entrySolidHeap(this, createHeapCallBack, i_size)) { + return cPhs_ERROR_e; + } + + fopAcM_SetMtx(this, mpMorf->getModel()->getBaseTRMtx()); + fopAcM_setCullSizeBox(this, -100.0f, -50.0f, -100.0f, 100.0f, 220.0f, 100.0f); + mSound.init(¤t.pos, &eyePos, 3, 1); + mAcchCir.SetWall(daNpcShad_Param_c::m.common.width, daNpcShad_Param_c::m.common.knee_length); + 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)); + mAcch.SetRoofNone(); + mAcch.SetWaterNone(); + mAcch.CrrPos(dComIfG_Bgsp()); + mCcStts.Init(daNpcShad_Param_c::m.common.weight, 0, this); + + field_0xcb0.Set(mCcDCyl); + field_0xcb0.SetStts(&mCcStts); + field_0xcb0.SetTgType(0); + field_0xcb0.SetTgSPrm(0); + + mGndChk = mAcch.m_gnd; + mGroundH = mAcch.GetGroundH(); + setEnvTevColor(); + setRoomNo(); + mpMorf->modelCalc(); + reset(); + Execute(); + } + + return phase; +} + +/* 80AD8B60-80AD8F24 000A40 03C4+00 1/1 0/0 0/0 .text CreateHeap__11daNpcShad_cFv */ +int daNpcShad_c::CreateHeap() { + J3DModelData* mdlData_p = static_cast(dComIfG_getObjectRes(l_arcNames[0], BMDR_SHAD)); + JUT_ASSERT(483, 0 != mdlData_p); + mpMorf = new mDoExt_McaMorfSO(mdlData_p, NULL, NULL, NULL, -1, 1.0f, 0, -1, + &mSound, 0x80000, 0x11020284); + if (mpMorf != NULL && mpMorf->getModel() == NULL) { + mpMorf->stopZelAnime(); + mpMorf = NULL; + } + + if (mpMorf == NULL) { + return 0; + } + + J3DModel* model = mpMorf->getModel(); + for (u16 i = 0; i < mdlData_p->getJointNum(); i++) { + mdlData_p->getJointNodePointer(i)->setCallBack(ctrlJointCallBack); + } + model->setUserArea((u32)this); + + mpMatAnm = new daNpcF_MatAnm_c(); + if (mpMatAnm == NULL) { + return 0; + } + + mBookKnifeModel = NULL; + if (mMode == 1 || mMode == 2) { + mdlData_p = static_cast(dComIfG_getObjectRes(l_arcNames[0], BMDR_SHAD_BOOK_KNIFE)); + JUT_ASSERT(518, mdlData_p != 0); + mBookKnifeModel = mDoExt_J3DModel__create(mdlData_p, 0x80000, 0x11000084); + if (mBookKnifeModel == NULL) { + return 0; + } + + if (mMode == 2) { + mdlData_p = mBookKnifeModel->getModelData(); + mdlData_p->getMaterialNodePointer(1)->getShape()->hide(); + } + } + + mKomonshoModel = NULL; + if (mMode == 1) { + mdlData_p = static_cast(dComIfG_getObjectRes(l_arcNames[1], BMDR_SHAD_KOMONSHO)); + JUT_ASSERT(530, mdlData_p != 0); + mKomonshoModel = mDoExt_J3DModel__create(mdlData_p, 0x80000, 0x11000084); + if (mKomonshoModel == NULL) { + return 0; + } + } + + if (!setExpressionAnm(ANM_F_TALK_A, false)) { + return 0; + } + + switch (mMode) { + case 0: + setMotionAnm(ANM_SIT_A, 0.0f); + break; + + case 1: + setMotionAnm(ANM_WAIT_A, 0.0f); + break; + + case 2: + setMotionAnm(ANM_LOOKUP, 0.0f); + break; + + default: + JUT_ASSERT(545, 0); + break; + } + + return 1; +} + +/* 80AD90E0-80AD9114 000FC0 0034+00 1/1 0/0 0/0 .text Delete__11daNpcShad_cFv */ +int daNpcShad_c::Delete() { + this->~daNpcShad_c(); + return 1; +} + +/* 80AD9114-80AD9138 000FF4 0024+00 2/2 0/0 0/0 .text Execute__11daNpcShad_cFv */ +int daNpcShad_c::Execute() { + execute(); + return 1; +} + +/* 80AD9138-80AD9280 001018 0148+00 1/1 0/0 0/0 .text Draw__11daNpcShad_cFv */ +int daNpcShad_c::Draw() { + if (field_0xe1e == 0) { + return 1; + } + + mpMorf->getModel()->getModelData()->getMaterialNodePointer(1)->setMaterialAnm(mpMatAnm); + draw(FALSE, FALSE, daNpcShad_Param_c::m.common.real_shadow_size, NULL, FALSE); + + if (mBookKnifeModel != NULL) { + g_env_light.setLightTevColorType_MAJI(mBookKnifeModel, &tevStr); + mDoMtx_stack_c::copy(mpMorf->getModel()->getAnmMtx(JNT_FINGERL)); + mBookKnifeModel->setBaseTRMtx(mDoMtx_stack_c::get()); + mDoExt_modelUpdateDL(mBookKnifeModel); + } + + if (mKomonshoModel != NULL && (mMotion == MOT_TAKE_KOMON || mMotion == MOT_READ_KOMON)) { + g_env_light.setLightTevColorType_MAJI(mKomonshoModel, &tevStr); + mDoMtx_stack_c::copy(mpMorf->getModel()->getAnmMtx(JNT_FINGERR)); + mKomonshoModel->setBaseTRMtx(mDoMtx_stack_c::get()); + mDoExt_modelUpdateDL(mKomonshoModel); + } + + return 1; +} + +/* 80AD9280-80AD944C 001160 01CC+00 1/1 0/0 0/0 .text ctrlJoint__11daNpcShad_cFP8J3DJointP8J3DModel */ +int daNpcShad_c::ctrlJoint(J3DJoint* i_joint, J3DModel* i_model) { + int jntNo = i_joint->getJntNo(); + int lookatJoints[3] = {JNT_BACKBONE1, JNT_NECK, JNT_HEAD}; + + if (jntNo == JNT_CENTER) { + mDoMtx_stack_c::copy(mpMorf->getModel()->getAnmMtx(JNT_BACKBONE1)); + mDoMtx_stack_c::multVecZero(&mLookatPos[0]); + mDoMtx_stack_c::copy(mpMorf->getModel()->getAnmMtx(JNT_NECK)); + mDoMtx_stack_c::multVecZero(&mLookatPos[1]); + mDoMtx_stack_c::copy(mpMorf->getModel()->getAnmMtx(JNT_HEAD)); + mDoMtx_stack_c::multVecZero(&mLookatPos[2]); + } + + mDoMtx_stack_c::copy(i_model->getAnmMtx(jntNo)); + + switch (jntNo) { + case JNT_BACKBONE1: + case JNT_NECK: + case JNT_HEAD: + setLookatMtx(jntNo, lookatJoints, daNpcShad_Param_c::m.common.neck_rotation_ratio); + break; + } + + i_model->setAnmMtx(jntNo, mDoMtx_stack_c::get()); + MTXCopy(mDoMtx_stack_c::get(), J3DSys::mCurrentMtx); + + if ((jntNo == JNT_HEAD || jntNo == JNT_MOUTH) && (mAnmFlags & ANM_PLAY_BCK) != 0) { + J3DAnmTransform* anmTransform = mBckAnm.getBckAnm(); + mBckAnm.changeBckOnly(mpMorf->getAnm()); + mpMorf->changeAnm(anmTransform); + } + + return 1; +} + +/* 80AD944C-80AD946C 00132C 0020+00 1/1 0/0 0/0 .text createHeapCallBack__11daNpcShad_cFP10fopAc_ac_c */ +int daNpcShad_c::createHeapCallBack(fopAc_ac_c* a_this) { + daNpcShad_c* i_this = (daNpcShad_c*)a_this; + return i_this->CreateHeap(); +} + +/* 80AD946C-80AD94B8 00134C 004C+00 1/1 0/0 0/0 .text ctrlJointCallBack__11daNpcShad_cFP8J3DJointi */ +int daNpcShad_c::ctrlJointCallBack(J3DJoint* i_joint, int param_2) { + if (param_2 == 0) { + J3DModel* model = j3dSys.getModel(); + daNpcShad_c* i_this = (daNpcShad_c*)model->getUserArea(); + + if (i_this != NULL) { + i_this->ctrlJoint(i_joint, model); + } + } + + return 1; +} + +/* 80AD94B8-80AD974C 001398 0294+00 2/0 0/0 0/0 .text setExpressionAnm__11daNpcShad_cFib */ +bool daNpcShad_c::setExpressionAnm(int i_idx, bool i_modify) { + J3DAnmTransform* anmTransform; + mAnmFlags &= 0xFFFFE03F; + + if (l_bckGetParamList[i_idx].fileIdx >= 0) { + anmTransform = (J3DAnmTransform*)getTrnsfrmKeyAnmP(l_arcNames[l_bckGetParamList[i_idx].arcIdx], l_bckGetParamList[i_idx].fileIdx); + } else { + anmTransform = NULL; + } + + int i_attr = l_bckGetParamList[i_idx].attr; + bool bVar1 = false; + + switch (i_idx) { + case ANM_NONE: + bVar1 = setExpressionBtp(EXPR_BTP_SHAD); + break; + + case ANM_F_TALK_A: + bVar1 = setExpressionBtp(EXPR_BTP_SHAD); + break; + + case ANM_F_HAPPY: + bVar1 = setExpressionBtp(EXPR_BTP_F_HAPPY); + break; + + case ANM_F_ANGER: + bVar1 = setExpressionBtp(EXPR_BTP_F_ANGER); + break; + + case ANM_F_DISCOURAGED: + bVar1 = setExpressionBtp(EXPR_BTP_F_DISCOURAGED); + break; + + case ANM_F_CHANT: + bVar1 = setExpressionBtp(EXPR_BTP_SHAD); + break; + + case ANM_F_KOMON: + bVar1 = setExpressionBtp(EXPR_BTP_F_KOMON); + break; + + case ANM_F_SURPRISE: + bVar1 = setExpressionBtp(EXPR_BTP_F_SURPRISE); + break; + + case ANM_FH_SURPRISE: + bVar1 = setExpressionBtp(EXPR_BTP_FH_SURPRISE); + break; + + case ANM_FH_KOMON: + bVar1 = setExpressionBtp(EXPR_BTP_FH_KOMON); + break; + + case ANM_FH_HAPPY: + bVar1 = setExpressionBtp(EXPR_BTP_FH_HAPPY); + break; + + case ANM_FH_ANGER: + bVar1 = setExpressionBtp(EXPR_BTP_FH_ANGER); + break; + + case ANM_FH_DISCOURAGED: + bVar1 = setExpressionBtp(EXPR_BTP_FH_DISCOURAGED); + break; + + default: + anmTransform = NULL; + } + + if (!bVar1) { + return false; + } + + if (anmTransform == NULL) { + return true; + } + + if (setBckAnm(anmTransform, 1.0f, i_attr, 0, -1, i_modify)) { + mAnmFlags |= ANM_PLAY_BCK | ANM_PAUSE_BCK; + mExpressionLoops = 0; + return true; + } + + OS_REPORT("%s: 表情Bckアニメーションの登録に失敗しました!\n", "d_a_npc_shad.cpp"); // %s: Failed to register expression Bck animation! + return false; +} + +/* 80AD974C-80AD982C 00162C 00E0+00 1/0 0/0 0/0 .text setExpressionBtp__11daNpcShad_cFi */ +bool daNpcShad_c::setExpressionBtp(int i_idx) { + J3DAnmTexPattern* anmTexPattern = getTexPtrnAnmP(l_arcNames[l_btpGetParamList[i_idx].arcIdx], l_btpGetParamList[i_idx].fileIdx); + int i_attr = l_btpGetParamList[i_idx].attr; + + mAnmFlags &= 0xFFFFF57F; + + if (anmTexPattern == NULL) { + return true; + } + + if (setBtpAnm(anmTexPattern, mpMorf->getModel()->getModelData(), 1.0f, i_attr)) { + mAnmFlags |= ANM_PLAY_BTP | ANM_PAUSE_BTP; + + if (i_idx == 0) { + mAnmFlags |= ANM_FLAG_800; + } + + return true; + } + + OS_REPORT("%s: 表情Btpアニメーションの登録に失敗しました!\n", "d_a_npc_shad.cpp"); // %s: Failed to register expression Btp animation! + return false; +} + +/* 80AD982C-80AD99B4 00170C 0188+00 1/0 0/0 0/0 .text setMotionAnm__11daNpcShad_cFif */ +void daNpcShad_c::setMotionAnm(int i_idx, f32 i_morf) { + J3DAnmTransformKey* anmTransformKey = getTrnsfrmKeyAnmP(l_arcNames[l_bckGetParamList[i_idx].arcIdx], l_bckGetParamList[i_idx].fileIdx); + int i_attr = l_bckGetParamList[i_idx].attr; + + mAnmFlags &= 0xFFFFFFC0; + + if (anmTransformKey != NULL && setMcaMorfAnm(anmTransformKey, 1.0f, i_morf, i_attr, 0, -1)) { + mAnmFlags |= ANM_PLAY_MORF | ANM_PAUSE_MORF; + mMotionLoops = 0; + } + + int i_index = 0; + switch (i_idx) { + case ANM_DISCOURAGED: + i_index = 1; + break; + + case ANM_DISCOURAGED_WAIT: + i_index = 2; + break; + + case ANM_TAKE_KOMON: + i_index = 3; + break; + + case ANM_READ_KOMON: + i_index = 4; + break; + } + + J3DAnmTextureSRTKey* anmTextureSRTKey = getTexSRTKeyAnmP(l_arcNames[l_btkGetParamList[i_index].arcIdx], l_btkGetParamList[i_index].fileIdx); + i_attr = l_btkGetParamList[i_index].attr; + + if (anmTextureSRTKey != NULL) { + if (setBtkAnm(anmTextureSRTKey, mpMorf->getModel()->getModelData(), 1.0f, i_attr)) { + mAnmFlags |= ANM_PLAY_BTK | ANM_PAUSE_BTK; + } + } +} + +/* 80AD99B4-80AD9C0C 001894 0258+00 1/1 0/0 0/0 .text reset__11daNpcShad_cFv */ +void daNpcShad_c::reset() { + initialize(); + mpMatAnm->initialize(); + mLookat.initialize(); + + for (int i = 0; i < 5; i++) { + mActorMngr[i].initialize(); + } + + field_0xe0c = 0; + field_0xe10 = 0; + mActionFn = NULL; + mLookMode = -1; + field_0xe1a = 0; + field_0xe1e = 1; + field_0xe1f = 0; + + if (isSneaking()) { + attention_info.distances[0] = 78; + attention_info.distances[1] = attention_info.distances[0]; + attention_info.distances[3] = 77; + attention_info.flags |= 0x800000; + } else if (mMode == 0) { + attention_info.distances[0] = getDistTableIdx(3, 3); + attention_info.distances[1] = attention_info.distances[0]; + attention_info.distances[3] = getDistTableIdx(2, 3); + } else { + attention_info.distances[0] = getDistTableIdx(daNpcShad_Param_c::m.common.attention_distance, daNpcShad_Param_c::m.common.attention_angle); + attention_info.distances[1] = attention_info.distances[0]; + attention_info.distances[3] = getDistTableIdx(daNpcShad_Param_c::m.common.talk_distance, daNpcShad_Param_c::m.common.talk_angle); + } + + current.pos = home.pos; + old.pos = current.pos; + current.angle.set(0, home.angle.y, 0); + old.angle = current.angle; + shape_angle = current.angle; + mCurAngle = current.angle; + mOldAngle = mCurAngle; + speedF = 0.0f; + speed.setall(0.0f); + mItemPartnerId = fpcM_ERROR_PROCESS_ID_e; + mOrderEvtNo = 0; + mExpressionMorfOverride = 0.0f; + mMotionMorfOverride = 0.0f; + + if (isSneaking()) { + fopAcM_OnStatus(this, fopAcM_STATUS_UNK_004000); + } + + setWaitAction(); +} + +/* 80AD9C0C-80AD9E04 001AEC 01F8+00 1/1 0/0 0/0 .text setWaitAction__11daNpcShad_cFv */ +inline void daNpcShad_c::setWaitAction() { + switch (mMode) { + case 0: + setAction(&daNpcShad_c::wait_type0); + break; + + case 1: + setAction(&daNpcShad_c::wait_type1); + break; + + case 2: + setAction(&daNpcShad_c::wait_type2); + break; + + default: + JUT_ASSERT(1379, 0); + } +} + +/* 80AD9E04-80AD9E90 001CE4 008C+00 1/1 0/0 0/0 .text getPathPoint__11daNpcShad_cFUciP3Vec */ +inline bool daNpcShad_c::getPathPoint(u8 i_pathIndex, int i_pntIndex, Vec* param_3) { + dPath* path = dPath_GetRoomPath(i_pathIndex, fopAcM_GetRoomNo(this)); + if (path == NULL) { + return false; + } + + dPnt* pnt = dPath_GetPnt(path, i_pntIndex); + if (pnt == NULL) { + return false; + } + + *param_3 = pnt->m_position; + return true; +} + +/* 80AD9E90-80AD9F00 001D70 0070+00 1/1 0/0 0/0 .text isSneaking__11daNpcShad_cFv */ +inline bool daNpcShad_c::isSneaking() { + if (strcmp(dComIfGp_getStartStageName(), "R_SP116") == 0 && dComIfGp_getStartStageRoomNo() == 5 && dComIfG_play_c::getLayerNo(0) == 2) { + return true; + } + + return false; +} + +/* 80AE0B58-80AE0ED0 008A38 0378+00 1/1 0/0 0/0 .text playExpression__11daNpcShad_cFv */ +void daNpcShad_c::playExpression() { + daNpcF_anmPlayData dat0 = {ANM_F_TALK_A, daNpcShad_Param_c::m.common.morf_frame, 0}; + daNpcF_anmPlayData* pDat0[1] = {&dat0}; + daNpcF_anmPlayData dat1a = {ANM_F_HAPPY, daNpcShad_Param_c::m.common.morf_frame, 1}; + daNpcF_anmPlayData dat1b = {ANM_FH_HAPPY, 0.0f, 0}; + daNpcF_anmPlayData* pDat1[2] = {&dat1a, &dat1b}; + daNpcF_anmPlayData dat2a = {ANM_F_ANGER, daNpcShad_Param_c::m.common.morf_frame, 1}; + daNpcF_anmPlayData dat2b = {ANM_FH_ANGER, 0.0f, 0}; + daNpcF_anmPlayData* pDat2[2] = {&dat2a, &dat2b}; + daNpcF_anmPlayData dat3a = {ANM_F_DISCOURAGED, daNpcShad_Param_c::m.common.morf_frame, 1}; + daNpcF_anmPlayData dat3b = {ANM_FH_DISCOURAGED, 0.0f, 0}; + daNpcF_anmPlayData* pDat3[2] = {&dat3a, &dat3b}; + daNpcF_anmPlayData dat4 = {ANM_F_KOMON, daNpcShad_Param_c::m.common.morf_frame, 0}; + daNpcF_anmPlayData* pDat4[1] = {&dat4}; + daNpcF_anmPlayData dat5 = {ANM_F_SURPRISE, 0.0f, 0}; + daNpcF_anmPlayData* pDat5[1] = {&dat5}; + daNpcF_anmPlayData dat6 = {ANM_FH_SURPRISE, 0.0f, 0}; + daNpcF_anmPlayData* pDat6[1] = {&dat6}; + daNpcF_anmPlayData dat7 = {ANM_FH_KOMON, 0.0f, 0}; + daNpcF_anmPlayData* pDat7[1] = {&dat7}; + daNpcF_anmPlayData dat8 = {ANM_FH_HAPPY, 0.0f, 0}; + daNpcF_anmPlayData* pDat8[1] = {&dat8}; + daNpcF_anmPlayData dat9 = {ANM_FH_ANGER, 0.0f, 0}; + daNpcF_anmPlayData* pDat9[1] = {&dat9}; + daNpcF_anmPlayData dat10 = {ANM_FH_DISCOURAGED, 0.0f, 0}; + daNpcF_anmPlayData* pDat10[1] = {&dat10}; + daNpcF_anmPlayData dat11 = {ANM_F_CHANT, daNpcShad_Param_c::m.common.morf_frame, 0}; + daNpcF_anmPlayData* pDat11[1] = {&dat11}; + daNpcF_anmPlayData dat12 = {ANM_NONE, daNpcShad_Param_c::m.common.morf_frame, 0}; + daNpcF_anmPlayData* pDat12[1] = {&dat12}; + daNpcF_anmPlayData** ppDat[13] = { + pDat0, pDat1, pDat2, pDat3, pDat4, + pDat5, pDat6, pDat7, pDat8, pDat9, + pDat10, pDat11, pDat12, + }; + + if (mExpression >= 0 && mExpression < 0xD) { + playExpressionAnm(ppDat); + } +} + +/* 80AE04D8-80AE0B58 0083B8 0680+00 1/1 0/0 0/0 .text playMotion__11daNpcShad_cFv */ +void daNpcShad_c::playMotion() { + daNpcF_anmPlayData dat0 = {ANM_WAIT_A, daNpcShad_Param_c::m.common.morf_frame, 0}; + daNpcF_anmPlayData* pDat0[1] = {&dat0}; + daNpcF_anmPlayData dat1a = {ANM_BOOK_TALK_A, daNpcShad_Param_c::m.common.morf_frame, 1}; + daNpcF_anmPlayData dat1b = {ANM_BOOK_WAIT, 0.0f, 0}; + daNpcF_anmPlayData* pDat1[2] = {&dat1a, &dat1b}; + daNpcF_anmPlayData dat2 = {ANM_BOOK_WAIT, daNpcShad_Param_c::m.common.morf_frame, 0}; + daNpcF_anmPlayData* pDat2[1] = {&dat2}; + daNpcF_anmPlayData dat3a = {ANM_HI, daNpcShad_Param_c::m.common.morf_frame, 1}; + daNpcF_anmPlayData dat3b = {ANM_WAIT_A, 0.0f, 0}; + daNpcF_anmPlayData* pDat3[2] = {&dat3a, &dat3b}; + daNpcF_anmPlayData dat4 = {ANM_SIT_A, daNpcShad_Param_c::m.common.morf_frame, 0}; + daNpcF_anmPlayData* pDat4[1] = {&dat4}; + daNpcF_anmPlayData dat5a = {ANM_LOOKBACK, daNpcShad_Param_c::m.common.morf_frame, 1}; + daNpcF_anmPlayData dat5b = {ANM_WAIT_A, 0.0f, 0}; + daNpcF_anmPlayData* pDat5[2] = {&dat5a, &dat5b}; + daNpcF_anmPlayData dat6a = {ANM_DISCOURAGED, daNpcShad_Param_c::m.common.morf_frame, 1}; + daNpcF_anmPlayData dat6b = {ANM_DISCOURAGED_WAIT, 0.0f, 0}; + daNpcF_anmPlayData* pDat6[2] = {&dat6a, &dat6b}; + daNpcF_anmPlayData dat7 = {ANM_DISCOURAGED_WAIT, daNpcShad_Param_c::m.common.morf_frame, 0}; + daNpcF_anmPlayData* pDat7[1] = {&dat7}; + daNpcF_anmPlayData dat8a = {ANM_TALK_A, daNpcShad_Param_c::m.common.morf_frame, 1}; + daNpcF_anmPlayData dat8b = {ANM_WAIT_A, daNpcShad_Param_c::m.common.morf_frame, 0}; + daNpcF_anmPlayData* pDat8[2] = {&dat8a, &dat8b}; + daNpcF_anmPlayData dat9a = {ANM_SITTALK_A, daNpcShad_Param_c::m.common.morf_frame, 1}; + daNpcF_anmPlayData dat9b = {ANM_SIT_A, daNpcShad_Param_c::m.common.morf_frame, 0}; + daNpcF_anmPlayData* pDat9[2] = {&dat9a, &dat9b}; + daNpcF_anmPlayData dat10a = {ANM_LOOK, daNpcShad_Param_c::m.common.morf_frame, 1}; + daNpcF_anmPlayData dat10b = {ANM_LOOK_WAIT, 0.0f, 0}; + daNpcF_anmPlayData* pDat10[2] = {&dat10a, &dat10b}; + daNpcF_anmPlayData dat11a = {ANM_TAKE_KOMON, daNpcShad_Param_c::m.common.morf_frame, 1}; + daNpcF_anmPlayData dat11b = {ANM_READ_KOMON, 0.0f, 0}; + daNpcF_anmPlayData* pDat11[2] = {&dat11a, &dat11b}; + daNpcF_anmPlayData dat12 = {ANM_READ_KOMON, daNpcShad_Param_c::m.common.morf_frame, 0}; + daNpcF_anmPlayData* pDat12[1] = {&dat12}; + daNpcF_anmPlayData dat13 = {ANM_LOOK_WAIT, daNpcShad_Param_c::m.common.morf_frame, 0}; + daNpcF_anmPlayData* pDat13[1] = {&dat13}; + daNpcF_anmPlayData dat14a = {ANM_SURPRISE, daNpcShad_Param_c::m.common.morf_frame, 1}; + daNpcF_anmPlayData dat14b = {ANM_SURPRISE_WAIT, 0.0f, 0}; + daNpcF_anmPlayData* pDat14[2] = {&dat14a, &dat14b}; + daNpcF_anmPlayData dat15 = {ANM_SURPRISE_WAIT, daNpcShad_Param_c::m.common.morf_frame, 0}; + daNpcF_anmPlayData* pDat15[1] = {&dat15}; + daNpcF_anmPlayData dat16 = {ANM_LOOKUP, daNpcShad_Param_c::m.common.morf_frame, 0}; + daNpcF_anmPlayData* pDat16[1] = {&dat16}; + daNpcF_anmPlayData dat17 = {ANM_SAD_WALK, daNpcShad_Param_c::m.common.morf_frame, 0}; + daNpcF_anmPlayData* pDat17[1] = {&dat17}; + daNpcF_anmPlayData dat18 = {ANM_CHANT, daNpcShad_Param_c::m.common.morf_frame, 0}; + daNpcF_anmPlayData* pDat18[1] = {&dat18}; + daNpcF_anmPlayData dat19 = {ANM_RUN_A, 4.0f, 0}; + daNpcF_anmPlayData* pDat19[1] = {&dat19}; + daNpcF_anmPlayData dat20 = {ANM_WALK_A, 4.0f, 0}; + daNpcF_anmPlayData* pDat20[1] = {&dat20}; + daNpcF_anmPlayData dat21 = {ANM_STEP, 4.0f, 0}; + daNpcF_anmPlayData* pDat21[1] = {&dat21}; + daNpcF_anmPlayData dat22 = {ANM_STEPB, 0.0f, 0}; + daNpcF_anmPlayData* pDat22[1] = {&dat22}; + daNpcF_anmPlayData** ppDat[23] = { + pDat0, pDat1, pDat2, pDat3, pDat4, + pDat5, pDat6, pDat7, pDat8, pDat9, + pDat10, pDat11, pDat12, pDat13, pDat14, + pDat15, pDat16, pDat17, pDat18, pDat19, + pDat20, pDat21, pDat22, + }; + + if (mMotion >= 0 && mMotion < 23) { + playMotionAnm(ppDat); + } +} + +// This is probably incorrect but was the only way I could get the proper order for rodata that is used later in lookat() +inline csXyz* daNpcShad_c::unk_inline() { + csXyz* local_fc[3] = {&mLookatAngle[0], &mLookatAngle[1], &mLookatAngle[2]}; + return *local_fc; +} + +inline BOOL daNpcShad_c::chkFindPlayer() { + f32 fVar1; + if (mMode == 0) { + fVar1 = 135.0f; + } else { + fVar1 = daNpcShad_Param_c::m.common.fov; + } + + if (!chkActorInSight(daPy_getPlayerActorClass(), fVar1)) { + mActorMngr[0].remove(); + return FALSE; + } + + BOOL rv; + if (mActorMngr[0].getActorP() == NULL) { + rv = chkPlayerInSpeakArea(this); + } else { + rv = chkPlayerInTalkArea(this); + } + + if (rv) { + mActorMngr[0].entry(daPy_getPlayerActorClass()); + } else { + mActorMngr[0].remove(); + } + + return rv; +} + +inline void daNpcShad_c::setLookMode(int i_lookMode, fopAc_ac_c* param_2, cXyz* param_3) { + switch (i_lookMode) { + case LOOK_NONE: + case LOOK_RESET: + case LOOK_PLAYER: + case LOOK_PLAYER_TALK: + case LOOK_ACTOR: + if (mLookMode != i_lookMode || (daPy_py_c*)param_2 != field_0xca8) { + mLookMode = i_lookMode; + field_0xca8 = (daPy_py_c*)param_2; + } + break; + + case LOOK_ATTN: + mLookMode = i_lookMode; + field_0xca8 = NULL; + + if (param_3 != NULL) { + mLookPos.set(*param_3); + } + break; + } +} + +inline BOOL daNpcShad_c::step(s16 i_targetAngle, int i_motion, f32 i_rate) { + if (mTurnMode == 0) { + if (i_motion != -1) { + if ((int)fabsf(cM_sht2d((s16)(i_targetAngle - mCurAngle.y))) > 40) { + setExpression(EXPR_NONE, -1.0f); + setMotion(i_motion, -1.0f, FALSE); + } + } + + mTurnTargetAngle = i_targetAngle; + mTurnAmount = 0; + + if (mCurAngle.y == mTurnTargetAngle) { + mTurnMode++; + } + + current.angle.y = mCurAngle.y; + shape_angle.y = current.angle.y; + mTurnMode++; + } else if (mTurnMode == 1) { + if (turn(mTurnTargetAngle, i_rate, 0)) { + shape_angle.y = current.angle.y; + mCurAngle.y = current.angle.y; + mOldAngle.y = current.angle.y; + mTurnMode++; + } else { + shape_angle.y = current.angle.y; + mCurAngle.y = current.angle.y; + } + } + + return mTurnMode > 1; +} + +/* 80AD9F00-80ADA630 001DE0 0730+00 1/0 0/0 0/0 .text wait_type0__11daNpcShad_cFPv */ +bool daNpcShad_c::wait_type0(void* param_1) { + // NONMATCHING + switch (field_0xe1a) { + case 0: + setExpression(EXPR_NONE, -1.0f); + setMotion(MOT_SIT_A, -1.0f, FALSE); + mTurnMode = 0; + speedF = 0.0f; + field_0xe1a = 2; + break; + + case 2: + if (isSneaking()) { + setLookMode(LOOK_NONE, NULL, NULL); + } else { + if (mActorMngr[0].getActorP() != NULL) { + if (!chkFindPlayer()) { + mTurnMode = 0; + } + } else { + if (chkFindPlayer()) { + mTurnMode = 0; + } + } + + if (mActorMngr[0].getActorP() != NULL) { + setLookMode(LOOK_PLAYER, NULL, NULL); + } else { + setLookMode(LOOK_NONE, NULL, NULL); + + if (home.angle.y != mCurAngle.y && step(home.angle.y, MOT_STEP, 15.0f)) { + setExpression(EXPR_NONE, -1.0f); + setMotion(MOT_SIT_A, -1.0f, FALSE); + mTurnMode = 0; + } + } + } + + if (dComIfGp_event_runCheck()) { + if (eventInfo.checkCommandTalk()) { + if (!dComIfGp_event_chkTalkXY() || dComIfGp_evmng_ChkPresentEnd()) { + if (isSneaking()) { + mOrderEvtNo = 12; + changeEvent(l_evtArcs[mOrderEvtNo], l_evtNames[mOrderEvtNo], 1, 0xFFFF); + } else { + setAction(&daNpcShad_c::talk); + } + } + } else { + if (dComIfGp_getEventManager().getMyStaffId(l_myName, NULL, 0) != -1) { + setAction(&daNpcShad_c::demo); + } + } + } else { + if (mOrderEvtNo != 0) { + eventInfo.setArchiveName(l_evtArcs[mOrderEvtNo]); + } + + char* event; + if (mOrderEvtNo != 0) { + event = l_evtNames[mOrderEvtNo]; + } else { + event = NULL; + } + orderEvent(mOrderSpeakEvt, event, 0xFFFF, 40, 0xFF, 1); + } + break; + + case 3: + break; + + default: + JUT_ASSERT(1747, 0); + } + + return true; +} + +/* 80ADA630-80ADA674 002510 0044+00 1/0 0/0 0/0 .text setMotion__11daNpcShad_cFifi */ +void daNpcShad_c::setMotion(int i_motion, f32 i_morf, BOOL i_restart) { + s16 motion = i_motion; + if ((i_restart || mMotion != motion) && i_motion >= 0 && i_motion < 0x17) { + mMotion = motion; + mMotionMorfOverride = i_morf; + mMotionPrevPhase = -1; + mMotionPhase = 0; + } +} + +/* 80ADA674-80ADA6A0 002554 002C+00 1/0 0/0 0/0 .text setExpression__11daNpcShad_cFif */ +void daNpcShad_c::setExpression(int i_expression, f32 i_morf) { + if (i_expression >= 0 && i_expression < 0xD) { + mExpression = i_expression; + mExpressionMorfOverride = i_morf; + mExpressionPrevPhase = -1; + mExpressionPhase = 0; + } +} + +/* 80ADA6A0-80ADB428 002580 0D88+00 1/0 0/0 0/0 .text wait_type1__11daNpcShad_cFPv */ +bool daNpcShad_c::wait_type1(void* param_1) { + // NONMATCHING + switch (field_0xe1a) { + case 0: + if (daNpcF_chkEvtBit(0x12F) && !daNpcF_chkEvtBit(0x312)) { + setExpression(EXPR_H_DISCOURAGED, -1.0f); + setMotion(MOT_DISCOURAGED_WAIT, -1.0f, FALSE); + } else { + setExpression(EXPR_NONE, -1.0f); + setMotion(MOT_WAIT_A, -1.0f, FALSE); + } + + mActorMngr[0].remove(); + setLookMode(LOOK_NONE, NULL, NULL); + mTurnMode = 0; + speedF = 0.0f; + field_0xe1c = fopAcM_searchPlayerAngleY(this); + field_0xe1a = 2; + break; + + case 2: + if (daNpcF_chkEvtBit(0x312)) { + setLookMode(LOOK_PLAYER, NULL, NULL); + + if (mCurAngle.y == field_0xe1c) { + if (fopAcM_seenPlayerAngleY(this) > cM_deg2s(daNpcShad_Param_c::m.common.body_angleY_max + daNpcShad_Param_c::m.common.head_angleY_max)) { + field_0xe1c = fopAcM_searchPlayerAngleY(this); + } + } else if (step(field_0xe1c, MOT_STEPB, 30.0f)) { + setExpression(EXPR_NONE, -1.0f); + setMotion(MOT_WAIT_A, -1.0f, FALSE); + mTurnMode = 0; + } + + if (fopAcM_GetPosition_p(daPy_getPlayerActorClass())->x <= 3750.0f) { + mOrderEvtNo = 10; + } + } else if (daNpcF_chkEvtBit(0x12F)) { + daTag_EvtArea_c* tag = (daTag_EvtArea_c*)mActorMngr[4].getActorP(); + if (tag != NULL) { + if (tag->chkPointInArea(*fopAcM_GetPosition_p(daPy_getPlayerActorClass()))) { + field_0xe14 = 67; + daNpcF_offTmpBit(0xB); + daNpcF_offTmpBit(0xC); + daNpcF_offTmpBit(0xD); + mOrderEvtNo = 6; + fopAcM_delete(tag); + } + } + } else if (field_0xe1f != 0) { + setLookMode(LOOK_PLAYER, NULL, NULL); + + if (mCurAngle.y == field_0xe1c) { + if (fopAcM_seenPlayerAngleY(this) > cM_deg2s(daNpcShad_Param_c::m.common.body_angleY_max + daNpcShad_Param_c::m.common.head_angleY_max)) { + field_0xe1c = fopAcM_searchPlayerAngleY(this); + } + } else if (step(field_0xe1c, MOT_STEPB, 30.0f)) { + setExpression(EXPR_NONE, -1.0f); + setMotion(MOT_WAIT_A, -1.0f, FALSE); + mTurnMode = 0; + } + + if (fopAcM_searchPlayerDistanceXZ(this) > 400.0f) { + field_0xe1f = 0; + } + } else { + if (mActorMngr[0].getActorP() != NULL) { + if (!chkFindPlayer()) { + mTurnMode = 0; + } + } else if (chkFindPlayer()) { + mTurnMode = 0; + } + + if (mActorMngr[0].getActorP() != NULL) { + setLookMode(LOOK_PLAYER, NULL, NULL); + } else { + setLookMode(LOOK_NONE, NULL, NULL); + if (home.angle.y != mCurAngle.y && step(home.angle.y, MOT_STEP, 15.0f)) { + setExpression(EXPR_NONE, -1.0f); + setMotion(MOT_WAIT_A, -1.0f, FALSE); + mTurnMode = 0; + } + } + } + + if (dComIfGp_event_runCheck()) { + if (eventInfo.checkCommandTalk()) { + if (dComIfGp_event_chkTalkXY()) { + if (!dComIfGp_evmng_ChkPresentEnd()) { + return true; + } + + u8 sVar1 = dComIfGp_event_getPreItemNo(); + if (sVar1 == 0xE9) { + field_0xe14 = 64; + daNpcF_offTmpBit(0xB); + daNpcF_offTmpBit(0xC); + daNpcF_offTmpBit(0xD); + daNpcF_offTmpBit(0xE); + mOrderEvtNo = 3; + changeEvent(l_evtArcs[mOrderEvtNo], l_evtNames[mOrderEvtNo], 1, 0xFFFF); + } else if (sVar1 == 0xEB) { + field_0xe14 = 65; + daNpcF_offTmpBit(0xB); + daNpcF_offTmpBit(0xC); + daNpcF_offTmpBit(0xD); + mOrderEvtNo = 4; + changeEvent(l_evtArcs[mOrderEvtNo], l_evtNames[mOrderEvtNo], 1, 0xFFFF); + } else { + s16 eventIdx = dComIfGp_getEventManager().getEventIdx(this, "NO_RESPONSE", 0xFF); + dComIfGp_getEvent().reset(this); + fopAcM_orderChangeEventId(this, eventIdx, 1, 0xFFFF); + } + } else if (daNpcF_chkEvtBit(0x313)) { + field_0xe14 = 68; + daNpcF_offTmpBit(0xB); + mOrderEvtNo = 8; + changeEvent(l_evtArcs[mOrderEvtNo], l_evtNames[mOrderEvtNo], 1, 0xFFFF); + } else { + setAction(&daNpcShad_c::talk); + } + } else if (dComIfGp_getEventManager().getMyStaffId(l_myName, NULL, 0) != -1) { + setAction(&daNpcShad_c::demo); + } + } else { + if (!daNpcF_chkEvtBit(0x12F)) { + eventInfo.onCondition(0x20); + } + + if (mOrderEvtNo != 0) { + eventInfo.setArchiveName(l_evtArcs[mOrderEvtNo]); + } + + char* event; + if (mOrderEvtNo != 0) { + event = l_evtArcs[mOrderEvtNo]; + } else { + event = NULL; + } + orderEvent(mOrderSpeakEvt, event, 0xFFFF, 40, 0xFF, 1); + } + break; + + case 3: + break; + + default: + JUT_ASSERT(1915, 0); + } + + return true; +} + +/* 80ADB428-80ADB628 003308 0200+00 1/0 0/0 0/0 .text wait_type2__11daNpcShad_cFPv */ +bool daNpcShad_c::wait_type2(void* param_1) { + switch (field_0xe1a) { + case 0: + setExpression(EXPR_H_HAPPY, -1.0f); + setMotion(MOT_LOOKUP, -1.0f, FALSE); + mTurnMode = 0; + speedF = 0.0f; + mActorMngr[0].entry(daPy_getPlayerActorClass()); + setLookMode(LOOK_NONE, NULL, NULL); + field_0xe1a = 2; + break; + + case 2: + switch (field_0xe10) { + case 0: + if (daNpcF_chkTmpBit(0x76)) { + current.pos.set(-4532.0845f, 0.0f, 8555.381f); + old.pos = current.pos; + setAngle(-0x6000); + field_0xe10++; + } + break; + + case 1: + if (daNpcF_chkTmpBit(0x74)) { + setAction(&daNpcShad_c::leave); + } + break; + + default: + JUT_ASSERT(1957, 0); + break; + } + break; + + case 3: + break; + + default: + JUT_ASSERT(1962, 0); + break; + } + + return true; +} + +inline void daNpcShad_c::setExpressionTalkAfter() { + switch (mExpression) { + case 1: + setExpression(EXPR_H_HAPPY, -1.0f); + break; + + case 2: + setExpression(EXPR_H_ANGER, -1.0f); + break; + + case 3: + setExpression(EXPR_H_DISCOURAGED, -1.0f); + break; + + case 4: + setExpression(EXPR_H_KOMON, -1.0f); + break; + + default: + setExpression(EXPR_NONE, -1.0f); + } +} + +/* 80ADB628-80ADBEA8 003508 0880+00 2/0 0/0 0/0 .text talk__11daNpcShad_cFPv */ +bool daNpcShad_c::talk(void* param_1) { + int itemNo, i_expression, i_motion, i_msgTimer; + u16 eventID; + s16 eventIdx; + bool rv = false; + + switch (field_0xe1a) { + case 0: + initTalk(field_0xe14, NULL); + mTurnMode = 0; + mMsgTimer = 0; + speedF = 0.0f; + setLookMode(LOOK_PLAYER_TALK, NULL, NULL); + field_0xe1a = 2; + break; + + case 2: + if (strcmp(dComIfGp_getStartStageName(), "R_SP116") == 0 || mCurAngle.y == fopAcM_searchPlayerAngleY(this)) { + if (talkProc(NULL, TRUE, NULL)) { + mActorMngr[0].entry(daPy_getPlayerActorClass()); + itemNo = NULL; + eventID = mFlow.getEventId(&itemNo); + OS_REPORT("会話終了時 イベントID=%d アイテムNo=%d\n", eventID, itemNo); // At the end of the conversation, Event ID=%d Item No=%d + + if (eventID == 1) { + mItemPartnerId = fopAcM_createItemForPresentDemo(¤t.pos, itemNo, 0, -1, -1, NULL, NULL); + + if (mItemPartnerId != fpcM_ERROR_PROCESS_ID_e) { + eventIdx = dComIfGp_getEventManager().getEventIdx(this, "DEFAULT_GETITEM", 0xFF); + dComIfGp_getEvent().reset(this); + fopAcM_orderChangeEventId(this, eventIdx, 1, 0xFFFF); + field_0x9ec = true; + setWaitAction(); + } + } else { + setWaitAction(); + } + + rv = true; + } else { + i_msgTimer = mMsgTimer; + if (ctrlMsgAnm(i_expression, i_motion, this, FALSE)) { + setExpression(i_expression, -1.0f); + setMotion(i_motion, -1.0f, FALSE); + } else if (i_msgTimer != 0 && mMsgTimer == 0) { + setExpressionTalkAfter(); + } + } + } else if (step(fopAcM_searchPlayerAngleY(this), MOT_STEP, 15.0f)) { + setMotion(MOT_WAIT_A, -1.0f, FALSE); + mTurnMode = 0; + } + break; + + case 3: + field_0xe1f = 1; + field_0xe14 = field_0xe16; + setExpression(EXPR_NONE, -1.0f); + + if (!field_0x9ec) { + dComIfGp_event_reset(); + } + break; + + default: + JUT_ASSERT(2042, 0); + break; + } + + return rv; +} + +/* 80ADBEA8-80ADC3DC 003D88 0534+00 2/0 0/0 0/0 .text demo__11daNpcShad_cFPv */ +bool daNpcShad_c::demo(void* param_1) { + // NONMATCHING + int iVar1, iVar2; + dEvent_manager_c* eventManager; + + switch (field_0xe1a) { + case 0: + setExpression(EXPR_NONE, -1.0f); + setMotion(MOT_WAIT_A, -1.0f, FALSE); + field_0xe1a = 2; + // fallthrough + case 2: + if (dComIfGp_event_runCheck() && !eventInfo.checkCommandTalk()) { + eventManager = &dComIfGp_getEventManager(); + iVar1 = eventManager->getMyStaffId(l_myName, NULL, 0); + if (iVar1 != -1) { + mStaffID = iVar1; + iVar2 = eventManager->getMyActIdx(iVar1, l_evtNames, 14, 0, 0); + + if (iVar2 > 0 && iVar2 < 14) { + mOrderEvtNo = iVar2; + } + + JUT_ASSERT(2082, 0 != mEvtSeqList[mOrderEvtNo]); + + if ((this->*mEvtSeqList[mOrderEvtNo])(iVar1)) { + eventManager->cutEnd(iVar1); + } + } + + if (eventInfo.checkCommandDemoAccrpt() && mEventIdx != -1 && eventManager->endCheck(mEventIdx)) { + dComIfGp_event_reset(); + mOrderEvtNo = 0; + mEventIdx = -1; + setWaitAction(); + } + } else { + mOrderEvtNo = 0; + mEventIdx = -1; + setWaitAction(); + } + break; + + case 3: + break; + + default: + JUT_ASSERT(2114, 0); + break; + } + + return true; +} + +/* 80ADC3DC-80ADC700 0042BC 0324+00 1/0 0/0 0/0 .text leave__11daNpcShad_cFPv */ +bool daNpcShad_c::leave(void* param_1) { + cXyz sp28(-6253.387f, 0.0f, 6251.7603f); + + switch (field_0xe1a) { + case 0: + setExpression(EXPR_NONE, -1.0f); + setMotion(MOT_RUN_A, -1.0f, FALSE); + mTurnMode = 0; + speedF = daNpcShad_Param_c::m.traveling_speed; + field_0xe1a = 2; + break; + + case 2: + step(cLib_targetAngleY(¤t.pos, &sp28), MOT_STEP, 15.0f); + + if (mAcch.ChkWallHit() || current.pos.abs(sp28) < speedF) { + fopAcM_delete(this); + } + break; + + case 3: + break; + + default: + JUT_ASSERT(2149, 0); + break; + } + + return true; +} + +/* 80ADC700-80ADC800 0045E0 0100+00 1/0 0/0 0/0 .text EvCut_Introduction__11daNpcShad_cFi */ +BOOL daNpcShad_c::EvCut_Introduction(int i_cutIndex) { + dEvent_manager_c* eventManager = &dComIfGp_getEventManager(); + int* piVar1 = dComIfGp_evmng_getMyIntegerP(i_cutIndex, "prm"); + if (piVar1 == NULL) { + return FALSE; + } + + if (eventManager->getIsAddvance(i_cutIndex)) { + switch (*piVar1) { + case 0: + case 2: + setLookMode(LOOK_NONE, NULL, NULL); + return TRUE; + + case 1: + setLookMode(LOOK_PLAYER, NULL, NULL); + return TRUE; + + default: + JUT_ASSERT(2184, 0); + break; + } + } + + return FALSE; +} + +/* 80ADC800-80ADCAD8 0046E0 02D8+00 1/0 0/0 0/0 .text EvCut_Meeting__11daNpcShad_cFi */ +BOOL daNpcShad_c::EvCut_Meeting(int i_cutIndex) { + dEvent_manager_c* eventManager = &dComIfGp_getEventManager(); + int* prm = dComIfGp_evmng_getMyIntegerP(i_cutIndex, "prm"); + if (prm == NULL) { + return FALSE; + } + + if (eventManager->getIsAddvance(i_cutIndex)) { + switch (*prm) { + case 0: + setExpression(EXPR_NONE, -1.0f); + setMotion(MOT_SIT_A, -1.0f, FALSE); + break; + + case 1: + setLookMode(LOOK_PLAYER, NULL, NULL); + break; + + default: + JUT_ASSERT(2221, 0); + break; + } + } + + int i_expression, i_motion, i_msgTimer; + i_msgTimer = mMsgTimer; + if (ctrlMsgAnm(i_expression, i_motion, this, FALSE)) { + setExpression(i_expression, -1.0f); + setMotion(i_motion, -1.0f, FALSE); + } else if (i_msgTimer != 0 && mMsgTimer == 0) { + setExpressionTalkAfter(); + } + + fopAc_ac_c* actor; + switch (*prm) { + case 0: + actor = dComIfGp_event_getTalkPartner(); + if (actor == this) { + actor = NULL; + } + + setLookMode(LOOK_ACTOR, actor, NULL); + return TRUE; + + case 1: + return TRUE; + + default: + JUT_ASSERT(2245, 0); + break; + } + + return FALSE; +} + +/* 80ADCAD8-80ADD720 0049B8 0C48+00 1/0 0/0 0/0 .text EvCut_ToChantSpell1__11daNpcShad_cFi */ +BOOL daNpcShad_c::EvCut_ToChantSpell1(int i_cutIndex) { + dEvent_manager_c* eventManager = &dComIfGp_getEventManager(); + int* cutName = (int*)eventManager->getMyNowCutName(i_cutIndex); + + if (eventManager->getIsAddvance(i_cutIndex)) { + switch (*cutName) { + case '0001': + case '0002': + setLookMode(LOOK_NONE, NULL, NULL); + initTalk(field_0xe14, NULL); + break; + + case '0005': + initTalk(field_0xe14, NULL); + setExpression(EXPR_H_DISCOURAGED, -1.0f); + setMotion(MOT_DISCOURAGED_WAIT, -1.0f, FALSE); + break; + + case '0006': + mTurnMode = 0; + setMotion(MOT_WALK_A, -1.0f, FALSE); + break; + + case '0007': + current.pos = home.pos; + old.pos = current.pos; + speedF = 0.0f; + setMotion(MOT_WAIT_A, -1.0f, FALSE); + field_0xe1e = 0; + break; + + case '0008': + initTalk(field_0xe14, NULL); + Z2GetAudioMgr()->subBgmStart(Z2BGM_ITEM_GET); + break; + + case '0009': + setAngle(home.angle.y - 0x2000); + // fallthrough + case '0010': + initTalk(field_0xe14, NULL); + break; + + default: + JUT_ASSERT(2298, 0); + break; + } + + } + + int i_expression, i_motion, i_msgTimer; + i_msgTimer = mMsgTimer; + if (ctrlMsgAnm(i_expression, i_motion, this, FALSE)) { + setExpression(i_expression, -1.0f); + setMotion(i_motion, -1.0f, FALSE); + } else if (i_msgTimer != 0 && mMsgTimer == 0) { + setExpressionTalkAfter(); + } + + cXyz sp30; + switch (*cutName) { + case '0001': + if (!step(fopAcM_searchPlayerAngleY(this), MOT_STEP, 15.0f)) { + break; + } + + setExpression(EXPR_NONE, -1.0f); + setMotion(MOT_WAIT_A, -1.0f, FALSE); + mTurnMode = 0; + return TRUE; + + case '0002': + case '0005': + if (mCurAngle.y == fopAcM_searchPlayerAngleY(this)) { + if (talkProc(NULL, TRUE, NULL)) { + return TRUE; + } + } else if (step(fopAcM_searchPlayerAngleY(this), MOT_STEP, 15.0f)) { + setMotion(MOT_WAIT_A, -1.0f, FALSE); + mTurnMode = 0; + } + break; + + case '0006': + sp30.set(-429.52515f, -770.0f, -2582.8027f); + step(cLib_targetAngleY(fopAcM_GetPosition_p(this), &sp30), -1, 60.0f); + speedF = 4.7f; + return TRUE; + + case '0007': + Z2GetAudioMgr()->seStartLevel(Z2SE_AL_COPYROD_COMEBACK, fopAcM_GetPosition_p(daPy_getPlayerActorClass()), 0, + 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); + return TRUE; + + case '0008': + Z2GetAudioMgr()->seStartLevel(Z2SE_AL_COPYROD_COMEBACK, fopAcM_GetPosition_p(daPy_getPlayerActorClass()), 0, + 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); + + if (talkProc(NULL, TRUE, NULL)) { + fopAcM_delete(this); + return TRUE; + } + break; + + case '0009': + if (home.angle.y == mCurAngle.y) { + if (talkProc(NULL, TRUE, NULL)) { + if (mMotion != MOT_CHANT) { + Z2GetAudioMgr()->muteSceneBgm(190, 0.0f); + } + + mSound.startCreatureVoiceLevel(Z2SE_SHAD_V_INCANTATION, -1); + setExpression(EXPR_CHANT, -1.0f); + setMotion(MOT_CHANT, -1.0f, FALSE); + return TRUE; + } + } else if (step(home.angle.y, MOT_STEP, 15.0f)) { + setMotion(MOT_WAIT_A, -1.0f, FALSE); + mTurnMode = 0; + } + break; + + case '0010': + if (talkProc(NULL, TRUE, NULL)) { + Z2GetAudioMgr()->unMuteSceneBgm(70); + setExpression(EXPR_NONE, -1.0f); + setMotion(MOT_WAIT_A, -1.0f, FALSE); + setAngle(fopAcM_searchPlayerAngleY(this)); + return TRUE; + } + break; + + default: + JUT_ASSERT(2382, 0); + break; + } + + return FALSE; +} + +/* 80ADD720-80ADE47C 005600 0D5C+00 1/0 0/0 0/0 .text EvCut_ToChantSpell2__11daNpcShad_cFi */ +BOOL daNpcShad_c::EvCut_ToChantSpell2(int i_cutIndex) { + dEvent_manager_c* eventManager = dComIfGp_getPEvtManager(); + int* cutName = (int*)eventManager->getMyNowCutName(i_cutIndex); + fopAc_ac_c* actor; + daCstaF_c* statue; + + if (eventManager->getIsAddvance(i_cutIndex) != 0) { + switch (*cutName) { + case '0002': + dComIfGs_setItem(SLOT_22, 0xFF); + mTurnMode = 0; + + actor = NULL; + fopAcM_SearchByName(PROC_CSTAF, (fopAc_ac_c**)&actor); + if (actor != NULL) { + fopAcM_OnStatus(actor, fopAcM_STATUS_UNK_000800); + } + + dComIfGp_getEvent().startCheckSkipEdge(this); + dComIfGp_getEvent().onSkipFade(); + // fallthrough + case '0003': + setLookMode(LOOK_NONE, NULL, NULL); + // falllthrough + case '0005': + initTalk(field_0xe14, NULL); + setExpression(EXPR_NONE, -1.0f); + setMotion(MOT_WAIT_A, -1.0f, FALSE); + break; + + case '0006': + Z2GetAudioMgr()->unMuteSceneBgm(70); + initTalk(field_0xe14, NULL); + setExpression(EXPR_NONE, -1.0f); + setMotion(MOT_WAIT_A, -1.0f, FALSE); + break; + + case '0007': + mTurnMode = 0; + setMotion(MOT_SAD_WALK, 15.0f, FALSE); + break; + + case '0008': + if (getPathPoint(getPathID(), 1, &home.pos)) { + current.pos = home.pos; + old.pos = current.pos; + speedF = 0.0f; + field_0xe14 = 0x42; + setExpression(EXPR_H_DISCOURAGED, -1.0f); + setMotion(MOT_DISCOURAGED_WAIT, -1.0f, FALSE); + } + break; + + case '0009': + setAngle(home.angle.y - 0x2000); + initTalk(field_0xe14, NULL); + break; + + case '0010': + statue = NULL; + fopAcM_SearchByName(PROC_CSTAF, (fopAc_ac_c**)&statue); + if (statue != NULL) { + statue->onCoverVanishFlg(); + } + break; + + default: + JUT_ASSERT(2451, 0); + break; + } + } + + if (dComIfGp_getEvent().checkSkipEdge()) { + Z2GetAudioMgr()->unMuteSceneBgm(70); + daNpcF_clearMessageTmpBit(); + daNpcF_onEvtBit(0x12F); + field_0xe14 = 0x42; + mOrderEvtNo = 5; + dMsgObject_onKillMessageFlag(); + changeEvent(l_evtArcs[mOrderEvtNo], l_evtNames[mOrderEvtNo], 1, 0xFFFF); + } + + int i_expression, i_motion, i_msgTimer; + i_msgTimer = mMsgTimer; + if (ctrlMsgAnm(i_expression, i_motion, this, FALSE) != 0) { + setExpression(i_expression, -1.0f); + setMotion(i_motion, -1.0f, FALSE); + } else if (i_msgTimer != 0 && mMsgTimer == 0) { + setExpressionTalkAfter(); + } + + cXyz sp30; + switch (*cutName) { + case '0002': + if (step(fopAcM_searchPlayerAngleY(this), MOT_STEP, 15.0f)) { + setExpression(EXPR_NONE, -1.0f); + setMotion(MOT_WAIT_A, -1.0f, FALSE); + mTurnMode = 0; + return TRUE; + } + break; + + case '0003': + if (fopAcM_searchPlayerAngleY(this) == mCurAngle.y) { + if (talkProc(NULL, TRUE, NULL)) { + return TRUE; + } + } else if (step(fopAcM_searchPlayerAngleY(this), MOT_STEP, 15.0f)) { + setMotion(MOT_WAIT_A, -1.0f, FALSE); + mTurnMode = 0; + } + break; + + case '0005': + case '0006': + if (talkProc(NULL, TRUE, NULL)) { + return TRUE; + } + break; + + case '0007': + if (getPathPoint(getPathID(), 1, &sp30)) { + step(cLib_targetAngleY(fopAcM_GetPosition_p(this), &sp30), -1, 60.0f); + speedF = 3.0f; + } + return TRUE; + + case '0008': + return TRUE; + + case '0009': + if (home.angle.y == mCurAngle.y) { + if (talkProc(NULL, TRUE, NULL)) { + if (mMotion != MOT_CHANT) { + Z2GetAudioMgr()->muteSceneBgm(190, 0.0f); + } + + mSound.startCreatureVoiceLevel(Z2SE_SHAD_V_INCANTATION_L, -1); + setExpression(EXPR_CHANT, -1.0f); + setMotion(MOT_CHANT, -1.0f, FALSE); + return TRUE; + } + } else if (step(home.angle.y, MOT_STEP, 15.0f)) { + setMotion(MOT_WAIT_A, -1.0f, FALSE); + mTurnMode = MOT_WAIT_A; + } + + break; + + case '0010': + return TRUE; + + default: + JUT_ASSERT(2540, 0); + break; + } + + return FALSE; +} + +/* 80ADE47C-80ADE5F8 00635C 017C+00 1/0 0/0 0/0 .text EvCut_ToChantSpell2Skip__11daNpcShad_cFi */ +BOOL daNpcShad_c::EvCut_ToChantSpell2Skip(int i_cutIndex) { + dEvent_manager_c* eventManager = &dComIfGp_getEventManager(); + int* cutName = (int*)eventManager->getMyNowCutName(i_cutIndex); + + if (eventManager->getIsAddvance(i_cutIndex)) { + switch (*cutName) { + case '0001': + return TRUE; + + case '0002': + if (getPathPoint(getPathID(), 1, &home.pos)) { + current.pos = home.pos; + old.pos = current.pos; + speedF = 0.0f; + setExpression(EXPR_H_DISCOURAGED, -1.0f); + setMotion(MOT_DISCOURAGED_WAIT, -1.0f, FALSE); + } + return TRUE; + + default: + JUT_ASSERT(2574, 0); + break; + } + } + + return FALSE; +} + +inline void daNpcShad_c::setLookObliquenessUp() { + cXyz sp18(0.0f, 100.0f, 100.0f); + mDoMtx_stack_c::transS(mLookatPos[2]); + mDoMtx_stack_c::YrotM(shape_angle.y); + mDoMtx_stack_c::multVec(&sp18, &sp18); + setLookMode(LOOK_ATTN, NULL, &sp18); +} + +/* 80ADE5F8-80ADED68 0064D8 0770+00 3/0 0/0 0/0 .text EvCut_DiscoveryCannon__11daNpcShad_cFi */ +BOOL daNpcShad_c::EvCut_DiscoveryCannon(int i_cutIndex) { + dEvent_manager_c* eventManager = &dComIfGp_getEventManager(); + int* cutName = (int*)eventManager->getMyNowCutName(i_cutIndex); + cXyz* pos; + int* angle; + + if (eventManager->getIsAddvance(i_cutIndex)) { + switch (*cutName) { + case '0001': + dComIfGp_getEvent().startCheckSkipEdge(this); + Z2GetAudioMgr()->bgmStreamPrepare(0x200007C); + Z2GetAudioMgr()->bgmStreamPlay(); + setExpression(EXPR_NONE, 0.0f); + setMotion(MOT_WAIT_A, 0.0f, FALSE); + setLookMode(LOOK_PLAYER, NULL, NULL); + break; + + case '0003': + pos = dComIfGp_evmng_getMyXyzP(i_cutIndex, "POS"); + angle = dComIfGp_evmng_getMyIntegerP(i_cutIndex, "ANGLE"); + + if (pos != NULL) { + current.pos = *pos; + old.pos = current.pos; + } + + if (angle != NULL) { + setAngle(*angle); + } + + setExpression(EXPR_NONE, -1.0f); + setMotion(MOT_WAIT_A, -1.0f, FALSE); + mTurnMode = 0; + speedF = 0.0f; + break; + + case '0005': + case '0008': + mTurnMode = 0; + setExpression(EXPR_H_SURPRISE, -1.0f); + setMotion(MOT_WALK_A, -1.0f, FALSE); + speedF = 5.0f; + break; + + case '0004': + case '0006': + case '0007': + setLookMode(LOOK_NONE, NULL, NULL); + // fallthrough + case '0002': + dComIfGs_onSaveSwitch(79); + initTalk(field_0xe14, NULL); + break; + + default: + JUT_ASSERT(2636, 0); + break; + } + } + + if (dComIfGp_getEvent().checkSkipEdge()) { + Z2GetAudioMgr()->bgmStreamStop(30); + daNpcF_clearMessageTmpBit(); + daNpcF_onEvtBit(0x312); + mOrderEvtNo = 7; + dMsgObject_onKillMessageFlag(); + changeEvent(l_evtArcs[mOrderEvtNo], l_evtNames[mOrderEvtNo], 1, 0xFFFF); + } + + cXyz* pos2; + int i_expression, i_motion, i_msgTimer; + i_msgTimer = mMsgTimer; + if (ctrlMsgAnm(i_expression, i_motion, this, FALSE) != 0) { + setExpression(i_expression, -1.0f); + setMotion(i_motion, -1.0f, FALSE); + } else if (i_msgTimer != 0 && mMsgTimer == 0) { + setExpressionTalkAfter(); + } + + switch (*cutName) { + case '0001': + case '0003': + return TRUE; + + case '0005': + case '0008': + setLookObliquenessUp(); + pos2 = dComIfGp_evmng_getMyXyzP(i_cutIndex, "POS"); + + if (pos2 != NULL) { + step(cLib_targetAngleY(¤t.pos, pos2), -1, 15.0f); + + if (pos2->absXZ(current.pos) < 15.0f) { + speedF = 0.0f; + setMotion(MOT_WAIT_A, -1.0f, FALSE); + return TRUE; + } + } + break; + + case '0002': + case '0004': + case '0006': + case '0007': + if (talkProc(NULL, TRUE, NULL)) { + return TRUE; + } + break; + + default: + JUT_ASSERT(2693, 0); + break; + } + + return FALSE; +} + +/* 80ADED68-80ADEEE4 006C48 017C+00 1/0 0/0 0/0 .text EvCut_DiscoveryCannonSkip__11daNpcShad_cFi */ +BOOL daNpcShad_c::EvCut_DiscoveryCannonSkip(int i_cutIndex) { + dEvent_manager_c* eventManager = &dComIfGp_getEventManager(); + int* cutName = (int*)eventManager->getMyNowCutName(i_cutIndex); + cXyz* pos; + int* angle; + + if (eventManager->getIsAddvance(i_cutIndex)) { + switch (*cutName) { + case '0001': + return TRUE; + + case '0002': + pos = dComIfGp_evmng_getMyXyzP(i_cutIndex, "POS"); + angle = dComIfGp_evmng_getMyIntegerP(i_cutIndex, "ANGLE"); + + if (pos != NULL) { + current.pos = *pos; + old.pos = current.pos; + } + + if (angle != NULL) { + setAngle(*angle); + } + + setExpression(EXPR_NONE, -1.0f); + setMotion(MOT_WAIT_A, -1.0f, FALSE); + speedF = 0.0f; + return TRUE; + + default: + JUT_ASSERT(2729, 0); + break; + } + } + + return FALSE; +} + +/* 80ADEEE4-80ADF810 006DC4 092C+00 1/0 0/0 0/0 .text EvCut_Disappear__11daNpcShad_cFi */ +BOOL daNpcShad_c::EvCut_Disappear(int i_cutIndex) { + dEvent_manager_c* eventManager = &dComIfGp_getEventManager(); + int* cutName = (int*)eventManager->getMyNowCutName(i_cutIndex); + cXyz* pos; + int* angle; + + if (eventManager->getIsAddvance(i_cutIndex)) { + switch (*cutName) { + case '0001': + dComIfGp_getEvent().startCheckSkipEdge(this); + // fallthrough + case '0004': + setExpression(EXPR_NONE, -1.0f); + setMotion(MOT_WAIT_A, -1.0f, FALSE); + setLookMode(LOOK_PLAYER, NULL, NULL); + initTalk(68, NULL); + break; + + case '0002': + pos = dComIfGp_evmng_getMyXyzP(i_cutIndex, "POS"); + angle = dComIfGp_evmng_getMyIntegerP(i_cutIndex, "ANGLE"); + + if (pos != NULL) { + current.pos = *pos; + old.pos = current.pos; + } + + if (angle != NULL) { + setAngle(*angle); + } + + setExpression(EXPR_NONE, -1.0f); + setMotion(MOT_WAIT_A, -1.0f, FALSE); + setLookMode(LOOK_RESET, NULL, NULL); + speedF = 0.0f; + break; + + case '0005': + case '0003': + setExpression(EXPR_H_SURPRISE, -1.0f); + setMotion(MOT_RUN_A, -1.0f, FALSE); + mTurnMode = 0; + speedF = daNpcShad_Param_c::m.traveling_speed; + break; + + case '0006': + fopAcM_delete(this); + break; + + default: + JUT_ASSERT(2786, 0); + } + } + + int i_expression, i_motion, i_msgTimer; + i_msgTimer = mMsgTimer; + if (ctrlMsgAnm(i_expression, i_motion, this, FALSE) != 0) { + setExpression(i_expression, -1.0f); + setMotion(i_motion, -1.0f, FALSE); + } else if (i_msgTimer != 0 && mMsgTimer == 0) { + setExpressionTalkAfter(); + } + + int i_expression2, i_motion2, i_msgTimer2; + i_msgTimer2 = mMsgTimer; + if (ctrlMsgAnm(i_expression2, i_motion2, this, FALSE) != 0) { + setExpression(i_expression2, -1.0f); + setMotion(i_motion2, -1.0f, FALSE); + } else if (i_msgTimer2 != 0 && mMsgTimer == 0) { + setExpressionTalkAfter(); + } + + if (dComIfGp_getEvent().checkSkipEdge()) { + daNpcF_clearMessageTmpBit(); + daNpcF_onEvtBit(0x311); + mOrderEvtNo = 9; + dMsgObject_onKillMessageFlag(); + changeEvent(l_evtArcs[mOrderEvtNo], l_evtNames[mOrderEvtNo], 1, 0xFFFF); + } + + cXyz* pos2; + switch (*cutName) { + case '0001': + if (fopAcM_searchPlayerAngleY(this) == mCurAngle.y) { + if (talkProc(NULL, TRUE, NULL)) { + setLookMode(LOOK_NONE, NULL, NULL); + return TRUE; + } + } else if (step(fopAcM_searchPlayerAngleY(this), MOT_STEP, 15.0f)) { + setMotion(MOT_WAIT_A, -1.0f, FALSE); + mTurnMode = 0; + } + break; + + case '0002': + return TRUE; + + case '0004': + if (talkProc(NULL, TRUE, NULL)) { + setLookMode(LOOK_NONE, NULL, NULL); + return TRUE; + } + break; + + case '0005': + case '0003': + pos2 = dComIfGp_evmng_getMyXyzP(i_cutIndex, "POS"); + + if (pos2 != NULL) { + step(cLib_targetAngleY(¤t.pos, pos2), -1, 15.0f); + + if (pos2->x > current.pos.x) { + speedF = 0.0f; + setMotion(MOT_WAIT_A, -1.0f, FALSE); + return TRUE; + } + } + break; + + case '0006': + return TRUE; + + default: + JUT_ASSERT(2873, 0); + break; + } + + return FALSE; +} + +/* 80ADF810-80ADF8DC 0076F0 00CC+00 1/0 0/0 0/0 .text EvCut_DisappearSkip__11daNpcShad_cFi */ +BOOL daNpcShad_c::EvCut_DisappearSkip(int i_cutIndex) { + dEvent_manager_c* eventManager = &dComIfGp_getEventManager(); + int* cutName = (int*)eventManager->getMyNowCutName(i_cutIndex); + + if (eventManager->getIsAddvance(i_cutIndex)) { + switch (*cutName) { + case '0001': + return TRUE; + + case '0002': + field_0xe1e = 0; + return TRUE; + + case '0003': + dComIfGp_event_reset(); + fopAcM_delete(this); + return TRUE; + + default: + JUT_ASSERT(2905, 0); + break; + } + } + + return FALSE; +} + +/* 80ADF8DC-80ADFB70 0077BC 0294+00 1/0 0/0 0/0 .text EvCut_CallBack__11daNpcShad_cFi */ +BOOL daNpcShad_c::EvCut_CallBack(int i_cutIndex) { + dEvent_manager_c* eventManager = &dComIfGp_getEventManager(); + int* cutName = (int*)eventManager->getMyNowCutName(i_cutIndex); + cXyz sp30; + + if (eventManager->getIsAddvance(i_cutIndex)) { + switch (*cutName) { + case '0001': + sp30.set(4100.0f, -1520.0f, -3855.8125f); + setAngle(cLib_targetAngleY(¤t.pos, &sp30)); + setLookMode(LOOK_RESET, NULL, NULL); + break; + + case '0002': + initTalk(69, NULL); + break; + + default: + JUT_ASSERT(2939, 0); + break; + } + } + + int i_expression, i_motion, i_msgTimer; + i_msgTimer = mMsgTimer; + if (ctrlMsgAnm(i_expression, i_motion, this, FALSE) != 0) { + setExpression(i_expression, -1.0f); + setMotion(i_motion, -1.0f, FALSE); + } else if (i_msgTimer != 0 && mMsgTimer == 0) { + setExpressionTalkAfter(); + } + + switch (*cutName) { + case '0001': + return TRUE; + + case '0002': + if (talkProc(NULL, TRUE, NULL)) { + return TRUE; + } + break; + + default: + JUT_ASSERT(2965, 0); + break; + } + + return FALSE; +} + +/* 80ADFB70-80ADFE74 007A50 0304+00 1/0 0/0 0/0 .text EvCut_WiretapSponsor__11daNpcShad_cFi */ +BOOL daNpcShad_c::EvCut_WiretapSponsor(int i_cutIndex) { + dEvent_manager_c* eventManager = &dComIfGp_getEventManager(); + fopAc_ac_c* actors[4] = {mActorMngr[2].getActorP(), mActorMngr[1].getActorP(), this, mActorMngr[3].getActorP()}; + int* cutName = (int*)eventManager->getMyNowCutName(i_cutIndex); + + if (eventManager->getIsAddvance(i_cutIndex)) { + switch (*cutName) { + case '0001': + dComIfGp_setMesgCameraInfoActor(actors[0], actors[1], actors[2], actors[3], NULL, NULL, NULL, NULL, NULL, NULL); + initTalk(field_0xe14, (fopAc_ac_c**)&actors[0]); + break; + + default: + JUT_ASSERT(3002, 0); + break; + } + } + + int i_expression, i_motion, i_msgTimer; + i_msgTimer = mMsgTimer; + if (ctrlMsgAnm(i_expression, i_motion, this, FALSE) != 0) { + setExpression(i_expression, -1.0f); + setMotion(i_motion, -1.0f, FALSE); + } else if (i_msgTimer != 0 && mMsgTimer == 0) { + setExpressionTalkAfter(); + } + + fopAc_ac_c* talkPartner; + switch (*cutName) { + case '0001': + if (talkProc(NULL, TRUE, (fopAc_ac_c**)&actors[0])) { + return TRUE; + } + + talkPartner = dComIfGp_event_getTalkPartner(); + if (talkPartner == this) { + talkPartner = mActorMngr[2].getActorP(); + } + setLookMode(LOOK_ACTOR, talkPartner, NULL); + break; + + default: + JUT_ASSERT(3032, 0); + break; + } + return FALSE; +} + +/* 80ADFE74-80AE0104 007D54 0290+00 2/0 0/0 0/0 .text EvCut_WiretapEntrant__11daNpcShad_cFi */ +BOOL daNpcShad_c::EvCut_WiretapEntrant(int i_cutIndex) { + dEvent_manager_c* eventManager = &dComIfGp_getEventManager(); + int* prm = dComIfGp_evmng_getMyIntegerP(i_cutIndex, "prm"); + + if (prm == NULL) { + return FALSE; + } + + if (eventManager->getIsAddvance(i_cutIndex)) { + switch (*prm) { + case 0: + setExpression(EXPR_NONE, -1.0f); + setMotion(MOT_SIT_A, -1.0f, FALSE); + break; + + default: + JUT_ASSERT(3065, 0); + break; + } + } + + int i_expression, i_motion, i_msgTimer; + i_msgTimer = mMsgTimer; + if (ctrlMsgAnm(i_expression, i_motion, this, FALSE) != 0) { + setExpression(i_expression, -1.0f); + setMotion(i_motion, -1.0f, FALSE); + } else if (i_msgTimer != 0 && mMsgTimer == 0) { + setExpressionTalkAfter(); + } + + fopAc_ac_c* talkPartner; + switch (*prm) { + case 0: + talkPartner = dComIfGp_event_getTalkPartner(); + if (talkPartner == this) { + talkPartner = mActorMngr[2].getActorP(); + } + setLookMode(LOOK_ACTOR, talkPartner, NULL); + return TRUE; + + default: + JUT_ASSERT(3088, 0); + break; + } + + return FALSE; +} + +/* 80AE0104-80AE0124 007FE4 0020+00 1/0 0/0 0/0 .text daNpcShad_Create__FPv */ +static int daNpcShad_Create(void* a_this) { + daNpcShad_c* i_this = (daNpcShad_c*)a_this; + return i_this->Create(); +} + +/* 80AE0124-80AE0144 008004 0020+00 1/0 0/0 0/0 .text daNpcShad_Delete__FPv */ +static int daNpcShad_Delete(void* a_this) { + daNpcShad_c* i_this = (daNpcShad_c*)a_this; + return i_this->Delete(); +} + +/* 80AE0144-80AE0164 008024 0020+00 1/0 0/0 0/0 .text daNpcShad_Execute__FPv */ +static int daNpcShad_Execute(void* a_this) { + daNpcShad_c* i_this = (daNpcShad_c*)a_this; + return i_this->Execute(); +} + +/* 80AE0164-80AE0184 008044 0020+00 1/0 0/0 0/0 .text daNpcShad_Draw__FPv */ +static int daNpcShad_Draw(void* a_this) { + daNpcShad_c* i_this = (daNpcShad_c*)a_this; + return i_this->Draw(); +} + +/* 80AE0184-80AE018C 008064 0008+00 1/0 0/0 0/0 .text daNpcShad_IsDelete__FPv */ +static int daNpcShad_IsDelete(void* a_this) { + return 1; +} + +/* 80AE01BC-80AE0438 00809C 027C+00 1/0 0/0 0/0 .text setParam__11daNpcShad_cFv */ +void daNpcShad_c::setParam() { + searchActors(); + attention_info.flags = 10; + + if (isSneaking()) { + attention_info.distances[0] = 78; + attention_info.distances[1] = attention_info.distances[0]; + attention_info.distances[3] = 77; + attention_info.flags |= 0x800000; + } else if (mMode == 0) { + attention_info.distances[0] = getDistTableIdx(3, 5); + attention_info.distances[1] = attention_info.distances[0]; + attention_info.distances[3] = getDistTableIdx(2, 5); + } else { + attention_info.distances[0] = getDistTableIdx(daNpcShad_Param_c::m.common.attention_distance, daNpcShad_Param_c::m.common.attention_angle); + attention_info.distances[1] = attention_info.distances[0]; + attention_info.distances[3] = getDistTableIdx(daNpcShad_Param_c::m.common.talk_distance, daNpcShad_Param_c::m.common.talk_angle); + } + + mAcchCir.SetWallR(daNpcShad_Param_c::m.common.width); + mAcchCir.SetWallH(daNpcShad_Param_c::m.common.knee_length); + gravity = daNpcShad_Param_c::m.common.gravity; +} + +/* 80AE0438-80AE04D8 008318 00A0+00 1/0 0/0 0/0 .text main__11daNpcShad_cFv */ +BOOL daNpcShad_c::main() { + if (mActionFn) { + (this->*mActionFn)(NULL); + } + + if (dComIfGp_event_runCheck() != 0 && !eventInfo.checkCommandTalk() && mItemPartnerId != fpcM_ERROR_PROCESS_ID_e) { + dComIfGp_event_setItemPartnerId(mItemPartnerId); + mItemPartnerId = fpcM_ERROR_PROCESS_ID_e; + } + + playExpression(); + playMotion(); + return TRUE; +} + +/* 80AE0ED0-80AE0FAC 008DB0 00DC+00 1/0 0/0 0/0 .text ctrlBtk__11daNpcShad_cFv */ +// NONMATCHING inlining issues +BOOL daNpcShad_c::ctrlBtk() { + if (mpMatAnm != NULL) { + J3DAnmTextureSRTKey* btkAnm = NULL; + btkAnm = getTexSRTKeyAnmP(l_arcNames[l_btkGetParamList[0].arcIdx], l_btkGetParamList[0].fileIdx); + + if (btkAnm == mBtkAnm.getBtkAnm()) { + mpMatAnm->setNowOffsetX(cM_ssin(mEyeAngle.y) * -1.0f * 0.2f); + mpMatAnm->setNowOffsetY(cM_ssin(mEyeAngle.x) * 0.2f); + mpMatAnm->onEyeMoveFlag(); + return TRUE; + } + + mpMatAnm->offEyeMoveFlag(); + } + + return FALSE; +} + +/* 80AE0FAC-80AE1320 008E8C 0374+00 1/0 0/0 0/0 .text setAttnPos__11daNpcShad_cFv */ +void daNpcShad_c::setAttnPos() { + // NONMATCHING + if (mLookMode == 1) { + for (int i = 0; i < 3; i++) { + mLookatAngle[i].setall(0); + } + } + + setMtx(); + lookat(); + + cXyz sp40(10.0f, 10.0f, 0.0f); + mDoMtx_stack_c::copy(mpMorf->getModel()->getAnmMtx(JNT_HEAD)); + mDoMtx_stack_c::multVecZero(&mHeadPos); + mDoMtx_stack_c::multVec(&sp40, &eyePos); + sp40.x = 0.0f; + mDoMtx_stack_c::multVec(&sp40, &sp40); + mHeadAngle.x = cLib_targetAngleX(&mHeadPos, &sp40); + mHeadAngle.y = cLib_targetAngleY(&mHeadPos, &sp40); + + cXyz* attnPos = mLookat.getAttnPos(); + if (attnPos != NULL) { + cXyz sp4c(*attnPos - eyePos); + mEyeAngle.y = -(mCurAngle.y - mLookatAngle[2].y); + mEyeAngle.y += cM_atan2s(sp4c.x, sp4c.z); + mEyeAngle.x -= cM_atan2s(sp4c.x, sp4c.absXZ()); + } else { + mEyeAngle.y = 0; + mEyeAngle.x = 0; + } + + attention_info.position.set(mHeadPos.x, mHeadPos.y + daNpcShad_Param_c::m.common.attention_offset, mHeadPos.z); + cXyz sp58; + mDoMtx_stack_c::copy(mpMorf->getModel()->getAnmMtx(JNT_BACKBONE2)); + mDoMtx_stack_c::multVecZero(&sp58); + sp58.y = current.pos.y; + + field_0xcb0.SetC(sp58); + field_0xcb0.SetH(daNpcShad_Param_c::m.common.height); + + f32 fVar1; + if (mMode == 0) { + fVar1 = 45.0f; + } else { + fVar1 = daNpcShad_Param_c::m.common.width; + } + field_0xcb0.SetR(fVar1); + + if (field_0xe1e != 0) { + dComIfG_Ccsp()->Set(&field_0xcb0); + } +} + +/* 80AE1320-80AE153C 009200 021C+00 1/1 0/0 0/0 .text lookat__11daNpcShad_cFv */ +void daNpcShad_c::lookat() { + // NONMATCHING + daPy_py_c* player = NULL; + J3DModel* model = mpMorf->getModel(); + int iVar1 = 0; + f32 body_angleX_min = daNpcShad_Param_c::m.common.body_angleX_min; + f32 body_angleX_max = daNpcShad_Param_c::m.common.body_angleX_max; + + f32 body_angleY_min; + if (mMode == 1) { + body_angleY_min = -30.0f; + } else { + body_angleY_min = daNpcShad_Param_c::m.common.body_angleY_min; + } + + f32 body_angleY_max; + if (mMode == 1) { + body_angleY_max = 30.0f; + } else { + body_angleY_max = daNpcShad_Param_c::m.common.body_angleY_max; + } + + f32 head_angleX_min = daNpcShad_Param_c::m.common.head_angleX_min; + f32 head_angleX_max = daNpcShad_Param_c::m.common.head_angleX_max; + f32 head_angleY_min = daNpcShad_Param_c::m.common.head_angleY_min; + f32 head_angleY_max = daNpcShad_Param_c::m.common.head_angleY_max; + + s16 sVar1 = mCurAngle.y - mOldAngle.y; + cXyz spf0[3] = {mLookatPos[0], mLookatPos[1], mLookatPos[2]}; + csXyz* local_fc = unk_inline(); + cXyz sp108; + + switch (mLookMode) { + case LOOK_RESET: + iVar1 = 1; + break; + + case LOOK_PLAYER: + case LOOK_PLAYER_TALK: + player = daPy_getPlayerActorClass(); + break; + + case LOOK_ACTOR: + player = field_0xca8; + break; + + case LOOK_ATTN: + break; + } + + if (mLookMode == LOOK_ATTN) { + mLookat.setAttnPos(&mLookPos); + } else if (player != NULL) { + mLookPos = player->attention_info.position; + + if (mLookMode != LOOK_PLAYER && mLookMode != LOOK_PLAYER_TALK) { + mLookPos.y -= 40.0f; + } + + mLookat.setAttnPos(&mLookPos); + } else { + mLookat.setAttnPos(NULL); + } + + mLookat.setParam(body_angleX_min, body_angleX_max, body_angleY_min, body_angleY_max, 0.0f, 0.0f, 0.0f, 0.0f, head_angleX_min, head_angleX_max, + head_angleY_min, head_angleY_max, mCurAngle.y, spf0); + mLookat.calc(this, model->getBaseTRMtx(), (csXyz**)local_fc, iVar1, sVar1, FALSE); +} + +/* 80AE153C-80AE1544 00941C 0008+00 1/0 0/0 0/0 .text drawDbgInfo__11daNpcShad_cFv */ +BOOL daNpcShad_c::drawDbgInfo() { + return FALSE; +} + +daNpcShad_Param_c::~daNpcShad_Param_c() {} + +/* 80AE2CB8-80AE2CC4 000008 000C+00 1/1 0/0 0/0 .bss @3931 */ +static u8 lit_3931[12]; + +/* 80AE2CC4-80AE2CC8 000014 0004+00 1/1 0/0 0/0 .bss l_HIO */ +static u8 l_HIO[4]; /* 80AE2B7C-80AE2B9C -00001 0020+00 1/0 0/0 0/0 .data daNpcShad_MethodTable */ static actor_method_class daNpcShad_MethodTable = { - (process_method_func)daNpcShad_Create__FPv, - (process_method_func)daNpcShad_Delete__FPv, - (process_method_func)daNpcShad_Execute__FPv, - (process_method_func)daNpcShad_IsDelete__FPv, - (process_method_func)daNpcShad_Draw__FPv, + (process_method_func)daNpcShad_Create, + (process_method_func)daNpcShad_Delete, + (process_method_func)daNpcShad_Execute, + (process_method_func)daNpcShad_IsDelete, + (process_method_func)daNpcShad_Draw, }; /* 80AE2B9C-80AE2BCC -00001 0030+00 0/0 0/0 1/0 .data g_profile_NPC_SHAD */ @@ -725,1826 +2722,3 @@ extern actor_process_profile_definition g_profile_NPC_SHAD = { fopAc_NPC_e, // mActorType fopAc_CULLBOX_CUSTOM_e, // cullType }; - -/* 80AE2BCC-80AE2BD8 0005AC 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, -}; - -/* 80AE2BD8-80AE2C20 0005B8 0048+00 2/2 0/0 0/0 .data __vt__11daNpcShad_c */ -SECTION_DATA extern void* __vt__11daNpcShad_c[18] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__11daNpcShad_cFv, - (void*)setParam__11daNpcShad_cFv, - (void*)main__11daNpcShad_cFv, - (void*)ctrlBtk__11daNpcShad_cFv, - (void*)adjustShapeAngle__8daNpcF_cFv, - (void*)setMtx__8daNpcF_cFv, - (void*)setMtx2__8daNpcF_cFv, - (void*)setAttnPos__11daNpcShad_cFv, - (void*)setCollisions__8daNpcF_cFv, - (void*)setExpressionAnm__11daNpcShad_cFib, - (void*)setExpressionBtp__11daNpcShad_cFi, - (void*)setExpression__11daNpcShad_cFif, - (void*)setMotionAnm__11daNpcShad_cFif, - (void*)setMotion__11daNpcShad_cFifi, - (void*)drawDbgInfo__11daNpcShad_cFv, - (void*)drawOtherMdls__8daNpcF_cFv, -}; - -/* 80AE2C20-80AE2C2C 000600 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, -}; - -/* 80AE2C2C-80AE2C50 00060C 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_80AE1FC0, - (void*)NULL, - (void*)NULL, - (void*)func_80AE1FB8, -}; - -/* 80AE2C50-80AE2C5C 000630 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, -}; - -/* 80AE2C5C-80AE2C68 00063C 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, -}; - -/* 80AE2C68-80AE2C74 000648 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, -}; - -/* 80AE2C74-80AE2C80 000654 000C+00 4/4 0/0 0/0 .data __vt__18daNpcF_ActorMngr_c */ -SECTION_DATA extern void* __vt__18daNpcF_ActorMngr_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__18daNpcF_ActorMngr_cFv, -}; - -/* 80AE2C80-80AE2C8C 000660 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, -}; - -/* 80AE2C8C-80AE2C98 00066C 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, -}; - -/* 80AE2C98-80AE2CA4 000678 000C+00 3/3 0/0 0/0 .data __vt__15daNpcF_Lookat_c */ -SECTION_DATA extern void* __vt__15daNpcF_Lookat_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__15daNpcF_Lookat_cFv, -}; - -/* 80AD820C-80AD8390 0000EC 0184+00 1/1 0/0 0/0 .text __ct__11daNpcShad_cFv */ -daNpcShad_c::daNpcShad_c() { - // NONMATCHING -} - -/* 80AD8390-80AD83D8 000270 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */ -// cM3dGCyl::~cM3dGCyl() { -extern "C" void __dt__8cM3dGCylFv() { - // NONMATCHING -} - -/* 80AD83D8-80AD8420 0002B8 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */ -// cM3dGAab::~cM3dGAab() { -extern "C" void __dt__8cM3dGAabFv() { - // NONMATCHING -} - -/* 80AD8420-80AD8620 000300 0200+00 1/0 0/0 0/0 .text __dt__11daNpcShad_cFv */ -daNpcShad_c::~daNpcShad_c() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80AE1FDC-80AE204C 000000 0070+00 19/19 0/0 0/0 .rodata m__17daNpcShad_Param_c */ -SECTION_RODATA u8 const daNpcShad_Param_c::m[112] = { - 0x42, 0x0C, 0x00, 0x00, 0xC0, 0x40, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x43, 0xC8, 0x00, 0x00, - 0x43, 0x7F, 0x00, 0x00, 0x43, 0x48, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x34, 0x00, 0x00, 0xC2, 0x34, 0x00, 0x00, - 0x41, 0xF0, 0x00, 0x00, 0xC1, 0x20, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0xC2, 0x20, 0x00, 0x00, - 0x3F, 0x19, 0x99, 0x9A, 0x41, 0x40, 0x00, 0x00, 0x00, 0x03, 0x00, 0x06, 0x00, 0x05, 0x00, 0x06, - 0x42, 0xA0, 0x00, 0x00, 0x43, 0xFA, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, - 0x00, 0x3C, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x40, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE1FDC, &daNpcShad_Param_c::m); - -/* 80AE204C-80AE2050 000070 0004+00 0/1 0/0 0/0 .rodata @4402 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_4402 = 0x4587B5BF; -COMPILER_STRIP_GATE(0x80AE204C, &lit_4402); -#pragma pop - -/* 80AE2050-80AE2054 000074 0004+00 0/1 0/0 0/0 .rodata @4403 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4403 = -1518.5f; -COMPILER_STRIP_GATE(0x80AE2050, &lit_4403); -#pragma pop - -/* 80AE2054-80AE2058 000078 0004+00 0/1 0/0 0/0 .rodata @4404 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_4404 = 0xC576652C; -COMPILER_STRIP_GATE(0x80AE2054, &lit_4404); -#pragma pop - -/* 80AE2058-80AE205C 00007C 0004+00 0/1 0/0 0/0 .rodata @4405 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4405 = -100.0f; -COMPILER_STRIP_GATE(0x80AE2058, &lit_4405); -#pragma pop - -/* 80AE205C-80AE2060 000080 0004+00 0/1 0/0 0/0 .rodata @4406 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4406 = -50.0f; -COMPILER_STRIP_GATE(0x80AE205C, &lit_4406); -#pragma pop - -/* 80AE2060-80AE2064 000084 0004+00 0/1 0/0 0/0 .rodata @4407 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4407 = 100.0f; -COMPILER_STRIP_GATE(0x80AE2060, &lit_4407); -#pragma pop - -/* 80AE2064-80AE2068 000088 0004+00 0/1 0/0 0/0 .rodata @4408 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4408 = 220.0f; -COMPILER_STRIP_GATE(0x80AE2064, &lit_4408); -#pragma pop - -/* 80AE24C4-80AE24C4 0004E8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80AE25DF = "R_SP116"; -SECTION_DEAD static char const* const stringBase_80AE25E7 = "R_SP209"; -SECTION_DEAD static char const* const stringBase_80AE25EF = "D_MN09"; -#pragma pop - -/* 80AD8620-80AD8B60 000500 0540+00 1/1 0/0 0/0 .text Create__11daNpcShad_cFv */ -void daNpcShad_c::Create() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80AE2068-80AE206C 00008C 0004+00 4/6 0/0 0/0 .rodata @4497 */ -SECTION_RODATA static f32 const lit_4497 = 1.0f; -COMPILER_STRIP_GATE(0x80AE2068, &lit_4497); - -/* 80AE206C-80AE2070 000090 0004+00 5/15 0/0 0/0 .rodata @4498 */ -SECTION_RODATA static u8 const lit_4498[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80AE206C, &lit_4498); - -/* 80AD8B60-80AD8F24 000A40 03C4+00 1/1 0/0 0/0 .text CreateHeap__11daNpcShad_cFv */ -void daNpcShad_c::CreateHeap() { - // NONMATCHING -} - -/* 80AD8F24-80AD8F60 000E04 003C+00 1/1 0/0 0/0 .text __dt__15J3DTevKColorAnmFv */ -// J3DTevKColorAnm::~J3DTevKColorAnm() { -extern "C" void __dt__15J3DTevKColorAnmFv() { - // NONMATCHING -} - -/* 80AD8F60-80AD8F78 000E40 0018+00 1/1 0/0 0/0 .text __ct__15J3DTevKColorAnmFv */ -// J3DTevKColorAnm::J3DTevKColorAnm() { -extern "C" void __ct__15J3DTevKColorAnmFv() { - // NONMATCHING -} - -/* 80AD8F78-80AD8FB4 000E58 003C+00 1/1 0/0 0/0 .text __dt__14J3DTevColorAnmFv */ -// J3DTevColorAnm::~J3DTevColorAnm() { -extern "C" void __dt__14J3DTevColorAnmFv() { - // NONMATCHING -} - -/* 80AD8FB4-80AD8FCC 000E94 0018+00 1/1 0/0 0/0 .text __ct__14J3DTevColorAnmFv */ -// J3DTevColorAnm::J3DTevColorAnm() { -extern "C" void __ct__14J3DTevColorAnmFv() { - // NONMATCHING -} - -/* 80AD8FCC-80AD9014 000EAC 0048+00 1/1 0/0 0/0 .text __dt__11J3DTexNoAnmFv */ -// J3DTexNoAnm::~J3DTexNoAnm() { -extern "C" void __dt__11J3DTexNoAnmFv() { - // NONMATCHING -} - -/* 80AD9014-80AD9038 000EF4 0024+00 1/1 0/0 0/0 .text __ct__11J3DTexNoAnmFv */ -// J3DTexNoAnm::J3DTexNoAnm() { -extern "C" void __ct__11J3DTexNoAnmFv() { - // NONMATCHING -} - -/* 80AD9038-80AD9074 000F18 003C+00 1/1 0/0 0/0 .text __dt__12J3DTexMtxAnmFv */ -// J3DTexMtxAnm::~J3DTexMtxAnm() { -extern "C" void __dt__12J3DTexMtxAnmFv() { - // NONMATCHING -} - -/* 80AD9074-80AD908C 000F54 0018+00 1/1 0/0 0/0 .text __ct__12J3DTexMtxAnmFv */ -// J3DTexMtxAnm::J3DTexMtxAnm() { -extern "C" void __ct__12J3DTexMtxAnmFv() { - // NONMATCHING -} - -/* 80AD908C-80AD90C8 000F6C 003C+00 1/1 0/0 0/0 .text __dt__14J3DMatColorAnmFv */ -// J3DMatColorAnm::~J3DMatColorAnm() { -extern "C" void __dt__14J3DMatColorAnmFv() { - // NONMATCHING -} - -/* 80AD90C8-80AD90E0 000FA8 0018+00 1/1 0/0 0/0 .text __ct__14J3DMatColorAnmFv */ -// J3DMatColorAnm::J3DMatColorAnm() { -extern "C" void __ct__14J3DMatColorAnmFv() { - // NONMATCHING -} - -/* 80AD90E0-80AD9114 000FC0 0034+00 1/1 0/0 0/0 .text Delete__11daNpcShad_cFv */ -void daNpcShad_c::Delete() { - // NONMATCHING -} - -/* 80AD9114-80AD9138 000FF4 0024+00 2/2 0/0 0/0 .text Execute__11daNpcShad_cFv */ -void daNpcShad_c::Execute() { - // NONMATCHING -} - -/* 80AD9138-80AD9280 001018 0148+00 1/1 0/0 0/0 .text Draw__11daNpcShad_cFv */ -void daNpcShad_c::Draw() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80AE2070-80AE207C 000094 000C+00 1/1 0/0 0/0 .rodata @4591 */ -SECTION_RODATA static u8 const lit_4591[12] = { - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, -}; -COMPILER_STRIP_GATE(0x80AE2070, &lit_4591); - -/* 80AD9280-80AD944C 001160 01CC+00 1/1 0/0 0/0 .text - * ctrlJoint__11daNpcShad_cFP8J3DJointP8J3DModel */ -void daNpcShad_c::ctrlJoint(J3DJoint* param_0, J3DModel* param_1) { - // NONMATCHING -} - -/* 80AD944C-80AD946C 00132C 0020+00 1/1 0/0 0/0 .text - * createHeapCallBack__11daNpcShad_cFP10fopAc_ac_c */ -void daNpcShad_c::createHeapCallBack(fopAc_ac_c* param_0) { - // NONMATCHING -} - -/* 80AD946C-80AD94B8 00134C 004C+00 1/1 0/0 0/0 .text ctrlJointCallBack__11daNpcShad_cFP8J3DJointi - */ -void daNpcShad_c::ctrlJointCallBack(J3DJoint* param_0, int param_1) { - // NONMATCHING -} - -/* 80AD94B8-80AD974C 001398 0294+00 2/0 0/0 0/0 .text setExpressionAnm__11daNpcShad_cFib - */ -void daNpcShad_c::setExpressionAnm(int param_0, bool param_1) { - // NONMATCHING -} - -/* 80AD974C-80AD982C 00162C 00E0+00 1/0 0/0 0/0 .text setExpressionBtp__11daNpcShad_cFi - */ -void daNpcShad_c::setExpressionBtp(int param_0) { - // NONMATCHING -} - -/* 80AD982C-80AD99B4 00170C 0188+00 1/0 0/0 0/0 .text setMotionAnm__11daNpcShad_cFif */ -bool daNpcShad_c::setMotionAnm(int param_0, f32 param_1) { - // NONMATCHING -} - -/* 80AD99B4-80AD9C0C 001894 0258+00 1/1 0/0 0/0 .text reset__11daNpcShad_cFv */ -void daNpcShad_c::reset() { - // NONMATCHING -} - -/* 80AD9C0C-80AD9E04 001AEC 01F8+00 1/1 0/0 0/0 .text setWaitAction__11daNpcShad_cFv */ -void daNpcShad_c::setWaitAction() { - // NONMATCHING -} - -/* 80AD9E04-80AD9E90 001CE4 008C+00 1/1 0/0 0/0 .text getPathPoint__11daNpcShad_cFUciP3Vec */ -void daNpcShad_c::getPathPoint(u8 param_0, int param_1, Vec* param_2) { - // NONMATCHING -} - -/* 80AD9E90-80AD9F00 001D70 0070+00 1/1 0/0 0/0 .text isSneaking__11daNpcShad_cFv */ -void daNpcShad_c::isSneaking() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80AE207C-80AE2088 0000A0 000C+00 0/1 0/0 0/0 .rodata @4825 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4825[12] = { - 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE207C, &lit_4825); -#pragma pop - -/* 80AE2088-80AE208C 0000AC 0004+00 0/1 0/0 0/0 .rodata @4826 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4826[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80AE2088, &lit_4826); -#pragma pop - -/* 80AE208C-80AE2098 0000B0 000C+00 0/1 0/0 0/0 .rodata @4827 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4827[12] = { - 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80AE208C, &lit_4827); -#pragma pop - -/* 80AE2098-80AE20A4 0000BC 000C+00 0/1 0/0 0/0 .rodata @4828 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4828[12] = { - 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE2098, &lit_4828); -#pragma pop - -/* 80AE20A4-80AE20AC 0000C8 0008+00 0/1 0/0 0/0 .rodata @4829 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4829[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE20A4, &lit_4829); -#pragma pop - -/* 80AE20AC-80AE20B8 0000D0 000C+00 0/1 0/0 0/0 .rodata @4830 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4830[12] = { - 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80AE20AC, &lit_4830); -#pragma pop - -/* 80AE20B8-80AE20C4 0000DC 000C+00 0/1 0/0 0/0 .rodata @4831 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4831[12] = { - 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE20B8, &lit_4831); -#pragma pop - -/* 80AE20C4-80AE20CC 0000E8 0008+00 0/1 0/0 0/0 .rodata @4832 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4832[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE20C4, &lit_4832); -#pragma pop - -/* 80AE20CC-80AE20D8 0000F0 000C+00 0/1 0/0 0/0 .rodata @4833 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4833[12] = { - 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80AE20CC, &lit_4833); -#pragma pop - -/* 80AE20D8-80AE20E4 0000FC 000C+00 0/1 0/0 0/0 .rodata @4834 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4834[12] = { - 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE20D8, &lit_4834); -#pragma pop - -/* 80AE20E4-80AE20EC 000108 0008+00 0/1 0/0 0/0 .rodata @4835 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4835[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE20E4, &lit_4835); -#pragma pop - -/* 80AE20EC-80AE20F8 000110 000C+00 0/1 0/0 0/0 .rodata @4836 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4836[12] = { - 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE20EC, &lit_4836); -#pragma pop - -/* 80AE20F8-80AE20FC 00011C 0004+00 0/1 0/0 0/0 .rodata @4837 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4837[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80AE20F8, &lit_4837); -#pragma pop - -/* 80AE20FC-80AE2108 000120 000C+00 0/1 0/0 0/0 .rodata @4838 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4838[12] = { - 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE20FC, &lit_4838); -#pragma pop - -/* 80AE2108-80AE210C 00012C 0004+00 0/1 0/0 0/0 .rodata @4839 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4839[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80AE2108, &lit_4839); -#pragma pop - -/* 80AE210C-80AE2118 000130 000C+00 0/1 0/0 0/0 .rodata @4840 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4840[12] = { - 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE210C, &lit_4840); -#pragma pop - -/* 80AE2118-80AE211C 00013C 0004+00 0/1 0/0 0/0 .rodata @4841 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4841[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80AE2118, &lit_4841); -#pragma pop - -/* 80AE211C-80AE2128 000140 000C+00 0/1 0/0 0/0 .rodata @4842 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4842[12] = { - 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE211C, &lit_4842); -#pragma pop - -/* 80AE2128-80AE212C 00014C 0004+00 0/1 0/0 0/0 .rodata @4843 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4843[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80AE2128, &lit_4843); -#pragma pop - -/* 80AE212C-80AE2138 000150 000C+00 0/1 0/0 0/0 .rodata @4844 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4844[12] = { - 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE212C, &lit_4844); -#pragma pop - -/* 80AE2138-80AE213C 00015C 0004+00 0/1 0/0 0/0 .rodata @4845 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4845[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80AE2138, &lit_4845); -#pragma pop - -/* 80AE213C-80AE2148 000160 000C+00 0/1 0/0 0/0 .rodata @4846 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4846[12] = { - 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE213C, &lit_4846); -#pragma pop - -/* 80AE2148-80AE214C 00016C 0004+00 0/1 0/0 0/0 .rodata @4847 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4847[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80AE2148, &lit_4847); -#pragma pop - -/* 80AE214C-80AE2158 000170 000C+00 0/1 0/0 0/0 .rodata @4848 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4848[12] = { - 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE214C, &lit_4848); -#pragma pop - -/* 80AE2158-80AE215C 00017C 0004+00 0/1 0/0 0/0 .rodata @4849 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4849[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80AE2158, &lit_4849); -#pragma pop - -/* 80AE215C-80AE2168 000180 000C+00 0/1 0/0 0/0 .rodata @4850 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4850[12] = { - 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE215C, &lit_4850); -#pragma pop - -/* 80AE2168-80AE216C 00018C 0004+00 0/1 0/0 0/0 .rodata @4851 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4851[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80AE2168, &lit_4851); -#pragma pop - -/* 80AE216C-80AE2178 000190 000C+00 0/1 0/0 0/0 .rodata @4852 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4852[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE216C, &lit_4852); -#pragma pop - -/* 80AE2178-80AE217C 00019C 0004+00 0/1 0/0 0/0 .rodata @4853 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4853[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80AE2178, &lit_4853); -#pragma pop - -/* 80AE217C-80AE21B0 0001A0 0034+00 0/0 0/0 0/0 .rodata @4854 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4854[52] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE217C, &lit_4854); -#pragma pop - -/* 80AE21B0-80AE21BC 0001D4 000C+00 0/1 0/0 0/0 .rodata @4858 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4858[12] = { - 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE21B0, &lit_4858); -#pragma pop - -/* 80AE21BC-80AE21C0 0001E0 0004+00 0/1 0/0 0/0 .rodata @4859 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4859[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80AE21BC, &lit_4859); -#pragma pop - -/* 80AE21C0-80AE21CC 0001E4 000C+00 0/1 0/0 0/0 .rodata @4860 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4860[12] = { - 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80AE21C0, &lit_4860); -#pragma pop - -/* 80AE21CC-80AE21D8 0001F0 000C+00 0/1 0/0 0/0 .rodata @4861 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4861[12] = { - 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE21CC, &lit_4861); -#pragma pop - -/* 80AE21D8-80AE21E0 0001FC 0008+00 0/1 0/0 0/0 .rodata @4862 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4862[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE21D8, &lit_4862); -#pragma pop - -/* 80AE21E0-80AE21EC 000204 000C+00 0/1 0/0 0/0 .rodata @4863 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4863[12] = { - 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE21E0, &lit_4863); -#pragma pop - -/* 80AE21EC-80AE21F0 000210 0004+00 0/1 0/0 0/0 .rodata @4864 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4864[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80AE21EC, &lit_4864); -#pragma pop - -/* 80AE21F0-80AE21FC 000214 000C+00 0/1 0/0 0/0 .rodata @4865 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4865[12] = { - 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80AE21F0, &lit_4865); -#pragma pop - -/* 80AE21FC-80AE2208 000220 000C+00 0/1 0/0 0/0 .rodata @4866 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4866[12] = { - 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE21FC, &lit_4866); -#pragma pop - -/* 80AE2208-80AE2210 00022C 0008+00 0/1 0/0 0/0 .rodata @4867 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4867[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE2208, &lit_4867); -#pragma pop - -/* 80AE2210-80AE221C 000234 000C+00 0/1 0/0 0/0 .rodata @4868 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4868[12] = { - 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE2210, &lit_4868); -#pragma pop - -/* 80AE221C-80AE2220 000240 0004+00 0/1 0/0 0/0 .rodata @4869 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4869[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80AE221C, &lit_4869); -#pragma pop - -/* 80AE2220-80AE222C 000244 000C+00 0/1 0/0 0/0 .rodata @4870 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4870[12] = { - 0x00, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80AE2220, &lit_4870); -#pragma pop - -/* 80AE222C-80AE2238 000250 000C+00 0/1 0/0 0/0 .rodata @4871 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4871[12] = { - 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE222C, &lit_4871); -#pragma pop - -/* 80AE2238-80AE2240 00025C 0008+00 0/1 0/0 0/0 .rodata @4872 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4872[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE2238, &lit_4872); -#pragma pop - -/* 80AE2240-80AE224C 000264 000C+00 0/1 0/0 0/0 .rodata @4873 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4873[12] = { - 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80AE2240, &lit_4873); -#pragma pop - -/* 80AE224C-80AE2258 000270 000C+00 0/1 0/0 0/0 .rodata @4874 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4874[12] = { - 0x00, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE224C, &lit_4874); -#pragma pop - -/* 80AE2258-80AE2260 00027C 0008+00 0/1 0/0 0/0 .rodata @4875 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4875[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE2258, &lit_4875); -#pragma pop - -/* 80AE2260-80AE226C 000284 000C+00 0/1 0/0 0/0 .rodata @4876 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4876[12] = { - 0x00, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE2260, &lit_4876); -#pragma pop - -/* 80AE226C-80AE2270 000290 0004+00 0/1 0/0 0/0 .rodata @4877 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4877[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80AE226C, &lit_4877); -#pragma pop - -/* 80AE2270-80AE227C 000294 000C+00 0/1 0/0 0/0 .rodata @4878 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4878[12] = { - 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80AE2270, &lit_4878); -#pragma pop - -/* 80AE227C-80AE2288 0002A0 000C+00 0/1 0/0 0/0 .rodata @4879 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4879[12] = { - 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE227C, &lit_4879); -#pragma pop - -/* 80AE2288-80AE2290 0002AC 0008+00 0/1 0/0 0/0 .rodata @4880 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4880[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE2288, &lit_4880); -#pragma pop - -/* 80AE2290-80AE229C 0002B4 000C+00 0/1 0/0 0/0 .rodata @4881 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4881[12] = { - 0x00, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80AE2290, &lit_4881); -#pragma pop - -/* 80AE229C-80AE22A8 0002C0 000C+00 0/1 0/0 0/0 .rodata @4882 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4882[12] = { - 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE229C, &lit_4882); -#pragma pop - -/* 80AE22A8-80AE22B0 0002CC 0008+00 0/1 0/0 0/0 .rodata @4883 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4883[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE22A8, &lit_4883); -#pragma pop - -/* 80AE22B0-80AE22BC 0002D4 000C+00 0/1 0/0 0/0 .rodata @4884 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4884[12] = { - 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80AE22B0, &lit_4884); -#pragma pop - -/* 80AE22BC-80AE22C8 0002E0 000C+00 0/1 0/0 0/0 .rodata @4885 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4885[12] = { - 0x00, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE22BC, &lit_4885); -#pragma pop - -/* 80AE22C8-80AE22D0 0002EC 0008+00 0/1 0/0 0/0 .rodata @4886 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4886[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE22C8, &lit_4886); -#pragma pop - -/* 80AE22D0-80AE22DC 0002F4 000C+00 0/1 0/0 0/0 .rodata @4887 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4887[12] = { - 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80AE22D0, &lit_4887); -#pragma pop - -/* 80AE22DC-80AE22E8 000300 000C+00 0/1 0/0 0/0 .rodata @4888 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4888[12] = { - 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE22DC, &lit_4888); -#pragma pop - -/* 80AE22E8-80AE22F0 00030C 0008+00 0/1 0/0 0/0 .rodata @4889 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4889[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE22E8, &lit_4889); -#pragma pop - -/* 80AE22F0-80AE22FC 000314 000C+00 0/1 0/0 0/0 .rodata @4890 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4890[12] = { - 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE22F0, &lit_4890); -#pragma pop - -/* 80AE22FC-80AE2300 000320 0004+00 0/1 0/0 0/0 .rodata @4891 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4891[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80AE22FC, &lit_4891); -#pragma pop - -/* 80AE2300-80AE230C 000324 000C+00 0/1 0/0 0/0 .rodata @4892 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4892[12] = { - 0x00, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE2300, &lit_4892); -#pragma pop - -/* 80AE230C-80AE2310 000330 0004+00 0/1 0/0 0/0 .rodata @4893 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4893[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80AE230C, &lit_4893); -#pragma pop - -/* 80AE2310-80AE231C 000334 000C+00 0/1 0/0 0/0 .rodata @4894 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4894[12] = { - 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80AE2310, &lit_4894); -#pragma pop - -/* 80AE231C-80AE2328 000340 000C+00 0/1 0/0 0/0 .rodata @4895 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4895[12] = { - 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE231C, &lit_4895); -#pragma pop - -/* 80AE2328-80AE2330 00034C 0008+00 0/1 0/0 0/0 .rodata @4896 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4896[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE2328, &lit_4896); -#pragma pop - -/* 80AE2330-80AE233C 000354 000C+00 0/1 0/0 0/0 .rodata @4897 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4897[12] = { - 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE2330, &lit_4897); -#pragma pop - -/* 80AE233C-80AE2340 000360 0004+00 0/1 0/0 0/0 .rodata @4898 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4898[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80AE233C, &lit_4898); -#pragma pop - -/* 80AE2340-80AE234C 000364 000C+00 0/1 0/0 0/0 .rodata @4899 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4899[12] = { - 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE2340, &lit_4899); -#pragma pop - -/* 80AE234C-80AE2350 000370 0004+00 0/1 0/0 0/0 .rodata @4900 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4900[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80AE234C, &lit_4900); -#pragma pop - -/* 80AE2350-80AE235C 000374 000C+00 0/1 0/0 0/0 .rodata @4901 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4901[12] = { - 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE2350, &lit_4901); -#pragma pop - -/* 80AE235C-80AE2360 000380 0004+00 0/1 0/0 0/0 .rodata @4902 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4902[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80AE235C, &lit_4902); -#pragma pop - -/* 80AE2360-80AE236C 000384 000C+00 0/1 0/0 0/0 .rodata @4903 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4903[12] = { - 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE2360, &lit_4903); -#pragma pop - -/* 80AE236C-80AE2370 000390 0004+00 0/1 0/0 0/0 .rodata @4904 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4904[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80AE236C, &lit_4904); -#pragma pop - -/* 80AE2370-80AE237C 000394 000C+00 0/1 0/0 0/0 .rodata @4905 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4905[12] = { - 0x00, 0x14, 0x00, 0x00, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE2370, &lit_4905); -#pragma pop - -/* 80AE237C-80AE2380 0003A0 0004+00 0/1 0/0 0/0 .rodata @4906 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4906[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80AE237C, &lit_4906); -#pragma pop - -/* 80AE2380-80AE238C 0003A4 000C+00 0/1 0/0 0/0 .rodata @4907 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4907[12] = { - 0x00, 0x15, 0x00, 0x00, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE2380, &lit_4907); -#pragma pop - -/* 80AE238C-80AE2390 0003B0 0004+00 0/1 0/0 0/0 .rodata @4908 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4908[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80AE238C, &lit_4908); -#pragma pop - -/* 80AE2390-80AE239C 0003B4 000C+00 0/1 0/0 0/0 .rodata @4909 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4909[12] = { - 0x00, 0x0F, 0x00, 0x00, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE2390, &lit_4909); -#pragma pop - -/* 80AE239C-80AE23A0 0003C0 0004+00 0/1 0/0 0/0 .rodata @4910 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4910[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80AE239C, &lit_4910); -#pragma pop - -/* 80AE23A0-80AE23AC 0003C4 000C+00 0/1 0/0 0/0 .rodata @4911 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4911[12] = { - 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE23A0, &lit_4911); -#pragma pop - -/* 80AE23AC-80AE23B0 0003D0 0004+00 0/1 0/0 0/0 .rodata @4912 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4912[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80AE23AC, &lit_4912); -#pragma pop - -/* 80AE23B0-80AE240C 0003D4 005C+00 0/0 0/0 0/0 .rodata @4913 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4913[92] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE23B0, &lit_4913); -#pragma pop - -/* 80AE240C-80AE2418 000430 000C+00 0/1 0/0 0/0 .rodata @4955 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4955[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE240C, &lit_4955); -#pragma pop - -/* 80AE2418-80AE241C 00043C 0004+00 7/16 0/0 0/0 .rodata @5210 */ -SECTION_RODATA static f32 const lit_5210 = -1.0f; -COMPILER_STRIP_GATE(0x80AE2418, &lit_5210); - -/* 80AE241C-80AE2420 000440 0004+00 0/2 0/0 0/0 .rodata @5211 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5211 = 135.0f; -COMPILER_STRIP_GATE(0x80AE241C, &lit_5211); -#pragma pop - -/* 80AE2420-80AE2424 000444 0004+00 0/7 0/0 0/0 .rodata @5212 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_5212 = 0x3BB40000; -COMPILER_STRIP_GATE(0x80AE2420, &lit_5212); -#pragma pop - -/* 80AE2424-80AE242C 000448 0004+04 0/7 0/0 0/0 .rodata @5213 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5213[1 + 1 /* padding */] = { - 15.0f, - /* padding */ - 0.0f, -}; -COMPILER_STRIP_GATE(0x80AE2424, &lit_5213); -#pragma pop - -/* 80AE242C-80AE2434 000450 0008+00 0/7 0/0 0/0 .rodata @5215 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5215[8] = { - 0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE242C, &lit_5215); -#pragma pop - -/* 80AD9F00-80ADA630 001DE0 0730+00 1/0 0/0 0/0 .text wait_type0__11daNpcShad_cFPv */ -void daNpcShad_c::wait_type0(void* param_0) { - // NONMATCHING -} - -/* 80ADA630-80ADA674 002510 0044+00 1/0 0/0 0/0 .text setMotion__11daNpcShad_cFifi */ -void daNpcShad_c::setMotion(int param_0, f32 param_1, int param_2) { - // NONMATCHING -} - -/* 80ADA674-80ADA6A0 002554 002C+00 1/0 0/0 0/0 .text setExpression__11daNpcShad_cFif */ -void daNpcShad_c::setExpression(int param_0, f32 param_1) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80AE2434-80AE2438 000458 0004+00 0/1 0/0 0/0 .rodata @5532 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_5532 = 0x43360B61; -COMPILER_STRIP_GATE(0x80AE2434, &lit_5532); -#pragma pop - -/* 80AE2438-80AE243C 00045C 0004+00 0/2 0/0 0/0 .rodata @5533 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5533 = 30.0f; -COMPILER_STRIP_GATE(0x80AE2438, &lit_5533); -#pragma pop - -/* 80AE243C-80AE2440 000460 0004+00 0/1 0/0 0/0 .rodata @5534 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5534 = 3750.0f; -COMPILER_STRIP_GATE(0x80AE243C, &lit_5534); -#pragma pop - -/* 80AE2440-80AE2444 000464 0004+00 0/1 0/0 0/0 .rodata @5535 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5535 = 400.0f; -COMPILER_STRIP_GATE(0x80AE2440, &lit_5535); -#pragma pop - -/* 80AE24C4-80AE24C4 0004E8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80AE25F6 = "NO_RESPONSE"; -#pragma pop - -/* 80ADA6A0-80ADB428 002580 0D88+00 1/0 0/0 0/0 .text wait_type1__11daNpcShad_cFPv */ -void daNpcShad_c::wait_type1(void* param_0) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80AE2444-80AE2448 000468 0004+00 0/1 0/0 0/0 .rodata @5586 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_5586 = 0xC58DA0AD; -COMPILER_STRIP_GATE(0x80AE2444, &lit_5586); -#pragma pop - -/* 80AE2448-80AE244C 00046C 0004+00 0/1 0/0 0/0 .rodata @5587 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_5587 = 0x4605AD86; -COMPILER_STRIP_GATE(0x80AE2448, &lit_5587); -#pragma pop - -/* 80ADB428-80ADB628 003308 0200+00 1/0 0/0 0/0 .text wait_type2__11daNpcShad_cFPv */ -void daNpcShad_c::wait_type2(void* param_0) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80AE24C4-80AE24C4 0004E8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80AE2602 = "DEFAULT_GETITEM"; -#pragma pop - -/* 80ADB628-80ADBEA8 003508 0880+00 2/0 0/0 0/0 .text talk__11daNpcShad_cFPv */ -void daNpcShad_c::talk(void* param_0) { - // NONMATCHING -} - -/* 80ADBEA8-80ADC3DC 003D88 0534+00 2/0 0/0 0/0 .text demo__11daNpcShad_cFPv */ -void daNpcShad_c::demo(void* param_0) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80AE244C-80AE2450 000470 0004+00 0/1 0/0 0/0 .rodata @5828 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_5828 = 0xC5C36B19; -COMPILER_STRIP_GATE(0x80AE244C, &lit_5828); -#pragma pop - -/* 80AE2450-80AE2454 000474 0004+00 0/1 0/0 0/0 .rodata @5829 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_5829 = 0x45C35E15; -COMPILER_STRIP_GATE(0x80AE2450, &lit_5829); -#pragma pop - -/* 80AE2454-80AE245C 000478 0008+00 0/2 0/0 0/0 .rodata @5830 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5830[8] = { - 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE2454, &lit_5830); -#pragma pop - -/* 80AE245C-80AE2464 000480 0008+00 0/2 0/0 0/0 .rodata @5831 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5831[8] = { - 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE245C, &lit_5831); -#pragma pop - -/* 80AE2464-80AE246C 000488 0008+00 0/2 0/0 0/0 .rodata @5832 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5832[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE2464, &lit_5832); -#pragma pop - -/* 80ADC3DC-80ADC700 0042BC 0324+00 1/0 0/0 0/0 .text leave__11daNpcShad_cFPv */ -void daNpcShad_c::leave(void* param_0) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80AE24C4-80AE24C4 0004E8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80AE2612 = "prm"; -#pragma pop - -/* 80ADC700-80ADC800 0045E0 0100+00 1/0 0/0 0/0 .text EvCut_Introduction__11daNpcShad_cFi - */ -void daNpcShad_c::EvCut_Introduction(int param_0) { - // NONMATCHING -} - -/* 80ADC800-80ADCAD8 0046E0 02D8+00 1/0 0/0 0/0 .text EvCut_Meeting__11daNpcShad_cFi */ -void daNpcShad_c::EvCut_Meeting(int param_0) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80AE246C-80AE2470 000490 0004+00 0/1 0/0 0/0 .rodata @6108 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_6108 = 0xC3D6C338; -COMPILER_STRIP_GATE(0x80AE246C, &lit_6108); -#pragma pop - -/* 80AE2470-80AE2474 000494 0004+00 0/1 0/0 0/0 .rodata @6109 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6109 = -770.0f; -COMPILER_STRIP_GATE(0x80AE2470, &lit_6109); -#pragma pop - -/* 80AE2474-80AE2478 000498 0004+00 0/1 0/0 0/0 .rodata @6110 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_6110 = 0xC5216CD8; -COMPILER_STRIP_GATE(0x80AE2474, &lit_6110); -#pragma pop - -/* 80AE2478-80AE247C 00049C 0004+00 0/2 0/0 0/0 .rodata @6111 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6111 = 60.0f; -COMPILER_STRIP_GATE(0x80AE2478, &lit_6111); -#pragma pop - -/* 80AE247C-80AE2484 0004A0 0004+04 0/1 0/0 0/0 .rodata @6112 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6112[1 + 1 /* padding */] = { - 47.0f / 10.0f, - /* padding */ - 0.0f, -}; -COMPILER_STRIP_GATE(0x80AE247C, &lit_6112); -#pragma pop - -/* 80AE2484-80AE248C 0004A8 0008+00 0/2 0/0 0/0 .rodata @6115 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6115[8] = { - 0x43, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE2484, &lit_6115); -#pragma pop - -/* 80ADCAD8-80ADD720 0049B8 0C48+00 1/0 0/0 0/0 .text EvCut_ToChantSpell1__11daNpcShad_cFi */ -void daNpcShad_c::EvCut_ToChantSpell1(int param_0) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80AE248C-80AE2490 0004B0 0004+00 0/1 0/0 0/0 .rodata @6365 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6365 = 3.0f; -COMPILER_STRIP_GATE(0x80AE248C, &lit_6365); -#pragma pop - -/* 80ADD720-80ADE47C 005600 0D5C+00 1/0 0/0 0/0 .text EvCut_ToChantSpell2__11daNpcShad_cFi */ -void daNpcShad_c::EvCut_ToChantSpell2(int param_0) { - // NONMATCHING -} - -/* 80ADE47C-80ADE5F8 00635C 017C+00 1/0 0/0 0/0 .text EvCut_ToChantSpell2Skip__11daNpcShad_cFi */ -void daNpcShad_c::EvCut_ToChantSpell2Skip(int param_0) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80AE24C4-80AE24C4 0004E8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80AE2616 = "POS"; -SECTION_DEAD static char const* const stringBase_80AE261A = "ANGLE"; -#pragma pop - -/* 80ADE5F8-80ADED68 0064D8 0770+00 3/0 0/0 0/0 .text EvCut_DiscoveryCannon__11daNpcShad_cFi */ -void daNpcShad_c::EvCut_DiscoveryCannon(int param_0) { - // NONMATCHING -} - -/* 80ADED68-80ADEEE4 006C48 017C+00 1/0 0/0 0/0 .text EvCut_DiscoveryCannonSkip__11daNpcShad_cFi - */ -void daNpcShad_c::EvCut_DiscoveryCannonSkip(int param_0) { - // NONMATCHING -} - -/* 80ADEEE4-80ADF810 006DC4 092C+00 1/0 0/0 0/0 .text EvCut_Disappear__11daNpcShad_cFi */ -void daNpcShad_c::EvCut_Disappear(int param_0) { - // NONMATCHING -} - -/* 80ADF810-80ADF8DC 0076F0 00CC+00 1/0 0/0 0/0 .text EvCut_DisappearSkip__11daNpcShad_cFi */ -void daNpcShad_c::EvCut_DisappearSkip(int param_0) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80AE2490-80AE2494 0004B4 0004+00 0/0 0/0 0/0 .rodata @6549 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6549 = 5.0f; -COMPILER_STRIP_GATE(0x80AE2490, &lit_6549); -#pragma pop - -/* 80AE2494-80AE2498 0004B8 0004+00 0/1 0/0 0/0 .rodata @6779 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6779 = 4100.0f; -COMPILER_STRIP_GATE(0x80AE2494, &lit_6779); -#pragma pop - -/* 80AE2498-80AE249C 0004BC 0004+00 0/1 0/0 0/0 .rodata @6780 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6780 = -1520.0f; -COMPILER_STRIP_GATE(0x80AE2498, &lit_6780); -#pragma pop - -/* 80AE249C-80AE24A0 0004C0 0004+00 0/1 0/0 0/0 .rodata @6781 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_6781 = 0xC570FD00; -COMPILER_STRIP_GATE(0x80AE249C, &lit_6781); -#pragma pop - -/* 80ADF8DC-80ADFB70 0077BC 0294+00 1/0 0/0 0/0 .text EvCut_CallBack__11daNpcShad_cFi */ -void daNpcShad_c::EvCut_CallBack(int param_0) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80AE24A0-80AE24B0 0004C4 0010+00 1/1 0/0 0/0 .rodata @6782 */ -SECTION_RODATA static u8 const lit_6782[16] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AE24A0, &lit_6782); - -/* 80ADFB70-80ADFE74 007A50 0304+00 1/0 0/0 0/0 .text EvCut_WiretapSponsor__11daNpcShad_cFi */ -void daNpcShad_c::EvCut_WiretapSponsor(int param_0) { - // NONMATCHING -} - -/* 80ADFE74-80AE0104 007D54 0290+00 2/0 0/0 0/0 .text EvCut_WiretapEntrant__11daNpcShad_cFi */ -void daNpcShad_c::EvCut_WiretapEntrant(int param_0) { - // NONMATCHING -} - -/* 80AE0104-80AE0124 007FE4 0020+00 1/0 0/0 0/0 .text daNpcShad_Create__FPv */ -static void daNpcShad_Create(void* param_0) { - // NONMATCHING -} - -/* 80AE0124-80AE0144 008004 0020+00 1/0 0/0 0/0 .text daNpcShad_Delete__FPv */ -static void daNpcShad_Delete(void* param_0) { - // NONMATCHING -} - -/* 80AE0144-80AE0164 008024 0020+00 1/0 0/0 0/0 .text daNpcShad_Execute__FPv */ -static void daNpcShad_Execute(void* param_0) { - // NONMATCHING -} - -/* 80AE0164-80AE0184 008044 0020+00 1/0 0/0 0/0 .text daNpcShad_Draw__FPv */ -static void daNpcShad_Draw(void* param_0) { - // NONMATCHING -} - -/* 80AE0184-80AE018C 008064 0008+00 1/0 0/0 0/0 .text daNpcShad_IsDelete__FPv */ -static bool daNpcShad_IsDelete(void* param_0) { - return true; -} - -/* 80AE018C-80AE01BC 00806C 0030+00 1/0 0/0 0/0 .text calc__11J3DTexNoAnmCFPUs */ -// void J3DTexNoAnm::calc(u16* param_0) const { -extern "C" void calc__11J3DTexNoAnmCFPUs() { - // NONMATCHING -} - -/* 80AE01BC-80AE0438 00809C 027C+00 1/0 0/0 0/0 .text setParam__11daNpcShad_cFv */ -void daNpcShad_c::setParam() { - // NONMATCHING -} - -/* 80AE0438-80AE04D8 008318 00A0+00 1/0 0/0 0/0 .text main__11daNpcShad_cFv */ -void daNpcShad_c::main() { - // NONMATCHING -} - -/* 80AE04D8-80AE0B58 0083B8 0680+00 1/1 0/0 0/0 .text playMotion__11daNpcShad_cFv */ -void daNpcShad_c::playMotion() { - // NONMATCHING -} - -/* 80AE0B58-80AE0ED0 008A38 0378+00 1/1 0/0 0/0 .text playExpression__11daNpcShad_cFv */ -void daNpcShad_c::playExpression() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80AE24B0-80AE24B4 0004D4 0004+00 1/1 0/0 0/0 .rodata @6995 */ -SECTION_RODATA static f32 const lit_6995 = 1.0f / 5.0f; -COMPILER_STRIP_GATE(0x80AE24B0, &lit_6995); - -/* 80AE0ED0-80AE0FAC 008DB0 00DC+00 1/0 0/0 0/0 .text ctrlBtk__11daNpcShad_cFv */ -void daNpcShad_c::ctrlBtk() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80AE24B4-80AE24B8 0004D8 0004+00 0/1 0/0 0/0 .rodata @7090 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7090 = 10.0f; -COMPILER_STRIP_GATE(0x80AE24B4, &lit_7090); -#pragma pop - -/* 80AE24B8-80AE24BC 0004DC 0004+00 0/1 0/0 0/0 .rodata @7091 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7091 = 45.0f; -COMPILER_STRIP_GATE(0x80AE24B8, &lit_7091); -#pragma pop - -/* 80AE0FAC-80AE1320 008E8C 0374+00 1/0 0/0 0/0 .text setAttnPos__11daNpcShad_cFv */ -void daNpcShad_c::setAttnPos() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80AE24BC-80AE24C0 0004E0 0004+00 0/1 0/0 0/0 .rodata @7143 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7143 = -30.0f; -COMPILER_STRIP_GATE(0x80AE24BC, &lit_7143); -#pragma pop - -/* 80AE1320-80AE153C 009200 021C+00 1/1 0/0 0/0 .text lookat__11daNpcShad_cFv */ -void daNpcShad_c::lookat() { - // NONMATCHING -} - -/* 80AE153C-80AE1544 00941C 0008+00 1/0 0/0 0/0 .text drawDbgInfo__11daNpcShad_cFv */ -bool daNpcShad_c::drawDbgInfo() { - return false; -} - -/* 80AE1544-80AE1550 009424 000C+00 1/1 0/0 0/0 .text sinShort__Q25JMath18TSinCosTable<13,f>CFs */ -extern "C" void func_80AE1544(void* _this, s16 param_0) /* const */ { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80AE2CA4-80AE2CB0 000684 000C+00 2/2 0/0 0/0 .data __vt__17daNpcShad_Param_c */ -SECTION_DATA extern void* __vt__17daNpcShad_Param_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__17daNpcShad_Param_cFv, -}; - -/* 80AE2CB8-80AE2CC4 000008 000C+00 1/1 0/0 0/0 .bss @3931 */ -static u8 lit_3931[12]; - -/* 80AE2CC4-80AE2CC8 000014 0004+00 1/1 0/0 0/0 .bss l_HIO */ -static u8 l_HIO[4]; - -/* 80AE1550-80AE1728 009430 01D8+00 0/0 1/0 0/0 .text __sinit_d_a_npc_shad_cpp */ -void __sinit_d_a_npc_shad_cpp() { - // NONMATCHING -} - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x80AE1550, __sinit_d_a_npc_shad_cpp); -#pragma pop - -/* 80AE1728-80AE1770 009608 0048+00 5/4 0/0 0/0 .text __dt__18daNpcF_ActorMngr_cFv */ -// daNpcF_ActorMngr_c::~daNpcF_ActorMngr_c() { -extern "C" void __dt__18daNpcF_ActorMngr_cFv() { - // NONMATCHING -} - -/* 80AE1770-80AE17AC 009650 003C+00 2/2 0/0 0/0 .text __ct__18daNpcF_ActorMngr_cFv */ -// daNpcF_ActorMngr_c::daNpcF_ActorMngr_c() { -extern "C" void __ct__18daNpcF_ActorMngr_cFv() { - // NONMATCHING -} - -/* 80AE17AC-80AE187C 00968C 00D0+00 1/0 0/0 0/0 .text __dt__15daNpcF_Lookat_cFv */ -// daNpcF_Lookat_c::~daNpcF_Lookat_c() { -extern "C" void __dt__15daNpcF_Lookat_cFv() { - // NONMATCHING -} - -/* 80AE187C-80AE18B8 00975C 003C+00 5/5 0/0 0/0 .text __dt__5csXyzFv */ -// csXyz::~csXyz() { -extern "C" void __dt__5csXyzFv() { - // NONMATCHING -} - -/* 80AE18B8-80AE18BC 009798 0004+00 2/2 0/0 0/0 .text __ct__5csXyzFv */ -// csXyz::csXyz() { -extern "C" void __ct__5csXyzFv() { - /* empty function */ -} - -/* 80AE18BC-80AE18F8 00979C 003C+00 5/5 0/0 0/0 .text __dt__4cXyzFv */ -// cXyz::~cXyz() { -extern "C" void __dt__4cXyzFv() { - // NONMATCHING -} - -/* 80AE18F8-80AE18FC 0097D8 0004+00 2/2 0/0 0/0 .text __ct__4cXyzFv */ -// cXyz::cXyz() { -extern "C" void __ct__4cXyzFv() { - /* empty function */ -} - -/* 80AE18FC-80AE1B48 0097DC 024C+00 1/1 0/0 0/0 .text __dt__8daNpcF_cFv */ -// daNpcF_c::~daNpcF_c() { -extern "C" void __dt__8daNpcF_cFv() { - // NONMATCHING -} - -/* 80AE1B48-80AE1D38 009A28 01F0+00 1/1 0/0 0/0 .text __ct__8daNpcF_cFv */ -// daNpcF_c::daNpcF_c() { -extern "C" void __ct__8daNpcF_cFv() { - // NONMATCHING -} - -/* 80AE1D38-80AE1DA8 009C18 0070+00 1/0 0/0 0/0 .text __dt__12dBgS_AcchCirFv */ -// dBgS_AcchCir::~dBgS_AcchCir() { -extern "C" void __dt__12dBgS_AcchCirFv() { - // NONMATCHING -} - -/* 80AE1DA8-80AE1E04 009C88 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */ -// dCcD_GStts::~dCcD_GStts() { -extern "C" void __dt__10dCcD_GSttsFv() { - // NONMATCHING -} - -/* 80AE1E04-80AE1E74 009CE4 0070+00 3/2 0/0 0/0 .text __dt__12dBgS_ObjAcchFv */ -// dBgS_ObjAcch::~dBgS_ObjAcch() { -extern "C" void __dt__12dBgS_ObjAcchFv() { - // NONMATCHING -} - -/* 80AE1E74-80AE1EBC 009D54 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */ -// J3DFrameCtrl::~J3DFrameCtrl() { -extern "C" void __dt__12J3DFrameCtrlFv() { - // NONMATCHING -} - -/* 80AE1EBC-80AE1EC0 009D9C 0004+00 1/0 0/0 0/0 .text adjustShapeAngle__8daNpcF_cFv */ -// void daNpcF_c::adjustShapeAngle() { -extern "C" void adjustShapeAngle__8daNpcF_cFv() { - /* empty function */ -} - -/* 80AE1EC0-80AE1EC4 009DA0 0004+00 1/0 0/0 0/0 .text setCollisions__8daNpcF_cFv */ -// void daNpcF_c::setCollisions() { -extern "C" void setCollisions__8daNpcF_cFv() { - /* empty function */ -} - -/* 80AE1EC4-80AE1EC8 009DA4 0004+00 1/0 0/0 0/0 .text drawOtherMdls__8daNpcF_cFv */ -// void daNpcF_c::drawOtherMdls() { -extern "C" void drawOtherMdls__8daNpcF_cFv() { - /* empty function */ -} - -/* 80AE1EC8-80AE1F10 009DA8 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */ -// cCcD_GStts::~cCcD_GStts() { -extern "C" void __dt__10cCcD_GSttsFv() { - // NONMATCHING -} - -/* 80AE1F10-80AE1F70 009DF0 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 -} - -/* 80AE1F70-80AE1FB8 009E50 0048+00 2/1 0/0 0/0 .text __dt__17daNpcShad_Param_cFv */ -daNpcShad_Param_c::~daNpcShad_Param_c() { - // NONMATCHING -} - -/* 80AE1FB8-80AE1FC0 009E98 0008+00 1/0 0/0 0/0 .text @36@__dt__12dBgS_ObjAcchFv */ -static void func_80AE1FB8() { - // NONMATCHING -} - -/* 80AE1FC0-80AE1FC8 009EA0 0008+00 1/0 0/0 0/0 .text @20@__dt__12dBgS_ObjAcchFv */ -static void func_80AE1FC0() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80AE24C0-80AE24C4 0004E4 0004+00 0/0 0/0 0/0 .rodata @7144 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7144 = 40.0f; -COMPILER_STRIP_GATE(0x80AE24C0, &lit_7144); -#pragma pop - -/* 80AE24C4-80AE24C4 0004E8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */