diff --git a/configure.py b/configure.py index efc90c7b3b..6983bd41db 100644 --- a/configure.py +++ b/configure.py @@ -534,9 +534,9 @@ config.libs = [ Object(NonMatching, "d/d_menu_dmap_map.cpp"), Object(Matching, "d/d_menu_map_common.cpp"), Object(Matching, "d/d_menu_fishing.cpp"), - Object(NonMatching, "d/d_menu_fmap.cpp"), + Object(Equivalent, "d/d_menu_fmap.cpp"), Object(NonMatching, "d/d_menu_fmap_map.cpp"), - Object(NonMatching, "d/d_menu_fmap2D.cpp"), + Object(Matching, "d/d_menu_fmap2D.cpp"), Object(Matching, "d/d_menu_insect.cpp"), Object(Matching, "d/d_menu_item_explain.cpp"), Object(NonMatching, "d/d_menu_letter.cpp"), diff --git a/include/JSystem/JParticle/JPAEmitter.h b/include/JSystem/JParticle/JPAEmitter.h index a037998fa3..807f22d075 100644 --- a/include/JSystem/JParticle/JPAEmitter.h +++ b/include/JSystem/JParticle/JPAEmitter.h @@ -68,10 +68,10 @@ struct JPAEmitterWorkData { class JPAEmitterCallBack { public: virtual ~JPAEmitterCallBack() = 0; - /* 80050368 */ virtual void execute(JPABaseEmitter*); - /* 80050374 */ virtual void executeAfter(JPABaseEmitter*); - /* 8005036C */ virtual void draw(JPABaseEmitter*); - /* 80050370 */ virtual void drawAfter(JPABaseEmitter*); + /* 80050368 */ virtual void execute(JPABaseEmitter*) {} + /* 80050374 */ virtual void executeAfter(JPABaseEmitter*) {} + /* 8005036C */ virtual void draw(JPABaseEmitter*) {} + /* 80050370 */ virtual void drawAfter(JPABaseEmitter*) {} /* 8027E6A4 */ //~JPAEmitterCallBack(); }; diff --git a/include/d/actor/d_a_b_ds.h b/include/d/actor/d_a_b_ds.h index 90bd7949e1..90e8d5ce2d 100644 --- a/include/d/actor/d_a_b_ds.h +++ b/include/d/actor/d_a_b_ds.h @@ -326,15 +326,8 @@ STATIC_ASSERT(sizeof(daB_DS_c) == 0x2F28); class daB_DS_HIO_c { public: /* 805CB22C */ daB_DS_HIO_c(); -#ifdef NONMATCHING /* 805DC89C */ virtual ~daB_DS_HIO_c() {} -#else - /* 805DC89C */ ~daB_DS_HIO_c(); -#endif -#ifndef NONMATCHING - /* 0x00 */ void* _vtable; -#endif /* 0x04 */ s8 field_0x04; /* 0x08 */ f32 mModelSize; /* 0x0C */ f32 mHandRange; diff --git a/include/d/actor/d_a_e_vt.h b/include/d/actor/d_a_e_vt.h index eaa6773a09..176ecbafd9 100644 --- a/include/d/actor/d_a_e_vt.h +++ b/include/d/actor/d_a_e_vt.h @@ -285,7 +285,7 @@ private: class daE_VA_HIO_c { public: /* 807C25EC */ daE_VA_HIO_c(); - /* 807CE2AC */ virtual ~daE_VA_HIO_c(); + /* 807CE2AC */ virtual ~daE_VA_HIO_c() {} /* 0x04 */ s8 field_0x04; /* 0x08 */ f32 mModelSize; diff --git a/include/d/actor/d_a_e_yk.h b/include/d/actor/d_a_e_yk.h index 691a15f0ad..d7a1038e1d 100644 --- a/include/d/actor/d_a_e_yk.h +++ b/include/d/actor/d_a_e_yk.h @@ -34,21 +34,6 @@ enum daE_YK_Action { ACT_WIND /**< Keese is in the gale boomerang. */ }; -/** - * @brief Temporary HIO struct to get a match. Remove later. - * - */ -struct daE_YK_HIO_c_tmp { - void* vtable; - /* 0x04 */ s8 field_0x04; - /* 0x08 */ f32 field_0x08; - /* 0x0C */ f32 field_0x0c; - /* 0x10 */ f32 field_0x10; - /* 0x14 */ f32 field_0x14; - /* 0x18 */ f32 field_0x18; -}; - - /** * @brief Shadow Keese Host Input Output class * @@ -56,7 +41,7 @@ struct daE_YK_HIO_c_tmp { class daE_YK_HIO_c { public: /* 8080482C */ daE_YK_HIO_c(); - /* 808077E0 */ virtual ~daE_YK_HIO_c(); + /* 808077E0 */ virtual ~daE_YK_HIO_c() {} /* 0x00 */ // vtable /* 0x04 */ s8 field_0x04; // padding after this diff --git a/include/d/actor/d_a_myna.h b/include/d/actor/d_a_myna.h index 176fab59d4..ddcca50ec8 100644 --- a/include/d/actor/d_a_myna.h +++ b/include/d/actor/d_a_myna.h @@ -129,12 +129,7 @@ public: typedef int (daMyna_c::*BaseMotionFunc)(int); static dCcD_SrcSph const mCcDSph; -// sinit matches, but with incorrect weak function ordering -#ifdef NONMATCHING static daMyna_c::BaseMotionFunc mBaseMotionTBL[7]; -#else - static u8 mBaseMotionTBL[84]; -#endif /* 0x56C */ request_of_phase_process_class mPhase; /* 0x574 */ mDoExt_McaMorfSO* mpMorf; diff --git a/include/d/actor/d_a_npc.h b/include/d/actor/d_a_npc.h index 0c33439bd9..f539005b21 100644 --- a/include/d/actor/d_a_npc.h +++ b/include/d/actor/d_a_npc.h @@ -492,8 +492,40 @@ public: }; class daBaseNpc_c : public fopAc_ac_c { +public: + /* 8014E6C8 */ daBaseNpc_c(); + /* 8014EE44 */ J3DAnmTransform* getTrnsfrmKeyAnmP(char*, int); + /* 8014EE80 */ void setMcaMorfAnm(J3DAnmTransformKey*, f32, f32, int, int, int); + /* 8014EEE4 */ void setBckAnm(J3DAnmTransform*, f32, int, int, int, bool); + /* 8014EF28 */ J3DAnmTransform* getTexPtrnAnmP(char*, int); + /* 8014EF64 */ void setBtpAnm(J3DAnmTexPattern*, J3DModelData*, f32, int); + /* 8014EFF4 */ void orderEvent(int, char*); + /* 8014F0A0 */ void setEnvTevColor(); + /* 8014F0FC */ void setRoomNo(); + /* 8014F148 */ int checkEndAnm(f32); + /* 8014F1C8 */ int checkEndAnm(J3DFrameCtrl*); + + /* 8014E89C */ virtual ~daBaseNpc_c(); + /* 8014EAD0 */ virtual void execute(); + /* 8014EC50 */ virtual void draw(f32); + /* 8014EE3C */ virtual bool getResName(); + /* 8014EFA4 */ virtual void attnSttsOn(int, int); + /* 8014EFF0 */ virtual void setParam(); + /* 8014F09C */ virtual void mainProc(); + /* 8014F140 */ virtual bool btkCtrl(); + /* 8014F228 */ virtual void allAnmPlay(); + /* 8014F38C */ virtual void adjustShapeAngle(); + /* 8014F390 */ virtual void setMtx(int); + /* 8014F4A0 */ virtual void setCollisions(); + /* 8014F4A4 */ virtual void setAttnPos(); + /* 8014F4A8 */ virtual void drawOtherMdls(); + /* 8014F4AC */ virtual bool dbgDraw(); + + static u8 const mCcDObj[48]; + static dCcD_SrcCyl mCcDCyl; + static dCcD_SrcSph mCcDSph; + private: - /* 0x568 */ void* vtable; /* 0x56C */ dBgS_Acch field_0x56c; /* 0x744 */ u8 field_0x744[16]; /* 0x754 */ mDoExt_McaMorfSO* mpMorf[2]; @@ -527,40 +559,6 @@ private: /* 0x9A2 */ u8 field_0x9a2[70]; /* 0x9E8 */ const cBgS_PolyInfo mBgSPolyInfo; /* 0x9F9 */ u8 field_0x9f9[27]; - -public: - /* 8014E6C8 */ daBaseNpc_c(); - /* 8014E89C */ ~daBaseNpc_c(); - /* 8014EAD0 */ void execute(); - /* 8014EC50 */ void draw(f32); - /* 8014EE3C */ bool getResName(); - /* 8014EE44 */ J3DAnmTransform* getTrnsfrmKeyAnmP(char*, int); - /* 8014EE80 */ void setMcaMorfAnm(J3DAnmTransformKey*, f32, f32, int, int, int); - /* 8014EEE4 */ void setBckAnm(J3DAnmTransform*, f32, int, int, int, bool); - /* 8014EF28 */ J3DAnmTransform* getTexPtrnAnmP(char*, int); - /* 8014EF64 */ void setBtpAnm(J3DAnmTexPattern*, J3DModelData*, f32, int); - /* 8014EFA4 */ void attnSttsOn(int, int); - /* 8014EFF0 */ void setParam(); - /* 8014EFF4 */ void orderEvent(int, char*); - /* 8014F09C */ void mainProc(); - /* 8014F0A0 */ void setEnvTevColor(); - /* 8014F0FC */ void setRoomNo(); - /* 8014F140 */ bool btkCtrl(); - /* 8014F148 */ int checkEndAnm(f32); - /* 8014F1C8 */ int checkEndAnm(J3DFrameCtrl*); - /* 8014F228 */ void allAnmPlay(); - /* 8014F38C */ void adjustShapeAngle(); - /* 8014F390 */ void setMtx(int); - /* 8014F4A0 */ void setCollisions(); - /* 8014F4A4 */ void setAttnPos(); - /* 8014F4A8 */ void drawOtherMdls(); - /* 8014F4AC */ bool dbgDraw(); - - void setVtable(void* table) { vtable = table; } - - static u8 const mCcDObj[48]; - static dCcD_SrcCyl mCcDCyl; - static dCcD_SrcSph mCcDSph; }; class daBaseNpc_moveBgActor_c : public daBaseNpc_c { @@ -603,7 +601,7 @@ public: /* 801506E0 */ void remove(); /* 801506EC */ fopAc_ac_c* getActorP(); - /* 80155E40 */ virtual ~daNpcF_ActorMngr_c(); + /* 80155E40 */ virtual ~daNpcF_ActorMngr_c() {} }; class daNpcF_c : public fopAc_ac_c { @@ -793,7 +791,7 @@ public: /* 801549E0 */ BOOL chkFindPlayer2(BOOL, s16); /* 80154BD8 */ void setHitodamaPrtcl(); - /* 80155BF4 */ virtual ~daNpcF_c(); + /* 80155BF4 */ virtual ~daNpcF_c() {} /* 80155BC8 */ virtual void setParam(); /* 80155BC0 */ virtual BOOL main(); /* 80155BD8 */ virtual BOOL ctrlBtk(); @@ -961,18 +959,18 @@ public: void setAttnPos(cXyz* i_attnPos) { mAttnPos = i_attnPos; } }; -class daNpcF_MoveBgActor_c { +class daNpcF_MoveBgActor_c : public daNpcF_c { private: public: /* 80155B54 */ ~daNpcF_MoveBgActor_c(); - /* 80155E88 */ bool CreateHeap(); - /* 80155E90 */ bool Create(); - /* 80155E98 */ bool Delete(); - /* 80155EA0 */ bool Execute(f32 (**)[3][4]); - /* 80155EA8 */ bool Draw(); - /* 80155EB0 */ bool IsDelete(); - /* 80155EB8 */ bool ToFore(); - /* 80155EC0 */ bool ToBack(); + /* 80155E88 */ virtual bool CreateHeap(); + /* 80155E90 */ virtual bool Create(); + /* 80155EA0 */ virtual bool Execute(f32 (**)[3][4]); + /* 80155EA8 */ virtual bool Draw(); + /* 80155E98 */ virtual bool Delete(); + /* 80155EB0 */ virtual bool IsDelete(); + /* 80155EB8 */ virtual bool ToFore(); + /* 80155EC0 */ virtual bool ToBack(); }; #endif /* D_A_D_A_NPC_H */ diff --git a/include/d/actor/d_a_npc_ash.h b/include/d/actor/d_a_npc_ash.h index 4162946bb1..b113910ef4 100644 --- a/include/d/actor/d_a_npc_ash.h +++ b/include/d/actor/d_a_npc_ash.h @@ -103,13 +103,8 @@ public: /* 809596E0 */ bool setExpressionBtp(int); /* 809597C0 */ void setMotionAnm(int i_idx, f32 i_morf); /* 80959910 */ void reset(); -#ifdef NONMATCHING /* 80959B28 */ inline bool setAction(ActionFn); /* 80959BD0 */ inline bool isSneaking(); -#else - /* 80959B28 */ bool setAction(ActionFn); - /* 80959BD0 */ bool isSneaking(); -#endif /* 80959C40 */ bool wait_type0(void*); /* 8095A67C */ void setMotion(int, f32, int); /* 8095A6C0 */ void setExpression(int, f32); @@ -123,11 +118,7 @@ public: /* 8095BA80 */ BOOL EvCut_WiretapEntrant(int i_staffID); /* 8095BCF0 */ void setParam(); /* 8095BF6C */ BOOL main(); -#ifdef NONMATCHING - /* 8095C200 */ inline void playMotion(); -#else /* 8095C200 */ void playMotion(); -#endif /* 8095C520 */ BOOL ctrlBtk(); /* 8095C5C4 */ void setAttnPos(); /* 8095C9BC */ void lookat(); @@ -142,18 +133,14 @@ public: inline bool step(s16, bool); inline void playExpression(); -#ifdef NONMATCHING static EventFn mEvtSeqList[6]; -#else - static u8 mEvtSeqList[72]; -#endif }; STATIC_ASSERT(sizeof(daNpcAsh_c) == 0xF64); class daNpcAsh_Param_c { public: - /* 8095D5D4 */ virtual ~daNpcAsh_Param_c(); + /* 8095D5D4 */ virtual ~daNpcAsh_Param_c() {} struct param { /* 0x00 */ f32 mAttnOffsetY; diff --git a/include/d/actor/d_a_npc_henna.h b/include/d/actor/d_a_npc_henna.h index adbd22e081..ac6a3985f3 100644 --- a/include/d/actor/d_a_npc_henna.h +++ b/include/d/actor/d_a_npc_henna.h @@ -1,7 +1,7 @@ #ifndef D_A_NPC_HENNA_H #define D_A_NPC_HENNA_H -#include "d/actor/d_a_npc.h" +#include "f_op/f_op_actor.h" /** * @ingroup actors-npcs @@ -12,8 +12,15 @@ * */ class npc_henna_class : public fopAc_ac_c { -private: - /* 0x568 */ u8 field_0x568[0x7fc - 0x568]; +public: + /* 0x568 */ u8 field_0x568[0x752 - 0x568]; + /* 0x752 */ u16 field_0x752; + /* 0x754 */ u16 field_0x754; + /* 0x756 */ u8 field_0x756[0x7b5 - 0x756]; + /* 0x7B5 */ u8 field_0x7b5; + /* 0x7B6 */ u8 field_0x7b6[0x7b9 - 0x7b6]; + /* 0x7B9 */ u8 field_0x7b9; + /* 0x7BA */ u8 field_0x7ba[0x7fc - 0x7ba]; }; STATIC_ASSERT(sizeof(npc_henna_class) == 0x7fc); diff --git a/include/d/actor/d_a_npc_ne.h b/include/d/actor/d_a_npc_ne.h index ede21097e9..cec5b0c57d 100644 --- a/include/d/actor/d_a_npc_ne.h +++ b/include/d/actor/d_a_npc_ne.h @@ -197,12 +197,7 @@ STATIC_ASSERT(sizeof(npc_ne_class) == 0xCC4); class daNpc_Ne_HIO_c { public: /* 80A88CCC */ daNpc_Ne_HIO_c(); -#ifdef NONMATCHING /* 80A92374 */ virtual ~daNpc_Ne_HIO_c() {} -#else - /* 80A92374 */ ~daNpc_Ne_HIO_c(); - /* 0x00 */ void* vtable; -#endif /* 0x04 */ s8 field_0x04; /* 0x08 */ f32 mScale; diff --git a/include/d/actor/d_a_npc_the.h b/include/d/actor/d_a_npc_the.h index 05754ee52b..8b391cc449 100644 --- a/include/d/actor/d_a_npc_the.h +++ b/include/d/actor/d_a_npc_the.h @@ -203,11 +203,7 @@ private: /* 0xE1E */ u8 mType; static char* mEvtCutNameList[4]; -#ifdef NONMATCHING static EventFn mEvtCutList[4]; -#else - static u8 mEvtCutList[48]; -#endif }; STATIC_ASSERT(sizeof(daNpcThe_c) == 0xE20); @@ -249,7 +245,7 @@ public: /* 0x6A */ bool mTest; }; - /* 80AFBDA0 */ virtual ~daNpcThe_Param_c(); + /* 80AFBDA0 */ virtual ~daNpcThe_Param_c() {} static daNpcThe_Param_c::param const m; }; diff --git a/include/d/actor/d_a_npc_zra.h b/include/d/actor/d_a_npc_zra.h index afae1973e9..07edc26c37 100644 --- a/include/d/actor/d_a_npc_zra.h +++ b/include/d/actor/d_a_npc_zra.h @@ -316,7 +316,7 @@ public: /* 80B8B420 */ BOOL waitSearch(void*); /* 80B8B530 */ BOOL ECut_searchPrince1(int); /* 80B8BCE8 */ BOOL ECut_searchPrince2(int); - /* 80B8C3E8 */ void adjustShapeAngle(); + /* 80B8C3E8 */ void adjustShapeAngle() {} int getType() { return mType; } u32 getAngleNoFromParam() { return (u8)(fopAcM_GetParam(this) >> 8); } void setBlastFlag(u8 i_flag) { mBlastFlag = i_flag; } @@ -393,13 +393,8 @@ public: /* 0x15C0 */ u8 field_0x15c0; /* 0x15C1 */ bool mBlastFlag; -#ifdef NONMATCHING static char* mEvtCutNameList[11]; static EventFn mEvtCutList[11]; -#else - static void* mEvtCutNameList[11]; - static u8 mEvtCutList[132]; -#endif }; STATIC_ASSERT(sizeof(daNpc_zrA_c) == 0x15C4); @@ -459,7 +454,7 @@ public: /* 0xAC */ f32 field_0xac; }; - /* 80B8C3EC */ virtual ~daNpc_zrA_Param_c(); + /* 80B8C3EC */ virtual ~daNpc_zrA_Param_c() {} static param const m; }; diff --git a/include/d/actor/d_a_npc_zrz.h b/include/d/actor/d_a_npc_zrz.h index f6b564089b..18ffbe28d6 100644 --- a/include/d/actor/d_a_npc_zrz.h +++ b/include/d/actor/d_a_npc_zrz.h @@ -76,7 +76,7 @@ public: /* 80B9A0EC */ BOOL talk(void*); /* 80B9A29C */ BOOL test(void*); /* 80B9A380 */ void himoCalc(); - /* 80B9AF7C */ void adjustShapeAngle(); + /* 80B9AF7C */ void adjustShapeAngle() {} private: /* 0x0B48 */ Z2Creature mCreatureSound; diff --git a/include/d/actor/d_a_obj_kantera.h b/include/d/actor/d_a_obj_kantera.h index 9a3edf88e5..f6316a846b 100644 --- a/include/d/actor/d_a_obj_kantera.h +++ b/include/d/actor/d_a_obj_kantera.h @@ -3,7 +3,6 @@ #include "d/actor/d_a_itembase.h" -#ifdef NONMATCHING /** * @ingroup actors-objects * @class daItemKantera_c @@ -45,27 +44,5 @@ private: }; STATIC_ASSERT(sizeof(daItemKantera_c) == 0x948); -#else -struct daItemKantera_c { - /* 80C389BC */ void initBaseMtx(); - /* 80C389F8 */ void setBaseMtx(); - /* 80C38A64 */ int Create(); - /* 80C38BA8 */ int __CreateHeap(); - /* 80C38BB0 */ int create(); - /* 80C38F78 */ void bg_check(); - /* 80C39068 */ int actionInit(); - /* 80C390A0 */ int actionWaitInit(); - /* 80C3911C */ int actionWait(); - /* 80C39234 */ int initActionOrderGetDemo(); - /* 80C392D0 */ int actionOrderGetDemo(); - /* 80C3934C */ int actionGetDemo(); - /* 80C393B0 */ int execute(); - /* 80C394DC */ int draw(); - /* 80C39530 */ int _delete(); - -private: - /* 0x000 */ u8 field_0x0[0x948]; -}; -#endif #endif /* D_A_OBJ_KANTERA_H */ diff --git a/include/d/actor/d_a_obj_mirror_table.h b/include/d/actor/d_a_obj_mirror_table.h index fc181c5b1c..722c2676c1 100644 --- a/include/d/actor/d_a_obj_mirror_table.h +++ b/include/d/actor/d_a_obj_mirror_table.h @@ -15,7 +15,7 @@ class daObjMirrorTable_c : public fopAc_ac_c { public: /* 80C99938 */ int createHeap(); - /* 80C99F7C */ /* inline */ bool isSwitch(); // should be inlined once createHeap matches + /* 80C99F7C */ inline bool isSwitch(); inline void checkOnPanel(); /* 80C9A298 */ int draw(); inline void setBaseMtx(); diff --git a/include/d/actor/d_a_obj_volcball.h b/include/d/actor/d_a_obj_volcball.h index 3241c1a2d8..ca7155796d 100644 --- a/include/d/actor/d_a_obj_volcball.h +++ b/include/d/actor/d_a_obj_volcball.h @@ -27,8 +27,8 @@ public: }; struct vball_s { - /* 80D21FA8 */ ~vball_s(); - /* 80D2214C */ vball_s(); + /* 80D21FA8 */ ~vball_s() {} + /* 80D2214C */ vball_s() {} /* 0x000 */ J3DModel* mpModel; /* 0x004 */ cXyz field_0x4; @@ -107,7 +107,7 @@ public: /* 80D23904 */ int draw(); /* 80D23A0C */ int _delete(); - /* 80D23B24 */ virtual ~daObjVolcBall_c(); + /* 80D23B24 */ virtual ~daObjVolcBall_c() {} /* 80D22DDC */ virtual BOOL eventStart(); u8 getSwBit() { return fopAcM_GetParamBit(this, 0, 8); } diff --git a/include/d/actor/d_a_obj_zraMark.h b/include/d/actor/d_a_obj_zraMark.h index ca37dc1950..7e4cc1ebed 100644 --- a/include/d/actor/d_a_obj_zraMark.h +++ b/include/d/actor/d_a_obj_zraMark.h @@ -10,10 +10,7 @@ class daNpc_Hoz_c; class _ZraMark_Hahen_c { public: - _ZraMark_Hahen_c() { - mpModel = NULL; - setColor(0); - } + inline _ZraMark_Hahen_c(); /* 80D4347C */ int create(cXyz const&, s8, s8, s8, s8); /* 80D434F8 */ BOOL loadModel(); @@ -22,7 +19,7 @@ public: /* 80D43864 */ void setMtx(); /* 80D438C8 */ void draw(); - void setColor(const s8& i_color) { mColor = i_color; } + inline void setColor(const s8& i_color) { mColor = i_color; } s8 getColor() { return mColor; } void setPos(const cXyz& i_pos) { mPos = i_pos; } void setSpeed(const cXyz& i_speed) { mSpeed = i_speed; } diff --git a/include/d/actor/d_a_player.h b/include/d/actor/d_a_player.h index 120618b9fe..a87b4b87f4 100644 --- a/include/d/actor/d_a_player.h +++ b/include/d/actor/d_a_player.h @@ -565,7 +565,7 @@ public: static BOOL checkShieldGet(); static BOOL checkSwordGet(); void changeDemoParam2(s16); - cXyz getHeadTopPos() const; + cXyz getHeadTopPos() const { return mHeadTopPos; } BOOL checkThrowDamage() const { return checkNoResetFlg1(FLG1_THROW_DAMAGE); } BOOL checkGoronSideMove() const { return mSpecialMode == 0x2B; } cXyz* getRightFootPosP() { return &mRightFootPos; } diff --git a/include/d/d_com_inf_game.h b/include/d/d_com_inf_game.h index 0767401cc4..80a8b3a470 100644 --- a/include/d/d_com_inf_game.h +++ b/include/d/d_com_inf_game.h @@ -2606,8 +2606,8 @@ inline stage_pselect_info_class* dComIfGp_getStagePselectInfo() { return g_dComIfG_gameInfo.play.getStage().getPselectInfo(); } -inline stage_vrbox_info_class* dComIfGp_getStageVrboxcolInfo() { - return g_dComIfG_gameInfo.play.getStage().getVrboxInfo(); +inline stage_vrboxcol_info_class* dComIfGp_getStageVrboxcolInfo() { + return g_dComIfG_gameInfo.play.getStage().getVrboxcolInfo(); } inline stage_plight_info_class* dComIfGp_getStagePlightInfo() { diff --git a/include/d/d_drawlist.h b/include/d/d_drawlist.h index 136b879ef4..a916ea6d9c 100644 --- a/include/d/d_drawlist.h +++ b/include/d/d_drawlist.h @@ -167,8 +167,8 @@ public: class dDlst_shadowRealPoly_c : public dDlst_shadowPoly_c { public: - /* 800569A0 */ virtual dDlst_shadowTri_c* getTri(); - /* 800569A8 */ virtual s32 getTriMax(); + /* 800569A0 */ virtual dDlst_shadowTri_c* getTri() { return mShadowTri; } + /* 800569A8 */ virtual s32 getTriMax() { return ARRAY_SIZE(mShadowTri); } /* 0x8 */ dDlst_shadowTri_c mShadowTri[256]; }; @@ -258,8 +258,6 @@ private: STATIC_ASSERT(sizeof(dDlst_window_c) == 0x2C); -extern u8 mWipe__12dDlst_list_c; // Wipe - struct view_port_class; struct view_class; diff --git a/include/d/d_kankyo.h b/include/d/d_kankyo.h index 21cdd5abd4..1fb81440e1 100644 --- a/include/d/d_kankyo.h +++ b/include/d/d_kankyo.h @@ -227,7 +227,7 @@ class dKyd_lightSchejule; class stage_palette_info_class; class stage_pselect_info_class; class stage_envr_info_class; -class stage_vrbox_info_class; +class stage_vrboxcol_info_class; class stage_plight_info_class; class kytag08_class; @@ -278,7 +278,7 @@ public: /* 801A5288 */ void exeKankyo(); /* 801A56DC */ void drawKankyo(); - /* 801ADBBC */ virtual ~dScnKy_env_light_c(); + /* 801ADBBC */ virtual ~dScnKy_env_light_c() {} void setLightTevColorType(J3DModel* i_model, dKy_tevstr_c* tevstr) { setLightTevColorType(i_model->getModelData(), tevstr); @@ -292,7 +292,7 @@ public: /* 0x0004 */ stage_palette_info_class* mpDmPalet; /* 0x0008 */ stage_pselect_info_class* mpDmPselect; /* 0x000C */ stage_envr_info_class* mpDmEnvr; - /* 0x0010 */ stage_vrbox_info_class* mpDmVrbox; + /* 0x0010 */ stage_vrboxcol_info_class* mpDmVrbox; /* 0x0014 */ dKyd_lightSchejule* mpSchedule; /* 0x0018 */ LIGHT_INFLUENCE mBaseLightInfluence; /* 0x0038 */ LIGHT_INFLUENCE mLightInfluence[30]; diff --git a/include/d/d_menu_dmap.h b/include/d/d_menu_dmap.h index a16dd3425e..8cb7a265ca 100644 --- a/include/d/d_menu_dmap.h +++ b/include/d/d_menu_dmap.h @@ -22,7 +22,7 @@ class dMenu_ItemExplain_c; class J2DPictureEx; struct renderingDmap_c { - /* 801C0380 */ ~renderingDmap_c(); + /* 801C0380 */ virtual ~renderingDmap_c() {} /* 801C051C */ renderingDmap_c(); }; diff --git a/include/d/d_menu_dmap_map.h b/include/d/d_menu_dmap_map.h index 7e3c02247d..b04cf17bf9 100644 --- a/include/d/d_menu_dmap_map.h +++ b/include/d/d_menu_dmap_map.h @@ -4,7 +4,7 @@ #include "dolphin/types.h" struct dMenu_StageMapCtrl_c { - /* 801C042C */ ~dMenu_StageMapCtrl_c(); + /* 801C042C */ virtual ~dMenu_StageMapCtrl_c() {} /* 801C0EE0 */ f32 getMapBlendPer() const; /* 801C0F24 */ void getPixelStageSizeX() const; /* 801C0F3C */ void getPixelStageSizeZ() const; @@ -48,7 +48,7 @@ struct dMenu_StageMapCtrl_c { }; struct dMenu_DmapMapCtrl_c : public dMenu_StageMapCtrl_c { - /* 801BD144 */ ~dMenu_DmapMapCtrl_c(); + /* 801BD144 */ virtual ~dMenu_DmapMapCtrl_c() {} /* 801C18C0 */ void getZoomMinMaxCheck(f32*, f32*, f32*, f32*, bool*, bool*); /* 801C1B14 */ void calcZoomCenter(f32*, f32*); /* 801C1BA4 */ void getZoomCmPerPixel(); diff --git a/include/d/d_menu_fmap_map.h b/include/d/d_menu_fmap_map.h index 427b7b3cdb..b9f67e00fc 100644 --- a/include/d/d_menu_fmap_map.h +++ b/include/d/d_menu_fmap_map.h @@ -89,10 +89,10 @@ public: /* 801CE93C */ bool getNextRegion(); /* 801CE9A4 */ room_class* getNextRoomPointer(); - /* 801CF4D0 */ ~renderingFmap_c(); // {} - /* 801CF55C */ bool isRenderingFloor(int); // { return true; } - /* 801CF564 */ void beforeDrawPath(); // {} - /* 801CF568 */ void afterDrawPath(); // {} + /* 801CF4D0 */ ~renderingFmap_c() {} + /* 801CF55C */ bool isRenderingFloor(int) { return true; } + /* 801CF564 */ void beforeDrawPath() {} + /* 801CF568 */ void afterDrawPath() {} int getNowDrawRegionNo() { return mRegionNo; } bool isDrawEnable() { return mDrawEnable; } diff --git a/include/d/d_particle.h b/include/d/d_particle.h index 7e39ae59ba..82b49c07c2 100644 --- a/include/d/d_particle.h +++ b/include/d/d_particle.h @@ -18,7 +18,7 @@ class dPa_levelEcallBack : public JPAEmitterCallBack { public: /* 8004FB18 */ virtual ~dPa_levelEcallBack() { cleanup(); } virtual void setup(JPABaseEmitter*, const cXyz*, const csXyz*, s8) = 0; - /* 8004FB8C */ virtual void cleanup(); + /* 8004FB8C */ virtual void cleanup() {} }; class dPa_hermiteEcallBack_c : public dPa_levelEcallBack { @@ -56,7 +56,7 @@ public: /* 8004B168 */ u32 set(cXyz const*, dKy_tevstr_c const*, u8, _GXColor const&, _GXColor const&, int, f32); - /* 8004FC08 */ virtual ~dPa_simpleEcallBack(); + /* 8004FC08 */ virtual ~dPa_simpleEcallBack() {} /* 8004AE1C */ virtual void executeAfter(JPABaseEmitter*); /* 8004AF94 */ virtual void draw(JPABaseEmitter*); @@ -75,11 +75,11 @@ class dPa_followEcallBack : public dPa_levelEcallBack { public: /* 80049580 */ dPa_followEcallBack(u8 param_0 = 0, u8 param_1 = 0); - /* 80050200 */ virtual ~dPa_followEcallBack(); + /* 80050200 */ virtual ~dPa_followEcallBack() {} /* 800495BC */ virtual void execute(JPABaseEmitter*); /* 800496B0 */ virtual void draw(JPABaseEmitter*); /* 800496B4 */ virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8); - /* 80050284 */ virtual void cleanup(); + /* 80050284 */ virtual void cleanup() { end(); } /* 8004974C */ virtual void end(); void remove() { end(); } @@ -99,13 +99,13 @@ public: class dPa_windPcallBack : public JPAParticleCallBack { public: - /* 8004FF2C */ virtual ~dPa_windPcallBack(); + /* 8004FF2C */ virtual ~dPa_windPcallBack() {} /* 8004B4E0 */ virtual void execute(JPABaseEmitter*, JPABaseParticle*); }; class dPa_wbPcallBack_c : public JPAParticleCallBack { public: - /* 8004FECC */ virtual ~dPa_wbPcallBack_c(); + /* 8004FECC */ virtual ~dPa_wbPcallBack_c() {} /* 8004DC28 */ virtual void execute(JPABaseEmitter*, JPABaseParticle*); }; @@ -113,7 +113,7 @@ class dPa_setColorEcallBack : public dPa_levelEcallBack { public: dPa_setColorEcallBack(const GXColor& color) { mColor = color; } - /* 800502E4 */ virtual ~dPa_setColorEcallBack(); + /* 800502E4 */ virtual ~dPa_setColorEcallBack() {} /* 800502B0 */ virtual void draw(JPABaseEmitter*); /* 800502E0 */ virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8); @@ -124,7 +124,7 @@ class dPa_selectTexEcallBack : public dPa_levelEcallBack { public: dPa_selectTexEcallBack(u8 param_0) { field_0x4 = param_0; } - /* 8004FF8C */ virtual ~dPa_selectTexEcallBack(); + /* 8004FF8C */ virtual ~dPa_selectTexEcallBack() {} /* 8004ADC4 */ virtual void draw(JPABaseEmitter*); /* 80050010 */ virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8); @@ -133,13 +133,13 @@ public: class dPa_particleTracePcallBack_c : public JPAParticleCallBack { public: - /* 8004FC68 */ virtual ~dPa_particleTracePcallBack_c(); + /* 8004FC68 */ virtual ~dPa_particleTracePcallBack_c() {} /* 8004FAD4 */ virtual void execute(JPABaseEmitter*, JPABaseParticle*); }; class dPa_modelPcallBack : public JPAParticleCallBack { public: - /* 80050038 */ virtual ~dPa_modelPcallBack(); + /* 80050038 */ virtual ~dPa_modelPcallBack() {} /* 8004A460 */ virtual void draw(JPABaseEmitter*, JPABaseParticle*); }; @@ -151,10 +151,10 @@ public: /* 8004A88C */ void cleanup(); /* 8004A8DC */ void draw(f32 (*)[4]); /* 8004AB88 */ ~model_c(); - /* 8004FB90 */ model_c(); + /* 8004FB90 */ model_c() { field_0x0 = NULL; } void reset() { - field_0x0 = 0; + field_0x0 = NULL; } u8 getRotAxis() { return mRotAxis; } @@ -182,7 +182,7 @@ public: /* 8004AD58 */ static model_c* getModel(JPABaseEmitter*); /* 8004AD90 */ static u8 getRotAxis(JPABaseEmitter*); - /* 80050378 */ virtual ~dPa_modelEcallBack(); + /* 80050378 */ virtual ~dPa_modelEcallBack() {} /* 8004AA34 */ virtual void draw(JPABaseEmitter*); /* 80050014 */ virtual void drawAfter(JPABaseEmitter*); /* 8004AAA8 */ virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8); @@ -202,14 +202,14 @@ public: class dPa_light8PcallBack : public JPAParticleCallBack { public: - /* 8004FE0C */ virtual ~dPa_light8PcallBack(); + /* 8004FE0C */ virtual ~dPa_light8PcallBack() {} /* 8004DD10 */ virtual void execute(JPABaseEmitter*, JPABaseParticle*); /* 8004DD1C */ virtual void draw(JPABaseEmitter*, JPABaseParticle*); }; class dPa_light8EcallBack : public dPa_levelEcallBack { public: - /* 8005015C */ virtual ~dPa_light8EcallBack(); + /* 8005015C */ virtual ~dPa_light8EcallBack() {} /* 8004A340 */ virtual void draw(JPABaseEmitter*); /* 800501E0 */ virtual void drawAfter(JPABaseEmitter*); /* 8004979C */ virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8); @@ -217,14 +217,14 @@ public: class dPa_gen_d_light8PcallBack : public JPAParticleCallBack { public: - /* 8004FD4C */ virtual ~dPa_gen_d_light8PcallBack(); + /* 8004FD4C */ virtual ~dPa_gen_d_light8PcallBack() {} /* 8004DD18 */ virtual void execute(JPABaseEmitter*, JPABaseParticle*); /* 8004ED44 */ virtual void draw(JPABaseEmitter*, JPABaseParticle*); }; class dPa_gen_d_light8EcallBack : public dPa_levelEcallBack { public: - /* 800503FC */ virtual ~dPa_gen_d_light8EcallBack(); + /* 800503FC */ virtual ~dPa_gen_d_light8EcallBack() {} /* 8004A388 */ virtual void draw(JPABaseEmitter*); /* 80050098 */ virtual void drawAfter(JPABaseEmitter*); /* 800497CC */ virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8); @@ -232,14 +232,14 @@ public: class dPa_gen_b_light8PcallBack : public JPAParticleCallBack { public: - /* 8004FDAC */ virtual ~dPa_gen_b_light8PcallBack(); + /* 8004FDAC */ virtual ~dPa_gen_b_light8PcallBack() {} /* 8004DD14 */ virtual void execute(JPABaseEmitter*, JPABaseParticle*); /* 8004E6A8 */ virtual void draw(JPABaseEmitter*, JPABaseParticle*); }; class dPa_gen_b_light8EcallBack : public dPa_levelEcallBack { public: - /* 800500B8 */ virtual ~dPa_gen_b_light8EcallBack(); + /* 800500B8 */ virtual ~dPa_gen_b_light8EcallBack() {} /* 8004A364 */ virtual void draw(JPABaseEmitter*); /* 8005013C */ virtual void drawAfter(JPABaseEmitter*); /* 800497B0 */ virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8); @@ -247,7 +247,7 @@ public: class dPa_fsenthPcallBack : public JPAParticleCallBack { public: - /* 8004FE6C */ virtual ~dPa_fsenthPcallBack(); + /* 8004FE6C */ virtual ~dPa_fsenthPcallBack() {} /* 8004DCA0 */ virtual void execute(JPABaseEmitter*, JPABaseParticle*); /* 8004DD0C */ virtual void draw(JPABaseEmitter*, JPABaseParticle*); }; @@ -271,7 +271,7 @@ public: /* 8004B504 */ void onActive(); /* 8004B544 */ void entry(u32, u16, JPABaseEmitter*, dPa_levelEcallBack*); /* 8004B5AC */ void cleanup(); - /* 8004FBFC */ emitter_c(); + /* 8004FBFC */ emitter_c() { mId = 0; } JPABaseEmitter* getEmitter() { return mEmitter; } emitter_c* getPre() { return mPre; } @@ -410,56 +410,48 @@ public: static bool isStatus(u8 status) { return mStatus & status; } static dPa_selectTexEcallBack* getTsuboSelectTexEcallBack(int idx) { - return ((dPa_selectTexEcallBack*)mTsubo) + idx; + return &mTsubo[idx]; } static JPAEmitterManager* getEmitterManager() { return mEmitterMng; } static JPAParticleCallBack* getLight8PcallBack() { - return (JPAParticleCallBack*)mLight8PcallBack; - //return &mLight8PcallBack; + return &mLight8PcallBack; } static JPAParticleCallBack* getGen_b_Light8PcallBack() { - return (JPAParticleCallBack*)m_b_Light8PcallBack; - //return &m_b_Light8PcallBack; + return &m_b_Light8PcallBack; } static JPAParticleCallBack* getGen_d_Light8PcallBack() { - return (JPAParticleCallBack*)m_d_Light8PcallBack; - //return &m_d_Light8PcallBack; + return &m_d_Light8PcallBack; } static dPa_gen_b_light8EcallBack* getGen_b_Light8EcallBack() { - return (dPa_gen_b_light8EcallBack*)m_b_Light8EcallBack; - //return &m_b_Light8EcallBack; + return &m_b_Light8EcallBack; } static dPa_gen_d_light8EcallBack* getGen_d_Light8EcallBack() { - return (dPa_gen_d_light8EcallBack*)m_d_Light8EcallBack; - //return &m_d_Light8PcallBack; + return &m_d_Light8EcallBack; } static dPa_light8EcallBack* getLight8EcallBack() { - return (dPa_light8EcallBack*)mLight8EcallBack; - //return &mLight8EcallBack; + return &mLight8EcallBack; } static JPAParticleCallBack* getParticleTracePCB() { - return (JPAParticleCallBack*)mParticleTracePCB; - //return &mParticleTracePCB; + return &mParticleTracePCB; } static JPAParticleCallBack* getFsenthPcallBack() { - return (JPAParticleCallBack*)mFsenthPcallBack; - //return &mFsenthPcallBack; + return &mFsenthPcallBack; } - static u8 mTsubo[64]; + static dPa_selectTexEcallBack mTsubo[8]; static u8 mLifeBall[24]; static Mtx mWindViewMatrix; static JPAEmitterManager* mEmitterMng; static u8 mWaterBubblePcallBack[4]; - static u8 mFsenthPcallBack[4]; - static u8 mLight8EcallBack[4]; - static u8 mLight8PcallBack[4]; - static u8 m_b_Light8EcallBack[4]; - static u8 m_b_Light8PcallBack[4]; - static u8 m_d_Light8EcallBack[4]; - static u8 m_d_Light8PcallBack[4]; - static u8 mParticleTracePCB[4 + 4 /* padding */]; + static JPAParticleCallBack mFsenthPcallBack; + static dPa_light8EcallBack mLight8EcallBack; + static JPAParticleCallBack mLight8PcallBack; + static dPa_gen_b_light8EcallBack m_b_Light8EcallBack; + static JPAParticleCallBack m_b_Light8PcallBack; + static dPa_gen_d_light8EcallBack m_d_Light8EcallBack; + static JPAParticleCallBack m_d_Light8PcallBack; + static JPAParticleCallBack mParticleTracePCB; static u8 mStatus; private: diff --git a/include/d/d_stage.h b/include/d/d_stage.h index 45b8898841..5bcb8234d4 100644 --- a/include/d/d_stage.h +++ b/include/d/d_stage.h @@ -10,7 +10,12 @@ class JKRExpHeap; struct stage_vrboxcol_info_class { - // VRB + /* 0x00 */ color_RGB_class field_0x0; + /* 0x03 */ color_RGB_class field_0x3; + /* 0x06 */ color_RGB_class field_0x6; + /* 0x09 */ GXColor field_0x9; + /* 0x0D */ GXColor field_0xd; + /* 0x11 */ GXColor field_0x11; }; // Size: 0x18 // Virt @@ -813,7 +818,7 @@ public: /* 80024954 */ static bool resetArchiveBank(int); /* 80024DB0 */ static void SetTimePass(int); /* 8025BAAC */ static void setZoneNo(int, int); - static s8 GetTimePass(); + static s8 GetTimePass() { return m_time_pass; } static s8 getStayNo() { return mStayNo; } static u8 getRegionNo(int i_roomNo) { return mStatus[i_roomNo].mRegionNo; } diff --git a/src/Z2AudioLib/Z2EnvSeMgr.cpp b/src/Z2AudioLib/Z2EnvSeMgr.cpp index 3cdcb33215..50d620c865 100644 --- a/src/Z2AudioLib/Z2EnvSeMgr.cpp +++ b/src/Z2AudioLib/Z2EnvSeMgr.cpp @@ -9,120 +9,6 @@ #include "Z2AudioLib/Z2Creature.h" #include "d/d_save.h" #include "d/d_com_inf_game.h" -#include "dol2asm.h" - -// -// Forward References: -// - -extern "C" void __ct__11Z2EnvSeBaseFP3Vec(); -extern "C" void __dt__11Z2EnvSeBaseFv(); -extern "C" void startEnvSe__11Z2EnvSeBaseF10JAISoundIDfffffUl(); -extern "C" void startEnvSeLevel__11Z2EnvSeBaseF10JAISoundIDfffffUl(); -extern "C" void __ct__10Z2EnvSeDirFP3Vec(); -extern "C" void __dt__10Z2EnvSeDirFv(); -extern "C" void setPanDir__10Z2EnvSeDirFP3Vec(); -extern "C" void calcPan__10Z2EnvSeDirFf(); -extern "C" void startEnvSeDirLevel__10Z2EnvSeDirF10JAISoundIDff(); -extern "C" void __ct__14Z2EnvSeAutoPanFv(); -extern "C" void __dt__14Z2EnvSeAutoPanFv(); -extern "C" void setPanParam__14Z2EnvSeAutoPanFffbbff(); -extern "C" void calcPan__14Z2EnvSeAutoPanFv(); -extern "C" void startEnvSeAutoPanLevel__14Z2EnvSeAutoPanF10JAISoundIDfff(); -extern "C" void __ct__10Z2EnvSeMgrFv(); -extern "C" void __dt__10Z2EnvSeMgrFv(); -extern "C" void framework__10Z2EnvSeMgrFv(); -extern "C" void resetScene__10Z2EnvSeMgrFv(); -extern "C" void resetSceneInner__10Z2EnvSeMgrFv(); -extern "C" void initSceneEnvSe__10Z2EnvSeMgrFlScf(); -extern "C" void playSceneEnvSe__10Z2EnvSeMgrFv(); -extern "C" void initStaticEnvSe__10Z2EnvSeMgrFUcUcUcUcP3Vec(); -extern "C" void startStaticEnvSe__10Z2EnvSeMgrFSc(); -extern "C" void registWindowPos__10Z2EnvSeMgrFP3Vec(); -extern "C" void startRainSe__10Z2EnvSeMgrFlSc(); -extern "C" void startNearThunderSe__10Z2EnvSeMgrFSc(); -extern "C" void startFarThunderSe__10Z2EnvSeMgrFP3VecSc(); -extern "C" void setSnowPower__10Z2EnvSeMgrFSc(); -extern "C" void initStrongWindSe__10Z2EnvSeMgrFv(); -extern "C" void setWindDirection__10Z2EnvSeMgrFP3Vec(); -extern "C" void startStrongWindSe__10Z2EnvSeMgrFSc(); -extern "C" void initRiverSe__10Z2EnvSeMgrFUcUcUcUc(); -extern "C" void registRiverSePos__10Z2EnvSeMgrFP3Vec(); -extern "C" void setHyrulSewerOpen__10Z2EnvSeMgrFb(); -extern "C" void startRiverSe__10Z2EnvSeMgrFSc(); -extern "C" void initFallSe__10Z2EnvSeMgrFUcUcUcUc(); -extern "C" void registFallSePos__10Z2EnvSeMgrFP3Vec(); -extern "C" void startFallSe__10Z2EnvSeMgrFSc(); -extern "C" void initEtcSe__10Z2EnvSeMgrFUcUcUcUc(); -extern "C" void registEtcSePos__10Z2EnvSeMgrFP3Vec(); -extern "C" void startEtcSe__10Z2EnvSeMgrFSc(); -extern "C" void registWolfSmellSePos__10Z2EnvSeMgrFP3Vec(); -extern "C" void startFogWipeTrigger__10Z2EnvSeMgrFP3Vec(); -extern "C" void setFogWipeWidth__10Z2EnvSeMgrFf(); -extern "C" void getFogDensity__10Z2EnvSeMgrFv(); -extern "C" void startFogSe__10Z2EnvSeMgrFv(); -extern "C" void initLv3WaterSe__10Z2EnvSeMgrFUcUcUcUc(); -extern "C" void registLv3WaterSePos__10Z2EnvSeMgrFUcP3Vec(); -extern "C" void startLv3WaterSe__10Z2EnvSeMgrFSc(); - -// -// External References: -// - -extern "C" void dComIfGp_getReverb__Fi(); -extern "C" void isSwitch__12dSv_memBit_cCFi(); -extern "C" void isEventBit__11dSv_event_cCFUs(); -extern "C" void releaseSound__14JAISoundHandleFv(); -extern "C" void releaseHandle__8JAISoundFv(); -extern "C" void stop__8JAISoundFUl(); -extern "C" void moveVolume__18JAISoundParamsMoveFfUl(); -extern "C" void movePitch__18JAISoundParamsMoveFfUl(); -extern "C" void moveFxMix__18JAISoundParamsMoveFfUl(); -extern "C" void movePan__18JAISoundParamsMoveFfUl(); -extern "C" void moveDolby__18JAISoundParamsMoveFfUl(); -extern "C" void func_802A2FEC(); -extern "C" void linearTransform__6Z2CalcFfffffb(); -extern "C" void getParamByExp__6Z2CalcFffffffQ26Z2Calc9CurveSign(); -extern "C" void getRandom__6Z2CalcFfff(); -extern "C" void setParam__Q26Z2Calc8FNoise1fFfff(); -extern "C" void calcNoise1f__Q26Z2Calc8FNoise1fFv(); -extern "C" void setIIR__10Z2SoundMgrFP8JAISoundPCs(); -extern "C" void setPortData__14Z2SoundStarterFP14JAISoundHandleUlUsSc(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void __ct__12Z2MultiSeMgrFv(); -extern "C" void __dt__12Z2MultiSeMgrFv(); -extern "C" void registMultiSePos__12Z2MultiSeMgrFP3Vec(); -extern "C" void resetMultiSePos__12Z2MultiSeMgrFv(); -extern "C" void getPanPower__12Z2MultiSeMgrFv(); -extern "C" void getDolbyPower__12Z2MultiSeMgrFv(); -extern "C" void convertAbsToRel__10Z2AudienceFR3VecP3Veci(); -extern "C" void calcRelPosVolume__10Z2AudienceFRC3Vecfi(); -extern "C" void calcRelPosPan__10Z2AudienceFRC3Veci(); -extern "C" void calcRelPosDolby__10Z2AudienceFRC3Veci(); -extern "C" void __dl__FPv(); -extern "C" void JMAFastVECNormalize__FPC3VecP3Vec(); -extern "C" void __cvt_fp2unsigned(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" u8 const CUTOFF_TO_IIR_TABLE__7JASCalc[1024]; -extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; -extern "C" extern u8 data_80450B44[4]; -extern "C" extern u8 data_80450B60[4]; -extern "C" extern u8 data_80450B74[4]; -extern "C" extern u8 data_80450B7C[4]; -extern "C" extern u8 data_80450B80[4]; -extern "C" u8 mLinkPtr__14Z2CreatureLink[4 + 4 /* padding */]; -extern "C" f32 cEqualCSlope__6Z2Calc; -extern "C" f32 cEqualPSlope__6Z2Calc; -extern "C" extern u8 __OSReport_disable; - -// -// Declarations: -// /* 802C589C-802C58AC 2C01DC 0010+00 3/3 0/0 0/0 .text __ct__11Z2EnvSeBaseFP3Vec */ Z2EnvSeBase::Z2EnvSeBase(Vec* param_0) { @@ -132,34 +18,6 @@ Z2EnvSeBase::Z2EnvSeBase(Vec* param_0) { /* 802C58AC-802C5908 2C01EC 005C+00 3/3 0/0 0/0 .text __dt__11Z2EnvSeBaseFv */ Z2EnvSeBase::~Z2EnvSeBase() {} -/* ############################################################################################## */ -/* 80455D40-80455D44 004340 0004+00 2/2 0/0 0/0 .sdata2 @3501 */ -SECTION_SDATA2 static f32 lit_3501 = 0.33f; - -/* 80455D44-80455D48 004344 0004+00 24/24 0/0 0/0 .sdata2 @3502 */ -SECTION_SDATA2 static f32 lit_3502 = 1.0f; - -/* 80455D48-80455D4C 004348 0004+00 19/19 0/0 0/0 .sdata2 @3503 */ -SECTION_SDATA2 static u8 lit_3503[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - -/* 80455D4C-80455D50 00434C 0004+00 2/2 0/0 0/0 .sdata2 @3504 */ -SECTION_SDATA2 static f32 lit_3504 = 1500.0f; - -/* 80455D50-80455D58 004350 0004+04 9/9 0/0 0/0 .sdata2 @3505 */ -SECTION_SDATA2 static f32 lit_3505[1 + 1 /* padding */] = { - 1.0f / 10.0f, - /* padding */ - 0.0f, -}; - -/* 80455D58-80455D60 004358 0008+00 8/8 0/0 0/0 .sdata2 @3508 */ -SECTION_SDATA2 static f64 lit_3508 = 4503599627370496.0 /* cast u32 to float */; - /* 802C5908-802C5AB4 2C0248 01AC+00 2/2 0/0 0/0 .text * startEnvSe__11Z2EnvSeBaseF10JAISoundIDfffffUl */ bool Z2EnvSeBase::startEnvSe(JAISoundID param_1, f32 param_2, f32 param_3, f32 param_4, f32 param_5, @@ -222,13 +80,8 @@ bool Z2EnvSeBase::startEnvSeLevel(JAISoundID param_1, f32 param_2, f32 param_3, return rv; } -/* ############################################################################################## */ /* 8039C250-8039C260 0288B0 000C+04 2/2 0/0 0/0 .rodata cNullVec__6Z2Calc */ -SECTION_RODATA static Vec const cNullVec__6Z2Calc = {0.0f, 0.0f, 0.0f}; -COMPILER_STRIP_GATE(0x8039C250, &cNullVec__6Z2Calc); - -/* 80455D60-80455D64 004360 0004+00 10/10 0/0 0/0 .sdata2 @3574 */ -SECTION_SDATA2 static f32 lit_3574 = 0.5f; +static Vec const cNullVec__6Z2Calc = {0.0f, 0.0f, 0.0f}; /* 802C5C9C-802C5D1C 2C05DC 0080+00 1/1 0/0 0/0 .text __ct__10Z2EnvSeDirFP3Vec */ Z2EnvSeDir::Z2EnvSeDir(Vec* param_0) { @@ -241,14 +94,9 @@ Z2EnvSeDir::Z2EnvSeDir(Vec* param_0) { } } - /* 802C5D1C-802C5D70 2C065C 0054+00 1/1 0/0 0/0 .text __dt__10Z2EnvSeDirFv */ Z2EnvSeDir::~Z2EnvSeDir() {} -/* ############################################################################################## */ -/* 80455D64-80455D68 004364 0004+00 1/1 0/0 0/0 .sdata2 @3585 */ -SECTION_SDATA2 static f32 lit_3585 = -1000.0f; - /* 802C5D70-802C5D9C 2C06B0 002C+00 2/2 0/0 0/0 .text setPanDir__10Z2EnvSeDirFP3Vec */ void Z2EnvSeDir::setPanDir(Vec* dir) { mPanDir.x = dir->x * -1000.0f; @@ -256,7 +104,6 @@ void Z2EnvSeDir::setPanDir(Vec* dir) { mPanDir.z = dir->z * -1000.0f; } - /* 802C5D9C-802C5E90 2C06DC 00F4+00 1/1 0/0 0/0 .text calcPan__10Z2EnvSeDirFf */ void Z2EnvSeDir::calcPan(f32 param_0) { if (*getHandle()) { @@ -274,20 +121,12 @@ void Z2EnvSeDir::calcPan(f32 param_0) { } } - /* 802C5E90-802C5ECC 2C07D0 003C+00 1/1 0/0 0/0 .text * startEnvSeDirLevel__10Z2EnvSeDirF10JAISoundIDff */ bool Z2EnvSeDir::startEnvSeDirLevel(JAISoundID param_1, f32 param_2, f32 param_3) { return Z2EnvSeBase::startEnvSeLevel(param_1, param_2, param_3, field_0x8, field_0xc, 1.0f, 0); } -/* ############################################################################################## */ -/* 80455D68-80455D6C 004368 0004+00 3/3 0/0 0/0 .sdata2 @3654 */ -SECTION_SDATA2 static f32 lit_3654 = 0.0018554000416770577f; - -/* 80455D6C-80455D70 00436C 0004+00 3/3 0/0 0/0 .sdata2 @3655 */ -SECTION_SDATA2 static f32 lit_3655 = 0.0008553999941796064f; - /* 802C5ECC-802C5F28 2C080C 005C+00 1/1 0/0 0/0 .text __ct__14Z2EnvSeAutoPanFv */ Z2EnvSeAutoPan::Z2EnvSeAutoPan() { field_0x8 = 0.5f; @@ -298,7 +137,6 @@ Z2EnvSeAutoPan::Z2EnvSeAutoPan() { field_0x19 = 1; } - /* 802C5F28-802C5F7C 2C0868 0054+00 1/1 0/0 0/0 .text __dt__14Z2EnvSeAutoPanFv */ Z2EnvSeAutoPan::~Z2EnvSeAutoPan() {} @@ -313,13 +151,6 @@ void Z2EnvSeAutoPan::setPanParam(f32 param_1, f32 param_2, bool param_3, bool pa field_0x19 = param_4; } -/* ############################################################################################## */ -/* 80455D70-80455D74 004370 0004+00 4/4 0/0 0/0 .sdata2 @3704 */ -SECTION_SDATA2 static f32 lit_3704 = 2.0f; - -/* 80455D74-80455D78 004374 0004+00 7/7 0/0 0/0 .sdata2 @3705 */ -SECTION_SDATA2 static f32 lit_3705 = -1.0f; - /* 802C5F98-802C60E0 2C08D8 0148+00 2/2 0/0 0/0 .text calcPan__14Z2EnvSeAutoPanFv */ void Z2EnvSeAutoPan::calcPan() { if (field_0x18) { @@ -354,7 +185,6 @@ void Z2EnvSeAutoPan::calcPan() { } } - /* 802C60E0-802C611C 2C0A20 003C+00 2/2 0/0 0/0 .text * startEnvSeAutoPanLevel__14Z2EnvSeAutoPanF10JAISoundIDfff */ bool Z2EnvSeAutoPan::startEnvSeAutoPanLevel(JAISoundID param_1, f32 param_2, f32 param_3, @@ -363,94 +193,6 @@ bool Z2EnvSeAutoPan::startEnvSeAutoPanLevel(JAISoundID param_1, f32 param_2, f32 0); } -/* ############################################################################################## */ -/* 80455D78-80455D7C 004378 0004+00 8/8 0/0 0/0 .sdata2 @3749 */ -SECTION_SDATA2 static f32 lit_3749 = 1.0f / 100.0f; - -/* 80455D7C-80455D80 00437C 0004+00 1/1 0/0 0/0 .sdata2 @3750 */ -SECTION_SDATA2 static f32 lit_3750 = 0.007823764346539974f; - -/* 80455D80-80455D84 004380 0004+00 1/1 0/0 0/0 .sdata2 @3751 */ -SECTION_SDATA2 static f32 lit_3751 = 3.0f / 50.0f; - -/* 80455D84-80455D88 004384 0004+00 4/4 0/0 0/0 .sdata2 @3752 */ -SECTION_SDATA2 static f32 lit_3752 = 1.0f / 5.0f; - -/* 80455D88-80455D8C 004388 0004+00 1/1 0/0 0/0 .sdata2 @3753 */ -SECTION_SDATA2 static f32 lit_3753 = 0.026302523910999298f; - -/* 80455D8C-80455D90 00438C 0004+00 1/1 0/0 0/0 .sdata2 @3754 */ -SECTION_SDATA2 static f32 lit_3754 = 0.004999999888241291f; - -/* 80455D90-80455D94 004390 0004+00 2/2 0/0 0/0 .sdata2 @3755 */ -SECTION_SDATA2 static f32 lit_3755 = 9.0f / 10.0f; - -/* 80455D94-80455D98 004394 0004+00 1/1 0/0 0/0 .sdata2 @3756 */ -SECTION_SDATA2 static f32 lit_3756 = 0.023310113698244095f; - -/* 80455D98-80455D9C 004398 0004+00 1/1 0/0 0/0 .sdata2 @3757 */ -SECTION_SDATA2 static f32 lit_3757 = 0.003000000026077032f; - -/* 80455D9C-80455DA0 00439C 0004+00 1/1 0/0 0/0 .sdata2 @3758 */ -SECTION_SDATA2 static f32 lit_3758 = 0.006385157350450754f; - -/* 80455DA0-80455DA4 0043A0 0004+00 1/1 0/0 0/0 .sdata2 @3759 */ -SECTION_SDATA2 static f32 lit_3759 = 0.004000000189989805f; - -/* 80455DA4-80455DA8 0043A4 0004+00 6/6 0/0 0/0 .sdata2 @3760 */ -SECTION_SDATA2 static f32 lit_3760 = 4.0f / 5.0f; - -/* 80455DA8-80455DAC 0043A8 0004+00 1/1 0/0 0/0 .sdata2 @3761 */ -SECTION_SDATA2 static f32 lit_3761 = 0.006188805215060711f; - -/* 80455DAC-80455DB0 0043AC 0004+00 1/1 0/0 0/0 .sdata2 @3762 */ -SECTION_SDATA2 static f32 lit_3762 = 0.0044999998062849045f; - -/* 80455DB0-80455DB4 0043B0 0004+00 6/6 0/0 0/0 .sdata2 @3763 */ -SECTION_SDATA2 static f32 lit_3763 = 3.0f / 10.0f; - -/* 80455DB4-80455DB8 0043B4 0004+00 1/1 0/0 0/0 .sdata2 @3764 */ -SECTION_SDATA2 static f32 lit_3764 = 0.05343298241496086f; - -/* 80455DB8-80455DBC 0043B8 0004+00 1/1 0/0 0/0 .sdata2 @3765 */ -SECTION_SDATA2 static f32 lit_3765 = 0.0020000000949949026f; - -/* 80455DBC-80455DC0 0043BC 0004+00 7/7 0/0 0/0 .sdata2 @3766 */ -SECTION_SDATA2 static f32 lit_3766 = 7.0f / 10.0f; - -/* 80455DC0-80455DC4 0043C0 0004+00 1/1 0/0 0/0 .sdata2 @3767 */ -SECTION_SDATA2 static f32 lit_3767 = 0.04256627336144447f; - -/* 80455DC4-80455DC8 0043C4 0004+00 1/1 0/0 0/0 .sdata2 @3768 */ -SECTION_SDATA2 static f32 lit_3768 = 0.0024999999441206455f; - -/* 80455DC8-80455DCC 0043C8 0004+00 5/5 0/0 0/0 .sdata2 @3769 */ -SECTION_SDATA2 static f32 lit_3769 = 2.0f / 5.0f; - -/* 80455DCC-80455DD0 0043CC 0004+00 1/1 0/0 0/0 .sdata2 @3770 */ -SECTION_SDATA2 static f32 lit_3770 = 0.01293395459651947f; - -/* 80455DD0-80455DD4 0043D0 0004+00 1/1 0/0 0/0 .sdata2 @3771 */ -SECTION_SDATA2 static f32 lit_3771 = 0.006000000052154064f; - -/* 80455DD4-80455DD8 0043D4 0004+00 3/3 0/0 0/0 .sdata2 @3772 */ -SECTION_SDATA2 static f32 lit_3772 = 3.0f / 5.0f; - -/* 80455DD8-80455DDC 0043D8 0004+00 1/1 0/0 0/0 .sdata2 @3773 */ -SECTION_SDATA2 static f32 lit_3773 = 0.012157413177192211f; - -/* 80455DDC-80455DE0 0043DC 0004+00 1/1 0/0 0/0 .sdata2 @3774 */ -SECTION_SDATA2 static f32 lit_3774 = 0.006500000134110451f; - -/* 80455DE0-80455DE4 0043E0 0004+00 1/1 0/0 0/0 .sdata2 @3775 */ -SECTION_SDATA2 static f32 lit_3775 = 0.020923573523759842f; - -/* 80455DE4-80455DE8 0043E4 0004+00 1/1 0/0 0/0 .sdata2 @3776 */ -SECTION_SDATA2 static f32 lit_3776 = 0.0010000000474974513f; - -/* 80455DE8-80455DEC 0043E8 0004+00 1/1 0/0 0/0 .sdata2 @3777 */ -SECTION_SDATA2 static f32 lit_3777 = 0.0037908784579485655f; - /* 802C611C-802C6540 2C0A5C 0424+00 0/0 1/1 0/0 .text __ct__10Z2EnvSeMgrFv */ Z2EnvSeMgr::Z2EnvSeMgr() : JASGlobalInstance(this), field_0x38(), field_0x48(1.0f), field_0x4c(1.0f), @@ -488,10 +230,6 @@ Z2EnvSeMgr::Z2EnvSeMgr() /* 802C6540-802C66B0 2C0E80 0170+00 0/0 1/1 0/0 .text __dt__10Z2EnvSeMgrFv */ Z2EnvSeMgr::~Z2EnvSeMgr() {} -/* ############################################################################################## */ -/* 80455DEC-80455DF0 0043EC 0004+00 1/1 0/0 0/0 .sdata2 @3928 */ -SECTION_SDATA2 static f32 lit_3928 = 30.0f; - /* 802C66B0-802C6998 2C0FF0 02E8+00 0/0 1/1 0/0 .text framework__10Z2EnvSeMgrFv */ void Z2EnvSeMgr::framework() { int sceneNum = Z2GetSceneMgr()->getCurrentSceneNum(); @@ -559,14 +297,12 @@ void Z2EnvSeMgr::framework() { } } - /* 802C6998-802C699C 2C12D8 0004+00 0/0 1/1 0/0 .text resetScene__10Z2EnvSeMgrFv */ void Z2EnvSeMgr::resetScene() { /* empty function */ } /* 802C699C-802C6AC0 2C12DC 0124+00 0/0 1/1 0/0 .text resetSceneInner__10Z2EnvSeMgrFv */ -#ifdef NONMATCHING void Z2EnvSeMgr::resetSceneInner() { if (-1.0f == field_0x60) { field_0x38 = 0; @@ -577,9 +313,9 @@ void Z2EnvSeMgr::resetSceneInner() { field_0x58 = 0.0f; field_0x5c = 0.0f; field_0x39 = 0; - field_0x3c = 0.0f; - field_0x40 = 0.0f; - field_0x44 = 0.0f; + field_0x3c.x = 0.0f; + field_0x3c.y = 0.0f; + field_0x3c.z = 0.0f; } field_0x140 = 0; mWindType = WIND_TYPE_0; @@ -617,15 +353,6 @@ void Z2EnvSeMgr::resetSceneInner() { mWolfSmellSeMgr.resetMultiSePos(); field_0x64.resetMultiSePos(); } -#else -void Z2EnvSeMgr::resetSceneInner() { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ -/* 80455DF0-80455DF4 0043F0 0004+00 2/2 0/0 0/0 .sdata2 @3963 */ -SECTION_SDATA2 static f32 lit_3963 = 100.0f; /* 802C6AC0-802C6C1C 2C1400 015C+00 0/0 1/1 0/0 .text initSceneEnvSe__10Z2EnvSeMgrFlScf */ @@ -681,7 +408,6 @@ void Z2EnvSeMgr::initSceneEnvSe(s32 param_1, s8 param_2, f32 param_3) { field_0x60 = param_3; } - /* 802C6C1C-802C6C84 2C155C 0068+00 1/1 0/0 0/0 .text playSceneEnvSe__10Z2EnvSeMgrFv */ void Z2EnvSeMgr::playSceneEnvSe() { if (-1.0f != field_0x60) { @@ -692,24 +418,6 @@ void Z2EnvSeMgr::playSceneEnvSe() { } } - -/* ############################################################################################## */ -/* 803CB9C8-803CB9F8 -00001 0030+00 1/1 0/0 0/0 .data @4025 */ -SECTION_DATA static void* lit_4025[12] = { - (void*)(((char*)initStaticEnvSe__10Z2EnvSeMgrFUcUcUcUcP3Vec) + 0x428), - (void*)(((char*)initStaticEnvSe__10Z2EnvSeMgrFUcUcUcUcP3Vec) + 0x1C8), - (void*)(((char*)initStaticEnvSe__10Z2EnvSeMgrFUcUcUcUcP3Vec) + 0x20C), - (void*)(((char*)initStaticEnvSe__10Z2EnvSeMgrFUcUcUcUcP3Vec) + 0x250), - (void*)(((char*)initStaticEnvSe__10Z2EnvSeMgrFUcUcUcUcP3Vec) + 0x294), - (void*)(((char*)initStaticEnvSe__10Z2EnvSeMgrFUcUcUcUcP3Vec) + 0x2D8), - (void*)(((char*)initStaticEnvSe__10Z2EnvSeMgrFUcUcUcUcP3Vec) + 0x31C), - (void*)(((char*)initStaticEnvSe__10Z2EnvSeMgrFUcUcUcUcP3Vec) + 0x360), - (void*)(((char*)initStaticEnvSe__10Z2EnvSeMgrFUcUcUcUcP3Vec) + 0x3A4), - (void*)(((char*)initStaticEnvSe__10Z2EnvSeMgrFUcUcUcUcP3Vec) + 0x3E8), - (void*)(((char*)initStaticEnvSe__10Z2EnvSeMgrFUcUcUcUcP3Vec) + 0x31C), - (void*)(((char*)initStaticEnvSe__10Z2EnvSeMgrFUcUcUcUcP3Vec) + 0x2D8), -}; - /* 802C6C84-802C70C8 2C15C4 0444+00 2/1 1/1 0/0 .text initStaticEnvSe__10Z2EnvSeMgrFUcUcUcUcP3Vec */ void Z2EnvSeMgr::initStaticEnvSe(u8 param_1, u8 param_2, u8 param_3, u8 param_4, Vec* param_5) { @@ -852,61 +560,6 @@ void Z2EnvSeMgr::initStaticEnvSe(u8 param_1, u8 param_2, u8 param_3, u8 param_4, } } - -/* ############################################################################################## */ -/* 803CB9F8-803CBA28 -00001 0030+00 1/1 0/0 0/0 .data @4272 */ -SECTION_DATA static void* lit_4272[12] = { - (void*)(((char*)startStaticEnvSe__10Z2EnvSeMgrFSc) + 0x168), - (void*)(((char*)startStaticEnvSe__10Z2EnvSeMgrFSc) + 0x170), - (void*)(((char*)startStaticEnvSe__10Z2EnvSeMgrFSc) + 0x1C4), - (void*)(((char*)startStaticEnvSe__10Z2EnvSeMgrFSc) + 0x204), - (void*)(((char*)startStaticEnvSe__10Z2EnvSeMgrFSc) + 0x220), - (void*)(((char*)startStaticEnvSe__10Z2EnvSeMgrFSc) + 0x46C), - (void*)(((char*)startStaticEnvSe__10Z2EnvSeMgrFSc) + 0x48C), - (void*)(((char*)startStaticEnvSe__10Z2EnvSeMgrFSc) + 0x528), - (void*)(((char*)startStaticEnvSe__10Z2EnvSeMgrFSc) + 0x558), - (void*)(((char*)startStaticEnvSe__10Z2EnvSeMgrFSc) + 0x578), - (void*)(((char*)startStaticEnvSe__10Z2EnvSeMgrFSc) + 0x4DC), - (void*)(((char*)startStaticEnvSe__10Z2EnvSeMgrFSc) + 0x464), -}; - -/* 80455DF4-80455DF8 0043F4 0004+00 9/9 0/0 0/0 .sdata2 @4260 */ -SECTION_SDATA2 static f32 lit_4260 = 127.0f; - -/* 80455DF8-80455DFC 0043F8 0004+00 1/1 0/0 0/0 .sdata2 @4261 */ -SECTION_SDATA2 static f32 lit_4261 = 21.0f / 10.0f; - -/* 80455DFC-80455E00 0043FC 0004+00 1/1 0/0 0/0 .sdata2 @4262 */ -SECTION_SDATA2 static f32 lit_4262 = 64.0f; - -/* 80455E00-80455E04 004400 0004+00 1/1 0/0 0/0 .sdata2 @4263 */ -SECTION_SDATA2 static f32 lit_4263 = 7.0f / 20.0f; - -/* 80455E04-80455E08 004404 0004+00 1/1 0/0 0/0 .sdata2 @4264 */ -SECTION_SDATA2 static f32 lit_4264 = 23.0f / 20.0f; - -/* 80455E08-80455E0C 004408 0004+00 1/1 0/0 0/0 .sdata2 @4265 */ -SECTION_SDATA2 static f32 lit_4265 = 8.0f / 5.0f; - -/* 80455E0C-80455E10 00440C 0004+00 1/1 0/0 0/0 .sdata2 @4266 */ -SECTION_SDATA2 static f32 lit_4266 = 13.0f / 20.0f; - -/* 80455E10-80455E14 004410 0004+00 1/1 0/0 0/0 .sdata2 @4267 */ -SECTION_SDATA2 static f32 lit_4267 = 3.0f / 25.0f; - -/* 80455E14-80455E18 004414 0004+00 1/1 0/0 0/0 .sdata2 @4268 */ -SECTION_SDATA2 static f32 lit_4268 = 17.0f / 20.0f; - -/* 80455E18-80455E20 004418 0004+04 3/3 0/0 0/0 .sdata2 @4269 */ -SECTION_SDATA2 static f32 lit_4269[1 + 1 /* padding */] = { - 0.75f, - /* padding */ - 0.0f, -}; - -/* 80455E20-80455E28 004420 0008+00 9/9 0/0 0/0 .sdata2 @4271 */ -SECTION_SDATA2 static f64 lit_4271 = 4503601774854144.0 /* cast s32 to float */; - /* 802C70C8-802C780C 2C1A08 0744+00 2/1 1/1 0/0 .text startStaticEnvSe__10Z2EnvSeMgrFSc */ bool Z2EnvSeMgr::startStaticEnvSe(s8 param_1) { @@ -1090,17 +743,12 @@ bool Z2EnvSeMgr::startStaticEnvSe(s8 param_1) { return rv; } - /* 802C780C-802C7830 2C214C 0024+00 0/0 1/1 0/0 .text registWindowPos__10Z2EnvSeMgrFP3Vec */ void Z2EnvSeMgr::registWindowPos(Vec* param_0) { field_0x64.registMultiSePos(param_0); } -/* ############################################################################################## */ -/* 80455E28-80455E2C 004428 0004+00 3/3 0/0 0/0 .sdata2 @4400 */ -SECTION_SDATA2 static f32 lit_4400 = 11.0f / 10.0f; - /* 802C7830-802C7CF4 2C2170 04C4+00 1/1 1/1 0/0 .text startRainSe__10Z2EnvSeMgrFlSc */ bool Z2EnvSeMgr::startRainSe(s32 param_1, s8 param_2) { if (mSnowPower > 0) { @@ -1197,11 +845,6 @@ bool Z2EnvSeMgr::startRainSe(s32 param_1, s8 param_2) { 0); } - -/* ############################################################################################## */ -/* 80455E2C-80455E30 00442C 0004+00 1/1 0/0 0/0 .sdata2 @4422 */ -SECTION_SDATA2 static f32 lit_4422 = 0.25f; - /* 802C7CF4-802C7E68 2C2634 0174+00 0/0 1/1 0/0 .text startNearThunderSe__10Z2EnvSeMgrFSc */ void Z2EnvSeMgr::startNearThunderSe(s8 param_1) { @@ -1219,7 +862,6 @@ void Z2EnvSeMgr::startNearThunderSe(s8 param_1) { } } - /* 802C7E68-802C7FB4 2C27A8 014C+00 0/0 2/2 0/0 .text startFarThunderSe__10Z2EnvSeMgrFP3VecSc */ void Z2EnvSeMgr::startFarThunderSe(Vec* param_1, s8 param_2) { if (field_0x64.getPosCount() < 0) { @@ -1232,7 +874,6 @@ void Z2EnvSeMgr::startFarThunderSe(Vec* param_1, s8 param_2) { } } - /* 802C7FB4-802C7FBC -00001 0008+00 0/0 0/0 0/0 .text setSnowPower__10Z2EnvSeMgrFSc */ void Z2EnvSeMgr::setSnowPower(s8 param_0) { mSnowPower = param_0; @@ -1274,14 +915,6 @@ bool Z2EnvSeMgr::startStrongWindSe(s8 param_1) { return field_0x144.startEnvSeDirLevel(aJStack_24, param_1 / 127.0f, 1.0f); } - -/* ############################################################################################## */ -/* 80455E30-80455E34 004430 0004+00 3/3 0/0 0/0 .sdata2 @4510 */ -SECTION_SDATA2 static f32 lit_4510 = 1.5f; - -/* 80455E34-80455E38 004434 0004+00 3/3 0/0 0/0 .sdata2 @4511 */ -SECTION_SDATA2 static f32 lit_4511 = 3.0f; - /* 802C80F8-802C8234 2C2A38 013C+00 0/0 1/1 0/0 .text initRiverSe__10Z2EnvSeMgrFUcUcUcUc */ void Z2EnvSeMgr::initRiverSe(u8 param_1, u8 param_2, u8 param_3, u8 param_4) { @@ -1317,7 +950,6 @@ void Z2EnvSeMgr::initRiverSe(u8 param_1, u8 param_2, u8 param_3, u8 param_4) { } } - /* 802C8234-802C8258 2C2B74 0024+00 1/1 1/1 0/0 .text registRiverSePos__10Z2EnvSeMgrFP3Vec */ void Z2EnvSeMgr::registRiverSePos(Vec* param_0) { mRiverSeMgr.registMultiSePos(param_0); @@ -1335,63 +967,8 @@ void Z2EnvSeMgr::setHyrulSewerOpen(bool param_0) { } } - -/* ############################################################################################## */ -/* 803CBA28-803CBAD0 -00001 00A8+00 1/1 0/0 0/0 .data @4622 */ -SECTION_DATA static void* lit_4622[42] = { - (void*)(((char*)startRiverSe__10Z2EnvSeMgrFSc) + 0x80), - (void*)(((char*)startRiverSe__10Z2EnvSeMgrFSc) + 0xA0), - (void*)(((char*)startRiverSe__10Z2EnvSeMgrFSc) + 0xA0), - (void*)(((char*)startRiverSe__10Z2EnvSeMgrFSc) + 0x9C), - (void*)(((char*)startRiverSe__10Z2EnvSeMgrFSc) + 0xA0), - (void*)(((char*)startRiverSe__10Z2EnvSeMgrFSc) + 0xA0), - (void*)(((char*)startRiverSe__10Z2EnvSeMgrFSc) + 0xA0), - (void*)(((char*)startRiverSe__10Z2EnvSeMgrFSc) + 0xA0), - (void*)(((char*)startRiverSe__10Z2EnvSeMgrFSc) + 0xA0), - (void*)(((char*)startRiverSe__10Z2EnvSeMgrFSc) + 0xA0), - (void*)(((char*)startRiverSe__10Z2EnvSeMgrFSc) + 0xA0), - (void*)(((char*)startRiverSe__10Z2EnvSeMgrFSc) + 0x8C), - (void*)(((char*)startRiverSe__10Z2EnvSeMgrFSc) + 0xA0), - (void*)(((char*)startRiverSe__10Z2EnvSeMgrFSc) + 0xA0), - (void*)(((char*)startRiverSe__10Z2EnvSeMgrFSc) + 0xA0), - (void*)(((char*)startRiverSe__10Z2EnvSeMgrFSc) + 0xA0), - (void*)(((char*)startRiverSe__10Z2EnvSeMgrFSc) + 0xAC), - (void*)(((char*)startRiverSe__10Z2EnvSeMgrFSc) + 0xA0), - (void*)(((char*)startRiverSe__10Z2EnvSeMgrFSc) + 0xA0), - (void*)(((char*)startRiverSe__10Z2EnvSeMgrFSc) + 0xA0), - (void*)(((char*)startRiverSe__10Z2EnvSeMgrFSc) + 0xA0), - (void*)(((char*)startRiverSe__10Z2EnvSeMgrFSc) + 0xA0), - (void*)(((char*)startRiverSe__10Z2EnvSeMgrFSc) + 0xA0), - (void*)(((char*)startRiverSe__10Z2EnvSeMgrFSc) + 0xA0), - (void*)(((char*)startRiverSe__10Z2EnvSeMgrFSc) + 0xA0), - (void*)(((char*)startRiverSe__10Z2EnvSeMgrFSc) + 0xAC), - (void*)(((char*)startRiverSe__10Z2EnvSeMgrFSc) + 0xAC), - (void*)(((char*)startRiverSe__10Z2EnvSeMgrFSc) + 0xA0), - (void*)(((char*)startRiverSe__10Z2EnvSeMgrFSc) + 0xA0), - (void*)(((char*)startRiverSe__10Z2EnvSeMgrFSc) + 0xA0), - (void*)(((char*)startRiverSe__10Z2EnvSeMgrFSc) + 0xA0), - (void*)(((char*)startRiverSe__10Z2EnvSeMgrFSc) + 0xA0), - (void*)(((char*)startRiverSe__10Z2EnvSeMgrFSc) + 0xA0), - (void*)(((char*)startRiverSe__10Z2EnvSeMgrFSc) + 0xA0), - (void*)(((char*)startRiverSe__10Z2EnvSeMgrFSc) + 0xA0), - (void*)(((char*)startRiverSe__10Z2EnvSeMgrFSc) + 0xA0), - (void*)(((char*)startRiverSe__10Z2EnvSeMgrFSc) + 0xA0), - (void*)(((char*)startRiverSe__10Z2EnvSeMgrFSc) + 0xA0), - (void*)(((char*)startRiverSe__10Z2EnvSeMgrFSc) + 0xA0), - (void*)(((char*)startRiverSe__10Z2EnvSeMgrFSc) + 0xA0), - (void*)(((char*)startRiverSe__10Z2EnvSeMgrFSc) + 0xA0), - (void*)(((char*)startRiverSe__10Z2EnvSeMgrFSc) + 0xAC), -}; - -/* 80455E38-80455E3C 004438 0004+00 2/2 0/0 0/0 .sdata2 @4619 */ -SECTION_SDATA2 static f32 lit_4619 = -14500.0f; - -/* 80455E3C-80455E40 00443C 0004+00 1/1 0/0 0/0 .sdata2 @4621 */ -SECTION_SDATA2 static f32 lit_4621 = 150.0f; - /* 802C8300-802C8730 2C2C40 0430+00 2/1 1/1 0/0 .text startRiverSe__10Z2EnvSeMgrFSc */ -// missing branch and JAISound stack issues -#ifdef NONMATCHING +// NONMATCHING missing branch and JAISound stack issues bool Z2EnvSeMgr::startRiverSe(s8 param_1) { if (Z2GetStatusMgr()->mCameraMapInfo == 6) { switch (Z2GetSceneMgr()->getCurrentSceneNum()) { @@ -1400,7 +977,7 @@ bool Z2EnvSeMgr::startRiverSe(s8 param_1) { break; } case 0x10: - if (Z2GetStatusMgr()->mPolygonPosition.y < 14500.0f) { + if (Z2GetStatusMgr()->mPolygonPosition.y < -14500.0f) { break; } case 8: @@ -1454,18 +1031,14 @@ bool Z2EnvSeMgr::startRiverSe(s8 param_1) { } } aJStack_742 = Z2SE_ENV_SEWER; - dVar18 *= linearTransform(field_0x18c.calcNoise1f(), 0.0f, 1.0f, 0.6f, 1.0f, - true); - dVar17 *= Z2Calc::linearTransform(field_0x19c.calcNoise1f(), 0.0f, 1.0f, 0.8f, 1.0f, - true); + dVar18 *= Z2Calc::linearTransform(field_0x18c.calcNoise1f(), 0.0f, 1.0f, 0.6f, 1.0f, true); + dVar17 *= Z2Calc::linearTransform(field_0x19c.calcNoise1f(), 0.0f, 1.0f, 0.8f, 1.0f, true); uVar8 = field_0x180.startEnvSeLevel(aJStack_742, dVar16, dVar18, dVar13, dVar14, dVar17, 0); break; case 5: aJStack_742 = Z2SE_ENV_SPIRIT_FOUNTAIN; - dVar18 *= Z2Calc::linearTransform(field_0x18c.calcNoise1f(), 0.0f, 1.0f, 0.6f, 1.0f, - true); - dVar17 *= Z2Calc::linearTransform(field_0x19c.calcNoise1f(), 0.0f, 1.0f, 0.8f, 1.0f, - true); + dVar18 *= Z2Calc::linearTransform(field_0x18c.calcNoise1f(), 0.0f, 1.0f, 0.6f, 1.0f, true); + dVar17 *= Z2Calc::linearTransform(field_0x19c.calcNoise1f(), 0.0f, 1.0f, 0.8f, 1.0f, true); uVar8 = field_0x180.startEnvSeLevel(aJStack_742, dVar16, dVar18, dVar13, dVar14, dVar17, 0); break; } @@ -1473,11 +1046,6 @@ bool Z2EnvSeMgr::startRiverSe(s8 param_1) { mRiverSeMgr.resetMultiSePos(); return uVar8; } -#else -bool Z2EnvSeMgr::startRiverSe(s8 param_1) { - // NONMATCHING -} -#endif /* 802C8730-802C886C 2C3070 013C+00 1/1 1/1 0/0 .text initFallSe__10Z2EnvSeMgrFUcUcUcUc */ @@ -1514,7 +1082,6 @@ void Z2EnvSeMgr::initFallSe(u8 param_1, u8 param_2, u8 param_3, u8 param_4) { } } - /* 802C886C-802C8890 2C31AC 0024+00 0/0 1/1 0/0 .text registFallSePos__10Z2EnvSeMgrFP3Vec */ void Z2EnvSeMgr::registFallSePos(Vec* param_0) { @@ -1555,31 +1122,6 @@ bool Z2EnvSeMgr::startFallSe(s8 param_1) { return rv; } - -/* ############################################################################################## */ -/* 803CBAD0-803CBB10 -00001 0040+00 1/1 0/0 0/0 .data @4734 */ -SECTION_DATA static void* lit_4734[16] = { - (void*)(((char*)initEtcSe__10Z2EnvSeMgrFUcUcUcUc) + 0x15C), - (void*)(((char*)initEtcSe__10Z2EnvSeMgrFUcUcUcUc) + 0xF4), - (void*)(((char*)initEtcSe__10Z2EnvSeMgrFUcUcUcUc) + 0x108), - (void*)(((char*)initEtcSe__10Z2EnvSeMgrFUcUcUcUc) + 0x180), - (void*)(((char*)initEtcSe__10Z2EnvSeMgrFUcUcUcUc) + 0x150), - (void*)(((char*)initEtcSe__10Z2EnvSeMgrFUcUcUcUc) + 0x180), - (void*)(((char*)initEtcSe__10Z2EnvSeMgrFUcUcUcUc) + 0x180), - (void*)(((char*)initEtcSe__10Z2EnvSeMgrFUcUcUcUc) + 0x180), - (void*)(((char*)initEtcSe__10Z2EnvSeMgrFUcUcUcUc) + 0x170), - (void*)(((char*)initEtcSe__10Z2EnvSeMgrFUcUcUcUc) + 0x11C), - (void*)(((char*)initEtcSe__10Z2EnvSeMgrFUcUcUcUc) + 0x13C), - (void*)(((char*)initEtcSe__10Z2EnvSeMgrFUcUcUcUc) + 0x180), - (void*)(((char*)initEtcSe__10Z2EnvSeMgrFUcUcUcUc) + 0x180), - (void*)(((char*)initEtcSe__10Z2EnvSeMgrFUcUcUcUc) + 0x180), - (void*)(((char*)initEtcSe__10Z2EnvSeMgrFUcUcUcUc) + 0x13C), - (void*)(((char*)initEtcSe__10Z2EnvSeMgrFUcUcUcUc) + 0x13C), -}; - -/* 80455E40-80455E44 004440 0004+00 1/1 0/0 0/0 .sdata2 @4732 */ -SECTION_SDATA2 static f32 lit_4732 = 4.0f; - /* 802C8A90-802C8C24 2C33D0 0194+00 2/1 1/1 0/0 .text initEtcSe__10Z2EnvSeMgrFUcUcUcUc */ void Z2EnvSeMgr::initEtcSe(u8 param_1, u8 param_2, u8 param_3, u8 param_4) { field_0x214 = param_1; @@ -1625,65 +1167,12 @@ void Z2EnvSeMgr::initEtcSe(u8 param_1, u8 param_2, u8 param_3, u8 param_4) { } } - /* 802C8C24-802C8C48 2C3564 0024+00 1/1 1/1 0/0 .text registEtcSePos__10Z2EnvSeMgrFP3Vec */ void Z2EnvSeMgr::registEtcSePos(Vec* param_0) { mEtcSeMgr.registMultiSePos(param_0); } -/* ############################################################################################## */ -/* 803CBB10-803CBB90 -00001 0080+00 1/1 0/0 0/0 .data @4839 */ -SECTION_DATA static void* lit_4839[32] = { - (void*)(((char*)startEtcSe__10Z2EnvSeMgrFSc) + 0x62C), - (void*)(((char*)startEtcSe__10Z2EnvSeMgrFSc) + 0x624), - (void*)(((char*)startEtcSe__10Z2EnvSeMgrFSc) + 0x624), - (void*)(((char*)startEtcSe__10Z2EnvSeMgrFSc) + 0x624), - (void*)(((char*)startEtcSe__10Z2EnvSeMgrFSc) + 0x624), - (void*)(((char*)startEtcSe__10Z2EnvSeMgrFSc) + 0x624), - (void*)(((char*)startEtcSe__10Z2EnvSeMgrFSc) + 0x624), - (void*)(((char*)startEtcSe__10Z2EnvSeMgrFSc) + 0x624), - (void*)(((char*)startEtcSe__10Z2EnvSeMgrFSc) + 0x624), - (void*)(((char*)startEtcSe__10Z2EnvSeMgrFSc) + 0x624), - (void*)(((char*)startEtcSe__10Z2EnvSeMgrFSc) + 0x624), - (void*)(((char*)startEtcSe__10Z2EnvSeMgrFSc) + 0x624), - (void*)(((char*)startEtcSe__10Z2EnvSeMgrFSc) + 0x624), - (void*)(((char*)startEtcSe__10Z2EnvSeMgrFSc) + 0x624), - (void*)(((char*)startEtcSe__10Z2EnvSeMgrFSc) + 0x624), - (void*)(((char*)startEtcSe__10Z2EnvSeMgrFSc) + 0x624), - (void*)(((char*)startEtcSe__10Z2EnvSeMgrFSc) + 0x518), - (void*)(((char*)startEtcSe__10Z2EnvSeMgrFSc) + 0xE4), - (void*)(((char*)startEtcSe__10Z2EnvSeMgrFSc) + 0x20C), - (void*)(((char*)startEtcSe__10Z2EnvSeMgrFSc) + 0x624), - (void*)(((char*)startEtcSe__10Z2EnvSeMgrFSc) + 0x498), - (void*)(((char*)startEtcSe__10Z2EnvSeMgrFSc) + 0x624), - (void*)(((char*)startEtcSe__10Z2EnvSeMgrFSc) + 0x624), - (void*)(((char*)startEtcSe__10Z2EnvSeMgrFSc) + 0x624), - (void*)(((char*)startEtcSe__10Z2EnvSeMgrFSc) + 0x28C), - (void*)(((char*)startEtcSe__10Z2EnvSeMgrFSc) + 0x374), - (void*)(((char*)startEtcSe__10Z2EnvSeMgrFSc) + 0x2D8), - (void*)(((char*)startEtcSe__10Z2EnvSeMgrFSc) + 0x624), - (void*)(((char*)startEtcSe__10Z2EnvSeMgrFSc) + 0x624), - (void*)(((char*)startEtcSe__10Z2EnvSeMgrFSc) + 0x624), - (void*)(((char*)startEtcSe__10Z2EnvSeMgrFSc) + 0x2D8), - (void*)(((char*)startEtcSe__10Z2EnvSeMgrFSc) + 0x324), -}; - -/* 80455E44-80455E48 004444 0004+00 1/1 0/0 0/0 .sdata2 @4833 */ -SECTION_SDATA2 static f32 lit_4833 = 6.0f / 5.0f; - -/* 80455E48-80455E4C 004448 0004+00 1/1 0/0 0/0 .sdata2 @4834 */ -SECTION_SDATA2 static f32 lit_4834 = 13.0f / 10.0f; - -/* 80455E4C-80455E50 00444C 0004+00 1/1 0/0 0/0 .sdata2 @4835 */ -SECTION_SDATA2 static f32 lit_4835 = 89.0f / 100.0f; - -/* 80455E50-80455E54 004450 0004+00 2/2 0/0 0/0 .sdata2 @4836 */ -SECTION_SDATA2 static f32 lit_4836 = 0.332f; - -/* 80455E54-80455E58 004454 0004+00 2/2 0/0 0/0 .sdata2 @4837 */ -SECTION_SDATA2 static f32 lit_4837 = 0.668f; - /* 802C8C48-802C92C8 2C3588 0680+00 2/1 1/1 0/0 .text startEtcSe__10Z2EnvSeMgrFSc */ bool Z2EnvSeMgr::startEtcSe(s8 param_1) { f32 dVar17 = param_1 / 127.0f; @@ -1796,16 +1285,11 @@ bool Z2EnvSeMgr::startEtcSe(s8 param_1) { return rv; } - /* 802C92C8-802C92EC 2C3C08 0024+00 0/0 0/0 1/1 .text registWolfSmellSePos__10Z2EnvSeMgrFP3Vec */ void Z2EnvSeMgr::registWolfSmellSePos(Vec* param_0) { mWolfSmellSeMgr.registMultiSePos(param_0); } -/* ############################################################################################## */ -/* 80455E58-80455E5C 004458 0004+00 1/1 0/0 0/0 .sdata2 @4856 */ -SECTION_SDATA2 static f32 lit_4856 = 340.0f; - /* 802C92EC-802C93A0 2C3C2C 00B4+00 0/0 0/0 1/1 .text startFogWipeTrigger__10Z2EnvSeMgrFP3Vec */ bool Z2EnvSeMgr::startFogWipeTrigger(Vec* param_0) { if (*field_0x240.getHandle()) { @@ -1817,13 +1301,11 @@ bool Z2EnvSeMgr::startFogWipeTrigger(Vec* param_0) { } } - /* 802C93A0-802C93E4 2C3CE0 0044+00 0/0 0/0 1/1 .text setFogWipeWidth__10Z2EnvSeMgrFf */ void Z2EnvSeMgr::setFogWipeWidth(f32 param_0) { mFogDensity = Z2Calc::linearTransform(param_0, 0.0f, 1.0f, 1.0f, 0.4f, true); } - /* 802C93E4-802C9400 2C3D24 001C+00 3/3 2/2 0/0 .text getFogDensity__10Z2EnvSeMgrFv */ f32 Z2EnvSeMgr::getFogDensity() { if (field_0x214 == 0x10) { @@ -1832,14 +1314,8 @@ f32 Z2EnvSeMgr::getFogDensity() { return 0.0f; } - -/* ############################################################################################## */ -/* 80455E5C-80455E60 00445C 0004+00 1/1 0/0 0/0 .sdata2 @4879 */ -SECTION_SDATA2 static f32 lit_4879 = 20.0f; - /* 802C9400-802C950C 2C3D40 010C+00 0/0 0/0 1/1 .text startFogSe__10Z2EnvSeMgrFv */ -// fmuls reg order -#ifdef NONMATCHING +// NONMATCHING fmuls reg order bool Z2EnvSeMgr::startFogSe() { f32 dVar10 = field_0x2e8.calcNoise1f(); f32 dVar14 = 0.332f + (0.668f * dVar10); @@ -1859,44 +1335,6 @@ bool Z2EnvSeMgr::startFogSe() { } return uVar8; } -#else -bool Z2EnvSeMgr::startFogSe() { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ -/* 803CBB90-803CBBC8 -00001 0038+00 1/1 0/0 0/0 .data @5076 */ -SECTION_DATA static void* lit_5076[14] = { - (void*)(((char*)initLv3WaterSe__10Z2EnvSeMgrFUcUcUcUc) + 0x640), - (void*)(((char*)initLv3WaterSe__10Z2EnvSeMgrFUcUcUcUc) + 0x61C), - (void*)(((char*)initLv3WaterSe__10Z2EnvSeMgrFUcUcUcUc) + 0x668), - (void*)(((char*)initLv3WaterSe__10Z2EnvSeMgrFUcUcUcUc) + 0x6C4), - (void*)(((char*)initLv3WaterSe__10Z2EnvSeMgrFUcUcUcUc) + 0xA34), - (void*)(((char*)initLv3WaterSe__10Z2EnvSeMgrFUcUcUcUc) + 0x640), - (void*)(((char*)initLv3WaterSe__10Z2EnvSeMgrFUcUcUcUc) + 0x640), - (void*)(((char*)initLv3WaterSe__10Z2EnvSeMgrFUcUcUcUc) + 0x780), - (void*)(((char*)initLv3WaterSe__10Z2EnvSeMgrFUcUcUcUc) + 0x7CC), - (void*)(((char*)initLv3WaterSe__10Z2EnvSeMgrFUcUcUcUc) + 0x640), - (void*)(((char*)initLv3WaterSe__10Z2EnvSeMgrFUcUcUcUc) + 0x844), - (void*)(((char*)initLv3WaterSe__10Z2EnvSeMgrFUcUcUcUc) + 0x8D8), - (void*)(((char*)initLv3WaterSe__10Z2EnvSeMgrFUcUcUcUc) + 0x950), - (void*)(((char*)initLv3WaterSe__10Z2EnvSeMgrFUcUcUcUc) + 0x99C), -}; - -/* 803CBBC8-803CBBF0 -00001 0028+00 1/1 0/0 0/0 .data @5074 */ -SECTION_DATA static void* lit_5074[10] = { - (void*)(((char*)initLv3WaterSe__10Z2EnvSeMgrFUcUcUcUc) + 0x50), - (void*)(((char*)initLv3WaterSe__10Z2EnvSeMgrFUcUcUcUc) + 0x1E8), - (void*)(((char*)initLv3WaterSe__10Z2EnvSeMgrFUcUcUcUc) + 0x380), - (void*)(((char*)initLv3WaterSe__10Z2EnvSeMgrFUcUcUcUc) + 0x5E4), - (void*)(((char*)initLv3WaterSe__10Z2EnvSeMgrFUcUcUcUc) + 0x5E4), - (void*)(((char*)initLv3WaterSe__10Z2EnvSeMgrFUcUcUcUc) + 0x11C), - (void*)(((char*)initLv3WaterSe__10Z2EnvSeMgrFUcUcUcUc) + 0x2B4), - (void*)(((char*)initLv3WaterSe__10Z2EnvSeMgrFUcUcUcUc) + 0x44C), - (void*)(((char*)initLv3WaterSe__10Z2EnvSeMgrFUcUcUcUc) + 0x5E4), - (void*)(((char*)initLv3WaterSe__10Z2EnvSeMgrFUcUcUcUc) + 0x518), -}; /* 802C950C-802C9F58 2C3E4C 0A4C+00 2/0 1/1 0/0 .text initLv3WaterSe__10Z2EnvSeMgrFUcUcUcUc */ void Z2EnvSeMgr::initLv3WaterSe(u8 param_1, u8 param_2, u8 param_3, u8 param_4) { @@ -2131,7 +1569,6 @@ void Z2EnvSeMgr::initLv3WaterSe(u8 param_1, u8 param_2, u8 param_3, u8 param_4) } } - /* 802C9F58-802CA794 2C4898 083C+00 2/0 1/1 0/0 .text registLv3WaterSePos__10Z2EnvSeMgrFUcP3Vec */ void Z2EnvSeMgr::registLv3WaterSePos(u8 param_1, Vec* param_2) { switch (param_1) { @@ -2337,4 +1774,4 @@ void Z2EnvSeMgr::startLv3WaterSe(s8 param_1) { startRiverSe(param_1); startFallSe(param_1); startEtcSe(param_1); -} \ No newline at end of file +} diff --git a/src/Z2AudioLib/Z2SeMgr.cpp b/src/Z2AudioLib/Z2SeMgr.cpp index 82535af630..15fc003cdd 100644 --- a/src/Z2AudioLib/Z2SeMgr.cpp +++ b/src/Z2AudioLib/Z2SeMgr.cpp @@ -5,6 +5,7 @@ #include "Z2AudioLib/Z2SeMgr.h" #include "Z2AudioLib/Z2Audience.h" +#include "Z2AudioLib/Z2Calc.h" #include "Z2AudioLib/Z2SoundMgr.h" #include "Z2AudioLib/Z2SceneMgr.h" #include "Z2AudioLib/Z2SpeechMgr2.h" @@ -14,14 +15,6 @@ #include "dol2asm.h" #include "global.h" -// -// Types: -// - -struct Z2CreatureLink { - static u8 mLinkPtr[4 + 4 /* padding */]; -}; - // // Forward References: // @@ -54,81 +47,6 @@ extern "C" void resetMultiSePos__12Z2MultiSeMgrFv(); extern "C" void getPanPower__12Z2MultiSeMgrFv(); extern "C" void getDolbyPower__12Z2MultiSeMgrFv(); -// -// External References: -// - -extern "C" void __dt__14JAISoundHandleFv(); -extern "C" void __dt__12Z2MultiSeObjFv(); -extern "C" void stop__16JAISeCategoryMgrFUl(); -extern "C" void releaseSound__14JAISoundHandleFv(); -extern "C" void stop__8JAISoundFUl(); -extern "C" void getHandleSoundID__15JAISoundHandlesF10JAISoundID(); -extern "C" void getFreeHandle__15JAISoundHandlesFv(); -extern "C" void moveVolume__18JAISoundParamsMoveFfUl(); -extern "C" void movePitch__18JAISoundParamsMoveFfUl(); -extern "C" void moveFxMix__18JAISoundParamsMoveFfUl(); -extern "C" void movePan__18JAISoundParamsMoveFfUl(); -extern "C" void moveDolby__18JAISoundParamsMoveFfUl(); -extern "C" void __ct__14JAISoundHandleFv(); -extern "C" void linearTransform__6Z2CalcFfffffb(); -extern "C" void getParamByExp__6Z2CalcFffffffQ26Z2Calc9CurveSign(); -extern "C" void stopSoundID__10Z2SoundMgrF10JAISoundID(); -extern "C" void multiVolumeSoundID__10Z2SoundMgrF10JAISoundIDf(); -extern "C" void setPortData__14Z2SoundStarterFP14JAISoundHandleUlUsSc(); -extern "C" void bgmStart__8Z2SeqMgrFUlUll(); -extern "C" void menuIn__11Z2StatusMgrFv(); -extern "C" void menuOut__11Z2StatusMgrFv(); -extern "C" void isMovieDemo__11Z2StatusMgrFv(); -extern "C" void calcOffMicSound__10Z2AudienceFf(); -extern "C" void convertAbsToRel__10Z2AudienceFR3VecP3Veci(); -extern "C" void calcRelPosVolume__10Z2AudienceFRC3Vecfi(); -extern "C" void calcRelPosPan__10Z2AudienceFRC3Veci(); -extern "C" void calcRelPosDolby__10Z2AudienceFRC3Veci(); -extern "C" void playOneShotVoice__12Z2SpeechMgr2FUcUsP3VecSc(); -extern "C" void __dl__FPv(); -extern "C" void __construct_array(); -extern "C" void __cvt_fp2unsigned(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_29(); -extern "C" f32 VOL_SE_SYSTEM_DEFAULT__7Z2Param; -extern "C" f32 VOL_SE_LINK_VOICE_DEFAULT__7Z2Param; -extern "C" f32 VOL_SE_LINK_MOTION_DEFAULT__7Z2Param; -extern "C" f32 VOL_SE_LINK_FOOTNOTE_DEFAULT__7Z2Param; -extern "C" f32 VOL_SE_CHAR_VOICE_DEFAULT__7Z2Param; -extern "C" f32 VOL_SE_CHAR_MOVE_DEFAULT__7Z2Param; -extern "C" f32 VOL_SE_OBJECT_DEFAULT__7Z2Param; -extern "C" f32 VOL_SE_ATMOSPHERE_DEFAULT__7Z2Param; -extern "C" f32 VOL_SE_SYSTEM_TALKING__7Z2Param; -extern "C" f32 VOL_SE_LINK_VOICE_TALKING__7Z2Param; -extern "C" f32 VOL_SE_LINK_MOTION_TALKING__7Z2Param; -extern "C" f32 VOL_SE_LINK_FOOTNOTE_TALKING__7Z2Param; -extern "C" f32 VOL_SE_CHAR_VOICE_TALKING__7Z2Param; -extern "C" f32 VOL_SE_CHAR_MOVE_TALKING__7Z2Param; -extern "C" f32 VOL_SE_OBJECT_TALKING__7Z2Param; -extern "C" f32 VOL_SE_ATMOSPHERE_TALKING__7Z2Param; -extern "C" f32 VOL_SE_SYSTEM_PAUSING__7Z2Param; -extern "C" f32 VOL_SE_LINK_VOICE_PAUSING__7Z2Param; -extern "C" f32 VOL_SE_LINK_MOTION_PAUSING__7Z2Param; -extern "C" f32 VOL_SE_LINK_FOOTNOTE_PAUSING__7Z2Param; -extern "C" f32 VOL_SE_CHAR_VOICE_PAUSING__7Z2Param; -extern "C" f32 VOL_SE_CHAR_MOVE_PAUSING__7Z2Param; -extern "C" f32 VOL_SE_OBJECT_PAUSING__7Z2Param; -extern "C" f32 VOL_SE_ATMOSPHERE_PAUSING__7Z2Param; -extern "C" extern u8 data_80450B44[4]; -extern "C" extern u8 data_80450B60[4]; -extern "C" extern u8 data_80450B70[4]; -extern "C" extern u8 data_80450B74[4]; -extern "C" extern u8 data_80450B7C[4]; -extern "C" extern u8 data_80450B80[4]; -extern "C" extern u8 data_80450B84[4]; -extern "C" u8 mLinkPtr__14Z2CreatureLink[4 + 4 /* padding */]; -extern "C" extern u8 __OSReport_disable; - // // Declarations: // @@ -226,100 +144,9 @@ void Z2SeMgr::decrCrowdSize() { mCrowdSize = 0; } -/* ############################################################################################## */ -/* 80455870-80455874 003E70 0004+00 1/1 0/0 0/0 .sdata2 @4038 */ -SECTION_SDATA2 static f32 lit_4038 = 10000.0f; - -/* 80455874-80455878 003E74 0004+00 2/2 0/0 0/0 .sdata2 @4039 */ -SECTION_SDATA2 static f32 lit_4039 = 100.0f; - -/* 80455878-8045587C 003E78 0004+00 11/11 0/0 0/0 .sdata2 @4040 */ -SECTION_SDATA2 static u8 lit_4040[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - -/* 8045587C-80455880 003E7C 0004+00 2/2 0/0 0/0 .sdata2 @4041 */ -SECTION_SDATA2 static f32 lit_4041 = 1.0f / 5.0f; - -/* 80455880-80455884 003E80 0004+00 8/8 0/0 0/0 .sdata2 @4042 */ -SECTION_SDATA2 static f32 lit_4042 = 1.0f; - -/* 80455884-80455888 003E84 0004+00 3/3 0/0 0/0 .sdata2 @4043 */ -SECTION_SDATA2 static f32 lit_4043 = 7.0f / 10.0f; - -/* 80455888-8045588C 003E88 0004+00 1/1 0/0 0/0 .sdata2 @4044 */ -SECTION_SDATA2 static f32 lit_4044 = 1.25f; - -/* 8045588C-80455890 003E8C 0004+00 2/2 0/0 0/0 .sdata2 @4045 */ -SECTION_SDATA2 static f32 lit_4045 = 2.0f / 5.0f; - -/* 80455890-80455894 003E90 0004+00 1/1 0/0 0/0 .sdata2 @4046 */ -SECTION_SDATA2 static f32 lit_4046 = 1.5f; - -/* 80455894-80455898 003E94 0004+00 1/1 0/0 0/0 .sdata2 @4047 */ -SECTION_SDATA2 static f32 lit_4047 = 35.0f; - -/* 80455898-8045589C 003E98 0004+00 1/1 0/0 0/0 .sdata2 @4048 */ -SECTION_SDATA2 static f32 lit_4048 = 261.0f; - -/* 8045589C-804558A0 003E9C 0004+00 1/1 0/0 0/0 .sdata2 @4049 */ -SECTION_SDATA2 static f32 lit_4049 = 1.0f / 20.0f; - -/* 804558A0-804558A4 003EA0 0004+00 1/1 0/0 0/0 .sdata2 @4050 */ -SECTION_SDATA2 static f32 lit_4050 = 7.0f / 5.0f; - -/* 804558A4-804558A8 003EA4 0004+00 1/1 0/0 0/0 .sdata2 @4051 */ -SECTION_SDATA2 static f32 lit_4051 = 47.0f; - -/* 804558A8-804558AC 003EA8 0004+00 5/5 0/0 0/0 .sdata2 @4052 */ -SECTION_SDATA2 static f32 lit_4052 = 0.5f; - -/* 804558AC-804558B0 003EAC 0004+00 2/2 0/0 0/0 .sdata2 @4053 */ -SECTION_SDATA2 static f32 lit_4053 = 9.0f / 10.0f; - -/* 804558B0-804558B4 003EB0 0004+00 1/1 0/0 0/0 .sdata2 @4054 */ -SECTION_SDATA2 static f32 lit_4054 = 41.0f; - -/* 804558B4-804558B8 003EB4 0004+00 2/2 0/0 0/0 .sdata2 @4055 */ -SECTION_SDATA2 static f32 lit_4055 = 3.0f / 10.0f; - -/* 804558B8-804558BC 003EB8 0004+00 3/3 0/0 0/0 .sdata2 @4056 */ -SECTION_SDATA2 static f32 lit_4056 = -1.0f; - -/* 804558BC-804558C0 003EBC 0004+00 2/2 0/0 0/0 .sdata2 @4057 */ -SECTION_SDATA2 static f32 lit_4057 = 400.0f; - -/* 804558C0-804558C4 003EC0 0004+00 2/2 0/0 0/0 .sdata2 @4058 */ -SECTION_SDATA2 static f32 lit_4058 = 4.0f / 5.0f; - -/* 804558C4-804558C8 003EC4 0004+00 2/2 0/0 0/0 .sdata2 @4059 */ -SECTION_SDATA2 static f32 lit_4059 = 11.0f / 10.0f; - -/* 804558C8-804558CC 003EC8 0004+00 1/1 0/0 0/0 .sdata2 @4060 */ -SECTION_SDATA2 static f32 lit_4060 = 15.0f; - -/* 804558CC-804558D0 003ECC 0004+00 1/1 0/0 0/0 .sdata2 @4061 */ -SECTION_SDATA2 static f32 lit_4061 = 60.0f; - -/* 804558D0-804558D4 003ED0 0004+00 2/2 0/0 0/0 .sdata2 @4062 */ -SECTION_SDATA2 static f32 lit_4062 = 127.0f; - -/* 804558D4-804558D8 003ED4 0004+00 2/2 0/0 0/0 .sdata2 @4063 */ -SECTION_SDATA2 static f32 lit_4063 = 6.0f / 5.0f; - -/* 804558D8-804558E0 003ED8 0008+00 2/2 0/0 0/0 .sdata2 @4067 */ -SECTION_SDATA2 static f64 lit_4067 = 4503599627370496.0 /* cast u32 to float */; - -/* 804558E0-804558E8 003EE0 0008+00 2/2 0/0 0/0 .sdata2 @4070 */ -SECTION_SDATA2 static f64 lit_4070 = 4503601774854144.0 /* cast s32 to float */; - /* 802AB984-802AC50C 2A62C4 0B88+00 1/1 196/196 549/549 .text * seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc */ -#ifdef NONMATCHING -// something is wrong with the switch, also isMovieDemo needs to not get inlined +// NONMATCHING something is wrong with the switch, also isMovieDemo needs to not get inlined bool Z2SeMgr::seStart(JAISoundID i_soundID, Vec const* i_pos, u32 param_2, s8 i_reverb, f32 i_pitch, f32 i_volume, f32 i_pan, f32 i_dolby, u8 param_8) { if (i_soundID == 0xffffffff) { @@ -541,12 +368,6 @@ bool Z2SeMgr::seStart(JAISoundID i_soundID, Vec const* i_pos, u32 param_2, s8 i_ param_2, i_reverb / 127.0f, i_pitch, i_volume, i_pan, i_dolby, 0); } -#else -bool Z2SeMgr::seStart(JAISoundID param_0, Vec const* param_1, u32 param_2, s8 param_3, - f32 param_4, f32 param_5, f32 param_6, f32 param_7, u8 param_8) { - // NONMATCHING -} -#endif /* ############################################################################################## */ /* 803C9D98-803C9DF8 -00001 0060+00 1/1 0/0 0/0 .data @4619 */ @@ -739,7 +560,6 @@ void Z2SeMgr::seMoveVolumeAll(f32 i_volume, u32 i_count) { } } - /* 802ADB14-802ADB50 2A8454 003C+00 0/0 1/1 0/0 .text messageSePlay__7Z2SeMgrFUsP3VecSc */ void Z2SeMgr::messageSePlay(u16 param_0, Vec* param_1, s8 param_2) { @@ -768,7 +588,6 @@ void Z2SeMgr::talkInSe() { } } - /* 802ADC54-802ADD58 2A8594 0104+00 0/0 2/2 0/0 .text talkOutSe__7Z2SeMgrFv */ void Z2SeMgr::talkOutSe() { if (Z2GetSceneMgr()->isInGame()) { @@ -791,7 +610,6 @@ void Z2SeMgr::talkOutSe() { } } - /* 802ADD58-802ADE5C 2A8698 0104+00 0/0 1/1 0/0 .text menuInSe__7Z2SeMgrFv */ void Z2SeMgr::menuInSe() { if (Z2GetSceneMgr()->isInGame()) { @@ -814,17 +632,6 @@ void Z2SeMgr::menuInSe() { } } - -/* ############################################################################################## */ -/* 8039B9F0-8039B9FC 028050 000C+00 1/1 0/0 0/0 .rodata @5054 */ -SECTION_RODATA static u8 const lit_5054[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC2, 0x48, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8039B9F0, &lit_5054); - -/* 80455990-80455994 003F90 0004+00 1/1 0/0 0/0 .sdata2 @5085 */ -SECTION_SDATA2 static f32 lit_5085 = 4.0f; - /* 802ADE5C-802ADFF4 2A879C 0198+00 1/1 0/0 0/0 .text setLevObjSE__7Z2SeMgrFUlP3VecSc */ void Z2SeMgr::setLevObjSE(u32 i_soundID, Vec* i_pos, s8 param_2) { u8 i = 0; @@ -868,17 +675,6 @@ void Z2SeMgr::setLevObjSE(u32 i_soundID, Vec* i_pos, s8 param_2) { } } - -/* ############################################################################################## */ -/* 8039B9FC-8039BA08 02805C 000C+00 1/1 0/0 0/0 .rodata @5100 */ -SECTION_RODATA static u8 const lit_5100[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC2, 0x48, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8039B9FC, &lit_5100); - -/* 80455994-80455998 003F94 0004+00 1/1 0/0 0/0 .sdata2 @5134 */ -SECTION_SDATA2 static f32 lit_5134 = 3.0f; - /* 802ADFF4-802AE184 2A8934 0190+00 1/1 0/0 0/0 .text setMultiTriggerSE__7Z2SeMgrFUlP3VecSc */ void Z2SeMgr::setMultiTriggerSE(u32 i_soundID, Vec* i_pos, s8 param_2) { u8 i = 0; @@ -924,7 +720,6 @@ void Z2SeMgr::setMultiTriggerSE(u32 i_soundID, Vec* i_pos, s8 param_2) { } } - /* 802AE184-802AE524 2A8AC4 03A0+00 0/0 1/1 0/0 .text processSeFramework__7Z2SeMgrFv */ void Z2SeMgr::processSeFramework() { if (Z2GetSceneMgr()->isSceneExist() && mCrowdSize != 0) { @@ -943,9 +738,9 @@ void Z2SeMgr::processSeFramework() { mLevelObjectSeCount = 0; for (u8 i = 0; i < mMultiTriggerSeCount; i++) { f32 volume = mMultiTriggerSe[i].getMaxVolume(); - seStartLevel(mMultiTriggerSe[i].mSoundID, NULL, 0, mMultiTriggerSe[i].field_0x20, 1.0f, - volume, mMultiTriggerSe[i].getPanPower(), - mMultiTriggerSe[i].getDolbyPower(), 1); + seStart(mMultiTriggerSe[i].mSoundID, NULL, 0, mMultiTriggerSe[i].field_0x20, 1.0f, + volume, mMultiTriggerSe[i].getPanPower(), + mMultiTriggerSe[i].getDolbyPower(), 1); } for (u8 i = 0; i < 10; i++) { mMultiTriggerSe[i].resetMultiSePos(); @@ -1217,12 +1012,11 @@ s8 Z2MultiSeMgr::registMultiSePos(Vec* i_pos) { void Z2MultiSeMgr::resetMultiSePos(void) { mPosCount = -1; - f32 _0 = FLOAT_LABEL(lit_4040); - mMaxPowL = _0; - mMaxPowR = _0; - mMaxPowF = _0; - mMaxPowB = _0; - mMaxVolume = _0; + mMaxPowL = 0.0f; + mMaxPowR = 0.0f; + mMaxPowF = 0.0f; + mMaxPowB = 0.0f; + mMaxVolume = 0.0f; } /* 802AECE0-802AEDC0 2A9620 00E0+00 1/1 8/8 0/0 .text getPanPower__12Z2MultiSeMgrFv */ @@ -1250,4 +1044,4 @@ f32 Z2MultiSeMgr::getDolbyPower() { } else { return 0.5f; } -} \ No newline at end of file +} diff --git a/src/Z2AudioLib/Z2SeqMgr.cpp b/src/Z2AudioLib/Z2SeqMgr.cpp index 4cc6ba2259..9839405ee4 100644 --- a/src/Z2AudioLib/Z2SeqMgr.cpp +++ b/src/Z2AudioLib/Z2SeqMgr.cpp @@ -15,122 +15,6 @@ #include "JSystem/JAudio2/JAISeq.h" #include "dol2asm.h" -// -// Forward References: -// - -extern "C" void __ct__8Z2SeqMgrFv(); -extern "C" void bgmStart__8Z2SeqMgrFUlUll(); -extern "C" void bgmStop__8Z2SeqMgrFUll(); -extern "C" void subBgmStart__8Z2SeqMgrFUl(); -extern "C" void subBgmStop__8Z2SeqMgrFv(); -extern "C" void subBgmStopInner__8Z2SeqMgrFv(); -extern "C" void bgmStreamPrepare__8Z2SeqMgrFUl(); -extern "C" void bgmStreamCheckReady__8Z2SeqMgrFv(); -extern "C" void bgmStreamPlay__8Z2SeqMgrFv(); -extern "C" void bgmStreamStop__8Z2SeqMgrFUl(); -extern "C" void changeBgmStatus__8Z2SeqMgrFl(); -extern "C" void changeSubBgmStatus__8Z2SeqMgrFl(); -extern "C" void onVariantBgmJumpEnd__8Z2SeqMgrFb(); -extern "C" void changeFishingBgm__8Z2SeqMgrFl(); -extern "C" void talkInBgm__8Z2SeqMgrFv(); -extern "C" void talkOutBgm__8Z2SeqMgrFv(); -extern "C" void menuInBgm__8Z2SeqMgrFv(); -extern "C" void menuOutBgm__8Z2SeqMgrFv(); -extern "C" void fanfareFramework__8Z2SeqMgrFv(); -extern "C" void stopWolfHowlSong__8Z2SeqMgrFv(); -extern "C" void setHeightVolMod__8Z2SeqMgrFbUl(); -extern "C" void setTimeProcVolMod__8Z2SeqMgrFbUl(); -extern "C" void processBgmFramework__8Z2SeqMgrFv(); -extern "C" void checkBgmIDPlaying__8Z2SeqMgrFUl(); -extern "C" void getChildTrackVolume__8Z2SeqMgrFP14JAISoundHandlei(); -extern "C" void setChildTrackVolume__8Z2SeqMgrFP14JAISoundHandleifUlff(); -extern "C" void resetBattleBgmParams__8Z2SeqMgrFv(); -extern "C" void setBattleBgmOff__8Z2SeqMgrFb(); -extern "C" void setBattleSearched__8Z2SeqMgrFb(); -extern "C" void setBattleDistIgnore__8Z2SeqMgrFb(); -extern "C" void setBattleGhostMute__8Z2SeqMgrFb(); -extern "C" void setBattleDistState__8Z2SeqMgrFUc(); -extern "C" void setBattleSeqState__8Z2SeqMgrFUc(); -extern "C" void setBattleLastHit__8Z2SeqMgrFUc(); -extern "C" void battleBgmFramework__8Z2SeqMgrFv(); -extern "C" void startBattleBgm__8Z2SeqMgrFb(); -extern "C" void stopBattleBgm__8Z2SeqMgrFUcUc(); -extern "C" void fieldBgmStart__8Z2SeqMgrFv(); -extern "C" void fieldRidingMute__8Z2SeqMgrFv(); -extern "C" void onFieldBgmJumpStart__8Z2SeqMgrFv(); -extern "C" void onFieldBgmJumpEnd__8Z2SeqMgrFv(); -extern "C" void fieldBgmFramework__8Z2SeqMgrFv(); -extern "C" void mbossBgmMuteProcess__8Z2SeqMgrFv(); -extern "C" void bgmSetSwordUsing__8Z2SeqMgrFl(); -extern "C" void bgmNowBattle__8Z2SeqMgrFf(); -extern "C" void taktModeMute__8Z2SeqMgrFv(); -extern "C" void taktModeMuteOff__8Z2SeqMgrFv(); -extern "C" extern char const* const Z2SeqMgr__stringBase0; - -// -// External References: -// - -extern "C" void calc__9JAISeqMgrFv(); -extern "C" void stop__9JAISeqMgrFUl(); -extern "C" void mixOut__9JAISeqMgrFv(); -extern "C" void releaseSound__14JAISoundHandleFv(); -extern "C" void releaseHandle__8JAISoundFv(); -extern "C" void lockWhenPrepared__15JAISoundStatus_Fv(); -extern "C" void unlockIfLocked__15JAISoundStatus_Fv(); -extern "C" void stop__8JAISoundFUl(); -extern "C" void stop__8JAISoundFv(); -extern "C" void moveVolume__18JAISoundParamsMoveFfUl(); -extern "C" void movePan__18JAISoundParamsMoveFfUl(); -extern "C" void moveDolby__18JAISoundParamsMoveFfUl(); -extern "C" void stop__12JAIStreamMgrFUl(); -extern "C" void linearTransform__6Z2CalcFfffffb(); -extern "C" void getParamByExp__6Z2CalcFffffffQ26Z2Calc9CurveSign(); -extern "C" void setPortData__14Z2SoundStarterFP14JAISoundHandleUlUsSc(); -extern "C" void getPortData__14Z2SoundStarterFP14JAISoundHandleUlSc(); -extern "C" void setDemoName__11Z2StatusMgrFPc(); -extern "C" void checkDayTime__11Z2StatusMgrFv(); -extern "C" void setSceneExist__10Z2SceneMgrFb(); -extern "C" void setForceBattleArea__13Z2SoundObjMgrFbUsUsUs(); -extern "C" void searchEnemy__13Z2SoundObjMgrFv(); -extern "C" void setBattleInit__13Z2SoundObjMgrFv(); -extern "C" void checkBattleFinish__13Z2SoundObjMgrFv(); -extern "C" void isTwilightBattle__13Z2SoundObjMgrFv(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" f32 VOL_BGM_DEFAULT__7Z2Param; -extern "C" f32 VOL_BGM_TALKING__7Z2Param; -extern "C" f32 VOL_BGM_PAUSING__7Z2Param; -extern "C" extern u8 data_80450B48[4]; -extern "C" extern u8 data_80450B60[4]; -extern "C" extern u8 data_80450B74[4]; -extern "C" extern u8 data_80450B7C[4]; -extern "C" extern u8 data_80450B80[4]; -extern "C" f32 ENEMY_LASTHIT_MUTE_VOLUME__7Z2Param; -extern "C" u8 mLinkPtr__14Z2CreatureLink[4 + 4 /* padding */]; -extern "C" extern u8 __OSReport_disable; - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 80455998-8045599C 003F98 0004+00 23/23 0/0 0/0 .sdata2 @3372 */ -SECTION_SDATA2 static f32 lit_3372 = 1.0f; - -/* 8045599C-804559A0 003F9C 0004+00 23/23 0/0 0/0 .sdata2 @3373 */ -SECTION_SDATA2 static u8 lit_3373[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - /* 802AEEA0-802AF010 2A97E0 0170+00 0/0 1/1 0/0 .text __ct__8Z2SeqMgrFv */ Z2SeqMgr::Z2SeqMgr() : JASGlobalInstance(this) { mMainBgmMaster.forceIn(); @@ -162,18 +46,6 @@ Z2SeqMgr::Z2SeqMgr() : JASGlobalInstance(this) { mFlags.flag7 = false; } - -/* ############################################################################################## */ -/* 804559A0-804559A8 003FA0 0004+04 1/1 0/0 0/0 .sdata2 @3559 */ -SECTION_SDATA2 static f32 lit_3559[1 + 1 /* padding */] = { - -10000.0f, - /* padding */ - 0.0f, -}; - -/* 804559A8-804559B0 003FA8 0008+00 22/22 0/0 0/0 .sdata2 @3561 */ -SECTION_SDATA2 static f64 lit_3561 = 4503599627370496.0 /* cast u32 to float */; - /* 802AF010-802AF408 2A9950 03F8+00 3/3 5/5 38/38 .text bgmStart__8Z2SeqMgrFUlUll */ void Z2SeqMgr::bgmStart(u32 i_bgmID, u32 i_count, s32 param_2) { switch (i_bgmID) { @@ -208,7 +80,7 @@ void Z2SeqMgr::bgmStart(u32 i_bgmID, u32 i_count, s32 param_2) { break; case Z2BGM_VS_GANON_01: bgmAllUnMute(0); - // no break + // fallthrough case Z2BGM_VS_GANON_02: case Z2BGM_VS_GANON_04: case Z2BGM_GOMA_BTL02: @@ -256,7 +128,6 @@ void Z2SeqMgr::bgmStart(u32 i_bgmID, u32 i_count, s32 param_2) { } } - /* 802AF408-802AF49C 2A9D48 0094+00 3/3 5/5 30/30 .text bgmStop__8Z2SeqMgrFUll */ void Z2SeqMgr::bgmStop(u32 i_count, s32 param_1) { if (mMainBgmHandle) { @@ -362,175 +233,6 @@ SECTION_DEAD static char const* const stringBase_8039BC6B = "D_SB10"; SECTION_DEAD static char const* const stringBase_8039BC72 = "force_start"; #pragma pop -/* 803C9DF8-803CA08C -00001 0294+00 1/1 0/0 0/0 .data @3900 */ -SECTION_DATA static void* lit_3900[165] = { - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x14C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0xFC), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x8C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x138), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x50), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x50), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0xF0), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0xF0), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x50), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x50), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0xF0), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x50), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0xF0), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x174), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0xF0), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0xF0), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0xF0), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x174), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0xF0), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0xF0), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0xF0), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0xF0), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0xF0), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x8C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x138), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x50), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x50), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x50), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x50), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x98), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0xE4), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0xE4), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x50), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x50), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x50), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x50), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0xF0), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x98), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0xF0), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x180), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x50), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x50), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x50), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x138), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0xD0), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0xE4), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0xF0), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x50), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x50), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x50), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x50), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0xF0), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x50), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x50), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x50), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x50), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x50), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x50), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x50), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x180), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x138), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0xF0), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0xF0), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0xF0), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x8C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0xF0), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0xF0), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0xF0), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x8C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x8C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x124), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x124), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0xF0), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0xF0), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0xD0), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x50), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0xB8), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x50), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0xE4), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x18C), - (void*)(((char*)subBgmStart__8Z2SeqMgrFUl) + 0x14C), -}; - /* 802AF49C-802AF884 2A9DDC 03E8+00 3/2 6/6 65/65 .text subBgmStart__8Z2SeqMgrFUl */ void Z2SeqMgr::subBgmStart(u32 i_bgmID) { if (i_bgmID == -1) { @@ -597,13 +299,13 @@ void Z2SeqMgr::subBgmStart(u32 i_bgmID) { if (mSubBgmHandle) { mSubBgmHandle->stop(0); } - // no break + // fallthrough case Z2BGM_FISHING_HIT: case Z2BGM_SNOW_BOARD: case Z2BGM_RIVER_GAME: case Z2BGM_RIVER_GAME_00: setBattleBgmOff(true); - // no break + // fallthrough case Z2BGM_BOSSBABA_0: case Z2BGM_WILD_GOAT: case Z2BGM_EVENT01: @@ -641,7 +343,7 @@ void Z2SeqMgr::subBgmStart(u32 i_bgmID) { if (mSubBgmHandle) { mSubBgmHandle->stop(0); } - // no break + // fallthrough case Z2BGM_BOOMERAMG_MONKEY: case Z2BGM_VARIANT: case Z2BGM_TN_MBOSS: @@ -649,7 +351,7 @@ void Z2SeqMgr::subBgmStart(u32 i_bgmID) { if (mStreamBgmHandle) { mStreamBgmHandle->stop(0); } - // no break + // fallthrough case Z2BGM_HORSE_BATTLE: case Z2BGM_TN_MBOSS_LV9: mStreamBgmMaster.forceIn(); @@ -696,10 +398,10 @@ void Z2SeqMgr::subBgmStart(u32 i_bgmID) { case Z2BGM_VARIANT: case Z2BGM_TN_MBOSS: bgmStreamStop(0); - // no break + // fallthrough case Z2BGM_TN_MBOSS_LV9: mStreamBgmMaster.forceIn(); - // no break + // fallthrough case Z2BGM_RODEO: changeSubBgmStatus(1); break; @@ -718,177 +420,6 @@ void Z2SeqMgr::subBgmStart(u32 i_bgmID) { field_0xb8 = -1; } - -/* ############################################################################################## */ -/* 8039BA08-8039BA08 028068 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8039BC7E = "force_end"; -#pragma pop - -/* 803CA08C-803CA308 -00001 027C+00 1/1 0/0 0/0 .data @3988 */ -SECTION_DATA static void* lit_3988[159] = { - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x58), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x58), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x94), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x58), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x58), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x58), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x94), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x94), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x94), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x94), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x94), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x94), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x94), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x94), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x94), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x94), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x94), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x58), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x58), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x58), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x58), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x5C), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0xA0), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x94), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x7C), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x5C), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0xC4), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x94), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x94), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0xDC), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x124), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x94), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x10C), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x58), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x58), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x58), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x94), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x10C), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x94), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x94), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x94), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x94), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x94), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x94), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x94), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x58), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x58), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x58), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x58), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x124), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x58), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x58), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x94), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0x130), - (void*)(((char*)subBgmStop__8Z2SeqMgrFv) + 0xF4), -}; - /* 802AF884-802AF9D0 2AA1C4 014C+00 4/3 4/4 42/42 .text subBgmStop__8Z2SeqMgrFv */ void Z2SeqMgr::subBgmStop() { switch (getSubBgmID()) { @@ -918,7 +449,7 @@ void Z2SeqMgr::subBgmStop() { break; case Z2BGM_HIDDEN_VIL_D1: bgmStart(Z2BGM_HIDDEN_VILLAGE, 0, 0); - // no break + // fallthrough case Z2BGM_BOSSBABA_0: case Z2BGM_MAGNE_GORON: case Z2BGM_MAGNE_GORON_D01: @@ -971,7 +502,7 @@ void Z2SeqMgr::subBgmStop() { case Z2BGM_OBACHAN: case Z2BGM_POSTMAN: setBattleBgmOff(false); - // no break + // fallthrough default: field_0xb8 = 15; break; @@ -980,8 +511,7 @@ void Z2SeqMgr::subBgmStop() { /* 802AF9D0-802AFB94 2AA310 01C4+00 2/2 0/0 0/0 .text subBgmStopInner__8Z2SeqMgrFv */ -#ifdef NONMATCHING -// regalloc +// NONMATCHING regalloc void Z2SeqMgr::subBgmStopInner() { if (field_0xb8 == -1) { return; @@ -1020,11 +550,6 @@ void Z2SeqMgr::subBgmStopInner() { mMainBgmMaster.fadeIn(struct_80450862); field_0xb8 = -1; } -#else -void Z2SeqMgr::subBgmStopInner() { - // NONMATCHING -} -#endif /* 802AFB94-802AFDEC 2AA4D4 0258+00 1/1 3/3 46/46 .text bgmStreamPrepare__8Z2SeqMgrFUl */ void Z2SeqMgr::bgmStreamPrepare(u32 i_bgmID) { @@ -1037,7 +562,7 @@ void Z2SeqMgr::bgmStreamPrepare(u32 i_bgmID) { switch (i_bgmID) { case 0x2000010: mAllBgmMaster.forceIn(); - // no break + // fallthrough case 0x200000f: return; case 0x2000014: @@ -1052,7 +577,7 @@ void Z2SeqMgr::bgmStreamPrepare(u32 i_bgmID) { if (mMainBgmHandle) { mMainBgmHandle->stop(0); } - // no break + // fallthrough case 0x2000003: case 0x2000047: case 0x200005f: @@ -1108,70 +633,6 @@ void Z2SeqMgr::bgmStreamStop(u32 i_count) { mStreamBgmHandle.releaseSound(); } -/* ############################################################################################## */ -/* 803CA308-803CA33C -00001 0034+00 1/1 0/0 0/0 .data @4739 */ -SECTION_DATA static void* lit_4739[13] = { - (void*)(((char*)changeBgmStatus__8Z2SeqMgrFl) + 0x440), - (void*)(((char*)changeBgmStatus__8Z2SeqMgrFl) + 0x440), - (void*)(((char*)changeBgmStatus__8Z2SeqMgrFl) + 0x428), - (void*)(((char*)changeBgmStatus__8Z2SeqMgrFl) + 0x440), - (void*)(((char*)changeBgmStatus__8Z2SeqMgrFl) + 0x3C0), - (void*)(((char*)changeBgmStatus__8Z2SeqMgrFl) + 0x440), - (void*)(((char*)changeBgmStatus__8Z2SeqMgrFl) + 0x440), - (void*)(((char*)changeBgmStatus__8Z2SeqMgrFl) + 0x420), - (void*)(((char*)changeBgmStatus__8Z2SeqMgrFl) + 0x440), - (void*)(((char*)changeBgmStatus__8Z2SeqMgrFl) + 0x440), - (void*)(((char*)changeBgmStatus__8Z2SeqMgrFl) + 0x440), - (void*)(((char*)changeBgmStatus__8Z2SeqMgrFl) + 0x440), - (void*)(((char*)changeBgmStatus__8Z2SeqMgrFl) + 0x3C0), -}; - -/* 804559B0-804559B4 003FB0 0004+00 1/1 0/0 0/0 .sdata2 @4726 */ -SECTION_SDATA2 static f32 lit_4726 = 13.0f / 20.0f; - -/* 804559B4-804559B8 003FB4 0004+00 10/10 0/0 0/0 .sdata2 @4727 */ -SECTION_SDATA2 static f32 lit_4727 = -1.0f; - -/* 804559B8-804559BC 003FB8 0004+00 1/1 0/0 0/0 .sdata2 @4728 */ -SECTION_SDATA2 static f32 lit_4728 = 29.0f / 100.0f; - -/* 804559BC-804559C0 003FBC 0004+00 1/1 0/0 0/0 .sdata2 @4729 */ -SECTION_SDATA2 static f32 lit_4729 = 7.0f / 20.0f; - -/* 804559C0-804559C4 003FC0 0004+00 1/1 0/0 0/0 .sdata2 @4730 */ -SECTION_SDATA2 static f32 lit_4730 = 3.0f / 5.0f; - -/* 804559C4-804559C8 003FC4 0004+00 2/2 0/0 0/0 .sdata2 @4731 */ -SECTION_SDATA2 static f32 lit_4731 = 0.5f; - -/* 804559C8-804559CC 003FC8 0004+00 3/3 0/0 0/0 .sdata2 @4732 */ -SECTION_SDATA2 static f32 lit_4732 = 3.0f / 10.0f; - -/* 804559CC-804559D0 003FCC 0004+00 1/1 0/0 0/0 .sdata2 @4733 */ -SECTION_SDATA2 static f32 lit_4733 = 3100.0f; - -/* 804559D0-804559D4 003FD0 0004+00 1/1 0/0 0/0 .sdata2 @4734 */ -SECTION_SDATA2 static f32 lit_4734 = 200.0f; - -/* 804559D4-804559D8 003FD4 0004+00 1/1 0/0 0/0 .sdata2 @4735 */ -SECTION_SDATA2 static f32 lit_4735 = 1600.0f; - -/* 804559D8-804559DC 003FD8 0004+00 1/1 0/0 0/0 .sdata2 @4736 */ -SECTION_SDATA2 static f32 lit_4736 = 4.0f / 5.0f; - -/* 804559DC-804559E0 003FDC 0004+00 1/1 0/0 0/0 .sdata2 @4737 */ -SECTION_SDATA2 static f32 lit_4737 = 3150.0f; - -/* 804559E0-804559E8 003FE0 0004+04 1/1 0/0 0/0 .sdata2 @4738 */ -SECTION_SDATA2 static f32 lit_4738[1 + 1 /* padding */] = { - 6150.0f, - /* padding */ - 0.0f, -}; - -/* 804559E8-804559F0 003FE8 0008+00 1/1 0/0 0/0 .sdata2 @4741 */ -SECTION_SDATA2 static f64 lit_4741 = 4503601774854144.0 /* cast s32 to float */; - /* 802AFF8C-802B1DF4 2AA8CC 1E68+00 5/4 8/7 26/26 .text changeBgmStatus__8Z2SeqMgrFl */ void Z2SeqMgr::changeBgmStatus(s32 param_0) { if (!mMainBgmHandle) { @@ -1190,13 +651,13 @@ void Z2SeqMgr::changeBgmStatus(s32 param_0) { } if (param_0 == 1) { volume1 = 0.65f; - volume2 = 1.0f; - volume3 = 0.0f; - count = 30; - } else { - volume1 = 0.0f; volume2 = 0.0f; volume3 = 1.0f; + count = 30; + } else { + volume1 = 1.0f; + volume2 = 1.0f; + volume3 = 0.0f; } setChildTrackVolume(&mMainBgmHandle, 0, volume1, count, -1.0f, -1.0f); setChildTrackVolume(&mMainBgmHandle, 1, volume1, count, -1.0f, -1.0f); @@ -1206,9 +667,9 @@ void Z2SeqMgr::changeBgmStatus(s32 param_0) { setChildTrackVolume(&mMainBgmHandle, 5, volume1, count, -1.0f, -1.0f); setChildTrackVolume(&mMainBgmHandle, 6, volume1, count, -1.0f, -1.0f); setChildTrackVolume(&mMainBgmHandle, 7, volume1, count, -1.0f, -1.0f); - setChildTrackVolume(&mMainBgmHandle, 8, volume3, count, -1.0f, -1.0f); - setChildTrackVolume(&mMainBgmHandle, 9, volume2, count, -1.0f, -1.0f); - setChildTrackVolume(&mMainBgmHandle, 10, volume2, count, -1.0f, -1.0f); + setChildTrackVolume(&mMainBgmHandle, 8, volume2, count, -1.0f, -1.0f); + setChildTrackVolume(&mMainBgmHandle, 9, volume3, count, -1.0f, -1.0f); + setChildTrackVolume(&mMainBgmHandle, 10, volume3, count, -1.0f, -1.0f); break; case Z2BGM_HORSE_BATTLE: setChildTrackVolume(&mMainBgmHandle, 11, 0.0f, 0, -1.0f, -1.0f); @@ -1221,7 +682,7 @@ void Z2SeqMgr::changeBgmStatus(s32 param_0) { case 4: case 0xc: i_muteSceneBgm(struct_80450860, 0.0f); - // no break + // fallthrough case 7: mute = true; break; @@ -1402,7 +863,7 @@ void Z2SeqMgr::changeBgmStatus(s32 param_0) { setChildTrackVolume(&mMainBgmHandle, 1, 0.3f, 143, -1.0f, -1.0f); setChildTrackVolume(&mMainBgmHandle, 2, 0.6f, 143, -1.0f, -1.0f); setChildTrackVolume(&mMainBgmHandle, 3, 0.6f, 143, -1.0f, -1.0f); - setChildTrackVolume(&mMainBgmHandle, 4, 0.6f, 143, -1.0f, -1.0f); + setChildTrackVolume(&mMainBgmHandle, 4, 0.0f, 143, -1.0f, -1.0f); setChildTrackVolume(&mMainBgmHandle, 5, 1.0f, 143, -1.0f, -1.0f); setChildTrackVolume(&mMainBgmHandle, 6, 1.0f, 143, -1.0f, -1.0f); setChildTrackVolume(&mMainBgmHandle, 7, 1.0f, 143, -1.0f, -1.0f); @@ -1601,7 +1062,6 @@ void Z2SeqMgr::changeBgmStatus(s32 param_0) { mBgmStatus = param_0 & 0xff; } - /* 802B1DF4-802B299C 2AC734 0BA8+00 2/2 3/3 31/31 .text changeSubBgmStatus__8Z2SeqMgrFl */ void Z2SeqMgr::changeSubBgmStatus(s32 param_0) { @@ -1772,7 +1232,6 @@ void Z2SeqMgr::changeSubBgmStatus(s32 param_0) { mSubBgmStatus = param_0 & 0xff; } - /* 802B299C-802B2A88 2AD2DC 00EC+00 0/0 1/1 0/0 .text onVariantBgmJumpEnd__8Z2SeqMgrFb */ void Z2SeqMgr::onVariantBgmJumpEnd(bool param_0) { if (param_0) { @@ -1791,7 +1250,6 @@ void Z2SeqMgr::onVariantBgmJumpEnd(bool param_0) { Z2GetSoundMgr()->getSeqMgr()->mixOut(); } - /* 802B2A88-802B2CA4 2AD3C8 021C+00 1/1 0/0 9/9 .text changeFishingBgm__8Z2SeqMgrFl */ void Z2SeqMgr::changeFishingBgm(s32 param_0) { switch (param_0) { @@ -1820,7 +1278,6 @@ void Z2SeqMgr::changeFishingBgm(s32 param_0) { } } - /* 802B2CA4-802B2D64 2AD5E4 00C0+00 0/0 1/1 0/0 .text talkInBgm__8Z2SeqMgrFv */ void Z2SeqMgr::talkInBgm() { if (getStreamBgmID() == 0x2000038 || getStreamBgmID() == 0x200007c @@ -1831,31 +1288,28 @@ void Z2SeqMgr::talkInBgm() { mBgmPause.move(Z2Param::VOL_BGM_TALKING, 2); } - /* 802B2D64-802B2DAC 2AD6A4 0048+00 0/0 1/1 0/0 .text talkOutBgm__8Z2SeqMgrFv */ void Z2SeqMgr::talkOutBgm() { mBgmPause.move(Z2Param::VOL_BGM_DEFAULT, 2); } - /* 802B2DAC-802B2DF4 2AD6EC 0048+00 0/0 1/1 0/0 .text menuInBgm__8Z2SeqMgrFv */ void Z2SeqMgr::menuInBgm() { mBgmPause.move(Z2Param::VOL_BGM_PAUSING, 2); } - /* 802B2DF4-802B2E3C 2AD734 0048+00 0/0 1/1 0/0 .text menuOutBgm__8Z2SeqMgrFv */ void Z2SeqMgr::menuOutBgm() { mBgmPause.move(Z2Param::VOL_BGM_DEFAULT, 2); } - /* 802B2E3C-802B327C 2AD77C 0440+00 1/1 0/0 0/0 .text fanfareFramework__8Z2SeqMgrFv */ +// NONMATCHING extra load void Z2SeqMgr::fanfareFramework() { switch (mFanfareID) { case Z2BGM_OPEN_BOX: mFanfareCount = 150; - // no break + // fallthrough case Z2BGM_KOMONJO_GET_INTRO: Z2GetSoundMgr()->startSound(mFanfareID, &mFanfareHandle, 0); mFanfareMute.fadeOut(1); @@ -1877,7 +1331,7 @@ void Z2SeqMgr::fanfareFramework() { case Z2BGM_FISHING_GET2: case Z2BGM_FISHING_GET3: changeFishingBgm(0); - // no break + // fallthrough case Z2BGM_ITEM_GET: case Z2BGM_ITEM_GET_MINI: case Z2BGM_HEART_GET: @@ -1924,110 +1378,6 @@ void Z2SeqMgr::fanfareFramework() { } } - -/* ############################################################################################## */ -/* 803CA33C-803CA3F8 -00001 00BC+00 1/1 0/0 0/0 .data @5219 */ -SECTION_DATA static void* lit_5219[47] = { - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x84), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x84), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x84), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x84), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x8C), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x8C), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x8C), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x8C), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x8C), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x8C), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x8C), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x8C), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x8C), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x8C), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x8C), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x8C), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x8C), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x8C), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x8C), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x8C), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x84), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x8C), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x84), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x84), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x8C), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x8C), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x8C), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x8C), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x8C), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x8C), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x8C), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x8C), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x84), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x84), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x8C), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x84), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x84), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x8C), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x8C), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x8C), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x8C), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x8C), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x84), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x84), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x8C), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x84), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x84), -}; - -/* 803CA3F8-803CA4B4 -00001 00BC+00 1/1 0/0 0/0 .data @5218 */ -SECTION_DATA static void* lit_5218[47] = { - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x38), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x38), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x38), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x38), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x48), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x48), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x48), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x48), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x48), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x48), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x48), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x48), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x48), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x48), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x48), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x48), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x48), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x48), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x48), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x48), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x38), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x48), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x38), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x38), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x48), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x48), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x48), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x48), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x48), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x48), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x48), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x48), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x38), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x38), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x48), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x38), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x38), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x48), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x48), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x48), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x48), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x48), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x38), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x38), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x48), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x38), - (void*)(((char*)stopWolfHowlSong__8Z2SeqMgrFv) + 0x38), -}; - /* 802B327C-802B3318 2ADBBC 009C+00 2/0 1/1 0/0 .text stopWolfHowlSong__8Z2SeqMgrFv */ void Z2SeqMgr::stopWolfHowlSong() { switch (mFanfareID) { @@ -2073,7 +1423,6 @@ void Z2SeqMgr::stopWolfHowlSong() { } } - /* 802B3318-802B3398 2ADC58 0080+00 0/0 1/1 0/0 .text setHeightVolMod__8Z2SeqMgrFbUl */ void Z2SeqMgr::setHeightVolMod(bool param_0, u32 i_count) { mFlags.flag6 = param_0; @@ -2082,13 +1431,11 @@ void Z2SeqMgr::setHeightVolMod(bool param_0, u32 i_count) { } } - /* 802B3398-802B33A8 2ADCD8 0010+00 0/0 1/1 0/0 .text setTimeProcVolMod__8Z2SeqMgrFbUl */ void Z2SeqMgr::setTimeProcVolMod(bool param_0, u32 i_count) { mFlags.flag7 = param_0; } -/* ############################################################################################## */ /* 80450870-80450874 0002F0 0004+00 1/1 0/0 0/0 .sdata sDeathMtBottom */ SECTION_SDATA static f32 sDeathMtBottom = -1000.0f; @@ -2097,34 +1444,6 @@ SECTION_SDATA static f32 sDeathMtTop = 3650.0f; /* 80450878-80450880 0002F8 0004+04 1/1 0/0 0/0 .sdata sUnderWaterDepthMax */ SECTION_SDATA static f32 sUnderWaterDepthMax = 3500.0f; -SECTION_SDATA static f32 pad = 0.0f; - -/* 804559F0-804559F4 003FF0 0004+00 1/1 0/0 0/0 .sdata2 @5673 */ -SECTION_SDATA2 static f32 lit_5673 = -10500.0f; - -/* 804559F4-804559F8 003FF4 0004+00 1/1 0/0 0/0 .sdata2 @5674 */ -SECTION_SDATA2 static f32 lit_5674 = -7500.0f; - -/* 804559F8-804559FC 003FF8 0004+00 1/1 0/0 0/0 .sdata2 @5675 */ -SECTION_SDATA2 static f32 lit_5675 = 1.0f / 10.0f; - -/* 804559FC-80455A00 003FFC 0004+00 1/1 0/0 0/0 .sdata2 @5676 */ -SECTION_SDATA2 static f32 lit_5676 = -1500.0f; - -/* 80455A00-80455A04 004000 0004+00 1/1 0/0 0/0 .sdata2 @5677 */ -SECTION_SDATA2 static f32 lit_5677 = -13000.0f; - -/* 80455A04-80455A08 004004 0004+00 1/1 0/0 0/0 .sdata2 @5678 */ -SECTION_SDATA2 static f32 lit_5678 = -4500.0f; - -/* 80455A08-80455A0C 004008 0004+00 1/1 0/0 0/0 .sdata2 @5679 */ -SECTION_SDATA2 static f32 lit_5679 = -45000.0f; - -/* 80455A0C-80455A10 00400C 0004+00 1/1 0/0 0/0 .sdata2 @5680 */ -SECTION_SDATA2 static f32 lit_5680 = -3000.0f; - -/* 80455A10-80455A14 004010 0004+00 1/1 0/0 0/0 .sdata2 @5681 */ -SECTION_SDATA2 static f32 lit_5681 = 900.0f; /* 802B33A8-802B3EAC 2ADCE8 0B04+00 0/0 1/1 0/0 .text processBgmFramework__8Z2SeqMgrFv */ void Z2SeqMgr::processBgmFramework() { @@ -2173,7 +1492,7 @@ void Z2SeqMgr::processBgmFramework() { field_0x84.forceIn(); } else if (link_y < -7500.0f) { volume = Z2Calc::getParamByExp(link_y, -10500.0f, -7500.0f, 0.3f, 0.0f, 1.0f, - Z2Calc::CURVE_SIGN_0); + Z2Calc::CURVE_SIGN_1); field_0x84.move(volume, 0); } break; @@ -2187,7 +1506,7 @@ void Z2SeqMgr::processBgmFramework() { field_0x84.forceOut(); } else if (depth > 0.0f) { volume = Z2Calc::getParamByExp(depth, sUnderWaterDepthMax, 0.0f, 0.3f, 0.1f, 1.0f, - Z2Calc::CURVE_SIGN_0); + Z2Calc::CURVE_SIGN_1); field_0x84.move(volume, 0); } else if (field_0x84.getDest() != 1.0f) { field_0x84.fadeIn(30); @@ -2276,7 +1595,6 @@ void Z2SeqMgr::processBgmFramework() { i_setWindStoneVol(1.0f, 30); } - /* 802B3EAC-802B3F40 2AE7EC 0094+00 0/0 2/2 0/0 .text checkBgmIDPlaying__8Z2SeqMgrFUl */ bool Z2SeqMgr::checkBgmIDPlaying(u32 i_bgmID) { if (getMainBgmID() == i_bgmID) { @@ -2307,7 +1625,6 @@ f32 Z2SeqMgr::getChildTrackVolume(JAISoundHandle* i_handle, int i_track) { return volume; } - /* 802B3FEC-802B4128 2AE92C 013C+00 9/9 2/2 0/0 .text * setChildTrackVolume__8Z2SeqMgrFP14JAISoundHandleifUlff */ void Z2SeqMgr::setChildTrackVolume(JAISoundHandle* i_handle, int i_track, f32 i_volume, @@ -2340,7 +1657,6 @@ void Z2SeqMgr::setChildTrackVolume(JAISoundHandle* i_handle, int i_track, f32 i_ } } - /* 802B4128-802B4164 2AEA68 003C+00 1/1 1/1 0/0 .text resetBattleBgmParams__8Z2SeqMgrFv */ void Z2SeqMgr::resetBattleBgmParams() { @@ -2381,16 +1697,11 @@ void Z2SeqMgr::setBattleSearched(bool i_value) { } } - /* 802B43D0-802B43E0 2AED10 0010+00 3/3 0/0 0/0 .text setBattleDistIgnore__8Z2SeqMgrFb */ void Z2SeqMgr::setBattleDistIgnore(bool i_value) { mFlags.mBattleDistIgnore = i_value; } -/* ############################################################################################## */ -/* 80455A14-80455A18 004014 0004+00 1/1 0/0 0/0 .sdata2 @5913 */ -SECTION_SDATA2 static f32 lit_5913 = 2.0f / 5.0f; - /* 802B43E0-802B4498 2AED20 00B8+00 0/0 2/2 0/0 .text setBattleGhostMute__8Z2SeqMgrFb */ void Z2SeqMgr::setBattleGhostMute(bool i_value) { if (getSubBgmID() == Z2BGM_BATTLE_NORMAL) { @@ -2402,7 +1713,6 @@ void Z2SeqMgr::setBattleGhostMute(bool i_value) { } } - /* 802B4498-802B4844 2AEDD8 03AC+00 0/0 1/1 0/0 .text setBattleDistState__8Z2SeqMgrFUc */ void Z2SeqMgr::setBattleDistState(u8 i_state) { if (!mFlags.mBattleBgmOff && Z2GetSceneMgr()->isSceneExist()) { @@ -2473,7 +1783,6 @@ void Z2SeqMgr::setBattleDistState(u8 i_state) { } } - /* 802B4844-802B4AFC 2AF184 02B8+00 1/1 3/3 1/1 .text setBattleSeqState__8Z2SeqMgrFUc */ void Z2SeqMgr::setBattleSeqState(u8 i_state) { if (!mFlags.mBattleBgmOff && Z2GetSceneMgr()->isSceneExist() && mBattleSeqState != i_state) { @@ -2513,18 +1822,16 @@ void Z2SeqMgr::setBattleSeqState(u8 i_state) { } } - /* 802B4AFC-802B4BD0 2AF43C 00D4+00 0/0 4/4 0/0 .text setBattleLastHit__8Z2SeqMgrFUc */ void Z2SeqMgr::setBattleLastHit(u8 param_0) { if (getSubBgmID() == Z2BGM_BATTLE_NORMAL) { setBattleDistIgnore(true); mSubBgmMaster.move(Z2Param::ENEMY_LASTHIT_MUTE_VOLUME, struct_80450868); - field_0xc1 = struct_80450863; + field_0xc1 = struct_8045086B; mBattleLastHit = param_0; } } - /* 802B4BD0-802B4EB0 2AF510 02E0+00 1/1 0/0 0/0 .text battleBgmFramework__8Z2SeqMgrFv */ void Z2SeqMgr::battleBgmFramework() { if (getSubBgmID() == Z2BGM_BATTLE_NORMAL || getSubBgmID() == Z2BGM_BATTLE_TWILIGHT) { @@ -2570,7 +1877,6 @@ void Z2SeqMgr::battleBgmFramework() { } } - /* 802B4EB0-802B5204 2AF7F0 0354+00 1/1 0/0 0/0 .text startBattleBgm__8Z2SeqMgrFb */ void Z2SeqMgr::startBattleBgm(bool i_fade) { if (!mFlags.mBattleBgmOff && Z2GetSceneMgr()->isSceneExist() @@ -2625,10 +1931,8 @@ void Z2SeqMgr::startBattleBgm(bool i_fade) { } } - /* 802B5204-802B545C 2AFB44 0258+00 3/3 1/1 0/0 .text stopBattleBgm__8Z2SeqMgrFUcUc */ -#ifdef NONMATCHING -// regalloc +// NONMATCHING regalloc void Z2SeqMgr::stopBattleBgm(u8 param_0, u8 param_1) { if (mBattleSeqCount == 0) { u8 count; @@ -2662,11 +1966,6 @@ void Z2SeqMgr::stopBattleBgm(u8 param_0, u8 param_1) { mFlags.mBattleSearched = false; } } -#else -void Z2SeqMgr::stopBattleBgm(u8 param_0, u8 param_1) { - // NONMATCHING -} -#endif /* 802B545C-802B556C 2AFD9C 0110+00 1/1 0/0 0/0 .text fieldBgmStart__8Z2SeqMgrFv */ void Z2SeqMgr::fieldBgmStart() { @@ -2716,7 +2015,6 @@ void Z2SeqMgr::fieldRidingMute() { } } - /* 802B5750-802B579C 2B0090 004C+00 0/0 1/1 0/0 .text onFieldBgmJumpStart__8Z2SeqMgrFv */ void Z2SeqMgr::onFieldBgmJumpStart() { field_0xc8 = getChildTrackVolume(&mMainBgmHandle, 5); @@ -2743,36 +2041,7 @@ void Z2SeqMgr::onFieldBgmJumpEnd() { } } - -/* ############################################################################################## */ -/* 803CA4B4-803CA508 -00001 0054+00 1/1 0/0 0/0 .data @6877 */ -SECTION_DATA static void* lit_6877[21] = { - (void*)(((char*)fieldBgmFramework__8Z2SeqMgrFv) + 0x1F8), - (void*)(((char*)fieldBgmFramework__8Z2SeqMgrFv) + 0x1F8), - (void*)(((char*)fieldBgmFramework__8Z2SeqMgrFv) + 0x1C8), - (void*)(((char*)fieldBgmFramework__8Z2SeqMgrFv) + 0x1D8), - (void*)(((char*)fieldBgmFramework__8Z2SeqMgrFv) + 0x1E8), - (void*)(((char*)fieldBgmFramework__8Z2SeqMgrFv) + 0x1F8), - (void*)(((char*)fieldBgmFramework__8Z2SeqMgrFv) + 0x1F8), - (void*)(((char*)fieldBgmFramework__8Z2SeqMgrFv) + 0x1F8), - (void*)(((char*)fieldBgmFramework__8Z2SeqMgrFv) + 0x1F8), - (void*)(((char*)fieldBgmFramework__8Z2SeqMgrFv) + 0x1F8), - (void*)(((char*)fieldBgmFramework__8Z2SeqMgrFv) + 0x1F8), - (void*)(((char*)fieldBgmFramework__8Z2SeqMgrFv) + 0x1F8), - (void*)(((char*)fieldBgmFramework__8Z2SeqMgrFv) + 0x1F8), - (void*)(((char*)fieldBgmFramework__8Z2SeqMgrFv) + 0x1F8), - (void*)(((char*)fieldBgmFramework__8Z2SeqMgrFv) + 0x1F8), - (void*)(((char*)fieldBgmFramework__8Z2SeqMgrFv) + 0x1F8), - (void*)(((char*)fieldBgmFramework__8Z2SeqMgrFv) + 0x1F8), - (void*)(((char*)fieldBgmFramework__8Z2SeqMgrFv) + 0x1F8), - (void*)(((char*)fieldBgmFramework__8Z2SeqMgrFv) + 0x1F8), - (void*)(((char*)fieldBgmFramework__8Z2SeqMgrFv) + 0x1F8), - (void*)(((char*)fieldBgmFramework__8Z2SeqMgrFv) + 0x1F8), -}; - /* 802B594C-802B5E80 2B028C 0534+00 2/1 0/0 0/0 .text fieldBgmFramework__8Z2SeqMgrFv */ -// Switch table needs to be verified -#ifdef NONMATCHING void Z2SeqMgr::fieldBgmFramework() { if (Z2GetSceneMgr()->isSceneExist() && !Z2GetSceneMgr()->isInDarkness() && (Z2GetSceneMgr()->getCurrentSceneNum() == 0x1e @@ -2939,11 +2208,6 @@ void Z2SeqMgr::fieldBgmFramework() { } } } -#else -void Z2SeqMgr::fieldBgmFramework() { - // NONMATCHING -} -#endif /* 802B5E80-802B5E84 2B07C0 0004+00 1/1 0/0 0/0 .text mbossBgmMuteProcess__8Z2SeqMgrFv */ void Z2SeqMgr::mbossBgmMuteProcess() { @@ -2970,6 +2234,3 @@ void Z2SeqMgr::taktModeMute() { void Z2SeqMgr::taktModeMuteOff() { mBgmPause.fadeIn(10); } - - -/* 8039BA08-8039BA08 028068 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file diff --git a/src/d/actor/d_a_b_ds.cpp b/src/d/actor/d_a_b_ds.cpp index ece488e3e6..2895694e25 100644 --- a/src/d/actor/d_a_b_ds.cpp +++ b/src/d/actor/d_a_b_ds.cpp @@ -76,323 +76,6 @@ enum daB_DS_head_Joint { DS_HEAD_JNT_JAW, }; -// -// Forward References: -// - -extern "C" void __ct__12daB_DS_HIO_cFv(); -extern "C" void ctrlJoint__8daB_DS_cFP8J3DJointP8J3DModel(); -extern "C" void JointCallBack__8daB_DS_cFP8J3DJointi(); -extern "C" void draw__8daB_DS_cFv(); -extern "C" static void daB_DS_Draw__FP8daB_DS_c(); -extern "C" void setBck__8daB_DS_cFiUcff(); -extern "C" void setActionMode__8daB_DS_cFii(); -extern "C" void mSmokeSet__8daB_DS_cFv(); -extern "C" void mHeadAngle_Clear__8daB_DS_cFv(); -extern "C" void HandHitSoundSet__8daB_DS_cFb(); -extern "C" void handSPosSet__8daB_DS_cFi(); -extern "C" void hand_smokeSet__8daB_DS_cFUc(); -extern "C" void mZsMoveChk__8daB_DS_cFv(); -extern "C" void mZsMoveChk_Guard__8daB_DS_cFv(); -extern "C" void mTrapScale__8daB_DS_cFv(); -extern "C" void mClearTrap__8daB_DS_cFb(); -extern "C" void mCreateTrap__8daB_DS_cFb(); -extern "C" void mChangeVer2__8daB_DS_cFv(); -extern "C" void damage_check__8daB_DS_cFv(); -extern "C" void neck_set__8daB_DS_cFv(); -extern "C" void mCutTypeCheck__8daB_DS_cFv(); -extern "C" void startDemoCheck__8daB_DS_cFv(); -extern "C" void setYoMessage__8daB_DS_cFi(); -extern "C" void doYoMessage__8daB_DS_cFv(); -extern "C" void executeOpeningDemo__8daB_DS_cFv(); -extern "C" void setGlobalSRTMatrix__14JPABaseEmitterFPA4_Cf(); -extern "C" static void dComIfGp_particle_set__FUlUsPC4cXyzPC5csXyzPC4cXyz(); -extern "C" void abs__4cXyzCFv(); -extern "C" void isStop__13mDoExt_morf_cFv(); -extern "C" static void dComIfGp_particle_set__FUsPC4cXyzPC5csXyzPC4cXyz(); -extern "C" void mHandBreathChk__8daB_DS_cFv(); -extern "C" void executeWait__8daB_DS_cFv(); -extern "C" void executeCircle__8daB_DS_cFv(); -extern "C" void mBreakBoneSUB__8daB_DS_cFv(); -extern "C" void damageSet__8daB_DS_cFv(); -extern "C" void damageHitCamera__8daB_DS_cFv(); -extern "C" void damageDownCheck__8daB_DS_cFv(); -extern "C" void executeDamage__8daB_DS_cFv(); -extern "C" void executeEtcDamage__8daB_DS_cFv(); -extern "C" void breath_smokeSet__8daB_DS_cFv(); -extern "C" void executeBreathAttack__8daB_DS_cFv(); -extern "C" void executeHandAttack__8daB_DS_cFv(); -extern "C" void executeBreathSearch__8daB_DS_cFv(); -extern "C" void executeBattle2OpeningDemo__8daB_DS_cFv(); -extern "C" void mFlyBMove__8daB_DS_cFf(); -extern "C" void mFuwafuwaSet__8daB_DS_cFb(); -extern "C" void mBattle2BreathFireSet__8daB_DS_cFUl(); -extern "C" void mNeckAngleSet__8daB_DS_cFv(); -extern "C" void mSetFirstPos__8daB_DS_cFv(); -extern "C" void mChkScreenIn__8daB_DS_cFv(); -extern "C" void mRailInOutCheck__8daB_DS_cFv(); -extern "C" void executeBattle2Wait__8daB_DS_cFv(); -extern "C" void mBattle2MoveFSet__8daB_DS_cFv(); -extern "C" void executeBattle2FMove__8daB_DS_cFv(); -extern "C" void executeBattle2Tired__8daB_DS_cFv(); -extern "C" void executeBattle2Damage__8daB_DS_cFv(); -extern "C" void mDeadMove__8daB_DS_cFv(); -extern "C" void executeBattle2Dead__8daB_DS_cFv(); -extern "C" void executeBullet__8daB_DS_cFv(); -extern "C" void mBulletAction__8daB_DS_cFv(); -extern "C" void mSoundSE_Set__8daB_DS_cFv(); -extern "C" void action__8daB_DS_cFv(); -extern "C" void mtx_set__8daB_DS_cFv(); -extern "C" void cc_set__8daB_DS_cFv(); -extern "C" void cc_etc_set__8daB_DS_cFv(); -extern "C" void mBattle2Action__8daB_DS_cFv(); -extern "C" void mBattle2_spinner_damage_check__8daB_DS_cFv(); -extern "C" void mBattle2_damage_check__8daB_DS_cFv(); -extern "C" void mBattle2_mtx_set__8daB_DS_cFv(); -extern "C" void mBattle2_cc_etc_set__8daB_DS_cFv(); -extern "C" void mBattle2_cc_set__8daB_DS_cFv(); -extern "C" void execute__8daB_DS_cFv(); -extern "C" static void daB_DS_Execute__FP8daB_DS_c(); -extern "C" static bool daB_DS_IsDelete__FP8daB_DS_c(); -extern "C" void _delete__8daB_DS_cFv(); -extern "C" static void daB_DS_Delete__FP8daB_DS_c(); -extern "C" void CreateHeap__8daB_DS_cFv(); -extern "C" void __dt__12J3DFrameCtrlFv(); -extern "C" static void useHeapInit__FP10fopAc_ac_c(); -extern "C" void create__8daB_DS_cFv(); -extern "C" void __ct__8daB_DS_cFv(); -extern "C" void __dt__8cM3dGCylFv(); -extern "C" void __ct__8dCcD_SphFv(); -extern "C" void __dt__8dCcD_SphFv(); -extern "C" void __dt__8cM3dGSphFv(); -extern "C" void __dt__8cM3dGAabFv(); -extern "C" void __dt__10dCcD_GSttsFv(); -extern "C" void __dt__12dBgS_ObjAcchFv(); -extern "C" void __dt__12dBgS_AcchCirFv(); -extern "C" void __ct__4cXyzFv(); -extern "C" static void daB_DS_Create__FP8daB_DS_c(); -extern "C" void __dt__10cCcD_GSttsFv(); -extern "C" void __dt__12daB_DS_HIO_cFv(); -extern "C" void func_805DC8E4(void* _this, int*); -extern "C" void func_805DC900(void* _this, u8*); -extern "C" void __sinit_d_a_b_ds_cpp(); -extern "C" static void func_805DC958(); -extern "C" static void func_805DC960(); -extern "C" void __dt__4cXyzFv(); -extern "C" void changeDemoPos0__9daPy_py_cFPC4cXyz(); -extern "C" void __as__4cXyzFRC4cXyz(); -extern "C" void changeDemoMode__9daPy_py_cFUliis(); -extern "C" void set__4cXyzFRC3Vec(); -extern "C" void __ct__4cXyzFRC4cXyz(); -extern "C" void zero__4cXyzFv(); -extern "C" extern char const* const d_a_b_ds__stringBase0; -extern void* __vt__12dBgS_AcchCir[3]; -extern void* __vt__10cCcD_GStts[3]; -extern void* __vt__10dCcD_GStts[3]; -extern void* __vt__8cM3dGCyl[3]; -extern void* __vt__8cM3dGSph[3]; -extern void* __vt__8cM3dGAab[3]; -extern void* __vt__12dBgS_ObjAcch[9]; -extern void* __vt__12J3DFrameCtrl[3]; -extern void* __vt__12daB_DS_HIO_c[3]; - -// -// External References: -// - -extern "C" void mDoMtx_XrotM__FPA4_fs(); -extern "C" void mDoMtx_YrotS__FPA4_fs(); -extern "C" void mDoMtx_YrotM__FPA4_fs(); -extern "C" void transS__14mDoMtx_stack_cFRC4cXyz(); -extern "C" void transM__14mDoMtx_stack_cFfff(); -extern "C" void scaleM__14mDoMtx_stack_cFfff(); -extern "C" void ZXYrotM__14mDoMtx_stack_cFRC5csXyz(); -extern "C" void play__14mDoExt_baseAnmFv(); -extern "C" void init__13mDoExt_btkAnmFP16J3DMaterialTableP19J3DAnmTextureSRTKeyiifss(); -extern "C" void entry__13mDoExt_btkAnmFP16J3DMaterialTablef(); -extern "C" void init__13mDoExt_brkAnmFP16J3DMaterialTableP15J3DAnmTevRegKeyiifss(); -extern "C" void entry__13mDoExt_brkAnmFP16J3DMaterialTablef(); -extern "C" void mDoExt_modelUpdateDL__FP8J3DModel(); -extern "C" void -__ct__16mDoExt_McaMorfSOFP12J3DModelDataP25mDoExt_McaMorfCallBack1_cP25mDoExt_McaMorfCallBack2_cP15J3DAnmTransformifiiP10Z2CreatureUlUl(); -extern "C" void setAnm__16mDoExt_McaMorfSOFP15J3DAnmTransformiffff(); -extern "C" void play__16mDoExt_McaMorfSOFUlSc(); -extern "C" void updateDL__16mDoExt_McaMorfSOFv(); -extern "C" void entryDL__16mDoExt_McaMorfSOFv(); -extern "C" void modelCalc__16mDoExt_McaMorfSOFv(); -extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void fopAcM_SearchByID__FUiPP10fopAc_ac_c(); -extern "C" void fopAcM_delete__FP10fopAc_ac_c(); -extern "C" void fopAcM_create__FsUlPC4cXyziPC5csXyzPC4cXyzSc(); -extern "C" void fopAcM_createChild__FsUiUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i(); -extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl(); -extern "C" void fopAcM_SetMin__FP10fopAc_ac_cfff(); -extern "C" void fopAcM_SetMax__FP10fopAc_ac_cfff(); -extern "C" void fopAcM_posMove__FP10fopAc_ac_cPC4cXyz(); -extern "C" void fopAcM_posMoveF__FP10fopAc_ac_cPC4cXyz(); -extern "C" void fopAcM_searchActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c(); -extern "C" void fopAcM_searchActorDistance__FPC10fopAc_ac_cPC10fopAc_ac_c(); -extern "C" void fopAcM_orderPotentialEvent__FP10fopAc_ac_cUsUsUs(); -extern "C" void fopAcM_createItemForBoss__FPC4cXyziiPC5csXyzPC4cXyzffi(); -extern "C" void fopAcM_createDisappear__FPC10fopAc_ac_cPC4cXyzUcUcUc(); -extern "C" void fopMsgM_SearchByID__FUi(); -extern "C" void fopMsgM_messageSet__FUlUl(); -extern "C" void fopMsgM_messageSetDemo__FUl(); -extern "C" void dStage_changeScene__FifUlScsi(); -extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfGp_getReverb__Fi(); -extern "C" void dComIfGs_onStageBossEnemy__Fi(); -extern "C" void dComIfGs_onZoneSwitch__Fii(); -extern "C" void dComIfGs_offZoneSwitch__Fii(); -extern "C" void dComIfGs_isZoneSwitch__Fii(); -extern "C" void dComIfGs_onOneZoneSwitch__Fii(); -extern "C" void -dComIfGd_setShadow__FUlScP8J3DModelP4cXyzffffR13cBgS_PolyInfoP12dKy_tevstr_csfP9_GXTexObj(); -extern "C" void isDungeonItem__12dSv_memBit_cCFi(); -extern "C" void onEventBit__11dSv_event_cFUs(); -extern "C" void setRoom__13dSv_restart_cFRC4cXyzsSc(); -extern "C" void onSwitch__10dSv_info_cFii(); -extern "C" void offSwitch__10dSv_info_cFii(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void reset__14dEvt_control_cFv(); -extern "C" void dEv_noFinishSkipProc__FPvi(); -extern "C" void setSkipProc__14dEvt_control_cFPvPFPvi_ii(); -extern "C" void getEmitter__Q213dPa_control_c7level_cFUl(); -extern "C" void setHitMark__13dPa_control_cFUsP10fopAc_ac_cPC4cXyzPC5csXyzPC4cXyzUl(); -extern "C" void -set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf(); -extern "C" void -set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf(); -extern "C" void dPath_GetRoomPath__Fii(); -extern "C" void StartShock__12dVibration_cFii4cXyz(); -extern "C" void StartQuake__12dVibration_cFii4cXyz(); -extern "C" void StopQuake__12dVibration_cFi(); -extern "C" void LineCross__4cBgSFP11cBgS_LinChk(); -extern "C" void GroundCross__4cBgSFP11cBgS_GndChk(); -extern "C" void __ct__12dBgS_AcchCirFv(); -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 SetGroundUpY__9dBgS_AcchFf(); -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 Set__11dBgS_LinChkFPC4cXyzPC4cXyzPC10fopAc_ac_c(); -extern "C" void SetObj__16dBgS_PolyPassChkFv(); -extern "C" void __ct__10dCcD_GSttsFv(); -extern "C" void Move__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 ChkTgHit__12dCcD_GObjInfFv(); -extern "C" void GetTgHitObj__12dCcD_GObjInfFv(); -extern "C" void getHitSeID__12dCcD_GObjInfFUci(); -extern "C" void Set__8dCcD_CylFRC11dCcD_SrcCyl(); -extern "C" void Set__8dCcD_SphFRC11dCcD_SrcSph(); -extern "C" void def_se_set__FP10Z2CreatureP8cCcD_ObjUlP10fopAc_ac_c(); -extern "C" void cc_at_check__FP10fopAc_ac_cP11dCcU_AtInfo(); -extern "C" void Start__9dCamera_cFv(); -extern "C" void Stop__9dCamera_cFv(); -extern "C" void SetTrimSize__9dCamera_cFl(); -extern "C" void Set__9dCamera_cF4cXyz4cXyz(); -extern "C" void Set__9dCamera_cF4cXyz4cXyzfs(); -extern "C" void Reset__9dCamera_cF4cXyz4cXyz(); -extern "C" void StartBlure__9dCamera_cFiP10fopAc_ac_cff(); -extern "C" void dCam_getBody__Fv(); -extern "C" void Eye__9dCamera_cFv(); -extern "C" void Center__9dCamera_cFv(); -extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void dKy_change_colpat__FUc(); -extern "C" void dKy_custom_colset__FUcUcf(); -extern "C" void __ct__10dMsgFlow_cFv(); -extern "C" void Set__4cCcSFP8cCcD_Obj(); -extern "C" void __pl__4cXyzCFRC3Vec(); -extern "C" void __mi__4cXyzCFRC3Vec(); -extern "C" void atan2sX_Z__4cXyzCFv(); -extern "C" void atan2sY_XZ__4cXyzCFv(); -extern "C" void cM_rndF__Ff(); -extern "C" void cM_rndFX__Ff(); -extern "C" void SetPos__11cBgS_GndChkFPC4cXyz(); -extern "C" void __dt__13cBgS_PolyInfoFv(); -extern "C" void __dt__8cM3dGCirFv(); -extern "C" void SetC__8cM3dGCylFRC4cXyz(); -extern "C" void SetH__8cM3dGCylFf(); -extern "C" void SetR__8cM3dGCylFf(); -extern "C" void SetC__8cM3dGSphFRC4cXyz(); -extern "C" void SetR__8cM3dGSphFf(); -extern "C" void cLib_addCalc__FPfffff(); -extern "C" void cLib_addCalc2__FPffff(); -extern "C" void cLib_addCalc0__FPfff(); -extern "C" void cLib_addCalcPos__FP4cXyzRC4cXyzfff(); -extern "C" void cLib_addCalcAngleS2__FPssss(); -extern "C" void MtxPosition__FP4cXyzP4cXyz(); -extern "C" void func_80280808(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void bgmStart__8Z2SeqMgrFUlUll(); -extern "C" void bgmStop__8Z2SeqMgrFUll(); -extern "C" void subBgmStart__8Z2SeqMgrFUl(); -extern "C" void subBgmStop__8Z2SeqMgrFv(); -extern "C" void bgmStreamPrepare__8Z2SeqMgrFUl(); -extern "C" void bgmStreamPlay__8Z2SeqMgrFv(); -extern "C" void bgmStreamStop__8Z2SeqMgrFUl(); -extern "C" void changeBgmStatus__8Z2SeqMgrFl(); -extern "C" void setDemoName__11Z2StatusMgrFPc(); -extern "C" void __ct__15Z2CreatureEnemyFv(); -extern "C" void init__15Z2CreatureEnemyFP3VecP3VecUcUc(); -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); -extern "C" void init__12J3DFrameCtrlFs(); -extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void __construct_array(); -extern "C" void _savegpr_19(); -extern "C" void _savegpr_20(); -extern "C" void _savegpr_21(); -extern "C" void _savegpr_22(); -extern "C" void _savegpr_23(); -extern "C" void _savegpr_24(); -extern "C" void _savegpr_25(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_19(); -extern "C" void _restgpr_20(); -extern "C" void _restgpr_21(); -extern "C" void _restgpr_22(); -extern "C" void _restgpr_23(); -extern "C" void _restgpr_24(); -extern "C" void _restgpr_25(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" extern void* __vt__8dCcD_Sph[36]; -extern "C" extern void* __vt__8dCcD_Cyl[36]; -extern "C" extern void* __vt__9dCcD_Stts[11]; -extern "C" extern void* __vt__12cCcD_SphAttr[25]; -extern "C" extern void* __vt__12cCcD_CylAttr[25]; -extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; -extern "C" extern void* __vt__9cCcD_Stts[8]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" u8 mCurrentMtx__6J3DSys[48]; -extern "C" u8 sincosTable___5JMath[65536]; -extern "C" extern u8 struct_80450C98[4]; -extern "C" u8 mParticleTracePCB__13dPa_control_c[4 + 4 /* padding */]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; -extern "C" void __register_global_object(); - -// -// Declarations: -// - /* 805DD248-805DD254 000000 000C+00 4/4 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, @@ -6245,8 +5928,8 @@ cPhs__Step daB_DS_c::create() { daB_DS_c::daB_DS_c() {} /* 805DC834-805DC854 0116F4 0020+00 1/0 0/0 0/0 .text daB_DS_Create__FP8daB_DS_c */ -static void daB_DS_Create(daB_DS_c* param_0) { - // NONMATCHING +static cPhs__Step daB_DS_Create(daB_DS_c* i_this) { + return i_this->create(); } #pragma nosyminline on @@ -6446,4 +6129,4 @@ extern actor_process_profile_definition g_profile_B_DS = { 0x4040000, fopAc_ENEMY_e, fopAc_CULLBOX_CUSTOM_e, -}; \ No newline at end of file +}; diff --git a/src/d/actor/d_a_door_mbossL1.cpp b/src/d/actor/d_a_door_mbossL1.cpp index bb1e2b9e9f..6466a79dfb 100644 --- a/src/d/actor/d_a_door_mbossL1.cpp +++ b/src/d/actor/d_a_door_mbossL1.cpp @@ -12,210 +12,6 @@ #include "f_op/f_op_actor_mng.h" #include "SSystem/SComponent/c_lib.h" #include "SSystem/SComponent/c_math.h" -#include "dol2asm.h" - -// -// Forward References: -// - -extern "C" static void getNowLevel__FP10fopAc_ac_c(); -extern "C" static void searchStop__FPvPv(); -extern "C" static void CheckCreateHeap__FP10fopAc_ac_c(); -extern "C" void calcMtx__13dDoor_stop2_cFP10fopAc_ac_c(); -extern "C" void closeInit__13dDoor_stop2_cFP10fopAc_ac_cUc(); -extern "C" void closeProc__13dDoor_stop2_cFP10fopAc_ac_c(); -extern "C" void openInit__13dDoor_stop2_cFP10fopAc_ac_cUc(); -extern "C" void openProc__13dDoor_stop2_cFP10fopAc_ac_c(); -extern "C" void create__13dDoor_stop2_cFP12J3DModelData(); -extern "C" void draw__13dDoor_stop2_cFP10fopAc_ac_c(); -extern "C" void getHeight__13dDoor_stop2_cFv(); -extern "C" void getAnmArcName__12daMBdoorL1_cFv(); -extern "C" void getArcName__12daMBdoorL1_cFv(); -extern "C" void getAlwaysArcName__12daMBdoorL1_cFv(); -extern "C" void getDoorType__12daMBdoorL1_cFv(); -extern "C" void getOpenAnm__12daMBdoorL1_cFv(); -extern "C" void getCloseAnm__12daMBdoorL1_cFv(); -extern "C" void getBmd__12daMBdoorL1_cFv(); -extern "C" void getBtk__12daMBdoorL1_cFv(); -extern "C" void getDzb__12daMBdoorL1_cFv(); -extern "C" void getDoorModelData__12daMBdoorL1_cFv(); -extern "C" void CreateHeap__12daMBdoorL1_cFv(); -extern "C" void __dt__12J3DFrameCtrlFv(); -extern "C" void calcMtx__12daMBdoorL1_cFv(); -extern "C" void createKey__12daMBdoorL1_cFv(); -extern "C" void CreateInit__12daMBdoorL1_cFv(); -extern "C" void create__12daMBdoorL1_cFv(); -extern "C" void __dt__12dBgS_AcchCirFv(); -extern "C" void __dt__12dBgS_ObjAcchFv(); -extern "C" void getDemoAction__12daMBdoorL1_cFv(); -extern "C" void demoProc__12daMBdoorL1_cFv(); -extern "C" void openInit__12daMBdoorL1_cFv(); -extern "C" void openProc__12daMBdoorL1_cFv(); -extern "C" void openEnd__12daMBdoorL1_cFv(); -extern "C" void closeInit__12daMBdoorL1_cFv(); -extern "C" void closeProc__12daMBdoorL1_cFv(); -extern "C" void closeEnd__12daMBdoorL1_cFv(); -extern "C" void unlockInit__12daMBdoorL1_cFv(); -extern "C" void unlock__12daMBdoorL1_cFv(); -extern "C" void openInitKnob__12daMBdoorL1_cFi(); -extern "C" void openProcKnob__12daMBdoorL1_cFi(); -extern "C" void openEndKnob__12daMBdoorL1_cFi(); -extern "C" void calcGoal__12daMBdoorL1_cFP4cXyzi(); -extern "C" void setAngle__12daMBdoorL1_cFv(); -extern "C" void setAngleQuickly__12daMBdoorL1_cFv(); -extern "C" void adjustmentProc__12daMBdoorL1_cFv(); -extern "C" void setPos__12daMBdoorL1_cFv(); -extern "C" void setStart__12daMBdoorL1_cFff(); -extern "C" void __dt__14dBgS_ObjGndChkFv(); -extern "C" void smokeInit2__12daMBdoorL1_cFv(); -extern "C" void checkArea__12daMBdoorL1_cFv(); -extern "C" void checkFront__12daMBdoorL1_cFv(); -extern "C" void checkOpen__12daMBdoorL1_cFv(); -extern "C" void checkFrontKey__12daMBdoorL1_cFv(); -extern "C" bool checkBackKey__12daMBdoorL1_cFv(); -extern "C" void checkFrontStop__12daMBdoorL1_cFv(); -extern "C" void checkBackStop__12daMBdoorL1_cFv(); -extern "C" void checkFrontSw__12daMBdoorL1_cFv(); -extern "C" void checkBackSw__12daMBdoorL1_cFv(); -extern "C" void checkStopOpen__12daMBdoorL1_cFv(); -extern "C" void startDemoEnd__12daMBdoorL1_cFv(); -extern "C" void checkMBossRoom__12daMBdoorL1_cFv(); -extern "C" void checkStopClose__12daMBdoorL1_cFv(); -extern "C" void checkMakeStop__12daMBdoorL1_cFv(); -extern "C" void checkMakeKey__12daMBdoorL1_cFv(); -extern "C" bool actionWait__12daMBdoorL1_cFv(); -extern "C" void actionCloseWait__12daMBdoorL1_cFv(); -extern "C" void actionStopClose__12daMBdoorL1_cFv(); -extern "C" void actionDemo__12daMBdoorL1_cFv(); -extern "C" void actionOpen__12daMBdoorL1_cFv(); -extern "C" void actionInit__12daMBdoorL1_cFv(); -extern "C" void actionStartDemo__12daMBdoorL1_cFv(); -extern "C" void execute__12daMBdoorL1_cFv(); -extern "C" void draw__12daMBdoorL1_cFv(); -extern "C" void draw_sub0__12daMBdoorL1_cFv(); -extern "C" void draw_sub1__12daMBdoorL1_cFv(); -extern "C" void Delete__12daMBdoorL1_cFv(); -extern "C" static void daMBdoorL1_Draw__FP12daMBdoorL1_c(); -extern "C" static void daMBdoorL1_Execute__FP12daMBdoorL1_c(); -extern "C" static void daMBdoorL1_Delete__FP12daMBdoorL1_c(); -extern "C" static void daMBdoorL1_Create__FP10fopAc_ac_c(); -extern "C" void func_8067750C(void* _this, int*); -extern "C" static void func_80677528(); -extern "C" static void func_80677530(); -extern "C" static void func_80677538(); -extern "C" static void func_80677540(); -extern "C" static void func_80677548(); -extern "C" extern char const* const d_a_door_mbossL1__stringBase0; - -// -// External References: -// - -extern "C" void mDoMtx_YrotS__FPA4_fs(); -extern "C" void mDoMtx_YrotM__FPA4_fs(); -extern "C" void transS__14mDoMtx_stack_cFRC4cXyz(); -extern "C" void transM__14mDoMtx_stack_cFRC4cXyz(); -extern "C" void scaleM__14mDoMtx_stack_cFfff(); -extern "C" void play__14mDoExt_baseAnmFv(); -extern "C" void init__13mDoExt_btkAnmFP16J3DMaterialTableP19J3DAnmTextureSRTKeyiifss(); -extern "C" void entry__13mDoExt_btkAnmFP16J3DMaterialTablef(); -extern "C" void init__13mDoExt_bckAnmFP15J3DAnmTransformiifssb(); -extern "C" void entry__13mDoExt_bckAnmFP12J3DModelDataf(); -extern "C" void mDoExt_modelUpdateDL__FP8J3DModel(); -extern "C" void mDoExt_btkAnmRemove__FP12J3DModelData(); -extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void fopAc_IsActor__FPv(); -extern "C" void fopAcIt_Judge__FPFPvPv_PvPv(); -extern "C" void fopAcM_createChildFromOffset__FsUiUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i(); -extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl(); -extern "C" void fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs(); -extern "C" void gndCheck__11fopAcM_gc_cFPC4cXyz(); -extern "C" void waterCheck__11fopAcM_wt_cFPC4cXyz(); -extern "C" void fpcEx_Search__FPFPvPv_PvPv(); -extern "C" void fpcSch_JudgeByID__FPvPv(); -extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfGp_getReverb__Fi(); -extern "C" void dComIfG_getStageRes__FPCc(); -extern "C" void setRoom__13dSv_restart_cFRC4cXyzsSc(); -extern "C" void onSwitch__10dSv_info_cFii(); -extern "C" void isSwitch__10dSv_info_cCFii(); -extern "C" void getFrontOption__13door_param2_cFP10fopAc_ac_c(); -extern "C" void getBackOption__13door_param2_cFP10fopAc_ac_c(); -extern "C" void getFRoomNo__13door_param2_cFP10fopAc_ac_c(); -extern "C" void getSwbit__13door_param2_cFP10fopAc_ac_c(); -extern "C" void getSwbit2__13door_param2_cFP10fopAc_ac_c(); -extern "C" void getSwbit3__13door_param2_cFP10fopAc_ac_c(); -extern "C" void getEventNo__13door_param2_cFP10fopAc_ac_c(); -extern "C" void getExitNo__13door_param2_cFP10fopAc_ac_c(); -extern "C" void getMFLightInf__13door_param2_cFP10fopAc_ac_c(); -extern "C" void getMBLightInf__13door_param2_cFP10fopAc_ac_c(); -extern "C" void getRes__14dRes_control_cFPCcPCcP11dRes_info_ci(); -extern "C" void reset__14dEvt_control_cFv(); -extern "C" void getEventIdx__16dEvent_manager_cFPCcUcl(); -extern "C" void getEventIdx__16dEvent_manager_cFP10fopAc_ac_cUc(); -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 getMySubstanceP__16dEvent_manager_cFiPCci(); -extern "C" void cutEnd__16dEvent_manager_cFi(); -extern "C" void setGoal__16dEvent_manager_cFP4cXyz(); -extern "C" void -set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf(); -extern "C" void -setPoly__13dPa_control_cFUsR13cBgS_PolyInfoPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyziP18dPa_levelEcallBackScPC4cXyz(); -extern "C" void StartShock__12dVibration_cFii4cXyz(); -extern "C" void Release__4cBgSFP9dBgW_Base(); -extern "C" void Regist__4dBgSFP9dBgW_BaseP10fopAc_ac_c(); -extern "C" void __ct__12dBgS_AcchCirFv(); -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 __dt__11dBgS_GndChkFv(); -extern "C" void SetObj__16dBgS_PolyPassChkFv(); -extern "C" void Set__4cBgWFP6cBgD_tUlPA3_A4_f(); -extern "C" void __ct__4dBgWFv(); -extern "C" void Move__4dBgWFv(); -extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void __mi__4cXyzCFRC3Vec(); -extern "C" void __ct__5csXyzFsss(); -extern "C" void __dt__13cBgS_PolyInfoFv(); -extern "C" void ChkUsed__9cBgW_BgIdCFv(); -extern "C" void __dt__8cM3dGCirFv(); -extern "C" void cLib_addCalcAngleS2__FPssss(); -extern "C" void cLib_chaseF__FPfff(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); -extern "C" void init__12J3DFrameCtrlFs(); -extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void __ptmf_scall(); -extern "C" void _savegpr_20(); -extern "C" void _savegpr_23(); -extern "C" void _savegpr_25(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_20(); -extern "C" void _restgpr_23(); -extern "C" void _restgpr_25(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" u8 sincosTable___5JMath[65536]; -extern "C" f32 mGroundY__11fopAcM_gc_c; -extern "C" f32 mWaterY__11fopAcM_wt_c[1 + 1 /* padding */]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; -extern "C" extern u8 data_80677D38[4]; - -// -// Declarations: -// /* 80672838-80672844 000078 000C+00 15/15 0/0 0/0 .text getNowLevel__FP10fopAc_ac_c */ static int getNowLevel(fopAc_ac_c* i_this) { @@ -251,51 +47,28 @@ void dDoor_stop2_c::calcMtx(fopAc_ac_c* param_1) { mModel->setBaseTRMtx(mDoMtx_stack_c::get()); } -/* ############################################################################################## */ /* 80677558-80677568 000000 000D+03 19/19 0/0 0/0 .rodata l_staff_name */ -SECTION_RODATA static char const l_staff_name[13] = "SHUTTER_DOOR"; -COMPILER_STRIP_GATE(0x80677558, &l_staff_name); +static char const l_staff_name[13] = "SHUTTER_DOOR"; /* 80677568-80677580 000010 0018+00 1/1 0/0 0/0 .rodata l_door_heap_size */ -SECTION_RODATA static u16 const l_door_heap_size[12] = { +static u16 const l_door_heap_size[12] = { 0x0000, 0x0AE0, 0x1820, 0x1180, 0x1820, 0x1310, 0x0AE0, 0x0AE0, 0x13A0, 0x1820, 0x0AE0, 0x1310, }; -COMPILER_STRIP_GATE(0x80677568, &l_door_heap_size); /* 80677580-80677598 000028 0018+00 1/1 0/0 0/0 .rodata l_stop_heap_size */ -SECTION_RODATA static u16 const l_stop_heap_size[12] = { +static u16 const l_stop_heap_size[12] = { 0x0000, 0x0000, 0x0800, 0x0000, 0x1540, 0x1BD0, 0x0EA0, 0x0800, 0x0EB0, 0x0800, 0x0800, 0x1BD0, }; -COMPILER_STRIP_GATE(0x80677580, &l_stop_heap_size); - -/* 80677598-8067759C 000040 0004+00 3/16 0/0 0/0 .rodata @3740 */ -SECTION_RODATA static u8 const lit_3740[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80677598, &lit_3740); - -/* 8067759C-806775A0 000044 0004+00 1/9 0/0 0/0 .rodata @3741 */ -SECTION_RODATA static f32 const lit_3741 = 1.0f; -COMPILER_STRIP_GATE(0x8067759C, &lit_3741); - -/* 806775A0-806775A4 000048 0004+00 1/7 0/0 0/0 .rodata @3742 */ -SECTION_RODATA static f32 const lit_3742 = -1.0f; -COMPILER_STRIP_GATE(0x806775A0, &lit_3742); /* 80677970-8067797C 000000 000C+00 2/2 0/0 0/0 .data cNullVec__6Z2Calc */ -SECTION_DATA static u8 cNullVec__6Z2Calc[12] = { +static u8 cNullVec__6Z2Calc[12] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; /* 8067797C-80677990 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 */] = { +static u32 lit_1787[1 + 4 /* padding */] = { 0x02000201, /* padding */ 0x40080000, @@ -303,12 +76,9 @@ SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = { 0x3FE00000, 0x00000000, }; -#pragma pop /* 80677990-806779BC -00001 002C+00 0/1 0/0 0/0 .data l_door_open_demo */ -#pragma push -#pragma force_active on -SECTION_DATA static char* l_door_open_demo[11] = { +static char* l_door_open_demo[11] = { NULL, "DEFAULT_MBS_SHUTTER_L1_F", "DEFAULT_MBS_SHUTTER_L1_F", @@ -321,12 +91,9 @@ SECTION_DATA static char* l_door_open_demo[11] = { "DEFAULT_MBS_SHUTTER_L1_F", "DEFAULT_MBS_SHUTTER_L7_F", }; -#pragma pop /* 806779BC-806779E8 -00001 002C+00 0/1 0/0 0/0 .data l_door_open_demoB */ -#pragma push -#pragma force_active on -SECTION_DATA static char* l_door_open_demoB[11] = { +static char* l_door_open_demoB[11] = { NULL, "DEFAULT_MBS_SHUTTER_L1_B", "DEFAULT_MBS_SHUTTER_L1_B", @@ -339,34 +106,14 @@ SECTION_DATA static char* l_door_open_demoB[11] = { "DEFAULT_MBS_SHUTTER_L1_B", "DEFAULT_MBS_SHUTTER_L7_B", }; -#pragma pop /* 806779E8-806779F8 -00001 0010+00 0/1 0/0 0/0 .data l_door_open_demoLv5 */ -#pragma push -#pragma force_active on -SECTION_DATA static char* l_door_open_demoLv5[4] = { +static char* l_door_open_demoLv5[4] = { "DEFAULT_MBS_KNOB_OPEN_B", "DEFAULT_MBS_KNOB_OPEN_F", "DEFAULT_MBS_KNOB_NOTOPEN_B", "DEFAULT_MBS_KNOB_NOTOPEN_F", }; -#pragma pop - -/* 806779F8-80677A28 -00001 0030+00 1/1 0/0 0/0 .data @3743 */ -SECTION_DATA static void* lit_3743[12] = { - (void*)(((char*)closeInit__13dDoor_stop2_cFP10fopAc_ac_cUc) + 0x15C), - (void*)(((char*)closeInit__13dDoor_stop2_cFP10fopAc_ac_cUc) + 0x70), - (void*)(((char*)closeInit__13dDoor_stop2_cFP10fopAc_ac_cUc) + 0xC0), - (void*)(((char*)closeInit__13dDoor_stop2_cFP10fopAc_ac_cUc) + 0x15C), - (void*)(((char*)closeInit__13dDoor_stop2_cFP10fopAc_ac_cUc) + 0xC0), - (void*)(((char*)closeInit__13dDoor_stop2_cFP10fopAc_ac_cUc) + 0xC0), - (void*)(((char*)closeInit__13dDoor_stop2_cFP10fopAc_ac_cUc) + 0xC0), - (void*)(((char*)closeInit__13dDoor_stop2_cFP10fopAc_ac_cUc) + 0xC0), - (void*)(((char*)closeInit__13dDoor_stop2_cFP10fopAc_ac_cUc) + 0x110), - (void*)(((char*)closeInit__13dDoor_stop2_cFP10fopAc_ac_cUc) + 0x15C), - (void*)(((char*)closeInit__13dDoor_stop2_cFP10fopAc_ac_cUc) + 0xC0), - (void*)(((char*)closeInit__13dDoor_stop2_cFP10fopAc_ac_cUc) + 0xC0), -}; /* 80672970-80672AE4 0001B0 0174+00 3/2 0/0 0/0 .text closeInit__13dDoor_stop2_cFP10fopAc_ac_cUc */ @@ -394,22 +141,6 @@ void dDoor_stop2_c::closeInit(fopAc_ac_c* param_1, u8 param_2) { } } - -/* ############################################################################################## */ -/* 806775A4-806775A8 00004C 0004+00 0/1 0/0 0/0 .rodata @3752 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3752 = 60.0f; -COMPILER_STRIP_GATE(0x806775A4, &lit_3752); -#pragma pop - -/* 806775A8-806775AC 000050 0004+00 0/1 0/0 0/0 .rodata @3753 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3753 = 6.0f; -COMPILER_STRIP_GATE(0x806775A8, &lit_3753); -#pragma pop - /* 80672AE4-80672B70 000324 008C+00 2/2 0/0 0/0 .text closeProc__13dDoor_stop2_cFP10fopAc_ac_c */ int dDoor_stop2_c::closeProc(fopAc_ac_c* param_1) { if (field_0xb == 0) { @@ -423,24 +154,6 @@ int dDoor_stop2_c::closeProc(fopAc_ac_c* param_1) { return 0; } - -/* ############################################################################################## */ -/* 80677A28-80677A58 -00001 0030+00 1/1 0/0 0/0 .data @3792 */ -SECTION_DATA static void* lit_3792[12] = { - (void*)(((char*)openInit__13dDoor_stop2_cFP10fopAc_ac_cUc) + 0x150), - (void*)(((char*)openInit__13dDoor_stop2_cFP10fopAc_ac_cUc) + 0x64), - (void*)(((char*)openInit__13dDoor_stop2_cFP10fopAc_ac_cUc) + 0xB4), - (void*)(((char*)openInit__13dDoor_stop2_cFP10fopAc_ac_cUc) + 0x150), - (void*)(((char*)openInit__13dDoor_stop2_cFP10fopAc_ac_cUc) + 0xB4), - (void*)(((char*)openInit__13dDoor_stop2_cFP10fopAc_ac_cUc) + 0xB4), - (void*)(((char*)openInit__13dDoor_stop2_cFP10fopAc_ac_cUc) + 0xB4), - (void*)(((char*)openInit__13dDoor_stop2_cFP10fopAc_ac_cUc) + 0xB4), - (void*)(((char*)openInit__13dDoor_stop2_cFP10fopAc_ac_cUc) + 0x104), - (void*)(((char*)openInit__13dDoor_stop2_cFP10fopAc_ac_cUc) + 0x150), - (void*)(((char*)openInit__13dDoor_stop2_cFP10fopAc_ac_cUc) + 0xB4), - (void*)(((char*)openInit__13dDoor_stop2_cFP10fopAc_ac_cUc) + 0xB4), -}; - /* 80672B70-80672CD8 0003B0 0168+00 2/1 0/0 0/0 .text openInit__13dDoor_stop2_cFP10fopAc_ac_cUc */ void dDoor_stop2_c::openInit(fopAc_ac_c* param_1, u8 param_2) { field_0x4 = 0; @@ -466,7 +179,6 @@ void dDoor_stop2_c::openInit(fopAc_ac_c* param_1, u8 param_2) { } } - /* 80672CD8-80672D80 000518 00A8+00 1/1 0/0 0/0 .text openProc__13dDoor_stop2_cFP10fopAc_ac_c */ int dDoor_stop2_c::openProc(fopAc_ac_c* param_1) { if (field_0xb == 0) { @@ -502,11 +214,6 @@ void dDoor_stop2_c::draw(fopAc_ac_c* param_1) { } } -/* ############################################################################################## */ -/* 806775B4-806775B8 00005C 0004+00 2/3 0/0 0/0 .rodata @3834 */ -SECTION_RODATA static f32 const lit_3834 = 300.0f; -COMPILER_STRIP_GATE(0x806775B4, &lit_3834); - /* 80672E44-80672E70 000684 002C+00 2/2 0/0 0/0 .text getHeight__13dDoor_stop2_cFv */ f32 dDoor_stop2_c::getHeight() { if (mModel != NULL) { @@ -531,35 +238,7 @@ char* daMBdoorL1_c::getAnmArcName() { return "DoorT00"; } -/* ############################################################################################## */ -/* 80677660-80677660 000108 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8067779E = "L1MBdoor"; -SECTION_DEAD static char const* const stringBase_806777A7 = "L3MBdoor"; -SECTION_DEAD static char const* const stringBase_806777B0 = "L5MBdoor"; -SECTION_DEAD static char const* const stringBase_806777B9 = "L8MBdoor"; -SECTION_DEAD static char const* const stringBase_806777C2 = "L7MBdoor"; -#pragma pop - -/* 80677A58-80677A88 -00001 0030+00 1/1 0/0 0/0 .data @3859 */ -SECTION_DATA static void* lit_3859[12] = { - (void*)(((char*)getArcName__12daMBdoorL1_cFv) + 0x30), - (void*)(((char*)getArcName__12daMBdoorL1_cFv) + 0x30), - (void*)(((char*)getArcName__12daMBdoorL1_cFv) + 0x30), - (void*)(((char*)getArcName__12daMBdoorL1_cFv) + 0x40), - (void*)(((char*)getArcName__12daMBdoorL1_cFv) + 0x40), - (void*)(((char*)getArcName__12daMBdoorL1_cFv) + 0x50), - (void*)(((char*)getArcName__12daMBdoorL1_cFv) + 0x40), - (void*)(((char*)getArcName__12daMBdoorL1_cFv) + 0x70), - (void*)(((char*)getArcName__12daMBdoorL1_cFv) + 0x60), - (void*)(((char*)getArcName__12daMBdoorL1_cFv) + 0x30), - (void*)(((char*)getArcName__12daMBdoorL1_cFv) + 0x70), - (void*)(((char*)getArcName__12daMBdoorL1_cFv) + 0x50), -}; - /* 80672EE8-80672F74 000728 008C+00 4/3 0/0 0/0 .text getArcName__12daMBdoorL1_cFv */ -#ifdef NONMATCHING char* daMBdoorL1_c::getArcName() { switch (getNowLevel(this)) { case 0: @@ -582,11 +261,6 @@ char* daMBdoorL1_c::getArcName() { return "L7MBdoor"; } } -#else -char* daMBdoorL1_c::getArcName() { - // NONMATCHING -} -#endif /* 80672F74-80672F84 0007B4 0010+00 4/4 0/0 0/0 .text getAlwaysArcName__12daMBdoorL1_cFv */ @@ -660,306 +334,6 @@ J3DModelData* daMBdoorL1_c::getDoorModelData() { return static_cast(dComIfG_getStageRes(getBmd())); } -/* ############################################################################################## */ -/* 806775B8-806775BC 000060 0004+00 0/2 0/0 0/0 .rodata @4033 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4033 = -75.0f; -COMPILER_STRIP_GATE(0x806775B8, &lit_4033); -#pragma pop - -/* 806775BC-806775C0 000064 0004+00 0/1 0/0 0/0 .rodata @4034 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4034 = 7.0f / 5.0f; -COMPILER_STRIP_GATE(0x806775BC, &lit_4034); -#pragma pop - -/* 80677660-80677660 000108 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8067785E = "FDoorA.bck"; -SECTION_DEAD static char const* const stringBase_80677869 = "door-stop.bmd"; -SECTION_DEAD static char const* const stringBase_80677877 = "WAIT"; -SECTION_DEAD static char const* const stringBase_8067787C = "SETANGLE"; -SECTION_DEAD static char const* const stringBase_80677885 = "UNLOCK"; -SECTION_DEAD static char const* const stringBase_8067788C = "OPEN"; -SECTION_DEAD static char const* const stringBase_80677891 = "SETGOAL"; -SECTION_DEAD static char const* const stringBase_80677899 = "SETGOAL2"; -SECTION_DEAD static char const* const stringBase_806778A2 = "CLOSE"; -SECTION_DEAD static char const* const stringBase_806778A8 = "STOP_CLOSE"; -SECTION_DEAD static char const* const stringBase_806778B3 = "STOP_OPEN"; -SECTION_DEAD static char const* const stringBase_806778BD = "SMOKE"; -SECTION_DEAD static char const* const stringBase_806778C3 = "SMOKE_END"; -SECTION_DEAD static char const* const stringBase_806778CD = "END"; -SECTION_DEAD static char const* const stringBase_806778D1 = "END_CHECK"; -SECTION_DEAD static char const* const stringBase_806778DB = "CHG_SCENE"; -SECTION_DEAD static char const* const stringBase_806778E5 = "OPEN_PULL"; -SECTION_DEAD static char const* const stringBase_806778EF = "OPEN_PUSH"; -SECTION_DEAD static char const* const stringBase_806778F9 = ""; -SECTION_DEAD static char const* const stringBase_806778FA = "ADJUSTMENT"; -SECTION_DEAD static char const* const stringBase_80677905 = "OPEN_PUSH2"; -SECTION_DEAD static char const* const stringBase_80677910 = "OPEN_PULL2"; -SECTION_DEAD static char const* const stringBase_8067791B = "SETSTART_PUSH"; -SECTION_DEAD static char const* const stringBase_80677929 = "SETSTART_PULL"; -SECTION_DEAD static char const* const stringBase_80677937 = "SETPOS"; -SECTION_DEAD static char const* const stringBase_8067793E = "LIGHT_ANM"; -SECTION_DEAD static char const* const stringBase_80677948 = "INIT"; -SECTION_DEAD static char const* const stringBase_8067794D = "Timer"; -SECTION_DEAD static char const* const stringBase_80677953 = "FDoorB.bck"; -#pragma pop - -/* 80677A88-80677AF0 -00001 0068+00 1/1 0/0 0/0 .data action_table$4271 */ -SECTION_DATA static char* action_table[26] = { - "WAIT", - "SETANGLE", - "UNLOCK", - "OPEN", - "SETGOAL", - "SETGOAL2", - "CLOSE", - "STOP_CLOSE", - "STOP_OPEN", - "SMOKE", - "SMOKE_END", - "END", - "END_CHECK", - "CHG_SCENE", - "OPEN_PULL", - "OPEN_PUSH", - "", - "", - "ADJUSTMENT", - "OPEN_PUSH2", - "OPEN_PULL2", - "SETSTART_PUSH", - "SETSTART_PULL", - "SETPOS", - "LIGHT_ANM", - "INIT", -}; - -/* 80677AF0-80677B58 -00001 0068+00 1/1 0/0 0/0 .data @4679 */ -SECTION_DATA static void* lit_4679[26] = { - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0x614), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0x634), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0x674), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0x694), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0x6BC), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0x6BC), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0x6CC), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0x7C8), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0x88C), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0x8C4), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0xC10), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0xC1C), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0x8D4), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0x958), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0x9C8), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0x9C8), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0xC10), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0xC1C), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0x9A8), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0x9D8), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0x9D8), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0xC10), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0xC10), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0xC10), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0xBB8), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0xBD8), -}; - -/* 80677B58-80677BC0 -00001 0068+00 1/1 0/0 0/0 .data @4678 */ -SECTION_DATA static void* lit_4678[26] = { - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0xA4), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0xE0), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0x120), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0x1F4), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0x210), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0x250), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0x290), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0x29C), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0x30C), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0x5F4), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0x5F4), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0x5F4), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0x32C), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0x320), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0x354), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0x344), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0x5F4), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0x5F4), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0x338), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0x364), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0x374), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0x44C), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0x384), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0x514), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0x52C), - (void*)(((char*)demoProc__12daMBdoorL1_cFv) + 0x588), -}; - -/* 80677BC0-80677BD0 -00001 0010+00 1/1 0/0 0/0 .data bck_table$4947 */ -SECTION_DATA static char* bck_table[4] = { - "FDoorA.bck", - "FDoorB.bck", - "FDoorA.bck", - "FDoorB.bck", -}; - -/* 80677BD0-80677BDC -00001 000C+00 0/1 0/0 0/0 .data @5724 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5724[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)actionInit__12daMBdoorL1_cFv, -}; -#pragma pop - -/* 80677BDC-80677BE8 -00001 000C+00 0/1 0/0 0/0 .data @5725 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5725[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)actionStartDemo__12daMBdoorL1_cFv, -}; -#pragma pop - -/* 80677BE8-80677BF4 -00001 000C+00 0/1 0/0 0/0 .data @5726 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5726[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)actionWait__12daMBdoorL1_cFv, -}; -#pragma pop - -/* 80677BF4-80677C00 -00001 000C+00 0/1 0/0 0/0 .data @5727 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5727[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)actionCloseWait__12daMBdoorL1_cFv, -}; -#pragma pop - -/* 80677C00-80677C0C -00001 000C+00 0/1 0/0 0/0 .data @5728 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5728[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)actionOpen__12daMBdoorL1_cFv, -}; -#pragma pop - -/* 80677C0C-80677C18 -00001 000C+00 0/1 0/0 0/0 .data @5729 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5729[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)actionDemo__12daMBdoorL1_cFv, -}; -#pragma pop - -/* 80677C18-80677C24 -00001 000C+00 0/1 0/0 0/0 .data @5730 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5730[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)actionStopClose__12daMBdoorL1_cFv, -}; -#pragma pop - -/* 80677C24-80677C78 0002B4 0054+00 0/1 0/0 0/0 .data l_action$5723 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 l_action[84] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -#pragma pop - -/* 80677C78-80677C98 -00001 0020+00 1/0 0/0 0/0 .data l_daMBdoorL1_Method */ -static actor_method_class l_daMBdoorL1_Method = { - (process_method_func)daMBdoorL1_Create__FP10fopAc_ac_c, - (process_method_func)daMBdoorL1_Delete__FP12daMBdoorL1_c, - (process_method_func)daMBdoorL1_Execute__FP12daMBdoorL1_c, - 0, - (process_method_func)daMBdoorL1_Draw__FP12daMBdoorL1_c, -}; - -/* 80677C98-80677CC8 -00001 0030+00 0/0 0/0 1/0 .data g_profile_L1MBOSS_DOOR */ -extern actor_process_profile_definition g_profile_L1MBOSS_DOOR = { - fpcLy_CURRENT_e, // mLayerID - 7, // mListID - fpcPi_CURRENT_e, // mListPrio - PROC_L1MBOSS_DOOR, // mProcName - &g_fpcLf_Method.mBase, // sub_method - sizeof(daMBdoorL1_c), // mSize - 0, // mSizeOther - 0, // mParameters - &g_fopAc_Method.base, // sub_method - 299, // mPriority - &l_daMBdoorL1_Method, // sub_method - 0x00044000, // mStatus - fopAc_ACTOR_e, // mActorType - fopAc_CULLBOX_6_e, // cullType -}; - -/* 80677CC8-80677CF8 000358 0030+00 1/1 0/0 0/0 .data __vt__14dBgS_ObjGndChk */ -SECTION_DATA extern void* __vt__14dBgS_ObjGndChk[12] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__14dBgS_ObjGndChkFv, - (void*)NULL, - (void*)NULL, - (void*)func_80677538, - (void*)NULL, - (void*)NULL, - (void*)func_80677548, - (void*)NULL, - (void*)NULL, - (void*)func_80677540, -}; - -/* 80677CF8-80677D04 000388 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ -SECTION_DATA extern void* __vt__12dBgS_AcchCir[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12dBgS_AcchCirFv, -}; - -/* 80677D04-80677D28 000394 0024+00 2/2 0/0 0/0 .data __vt__12dBgS_ObjAcch */ -SECTION_DATA extern void* __vt__12dBgS_ObjAcch[9] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12dBgS_ObjAcchFv, - (void*)NULL, - (void*)NULL, - (void*)func_80677530, - (void*)NULL, - (void*)NULL, - (void*)func_80677528, -}; - -/* 80677D28-80677D34 0003B8 000C+00 2/2 0/0 0/0 .data __vt__12J3DFrameCtrl */ -SECTION_DATA extern void* __vt__12J3DFrameCtrl[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12J3DFrameCtrlFv, -}; - /* 80673164-806735B0 0009A4 044C+00 1/1 0/0 0/0 .text CreateHeap__12daMBdoorL1_cFv */ int daMBdoorL1_c::CreateHeap() { int level = getNowLevel(this); @@ -1039,28 +413,6 @@ int daMBdoorL1_c::CreateHeap() { return 1; } - -/* 806735B0-806735F8 000DF0 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */ -void __dt__12J3DFrameCtrlFv() { -//asm J3DFrameCtrl::~J3DFrameCtrl() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 806775C0-806775C4 000068 0004+00 0/1 0/0 0/0 .rodata @4083 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4083 = 220.0f; -COMPILER_STRIP_GATE(0x806775C0, &lit_4083); -#pragma pop - -/* 806775C4-806775C8 00006C 0004+00 0/1 0/0 0/0 .rodata @4084 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4084 = -220.0f; -COMPILER_STRIP_GATE(0x806775C4, &lit_4084); -#pragma pop - /* 806735F8-80673790 000E38 0198+00 4/4 0/0 0/0 .text calcMtx__12daMBdoorL1_cFv */ void daMBdoorL1_c::calcMtx() { cXyz cStack_1c(220.0f, 0.0f, 0.0f); @@ -1096,12 +448,6 @@ void daMBdoorL1_c::calcMtx() { } } - -/* ############################################################################################## */ -/* 806775C8-806775CC 000070 0004+00 1/1 0/0 0/0 .rodata @4122 */ -SECTION_RODATA static f32 const lit_4122 = 35.0f; -COMPILER_STRIP_GATE(0x806775C8, &lit_4122); - /* 80673790-806738CC 000FD0 013C+00 1/1 0/0 0/0 .text createKey__12daMBdoorL1_cFv */ int daMBdoorL1_c::createKey() { if (mKeyHoleId == 0xffffffff) { @@ -1115,9 +461,9 @@ int daMBdoorL1_c::createKey() { cStack_30.y = 0; unaff_r29 = (u8)door_param2_c::getFRoomNo(this); } - mKeyHoleId = fopAcM_createChildFromOffset(PROC_OBJ_KEYHOLE, fopAcM_GetID(this), 0xffffffff, &cStack_28, - unaff_r29, &cStack_30, &scale, - 0xffffffff, NULL); + mKeyHoleId = fopAcM_createChildFromOffset(PROC_OBJ_KEYHOLE, fopAcM_GetID(this), 0xffffffff, + &cStack_28, unaff_r29, &cStack_30, &scale, + -1, NULL); current.pos = cStack_1c; if (mKeyHoleId == 0xffffffff) { return 0; @@ -1126,18 +472,7 @@ int daMBdoorL1_c::createKey() { return 1; } - -/* ############################################################################################## */ -/* 806775CC-806775D0 000074 0004+00 0/1 0/0 0/0 .rodata @4179 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4179 = 150.0f; -COMPILER_STRIP_GATE(0x806775CC, &lit_4179); -#pragma pop - /* 806738CC-80673B9C 00110C 02D0+00 1/1 0/0 0/0 .text CreateInit__12daMBdoorL1_cFv */ -// rodata/data register load order -#ifdef NONMATCHING int daMBdoorL1_c::CreateInit() { field_0x81c = home.pos; field_0x828 = field_0x81c; @@ -1198,11 +533,6 @@ int daMBdoorL1_c::CreateInit() { tevStr.mLightInf = lightInf; return 1; } -#else -int daMBdoorL1_c::CreateInit() { - // NONMATCHING -} -#endif /* 80673B9C-80673D98 0013DC 01FC+00 1/1 0/0 0/0 .text create__12daMBdoorL1_cFv */ int daMBdoorL1_c::create() { @@ -1247,21 +577,36 @@ int daMBdoorL1_c::create() { } } - -/* 80673D98-80673E08 0015D8 0070+00 1/0 0/0 0/0 .text __dt__12dBgS_AcchCirFv */ -void __dt__12dBgS_AcchCirFv() { -//asm dBgS_AcchCir::~dBgS_AcchCir() { - // NONMATCHING -} - -/* 80673E08-80673E78 001648 0070+00 3/2 0/0 0/0 .text __dt__12dBgS_ObjAcchFv */ -void __dt__12dBgS_ObjAcchFv() { -//asm dBgS_ObjAcch::~dBgS_ObjAcch() { - // NONMATCHING -} - /* 80673E78-80673EC0 0016B8 0048+00 1/1 0/0 0/0 .text getDemoAction__12daMBdoorL1_cFv */ int daMBdoorL1_c::getDemoAction() { + static char* action_table[26] = { + "WAIT", + "SETANGLE", + "UNLOCK", + "OPEN", + "SETGOAL", + "SETGOAL2", + "CLOSE", + "STOP_CLOSE", + "STOP_OPEN", + "SMOKE", + "SMOKE_END", + "END", + "END_CHECK", + "CHG_SCENE", + "OPEN_PULL", + "OPEN_PUSH", + "", + "", + "ADJUSTMENT", + "OPEN_PUSH2", + "OPEN_PULL2", + "SETSTART_PUSH", + "SETSTART_PULL", + "SETPOS", + "LIGHT_ANM", + "INIT", + }; return dComIfGp_evmng_getMyActIdx(field_0x5e8, action_table, 26, 0, 0); } @@ -1270,7 +615,7 @@ void daMBdoorL1_c::demoProc() { int demoAction = getDemoAction(); cXyz cStack_20; daObjStopper_c* stopper = (daObjStopper_c*)fopAcM_SearchByID(mStopperId); - u32 cVar10 = door_param2_c::getSwbit2(this); + u8 cVar10 = door_param2_c::getSwbit2(this); bool bVar2 = false; int level = getNowLevel(this); if (dComIfGp_evmng_getIsAddvance(field_0x5e8)) { @@ -1373,7 +718,7 @@ void daMBdoorL1_c::demoProc() { if (field_0x5df == 0) { shape_angle.y += 0x7fff; } - setStart(37.5f, -70.0f); + setStart(-37.5f, -70.0f); if (field_0x598->ChkUsed()) { dComIfG_Bgsp().Release(field_0x598); } @@ -1395,7 +740,7 @@ void daMBdoorL1_c::demoProc() { if (field_0x5df == 0) { shape_angle.y += 0x7fff; } - setStart(-37.5f, -70.0f); + setStart(37.5f, -70.0f); if (field_0x598->ChkUsed()) { dComIfG_Bgsp().Release(field_0x598); } @@ -1614,75 +959,18 @@ void daMBdoorL1_c::demoProc() { } } - -/* ############################################################################################## */ -/* 806775D0-806775D4 000078 0004+00 0/0 0/0 0/0 .rodata @4675 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4675 = -37.5f; -COMPILER_STRIP_GATE(0x806775D0, &lit_4675); -#pragma pop - -/* 806775D4-806775D8 00007C 0004+00 0/2 0/0 0/0 .rodata @4676 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4676 = -70.0f; -COMPILER_STRIP_GATE(0x806775D4, &lit_4676); -#pragma pop - -/* 806775D8-806775DC 000080 0004+00 0/0 0/0 0/0 .rodata @4677 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4677 = 37.5f; -COMPILER_STRIP_GATE(0x806775D8, &lit_4677); -#pragma pop - -/* 806775DC-806775E0 000084 0004+00 0/1 0/0 0/0 .rodata l_eff_id$4696 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u16 const l_eff_id[2] = { - 0x8295, - 0x8296, -}; -COMPILER_STRIP_GATE(0x806775DC, &l_eff_id); -#pragma pop - -/* 806775E0-806775EC 000088 000A+02 0/1 0/0 0/0 .rodata l_eff_id_lv3$4705 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u16 const l_eff_id_lv3[5] = { - 0x8762, - 0x8763, - 0x8764, - 0x8765, - 0x8766, -}; -COMPILER_STRIP_GATE(0x806775E0, &l_eff_id_lv3); -#pragma pop - -/* 806775EC-806775F8 000094 000A+02 0/1 0/0 0/0 .rodata l_eff_id_lv4$4706 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u16 const l_eff_id_lv4[5] = { - 0x8AEB, - 0x8AEC, - 0x8AED, - 0x8AEE, - 0x8AEF, -}; -COMPILER_STRIP_GATE(0x806775EC, &l_eff_id_lv4); -#pragma pop - /* 80674AF4-80674DA4 002334 02B0+00 1/1 0/0 0/0 .text openInit__12daMBdoorL1_cFv */ -// regalloc -#ifdef NONMATCHING +// NONMATCHING regalloc int daMBdoorL1_c::openInit() { + static u16 const l_eff_id[2] = {0x8295, 0x8296}; + static u16 const l_eff_id_lv3[5] = {0x8762, 0x8763, 0x8764, 0x8765, 0x8766}; + static u16 const l_eff_id_lv4[5] = {0x8AEB, 0x8AEC, 0x8AED, 0x8AEE, 0x8AEF}; if (field_0x598->ChkUsed()) { dComIfG_Bgsp().Release(field_0x598); } J3DAnmTransform* anm = (J3DAnmTransform*)dComIfG_getObjectRes(getAnmArcName(), getOpenAnm()); JUT_ASSERT(1550, anm != 0); - int rt = mBckAnms[0]->init(anm, 1, 0, 1.0f, 0, -1, true); + int rt = mBckAnms[0]->init(anm, TRUE, J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 0, -1, true); JUT_ASSERT(1552, rt == 0); int level = getNowLevel(this); u8 swBit3 = door_param2_c::getSwbit3(this); @@ -1729,33 +1017,6 @@ int daMBdoorL1_c::openInit() { } return 1; } -#else -int daMBdoorL1_c::openInit() { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ -/* 806775F8-806775FC 0000A0 0004+00 0/1 0/0 0/0 .rodata @4829 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4829 = 17.0f; -COMPILER_STRIP_GATE(0x806775F8, &lit_4829); -#pragma pop - -/* 806775FC-80677600 0000A4 0004+00 0/1 0/0 0/0 .rodata @4830 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4830 = 18.0f; -COMPILER_STRIP_GATE(0x806775FC, &lit_4830); -#pragma pop - -/* 80677600-80677604 0000A8 0004+00 0/1 0/0 0/0 .rodata @4831 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4831 = 20.0f; -COMPILER_STRIP_GATE(0x80677600, &lit_4831); -#pragma pop /* 80674DA4-80674FDC 0025E4 0238+00 1/1 0/0 0/0 .text openProc__12daMBdoorL1_cFv */ int daMBdoorL1_c::openProc() { @@ -1796,7 +1057,6 @@ int daMBdoorL1_c::openProc() { return rv; } - /* 80674FDC-80675068 00281C 008C+00 1/1 0/0 0/0 .text openEnd__12daMBdoorL1_cFv */ int daMBdoorL1_c::openEnd() { if (getDoorType() == DOOR_TYPE_0) { @@ -1805,15 +1065,6 @@ int daMBdoorL1_c::openEnd() { return 1; } - -/* ############################################################################################## */ -/* 80677604-80677608 0000AC 0004+00 0/1 0/0 0/0 .rodata @4901 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4901 = 200.0f; -COMPILER_STRIP_GATE(0x80677604, &lit_4901); -#pragma pop - /* 80675068-806752BC 0028A8 0254+00 1/1 0/0 0/0 .text closeInit__12daMBdoorL1_cFv */ int daMBdoorL1_c::closeInit() { if (getDoorType() == 0) { @@ -1840,7 +1091,6 @@ int daMBdoorL1_c::closeInit() { return 1; } - /* 806752BC-80675304 002AFC 0048+00 1/1 0/0 0/0 .text closeProc__12daMBdoorL1_cFv */ int daMBdoorL1_c::closeProc() { int rv = mBckAnms[0]->play(); @@ -1850,10 +1100,10 @@ int daMBdoorL1_c::closeProc() { /* 80675304-806753CC 002B44 00C8+00 1/1 0/0 0/0 .text closeEnd__12daMBdoorL1_cFv */ int daMBdoorL1_c::closeEnd() { - ; - dComIfGp_getVibration().StartShock(4, 15, cXyz(0.0f, 1.0f, 0.0f)); + dComIfGp_getVibration().StartShock(4, 0x1f, cXyz(0.0f, 1.0f, 0.0f)); if (getDoorType() == DOOR_TYPE_0) { - mDoAud_seStart(Z2SE_OBJ_WOOD_DOOR_CLOSE_STOP, ¤t.pos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(this))); + mDoAud_seStart(Z2SE_OBJ_WOOD_DOOR_CLOSE_STOP, ¤t.pos, 0, + dComIfGp_getReverb(fopAcM_GetRoomNo(this))); } return 1; } @@ -1877,16 +1127,14 @@ int daMBdoorL1_c::unlock() { return 0; } -/* ############################################################################################## */ -/* 80677608-8067760C 0000B0 0004+00 0/1 0/0 0/0 .rodata @5000 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5000 = 38.0f; -COMPILER_STRIP_GATE(0x80677608, &lit_5000); -#pragma pop - /* 80675470-80675678 002CB0 0208+00 1/1 0/0 0/0 .text openInitKnob__12daMBdoorL1_cFi */ int daMBdoorL1_c::openInitKnob(int param_1) { + static char* bck_table[4] = { + "FDoorA.bck", + "FDoorB.bck", + "FDoorA.bck", + "FDoorB.bck", + }; J3DAnmTransform* anm = (J3DAnmTransform*)dComIfG_getObjectRes( getAlwaysArcName(), bck_table[param_1]); JUT_ASSERT(1847, anm != 0); @@ -1911,7 +1159,6 @@ int daMBdoorL1_c::openInitKnob(int param_1) { return 1; } - /* 80675678-80675734 002EB8 00BC+00 1/1 0/0 0/0 .text openProcKnob__12daMBdoorL1_cFi */ int daMBdoorL1_c::openProcKnob(int param_1) { if (field_0x590->play()) { @@ -1927,21 +1174,6 @@ int daMBdoorL1_c::openProcKnob(int param_1) { return 0; } -/* ############################################################################################## */ -/* 80677610-80677614 0000B8 0004+00 0/2 0/0 0/0 .rodata @5069 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5069 = 180.0f; -COMPILER_STRIP_GATE(0x80677610, &lit_5069); -#pragma pop - -/* 80677614-80677618 0000BC 0004+00 0/2 0/0 0/0 .rodata @5070 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5070 = -180.0f; -COMPILER_STRIP_GATE(0x80677614, &lit_5070); -#pragma pop - /* 80675734-80675894 002F74 0160+00 1/1 0/0 0/0 .text openEndKnob__12daMBdoorL1_cFi */ int daMBdoorL1_c::openEndKnob(int param_1) { if (field_0x598 != NULL && !field_0x598->ChkUsed()) { @@ -1966,43 +1198,6 @@ int daMBdoorL1_c::openEndKnob(int param_1) { return 1; } - -/* ############################################################################################## */ -/* 80677618-8067761C 0000C0 0004+00 0/1 0/0 0/0 .rodata @5096 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5096 = 0.5f; -COMPILER_STRIP_GATE(0x80677618, &lit_5096); -#pragma pop - -/* 8067761C-80677620 0000C4 0004+00 0/1 0/0 0/0 .rodata @5097 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5097 = -1000.0f; -COMPILER_STRIP_GATE(0x8067761C, &lit_5097); -#pragma pop - -/* 80677620-80677624 0000C8 0004+00 0/1 0/0 0/0 .rodata @5098 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5098 = 1000.0f; -COMPILER_STRIP_GATE(0x80677620, &lit_5098); -#pragma pop - -/* 80677624-80677628 0000CC 0004+00 0/1 0/0 0/0 .rodata @5099 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5099 = -240.0f; -COMPILER_STRIP_GATE(0x80677624, &lit_5099); -#pragma pop - -/* 80677628-8067762C 0000D0 0004+00 0/1 0/0 0/0 .rodata @5100 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5100 = 240.0f; -COMPILER_STRIP_GATE(0x80677628, &lit_5100); -#pragma pop - /* 80675894-806759E4 0030D4 0150+00 1/1 0/0 0/0 .text calcGoal__12daMBdoorL1_cFP4cXyzi */ void daMBdoorL1_c::calcGoal(cXyz* param_1, int param_2) { cXyz dist = dComIfGp_getPlayer(0)->current.pos - current.pos; @@ -2032,7 +1227,6 @@ void daMBdoorL1_c::calcGoal(cXyz* param_1, int param_2) { param_1->z = dist.z; } - /* 806759E4-80675ADC 003224 00F8+00 1/1 0/0 0/0 .text setAngle__12daMBdoorL1_cFv */ int daMBdoorL1_c::setAngle() { daPy_py_c* player = (daPy_py_c*)dComIfGp_getPlayer(0); @@ -2065,35 +1259,6 @@ void daMBdoorL1_c::setAngleQuickly() { player->changeDemoMoveAngle(doorAngle); } -/* ############################################################################################## */ -/* 8067762C-80677630 0000D4 0004+00 0/1 0/0 0/0 .rodata @5195 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5195 = 75.0f; -COMPILER_STRIP_GATE(0x8067762C, &lit_5195); -#pragma pop - -/* 80677630-80677634 0000D8 0004+00 0/2 0/0 0/0 .rodata @5196 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5196 = 70.0f; -COMPILER_STRIP_GATE(0x80677630, &lit_5196); -#pragma pop - -/* 80677634-80677638 0000DC 0004+00 0/1 0/0 0/0 .rodata @5197 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5197 = 4.0f / 5.0f; -COMPILER_STRIP_GATE(0x80677634, &lit_5197); -#pragma pop - -/* 80677638-8067763C 0000E0 0004+00 0/1 0/0 0/0 .rodata @5198 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5198 = 1.0f / 5.0f; -COMPILER_STRIP_GATE(0x80677638, &lit_5198); -#pragma pop - /* 80675B30-80675DB0 003370 0280+00 1/1 0/0 0/0 .text adjustmentProc__12daMBdoorL1_cFv */ int daMBdoorL1_c::adjustmentProc() { daPy_py_c* player = (daPy_py_c*)dComIfGp_getPlayer(0); @@ -2145,22 +1310,6 @@ int daMBdoorL1_c::adjustmentProc() { return 0; } - -/* ############################################################################################## */ -/* 8067763C-80677640 0000E4 0004+00 0/1 0/0 0/0 .rodata @5229 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5229 = 100.0f; -COMPILER_STRIP_GATE(0x8067763C, &lit_5229); -#pragma pop - -/* 80677640-80677644 0000E8 0004+00 0/1 0/0 0/0 .rodata @5230 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5230 = -100.0f; -COMPILER_STRIP_GATE(0x80677640, &lit_5230); -#pragma pop - /* 80675DB0-80675EE4 0035F0 0134+00 1/1 0/0 0/0 .text setPos__12daMBdoorL1_cFv */ void daMBdoorL1_c::setPos() { daPy_py_c* player = (daPy_py_c*)dComIfGp_getPlayer(0); @@ -2187,7 +1336,6 @@ void daMBdoorL1_c::setPos() { dComIfGp_evmng_setGoal(&local_1c); } - /* 80675EE4-80675F8C 003724 00A8+00 1/1 0/0 0/0 .text setStart__12daMBdoorL1_cFff */ void daMBdoorL1_c::setStart(f32 param_1, f32 param_2) { daPy_py_c* player = (daPy_py_c*)dComIfGp_getPlayer(0); @@ -2198,27 +1346,11 @@ void daMBdoorL1_c::setStart(f32 param_1, f32 param_2) { player->setPlayerPosAndAngle(&pos, player->shape_angle.y, 0); } -/* 80675F8C-80676004 0037CC 0078+00 4/3 0/0 0/0 .text __dt__14dBgS_ObjGndChkFv */ -void __dt__14dBgS_ObjGndChkFv() { -//asm dBgS_ObjGndChk::~dBgS_ObjGndChk() { - // NONMATCHING +static f32 dummy(f32 param_0) { + dBgS_ObjGndChk gnd_chk; + return param_0 + -1e9f + 50.0f; } -/* ############################################################################################## */ -/* 80677644-80677648 0000EC 0004+00 0/0 0/0 0/0 .rodata @5279 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5279 = 50.0f; -COMPILER_STRIP_GATE(0x80677644, &lit_5279); -#pragma pop - -/* 80677648-8067764C 0000F0 0004+00 0/0 0/0 0/0 .rodata @5280 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5280 = -1000000000.0f; -COMPILER_STRIP_GATE(0x80677648, &lit_5280); -#pragma pop - /* 80676004-806760B4 003844 00B0+00 1/1 0/0 0/0 .text smokeInit2__12daMBdoorL1_cFv */ void daMBdoorL1_c::smokeInit2() { if (getDoorType() == DOOR_TYPE_1) { @@ -2231,21 +1363,6 @@ void daMBdoorL1_c::smokeInit2() { } } -/* ############################################################################################## */ -/* 80677650-80677654 0000F8 0004+00 1/1 0/0 0/0 .rodata @5381 */ -SECTION_RODATA static f32 const lit_5381 = 130.0f; -COMPILER_STRIP_GATE(0x80677650, &lit_5381); - -/* 80677654-80677658 0000FC 0004+00 1/1 0/0 0/0 .rodata @5382 */ -SECTION_RODATA static f32 const lit_5382 = 110.0f; -COMPILER_STRIP_GATE(0x80677654, &lit_5382); - -/* 80677658-80677660 000100 0008+00 1/1 0/0 0/0 .rodata @5384 */ -SECTION_RODATA static u8 const lit_5384[8] = { - 0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80677658, &lit_5384); - /* 806760B4-806762A4 0038F4 01F0+00 1/1 0/0 0/0 .text checkArea__12daMBdoorL1_cFv */ int daMBdoorL1_c::checkArea() { daPy_py_c* player = daPy_getPlayerActorClass(); @@ -2283,7 +1400,6 @@ int daMBdoorL1_c::checkArea() { } } - /* 806762A4-80676308 003AE4 0064+00 8/8 0/0 0/0 .text checkFront__12daMBdoorL1_cFv */ int daMBdoorL1_c::checkFront() { if (checkMBossRoom()) { @@ -2328,7 +1444,6 @@ int daMBdoorL1_c::checkOpen() { return 1; } - /* 806764D0-80676568 003D10 0098+00 2/2 0/0 0/0 .text checkFrontKey__12daMBdoorL1_cFv */ int daMBdoorL1_c::checkFrontKey() { if (!checkFront()) { @@ -2431,7 +1546,6 @@ int daMBdoorL1_c::startDemoEnd() { return 1; } - /* 806769A4-806769D0 0041E4 002C+00 1/1 0/0 0/0 .text checkMBossRoom__12daMBdoorL1_cFv */ int daMBdoorL1_c::checkMBossRoom() { s32 stayNo = dComIfGp_roomControl_getStayNo(); @@ -2442,10 +1556,9 @@ int daMBdoorL1_c::checkMBossRoom() { } /* 806769D0-80676AB4 004210 00E4+00 1/1 0/0 0/0 .text checkStopClose__12daMBdoorL1_cFv */ -// regalloc -#ifdef NONMATCHING +// NONMATCHING regalloc int daMBdoorL1_c::checkStopClose() { - s32 FRoomNo = door_param2_c::getFRoomNo(this); + u8 FRoomNo = door_param2_c::getFRoomNo(this); door_param2_c::getFRoomNo(this); s32 roomNo = fopAcM_GetRoomNo(this); if (mDoorStop.mModel == NULL) { @@ -2454,7 +1567,7 @@ int daMBdoorL1_c::checkStopClose() { int frontOption = door_param2_c::getFrontOption(this); int backOption = door_param2_c::getBackOption(this); u8 swBit; - if (roomNo == (u8)FRoomNo) { + if (roomNo == FRoomNo) { if (frontOption != 1) { return 0; } @@ -2474,11 +1587,6 @@ int daMBdoorL1_c::checkStopClose() { return 1; } } -#else -int daMBdoorL1_c::checkStopClose() { - // NONMATCHING -} -#endif /* 80676AB4-80676B64 0042F4 00B0+00 2/2 0/0 0/0 .text checkMakeStop__12daMBdoorL1_cFv */ int daMBdoorL1_c::checkMakeStop() { @@ -2611,7 +1719,6 @@ int daMBdoorL1_c::actionInit() { return 1; } - /* 80676FE4-80677050 004824 006C+00 2/1 0/0 0/0 .text actionStartDemo__12daMBdoorL1_cFv */ int daMBdoorL1_c::actionStartDemo() { @@ -2638,7 +1745,6 @@ int daMBdoorL1_c::execute() { return 1; } - /* 80677158-806771B4 004998 005C+00 1/1 0/0 0/0 .text draw__12daMBdoorL1_cFv */ int daMBdoorL1_c::draw() { switch(getDoorType()) { @@ -2726,34 +1832,29 @@ static int daMBdoorL1_Create(fopAc_ac_c* i_this) { return static_cast(i_this)->create(); } -/* 8067750C-80677528 004D4C 001C+00 1/1 0/0 0/0 .text cLib_calcTimer__FPi */ -extern "C" void func_8067750C(void* _this, int* param_0) { - // NONMATCHING -} +/* 80677C78-80677C98 -00001 0020+00 1/0 0/0 0/0 .data l_daMBdoorL1_Method */ +static actor_method_class l_daMBdoorL1_Method = { + (process_method_func)daMBdoorL1_Create, + (process_method_func)daMBdoorL1_Delete, + (process_method_func)daMBdoorL1_Execute, + NULL, + (process_method_func)daMBdoorL1_Draw, +}; -/* 80677528-80677530 004D68 0008+00 1/0 0/0 0/0 .text @36@__dt__12dBgS_ObjAcchFv */ -static void func_80677528() { - // NONMATCHING -} - -/* 80677530-80677538 004D70 0008+00 1/0 0/0 0/0 .text @20@__dt__12dBgS_ObjAcchFv */ -static void func_80677530() { - // NONMATCHING -} - -/* 80677538-80677540 004D78 0008+00 1/0 0/0 0/0 .text @20@__dt__14dBgS_ObjGndChkFv */ -static void func_80677538() { - // NONMATCHING -} - -/* 80677540-80677548 004D80 0008+00 1/0 0/0 0/0 .text @76@__dt__14dBgS_ObjGndChkFv */ -static void func_80677540() { - // NONMATCHING -} - -/* 80677548-80677550 004D88 0008+00 1/0 0/0 0/0 .text @60@__dt__14dBgS_ObjGndChkFv */ -static void func_80677548() { - // NONMATCHING -} - -/* 80677660-80677660 000108 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file +/* 80677C98-80677CC8 -00001 0030+00 0/0 0/0 1/0 .data g_profile_L1MBOSS_DOOR */ +extern actor_process_profile_definition g_profile_L1MBOSS_DOOR = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_L1MBOSS_DOOR, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(daMBdoorL1_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 299, // mPriority + &l_daMBdoorL1_Method, // sub_method + 0x00044000, // mStatus + fopAc_ACTOR_e, // mActorType + fopAc_CULLBOX_6_e, // cullType +}; diff --git a/src/d/actor/d_a_e_bee.cpp b/src/d/actor/d_a_e_bee.cpp index f3c77e5a37..d1010098a8 100644 --- a/src/d/actor/d_a_e_bee.cpp +++ b/src/d/actor/d_a_e_bee.cpp @@ -8,204 +8,8 @@ #include "d/d_com_inf_game.h" #include "d/actor/d_a_player.h" #include "d/d_procname.h" -#include "dol2asm.h" #include "SSystem/SComponent/c_math.h" -// -// Forward References: -// - -extern "C" void __ct__13daE_Bee_HIO_cFv(); -extern "C" static void daE_Bee_Draw__FP11e_bee_class(); -extern "C" static void bee_mtxset__FP5bee_s(); -extern "C" static void bee_ground_ang_set__FP5bee_s(); -extern "C" void __dt__4cXyzFv(); -extern "C" static void bee_fly_action__FP11e_bee_classP5bee_s(); -extern "C" static void bee_nest_action__FP11e_bee_classP5bee_sSc(); -extern "C" static void bee_fail__FP5bee_s(); -extern "C" static void bee_start__FP11e_bee_classP5bee_s(); -extern "C" static void bee_control__FP11e_bee_class(); -extern "C" static void daE_Bee_Execute__FP11e_bee_class(); -extern "C" static bool daE_Bee_IsDelete__FP11e_bee_class(); -extern "C" static void daE_Bee_Delete__FP11e_bee_class(); -extern "C" static void useHeapInit__FP10fopAc_ac_c(); -extern "C" static void daE_Bee_Create__FP10fopAc_ac_c(); -extern "C" void __dt__8cM3dGSphFv(); -extern "C" void __dt__8cM3dGCylFv(); -extern "C" void __dt__8cM3dGAabFv(); -extern "C" void __dt__5bee_sFv(); -extern "C" void __ct__5bee_sFv(); -extern "C" void __dt__13daE_Bee_HIO_cFv(); -extern "C" void __sinit_d_a_e_bee_cpp(); -extern "C" extern char const* const d_a_e_bee__stringBase0; -extern void* __vt__8cM3dGSph[3]; -extern void* __vt__8cM3dGCyl[3]; -extern void* __vt__8cM3dGAab[3]; -extern void* __vt__13daE_Bee_HIO_c[3]; - -// -// External References: -// - -extern "C" void mDoMtx_XrotM__FPA4_fs(); -extern "C" void mDoMtx_YrotS__FPA4_fs(); -extern "C" void mDoMtx_YrotM__FPA4_fs(); -extern "C" void mDoMtx_ZrotM__FPA4_fs(); -extern "C" void transM__14mDoMtx_stack_cFfff(); -extern "C" void scaleM__14mDoMtx_stack_cFfff(); -extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void fopAcIt_Judge__FPFPvPv_PvPv(); -extern "C" void fopAcM_delete__FP10fopAc_ac_c(); -extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl(); -extern "C" void fpcSch_JudgeByID__FPvPv(); -extern "C" void addSimpleModel__14dComIfG_play_cFP12J3DModelDataiUc(); -extern "C" void removeSimpleModel__14dComIfG_play_cFP12J3DModelDatai(); -extern "C" void entrySimpleModel__14dComIfG_play_cFP8J3DModeli(); -extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfGp_getReverb__Fi(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void setHitMark__13dPa_control_cFUsP10fopAc_ac_cPC4cXyzPC5csXyzPC4cXyzUl(); -extern "C" void StartShock__12dVibration_cFii4cXyz(); -extern "C" void LineCross__4cBgSFP11cBgS_LinChk(); -extern "C" void GroundCross__4cBgSFP11cBgS_GndChk(); -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 Set__11dBgS_LinChkFPC4cXyzPC4cXyzPC10fopAc_ac_c(); -extern "C" void __ct__10dCcD_GSttsFv(); -extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c(); -extern "C" void __ct__12dCcD_GObjInfFv(); -extern "C" void ChkAtHit__12dCcD_GObjInfFv(); -extern "C" void GetAtHitObj__12dCcD_GObjInfFv(); -extern "C" void ChkTgHit__12dCcD_GObjInfFv(); -extern "C" void GetTgHitObj__12dCcD_GObjInfFv(); -extern "C" void Set__8dCcD_CylFRC11dCcD_SrcCyl(); -extern "C" void Set__8dCcD_SphFRC11dCcD_SrcSph(); -extern "C" void cc_pl_cut_bit_get__Fv(); -extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c(); -extern "C" void GetAc__8cCcD_ObjFv(); -extern "C" void Set__4cCcSFP8cCcD_Obj(); -extern "C" void __pl__4cXyzCFRC3Vec(); -extern "C" void __mi__4cXyzCFRC3Vec(); -extern "C" void cM_atan2s__Fff(); -extern "C" void cM_rndF__Ff(); -extern "C" void cM_rndFX__Ff(); -extern "C" void SetPos__11cBgS_GndChkFPC4cXyz(); -extern "C" void SetC__8cM3dGCylFRC4cXyz(); -extern "C" void SetH__8cM3dGCylFf(); -extern "C" void SetR__8cM3dGCylFf(); -extern "C" void SetC__8cM3dGSphFRC4cXyz(); -extern "C" void cLib_addCalc2__FPffff(); -extern "C" void cLib_addCalc0__FPfff(); -extern "C" void cLib_addCalcAngleS2__FPssss(); -extern "C" void MtxScale__FfffUc(); -extern "C" void MtxPosition__FP4cXyzP4cXyz(); -extern "C" void __dt__14Z2SoundObjBaseFv(); -extern "C" void deleteObject__14Z2SoundObjBaseFv(); -extern "C" void __ct__16Z2SoundObjSimpleFv(); -extern "C" void __ct__18Z2SoundObjBeeGroupFv(); -extern "C" void playBeeGroupSound__18Z2SoundObjBeeGroupF10JAISoundIDUc(); -extern "C" void __dl__FPv(); -extern "C" void __construct_array(); -extern "C" void _savegpr_19(); -extern "C" void _savegpr_23(); -extern "C" void _savegpr_25(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _restgpr_19(); -extern "C" void _restgpr_23(); -extern "C" void _restgpr_25(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" extern void* __vt__8dCcD_Sph[36]; -extern "C" extern void* __vt__8dCcD_Cyl[36]; -extern "C" extern void* __vt__9dCcD_Stts[11]; -extern "C" extern void* __vt__12cCcD_SphAttr[25]; -extern "C" extern void* __vt__12cCcD_CylAttr[25]; -extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; -extern "C" extern void* __vt__9cCcD_Stts[8]; -extern "C" extern void* __vt__16Z2SoundObjSimple[8]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" u8 sincosTable___5JMath[65536]; -extern "C" void __register_global_object(); - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 80685434-80685438 000000 0004+00 8/8 0/0 0/0 .rodata @3770 */ -SECTION_RODATA static f32 const lit_3770 = 1.0f; -COMPILER_STRIP_GATE(0x80685434, &lit_3770); - -/* 8068552C-80685570 000000 0044+00 1/1 0/0 0/0 .data cc_cyl_src$4798 */ -static dCcD_SrcCyl cc_cyl_src = { - { - {0x0, {{0x0, 0x0, 0x0}, {0x410022, 0x23}, 0x0}}, // mObj - {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt - {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg - {0x0}, // mGObjCo - }, // mObjInf - { - {0.0f, 0.0f, 0.0f}, // mCenter - 30.0f, // mRadius - 130.0f // mHeight - } // mCyl -}; - -/* 80685570-806855B0 000044 0040+00 1/1 0/0 0/0 .data at_sph_src$4799 */ -static dCcD_SrcSph at_sph_src = { - { - {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0xd}, {0x0, 0x0}, 0x0}}, // mObj - {dCcD_SE_NONE, 0x0, 0xc, 0x0, 0x1}, // mGObjAt - {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg - {0x0}, // mGObjCo - }, // mObjInf - { - {{0.0f, 0.0f, 0.0f}, 30.0f} // mSph - } // mSphAttr -}; - -/* 8068286C-8068289C 0000EC 0030+00 1/1 0/0 0/0 .text __ct__13daE_Bee_HIO_cFv */ -daE_Bee_HIO_c::daE_Bee_HIO_c() { - field_0x4 = -1; - mScale = 1.0f; - mDelete = false; - mNoKill = false; -} - - -/* 8068289C-806829A8 00011C 010C+00 1/0 0/0 0/0 .text daE_Bee_Draw__FP11e_bee_class */ -static int daE_Bee_Draw(e_bee_class* i_this) { - g_env_light.settingTevStruct(0, &i_this->current.pos, &i_this->tevStr); - bee_s* bee = i_this->mBees; - int room_no = fopAcM_GetRoomNo(i_this); - for (int i = 0; i < i_this->mNumBees; i++, bee++) { - if (bee->mAction != bee_s::ACT_DEAD && !bee->mNoDraw) { - if (bee->mIsFlying == 0) { - if ((bee->mCounter & 4) != 0) { - dComIfGp_entrySimpleModel(bee->mpModel3, room_no); - } else { - dComIfGp_entrySimpleModel(bee->mpModel4, room_no); - } - } else { - if ((bee->mCounter & 1) != 0) { - dComIfGp_entrySimpleModel(bee->mpModel1, room_no); - } else { - dComIfGp_entrySimpleModel(bee->mpModel2, room_no); - } - } - } - } - return 1; -} - -/* ############################################################################################## */ /* 80685638-8068563C 000008 0001+03 1/1 0/0 0/0 .bss @1109 */ static u8 lit_1109[1 + 3 /* padding */]; @@ -302,6 +106,39 @@ static bool hioInit; /* 80685684-80685694 000054 0010+00 6/6 0/0 0/0 .bss l_HIO */ static daE_Bee_HIO_c l_HIO; +/* 8068286C-8068289C 0000EC 0030+00 1/1 0/0 0/0 .text __ct__13daE_Bee_HIO_cFv */ +daE_Bee_HIO_c::daE_Bee_HIO_c() { + field_0x4 = -1; + mScale = 1.0f; + mDelete = false; + mNoKill = false; +} + +/* 8068289C-806829A8 00011C 010C+00 1/0 0/0 0/0 .text daE_Bee_Draw__FP11e_bee_class */ +static int daE_Bee_Draw(e_bee_class* i_this) { + g_env_light.settingTevStruct(0, &i_this->current.pos, &i_this->tevStr); + bee_s* bee = i_this->mBees; + int room_no = fopAcM_GetRoomNo(i_this); + for (int i = 0; i < i_this->mNumBees; i++, bee++) { + if (bee->mAction != bee_s::ACT_DEAD && !bee->mNoDraw) { + if (bee->mIsFlying == 0) { + if ((bee->mCounter & 4) != 0) { + dComIfGp_entrySimpleModel(bee->mpModel3, room_no); + } else { + dComIfGp_entrySimpleModel(bee->mpModel4, room_no); + } + } else { + if ((bee->mCounter & 1) != 0) { + dComIfGp_entrySimpleModel(bee->mpModel1, room_no); + } else { + dComIfGp_entrySimpleModel(bee->mpModel2, room_no); + } + } + } + } + return 1; +} + /* 806829A8-80682A70 000228 00C8+00 3/3 0/0 0/0 .text bee_mtxset__FP5bee_s */ static void bee_mtxset(bee_s* i_bee) { mDoMtx_stack_c::transS(i_bee->mPos.x, i_bee->mPos.y, i_bee->mPos.z); @@ -317,48 +154,6 @@ static void bee_mtxset(bee_s* i_bee) { } } - -/* ############################################################################################## */ -/* 80685438-8068543C 000004 0004+00 0/4 0/0 0/0 .rodata @3929 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3929 = 30.0f; -COMPILER_STRIP_GATE(0x80685438, &lit_3929); -#pragma pop - -/* 8068543C-80685440 000008 0004+00 0/4 0/0 0/0 .rodata @3930 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3930 = 5.0f; -COMPILER_STRIP_GATE(0x8068543C, &lit_3930); -#pragma pop - -/* 80685440-80685444 00000C 0004+00 0/1 0/0 0/0 .rodata @3931 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3931 = -30.0f; -COMPILER_STRIP_GATE(0x80685440, &lit_3931); -#pragma pop - -/* 80685444-80685448 000010 0004+00 0/6 0/0 0/0 .rodata @3932 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3932[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80685444, &lit_3932); -#pragma pop - -/* 80685448-8068544C 000014 0004+00 0/1 0/0 0/0 .rodata @3933 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3933 = -10.0f; -COMPILER_STRIP_GATE(0x80685448, &lit_3933); -#pragma pop - /* 80682A70-80682D78 0002F0 0308+00 1/1 0/0 0/0 .text bee_ground_ang_set__FP5bee_s */ static void bee_ground_ang_set(bee_s* i_bee) { dBgS_LinChk lin_chk; @@ -404,146 +199,6 @@ static void bee_ground_ang_set(bee_s* i_bee) { } } - -/* 80682D78-80682DB4 0005F8 003C+00 1/1 0/0 0/0 .text __dt__4cXyzFv */ -// cXyz::~cXyz() { -extern "C" void __dt__4cXyzFv() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 8068544C-80685450 000018 0004+00 0/4 0/0 0/0 .rodata @4190 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4190 = 15.0f; -COMPILER_STRIP_GATE(0x8068544C, &lit_4190); -#pragma pop - -/* 80685450-80685454 00001C 0004+00 0/4 0/0 0/0 .rodata @4191 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4191 = 100.0f; -COMPILER_STRIP_GATE(0x80685450, &lit_4191); -#pragma pop - -/* 80685454-80685458 000020 0004+00 0/2 0/0 0/0 .rodata @4192 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4192 = 50.0f; -COMPILER_STRIP_GATE(0x80685454, &lit_4192); -#pragma pop - -/* 80685458-8068545C 000024 0004+00 0/2 0/0 0/0 .rodata @4193 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4193 = 17.0f; -COMPILER_STRIP_GATE(0x80685458, &lit_4193); -#pragma pop - -/* 8068545C-80685460 000028 0004+00 0/1 0/0 0/0 .rodata @4194 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4194 = 125.0f; -COMPILER_STRIP_GATE(0x8068545C, &lit_4194); -#pragma pop - -/* 80685460-80685464 00002C 0004+00 0/2 0/0 0/0 .rodata @4195 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4195 = 150.0f; -COMPILER_STRIP_GATE(0x80685460, &lit_4195); -#pragma pop - -/* 80685464-8068546C 000030 0008+00 0/3 0/0 0/0 .rodata @4196 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4196[8] = { - 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80685464, &lit_4196); -#pragma pop - -/* 8068546C-80685474 000038 0008+00 0/3 0/0 0/0 .rodata @4197 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4197[8] = { - 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8068546C, &lit_4197); -#pragma pop - -/* 80685474-8068547C 000040 0008+00 0/3 0/0 0/0 .rodata @4198 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4198[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80685474, &lit_4198); -#pragma pop - -/* 8068547C-80685480 000048 0004+00 0/1 0/0 0/0 .rodata @4199 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4199 = 40.0f; -COMPILER_STRIP_GATE(0x8068547C, &lit_4199); -#pragma pop - -/* 80685480-80685484 00004C 0004+00 0/2 0/0 0/0 .rodata @4200 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4200 = 300.0f; -COMPILER_STRIP_GATE(0x80685480, &lit_4200); -#pragma pop - -/* 80685484-80685488 000050 0004+00 0/1 0/0 0/0 .rodata @4201 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4201 = 10000.0f; -COMPILER_STRIP_GATE(0x80685484, &lit_4201); -#pragma pop - -/* 80685488-8068548C 000054 0004+00 0/2 0/0 0/0 .rodata @4202 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4202 = 55.0f; -COMPILER_STRIP_GATE(0x80685488, &lit_4202); -#pragma pop - -/* 8068548C-80685490 000058 0004+00 0/1 0/0 0/0 .rodata @4203 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4203 = 500.0f; -COMPILER_STRIP_GATE(0x8068548C, &lit_4203); -#pragma pop - -/* 80685490-80685494 00005C 0004+00 0/1 0/0 0/0 .rodata @4204 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4204 = 0.5f; -COMPILER_STRIP_GATE(0x80685490, &lit_4204); -#pragma pop - -/* 80685494-80685498 000060 0004+00 0/1 0/0 0/0 .rodata @4205 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4205 = 2000.0f; -COMPILER_STRIP_GATE(0x80685494, &lit_4205); -#pragma pop - -/* 80685498-8068549C 000064 0004+00 0/1 0/0 0/0 .rodata @4206 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4206 = 1500.0f; -COMPILER_STRIP_GATE(0x80685498, &lit_4206); -#pragma pop - -/* 8068549C-806854A0 000068 0004+00 0/3 0/0 0/0 .rodata @4207 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4207 = 200.0f; -COMPILER_STRIP_GATE(0x8068549C, &lit_4207); -#pragma pop - /* 80685694-80685698 000064 0004+00 1/2 0/0 0/0 .bss None */ static u8 ccCylSet; @@ -675,78 +330,6 @@ static int bee_fly_action(e_bee_class* i_this, bee_s* i_bee) { return ret; } - -/* ############################################################################################## */ -/* 806854A0-806854A4 00006C 0004+00 0/1 0/0 0/0 .rodata @4353 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4353 = 1.0f / 50.0f; -COMPILER_STRIP_GATE(0x806854A0, &lit_4353); -#pragma pop - -/* 806854A4-806854A8 000070 0004+00 0/2 0/0 0/0 .rodata @4354 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4354 = 10.0f; -COMPILER_STRIP_GATE(0x806854A4, &lit_4354); -#pragma pop - -/* 806854A8-806854AC 000074 0004+00 0/1 0/0 0/0 .rodata @4355 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4355 = 2.0f; -COMPILER_STRIP_GATE(0x806854A8, &lit_4355); -#pragma pop - -/* 806854AC-806854B0 000078 0004+00 0/3 0/0 0/0 .rodata @4356 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4356 = 1.0f / 10.0f; -COMPILER_STRIP_GATE(0x806854AC, &lit_4356); -#pragma pop - -/* 806854B0-806854B4 00007C 0004+00 0/1 0/0 0/0 .rodata @4357 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4357 = 32768.0f; -COMPILER_STRIP_GATE(0x806854B0, &lit_4357); -#pragma pop - -/* 806854B4-806854B8 000080 0004+00 0/1 0/0 0/0 .rodata @4358 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4358 = -51.0f; -COMPILER_STRIP_GATE(0x806854B4, &lit_4358); -#pragma pop - -/* 806854B8-806854BC 000084 0004+00 0/1 0/0 0/0 .rodata @4359 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4359 = 6.0f / 5.0f; -COMPILER_STRIP_GATE(0x806854B8, &lit_4359); -#pragma pop - -/* 806854BC-806854C0 000088 0004+00 0/1 0/0 0/0 .rodata @4360 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4360 = 400.0f; -COMPILER_STRIP_GATE(0x806854BC, &lit_4360); -#pragma pop - -/* 806854C0-806854C4 00008C 0004+00 0/2 0/0 0/0 .rodata @4361 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4361 = 20.0f; -COMPILER_STRIP_GATE(0x806854C0, &lit_4361); -#pragma pop - -/* 806854C4-806854C8 000090 0004+00 0/3 0/0 0/0 .rodata @4362 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4362 = 65536.0f; -COMPILER_STRIP_GATE(0x806854C4, &lit_4362); -#pragma pop - /* 806835FC-80683DDC 000E7C 07E0+00 1/1 0/0 0/0 .text bee_nest_action__FP11e_bee_classP5bee_sSc */ static void bee_nest_action(e_bee_class* i_this, bee_s* i_bee, s8 i_nestHealth) { i_bee->mIsFlying = 0; @@ -877,43 +460,6 @@ static void bee_nest_action(e_bee_class* i_this, bee_s* i_bee, s8 i_nestHealth) } } - -/* ############################################################################################## */ -/* 806854C8-806854CC 000094 0004+00 0/1 0/0 0/0 .rodata @4395 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4395 = 3.0f; -COMPILER_STRIP_GATE(0x806854C8, &lit_4395); -#pragma pop - -/* 806854CC-806854D0 000098 0004+00 0/1 0/0 0/0 .rodata @4396 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4396 = 1000.0f; -COMPILER_STRIP_GATE(0x806854CC, &lit_4396); -#pragma pop - -/* 806854D0-806854D4 00009C 0004+00 0/1 0/0 0/0 .rodata @4397 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4397 = 1.0f / 5.0f; -COMPILER_STRIP_GATE(0x806854D0, &lit_4397); -#pragma pop - -/* 806854D4-806854D8 0000A0 0004+00 0/1 0/0 0/0 .rodata @4398 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4398 = 3.0f / 10.0f; -COMPILER_STRIP_GATE(0x806854D4, &lit_4398); -#pragma pop - -/* 806854D8-806854DC 0000A4 0004+00 0/1 0/0 0/0 .rodata @4399 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4399 = 1.0f / 100.0f; -COMPILER_STRIP_GATE(0x806854D8, &lit_4399); -#pragma pop - /* 80683DDC-80683FF4 00165C 0218+00 1/1 0/0 0/0 .text bee_fail__FP5bee_s */ static void bee_fail(bee_s* i_bee) { if (i_bee->mMode <= 1) { @@ -955,15 +501,6 @@ static void bee_fail(bee_s* i_bee) { bee_mtxset(i_bee); } - -/* ############################################################################################## */ -/* 806854DC-806854E0 0000A8 0004+00 0/1 0/0 0/0 .rodata @4448 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4448 = 4000.0f; -COMPILER_STRIP_GATE(0x806854DC, &lit_4448); -#pragma pop - /* 80683FF4-80684248 001874 0254+00 1/1 0/0 0/0 .text bee_start__FP11e_bee_classP5bee_s */ static void bee_start(e_bee_class* i_this, bee_s* i_bee) { @@ -1003,65 +540,8 @@ static void bee_start(e_bee_class* i_this, bee_s* i_bee) { bee_mtxset(i_bee); } - -/* ############################################################################################## */ -/* 806854E0-806854E4 0000AC 0004+00 0/1 0/0 0/0 .rodata @4676 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4676 = -20000.0f; -COMPILER_STRIP_GATE(0x806854E0, &lit_4676); -#pragma pop - -/* 806854E4-806854E8 0000B0 0004+00 0/1 0/0 0/0 .rodata @4677 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4677 = 30000.0f; -COMPILER_STRIP_GATE(0x806854E4, &lit_4677); -#pragma pop - -/* 806854E8-806854EC 0000B4 0004+00 0/1 0/0 0/0 .rodata @4678 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4678 = -15000.0f; -COMPILER_STRIP_GATE(0x806854E8, &lit_4678); -#pragma pop - -/* 806854EC-806854F0 0000B8 0004+00 0/1 0/0 0/0 .rodata @4679 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4679 = 120.0f; -COMPILER_STRIP_GATE(0x806854EC, &lit_4679); -#pragma pop - -/* 806854F0-806854F4 0000BC 0004+00 0/1 0/0 0/0 .rodata @4680 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4680 = 2500.0f; -COMPILER_STRIP_GATE(0x806854F0, &lit_4680); -#pragma pop - -/* 806854F4-806854F8 0000C0 0004+00 0/1 0/0 0/0 .rodata @4681 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4681 = 7.0f / 20.0f; -COMPILER_STRIP_GATE(0x806854F4, &lit_4681); -#pragma pop - -/* 80685698-806856A8 000068 000C+04 0/1 0/0 0/0 .bss @4455 */ -#pragma push -#pragma force_active on -static u8 lit_4455[12 + 4 /* padding */]; -#pragma pop - -/* 806856A8-806856B4 000078 000C+00 0/1 0/0 0/0 .bss non$4454 */ -#pragma push -#pragma force_active on -static u8 non[12]; -#pragma pop - /* 80684248-80684A94 001AC8 084C+00 1/1 0/0 0/0 .text bee_control__FP11e_bee_class */ -#ifdef NONMATCHING -// regalloc +// NONMATCHING regalloc static void bee_control(e_bee_class* i_this) { s8 nest_health = 0; @@ -1226,11 +706,6 @@ static void bee_control(e_bee_class* i_this) { } } } -#else -static void bee_control(e_bee_class* param_0) { - // NONMATCHING -} -#endif /* 80684A94-80684B5C 002314 00C8+00 2/1 0/0 0/0 .text daE_Bee_Execute__FP11e_bee_class */ static int daE_Bee_Execute(e_bee_class* i_this) { @@ -1269,19 +744,6 @@ static int daE_Bee_IsDelete(e_bee_class* param_0) { return 1; } -/* ############################################################################################## */ -/* 806854F8-80685508 0000C4 0010+00 1/1 0/0 0/0 .rodata l_bmdidx$4715 */ -SECTION_RODATA static u8 const l_bmdidx_4715[16] = { - 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x06, -}; -COMPILER_STRIP_GATE(0x806854F8, &l_bmdidx_4715); - -/* 80685524-80685524 0000F0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80685524 = "E_bee"; -#pragma pop - /* 80684B64-80684C70 0023E4 010C+00 1/0 0/0 0/0 .text daE_Bee_Delete__FP11e_bee_class */ static int daE_Bee_Delete(e_bee_class* i_this) { static const u32 l_bmdidx[4] = {3, 4, 5, 6}; @@ -1309,7 +771,6 @@ static int daE_Bee_Delete(e_bee_class* i_this) { return 1; } - /* 80684C70-80684E24 0024F0 01B4+00 1/1 0/0 0/0 .text useHeapInit__FP10fopAc_ac_c */ static int useHeapInit(fopAc_ac_c* i_this) { e_bee_class* _this = static_cast(i_this); @@ -1344,33 +805,6 @@ static int useHeapInit(fopAc_ac_c* i_this) { return true; } - -/* ############################################################################################## */ -/* 80685508-80685518 0000D4 0010+00 0/1 0/0 0/0 .rodata l_bmdidx$4800 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const l_bmdidx_4800[16] = { - 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x06, -}; -COMPILER_STRIP_GATE(0x80685508, &l_bmdidx_4800); -#pragma pop - -/* 80685518-8068551C 0000E4 0004+00 0/1 0/0 0/0 .rodata @4910 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4910 = -80.0f; -COMPILER_STRIP_GATE(0x80685518, &lit_4910); -#pragma pop - -/* 8068551C-80685524 0000E8 0008+00 0/1 0/0 0/0 .rodata @4912 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4912[8] = { - 0x43, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8068551C, &lit_4912); -#pragma pop - /* 80684E24-80685224 0026A4 0400+00 1/0 0/0 0/0 .text daE_Bee_Create__FP10fopAc_ac_c */ static cPhs__Step daE_Bee_Create(fopAc_ac_c* i_this) { e_bee_class* _this = static_cast(i_this); @@ -1461,54 +895,6 @@ static cPhs__Step daE_Bee_Create(fopAc_ac_c* i_this) { return step; } - -/* 80685224-8068526C 002AA4 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGSphFv */ -// cM3dGSph::~cM3dGSph() { -extern "C" void __dt__8cM3dGSphFv() { - // NONMATCHING -} - -/* 8068526C-806852B4 002AEC 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */ -// cM3dGCyl::~cM3dGCyl() { -extern "C" void __dt__8cM3dGCylFv() { - // NONMATCHING -} - -/* 806852B4-806852FC 002B34 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */ -// cM3dGAab::~cM3dGAab() { -extern "C" void __dt__8cM3dGAabFv() { - // NONMATCHING -} - -/* 806852FC-80685368 002B7C 006C+00 1/1 0/0 0/0 .text __dt__5bee_sFv */ -// bee_s::~bee_s() { -extern "C" void __dt__5bee_sFv() { - // NONMATCHING -} - -/* 80685368-8068539C 002BE8 0034+00 1/1 0/0 0/0 .text __ct__5bee_sFv */ -// bee_s::bee_s() { -extern "C" void __ct__5bee_sFv() { - // NONMATCHING -} - -/* 8068539C-806853E4 002C1C 0048+00 2/1 0/0 0/0 .text __dt__13daE_Bee_HIO_cFv */ -// daE_Bee_HIO_c::~daE_Bee_HIO_c() { -extern "C" void __dt__13daE_Bee_HIO_cFv() { - // NONMATCHING -} - -/* 806853E4-80685420 002C64 003C+00 0/0 1/0 0/0 .text __sinit_d_a_e_bee_cpp */ -void __sinit_d_a_e_bee_cpp() { - // NONMATCHING -} - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x806853E4, __sinit_d_a_e_bee_cpp); -#pragma pop - -/* ############################################################################################## */ /* 806856B4-806856B8 000084 0004+00 0/0 0/0 0/0 .bss * sInstance__40JASGlobalInstance<19JASDefaultBankTable> */ #pragma push @@ -1708,31 +1094,3 @@ extern actor_process_profile_definition g_profile_E_BEE = { fopAc_ACTOR_e, fopAc_CULLBOX_CUSTOM_e, }; - -/* 80685600-8068560C 0000D4 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGSph */ -SECTION_DATA extern void* __vt__8cM3dGSph[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGSphFv, -}; - -/* 8068560C-80685618 0000E0 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGCyl */ -SECTION_DATA extern void* __vt__8cM3dGCyl[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGCylFv, -}; - -/* 80685618-80685624 0000EC 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGAab */ -SECTION_DATA extern void* __vt__8cM3dGAab[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGAabFv, -}; - -/* 80685624-80685630 0000F8 000C+00 2/2 0/0 0/0 .data __vt__13daE_Bee_HIO_c */ -SECTION_DATA extern void* __vt__13daE_Bee_HIO_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__13daE_Bee_HIO_cFv, -}; \ No newline at end of file diff --git a/src/d/actor/d_a_e_vt.cpp b/src/d/actor/d_a_e_vt.cpp index 24030fb619..0e46f08419 100644 --- a/src/d/actor/d_a_e_vt.cpp +++ b/src/d/actor/d_a_e_vt.cpp @@ -8,13 +8,75 @@ #include "SSystem/SComponent/c_math.h" #include "c/c_damagereaction.h" #include "cmath.h" +#include "d/actor/d_a_midna.h" #include "d/actor/d_a_player.h" #include "d/d_com_inf_game.h" #include "d/d_s_play.h" -#include "dol2asm.h" #include "d/d_camera.h" -static void setMidnaBindEffect(fopEn_enemy_c*, Z2CreatureEnemy*, cXyz*, cXyz*); +// NONMATCHING load order and regalloc +static int setMidnaBindEffect(fopEn_enemy_c* i_enemy, Z2CreatureEnemy* i_sound, + cXyz* i_pos, cXyz* i_scale) { + static GXColor e_prim[2] = { + {0xFF, 0x78, 0x00, 0x00}, + {0xFF, 0x64, 0x78, 0x00}, + }; + static GXColor e_env[2] = { + {0x5A, 0x2D, 0x2D, 0x00}, + {0x3C, 0x1E, 0x1E, 0x00}, + }; + + daPy_py_c* player = daPy_getPlayerActorClass(); + if (player->getMidnaActor() != NULL && player->checkWolfLock(i_enemy)) { + cXyz local_48; + int world = dKy_darkworld_check() ? 1 : 0; + + if (i_enemy->getMidnaBindMode() == 0) { + i_enemy->setMidnaBindMode(1); + csXyz angle; + + MTXCopy(daPy_py_c::getMidnaActor()->getMtxHairTop(), mDoMtx_stack_c::get()); + cXyz local_54(100.0f, 0.0f, 0.0f); + mDoMtx_stack_c::multVec(&local_54, &local_48); + cXyz local_60 = local_48 - *i_pos; + + angle.y = cM_atan2s(local_60.x, local_60.z); + angle.x = -cM_atan2s(local_60.y, + JMAFastSqrt(local_60.x * local_60.x + local_60.z * local_60.z)); + angle.z = 0; + + JPABaseEmitter* emitter = + dComIfGp_particle_set(0x29B, i_pos, &i_enemy->tevStr, &angle, i_scale, + 0xff, NULL, fopAcM_GetRoomNo(i_enemy), + &e_prim[world], &e_env[world], NULL); + if (emitter != NULL) { + emitter->setGlobalParticleHeightScale(0.01f * local_60.abs()); + } + + dComIfGp_particle_set(0x29C, i_pos, &i_enemy->tevStr, &i_enemy->shape_angle, + i_scale, 0xff, NULL, fopAcM_GetRoomNo(i_enemy), + &e_prim[world], &e_env[world], NULL); + + i_sound->startCreatureSound(Z2SE_MIDNA_BIND_LOCK_ON, 0, -1); + } + + static u16 eff_id[3] = {0x029D, 0x029E, 0x029F}; + for (int i = 0; i < 3; i++) { + u32* bind_id = i_enemy->getMidnaBindID(i); + *bind_id = dComIfGp_particle_set(*bind_id, eff_id[i], i_pos, &i_enemy->tevStr, + &i_enemy->shape_angle, i_scale, 0xff, NULL, + fopAcM_GetRoomNo(i_enemy), + &e_prim[world], &e_env[world], NULL); + } + + i_sound->startCreatureSoundLevel(Z2SE_MIDNA_BIND_LOCK_SUS, 0, -1); + return 1; + + } else { + i_enemy->setMidnaBindMode(0); + return 0; + } +} #define WL_CUT_TYPE_SMALL 1 #define WL_CUT_TYPE_JUMP 2 @@ -76,452 +138,13 @@ enum daE_VA_JOINT { JNT_TAIL_CLOTH_04, }; -// -// Forward References: -// - -extern "C" void __ct__12daE_VA_HIO_cFv(); -extern "C" void ctrlJoint__8daE_VA_cFP8J3DJointP8J3DModel(); -extern "C" void JointCallBack__8daE_VA_cFP8J3DJointi(); -extern "C" void calcJointNeck__8daE_VA_cFv(); -extern "C" void calcJointSleeve__8daE_VA_cFv(); -extern "C" void draw__8daE_VA_cFv(); -extern "C" static void daE_VA_Draw__FP8daE_VA_c(); -extern "C" void setBck__8daE_VA_cFiUcff(); -extern "C" void checkBck__8daE_VA_cFi(); -extern "C" void setActionMode__8daE_VA_cFii(); -extern "C" void getWolfCutType__8daE_VA_cFv(); -extern "C" void onSwordAtBit__8daE_VA_cFv(); -extern "C" void offSwordShield__8daE_VA_cFv(); -extern "C" void setTransDamage__8daE_VA_cFP4cXyz(); -extern "C" void damage_check__8daE_VA_cFv(); -extern "C" void __as__8dCcD_CylFRC8dCcD_Cyl(); -extern "C" void __as__12dCcD_GObjInfFRC12dCcD_GObjInf(); -extern "C" void __dt__8dCcD_CylFv(); -extern "C" void __dt__8cM3dGCylFv(); -extern "C" void __dt__8cM3dGAabFv(); -extern "C" void setFireEffect__8daE_VA_cFi(); -extern "C" void setFootEffect__8daE_VA_cFv(); -extern "C" void setWeponEffect__8daE_VA_cFv(); -extern "C" void setBugsEffect__8daE_VA_cFv(); -extern "C" void setWeponLandEffect__8daE_VA_cFv(); -extern "C" void setWeponGlow__8daE_VA_cFv(); -extern "C" void setWeponFlashScreen__8daE_VA_cFv(); -extern "C" void setMagicEffect__8daE_VA_cFi(); -extern "C" void setMagicHitEffect__8daE_VA_cFi(); -extern "C" void demo_skip__8daE_VA_cFi(); -extern "C" void DemoSkipCallBack__8daE_VA_cFPvi(); -extern "C" void getRopeLength__8daE_VA_cFi(); -extern "C" void calcOpRopePos__8daE_VA_cFv(); -extern "C" void onRopeCutStatus__8daE_VA_cFiii(); -extern "C" void setVibRope__8daE_VA_cFff(); -extern "C" void setVibTag__8daE_VA_cFii(); -extern "C" void calcTagAngle__8daE_VA_cFv(); -extern "C" void calcRopeFirePos__8daE_VA_cFv(); -extern "C" void executeDemoOpWait__8daE_VA_cFv(); -extern "C" void executeDemoOp__8daE_VA_cFv(); -extern "C" void executeClearWait__8daE_VA_cFv(); -extern "C" void executeClearChase__8daE_VA_cFv(); -extern "C" void executeClearAttack__8daE_VA_cFv(); -extern "C" void executeTransWait__8daE_VA_cFv(); -extern "C" void executeTransChase__8daE_VA_cFv(); -extern "C" void executeTransAttack__8daE_VA_cFv(); -extern "C" void executeTransBiteDamage__8daE_VA_cFv(); -extern "C" void executeTransDamage__8daE_VA_cFv(); -extern "C" void executeTransThrough__8daE_VA_cFv(); -extern "C" void executeOpaciWait__8daE_VA_cFv(); -extern "C" void executeOpaciFly__8daE_VA_cFv(); -extern "C" void executeOpaciDamage__8daE_VA_cFv(); -extern "C" void executeOpaciChase__8daE_VA_cFv(); -extern "C" void executeOpaciAttack__8daE_VA_cFv(); -extern "C" void executeOpaciDown__8daE_VA_cFv(); -extern "C" void executeOpaciDownDamage__8daE_VA_cFv(); -extern "C" void executeOpaciFlip__8daE_VA_cFv(); -extern "C" void executeOpaciFadeAway__8daE_VA_cFv(); -extern "C" void executeOpaciDeath__8daE_VA_cFv(); -extern "C" void calcMagicMove__8daE_VA_cFv(); -extern "C" void setAlphaType__8daE_VA_cFv(); -extern "C" void action__8daE_VA_cFv(); -extern "C" void mtx_set__8daE_VA_cFv(); -extern "C" void cc_set__8daE_VA_cFv(); -extern "C" void execute__8daE_VA_cFv(); -extern "C" static void daE_VA_Execute__FP8daE_VA_c(); -extern "C" static bool daE_VA_IsDelete__FP8daE_VA_c(); -extern "C" void _delete__8daE_VA_cFv(); -extern "C" static void daE_VA_Delete__FP8daE_VA_c(); -extern "C" void CreateHeap__8daE_VA_cFv(); -extern "C" void __dt__12J3DFrameCtrlFv(); -extern "C" static void useHeapInit__FP10fopAc_ac_c(); -extern "C" void create__8daE_VA_cFv(); -extern "C" void __ct__8daE_VA_cFv(); -extern "C" void __ct__8dCcD_SphFv(); -extern "C" void __ct__8dCcD_CylFv(); -extern "C" void __dt__8dCcD_SphFv(); -extern "C" void __dt__8cM3dGSphFv(); -extern "C" void __dt__10dCcD_GSttsFv(); -extern "C" void __ct__12dBgS_ObjAcchFv(); -extern "C" void __dt__12dBgS_ObjAcchFv(); -extern "C" void __dt__12dBgS_AcchCirFv(); -extern "C" void __ct__4cXyzFv(); -extern "C" void __ct__5csXyzFv(); -extern "C" static void daE_VA_Create__FP8daE_VA_c(); -extern "C" void __dt__10cCcD_GSttsFv(); -extern "C" void __dt__12daE_VA_HIO_cFv(); -extern "C" void __sinit_d_a_e_vt_cpp(); -extern "C" static void func_807CE7E0(); -extern "C" static void func_807CE7E8(); -extern "C" static void setMidnaBindEffect__FP13fopEn_enemy_cP15Z2CreatureEnemyP4cXyzP4cXyz(); -extern "C" void __dt__5csXyzFv(); -extern "C" void __dt__4cXyzFv(); -extern "C" void checkNowWolf__9daPy_py_cFv(); -extern "C" extern char const* const d_a_e_vt__stringBase0; - -// -// External References: -// - -extern "C" void mDoMtx_XrotM__FPA4_fs(); -extern "C" void mDoMtx_YrotS__FPA4_fs(); -extern "C" void mDoMtx_YrotM__FPA4_fs(); -extern "C" void mDoMtx_ZrotM__FPA4_fs(); -extern "C" void mDoMtx_MtxToRot__FPA4_CfP5csXyz(); -extern "C" void transS__14mDoMtx_stack_cFRC4cXyz(); -extern "C" void transM__14mDoMtx_stack_cFfff(); -extern "C" void transM__14mDoMtx_stack_cFRC4cXyz(); -extern "C" void scaleM__14mDoMtx_stack_cFfff(); -extern "C" void ZXYrotM__14mDoMtx_stack_cFRC5csXyz(); -extern "C" void play__14mDoExt_baseAnmFv(); -extern "C" void init__13mDoExt_brkAnmFP16J3DMaterialTableP15J3DAnmTevRegKeyiifss(); -extern "C" void entry__13mDoExt_brkAnmFP16J3DMaterialTablef(); -extern "C" void mDoExt_modelUpdateDL__FP8J3DModel(); -extern "C" void create__21mDoExt_invisibleModelFP8J3DModelUc(); -extern "C" void entryDL__21mDoExt_invisibleModelFP4cXyz(); -extern "C" void -__ct__16mDoExt_McaMorfSOFP12J3DModelDataP25mDoExt_McaMorfCallBack1_cP25mDoExt_McaMorfCallBack2_cP15J3DAnmTransformifiiP10Z2CreatureUlUl(); -extern "C" void setAnm__16mDoExt_McaMorfSOFP15J3DAnmTransformiffff(); -extern "C" void play__16mDoExt_McaMorfSOFUlSc(); -extern "C" void entryDL__16mDoExt_McaMorfSOFv(); -extern "C" void modelCalc__16mDoExt_McaMorfSOFv(); -extern "C" void init__19mDoExt_3DlineMat0_cFUsUsi(); -extern "C" void init__19mDoExt_3DlineMat1_cFUsUsP7ResTIMGi(); -extern "C" void update__19mDoExt_3DlineMat1_cFiR8_GXColorP12dKy_tevstr_c(); -extern "C" void setMat__26mDoExt_3DlineMatSortPacketFP18mDoExt_3DlineMat_c(); -extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void fopAcM_delete__FP10fopAc_ac_c(); -extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl(); -extern "C" void fopAcM_SetMin__FP10fopAc_ac_cfff(); -extern "C" void fopAcM_SetMax__FP10fopAc_ac_cfff(); -extern "C" void fopAcM_posMoveF__FP10fopAc_ac_cPC4cXyz(); -extern "C" void fopAcM_searchActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c(); -extern "C" void fopAcM_searchActorAngleX__FPC10fopAc_ac_cPC10fopAc_ac_c(); -extern "C" void fopAcM_searchActorDistance__FPC10fopAc_ac_cPC10fopAc_ac_c(); -extern "C" void fopAcM_searchActorDistanceXZ__FPC10fopAc_ac_cPC10fopAc_ac_c(); -extern "C" void fopAcM_orderPotentialEvent__FP10fopAc_ac_cUsUsUs(); -extern "C" void fopAcM_createDisappear__FPC10fopAc_ac_cPC4cXyzUcUcUc(); -extern "C" void fopAcM_setEffectMtx__FPC10fopAc_ac_cPC12J3DModelData(); -extern "C" void dStage_changeScene__FifUlScsi(); -extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfGp_getReverb__Fi(); -extern "C" void dComIfGs_onOneZoneSwitch__Fii(); -extern "C" void dComIfGs_offOneZoneSwitch__Fii(); -extern "C" void dComIfGs_isOneZoneSwitch__Fii(); -extern "C" void -dComIfGd_setShadow__FUlScP8J3DModelP4cXyzffffR13cBgS_PolyInfoP12dKy_tevstr_csfP9_GXTexObj(); -extern "C" void onDungeonItem__12dSv_memBit_cFi(); -extern "C" void onSwitch__10dSv_info_cFii(); -extern "C" void isSwitch__10dSv_info_cCFii(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void reset__14dEvt_control_cFv(); -extern "C" void setSkipProc__14dEvt_control_cFPvPFPvi_ii(); -extern "C" void onSkipFade__14dEvt_control_cFv(); -extern "C" void getEmitter__Q213dPa_control_c7level_cFUl(); -extern "C" void setHitMark__13dPa_control_cFUsP10fopAc_ac_cPC4cXyzPC5csXyzPC4cXyzUl(); -extern "C" void -set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf(); -extern "C" void -set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf(); -extern "C" void addReal__21dDlst_shadowControl_cFUlP8J3DModel(); -extern "C" void StartShock__12dVibration_cFii4cXyz(); -extern "C" void StartQuake__12dVibration_cFii4cXyz(); -extern "C" void StopQuake__12dVibration_cFi(); -extern "C" void __ct__12dBgS_AcchCirFv(); -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 SetObj__16dBgS_PolyPassChkFv(); -extern "C" void __ct__10dCcD_GSttsFv(); -extern "C" void Move__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 ChkAtHit__12dCcD_GObjInfFv(); -extern "C" void ChkTgHit__12dCcD_GObjInfFv(); -extern "C" void GetTgHitObj__12dCcD_GObjInfFv(); -extern "C" void Set__8dCcD_CylFRC11dCcD_SrcCyl(); -extern "C" void Set__8dCcD_SphFRC11dCcD_SrcSph(); -extern "C" void def_se_set__FP10Z2CreatureP8cCcD_ObjUlP10fopAc_ac_c(); -extern "C" void cc_at_check__FP10fopAc_ac_cP11dCcU_AtInfo(); -extern "C" void checkMasterSwordEquip__9daPy_py_cFv(); -extern "C" void checkNowWolfEyeUp__9daPy_py_cFv(); -extern "C" void Start__9dCamera_cFv(); -extern "C" void Stop__9dCamera_cFv(); -extern "C" void SetTrimSize__9dCamera_cFl(); -extern "C" void Set__9dCamera_cF4cXyz4cXyzfs(); -extern "C" void Reset__9dCamera_cF4cXyz4cXyzfs(); -extern "C" void Reset__9dCamera_cF4cXyz4cXyz(); -extern "C" void dCam_getBody__Fv(); -extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void dKy_custom_colset__FUcUcf(); -extern "C" void dKy_darkworld_check__Fv(); -extern "C" void Set__4cCcSFP8cCcD_Obj(); -extern "C" void __pl__4cXyzCFRC3Vec(); -extern "C" void __mi__4cXyzCFRC3Vec(); -extern "C" void __ml__4cXyzCFf(); -extern "C" void __dv__4cXyzCFf(); -extern "C" void normalizeZP__4cXyzFv(); -extern "C" void cM_atan2s__Fff(); -extern "C" void cM_rnd__Fv(); -extern "C" void cM_rndF__Ff(); -extern "C" void __dt__13cBgS_PolyInfoFv(); -extern "C" void __dt__8cM3dGCirFv(); -extern "C" void SetC__8cM3dGCylFRC4cXyz(); -extern "C" void SetH__8cM3dGCylFf(); -extern "C" void SetR__8cM3dGCylFf(); -extern "C" void SetC__8cM3dGSphFRC4cXyz(); -extern "C" void SetR__8cM3dGSphFf(); -extern "C" void cLib_addCalc__FPfffff(); -extern "C" void cLib_addCalc2__FPffff(); -extern "C" void cLib_addCalcAngleS__FPsssss(); -extern "C" void cLib_chaseUC__FPUcUcUc(); -extern "C" void cLib_chaseF__FPfff(); -extern "C" void cLib_chasePos__FP4cXyzRC4cXyzf(); -extern "C" void cLib_chasePosXZ__FP4cXyzRC4cXyzf(); -extern "C" void cLib_chaseAngleS__FPsss(); -extern "C" void cLib_targetAngleY__FPC3VecPC3Vec(); -extern "C" void cLib_targetAngleX__FPC4cXyzPC4cXyz(); -extern "C" void cLib_offsetPos__FP4cXyzPC4cXyzsPC4cXyz(); -extern "C" void deleteAllParticle__14JPABaseEmitterFv(); -extern "C" void func_80280808(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void subBgmStart__8Z2SeqMgrFUl(); -extern "C" void subBgmStop__8Z2SeqMgrFv(); -extern "C" void bgmStreamPrepare__8Z2SeqMgrFUl(); -extern "C" void bgmStreamPlay__8Z2SeqMgrFv(); -extern "C" void bgmStreamStop__8Z2SeqMgrFUl(); -extern "C" void changeSubBgmStatus__8Z2SeqMgrFl(); -extern "C" void __ct__15Z2CreatureEnemyFv(); -extern "C" void init__15Z2CreatureEnemyFP3VecP3VecUcUc(); -extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); -extern "C" void init__12J3DFrameCtrlFs(); -extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void __copy(); -extern "C" void __construct_array(); -extern "C" void _savegpr_14(); -extern "C" void _savegpr_17(); -extern "C" void _savegpr_19(); -extern "C" void _savegpr_22(); -extern "C" void _savegpr_23(); -extern "C" void _savegpr_24(); -extern "C" void _savegpr_25(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_14(); -extern "C" void _restgpr_17(); -extern "C" void _restgpr_19(); -extern "C" void _restgpr_22(); -extern "C" void _restgpr_23(); -extern "C" void _restgpr_24(); -extern "C" void _restgpr_25(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" extern void* __vt__19mDoExt_3DlineMat1_c[5]; -extern "C" extern void* __vt__19mDoExt_3DlineMat0_c[5]; -extern "C" extern void* __vt__8dCcD_Sph[36]; -extern "C" extern void* __vt__8dCcD_Cyl[36]; -extern "C" extern void* __vt__9dCcD_Stts[11]; -extern "C" extern void* __vt__12cCcD_SphAttr[25]; -extern "C" extern void* __vt__12cCcD_CylAttr[25]; -extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; -extern "C" extern void* __vt__9cCcD_Stts[8]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" u8 mCurrentMtx__6J3DSys[48]; -extern "C" extern u8 j3dZModeTable[96]; -extern "C" u8 sincosTable___5JMath[65536]; -extern "C" extern u8 struct_80450C98[4]; -extern "C" u8 m_midnaActor__9daPy_py_c[4]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; -extern "C" void __register_global_object(); - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 807CECA8-807CECAC 000000 0004+00 36/36 0/0 0/0 .rodata @3907 */ -SECTION_RODATA static f32 const lit_3907 = 100.0f; -COMPILER_STRIP_GATE(0x807CECA8, &lit_3907); - -/* 807CECAC-807CECB0 000004 0004+00 4/36 0/0 0/0 .rodata @3908 */ -SECTION_RODATA static u8 const lit_3908[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x807CECAC, &lit_3908); - -/* 807CECB0-807CECB8 000008 0004+04 11/34 0/0 0/0 .rodata @3909 */ -SECTION_RODATA static f32 const lit_3909[1 + 1 /* padding */] = { - 1.0f, - /* padding */ - 0.0f, -}; -COMPILER_STRIP_GATE(0x807CECB0, &lit_3909); - -/* 807CECB8-807CECC0 000010 0008+00 0/3 0/0 0/0 .rodata @3910 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3910[8] = { - 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x807CECB8, &lit_3910); -#pragma pop - -/* 807CECC0-807CECC8 000018 0008+00 0/3 0/0 0/0 .rodata @3911 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3911[8] = { - 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x807CECC0, &lit_3911); -#pragma pop - -/* 807CECC8-807CECD0 000020 0008+00 0/3 0/0 0/0 .rodata @3912 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3912[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x807CECC8, &lit_3912); -#pragma pop - -/* 807CECD0-807CECD4 000028 0004+00 0/2 0/0 0/0 .rodata @3913 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3913 = 1.0f / 100.0f; -COMPILER_STRIP_GATE(0x807CECD0, &lit_3913); -#pragma pop - -/* 807CECD4-807CECD8 00002C 0004+00 0/1 0/0 0/0 .rodata @3928 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3928 = 6.0f / 5.0f; -COMPILER_STRIP_GATE(0x807CECD4, &lit_3928); -#pragma pop - -/* 807CECD8-807CECDC 000030 0004+00 0/3 0/0 0/0 .rodata @3929 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3929 = 500.0f; -COMPILER_STRIP_GATE(0x807CECD8, &lit_3929); -#pragma pop - -/* 807CECDC-807CECE0 000034 0004+00 0/1 0/0 0/0 .rodata @3930 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3930 = 7.0f; -COMPILER_STRIP_GATE(0x807CECDC, &lit_3930); -#pragma pop - -/* 807CECE0-807CECE4 000038 0004+00 0/1 0/0 0/0 .rodata @3931 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3931 = 2500.0f; -COMPILER_STRIP_GATE(0x807CECE0, &lit_3931); -#pragma pop - -/* 807CECE4-807CECE8 00003C 0004+00 0/3 0/0 0/0 .rodata @3932 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3932 = 1000.0f; -COMPILER_STRIP_GATE(0x807CECE4, &lit_3932); -#pragma pop - -/* 807CECE8-807CECEC 000040 0004+00 0/1 0/0 0/0 .rodata @3933 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3933 = 800.0f; -COMPILER_STRIP_GATE(0x807CECE8, &lit_3933); -#pragma pop - -/* 807CECEC-807CECF0 000044 0004+00 1/3 0/0 0/0 .rodata @3934 */ -SECTION_RODATA static f32 const lit_3934 = 0.5f; -COMPILER_STRIP_GATE(0x807CECEC, &lit_3934); - -/* 807CECF0-807CECF4 000048 0004+00 0/16 0/0 0/0 .rodata @3935 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3935 = 3.0f; -COMPILER_STRIP_GATE(0x807CECF0, &lit_3935); -#pragma pop - -/* 807CECF4-807CECF8 00004C 0004+00 0/2 0/0 0/0 .rodata @3936 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3936 = -50.0f; -COMPILER_STRIP_GATE(0x807CECF4, &lit_3936); -#pragma pop - -/* 807CECF8-807CECFC 000050 0004+00 0/6 0/0 0/0 .rodata @3937 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3937 = 40.0f; -COMPILER_STRIP_GATE(0x807CECF8, &lit_3937); -#pragma pop - -/* 807CECFC-807CED00 000054 0004+00 0/1 0/0 0/0 .rodata @3938 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3938 = 35.0f; -COMPILER_STRIP_GATE(0x807CECFC, &lit_3938); -#pragma pop - -/* 807CED00-807CED04 000058 0004+00 0/1 0/0 0/0 .rodata @3939 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3939 = 82.0f; -COMPILER_STRIP_GATE(0x807CED00, &lit_3939); -#pragma pop - -/* 807CED04-807CED08 00005C 0004+00 0/2 0/0 0/0 .rodata @3940 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3940 = 210.0f; -COMPILER_STRIP_GATE(0x807CED04, &lit_3940); -#pragma pop - /* 807CEF08-807CEF14 000000 000C+00 3/3 0/0 0/0 .data cNullVec__6Z2Calc */ -SECTION_DATA static u8 cNullVec__6Z2Calc[12] = { +static u8 cNullVec__6Z2Calc[12] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; /* 807CEF14-807CEF28 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 */] = { +static u32 lit_1787[1 + 4 /* padding */] = { 0x02000201, /* padding */ 0x40080000, @@ -529,43 +152,11 @@ SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = { 0x3FE00000, 0x00000000, }; -#pragma pop -/* 807CEF28-807CEF30 000020 0008+00 0/1 0/0 0/0 .data e_prim$3786 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 e_prim[8] = { - 0xFF, 0x78, 0x00, 0x00, 0xFF, 0x64, 0x78, 0x00, -}; -#pragma pop - -/* 807CEF30-807CEF38 000028 0008+00 0/1 0/0 0/0 .data e_env$3787 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 e_env[8] = { - 0x5A, 0x2D, 0x2D, 0x00, 0x3C, 0x1E, 0x1E, 0x00, -}; -#pragma pop - -/* 807CEF38-807CEF40 000030 0006+02 0/1 0/0 0/0 .data eff_id$3795 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 eff_id[6 + 2 /* padding */] = { - 0x02, - 0x9D, - 0x02, - 0x9E, - 0x02, - 0x9F, - /* padding */ - 0x00, - 0x00, -}; -#pragma pop +namespace +{ /* 807CEF40-807CEF80 000038 0040+00 0/1 0/0 0/0 .data cc_vt_neck_src__22@unnamed@d_a_e_vt_cpp@ */ -#pragma push -#pragma force_active on static dCcD_SrcSph cc_vt_neck_src = { { {0x0, {{0x0, 0x0, 0x0}, {0x80000000, 0x3}, 0x0}}, // mObj @@ -577,11 +168,8 @@ static dCcD_SrcSph cc_vt_neck_src = { {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph } // mSphAttr }; -#pragma pop /* 807CEF80-807CEFC4 000078 0044+00 0/1 0/0 0/0 .data cc_vt_body_src__22@unnamed@d_a_e_vt_cpp@ */ -#pragma push -#pragma force_active on static dCcD_SrcCyl cc_vt_body_src = { { {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x43}, 0x75}}, // mObj @@ -595,12 +183,9 @@ static dCcD_SrcCyl cc_vt_body_src = { 158.0f // mHeight } // mCyl }; -#pragma pop /* 807CEFC4-807CF004 0000BC 0040+00 0/1 0/0 0/0 .data cc_vt_attack_src__22@unnamed@d_a_e_vt_cpp@ */ -#pragma push -#pragma force_active on static dCcD_SrcSph cc_vt_attack_src = { { {0x0, {{0x100000, 0x2, 0xD}, {0xD8FBFDFF, 0x43}, 0x75}}, // mObj @@ -612,11 +197,8 @@ static dCcD_SrcSph cc_vt_attack_src = { {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph } // mSphAttr }; -#pragma pop /* 807CF004-807CF044 0000FC 0040+00 0/1 0/0 0/0 .data cc_vt_line_src__22@unnamed@d_a_e_vt_cpp@ */ -#pragma push -#pragma force_active on static dCcD_SrcSph cc_vt_line_src = { { {0x0, {{0x0, 0x0, 0x0}, {0xD8FBFDFF, 0x43}, 0x75}}, // mObj @@ -628,11 +210,8 @@ static dCcD_SrcSph cc_vt_line_src = { {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph } // mSphAttr }; -#pragma pop /* 807CF044-807CF084 00013C 0040+00 0/1 0/0 0/0 .data cc_vt_magic_src__22@unnamed@d_a_e_vt_cpp@ */ -#pragma push -#pragma force_active on static dCcD_SrcSph cc_vt_magic_src = { { {0x0, {{0x400, 0x2, 0xD}, {0xD8FBFDFF, 0x0}, 0x0}}, // mObj @@ -644,308 +223,29 @@ static dCcD_SrcSph cc_vt_magic_src = { {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph } // mSphAttr }; -#pragma pop /* 807CF084-807CF0AC 00017C 0027+01 1/1 0/0 0/0 .data va_tag_set_size__22@unnamed@d_a_e_vt_cpp@ */ -SECTION_DATA static u8 va_tag_set_size[39] = { +static u8 va_tag_set_size[39] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, }; /* 807CF0AC-807CF0D4 0001A4 0027+01 3/4 0/0 0/0 .data va_tag_set_num__22@unnamed@d_a_e_vt_cpp@ */ -SECTION_DATA static u8 va_tag_set_num[39] = { +static u8 va_tag_set_num[39] = { 0x01, 0x0C, 0x16, 0x1F, 0x21, 0x2A, 0x2B, 0x02, 0x04, 0x0D, 0x0F, 0x15, 0x18, 0x20, 0x2C, 0x03, 0x05, 0x06, 0x0B, 0x10, 0x17, 0x19, 0x1A, 0x22, 0x24, 0x29, 0x2D, 0x34, 0x49, 0x52, 0x36, 0x3E, 0x54, 0x5C, 0x39, 0x41, 0x4C, 0x56, 0x5E, }; /* 807CF0D4-807CF170 0001CC 009C+00 1/1 0/0 0/0 .data va_tag_offset__22@unnamed@d_a_e_vt_cpp@ */ -SECTION_DATA static f32 va_tag_offset[39] = { +static f32 va_tag_offset[39] = { 20.0f, 20.0f, 20.0f, 20.0f, 20.0f, 0.0f, 40.0f, 0.0f, 30.0f, 10.0f, 0.0f, 0.0f, 20.0f, 0.0f, 10.0f, 20.0f, 40.0f, 0.0f, 20.0f, 0.0f, 0.0f, 20.0f, 0.0f, 10.0f, 0.0f, 0.0f, 20.0f, 10.0f, 20.0f, 30.0f, 0.0f, 10.0f, 20.0f, 0.0f, 0.0f, 10.0f, 20.0f, 30.0f, 0.0f, }; -/* 807CF170-807CF174 000268 0004+00 1/1 0/0 0/0 .data l_color$4364 */ -SECTION_DATA static u8 l_color[4] = { - 0x64, - 0x46, - 0x00, - 0xFF, -}; - -/* 807CF174-807CF17C 00026C 0008+00 1/1 0/0 0/0 .data va_foot_smoke_id$5094 */ -SECTION_DATA static u8 va_foot_smoke_id[8] = { - 0x88, 0x91, 0x88, 0x92, 0x85, 0xC4, 0x85, 0xC5, -}; - -/* 807CF17C-807CF184 000274 0006+02 1/1 0/0 0/0 .data va_wepon_eff_id1 */ -SECTION_DATA static u16 va_wepon_eff_id1[] = { - 0x85D8, - 0x85D9, - 0x85DA, -}; - -/* 807CF184-807CF18C 00027C 0006+02 1/1 0/0 0/0 .data va_wepon_eff_id2 */ -SECTION_DATA static u16 va_wepon_eff_id2[] = { - 0x85C6, - 0x85C7, - 0x85C8, -}; - -/* 807CF18C-807CF1A4 000284 0018+00 1/1 0/0 0/0 .data va_bugs_eff_jnt */ -SECTION_DATA static u16 va_bugs_eff_jnt[] = { - 0x01, 0x02, 0x22, 0x04, 0x05, 0x07, 0x10, 0x11, 0x13, 0x2C, 0x2F, 0x32, -}; - -/* 807CF1A4-807CF1BC 00029C 0018+00 1/1 0/0 0/0 .data va_bugs_eff_id */ -SECTION_DATA static u16 va_bugs_eff_id[] = { - 0x85E1, 0x85E2, 0x85E3, 0x85DB, 0x85DC, 0x85DD, 0x85DE, 0x85DF, 0x85E0, 0x85E4, 0x85E5, 0x85E6, -}; - -/* 807CF1BC-807CF1C4 0002B4 0006+02 1/1 0/0 0/0 .data va_weapon_land_eff_id */ -SECTION_DATA static u16 va_weapon_land_eff_id[] = { - 0x85C9, - 0x85CA, - 0x85CB, -}; - -/* 807CF1C4-807CF1CC 0002BC 0006+02 1/1 0/0 0/0 .data va_magic_eff_id */ -SECTION_DATA static u16 va_magic_eff_id[] = { - 0x8848, - 0x8849, - 0x884A, -}; - -/* 807CF1CC-807CF1F8 0002C4 002C+00 1/1 0/0 0/0 .data line_pull_power */ -SECTION_DATA static f32 line_pull_power[] = { - 0.0f, 0.1f, 0.2f, 0.3f, 0.4f, 0.5f, 0.6f, 0.7f, 0.8f, 0.9f, 1.0f, -}; - -/* 807CF1F8-807CF200 0002F0 0008+00 1/2 0/0 0/0 .data TAG_VIB_ANGLE */ -SECTION_DATA static s16 TAG_VIB_ANGLE[] = { - -0x800, - 0x800, - -0x1000, - 0x1000, -}; - -/* 807CF200-807CF210 0002F8 0010+00 0/1 0/0 0/0 .data TAG_VIB_WIDTH */ -#pragma push -#pragma force_active on -SECTION_DATA static s16 TAG_VIB_WIDTH[] = { - 0x1C0, 0x280, 0x180, 0x240, 0x380, 0x500, 0x300, 0x480, -}; -#pragma pop - -/* 807CF210-807CF23C -00001 002C+00 1/1 0/0 0/0 .data @6371 */ -SECTION_DATA static void* lit_6371[11] = { - (void*)(((char*)executeDemoOp__8daE_VA_cFv) + 0x70), - (void*)(((char*)executeDemoOp__8daE_VA_cFv) + 0x1FC), - (void*)(((char*)executeDemoOp__8daE_VA_cFv) + 0x2B4), - (void*)(((char*)executeDemoOp__8daE_VA_cFv) + 0xCF4), - (void*)(((char*)executeDemoOp__8daE_VA_cFv) + 0x3B4), - (void*)(((char*)executeDemoOp__8daE_VA_cFv) + 0x4F8), - (void*)(((char*)executeDemoOp__8daE_VA_cFv) + 0x6F0), - (void*)(((char*)executeDemoOp__8daE_VA_cFv) + 0x700), - (void*)(((char*)executeDemoOp__8daE_VA_cFv) + 0x874), - (void*)(((char*)executeDemoOp__8daE_VA_cFv) + 0xA60), - (void*)(((char*)executeDemoOp__8daE_VA_cFv) + 0xB0C), -}; - -/* 807CF23C-807CF27C -00001 0040+00 1/1 0/0 0/0 .data @7005 */ -SECTION_DATA static void* lit_7005[16] = { - (void*)(((char*)executeOpaciWait__8daE_VA_cFv) + 0x4C), - (void*)(((char*)executeOpaciWait__8daE_VA_cFv) + 0x5CC), - (void*)(((char*)executeOpaciWait__8daE_VA_cFv) + 0x5CC), - (void*)(((char*)executeOpaciWait__8daE_VA_cFv) + 0x5CC), - (void*)(((char*)executeOpaciWait__8daE_VA_cFv) + 0x5CC), - (void*)(((char*)executeOpaciWait__8daE_VA_cFv) + 0x5CC), - (void*)(((char*)executeOpaciWait__8daE_VA_cFv) + 0x5CC), - (void*)(((char*)executeOpaciWait__8daE_VA_cFv) + 0x5CC), - (void*)(((char*)executeOpaciWait__8daE_VA_cFv) + 0x5CC), - (void*)(((char*)executeOpaciWait__8daE_VA_cFv) + 0x5CC), - (void*)(((char*)executeOpaciWait__8daE_VA_cFv) + 0x124), - (void*)(((char*)executeOpaciWait__8daE_VA_cFv) + 0x5CC), - (void*)(((char*)executeOpaciWait__8daE_VA_cFv) + 0x2BC), - (void*)(((char*)executeOpaciWait__8daE_VA_cFv) + 0x2F8), - (void*)(((char*)executeOpaciWait__8daE_VA_cFv) + 0x41C), - (void*)(((char*)executeOpaciWait__8daE_VA_cFv) + 0x5B0), -}; - -/* 807CF27C-807CF2D8 -00001 005C+00 1/1 0/0 0/0 .data @7243 */ -SECTION_DATA static void* lit_7243[23] = { - (void*)(((char*)executeOpaciFly__8daE_VA_cFv) + 0x90), - (void*)(((char*)executeOpaciFly__8daE_VA_cFv) + 0x1D4), - (void*)(((char*)executeOpaciFly__8daE_VA_cFv) + 0x420), - (void*)(((char*)executeOpaciFly__8daE_VA_cFv) + 0x478), - (void*)(((char*)executeOpaciFly__8daE_VA_cFv) + 0x4E4), - (void*)(((char*)executeOpaciFly__8daE_VA_cFv) + 0x8C4), - (void*)(((char*)executeOpaciFly__8daE_VA_cFv) + 0x8C4), - (void*)(((char*)executeOpaciFly__8daE_VA_cFv) + 0x8C4), - (void*)(((char*)executeOpaciFly__8daE_VA_cFv) + 0x8C4), - (void*)(((char*)executeOpaciFly__8daE_VA_cFv) + 0x8C4), - (void*)(((char*)executeOpaciFly__8daE_VA_cFv) + 0x6FC), - (void*)(((char*)executeOpaciFly__8daE_VA_cFv) + 0x70C), - (void*)(((char*)executeOpaciFly__8daE_VA_cFv) + 0x73C), - (void*)(((char*)executeOpaciFly__8daE_VA_cFv) + 0x8C4), - (void*)(((char*)executeOpaciFly__8daE_VA_cFv) + 0x8C4), - (void*)(((char*)executeOpaciFly__8daE_VA_cFv) + 0x8C4), - (void*)(((char*)executeOpaciFly__8daE_VA_cFv) + 0x8C4), - (void*)(((char*)executeOpaciFly__8daE_VA_cFv) + 0x8C4), - (void*)(((char*)executeOpaciFly__8daE_VA_cFv) + 0x8C4), - (void*)(((char*)executeOpaciFly__8daE_VA_cFv) + 0x8C4), - (void*)(((char*)executeOpaciFly__8daE_VA_cFv) + 0x90), - (void*)(((char*)executeOpaciFly__8daE_VA_cFv) + 0x90), - (void*)(((char*)executeOpaciFly__8daE_VA_cFv) + 0x90), -}; - -/* 807CF2D8-807CF304 -00001 002C+00 1/1 0/0 0/0 .data @7741 */ -SECTION_DATA static void* lit_7741[11] = { - (void*)(((char*)executeOpaciFadeAway__8daE_VA_cFv) + 0x16C), - (void*)(((char*)executeOpaciFadeAway__8daE_VA_cFv) + 0x188), - (void*)(((char*)executeOpaciFadeAway__8daE_VA_cFv) + 0x250), - (void*)(((char*)executeOpaciFadeAway__8daE_VA_cFv) + 0x278), - (void*)(((char*)executeOpaciFadeAway__8daE_VA_cFv) + 0x330), - (void*)(((char*)executeOpaciFadeAway__8daE_VA_cFv) + 0x394), - (void*)(((char*)executeOpaciFadeAway__8daE_VA_cFv) + 0x3CC), - (void*)(((char*)executeOpaciFadeAway__8daE_VA_cFv) + 0x3CC), - (void*)(((char*)executeOpaciFadeAway__8daE_VA_cFv) + 0x3CC), - (void*)(((char*)executeOpaciFadeAway__8daE_VA_cFv) + 0x3CC), - (void*)(((char*)executeOpaciFadeAway__8daE_VA_cFv) + 0x5C), -}; - -/* 807CF304-807CF330 -00001 002C+00 1/1 0/0 0/0 .data @7924 */ -SECTION_DATA static void* lit_7924[11] = { - (void*)(((char*)executeOpaciDeath__8daE_VA_cFv) + 0x7C), - (void*)(((char*)executeOpaciDeath__8daE_VA_cFv) + 0x268), - (void*)(((char*)executeOpaciDeath__8daE_VA_cFv) + 0x37C), - (void*)(((char*)executeOpaciDeath__8daE_VA_cFv) + 0x4B8), - (void*)(((char*)executeOpaciDeath__8daE_VA_cFv) + 0x548), - (void*)(((char*)executeOpaciDeath__8daE_VA_cFv) + 0x6A8), - (void*)(((char*)executeOpaciDeath__8daE_VA_cFv) + 0x6A8), - (void*)(((char*)executeOpaciDeath__8daE_VA_cFv) + 0x6A8), - (void*)(((char*)executeOpaciDeath__8daE_VA_cFv) + 0x6A8), - (void*)(((char*)executeOpaciDeath__8daE_VA_cFv) + 0x6A8), - (void*)(((char*)executeOpaciDeath__8daE_VA_cFv) + 0x22C), -}; - -/* 807CF330-807CF384 -00001 0054+00 1/1 0/0 0/0 .data @8207 */ -SECTION_DATA static void* lit_8207[21] = { - (void*)(((char*)action__8daE_VA_cFv) + 0x11C), (void*)(((char*)action__8daE_VA_cFv) + 0x12C), - (void*)(((char*)action__8daE_VA_cFv) + 0x13C), (void*)(((char*)action__8daE_VA_cFv) + 0x148), - (void*)(((char*)action__8daE_VA_cFv) + 0x154), (void*)(((char*)action__8daE_VA_cFv) + 0x160), - (void*)(((char*)action__8daE_VA_cFv) + 0x178), (void*)(((char*)action__8daE_VA_cFv) + 0x16C), - (void*)(((char*)action__8daE_VA_cFv) + 0x190), (void*)(((char*)action__8daE_VA_cFv) + 0x184), - (void*)(((char*)action__8daE_VA_cFv) + 0x19C), (void*)(((char*)action__8daE_VA_cFv) + 0x1A8), - (void*)(((char*)action__8daE_VA_cFv) + 0x1B4), (void*)(((char*)action__8daE_VA_cFv) + 0x1C0), - (void*)(((char*)action__8daE_VA_cFv) + 0x1CC), (void*)(((char*)action__8daE_VA_cFv) + 0x1D8), - (void*)(((char*)action__8daE_VA_cFv) + 0x1E4), (void*)(((char*)action__8daE_VA_cFv) + 0x1F0), - (void*)(((char*)action__8daE_VA_cFv) + 0x1FC), (void*)(((char*)action__8daE_VA_cFv) + 0x208), - (void*)(((char*)action__8daE_VA_cFv) + 0x214), -}; - -/* 807CF384-807CF3A4 -00001 0020+00 1/0 0/0 0/0 .data l_daE_VA_Method */ -static actor_method_class l_daE_VA_Method = { - (process_method_func)daE_VA_Create__FP8daE_VA_c, - (process_method_func)daE_VA_Delete__FP8daE_VA_c, - (process_method_func)daE_VA_Execute__FP8daE_VA_c, - (process_method_func)daE_VA_IsDelete__FP8daE_VA_c, - (process_method_func)daE_VA_Draw__FP8daE_VA_c, -}; - -/* 807CF3A4-807CF3D4 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_VT */ -extern actor_process_profile_definition g_profile_E_VT = { - fpcLy_CURRENT_e, // mLayerID - 7, // mListID - fpcPi_CURRENT_e, // mListPrio - PROC_E_VT, // mProcName - &g_fpcLf_Method.mBase, // sub_method - sizeof(daE_VA_c), // mSize - 0, // mSizeOther - 0, // mParameters - &g_fopAc_Method.base, // sub_method - 756, // mPriority - &l_daE_VA_Method, // sub_method - 0x00040000, // mStatus - fopAc_ENEMY_e, // mActorType - fopAc_CULLBOX_CUSTOM_e, // cullType -}; - -/* 807CF3D4-807CF3E0 0004CC 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ -SECTION_DATA extern void* __vt__12dBgS_AcchCir[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12dBgS_AcchCirFv, -}; - -/* 807CF3E0-807CF3EC 0004D8 000C+00 2/2 0/0 0/0 .data __vt__10cCcD_GStts */ -SECTION_DATA extern void* __vt__10cCcD_GStts[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__10cCcD_GSttsFv, -}; - -/* 807CF3EC-807CF3F8 0004E4 000C+00 1/1 0/0 0/0 .data __vt__10dCcD_GStts */ -SECTION_DATA extern void* __vt__10dCcD_GStts[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__10dCcD_GSttsFv, -}; - -/* 807CF3F8-807CF404 0004F0 000C+00 4/4 0/0 0/0 .data __vt__8cM3dGSph */ -SECTION_DATA extern void* __vt__8cM3dGSph[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGSphFv, -}; - -/* 807CF404-807CF428 0004FC 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_807CE7E8, - (void*)NULL, - (void*)NULL, - (void*)func_807CE7E0, -}; - -/* 807CF428-807CF43C 000520 0014+00 1/1 0/0 0/0 .data __vt__18mDoExt_3DlineMat_c */ -SECTION_DATA extern void* __vt__18mDoExt_3DlineMat_c[5] = { - (void*)NULL /* RTTI */, (void*)NULL, (void*)NULL, (void*)NULL, (void*)NULL, -}; - -/* 807CF43C-807CF448 000534 000C+00 2/2 0/0 0/0 .data __vt__12J3DFrameCtrl */ -SECTION_DATA extern void* __vt__12J3DFrameCtrl[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12J3DFrameCtrlFv, -}; - -/* 807CF448-807CF454 000540 000C+00 4/4 0/0 0/0 .data __vt__8cM3dGCyl */ -SECTION_DATA extern void* __vt__8cM3dGCyl[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGCylFv, -}; - -/* 807CF454-807CF460 00054C 000C+00 7/7 0/0 0/0 .data __vt__8cM3dGAab */ -SECTION_DATA extern void* __vt__8cM3dGAab[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGAabFv, -}; - -/* 807CF460-807CF46C 000558 000C+00 2/2 0/0 0/0 .data __vt__12daE_VA_HIO_c */ -SECTION_DATA extern void* __vt__12daE_VA_HIO_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12daE_VA_HIO_cFv, -}; +} // namespace /* 807C25EC-807C267C 0000EC 0090+00 1/1 0/0 0/0 .text __ct__12daE_VA_HIO_cFv */ daE_VA_HIO_c::daE_VA_HIO_c() { @@ -1069,12 +369,6 @@ static u8 struct_807CF4B4; static u8 init_hio; #pragma pop -/* 807CF4B8-807CF4C4 000048 000C+00 0/1 0/0 0/0 .bss @3923 */ -#pragma push -#pragma force_active on -static u8 lit_3923[12]; -#pragma pop - /* 807CF4C4-807CF504 000054 0040+00 17/18 0/0 0/0 .bss l_HIO */ static daE_VA_HIO_c l_HIO; @@ -1122,7 +416,6 @@ int daE_VA_c::ctrlJoint(J3DJoint* i_joint, J3DModel* i_model) { return 1; } - /* 807C284C-807C2898 00034C 004C+00 1/1 0/0 0/0 .text JointCallBack__8daE_VA_cFP8J3DJointi */ int daE_VA_c::JointCallBack(J3DJoint* i_joint, int param_1) { if (param_1 == 0) { @@ -1177,64 +470,6 @@ void daE_VA_c::calcJointNeck() { } } -/* ############################################################################################## */ -/* 807CED08-807CED0C 000060 0004+00 0/1 0/0 0/0 .rodata @4314 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4314 = 74.0f; -COMPILER_STRIP_GATE(0x807CED08, &lit_4314); -#pragma pop - -/* 807CED0C-807CED10 000064 0004+00 0/2 0/0 0/0 .rodata @4315 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4315 = 11.0f; -COMPILER_STRIP_GATE(0x807CED0C, &lit_4315); -#pragma pop - -/* 807CED10-807CED14 000068 0004+00 1/4 0/0 0/0 .rodata @4316 */ -SECTION_RODATA static f32 const lit_4316 = 60.0f; -COMPILER_STRIP_GATE(0x807CED10, &lit_4316); - -/* 807CED14-807CED18 00006C 0004+00 0/3 0/0 0/0 .rodata @4317 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4317 = 80.0f; -COMPILER_STRIP_GATE(0x807CED14, &lit_4317); -#pragma pop - -/* 807CED18-807CED1C 000070 0004+00 1/7 0/0 0/0 .rodata @4318 */ -SECTION_RODATA static f32 const lit_4318 = 50.0f; -COMPILER_STRIP_GATE(0x807CED18, &lit_4318); - -/* 807CED1C-807CED20 000074 0004+00 0/7 0/0 0/0 .rodata @4319 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4319 = 30.0f; -COMPILER_STRIP_GATE(0x807CED1C, &lit_4319); -#pragma pop - -/* 807CED20-807CED24 000078 0004+00 0/1 0/0 0/0 .rodata @4320 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4320 = 4.0f / 5.0f; -COMPILER_STRIP_GATE(0x807CED20, &lit_4320); -#pragma pop - -/* 807CED24-807CED28 00007C 0004+00 0/5 0/0 0/0 .rodata @4321 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4321 = -10.0f; -COMPILER_STRIP_GATE(0x807CED24, &lit_4321); -#pragma pop - -/* 807CED28-807CED2C 000080 0004+00 0/5 0/0 0/0 .rodata @4322 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4322 = 1.0f / 10.0f; -COMPILER_STRIP_GATE(0x807CED28, &lit_4322); -#pragma pop - /* 807C2A4C-807C3264 00054C 0818+00 1/1 0/0 0/0 .text calcJointSleeve__8daE_VA_cFv */ void daE_VA_c::calcJointSleeve() { csXyz sp128; @@ -1371,38 +606,6 @@ void daE_VA_c::calcJointSleeve() { } } - -/* ############################################################################################## */ -/* 807CED2C-807CED30 000084 0004+00 0/1 0/0 0/0 .rodata @4452 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4452 = 255.0f; -COMPILER_STRIP_GATE(0x807CED2C, &lit_4452); -#pragma pop - -/* 807CED30-807CED34 000088 0004+00 0/1 0/0 0/0 .rodata @4453 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4453 = 2.0f / 5.0f; -COMPILER_STRIP_GATE(0x807CED30, &lit_4453); -#pragma pop - -/* 807CED34-807CED38 00008C 0004+00 0/2 0/0 0/0 .rodata @4454 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4454 = 2000.0f; -COMPILER_STRIP_GATE(0x807CED34, &lit_4454); -#pragma pop - -/* 807CED38-807CED40 000090 0008+00 0/1 0/0 0/0 .rodata @4458 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4458[8] = { - 0x43, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x807CED38, &lit_4458); -#pragma pop - /* 807C3264-807C37F8 000D64 0594+00 1/1 0/0 0/0 .text draw__8daE_VA_cFv */ int daE_VA_c::draw() { J3DModel* model = mpMorf->getModel(); @@ -1514,30 +717,17 @@ int daE_VA_c::draw() { return 1; } - /* 807C37F8-807C3818 0012F8 0020+00 1/0 0/0 0/0 .text daE_VA_Draw__FP8daE_VA_c */ static int daE_VA_Draw(daE_VA_c* i_this) { return i_this->draw(); } -/* ############################################################################################## */ -/* 807CED40-807CED44 000098 0004+00 1/3 0/0 0/0 .rodata @4473 */ -SECTION_RODATA static f32 const lit_4473 = -1.0f; -COMPILER_STRIP_GATE(0x807CED40, &lit_4473); - -/* 807CEEFC-807CEEFC 000254 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_807CEEFC = "E_VA"; -#pragma pop - /* 807C3818-807C38BC 001318 00A4+00 19/19 0/0 0/0 .text setBck__8daE_VA_cFiUcff */ void daE_VA_c::setBck(int i_anmID, u8 i_attr, f32 i_morf, f32 i_rate) { mpMorf->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("E_VA", i_anmID), i_attr, i_morf, i_rate, 0.0f, -1.0f); } - /* 807C38BC-807C3918 0013BC 005C+00 8/8 0/0 0/0 .text checkBck__8daE_VA_cFi */ bool daE_VA_c::checkBck(int i_anmID) { J3DAnmTransform* pbck = (J3DAnmTransform*)dComIfG_getObjectRes("E_VA", i_anmID); @@ -1619,7 +809,6 @@ void daE_VA_c::setTransDamage(cXyz* param_0) { setActionMode(ACTION_TRANS_DAMAGE_e, 0); } - /* 807C3B58-807C440C 001658 08B4+00 1/1 0/0 0/0 .text damage_check__8daE_VA_cFv */ void daE_VA_c::damage_check() { daPy_py_c* player = daPy_getPlayerActorClass(); @@ -1845,37 +1034,6 @@ void daE_VA_c::damage_check() { } } - -/* 807C440C-807C44A0 001F0C 0094+00 1/1 0/0 0/0 .text __as__8dCcD_CylFRC8dCcD_Cyl */ -// void dCcD_Cyl::operator=(dCcD_Cyl const& param_0) { -extern "C" void __as__8dCcD_CylFRC8dCcD_Cyl() { - // NONMATCHING -} - -/* 807C44A0-807C46E8 001FA0 0248+00 1/1 0/0 0/0 .text __as__12dCcD_GObjInfFRC12dCcD_GObjInf */ -// void dCcD_GObjInf::operator=(dCcD_GObjInf const& param_0) { -extern "C" void __as__12dCcD_GObjInfFRC12dCcD_GObjInf() { - // NONMATCHING -} - -/* 807C46E8-807C47B4 0021E8 00CC+00 1/1 0/0 0/0 .text __dt__8dCcD_CylFv */ -// dCcD_Cyl::~dCcD_Cyl() { -extern "C" void __dt__8dCcD_CylFv() { - // NONMATCHING -} - -/* 807C47B4-807C47FC 0022B4 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */ -// cM3dGCyl::~cM3dGCyl() { -extern "C" void __dt__8cM3dGCylFv() { - // NONMATCHING -} - -/* 807C47FC-807C4844 0022FC 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */ -// cM3dGAab::~cM3dGAab() { -extern "C" void __dt__8cM3dGAabFv() { - // NONMATCHING -} - /* 807C4844-807C49B4 002344 0170+00 1/1 0/0 0/0 .text setFireEffect__8daE_VA_cFi */ void daE_VA_c::setFireEffect(int param_0) { cXyz scale(1.0f, 1.0f, 1.0f); @@ -1889,18 +1047,9 @@ void daE_VA_c::setFireEffect(int param_0) { dComIfGp_particle_set(field_0x10f80[idx + 2], 0x3AE, &field_0x1140[param_0], NULL, &scale); } - -/* ############################################################################################## */ -/* 807CED44-807CED48 00009C 0004+00 0/0 0/0 0/0 .rodata @5085 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5085 = 16.0f / 5.0f; -COMPILER_STRIP_GATE(0x807CED44, &lit_5085); -#pragma pop - -/* 807CED48-807CED4C 0000A0 0004+00 1/12 0/0 0/0 .rodata @5146 */ -SECTION_RODATA static f32 const lit_5146 = 10.0f; -COMPILER_STRIP_GATE(0x807CED48, &lit_5146); +f32 dummy() { + return 3.2f; +} /* 807C49B4-807C4B54 0024B4 01A0+00 1/1 0/0 0/0 .text setFootEffect__8daE_VA_cFv */ void daE_VA_c::setFootEffect() { @@ -1933,14 +1082,19 @@ void daE_VA_c::setFootEffect() { } } +/* 807CF17C-807CF184 000274 0006+02 1/1 0/0 0/0 .data va_wepon_eff_id1 */ +static u16 va_wepon_eff_id1[] = { + 0x85D8, + 0x85D9, + 0x85DA, +}; -/* ############################################################################################## */ -/* 807CED4C-807CED50 0000A4 0004+00 0/1 0/0 0/0 .rodata @5224 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5224 = -7.0f; -COMPILER_STRIP_GATE(0x807CED4C, &lit_5224); -#pragma pop +/* 807CF184-807CF18C 00027C 0006+02 1/1 0/0 0/0 .data va_wepon_eff_id2 */ +static u16 va_wepon_eff_id2[] = { + 0x85C6, + 0x85C7, + 0x85C8, +}; /* 807C4B54-807C4DFC 002654 02A8+00 1/1 0/0 0/0 .text setWeponEffect__8daE_VA_cFv */ void daE_VA_c::setWeponEffect() { @@ -1980,6 +1134,15 @@ void daE_VA_c::setWeponEffect() { } } +/* 807CF18C-807CF1A4 000284 0018+00 1/1 0/0 0/0 .data va_bugs_eff_jnt */ +static u16 va_bugs_eff_jnt[] = { + 0x01, 0x02, 0x22, 0x04, 0x05, 0x07, 0x10, 0x11, 0x13, 0x2C, 0x2F, 0x32, +}; + +/* 807CF1A4-807CF1BC 00029C 0018+00 1/1 0/0 0/0 .data va_bugs_eff_id */ +static u16 va_bugs_eff_id[] = { + 0x85E1, 0x85E2, 0x85E3, 0x85DB, 0x85DC, 0x85DD, 0x85DE, 0x85DF, 0x85E0, 0x85E4, 0x85E5, 0x85E6, +}; /* 807C4DFC-807C4F10 0028FC 0114+00 1/1 0/0 0/0 .text setBugsEffect__8daE_VA_cFv */ void daE_VA_c::setBugsEffect() { @@ -1996,6 +1159,12 @@ void daE_VA_c::setBugsEffect() { } } +/* 807CF1BC-807CF1C4 0002B4 0006+02 1/1 0/0 0/0 .data va_weapon_land_eff_id */ +static u16 va_weapon_land_eff_id[] = { + 0x85C9, + 0x85CA, + 0x85CB, +}; /* 807C4F10-807C4FCC 002A10 00BC+00 4/4 0/0 0/0 .text setWeponLandEffect__8daE_VA_cFv */ void daE_VA_c::setWeponLandEffect() { @@ -2007,7 +1176,6 @@ void daE_VA_c::setWeponLandEffect() { } } - /* 807C4FCC-807C50A4 002ACC 00D8+00 1/1 0/0 0/0 .text setWeponGlow__8daE_VA_cFv */ void daE_VA_c::setWeponGlow() { mWeponEffEmtrIDs[0] = dComIfGp_particle_set(mWeponEffEmtrIDs[0], 0x8600, ¤t.pos, &tevStr); @@ -2018,7 +1186,6 @@ void daE_VA_c::setWeponGlow() { } } - /* 807C50A4-807C5188 002BA4 00E4+00 1/1 0/0 0/0 .text setWeponFlashScreen__8daE_VA_cFv */ void daE_VA_c::setWeponFlashScreen() { cXyz pos(0.0f, 0.0f, 0.0f); @@ -2026,6 +1193,12 @@ void daE_VA_c::setWeponFlashScreen() { dComIfGp_particle_set(0x85FF, &pos, &tevStr, NULL, NULL); } +/* 807CF1C4-807CF1CC 0002BC 0006+02 1/1 0/0 0/0 .data va_magic_eff_id */ +static u16 va_magic_eff_id[] = { + 0x8848, + 0x8849, + 0x884A, +}; /* 807C5188-807C5258 002C88 00D0+00 1/1 0/0 0/0 .text setMagicEffect__8daE_VA_cFi */ void daE_VA_c::setMagicEffect(int param_0) { @@ -2037,14 +1210,12 @@ void daE_VA_c::setMagicEffect(int param_0) { } } - /* 807C5258-807C5338 002D58 00E0+00 1/1 0/0 0/0 .text setMagicHitEffect__8daE_VA_cFi */ void daE_VA_c::setMagicHitEffect(int param_0) { dComIfGp_particle_set(0x8846, &mMagicPos[param_0], NULL, NULL); dComIfGp_particle_set(0x8847, &mMagicPos[param_0], NULL, NULL); } - /* 807C5338-807C53A8 002E38 0070+00 1/1 0/0 0/0 .text demo_skip__8daE_VA_cFi */ void daE_VA_c::demo_skip(int param_0) { Z2GetAudioMgr()->bgmStreamStop(30); @@ -2052,7 +1223,6 @@ void daE_VA_c::demo_skip(int param_0) { dStage_changeScene(1, 0.0f, 0, fopAcM_GetRoomNo(this), 0, -1); } - /* 807C53A8-807C53DC 002EA8 0034+00 1/1 0/0 0/0 .text DemoSkipCallBack__8daE_VA_cFPvi */ int daE_VA_c::DemoSkipCallBack(void* i_this, int param_1) { if (i_this != NULL) { @@ -2063,15 +1233,6 @@ int daE_VA_c::DemoSkipCallBack(void* i_this, int param_1) { return 0; } -/* ############################################################################################## */ -/* 807CED50-807CED54 0000A8 0004+00 1/1 0/0 0/0 .rodata @5407 */ -SECTION_RODATA static f32 const lit_5407 = 115.0f; -COMPILER_STRIP_GATE(0x807CED50, &lit_5407); - -/* 807CED54-807CED58 0000AC 0004+00 1/2 0/0 0/0 .rodata @5408 */ -SECTION_RODATA static f32 const lit_5408 = 65.0f; -COMPILER_STRIP_GATE(0x807CED54, &lit_5408); - /* 807C53DC-807C53FC 002EDC 0020+00 2/2 0/0 0/0 .text getRopeLength__8daE_VA_cFi */ f32 daE_VA_c::getRopeLength(int param_0) { if (param_0 < 5) { @@ -2081,140 +1242,10 @@ f32 daE_VA_c::getRopeLength(int param_0) { } } - -/* ############################################################################################## */ -/* 807CED58-807CED5C 0000B0 0004+00 0/2 0/0 0/0 .rodata @5833 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5833 = 150.0f; -COMPILER_STRIP_GATE(0x807CED58, &lit_5833); -#pragma pop - -/* 807CED5C-807CED60 0000B4 0004+00 0/2 0/0 0/0 .rodata @5834 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5834 = -150.0f; -COMPILER_STRIP_GATE(0x807CED5C, &lit_5834); -#pragma pop - -/* 807CED60-807CED64 0000B8 0004+00 0/2 0/0 0/0 .rodata @5835 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5835 = 400.0f; -COMPILER_STRIP_GATE(0x807CED60, &lit_5835); -#pragma pop - -/* 807CED64-807CED68 0000BC 0004+00 0/2 0/0 0/0 .rodata @5836 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5836 = -400.0f; -COMPILER_STRIP_GATE(0x807CED64, &lit_5836); -#pragma pop - -/* 807CED68-807CED6C 0000C0 0004+00 0/4 0/0 0/0 .rodata @5837 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5837 = -5.0f; -COMPILER_STRIP_GATE(0x807CED68, &lit_5837); -#pragma pop - -/* 807CED6C-807CED70 0000C4 0004+00 0/4 0/0 0/0 .rodata @5838 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5838 = 5.0f; -COMPILER_STRIP_GATE(0x807CED6C, &lit_5838); -#pragma pop - -/* 807CED70-807CED74 0000C8 0004+00 0/2 0/0 0/0 .rodata @5839 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5839 = -3.0f; -COMPILER_STRIP_GATE(0x807CED70, &lit_5839); -#pragma pop - -/* 807CED74-807CED78 0000CC 0004+00 0/4 0/0 0/0 .rodata @5840 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5840 = 300.0f; -COMPILER_STRIP_GATE(0x807CED74, &lit_5840); -#pragma pop - -/* 807CED78-807CED80 0000D0 0004+04 0/1 0/0 0/0 .rodata @5841 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5841[1 + 1 /* padding */] = { - 1.0f / 5.0f, - /* padding */ - 0.0f, +/* 807CF1CC-807CF1F8 0002C4 002C+00 1/1 0/0 0/0 .data line_pull_power */ +static f32 line_pull_power[] = { + 0.0f, 0.1f, 0.2f, 0.3f, 0.4f, 0.5f, 0.6f, 0.7f, 0.8f, 0.9f, 1.0f, }; -COMPILER_STRIP_GATE(0x807CED78, &lit_5841); -#pragma pop - -/* 807CED80-807CED88 0000D8 0008+00 3/10 0/0 0/0 .rodata @5843 */ -SECTION_RODATA static u8 const lit_5843[8] = { - 0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x807CED80, &lit_5843); - -/* 807CF504-807CF510 000094 000C+00 0/1 0/0 0/0 .bss @5409 */ -#pragma push -#pragma force_active on -static u8 lit_5409[12]; -#pragma pop - -/* 807CF510-807CF51C 0000A0 000C+00 0/1 0/0 0/0 .bss @5410 */ -#pragma push -#pragma force_active on -static u8 lit_5410[12]; -#pragma pop - -/* 807CF51C-807CF528 0000AC 000C+00 0/1 0/0 0/0 .bss @5411 */ -#pragma push -#pragma force_active on -static u8 lit_5411[12]; -#pragma pop - -/* 807CF528-807CF534 0000B8 000C+00 0/1 0/0 0/0 .bss @5412 */ -#pragma push -#pragma force_active on -static u8 lit_5412[12]; -#pragma pop - -/* 807CF534-807CF540 0000C4 000C+00 0/1 0/0 0/0 .bss @5413 */ -#pragma push -#pragma force_active on -static u8 lit_5413[12]; -#pragma pop - -/* 807CF540-807CF54C 0000D0 000C+00 0/1 0/0 0/0 .bss @5414 */ -#pragma push -#pragma force_active on -static u8 lit_5414[12]; -#pragma pop - -/* 807CF54C-807CF558 0000DC 000C+00 0/1 0/0 0/0 .bss @5415 */ -#pragma push -#pragma force_active on -static u8 lit_5415[12]; -#pragma pop - -/* 807CF558-807CF564 0000E8 000C+00 0/1 0/0 0/0 .bss @5416 */ -#pragma push -#pragma force_active on -static u8 lit_5416[12]; -#pragma pop - -/* 807CF564-807CF570 0000F4 000C+00 0/1 0/0 0/0 .bss @5417 */ -#pragma push -#pragma force_active on -static u8 lit_5417[12]; -#pragma pop - -/* 807CF570-807CF57C 000100 000C+00 0/1 0/0 0/0 .bss @5418 */ -#pragma push -#pragma force_active on -static u8 lit_5418[12]; -#pragma pop /* 807CF57C-807CF5F4 00010C 0078+00 1/2 0/0 0/0 .bss line_end_pos */ static cXyz line_end_pos[] = { @@ -2224,66 +1255,6 @@ static cXyz line_end_pos[] = { cXyz(-414.0f, 5.0f, 347.0f), }; -/* 807CF5F4-807CF600 000184 000C+00 0/1 0/0 0/0 .bss @5419 */ -#pragma push -#pragma force_active on -static u8 lit_5419[12]; -#pragma pop - -/* 807CF600-807CF60C 000190 000C+00 0/1 0/0 0/0 .bss @5420 */ -#pragma push -#pragma force_active on -static u8 lit_5420[12]; -#pragma pop - -/* 807CF60C-807CF618 00019C 000C+00 0/1 0/0 0/0 .bss @5421 */ -#pragma push -#pragma force_active on -static u8 lit_5421[12]; -#pragma pop - -/* 807CF618-807CF624 0001A8 000C+00 0/1 0/0 0/0 .bss @5422 */ -#pragma push -#pragma force_active on -static u8 lit_5422[12]; -#pragma pop - -/* 807CF624-807CF630 0001B4 000C+00 0/1 0/0 0/0 .bss @5423 */ -#pragma push -#pragma force_active on -static u8 lit_5423[12]; -#pragma pop - -/* 807CF630-807CF63C 0001C0 000C+00 0/1 0/0 0/0 .bss @5424 */ -#pragma push -#pragma force_active on -static u8 lit_5424[12]; -#pragma pop - -/* 807CF63C-807CF648 0001CC 000C+00 0/1 0/0 0/0 .bss @5425 */ -#pragma push -#pragma force_active on -static u8 lit_5425[12]; -#pragma pop - -/* 807CF648-807CF654 0001D8 000C+00 0/1 0/0 0/0 .bss @5426 */ -#pragma push -#pragma force_active on -static u8 lit_5426[12]; -#pragma pop - -/* 807CF654-807CF660 0001E4 000C+00 0/1 0/0 0/0 .bss @5427 */ -#pragma push -#pragma force_active on -static u8 lit_5427[12]; -#pragma pop - -/* 807CF660-807CF66C 0001F0 000C+00 0/1 0/0 0/0 .bss @5428 */ -#pragma push -#pragma force_active on -static u8 lit_5428[12]; -#pragma pop - /* 807CF66C-807CF6E4 0001FC 0078+00 1/2 0/0 0/0 .bss line_start_pos */ static cXyz line_start_pos[] = { cXyz(-5.0f, -10.0f, -15.0f), cXyz(0.0f, 0.0f, -10.0f), cXyz(0.0f, -10.0f, -10.0f), @@ -2466,7 +1437,6 @@ void daE_VA_c::calcOpRopePos() { } } - /* 807C5CF0-807C5DF4 0037F0 0104+00 1/1 0/0 0/0 .text onRopeCutStatus__8daE_VA_cFiii */ void daE_VA_c::onRopeCutStatus(int param_0, int param_1, int param_2) { int var_r31 = param_0 * 10; @@ -2496,11 +1466,6 @@ void daE_VA_c::onRopeCutStatus(int param_0, int param_1, int param_2) { } } -/* ############################################################################################## */ -/* 807CED88-807CED8C 0000E0 0004+00 1/1 0/0 0/0 .rodata @5877 */ -SECTION_RODATA static f32 const lit_5877 = 7168.0f; -COMPILER_STRIP_GATE(0x807CED88, &lit_5877); - /* 807C5DF4-807C5EAC 0038F4 00B8+00 1/1 0/0 0/0 .text setVibRope__8daE_VA_cFff */ void daE_VA_c::setVibRope(f32 param_0, f32 param_1) { field_0x1336 += (s16)(param_1 * 7168.0f); @@ -2508,15 +1473,18 @@ void daE_VA_c::setVibRope(f32 param_0, f32 param_1) { field_0x123e += (s16)(param_0 * 50.0f * cM_ssin(field_0x1336)); } +/* 807CF1F8-807CF200 0002F0 0008+00 1/2 0/0 0/0 .data TAG_VIB_ANGLE */ +static s16 TAG_VIB_ANGLE[] = { + -0x800, + 0x800, + -0x1000, + 0x1000, +}; -/* ############################################################################################## */ -/* 807CED8C-807CED90 0000E4 0004+00 1/1 0/0 0/0 .rodata @5913 */ -SECTION_RODATA static f32 const lit_5913 = 39.0f / 10.0f; -COMPILER_STRIP_GATE(0x807CED8C, &lit_5913); - -/* 807CED90-807CED94 0000E8 0004+00 1/1 0/0 0/0 .rodata @5914 */ -SECTION_RODATA static f32 const lit_5914 = 4.0f; -COMPILER_STRIP_GATE(0x807CED90, &lit_5914); +/* 807CF200-807CF210 0002F8 0010+00 0/1 0/0 0/0 .data TAG_VIB_WIDTH */ +static s16 TAG_VIB_WIDTH[] = { + 0x1C0, 0x280, 0x180, 0x240, 0x380, 0x500, 0x300, 0x480, +}; /* 807C5EAC-807C6164 0039AC 02B8+00 2/2 0/0 0/0 .text setVibTag__8daE_VA_cFii */ void daE_VA_c::setVibTag(int param_0, int param_1) { @@ -2553,15 +1521,6 @@ void daE_VA_c::setVibTag(int param_0, int param_1) { } } - -/* ############################################################################################## */ -/* 807CED94-807CED98 0000EC 0004+00 0/1 0/0 0/0 .rodata @5960 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5960 = 160.0f; -COMPILER_STRIP_GATE(0x807CED94, &lit_5960); -#pragma pop - /* 807C6164-807C638C 003C64 0228+00 2/2 0/0 0/0 .text calcTagAngle__8daE_VA_cFv */ void daE_VA_c::calcTagAngle() { for (int i = 0; i < 40; i++) { @@ -2610,7 +1569,6 @@ void daE_VA_c::calcTagAngle() { } } - /* 807C638C-807C6564 003E8C 01D8+00 1/1 0/0 0/0 .text calcRopeFirePos__8daE_VA_cFv */ void daE_VA_c::calcRopeFirePos() { int temp_r28; @@ -2641,29 +1599,6 @@ void daE_VA_c::calcRopeFirePos() { } } - -/* ############################################################################################## */ -/* 807CED98-807CED9C 0000F0 0004+00 0/1 0/0 0/0 .rodata @6069 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6069 = 110.0f; -COMPILER_STRIP_GATE(0x807CED98, &lit_6069); -#pragma pop - -/* 807CED9C-807CEDA0 0000F4 0004+00 0/1 0/0 0/0 .rodata @6070 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6070 = 275.0f; -COMPILER_STRIP_GATE(0x807CED9C, &lit_6070); -#pragma pop - -/* 807CEDA0-807CEDA4 0000F8 0004+00 0/1 0/0 0/0 .rodata @6071 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6071 = 51.0f; -COMPILER_STRIP_GATE(0x807CEDA0, &lit_6071); -#pragma pop - /* 807C6564-807C67A4 004064 0240+00 1/1 0/0 0/0 .text executeDemoOpWait__8daE_VA_cFv */ void daE_VA_c::executeDemoOpWait() { cXyz sp34; @@ -2708,43 +1643,6 @@ void daE_VA_c::executeDemoOpWait() { calcTagAngle(); } - -/* ############################################################################################## */ -/* 807CEDA4-807CEDA8 0000FC 0004+00 0/1 0/0 0/0 .rodata @6345 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6345 = 270.0f; -COMPILER_STRIP_GATE(0x807CEDA4, &lit_6345); -#pragma pop - -/* 807CEDA8-807CEDAC 000100 0004+00 0/2 0/0 0/0 .rodata @6346 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6346 = 600.0f; -COMPILER_STRIP_GATE(0x807CEDA8, &lit_6346); -#pragma pop - -/* 807CEDAC-807CEDB0 000104 0004+00 0/1 0/0 0/0 .rodata @6347 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6347 = 180.0f; -COMPILER_STRIP_GATE(0x807CEDAC, &lit_6347); -#pragma pop - -/* 807CEDB0-807CEDB4 000108 0004+00 0/4 0/0 0/0 .rodata @6348 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6348 = 200.0f; -COMPILER_STRIP_GATE(0x807CEDB0, &lit_6348); -#pragma pop - -/* 807CEDB4-807CEDB8 00010C 0004+00 0/1 0/0 0/0 .rodata @6349 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6349 = 2.5f; -COMPILER_STRIP_GATE(0x807CEDB4, &lit_6349); -#pragma pop - /* 807C67A4-807C7534 0042A4 0D90+00 2/1 0/0 0/0 .text executeDemoOp__8daE_VA_cFv */ void daE_VA_c::executeDemoOp() { camera_class* camera = dComIfGp_getCamera(dComIfGp_getPlayerCameraID(0)); @@ -3039,162 +1937,6 @@ void daE_VA_c::executeDemoOp() { dComIfGp_getEvent().setSkipProc(this, DemoSkipCallBack, 0); } - -/* ############################################################################################## */ -/* 807CEDB8-807CEDBC 000110 0004+00 0/0 0/0 0/0 .rodata @6350 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6350 = 90.0f; -COMPILER_STRIP_GATE(0x807CEDB8, &lit_6350); -#pragma pop - -/* 807CEDBC-807CEDC0 000114 0004+00 0/0 0/0 0/0 .rodata @6351 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6351 = -100.0f; -COMPILER_STRIP_GATE(0x807CEDBC, &lit_6351); -#pragma pop - -/* 807CEDC0-807CEDC4 000118 0004+00 0/0 0/0 0/0 .rodata @6352 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6352 = 48.0f; -COMPILER_STRIP_GATE(0x807CEDC0, &lit_6352); -#pragma pop - -/* 807CEDC4-807CEDC8 00011C 0004+00 0/0 0/0 0/0 .rodata @6353 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6353 = 13.0f / 10.0f; -COMPILER_STRIP_GATE(0x807CEDC4, &lit_6353); -#pragma pop - -/* 807CEDC8-807CEDCC 000120 0004+00 0/0 0/0 0/0 .rodata @6354 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6354 = 459.0f; -COMPILER_STRIP_GATE(0x807CEDC8, &lit_6354); -#pragma pop - -/* 807CEDCC-807CEDD0 000124 0004+00 0/0 0/0 0/0 .rodata @6355 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6355 = 394.0f; -COMPILER_STRIP_GATE(0x807CEDCC, &lit_6355); -#pragma pop - -/* 807CEDD0-807CEDD4 000128 0004+00 0/0 0/0 0/0 .rodata @6356 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6356 = 920.0f; -COMPILER_STRIP_GATE(0x807CEDD0, &lit_6356); -#pragma pop - -/* 807CEDD4-807CEDD8 00012C 0004+00 0/0 0/0 0/0 .rodata @6357 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6357 = 259.0f; -COMPILER_STRIP_GATE(0x807CEDD4, &lit_6357); -#pragma pop - -/* 807CEDD8-807CEDDC 000130 0004+00 0/0 0/0 0/0 .rodata @6358 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6358 = 519.0f; -COMPILER_STRIP_GATE(0x807CEDD8, &lit_6358); -#pragma pop - -/* 807CEDDC-807CEDE0 000134 0004+00 0/0 0/0 0/0 .rodata @6359 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6359 = 380.0f; -COMPILER_STRIP_GATE(0x807CEDDC, &lit_6359); -#pragma pop - -/* 807CEDE0-807CEDE4 000138 0004+00 0/2 0/0 0/0 .rodata @6360 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6360 = 2.0f; -COMPILER_STRIP_GATE(0x807CEDE0, &lit_6360); -#pragma pop - -/* 807CEDE4-807CEDE8 00013C 0004+00 0/0 0/0 0/0 .rodata @6361 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6361 = 28.0f; -COMPILER_STRIP_GATE(0x807CEDE4, &lit_6361); -#pragma pop - -/* 807CEDE8-807CEDEC 000140 0004+00 0/1 0/0 0/0 .rodata @6362 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6362 = 950.0f; -COMPILER_STRIP_GATE(0x807CEDE8, &lit_6362); -#pragma pop - -/* 807CEDEC-807CEDF0 000144 0004+00 0/0 0/0 0/0 .rodata @6363 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6363 = 550.0f; -COMPILER_STRIP_GATE(0x807CEDEC, &lit_6363); -#pragma pop - -/* 807CEDF0-807CEDF4 000148 0004+00 0/2 0/0 0/0 .rodata @6364 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6364 = 15.0f; -COMPILER_STRIP_GATE(0x807CEDF0, &lit_6364); -#pragma pop - -/* 807CEDF4-807CEDF8 00014C 0004+00 0/1 0/0 0/0 .rodata @6365 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6365 = 26.0f; -COMPILER_STRIP_GATE(0x807CEDF4, &lit_6365); -#pragma pop - -/* 807CEDF8-807CEDFC 000150 0004+00 0/0 0/0 0/0 .rodata @6366 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6366 = 187.0f; -COMPILER_STRIP_GATE(0x807CEDF8, &lit_6366); -#pragma pop - -/* 807CEDFC-807CEE00 000154 0004+00 0/0 0/0 0/0 .rodata @6367 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6367 = 236.0f; -COMPILER_STRIP_GATE(0x807CEDFC, &lit_6367); -#pragma pop - -/* 807CEE00-807CEE04 000158 0004+00 0/0 0/0 0/0 .rodata @6368 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6368 = 21.0f / 5.0f; -COMPILER_STRIP_GATE(0x807CEE00, &lit_6368); -#pragma pop - -/* 807CEE04-807CEE08 00015C 0004+00 0/0 0/0 0/0 .rodata @6369 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6369 = 192.0f; -COMPILER_STRIP_GATE(0x807CEE04, &lit_6369); -#pragma pop - -/* 807CEE08-807CEE0C 000160 0004+00 0/0 0/0 0/0 .rodata @6370 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6370 = 67.0f; -COMPILER_STRIP_GATE(0x807CEE08, &lit_6370); -#pragma pop - -/* 807CEE0C-807CEE10 000164 0004+00 0/8 0/0 0/0 .rodata @6394 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6394 = 20.0f; -COMPILER_STRIP_GATE(0x807CEE0C, &lit_6394); -#pragma pop - /* 807C7534-807C7640 005034 010C+00 1/1 0/0 0/0 .text executeClearWait__8daE_VA_cFv */ void daE_VA_c::executeClearWait() { switch (mMode) { @@ -3221,8 +1963,8 @@ void daE_VA_c::executeClearWait() { } } - /* 807C7640-807C783C 005140 01FC+00 1/1 0/0 0/0 .text executeClearChase__8daE_VA_cFv */ +// NONMATCHING load order void daE_VA_c::executeClearChase() { cLib_addCalc(¤t.pos.y, 0.0f, 0.1f, 10.0f, 1.0f); @@ -3264,36 +2006,6 @@ void daE_VA_c::executeClearChase() { } } - -/* ############################################################################################## */ -/* 807CEE10-807CEE14 000168 0004+00 0/1 0/0 0/0 .rodata @6485 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6485 = 32.0f; -COMPILER_STRIP_GATE(0x807CEE10, &lit_6485); -#pragma pop - -/* 807CEE14-807CEE18 00016C 0004+00 0/1 0/0 0/0 .rodata @6486 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6486 = 36.0f; -COMPILER_STRIP_GATE(0x807CEE14, &lit_6486); -#pragma pop - -/* 807CEE18-807CEE1C 000170 0004+00 0/1 0/0 0/0 .rodata @6487 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6487 = 43.0f; -COMPILER_STRIP_GATE(0x807CEE18, &lit_6487); -#pragma pop - -/* 807CEE1C-807CEE20 000174 0004+00 0/1 0/0 0/0 .rodata @6488 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6488 = 85.0f; -COMPILER_STRIP_GATE(0x807CEE1C, &lit_6488); -#pragma pop - /* 807C783C-807C7A8C 00533C 0250+00 1/1 0/0 0/0 .text executeClearAttack__8daE_VA_cFv */ void daE_VA_c::executeClearAttack() { f32 anm_frame = mpMorf->getFrame(); @@ -3334,7 +2046,6 @@ void daE_VA_c::executeClearAttack() { } } - /* 807C7A8C-807C7C74 00558C 01E8+00 1/1 0/0 0/0 .text executeTransWait__8daE_VA_cFv */ void daE_VA_c::executeTransWait() { switch (mMode) { @@ -3375,7 +2086,6 @@ void daE_VA_c::executeTransWait() { } } - /* 807C7C74-807C7ED4 005774 0260+00 1/1 0/0 0/0 .text executeTransChase__8daE_VA_cFv */ void daE_VA_c::executeTransChase() { f32 dist_to_player = fopAcM_searchPlayerDistanceXZ(this); @@ -3429,29 +2139,6 @@ void daE_VA_c::executeTransChase() { } } - -/* ############################################################################################## */ -/* 807CEE20-807CEE24 000178 0004+00 0/3 0/0 0/0 .rodata @6686 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6686 = 22.0f; -COMPILER_STRIP_GATE(0x807CEE20, &lit_6686); -#pragma pop - -/* 807CEE24-807CEE28 00017C 0004+00 0/2 0/0 0/0 .rodata @6687 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6687 = 33.0f; -COMPILER_STRIP_GATE(0x807CEE24, &lit_6687); -#pragma pop - -/* 807CEE28-807CEE2C 000180 0004+00 0/2 0/0 0/0 .rodata @6688 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6688 = 53.0f; -COMPILER_STRIP_GATE(0x807CEE28, &lit_6688); -#pragma pop - /* 807C7ED4-807C839C 0059D4 04C8+00 1/1 0/0 0/0 .text executeTransAttack__8daE_VA_cFv */ void daE_VA_c::executeTransAttack() { f32 anm_frame = mpMorf->getFrame(); @@ -3536,7 +2223,6 @@ void daE_VA_c::executeTransAttack() { } } - /* 807C839C-807C8860 005E9C 04C4+00 1/1 0/0 0/0 .text executeTransBiteDamage__8daE_VA_cFv */ void daE_VA_c::executeTransBiteDamage() { @@ -3630,7 +2316,6 @@ void daE_VA_c::executeTransBiteDamage() { } } - /* 807C8860-807C8A84 006360 0224+00 1/1 0/0 0/0 .text executeTransDamage__8daE_VA_cFv */ void daE_VA_c::executeTransDamage() { if (checkWolfBiteDamage()) { @@ -3679,7 +2364,6 @@ void daE_VA_c::executeTransDamage() { } } - /* 807C8A84-807C8B78 006584 00F4+00 1/1 0/0 0/0 .text executeTransThrough__8daE_VA_cFv */ void daE_VA_c::executeTransThrough() { switch (mMode) { @@ -3701,7 +2385,6 @@ void daE_VA_c::executeTransThrough() { } } - /* 807C8B78-807C915C 006678 05E4+00 2/1 0/0 0/0 .text executeOpaciWait__8daE_VA_cFv */ void daE_VA_c::executeOpaciWait() { dCamera_c* camera = dCam_getBody(); @@ -3825,7 +2508,6 @@ void daE_VA_c::executeOpaciWait() { } } - /* 807C915C-807C9A40 006C5C 08E4+00 2/1 0/0 0/0 .text executeOpaciFly__8daE_VA_cFv */ void daE_VA_c::executeOpaciFly() { daPy_py_c* player = daPy_getPlayerActorClass(); @@ -3983,78 +2665,6 @@ void daE_VA_c::executeOpaciFly() { } } - -/* ############################################################################################## */ -/* 807CEE2C-807CEE30 000184 0004+00 0/0 0/0 0/0 .rodata @6999 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6999 = 291.0f; -COMPILER_STRIP_GATE(0x807CEE2C, &lit_6999); -#pragma pop - -/* 807CEE30-807CEE34 000188 0004+00 0/0 0/0 0/0 .rodata @7000 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7000 = 201.0f; -COMPILER_STRIP_GATE(0x807CEE30, &lit_7000); -#pragma pop - -/* 807CEE34-807CEE38 00018C 0004+00 0/0 0/0 0/0 .rodata @7001 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7001 = 700.0f; -COMPILER_STRIP_GATE(0x807CEE34, &lit_7001); -#pragma pop - -/* 807CEE38-807CEE3C 000190 0004+00 0/2 0/0 0/0 .rodata @7002 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7002 = 70.0f; -COMPILER_STRIP_GATE(0x807CEE38, &lit_7002); -#pragma pop - -/* 807CEE3C-807CEE40 000194 0004+00 0/0 0/0 0/0 .rodata @7003 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7003 = 6.0f; -COMPILER_STRIP_GATE(0x807CEE3C, &lit_7003); -#pragma pop - -/* 807CEE40-807CEE44 000198 0004+00 0/1 0/0 0/0 .rodata @7004 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7004 = 120.0f; -COMPILER_STRIP_GATE(0x807CEE40, &lit_7004); -#pragma pop - -/* 807CEE44-807CEE48 00019C 0004+00 0/0 0/0 0/0 .rodata @7240 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7240 = 42.0f; -COMPILER_STRIP_GATE(0x807CEE44, &lit_7240); -#pragma pop - -/* 807CEE48-807CEE4C 0001A0 0004+00 0/0 0/0 0/0 .rodata @7241 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7241 = 62.0f; -COMPILER_STRIP_GATE(0x807CEE48, &lit_7241); -#pragma pop - -/* 807CEE4C-807CEE50 0001A4 0004+00 0/0 0/0 0/0 .rodata @7242 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7242 = 47.0f; -COMPILER_STRIP_GATE(0x807CEE4C, &lit_7242); -#pragma pop - -/* 807CEE50-807CEE54 0001A8 0004+00 0/3 0/0 0/0 .rodata @7291 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7291 = -30.0f; -COMPILER_STRIP_GATE(0x807CEE50, &lit_7291); -#pragma pop - /* 807C9A40-807C9C8C 007540 024C+00 1/1 0/0 0/0 .text executeOpaciDamage__8daE_VA_cFv */ void daE_VA_c::executeOpaciDamage() { switch (mMode) { @@ -4098,29 +2708,6 @@ void daE_VA_c::executeOpaciDamage() { } } - -/* ############################################################################################## */ -/* 807CEE54-807CEE58 0001AC 0004+00 0/1 0/0 0/0 .rodata @7421 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7421 = 16384.0f; -COMPILER_STRIP_GATE(0x807CEE54, &lit_7421); -#pragma pop - -/* 807CEE58-807CEE5C 0001B0 0004+00 0/3 0/0 0/0 .rodata @7422 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7422 = 25.0f; -COMPILER_STRIP_GATE(0x807CEE58, &lit_7422); -#pragma pop - -/* 807CEE5C-807CEE60 0001B4 0004+00 0/1 0/0 0/0 .rodata @7423 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7423 = -40.0f; -COMPILER_STRIP_GATE(0x807CEE5C, &lit_7423); -#pragma pop - /* 807C9C8C-807CA364 00778C 06D8+00 1/1 0/0 0/0 .text executeOpaciChase__8daE_VA_cFv */ void daE_VA_c::executeOpaciChase() { cXyz sp44; @@ -4259,36 +2846,6 @@ void daE_VA_c::executeOpaciChase() { } } - -/* ############################################################################################## */ -/* 807CEE60-807CEE64 0001B8 0004+00 0/0 0/0 0/0 .rodata @7424 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7424 = 1200.0f; -COMPILER_STRIP_GATE(0x807CEE60, &lit_7424); -#pragma pop - -/* 807CEE64-807CEE68 0001BC 0004+00 0/1 0/0 0/0 .rodata @7509 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7509 = 27.0f; -COMPILER_STRIP_GATE(0x807CEE64, &lit_7509); -#pragma pop - -/* 807CEE68-807CEE6C 0001C0 0004+00 0/1 0/0 0/0 .rodata @7510 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7510 = 16.0f; -COMPILER_STRIP_GATE(0x807CEE68, &lit_7510); -#pragma pop - -/* 807CEE6C-807CEE70 0001C4 0004+00 0/1 0/0 0/0 .rodata @7511 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7511 = 12.0f; -COMPILER_STRIP_GATE(0x807CEE6C, &lit_7511); -#pragma pop - /* 807CA364-807CA73C 007E64 03D8+00 1/1 0/0 0/0 .text executeOpaciAttack__8daE_VA_cFv */ void daE_VA_c::executeOpaciAttack() { f32 anm_frame = mpMorf->getFrame(); @@ -4357,7 +2914,6 @@ void daE_VA_c::executeOpaciAttack() { } } - /* 807CA73C-807CAA80 00823C 0344+00 1/1 0/0 0/0 .text executeOpaciDown__8daE_VA_cFv */ void daE_VA_c::executeOpaciDown() { daPy_py_c* player = daPy_getPlayerActorClass(); @@ -4432,7 +2988,6 @@ void daE_VA_c::executeOpaciDown() { } } - /* 807CAA80-807CACE0 008580 0260+00 1/1 0/0 0/0 .text executeOpaciDownDamage__8daE_VA_cFv */ void daE_VA_c::executeOpaciDownDamage() { @@ -4486,7 +3041,6 @@ void daE_VA_c::executeOpaciDownDamage() { } } - /* 807CACE0-807CADB8 0087E0 00D8+00 1/1 0/0 0/0 .text executeOpaciFlip__8daE_VA_cFv */ void daE_VA_c::executeOpaciFlip() { switch (mMode) { @@ -4502,7 +3056,6 @@ void daE_VA_c::executeOpaciFlip() { } } - /* 807CADB8-807CB1C4 0088B8 040C+00 2/1 0/0 0/0 .text executeOpaciFadeAway__8daE_VA_cFv */ void daE_VA_c::executeOpaciFadeAway() { @@ -4586,36 +3139,6 @@ void daE_VA_c::executeOpaciFadeAway() { } } - -/* ############################################################################################## */ -/* 807CEE70-807CEE74 0001C8 0004+00 0/2 0/0 0/0 .rodata @7919 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7919 = 350.0f; -COMPILER_STRIP_GATE(0x807CEE70, &lit_7919); -#pragma pop - -/* 807CEE74-807CEE78 0001CC 0004+00 0/1 0/0 0/0 .rodata @7920 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7920 = -54.0f; -COMPILER_STRIP_GATE(0x807CEE74, &lit_7920); -#pragma pop - -/* 807CEE78-807CEE7C 0001D0 0004+00 0/1 0/0 0/0 .rodata @7921 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7921 = 168.0f; -COMPILER_STRIP_GATE(0x807CEE78, &lit_7921); -#pragma pop - -/* 807CEE7C-807CEE80 0001D4 0004+00 0/1 0/0 0/0 .rodata @7922 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7922 = 207.0f; -COMPILER_STRIP_GATE(0x807CEE7C, &lit_7922); -#pragma pop - /* 807CB1C4-807CB8CC 008CC4 0708+00 2/1 0/0 0/0 .text executeOpaciDeath__8daE_VA_cFv */ void daE_VA_c::executeOpaciDeath() { camera_class* camera = dComIfGp_getCamera(dComIfGp_getPlayerCameraID(0)); @@ -4687,7 +3210,7 @@ void daE_VA_c::executeOpaciDeath() { field_0x14a4 = 400.0f; sp24.set(0.0f, 0.0f, field_0x14a4); cLib_offsetPos(&mDemoCamEye, ¤t.pos, shape_angle.y + field_0x14ac, &sp24); - mDemoCamEye.y = 50.0f; + mDemoCamEye.y = 500.0f; } break; case 2: @@ -4740,7 +3263,7 @@ void daE_VA_c::executeOpaciDeath() { } mDemoCamCenter = field_0x122c; - mDemoCamCenter.y += 10.0f; + field_0x122c.y += 10.0f; if (mDemoModeTimer == 0) { camera->mCamera.Reset(mDemoCamCenter, mDemoCamEye, mDemoCamBank, 0); @@ -4762,22 +3285,6 @@ void daE_VA_c::executeOpaciDeath() { camera->mCamera.Set(mDemoCamCenter, mDemoCamEye, mDemoCamBank, 0); } - -/* ############################################################################################## */ -/* 807CEE80-807CEE84 0001D8 0004+00 0/0 0/0 0/0 .rodata @7923 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7923 = 155.0f; -COMPILER_STRIP_GATE(0x807CEE80, &lit_7923); -#pragma pop - -/* 807CEE84-807CEE88 0001DC 0004+00 0/1 0/0 0/0 .rodata @8008 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_8008 = 320.0f; -COMPILER_STRIP_GATE(0x807CEE84, &lit_8008); -#pragma pop - /* 807CB8CC-807CBC00 0093CC 0334+00 1/1 0/0 0/0 .text calcMagicMove__8daE_VA_cFv */ void daE_VA_c::calcMagicMove() { for (int i = 0; i < 2; i++) { @@ -4833,15 +3340,6 @@ void daE_VA_c::calcMagicMove() { } } - -/* ############################################################################################## */ -/* 807CEE88-807CEE8C 0001E0 0004+00 0/1 0/0 0/0 .rodata @8089 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_8089 = 128.0f; -COMPILER_STRIP_GATE(0x807CEE88, &lit_8089); -#pragma pop - /* 807CBC00-807CC004 009700 0404+00 1/1 0/0 0/0 .text setAlphaType__8daE_VA_cFv */ void daE_VA_c::setAlphaType() { switch (mAlphaType) { @@ -4920,7 +3418,6 @@ void daE_VA_c::setAlphaType() { } } - /* 807CC004-807CC4D0 009B04 04CC+00 2/1 0/0 0/0 .text action__8daE_VA_cFv */ void daE_VA_c::action() { field_0x1391 = 0; @@ -5093,15 +3590,6 @@ void daE_VA_c::action() { mpEndEfBrk->play(); } - -/* ############################################################################################## */ -/* 807CEE8C-807CEE90 0001E4 0004+00 0/1 0/0 0/0 .rodata @8318 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_8318 = -300.0f; -COMPILER_STRIP_GATE(0x807CEE8C, &lit_8318); -#pragma pop - /* 807CC4D0-807CC864 009FD0 0394+00 1/1 0/0 0/0 .text mtx_set__8daE_VA_cFv */ void daE_VA_c::mtx_set() { mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z); @@ -5182,29 +3670,6 @@ void daE_VA_c::mtx_set() { } } - -/* ############################################################################################## */ -/* 807CEE90-807CEE94 0001E8 0004+00 0/1 0/0 0/0 .rodata @8471 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_8471 = -20.0f; -COMPILER_STRIP_GATE(0x807CEE90, &lit_8471); -#pragma pop - -/* 807CEE94-807CEE98 0001EC 0004+00 0/1 0/0 0/0 .rodata @8472 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_8472 = 75.0f; -COMPILER_STRIP_GATE(0x807CEE94, &lit_8472); -#pragma pop - -/* 807CEE98-807CEE9C 0001F0 0004+00 0/1 0/0 0/0 .rodata @8473 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_8473 = -25.0f; -COMPILER_STRIP_GATE(0x807CEE98, &lit_8473); -#pragma pop - /* 807CC864-807CCD24 00A364 04C0+00 1/1 0/0 0/0 .text cc_set__8daE_VA_cFv */ void daE_VA_c::cc_set() { cXyz sp24; @@ -5305,7 +3770,6 @@ void daE_VA_c::cc_set() { } } - /* 807CCD24-807CCF3C 00A824 0218+00 1/1 0/0 0/0 .text execute__8daE_VA_cFv */ int daE_VA_c::execute() { if (mDemoModeTimer != 0) { @@ -5379,7 +3843,6 @@ int daE_VA_c::execute() { return 1; } - /* 807CCF3C-807CCF5C 00AA3C 0020+00 2/1 0/0 0/0 .text daE_VA_Execute__FP8daE_VA_c */ static int daE_VA_Execute(daE_VA_c* i_this) { return i_this->execute(); @@ -5418,8 +3881,7 @@ static int daE_VA_Delete(daE_VA_c* i_this) { } /* 807CD048-807CD600 00AB48 05B8+00 1/1 0/0 0/0 .text CreateHeap__8daE_VA_cFv */ -// weird data issue / reg alloc (probably related) -#ifdef NONMATCHING +// NONMATCHING weird data issue / reg alloc (probably related) int daE_VA_c::CreateHeap() { J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes("E_VA", 0x33); JUT_ASSERT(modelData != 0); @@ -5542,44 +4004,12 @@ int daE_VA_c::CreateHeap() { return 1; } -#else -int daE_VA_c::CreateHeap() { - // NONMATCHING -} -#endif - -/* 807CD600-807CD648 00B100 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */ -// J3DFrameCtrl::~J3DFrameCtrl() { -extern "C" void __dt__12J3DFrameCtrlFv() { - // NONMATCHING -} /* 807CD648-807CD668 00B148 0020+00 1/1 0/0 0/0 .text useHeapInit__FP10fopAc_ac_c */ static int useHeapInit(fopAc_ac_c* i_this) { return ((daE_VA_c*)i_this)->CreateHeap(); } -/* ############################################################################################## */ -/* 807CEE9C-807CEEA0 0001F4 0004+00 0/1 0/0 0/0 .rodata @8890 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_8890 = -500.0f; -COMPILER_STRIP_GATE(0x807CEE9C, &lit_8890); -#pragma pop - -/* 807CEEA0-807CEEA4 0001F8 0004+00 0/1 0/0 0/0 .rodata @8891 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_8891 = 1850.0f; -COMPILER_STRIP_GATE(0x807CEEA0, &lit_8891); -#pragma pop - -/* 807CEEFC-807CEEFC 000254 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_807CEF01 = "E_va"; -#pragma pop - /* 807CD668-807CDAD8 00B168 0470+00 1/1 0/0 0/0 .text create__8daE_VA_cFv */ int daE_VA_c::create() { fopAcM_SetupActor(this, daE_VA_c); @@ -5699,66 +4129,6 @@ int daE_VA_c::create() { /* 807CDAD8-807CDE90 00B5D8 03B8+00 1/1 0/0 0/0 .text __ct__8daE_VA_cFv */ daE_VA_c::daE_VA_c() { - // NONMATCHING -} - -/* 807CDE90-807CDF14 00B990 0084+00 1/1 0/0 0/0 .text __ct__8dCcD_SphFv */ -// dCcD_Sph::dCcD_Sph() { -extern "C" void __ct__8dCcD_SphFv() { - // NONMATCHING -} - -/* 807CDF14-807CDF98 00BA14 0084+00 1/1 0/0 0/0 .text __ct__8dCcD_CylFv */ -// dCcD_Cyl::dCcD_Cyl() { -extern "C" void __ct__8dCcD_CylFv() { - // NONMATCHING -} - -/* 807CDF98-807CE064 00BA98 00CC+00 1/1 0/0 0/0 .text __dt__8dCcD_SphFv */ -// dCcD_Sph::~dCcD_Sph() { -extern "C" void __dt__8dCcD_SphFv() { - // NONMATCHING -} - -/* 807CE064-807CE0AC 00BB64 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGSphFv */ -// cM3dGSph::~cM3dGSph() { -extern "C" void __dt__8cM3dGSphFv() { - // NONMATCHING -} - -/* 807CE0AC-807CE108 00BBAC 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */ -// dCcD_GStts::~dCcD_GStts() { -extern "C" void __dt__10dCcD_GSttsFv() { - // NONMATCHING -} - -/* 807CE108-807CE15C 00BC08 0054+00 1/1 0/0 0/0 .text __ct__12dBgS_ObjAcchFv */ -// dBgS_ObjAcch::dBgS_ObjAcch() { -extern "C" void __ct__12dBgS_ObjAcchFv() { - // NONMATCHING -} - -/* 807CE15C-807CE1CC 00BC5C 0070+00 4/3 0/0 0/0 .text __dt__12dBgS_ObjAcchFv */ -// dBgS_ObjAcch::~dBgS_ObjAcch() { -extern "C" void __dt__12dBgS_ObjAcchFv() { - // NONMATCHING -} - -/* 807CE1CC-807CE23C 00BCCC 0070+00 2/1 0/0 0/0 .text __dt__12dBgS_AcchCirFv */ -// dBgS_AcchCir::~dBgS_AcchCir() { -extern "C" void __dt__12dBgS_AcchCirFv() { - // NONMATCHING -} - -/* 807CE23C-807CE240 00BD3C 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -// cXyz::cXyz() { -extern "C" void __ct__4cXyzFv() { - /* empty function */ -} - -/* 807CE240-807CE244 00BD40 0004+00 1/1 0/0 0/0 .text __ct__5csXyzFv */ -// csXyz::csXyz() { -extern "C" void __ct__5csXyzFv() { /* empty function */ } @@ -5767,217 +4137,6 @@ static int daE_VA_Create(daE_VA_c* i_this) { return i_this->create(); } -/* 807CE264-807CE2AC 00BD64 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */ -// cCcD_GStts::~cCcD_GStts() { -extern "C" void __dt__10cCcD_GSttsFv() { - // NONMATCHING -} - -/* 807CE2AC-807CE2F4 00BDAC 0048+00 2/1 0/0 0/0 .text __dt__12daE_VA_HIO_cFv */ -// daE_VA_HIO_c::~daE_VA_HIO_c() { -extern "C" void __dt__12daE_VA_HIO_cFv(){// NONMATCHING -} - -/* ############################################################################################## */ -/* 807CEEA4-807CEEA8 0001FC 0004+00 0/1 0/0 0/0 .rodata @9204 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_9204 = 990.0f; -COMPILER_STRIP_GATE(0x807CEEA4, &lit_9204); -#pragma pop - -/* 807CEEA8-807CEEAC 000200 0004+00 0/1 0/0 0/0 .rodata @9205 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_9205 = 971.0f; -COMPILER_STRIP_GATE(0x807CEEA8, &lit_9205); -#pragma pop - -/* 807CEEAC-807CEEB0 000204 0004+00 0/1 0/0 0/0 .rodata @9206 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_9206 = 326.0f; -COMPILER_STRIP_GATE(0x807CEEAC, &lit_9206); -#pragma pop - -/* 807CEEB0-807CEEB4 000208 0004+00 0/1 0/0 0/0 .rodata @9207 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_9207 = 582.0f; -COMPILER_STRIP_GATE(0x807CEEB0, &lit_9207); -#pragma pop - -/* 807CEEB4-807CEEB8 00020C 0004+00 0/1 0/0 0/0 .rodata @9208 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_9208 = -801.0f; -COMPILER_STRIP_GATE(0x807CEEB4, &lit_9208); -#pragma pop - -/* 807CEEB8-807CEEBC 000210 0004+00 0/1 0/0 0/0 .rodata @9209 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_9209 = -582.0f; -COMPILER_STRIP_GATE(0x807CEEB8, &lit_9209); -#pragma pop - -/* 807CEEBC-807CEEC0 000214 0004+00 0/1 0/0 0/0 .rodata @9210 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_9210 = -942.0f; -COMPILER_STRIP_GATE(0x807CEEBC, &lit_9210); -#pragma pop - -/* 807CEEC0-807CEEC4 000218 0004+00 0/1 0/0 0/0 .rodata @9211 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_9211 = 306.0f; -COMPILER_STRIP_GATE(0x807CEEC0, &lit_9211); -#pragma pop - -/* 807CEEC4-807CEEC8 00021C 0004+00 0/1 0/0 0/0 .rodata @9212 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_9212 = 202.0f; -COMPILER_STRIP_GATE(0x807CEEC4, &lit_9212); -#pragma pop - -/* 807CEEC8-807CEECC 000220 0004+00 0/1 0/0 0/0 .rodata @9213 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_9213 = 501.0f; -COMPILER_STRIP_GATE(0x807CEEC8, &lit_9213); -#pragma pop - -/* 807CEECC-807CEED0 000224 0004+00 0/1 0/0 0/0 .rodata @9214 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_9214 = 559.0f; -COMPILER_STRIP_GATE(0x807CEECC, &lit_9214); -#pragma pop - -/* 807CEED0-807CEED4 000228 0004+00 0/1 0/0 0/0 .rodata @9215 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_9215 = -17.0f; -COMPILER_STRIP_GATE(0x807CEED0, &lit_9215); -#pragma pop - -/* 807CEED4-807CEED8 00022C 0004+00 0/1 0/0 0/0 .rodata @9216 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_9216 = 458.0f; -COMPILER_STRIP_GATE(0x807CEED4, &lit_9216); -#pragma pop - -/* 807CEED8-807CEEDC 000230 0004+00 0/1 0/0 0/0 .rodata @9217 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_9217 = -306.0f; -COMPILER_STRIP_GATE(0x807CEED8, &lit_9217); -#pragma pop - -/* 807CEEDC-807CEEE0 000234 0004+00 0/1 0/0 0/0 .rodata @9218 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_9218 = -131.0f; -COMPILER_STRIP_GATE(0x807CEEDC, &lit_9218); -#pragma pop - -/* 807CEEE0-807CEEE4 000238 0004+00 0/1 0/0 0/0 .rodata @9219 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_9219 = -524.0f; -COMPILER_STRIP_GATE(0x807CEEE0, &lit_9219); -#pragma pop - -/* 807CEEE4-807CEEE8 00023C 0004+00 0/1 0/0 0/0 .rodata @9220 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_9220 = -414.0f; -COMPILER_STRIP_GATE(0x807CEEE4, &lit_9220); -#pragma pop - -/* 807CEEE8-807CEEEC 000240 0004+00 0/1 0/0 0/0 .rodata @9221 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_9221 = 347.0f; -COMPILER_STRIP_GATE(0x807CEEE8, &lit_9221); -#pragma pop - -/* 807CEEEC-807CEEF0 000244 0004+00 0/1 0/0 0/0 .rodata @9222 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_9222 = -15.0f; -COMPILER_STRIP_GATE(0x807CEEEC, &lit_9222); -#pragma pop - -/* 807CEEF0-807CEEF4 000248 0004+00 0/1 0/0 0/0 .rodata @9223 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_9223 = 8.0f; -COMPILER_STRIP_GATE(0x807CEEF0, &lit_9223); -#pragma pop - -/* 807CEEF4-807CEEF8 00024C 0004+00 0/1 0/0 0/0 .rodata @9224 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_9224 = -8.0f; -COMPILER_STRIP_GATE(0x807CEEF4, &lit_9224); -#pragma pop - -/* 807CEEF8-807CEEFC 000250 0004+00 0/1 0/0 0/0 .rodata @9225 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_9225 = 23.0f; -COMPILER_STRIP_GATE(0x807CEEF8, &lit_9225); -#pragma pop - -/* 807CE2F4-807CE7E0 00BDF4 04EC+00 0/0 1/0 0/0 .text __sinit_d_a_e_vt_cpp */ -void __sinit_d_a_e_vt_cpp(){// NONMATCHING -} - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x807CE2F4, __sinit_d_a_e_vt_cpp); -#pragma pop - -/* 807CE7E0-807CE7E8 00C2E0 0008+00 1/0 0/0 0/0 .text @36@__dt__12dBgS_ObjAcchFv */ -static void func_807CE7E0() { - // NONMATCHING -} - -/* 807CE7E8-807CE7F0 00C2E8 0008+00 1/0 0/0 0/0 .text @20@__dt__12dBgS_ObjAcchFv */ -static void func_807CE7E8() { - // NONMATCHING -} - -/* 807CE7F0-807CEC04 00C2F0 0414+00 1/1 0/0 0/0 .text - * setMidnaBindEffect__FP13fopEn_enemy_cP15Z2CreatureEnemyP4cXyzP4cXyz */ -/* static void setMidnaBindEffect(fopEn_enemy_c* param_0, Z2CreatureEnemy* param_1, cXyz* - param_2, cXyz* param_3) { */ -extern "C" void setMidnaBindEffect__FP13fopEn_enemy_cP15Z2CreatureEnemyP4cXyzP4cXyz() { - // NONMATCHING -} - -/* 807CEC04-807CEC40 00C704 003C+00 1/1 0/0 0/0 .text __dt__5csXyzFv */ -// csXyz::~csXyz() { -extern "C" void __dt__5csXyzFv() { - // NONMATCHING -} - -/* 807CEC40-807CEC7C 00C740 003C+00 2/2 0/0 0/0 .text __dt__4cXyzFv */ -// cXyz::~cXyz() { -extern "C" void __dt__4cXyzFv() { - // NONMATCHING -} - -/* 807CEC7C-807CEC94 00C77C 0018+00 1/1 0/0 0/0 .text checkNowWolf__9daPy_py_cFv */ -// void daPy_py_c::checkNowWolf() { -extern "C" void checkNowWolf__9daPy_py_cFv() { - // NONMATCHING -} - /* ############################################################################################## */ /* 807CF6E4-807CF6E8 000274 0004+00 0/0 0/0 0/0 .bss * sInstance__40JASGlobalInstance<19JASDefaultBankTable> */ @@ -6150,4 +4309,29 @@ static u8 data_807CF740[4]; static u8 data_807CF744[4]; #pragma pop -/* 807CEEFC-807CEEFC 000254 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file +/* 807CF384-807CF3A4 -00001 0020+00 1/0 0/0 0/0 .data l_daE_VA_Method */ +static actor_method_class l_daE_VA_Method = { + (process_method_func)daE_VA_Create, + (process_method_func)daE_VA_Delete, + (process_method_func)daE_VA_Execute, + (process_method_func)daE_VA_IsDelete, + (process_method_func)daE_VA_Draw, +}; + +/* 807CF3A4-807CF3D4 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_VT */ +extern actor_process_profile_definition g_profile_E_VT = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_VT, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(daE_VA_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 756, // mPriority + &l_daE_VA_Method, // sub_method + 0x00040000, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType +}; diff --git a/src/d/actor/d_a_e_yk.cpp b/src/d/actor/d_a_e_yk.cpp index 7a2bc85f96..0bb763ade9 100644 --- a/src/d/actor/d_a_e_yk.cpp +++ b/src/d/actor/d_a_e_yk.cpp @@ -6,254 +6,20 @@ */ #include "d/actor/d_a_e_yk.h" +#include "c/c_damagereaction.h" #include "d/d_com_inf_game.h" +#include "d/actor/d_a_midna.h" #include "d/actor/d_a_player.h" #include "d/d_s_play.h" #include "dol2asm.h" #include "SSystem/SComponent/c_math.h" -// -// Forward References: -// - -extern "C" void __ct__12daE_YK_HIO_cFv(); -extern "C" static void yk_disappear__FP10e_yk_class(); -extern "C" static void anm_init__FP10e_yk_classifUcf(); -extern "C" static void daE_YK_Draw__FP10e_yk_class(); -extern "C" static void shot_b_sub__FPvPv(); -extern "C" static void other_bg_check__FP10e_yk_classP10fopAc_ac_c(); -extern "C" static void pl_check__FP10e_yk_classfs(); -extern "C" static void damage_check__FP10e_yk_class(); -extern "C" static void path_check__FP10e_yk_class(); -extern "C" static void fly_move__FP10e_yk_class(); -extern "C" static void e_yk_roof__FP10e_yk_class(); -extern "C" static void e_yk_fight_fly__FP10e_yk_class(); -extern "C" static void e_yk_fight__FP10e_yk_class(); -extern "C" static void e_yk_attack__FP10e_yk_class(); -extern "C" static void e_yk_fly__FP10e_yk_class(); -extern "C" static void e_yk_return__FP10e_yk_class(); -extern "C" static void e_yk_path_fly__FP10e_yk_class(); -extern "C" static void e_yk_chance__FP10e_yk_class(); -extern "C" static void e_yk_wolfbite__FP10e_yk_class(); -extern "C" static void e_yk_wind__FP10e_yk_class(); -extern "C" static void action__FP10e_yk_class(); -extern "C" static void daE_YK_Execute__FP10e_yk_class(); -extern "C" static bool daE_YK_IsDelete__FP10e_yk_class(); -extern "C" static void daE_YK_Delete__FP10e_yk_class(); -extern "C" static void useHeapInit__FP10fopAc_ac_c(); -extern "C" static void daE_YK_Create__FP10fopAc_ac_c(); -extern "C" void __dt__8cM3dGSphFv(); -extern "C" void __dt__8cM3dGAabFv(); -extern "C" void __dt__10dCcD_GSttsFv(); -extern "C" void __dt__12dBgS_ObjAcchFv(); -extern "C" void __dt__12dBgS_AcchCirFv(); -extern "C" void __dt__10cCcD_GSttsFv(); -extern "C" void __dt__12daE_YK_HIO_cFv(); -extern "C" void __sinit_d_a_e_yk_cpp(); -extern "C" static void func_80807864(); -extern "C" static void func_8080786C(); -extern "C" static void setMidnaBindEffect__FP13fopEn_enemy_cP15Z2CreatureEnemyP4cXyzP4cXyz(); -extern "C" extern char const* const d_a_e_yk__stringBase0; - -// -// External References: -// - -extern "C" void mDoMtx_XrotM__FPA4_fs(); -extern "C" void mDoMtx_YrotS__FPA4_fs(); -extern "C" void mDoMtx_YrotM__FPA4_fs(); -extern "C" void mDoMtx_ZrotM__FPA4_fs(); -extern "C" void scaleM__14mDoMtx_stack_cFfff(); -extern "C" void -__ct__16mDoExt_McaMorfSOFP12J3DModelDataP25mDoExt_McaMorfCallBack1_cP25mDoExt_McaMorfCallBack2_cP15J3DAnmTransformifiiP10Z2CreatureUlUl(); -extern "C" void setAnm__16mDoExt_McaMorfSOFP15J3DAnmTransformiffff(); -extern "C" void play__16mDoExt_McaMorfSOFUlSc(); -extern "C" void entryDL__16mDoExt_McaMorfSOFv(); -extern "C" void modelCalc__16mDoExt_McaMorfSOFv(); -extern "C" void stopZelAnime__16mDoExt_McaMorfSOFv(); -extern "C" void cDmrNowMidnaTalk__Fv(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void fopAc_IsActor__FPv(); -extern "C" void fopAcIt_Judge__FPFPvPv_PvPv(); -extern "C" void fopAcM_delete__FP10fopAc_ac_c(); -extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl(); -extern "C" void fopAcM_SetMin__FP10fopAc_ac_cfff(); -extern "C" void fopAcM_SetMax__FP10fopAc_ac_cfff(); -extern "C" void fopAcM_searchActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c(); -extern "C" void fopAcM_searchActorDistanceXZ__FPC10fopAc_ac_cPC10fopAc_ac_c(); -extern "C" void fopAcM_createItemFromEnemyID__FUcPC4cXyziiPC5csXyzPC4cXyzPfPf(); -extern "C" void fopAcM_effSmokeSet1__FPUlPUlPC4cXyzPC5csXyzfPC12dKy_tevstr_ci(); -extern "C" void fpcEx_Search__FPFPvPv_PvPv(); -extern "C" void fpcSch_JudgeForPName__FPvPv(); -extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfGp_getReverb__Fi(); -extern "C" void onSwitch__10dSv_info_cFii(); -extern "C" void isSwitch__10dSv_info_cCFii(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void getEmitter__Q213dPa_control_c7level_cFUl(); -extern "C" void -set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf(); -extern "C" void -set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf(); -extern "C" void dPath_GetRoomPath__Fii(); -extern "C" void StartShock__12dVibration_cFii4cXyz(); -extern "C" void LineCross__4cBgSFP11cBgS_LinChk(); -extern "C" void __ct__12dBgS_AcchCirFv(); -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_LinChkFv(); -extern "C" void __dt__11dBgS_LinChkFv(); -extern "C" void Set__11dBgS_LinChkFPC4cXyzPC4cXyzPC10fopAc_ac_c(); -extern "C" void SetObj__16dBgS_PolyPassChkFv(); -extern "C" void __ct__10dCcD_GSttsFv(); -extern "C" void Move__10dCcD_GSttsFv(); -extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c(); -extern "C" void __ct__12dCcD_GObjInfFv(); -extern "C" void ChkTgHit__12dCcD_GObjInfFv(); -extern "C" void GetTgHitObj__12dCcD_GObjInfFv(); -extern "C" void Set__8dCcD_SphFRC11dCcD_SrcSph(); -extern "C" void cc_at_check__FP10fopAc_ac_cP11dCcU_AtInfo(); -extern "C" void checkBoomerangCharge__9daPy_py_cFv(); -extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void dKy_darkworld_check__Fv(); -extern "C" void Set__4cCcSFP8cCcD_Obj(); -extern "C" void __pl__4cXyzCFRC3Vec(); -extern "C" void __mi__4cXyzCFRC3Vec(); -extern "C" void cM_atan2s__Fff(); -extern "C" void cM_rndF__Ff(); -extern "C" void cM_rndFX__Ff(); -extern "C" void __dt__13cBgS_PolyInfoFv(); -extern "C" void __dt__8cM3dGCirFv(); -extern "C" void SetC__8cM3dGSphFRC4cXyz(); -extern "C" void SetR__8cM3dGSphFf(); -extern "C" void cLib_addCalc2__FPffff(); -extern "C" void cLib_addCalc0__FPfff(); -extern "C" void cLib_addCalcAngleS2__FPssss(); -extern "C" void MtxPosition__FP4cXyzP4cXyz(); -extern "C" void func_802807E0(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void __ct__15Z2CreatureEnemyFv(); -extern "C" void init__15Z2CreatureEnemyFP3VecP3VecUcUc(); -extern "C" void setLinkSearch__15Z2CreatureEnemyFb(); -extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); -extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void _savegpr_19(); -extern "C" void _savegpr_23(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_19(); -extern "C" void _restgpr_23(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" extern void* __vt__8dCcD_Sph[36]; -extern "C" extern void* __vt__9dCcD_Stts[11]; -extern "C" extern void* __vt__12cCcD_SphAttr[25]; -extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; -extern "C" extern void* __vt__9cCcD_Stts[8]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" u8 m_midnaActor__9daPy_py_c[4]; -// extern "C" extern u8 pauseTimer__9dScnPly_c[4]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; -extern "C" void __register_global_object(); - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 80807C9C-80807CA0 000000 0004+00 20/20 0/0 0/0 .rodata @3941 */ -SECTION_RODATA static f32 const lit_3941 = 100.0f; -COMPILER_STRIP_GATE(0x80807C9C, &lit_3941); - -/* 80807CA0-80807CA4 000004 0004+00 1/15 0/0 0/0 .rodata @3942 */ -SECTION_RODATA static u8 const lit_3942[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80807CA0, &lit_3942); - -/* 80807CA4-80807CAC 000008 0004+04 1/17 0/0 0/0 .rodata @3943 */ -SECTION_RODATA static f32 const lit_3943[1 + 1 /* padding */] = { - 1.0f, - /* padding */ - 0.0f, -}; -COMPILER_STRIP_GATE(0x80807CA4, &lit_3943); - -/* 80807CAC-80807CB4 000010 0008+00 0/3 0/0 0/0 .rodata @3944 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3944[8] = { - 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80807CAC, &lit_3944); -#pragma pop - -/* 80807CB4-80807CBC 000018 0008+00 0/3 0/0 0/0 .rodata @3945 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3945[8] = { - 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80807CB4, &lit_3945); -#pragma pop - -/* 80807CBC-80807CC4 000020 0008+00 0/3 0/0 0/0 .rodata @3946 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3946[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80807CBC, &lit_3946); -#pragma pop - -/* 80807CC4-80807CC8 000028 0004+00 0/1 0/0 0/0 .rodata @3947 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3947 = 1.0f / 100.0f; -COMPILER_STRIP_GATE(0x80807CC4, &lit_3947); -#pragma pop - -/* 80807CC8-80807CCC 00002C 0004+00 0/3 0/0 0/0 .rodata @3962 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3962 = 15.0f; -COMPILER_STRIP_GATE(0x80807CC8, &lit_3962); -#pragma pop - -/* 80807CCC-80807CD0 000030 0004+00 0/1 0/0 0/0 .rodata @3963 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3963 = 250.0f; -COMPILER_STRIP_GATE(0x80807CCC, &lit_3963); -#pragma pop - -/* 80807CD0-80807CD4 000034 0004+00 0/2 0/0 0/0 .rodata @3964 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3964 = 40.0f; -COMPILER_STRIP_GATE(0x80807CD0, &lit_3964); -#pragma pop - /* 80807D70-80807D7C 000000 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */ static u8 cNullVec__6Z2Calc[12] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; /* 80807D7C-80807D90 00000C 0004+10 0/0 0/0 0/0 .data @1787 */ -#pragma push -#pragma force_active on static u32 lit_1787[1 + 4 /* padding */] = { 0x02000201, /* padding */ @@ -262,160 +28,77 @@ static u32 lit_1787[1 + 4 /* padding */] = { 0x3FE00000, 0x00000000, }; -#pragma pop -/* 80807D90-80807D98 000020 0008+00 0/1 0/0 0/0 .data e_prim$3820 */ -#pragma push -#pragma force_active on -static u8 e_prim[8] = { - 0xFF, 0x78, 0x00, 0x00, 0xFF, 0x64, 0x78, 0x00, -}; -#pragma pop +// NONMATCHING load order and regalloc +static int setMidnaBindEffect(fopEn_enemy_c* i_enemy, Z2CreatureEnemy* i_sound, + cXyz* i_pos, cXyz* i_scale) { + static GXColor e_prim[2] = { + {0xFF, 0x78, 0x00, 0x00}, + {0xFF, 0x64, 0x78, 0x00}, + }; + static GXColor e_env[2] = { + {0x5A, 0x2D, 0x2D, 0x00}, + {0x3C, 0x1E, 0x1E, 0x00}, + }; -/* 80807D98-80807DA0 000028 0008+00 0/1 0/0 0/0 .data e_env$3821 */ -#pragma push -#pragma force_active on -static u8 e_env[8] = { - 0x5A, 0x2D, 0x2D, 0x00, 0x3C, 0x1E, 0x1E, 0x00, -}; -#pragma pop + daPy_py_c* player = daPy_getPlayerActorClass(); + if (player->getMidnaActor() != NULL && player->checkWolfLock(i_enemy)) { + cXyz local_48; + int world = dKy_darkworld_check() ? 1 : 0; -/* 80807DA0-80807DA8 000030 0006+02 0/1 0/0 0/0 .data eff_id$3829 */ -#pragma push -#pragma force_active on -static u8 eff_id[6 + 2 /* padding */] = { - 0x02, - 0x9D, - 0x02, - 0x9E, - 0x02, - 0x9F, - /* padding */ - 0x00, - 0x00, -}; -#pragma pop + if (i_enemy->getMidnaBindMode() == 0) { + i_enemy->setMidnaBindMode(1); + csXyz angle; -/* 80807DA8-80807DE4 -00001 003C+00 1/1 0/0 0/0 .data @4726 */ -SECTION_DATA static void* lit_4726[15] = { - (void*)(((char*)action__FP10e_yk_class) + 0x80), - (void*)(((char*)action__FP10e_yk_class) + 0x8C), - (void*)(((char*)action__FP10e_yk_class) + 0x98), - (void*)(((char*)action__FP10e_yk_class) + 0xA8), - (void*)(((char*)action__FP10e_yk_class) + 0xC4), - (void*)(((char*)action__FP10e_yk_class) + 0xD0), - (void*)(((char*)action__FP10e_yk_class) + 0xDC), - (void*)(((char*)action__FP10e_yk_class) + 0x108), - (void*)(((char*)action__FP10e_yk_class) + 0x108), - (void*)(((char*)action__FP10e_yk_class) + 0x108), - (void*)(((char*)action__FP10e_yk_class) + 0xE8), - (void*)(((char*)action__FP10e_yk_class) + 0x108), - (void*)(((char*)action__FP10e_yk_class) + 0x108), - (void*)(((char*)action__FP10e_yk_class) + 0xF4), - (void*)(((char*)action__FP10e_yk_class) + 0x100), -}; + MTXCopy(daPy_py_c::getMidnaActor()->getMtxHairTop(), mDoMtx_stack_c::get()); + cXyz local_54(100.0f, 0.0f, 0.0f); + mDoMtx_stack_c::multVec(&local_54, &local_48); + cXyz local_60 = local_48 - *i_pos; -/* 80807DE4-80807DE8 000074 0004+00 1/1 0/0 0/0 .data e_name$4766 */ -static u16 e_name[2] = { - 0x8432, - 0x8433, -}; + angle.y = cM_atan2s(local_60.x, local_60.z); + angle.x = -cM_atan2s(local_60.y, + JMAFastSqrt(local_60.x * local_60.x + local_60.z * local_60.z)); + angle.z = 0; -/* 80807DE8-80807DF0 000078 0008+00 1/1 0/0 0/0 .data e_idx$4767 */ -static u32 e_idx[2] = { - 5, - 9, -}; + JPABaseEmitter* emitter = + dComIfGp_particle_set(0x29B, i_pos, &i_enemy->tevStr, &angle, i_scale, + 0xff, NULL, fopAcM_GetRoomNo(i_enemy), + &e_prim[world], &e_env[world], NULL); + if (emitter != NULL) { + emitter->setGlobalParticleHeightScale(0.01f * local_60.abs()); + } -/* 80807DF0-80807E30 000080 0040+00 1/1 0/0 0/0 .data cc_sph_src$4930 */ -static u8 cc_sph_src[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x0B, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, -}; + dComIfGp_particle_set(0x29C, i_pos, &i_enemy->tevStr, &i_enemy->shape_angle, + i_scale, 0xff, NULL, fopAcM_GetRoomNo(i_enemy), + &e_prim[world], &e_env[world], NULL); -/* 80807E30-80807E50 -00001 0020+00 1/0 0/0 0/0 .data l_daE_YK_Method */ -static actor_method_class l_daE_YK_Method = { - (process_method_func)daE_YK_Create__FP10fopAc_ac_c, - (process_method_func)daE_YK_Delete__FP10e_yk_class, - (process_method_func)daE_YK_Execute__FP10e_yk_class, - (process_method_func)daE_YK_IsDelete__FP10e_yk_class, - (process_method_func)daE_YK_Draw__FP10e_yk_class -}; + i_sound->startCreatureSound(Z2SE_MIDNA_BIND_LOCK_ON, 0, -1); + } -/* 80807E50-80807E80 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_YK */ -extern actor_process_profile_definition g_profile_E_YK = { - fpcLy_CURRENT_e, // mLayerID - 7, // mListID - fpcPi_CURRENT_e, // mListPrio - PROC_E_YK, // mProcName - &g_fpcLf_Method.mBase, // sub_method - sizeof(e_yk_class), // mSize - 0, // mSizeOther - 0, // mParameters - &g_fopAc_Method.base, // sub_method - 188, // mPriority - &l_daE_YK_Method, // sub_method - 0x10050100, // mStatus - fopAc_ENEMY_e, // mActorType - fopAc_CULLBOX_CUSTOM_e, // cullType -}; + static u16 eff_id[3] = {0x029D, 0x029E, 0x029F}; + for (int i = 0; i < 3; i++) { + u32* bind_id = i_enemy->getMidnaBindID(i); + *bind_id = dComIfGp_particle_set(*bind_id, eff_id[i], i_pos, &i_enemy->tevStr, + &i_enemy->shape_angle, i_scale, 0xff, NULL, + fopAcM_GetRoomNo(i_enemy), + &e_prim[world], &e_env[world], NULL); + } -/* 80807E80-80807E8C 000110 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ -SECTION_DATA extern void* __vt__12dBgS_AcchCir[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12dBgS_AcchCirFv, -}; + i_sound->startCreatureSoundLevel(Z2SE_MIDNA_BIND_LOCK_SUS, 0, -1); + return 1; -/* 80807E8C-80807E98 00011C 000C+00 2/2 0/0 0/0 .data __vt__10cCcD_GStts */ -SECTION_DATA extern void* __vt__10cCcD_GStts[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__10cCcD_GSttsFv, -}; + } else { + i_enemy->setMidnaBindMode(0); + return 0; + } +} -/* 80807E98-80807EA4 000128 000C+00 1/1 0/0 0/0 .data __vt__10dCcD_GStts */ -SECTION_DATA extern void* __vt__10dCcD_GStts[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__10dCcD_GSttsFv, -}; +/* 80807EF8-80807EFC 000008 0004+00 2/2 0/0 0/0 .bss None */ +static u8 data_80807EF8; -/* 80807EA4-80807EB0 000134 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGSph */ -SECTION_DATA extern void* __vt__8cM3dGSph[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGSphFv, -}; - -/* 80807EB0-80807EBC 000140 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGAab */ -SECTION_DATA extern void* __vt__8cM3dGAab[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGAabFv, -}; - -/* 80807EBC-80807EE0 00014C 0024+00 2/2 0/0 0/0 .data __vt__12dBgS_ObjAcch */ -SECTION_DATA extern void* __vt__12dBgS_ObjAcch[9] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12dBgS_ObjAcchFv, - (void*)NULL, - (void*)NULL, - (void*)func_8080786C, - (void*)NULL, - (void*)NULL, - (void*)func_80807864, -}; - -/* 80807EE0-80807EEC 000170 000C+00 2/2 0/0 0/0 .data __vt__12daE_YK_HIO_c */ -SECTION_DATA extern void* __vt__12daE_YK_HIO_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12daE_YK_HIO_cFv, -}; +/* 80807F08-80807F24 000018 001C+00 9/9 0/0 0/0 .bss l_HIO */ +// static daE_YK_HIO_c l_HIO; +static daE_YK_HIO_c l_HIO; /* 8080482C-80804870 0000EC 0044+00 1/1 0/0 0/0 .text __ct__12daE_YK_HIO_cFv */ daE_YK_HIO_c::daE_YK_HIO_c() { @@ -427,27 +110,14 @@ daE_YK_HIO_c::daE_YK_HIO_c() { field_0x18 = 40.0f; } - -/* ############################################################################################## */ -/* 80807CD4-80807CD8 000038 0004+00 0/1 0/0 0/0 .rodata @4008 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4008 = 13.0f / 20.0f; -COMPILER_STRIP_GATE(0x80807CD4, &lit_4008); -#pragma pop - -/* 80807CD8-80807CDC 00003C 0004+00 1/2 0/0 0/0 .rodata @4009 */ -SECTION_RODATA static f32 const lit_4009 = -1.0f; -COMPILER_STRIP_GATE(0x80807CD8, &lit_4009); - /* 80804870-808049E4 000130 0174+00 2/2 0/0 0/0 .text yk_disappear__FP10e_yk_class */ static void yk_disappear(e_yk_class* i_this) { cXyz pos(0.65f,0.65f,0.65f); - dComIfGp_particle_set(0x826c,&i_this->current.pos,0,&pos); // float literal inline - dComIfGp_particle_set(0x826d,&i_this->current.pos,0,&pos); // float literal inline + dComIfGp_particle_set(0x826c,&i_this->current.pos,0,&pos); + dComIfGp_particle_set(0x826d,&i_this->current.pos,0,&pos); - fopAcM_seStart(i_this,Z2SE_DARK_VANISH,0); // float literal inline + fopAcM_seStart(i_this,Z2SE_DARK_VANISH,0); fopAcM_createItemFromEnemyID(1,&i_this->current.pos,0xffffffff,0xffffffff,0,0,0,0); s32 param = fopAcM_GetParam(i_this) >> 0x18; @@ -457,14 +127,12 @@ static void yk_disappear(e_yk_class* i_this) { } } - /* 808049E4-80804A90 0002A4 00AC+00 10/10 0/0 0/0 .text anm_init__FP10e_yk_classifUcf */ static void anm_init(e_yk_class* i_this, int i_resIdx, f32 param_2, u8 param_3, f32 param_4) { i_this->mpMorfSO->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("E_YK",i_resIdx),param_3,param_2,param_4,0.0f,-1.0f); i_this->mResIdx = i_resIdx; } - /* 80804A90-80804B38 000350 00A8+00 1/0 0/0 0/0 .text daE_YK_Draw__FP10e_yk_class */ static int daE_YK_Draw(e_yk_class* i_this) { J3DModel* model = i_this->mpMorfSO->getModel(); @@ -493,9 +161,8 @@ static void* shot_b_sub(void* param_0, void* param_1) { /* 80804BB0-80804C88 000470 00D8+00 1/1 0/0 0/0 .text other_bg_check__FP10e_yk_classP10fopAc_ac_c */ -#ifdef NONMATCHING -// regalloc + literals. i_actorP needs to load in first -static bool other_bg_check(e_yk_class* i_this, fopAc_ac_c* i_actorP) { +static int other_bg_check(e_yk_class* i_this, fopAc_ac_c* i_actorP) { + fopAc_ac_c* _this = static_cast(i_this); dBgS_LinChk lin_chk; cXyz yk_pos; cXyz actor_pos; @@ -503,26 +170,16 @@ static bool other_bg_check(e_yk_class* i_this, fopAc_ac_c* i_actorP) { actor_pos = i_actorP->current.pos; actor_pos.y += 100.0f; - yk_pos = i_this->current.pos; - yk_pos.y = i_this->eyePos.y; + yk_pos = _this->current.pos; + yk_pos.y = _this->eyePos.y; - lin_chk.Set(&yk_pos,&actor_pos,i_this); + lin_chk.Set(&yk_pos,&actor_pos,_this); if (dComIfG_Bgsp().LineCross(&lin_chk)) { return 1; } else { return 0; } } -#else -static int other_bg_check(e_yk_class* param_0, fopAc_ac_c* param_1) { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ -/* 80807CDC-80807CE0 000040 0004+00 1/1 0/0 0/0 .rodata @4103 */ -SECTION_RODATA static f32 const lit_4103 = 50000.0f; -COMPILER_STRIP_GATE(0x80807CDC, &lit_4103); /* 80804C88-80804D38 000548 00B0+00 5/5 0/0 0/0 .text pl_check__FP10e_yk_classfs */ static int pl_check(e_yk_class* i_this, f32 i_distance, s16 i_angle) { @@ -543,29 +200,6 @@ static int pl_check(e_yk_class* i_this, f32 i_distance, s16 i_angle) { return 0; } - -/* ############################################################################################## */ -/* 80807CE0-80807CE4 000044 0004+00 0/2 0/0 0/0 .rodata @4151 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4151 = 70.0f; -COMPILER_STRIP_GATE(0x80807CE0, &lit_4151); -#pragma pop - -/* 80807CE4-80807CE8 000048 0004+00 0/4 0/0 0/0 .rodata @4152 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4152 = 10.0f; -COMPILER_STRIP_GATE(0x80807CE4, &lit_4152); -#pragma pop - -/* 80807CE8-80807CEC 00004C 0004+00 0/3 0/0 0/0 .rodata @4153 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4153 = 1.0f / 5.0f; -COMPILER_STRIP_GATE(0x80807CE8, &lit_4153); -#pragma pop - /* 80804D38-80804F68 0005F8 0230+00 1/1 0/0 0/0 .text damage_check__FP10e_yk_class */ static void damage_check(e_yk_class* i_this) { fopAc_ac_c* player = dComIfGp_getPlayer(0); @@ -636,31 +270,10 @@ static void damage_check(e_yk_class* i_this) { } } - -/* ############################################################################################## */ -/* 80807CEC-80807CF0 000050 0004+00 0/5 0/0 0/0 .rodata @4185 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4185 = 50.0f; -COMPILER_STRIP_GATE(0x80807CEC, &lit_4185); -#pragma pop - -/* 80807EF8-80807EFC 000008 0004+00 2/2 0/0 0/0 .bss None */ -static u8 data_80807EF8; - -/* 80807EFC-80807F08 00000C 000C+00 1/1 0/0 0/0 .bss @3957 */ -static u8 lit_3957[12]; - -/* 80807F08-80807F24 000018 001C+00 9/9 0/0 0/0 .bss l_HIO */ -// static daE_YK_HIO_c l_HIO; -static daE_YK_HIO_c_tmp l_HIO; - /* 80807F24-80808023 000034 00FF+00 1/1 0/0 0/0 .bss check_index$4191 */ static u8 check_index[255]; /* 80804F68-808051D0 000828 0268+00 2/3 0/0 0/0 .text path_check__FP10e_yk_class */ -#ifdef NONMATCHING -// literals + float regalloc in the loops static int path_check(e_yk_class* i_this) { if (i_this->mpPath) { dBgS_LinChk lin_chk; @@ -687,6 +300,7 @@ static int path_check(e_yk_class* i_this) { } } + f32 x,y,z; f32 f = 0.0f; bool tmp = false; @@ -695,9 +309,9 @@ static int path_check(e_yk_class* i_this) { for (int j = 0; j < i_this->mpPath->m_num; j++, points++) { if (check_index[j] != 0) { - f32 x = i_this->current.pos.x - points->m_position.x; - f32 y = i_this->current.pos.y - points->m_position.y; - f32 z = i_this->current.pos.z - points->m_position.z; + x = i_this->current.pos.x - points->m_position.x; + y = i_this->current.pos.y - points->m_position.y; + z = i_this->current.pos.z - points->m_position.z; if (JMAFastSqrt(x*x + y*y + z*z) < f) { i_this->mPathPntIdx = j - i_this->field_0x5ba; @@ -733,26 +347,6 @@ static int path_check(e_yk_class* i_this) { return 0; } -#else -static int path_check(e_yk_class* i_this) { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ -/* 80807CF0-80807CF4 000054 0004+00 0/1 0/0 0/0 .rodata @4271 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4271 = 2000.0f; -COMPILER_STRIP_GATE(0x80807CF0, &lit_4271); -#pragma pop - -/* 80807CF4-80807CF8 000058 0004+00 0/1 0/0 0/0 .rodata @4272 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4272 = 1.0f / 25.0f; -COMPILER_STRIP_GATE(0x80807CF4, &lit_4272); -#pragma pop /* 808051D0-80805360 000A90 0190+00 5/5 0/0 0/0 .text fly_move__FP10e_yk_class */ static void fly_move(e_yk_class* i_this) { @@ -763,7 +357,7 @@ static void fly_move(e_yk_class* i_this) { f32 z = i_this->mPathPntPos.z - i_this->current.pos.z; s16 angle = cM_atan2s(x,z); - f32 sqrt = JMAFastSqrt(x * x + z * z); // float literal inline + f32 sqrt = JMAFastSqrt(x * x + z * z); s16 angle2 = -cM_atan2s(y,sqrt); cLib_addCalcAngleS2(&i_this->current.angle.y,angle,10,i_this->field_0x690 * i_this->field_0x68c); @@ -784,29 +378,6 @@ static void fly_move(e_yk_class* i_this) { i_this->current.pos += i_this->speed; } - -/* ############################################################################################## */ -/* 80807CF8-80807CFC 00005C 0004+00 0/1 0/0 0/0 .rodata @4304 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4304 = 9.0f / 10.0f; -COMPILER_STRIP_GATE(0x80807CF8, &lit_4304); -#pragma pop - -/* 80807CFC-80807D00 000060 0004+00 0/2 0/0 0/0 .rodata @4305 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4305 = 1.0f / 10.0f; -COMPILER_STRIP_GATE(0x80807CFC, &lit_4305); -#pragma pop - -/* 80807D00-80807D04 000064 0004+00 0/6 0/0 0/0 .rodata @4306 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4306 = 0.5f; -COMPILER_STRIP_GATE(0x80807D00, &lit_4306); -#pragma pop - /* 80805360-808054A8 000C20 0148+00 1/1 0/0 0/0 .text e_yk_roof__FP10e_yk_class */ static void e_yk_roof(e_yk_class* i_this) { switch (i_this->mActionPhase) { @@ -830,22 +401,6 @@ static void e_yk_roof(e_yk_class* i_this) { } } - -/* ############################################################################################## */ -/* 80807D04-80807D08 000068 0004+00 0/6 0/0 0/0 .rodata @4334 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4334 = 3.0f; -COMPILER_STRIP_GATE(0x80807D04, &lit_4334); -#pragma pop - -/* 80807D08-80807D0C 00006C 0004+00 0/4 0/0 0/0 .rodata @4335 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4335 = 3.0f / 10.0f; -COMPILER_STRIP_GATE(0x80807D08, &lit_4335); -#pragma pop - /* 808054A8-80805660 000D68 01B8+00 1/1 0/0 0/0 .text e_yk_fight_fly__FP10e_yk_class */ static void e_yk_fight_fly(e_yk_class* i_this) { fopAc_ac_c* player = dComIfGp_getPlayer(0); @@ -887,36 +442,6 @@ static void e_yk_fight_fly(e_yk_class* i_this) { } } - -/* ############################################################################################## */ -/* 80807D0C-80807D10 000070 0004+00 0/3 0/0 0/0 .rodata @4398 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4398 = 2.0f; -COMPILER_STRIP_GATE(0x80807D0C, &lit_4398); -#pragma pop - -/* 80807D10-80807D14 000074 0004+00 0/4 0/0 0/0 .rodata @4399 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4399 = 30.0f; -COMPILER_STRIP_GATE(0x80807D10, &lit_4399); -#pragma pop - -/* 80807D14-80807D18 000078 0004+00 0/1 0/0 0/0 .rodata @4400 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4400 = 12288.0f; -COMPILER_STRIP_GATE(0x80807D14, &lit_4400); -#pragma pop - -/* 80807D18-80807D1C 00007C 0004+00 0/2 0/0 0/0 .rodata @4401 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4401 = 150.0f; -COMPILER_STRIP_GATE(0x80807D18, &lit_4401); -#pragma pop - /* 80805660-808059BC 000F20 035C+00 1/1 0/0 0/0 .text e_yk_fight__FP10e_yk_class */ static void e_yk_fight(e_yk_class* i_this) { fopAc_ac_c* player = dComIfGp_getPlayer(0); @@ -943,7 +468,7 @@ static void e_yk_fight(e_yk_class* i_this) { pos = i_this->mPathPntPos - i_this->current.pos; mDoMtx_YrotS((MtxP)calc_mtx,cM_atan2s(pos.x,pos.z)); - cMtx_XrotM((MtxP)calc_mtx,-cM_atan2s(pos.y,JMAFastSqrt(pos.x*pos.x + pos.z*pos.z))); // float literal inline + cMtx_XrotM((MtxP)calc_mtx,-cM_atan2s(pos.y,JMAFastSqrt(pos.x*pos.x + pos.z*pos.z))); pos.x = 0.0f; pos.y = 0.0f; @@ -985,15 +510,6 @@ static void e_yk_fight(e_yk_class* i_this) { } } - -/* ############################################################################################## */ -/* 80807D1C-80807D20 000080 0004+00 0/1 0/0 0/0 .rodata @4438 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4438 = 120.0f; -COMPILER_STRIP_GATE(0x80807D1C, &lit_4438); -#pragma pop - /* 808059BC-80805BB4 00127C 01F8+00 1/1 0/0 0/0 .text e_yk_attack__FP10e_yk_class */ static void e_yk_attack(e_yk_class* i_this) { fopAc_ac_c* player = dComIfGp_getPlayer(0); @@ -1047,22 +563,6 @@ static void e_yk_attack(e_yk_class* i_this) { fly_move(i_this); } - -/* ############################################################################################## */ -/* 80807D20-80807D24 000084 0004+00 0/1 0/0 0/0 .rodata @4480 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4480 = 500.0f; -COMPILER_STRIP_GATE(0x80807D20, &lit_4480); -#pragma pop - -/* 80807D24-80807D28 000088 0004+00 0/3 0/0 0/0 .rodata @4481 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4481 = 200.0f; -COMPILER_STRIP_GATE(0x80807D24, &lit_4481); -#pragma pop - /* 80805BB4-80805DE0 001474 022C+00 1/1 0/0 0/0 .text e_yk_fly__FP10e_yk_class */ static void e_yk_fly(e_yk_class* i_this) { switch (i_this->mActionPhase) { @@ -1083,7 +583,7 @@ static void e_yk_fly(e_yk_class* i_this) { cXyz pos = i_this->mPathPntPos - i_this->current.pos; mDoMtx_YrotS((MtxP)calc_mtx,cM_atan2s(pos.x,pos.z)); - cMtx_XrotM((MtxP)calc_mtx,-cM_atan2s(pos.y,JMAFastSqrt(pos.x*pos.x + pos.z*pos.z))); // float literal inline + cMtx_XrotM((MtxP)calc_mtx,-cM_atan2s(pos.y,JMAFastSqrt(pos.x*pos.x + pos.z*pos.z))); pos.x = 0.0f; pos.y = 0.0f; @@ -1104,7 +604,6 @@ static void e_yk_fly(e_yk_class* i_this) { } } - /* 80805DE0-80805FF0 0016A0 0210+00 1/1 0/0 0/0 .text e_yk_return__FP10e_yk_class */ static void e_yk_return(e_yk_class* i_this) { switch (i_this->mActionPhase) { @@ -1123,7 +622,7 @@ static void e_yk_return(e_yk_class* i_this) { cXyz pos = i_this->current.pos - i_this->mPathPntPos; - if (pos.abs() < 100.0f) { // multiple float literal inlines + if (pos.abs() < 100.0f) { i_this->mAction = ACT_ROOF; i_this->mActionPhase = 0; @@ -1135,7 +634,6 @@ static void e_yk_return(e_yk_class* i_this) { } } - /* 80805FF0-80806308 0018B0 0318+00 1/1 0/0 0/0 .text e_yk_path_fly__FP10e_yk_class */ static void e_yk_path_fly(e_yk_class* i_this) { switch (i_this->mActionPhase) { @@ -1183,7 +681,7 @@ static void e_yk_path_fly(e_yk_class* i_this) { case 3: cXyz pos = i_this->mPathPntPos - i_this->current.pos; - if (pos.abs() < 200.0f) { // float literal inlines + if (pos.abs() < 200.0f) { i_this->mActionPhase = 1; } } @@ -1192,29 +690,6 @@ static void e_yk_path_fly(e_yk_class* i_this) { fly_move(i_this); } - -/* ############################################################################################## */ -/* 80807D28-80807D2C 00008C 0004+00 0/1 0/0 0/0 .rodata @4608 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4608 = 1.5f; -COMPILER_STRIP_GATE(0x80807D28, &lit_4608); -#pragma pop - -/* 80807D2C-80807D30 000090 0004+00 0/1 0/0 0/0 .rodata @4609 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4609 = 65536.0f; -COMPILER_STRIP_GATE(0x80807D2C, &lit_4609); -#pragma pop - -/* 80807D30-80807D34 000094 0004+00 0/1 0/0 0/0 .rodata @4610 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4610 = 4.0f / 5.0f; -COMPILER_STRIP_GATE(0x80807D30, &lit_4610); -#pragma pop - /* 80806308-80806500 001BC8 01F8+00 1/1 0/0 0/0 .text e_yk_chance__FP10e_yk_class */ static void e_yk_chance(e_yk_class* i_this) { switch (i_this->mActionPhase) { @@ -1261,22 +736,6 @@ static void e_yk_chance(e_yk_class* i_this) { cLib_addCalcAngleS2(&i_this->current.angle.z,i_this->field_0x69a.z,2,0x1000); } - -/* ############################################################################################## */ -/* 80807D34-80807D38 000098 0004+00 0/1 0/0 0/0 .rodata @4650 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4650 = -20.0f; -COMPILER_STRIP_GATE(0x80807D34, &lit_4650); -#pragma pop - -/* 80807D38-80807D3C 00009C 0004+00 0/2 0/0 0/0 .rodata @4651 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4651 = 4.0f; -COMPILER_STRIP_GATE(0x80807D38, &lit_4651); -#pragma pop - /* 80806500-80806740 001DC0 0240+00 1/1 0/0 0/0 .text e_yk_wolfbite__FP10e_yk_class */ static void e_yk_wolfbite(e_yk_class* i_this) { daPy_py_c* player = (daPy_py_c*)dComIfGp_getPlayer(0); @@ -1335,29 +794,6 @@ static void e_yk_wolfbite(e_yk_class* i_this) { } } - -/* ############################################################################################## */ -/* 80807D3C-80807D40 0000A0 0004+00 0/1 0/0 0/0 .rodata @4675 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4675 = 15000.0f; -COMPILER_STRIP_GATE(0x80807D3C, &lit_4675); -#pragma pop - -/* 80807D40-80807D44 0000A4 0004+00 0/1 0/0 0/0 .rodata @4676 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4676 = 1000.0f; -COMPILER_STRIP_GATE(0x80807D40, &lit_4676); -#pragma pop - -/* 80807D44-80807D48 0000A8 0004+00 0/0 0/0 0/0 .rodata @4725 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4725 = 5.0f; -COMPILER_STRIP_GATE(0x80807D44, &lit_4725); -#pragma pop - /* 80806740-808068E4 002000 01A4+00 1/1 0/0 0/0 .text e_yk_wind__FP10e_yk_class */ static void e_yk_wind(e_yk_class* i_this) { e_yk_class* yk = (e_yk_class*)fpcM_Search(shot_b_sub,i_this); @@ -1396,7 +832,6 @@ static void e_yk_wind(e_yk_class* i_this) { i_this->current.angle.z = 0; } - /* 808068E4-80806B78 0021A4 0294+00 2/1 0/0 0/0 .text action__FP10e_yk_class */ static void action(e_yk_class* i_this) { cXyz pos; @@ -1486,28 +921,10 @@ static void action(e_yk_class* i_this) { i_this->old.pos.y += 30.0f; } - -/* ############################################################################################## */ -/* 80807D48-80807D4C 0000AC 0004+00 0/1 0/0 0/0 .rodata @4867 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4867 = 20.0f; -COMPILER_STRIP_GATE(0x80807D48, &lit_4867); -#pragma pop - -/* 80807D4C-80807D50 0000B0 0004+00 0/1 0/0 0/0 .rodata @4868 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4868 = 20000.0f; -COMPILER_STRIP_GATE(0x80807D4C, &lit_4868); -#pragma pop - /* 80806B78-8080708C 002438 0514+00 2/1 0/0 0/0 .text daE_YK_Execute__FP10e_yk_class */ -#ifdef NONMATCHING -// float literals / regalloc -static void setMidnaBindEffect(fopEn_enemy_c* param_0, Z2CreatureEnemy* param_1, cXyz* param_2, - cXyz* param_3); +// NONMATCHING regalloc static int daE_YK_Execute(e_yk_class* i_this) { + fopEn_enemy_c* _this = static_cast(i_this); cXyz pos, pos2; if (cDmrNowMidnaTalk()) { @@ -1528,28 +945,28 @@ static int daE_YK_Execute(e_yk_class* i_this) { action(i_this); - i_this->mpMorfSO->play(0,dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + i_this->mpMorfSO->play(0,dComIfGp_getReverb(fopAcM_GetRoomNo(_this))); J3DModel* model = i_this->mpMorfSO->getModel(); if (i_this->mAction == ACT_WOLFBITE && i_this->mActionPhase < 2) { - fopAcM_OffStatus(i_this,0); - i_this->attention_info.flags = 0; + fopAcM_OffStatus(_this,0); + _this->attention_info.flags = 0; // need to define inline here - MTXCopy(daPy_getLinkPlayerActorClass()->getWolfMouthMatrix(),mDoMtx_stack_c::now); + MTXCopy(daPy_getLinkPlayerActorClass()->getWolfMouthMatrix(),mDoMtx_stack_c::get()); model->setBaseTRMtx(mDoMtx_stack_c::get()); - mDoMtx_stack_c::multVecZero(&i_this->current.pos); + mDoMtx_stack_c::multVecZero(&_this->current.pos); } else { - if (i_this->health > 0 && i_this->field_0x6a0 == 0 && i_this->current.pos.y < player->current.pos.y) { - i_this->attention_info.flags = 4; + if (_this->health > 0 && i_this->field_0x6a0 == 0 && player->current.pos.y < _this->current.pos.y) { + _this->attention_info.flags = 4; } else { fopAcM_OffStatus(i_this,0); - i_this->attention_info.flags = 0; + _this->attention_info.flags = 0; } - mDoMtx_stack_c::transS(i_this->current.pos.x,i_this->current.pos.y,i_this->current.pos.z); - mDoMtx_stack_c::YrotM(i_this->shape_angle.y); - mDoMtx_stack_c::ZrotM(i_this->shape_angle.z); + mDoMtx_stack_c::transS(_this->current.pos.x,_this->current.pos.y,_this->current.pos.z); + mDoMtx_stack_c::YrotM(_this->shape_angle.y); + mDoMtx_stack_c::ZrotM(_this->shape_angle.z); mDoMtx_stack_c::scaleM(l_HIO.field_0x08,l_HIO.field_0x08,l_HIO.field_0x08); model->setBaseTRMtx(mDoMtx_stack_c::get()); @@ -1571,11 +988,13 @@ static int daE_YK_Execute(e_yk_class* i_this) { } if (i_this->mResIdx != 4) { - i_this->field_0xa80 = dComIfGp_particle_set(i_this->field_0xa80,0x8434,&i_this->current.pos,0,0); + i_this->field_0xa80 = dComIfGp_particle_set(i_this->field_0xa80,0x8434,&_this->current.pos,0,0); if (i_this->mResIdx != 9) { for (int i = 0; i < 2; i++) { - i_this->mParticleEmitterIds[i] = dComIfGp_particle_set(i_this->mParticleEmitterIds[i],e_name[i],&i_this->current.pos,0,0); + static u16 e_name[2] = {0x8432, 0x8433}; + static u32 e_idx[2] = {5, 9}; + i_this->mParticleEmitterIds[i] = dComIfGp_particle_set(i_this->mParticleEmitterIds[i],e_name[i],&_this->current.pos,0,0); JPABaseEmitter* emitter = dComIfGp_particle_getEmitter(i_this->mParticleEmitterIds[i]); if (emitter) { @@ -1590,9 +1009,9 @@ static int daE_YK_Execute(e_yk_class* i_this) { MTXCopy(model->getAnmMtx(2),(MtxP)calc_mtx); pos.set(0.0f,0.0f,0.0f); - MtxPosition(&pos,&i_this->eyePos); - i_this->attention_info.position = i_this->eyePos; - i_this->attention_info.position.y += 20.0f; + MtxPosition(&pos,&_this->eyePos); + _this->attention_info.position = _this->eyePos; + _this->attention_info.position.y += 20.0f; pos.set(0.0f,0.0f,0.0f); MtxPosition(&pos,&pos2); @@ -1605,16 +1024,11 @@ static int daE_YK_Execute(e_yk_class* i_this) { i_this->mCollisionSphere.SetR(30.0f * l_HIO.field_0x08); dComIfG_Ccsp()->Set(&i_this->mCollisionSphere); - setMidnaBindEffect(i_this,&i_this->mCreature,&i_this->eyePos,&cXyz(0.5f,0.5f,0.5f)); + setMidnaBindEffect(_this,&i_this->mCreature,&_this->eyePos,&cXyz(0.5f,0.5f,0.5f)); } return 1; } -#else -static int daE_YK_Execute(e_yk_class* i_this) { - // NONMATCHING -} -#endif /* 8080708C-80807094 00294C 0008+00 1/0 0/0 0/0 .text daE_YK_IsDelete__FP10e_yk_class */ static int daE_YK_IsDelete(e_yk_class* param_0) { @@ -1649,44 +1063,6 @@ static int useHeapInit(fopAc_ac_c* i_this) { return 1; } - -/* ############################################################################################## */ -/* 80807D50-80807D54 0000B4 0004+00 0/1 0/0 0/0 .rodata @5027 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5027 = 100000.0f; -COMPILER_STRIP_GATE(0x80807D50, &lit_5027); -#pragma pop - -/* 80807D54-80807D58 0000B8 0004+00 0/1 0/0 0/0 .rodata @5028 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5028 = -200.0f; -COMPILER_STRIP_GATE(0x80807D54, &lit_5028); -#pragma pop - -/* 80807D58-80807D5C 0000BC 0004+00 0/1 0/0 0/0 .rodata @5029 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5029 = 65535.0f; -COMPILER_STRIP_GATE(0x80807D58, &lit_5029); -#pragma pop - -/* 80807D5C-80807D64 0000C0 0008+00 0/1 0/0 0/0 .rodata @5031 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5031[8] = { - 0x43, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80807D5C, &lit_5031); -#pragma pop - -/* 80807D64-80807D64 0000C8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80807D69 = "E_yk"; -#pragma pop - /* 808071F4-808075CC 002AB4 03D8+00 1/0 0/0 0/0 .text daE_YK_Create__FP10fopAc_ac_c */ static int daE_YK_Create(fopAc_ac_c* i_this) { fopAcM_SetupActor(i_this, e_yk_class); @@ -1755,8 +1131,20 @@ static int daE_YK_Create(fopAc_ac_c* i_this) { yk->health = 1; yk->field_0x560 = 1; + static dCcD_SrcSph cc_sph_src = { + { + {0x0, {{0x400, 0x1, 0xD}, {0xD8FBFDFF, 0x3}, 0x75}}, // mObj + {dCcD_SE_HARD_BODY, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr + }; + yk->mCollisionStatus.Init(0x1e,0,yk); - yk->mCollisionSphere.Set(*(dCcD_SrcSph*)&e_idx); // something weird going on here + yk->mCollisionSphere.Set(cc_sph_src); yk->mCollisionSphere.SetStts(&yk->mCollisionStatus); yk->field_0x708.Set(fopAcM_GetPosition_p(yk), @@ -1779,73 +1167,29 @@ static int daE_YK_Create(fopAc_ac_c* i_this) { return phase_step; } +/* 80807E30-80807E50 -00001 0020+00 1/0 0/0 0/0 .data l_daE_YK_Method */ +static actor_method_class l_daE_YK_Method = { + (process_method_func)daE_YK_Create, + (process_method_func)daE_YK_Delete, + (process_method_func)daE_YK_Execute, + (process_method_func)daE_YK_IsDelete, + (process_method_func)daE_YK_Draw, +}; -/* 808075CC-80807614 002E8C 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGSphFv */ -// cM3dGSph::~cM3dGSph() { -extern "C" void __dt__8cM3dGSphFv() { - // NONMATCHING -} - -/* 80807614-8080765C 002ED4 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */ -// cM3dGAab::~cM3dGAab() { -extern "C" void __dt__8cM3dGAabFv() { - // NONMATCHING -} - -/* 8080765C-808076B8 002F1C 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */ -// dCcD_GStts::~dCcD_GStts() { -extern "C" void __dt__10dCcD_GSttsFv() { - // NONMATCHING -} - -/* 808076B8-80807728 002F78 0070+00 3/2 0/0 0/0 .text __dt__12dBgS_ObjAcchFv */ -// dBgS_ObjAcch::~dBgS_ObjAcch() { -extern "C" void __dt__12dBgS_ObjAcchFv() { - // NONMATCHING -} - -/* 80807728-80807798 002FE8 0070+00 1/0 0/0 0/0 .text __dt__12dBgS_AcchCirFv */ -// dBgS_AcchCir::~dBgS_AcchCir() { -extern "C" void __dt__12dBgS_AcchCirFv() { - // NONMATCHING -} - -/* 80807798-808077E0 003058 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */ -// cCcD_GStts::~cCcD_GStts() { -extern "C" void __dt__10cCcD_GSttsFv() { - // NONMATCHING -} - -/* 808077E0-80807828 0030A0 0048+00 2/1 0/0 0/0 .text __dt__12daE_YK_HIO_cFv */ -daE_YK_HIO_c::~daE_YK_HIO_c() { - // NONMATCHING -} - -/* 80807828-80807864 0030E8 003C+00 0/0 1/0 0/0 .text __sinit_d_a_e_yk_cpp */ -void __sinit_d_a_e_yk_cpp() { - // NONMATCHING -} - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x80807828, __sinit_d_a_e_yk_cpp); -#pragma pop - -/* 80807864-8080786C 003124 0008+00 1/0 0/0 0/0 .text @36@__dt__12dBgS_ObjAcchFv */ -static void func_80807864() { - // NONMATCHING -} - -/* 8080786C-80807874 00312C 0008+00 1/0 0/0 0/0 .text @20@__dt__12dBgS_ObjAcchFv */ -static void func_8080786C() { - // NONMATCHING -} - -/* 80807874-80807C88 003134 0414+00 1/1 0/0 0/0 .text - * setMidnaBindEffect__FP13fopEn_enemy_cP15Z2CreatureEnemyP4cXyzP4cXyz */ -static void setMidnaBindEffect(fopEn_enemy_c* param_0, Z2CreatureEnemy* param_1, cXyz* param_2, - cXyz* param_3) { - // NONMATCHING -} - -/* 80807D64-80807D64 0000C8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file +/* 80807E50-80807E80 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_YK */ +extern actor_process_profile_definition g_profile_E_YK = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_E_YK, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(e_yk_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 188, // mPriority + &l_daE_YK_Method, // sub_method + 0x10050100, // mStatus + fopAc_ENEMY_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType +}; diff --git a/src/d/actor/d_a_mg_fshop.cpp b/src/d/actor/d_a_mg_fshop.cpp index 7b13797fd0..b05d1fe91c 100644 --- a/src/d/actor/d_a_mg_fshop.cpp +++ b/src/d/actor/d_a_mg_fshop.cpp @@ -4,13 +4,14 @@ */ #include "d/actor/d_a_mg_fshop.h" +#include "JSystem/J3DGraphBase/J3DMaterial.h" +#include "d/actor/d_a_npc_henna.h" #include "d/actor/d_a_player.h" #include "d/d_bg_w.h" #include "d/d_kankyo.h" #include "f_op/f_op_actor_mng.h" #include "d/d_timer.h" #include "dol2asm.h" -#include "f_pc/f_pc_executor.h" #include "m_Do/m_Do_controller_pad.h" #include "SSystem/SComponent/c_math.h" @@ -200,25 +201,6 @@ static int Reel_CallBack(J3DJoint* param_0, int param_1) { return 1; } -/* ############################################################################################## */ -/* 80870094-80870098 000000 0004+00 13/13 0/0 0/0 .rodata @3829 */ -SECTION_RODATA static f32 const lit_3829 = 2.0f; -COMPILER_STRIP_GATE(0x80870094, &lit_3829); - -/* 80870098-8087009C 000004 0004+00 0/7 0/0 0/0 .rodata @3830 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3830 = 1.0f; -COMPILER_STRIP_GATE(0x80870098, &lit_3830); -#pragma pop - -/* 8087009C-808700A0 000008 0004+00 0/2 0/0 0/0 .rodata @3831 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3831 = 1.5f; -COMPILER_STRIP_GATE(0x8087009C, &lit_3831); -#pragma pop - /* 8086C140-8086C214 0001C0 00D4+00 1/1 0/0 0/0 .text frog_CallBack__FP8J3DJointi */ static int frog_CallBack(J3DJoint* param_0, int param_1) { if (param_1 == 0) { @@ -237,12 +219,6 @@ static int frog_CallBack(J3DJoint* param_0, int param_1) { return 1; } - -/* ############################################################################################## */ -/* 808700A0-808700A4 00000C 0004+00 2/3 0/0 0/0 .rodata @3871 */ -SECTION_RODATA static f32 const lit_3871 = 5.0f; -COMPILER_STRIP_GATE(0x808700A0, &lit_3871); - /* 80870958-8087095C 000008 0001+03 2/2 0/0 0/0 .bss @1109 */ static u8 lit_1109[1 + 3 /* padding */]; @@ -336,23 +312,11 @@ static u8 lit_1010[1 + 3 /* padding */]; static u8 lit_1009[1 + 3 /* padding */]; #pragma pop -/* 80870998-808709A4 000048 000C+00 0/1 0/0 0/0 .bss @3770 */ -#pragma push -#pragma force_active on -static u8 lit_3770[12]; -#pragma pop - /* 808709A4-808709B0 000054 000C+00 2/3 0/0 0/0 .bss BallStartPos */ -static Vec BallStartPos; - -/* 808709B0-808709BC 000060 000C+00 0/1 0/0 0/0 .bss @3771 */ -#pragma push -#pragma force_active on -static u8 lit_3771[12]; -#pragma pop +static cXyz BallStartPos; /* 808709BC-808709C8 00006C 000C+00 2/3 0/0 0/0 .bss BallEndPos */ -static Vec BallEndPos; +static cXyz BallEndPos; /* 808709C8-808709CC 000078 0004+00 2/3 0/0 0/0 .bss ArcIX_A_crwaku_model */ static J3DModel* ArcIX_A_crwaku_model[1]; @@ -374,65 +338,13 @@ static void koro2_draw(fshop_class* param_1) { dComIfGd_setList(); } - -/* ############################################################################################## */ -/* 808709CC-808709D0 00007C 0004+00 1/1 0/0 0/0 .bss ArcIX_A_crstart_model */ -extern J3DModel* ArcIX_A_crstart_model[1]; - -/* 808709D0-808709D4 000080 0004+00 1/1 0/0 0/0 .bss ArcIX_A_crgoal_model */ -extern J3DModel* ArcIX_A_crgoal_model[1]; - -/* 808709D4-80870A50 000084 007C+00 1/1 0/0 0/0 .bss ArcIX_A_crbox_model */ -extern J3DModel* ArcIX_A_crbox_model[31]; - -/* 80870A50-80870A90 000100 0040+00 1/1 0/0 0/0 .bss ArcIX_A_crcurve_a_model */ -extern J3DModel* ArcIX_A_crcurve_a_model[16]; - -/* 80870A90-80870AA0 000140 0010+00 1/1 0/0 0/0 .bss ArcIX_A_crcurve_b_model */ -extern J3DModel* ArcIX_A_crcurve_b_model[4]; - -/* 80870AA0-80870AC0 000150 0020+00 1/1 0/0 0/0 .bss ArcIX_A_crsaka_model */ -extern J3DModel* ArcIX_A_crsaka_model[8]; - -/* 808700A4-808700A8 000010 0004+00 0/1 0/0 0/0 .rodata @3977 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3977 = 66.6f; -COMPILER_STRIP_GATE(0x808700A4, &lit_3977); -#pragma pop - -/* 808700A8-808700AC 000014 0004+00 0/2 0/0 0/0 .rodata @3978 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3978 = 1200.0f; -COMPILER_STRIP_GATE(0x808700A8, &lit_3978); -#pragma pop - -/* 808700AC-808700B0 000018 0004+00 0/2 0/0 0/0 .rodata @3979 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3979 = 6.0f / 5.0f; -COMPILER_STRIP_GATE(0x808700AC, &lit_3979); -#pragma pop - -/* 808700B0-808700B4 00001C 0004+00 1/11 0/0 0/0 .rodata @3980 */ -SECTION_RODATA static u8 const lit_3980[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x808700B0, &lit_3980); - /* 80870284-80870290 000000 000C+00 3/3 0/0 0/0 .data cNullVec__6Z2Calc */ -SECTION_DATA static u8 cNullVec__6Z2Calc[12] = { +static u8 cNullVec__6Z2Calc[12] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; /* 80870290-808702A4 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 */] = { +static u32 lit_1787[1 + 4 /* padding */] = { 0x02000201, /* padding */ 0x40080000, @@ -440,10 +352,9 @@ SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = { 0x3FE00000, 0x00000000, }; -#pragma pop /* 808702A4-8087032C 000020 0087+01 1/1 0/0 0/0 .data koro2_map_LV1 */ -SECTION_DATA static u8 koro2_map_LV1[135 + 1 /* padding */] = { +static s8 koro2_map_LV1[135] = { 0x00, 0x00, 0x00, @@ -579,12 +490,10 @@ SECTION_DATA static u8 koro2_map_LV1[135 + 1 /* padding */] = { 0x00, 0x00, 0x00, - /* padding */ - 0x00, }; /* 8087032C-808703B4 0000A8 0087+01 1/0 0/0 0/0 .data koro2_map_LV2 */ -SECTION_DATA static u8 koro2_map_LV2[135 + 1 /* padding */] = { +static s8 koro2_map_LV2[135] = { 0x00, 0x00, 0x00, @@ -720,12 +629,10 @@ SECTION_DATA static u8 koro2_map_LV2[135 + 1 /* padding */] = { 0x00, 0x00, 0x00, - /* padding */ - 0x00, }; /* 808703B4-8087043C 000130 0087+01 1/0 0/0 0/0 .data koro2_map_LV3 */ -SECTION_DATA static u8 koro2_map_LV3[135 + 1 /* padding */] = { +static s8 koro2_map_LV3[135] = { 0x00, 0x00, 0x00, @@ -861,12 +768,10 @@ SECTION_DATA static u8 koro2_map_LV3[135 + 1 /* padding */] = { 0x00, 0x00, 0x00, - /* padding */ - 0x00, }; /* 8087043C-808704C4 0001B8 0087+01 1/0 0/0 0/0 .data koro2_map_LV4 */ -SECTION_DATA static u8 koro2_map_LV4[135 + 1 /* padding */] = { +static s8 koro2_map_LV4[135] = { 0x00, 0x00, 0x00, @@ -1002,12 +907,10 @@ SECTION_DATA static u8 koro2_map_LV4[135 + 1 /* padding */] = { 0x00, 0x00, 0x00, - /* padding */ - 0x00, }; /* 808704C4-8087054C 000240 0087+01 1/0 0/0 0/0 .data koro2_map_LV5 */ -SECTION_DATA static u8 koro2_map_LV5[135 + 1 /* padding */] = { +static s8 koro2_map_LV5[135] = { 0x00, 0x00, 0x00, @@ -1143,12 +1046,10 @@ SECTION_DATA static u8 koro2_map_LV5[135 + 1 /* padding */] = { 0x00, 0x00, 0x00, - /* padding */ - 0x00, }; /* 8087054C-808705D4 0002C8 0087+01 1/0 0/0 0/0 .data koro2_map_LV7 */ -SECTION_DATA static u8 koro2_map_LV7[135 + 1 /* padding */] = { +static s8 koro2_map_LV7[135] = { 0x00, 0x00, 0x00, @@ -1284,199 +1185,50 @@ SECTION_DATA static u8 koro2_map_LV7[135 + 1 /* padding */] = { 0x00, 0x00, 0x00, - /* padding */ - 0x00, }; /* 808705D4-8087065C 000350 0087+01 1/0 0/0 0/0 .data koro2_map_LV6 */ -SECTION_DATA static u8 koro2_map_LV6[135 + 1 /* padding */] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x07, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x01, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x01, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x03, - 0x04, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x01, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x03, - 0x01, - 0x04, - 0x00, - 0x03, - 0x01, - 0x02, - 0x00, - 0x00, - 0x01, - 0x00, - 0x00, - 0x00, - 0x01, - 0x00, - 0x01, - 0x00, - 0x00, - 0x01, - 0x00, - 0x03, - 0x01, - 0x04, - 0x00, - 0x0C, - 0x00, - 0x00, - 0x01, - 0x00, - 0x01, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x05, - 0x01, - 0x04, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x0D, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x01, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x06, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - /* padding */ - 0x00, +static s8 koro2_map_LV6[135] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x03, 0x01, 0x04, 0x00, 0x03, 0x01, 0x02, 0x00, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, + 0x00, 0x01, 0x00, 0x03, 0x01, 0x04, 0x00, 0x0C, 0x00, + 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x05, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; /* 8087065C-808706E4 0003D8 0087+01 1/0 0/0 0/0 .data koro2_map_LV8 */ -SECTION_DATA static u8 koro2_map_LV8[15][9] = { - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x05, 0x0E, 0x00, 0x00, 0x0F, 0x02, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00}, - {0x00, 0x03, 0x01, 0x01, 0x02, 0x00, 0x00, 0x01, 0x00}, - {0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00}, - {0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x0D, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x0D, 0x00}, - {0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00}, - {0x00, 0x06, 0x00, 0x00, 0x05, 0x01, 0x01, 0x04, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, +static s8 koro2_map_LV8[135] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x05, 0x0E, 0x00, 0x00, 0x0F, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x03, 0x01, 0x01, 0x02, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0D, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x0D, 0x00, + 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x06, 0x00, 0x00, 0x05, 0x01, 0x01, 0x04, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; /* 808706E4-80870704 -00001 0020+00 0/1 0/0 0/0 .data koro2_map_d */ -#pragma push -#pragma force_active on -SECTION_DATA static void* koro2_map_d[8] = { - (void*)&koro2_map_LV1, (void*)&koro2_map_LV2, (void*)&koro2_map_LV3, (void*)&koro2_map_LV4, - (void*)&koro2_map_LV5, (void*)&koro2_map_LV6, (void*)&koro2_map_LV7, (void*)&koro2_map_LV8, -}; -#pragma pop - -/* 80870704-8087071C -00001 0018+00 0/1 0/0 0/0 .data koro2_union_model */ -#pragma push -#pragma force_active on -SECTION_DATA static void* koro2_union_model[6] = { - (void*)&ArcIX_A_crstart_model, (void*)&ArcIX_A_crgoal_model, (void*)&ArcIX_A_crbox_model, - (void*)&ArcIX_A_crcurve_a_model, (void*)&ArcIX_A_crcurve_b_model, (void*)&ArcIX_A_crsaka_model, -}; -#pragma pop - -/* 8087071C-80870728 000498 000C+00 1/1 0/0 0/0 .data rod_color$3900 */ -SECTION_DATA static GXColor rod_color[3] = { - {0x96, 0x50, 0x14, 0xFF}, {0x64, 0x96, 0x14, 0xFF}, {0x96, 0x14, 0x14, 0xFF}, -}; - -/* 80870728-8087072C 0004A4 0004+00 1/1 0/0 0/0 .data l_color$3912 */ -SECTION_DATA static GXColor l_color = { - 0x32, - 0x64, - 0x1E, - 0xFF, +static s8* koro2_map_d[8] = { + koro2_map_LV1, koro2_map_LV2, koro2_map_LV3, koro2_map_LV4, + koro2_map_LV5, koro2_map_LV6, koro2_map_LV7, koro2_map_LV8, }; /* 808709CC-808709D0 00007C 0004+00 1/1 0/0 0/0 .bss ArcIX_A_crstart_model */ @@ -1497,9 +1249,27 @@ static J3DModel* ArcIX_A_crcurve_b_model[4]; /* 80870AA0-80870AC0 000150 0020+00 1/1 0/0 0/0 .bss ArcIX_A_crsaka_model */ static J3DModel* ArcIX_A_crsaka_model[8]; +/* 80870704-8087071C -00001 0018+00 0/1 0/0 0/0 .data koro2_union_model */ +static void* koro2_union_model[6] = { + (void*)&ArcIX_A_crstart_model, (void*)&ArcIX_A_crgoal_model, (void*)&ArcIX_A_crbox_model, + (void*)&ArcIX_A_crcurve_a_model, (void*)&ArcIX_A_crcurve_b_model, (void*)&ArcIX_A_crsaka_model, +}; + +/* 8087071C-80870728 000498 000C+00 1/1 0/0 0/0 .data rod_color$3900 */ +static GXColor rod_color[3] = { + {0x96, 0x50, 0x14, 0xFF}, {0x64, 0x96, 0x14, 0xFF}, {0x96, 0x14, 0x14, 0xFF}, +}; + +/* 80870728-8087072C 0004A4 0004+00 1/1 0/0 0/0 .data l_color$3912 */ +static GXColor l_color = { + 0x32, + 0x64, + 0x1E, + 0xFF, +}; + /* 8086C310-8086C6E4 000390 03D4+00 1/0 0/0 0/0 .text daFshop_Draw__FP11fshop_class */ -// regalloc -#ifdef NONMATCHING +// NONMATCHING regalloc static int daFshop_Draw(fshop_class* param_0) { g_env_light.settingTevStruct(0x10, ¶m_0->current.pos, ¶m_0->tevStr); @@ -1567,112 +1337,35 @@ static int daFshop_Draw(fshop_class* param_0) { } return 1; } -#else -static int daFshop_Draw(fshop_class* param_0) { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ -/* 808700B4-808700B8 000020 0004+00 0/5 0/0 0/0 .rodata @4049 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4049 = 65536.0f; -COMPILER_STRIP_GATE(0x808700B4, &lit_4049); -#pragma pop - -/* 808700B8-808700BC 000024 0004+00 0/1 0/0 0/0 .rodata @4050 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4050 = 500.0f; -COMPILER_STRIP_GATE(0x808700B8, &lit_4050); -#pragma pop - -/* 808700BC-808700C0 000028 0004+00 0/1 0/0 0/0 .rodata @4051 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4051 = 1000.0f; -COMPILER_STRIP_GATE(0x808700BC, &lit_4051); -#pragma pop - -/* 808700C0-808700C4 00002C 0004+00 0/3 0/0 0/0 .rodata @4052 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4052 = 40.0f; -COMPILER_STRIP_GATE(0x808700C0, &lit_4052); -#pragma pop - -/* 808700C4-808700C8 000030 0004+00 0/2 0/0 0/0 .rodata @4053 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4053 = 25.0f; -COMPILER_STRIP_GATE(0x808700C4, &lit_4053); -#pragma pop - -/* 808700C8-808700CC 000034 0004+00 0/2 0/0 0/0 .rodata @4054 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4054 = 13.0f; -COMPILER_STRIP_GATE(0x808700C8, &lit_4054); -#pragma pop - -/* 808700CC-808700D0 000038 0004+00 0/1 0/0 0/0 .rodata @4055 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4055 = 12.0f; -COMPILER_STRIP_GATE(0x808700CC, &lit_4055); -#pragma pop /* 8087072C-80870738 0004A8 000C+00 0/0 0/0 0/0 .data lure_scale */ -#pragma push -#pragma force_active on -SECTION_DATA static f32 lure_scale[3] = { +static f32 lure_scale[3] = { 0.75f, 0.75f, 0.6f, }; -#pragma pop /* 80870738-80870744 0004B4 000C+00 0/0 0/0 0/0 .data lure_eye_off */ -#pragma push -#pragma force_active on -SECTION_DATA static f32 lure_eye_off[3] = { +static f32 lure_eye_off[3] = { 17.0f, 11.0f, 16.5f, }; -#pragma pop /* 80870744-80870750 0004C0 000C+00 0/1 0/0 0/0 .data hook_1_offy */ -#pragma push -#pragma force_active on -SECTION_DATA static f32 hook_1_offy[3] = { +static f32 hook_1_offy[3] = { -3.5f, -3.5f, -5.0f, }; -#pragma pop /* 80870750-8087075C 0004CC 000C+00 0/1 0/0 0/0 .data hook_2_offz */ -#pragma push -#pragma force_active on -SECTION_DATA static f32 hook_2_offz[3] = { +static f32 hook_2_offz[3] = { -19.0f, -16.0f, -21.0f, }; -#pragma pop /* 8087075C-80870768 0004D8 000C+00 0/1 0/0 0/0 .data hook_2_offy */ -#pragma push -#pragma force_active on -SECTION_DATA static f32 hook_2_offy[3] = { +static f32 hook_2_offy[3] = { -1.0f, 0.0f, 0.0f, }; -#pragma pop - -/* 80870768-80870774 0004E4 000C+00 0/1 0/0 0/0 .data lure_ofy$3993 */ -#pragma push -#pragma force_active on -SECTION_DATA static f32 lure_ofy[3] = { - -12.0f, -10.0f, -14.0f, -}; -#pragma pop /* 8086C6E4-8086C9D0 000764 02EC+00 1/1 0/0 0/0 .text lure_set__FP11fshop_class */ static void lure_set(fshop_class* param_0) { + static f32 lure_ofy[3] = {-12.0f, -10.0f, -14.0f}; fs_lure_s* pLure = param_0->mLure; for (int i = 0; i < 48; i++, pLure++) { if (daPy_getPlayerActorClass()->checkFrontRollCrash()) { @@ -1723,41 +1416,6 @@ static void lure_set(fshop_class* param_0) { } } - -/* ############################################################################################## */ -/* 808700D0-808700D4 00003C 0004+00 0/2 0/0 0/0 .rodata @4164 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4164 = 15.0f; -COMPILER_STRIP_GATE(0x808700D0, &lit_4164); -#pragma pop - -/* 808700D4-808700D8 000040 0004+00 0/2 0/0 0/0 .rodata @4165 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4165 = -4.0f / 5.0f; -COMPILER_STRIP_GATE(0x808700D4, &lit_4165); -#pragma pop - -/* 808700D8-808700DC 000044 0004+00 0/2 0/0 0/0 .rodata @4166 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4166 = 4.0f; -COMPILER_STRIP_GATE(0x808700D8, &lit_4166); -#pragma pop - -/* 80870774-8087078C 0004F0 0018+00 1/1 0/0 0/0 .data guide_p$4084 */ -SECTION_DATA static f32 guide_p[6] = { - 0.0f, 0.1f, 0.22f, - 0.36f, 0.52f, 0.7f, -}; - -/* 8087078C-808707A4 000508 0018+00 1/1 0/0 0/0 .data guide_s$4085 */ -SECTION_DATA static f32 guide_s[6] = { - 0.5f, 0.5f, 0.55f, - 0.6f, 0.65f, 0.8f, -}; - /* 8086C9D0-8086CC30 000A50 0260+00 1/1 0/0 0/0 .text rod_set__FP11fshop_class */ static void rod_set(fshop_class* param_0) { fs_rod_s* pRod = param_0->mRod; @@ -1794,6 +1452,8 @@ static void rod_set(fshop_class* param_0) { local_64++; } + static f32 guide_p[6] = {0.0f, 0.1f, 0.22f, 0.36f, 0.52f, 0.7f}; + static f32 guide_s[6] = {0.5f, 0.5f, 0.55f, 0.6f, 0.65f, 0.8f}; for (s32 local_6c = 0; local_6c < 6; local_6c++) { cXyz local_34 = cStack_28 + (cStack_1c - cStack_28) * guide_p[local_6c]; mDoMtx_stack_c::transS(local_34.x, local_34.y, local_34.z); @@ -1805,49 +1465,6 @@ static void rod_set(fshop_class* param_0) { } } - -/* 8086CC30-8086CC6C 000CB0 003C+00 3/3 0/0 0/0 .text __dt__4cXyzFv */ -// cXyz::~cXyz() { -extern "C" void __dt__4cXyzFv() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 808700DC-808700E0 000048 0004+00 0/3 0/0 0/0 .rodata @4190 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4190 = 1.0f / 10.0f; -COMPILER_STRIP_GATE(0x808700DC, &lit_4190); -#pragma pop - -/* 808700E0-808700E4 00004C 0004+00 0/1 0/0 0/0 .rodata @4191 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4191 = 7.0f / 10.0f; -COMPILER_STRIP_GATE(0x808700E0, &lit_4191); -#pragma pop - -/* 808700E4-808700E8 000050 0004+00 0/1 0/0 0/0 .rodata @4192 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4192 = 60.0f; -COMPILER_STRIP_GATE(0x808700E4, &lit_4192); -#pragma pop - -/* 808700E8-808700EC 000054 0004+00 0/1 0/0 0/0 .rodata @4193 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4193 = 35.0f; -COMPILER_STRIP_GATE(0x808700E8, &lit_4193); -#pragma pop - -/* 808700EC-808700F0 000058 0004+00 0/3 0/0 0/0 .rodata @4194 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4194 = 1.0f / 20.0f; -COMPILER_STRIP_GATE(0x808700EC, &lit_4194); -#pragma pop - /* 8086CC6C-8086CD70 000CEC 0104+00 1/1 0/0 0/0 .text s_fish_sub__FPvPv */ static void* s_fish_sub(void* param_1, void* param_2) { fopAc_ac_c* actor = (fopAc_ac_c*)param_1; @@ -1870,29 +1487,6 @@ static void* s_fish_sub(void* param_1, void* param_2) { return NULL; } - -/* ############################################################################################## */ -/* 808700F0-808700F4 00005C 0004+00 0/2 0/0 0/0 .rodata @4248 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4248 = 150.0f; -COMPILER_STRIP_GATE(0x808700F0, &lit_4248); -#pragma pop - -/* 808700F4-808700F8 000060 0004+00 0/1 0/0 0/0 .rodata @4249 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4249 = 1800.0f; -COMPILER_STRIP_GATE(0x808700F4, &lit_4249); -#pragma pop - -/* 808700F8-808700FC 000064 0004+00 0/1 0/0 0/0 .rodata @4250 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4250 = 50.0f; -COMPILER_STRIP_GATE(0x808700F8, &lit_4250); -#pragma pop - /* 8086CD70-8086CF8C 000DF0 021C+00 1/1 0/0 0/0 .text tsubo_set__FP11fshop_class */ static void tsubo_set(fshop_class* param_1) { fopAc_ac_c* pfVar5 = dComIfGp_getPlayer(0); @@ -1915,10 +1509,9 @@ static void tsubo_set(fshop_class* param_1) { } pTsubo->field_0x20 = cM_rndF(65536.0f); pTsubo->field_0x22 = cM_rndF(65536.0f); - fopAc_ac_c* henna = fopAcM_SearchByName(PROC_NPC_HENNA); + npc_henna_class* henna = (npc_henna_class*)fopAcM_SearchByName(PROC_NPC_HENNA); if (henna != NULL) { - // TODO: include henna header file - ((u8*)henna)[0x7b5] = 0x3c; + henna->field_0x7b5 = 0x3c; } } xrot = cM_ssin(pTsubo->field_0x20) * pTsubo->field_0x1c; @@ -1935,43 +1528,6 @@ static void tsubo_set(fshop_class* param_1) { } } - -/* ############################################################################################## */ -/* 808700FC-80870100 000068 0004+00 0/2 0/0 0/0 .rodata @4289 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4289 = 0.5f; -COMPILER_STRIP_GATE(0x808700FC, &lit_4289); -#pragma pop - -/* 80870100-80870104 00006C 0004+00 0/1 0/0 0/0 .rodata @4290 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4290 = 200.0f; -COMPILER_STRIP_GATE(0x80870100, &lit_4290); -#pragma pop - -/* 80870104-80870108 000070 0004+00 0/2 0/0 0/0 .rodata @4291 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4291 = 600.0f; -COMPILER_STRIP_GATE(0x80870104, &lit_4291); -#pragma pop - -/* 80870108-8087010C 000074 0004+00 0/1 0/0 0/0 .rodata @4292 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4292 = 0.02f; -COMPILER_STRIP_GATE(0x80870108, &lit_4292); -#pragma pop - -/* 8087010C-80870110 000078 0004+00 0/1 0/0 0/0 .rodata @4293 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4293 = 3.0f; -COMPILER_STRIP_GATE(0x8087010C, &lit_4293); -#pragma pop - /* 8086CF8C-8086D1A0 00100C 0214+00 1/1 0/0 0/0 .text weed_control__FP11fshop_classP9fs_weed_s */ static void weed_control(fshop_class* param_1, fs_weed_s* param_2) { int iVar6; @@ -1999,7 +1555,6 @@ static void weed_control(fshop_class* param_1, fs_weed_s* param_2) { } } - /* 8086D1A0-8086D1EC 001220 004C+00 1/1 0/0 0/0 .text stage_copy__FP11fshop_classP11fshop_class */ static void stage_copy(fshop_class* param_0, fshop_class* param_1) { param_0->field_0x4014 = param_1->field_0x4014; @@ -2007,49 +1562,8 @@ static void stage_copy(fshop_class* param_0, fshop_class* param_1) { param_0->scale = param_1->scale; } -/* ############################################################################################## */ -/* 80870110-80870114 00007C 0004+00 0/1 0/0 0/0 .rodata @4376 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4376 = -10000.0f; -COMPILER_STRIP_GATE(0x80870110, &lit_4376); -#pragma pop - -/* 80870114-80870118 000080 0004+00 0/1 0/0 0/0 .rodata @4377 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4377 = 1.0f / 100.0f; -COMPILER_STRIP_GATE(0x80870114, &lit_4377); -#pragma pop - -/* 80870118-8087011C 000084 0004+00 0/2 0/0 0/0 .rodata @4378 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4378 = -10.0f; -COMPILER_STRIP_GATE(0x80870118, &lit_4378); -#pragma pop - -/* 8087011C-80870120 000088 0004+00 0/1 0/0 0/0 .rodata @4379 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4379 = -18.0f; -COMPILER_STRIP_GATE(0x8087011C, &lit_4379); -#pragma pop - -/* 80870120-80870124 00008C 0004+00 1/4 0/0 0/0 .rodata @4380 */ -SECTION_RODATA static f32 const lit_4380 = 2.5f; -COMPILER_STRIP_GATE(0x80870120, &lit_4380); - -/* 80870124-80870128 000090 0004+00 0/1 0/0 0/0 .rodata @4381 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4381 = -2.0f; -COMPILER_STRIP_GATE(0x80870124, &lit_4381); -#pragma pop - /* 8086D1EC-8086D48C 00126C 02A0+00 1/1 0/0 0/0 .text koro2_mtx_set__FP11fshop_class */ -// float load order -#ifdef NONMATCHING +// NONMATCHING float load order static void koro2_mtx_set(fshop_class* param_1) { cXyz cStack_44; cXyz cStack_50; @@ -2105,11 +1619,6 @@ static void koro2_mtx_set(fshop_class* param_1) { } } } -#else -static void koro2_mtx_set(fshop_class* param_0) { - // NONMATCHING -} -#endif /* 8086D48C-8086D500 00150C 0074+00 1/1 0/0 0/0 .text s_sel_sub__FPvPv */ static void* s_sel_sub(void* param_1, void* param_2) { @@ -2134,90 +1643,6 @@ static void* s_ball_sub(void* param_1, void* param_2) { return NULL; } -/* ############################################################################################## */ -/* 80870128-8087012C 000094 0004+00 0/1 0/0 0/0 .rodata @4459 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4459 = 284.0f; -COMPILER_STRIP_GATE(0x80870128, &lit_4459); -#pragma pop - -/* 8087012C-80870130 000098 0004+00 0/1 0/0 0/0 .rodata @4460 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_4460 = 0x42AF999A; -COMPILER_STRIP_GATE(0x8087012C, &lit_4460); -#pragma pop - -/* 80870130-80870134 00009C 0004+00 0/1 0/0 0/0 .rodata @4461 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4461 = 432.0f; -COMPILER_STRIP_GATE(0x80870130, &lit_4461); -#pragma pop - -/* 80870134-80870138 0000A0 0004+00 0/1 0/0 0/0 .rodata @4462 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4462 = 204.0f; -COMPILER_STRIP_GATE(0x80870134, &lit_4462); -#pragma pop - -/* 80870138-8087013C 0000A4 0004+00 0/1 0/0 0/0 .rodata @4463 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_4463 = 0xC4A90666; -COMPILER_STRIP_GATE(0x80870138, &lit_4463); -#pragma pop - -/* 8087013C-80870140 0000A8 0004+00 0/1 0/0 0/0 .rodata @4464 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4464 = 430.0f; -COMPILER_STRIP_GATE(0x8087013C, &lit_4464); -#pragma pop - -/* 80870140-80870144 0000AC 0004+00 0/2 0/0 0/0 .rodata @4465 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4465 = 10.0f; -COMPILER_STRIP_GATE(0x80870140, &lit_4465); -#pragma pop - -/* 80870144-80870148 0000B0 0004+00 0/2 0/0 0/0 .rodata @4466 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4466 = 4.0f / 5.0f; -COMPILER_STRIP_GATE(0x80870144, &lit_4466); -#pragma pop - -/* 80870148-8087014C 0000B4 0004+00 0/2 0/0 0/0 .rodata @4467 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4467 = 3.0f / 20.0f; -COMPILER_STRIP_GATE(0x80870148, &lit_4467); -#pragma pop - -/* 8087014C-80870150 0000B8 0004+00 0/1 0/0 0/0 .rodata @4468 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4468 = -3.0f / 20.0f; -COMPILER_STRIP_GATE(0x8087014C, &lit_4468); -#pragma pop - -/* 80870150-80870154 0000BC 0004+00 0/1 0/0 0/0 .rodata @4469 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4469 = -6000.0f; -COMPILER_STRIP_GATE(0x80870150, &lit_4469); -#pragma pop - -/* 80870AC0-80870AC4 000170 0004+00 1/1 0/0 0/0 .bss old_stick_x$4410 */ -static u8 old_stick_x[4]; - -/* 80870AC4-80870AC8 000174 0004+00 1/1 0/0 0/0 .bss None */ -static u8 data_80870AC4[4]; - /* 8086D55C-8086D854 0015DC 02F8+00 1/1 0/0 0/0 .text koro2_game__FP11fshop_class */ static void koro2_game(fshop_class* i_this) { cXyz sp5C; @@ -2302,6 +1727,8 @@ static void koro2_game(fshop_class* i_this) { } } +/* 80870AC4-80870AC8 000174 0004+00 1/1 0/0 0/0 .bss None */ +static u8 data_80870AC4[4]; /* 8086D854-8086DA00 0018D4 01AC+00 1/1 0/0 0/0 .text ball_wall_check__FP11fshop_class */ static int ball_wall_check(fshop_class* param_1) { @@ -2340,206 +1767,8 @@ static int ball_wall_check(fshop_class* param_1) { return 0; } - -/* ############################################################################################## */ -/* 80870154-80870158 0000C0 0004+00 0/1 0/0 0/0 .rodata @4838 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4838 = 3.0f / 125.0f; -COMPILER_STRIP_GATE(0x80870154, &lit_4838); -#pragma pop - -/* 80870158-8087015C 0000C4 0004+00 0/1 0/0 0/0 .rodata @4839 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_4839 = 0x3E75C290; -COMPILER_STRIP_GATE(0x80870158, &lit_4839); -#pragma pop - -/* 8087015C-80870160 0000C8 0004+00 0/1 0/0 0/0 .rodata @4840 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4840 = 3.5f; -COMPILER_STRIP_GATE(0x8087015C, &lit_4840); -#pragma pop - -/* 80870160-80870164 0000CC 0004+00 0/1 0/0 0/0 .rodata @4841 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4841 = -15.0f; -COMPILER_STRIP_GATE(0x80870160, &lit_4841); -#pragma pop - -/* 80870164-8087016C 0000D0 0004+04 0/1 0/0 0/0 .rodata @4842 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4842[1 + 1 /* padding */] = { - -2500.0f, - /* padding */ - 0.0f, -}; -COMPILER_STRIP_GATE(0x80870164, &lit_4842); -#pragma pop - -/* 8087016C-80870174 0000D8 0008+00 0/1 0/0 0/0 .rodata @4843 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4843[8] = { - 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8087016C, &lit_4843); -#pragma pop - -/* 80870174-8087017C 0000E0 0008+00 0/1 0/0 0/0 .rodata @4844 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4844[8] = { - 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80870174, &lit_4844); -#pragma pop - -/* 8087017C-80870184 0000E8 0008+00 0/1 0/0 0/0 .rodata @4845 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4845[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8087017C, &lit_4845); -#pragma pop - -/* 80870184-80870188 0000F0 0004+00 0/1 0/0 0/0 .rodata @4846 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4846 = 65.0f; -COMPILER_STRIP_GATE(0x80870184, &lit_4846); -#pragma pop - -/* 80870188-8087018C 0000F4 0004+00 0/1 0/0 0/0 .rodata @4847 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4847 = 7.0f; -COMPILER_STRIP_GATE(0x80870188, &lit_4847); -#pragma pop - -/* 8087018C-80870190 0000F8 0004+00 0/1 0/0 0/0 .rodata @4848 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4848 = -5.0f; -COMPILER_STRIP_GATE(0x8087018C, &lit_4848); -#pragma pop - -/* 80870190-80870194 0000FC 0004+00 0/2 0/0 0/0 .rodata @4849 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4849 = 30.0f; -COMPILER_STRIP_GATE(0x80870190, &lit_4849); -#pragma pop - -/* 80870194-80870198 000100 0004+00 0/1 0/0 0/0 .rodata @4850 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4850 = 1.0f / 5.0f; -COMPILER_STRIP_GATE(0x80870194, &lit_4850); -#pragma pop - -/* 80870198-8087019C 000104 0004+00 0/1 0/0 0/0 .rodata @4851 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4851 = 190.0f; -COMPILER_STRIP_GATE(0x80870198, &lit_4851); -#pragma pop - -/* 8087019C-808701A0 000108 0004+00 0/2 0/0 0/0 .rodata @4852 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4852 = -720.0f; -COMPILER_STRIP_GATE(0x8087019C, &lit_4852); -#pragma pop - -/* 808701A0-808701A4 00010C 0004+00 0/1 0/0 0/0 .rodata @4853 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4853 = 70.0f; -COMPILER_STRIP_GATE(0x808701A0, &lit_4853); -#pragma pop - -/* 808701A4-808701A8 000110 0004+00 0/2 0/0 0/0 .rodata @4854 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4854 = -30.0f; -COMPILER_STRIP_GATE(0x808701A4, &lit_4854); -#pragma pop - -/* 808701A8-808701AC 000114 0004+00 0/2 0/0 0/0 .rodata @4855 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4855 = 220.0f; -COMPILER_STRIP_GATE(0x808701A8, &lit_4855); -#pragma pop - -/* 808701AC-808701B0 000118 0004+00 0/2 0/0 0/0 .rodata @4856 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4856 = -450.0f; -COMPILER_STRIP_GATE(0x808701AC, &lit_4856); -#pragma pop - -/* 808701B0-808701B4 00011C 0004+00 0/1 0/0 0/0 .rodata @4857 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4857 = -250.0f; -COMPILER_STRIP_GATE(0x808701B0, &lit_4857); -#pragma pop - -/* 808701B4-808701B8 000120 0004+00 0/1 0/0 0/0 .rodata @4858 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4858 = 325.0f; -COMPILER_STRIP_GATE(0x808701B4, &lit_4858); -#pragma pop - -/* 808701B8-808701BC 000124 0004+00 0/1 0/0 0/0 .rodata @4859 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4859 = 237.0f; -COMPILER_STRIP_GATE(0x808701B8, &lit_4859); -#pragma pop - -/* 808701BC-808701C0 000128 0004+00 0/1 0/0 0/0 .rodata @4860 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4860 = 1300.0f; -COMPILER_STRIP_GATE(0x808701BC, &lit_4860); -#pragma pop - -/* 808701C0-808701C4 00012C 0004+00 0/1 0/0 0/0 .rodata @4861 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4861 = 140.0f; -COMPILER_STRIP_GATE(0x808701C0, &lit_4861); -#pragma pop - -/* 808701C4-808701CC 000130 0004+04 0/1 0/0 0/0 .rodata @4862 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4862[1 + 1 /* padding */] = { - -7.0f, - /* padding */ - 0.0f, -}; -COMPILER_STRIP_GATE(0x808701C4, &lit_4862); -#pragma pop - -/* 808701CC-808701D4 000138 0008+00 1/3 0/0 0/0 .rodata @4864 */ -SECTION_RODATA static u8 const lit_4864[8] = { - 0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x808701CC, &lit_4864); - /* 8086DA00-8086E6C4 001A80 0CC4+00 2/1 0/0 0/0 .text daFshop_Execute__FP11fshop_class */ -// Regalloc, instruction order issues -#ifdef NONMATCHING +// NONMATCHING Regalloc, instruction order issues static int daFshop_Execute(fshop_class* param_1) { fopAc_ac_c* pPlayer = dComIfGp_getPlayer(0); cXyz local_c0; @@ -2549,7 +1778,7 @@ static int daFshop_Execute(fshop_class* param_1) { param_1->field_0x428d--; } koro2_mtx_set(param_1); - return; + return 1; } if (param_1->field_0x4070 != NULL) { param_1->scale.x = 0.024f; @@ -2612,9 +1841,8 @@ static int daFshop_Execute(fshop_class* param_1) { param_1->field_0x567 = 1; } - // TODO: include henna npc header - fopAc_ac_c* iVar9 = fopAcM_SearchByName(PROC_NPC_HENNA); - if (iVar9 != NULL && ((u8*)iVar9)[0x7b9] != 0 && + npc_henna_class* henna = (npc_henna_class*)fopAcM_SearchByName(PROC_NPC_HENNA); + if (henna != NULL && henna->field_0x7b9 != 0 && (param_1->field_0x567 == 1 || dTimer_getRestTimeMs() == 0)) { BOOL bVar5 = FALSE; @@ -2625,24 +1853,23 @@ static int daFshop_Execute(fshop_class* param_1) { } } if (!bVar5) { - iVar9->health = 1; + henna->health = 1; } else if (param_1->field_0x567 == 1) { - iVar9->health = 0; + henna->health = 0; } else { - iVar9->health = 2; + henna->health = 2; } - *(u16*)((u8*)iVar9 + 0x752) = 0x49; - *(u16*)((u8*)iVar9 + 0x754) = 0; - ((u8*)iVar9)[0x7b9] = 0; + henna->field_0x752 = 0x49; + henna->field_0x754 = 0; + henna->field_0x7b9 = 0; param_1->field_0x567 = 2; } else { if (param_1->field_0x567 == 0) { - local_cc = *(cXyz*)&BallEndPos - param_1->current.pos; + local_cc = BallEndPos - param_1->current.pos; if (local_cc.abs() < 65.0f) { - // TODO: include henna npc header - fopAc_ac_c* uVar19 = fopAcM_SearchByName(PROC_NPC_HENNA); - if (uVar19 != NULL) { + npc_henna_class* henna = (npc_henna_class*)fopAcM_SearchByName(PROC_NPC_HENNA); + if (henna != NULL) { BOOL bVar5 = FALSE; for (int local_13c = 0; local_13c < 100; local_13c++) { if (iVar6->mKoro2[local_13c].mpModel != NULL && iVar6->mKoro2[local_13c].field_0x60) { @@ -2652,13 +1879,13 @@ static int daFshop_Execute(fshop_class* param_1) { } if (bVar5) { - uVar19->health = 3; - *(u16*)((u8*)uVar19 + 0x752) = 0x49; + henna->health = 3; + henna->field_0x752 = 0x49; } else { - *(u16*)((u8*)uVar19 + 0x752) = 0x4c; + henna->field_0x752 = 0x4c; } - *(u16*)((u8*)uVar19 + 0x754) = 0; - ((u8*)uVar19)[0x7b9] = 0; + henna->field_0x754 = 0; + henna->field_0x7b9 = 0; param_1->field_0x567 = 2; } } @@ -2683,7 +1910,7 @@ static int daFshop_Execute(fshop_class* param_1) { adStack_b4.SetPos(&local_e4); local_e4.y = dComIfG_Bgsp().GroundCross(&adStack_b4); s16 local_160 = -cM_atan2s(local_e4.y - param_1->current.pos.y, - local_e4.z - param_1->current.pos.z); + local_e4.z - param_1->current.pos.z); if (local_160 > 0x3000) { local_160 = 0x3000; } else if (local_160 < -0x3000) { @@ -2694,8 +1921,8 @@ static int daFshop_Execute(fshop_class* param_1) { local_e4.x += 1.0f; adStack_b4.SetPos(&local_e4); local_e4.y = dComIfG_Bgsp().GroundCross(&adStack_b4); - s16 local_162 = cM_atan2s(local_e4.y - param_1->current.pos.y, - local_e4.x - param_1->current.pos.x); + s16 local_162 = (s16)cM_atan2s(local_e4.y - param_1->current.pos.y, + local_e4.x - param_1->current.pos.x); if (local_162 > 0x3000) { local_162 = 0x3000; } else if (local_162 < -0x3000) { @@ -2729,13 +1956,13 @@ static int daFshop_Execute(fshop_class* param_1) { rod_set(param_1); tsubo_set(param_1); fs_weed_s* pWeed = param_1->mWeed; - for (s32 local_14c = 0; local_14c < 60; local_14c++) { - weed_control(param_1, &pWeed[local_14c]); + for (s32 local_14c = 0; local_14c < 60; local_14c++, pWeed++) { + weed_control(param_1, pWeed); cXyz* local_148 = param_1->field_0x3f88.getPos(local_14c); for (s32 local_150 = 0; local_150 < 15; local_150++, local_148++) { - *local_148 = pWeed[local_14c].field_0x00[local_150]; + *local_148 = pWeed->field_0x00[local_150]; } - fpcM_Search(s_fish_sub, &pWeed[local_14c]); + fpcM_Search(s_fish_sub, pWeed); } cXyz cStack_f0(-720.0f, 30.0f, 70.0f); cXyz cStack_fc(0.5f, 0.5f, 0.5f); @@ -2751,7 +1978,7 @@ static int daFshop_Execute(fshop_class* param_1) { if (daPy_getPlayerActorClass()->checkFrontRollCrash()) { param_1->field_0x6b34 = 0x1e; } - s16 iVar6 = 30.0f * param_1->field_0x6b34 * cM_ssin(param_1->field_0x6b34 * 5000); + s16 iVar6 = param_1->field_0x6b34 * cM_ssin(param_1->field_0x6b34 * 5000) * 30.0f; if (param_1->field_0x6b34 != 0) { param_1->field_0x6b34--; } @@ -2766,38 +1993,33 @@ static int daFshop_Execute(fshop_class* param_1) { local_c0.x = 325.0f - pPlayer->current.pos.x; local_c0.z = 237.0f - pPlayer->current.pos.z; if (daPy_getPlayerActorClass()->checkFrontRollCrash() && - JMAFastSqrt((local_c0.x * local_c0.x + local_c0.z * local_c0.z)) < 150.0) + JMAFastSqrt((local_c0.x * local_c0.x + local_c0.z * local_c0.z)) < 150.0f) { param_1->field_0x3ff8 = cM_rndF(65536.0f); param_1->field_0x3ffa = cM_rndF(65536.0f); - param_1->field_0x3ffc = cM_rndF(600.0) + 1300.0f; - param_1->field_0x4000 = cM_rndF(600.0) + 1300.0f; + param_1->field_0x3ffc = cM_rndF(600.0f) + 1300.0f; + param_1->field_0x4000 = cM_rndF(600.0f) + 1300.0f; } param_1->field_0x3ff8 += 4000; param_1->field_0x3ffa += 4000; - s16 iVar10 = param_1->field_0x3ffc * cM_ssin(param_1->field_0x3ff8); - s16 iVar11 = param_1->field_0x4000 * cM_ssin(param_1->field_0x3ffa); + s16 iVar10 = param_1->field_0x4000 * cM_ssin(param_1->field_0x3ffa); + s16 iVar11 = param_1->field_0x3ffc * cM_ssin(param_1->field_0x3ff8); cLib_addCalc0(¶m_1->field_0x3ffc, 1.0f, 40.0f); cLib_addCalc0(¶m_1->field_0x4000, 1.0f, 40.0f); mDoMtx_stack_c::transS(325.0f, 140.0f, 237.0f); - mDoMtx_stack_c::XrotM(iVar10); - mDoMtx_stack_c::ZrotM(iVar11); - mDoMtx_stack_c::transM(-10.0f, -7.0f, 65.0f); + mDoMtx_stack_c::XrotM((s16)iVar10); + mDoMtx_stack_c::ZrotM(iVar11 + 15000); + mDoMtx_stack_c::transM(-10.0f, -7.0f, 0.0f); param_1->field_0x3ff4->setBaseTRMtx(mDoMtx_stack_c::get()); koro2_game(param_1); } return 1; } -#else -static int daFshop_Execute(fshop_class* param_0) { - // NONMATCHING -} -#endif /* 8086E6C4-8086E6CC 002744 0008+00 1/0 0/0 0/0 .text daFshop_IsDelete__FP11fshop_class */ -static bool daFshop_IsDelete(fshop_class* param_0) { - return true; +static int daFshop_IsDelete(fshop_class* param_0) { + return 1; } /* 8086E6CC-8086E7F0 00274C 0124+00 1/0 0/0 0/0 .text daFshop_Delete__FP11fshop_class */ @@ -2822,43 +2044,22 @@ static int daFshop_Delete(fshop_class* param_1) { return 1; } -/* ############################################################################################## */ -/* 808707C4-80870800 000540 003C+00 0/1 0/0 0/0 .data koro2_bmd$4909 */ -#pragma push -#pragma force_active on -SECTION_DATA static s32 koro2_bmd[15] = { - {0x0A}, {0x0B}, {0x0B}, - {0x0B}, {0x0B}, {0x0F}, - {0x0D}, {0x0C}, {0x0C}, - {0x0C}, {0x0C}, {0x0E}, - {0x0E}, {0x0E}, {0x0E}, -}; -#pragma pop - -/* 80870800-8087083C 00057C 003C+00 0/1 0/0 0/0 .data koro2_dzb$4910 */ -#pragma push -#pragma force_active on -SECTION_DATA static u32 koro2_dzb[15] = { - {0x1F}, {0x20}, {0x20}, - {0x20}, {0x20}, {0x24}, - {0x22}, {0x21}, {0x21}, - {0x21}, {0x21}, {0x23}, - {0x23}, {0x23}, {0x23}, -}; -#pragma pop - -/* 8087083C-8087084C 0005B8 0010+00 0/1 0/0 0/0 .data pande_d$4911 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 pande_d[16] = { - 0x00, 0x01, 0x03, 0x02, 0x05, 0x04, 0x06, 0x07, 0x09, 0x08, 0x0B, 0x0A, 0x0C, 0x0D, 0x0F, 0x0E, -}; -#pragma pop - /* 8086E7F0-8086ECC8 002870 04D8+00 1/1 0/0 0/0 .text koro2_heapinit__FP10fopAc_ac_c */ -// mapPtr definition and stack issue -#ifdef NONMATCHING +// NONMATCHING mapPtr definition and stack issue static int koro2_heapinit(fopAc_ac_c* param_1) { + static s32 koro2_bmd[15] = { + 0x0A, 0x0B, 0x0B, 0x0B, 0x0B, 0x0F, 0x0D, 0x0C, + 0x0C, 0x0C, 0x0C, 0x0E, 0x0E, 0x0E, 0x0E, + }; + static u32 koro2_dzb[15] = { + 0x1F, 0x20, 0x20, 0x20, 0x20, 0x24, 0x22, 0x21, + 0x21, 0x21, 0x21, 0x23, 0x23, 0x23, 0x23, + }; + static u8 pande_d[16] = { + 0x00, 0x01, 0x03, 0x02, 0x05, 0x04, 0x06, 0x07, + 0x09, 0x08, 0x0B, 0x0A, 0x0C, 0x0D, 0x0F, 0x0E, + }; + fshop_class* pShop = (fshop_class*) param_1; pShop->field_0x402c = new dBgW(); if (pShop->field_0x402c == NULL) { @@ -2880,15 +2081,16 @@ static int koro2_heapinit(fopAc_ac_c* param_1) { int r27 = 0; int r26 = 0; int r25 = 0; - s8 (*mapPtr)[9] = (s8(*)[9])koro2_map_d[pShop->field_0x567 & 7]; + s8* mapPtr = koro2_map_d[pShop->field_0x567 & 7]; for (int local_5c = 0; local_5c < 9; local_5c++) { for (int local_60 = 0; local_60 < 15; local_60++) { - if (mapPtr[local_60][local_5c] != 0) { + int index = local_60 * 9 + local_5c; + if (mapPtr[index] != 0) { if (flag567 != 0) { - pShop->mKoro2[local_30].field_0x34 = pande_d[mapPtr[local_60][local_5c]]; + pShop->mKoro2[local_30].field_0x34 = pande_d[mapPtr[index]]; pShop->mKoro2[local_30].field_0x38.x = 2.5f * (8 - local_5c); } else { - pShop->mKoro2[local_30].field_0x34 = mapPtr[local_60][local_5c]; + pShop->mKoro2[local_30].field_0x34 = mapPtr[index]; pShop->mKoro2[local_30].field_0x38.x = 2.5f * local_5c; } pShop->mKoro2[local_30].field_0x38.y = 2.0f; @@ -2965,11 +2167,6 @@ static int koro2_heapinit(fopAc_ac_c* param_1) { } return 1; } -#else -static int koro2_heapinit(fopAc_ac_c* param_0) { - // NONMATCHING -} -#endif /* ############################################################################################## */ /* 808701D4-808701D8 000140 0004+00 0/1 0/0 0/0 .rodata @5206 */ @@ -3301,31 +2498,6 @@ extern actor_process_profile_definition g_profile_FSHOP = { fopAc_CULLBOX_0_e, // cullType }; -/* 8087090C-80870918 000688 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ -SECTION_DATA extern void* __vt__12dBgS_AcchCir[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12dBgS_AcchCirFv, -}; - -/* 80870918-8087093C 000694 0024+00 2/2 0/0 0/0 .data __vt__12dBgS_ObjAcch */ -SECTION_DATA extern void* __vt__12dBgS_ObjAcch[9] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12dBgS_ObjAcchFv, - (void*)NULL, - (void*)NULL, - (void*)func_80870078, - (void*)NULL, - (void*)NULL, - (void*)func_80870070, -}; - -/* 8087093C-80870950 0006B8 0014+00 2/2 0/0 0/0 .data __vt__18mDoExt_3DlineMat_c */ -SECTION_DATA extern void* __vt__18mDoExt_3DlineMat_c[5] = { - (void*)NULL /* RTTI */, (void*)NULL, (void*)NULL, (void*)NULL, (void*)NULL, -}; - /* 8086F634-8086FD78 0036B4 0744+00 1/0 0/0 0/0 .text daFshop_Create__FP10fopAc_ac_c */ static void daFshop_Create(fopAc_ac_c* param_0) { // NONMATCHING @@ -3404,25 +2576,6 @@ extern "C" void __ct__9fs_lure_sFv() { /* empty function */ } -/* 8087001C-80870070 00409C 0054+00 0/0 1/0 0/0 .text __sinit_d_a_mg_fshop_cpp */ -void __sinit_d_a_mg_fshop_cpp(){// NONMATCHING -} - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x8087001C, __sinit_d_a_mg_fshop_cpp); -#pragma pop - -/* 80870070-80870078 0040F0 0008+00 1/0 0/0 0/0 .text @36@__dt__12dBgS_ObjAcchFv */ -static void func_80870070() { - // NONMATCHING -} - -/* 80870078-80870080 0040F8 0008+00 1/0 0/0 0/0 .text @20@__dt__12dBgS_ObjAcchFv */ -static void func_80870078() { - // NONMATCHING -} - /* ############################################################################################## */ /* 80870AC8-80870ACC 000178 0004+00 0/0 0/0 0/0 .bss * sInstance__40JASGlobalInstance<19JASDefaultBankTable> */ @@ -3595,4 +2748,4 @@ static u8 data_80870B24[4]; static u8 data_80870B28[4]; #pragma pop -/* 8087027C-8087027C 0001E8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file +/* 8087027C-8087027C 0001E8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/d/actor/d_a_myna.cpp b/src/d/actor/d_a_myna.cpp index 15a6e55cc3..f5872aa93e 100644 --- a/src/d/actor/d_a_myna.cpp +++ b/src/d/actor/d_a_myna.cpp @@ -7,246 +7,76 @@ #include "d/actor/d_a_player.h" #include "d/d_kankyo.h" #include "d/d_msg_object.h" -#include "dol2asm.h" #include "d/actor/d_a_obj_ss_item.h" #include "d/actor/d_a_tag_myna_light.h" #include "SSystem/SComponent/c_math.h" -// -// Forward References: -// +/* 8094B360-8094B36C 000000 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */ +static u8 cNullVec__6Z2Calc[12] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; -extern "C" static void createHeapCallBack__FP10fopAc_ac_c(); -extern "C" static void jntNodeCallBack__FP8J3DJointi(); -extern "C" static void daMyna_searchSSItem__FPvPv(); -extern "C" static void daMyna_searchLight__FPvPv(); -extern "C" static void daMyna_searchEvtTag__FPvPv(); -extern "C" void baseMotion00__8daMyna_cFi(); -extern "C" void baseMotion01__8daMyna_cFi(); -extern "C" void baseMotion02__8daMyna_cFi(); -extern "C" void baseMotion03__8daMyna_cFi(); -extern "C" void baseMotion04__8daMyna_cFi(); -extern "C" void baseMotion05__8daMyna_cFi(); -extern "C" void baseMotion06__8daMyna_cFi(); -extern "C" void create__8daMyna_cFv(); -extern "C" void __dt__8cM3dGSphFv(); -extern "C" void __dt__8cM3dGAabFv(); -extern "C" void __dt__10dCcD_GSttsFv(); -extern "C" void __dt__12J3DFrameCtrlFv(); -extern "C" void destroy__8daMyna_cFv(); -extern "C" void draw__8daMyna_cFv(); -extern "C" void execute__8daMyna_cFv(); -extern "C" void createHeap__8daMyna_cFv(); -extern "C" void jntNodeCB__8daMyna_cFP8J3DJointP8J3DModel(); -extern "C" void attack_wait_init__8daMyna_cFv(); -extern "C" void attack_wait_move__8daMyna_cFv(); -extern "C" void attack_before_talk_init__8daMyna_cFv(); -extern "C" void attack_before_talk_move__8daMyna_cFv(); -extern "C" void attack_fly_init__8daMyna_cFv(); -extern "C" void attack_fly_move__8daMyna_cFv(); -extern "C" void attack_init__8daMyna_cFv(); -extern "C" void attack_move__8daMyna_cFv(); -extern "C" void attack_after_talk_init__8daMyna_cFv(); -extern "C" void attack_after_talk_move__8daMyna_cFv(); -extern "C" void greet_wait_init__8daMyna_cFv(); -extern "C" void greet_wait_move__8daMyna_cFv(); -extern "C" void greet_talk_init__8daMyna_cFv(); -extern "C" void greet_talk_move__8daMyna_cFv(); -extern "C" void shopping_wait_init__8daMyna_cFv(); -extern "C" void shopping_wait_move__8daMyna_cFv(); -extern "C" void shopping_talk_init__8daMyna_cFv(); -extern "C" void shopping_talk_move__8daMyna_cFv(); -extern "C" void thanks_talk_init__8daMyna_cFv(); -extern "C" void thanks_talk_move__8daMyna_cFv(); -extern "C" void byebye_talk_init__8daMyna_cFv(); -extern "C" void byebye_talk_move__8daMyna_cFv(); -extern "C" void turn_on_start_init__8daMyna_cFv(); -extern "C" void turn_on_start_move__8daMyna_cFv(); -extern "C" void turn_on_init__8daMyna_cFv(); -extern "C" void turn_on_move__8daMyna_cFv(); -extern "C" void turn_on_end1_init__8daMyna_cFv(); -extern "C" void turn_on_end1_move__8daMyna_cFv(); -extern "C" void turn_on_end2_init__8daMyna_cFv(); -extern "C" void turn_on_end2_move__8daMyna_cFv(); -extern "C" void turn_on_end3_init__8daMyna_cFv(); -extern "C" void turn_on_end3_move__8daMyna_cFv(); -extern "C" void wolf_talk_init__8daMyna_cFv(); -extern "C" void wolf_talk_move__8daMyna_cFv(); -extern "C" void attack_wait2_init__8daMyna_cFv(); -extern "C" void attack_wait2_move__8daMyna_cFv(); -extern "C" void attack_before_talk2_init__8daMyna_cFv(); -extern "C" void attack_before_talk2_move__8daMyna_cFv(); -extern "C" void attack_fly2_init__8daMyna_cFv(); -extern "C" void attack_fly2_move__8daMyna_cFv(); -extern "C" void attack2_init__8daMyna_cFv(); -extern "C" void attack2_move__8daMyna_cFv(); -extern "C" void attack2_talk_init__8daMyna_cFv(); -extern "C" void attack2_talk_move__8daMyna_cFv(); -extern "C" void soldoutItem__8daMyna_cFUi(); -extern "C" void fly_attack_move__8daMyna_cFv(); -extern "C" void fly_return_move__8daMyna_cFv(); -extern "C" void fly_body_wave__8daMyna_cFv(); -extern "C" void talkAnime__8daMyna_cFP9msg_class(); -extern "C" void chkEvent__8daMyna_cFv(); -extern "C" void orderEvent__8daMyna_cFv(); -extern "C" void deleteItem__8daMyna_cFi(); -extern "C" void deleteItem__8daMyna_cFUi(); -extern "C" void initiate__8daMyna_cFv(); -extern "C" void setItemInfo__8daMyna_cFv(); -extern "C" void setRoomNo__8daMyna_cFv(); -extern "C" void setCollision__8daMyna_cFv(); -extern "C" void set_mtx__8daMyna_cFv(); -extern "C" void animePlay__8daMyna_cFv(); -extern "C" void setMcaMorfAnm__8daMyna_cFP18J3DAnmTransformKeyffiii(); -extern "C" void setBtpAnm__8daMyna_cFP16J3DAnmTexPatternP12J3DModelDatafi(); -extern "C" void getTrnsfrmKeyAnm__8daMyna_cFPc(); -extern "C" void getTexPtrnAnm__8daMyna_cFPc(); -extern "C" void checkEndAnm__8daMyna_cFf(); -extern "C" void checkEndAnm__8daMyna_cFP12J3DFrameCtrl(); -extern "C" void getItemNumMax__8daMyna_cFv(); -extern "C" void getItemType__8daMyna_cFPv(); -extern "C" void getFlowNodeNum__8daMyna_cFv(); -extern "C" void checkDead__8daMyna_cFv(); -extern "C" void chkPlayerInEvtArea__8daMyna_cFP10fopAc_ac_c4cXyz(); -extern "C" void animeControl__8daMyna_cFv(); -extern "C" void setAnimeType__8daMyna_cFUcf(); -extern "C" void playDefaultWaitAnime__8daMyna_cFv(); -extern "C" void setDefaultWaitAnime__8daMyna_cFUc(); -extern "C" static void daMyna_Create__FPv(); -extern "C" static void daMyna_Delete__FPv(); -extern "C" static void daMyna_Execute__FPv(); -extern "C" static void daMyna_Draw__FPv(); -extern "C" static bool daMyna_IsDelete__FPv(); -extern "C" void __dt__10cCcD_GSttsFv(); -extern "C" void __dt__12daMyna_HIO_cFv(); -extern "C" void __dt__14mDoHIO_entry_cFv(); -extern "C" void getHeadTopPos__9daPy_py_cCFv(); -extern "C" void __dt__8daMyna_cFv(); -extern "C" void func_8094ABAC(void* _this, s16*); -extern "C" void func_8094ABC8(void* _this, int, int); -extern "C" void __sinit_d_a_myna_cpp(); -extern "C" u8 const mCcDSph__8daMyna_c[64]; -extern "C" extern char const* const d_a_myna__stringBase0; -extern "C" u8 mBaseMotionTBL__8daMyna_c[84]; -extern "C" void* __vt__8daMyna_c[3]; -extern "C" void* __vt__12J3DFrameCtrl[3]; -extern "C" void* __vt__8cM3dGAab[3]; -extern "C" void* __vt__8cM3dGSph[3]; -extern "C" void* __vt__10cCcD_GStts[3]; -extern "C" void* __vt__10dCcD_GStts[3]; +/* 8094B36C-8094B380 00000C 0004+10 0/0 0/0 0/0 .data @1787 */ +static u32 lit_1787[1 + 4 /* padding */] = { + 0x02000201, + /* padding */ + 0x40080000, + 0x00000000, + 0x3FE00000, + 0x00000000, +}; -// -// External References: -// +/* 8094B488-8094B590 000128 0108+00 2/3 0/0 0/0 .data init_proc */ +static daMyna_c::ProcFunc init_proc[] = { + &daMyna_c::attack_wait_init, + &daMyna_c::attack_before_talk_init, + &daMyna_c::attack_fly_init, + &daMyna_c::attack_init, + &daMyna_c::attack_after_talk_init, + &daMyna_c::greet_wait_init, + &daMyna_c::greet_talk_init, + &daMyna_c::shopping_wait_init, + &daMyna_c::shopping_talk_init, + &daMyna_c::thanks_talk_init, + &daMyna_c::byebye_talk_init, + &daMyna_c::turn_on_start_init, + &daMyna_c::turn_on_init, + &daMyna_c::turn_on_end1_init, + &daMyna_c::turn_on_end2_init, + &daMyna_c::turn_on_end3_init, + &daMyna_c::wolf_talk_init, + &daMyna_c::attack_wait2_init, + &daMyna_c::attack_before_talk2_init, + &daMyna_c::attack_fly2_init, + &daMyna_c::attack2_init, + &daMyna_c::attack2_talk_init, +}; -extern "C" void mDoMtx_YrotS__FPA4_fs(); -extern "C" void transS__14mDoMtx_stack_cFRC4cXyz(); -extern "C" void transM__14mDoMtx_stack_cFfff(); -extern "C" void scaleM__14mDoMtx_stack_cFRC4cXyz(); -extern "C" void ZXYrotM__14mDoMtx_stack_cFRC5csXyz(); -extern "C" void play__14mDoExt_baseAnmFv(); -extern "C" void init__13mDoExt_btpAnmFP16J3DMaterialTableP16J3DAnmTexPatterniifss(); -extern "C" void entry__13mDoExt_btpAnmFP16J3DMaterialTables(); -extern "C" void -__ct__16mDoExt_McaMorfSOFP12J3DModelDataP25mDoExt_McaMorfCallBack1_cP25mDoExt_McaMorfCallBack2_cP15J3DAnmTransformifiiP10Z2CreatureUlUl(); -extern "C" void setAnm__16mDoExt_McaMorfSOFP15J3DAnmTransformiffff(); -extern "C" void play__16mDoExt_McaMorfSOFUlSc(); -extern "C" void entryDL__16mDoExt_McaMorfSOFv(); -extern "C" void modelCalc__16mDoExt_McaMorfSOFv(); -extern "C" void stopZelAnime__16mDoExt_McaMorfSOFv(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void __dt__10fopAc_ac_cFv(); -extern "C" void fopAc_IsActor__FPv(); -extern "C" void fopAcIt_Judge__FPFPvPv_PvPv(); -extern "C" void fopAcM_delete__FUi(); -extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl(); -extern "C" void fopAcM_searchActorDistanceXZ__FPC10fopAc_ac_cPC10fopAc_ac_c(); -extern "C" void fopAcM_orderSpeakEvent__FP10fopAc_ac_cUsUs(); -extern "C" void fopAcM_setEffectMtx__FPC10fopAc_ac_cPC12J3DModelData(); -extern "C" void fpcEx_Search__FPFPvPv_PvPv(); -extern "C" void fpcEx_IsExist__FUi(); -extern "C" void fpcSch_JudgeByID__FPvPv(); -extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc(); -extern "C" void isSwitch__12dSv_memBit_cCFi(); -extern "C" void onEventBit__11dSv_event_cFUs(); -extern "C" void offEventBit__11dSv_event_cFUs(); -extern "C" void isEventBit__11dSv_event_cCFUs(); -extern "C" void getRes__14dRes_control_cFPCcPCcP11dRes_info_ci(); -extern "C" void reset__14dEvt_control_cFv(); -extern "C" void convPId__14dEvt_control_cFUi(); -extern "C" void ChkPresentEnd__16dEvent_manager_cFv(); -extern "C" void GetRoomId__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void __ct__10dCcD_GSttsFv(); -extern "C" void Move__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 ChkAtHit__12dCcD_GObjInfFv(); -extern "C" void Set__8dCcD_SphFRC11dCcD_SrcSph(); -extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void getStatus__12dMsgObject_cFv(); -extern "C" void dMsgObject_getTotalPrice__Fv(); -extern "C" void dMsgObject_setTotalPrice__FUs(); -extern "C" void dMsgObject_addTotalPrice__Fs(); -extern "C" void dMsgObject_getTotalPayment__Fv(); -extern "C" void dMsgObject_setTotalPayment__FUs(); -extern "C" void __ct__10dMsgFlow_cFv(); -extern "C" void __dt__10dMsgFlow_cFv(); -extern "C" void init__10dMsgFlow_cFP10fopAc_ac_ciiPP10fopAc_ac_c(); -extern "C" void doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci(); -extern "C" void getMsg__10dMsgFlow_cFv(); -extern "C" void Set__4cCcSFP8cCcD_Obj(); -extern "C" void __pl__4cXyzCFRC3Vec(); -extern "C" void __mi__4cXyzCFRC3Vec(); -extern "C" void cM_atan2s__Fff(); -extern "C" void cM_rnd__Fv(); -extern "C" void cM_rndF__Ff(); -extern "C" void __ct__11cBgS_GndChkFv(); -extern "C" void __dt__11cBgS_GndChkFv(); -extern "C" void SetC__8cM3dGSphFRC4cXyz(); -extern "C" void SetR__8cM3dGSphFf(); -extern "C" void cLib_addCalcPos2__FP4cXyzRC4cXyzff(); -extern "C" void cLib_addCalcAngleS__FPsssss(); -extern "C" void cLib_offsetPos__FP4cXyzPC4cXyzsPC4cXyz(); -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 removeTexNoAnimator__16J3DMaterialTableFP16J3DAnmTexPattern(); -extern "C" void __ptmf_test(); -extern "C" void __ptmf_scall(); -extern "C" void _savegpr_23(); -extern "C" void _savegpr_24(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_23(); -extern "C" void _restgpr_24(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; -extern "C" extern void* __vt__8dCcD_Sph[36]; -extern "C" extern void* __vt__9dCcD_Stts[11]; -extern "C" extern void* __vt__12cCcD_SphAttr[25]; -extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; -extern "C" extern void* __vt__9cCcD_Stts[8]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" u8 mCurrentMtx__6J3DSys[48]; -extern "C" u8 sincosTable___5JMath[65536]; -extern "C" void __register_global_object(); -extern "C" void getExchangeItemPtr__14daObj_SSItem_cFv(); -extern "C" void setTurnOnOffChange__17daTag_MynaLight_cFv(); - -// -// Declarations: -// +/* 8094B698-8094B7A0 000338 0108+00 2/3 0/0 0/0 .data move_proc */ +static daMyna_c::ProcFunc move_proc[] = { + &daMyna_c::attack_wait_move, + &daMyna_c::attack_before_talk_move, + &daMyna_c::attack_fly_move, + &daMyna_c::attack_move, + &daMyna_c::attack_after_talk_move, + &daMyna_c::greet_wait_move, + &daMyna_c::greet_talk_move, + &daMyna_c::shopping_wait_move, + &daMyna_c::shopping_talk_move, + &daMyna_c::thanks_talk_move, + &daMyna_c::byebye_talk_move, + &daMyna_c::turn_on_start_move, + &daMyna_c::turn_on_move, + &daMyna_c::turn_on_end1_move, + &daMyna_c::turn_on_end2_move, + &daMyna_c::turn_on_end3_move, + &daMyna_c::wolf_talk_move, + &daMyna_c::attack_wait2_move, + &daMyna_c::attack_before_talk2_move, + &daMyna_c::attack_fly2_move, + &daMyna_c::attack2_move, + &daMyna_c::attack2_talk_move, +}; /* 80945C6C-80945C8C 0000EC 0020+00 1/1 0/0 0/0 .text createHeapCallBack__FP10fopAc_ac_c */ @@ -264,7 +94,6 @@ static int jntNodeCallBack(J3DJoint* i_jnt, int param_1) { return 1; } -/* ############################################################################################## */ /* 8094B9F0-8094B9F4 000008 0001+03 2/2 0/0 0/0 .bss @1109 */ static u8 lit_1109[1 + 3 /* padding */]; @@ -358,9 +187,6 @@ static u8 lit_1010[1 + 3 /* padding */]; static u8 lit_1009[1 + 3 /* padding */]; #pragma pop -/* 8094BA30-8094BA3C 000048 000C+00 1/1 0/0 0/0 .bss @3847 */ -static u8 lit_3847[12]; - /* 8094BA3C-8094BA70 000054 0034+00 15/15 0/0 0/0 .bss l_HOSTIO */ static daMyna_HIO_c l_HOSTIO; @@ -413,7 +239,6 @@ static void* daMyna_searchLight(void* i_mynaLightTagActor, void* param_1) { return 0; } -/* ############################################################################################## */ /* 8094BAC8-8094BACC 0000E0 0004+00 8/9 0/0 0/0 .bss daMyna_evtTagActor0 */ static fopAc_ac_c* daMyna_evtTagActor0; @@ -433,21 +258,10 @@ static void* daMyna_searchEvtTag(void* i_evtTagActor, void* param_1) { return 0; } -/* ############################################################################################## */ /* 8094B1B0-8094B1F0 000000 0040+00 7/7 0/0 0/0 .rodata mCcDSph__8daMyna_c */ -SECTION_RODATA dCcD_SrcSph const daMyna_c::mCcDSph = { +dCcD_SrcSph const daMyna_c::mCcDSph = { 0, 0x400, 1, 0x1F, 0, 0, 0x79, 0xA, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0.0f, 0.0f, 0.0f, 15.0f, }; -COMPILER_STRIP_GATE(0x8094B1B0, &daMyna_c::mCcDSph); - -/* 8094B1F0-8094B1F4 000040 0004+00 25/32 0/0 0/0 .rodata @3926 */ -SECTION_RODATA static u8 const lit_3926[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x8094B1F0, &lit_3926); /* 80945E80-80945EC0 000300 0040+00 1/0 0/0 0/0 .text baseMotion00__8daMyna_cFi */ int daMyna_c::baseMotion00(int param_0) { @@ -458,7 +272,6 @@ int daMyna_c::baseMotion00(int param_0) { return 1; } - /* 80945EC0-80945F00 000340 0040+00 1/0 0/0 0/0 .text baseMotion01__8daMyna_cFi */ int daMyna_c::baseMotion01(int param_0) { if (param_0 != 0) { @@ -468,7 +281,6 @@ int daMyna_c::baseMotion01(int param_0) { return 1; } - /* 80945F00-80945F40 000380 0040+00 1/0 0/0 0/0 .text baseMotion02__8daMyna_cFi */ int daMyna_c::baseMotion02(int param_0) { if (param_0 != 0) { @@ -478,7 +290,6 @@ int daMyna_c::baseMotion02(int param_0) { return 1; } - /* 80945F40-80945FA0 0003C0 0060+00 1/0 0/0 0/0 .text baseMotion03__8daMyna_cFi */ int daMyna_c::baseMotion03(int param_0) { if (param_0 != 0) { @@ -492,7 +303,6 @@ int daMyna_c::baseMotion03(int param_0) { return 1; } - /* 80945FA0-80946000 000420 0060+00 1/0 0/0 0/0 .text baseMotion04__8daMyna_cFi */ int daMyna_c::baseMotion04(int param_0) { if (param_0 != 0) { @@ -506,7 +316,6 @@ int daMyna_c::baseMotion04(int param_0) { return 1; } - /* 80946000-80946060 000480 0060+00 1/0 0/0 0/0 .text baseMotion05__8daMyna_cFi */ int daMyna_c::baseMotion05(int param_0) { if (param_0 != 0) { @@ -520,7 +329,6 @@ int daMyna_c::baseMotion05(int param_0) { return 1; } - /* 80946060-809460A0 0004E0 0040+00 1/0 0/0 0/0 .text baseMotion06__8daMyna_cFi */ int daMyna_c::baseMotion06(int param_0) { if (param_0 != 0) { @@ -530,100 +338,6 @@ int daMyna_c::baseMotion06(int param_0) { return 1; } - -/* ############################################################################################## */ -/* 8094B24C-8094B24C 00009C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8094B24C = "MYNA_hovering.bck"; -SECTION_DEAD static char const* const stringBase_8094B25E = "MYNA_wait_a.bck"; -SECTION_DEAD static char const* const stringBase_8094B26E = "MYNA_pick_a.bck"; -SECTION_DEAD static char const* const stringBase_8094B27E = "MYNA_pick_b.bck"; -SECTION_DEAD static char const* const stringBase_8094B28E = "MYNA_jump.bck"; -SECTION_DEAD static char const* const stringBase_8094B29C = "MYNA_sidestepL.bck"; -SECTION_DEAD static char const* const stringBase_8094B2AF = "MYNA_sidestepR.bck"; -SECTION_DEAD static char const* const stringBase_8094B2C2 = "MYNA_lightup.bck"; -SECTION_DEAD static char const* const stringBase_8094B2D3 = "MYNA_attack.bck"; -SECTION_DEAD static char const* const stringBase_8094B2E3 = "MYNA_talk_a.bck"; -SECTION_DEAD static char const* const stringBase_8094B2F3 = "MYNA_talk_b.bck"; -SECTION_DEAD static char const* const stringBase_8094B303 = "MYNA_wait_b.bck"; -SECTION_DEAD static char const* const stringBase_8094B313 = "MYNA_wait_c.bck"; -SECTION_DEAD static char const* const stringBase_8094B323 = "MYNA_talk_c.bck"; -SECTION_DEAD static char const* const stringBase_8094B333 = "MYNA_wait_d.bck"; -SECTION_DEAD static char const* const stringBase_8094B343 = "MYNA.btp"; -SECTION_DEAD static char const* const stringBase_8094B34C = "Npc_myna"; -#pragma pop - -/* 8094B360-8094B36C 000000 000C+00 1/1 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, -}; - -/* 8094B36C-8094B380 00000C 0004+10 0/0 0/0 0/0 .data @1787 */ -#pragma push -#pragma force_active on -SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = { - 0x02000201, - /* padding */ - 0x40080000, - 0x00000000, - 0x3FE00000, - 0x00000000, -}; -#pragma pop - -/* 8094B488-8094B590 000128 0108+00 2/3 0/0 0/0 .data init_proc */ -static daMyna_c::ProcFunc init_proc[] = { - &daMyna_c::attack_wait_init, - &daMyna_c::attack_before_talk_init, - &daMyna_c::attack_fly_init, - &daMyna_c::attack_init, - &daMyna_c::attack_after_talk_init, - &daMyna_c::greet_wait_init, - &daMyna_c::greet_talk_init, - &daMyna_c::shopping_wait_init, - &daMyna_c::shopping_talk_init, - &daMyna_c::thanks_talk_init, - &daMyna_c::byebye_talk_init, - &daMyna_c::turn_on_start_init, - &daMyna_c::turn_on_init, - &daMyna_c::turn_on_end1_init, - &daMyna_c::turn_on_end2_init, - &daMyna_c::turn_on_end3_init, - &daMyna_c::wolf_talk_init, - &daMyna_c::attack_wait2_init, - &daMyna_c::attack_before_talk2_init, - &daMyna_c::attack_fly2_init, - &daMyna_c::attack2_init, - &daMyna_c::attack2_talk_init, -}; - -/* 8094B698-8094B7A0 000338 0108+00 2/3 0/0 0/0 .data move_proc */ -static daMyna_c::ProcFunc move_proc[] = { - &daMyna_c::attack_wait_move, - &daMyna_c::attack_before_talk_move, - &daMyna_c::attack_fly_move, - &daMyna_c::attack_move, - &daMyna_c::attack_after_talk_move, - &daMyna_c::greet_wait_move, - &daMyna_c::greet_talk_move, - &daMyna_c::shopping_wait_move, - &daMyna_c::shopping_talk_move, - &daMyna_c::thanks_talk_move, - &daMyna_c::byebye_talk_move, - &daMyna_c::turn_on_start_move, - &daMyna_c::turn_on_move, - &daMyna_c::turn_on_end1_move, - &daMyna_c::turn_on_end2_move, - &daMyna_c::turn_on_end3_move, - &daMyna_c::wolf_talk_move, - &daMyna_c::attack_wait2_move, - &daMyna_c::attack_before_talk2_move, - &daMyna_c::attack_fly2_move, - &daMyna_c::attack2_move, - &daMyna_c::attack2_talk_move, -}; - /* 8094B7A0-8094B7DC -00001 003C+00 2/2 0/0 0/0 .data l_bckFileNameTBL */ static char* l_bckFileNameTBL[] = { "MYNA_hovering.bck", "MYNA_wait_a.bck", "MYNA_pick_a.bck", "MYNA_pick_b.bck", @@ -637,8 +351,6 @@ static char* l_btpFileNameTBL[] = {"MYNA.btp"}; /* 8094B7E0-8094B810 000480 0030+00 1/1 0/0 0/0 .data aParam$localstatic3$__ct__12daMyna_HIO_cFv */ -// sinit matches, but with incorrect weak function ordering -#ifdef NONMATCHING daMyna_HIO_c::daMyna_HIO_c() { // This could probably be cleaned up a bit. Equivalent to: /* @@ -666,102 +378,13 @@ daMyna_HIO_c::daMyna_HIO_c() { }; memcpy(&field_0x04, data_8094B7E0, 0x30); } -#else -SECTION_DATA static u8 data_8094B7E0[48] = { - 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x3D, 0xA3, 0xD7, 0x0A, 0x3E, 0xCC, 0xCC, 0xCD, - 0x41, 0xF0, 0x00, 0x00, 0x42, 0x34, 0x00, 0x00, 0x42, 0x28, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, - 0x00, 0x4B, 0x00, 0x04, 0x7F, 0xFF, 0x05, 0xDC, 0x00, 0x05, 0x20, 0x00, 0x00, 0x1E, 0x00, 0x00, -}; -#endif - -/* 8094B810-8094B81C -00001 000C+00 0/1 0/0 0/0 .data @3913 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3913[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)baseMotion00__8daMyna_cFi, -}; -#pragma pop - -/* 8094B81C-8094B828 -00001 000C+00 0/1 0/0 0/0 .data @3914 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3914[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)baseMotion01__8daMyna_cFi, -}; -#pragma pop - -/* 8094B828-8094B834 -00001 000C+00 0/1 0/0 0/0 .data @3915 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3915[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)baseMotion02__8daMyna_cFi, -}; -#pragma pop - -/* 8094B834-8094B840 -00001 000C+00 0/1 0/0 0/0 .data @3916 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3916[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)baseMotion03__8daMyna_cFi, -}; -#pragma pop - -/* 8094B840-8094B84C -00001 000C+00 0/1 0/0 0/0 .data @3917 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3917[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)baseMotion04__8daMyna_cFi, -}; -#pragma pop - -/* 8094B84C-8094B858 -00001 000C+00 0/1 0/0 0/0 .data @3918 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3918[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)baseMotion05__8daMyna_cFi, -}; -#pragma pop - -/* 8094B858-8094B864 -00001 000C+00 0/1 0/0 0/0 .data @3919 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3919[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)baseMotion06__8daMyna_cFi, -}; -#pragma pop /* 8094B864-8094B8B8 000504 0054+00 1/2 0/0 0/0 .data mBaseMotionTBL__8daMyna_c */ -// sinit matches, but with incorrect weak function ordering -#ifdef NONMATCHING daMyna_c::BaseMotionFunc daMyna_c::mBaseMotionTBL[] = { &daMyna_c::baseMotion00, &daMyna_c::baseMotion01, &daMyna_c::baseMotion02, &daMyna_c::baseMotion03, &daMyna_c::baseMotion04, &daMyna_c::baseMotion05, &daMyna_c::baseMotion06, }; -#else -SECTION_DATA u8 daMyna_c::mBaseMotionTBL[84] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -#endif /* 809460A0-80946284 000520 01E4+00 1/1 0/0 0/0 .text create__8daMyna_cFv */ int daMyna_c::create() { @@ -785,31 +408,6 @@ int daMyna_c::create() { } } - -/* 80946284-809462CC 000704 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGSphFv */ -// cM3dGSph::~cM3dGSph() { -extern "C" void __dt__8cM3dGSphFv() { - // NONMATCHING -} - -/* 809462CC-80946314 00074C 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */ -// cM3dGAab::~cM3dGAab() { -extern "C" void __dt__8cM3dGAabFv() { - // NONMATCHING -} - -/* 80946314-80946370 000794 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */ -// dCcD_GStts::~dCcD_GStts() { -extern "C" void __dt__10dCcD_GSttsFv() { - // NONMATCHING -} - -/* 80946370-809463B8 0007F0 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */ -// J3DFrameCtrl::~J3DFrameCtrl() { -extern "C" void __dt__12J3DFrameCtrlFv() { - // NONMATCHING -} - /* 809463B8-8094640C 000838 0054+00 1/1 0/0 0/0 .text destroy__8daMyna_cFv */ int daMyna_c::destroy() { dComIfG_resDelete(&mPhase, "Npc_myna"); @@ -836,15 +434,6 @@ int daMyna_c::draw() { return 1; } -/* ############################################################################################## */ -/* 8094B1F4-8094B1F8 000044 0004+00 1/1 0/0 0/0 .rodata @4207 */ -SECTION_RODATA static f32 const lit_4207 = 40.0f; -COMPILER_STRIP_GATE(0x8094B1F4, &lit_4207); - -/* 8094B1F8-8094B1FC 000048 0004+00 1/3 0/0 0/0 .rodata @4208 */ -SECTION_RODATA static f32 const lit_4208 = 100.0f; -COMPILER_STRIP_GATE(0x8094B1F8, &lit_4208); - /* 809464CC-809466D8 00094C 020C+00 2/2 0/0 0/0 .text execute__8daMyna_cFv */ int daMyna_c::execute() { u8 uVar1 = field_0x92C; @@ -892,18 +481,6 @@ int daMyna_c::execute() { return 1; } - -/* ############################################################################################## */ -/* 8094B1FC-8094B200 00004C 0004+00 11/12 0/0 0/0 .rodata @4270 */ -SECTION_RODATA static f32 const lit_4270 = 1.0f; -COMPILER_STRIP_GATE(0x8094B1FC, &lit_4270); - -/* 8094B24C-8094B24C 00009C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8094B355 = "MYNA.bmd"; -#pragma pop - /* 809466D8-8094686C 000B58 0194+00 1/1 0/0 0/0 .text createHeap__8daMyna_cFv */ int daMyna_c::createHeap() { J3DModelData* modelData = @@ -934,7 +511,6 @@ int daMyna_c::createHeap() { } } - /* 8094686C-809468EC 000CEC 0080+00 1/1 0/0 0/0 .text jntNodeCB__8daMyna_cFP8J3DJointP8J3DModel */ int daMyna_c::jntNodeCB(J3DJoint* i_jnt, J3DModel* i_model) { u16 jntNo = i_jnt->getJntNo(); @@ -950,7 +526,6 @@ void daMyna_c::attack_wait_init() { field_0x92A = 0; } - /* 8094692C-80946AEC 000DAC 01C0+00 1/0 0/0 0/0 .text attack_wait_move__8daMyna_cFv */ void daMyna_c::attack_wait_move() { if (current.angle.y != home.angle.y) { @@ -986,14 +561,12 @@ void daMyna_c::attack_wait_move() { } } - /* 80946AEC-80946B40 000F6C 0054+00 1/0 0/0 0/0 .text attack_before_talk_init__8daMyna_cFv */ void daMyna_c::attack_before_talk_init() { mMsgFlow.init(this, field_0x91C, 0, NULL); setAnimeType(10, 0.0f); } - /* 80946B40-80946BB4 000FC0 0074+00 1/0 0/0 0/0 .text attack_before_talk_move__8daMyna_cFv */ void daMyna_c::attack_before_talk_move() { if (eventInfo.checkCommandTalk() && mMsgFlow.doFlow(this, NULL, 0) != 0) { @@ -1009,10 +582,8 @@ void daMyna_c::attack_fly_init() { field_0x91A = 0; } - /* 80946BF4-80946D20 001074 012C+00 1/0 0/0 0/0 .text attack_fly_move__8daMyna_cFv */ -// regswap -#ifdef NONMATCHING +// NONMATCHING regswap void daMyna_c::attack_fly_move() { if (daMyna_evtTagActor0 != NULL) { cXyz var1(1.0f, 1.0f, 1.0f); @@ -1032,11 +603,6 @@ void daMyna_c::attack_fly_move() { } } } -#else -void daMyna_c::attack_fly_move() { - // NONMATCHING -} -#endif /* 80946D20-80946D64 0011A0 0044+00 1/0 0/0 0/0 .text attack_init__8daMyna_cFv */ void daMyna_c::attack_init() { @@ -1044,10 +610,7 @@ void daMyna_c::attack_init() { mSph.OnAtVsPlayerBit(); } - /* 80946D64-80946DD4 0011E4 0070+00 1/0 0/0 0/0 .text attack_move__8daMyna_cFv */ -// Matches when l_HOSTIO is the correct type -#ifdef NONMATCHING void daMyna_c::attack_move() { mStatus.Move(); if (field_0x91E != 0) { @@ -1058,11 +621,6 @@ void daMyna_c::attack_move() { mSph.OffAtVsPlayerBit(); } } -#else -void daMyna_c::attack_move() { - // NONMATCHING -} -#endif /* 80946DD4-80946E08 001254 0034+00 1/0 0/0 0/0 .text attack_after_talk_init__8daMyna_cFv */ @@ -1086,12 +644,6 @@ void daMyna_c::greet_wait_init() { setAnimeType(1, 0.0f); } - -/* ############################################################################################## */ -/* 8094B200-8094B204 000050 0004+00 1/1 0/0 0/0 .rodata @4481 */ -SECTION_RODATA static f32 const lit_4481 = 350.0f; -COMPILER_STRIP_GATE(0x8094B200, &lit_4481); - /* 80946EB0-80947030 001330 0180+00 1/0 0/0 0/0 .text greet_wait_move__8daMyna_cFv */ void daMyna_c::greet_wait_move() { if (!daPy_py_c::i_checkNowWolf()) { @@ -1131,7 +683,6 @@ void daMyna_c::greet_wait_move() { } } - /* 80947030-8094711C 0014B0 00EC+00 1/0 0/0 0/0 .text greet_talk_init__8daMyna_cFv */ void daMyna_c::greet_talk_init() { dMsgObject_setTotalPayment(0); @@ -1157,7 +708,6 @@ void daMyna_c::greet_talk_init() { mMsgFlow.init(this, field_0x91C, 0, NULL); } - /* 8094711C-809471BC 00159C 00A0+00 1/0 0/0 0/0 .text greet_talk_move__8daMyna_cFv */ void daMyna_c::greet_talk_move() { if (eventInfo.checkCommandTalk() && mMsgFlow.doFlow(this, NULL, 0) != 0) { @@ -1176,15 +726,8 @@ void daMyna_c::shopping_wait_init() { setAnimeType(1, 0.0f); } - -/* ############################################################################################## */ -/* 8094B204-8094B208 000054 0004+00 1/1 0/0 0/0 .rodata @4655 */ -SECTION_RODATA static f32 const lit_4655 = 450.0f; -COMPILER_STRIP_GATE(0x8094B204, &lit_4655); - /* 809471E8-809475B4 001668 03CC+00 1/0 0/0 0/0 .text shopping_wait_move__8daMyna_cFv */ -// regswap -#ifdef NONMATCHING +// NONMATCHING regswap void daMyna_c::shopping_wait_move() { if (!daPy_py_c::i_checkNowWolf()) { if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[802])) { @@ -1276,11 +819,6 @@ void daMyna_c::shopping_wait_move() { } } } -#else -void daMyna_c::shopping_wait_move() { - // NONMATCHING -} -#endif /* 809475B4-80947630 001A34 007C+00 1/0 0/0 0/0 .text shopping_talk_init__8daMyna_cFv */ void daMyna_c::shopping_talk_init() { @@ -1395,46 +933,6 @@ void daMyna_c::turn_on_start_init() { } } - -/* ############################################################################################## */ -/* 8094B208-8094B210 000058 0004+04 0/5 0/0 0/0 .rodata @4828 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4828[1 + 1 /* padding */] = { - 0.5f, - /* padding */ - 0.0f, -}; -COMPILER_STRIP_GATE(0x8094B208, &lit_4828); -#pragma pop - -/* 8094B210-8094B218 000060 0008+00 0/6 0/0 0/0 .rodata @4829 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4829[8] = { - 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8094B210, &lit_4829); -#pragma pop - -/* 8094B218-8094B220 000068 0008+00 0/6 0/0 0/0 .rodata @4830 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4830[8] = { - 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8094B218, &lit_4830); -#pragma pop - -/* 8094B220-8094B228 000070 0008+00 0/6 0/0 0/0 .rodata @4831 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4831[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8094B220, &lit_4831); -#pragma pop - /* 80947AA4-80947CD0 001F24 022C+00 1/0 0/0 0/0 .text turn_on_start_move__8daMyna_cFv */ void daMyna_c::turn_on_start_move() { cXyz stack_28; @@ -1464,13 +962,11 @@ void daMyna_c::turn_on_start_move() { } } - /* 80947CD0-80947CFC 002150 002C+00 1/0 0/0 0/0 .text turn_on_init__8daMyna_cFv */ void daMyna_c::turn_on_init() { setAnimeType(7, 0.0f); } - /* 80947CFC-80947D48 00217C 004C+00 1/0 0/0 0/0 .text turn_on_move__8daMyna_cFv */ void daMyna_c::turn_on_move() { if (field_0x91E != 0) { @@ -1484,10 +980,7 @@ void daMyna_c::turn_on_end1_init() { setAnimeType(4, 0.0f); } - /* 80947D74-80947E18 0021F4 00A4+00 1/0 0/0 0/0 .text turn_on_end1_move__8daMyna_cFv */ -// Matches when l_HOSTIO is the correct type -#ifdef NONMATCHING void daMyna_c::turn_on_end1_move() { cXyz local_18 = home.pos - current.pos; s16 sVar2 = cM_atan2s(local_18.x, local_18.z); @@ -1499,11 +992,6 @@ void daMyna_c::turn_on_end1_move() { field_0x92C = 14; } } -#else -void daMyna_c::turn_on_end1_move() { - // NONMATCHING -} -#endif /* 80947E18-80947E50 002298 0038+00 1/0 0/0 0/0 .text turn_on_end2_init__8daMyna_cFv */ void daMyna_c::turn_on_end2_init() { @@ -1512,7 +1000,6 @@ void daMyna_c::turn_on_end2_init() { } } - /* 80947E50-80948070 0022D0 0220+00 1/0 0/0 0/0 .text turn_on_end2_move__8daMyna_cFv */ void daMyna_c::turn_on_end2_move() { cXyz stack_24; @@ -1537,15 +1024,12 @@ void daMyna_c::turn_on_end2_move() { } } - /* 80948070-80948074 0024F0 0004+00 1/0 0/0 0/0 .text turn_on_end3_init__8daMyna_cFv */ void daMyna_c::turn_on_end3_init() { /* empty function */ } /* 80948074-809480E4 0024F4 0070+00 1/0 0/0 0/0 .text turn_on_end3_move__8daMyna_cFv */ -// Matches when l_HOSTIO is the correct type -#ifdef NONMATCHING void daMyna_c::turn_on_end3_move() { cLib_addCalcAngleS(¤t.angle.y, home.angle.y, l_HOSTIO.field_0x26, l_HOSTIO.field_0x28, l_HOSTIO.field_0x2A); @@ -1555,11 +1039,6 @@ void daMyna_c::turn_on_end3_move() { field_0x92C = field_0x92D; } } -#else -void daMyna_c::turn_on_end3_move() { - // NONMATCHING -} -#endif /* 809480E4-80948118 002564 0034+00 1/0 0/0 0/0 .text wolf_talk_init__8daMyna_cFv */ void daMyna_c::wolf_talk_init() { @@ -1626,7 +1105,6 @@ void daMyna_c::attack_before_talk2_init() { setAnimeType(10, 0.0f); } - /* 809483DC-80948444 00285C 0068+00 1/0 0/0 0/0 .text attack_before_talk2_move__8daMyna_cFv */ void daMyna_c::attack_before_talk2_move() { if (eventInfo.checkCommandTalk() && mMsgFlow.doFlow(this, NULL, 0) != 0) { @@ -1641,7 +1119,6 @@ void daMyna_c::attack_fly2_init() { field_0x91A = 0; } - /* 80948484-80948600 002904 017C+00 1/0 0/0 0/0 .text attack_fly2_move__8daMyna_cFv */ void daMyna_c::attack_fly2_move() { if (daMyna_evtTagActor0 != NULL) { @@ -1674,17 +1151,13 @@ void daMyna_c::attack_fly2_move() { } } - /* 80948600-80948644 002A80 0044+00 1/0 0/0 0/0 .text attack2_init__8daMyna_cFv */ void daMyna_c::attack2_init() { setAnimeType(8, 0.0f); mSph.OnAtVsPlayerBit(); } - /* 80948644-809486F8 002AC4 00B4+00 1/0 0/0 0/0 .text attack2_move__8daMyna_cFv */ -// Matches when l_HOSTIO is the correct type -#ifdef NONMATCHING void daMyna_c::attack2_move() { mStatus.Move(); if (field_0x91E != 0) { @@ -1703,11 +1176,6 @@ void daMyna_c::attack2_move() { } } } -#else -void daMyna_c::attack2_move() { - // NONMATCHING -} -#endif /* 809486F8-80948734 002B78 003C+00 1/0 0/0 0/0 .text attack2_talk_init__8daMyna_cFv */ void daMyna_c::attack2_talk_init() { @@ -1741,11 +1209,6 @@ void daMyna_c::soldoutItem(fpc_ProcID i_itemId) { } } -/* ############################################################################################## */ -/* 8094B228-8094B22C 000078 0004+00 1/2 0/0 0/0 .rodata @5221 */ -SECTION_RODATA static f32 const lit_5221 = 15.0f; -COMPILER_STRIP_GATE(0x8094B228, &lit_5221); - /* 80948828-80948ADC 002CA8 02B4+00 2/2 0/0 0/0 .text fly_attack_move__8daMyna_cFv */ bool daMyna_c::fly_attack_move() { daPy_py_c* playerActorClass = daPy_getPlayerActorClass(); @@ -1772,39 +1235,14 @@ bool daMyna_c::fly_attack_move() { return stack_58.abs() < l_HOSTIO.field_0x18; } - -/* ############################################################################################## */ -/* 8094B22C-8094B230 00007C 0004+00 0/1 0/0 0/0 .rodata @5317 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_5317 = 0x3A83126F; -COMPILER_STRIP_GATE(0x8094B22C, &lit_5317); -#pragma pop - -/* 8094B230-8094B234 000080 0004+00 0/1 0/0 0/0 .rodata @5318 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5318 = 25.0f; -COMPILER_STRIP_GATE(0x8094B230, &lit_5318); -#pragma pop - -/* 8094B234-8094B238 000084 0004+00 0/1 0/0 0/0 .rodata @5319 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5319 = 3.0f; -COMPILER_STRIP_GATE(0x8094B234, &lit_5319); -#pragma pop - /* 80948ADC-80948DFC 002F5C 0320+00 2/2 0/0 0/0 .text fly_return_move__8daMyna_cFv */ -// Possibly matches with literals? Will need to double check -#ifdef NONMATCHING bool daMyna_c::fly_return_move() { + cXyz local_30, stack_3c; if (field_0x926 > 0) { daPy_py_c* playerActorClass = daPy_getPlayerActorClass(); - cXyz stack_3c; stack_3c.set(playerActorClass->getHeadTopPos()); - cXyz local_30 = stack_3c - current.pos; + local_30 = stack_3c - current.pos; f32 fVar4 = JMAFastSqrt(local_30.x * local_30.x + local_30.z * local_30.z); s16 sVar1 = -cM_atan2s(local_30.y, fVar4); s16 sVar2 = cM_atan2s(local_30.x, local_30.z); @@ -1815,7 +1253,7 @@ bool daMyna_c::fly_return_move() { } else { cXyz stack_48 = home.pos; - cXyz local_30 = stack_48 - current.pos; + local_30 = stack_48 - current.pos; f32 fVar4 = JMAFastSqrt(local_30.x * local_30.x + local_30.z * local_30.z); s16 sVar1 = -cM_atan2s(local_30.y, fVar4); s16 sVar2 = cM_atan2s(local_30.x, local_30.z); @@ -1832,18 +1270,6 @@ bool daMyna_c::fly_return_move() { } return false; } -#else -bool daMyna_c::fly_return_move() { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ -/* 8094B238-8094B240 000088 0008+00 3/3 0/0 0/0 .rodata @5332 */ -SECTION_RODATA static u8 const lit_5332[8] = { - 0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8094B238, &lit_5332); /* 80948DFC-80948E84 00327C 0088+00 2/2 0/0 0/0 .text fly_body_wave__8daMyna_cFv */ void daMyna_c::fly_body_wave() { @@ -1855,10 +1281,7 @@ void daMyna_c::fly_body_wave() { } } - /* 80948E84-80948FAC 003304 0128+00 1/1 0/0 0/0 .text talkAnime__8daMyna_cFP9msg_class */ -// Matches when mBaseMotionTBL is the correct type -#ifdef NONMATCHING void daMyna_c::talkAnime(msg_class* param_0) { u32 uVar4 = 0; if (param_0 != NULL && this == dComIfGp_event_getTalkPartner()) { @@ -1886,11 +1309,6 @@ void daMyna_c::talkAnime(msg_class* param_0) { (this->*mBaseMotionTBL[field_0x820])(uVar4); } } -#else -void daMyna_c::talkAnime(msg_class* param_0) { - // NONMATCHING -} -#endif /* 80948FAC-809490B8 00342C 010C+00 1/1 0/0 0/0 .text chkEvent__8daMyna_cFv */ int daMyna_c::chkEvent() { @@ -1916,7 +1334,6 @@ int daMyna_c::chkEvent() { return retVal; } - /* 809490B8-80949128 003538 0070+00 2/1 0/0 0/0 .text orderEvent__8daMyna_cFv */ int daMyna_c::orderEvent() { if (daPy_py_c::i_checkNowWolf()) { @@ -1940,25 +1357,6 @@ int daMyna_c::orderEvent() { return 1; } -/* 8094B8F8-8094B934 -00001 003C+00 1/1 0/0 0/0 .data @5890 */ -SECTION_DATA static void* lit_5890[15] = { - (void*)(((char*)animeControl__8daMyna_cFv) + 0xB0), - (void*)(((char*)animeControl__8daMyna_cFv) + 0x5C), - (void*)(((char*)animeControl__8daMyna_cFv) + 0x74), - (void*)(((char*)animeControl__8daMyna_cFv) + 0x7C), - (void*)(((char*)animeControl__8daMyna_cFv) + 0x84), - (void*)(((char*)animeControl__8daMyna_cFv) + 0xB0), - (void*)(((char*)animeControl__8daMyna_cFv) + 0xB0), - (void*)(((char*)animeControl__8daMyna_cFv) + 0x94), - (void*)(((char*)animeControl__8daMyna_cFv) + 0xA4), - (void*)(((char*)animeControl__8daMyna_cFv) + 0xB0), - (void*)(((char*)animeControl__8daMyna_cFv) + 0xB0), - (void*)(((char*)animeControl__8daMyna_cFv) + 0xB0), - (void*)(((char*)animeControl__8daMyna_cFv) + 0xB0), - (void*)(((char*)animeControl__8daMyna_cFv) + 0xAC), - (void*)(((char*)animeControl__8daMyna_cFv) + 0xB0), -}; - /* 80949128-80949144 0035A8 001C+00 1/1 0/0 0/0 .text deleteItem__8daMyna_cFi */ void daMyna_c::deleteItem(int i_itemIndex) { mShopItems[i_itemIndex].mTargetActorID = -1; @@ -1967,7 +1365,6 @@ void daMyna_c::deleteItem(int i_itemIndex) { /* 80949144-80949190 0035C4 004C+00 0/0 0/0 0/0 .text deleteItem__8daMyna_cFUi */ // Nonmatching, no clue what's going on here -#ifdef NONMATCHING void daMyna_c::deleteItem(fpc_ProcID i_itemId) { for (int i = 0; i < mNumShopItems; i++) { if (i_itemId == mShopItems[i].mTargetActorID) { @@ -1976,19 +1373,6 @@ void daMyna_c::deleteItem(fpc_ProcID i_itemId) { } } } -#else -void daMyna_c::deleteItem(fpc_ProcID param_0) { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ -/* 8094B240-8094B244 000090 0004+00 0/1 0/0 0/0 .rodata @5455 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5455 = 200.0f; -COMPILER_STRIP_GATE(0x8094B240, &lit_5455); -#pragma pop /* 80949190-80949408 003610 0278+00 1/1 0/0 0/0 .text initiate__8daMyna_cFv */ void daMyna_c::initiate() { @@ -2052,7 +1436,6 @@ void daMyna_c::initiate() { setMcaMorfAnm(getTrnsfrmKeyAnm(l_bckFileNameTBL[1]), 1.0f, 0.0f, 2, 0, -1); } - /* 80949408-80949544 003888 013C+00 1/1 0/0 0/0 .text setItemInfo__8daMyna_cFv */ void daMyna_c::setItemInfo() { if (daMyna_actor_count != -1 && mNumShopItems > daMyna_actor_count) { @@ -2091,10 +1474,7 @@ void daMyna_c::setCollision() { dComIfG_Ccsp()->Set(&mSph); } - /* 809495E0-80949744 003A60 0164+00 1/1 0/0 0/0 .text set_mtx__8daMyna_cFv */ -// Matches when l_HOSTIO is the correct type -#ifdef NONMATCHING void daMyna_c::set_mtx() { J3DModel* model = mpMorf->getModel(); cXyz local_18(current.pos); @@ -2113,16 +1493,8 @@ void daMyna_c::set_mtx() { field_0x82C -= current.pos; field_0x838 -= current.pos; } -#else -void daMyna_c::set_mtx() { - // NONMATCHING -} -#endif /* 80949744-8094983C 003BC4 00F8+00 1/1 0/0 0/0 .text animePlay__8daMyna_cFv */ -// Function matches with literals, but the weak functions "cLib_getRndValue" and "cLib_calcTimer" -// are generated in the wrong order -#ifdef NONMATCHING void daMyna_c::animePlay() { f32 speed = mpMorf->getPlaySpeed(); mpMorf->play(0, 0); @@ -2146,11 +1518,6 @@ void daMyna_c::animePlay() { } cLib_offBit(field_0x914, 0xF); } -#else -void daMyna_c::animePlay() { - // NONMATCHING -} -#endif /* 8094983C-809498B8 003CBC 007C+00 2/2 0/0 0/0 .text * setMcaMorfAnm__8daMyna_cFP18J3DAnmTransformKeyffiii */ @@ -2192,8 +1559,6 @@ J3DAnmTexPattern* daMyna_c::getTexPtrnAnm(char* i_resName) { } /* 80949998-80949A70 003E18 00D8+00 1/1 0/0 0/0 .text checkEndAnm__8daMyna_cFf */ -// regswap -#ifdef NONMATCHING int daMyna_c::checkEndAnm(f32 param_0) { bool retVal; switch (mpMorf->getPlayMode()) { @@ -2201,27 +1566,14 @@ int daMyna_c::checkEndAnm(f32 param_0) { return mpMorf->isLoop(); case 0: case 1: - retVal = false; - if (mpMorf->isStop() && mpMorf->getPlaySpeed() != param_0) { - retVal = true; - } - return retVal; + return mpMorf->isStop() && mpMorf->getPlaySpeed() != param_0; case 3: case 4: - retVal = false; - if (mpMorf->isStop() && mpMorf->getPlaySpeed() != param_0) { - retVal = true; - } - return retVal; + return mpMorf->isStop() && mpMorf->getPlaySpeed() != param_0; default: return false; } } -#else -int daMyna_c::checkEndAnm(f32 param_0) { - // NONMATCHING -} -#endif /* 80949A70-80949AD4 003EF0 0064+00 1/1 0/0 0/0 .text checkEndAnm__8daMyna_cFP12J3DFrameCtrl */ int daMyna_c::checkEndAnm(J3DFrameCtrl* param_0) { @@ -2241,7 +1593,6 @@ int daMyna_c::checkEndAnm(J3DFrameCtrl* param_0) { } } - /* 80949AD4-80949AE0 003F54 000C+00 1/1 0/0 0/0 .text getItemNumMax__8daMyna_cFv */ int daMyna_c::getItemNumMax() { return (fopAcM_GetParam(this) >> 0x18) & 0xF; @@ -2378,60 +1729,48 @@ int daMyna_c::chkPlayerInEvtArea(fopAc_ac_c* param_0, cXyz param_1) { return retVal; } - -/* ############################################################################################## */ -/* 8094B244-8094B248 000094 0004+00 2/3 0/0 0/0 .rodata @5889 */ -SECTION_RODATA static f32 const lit_5889 = 6.0f; -COMPILER_STRIP_GATE(0x8094B244, &lit_5889); - /* 80949EE8-8094A054 004368 016C+00 2/1 0/0 0/0 .text animeControl__8daMyna_cFv */ -// regswap -#ifdef NONMATCHING +// NONMATCHING regswap void daMyna_c::animeControl() { - f32 fVar1 = 1.0f; - int iVar5 = 2; - f32 fVar2 = field_0x90C; + f32 rate = 1.0f; + int attr = J3DFrameCtrl::LOOP_REPEAT_e; + f32 morf = field_0x90C; switch (field_0x935) { case 1: if (field_0x934 == 4) { - fVar2 = 6.0f; + morf = 6.0f; } break; case 2: - iVar5 = 0; + attr = J3DFrameCtrl::LOOP_ONCE_e; break; case 3: - iVar5 = 0; + attr = J3DFrameCtrl::LOOP_ONCE_e; break; case 4: - fVar1 = l_HOSTIO.field_0x08; + rate = l_HOSTIO.field_0x08; break; case 7: - iVar5 = 0; - fVar2 = 6.0f; + attr = J3DFrameCtrl::LOOP_ONCE_e; + morf = 6.0f; break; case 8: - iVar5 = 0; + attr = J3DFrameCtrl::LOOP_ONCE_e; break; case 14: - iVar5 = 0; + attr = J3DFrameCtrl::LOOP_ONCE_e; break; } - setMcaMorfAnm(getTrnsfrmKeyAnm(l_bckFileNameTBL[field_0x935]), fVar1, fVar2, iVar5, 0, -1); + setMcaMorfAnm(getTrnsfrmKeyAnm(l_bckFileNameTBL[field_0x935]), rate, morf, attr, 0, -1); if (cLib_checkBit(field_0x914, 0x40) == 0) { - J3DAnmTexPattern* btk = getTexPtrnAnm(l_btpFileNameTBL[field_0x936]); - if (btk != NULL) { - setBtpAnm(btk, mpMorf->getModel()->getModelData(), 1.0f, 2); + J3DAnmTexPattern* btp = getTexPtrnAnm(l_btpFileNameTBL[field_0x936]); + if (btp != NULL) { + setBtpAnm(btp, mpMorf->getModel()->getModelData(), 1.0f, 2); cLib_onBit(field_0x914, 0x44); } } } -#else -void daMyna_c::animeControl() { - // NONMATCHING -} -#endif /* 8094A054-8094A098 0044D4 0044+00 24/24 0/0 0/0 .text setAnimeType__8daMyna_cFUcf */ void daMyna_c::setAnimeType(u8 param_0, f32 param_1) { @@ -2446,8 +1785,6 @@ void daMyna_c::setAnimeType(u8 param_0, f32 param_1) { /* 8094A098-8094A608 004518 0570+00 1/1 0/0 0/0 .text playDefaultWaitAnime__8daMyna_cFv */ -// Mostly matching, still has a few issues that need to be fixed -#ifdef NONMATCHING void daMyna_c::playDefaultWaitAnime() { switch (field_0x935) { case 2: @@ -2468,7 +1805,7 @@ void daMyna_c::playDefaultWaitAnime() { cXyz stack_7c = local_58 - home.pos; s16 sVar42 = cM_atan2s(stack_7c.x, stack_7c.z); - f32 fVar7 = stack_7c.abs(); + f32 fVar7 = field_0x910 * stack_7c.abs(); f32 fVar3 = ((field_0x82C.y - field_0x844.y) + (field_0x838.y - field_0x850.y)) * 0.5f; local_64.x = 0.0f; @@ -2479,7 +1816,7 @@ void daMyna_c::playDefaultWaitAnime() { current.pos = stack_70; cXyz stack_88 = current.pos - home.pos; - if (fVar7 > field_0x910 * stack_88.abs()) { + if (stack_88.abs() > fVar7) { setAnimeType(1, 6.0f); } break; @@ -2507,19 +1844,6 @@ void daMyna_c::playDefaultWaitAnime() { break; } } -#else -void daMyna_c::playDefaultWaitAnime() { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ -/* 8094B248-8094B24C 000098 0004+00 0/1 0/0 0/0 .rodata @6108 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6108 = 0.25f; -COMPILER_STRIP_GATE(0x8094B248, &lit_6108); -#pragma pop /* 8094A608-8094A890 004A88 0288+00 1/1 0/0 0/0 .text setDefaultWaitAnime__8daMyna_cFUc */ @@ -2558,7 +1882,6 @@ void daMyna_c::setDefaultWaitAnime(u8 param_0) { } } - /* 8094A890-8094A8B0 004D10 0020+00 1/0 0/0 0/0 .text daMyna_Create__FPv */ static int daMyna_Create(void* i_this) { return static_cast(i_this)->create(); @@ -2592,127 +1915,23 @@ static actor_method_class daMyna_MethodTable = { }; /* 8094B954-8094B984 -00001 0030+00 0/0 0/0 1/0 .data g_profile_MYNA */ -extern actor_process_profile_definition g_profile_MYNA = {fpcLy_CURRENT_e, - 7, - fpcLy_CURRENT_e, - PROC_MYNA, - &g_fpcLf_Method.mBase, - sizeof(daMyna_c), - 0, - 0, - &g_fopAc_Method.base, - 0x0130, - &daMyna_MethodTable, - 0x40000, - 0, - fopAc_CULLBOX_0_e}; - -/* 8094B984-8094B990 000624 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, +extern actor_process_profile_definition g_profile_MYNA = { + fpcLy_CURRENT_e, + 7, + fpcPi_CURRENT_e, + PROC_MYNA, + &g_fpcLf_Method.mBase, + sizeof(daMyna_c), + 0, + 0, + &g_fopAc_Method.base, + 0x0130, + &daMyna_MethodTable, + 0x40000, + 0, + fopAc_CULLBOX_0_e }; -/* 8094B990-8094B99C 000630 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, -}; - -/* 8094B99C-8094B9A8 00063C 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGSph */ -SECTION_DATA extern void* __vt__8cM3dGSph[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGSphFv, -}; - -/* 8094B9A8-8094B9B4 000648 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, -}; - -/* 8094B9B4-8094B9C0 000654 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, -}; - -/* 8094B9C0-8094B9CC 000660 000C+00 2/2 0/0 0/0 .data __vt__8daMyna_c */ -SECTION_DATA extern void* __vt__8daMyna_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8daMyna_cFv, -}; - -/* 8094A918-8094A960 004D98 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */ -// cCcD_GStts::~cCcD_GStts() { -extern "C" void __dt__10cCcD_GSttsFv() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 8094B9CC-8094B9D8 00066C 000C+00 2/2 0/0 0/0 .data __vt__12daMyna_HIO_c */ -SECTION_DATA extern void* __vt__12daMyna_HIO_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12daMyna_HIO_cFv, -}; - -/* 8094B9D8-8094B9E4 000678 000C+00 3/3 0/0 0/0 .data __vt__14mDoHIO_entry_c */ -SECTION_DATA extern void* __vt__14mDoHIO_entry_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__14mDoHIO_entry_cFv, -}; - -/* 8094A960-8094A9BC 004DE0 005C+00 2/1 0/0 0/0 .text __dt__12daMyna_HIO_cFv */ -// daMyna_HIO_c::~daMyna_HIO_c() { -extern "C" void __dt__12daMyna_HIO_cFv() { - // NONMATCHING -} - -/* 8094A9BC-8094AA04 004E3C 0048+00 1/0 0/0 0/0 .text __dt__14mDoHIO_entry_cFv */ -// mDoHIO_entry_c::~mDoHIO_entry_c() { -extern "C" void __dt__14mDoHIO_entry_cFv() { - // NONMATCHING -} - -/* 8094AA04-8094AA20 004E84 001C+00 2/2 0/0 0/0 .text getHeadTopPos__9daPy_py_cCFv */ -cXyz daPy_py_c::getHeadTopPos() const { - return mHeadTopPos; -} - -/* 8094AA20-8094ABAC 004EA0 018C+00 1/0 0/0 0/0 .text __dt__8daMyna_cFv */ -// daMyna_c::~daMyna_c() { -extern "C" void __dt__8daMyna_cFv() { - // NONMATCHING -} - -/* 8094ABAC-8094ABC8 00502C 001C+00 1/1 0/0 0/0 .text cLib_calcTimer__FPs */ -extern "C" void func_8094ABAC(void* _this, s16* param_0) { - // NONMATCHING -} - -/* 8094ABC8-8094AC44 005048 007C+00 1/1 0/0 0/0 .text cLib_getRndValue__Fii */ -extern "C" void func_8094ABC8(void* _this, int param_0, int param_1) { - // NONMATCHING -} - -/* 8094AC44-8094B19C 0050C4 0558+00 0/0 1/0 0/0 .text __sinit_d_a_myna_cpp */ -void __sinit_d_a_myna_cpp(){// NONMATCHING -} - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x8094AC44, __sinit_d_a_myna_cpp); -#pragma pop - -/* ############################################################################################## */ /* 8094BAD0-8094BAD4 0000E8 0004+00 0/0 0/0 0/0 .bss * sInstance__40JASGlobalInstance<19JASDefaultBankTable> */ #pragma push diff --git a/src/d/actor/d_a_npc.cpp b/src/d/actor/d_a_npc.cpp index b7f29ee503..7ab73b78e5 100644 --- a/src/d/actor/d_a_npc.cpp +++ b/src/d/actor/d_a_npc.cpp @@ -633,19 +633,10 @@ fopAc_ac_c* daNpcT_ActorMngr_c::getActorP() { return NULL; } -/* ############################################################################################## */ -/* 804533D8-804533DC 0019D8 0004+00 54/54 0/0 0/0 .sdata2 @4116 */ -SECTION_SDATA2 static u8 lit_4116[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - /* 80145764-80145788 1400A4 0024+00 0/0 0/0 103/103 .text initialize__15daNpcT_MatAnm_cFv */ void daNpcT_MatAnm_c::initialize() { - f32 value = FLOAT_LABEL(lit_4116); + f32 value = 0.0f; field_0xF4 = value; field_0xF8 = value; @@ -655,16 +646,7 @@ void daNpcT_MatAnm_c::initialize() { field_0x105 = 0; } -/* ############################################################################################## */ -/* 804533DC-804533E0 0019DC 0004+00 25/25 0/0 0/0 .sdata2 @4140 */ -SECTION_SDATA2 static f32 lit_4140 = 1.0f; - -/* 804533E0-804533E8 0019E0 0008+00 24/24 0/0 0/0 .sdata2 @4142 */ -SECTION_SDATA2 static f64 lit_4142 = 4503601774854144.0 /* cast s32 to float */; - /* 80145788-80145898 1400C8 0110+00 1/0 0/0 0/0 .text calc__15daNpcT_MatAnm_cCFP11J3DMaterial */ -#ifdef NONMATCHING -// float literals void daNpcT_MatAnm_c::calc(J3DMaterial* param_0) const { J3DMaterialAnm::calc(param_0); @@ -692,15 +674,6 @@ void daNpcT_MatAnm_c::calc(J3DMaterial* param_0) const { } } } -#else -void daNpcT_MatAnm_c::calc(J3DMaterial* param_0) const { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ -/* 804533E8-804533EC 0019E8 0004+00 13/13 0/0 0/0 .sdata2 @4148 */ -SECTION_SDATA2 static f32 lit_4148 = -1.0f; /* 80145898-801458C0 1401D8 0028+00 4/4 0/0 533/533 .text initialize__22daNpcT_MotionSeqMngr_cFv */ @@ -709,7 +682,7 @@ void daNpcT_MotionSeqMngr_c::initialize() { mOffset = 0; mStepNo = 0; field_0x14 = -1; - field_0x18 = lit_4148; + field_0x18 = -1.0f; mEndSequence = false; } @@ -734,7 +707,7 @@ int daNpcT_MotionSeqMngr_c::play(u16 param_0, int* param_1, f32* param_2) { *param_1 = (&mpSeqData[mNo * field_0x4])[mStepNo].field_0x0; *param_2 = (&mpSeqData[mNo * field_0x4])[mStepNo].field_0x2; - if (field_0x14 == -1 && FLOAT_LABEL(lit_4148) < field_0x18) { + if (field_0x14 == -1 && -1.0f < field_0x18) { *param_2 = field_0x18; } ret = 1; @@ -822,7 +795,7 @@ void daNpcT_Path_c::hermite(cXyz& param_0, cXyz& param_1, cXyz& param_2, cXyz& p void daNpcT_Path_c::initialize() { mpRoomPath = 0; - f32 value = FLOAT_LABEL(lit_4116); + f32 value = 0.0f; mPosition.x = value; mPosition.y = value; mPosition.z = value; @@ -951,14 +924,9 @@ int daNpcT_Path_c::getDstPosH(cXyz param_0, cXyz* param_1, int i_idx, int param_ } } -/* ############################################################################################## */ -/* 804533EC-804533F0 0019EC 0004+00 1/1 0/0 0/0 .sdata2 @4513 */ -SECTION_SDATA2 static f32 lit_4513 = 100.0f; - /* 80146188-801464D8 140AC8 0350+00 2/2 0/0 2/2 .text chkPassed1__13daNpcT_Path_cF4cXyzi */ -// one instruction order swap, otherwise matches with literals -#ifdef NONMATCHING +// NONMATCHING one instruction order swap int daNpcT_Path_c::chkPassed1(cXyz i_pnt, int i_num) { cXyz prev_pos, cur_pos, next_pos; cXyz sp5C; @@ -1010,11 +978,6 @@ int daNpcT_Path_c::chkPassed1(cXyz i_pnt, int i_num) { return 0; } -#else -int daNpcT_Path_c::chkPassed1(cXyz param_0, int param_1) { - // NONMATCHING -} -#endif /* ############################################################################################## */ /* 803B36A8-803B36B4 0107C8 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */ @@ -1128,279 +1091,6 @@ dCcD_SrcSph daNpcF_c::mCcDSph = { } // mSphAttr }; -/* 803B3864-803B3870 010984 000C+00 2/2 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, -}; - -/* 803B3870-803B38D8 010990 0068+00 1/1 0/0 0/0 .data __vt__20daNpcF_MoveBgActor_c */ -SECTION_DATA extern void* __vt__20daNpcF_MoveBgActor_c[26] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__20daNpcF_MoveBgActor_cFv, - (void*)setParam__8daNpcF_cFv, - (void*)main__8daNpcF_cFv, - (void*)ctrlBtk__8daNpcF_cFv, - (void*)adjustShapeAngle__8daNpcF_cFv, - (void*)setMtx__8daNpcF_cFv, - (void*)setMtx2__8daNpcF_cFv, - (void*)setAttnPos__8daNpcF_cFv, - (void*)setCollisions__8daNpcF_cFv, - (void*)setExpressionAnm__8daNpcF_cFib, - (void*)setExpressionBtp__8daNpcF_cFi, - (void*)setExpression__8daNpcF_cFif, - (void*)setMotionAnm__8daNpcF_cFif, - (void*)setMotion__8daNpcF_cFifi, - (void*)drawDbgInfo__8daNpcF_cFv, - (void*)drawOtherMdls__8daNpcF_cFv, - (void*)CreateHeap__20daNpcF_MoveBgActor_cFv, - (void*)Create__20daNpcF_MoveBgActor_cFv, - (void*)Execute__20daNpcF_MoveBgActor_cFPPA3_A4_f, - (void*)Draw__20daNpcF_MoveBgActor_cFv, - (void*)Delete__20daNpcF_MoveBgActor_cFv, - (void*)IsDelete__20daNpcF_MoveBgActor_cFv, - (void*)ToFore__20daNpcF_MoveBgActor_cFv, - (void*)ToBack__20daNpcF_MoveBgActor_cFv, -}; - -/* 803B38D8-803B3920 0109F8 0048+00 1/1 0/0 76/76 .data __vt__8daNpcF_c */ -SECTION_DATA extern void* __vt__8daNpcF_c[18] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8daNpcF_cFv, - (void*)setParam__8daNpcF_cFv, - (void*)main__8daNpcF_cFv, - (void*)ctrlBtk__8daNpcF_cFv, - (void*)adjustShapeAngle__8daNpcF_cFv, - (void*)setMtx__8daNpcF_cFv, - (void*)setMtx2__8daNpcF_cFv, - (void*)setAttnPos__8daNpcF_cFv, - (void*)setCollisions__8daNpcF_cFv, - (void*)setExpressionAnm__8daNpcF_cFib, - (void*)setExpressionBtp__8daNpcF_cFi, - (void*)setExpression__8daNpcF_cFif, - (void*)setMotionAnm__8daNpcF_cFif, - (void*)setMotion__8daNpcF_cFifi, - (void*)drawDbgInfo__8daNpcF_cFv, - (void*)drawOtherMdls__8daNpcF_cFv, -}; - -/* 803B3920-803B3948 010A40 0010+18 1/1 0/0 24/24 .data __vt__15daNpcF_MatAnm_c */ -SECTION_DATA extern void* __vt__15daNpcF_MatAnm_c[4 + 6 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__15daNpcF_MatAnm_cFv, - (void*)calc__15daNpcF_MatAnm_cCFP11J3DMaterial, - /* padding */ - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, -}; - -/* 803B3948-803B39AC 010A68 0064+00 2/2 0/0 0/0 .data __vt__23daBaseNpc_moveBgActor_c */ -SECTION_DATA extern void* __vt__23daBaseNpc_moveBgActor_c[25] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__23daBaseNpc_moveBgActor_cFv, - (void*)execute__11daBaseNpc_cFv, - (void*)draw__11daBaseNpc_cFf, - (void*)getResName__11daBaseNpc_cFv, - (void*)attnSttsOn__11daBaseNpc_cFii, - (void*)setParam__11daBaseNpc_cFv, - (void*)mainProc__11daBaseNpc_cFv, - (void*)btkCtrl__11daBaseNpc_cFv, - (void*)allAnmPlay__11daBaseNpc_cFv, - (void*)adjustShapeAngle__11daBaseNpc_cFv, - (void*)setMtx__11daBaseNpc_cFi, - (void*)setCollisions__11daBaseNpc_cFv, - (void*)setAttnPos__11daBaseNpc_cFv, - (void*)drawOtherMdls__11daBaseNpc_cFv, - (void*)dbgDraw__11daBaseNpc_cFv, - (void*)CreateHeap__23daBaseNpc_moveBgActor_cFv, - (void*)Create__23daBaseNpc_moveBgActor_cFv, - (void*)Execute__23daBaseNpc_moveBgActor_cFPPA3_A4_f, - (void*)Draw__23daBaseNpc_moveBgActor_cFv, - (void*)Delete__23daBaseNpc_moveBgActor_cFv, - (void*)IsDelete__23daBaseNpc_moveBgActor_cFv, - (void*)ToFore__23daBaseNpc_moveBgActor_cFv, - (void*)ToBack__23daBaseNpc_moveBgActor_cFv, -}; - -/* 803B39AC-803B3A14 010ACC 0044+24 2/2 0/0 0/0 .data __vt__11daBaseNpc_c */ -SECTION_DATA extern void* __vt__11daBaseNpc_c[17 + 9 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__11daBaseNpc_cFv, - (void*)execute__11daBaseNpc_cFv, - (void*)draw__11daBaseNpc_cFf, - (void*)getResName__11daBaseNpc_cFv, - (void*)attnSttsOn__11daBaseNpc_cFii, - (void*)setParam__11daBaseNpc_cFv, - (void*)mainProc__11daBaseNpc_cFv, - (void*)btkCtrl__11daBaseNpc_cFv, - (void*)allAnmPlay__11daBaseNpc_cFv, - (void*)adjustShapeAngle__11daBaseNpc_cFv, - (void*)setMtx__11daBaseNpc_cFi, - (void*)setCollisions__11daBaseNpc_cFv, - (void*)setAttnPos__11daBaseNpc_cFv, - (void*)drawOtherMdls__11daBaseNpc_cFv, - (void*)dbgDraw__11daBaseNpc_cFv, - /* padding */ - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, -}; - -/* 803B3A14-803B3A50 010B34 000C+30 3/3 0/0 0/0 .data __vt__18daBaseNpc_lookat_c */ -SECTION_DATA extern void* __vt__18daBaseNpc_lookat_c[3 + 12 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__18daBaseNpc_lookat_cFv, - /* padding */ - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, -}; - -/* 803B3A50-803B3A5C 010B70 000C+00 2/2 0/0 0/0 .data __vt__16daBaseNpc_path_c */ -SECTION_DATA extern void* __vt__16daBaseNpc_path_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__16daBaseNpc_path_cFv, -}; - -/* 803B3A5C-803B3A6C 010B7C 0010+00 1/1 0/0 0/0 .data __vt__18daBaseNpc_matAnm_c */ -SECTION_DATA extern void* __vt__18daBaseNpc_matAnm_c[4] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__18daBaseNpc_matAnm_cFv, - (void*)calc__18daBaseNpc_matAnm_cCFP11J3DMaterial, -}; - -/* 803B3A6C-803B3A78 010B8C 000C+00 2/2 0/0 0/0 .data __vt__18daBaseNpc_acMngr_c */ -SECTION_DATA extern void* __vt__18daBaseNpc_acMngr_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__18daBaseNpc_acMngr_cFv, -}; - -/* 803B3A78-803B3B3C 010B98 00C4+00 1/1 0/0 110/110 .data __vt__8daNpcT_c */ -SECTION_DATA extern void* __vt__8daNpcT_c[49] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8daNpcT_cFv, - (void*)ctrlBtk__8daNpcT_cFv, - (void*)ctrlSubFaceMotion__8daNpcT_cFi, - (void*)checkChangeJoint__8daNpcT_cFi, - (void*)checkRemoveJoint__8daNpcT_cFi, - (void*)getBackboneJointNo__8daNpcT_cFv, - (void*)getNeckJointNo__8daNpcT_cFv, - (void*)getHeadJointNo__8daNpcT_cFv, - (void*)getFootLJointNo__8daNpcT_cFv, - (void*)getFootRJointNo__8daNpcT_cFv, - (void*)getEyeballLMaterialNo__8daNpcT_cFv, - (void*)getEyeballRMaterialNo__8daNpcT_cFv, - (void*)getEyeballMaterialNo__8daNpcT_cFv, - (void*)ctrlJoint__8daNpcT_cFP8J3DJointP8J3DModel, - (void*)afterJntAnm__8daNpcT_cFi, - (void*)setParam__8daNpcT_cFv, - (void*)checkChangeEvt__8daNpcT_cFv, - (void*)evtTalk__8daNpcT_cFv, - (void*)evtEndProc__8daNpcT_cFv, - (void*)evtCutProc__8daNpcT_cFv, - (void*)setAfterTalkMotion__8daNpcT_cFv, - (void*)evtProc__8daNpcT_cFv, - (void*)action__8daNpcT_cFv, - (void*)beforeMove__8daNpcT_cFv, - (void*)afterMoved__8daNpcT_cFv, - (void*)setAttnPos__8daNpcT_cFv, - (void*)setFootPos__8daNpcT_cFv, - (void*)setCollision__8daNpcT_cFv, - (void*)setFootPrtcl__8daNpcT_cFP4cXyzff, - (void*)checkCullDraw__8daNpcT_cFv, - (void*)twilight__8daNpcT_cFv, - (void*)chkXYItems__8daNpcT_cFv, - (void*)evtOrder__8daNpcT_cFv, - (void*)decTmr__8daNpcT_cFv, - (void*)clrParam__8daNpcT_cFv, - (void*)drawDbgInfo__8daNpcT_cFv, - (void*)drawOtherMdl__8daNpcT_cFv, - (void*)drawGhost__8daNpcT_cFv, - (void*)afterSetFaceMotionAnm__8daNpcT_cFiifi, - (void*)afterSetMotionAnm__8daNpcT_cFiifi, - (void*)getFaceMotionAnm__8daNpcT_cF26daNpcT_faceMotionAnmData_c, - (void*)getMotionAnm__8daNpcT_cF22daNpcT_motionAnmData_c, - (void*)changeAnm__8daNpcT_cFPiPi, - (void*)changeBck__8daNpcT_cFPiPi, - (void*)changeBtp__8daNpcT_cFPiPi, - (void*)changeBtk__8daNpcT_cFPiPi, - (void*)setMotionAnm__8daNpcT_cFifi, -}; - -/* 803B3B3C-803B3B48 010C5C 000C+00 2/2 0/0 0/0 .data __vt__22daNpcT_MotionSeqMngr_c */ -SECTION_DATA extern void* __vt__22daNpcT_MotionSeqMngr_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__22daNpcT_MotionSeqMngr_cFv, -}; - -/* 803B3B48-803B3B54 010C68 000C+00 3/3 0/0 0/0 .data __vt__18daNpcT_ActorMngr_c */ -SECTION_DATA extern void* __vt__18daNpcT_ActorMngr_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__18daNpcT_ActorMngr_cFv, -}; - -/* 803B3B54-803B3B60 010C74 000C+00 2/2 0/0 0/0 .data __vt__15daNpcT_JntAnm_c */ -SECTION_DATA extern void* __vt__15daNpcT_JntAnm_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__15daNpcT_JntAnm_cFv, -}; - -/* 803B3B60-803B3B6C 010C80 000C+00 2/2 0/0 0/0 .data __vt__16daNpcT_Hermite_c */ -SECTION_DATA extern void* __vt__16daNpcT_Hermite_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__16daNpcT_Hermite_cFv, -}; - -/* 804533F0-804533F4 0019F0 0004+00 4/4 0/0 0/0 .sdata2 @4672 */ -SECTION_SDATA2 static f32 lit_4672 = 2.0f; - -/* 804533F4-804533F8 0019F4 0004+00 1/1 0/0 0/0 .sdata2 @4673 */ -SECTION_SDATA2 static f32 lit_4673 = 3.0f; - -/* 804533F8-80453400 0019F8 0004+04 3/3 0/0 0/0 .sdata2 @4674 */ -SECTION_SDATA2 static f32 lit_4674[1 + 1 /* padding */] = { - -2.0f, - /* padding */ - 0.0f, -}; - -/* 80453400-80453408 001A00 0008+00 1/1 0/0 0/0 .sdata2 @4677 */ -SECTION_SDATA2 static f64 lit_4677 = 4503599627370496.0 /* cast u32 to float */; - /* 801464D8-8014698C 140E18 04B4+00 1/1 0/0 0/0 .text chkPassed2__13daNpcT_Path_cF4cXyzP4cXyzii */ int daNpcT_Path_c::chkPassed2(cXyz param_0, cXyz* param_1, int param_2, int param_3) { // NONMATCHING @@ -1683,7 +1373,7 @@ int daNpcT_c::execute() { ctrlSubFaceMotion(0); ctrlMotion(); setAttnPos(); - cLib_chaseF(&field_0xdfc, FLOAT_LABEL(lit_4116), FLOAT_LABEL(lit_4140)); + cLib_chaseF(&field_0xdfc, 0.0f, 1.0f); twilight(); setCollision(); @@ -1992,7 +1682,7 @@ void daNpcT_c::ctrlFaceMotion() { if (field_0xb50.play(field_0xe20, &l_int, &l_float)) { setFaceMotionAnm(l_int, true); - if (l_float < FLOAT_LABEL(lit_4116)) { + if (l_float < 0.0f) { mpMorf[0]->setMorf(field_0xa80); field_0xdfc = field_0xa80; @@ -2341,7 +2031,7 @@ int daNpcT_c::initTalk(int param_0, fopAc_ac_c** param_1) { mStepNo = 0; } - f32 tmp = FLOAT_LABEL(lit_4116); + f32 tmp = 0.0f; speedF = tmp; speed.set(tmp, tmp, tmp); return 1; @@ -2474,13 +2164,13 @@ BOOL daNpcT_chkPointInArea(cXyz param_0, cXyz param_1, cXyz param_2, s16 param_3 f32 l_float4 = fabsf(l_pos.z); if (param_4 != 0 && - (!(FLOAT_LABEL(lit_4116) <= (diff = param_0 - param_1).y) || !(diff.y < param_2.y))) + (!(0.0f <= (diff = param_0 - param_1).y) || !(diff.y < param_2.y))) { ret = FALSE; } else { f32 tmp1 = (l_float3 * l_float3) / (l_float1 * l_float1); f32 tmp2 = (l_float4 * l_float4) / (l_float2 * l_float2); - tmp1 + tmp2 <= FLOAT_LABEL(lit_4140) ? ret = TRUE : ret = FALSE; + tmp1 + tmp2 <= 1.0f ? ret = TRUE : ret = FALSE; } return ret; @@ -3197,31 +2887,19 @@ bool daBaseNpc_c::btkCtrl() { } /* 8014F148-8014F1C8 149A88 0080+00 1/1 0/0 0/0 .text checkEndAnm__11daBaseNpc_cFf */ -// weird condition mr -#ifdef NONMATCHING int daBaseNpc_c::checkEndAnm(f32 param_0) { switch (mpMorf[0]->getPlayMode()) { case 2: return mpMorf[0]->isLoop(); case 0: case 1: - bool state = false; - - if (mpMorf[0]->isStop() && param_0 != mpMorf[0]->getPlaySpeed()) { - state = true; - } - return state; + return mpMorf[0]->isStop() && param_0 != mpMorf[0]->getPlaySpeed(); case 3: break; } return 0; } -#else -int daBaseNpc_c::checkEndAnm(f32 param_0) { - // NONMATCHING -} -#endif /* 8014F1C8-8014F228 149B08 0060+00 1/1 0/0 0/0 .text checkEndAnm__11daBaseNpc_cFP12J3DFrameCtrl */ @@ -3320,7 +2998,6 @@ bool daBaseNpc_c::dbgDraw() { */ // this probably has a more correct solution daBaseNpc_moveBgActor_c::daBaseNpc_moveBgActor_c() { - setVtable(&__vt__23daBaseNpc_moveBgActor_c); field_0xa14 = 0; } /* 8014F4F8-8014F518 149E38 0020+00 1/1 0/0 0/0 .text CheckCreateHeap__FP10fopAc_ac_c */ @@ -3549,7 +3226,7 @@ fopAc_ac_c* daNpcF_ActorMngr_c::getActorP() { /* 80150738-8015075C 14B078 0024+00 0/0 0/0 48/48 .text initialize__15daNpcF_MatAnm_cFv */ void daNpcF_MatAnm_c::initialize() { - f32 value = FLOAT_LABEL(lit_4116); + f32 value = 0.0f; field_0xF4 = value; field_0xF8 = value; @@ -3591,7 +3268,6 @@ void daNpcF_MatAnm_c::calc(J3DMaterial* param_0) const { } } - /* 80150870-80150900 14B1B0 0090+00 2/2 0/0 8/8 .text initialize__16daNpcF_SPCurve_cFP5dPathi */ void daNpcF_SPCurve_c::initialize(dPath* i_path, int i_isReversed) { mNurbs = 0; @@ -3611,7 +3287,6 @@ void daNpcF_SPCurve_c::initialize(dPath* i_path, int i_isReversed) { } } - /* 80150900-8015095C 14B240 005C+00 0/0 0/0 20/20 .text initialize__13daNpcF_Path_cFv */ void daNpcF_Path_c::initialize() { mIdx = 0; @@ -3621,7 +3296,7 @@ void daNpcF_Path_c::initialize() { mSPCurve.initialize(NULL, false); - f32 value = FLOAT_LABEL(lit_4116); + f32 value = 0.0f; mRange = value; mPosDst = value; field_0x10 = value; @@ -3657,7 +3332,6 @@ BOOL daNpcF_Path_c::chkPassedDst(cXyz i_pos) { return mPosDst + field_0x10 <= (mPosition - i_pos).abs(); } - /* 80150BBC-80150BE0 14B4FC 0024+00 0/0 0/0 8/8 .text reverse__13daNpcF_Path_cFv */ void daNpcF_Path_c::reverse() { if (mIsReversed == true) { @@ -3735,7 +3409,6 @@ void daNpcF_Path_c::setNextIdxDst(cXyz i_pos) { } } - /* 80151038-801510B8 14B978 0080+00 0/0 0/0 72/72 .text initialize__15daNpcF_Lookat_cFv */ void daNpcF_Lookat_c::initialize() { @@ -3750,20 +3423,6 @@ void daNpcF_Lookat_c::initialize() { mAttnPos = NULL; } - -/* ############################################################################################## */ -/* 804257D0-804257DC 0524F0 000C+00 1/1 0/0 0/0 .bss @9946 */ -static u8 lit_9946[12]; - -/* 804257DC-804257E8 0524FC 000C+00 1/1 0/0 0/0 .bss vec$9945 */ -static Vec vec; - -/* 80450FEC-80450FF0 0004EC 0004+00 1/1 0/0 0/0 .sbss None */ -static u8 data_80450FEC[4]; - -/* 80453498-8045349C 001A98 0004+00 1/1 0/0 0/0 .sdata2 @9971 */ -SECTION_SDATA2 static f32 lit_9971 = 32.0f; - /* 801510B8-80151350 14B9F8 0298+00 0/0 0/0 34/34 .text * setParam__15daNpcF_Lookat_cFffffffffffffsP4cXyz */ void daNpcF_Lookat_c::setParam(f32 param_0, f32 param_1, f32 param_2, f32 param_3, f32 param_4, @@ -3802,7 +3461,7 @@ void daNpcF_Lookat_c::setParam(f32 param_0, f32 param_1, f32 param_2, f32 param_ /* 80151350-801515D4 14BC90 0284+00 0/0 0/0 34/34 .text * calc__15daNpcF_Lookat_cFP10fopAc_ac_cPA4_fPP5csXyziii */ -#ifdef NONMATCHING +// NONMATCHING instruction out of order void daNpcF_Lookat_c::calc(fopAc_ac_c* i_actor, Mtx i_baseTransformMtx, csXyz** o_lookatAngle, BOOL i_snap, int i_axis, BOOL i_debug) { cXyz local_a4[4]; @@ -3851,17 +3510,10 @@ void daNpcF_Lookat_c::calc(fopAc_ac_c* i_actor, Mtx i_baseTransformMtx, csXyz** } } } -#else -void daNpcF_Lookat_c::calc(fopAc_ac_c* param_0, f32 (*param_1)[4], csXyz** param_2, int param_3, - int param_4, int param_5) { - // NONMATCHING -} -#endif /* 801515D4-80151648 14BF14 0074+00 1/1 0/0 0/0 .text adjustMoveDisAngle__15daNpcF_Lookat_cFRssss */ -#ifdef NONMATCHING -// regalloc +// NONMATCHING regalloc void daNpcF_Lookat_c::adjustMoveDisAngle(s16& delta, s16 angle, s16 min, s16 max) { int newAngle = angle + delta; if (max < newAngle) { @@ -3881,20 +3533,9 @@ void daNpcF_Lookat_c::adjustMoveDisAngle(s16& delta, s16 angle, s16 min, s16 max } } } -#else -void daNpcF_Lookat_c::adjustMoveDisAngle(s16& param_0, s16 param_1, s16 param_2, s16 param_3) { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ -/* 8045349C-804534A0 001A9C 0004+00 1/1 0/0 0/0 .sdata2 @10253 */ -SECTION_SDATA2 static f32 lit_10253 = 63.0f / 100.0f; /* 80151648-80151A54 14BF88 040C+00 1/1 0/0 0/0 .text * initCalc__15daNpcF_Lookat_cFP10fopAc_ac_cPA4_fP4cXyzP5csXyzPfR4cXyzi */ -#ifdef NONMATCHING -// matches except literals void daNpcF_Lookat_c::initCalc(fopAc_ac_c* i_actor, Mtx i_baseTransformMtx, cXyz* param_2, csXyz* param_3, f32* param_4, cXyz& param_5, int i_debug) { Mtx mtx; @@ -3927,16 +3568,8 @@ void daNpcF_Lookat_c::initCalc(fopAc_ac_c* i_actor, Mtx i_baseTransformMtx, cXyz } } } -#else -void daNpcF_Lookat_c::initCalc(fopAc_ac_c* param_0, f32 (*param_1)[4], cXyz* param_2, - csXyz* param_3, f32* param_4, cXyz& param_5, int param_6) { - // NONMATCHING -} -#endif /* 80151A54-80151B68 14C394 0114+00 1/1 0/0 0/0 .text update__15daNpcF_Lookat_cFP4cXyzP5csXyzPf */ -#ifdef NONMATCHING -// literals void daNpcF_Lookat_c::update(cXyz* param_0, csXyz* param_1, f32* param_2) { csXyz ang = csXyz::Zero; cXyz vec; @@ -3955,11 +3588,6 @@ void daNpcF_Lookat_c::update(cXyz* param_0, csXyz* param_1, f32* param_2) { mDoMtx_stack_c::multVec(&vec, &pparam0i[1]); } } -#else -void daNpcF_Lookat_c::update(cXyz* param_0, csXyz* param_1, f32* param_2) { - // NONMATCHING -} -#endif /* 80151B68-80151F54 14C4A8 03EC+00 1/1 0/0 0/0 .text * calcMoveDisAngle__15daNpcF_Lookat_cFiP4cXyzP5csXyz4cXyzii */ @@ -3999,7 +3627,6 @@ void daNpcF_Lookat_c::calcMoveDisAngle(int i_no, cXyz* param_1, csXyz* param_2, } } - /* 80151F54-80151FE0 14C894 008C+00 1/1 0/0 0/0 .text setRotAngle__15daNpcF_Lookat_cFv */ void daNpcF_Lookat_c::setRotAngle() { int ang_x = 0; @@ -4026,8 +3653,6 @@ void daNpcF_Lookat_c::clrRotAngle() { } /* 80152014-801522AC 14C954 0298+00 0/0 0/0 38/38 .text execute__8daNpcF_cFv */ -#ifdef NONMATCHING -// will match once cLib_calcTimer is located correctly BOOL daNpcF_c::execute() { setParam(); if (main()) { @@ -4049,7 +3674,7 @@ BOOL daNpcF_c::execute() { playAllAnm(); adjustShapeAngle(); setAttnPos(); - cLib_chaseF(&field_0x978, 0.0f, 1.0f); + cLib_chaseF(&mExpressionMorf, 0.0f, 1.0f); setCollisions(); if (mTwilight) { attention_info.flags |= 0x400000; @@ -4075,15 +3700,8 @@ BOOL daNpcF_c::execute() { } return true; } -#else -BOOL daNpcF_c::execute() { - // NONMATCHING -} -#endif /* 801522AC-80152614 14CBEC 0368+00 0/0 0/0 33/33 .text draw__8daNpcF_cFiifP11_GXColorS10i */ -#ifdef NONMATCHING -// literals int daNpcF_c::draw(BOOL i_isTest, BOOL param_1, f32 i_shadowDepth, _GXColorS10* i_fogColor, BOOL i_hideDamage) { f32 damage_ratio, frame; @@ -4165,12 +3783,6 @@ int daNpcF_c::draw(BOOL i_isTest, BOOL param_1, f32 i_shadowDepth, _GXColorS10* } return 1; } -#else -BOOL daNpcF_c::draw(BOOL param_0, BOOL param_1, f32 param_2, _GXColorS10* param_3, - BOOL param_4) { - // NONMATCHING -} -#endif /* 80152614-80152654 14CF54 0040+00 0/0 0/0 13/13 .text * tgHitCallBack__8daNpcF_cFP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf */ @@ -4186,7 +3798,6 @@ void daNpcF_c::tgHitCallBack(fopAc_ac_c* i_this, dCcD_GObjInf* param_1, fopAc_ac } } -/* ############################################################################################## */ /* 804257E8-80425978 052508 0190+00 4/4 0/0 0/0 .bss mFindActorPList__8daNpcF_c */ fopAc_ac_c* daNpcF_c::mFindActorPList[100]; @@ -4206,7 +3817,6 @@ void* daNpcF_c::srchAttnActor1(void* i_proc, void* param_1) { return NULL; } -/* ############################################################################################## */ /* 80450FF4-80450FF8 0004F4 0002+02 2/2 0/0 0/0 .sbss mSrchActorName__8daNpcF_c */ s16 daNpcF_c::mSrchActorName; @@ -4258,10 +3868,6 @@ void daNpcF_c::setMtx2() { } } -/* ############################################################################################## */ -/* 804534A0-804534A4 001AA0 0004+00 1/1 0/0 0/0 .sdata2 @10745 */ -SECTION_SDATA2 static f32 lit_10745 = 65536.0f; - /* 801528C8-80152B2C 14D208 0264+00 0/0 0/0 76/76 .text initialize__8daNpcF_cFv */ void daNpcF_c::initialize() { field_0x824.remove(); @@ -4343,7 +3949,6 @@ void daNpcF_c::initialize() { field_0x9d2 = cM_rndF(0x10000); } - /* 80152B2C-80152B68 14D46C 003C+00 0/0 0/0 69/69 .text getTrnsfrmKeyAnmP__8daNpcF_cFPci */ J3DAnmTransformKey* daNpcF_c::getTrnsfrmKeyAnmP(char* arcName, int fileIdx) { @@ -4368,19 +3973,11 @@ J3DAnmTevRegKey* daNpcF_c::getTevRegKeyAnmP(char* arcName, int fileIdx) { /* 80152C1C-80152C80 14D55C 0064+00 0/0 0/0 38/38 .text * setMcaMorfAnm__8daNpcF_cFP18J3DAnmTransformKeyffiii */ -#ifdef NONMATCHING -// literals BOOL daNpcF_c::setMcaMorfAnm(J3DAnmTransformKey* i_anm, f32 i_rate, f32 i_morf, int i_attr, int i_start, int i_end) { mpMorf->setAnm(i_anm, i_attr, i_morf, i_rate, (f32)i_start, (f32)i_end); return true; } -#else -BOOL daNpcF_c::setMcaMorfAnm(J3DAnmTransformKey* param_0, f32 param_1, f32 param_2, int param_3, - int param_4, int param_5) { - // NONMATCHING -} -#endif /* 80152C80-80152CC4 14D5C0 0044+00 0/0 0/0 25/25 .text * setBckAnm__8daNpcF_cFP15J3DAnmTransformfiiib */ @@ -4437,7 +4034,6 @@ BOOL daNpcF_c::chkEndAnm(f32 param_0) { } } - /* 80152EC4-80152F40 14D804 007C+00 1/1 0/0 0/0 .text chkEndAnm__8daNpcF_cFP12J3DFrameCtrlf */ /** * Check whether an animation has ended or looped. @@ -4459,7 +4055,6 @@ BOOL daNpcF_c::chkEndAnm(J3DFrameCtrl* frameCtrl, f32 prevRate) { } } - /* 80152F40-80153150 14D880 0210+00 1/1 0/0 2/2 .text playAllAnm__8daNpcF_cFv */ BOOL daNpcF_c::playAllAnm() { f32 rate; @@ -4530,7 +4125,6 @@ BOOL daNpcF_c::playAllAnm() { return true; } - /* 80153150-80153264 14DA90 0114+00 0/0 0/0 25/25 .text * playExpressionAnm__8daNpcF_cFPPPQ28daNpcF_c18daNpcF_anmPlayData */ /** @@ -4540,8 +4134,7 @@ BOOL daNpcF_c::playAllAnm() { * an animation index for that phase of the expression, the number of interpolation frames, and * the number of loops before moving on to the next phase (or 0 for the last phase). */ -#ifdef NONMATCHING -// regalloc +// NONMATCHING regalloc void daNpcF_c::playExpressionAnm(daNpcF_c::daNpcF_anmPlayData*** anm) { daNpcF_anmPlayData* playData = NULL; if (anm[mExpression] != NULL) { @@ -4566,11 +4159,6 @@ void daNpcF_c::playExpressionAnm(daNpcF_c::daNpcF_anmPlayData*** anm) { } mExpressionPrevPhase = mExpressionPhase; } -#else -void daNpcF_c::playExpressionAnm(daNpcF_c::daNpcF_anmPlayData*** param_0) { - // NONMATCHING -} -#endif /* 80153264-8015337C 14DBA4 0118+00 0/0 0/0 37/37 .text * playMotionAnm__8daNpcF_cFPPPQ28daNpcF_c18daNpcF_anmPlayData */ @@ -4581,8 +4169,7 @@ void daNpcF_c::playExpressionAnm(daNpcF_c::daNpcF_anmPlayData*** param_0) { * an animation index for that phase of the motion, the number of interpolation frames, and the * number of loops before moving on to the next phase (or 0 for the last phase). */ -#ifdef NONMATCHING -// regalloc +// NONMATCHING regalloc void daNpcF_c::playMotionAnm(daNpcF_c::daNpcF_anmPlayData*** anm) { daNpcF_anmPlayData* playData = NULL; if (anm[mMotion] != NULL) { @@ -4607,11 +4194,6 @@ void daNpcF_c::playMotionAnm(daNpcF_c::daNpcF_anmPlayData*** anm) { } mMotionPrevPhase = mMotionPhase; } -#else -void daNpcF_c::playMotionAnm(daNpcF_c::daNpcF_anmPlayData*** param_0) { - // NONMATCHING -} -#endif /* 8015337C-80153578 14DCBC 01FC+00 0/0 0/0 34/34 .text setLookatMtx__8daNpcF_cFiPif */ /** @@ -4621,8 +4203,6 @@ void daNpcF_c::playMotionAnm(daNpcF_c::daNpcF_anmPlayData*** param_0) { * @param i_jointList An array of the three indices of the joints for the backbone, neck, and head. * @param i_neckHeadAngleRatio The ratio between the neck angle and the head angle. */ -#ifdef NONMATCHING -// literals void daNpcF_c::setLookatMtx(int i_jointNo, int* i_jointList, f32 i_neckHeadAngleRatio) { cXyz pos; Mtx baseMtx, invParentMtx; @@ -4660,11 +4240,6 @@ void daNpcF_c::setLookatMtx(int i_jointNo, int* i_jointList, f32 i_neckHeadAngle mDoMtx_stack_c::concat(baseMtx); } } -#else -void daNpcF_c::setLookatMtx(int param_0, int* param_1, f32 param_2) { - // NONMATCHING -} -#endif /* 80153578-80153658 14DEB8 00E0+00 0/0 0/0 13/13 .text hitChk2__8daNpcF_cFP8dCcD_Cylii */ @@ -4694,13 +4269,6 @@ BOOL daNpcF_c::hitChk2(dCcD_Cyl* i_ccCyl, BOOL param_1, BOOL param_2) { return false; } -/* ############################################################################################## */ -/* 804534A4-804534A8 001AA4 0004+00 1/1 0/0 0/0 .sdata2 @11061 */ -SECTION_SDATA2 static f32 lit_11061 = 8192.0f; - -/* 804534A8-804534AC 001AA8 0004+00 1/1 0/0 0/0 .sdata2 @11062 */ -SECTION_SDATA2 static f32 lit_11062 = 12743.0f; - /* 80153658-80153718 14DF98 00C0+00 0/0 0/0 12/12 .text setDamage__8daNpcF_cFiii */ void daNpcF_c::setDamage(int i_timer, int i_expression, int i_motion) { if (i_expression >= 0) { @@ -4722,8 +4290,6 @@ void daNpcF_c::setDamage(int i_timer, int i_expression, int i_motion) { /* 80153718-8015387C 14E058 0164+00 0/0 0/0 81/81 .text ctrlMsgAnm__8daNpcF_cFRiRiP10fopAc_ac_ci */ -#ifdef NONMATCHING -// will match when cLib_calcTimer located correctly int daNpcF_c::ctrlMsgAnm(int& o_expression, int& o_motion, fopAc_ac_c* param_2, BOOL param_3) { o_expression = -1; o_motion = -1; @@ -4736,10 +4302,10 @@ int daNpcF_c::ctrlMsgAnm(int& o_expression, int& o_motion, fopAc_ac_c* param_2, { field_0x9a4 = -1; } else if (actor->mMode == dEvtCmd_INCATCH_e) { - if (actor->mMsgId != field_0x9a4) { + if (actor->mMsgID != field_0x9a4) { o_expression = dComIfGp_getMesgFaceAnimeAttrInfo(); o_motion = dComIfGp_getMesgAnimeAttrInfo(); - field_0x9a4 = actor->mMsgId; + field_0x9a4 = actor->mMsgID; } if (dMsgObject_c::isMouthCheck()) { mAnmFlags &= ~ANM_PAUSE_EXPRESSION; @@ -4765,11 +4331,6 @@ int daNpcF_c::ctrlMsgAnm(int& o_expression, int& o_motion, fopAc_ac_c* param_2, } return mMsgTimer; } -#else -int daNpcF_c::ctrlMsgAnm(int& param_0, int& param_1, fopAc_ac_c* param_2, BOOL param_3) { - // NONMATCHING -} -#endif /* 8015387C-80153954 14E1BC 00D8+00 0/0 0/0 45/45 .text orderEvent__8daNpcF_cFiPcUsUsUcUs */ @@ -4809,7 +4370,6 @@ BOOL daNpcF_c::chkActorInSight(fopAc_ac_c* i_actor, f32 i_fovY) { return i_fovY == 180.0f || abs_angle < cM_deg2s(i_fovY); } - /* 80153A78-80153BDC 14E3B8 0164+00 1/1 0/0 0/0 .text * chkActorInArea__8daNpcF_cFP10fopAc_ac_c4cXyz4cXyzs */ /** @@ -4820,8 +4380,6 @@ BOOL daNpcF_c::chkActorInSight(fopAc_ac_c* i_actor, f32 i_fovY) { * @param i_angleY The angle to align the axis of the ellipse. * @return Whether the actor's position vector lies in the elliptic cylinder. */ -#ifdef NONMATCHING -// literals BOOL daNpcF_c::chkActorInArea(fopAc_ac_c* i_actor, cXyz i_center, cXyz i_bounds, s16 i_angleY) { cXyz delta, relPos; BOOL ret = false; @@ -4843,15 +4401,6 @@ BOOL daNpcF_c::chkActorInArea(fopAc_ac_c* i_actor, cXyz i_center, cXyz i_bounds, return ret; } -#else -BOOL daNpcF_c::chkActorInArea(fopAc_ac_c* param_0, cXyz param_1, cXyz param_2, s16 param_3) { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ -/* 804534AC-804534B0 001AAC 0004+00 3/3 0/0 0/0 .sdata2 @11253 */ -SECTION_SDATA2 static f32 lit_11253 = 0.5f; /* 80153BDC-80153D1C 14E51C 0140+00 0/0 0/0 25/25 .text * chkActorInAttnArea__8daNpcF_cFP10fopAc_ac_cP10fopAc_ac_ci */ @@ -4879,11 +4428,10 @@ BOOL daNpcF_c::chkActorInAttnArea(fopAc_ac_c* i_actorCheck, fopAc_ac_c* i_actorA return ret; } - /* 80153D1C-80153D84 14E65C 0068+00 0/0 0/0 118/118 .text initTalk__8daNpcF_cFiPP10fopAc_ac_c */ BOOL daNpcF_c::initTalk(int i_flowID, fopAc_ac_c** param_1) { mFlow.init(this, i_flowID, 0, param_1); - f32 tmp = FLOAT_LABEL(lit_4116); + f32 tmp = 0.0f; speedF = tmp; speed.set(tmp, tmp, tmp); mOrderSpeakEvt = false; @@ -4925,7 +4473,6 @@ BOOL daNpcF_c::talkProc(int* param_0, BOOL param_1, fopAc_ac_c** i_actorP) { return ret; } - /* 80153EF4-801540A4 14E834 01B0+00 1/1 0/0 55/55 .text turn__8daNpcF_cFsfi */ BOOL daNpcF_c::turn(s16 i_targetAngle, f32 i_rate, int i_direction) { int target_angle = i_targetAngle; @@ -4962,7 +4509,6 @@ BOOL daNpcF_c::turn(s16 i_targetAngle, f32 i_rate, int i_direction) { return current.angle.y - (s16)i_targetAngle == 0; } - /* 801540A4-80154250 14E9E4 01AC+00 0/0 0/0 58/58 .text step__8daNpcF_cFsiii */ BOOL daNpcF_c::step(s16 i_targetAngle, int i_expression, int i_motion, int i_rate) { if (mTurnMode == 0) { @@ -4999,7 +4545,6 @@ BOOL daNpcF_c::step(s16 i_targetAngle, int i_expression, int i_motion, int i_rat return mTurnMode > 1; } - /* 80154250-80154278 14EB90 0028+00 0/0 0/0 81/81 .text setAngle__8daNpcF_cFs */ void daNpcF_c::setAngle(s16 i_angle) { current.angle.y = i_angle; @@ -5017,8 +4562,7 @@ u8 daNpcF_c::getDistTableIdx(int param_0, int param_1) { } /* 801542A0-8015436C 14EBE0 00CC+00 0/0 0/0 6/6 .text getEvtAreaTagP__8daNpcF_cFii */ -#ifdef NONMATCHING -// regalloc +// NONMATCHING regalloc fopAc_ac_c* daNpcF_c::getEvtAreaTagP(int i_type, int i_no) { mFindCount = 0; mSrchActorName = PROC_TAG_EVTAREA; @@ -5033,19 +4577,10 @@ fopAc_ac_c* daNpcF_c::getEvtAreaTagP(int i_type, int i_no) { return NULL; } -#else -fopAc_ac_c* daNpcF_c::getEvtAreaTagP(int param_0, int param_1) { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ -/* 804534B0-804534B4 001AB0 0004+00 1/1 0/0 0/0 .sdata2 @11605 */ -SECTION_SDATA2 static f32 lit_11605 = 450.0f; /* 8015436C-80154730 14ECAC 03C4+00 0/0 0/0 12/12 .text getAttnActorP__8daNpcF_cFiPFPvPv_Pvffffsii */ -#ifdef NONMATCHING +// NONMATCHING regalloc fopAc_ac_c* daNpcF_c::getAttnActorP(BOOL i_playerAttn, fpcLyIt_JudgeFunc i_searchFunc, f32 i_radius, f32 i_offsetY1, f32 i_offsetY2, f32 i_fovY, s16 i_sightAngle, int param_7, BOOL param_8) { @@ -5124,13 +4659,6 @@ fopAc_ac_c* daNpcF_c::getAttnActorP(BOOL i_playerAttn, fpcLyIt_JudgeFunc i_searc } return actor; } -#else -fopAc_ac_c* daNpcF_c::getAttnActorP(BOOL param_0, fpcLyIt_JudgeFunc param_1, f32 param_2, - f32 param_3, f32 param_4, f32 param_5, s16 param_6, - int param_7, BOOL param_8) { - // NONMATCHING -} -#endif /* 80154730-80154834 14F070 0104+00 2/2 0/0 0/0 .text chkActorInSight2__8daNpcF_cFP10fopAc_ac_cfs */ @@ -5150,7 +4678,6 @@ BOOL daNpcF_c::chkActorInSight2(fopAc_ac_c* i_actor, f32 i_fovY, s16 i_sightAngl } } - /* 80154834-801548F4 14F174 00C0+00 2/2 0/0 0/0 .text chkPointInArea__8daNpcF_cF4cXyz4cXyzfffs */ BOOL daNpcF_c::chkPointInArea(cXyz i_point, cXyz param_1, f32 i_radius, f32 i_offsetY1, f32 i_offsetY2, s16 i_angleY) { @@ -5173,7 +4700,6 @@ BOOL daNpcF_c::chkPointInArea(cXyz i_point, cXyz param_1, f32 i_radius, f32 i_of return chkPointInArea(i_point, center, bounds, i_angleY); } - /* 801548F4-8015496C 14F234 0078+00 1/1 0/0 0/0 .text chkPointInArea__8daNpcF_cF4cXyz4cXyz4cXyzs */ BOOL daNpcF_c::chkPointInArea(cXyz i_point, cXyz i_center, cXyz i_bounds, s16 i_angleY) { @@ -5194,7 +4720,8 @@ cXyz daNpcF_c::getAttentionPos(fopAc_ac_c* i_ActorP) { /* 801549E0-80154BD8 14F320 01F8+00 0/0 0/0 18/18 .text chkFindPlayer2__8daNpcF_cFis */ BOOL daNpcF_c::chkFindPlayer2(BOOL i_hasAttn, s16 i_angle) { cXyz attn_pos = getAttentionPos(daPy_getPlayerActorClass()); - int attn_no = i_hasAttn == false ? attention_info.distances[fopAc_attn_SPEAK_e] : attention_info.distances[fopAc_attn_TALK_e]; + int attn_no = i_hasAttn == false ? attention_info.distances[fopAc_attn_SPEAK_e] + : attention_info.distances[fopAc_attn_TALK_e]; f32 fvar2 = i_hasAttn == false ? dAttention_c::getDistTable(attn_no).mDistMax : dAttention_c::getDistTable(attn_no).mDistMaxRelease; f32 fvar3 = dAttention_c::getDistTable(attn_no).mLowerY * -1.0f; @@ -5221,14 +4748,6 @@ BOOL daNpcF_c::chkFindPlayer2(BOOL i_hasAttn, s16 i_angle) { return false; } - -/* ############################################################################################## */ -/* 804534B4-804534B8 001AB4 0004+00 1/1 0/0 0/0 .sdata2 id$11798 */ -SECTION_SDATA2 static u16 id_11798[2] = { - 0x8497, - 0x8498, -}; - /* 80154BD8-80154DA8 14F518 01D0+00 1/1 0/0 0/0 .text setHitodamaPrtcl__8daNpcF_cFv */ void daNpcF_c::setHitodamaPrtcl() { cXyz pos; @@ -5262,7 +4781,6 @@ void daNpcF_c::setHitodamaPrtcl() { } } - /* 80154DA8-80154E54 14F6E8 00AC+00 1/1 0/0 1/1 .text * daNpcF_pntVsLineSegmentLengthSquare2D__FffffffPfPfPf */ BOOL daNpcF_pntVsLineSegmentLengthSquare2D(f32 i_pntX, f32 i_pntZ, f32 i_startX, f32 i_startZ, @@ -5274,14 +4792,14 @@ BOOL daNpcF_pntVsLineSegmentLengthSquare2D(f32 i_pntX, f32 i_pntZ, f32 i_startX, f32 line_z = i_endZ - i_startZ; len2 = line_x * line_x + line_z * line_z; - if (FLOAT_LABEL(lit_4116) == len2) { - *o_dist2 = FLOAT_LABEL(lit_4116); + if (0.0f == len2) { + *o_dist2 = 0.0f; return false; } f32 prm = (line_x * (i_pntX - i_startX) + line_z * (i_pntZ - i_startZ)) / len2; - if (FLOAT_LABEL(lit_4116) <= prm && prm <= FLOAT_LABEL(lit_4140)) { + if (0.0f <= prm && prm <= 1.0f) { ret = true; } @@ -5369,7 +4887,6 @@ BOOL daNpcF_chkPassed(cXyz i_pos, dPnt* i_points, u16 i_idx, u16 i_num, BOOL i_i } } - /* 8015556C-80155634 14FEAC 00C8+00 1/1 0/0 8/8 .text daNpcF_getGroundAngle__FP13cBgS_PolyInfos */ s16 daNpcF_getGroundAngle(cBgS_PolyInfo* param_0, s16 param_1) { cM3dGPla tmp; @@ -5477,7 +4994,7 @@ BOOL daNpcF_chkPointInArea(cXyz i_point, cXyz i_center, cXyz i_bounds, s16 i_ang f32 tmp_float1 = (delta_x * delta_x) / (bound_x * bound_x); f32 tmp_float2 = (delta_z * delta_z) / (bound_z * bound_z); f32 tmp_float3 = tmp_float1 + tmp_float2; - return tmp_float3 <= FLOAT_LABEL(lit_4140); + return tmp_float3 <= 1.0f; } } @@ -5502,7 +5019,7 @@ void daNpcF_clearMessageTmpBit() { /* 80155B54-80155BB4 150494 0060+00 1/0 0/0 0/0 .text __dt__20daNpcF_MoveBgActor_cFv */ daNpcF_MoveBgActor_c::~daNpcF_MoveBgActor_c() { - // NONMATCHING + /* empty function */ } /* 80155BB4-80155BB8 1504F4 0004+00 2/0 0/0 0/0 .text setCollisions__8daNpcF_cFv */ @@ -5565,18 +5082,6 @@ void daNpcF_c::setExpression(int param_0, f32 param_1) { /* empty function */ } -/* 80155BF4-80155E40 150534 024C+00 2/1 0/0 0/0 .text __dt__8daNpcF_cFv */ -// daNpcF_c::~daNpcF_c() { -extern "C" void __dt__8daNpcF_cFv() { - // NONMATCHING -} - -/* 80155E40-80155E88 150780 0048+00 2/1 0/0 0/0 .text __dt__18daNpcF_ActorMngr_cFv */ -// daNpcF_ActorMngr_c::~daNpcF_ActorMngr_c() { -extern "C" void __dt__18daNpcF_ActorMngr_cFv() { - // NONMATCHING -} - /* 80155E88-80155E90 1507C8 0008+00 1/0 0/0 0/0 .text CreateHeap__20daNpcF_MoveBgActor_cFv */ bool daNpcF_MoveBgActor_c::CreateHeap() { return true; @@ -5624,9 +5129,8 @@ bool daNpcF_c::setExpressionBtp(int param_0) { } /* 80155ED0-80155FB0 150810 00E0+00 1/0 0/0 0/0 .text __dt__15daNpcF_MatAnm_cFv */ -// daNpcF_MatAnm_c::~daNpcF_MatAnm_c() { -void __dt__15daNpcF_MatAnm_cFv() { - // NONMATCHING +daNpcF_MatAnm_c::~daNpcF_MatAnm_c() { + /* empty function */ } /* 80155FB0-80156010 1508F0 0060+00 1/0 0/0 0/0 .text __dt__23daBaseNpc_moveBgActor_cFv @@ -5883,4 +5387,4 @@ SECTION_DEAD static char const* const pad_80392A12 = "\0\0\0\0\0"; extern u8 data_80450FF8[8]; u8 data_80450FF8[8]; -/* 80392710-80392710 01ED70 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file +/* 80392710-80392710 01ED70 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/d/actor/d_a_npc_ash.cpp b/src/d/actor/d_a_npc_ash.cpp index 93759ce70b..6ca74c0c83 100644 --- a/src/d/actor/d_a_npc_ash.cpp +++ b/src/d/actor/d_a_npc_ash.cpp @@ -244,6 +244,9 @@ extern "C" void __register_global_object(); // Declarations: // +/* 8095DD4C-8095DD50 000014 0004+00 1/1 0/0 0/0 .bss l_HIO */ +static daNpcAsh_Param_c l_HIO; + void daNpcAsh_c::setLookMode(int i_lookMode, fopAc_ac_c* i_talkPartner) { if (i_lookMode != mLookMode || i_talkPartner != mTalkPartner) { mLookMode = i_lookMode; @@ -319,30 +322,13 @@ bool daNpcAsh_c::step(s16 i_angY, bool i_animate) { return mTurnMode > 1; } -/* ############################################################################################## */ -/* 8095D910-8095D910 0002D0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8095D910 = "Ash"; -SECTION_DEAD static char const* const stringBase_8095D914 = "Ash1"; -SECTION_DEAD static char const* const stringBase_8095D919 = "Ash2"; -SECTION_DEAD static char const* const stringBase_8095D91E = ""; -SECTION_DEAD static char const* const stringBase_8095D91F = "THE_INTRODUCTION"; -SECTION_DEAD static char const* const stringBase_8095D930 = "RESIST_MEETING"; -SECTION_DEAD static char const* const stringBase_8095D93F = "RESIST_WIRETAP_ASH"; -SECTION_DEAD static char const* const stringBase_8095D952 = "RESIST_WIRETAP_SHAD"; -SECTION_DEAD static char const* const stringBase_8095D966 = "RESIST_WIRETAP_RAFREL"; -#pragma pop - /* 8095D990-8095D99C 000000 000C+00 4/4 0/0 0/0 .data cNullVec__6Z2Calc */ -SECTION_DATA static u8 cNullVec__6Z2Calc[12] = { +static u8 cNullVec__6Z2Calc[12] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; /* 8095D99C-8095D9B0 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 */] = { +static u32 lit_1787[1 + 4 /* padding */] = { 0x02000201, /* padding */ 0x40080000, @@ -350,7 +336,6 @@ SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = { 0x3FE00000, 0x00000000, }; -#pragma pop /* 8095D9B0-8095DA88 000020 00D8+00 1/2 0/0 0/0 .data l_bckGetParamList */ static daNpc_GetParam2 l_bckGetParamList[18] = { @@ -380,12 +365,9 @@ static daNpc_GetParam2 l_btpGetParamList[1] = { }; /* 8095DA94-8095DAA0 000104 000C+00 0/1 0/0 0/0 .data l_btkGetParamList */ -#pragma push -#pragma force_active on static daNpc_GetParam2 l_btkGetParamList[1] = { {14, 2, 0}, // ash }; -#pragma pop /* 8095DAA0-8095DAAC 000110 000C+00 1/0 0/0 0/0 .data l_loadRes_ASH0 */ static int l_loadRes_ASH0[3] = { @@ -403,8 +385,6 @@ static int* l_loadRes_list[2] = { l_loadRes_ASH1, }; -#ifdef NONMATCHING - /* 8095DAC0-8095DACC -00001 000C+00 5/7 0/0 0/0 .data l_arcNames */ static char* l_arcNames[3] = { "Ash", @@ -425,38 +405,6 @@ static char* l_evtNames[6] = { /* 8095DAE4-8095DAE8 -00001 0004+00 0/2 0/0 0/0 .data l_myName */ static char* l_myName = "Ash"; -#else - -/* 8095DAC0-8095DACC -00001 000C+00 5/7 0/0 0/0 .data l_arcNames */ -SECTION_DATA static char* l_arcNames[3] = { - (char*)&d_a_npc_ash__stringBase0, - (((char*)&d_a_npc_ash__stringBase0) + 0x4), - (((char*)&d_a_npc_ash__stringBase0) + 0x9), -}; - -/* 8095DACC-8095DAE4 -00001 0018+00 0/2 0/0 0/0 .data l_evtNames */ -#pragma push -#pragma force_active on -SECTION_DATA static char* l_evtNames[6] = { - (((char*)&d_a_npc_ash__stringBase0) + 0xE), - (((char*)&d_a_npc_ash__stringBase0) + 0xF), - (((char*)&d_a_npc_ash__stringBase0) + 0x20), - (((char*)&d_a_npc_ash__stringBase0) + 0x2F), - (((char*)&d_a_npc_ash__stringBase0) + 0x42), - (((char*)&d_a_npc_ash__stringBase0) + 0x56), -}; -#pragma pop - -/* 8095DAE4-8095DAE8 -00001 0004+00 0/2 0/0 0/0 .data l_myName */ -#pragma push -#pragma force_active on -SECTION_DATA static char* l_myName = (char*)&d_a_npc_ash__stringBase0; -#pragma pop - -#endif - -#ifdef NONMATCHING - daNpcAsh_c::EventFn daNpcAsh_c::mEvtSeqList[6] = { NULL, &EvCut_Introduction, @@ -466,341 +414,24 @@ daNpcAsh_c::EventFn daNpcAsh_c::mEvtSeqList[6] = { &EvCut_WiretapEntrant, }; -#else - -/* 8095DAE8-8095DAF4 -00001 000C+00 0/1 0/0 0/0 .data @3823 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3823[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)EvCut_Introduction__10daNpcAsh_cFi, -}; -#pragma pop - -/* 8095DAF4-8095DB00 -00001 000C+00 0/1 0/0 0/0 .data @3824 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3824[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)EvCut_Meeting__10daNpcAsh_cFi, -}; -#pragma pop - -/* 8095DB00-8095DB0C -00001 000C+00 0/1 0/0 0/0 .data @3825 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3825[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)EvCut_WiretapSponsor__10daNpcAsh_cFi, -}; -#pragma pop - -/* 8095DB0C-8095DB18 -00001 000C+00 0/1 0/0 0/0 .data @3826 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3826[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)EvCut_WiretapEntrant__10daNpcAsh_cFi, -}; -#pragma pop - -/* 8095DB18-8095DB24 -00001 000C+00 0/1 0/0 0/0 .data @3827 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3827[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)EvCut_WiretapEntrant__10daNpcAsh_cFi, -}; -#pragma pop - -/* 8095DB24-8095DB6C 000194 0048+00 0/2 0/0 0/0 .data mEvtSeqList__10daNpcAsh_c */ -#pragma push -#pragma force_active on -SECTION_DATA u8 daNpcAsh_c::mEvtSeqList[72] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 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 - -#endif - -/* 8095DB6C-8095DB8C -00001 0020+00 1/1 0/0 0/0 .data @4549 */ -SECTION_DATA static void* lit_4549[8] = { - (void*)(((char*)setExpressionAnm__10daNpcAsh_cFib) + 0xB4), - (void*)(((char*)setExpressionAnm__10daNpcAsh_cFib) + 0xD0), - (void*)(((char*)setExpressionAnm__10daNpcAsh_cFib) + 0xEC), - (void*)(((char*)setExpressionAnm__10daNpcAsh_cFib) + 0x108), - (void*)(((char*)setExpressionAnm__10daNpcAsh_cFib) + 0x124), - (void*)(((char*)setExpressionAnm__10daNpcAsh_cFib) + 0x140), - (void*)(((char*)setExpressionAnm__10daNpcAsh_cFib) + 0x15C), - (void*)(((char*)setExpressionAnm__10daNpcAsh_cFib) + 0x178), -}; - -/* 8095DB8C-8095DB98 -00001 000C+00 1/1 0/0 0/0 .data @4605 */ -SECTION_DATA static void* lit_4605[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)wait_type0__10daNpcAsh_cFPv, -}; - -/* 8095DB98-8095DBA4 -00001 000C+00 1/1 0/0 0/0 .data @4608 */ -SECTION_DATA static void* lit_4608[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)wait_type1__10daNpcAsh_cFPv, -}; - -/* 8095DBA4-8095DBB0 -00001 000C+00 0/1 0/0 0/0 .data @4808 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4808[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)talk__10daNpcAsh_cFPv, -}; -#pragma pop - -/* 8095DBB0-8095DBBC -00001 000C+00 0/1 0/0 0/0 .data @4813 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4813[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)demo__10daNpcAsh_cFPv, -}; -#pragma pop - -/* 8095DBBC-8095DBC8 -00001 000C+00 1/1 0/0 0/0 .data @5015 */ -SECTION_DATA static void* lit_5015[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)leave__10daNpcAsh_cFPv, -}; - -/* 8095DBC8-8095DBD4 -00001 000C+00 1/1 0/0 0/0 .data @5048 */ -SECTION_DATA static void* lit_5048[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)wait_type0__10daNpcAsh_cFPv, -}; - -/* 8095DBD4-8095DBE0 -00001 000C+00 0/1 0/0 0/0 .data @5129 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5129[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)wait_type0__10daNpcAsh_cFPv, -}; -#pragma pop - -/* 8095DBE0-8095DBEC -00001 000C+00 0/1 0/0 0/0 .data @5132 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5132[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)wait_type1__10daNpcAsh_cFPv, -}; -#pragma pop - -/* 8095DBEC-8095DBF8 -00001 000C+00 0/1 0/0 0/0 .data @5137 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5137[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)wait_type0__10daNpcAsh_cFPv, -}; -#pragma pop - -/* 8095DBF8-8095DC04 -00001 000C+00 0/1 0/0 0/0 .data @5140 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5140[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)wait_type1__10daNpcAsh_cFPv, -}; -#pragma pop - -static cPhs__Step daNpcAsh_Create(void*); -static int daNpcAsh_Delete(void*); -static int daNpcAsh_Execute(void*); -static int daNpcAsh_IsDelete(void*); -static int daNpcAsh_Draw(void*); - -/* 8095DC04-8095DC24 -00001 0020+00 1/0 0/0 0/0 .data daNpcAsh_MethodTable */ -static actor_method_class daNpcAsh_MethodTable = { - (process_method_func)daNpcAsh_Create, - (process_method_func)daNpcAsh_Delete, - (process_method_func)daNpcAsh_Execute, - (process_method_func)daNpcAsh_IsDelete, - (process_method_func)daNpcAsh_Draw, -}; - -/* 8095DC24-8095DC54 -00001 0030+00 0/0 0/0 1/0 .data g_profile_NPC_ASH */ -extern actor_process_profile_definition g_profile_NPC_ASH = { - fpcLy_CURRENT_e, - 7, - fpcPi_CURRENT_e, - PROC_NPC_ASH, - &g_fpcLf_Method.mBase, - sizeof(daNpcAsh_c), - 0, - 0, - &g_fopAc_Method.base, - 411, - &daNpcAsh_MethodTable, - 0x40100, - fopAc_NPC_e, - fopAc_CULLBOX_CUSTOM_e, -}; - -/* 8095DC54-8095DC60 0002C4 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, -}; - -/* 8095DC60-8095DCA8 0002D0 0048+00 2/2 0/0 0/0 .data __vt__10daNpcAsh_c */ -SECTION_DATA extern void* __vt__10daNpcAsh_c[18] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__10daNpcAsh_cFv, - (void*)setParam__10daNpcAsh_cFv, - (void*)main__10daNpcAsh_cFv, - (void*)ctrlBtk__10daNpcAsh_cFv, - (void*)adjustShapeAngle__8daNpcF_cFv, - (void*)setMtx__8daNpcF_cFv, - (void*)setMtx2__8daNpcF_cFv, - (void*)setAttnPos__10daNpcAsh_cFv, - (void*)setCollisions__8daNpcF_cFv, - (void*)setExpressionAnm__10daNpcAsh_cFib, - (void*)setExpressionBtp__10daNpcAsh_cFi, - (void*)setExpression__10daNpcAsh_cFif, - (void*)setMotionAnm__10daNpcAsh_cFif, - (void*)setMotion__10daNpcAsh_cFifi, - (void*)drawDbgInfo__10daNpcAsh_cFv, - (void*)drawOtherMdls__8daNpcF_cFv, -}; - -/* 8095DCA8-8095DCB4 000318 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, -}; - -/* 8095DCB4-8095DCD8 000324 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_8095D624, - (void*)NULL, - (void*)NULL, - (void*)func_8095D61C, -}; - -/* 8095DCD8-8095DCE4 000348 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, -}; - -/* 8095DCE4-8095DCF0 000354 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, -}; - -/* 8095DCF0-8095DCFC 000360 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, -}; - -/* 8095DCFC-8095DD08 00036C 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, -}; - -/* 8095DD08-8095DD14 000378 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, -}; - -/* 8095DD14-8095DD20 000384 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, -}; - -/* 8095DD20-8095DD2C 000390 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, -}; - /* 809582EC-80958430 0000EC 0144+00 1/1 0/0 0/0 .text __ct__10daNpcAsh_cFv */ daNpcAsh_c::daNpcAsh_c() { // NONMATCHING } - -/* 80958430-809584FC 000230 00CC+00 2/2 0/0 0/0 .text __dt__8dCcD_CylFv */ -// dCcD_Cyl::~dCcD_Cyl() { -void __dt__8dCcD_CylFv() { - // NONMATCHING -} - -/* 809584FC-80958580 0002FC 0084+00 1/1 0/0 0/0 .text __ct__8dCcD_CylFv */ -// dCcD_Cyl::dCcD_Cyl() { -void __ct__8dCcD_CylFv() { - // NONMATCHING -} - -/* 80958580-809585C8 000380 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */ -// cM3dGCyl::~cM3dGCyl() { -void __dt__8cM3dGCylFv() { - // NONMATCHING -} - -/* 809585C8-80958610 0003C8 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */ -// cM3dGAab::~cM3dGAab() { -void __dt__8cM3dGAabFv() { - // NONMATCHING -} /* 80958610-809587A0 000410 0190+00 1/0 0/0 0/0 .text __dt__10daNpcAsh_cFv */ -// daNpcAsh_c::~daNpcAsh_c() { -void __dt__10daNpcAsh_cFv() { - // NONMATCHING +daNpcAsh_c::~daNpcAsh_c() { + for (int i = 0; l_loadRes_list[mType][i] >= 0; i++) { + dComIfG_resDelete(&mPhase[i], l_arcNames[l_loadRes_list[mType][i]]); + } + + if (heap != NULL) { + mpMorf->stopZelAnime(); + } } -/* ############################################################################################## */ /* 8095D640-8095D6AC 000000 006C+00 14/14 0/0 0/0 .rodata m__16daNpcAsh_Param_c */ -SECTION_RODATA daNpcAsh_Param_c::param const daNpcAsh_Param_c::m = { +daNpcAsh_Param_c::param const daNpcAsh_Param_c::m = { 35.0f, // mAttnOffsetY -3.0f, // mGravity 1.0f, // mScale @@ -834,7 +465,6 @@ SECTION_RODATA daNpcAsh_Param_c::param const daNpcAsh_Param_c::m = { 0, // mTestLookMode false, // mTest }; -COMPILER_STRIP_GATE(0x8095D640, &daNpcAsh_Param_c::m); /* 809587A0-80958B68 0005A0 03C8+00 1/1 0/0 0/0 .text Create__10daNpcAsh_cFv */ cPhs__Step daNpcAsh_c::Create() { @@ -919,15 +549,6 @@ cPhs__Step daNpcAsh_c::Create() { return step; } -/* ############################################################################################## */ -/* 8095D6BC-8095D6C0 00007C 0004+00 4/4 0/0 0/0 .rodata @4300 */ -SECTION_RODATA static f32 const lit_4300 = 1.0f; -COMPILER_STRIP_GATE(0x8095D6BC, &lit_4300); - -/* 8095D6C0-8095D6C4 000080 0004+00 3/9 0/0 0/0 .rodata @4301 */ -SECTION_RODATA static f32 const lit_4301 = 0.0f; -COMPILER_STRIP_GATE(0x8095D6C0, &lit_4301); - /* 80958B68-80958F08 000968 03A0+00 1/1 0/0 0/0 .text CreateHeap__10daNpcAsh_cFv */ BOOL daNpcAsh_c::CreateHeap() { J3DModelData* modelData = static_cast(dComIfG_getObjectRes(l_arcNames[0], 11)); @@ -986,67 +607,6 @@ BOOL daNpcAsh_c::CreateHeap() { return true; } - -/* 80958F08-80958F44 000D08 003C+00 1/1 0/0 0/0 .text __dt__15J3DTevKColorAnmFv */ -// J3DTevKColorAnm::~J3DTevKColorAnm() { -void __dt__15J3DTevKColorAnmFv() { - // NONMATCHING -} - -/* 80958F44-80958F5C 000D44 0018+00 1/1 0/0 0/0 .text __ct__15J3DTevKColorAnmFv */ -// J3DTevKColorAnm::J3DTevKColorAnm() { -void __ct__15J3DTevKColorAnmFv() { - // NONMATCHING -} - -/* 80958F5C-80958F98 000D5C 003C+00 1/1 0/0 0/0 .text __dt__14J3DTevColorAnmFv */ -// J3DTevColorAnm::~J3DTevColorAnm() { -void __dt__14J3DTevColorAnmFv() { - // NONMATCHING -} - -/* 80958F98-80958FB0 000D98 0018+00 1/1 0/0 0/0 .text __ct__14J3DTevColorAnmFv */ -// J3DTevColorAnm::J3DTevColorAnm() { -void __ct__14J3DTevColorAnmFv() { - // NONMATCHING -} - -/* 80958FB0-80958FF8 000DB0 0048+00 1/1 0/0 0/0 .text __dt__11J3DTexNoAnmFv */ -// J3DTexNoAnm::~J3DTexNoAnm() { -void __dt__11J3DTexNoAnmFv() { - // NONMATCHING -} - -/* 80958FF8-8095901C 000DF8 0024+00 1/1 0/0 0/0 .text __ct__11J3DTexNoAnmFv */ -// J3DTexNoAnm::J3DTexNoAnm() { -void __ct__11J3DTexNoAnmFv() { - // NONMATCHING -} - -/* 8095901C-80959058 000E1C 003C+00 1/1 0/0 0/0 .text __dt__12J3DTexMtxAnmFv */ -// J3DTexMtxAnm::~J3DTexMtxAnm() { -void __dt__12J3DTexMtxAnmFv() { - // NONMATCHING -} - -/* 80959058-80959070 000E58 0018+00 1/1 0/0 0/0 .text __ct__12J3DTexMtxAnmFv */ -// J3DTexMtxAnm::J3DTexMtxAnm() { -void __ct__12J3DTexMtxAnmFv() { - // NONMATCHING -} - -/* 80959070-809590AC 000E70 003C+00 1/1 0/0 0/0 .text __dt__14J3DMatColorAnmFv */ -// J3DMatColorAnm::~J3DMatColorAnm() { -void __dt__14J3DMatColorAnmFv() { - // NONMATCHING -} - -/* 809590AC-809590C4 000EAC 0018+00 1/1 0/0 0/0 .text __ct__14J3DMatColorAnmFv */ -// J3DMatColorAnm::J3DMatColorAnm() { -void __ct__14J3DMatColorAnmFv() { - // NONMATCHING -} - /* 809590C4-809590F8 000EC4 0034+00 1/1 0/0 0/0 .text Delete__10daNpcAsh_cFv */ int daNpcAsh_c::Delete() { this->~daNpcAsh_c(); @@ -1079,8 +639,6 @@ int daNpcAsh_c::Draw() { return 1; } -/* ############################################################################################## */ - /* 80959238-80959458 001038 0220+00 1/1 0/0 0/0 .text ctrlJoint__10daNpcAsh_cFP8J3DJointP8J3DModel */ bool daNpcAsh_c::ctrlJoint(J3DJoint* i_joint, J3DModel* i_model) { @@ -1145,8 +703,6 @@ BOOL daNpcAsh_c::ctrlJointCallBack(J3DJoint* i_joint, int param_1) { /* 809594C4-809596E0 0012C4 021C+00 2/0 0/0 0/0 .text setExpressionAnm__10daNpcAsh_cFib */ -#ifdef NONMATCHING -// literals bool daNpcAsh_c::setExpressionAnm(int i_idx, bool i_modify) { if (i_idx < 0 || i_idx > 7) { return false; @@ -1209,15 +765,8 @@ bool daNpcAsh_c::setExpressionAnm(int i_idx, bool i_modify) { return false; } -#else -bool daNpcAsh_c::setExpressionAnm(int param_0, bool param_1) { - // NONMATCHING -} -#endif /* 809596E0-809597C0 0014E0 00E0+00 1/0 0/0 0/0 .text setExpressionBtp__10daNpcAsh_cFi */ -#ifdef NONMATCHING -// literals bool daNpcAsh_c::setExpressionBtp(int i_idx) { J3DAnmTexPattern* btpAnm = getTexPtrnAnmP(l_arcNames[l_btpGetParamList[i_idx].arcIdx], l_btpGetParamList[i_idx].fileIdx); @@ -1235,15 +784,8 @@ bool daNpcAsh_c::setExpressionBtp(int i_idx) { } return false; } -#else -bool daNpcAsh_c::setExpressionBtp(int param_0) { - // NONMATCHING -} -#endif /* 809597C0-80959910 0015C0 0150+00 1/0 0/0 0/0 .text setMotionAnm__10daNpcAsh_cFif */ -#ifdef NONMATCHING -// literals void daNpcAsh_c::setMotionAnm(int i_idx, f32 i_morf) { if (i_idx < 8 || i_idx >= 18) { return; @@ -1270,15 +812,8 @@ void daNpcAsh_c::setMotionAnm(int i_idx, f32 i_morf) { } } } -#else -void daNpcAsh_c::setMotionAnm(int param_0, f32 param_1) { - // NONMATCHING -} -#endif /* 80959910-80959B28 001710 0218+00 1/1 0/0 0/0 .text reset__10daNpcAsh_cFv */ -#ifdef NONMATCHING -// literals void daNpcAsh_c::reset() { initialize(); mpMatAnm->initialize(); @@ -1323,11 +858,6 @@ void daNpcAsh_c::reset() { setAction(&wait_type1); } } -#else -void daNpcAsh_c::reset() { - // NONMATCHING -} -#endif /* 80959B28-80959BD0 001928 00A8+00 1/1 0/0 0/0 .text * setAction__10daNpcAsh_cFM10daNpcAsh_cFPCvPvPv_b */ @@ -1387,252 +917,51 @@ void daNpcAsh_c::playExpression() { } } -/* 8095D770-8095D77C 000130 000C+00 0/1 0/0 0/0 .rodata @4658 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4658[12] = { - 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8095D770, &lit_4658); -#pragma pop - -/* 8095D77C-8095D780 00013C 0004+00 0/1 0/0 0/0 .rodata @4659 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4659[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x8095D77C, &lit_4659); -#pragma pop - -/* 8095D780-8095D78C 000140 000C+00 0/1 0/0 0/0 .rodata @4660 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4660[12] = { - 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8095D780, &lit_4660); -#pragma pop - -/* 8095D78C-8095D790 00014C 0004+00 0/1 0/0 0/0 .rodata @4661 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4661[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x8095D78C, &lit_4661); -#pragma pop - -/* 8095D790-8095D79C 000150 000C+00 0/1 0/0 0/0 .rodata @4662 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4662[12] = { - 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8095D790, &lit_4662); -#pragma pop - -/* 8095D79C-8095D7A0 00015C 0004+00 0/1 0/0 0/0 .rodata @4663 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4663[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x8095D79C, &lit_4663); -#pragma pop - -/* 8095D7A0-8095D7AC 000160 000C+00 0/1 0/0 0/0 .rodata @4664 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4664[12] = { - 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x8095D7A0, &lit_4664); -#pragma pop - -/* 8095D7AC-8095D7B8 00016C 000C+00 0/1 0/0 0/0 .rodata @4665 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4665[12] = { - 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8095D7AC, &lit_4665); -#pragma pop - -/* 8095D7B8-8095D7C0 000178 0008+00 0/1 0/0 0/0 .rodata @4666 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4666[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8095D7B8, &lit_4666); -#pragma pop - -/* 8095D7C0-8095D7CC 000180 000C+00 0/1 0/0 0/0 .rodata @4667 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4667[12] = { - 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x8095D7C0, &lit_4667); -#pragma pop - -/* 8095D7CC-8095D7D8 00018C 000C+00 0/1 0/0 0/0 .rodata @4668 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4668[12] = { - 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8095D7CC, &lit_4668); -#pragma pop - -/* 8095D7D8-8095D7E0 000198 0008+00 0/1 0/0 0/0 .rodata @4669 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4669[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8095D7D8, &lit_4669); -#pragma pop - -/* 8095D7E0-8095D7EC 0001A0 000C+00 0/1 0/0 0/0 .rodata @4670 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4670[12] = { - 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x8095D7E0, &lit_4670); -#pragma pop - -/* 8095D7EC-8095D7F8 0001AC 000C+00 0/1 0/0 0/0 .rodata @4671 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4671[12] = { - 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8095D7EC, &lit_4671); -#pragma pop - -/* 8095D7F8-8095D800 0001B8 0008+00 0/1 0/0 0/0 .rodata @4672 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4672[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8095D7F8, &lit_4672); -#pragma pop - -/* 8095D800-8095D80C 0001C0 000C+00 0/1 0/0 0/0 .rodata @4673 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4673[12] = { - 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x8095D800, &lit_4673); -#pragma pop - -/* 8095D80C-8095D818 0001CC 000C+00 0/1 0/0 0/0 .rodata @4674 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4674[12] = { - 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8095D80C, &lit_4674); -#pragma pop - -/* 8095D818-8095D820 0001D8 0008+00 0/1 0/0 0/0 .rodata @4675 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4675[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8095D818, &lit_4675); -#pragma pop - -/* 8095D820-8095D82C 0001E0 000C+00 0/1 0/0 0/0 .rodata @4676 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4676[12] = { - 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8095D820, &lit_4676); -#pragma pop - -/* 8095D82C-8095D830 0001EC 0004+00 0/1 0/0 0/0 .rodata @4677 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4677[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x8095D82C, &lit_4677); -#pragma pop - -/* 8095D830-8095D83C 0001F0 000C+00 0/1 0/0 0/0 .rodata @4678 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4678[12] = { - 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8095D830, &lit_4678); -#pragma pop - -/* 8095D83C-8095D840 0001FC 0004+00 0/1 0/0 0/0 .rodata @4679 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4679[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x8095D83C, &lit_4679); -#pragma pop - -/* 8095D840-8095D84C 000200 000C+00 0/1 0/0 0/0 .rodata @4680 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4680[12] = { - 0x00, 0x0B, 0x00, 0x00, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x8095D840, &lit_4680); -#pragma pop - -/* 8095D84C-8095D850 00020C 0004+00 0/1 0/0 0/0 .rodata @4681 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4681[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x8095D84C, &lit_4681); -#pragma pop - -/* 8095D850-8095D878 000210 0028+00 0/0 0/0 0/0 .rodata @4682 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4682[40] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 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(0x8095D850, &lit_4682); -#pragma pop +/* 8095C200-8095C520 004000 0320+00 1/1 0/0 0/0 .text playMotion__10daNpcAsh_cFv */ +void daNpcAsh_c::playMotion() { + daNpcF_anmPlayData dat0 = {ANM_WAIT_A, daNpcAsh_Param_c::m.mMorfFrames, 0}; + daNpcF_anmPlayData* pDat0[1] = {&dat0}; + daNpcF_anmPlayData dat1 = {ANM_WAIT_B, daNpcAsh_Param_c::m.mMorfFrames, 0}; + daNpcF_anmPlayData* pDat1[1] = {&dat1}; + daNpcF_anmPlayData dat2 = {ANM_WAIT_C, daNpcAsh_Param_c::m.mMorfFrames, 0}; + daNpcF_anmPlayData* pDat2[1] = {&dat2}; + daNpcF_anmPlayData dat3a = {ANM_COOL, daNpcAsh_Param_c::m.mMorfFrames, 1}; + daNpcF_anmPlayData dat3b = {ANM_WAIT_C, daNpcAsh_Param_c::m.mMorfFrames, 0}; + daNpcF_anmPlayData* pDat3[2] = {&dat3a, &dat3b}; + daNpcF_anmPlayData dat4a = {ANM_ASK, daNpcAsh_Param_c::m.mMorfFrames, 1}; + daNpcF_anmPlayData dat4b = {ANM_WAIT_C, daNpcAsh_Param_c::m.mMorfFrames, 0}; + daNpcF_anmPlayData* pDat4[2] = {&dat4a, &dat4b}; + daNpcF_anmPlayData dat5a = {ANM_EXPLAIN_A, daNpcAsh_Param_c::m.mMorfFrames, 1}; + daNpcF_anmPlayData dat5b = {ANM_WAIT_C, daNpcAsh_Param_c::m.mMorfFrames, 0}; + daNpcF_anmPlayData* pDat5[2] = {&dat5a, &dat5b}; + daNpcF_anmPlayData dat6a = {ANM_EXPLAIN_B, daNpcAsh_Param_c::m.mMorfFrames, 1}; + daNpcF_anmPlayData dat6b = {ANM_WAIT_A, daNpcAsh_Param_c::m.mMorfFrames, 0}; + daNpcF_anmPlayData* pDat6[2] = {&dat6a, &dat6b}; + daNpcF_anmPlayData dat7 = {ANM_BOWWAIT, daNpcAsh_Param_c::m.mMorfFrames, 0}; + daNpcF_anmPlayData* pDat7[1] = {&dat7}; + daNpcF_anmPlayData dat8 = {ANM_BOWRUN, daNpcAsh_Param_c::m.mMorfFrames, 0}; + daNpcF_anmPlayData* pDat8[1] = {&dat8}; + daNpcF_anmPlayData dat9 = {ANM_STEP, 4.0f, 1}; + daNpcF_anmPlayData* pDat9[1] = {&dat9}; + daNpcF_anmPlayData** ppDat[10] = { + pDat0, + pDat1, + pDat2, + pDat3, + pDat4, + pDat5, + pDat6, + pDat7, + pDat8, + pDat9, + }; + if (mMotion >= 0 && mMotion < 10) { + playMotionAnm(ppDat); + } +} /* 8095D878-8095D884 000238 000C+00 0/1 0/0 0/0 .rodata @4697 */ +// somehow supposed to be part of lookat() #pragma push #pragma force_active on SECTION_RODATA static u8 const lit_4697[12] = { @@ -1641,35 +970,7 @@ SECTION_RODATA static u8 const lit_4697[12] = { COMPILER_STRIP_GATE(0x8095D878, &lit_4697); #pragma pop -/* 8095D884-8095D888 000244 0004+00 4/9 0/0 0/0 .rodata @4976 */ -SECTION_RODATA static f32 const lit_4976 = -1.0f; -COMPILER_STRIP_GATE(0x8095D884, &lit_4976); - -/* 8095D888-8095D88C 000248 0004+00 0/3 0/0 0/0 .rodata @4977 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_4977 = 0x3BB40000; -COMPILER_STRIP_GATE(0x8095D888, &lit_4977); -#pragma pop - -/* 8095D88C-8095D890 00024C 0004+00 0/4 0/0 0/0 .rodata @4978 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4978 = 15.0f; -COMPILER_STRIP_GATE(0x8095D88C, &lit_4978); -#pragma pop - -/* 8095D890-8095D898 000250 0008+00 0/3 0/0 0/0 .rodata @4980 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4980[8] = { - 0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8095D890, &lit_4980); -#pragma pop - /* 80959C40-8095A67C 001A40 0A3C+00 4/0 0/0 0/0 .text wait_type0__10daNpcAsh_cFPv */ -#ifdef NONMATCHING bool daNpcAsh_c::wait_type0(void* param_0) { switch (mMode) { case 0: @@ -1742,7 +1043,7 @@ bool daNpcAsh_c::wait_type0(void* param_0) { if (dComIfGp_event_runCheck()) { if (eventInfo.checkCommandTalk()) { - if (!dComIfGp_event_chkTalkXY() || dComIfGp_evmng_ChkPresentEnd()) { + if (dComIfGp_event_chkTalkXY() == FALSE || dComIfGp_evmng_ChkPresentEnd()) { if (isSneaking()) { mOrderEvtNo = 3; changeEvent(l_arcNames[0], l_evtNames[mOrderEvtNo], 1, -1); @@ -1770,11 +1071,6 @@ bool daNpcAsh_c::wait_type0(void* param_0) { return true; } -#else -bool daNpcAsh_c::wait_type0(void* param_0) { - // NONMATCHING -} -#endif /* 8095A67C-8095A6C0 00247C 0044+00 1/0 0/0 0/0 .text setMotion__10daNpcAsh_cFifi */ void daNpcAsh_c::setMotion(int i_motion, f32 i_morf, BOOL i_restart) { @@ -1799,24 +1095,7 @@ void daNpcAsh_c::setExpression(int i_expression, f32 i_morf) { } } -/* ############################################################################################## */ -/* 8095D898-8095D89C 000258 0004+00 0/1 0/0 0/0 .rodata @5033 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_5033 = 0xC5866001; -COMPILER_STRIP_GATE(0x8095D898, &lit_5033); -#pragma pop - -/* 8095D89C-8095D8A0 00025C 0004+00 0/1 0/0 0/0 .rodata @5034 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_5034 = 0x4606CEA1; -COMPILER_STRIP_GATE(0x8095D89C, &lit_5034); -#pragma pop - /* 8095A6EC-8095A8EC 0024EC 0200+00 3/0 0/0 0/0 .text wait_type1__10daNpcAsh_cFPv */ -#ifdef NONMATCHING -// literals bool daNpcAsh_c::wait_type1(void* param_0) { switch (mMode) { case 0: @@ -1833,7 +1112,7 @@ bool daNpcAsh_c::wait_type1(void* param_0) { switch (field_0xf54) { case 0: if (daNpcF_chkTmpBit(0x76)) { - current.pos.set(-4300.0f, 0.0f, 8627.657f); + current.pos.set(-4300.0005f, 0.0f, 8627.657f); old.pos = current.pos; setAngle(-0x6000); field_0xf54++; @@ -1855,15 +1134,8 @@ bool daNpcAsh_c::wait_type1(void* param_0) { return true; } -#else -bool daNpcAsh_c::wait_type1(void* param_0) { - // NONMATCHING -} -#endif /* 8095A8EC-8095AD28 0026EC 043C+00 1/0 0/0 0/0 .text talk__10daNpcAsh_cFPv */ -#ifdef NONMATCHING -// literals bool daNpcAsh_c::talk(void* param_0) { bool ret = false; @@ -1918,14 +1190,8 @@ bool daNpcAsh_c::talk(void* param_0) { return ret; } -#else -bool daNpcAsh_c::talk(void* param_0) { - // NONMATCHING -} -#endif /* 8095AD28-8095B164 002B28 043C+00 1/0 0/0 0/0 .text demo__10daNpcAsh_cFPv */ -#ifdef NONMATCHING bool daNpcAsh_c::demo(void* param_0) { switch (mMode) { case 0: @@ -1939,22 +1205,23 @@ bool daNpcAsh_c::demo(void* param_0) { // fallthrough case 2: - if (dComIfGp_event_runCheck() && !eventInfo.checkCommandTalk()) { - s32 staff_id = dComIfGp_getEventManager().getMyStaffId(l_myName, NULL, 0); + if (dComIfGp_event_runCheck() != FALSE && !eventInfo.checkCommandTalk()) { + dEvent_manager_c& eventManager = dComIfGp_getEventManager(); + s32 staff_id = eventManager.getMyStaffId(l_myName, NULL, 0); if (staff_id != -1) { mStaffID = staff_id; - s32 eventIdx = dComIfGp_getEventManager().getMyActIdx(staff_id, l_evtNames, - ARRAY_SIZE(l_evtNames), 0, 0); + s32 eventIdx = eventManager.getMyActIdx(staff_id, l_evtNames, + ARRAY_SIZE(l_evtNames), 0, 0); if (eventIdx >= 1 && eventIdx < 6) { mOrderEvtNo = eventIdx; } if ((this->*(mEvtSeqList[mOrderEvtNo]))(staff_id)) { - dComIfGp_getEventManager().cutEnd(staff_id); + eventManager.cutEnd(staff_id); } } if (eventInfo.checkCommandDemoAccrpt() && mEventIdx != -1 - && dComIfGp_getEventManager().endCheck(mEventIdx)) + && eventManager.endCheck(mEventIdx)) { dComIfGp_event_reset(); mOrderEvtNo = 0; @@ -1982,60 +1249,11 @@ bool daNpcAsh_c::demo(void* param_0) { return true; } -#else -bool daNpcAsh_c::demo(void* param_0) { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ -/* 8095D8A0-8095D8A4 000260 0004+00 0/1 0/0 0/0 .rodata @5227 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_5227 = 0xC5C36B19; -COMPILER_STRIP_GATE(0x8095D8A0, &lit_5227); -#pragma pop - -/* 8095D8A4-8095D8A8 000264 0004+00 0/1 0/0 0/0 .rodata @5228 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_5228 = 0x45C35E15; -COMPILER_STRIP_GATE(0x8095D8A4, &lit_5228); -#pragma pop - -/* 8095D8A8-8095D8B0 000268 0008+00 0/2 0/0 0/0 .rodata @5229 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5229[8] = { - 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8095D8A8, &lit_5229); -#pragma pop - -/* 8095D8B0-8095D8B8 000270 0008+00 0/2 0/0 0/0 .rodata @5230 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5230[8] = { - 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8095D8B0, &lit_5230); -#pragma pop - -/* 8095D8B8-8095D8C0 000278 0008+00 0/2 0/0 0/0 .rodata @5231 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5231[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8095D8B8, &lit_5231); -#pragma pop /* 8095B164-8095B48C 002F64 0328+00 1/0 0/0 0/0 .text leave__10daNpcAsh_cFPv */ -#ifdef NONMATCHING -// literals bool daNpcAsh_c::leave(void* param_0) { cXyz target; - target.set(-6253.387, 0.0, 6251.76); + target.set(-6253.387, 0.0, 6251.7603); switch (mMode) { case 0: @@ -2060,24 +1278,11 @@ bool daNpcAsh_c::leave(void* param_0) { return true; } -#else -bool daNpcAsh_c::leave(void* param_0) { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ -/* 8095D910-8095D910 0002D0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8095D98B = "prm"; -#pragma pop /* 8095B48C-8095B58C 00328C 0100+00 1/0 0/0 0/0 .text EvCut_Introduction__10daNpcAsh_cFi */ - BOOL daNpcAsh_c::EvCut_Introduction(int i_staffID) { - int* prm = dComIfGp_evmng_getMyIntegerP(i_staffID, ((char*)&d_a_npc_ash__stringBase0) + 0x7B); + int* prm = dComIfGp_evmng_getMyIntegerP(i_staffID, "prm"); if (prm == NULL) { return false; } @@ -2097,17 +1302,7 @@ BOOL daNpcAsh_c::EvCut_Introduction(int i_staffID) { return false; } - -/* ############################################################################################## */ -/* 8095D8C0-8095D8D0 000280 0010+00 1/1 0/0 0/0 .rodata @5254 */ -SECTION_RODATA static u8 const lit_5254[16] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8095D8C0, &lit_5254); - /* 8095B58C-8095B83C 00338C 02B0+00 1/0 0/0 0/0 .text EvCut_Meeting__10daNpcAsh_cFi */ -#ifdef NONMATCHING -// literals BOOL daNpcAsh_c::EvCut_Meeting(int i_staffID) { dEvent_manager_c& evtMgr = dComIfGp_getEventManager(); fopAc_ac_c* actors[4] = { @@ -2162,22 +1357,8 @@ BOOL daNpcAsh_c::EvCut_Meeting(int i_staffID) { return false; } -#else -BOOL daNpcAsh_c::EvCut_Meeting(int param_0) { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ -/* 8095D8D0-8095D8E0 000290 0010+00 1/1 0/0 0/0 .rodata @5295 */ -SECTION_RODATA static u8 const lit_5295[16] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8095D8D0, &lit_5295); /* 8095B83C-8095BA80 00363C 0244+00 1/0 0/0 0/0 .text EvCut_WiretapSponsor__10daNpcAsh_cFi */ -#ifdef NONMATCHING -// literals BOOL daNpcAsh_c::EvCut_WiretapSponsor(int i_staffID) { dEvent_manager_c& evtMgr = dComIfGp_getEventManager(); fopAc_ac_c* actors[4] = { @@ -2225,21 +1406,16 @@ BOOL daNpcAsh_c::EvCut_WiretapSponsor(int i_staffID) { return false; } -#else -BOOL daNpcAsh_c::EvCut_WiretapSponsor(int param_0) { - // NONMATCHING -} -#endif /* 8095BA80-8095BC38 003880 01B8+00 2/0 0/0 0/0 .text EvCut_WiretapEntrant__10daNpcAsh_cFi */ -#ifdef NONMATCHING BOOL daNpcAsh_c::EvCut_WiretapEntrant(int i_staffID) { + dEvent_manager_c& eventManager = dComIfGp_getEventManager(); int* prm = dComIfGp_evmng_getMyIntegerP(i_staffID, "prm"); if (prm == NULL) { return false; } - if (dComIfGp_getEventManager().getIsAddvance(i_staffID)) { + if (eventManager.getIsAddvance(i_staffID)) { switch (*prm) { case 0: setExpression(EXPR_NONE, -1.0f); @@ -2266,11 +1442,6 @@ BOOL daNpcAsh_c::EvCut_WiretapEntrant(int i_staffID) { setLookMode(LOOK_ATTN, talk_partner); return true; } -#else -BOOL daNpcAsh_c::EvCut_WiretapEntrant(int param_0) { - // NONMATCHING -} -#endif /* 8095BC38-8095BC58 003A38 0020+00 1/0 0/0 0/0 .text daNpcAsh_Create__FPv */ static cPhs__Step daNpcAsh_Create(void* i_this) { @@ -2297,15 +1468,7 @@ static int daNpcAsh_IsDelete(void* i_this) { return 1; } -/* 8095BCC0-8095BCF0 003AC0 0030+00 1/0 0/0 0/0 .text calc__11J3DTexNoAnmCFPUs */ -// void J3DTexNoAnm::calc(u16* param_0) const { -void calc__11J3DTexNoAnmCFPUs() { - // NONMATCHING -} - /* 8095BCF0-8095BF6C 003AF0 027C+00 1/0 0/0 0/0 .text setParam__10daNpcAsh_cFv */ -#ifdef NONMATCHING -// literals void daNpcAsh_c::setParam() { searchActors(); attention_info.flags = 0xa; @@ -2328,11 +1491,6 @@ void daNpcAsh_c::setParam() { } } } -#else -void daNpcAsh_c::setParam() { - // NONMATCHING -} -#endif /* 8095BF6C-8095C200 003D6C 0294+00 1/0 0/0 0/0 .text main__10daNpcAsh_cFv */ BOOL daNpcAsh_c::main() { @@ -2348,67 +1506,8 @@ BOOL daNpcAsh_c::main() { return true; } -// /* 8095C200-8095C520 004000 0320+00 1/1 0/0 0/0 .text playMotion__10daNpcAsh_cFv */ -void daNpcAsh_c::playMotion() { - daNpcF_anmPlayData dat0 = {ANM_WAIT_A, daNpcAsh_Param_c::m.mMorfFrames, 0}; - daNpcF_anmPlayData* pDat0[1] = {&dat0}; - daNpcF_anmPlayData dat1 = {ANM_WAIT_B, daNpcAsh_Param_c::m.mMorfFrames, 0}; - daNpcF_anmPlayData* pDat1[1] = {&dat1}; - daNpcF_anmPlayData dat2 = {ANM_WAIT_C, daNpcAsh_Param_c::m.mMorfFrames, 0}; - daNpcF_anmPlayData* pDat2[1] = {&dat2}; - daNpcF_anmPlayData dat3a = {ANM_COOL, daNpcAsh_Param_c::m.mMorfFrames, 1}; - daNpcF_anmPlayData dat3b = {ANM_WAIT_C, daNpcAsh_Param_c::m.mMorfFrames, 0}; - daNpcF_anmPlayData* pDat3[2] = {&dat3a, &dat3b}; - daNpcF_anmPlayData dat4a = {ANM_ASK, daNpcAsh_Param_c::m.mMorfFrames, 1}; - daNpcF_anmPlayData dat4b = {ANM_WAIT_C, daNpcAsh_Param_c::m.mMorfFrames, 0}; - daNpcF_anmPlayData* pDat4[2] = {&dat4a, &dat4b}; - daNpcF_anmPlayData dat5a = {ANM_EXPLAIN_A, daNpcAsh_Param_c::m.mMorfFrames, 1}; - daNpcF_anmPlayData dat5b = {ANM_WAIT_C, daNpcAsh_Param_c::m.mMorfFrames, 0}; - daNpcF_anmPlayData* pDat5[2] = {&dat5a, &dat5b}; - daNpcF_anmPlayData dat6a = {ANM_EXPLAIN_B, daNpcAsh_Param_c::m.mMorfFrames, 1}; - daNpcF_anmPlayData dat6b = {ANM_WAIT_A, daNpcAsh_Param_c::m.mMorfFrames, 0}; - daNpcF_anmPlayData* pDat6[2] = {&dat6a, &dat6b}; - daNpcF_anmPlayData dat7 = {ANM_BOWWAIT, daNpcAsh_Param_c::m.mMorfFrames, 0}; - daNpcF_anmPlayData* pDat7[1] = {&dat7}; - daNpcF_anmPlayData dat8 = {ANM_BOWRUN, daNpcAsh_Param_c::m.mMorfFrames, 0}; - daNpcF_anmPlayData* pDat8[1] = {&dat8}; - daNpcF_anmPlayData dat9 = {ANM_STEP, 4.0f, 1}; - daNpcF_anmPlayData* pDat9[1] = {&dat9}; - daNpcF_anmPlayData** ppDat[10] = { - pDat0, - pDat1, - pDat2, - pDat3, - pDat4, - pDat5, - pDat6, - pDat7, - pDat8, - pDat9, - }; - if (mMotion >= 0 && mMotion < 10) { - playMotionAnm(ppDat); - } -} - - -/* ############################################################################################## */ -/* 8095D8E0-8095D8E4 0002A0 0004+00 0/1 0/0 0/0 .rodata @5492 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5492 = 1.0f / 5.0f; -COMPILER_STRIP_GATE(0x8095D8E0, &lit_5492); -#pragma pop - -/* 8095D8E4-8095D8E8 0002A4 0004+00 0/1 0/0 0/0 .rodata @5493 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5493 = 2.0f / 5.0f; -COMPILER_STRIP_GATE(0x8095D8E4, &lit_5493); -#pragma pop - /* 8095C520-8095C5C4 004320 00A4+00 1/0 0/0 0/0 .text ctrlBtk__10daNpcAsh_cFv */ -#ifdef NONMATCHING +// NONMATCHING inlining issues BOOL daNpcAsh_c::ctrlBtk() { if (mpMatAnm != NULL) { mpMatAnm->setNowOffsetX(cM_ssin(mEyeAngle.y) * 0.2f * -1.0f); @@ -2419,58 +1518,8 @@ BOOL daNpcAsh_c::ctrlBtk() { return false; } } -#else -BOOL daNpcAsh_c::ctrlBtk() { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ -/* 8095D8E8-8095D8EC 0002A8 0004+00 0/1 0/0 0/0 .rodata @5589 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5589 = 10.0f; -COMPILER_STRIP_GATE(0x8095D8E8, &lit_5589); -#pragma pop - -/* 8095D8EC-8095D8F0 0002AC 0004+00 0/1 0/0 0/0 .rodata @5590 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5590 = 3070.0f; -COMPILER_STRIP_GATE(0x8095D8EC, &lit_5590); -#pragma pop - -/* 8095D8F0-8095D8F4 0002B0 0004+00 0/1 0/0 0/0 .rodata @5591 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5591 = -1150.0f; -COMPILER_STRIP_GATE(0x8095D8F0, &lit_5591); -#pragma pop - -/* 8095D8F4-8095D8F8 0002B4 0004+00 0/1 0/0 0/0 .rodata @5592 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5592 = 2446.0f; -COMPILER_STRIP_GATE(0x8095D8F4, &lit_5592); -#pragma pop - -/* 8095D8F8-8095D8FC 0002B8 0004+00 0/1 0/0 0/0 .rodata @5593 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5593 = 170.0f; -COMPILER_STRIP_GATE(0x8095D8F8, &lit_5593); -#pragma pop - -/* 8095D8FC-8095D900 0002BC 0004+00 0/1 0/0 0/0 .rodata @5594 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5594 = 60.0f; -COMPILER_STRIP_GATE(0x8095D8FC, &lit_5594); -#pragma pop /* 8095C5C4-8095C9BC 0043C4 03F8+00 1/0 0/0 0/0 .text setAttnPos__10daNpcAsh_cFv */ -#ifdef NONMATCHING -// literals void daNpcAsh_c::setAttnPos() { if (mLookMode == LOOK_RESET) { for (int i = 0; i < 3; i++) { @@ -2524,44 +1573,9 @@ void daNpcAsh_c::setAttnPos() { dComIfG_Ccsp()->Set(&mCcCyl[1]); } } -#else -void daNpcAsh_c::setAttnPos() { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ -/* 8095D900-8095D904 0002C0 0004+00 0/1 0/0 0/0 .rodata @5649 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5649 = -15.0f; -COMPILER_STRIP_GATE(0x8095D900, &lit_5649); -#pragma pop - -/* 8095D904-8095D908 0002C4 0004+00 0/1 0/0 0/0 .rodata @5650 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5650 = -30.0f; -COMPILER_STRIP_GATE(0x8095D904, &lit_5650); -#pragma pop - -/* 8095D908-8095D90C 0002C8 0004+00 0/1 0/0 0/0 .rodata @5651 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5651 = 30.0f; -COMPILER_STRIP_GATE(0x8095D908, &lit_5651); -#pragma pop - -/* 8095D90C-8095D910 0002CC 0004+00 0/1 0/0 0/0 .rodata @5652 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5652 = 40.0f; -COMPILER_STRIP_GATE(0x8095D90C, &lit_5652); -#pragma pop /* 8095C9BC-8095CC8C 0047BC 02D0+00 1/1 0/0 0/0 .text lookat__10daNpcAsh_cFv */ -#ifdef NONMATCHING -// literals +// NONMATCHING literal issues void daNpcAsh_c::lookat() { fopAc_ac_c* actor = NULL; J3DModel* model = mpMorf->getModel(); @@ -2572,8 +1586,8 @@ void daNpcAsh_c::lookat() { f32 body_left_angle = mMotion == MOT_WAIT_A ? 15.0f : daNpcAsh_Param_c::m.mBodyLeftAngle; f32 head_down_angle = daNpcAsh_Param_c::m.mHeadDownAngle; f32 head_up_angle = daNpcAsh_Param_c::m.mHeadUpAngle; - f32 head_right_angle = mMotion == MOT_WAIT_A ? 0.0f : daNpcAsh_Param_c::m.mHeadRightAngle; - f32 head_left_angle = mMotion == MOT_WAIT_A ? 0.0f : daNpcAsh_Param_c::m.mHeadLeftAngle; + f32 head_right_angle = mMotion == MOT_WAIT_A ? -30.0f : daNpcAsh_Param_c::m.mHeadRightAngle; + f32 head_left_angle = mMotion == MOT_WAIT_A ? 30.0f : daNpcAsh_Param_c::m.mHeadLeftAngle; s16 angle_delta = mCurAngle.y - mOldAngle.y; cXyz lookat_pos[3] = {mLookatPos[0], mLookatPos[1], mLookatPos[2]}; csXyz* lookat_angle[3] = {&mLookatAngle[0], &mLookatAngle[1], &mLookatAngle[2]}; @@ -2612,167 +1626,35 @@ void daNpcAsh_c::lookat() { mCurAngle.y, lookat_pos); mLookat.calc(this, model->getBaseTRMtx(), lookat_angle, snap, angle_delta, false); } -#else -void daNpcAsh_c::lookat() { - // NONMATCHING -} -#endif /* 8095CC8C-8095CC94 004A8C 0008+00 1/0 0/0 0/0 .text drawDbgInfo__10daNpcAsh_cFv */ BOOL daNpcAsh_c::drawDbgInfo() { return false; } -/* 8095CC94-8095CCA0 004A94 000C+00 1/1 0/0 0/0 .text sinShort__Q25JMath18TSinCosTable<13,f>CFs */ -extern "C" void func_8095CC94(void* _this, s16 param_0) /* const */ { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 8095DD2C-8095DD38 00039C 000C+00 2/2 0/0 0/0 .data __vt__16daNpcAsh_Param_c */ -SECTION_DATA extern void* __vt__16daNpcAsh_Param_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__16daNpcAsh_Param_cFv, +/* 8095DC04-8095DC24 -00001 0020+00 1/0 0/0 0/0 .data daNpcAsh_MethodTable */ +static actor_method_class daNpcAsh_MethodTable = { + (process_method_func)daNpcAsh_Create, + (process_method_func)daNpcAsh_Delete, + (process_method_func)daNpcAsh_Execute, + (process_method_func)daNpcAsh_IsDelete, + (process_method_func)daNpcAsh_Draw, }; -/* 8095DD40-8095DD4C 000008 000C+00 1/1 0/0 0/0 .bss @3822 */ -static u8 lit_3822[12]; - -/* 8095DD4C-8095DD50 000014 0004+00 1/1 0/0 0/0 .bss l_HIO */ -static u8 l_HIO[4]; - -/* 8095CCA0-8095CD8C 004AA0 00EC+00 0/0 1/0 0/0 .text __sinit_d_a_npc_ash_cpp */ -void __sinit_d_a_npc_ash_cpp() { - // NONMATCHING -} - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x8095CCA0, __sinit_d_a_npc_ash_cpp); -#pragma pop - -/* 8095CD8C-8095CDD4 004B8C 0048+00 5/4 0/0 0/0 .text __dt__18daNpcF_ActorMngr_cFv */ -// daNpcF_ActorMngr_c::~daNpcF_ActorMngr_c() { -void __dt__18daNpcF_ActorMngr_cFv() { - // NONMATCHING -} - -/* 8095CDD4-8095CE10 004BD4 003C+00 2/2 0/0 0/0 .text __ct__18daNpcF_ActorMngr_cFv */ -// daNpcF_ActorMngr_c::daNpcF_ActorMngr_c() { -void __ct__18daNpcF_ActorMngr_cFv() { - // NONMATCHING -} - -/* 8095CE10-8095CEE0 004C10 00D0+00 1/0 0/0 0/0 .text __dt__15daNpcF_Lookat_cFv */ -// daNpcF_Lookat_c::~daNpcF_Lookat_c() { -void __dt__15daNpcF_Lookat_cFv() { - // NONMATCHING -} - -/* 8095CEE0-8095CF1C 004CE0 003C+00 5/5 0/0 0/0 .text __dt__5csXyzFv */ -// csXyz::~csXyz() { -void __dt__5csXyzFv() { - // NONMATCHING -} - -/* 8095CF1C-8095CF20 004D1C 0004+00 2/2 0/0 0/0 .text __ct__5csXyzFv */ -// csXyz::csXyz() { -void __ct__5csXyzFv() { - /* empty function */ -} - -/* 8095CF20-8095CF5C 004D20 003C+00 5/5 0/0 0/0 .text __dt__4cXyzFv */ -// cXyz::~cXyz() { -void __dt__4cXyzFv() { - // NONMATCHING -} - -/* 8095CF5C-8095CF60 004D5C 0004+00 2/2 0/0 0/0 .text __ct__4cXyzFv */ -// cXyz::cXyz() { -void __ct__4cXyzFv() { - /* empty function */ -} - -/* 8095CF60-8095D1AC 004D60 024C+00 1/1 0/0 0/0 .text __dt__8daNpcF_cFv */ -// daNpcF_c::~daNpcF_c() { -void __dt__8daNpcF_cFv() { - // NONMATCHING -} - -/* 8095D1AC-8095D39C 004FAC 01F0+00 1/1 0/0 0/0 .text __ct__8daNpcF_cFv */ -// daNpcF_c::daNpcF_c() { -void __ct__8daNpcF_cFv() { - // NONMATCHING -} - -/* 8095D39C-8095D40C 00519C 0070+00 1/0 0/0 0/0 .text __dt__12dBgS_AcchCirFv */ -// dBgS_AcchCir::~dBgS_AcchCir() { -void __dt__12dBgS_AcchCirFv() { - // NONMATCHING -} - -/* 8095D40C-8095D468 00520C 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */ -// dCcD_GStts::~dCcD_GStts() { -void __dt__10dCcD_GSttsFv() { - // NONMATCHING -} - -/* 8095D468-8095D4D8 005268 0070+00 3/2 0/0 0/0 .text __dt__12dBgS_ObjAcchFv */ -// dBgS_ObjAcch::~dBgS_ObjAcch() { -void __dt__12dBgS_ObjAcchFv() { - // NONMATCHING -} - -/* 8095D4D8-8095D520 0052D8 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */ -// J3DFrameCtrl::~J3DFrameCtrl() { -void __dt__12J3DFrameCtrlFv() { - // NONMATCHING -} - -/* 8095D520-8095D524 005320 0004+00 1/0 0/0 0/0 .text adjustShapeAngle__8daNpcF_cFv */ -// void daNpcF_c::adjustShapeAngle() { -void adjustShapeAngle__8daNpcF_cFv() { - /* empty function */ -} - -/* 8095D524-8095D528 005324 0004+00 1/0 0/0 0/0 .text setCollisions__8daNpcF_cFv */ -// void daNpcF_c::setCollisions() { -void setCollisions__8daNpcF_cFv() { - /* empty function */ -} - -/* 8095D528-8095D52C 005328 0004+00 1/0 0/0 0/0 .text drawOtherMdls__8daNpcF_cFv */ -// void daNpcF_c::drawOtherMdls() { -void drawOtherMdls__8daNpcF_cFv() { - /* empty function */ -} - -/* 8095D52C-8095D574 00532C 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */ -// cCcD_GStts::~cCcD_GStts() { -void __dt__10cCcD_GSttsFv() { - // NONMATCHING -} - -/* 8095D574-8095D5D4 005374 0060+00 1/1 0/0 0/0 .text chkPointInArea__15daTag_EvtArea_cF4cXyz */ -// void daTag_EvtArea_c::chkPointInArea(cXyz param_0) { -void chkPointInArea__15daTag_EvtArea_cF4cXyz() { - // NONMATCHING -} - -/* 8095D5D4-8095D61C 0053D4 0048+00 2/1 0/0 0/0 .text __dt__16daNpcAsh_Param_cFv */ -daNpcAsh_Param_c::~daNpcAsh_Param_c() { - // NONMATCHING -} - -/* 8095D61C-8095D624 00541C 0008+00 1/0 0/0 0/0 .text @36@__dt__12dBgS_ObjAcchFv */ -static void func_8095D61C() { - // NONMATCHING -} - -/* 8095D624-8095D62C 005424 0008+00 1/0 0/0 0/0 .text @20@__dt__12dBgS_ObjAcchFv */ -static void func_8095D624() { - // NONMATCHING -} - -/* 8095D910-8095D910 0002D0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file +/* 8095DC24-8095DC54 -00001 0030+00 0/0 0/0 1/0 .data g_profile_NPC_ASH */ +extern actor_process_profile_definition g_profile_NPC_ASH = { + fpcLy_CURRENT_e, + 7, + fpcPi_CURRENT_e, + PROC_NPC_ASH, + &g_fpcLf_Method.mBase, + sizeof(daNpcAsh_c), + 0, + 0, + &g_fopAc_Method.base, + 411, + &daNpcAsh_MethodTable, + 0x40100, + fopAc_NPC_e, + fopAc_CULLBOX_CUSTOM_e, +}; diff --git a/src/d/actor/d_a_npc_ne.cpp b/src/d/actor/d_a_npc_ne.cpp index 684db8e9d0..c0fecff7fb 100644 --- a/src/d/actor/d_a_npc_ne.cpp +++ b/src/d/actor/d_a_npc_ne.cpp @@ -10,250 +10,13 @@ #include "d/d_procname.h" #include "d/actor/d_a_mg_rod.h" #include "d/actor/d_a_mg_fish.h" -#include "dol2asm.h" #include "SSystem/SComponent/c_math.h" #include "JSystem/JUtility/JUTReport.h" #include "f_op/f_op_kankyo_mng.h" #include "c/c_damagereaction.h" -// -// Forward References: -// - -extern "C" void __ct__14daNpc_Ne_HIO_cFv(); -extern "C" static void anm_init__FP12npc_ne_classifUcf(); -extern "C" static void nodeCallBack__FP8J3DJointi(); -extern "C" static void daNpc_Ne_Draw__FP12npc_ne_class(); -extern "C" void __dt__4cXyzFv(); -extern "C" static void other_bg_check__FP10fopAc_ac_cP10fopAc_ac_c(); -extern "C" static void ne_carry_check__FP12npc_ne_class(); -extern "C" static void way_bg_check__FP12npc_ne_classs(); -extern "C" void __dt__8cM3dGPlaFv(); -extern "C" static void water_check__FP12npc_ne_classf(); -extern "C" static void climb_angle_get__FP12npc_ne_class(); -extern "C" static void s_bl_sub__FPvPv(); -extern "C" static void s_ss_sub__FPvPv(); -extern "C" static void search_bird__FP12npc_ne_class(); -extern "C" static void way_check__FP12npc_ne_classs(); -extern "C" static void npc_ne_wait__FP12npc_ne_class(); -extern "C" static void npc_ne_away__FP12npc_ne_class(); -extern "C" static void ground_search__FP12npc_ne_class(); -extern "C" static void s_fish_sub__FPvPv(); -extern "C" static void npc_ne_tame__FP12npc_ne_class(); -extern "C" static void npc_ne_sanbasi__FP12npc_ne_class(); -extern "C" static void npc_ne_bird__FP12npc_ne_class(); -extern "C" static void npc_ne_ball__FP12npc_ne_class(); -extern "C" static void npc_ne_pathwalk__FP12npc_ne_class(); -extern "C" static void npc_ne_jump__FP12npc_ne_class(); -extern "C" static void npc_ne_s_jump__FP12npc_ne_class(); -extern "C" static void npc_ne_roof__FP12npc_ne_class(); -extern "C" static void home_path_search__FP12npc_ne_classi(); -extern "C" static void npc_ne_home__FP12npc_ne_class(); -extern "C" static void wall_angle_get__FP12npc_ne_class(); -extern "C" static void search_ground_1__FP12npc_ne_class(); -extern "C" void __ct__4cXyzFv(); -extern "C" static void search_ground_2__FP12npc_ne_classs(); -extern "C" static void npc_ne_swim__FP12npc_ne_class(); -extern "C" static void npc_ne_outswim__FP12npc_ne_class(); -extern "C" static void npc_ne_climb__FP12npc_ne_class(); -extern "C" static void npc_ne_drop__FP12npc_ne_class(); -extern "C" static void npc_ne_s_drop__FP12npc_ne_class(); -extern "C" static void npc_ne_carry__FP12npc_ne_class(); -extern "C" static void npc_ne_dish__FP12npc_ne_class(); -extern "C" static void npc_ne_message__FP12npc_ne_class(); -extern "C" static void action__FP12npc_ne_class(); -extern "C" static void demo_camera__FP12npc_ne_class(); -extern "C" static void message__FP12npc_ne_class(); -extern "C" static void daNpc_Ne_Execute__FP12npc_ne_class(); -extern "C" static bool daNpc_Ne_IsDelete__FP12npc_ne_class(); -extern "C" static void daNpc_Ne_Delete__FP12npc_ne_class(); -extern "C" static void useHeapInit__FP10fopAc_ac_c(); -extern "C" void __dt__12J3DFrameCtrlFv(); -extern "C" static void daNpc_Ne_Create__FP10fopAc_ac_c(); -extern "C" void __ct__12npc_ne_classFv(); -extern "C" void __dt__8cM3dGSphFv(); -extern "C" void __dt__8cM3dGAabFv(); -extern "C" void __dt__12dBgS_ObjAcchFv(); -extern "C" void __dt__14daNpc_Ne_HIO_cFv(); -extern "C" void __sinit_d_a_npc_ne_cpp(); -extern "C" static void func_80A923F8(); -extern "C" static void func_80A92400(); -extern "C" extern char const* const d_a_npc_ne__stringBase0; -static cPhs__Step daNpc_Ne_Create(fopAc_ac_c*); -static int daNpc_Ne_Delete(npc_ne_class*); -static int daNpc_Ne_Execute(npc_ne_class*); -static int daNpc_Ne_IsDelete(npc_ne_class*); -static int daNpc_Ne_Draw(npc_ne_class*); - -// -// External References: -// - -extern "C" void fopAcM_riverStream__FP4cXyzPsPff(); -extern "C" void mDoMtx_XrotM__FPA4_fs(); -extern "C" void mDoMtx_YrotS__FPA4_fs(); -extern "C" void mDoMtx_YrotM__FPA4_fs(); -extern "C" void mDoMtx_ZrotM__FPA4_fs(); -extern "C" void transM__14mDoMtx_stack_cFfff(); -extern "C" void scaleM__14mDoMtx_stack_cFfff(); -extern "C" void init__13mDoExt_btpAnmFP16J3DMaterialTableP16J3DAnmTexPatterniifss(); -extern "C" void entry__13mDoExt_btpAnmFP16J3DMaterialTables(); -extern "C" void init__13mDoExt_btkAnmFP16J3DMaterialTableP19J3DAnmTextureSRTKeyiifss(); -extern "C" void entry__13mDoExt_btkAnmFP16J3DMaterialTablef(); -extern "C" void -__ct__14mDoExt_McaMorfFP12J3DModelDataP25mDoExt_McaMorfCallBack1_cP25mDoExt_McaMorfCallBack2_cP15J3DAnmTransformifiiiPvUlUl(); -extern "C" void setAnm__14mDoExt_McaMorfFP15J3DAnmTransformiffffPv(); -extern "C" void play__14mDoExt_McaMorfFP3VecUlSc(); -extern "C" void entryDL__14mDoExt_McaMorfFv(); -extern "C" void modelCalc__14mDoExt_McaMorfFv(); -extern "C" void cDmrNowMidnaTalk__Fv(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void fopAc_IsActor__FPv(); -extern "C" void fopAcIt_Judge__FPFPvPv_PvPv(); -extern "C" void fopAcM_delete__FP10fopAc_ac_c(); -extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl(); -extern "C" void fopAcM_searchActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c(); -extern "C" void fopAcM_searchActorDistance__FPC10fopAc_ac_cPC10fopAc_ac_c(); -extern "C" void fopAcM_orderPotentialEvent__FP10fopAc_ac_cUsUsUs(); -extern "C" void fopAcM_createItem__FPC4cXyziiiPC5csXyzPC4cXyzi(); -extern "C" void fopAcM_otherBgCheck__FPC10fopAc_ac_cPC10fopAc_ac_c(); -extern "C" void fopAcM_wayBgCheck__FPC10fopAc_ac_cff(); -extern "C" void fopAcM_effHamonSet__FPUlPC4cXyzff(); -extern "C" void fopKyM_createWpillar__FPC4cXyzfi(); -extern "C" void fpcEx_Search__FPFPvPv_PvPv(); -extern "C" void fpcSch_JudgeForPName__FPvPv(); -extern "C" void fpcSch_JudgeByID__FPvPv(); -extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfGp_getReverb__Fi(); -extern "C" void -dComIfGd_setShadow__FUlScP8J3DModelP4cXyzffffR13cBgS_PolyInfoP12dKy_tevstr_csfP9_GXTexObj(); -extern "C" void dComIfGs_wolfeye_effect_check__Fv(); -extern "C" void onEventBit__11dSv_event_cFUs(); -extern "C" void isEventBit__11dSv_event_cCFUs(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void reset__14dEvt_control_cFv(); -extern "C" void getEmitter__Q213dPa_control_c7level_cFUl(); -extern "C" void -set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf(); -extern "C" void dPath_GetRoomPath__Fii(); -extern "C" void LineCross__4cBgSFP11cBgS_LinChk(); -extern "C" void GroundCross__4cBgSFP11cBgS_GndChk(); -extern "C" void GetTriPla__4cBgSCFRC13cBgS_PolyInfoP8cM3dGPla(); -extern "C" void __ct__12dBgS_AcchCirFv(); -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__18dBgS_ObjGndChk_SplFv(); -extern "C" void __dt__18dBgS_ObjGndChk_SplFv(); -extern "C" void __ct__11dBgS_LinChkFv(); -extern "C" void __dt__11dBgS_LinChkFv(); -extern "C" void Set__11dBgS_LinChkFPC4cXyzPC4cXyzPC10fopAc_ac_c(); -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 Set__8dCcD_SphFRC11dCcD_SrcSph(); -extern "C" void linkGrabSubjectNoDraw__9daPy_py_cFP10fopAc_ac_c(); -extern "C" void Start__9dCamera_cFv(); -extern "C" void Stop__9dCamera_cFv(); -extern "C" void SetTrimSize__9dCamera_cFl(); -extern "C" void Set__9dCamera_cF4cXyz4cXyzfs(); -extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void dKy_darkworld_check__Fv(); -extern "C" void __ct__10dMsgFlow_cFv(); -extern "C" void init__10dMsgFlow_cFP10fopAc_ac_ciiPP10fopAc_ac_c(); -extern "C" void doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci(); -extern "C" void getNowMsgNo__10dMsgFlow_cFv(); -extern "C" void Set__4cCcSFP8cCcD_Obj(); -extern "C" void __mi__4cXyzCFRC3Vec(); -extern "C" void cM_atan2s__Fff(); -extern "C" void cM_rndF__Ff(); -extern "C" void cM_rndFX__Ff(); -extern "C" void SetPos__11cBgS_GndChkFPC3Vec(); -extern "C" void SetPos__11cBgS_GndChkFPC4cXyz(); -extern "C" void SetC__8cM3dGSphFRC4cXyz(); -extern "C" void SetR__8cM3dGSphFf(); -extern "C" void cLib_addCalc2__FPffff(); -extern "C" void cLib_addCalc0__FPfff(); -extern "C" void cLib_addCalcAngleS2__FPssss(); -extern "C" void MtxPosition__FP4cXyzP4cXyz(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void changeBgmStatus__8Z2SeqMgrFl(); -extern "C" void deleteObject__14Z2SoundObjBaseFv(); -extern "C" void __ct__16Z2SoundObjSimpleFv(); -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); -extern "C" void JUTReport__FiiPCce(); -extern "C" void init__12J3DFrameCtrlFs(); -extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void __destroy_arr(); -extern "C" void __construct_array(); -extern "C" void _savegpr_23(); -extern "C" void _savegpr_24(); -extern "C" void _savegpr_25(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_23(); -extern "C" void _restgpr_24(); -extern "C" void _restgpr_25(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; -extern "C" extern void* __vt__8dCcD_Sph[36]; -extern "C" extern void* __vt__9dCcD_Stts[11]; -extern "C" extern void* __vt__12cCcD_SphAttr[25]; -extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; -extern "C" extern void* __vt__9cCcD_Stts[8]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" u8 mCurrentMtx__6J3DSys[48]; -extern "C" u8 sincosTable___5JMath[65536]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; -extern "C" void __register_global_object(); - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 80A9241C-80A92420 000000 0004+00 36/36 0/0 0/0 .rodata @3990 */ -SECTION_RODATA static f32 const lit_3990 = 1.0f; -COMPILER_STRIP_GATE(0x80A9241C, &lit_3990); - -/* 80A92420-80A92424 000004 0004+00 0/4 0/0 0/0 .rodata @3991 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3991 = 2.5f; -COMPILER_STRIP_GATE(0x80A92420, &lit_3991); -#pragma pop - -/* 80A92424-80A92428 000008 0004+00 0/2 0/0 0/0 .rodata @3992 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3992 = 12.0f; -COMPILER_STRIP_GATE(0x80A92424, &lit_3992); -#pragma pop - -/* 80A92428-80A9242C 00000C 0004+00 0/17 0/0 0/0 .rodata @3993 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3993 = 2.0f; -COMPILER_STRIP_GATE(0x80A92428, &lit_3993); -#pragma pop - - /* 80A925F0-80A92850 000000 0260+00 3/3 0/0 0/0 .data home_path */ -SECTION_DATA static home_path_pnt home_path[38] = { +static home_path_pnt home_path[38] = { {0, {561.0f, 87.0f, -1110.0f}}, {1, {306.0f, 87.0f, -849.0f}}, {2, {158.0f, 139.0f, -929.0f}}, @@ -294,197 +57,6 @@ SECTION_DATA static home_path_pnt home_path[38] = { {-1, {0.0f, 0.0f, 0.0f}}, }; -/* 80A92850-80A92880 -00001 0030+00 1/1 0/0 0/0 .data @5010 */ -SECTION_DATA static void* lit_5010[12] = { - (void*)(((char*)npc_ne_tame__FP12npc_ne_class) + 0xD0), - (void*)(((char*)npc_ne_tame__FP12npc_ne_class) + 0x110), - (void*)(((char*)npc_ne_tame__FP12npc_ne_class) + 0x21C), - (void*)(((char*)npc_ne_tame__FP12npc_ne_class) + 0x760), - (void*)(((char*)npc_ne_tame__FP12npc_ne_class) + 0x760), - (void*)(((char*)npc_ne_tame__FP12npc_ne_class) + 0x44C), - (void*)(((char*)npc_ne_tame__FP12npc_ne_class) + 0x4A4), - (void*)(((char*)npc_ne_tame__FP12npc_ne_class) + 0x52C), - (void*)(((char*)npc_ne_tame__FP12npc_ne_class) + 0x594), - (void*)(((char*)npc_ne_tame__FP12npc_ne_class) + 0x760), - (void*)(((char*)npc_ne_tame__FP12npc_ne_class) + 0x684), - (void*)(((char*)npc_ne_tame__FP12npc_ne_class) + 0x684), -}; - -/* 80A92880-80A9289C -00001 001C+00 1/1 0/0 0/0 .data @5215 */ -SECTION_DATA static void* lit_5215[7] = { - (void*)(((char*)npc_ne_ball__FP12npc_ne_class) + 0x1BC), - (void*)(((char*)npc_ne_ball__FP12npc_ne_class) + 0x224), - (void*)(((char*)npc_ne_ball__FP12npc_ne_class) + 0x3D8), - (void*)(((char*)npc_ne_ball__FP12npc_ne_class) + 0x430), - (void*)(((char*)npc_ne_ball__FP12npc_ne_class) + 0x560), - (void*)(((char*)npc_ne_ball__FP12npc_ne_class) + 0x4BC), - (void*)(((char*)npc_ne_ball__FP12npc_ne_class) + 0x4E8), -}; - -/* 80A9289C-80A928F0 -00001 0054+00 1/1 0/0 0/0 .data @5659 */ -SECTION_DATA static void* lit_5659[21] = { - (void*)(((char*)npc_ne_home__FP12npc_ne_class) + 0x7C), - (void*)(((char*)npc_ne_home__FP12npc_ne_class) + 0xB0), - (void*)(((char*)npc_ne_home__FP12npc_ne_class) + 0x100), - (void*)(((char*)npc_ne_home__FP12npc_ne_class) + 0x2B4), - (void*)(((char*)npc_ne_home__FP12npc_ne_class) + 0x2EC), - (void*)(((char*)npc_ne_home__FP12npc_ne_class) + 0x84C), - (void*)(((char*)npc_ne_home__FP12npc_ne_class) + 0x84C), - (void*)(((char*)npc_ne_home__FP12npc_ne_class) + 0x84C), - (void*)(((char*)npc_ne_home__FP12npc_ne_class) + 0x84C), - (void*)(((char*)npc_ne_home__FP12npc_ne_class) + 0x84C), - (void*)(((char*)npc_ne_home__FP12npc_ne_class) + 0x338), - (void*)(((char*)npc_ne_home__FP12npc_ne_class) + 0x464), - (void*)(((char*)npc_ne_home__FP12npc_ne_class) + 0x528), - (void*)(((char*)npc_ne_home__FP12npc_ne_class) + 0x5A4), - (void*)(((char*)npc_ne_home__FP12npc_ne_class) + 0x5E4), - (void*)(((char*)npc_ne_home__FP12npc_ne_class) + 0x84C), - (void*)(((char*)npc_ne_home__FP12npc_ne_class) + 0x84C), - (void*)(((char*)npc_ne_home__FP12npc_ne_class) + 0x84C), - (void*)(((char*)npc_ne_home__FP12npc_ne_class) + 0x84C), - (void*)(((char*)npc_ne_home__FP12npc_ne_class) + 0x84C), - (void*)(((char*)npc_ne_home__FP12npc_ne_class) + 0x7E8), -}; - -/* 80A928F0-80A92944 -00001 0054+00 1/1 0/0 0/0 .data @6824 */ -SECTION_DATA static void* lit_6824[21] = { - (void*)(((char*)action__FP12npc_ne_class) + 0x164), - (void*)(((char*)action__FP12npc_ne_class) + 0x178), - (void*)(((char*)action__FP12npc_ne_class) + 0x190), - (void*)(((char*)action__FP12npc_ne_class) + 0x1BC), - (void*)(((char*)action__FP12npc_ne_class) + 0x1A8), - (void*)(((char*)action__FP12npc_ne_class) + 0x200), - (void*)(((char*)action__FP12npc_ne_class) + 0x210), - (void*)(((char*)action__FP12npc_ne_class) + 0x1CC), - (void*)(((char*)action__FP12npc_ne_class) + 0x1D8), - (void*)(((char*)action__FP12npc_ne_class) + 0x1EC), - (void*)(((char*)action__FP12npc_ne_class) + 0x220), - (void*)(((char*)action__FP12npc_ne_class) + 0x30C), - (void*)(((char*)action__FP12npc_ne_class) + 0x238), - (void*)(((char*)action__FP12npc_ne_class) + 0x264), - (void*)(((char*)action__FP12npc_ne_class) + 0x27C), - (void*)(((char*)action__FP12npc_ne_class) + 0x294), - (void*)(((char*)action__FP12npc_ne_class) + 0x2A8), - (void*)(((char*)action__FP12npc_ne_class) + 0x2BC), - (void*)(((char*)action__FP12npc_ne_class) + 0x2D0), - (void*)(((char*)action__FP12npc_ne_class) + 0x30C), - (void*)(((char*)action__FP12npc_ne_class) + 0x2E8), -}; - -/* 80A92944-80A92948 000354 0004+00 1/1 0/0 0/0 .data e_name$7147 */ -SECTION_DATA static u8 e_name[4] = { - 0x84, - 0x97, - 0x84, - 0x98, -}; - -/* 80A92948-80A92950 000358 0008+00 1/1 0/0 0/0 .data dish_bck$7371 */ -SECTION_DATA static u8 dish_bck[8] = { - 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x08, -}; - -/* 80A92950-80A92990 000360 0040+00 1/1 0/0 0/0 .data cc_sph_src$7518 */ -static dCcD_SrcSph cc_sph_src = { - { - {0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x75}}, // mObj - {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt - {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg - {0x0}, // mGObjCo - }, // mObjInf - { - {{0.0f, 0.0f, 0.0f}, 20.0f} // mSph - } // mSphAttr -}; - -/* 80A92990-80A929D0 0003A0 0040+00 1/1 0/0 0/0 .data at_sph_src$7519 */ -static dCcD_SrcSph at_sph_src = { - { - {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0x1f}, {0x0, 0x0}, 0x0}}, // mObj - {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt - {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg - {0x0}, // mGObjCo - }, // mObjInf - { - {{0.0f, 0.0f, 0.0f}, 15.0f} // mSph - } // mSphAttr -}; - -/* 80A929D0-80A929F0 -00001 0020+00 1/0 0/0 0/0 .data l_daNpc_Ne_Method */ -static actor_method_class l_daNpc_Ne_Method = { - (process_method_func)daNpc_Ne_Create, - (process_method_func)daNpc_Ne_Delete, - (process_method_func)daNpc_Ne_Execute, - (process_method_func)daNpc_Ne_IsDelete, - (process_method_func)daNpc_Ne_Draw, -}; - -/* 80A929F0-80A92A20 -00001 0030+00 0/0 0/0 1/0 .data g_profile_NPC_NE */ -extern actor_process_profile_definition g_profile_NPC_NE = { - fpcLy_CURRENT_e, - 7, - fpcPi_CURRENT_e, - PROC_NPC_NE, - &g_fpcLf_Method.mBase, - sizeof(npc_ne_class), - 0, - 0, - &g_fopAc_Method.base, - 0x2BC, - &l_daNpc_Ne_Method, - 0x8044000, - fopAc_NPC_e, - fopAc_CULLBOX_0_e, -}; - -/* 80A92A20-80A92A2C 000430 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGSph */ -SECTION_DATA extern void* __vt__8cM3dGSph[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGSphFv, -}; - -/* 80A92A2C-80A92A38 00043C 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGAab */ -SECTION_DATA extern void* __vt__8cM3dGAab[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGAabFv, -}; - -/* 80A92A38-80A92A5C 000448 0024+00 2/2 0/0 0/0 .data __vt__12dBgS_ObjAcch */ -SECTION_DATA extern void* __vt__12dBgS_ObjAcch[9] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12dBgS_ObjAcchFv, - (void*)NULL, - (void*)NULL, - (void*)func_80A92400, - (void*)NULL, - (void*)NULL, - (void*)func_80A923F8, -}; - -/* 80A92A5C-80A92A68 00046C 000C+00 2/2 0/0 0/0 .data __vt__12J3DFrameCtrl */ -SECTION_DATA extern void* __vt__12J3DFrameCtrl[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12J3DFrameCtrlFv, -}; - -/* 80A92A68-80A92A74 000478 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGPla */ -SECTION_DATA extern void* __vt__8cM3dGPla[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGPlaFv, -}; - -/* 80A92A74-80A92A80 000484 000C+00 2/2 0/0 0/0 .data __vt__14daNpc_Ne_HIO_c */ -SECTION_DATA extern void* __vt__14daNpc_Ne_HIO_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__14daNpc_Ne_HIO_cFv, -}; - /* 80A88CCC-80A88D14 0000EC 0048+00 1/1 0/0 0/0 .text __ct__14daNpc_Ne_HIO_cFv */ daNpc_Ne_HIO_c::daNpc_Ne_HIO_c() : field_0x04(-1), @@ -497,21 +69,6 @@ daNpc_Ne_HIO_c::daNpc_Ne_HIO_c() : /* empty function */ } - -/* ############################################################################################## */ -/* 80A9242C-80A92430 000010 0004+00 1/27 0/0 0/0 .rodata @4018 */ -SECTION_RODATA static u8 const lit_4018[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80A9242C, &lit_4018); - -/* 80A92430-80A92434 000014 0004+00 1/3 0/0 0/0 .rodata @4019 */ -SECTION_RODATA static f32 const lit_4019 = -1.0f; -COMPILER_STRIP_GATE(0x80A92430, &lit_4019); - /* 80A88D14-80A88DC0 000134 00AC+00 19/19 0/0 0/0 .text anm_init__FP12npc_ne_classifUcf */ static void anm_init(npc_ne_class* i_this, int i_resNo, f32 i_morf, u8 i_attr, f32 i_speed) { @@ -572,24 +129,6 @@ static int nodeCallBack(J3DJoint* i_joint, int param_1) { return 1; } -/* ############################################################################################## */ -/* 80A92434-80A92438 000018 0004+00 1/18 0/0 0/0 .rodata @4139 */ -SECTION_RODATA static f32 const lit_4139 = 100.0f; -COMPILER_STRIP_GATE(0x80A92434, &lit_4139); - -/* 80A92438-80A9243C 00001C 0004+00 0/3 0/0 0/0 .rodata @4140 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4140 = 400.0f; -COMPILER_STRIP_GATE(0x80A92438, &lit_4140); -#pragma pop - -/* 80A925D0-80A925D0 0001B4 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80A925D0 = "Npc_net"; -#pragma pop - /* 80A88FC4-80A89160 0003E4 019C+00 1/0 0/0 0/0 .text daNpc_Ne_Draw__FP12npc_ne_class */ static int daNpc_Ne_Draw(npc_ne_class* i_this) { if (daPy_py_c::linkGrabSubjectNoDraw(i_this)) { @@ -628,20 +167,6 @@ static int daNpc_Ne_Draw(npc_ne_class* i_this) { return 1; } - -#ifndef NONMATCHING -/* 80A89160-80A8919C 000580 003C+00 1/1 0/0 0/0 .text __dt__4cXyzFv */ -// cXyz::~cXyz() { -extern "C" void __dt__4cXyzFv() { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ -/* 80A9243C-80A92440 000020 0004+00 1/11 0/0 0/0 .rodata @4183 */ -SECTION_RODATA static f32 const lit_4183 = 50.0f; -COMPILER_STRIP_GATE(0x80A9243C, &lit_4183); - /* 80A8919C-80A89298 0005BC 00FC+00 3/3 0/0 0/0 .text other_bg_check__FP10fopAc_ac_cP10fopAc_ac_c */ static BOOL other_bg_check(fopAc_ac_c* i_this, fopAc_ac_c* i_actor) { @@ -675,35 +200,6 @@ static BOOL ne_carry_check(npc_ne_class* i_this) { } } -/* ############################################################################################## */ -/* 80A92440-80A92444 000024 0004+00 0/5 0/0 0/0 .rodata @4323 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4323 = 150.0f; -COMPILER_STRIP_GATE(0x80A92440, &lit_4323); -#pragma pop - -/* 80A92444-80A92448 000028 0004+00 0/1 0/0 0/0 .rodata @4324 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4324 = 4.0f / 5.0f; -COMPILER_STRIP_GATE(0x80A92444, &lit_4324); -#pragma pop - -/* 80A92448-80A9244C 00002C 0004+00 0/4 0/0 0/0 .rodata @4325 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4325 = 250.0f; -COMPILER_STRIP_GATE(0x80A92448, &lit_4325); -#pragma pop - -/* 80A9244C-80A92450 000030 0004+00 0/13 0/0 0/0 .rodata @4326 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4326 = 200.0f; -COMPILER_STRIP_GATE(0x80A9244C, &lit_4326); -#pragma pop - /* 80A892D4-80A895F8 0006F4 0324+00 2/2 0/0 0/0 .text way_bg_check__FP12npc_ne_classs */ static int way_bg_check(npc_ne_class* i_this, s16 i_angle) { fopAc_ac_c* _this = static_cast(i_this); @@ -753,30 +249,6 @@ static int way_bg_check(npc_ne_class* i_this, s16 i_angle) { } } - -#ifndef NONMATCHING -/* 80A895F8-80A89640 000A18 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGPlaFv */ -// cM3dGPla::~cM3dGPla() { -extern "C" void __dt__8cM3dGPlaFv() { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ -/* 80A92450-80A92454 000034 0004+00 0/5 0/0 0/0 .rodata @4351 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4351 = 3000.0f; -COMPILER_STRIP_GATE(0x80A92450, &lit_4351); -#pragma pop - -/* 80A92454-80A92458 000038 0004+00 0/9 0/0 0/0 .rodata @4352 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4352 = 10.0f; -COMPILER_STRIP_GATE(0x80A92454, &lit_4352); -#pragma pop - /* 80A89640-80A897C0 000A60 0180+00 1/1 0/0 0/0 .text water_check__FP12npc_ne_classf */ static int water_check(npc_ne_class* i_this, f32 param_1) { dBgS_ObjGndChk_Spl gnd_chk_spl; @@ -803,42 +275,9 @@ static int water_check(npc_ne_class* i_this, f32 param_1) { } } - -/* ############################################################################################## */ -/* 80A92458-80A9245C 00003C 0004+00 0/3 0/0 0/0 .rodata @4376 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4376 = 25.0f; -COMPILER_STRIP_GATE(0x80A92458, &lit_4376); -#pragma pop - -/* 80A9245C-80A92460 000040 0004+00 0/0 0/0 0/0 .rodata @4377 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4377 = 60.0f; -COMPILER_STRIP_GATE(0x80A9245C, &lit_4377); -#pragma pop - -/* 80A92460-80A92464 000044 0004+00 0/13 0/0 0/0 .rodata @4378 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4378 = 5.0f; -COMPILER_STRIP_GATE(0x80A92460, &lit_4378); -#pragma pop - -/* 80A92464-80A92468 000048 0004+00 0/2 0/0 0/0 .rodata @4454 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4454 = -100.0f; -COMPILER_STRIP_GATE(0x80A92464, &lit_4454); -#pragma pop - -/* 80A92468-80A9246C 00004C 0004+00 0/12 0/0 0/0 .rodata @4455 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4455 = 20.0f; -COMPILER_STRIP_GATE(0x80A92468, &lit_4455); -#pragma pop +static f32 dummy(f32 param_0) { + return param_0 + 5.0f + 60.0f + 25.0f; +} /* 80A897C0-80A899C0 000BE0 0200+00 1/1 0/0 0/0 .text climb_angle_get__FP12npc_ne_class */ @@ -870,8 +309,6 @@ static s16 climb_angle_get(npc_ne_class* i_this) { return 0; } - -/* ############################################################################################## */ /* 80A92A88-80A92A8C 000008 0001+03 1/1 0/0 0/0 .bss @1109 */ static u8 lit_1109[1 + 3 /* padding */]; @@ -972,10 +409,7 @@ static daNpc_Ne_HIO_c l_HIO; static fopAc_ac_c* target_info[5]; /* 80A92B04-80A92B18 000084 0014+00 0/1 0/0 0/0 .bss target_bgc */ -#pragma push -#pragma force_active on static BOOL target_bgc[5]; -#pragma pop /* 80A92B18-80A92B1C 000098 0004+00 2/3 0/0 0/0 .bss target_info_count */ static int target_info_count; @@ -1004,21 +438,6 @@ static void* s_ss_sub(void* i_proc, void* i_this) { return NULL; } -/* ############################################################################################## */ -/* 80A9246C-80A92470 000050 0004+00 0/9 0/0 0/0 .rodata @4571 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4571 = 30.0f; -COMPILER_STRIP_GATE(0x80A9246C, &lit_4571); -#pragma pop - -/* 80A92470-80A92474 000054 0004+00 0/2 0/0 0/0 .rodata @4572 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4572 = 2000.0f; -COMPILER_STRIP_GATE(0x80A92470, &lit_4572); -#pragma pop - /* 80A89AB0-80A89D28 000ED0 0278+00 3/3 0/0 0/0 .text search_bird__FP12npc_ne_class */ static fopAc_ac_c* search_bird(npc_ne_class* i_this) { target_info_count = 0; @@ -1076,15 +495,6 @@ static fopAc_ac_c* search_bird(npc_ne_class* i_this) { return NULL; } - -/* ############################################################################################## */ -/* 80A92474-80A92478 000058 0004+00 0/1 0/0 0/0 .rodata @4635 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4635 = 1000.0f; -COMPILER_STRIP_GATE(0x80A92474, &lit_4635); -#pragma pop - /* 80A89D28-80A89EF4 001148 01CC+00 2/2 0/0 0/0 .text way_check__FP12npc_ne_classs */ static BOOL way_check(npc_ne_class* i_this, s16 i_angleY) { fopAc_ac_c* _this = static_cast(i_this); @@ -1118,64 +528,6 @@ static BOOL way_check(npc_ne_class* i_this, s16 i_angleY) { return false; } - -/* ############################################################################################## */ -/* 80A92478-80A9247C 00005C 0004+00 0/1 0/0 0/0 .rodata @4677 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4677 = 13.0f / 10.0f; -COMPILER_STRIP_GATE(0x80A92478, &lit_4677); -#pragma pop - -/* 80A9247C-80A92480 000060 0004+00 0/2 0/0 0/0 .rodata @4678 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4678 = 65536.0f; -COMPILER_STRIP_GATE(0x80A9247C, &lit_4678); -#pragma pop - -/* 80A92480-80A92484 000064 0004+00 0/8 0/0 0/0 .rodata @4679 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4679 = 0.5f; -COMPILER_STRIP_GATE(0x80A92480, &lit_4679); -#pragma pop - -/* 80A92484-80A92488 000068 0004+00 0/7 0/0 0/0 .rodata @4680 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4680 = 500.0f; -COMPILER_STRIP_GATE(0x80A92484, &lit_4680); -#pragma pop - -/* 80A92488-80A9248C 00006C 0004+00 0/6 0/0 0/0 .rodata @4681 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4681 = 1.5f; -COMPILER_STRIP_GATE(0x80A92488, &lit_4681); -#pragma pop - -/* 80A9248C-80A92490 000070 0004+00 0/8 0/0 0/0 .rodata @4682 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4682 = 1.0f / 10.0f; -COMPILER_STRIP_GATE(0x80A9248C, &lit_4682); -#pragma pop - -/* 80A92490-80A92494 000074 0004+00 0/13 0/0 0/0 .rodata @4683 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4683 = 3.0f; -COMPILER_STRIP_GATE(0x80A92490, &lit_4683); -#pragma pop - -/* 80A92494-80A92498 000078 0004+00 0/4 0/0 0/0 .rodata @4684 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4684 = 350.0f; -COMPILER_STRIP_GATE(0x80A92494, &lit_4684); -#pragma pop - /* 80A89EF4-80A8A234 001314 0340+00 1/1 0/0 0/0 .text npc_ne_wait__FP12npc_ne_class */ static void npc_ne_wait(npc_ne_class* i_this) { fopAc_ac_c* _this = static_cast(i_this); @@ -1263,77 +615,6 @@ static void npc_ne_wait(npc_ne_class* i_this) { } } - -/* ############################################################################################## */ -/* 80A92498-80A9249C 00007C 0004+00 0/2 0/0 0/0 .rodata @4771 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4771 = 4000.0f; -COMPILER_STRIP_GATE(0x80A92498, &lit_4771); -#pragma pop - -/* 80A9249C-80A924A0 000080 0004+00 0/9 0/0 0/0 .rodata @4772 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4772 = 1.0f / 5.0f; -COMPILER_STRIP_GATE(0x80A9249C, &lit_4772); -#pragma pop - -/* 80A924A0-80A924A4 000084 0004+00 0/5 0/0 0/0 .rodata @4773 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4773 = 40.0f; -COMPILER_STRIP_GATE(0x80A924A0, &lit_4773); -#pragma pop - -/* 80A924A4-80A924A8 000088 0004+00 0/6 0/0 0/0 .rodata @4774 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4774 = 1.0f / 20.0f; -COMPILER_STRIP_GATE(0x80A924A4, &lit_4774); -#pragma pop - -/* 80A924A8-80A924AC 00008C 0004+00 0/3 0/0 0/0 .rodata @4775 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4775 = 5000.0f; -COMPILER_STRIP_GATE(0x80A924A8, &lit_4775); -#pragma pop - -/* 80A924AC-80A924B0 000090 0004+00 0/2 0/0 0/0 .rodata @4776 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4776 = -0.5f; -COMPILER_STRIP_GATE(0x80A924AC, &lit_4776); -#pragma pop - -/* 80A924B0-80A924B4 000094 0004+00 0/1 0/0 0/0 .rodata @4777 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4777 = -4000.0f; -COMPILER_STRIP_GATE(0x80A924B0, &lit_4777); -#pragma pop - -/* 80A924B4-80A924BC 000098 0004+04 0/2 0/0 0/0 .rodata @4778 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4778[1 + 1 /* padding */] = { - -5000.0f, - /* padding */ - 0.0f, -}; -COMPILER_STRIP_GATE(0x80A924B4, &lit_4778); -#pragma pop - -/* 80A924BC-80A924C4 0000A0 0008+00 0/4 0/0 0/0 .rodata @4781 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4781[8] = { - 0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80A924BC, &lit_4781); -#pragma pop - /* 80A8A234-80A8A8F4 001654 06C0+00 1/1 0/0 0/0 .text npc_ne_away__FP12npc_ne_class */ static void npc_ne_away(npc_ne_class* i_this) { if (!i_this->mNoFollow) { @@ -1477,22 +758,6 @@ static void npc_ne_away(npc_ne_class* i_this) { i_this->mpMorf->setPlaySpeed(i_this->mAnmSpeed); } - -/* ############################################################################################## */ -/* 80A924C4-80A924C8 0000A8 0004+00 0/2 0/0 0/0 .rodata @4838 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4838 = -300.0f; -COMPILER_STRIP_GATE(0x80A924C4, &lit_4838); -#pragma pop - -/* 80A924C8-80A924CC 0000AC 0004+00 0/2 0/0 0/0 .rodata @4839 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4839 = 300.0f; -COMPILER_STRIP_GATE(0x80A924C8, &lit_4839); -#pragma pop - /* 80A8A8F4-80A8AAE8 001D14 01F4+00 1/1 0/0 0/0 .text ground_search__FP12npc_ne_class */ static cXyz ground_search(npc_ne_class* i_this) { daPy_py_c* player = static_cast(dComIfGp_getPlayer(0)); @@ -1546,21 +811,6 @@ static void* s_fish_sub(void* i_proc, void* i_this) { return NULL; } -/* ############################################################################################## */ -/* 80A924CC-80A924D0 0000B0 0004+00 0/6 0/0 0/0 .rodata @5004 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5004 = 4.0f; -COMPILER_STRIP_GATE(0x80A924CC, &lit_5004); -#pragma pop - -/* 80A924D0-80A924D4 0000B4 0004+00 0/3 0/0 0/0 .rodata @5005 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5005 = 3.5f; -COMPILER_STRIP_GATE(0x80A924D0, &lit_5005); -#pragma pop - /* 80A8AB70-80A8B530 001F90 09C0+00 2/1 0/0 0/0 .text npc_ne_tame__FP12npc_ne_class */ static void npc_ne_tame(npc_ne_class* i_this) { fopAc_ac_c* _this = static_cast(i_this); @@ -1819,7 +1069,6 @@ static void npc_ne_tame(npc_ne_class* i_this) { } } - /* 80A8B530-80A8B61C 002950 00EC+00 1/1 0/0 0/0 .text npc_ne_sanbasi__FP12npc_ne_class */ static void npc_ne_sanbasi(npc_ne_class* i_this) { switch (i_this->mMode) { @@ -1842,70 +1091,6 @@ static void npc_ne_sanbasi(npc_ne_class* i_this) { } } - -/* ############################################################################################## */ -/* 80A924D4-80A924D8 0000B8 0004+00 0/2 0/0 0/0 .rodata @5006 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5006 = 15.0f; -COMPILER_STRIP_GATE(0x80A924D4, &lit_5006); -#pragma pop - -/* 80A924D8-80A924DC 0000BC 0004+00 0/0 0/0 0/0 .rodata @5007 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5007 = 7.0f; -COMPILER_STRIP_GATE(0x80A924D8, &lit_5007); -#pragma pop - -/* 80A924DC-80A924E0 0000C0 0004+00 0/0 0/0 0/0 .rodata @5008 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5008 = -3.0f; -COMPILER_STRIP_GATE(0x80A924DC, &lit_5008); -#pragma pop - -/* 80A924E0-80A924E4 0000C4 0004+00 0/0 0/0 0/0 .rodata @5009 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5009 = -3.5f; -COMPILER_STRIP_GATE(0x80A924E0, &lit_5009); -#pragma pop - -/* 80A924E4-80A924EC 0000C8 0008+00 0/7 0/0 0/0 .rodata @5106 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5106[8] = { - 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80A924E4, &lit_5106); -#pragma pop - -/* 80A924EC-80A924F4 0000D0 0008+00 0/7 0/0 0/0 .rodata @5107 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5107[8] = { - 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80A924EC, &lit_5107); -#pragma pop - -/* 80A924F4-80A924FC 0000D8 0008+00 0/7 0/0 0/0 .rodata @5108 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5108[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80A924F4, &lit_5108); -#pragma pop - -/* 80A924FC-80A92500 0000E0 0004+00 0/2 0/0 0/0 .rodata @5109 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5109 = 0.75f; -COMPILER_STRIP_GATE(0x80A924FC, &lit_5109); -#pragma pop - /* 80A8B61C-80A8BAFC 002A3C 04E0+00 1/1 0/0 0/0 .text npc_ne_bird__FP12npc_ne_class */ static void npc_ne_bird(npc_ne_class* i_this) { fopAc_ac_c* bird = search_bird(i_this); @@ -2004,22 +1189,6 @@ static void npc_ne_bird(npc_ne_class* i_this) { i_this->mpMorf->setPlaySpeed(i_this->mAnmSpeed); } - -/* ############################################################################################## */ -/* 80A92500-80A92504 0000E4 0004+00 0/1 0/0 0/0 .rodata @5211 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5211 = 7.0f / 20.0f; -COMPILER_STRIP_GATE(0x80A92500, &lit_5211); -#pragma pop - -/* 80A92504-80A92508 0000E8 0004+00 0/1 0/0 0/0 .rodata @5212 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5212 = 70.0f; -COMPILER_STRIP_GATE(0x80A92504, &lit_5212); -#pragma pop - /* 80A8BAFC-80A8C094 002F1C 0598+00 2/1 0/0 0/0 .text npc_ne_ball__FP12npc_ne_class */ static void npc_ne_ball(npc_ne_class* i_this) { fopAc_ac_c* ball = search_bird(i_this); @@ -2138,36 +1307,6 @@ static void npc_ne_ball(npc_ne_class* i_this) { i_this->mpMorf->setPlaySpeed(i_this->mAnmSpeed); } - -/* ############################################################################################## */ -/* 80A92508-80A9250C 0000EC 0004+00 0/0 0/0 0/0 .rodata @5213 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5213 = 16.0f; -COMPILER_STRIP_GATE(0x80A92508, &lit_5213); -#pragma pop - -/* 80A9250C-80A92510 0000F0 0004+00 0/0 0/0 0/0 .rodata @5214 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5214 = 80.0f; -COMPILER_STRIP_GATE(0x80A9250C, &lit_5214); -#pragma pop - -/* 80A92510-80A92514 0000F4 0004+00 0/1 0/0 0/0 .rodata @5297 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5297 = 9.0f / 10.0f; -COMPILER_STRIP_GATE(0x80A92510, &lit_5297); -#pragma pop - -/* 80A92514-80A92518 0000F8 0004+00 0/1 0/0 0/0 .rodata @5298 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5298 = 37.0f / 5.0f; -COMPILER_STRIP_GATE(0x80A92514, &lit_5298); -#pragma pop - /* 80A8C094-80A8C508 0034B4 0474+00 1/1 0/0 0/0 .text npc_ne_pathwalk__FP12npc_ne_class */ static void npc_ne_pathwalk(npc_ne_class* i_this) { @@ -2244,7 +1383,6 @@ static void npc_ne_pathwalk(npc_ne_class* i_this) { cLib_addCalc2(&i_this->mAngleYStep, 150.0f, 1.0f, 30.0f); } - /* 80A8C508-80A8C748 003928 0240+00 1/1 0/0 0/0 .text npc_ne_jump__FP12npc_ne_class */ static void npc_ne_jump(npc_ne_class* i_this) { int frame = i_this->mpMorf->getFrame(); @@ -2298,7 +1436,6 @@ static void npc_ne_jump(npc_ne_class* i_this) { cLib_addCalc2(&i_this->speedF, target_speed, 1.0f, max_speed_step); } - /* 80A8C748-80A8C8F8 003B68 01B0+00 1/1 0/0 0/0 .text npc_ne_s_jump__FP12npc_ne_class */ static void npc_ne_s_jump(npc_ne_class* i_this) { int frame = i_this->mpMorf->getFrame(); @@ -2346,7 +1483,6 @@ static void npc_ne_s_jump(npc_ne_class* i_this) { cLib_addCalc2(&i_this->speedF, target_speed, 1.0f, max_speed_step); } - /* 80A8C8F8-80A8CA20 003D18 0128+00 1/1 0/0 0/0 .text npc_ne_roof__FP12npc_ne_class */ static void npc_ne_roof(npc_ne_class* i_this) { i_this->mCcDisableTimer = 5; @@ -2376,7 +1512,6 @@ static void npc_ne_roof(npc_ne_class* i_this) { } } - /* 80A8CA20-80A8CC64 003E40 0244+00 1/1 0/0 0/0 .text home_path_search__FP12npc_ne_classi */ static int home_path_search(npc_ne_class* i_this, int param_1) { @@ -2412,49 +1547,6 @@ static int home_path_search(npc_ne_class* i_this, int param_1) { return -1; } - -/* ############################################################################################## */ -/* 80A92518-80A9251C 0000FC 0004+00 0/3 0/0 0/0 .rodata @5653 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5653 = 10000.0f; -COMPILER_STRIP_GATE(0x80A92518, &lit_5653); -#pragma pop - -/* 80A9251C-80A92520 000100 0004+00 0/1 0/0 0/0 .rodata @5654 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5654 = 6.0f / 5.0f; -COMPILER_STRIP_GATE(0x80A9251C, &lit_5654); -#pragma pop - -/* 80A92520-80A92524 000104 0004+00 0/1 0/0 0/0 .rodata @5655 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5655 = 236.0f; -COMPILER_STRIP_GATE(0x80A92520, &lit_5655); -#pragma pop - -/* 80A92524-80A92528 000108 0004+00 0/1 0/0 0/0 .rodata @5656 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_5656 = 0x42BA999A; -COMPILER_STRIP_GATE(0x80A92524, &lit_5656); -#pragma pop - -/* 80A92528-80A9252C 00010C 0004+00 0/1 0/0 0/0 .rodata @5657 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5657 = -777.5f; -COMPILER_STRIP_GATE(0x80A92528, &lit_5657); -#pragma pop - -/* 80A925D0-80A925D0 0001B4 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80A925D8 = " PN %d"; -#pragma pop - /* 80A8CC64-80A8D608 004084 09A4+00 2/1 0/0 0/0 .text npc_ne_home__FP12npc_ne_class */ static BOOL npc_ne_home(npc_ne_class* i_this) { BOOL ret = true; @@ -2686,15 +1778,6 @@ static BOOL npc_ne_home(npc_ne_class* i_this) { return ret; } - -/* ############################################################################################## */ -/* 80A9252C-80A92530 000110 0004+00 0/2 0/0 0/0 .rodata @5718 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5718 = -50.0f; -COMPILER_STRIP_GATE(0x80A9252C, &lit_5718); -#pragma pop - /* 80A8D608-80A8D7C4 004A28 01BC+00 2/2 0/0 0/0 .text wall_angle_get__FP12npc_ne_class */ static s16 wall_angle_get(npc_ne_class* i_this) { fopAc_ac_c* _this = static_cast(i_this); @@ -2721,14 +1804,6 @@ static s16 wall_angle_get(npc_ne_class* i_this) { return cM_atan2s(vec1.x, vec1.z) + 0x4000; } - -/* ############################################################################################## */ -/* 80A925D0-80A925D0 0001B4 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80A925DF = "F_SP103"; -#pragma pop - /* 80A8D7C4-80A8DD54 004BE4 0590+00 1/1 0/0 0/0 .text search_ground_1__FP12npc_ne_class */ static void search_ground_1(npc_ne_class* i_this) { @@ -2791,21 +1866,6 @@ static void search_ground_1(npc_ne_class* i_this) { i_this->mTargetPos = pos[i]; } - -/* 80A8DD54-80A8DD58 005174 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -// cXyz::cXyz() { -extern "C" void __ct__4cXyzFv() { - /* empty function */ -} - -/* ############################################################################################## */ -/* 80A92530-80A92534 000114 0004+00 0/2 0/0 0/0 .rodata @5891 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5891 = 120.0f; -COMPILER_STRIP_GATE(0x80A92530, &lit_5891); -#pragma pop - /* 80A8DD58-80A8DEE0 005178 0188+00 1/1 0/0 0/0 .text search_ground_2__FP12npc_ne_classs */ static BOOL search_ground_2(npc_ne_class* i_this, s16 i_wallAngle) { @@ -2837,15 +1897,6 @@ static BOOL search_ground_2(npc_ne_class* i_this, s16 i_wallAngle) { } } - -/* ############################################################################################## */ -/* 80A92534-80A92538 000118 0004+00 0/2 0/0 0/0 .rodata @5924 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5924 = 45.0f; -COMPILER_STRIP_GATE(0x80A92534, &lit_5924); -#pragma pop - /* 80A8DEE0-80A8E0E4 005300 0204+00 1/1 0/0 0/0 .text npc_ne_swim__FP12npc_ne_class */ static void npc_ne_swim(npc_ne_class* i_this) { s16 max_angle_step = 0; @@ -2889,7 +1940,6 @@ static void npc_ne_swim(npc_ne_class* i_this) { } } - /* 80A8E0E4-80A8E428 005504 0344+00 1/1 0/0 0/0 .text npc_ne_outswim__FP12npc_ne_class */ static void npc_ne_outswim(npc_ne_class* i_this) { cXyz delta; @@ -2946,15 +1996,6 @@ static void npc_ne_outswim(npc_ne_class* i_this) { i_this->gravity = 0.0f; } - -/* ############################################################################################## */ -/* 80A92538-80A9253C 00011C 0004+00 0/4 0/0 0/0 .rodata @6108 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6108 = 35.0f; -COMPILER_STRIP_GATE(0x80A92538, &lit_6108); -#pragma pop - /* 80A8E428-80A8EA78 005848 0650+00 1/1 0/0 0/0 .text npc_ne_climb__FP12npc_ne_class */ static BOOL npc_ne_climb(npc_ne_class* i_this) { fopAc_ac_c* _this = static_cast(i_this); @@ -3061,7 +2102,6 @@ static BOOL npc_ne_climb(npc_ne_class* i_this) { return ret; } - /* 80A8EA78-80A8EB60 005E98 00E8+00 1/1 0/0 0/0 .text npc_ne_drop__FP12npc_ne_class */ static void npc_ne_drop(npc_ne_class* i_this) { switch (i_this->mMode) { @@ -3093,7 +2133,6 @@ static void npc_ne_drop(npc_ne_class* i_this) { } } - /* 80A8EB60-80A8ED58 005F80 01F8+00 1/1 0/0 0/0 .text npc_ne_s_drop__FP12npc_ne_class */ static void npc_ne_s_drop(npc_ne_class* i_this) { int frame = i_this->mpMorf->getFrame(); @@ -3147,29 +2186,6 @@ static void npc_ne_s_drop(npc_ne_class* i_this) { cLib_addCalc2(&i_this->speedF, target_speed, 1.0f, max_speed_step); } - -/* ############################################################################################## */ -/* 80A9253C-80A92540 000120 0004+00 0/1 0/0 0/0 .rodata @6251 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6251 = 1300.0f; -COMPILER_STRIP_GATE(0x80A9253C, &lit_6251); -#pragma pop - -/* 80A92540-80A92544 000124 0004+00 0/2 0/0 0/0 .rodata @6252 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6252 = -10.0f; -COMPILER_STRIP_GATE(0x80A92540, &lit_6252); -#pragma pop - -/* 80A92544-80A92548 000128 0004+00 0/1 0/0 0/0 .rodata @6253 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6253 = -1.0f / 10.0f; -COMPILER_STRIP_GATE(0x80A92544, &lit_6253); -#pragma pop - /* 80A8ED58-80A8F0FC 006178 03A4+00 1/1 0/0 0/0 .text npc_ne_carry__FP12npc_ne_class */ static BOOL npc_ne_carry(npc_ne_class* i_this) { fopAc_ac_c* _this = static_cast(i_this); @@ -3241,15 +2257,6 @@ static BOOL npc_ne_carry(npc_ne_class* i_this) { return ret; } - -/* ############################################################################################## */ -/* 80A92548-80A9254C 00012C 0004+00 0/1 0/0 0/0 .rodata @6270 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6270 = 20000.0f; -COMPILER_STRIP_GATE(0x80A92548, &lit_6270); -#pragma pop - /* 80A8F0FC-80A8F1B0 00651C 00B4+00 1/1 0/0 0/0 .text npc_ne_dish__FP12npc_ne_class */ static void npc_ne_dish(npc_ne_class* i_this) { i_this->mCcDisableTimer = 10; @@ -3271,7 +2278,6 @@ static void npc_ne_dish(npc_ne_class* i_this) { } } - /* 80A8F1B0-80A8F278 0065D0 00C8+00 1/1 0/0 0/0 .text npc_ne_message__FP12npc_ne_class */ static void npc_ne_message(npc_ne_class* i_this) { i_this->mLookMode = npc_ne_class::LOOK_PLAYER; @@ -3294,20 +2300,6 @@ static void npc_ne_message(npc_ne_class* i_this) { } } - -/* 80A9254C-80A92550 000130 0004+00 0/1 0/0 0/0 .rodata @6811 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6811 = -7.0f; -COMPILER_STRIP_GATE(0x80A9254C, &lit_6811); -#pragma pop - -/* 80A92550-80A92554 000134 0004+00 0/1 0/0 0/0 .rodata @6812 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6812 = 7.0f / 10.0f; -COMPILER_STRIP_GATE(0x80A92550, &lit_6812); - /* 80A8F278-80A903E8 006698 1170+00 2/1 0/0 0/0 .text action__FP12npc_ne_class */ static void action(npc_ne_class* i_this) { fopAc_ac_c* _this = static_cast(i_this); @@ -3474,7 +2466,7 @@ static void action(npc_ne_class* i_this) { cLib_offBit(_this->attention_info.flags, 0x10); } - cXyz vec1, vec2, vec3; + cXyz vec1, vec2; if (i_this->mWantsFish && i_this->mAction != npc_ne_class::ACT_SANBASI && player->current.pos.z > -2800.0f) { dmg_rod_class* rod = static_cast(fopAcM_SearchByName(PROC_MG_ROD)); @@ -3569,8 +2561,11 @@ static void action(npc_ne_class* i_this) { vec1.z = i_this->mBaseScale.z * -25.0f; MtxPosition(&vec1, &vec2); vec2 += _this->current.pos; - vec3.set(vec2.x, vec2.y + 100.0f, vec2.z); - gnd_chk.SetPos(&vec3); + Vec gnd_chk_pos; + gnd_chk_pos.x = vec2.x; + gnd_chk_pos.y = vec2.y + 100.0f; + gnd_chk_pos.z = vec2.z; + gnd_chk.SetPos(&gnd_chk_pos); vec2.y = dComIfG_Bgsp().GroundCross(&gnd_chk); vec1 = vec2 - _this->current.pos; if (fabsf(vec1.y) < 50.0f) { @@ -3739,161 +2734,6 @@ static void action(npc_ne_class* i_this) { } } - -/* 80A92554-80A92558 000138 0004+00 0/0 0/0 0/0 .rodata @6813 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6813 = -2800.0f; -COMPILER_STRIP_GATE(0x80A92554, &lit_6813); -#pragma pop - -/* 80A92558-80A9255C 00013C 0004+00 0/0 0/0 0/0 .rodata @6814 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6814 = 700.0f; -COMPILER_STRIP_GATE(0x80A92558, &lit_6814); -#pragma pop - -/* 80A9255C-80A92560 000140 0004+00 0/1 0/0 0/0 .rodata @6815 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6815 = 3400.0f; -COMPILER_STRIP_GATE(0x80A9255C, &lit_6815); -#pragma pop - -/* 80A92560-80A92564 000144 0004+00 0/1 0/0 0/0 .rodata @6816 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_6816 = 0x42A8428F; -COMPILER_STRIP_GATE(0x80A92560, &lit_6816); -#pragma pop - -/* 80A92564-80A92568 000148 0004+00 0/1 0/0 0/0 .rodata @6817 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6817 = 64.0f; -COMPILER_STRIP_GATE(0x80A92564, &lit_6817); -#pragma pop - -/* 80A92568-80A9256C 00014C 0004+00 0/0 0/0 0/0 .rodata @6818 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6818 = -120.0f; -COMPILER_STRIP_GATE(0x80A92568, &lit_6818); -#pragma pop - -/* 80A9256C-80A92570 000150 0004+00 0/0 0/0 0/0 .rodata @6819 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6819 = 6.0f; -COMPILER_STRIP_GATE(0x80A9256C, &lit_6819); -#pragma pop - -/* 80A92570-80A92574 000154 0004+00 0/0 0/0 0/0 .rodata @6820 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6820 = -25.0f; -COMPILER_STRIP_GATE(0x80A92570, &lit_6820); -#pragma pop - -/* 80A92574-80A92578 000158 0004+00 0/1 0/0 0/0 .rodata @6821 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6821 = -30.0f; -COMPILER_STRIP_GATE(0x80A92574, &lit_6821); -#pragma pop - -/* 80A92578-80A9257C 00015C 0004+00 0/0 0/0 0/0 .rodata @6822 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6822 = -40.0f; -COMPILER_STRIP_GATE(0x80A92578, &lit_6822); -#pragma pop - -/* 80A9257C-80A92580 000160 0004+00 0/1 0/0 0/0 .rodata @6823 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6823 = 1500.0f; -COMPILER_STRIP_GATE(0x80A9257C, &lit_6823); -#pragma pop - -/* 80A92580-80A92584 000164 0004+00 0/1 0/0 0/0 .rodata @7051 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7051 = 55.0f; -COMPILER_STRIP_GATE(0x80A92580, &lit_7051); -#pragma pop - -/* 80A92584-80A92588 000168 0004+00 0/1 0/0 0/0 .rodata @7052 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7052 = 387.0f; -COMPILER_STRIP_GATE(0x80A92584, &lit_7052); -#pragma pop - -/* 80A92588-80A9258C 00016C 0004+00 0/1 0/0 0/0 .rodata @7053 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7053 = 133.0f; -COMPILER_STRIP_GATE(0x80A92588, &lit_7053); -#pragma pop - -/* 80A9258C-80A92590 000170 0004+00 0/1 0/0 0/0 .rodata @7054 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7054 = -866.0f; -COMPILER_STRIP_GATE(0x80A9258C, &lit_7054); -#pragma pop - -/* 80A92590-80A92594 000174 0004+00 0/1 0/0 0/0 .rodata @7055 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7055 = 284.0f; -COMPILER_STRIP_GATE(0x80A92590, &lit_7055); -#pragma pop - -/* 80A92594-80A92598 000178 0004+00 0/1 0/0 0/0 .rodata @7056 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7056 = 208.0f; -COMPILER_STRIP_GATE(0x80A92594, &lit_7056); -#pragma pop - -/* 80A92598-80A9259C 00017C 0004+00 0/1 0/0 0/0 .rodata @7057 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7057 = -585.0f; -COMPILER_STRIP_GATE(0x80A92598, &lit_7057); -#pragma pop - -/* 80A9259C-80A925A0 000180 0004+00 0/1 0/0 0/0 .rodata @7058 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7058 = 33.0f / 100.0f; -COMPILER_STRIP_GATE(0x80A9259C, &lit_7058); -#pragma pop - -/* 80A925A0-80A925A4 000184 0004+00 0/1 0/0 0/0 .rodata @7059 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7059 = 3.0f / 100.0f; -COMPILER_STRIP_GATE(0x80A925A0, &lit_7059); -#pragma pop - -/* 80A925A4-80A925A8 000188 0004+00 0/1 0/0 0/0 .rodata @7060 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7060 = 130.0f; -COMPILER_STRIP_GATE(0x80A925A4, &lit_7060); -#pragma pop - -/* 80A925A8-80A925AC 00018C 0004+00 0/1 0/0 0/0 .rodata @7061 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7061 = 170.0f; -COMPILER_STRIP_GATE(0x80A925A8, &lit_7061); -#pragma pop - /* 80A903E8-80A90E28 007808 0A40+00 1/1 0/0 0/0 .text demo_camera__FP12npc_ne_class */ static void demo_camera(npc_ne_class* i_this) { fopAc_ac_c* _this = static_cast(i_this); @@ -4140,7 +2980,6 @@ static void demo_camera(npc_ne_class* i_this) { } } - /* 80A90E28-80A91004 008248 01DC+00 1/1 0/0 0/0 .text message__FP12npc_ne_class */ static int message(npc_ne_class* i_this) { if (i_this->mResName == "Npc_net" && !dComIfGs_wolfeye_effect_check()) { @@ -4182,34 +3021,6 @@ static int message(npc_ne_class* i_this) { } } -/* 80A925AC-80A925B0 000190 0004+00 0/1 0/0 0/0 .rodata @7319 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7319 = 100000.0f; -COMPILER_STRIP_GATE(0x80A925AC, &lit_7319); -#pragma pop - -/* 80A925B0-80A925B4 000194 0004+00 0/1 0/0 0/0 .rodata @7320 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7320 = -20000.0f; -COMPILER_STRIP_GATE(0x80A925B0, &lit_7320); -#pragma pop - -/* 80A925B4-80A925B8 000198 0004+00 0/1 0/0 0/0 .rodata @7321 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7321 = 300000.0f; -COMPILER_STRIP_GATE(0x80A925B4, &lit_7321); -#pragma pop - -/* 80A925B8-80A925BC 00019C 0004+00 0/1 0/0 0/0 .rodata @7322 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7322 = -10000.0f; -COMPILER_STRIP_GATE(0x80A925B8, &lit_7322); -#pragma pop - /* 80A91004-80A9172C 008424 0728+00 2/1 0/0 0/0 .text daNpc_Ne_Execute__FP12npc_ne_class */ static int daNpc_Ne_Execute(npc_ne_class* i_this) { @@ -4344,7 +3155,6 @@ static int daNpc_Ne_Execute(npc_ne_class* i_this) { return 1; } - /* 80A9172C-80A91734 008B4C 0008+00 1/0 0/0 0/0 .text daNpc_Ne_IsDelete__FP12npc_ne_class */ static int daNpc_Ne_IsDelete(npc_ne_class* i_this) { @@ -4365,8 +3175,7 @@ static int daNpc_Ne_Delete(npc_ne_class* i_this) { } /* 80A91798-80A91B40 008BB8 03A8+00 1/1 0/0 0/0 .text useHeapInit__FP10fopAc_ac_c */ -#ifdef NONMATCHING -// regalloc +// NONMATCHING: regalloc static int useHeapInit(fopAc_ac_c* i_this) { npc_ne_class* _this = static_cast(i_this); _this->mpMorf = @@ -4425,60 +3234,6 @@ static int useHeapInit(fopAc_ac_c* i_this) { return 1; } -#else -static int useHeapInit(fopAc_ac_c* param_0) { - // NONMATCHING -} -#endif - -#ifndef NONMATCHING -/* 80A91B40-80A91B88 008F60 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */ -// J3DFrameCtrl::~J3DFrameCtrl() { -extern "C" void __dt__12J3DFrameCtrlFv() { - // NONMATCHING -} -#endif - -/* 80A925BC-80A925C0 0001A0 0004+00 0/1 0/0 0/0 .rodata @7656 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7656 = 1005.0f; -COMPILER_STRIP_GATE(0x80A925BC, &lit_7656); -#pragma pop - -/* 80A925C0-80A925C4 0001A4 0004+00 0/1 0/0 0/0 .rodata @7657 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7657 = 766.0f; -COMPILER_STRIP_GATE(0x80A925C0, &lit_7657); -#pragma pop - -/* 80A925C4-80A925C8 0001A8 0004+00 0/1 0/0 0/0 .rodata @7658 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7658 = -1423.0f; -COMPILER_STRIP_GATE(0x80A925C4, &lit_7658); -#pragma pop - -/* 80A925C8-80A925CC 0001AC 0004+00 0/1 0/0 0/0 .rodata @7659 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_7659 = 0x407FEF9E; -COMPILER_STRIP_GATE(0x80A925C8, &lit_7659); -#pragma pop - -/* 80A925CC-80A925D0 0001B0 0004+00 0/1 0/0 0/0 .rodata @7660 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7660 = 0.625f; -COMPILER_STRIP_GATE(0x80A925CC, &lit_7660); -#pragma pop - -/* 80A925D0-80A925D0 0001B4 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80A925E7 = "Npc_ne"; -#pragma pop /* 80A91B88-80A92118 008FA8 0590+00 1/0 0/0 0/0 .text daNpc_Ne_Create__FP10fopAc_ac_c */ static cPhs__Step daNpc_Ne_Create(fopAc_ac_c* i_this) { @@ -4555,7 +3310,7 @@ static cPhs__Step daNpc_Ne_Create(fopAc_ac_c* i_this) { fopAcM_OnStatus(i_this, fopAcStts_CULL_e); fopAcM_OnCarryType(i_this, fopAcM_CARRY_TYPE_8); i_this->attention_info.flags = 0; - i_this->attention_info.distances[fopAc_attn_SPEAK_e] = 7; + i_this->attention_info.distances[fopAc_attn_CARRY_e] = 7; fopAcM_SetMtx(i_this, _this->mpMorf->getModel()->getBaseTRMtx()); i_this->health = 1; _this->field_0x560 = 1; @@ -4629,63 +3384,10 @@ static cPhs__Step daNpc_Ne_Create(fopAc_ac_c* i_this) { /* 80A92118-80A92274 009538 015C+00 1/1 0/0 0/0 .text __ct__12npc_ne_classFv */ -#ifdef NONMATCHING -// matches but vtable ordering is wrong npc_ne_class::npc_ne_class() { /* empty function */ } -#else -npc_ne_class::npc_ne_class() { - // NONMATCHING -} -#endif -#ifndef NONMATCHING -/* 80A92274-80A922BC 009694 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGSphFv */ -// cM3dGSph::~cM3dGSph() { -extern "C" void __dt__8cM3dGSphFv() { - // NONMATCHING -} - -/* 80A922BC-80A92304 0096DC 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */ -// cM3dGAab::~cM3dGAab() { -extern "C" void __dt__8cM3dGAabFv() { - // NONMATCHING -} - -/* 80A92304-80A92374 009724 0070+00 3/2 0/0 0/0 .text __dt__12dBgS_ObjAcchFv */ -// dBgS_ObjAcch::~dBgS_ObjAcch() { -extern "C" void __dt__12dBgS_ObjAcchFv() { - // NONMATCHING -} - -/* 80A92374-80A923BC 009794 0048+00 2/1 0/0 0/0 .text __dt__14daNpc_Ne_HIO_cFv */ -daNpc_Ne_HIO_c::~daNpc_Ne_HIO_c() { - // NONMATCHING -} - -/* 80A923BC-80A923F8 0097DC 003C+00 0/0 1/0 0/0 .text __sinit_d_a_npc_ne_cpp */ -void __sinit_d_a_npc_ne_cpp() { - // NONMATCHING -} - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x80A923BC, __sinit_d_a_npc_ne_cpp); -#pragma pop - -/* 80A923F8-80A92400 009818 0008+00 1/0 0/0 0/0 .text @36@__dt__12dBgS_ObjAcchFv */ -static void func_80A923F8() { - // NONMATCHING -} - -/* 80A92400-80A92408 009820 0008+00 1/0 0/0 0/0 .text @20@__dt__12dBgS_ObjAcchFv */ -static void func_80A92400() { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ /* 80A92B1C-80A92B20 00009C 0004+00 0/0 0/0 0/0 .bss * sInstance__40JASGlobalInstance<19JASDefaultBankTable> */ #pragma push @@ -4857,4 +3559,29 @@ static u8 data_80A92B78[4]; static u8 data_80A92B7C[4]; #pragma pop -/* 80A925D0-80A925D0 0001B4 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file +/* 80A929D0-80A929F0 -00001 0020+00 1/0 0/0 0/0 .data l_daNpc_Ne_Method */ +static actor_method_class l_daNpc_Ne_Method = { + (process_method_func)daNpc_Ne_Create, + (process_method_func)daNpc_Ne_Delete, + (process_method_func)daNpc_Ne_Execute, + (process_method_func)daNpc_Ne_IsDelete, + (process_method_func)daNpc_Ne_Draw, +}; + +/* 80A929F0-80A92A20 -00001 0030+00 0/0 0/0 1/0 .data g_profile_NPC_NE */ +extern actor_process_profile_definition g_profile_NPC_NE = { + fpcLy_CURRENT_e, + 7, + fpcPi_CURRENT_e, + PROC_NPC_NE, + &g_fpcLf_Method.mBase, + sizeof(npc_ne_class), + 0, + 0, + &g_fopAc_Method.base, + 0x2BC, + &l_daNpc_Ne_Method, + 0x8044000, + fopAc_NPC_e, + fopAc_CULLBOX_0_e, +}; diff --git a/src/d/actor/d_a_npc_the.cpp b/src/d/actor/d_a_npc_the.cpp index 0c5bd5bcf4..d0969fde4a 100644 --- a/src/d/actor/d_a_npc_the.cpp +++ b/src/d/actor/d_a_npc_the.cpp @@ -247,9 +247,7 @@ SECTION_DATA static u8 cNullVec__6Z2Calc[12] = { }; /* 80AFC1DC-80AFC1F0 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 */] = { +static u32 lit_1787[1 + 4 /* padding */] = { 0x02000201, /* padding */ 0x40080000, @@ -257,7 +255,9 @@ SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = { 0x3FE00000, 0x00000000, }; -#pragma pop + +/* 80AFC67C-80AFC680 000014 0004+00 1/1 0/0 0/0 .bss l_HIO */ +static daNpcThe_Param_c l_HIO; /* 80AFC1F0-80AFC200 000020 0010+00 1/1 0/0 0/0 .data l_bmdGetParamList */ static daNpc_GetParam1 l_bmdGetParamList[2] = { @@ -344,392 +344,50 @@ static char* l_resNames[4] = { }; /* 80AFC390-80AFC3A0 0001C0 0010+00 0/2 0/0 0/0 .data l_evtGetParamList */ -#pragma push -#pragma force_active on static int l_evtGetParamList[4] = { 0, 3, 3, 0, }; -#pragma pop /* 80AFC3A0-80AFC3B0 -00001 0010+00 0/2 0/0 0/0 .data l_evtNames */ -#pragma push -#pragma force_active on static char* l_evtNames[4] = { NULL, "TW_RESISTANCE1", "TW_RESISTANCE2", "THE_INTRODUCTION", }; -#pragma pop /* 80AFC3B0-80AFC3B4 -00001 0004+00 0/1 0/0 0/0 .data l_myName */ -#pragma push -#pragma force_active on static char* l_myName = "The"; -#pragma pop /* 80AFC3B4-80AFC3C4 -00001 0010+00 0/1 0/0 0/0 .data mEvtCutNameList__10daNpcThe_c */ -#pragma push -#pragma force_active on char* daNpcThe_c::mEvtCutNameList[4] = { "", "TW_RESISTANCE", "TW_RESISTANCE", "THE_INTRODUCTION", }; -#pragma pop -/* 80AFC3C4-80AFC3D0 -00001 000C+00 0/1 0/0 0/0 .data @3810 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3810[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)EvCut_TwResistance__10daNpcThe_cFi, -}; -#pragma pop - -/* 80AFC3D0-80AFC3DC -00001 000C+00 0/1 0/0 0/0 .data @3811 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3811[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)EvCut_TwResistance__10daNpcThe_cFi, -}; -#pragma pop - -/* 80AFC3DC-80AFC3E8 -00001 000C+00 0/1 0/0 0/0 .data @3812 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3812[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)EvCut_Introduction__10daNpcThe_cFi, -}; -#pragma pop - -#ifdef NONMATCHING daNpcThe_c::EventFn daNpcThe_c::mEvtCutList[4] = { NULL, &EvCut_TwResistance, &EvCut_TwResistance, &EvCut_Introduction, }; -#else -/* 80AFC3E8-80AFC418 000218 0030+00 0/2 0/0 0/0 .data mEvtCutList__10daNpcThe_c */ -#pragma push -#pragma force_active on -SECTION_DATA u8 daNpcThe_c::mEvtCutList[48] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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 -#endif -/* 80AFC418-80AFC424 -00001 000C+00 1/1 0/0 0/0 .data @4153 */ -SECTION_DATA static void* lit_4153[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)test__10daNpcThe_cFPv, -}; - -/* 80AFC424-80AFC45C -00001 0038+00 1/1 0/0 0/0 .data @4407 */ -SECTION_DATA static void* lit_4407[14] = { - (void*)(((char*)setExpressionAnm__10daNpcThe_cFib) + 0x90), - (void*)(((char*)setExpressionAnm__10daNpcThe_cFib) + 0xAC), - (void*)(((char*)setExpressionAnm__10daNpcThe_cFib) + 0xC8), - (void*)(((char*)setExpressionAnm__10daNpcThe_cFib) + 0xE4), - (void*)(((char*)setExpressionAnm__10daNpcThe_cFib) + 0x100), - (void*)(((char*)setExpressionAnm__10daNpcThe_cFib) + 0x120), - (void*)(((char*)setExpressionAnm__10daNpcThe_cFib) + 0x13C), - (void*)(((char*)setExpressionAnm__10daNpcThe_cFib) + 0x158), - (void*)(((char*)setExpressionAnm__10daNpcThe_cFib) + 0x174), - (void*)(((char*)setExpressionAnm__10daNpcThe_cFib) + 0x194), - (void*)(((char*)setExpressionAnm__10daNpcThe_cFib) + 0x1B4), - (void*)(((char*)setExpressionAnm__10daNpcThe_cFib) + 0x1D4), - (void*)(((char*)setExpressionAnm__10daNpcThe_cFib) + 0x1F4), - (void*)(((char*)setExpressionAnm__10daNpcThe_cFib) + 0x214), -}; - -/* 80AFC45C-80AFC494 -00001 0038+00 1/1 0/0 0/0 .data @4441 */ -SECTION_DATA static void* lit_4441[14] = { - (void*)(((char*)setExpressionBtp__10daNpcThe_cFi) + 0x8C), - (void*)(((char*)setExpressionBtp__10daNpcThe_cFi) + 0xD0), - (void*)(((char*)setExpressionBtp__10daNpcThe_cFi) + 0xD0), - (void*)(((char*)setExpressionBtp__10daNpcThe_cFi) + 0xD0), - (void*)(((char*)setExpressionBtp__10daNpcThe_cFi) + 0x94), - (void*)(((char*)setExpressionBtp__10daNpcThe_cFi) + 0xD0), - (void*)(((char*)setExpressionBtp__10daNpcThe_cFi) + 0xD0), - (void*)(((char*)setExpressionBtp__10daNpcThe_cFi) + 0xD0), - (void*)(((char*)setExpressionBtp__10daNpcThe_cFi) + 0x9C), - (void*)(((char*)setExpressionBtp__10daNpcThe_cFi) + 0xA4), - (void*)(((char*)setExpressionBtp__10daNpcThe_cFi) + 0xAC), - (void*)(((char*)setExpressionBtp__10daNpcThe_cFi) + 0xB4), - (void*)(((char*)setExpressionBtp__10daNpcThe_cFi) + 0xBC), - (void*)(((char*)setExpressionBtp__10daNpcThe_cFi) + 0xC4), -}; - -/* 80AFC494-80AFC4C8 -00001 0034+00 1/1 0/0 0/0 .data @4482 */ -SECTION_DATA static void* lit_4482[13] = { - (void*)(((char*)setMotionAnm__10daNpcThe_cFif) + 0x9C), - (void*)(((char*)setMotionAnm__10daNpcThe_cFif) + 0xA4), - (void*)(((char*)setMotionAnm__10daNpcThe_cFif) + 0xAC), - (void*)(((char*)setMotionAnm__10daNpcThe_cFif) + 0xB4), - (void*)(((char*)setMotionAnm__10daNpcThe_cFif) + 0xBC), - (void*)(((char*)setMotionAnm__10daNpcThe_cFif) + 0xC4), - (void*)(((char*)setMotionAnm__10daNpcThe_cFif) + 0xCC), - (void*)(((char*)setMotionAnm__10daNpcThe_cFif) + 0xD4), - (void*)(((char*)setMotionAnm__10daNpcThe_cFif) + 0xDC), - (void*)(((char*)setMotionAnm__10daNpcThe_cFif) + 0xE4), - (void*)(((char*)setMotionAnm__10daNpcThe_cFif) + 0xEC), - (void*)(((char*)setMotionAnm__10daNpcThe_cFif) + 0xF4), - (void*)(((char*)setMotionAnm__10daNpcThe_cFif) + 0xFC), -}; - -/* 80AFC4C8-80AFC4D4 -00001 000C+00 0/1 0/0 0/0 .data @4577 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4577[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)test__10daNpcThe_cFPv, -}; -#pragma pop - -/* 80AFC4D4-80AFC4E0 -00001 000C+00 0/1 0/0 0/0 .data @4583 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4583[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)waitTW__10daNpcThe_cFPv, -}; -#pragma pop - -/* 80AFC4E0-80AFC4EC -00001 000C+00 0/1 0/0 0/0 .data @4585 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4585[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)wait__10daNpcThe_cFPv, -}; -#pragma pop - -/* 80AFC4EC-80AFC4F8 -00001 000C+00 0/1 0/0 0/0 .data @4611 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4611[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)talk__10daNpcThe_cFPv, -}; -#pragma pop - -/* 80AFC4F8-80AFC504 -00001 000C+00 0/1 0/0 0/0 .data @4616 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4616[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)talk__10daNpcThe_cFPv, -}; -#pragma pop - -/* 80AFC504-80AFC510 -00001 000C+00 0/1 0/0 0/0 .data @4621 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4621[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)talk__10daNpcThe_cFPv, -}; -#pragma pop - -/* 80AFC510-80AFC51C -00001 000C+00 0/1 0/0 0/0 .data @4626 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4626[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)talk__10daNpcThe_cFPv, -}; -#pragma pop - -/* 80AFC51C-80AFC528 -00001 000C+00 0/1 0/0 0/0 .data @4630 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4630[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)talk__10daNpcThe_cFPv, -}; -#pragma pop - -/* 80AFC528-80AFC534 -00001 000C+00 0/1 0/0 0/0 .data @4635 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4635[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)talk__10daNpcThe_cFPv, -}; -#pragma pop - -/* 80AFC534-80AFC554 -00001 0020+00 1/0 0/0 0/0 .data daNpcThe_MethodTable */ -static actor_method_class daNpcThe_MethodTable = { - (process_method_func)daNpcThe_Create, - (process_method_func)daNpcThe_Delete, - (process_method_func)daNpcThe_Execute, - (process_method_func)daNpcThe_IsDelete, - (process_method_func)daNpcThe_Draw, -}; - -/* 80AFC554-80AFC584 -00001 0030+00 0/0 0/0 1/0 .data g_profile_NPC_THE */ -extern actor_process_profile_definition g_profile_NPC_THE = { - fpcLy_CURRENT_e, - 7, - fpcPi_CURRENT_e, - PROC_NPC_THE, - &g_fpcLf_Method.mBase, - sizeof(daNpcThe_c), - 0, - 0, - &g_fopAc_Method.base, - 0x174, - &daNpcThe_MethodTable, - 0x44108, - fopAc_NPC_e, - fopAc_CULLBOX_CUSTOM_e, -}; - -/* 80AFC584-80AFC590 0003B4 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, -}; - -/* 80AFC590-80AFC5D8 0003C0 0048+00 2/2 0/0 0/0 .data __vt__10daNpcThe_c */ -SECTION_DATA extern void* __vt__10daNpcThe_c[18] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__10daNpcThe_cFv, - (void*)setParam__10daNpcThe_cFv, - (void*)main__10daNpcThe_cFv, - (void*)ctrlBtk__10daNpcThe_cFv, - (void*)adjustShapeAngle__10daNpcThe_cFv, - (void*)setMtx__8daNpcF_cFv, - (void*)setMtx2__8daNpcF_cFv, - (void*)setAttnPos__10daNpcThe_cFv, - (void*)setCollisions__8daNpcF_cFv, - (void*)setExpressionAnm__10daNpcThe_cFib, - (void*)setExpressionBtp__10daNpcThe_cFi, - (void*)setExpression__10daNpcThe_cFif, - (void*)setMotionAnm__10daNpcThe_cFif, - (void*)setMotion__10daNpcThe_cFifi, - (void*)drawDbgInfo__10daNpcThe_cFv, - (void*)drawOtherMdls__8daNpcF_cFv, -}; - -/* 80AFC5D8-80AFC5E4 000408 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, -}; - -/* 80AFC5E4-80AFC608 000414 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_80AFBDF0, - (void*)NULL, - (void*)NULL, - (void*)func_80AFBDE8, -}; - -/* 80AFC608-80AFC614 000438 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, -}; - -/* 80AFC614-80AFC620 000444 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, -}; - -/* 80AFC620-80AFC62C 000450 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, -}; - -/* 80AFC62C-80AFC638 00045C 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, -}; - -/* 80AFC638-80AFC644 000468 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, -}; - -/* 80AFC644-80AFC650 000474 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, -}; - -/* 80AFC650-80AFC65C 000480 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, -}; +int daNpcThe_c::Draw() { + mpMorf->getModel()->getModelData()->getMaterialNodePointer(2)->setMaterialAnm(mpMatAnm); + ActionFn action_test = &test; + int is_test = mpActionFn == action_test; + return draw(is_test, false, daNpcThe_Param_c::m.mShadowDepth, NULL, false); +} /* 80AF76CC-80AF7850 0000EC 0184+00 1/1 0/0 0/0 .text __ct__10daNpcThe_cFv */ -#ifdef NONMATCHING -// daNpcF_c constructor needs to not be inlined +// NONMATCHING daNpcF_c constructor needs to not be inlined daNpcThe_c::daNpcThe_c() { /* empty function */ } -#else -// daNpcThe_c::daNpcThe_c() { -extern "C" void __ct__10daNpcThe_cFv() { - // NONMATCHING -} -#endif - -/* 80AF7850-80AF7898 000270 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */ -// cM3dGCyl::~cM3dGCyl() { -extern "C" void __dt__8cM3dGCylFv() { - // NONMATCHING -} - -/* 80AF7898-80AF78E0 0002B8 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */ -// cM3dGAab::~cM3dGAab() { -extern "C" void __dt__8cM3dGAabFv() { - // NONMATCHING -} /* 80AF78E0-80AF7AE0 000300 0200+00 1/0 0/0 0/0 .text __dt__10daNpcThe_cFv */ -#ifdef NONMATCHING daNpcThe_c::~daNpcThe_c() { for (int i = 0; l_loadRes_list[mType][i] >= 0; i++) { dComIfG_resDelete(&mPhase[i], l_resNames[l_loadRes_list[mType][i]]); @@ -738,12 +396,6 @@ daNpcThe_c::~daNpcThe_c() { mpMorf->stopZelAnime(); } } -#else -// daNpcThe_c::~daNpcThe_c() { -extern "C" void __dt__10daNpcThe_cFv() { - // NONMATCHING -} -#endif /* 80AFBE0C-80AFBE78 000000 006C+00 11/11 0/0 0/0 .rodata m__16daNpcThe_Param_c */ daNpcThe_Param_c::param const daNpcThe_Param_c::m = { @@ -792,7 +444,7 @@ int daNpcThe_c::CreateHeap() { )); } mpMorf = new mDoExt_McaMorfSO(model_data, NULL, NULL, NULL, -1, 1.0f, 0, -1, - &mSound, 0x80000, 0x11020284); + &mSound, 0x80000, 0x11020284); if (mpMorf != NULL && mpMorf->getModel() == NULL) { mpMorf->stopZelAnime(); @@ -857,87 +509,12 @@ int daNpcThe_c::ctrlJoint(J3DJoint* i_joint, J3DModel* i_model) { return 1; } -/* ############################################################################################## */ -/* 80AFBE84-80AFBE88 000078 0004+00 4/4 0/0 0/0 .rodata @4296 */ -SECTION_RODATA static f32 const lit_4296 = 1.0f; -COMPILER_STRIP_GATE(0x80AFBE84, &lit_4296); - -/* 80AFBE88-80AFBE8C 00007C 0004+00 5/7 0/0 0/0 .rodata @4297 */ -SECTION_RODATA static u8 const lit_4297[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80AFBE88, &lit_4297); - /* 80AF7CB0-80AF7F58 0006D0 02A8+00 1/1 0/0 0/0 .text * createHeapCallBack__10daNpcThe_cFP10fopAc_ac_c */ int daNpcThe_c::createHeapCallBack(fopAc_ac_c* i_this) { return static_cast(i_this)->CreateHeap(); } - -/* 80AF7F58-80AF7F94 000978 003C+00 1/1 0/0 0/0 .text __dt__15J3DTevKColorAnmFv */ -// J3DTevKColorAnm::~J3DTevKColorAnm() { -extern "C" void __dt__15J3DTevKColorAnmFv() { - // NONMATCHING -} - -/* 80AF7F94-80AF7FAC 0009B4 0018+00 1/1 0/0 0/0 .text __ct__15J3DTevKColorAnmFv */ -// J3DTevKColorAnm::J3DTevKColorAnm() { -extern "C" void __ct__15J3DTevKColorAnmFv() { - // NONMATCHING -} - -/* 80AF7FAC-80AF7FE8 0009CC 003C+00 1/1 0/0 0/0 .text __dt__14J3DTevColorAnmFv */ -// J3DTevColorAnm::~J3DTevColorAnm() { -extern "C" void __dt__14J3DTevColorAnmFv() { - // NONMATCHING -} - -/* 80AF7FE8-80AF8000 000A08 0018+00 1/1 0/0 0/0 .text __ct__14J3DTevColorAnmFv */ -// J3DTevColorAnm::J3DTevColorAnm() { -extern "C" void __ct__14J3DTevColorAnmFv() { - // NONMATCHING -} - -/* 80AF8000-80AF8048 000A20 0048+00 1/1 0/0 0/0 .text __dt__11J3DTexNoAnmFv */ -// J3DTexNoAnm::~J3DTexNoAnm() { -extern "C" void __dt__11J3DTexNoAnmFv() { - // NONMATCHING -} - -/* 80AF8048-80AF806C 000A68 0024+00 1/1 0/0 0/0 .text __ct__11J3DTexNoAnmFv */ -// J3DTexNoAnm::J3DTexNoAnm() { -extern "C" void __ct__11J3DTexNoAnmFv() { - // NONMATCHING -} - -/* 80AF806C-80AF80A8 000A8C 003C+00 1/1 0/0 0/0 .text __dt__12J3DTexMtxAnmFv */ -// J3DTexMtxAnm::~J3DTexMtxAnm() { -extern "C" void __dt__12J3DTexMtxAnmFv() { - // NONMATCHING -} - -/* 80AF80A8-80AF80C0 000AC8 0018+00 1/1 0/0 0/0 .text __ct__12J3DTexMtxAnmFv */ -// J3DTexMtxAnm::J3DTexMtxAnm() { -extern "C" void __ct__12J3DTexMtxAnmFv() { - // NONMATCHING -} - -/* 80AF80C0-80AF80FC 000AE0 003C+00 1/1 0/0 0/0 .text __dt__14J3DMatColorAnmFv */ -// J3DMatColorAnm::~J3DMatColorAnm() { -extern "C" void __dt__14J3DMatColorAnmFv() { - // NONMATCHING -} - -/* 80AF80FC-80AF8114 000B1C 0018+00 1/1 0/0 0/0 .text __ct__14J3DMatColorAnmFv */ -// J3DMatColorAnm::J3DMatColorAnm() { -extern "C" void __ct__14J3DMatColorAnmFv() { - // NONMATCHING -} - /* 80AF8114-80AF8160 000B34 004C+00 1/1 0/0 0/0 .text ctrlJointCallBack__10daNpcThe_cFP8J3DJointi */ int daNpcThe_c::ctrlJointCallBack(J3DJoint* i_joint, int param_1) { @@ -954,7 +531,7 @@ int daNpcThe_c::ctrlJointCallBack(J3DJoint* i_joint, int param_1) { */ bool daNpcThe_c::setExpressionAnm(int i_idx, bool i_modify) { J3DAnmTransform* anm = NULL; - int attr = 0; + int attr = J3DFrameCtrl::LOOP_ONCE_e; mAnmFlags &= ~ANM_EXPRESSION_FLAGS; if (l_bckGetParamList[i_idx].fileIdx >= 0) { @@ -978,7 +555,7 @@ bool daNpcThe_c::setExpressionAnm(int i_idx, bool i_modify) { break; case ANM_F_TALK_B: res = setExpressionBtp(4); - attr = 2; + attr = J3DFrameCtrl::LOOP_REPEAT_e; break; case ANM_F_TALK_C: res = setExpressionBtp(5); @@ -991,27 +568,27 @@ bool daNpcThe_c::setExpressionAnm(int i_idx, bool i_modify) { break; case ANM_FH_SMILE: res = setExpressionBtp(8); - attr = 2; + attr = J3DFrameCtrl::LOOP_REPEAT_e; break; case ANM_FH_CHUCKLE: res = setExpressionBtp(9); - attr = 2; + attr = J3DFrameCtrl::LOOP_REPEAT_e; break; case ANM_FH_TALK_B: res = setExpressionBtp(10); - attr = 2; + attr = J3DFrameCtrl::LOOP_REPEAT_e; break; case ANM_FH_TALK_C: res = setExpressionBtp(11); - attr = 2; + attr = J3DFrameCtrl::LOOP_REPEAT_e; break; case ANM_FH_LAUGH: res = setExpressionBtp(12); - attr = 2; + attr = J3DFrameCtrl::LOOP_REPEAT_e; break; case ANM_FH_TALK_R: res = setExpressionBtp(13); - attr = 2; + attr = J3DFrameCtrl::LOOP_REPEAT_e; break; default: anm = NULL; @@ -1034,7 +611,6 @@ bool daNpcThe_c::setExpressionAnm(int i_idx, bool i_modify) { return false; } - /* 80AF841C-80AF8564 000E3C 0148+00 2/0 0/0 0/0 .text setExpressionBtp__10daNpcThe_cFi */ bool daNpcThe_c::setExpressionBtp(int i_idx) { J3DAnmTexPattern* anm = NULL; @@ -1045,10 +621,10 @@ bool daNpcThe_c::setExpressionBtp(int i_idx) { l_btpGetParamList[i_idx].fileIdx); } - int attr = 0; + int attr = J3DFrameCtrl::LOOP_ONCE_e; switch (i_idx) { case 0: - attr = 2; + attr = J3DFrameCtrl::LOOP_REPEAT_e; break; case 1: break; @@ -1057,7 +633,7 @@ bool daNpcThe_c::setExpressionBtp(int i_idx) { case 3: break; case 4: - attr = 2; + attr = J3DFrameCtrl::LOOP_REPEAT_e; break; case 5: break; @@ -1066,22 +642,22 @@ bool daNpcThe_c::setExpressionBtp(int i_idx) { case 7: break; case 8: - attr = 2; + attr = J3DFrameCtrl::LOOP_REPEAT_e; break; case 9: - attr = 2; + attr = J3DFrameCtrl::LOOP_REPEAT_e; break; case 10: - attr = 2; + attr = J3DFrameCtrl::LOOP_REPEAT_e; break; case 11: - attr = 2; + attr = J3DFrameCtrl::LOOP_REPEAT_e; break; case 12: - attr = 2; + attr = J3DFrameCtrl::LOOP_REPEAT_e; break; case 13: - attr = 2; + attr = J3DFrameCtrl::LOOP_REPEAT_e; break; default: anm = NULL; @@ -1102,12 +678,11 @@ bool daNpcThe_c::setExpressionBtp(int i_idx) { return false; } - /* 80AF8564-80AF8744 000F84 01E0+00 2/0 0/0 0/0 .text setMotionAnm__10daNpcThe_cFif */ void daNpcThe_c::setMotionAnm(int i_idx, f32 i_morf) { J3DAnmTransformKey* anm_trans = NULL; J3DAnmTextureSRTKey* anm_tex = NULL; - int attr = 2; + int attr = J3DFrameCtrl::LOOP_REPEAT_e; mAnmFlags &= ~ANM_MOTION_FLAGS; if (l_bckGetParamList[i_idx].fileIdx >= 0) { @@ -1117,43 +692,43 @@ void daNpcThe_c::setMotionAnm(int i_idx, f32 i_morf) { switch (i_idx) { case ANM_WAIT_A: - attr = 2; + attr = J3DFrameCtrl::LOOP_REPEAT_e; break; case ANM_WAIT_LOOKING: - attr = 2; + attr = J3DFrameCtrl::LOOP_REPEAT_e; break; case ANM_TO_WAIT_B: - attr = 0; + attr = J3DFrameCtrl::LOOP_ONCE_e; break; case ANM_WAIT_B: - attr = 2; + attr = J3DFrameCtrl::LOOP_REPEAT_e; break; case ANM_WAIT_LOOKUP: - attr = 2; + attr = J3DFrameCtrl::LOOP_REPEAT_e; break; case ANM_TALK_R: - attr = 0; + attr = J3DFrameCtrl::LOOP_ONCE_e; break; case ANM_TALKING_R: - attr = 2; + attr = J3DFrameCtrl::LOOP_REPEAT_e; break; case ANM_LOOK_A: - attr = 0; + attr = J3DFrameCtrl::LOOP_ONCE_e; break; case ANM_LOOK: - attr = 0; + attr = J3DFrameCtrl::LOOP_ONCE_e; break; case ANM_KUNE_WAIT_A: - attr = 2; + attr = J3DFrameCtrl::LOOP_REPEAT_e; break; case ANM_KUNE_TALK: - attr = 0; + attr = J3DFrameCtrl::LOOP_ONCE_e; break; case ANM_KUNE_WAIT_B: - attr = 2; + attr = J3DFrameCtrl::LOOP_REPEAT_e; break; case ANM_KUNE_SHISHI: - attr = 0; + attr = J3DFrameCtrl::LOOP_ONCE_e; break; default: anm_trans = NULL; @@ -1179,578 +754,116 @@ void daNpcThe_c::setMotionAnm(int i_idx, f32 i_morf) { } } +/* 80AFA338-80AFA6CC 002D58 0394+00 1/1 0/0 0/0 .text playExpression__10daNpcThe_cFv */ +void daNpcThe_c::playExpression() { + daNpcF_anmPlayData dat0 = {ANM_F_TALK_A, daNpcThe_Param_c::m.mMorfFrames, 1}; + daNpcF_anmPlayData* pDat0[2] = {&dat0, NULL}; + daNpcF_anmPlayData dat1 = {ANM_F_SMILE, daNpcThe_Param_c::m.mMorfFrames, 1}; + daNpcF_anmPlayData* pDat1[2] = {&dat1, NULL}; + daNpcF_anmPlayData dat2 = {ANM_F_CHUCKLE, daNpcThe_Param_c::m.mMorfFrames, 1}; + daNpcF_anmPlayData* pDat2[2] = {&dat2, NULL}; + daNpcF_anmPlayData dat3 = {ANM_F_TALK_B, daNpcThe_Param_c::m.mMorfFrames, 1}; + daNpcF_anmPlayData* pDat3[2] = {&dat3, NULL}; + daNpcF_anmPlayData dat4 = {ANM_F_TALK_C, daNpcThe_Param_c::m.mMorfFrames, 1}; + daNpcF_anmPlayData* pDat4[2] = {&dat4, NULL}; + daNpcF_anmPlayData dat5 = {ANM_F_LAUGH, daNpcThe_Param_c::m.mMorfFrames, 1}; + daNpcF_anmPlayData* pDat5[2] = {&dat5, NULL}; + daNpcF_anmPlayData dat6 = {ANM_F_TALK_R, daNpcThe_Param_c::m.mMorfFrames, 1}; + daNpcF_anmPlayData* pDat6[2] = {&dat6, NULL}; + daNpcF_anmPlayData dat7 = {ANM_FH_TALK_R, 0.0f, 0}; + daNpcF_anmPlayData* pDat7[2] = {&dat7, NULL}; + daNpcF_anmPlayData dat8 = {ANM_FH_SMILE, 0.0f, 0}; + daNpcF_anmPlayData* pDat8[2] = {&dat8, NULL}; + daNpcF_anmPlayData dat9 = {ANM_FH_CHUCKLE, 0.0f, 0}; + daNpcF_anmPlayData* pDat9[2] = {&dat9, NULL}; + daNpcF_anmPlayData dat10 = {ANM_FH_TALK_B, 0.0f, 0}; + daNpcF_anmPlayData* pDat10[2] = {&dat10, NULL}; + daNpcF_anmPlayData dat11 = {ANM_FH_TALK_C, 0.0f, 0}; + daNpcF_anmPlayData* pDat11[2] = {&dat11, NULL}; + daNpcF_anmPlayData dat12 = {ANM_FH_LAUGH, 0.0f, 0}; + daNpcF_anmPlayData* pDat12[2] = {&dat12, NULL}; + daNpcF_anmPlayData dat13 = {ANM_NONE, daNpcThe_Param_c::m.mMorfFrames, 0}; + daNpcF_anmPlayData* pDat13[1] = {&dat13}; + daNpcF_anmPlayData** ppDat[14] = { + pDat0, + pDat1, + pDat2, + pDat3, + pDat4, + pDat5, + pDat6, + pDat7, + pDat8, + pDat9, + pDat10, + pDat11, + pDat12, + pDat13, + }; + if (mExpression >= 0 && mExpression < 14) { + playExpressionAnm(ppDat); + } +} -/* ############################################################################################## */ -/* 80AFBE8C-80AFBE98 000080 000C+00 0/1 0/0 0/0 .rodata @4507 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4507[12] = { - 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80AFBE8C, &lit_4507); -#pragma pop - -/* 80AFBE98-80AFBEA0 00008C 0008+00 0/1 0/0 0/0 .rodata @4508 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4508[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AFBE98, &lit_4508); -#pragma pop - -/* 80AFBEA0-80AFBEAC 000094 000C+00 0/1 0/0 0/0 .rodata @4509 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4509[12] = { - 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80AFBEA0, &lit_4509); -#pragma pop - -/* 80AFBEAC-80AFBEB4 0000A0 0008+00 0/1 0/0 0/0 .rodata @4510 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4510[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AFBEAC, &lit_4510); -#pragma pop - -/* 80AFBEB4-80AFBEC0 0000A8 000C+00 0/1 0/0 0/0 .rodata @4511 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4511[12] = { - 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80AFBEB4, &lit_4511); -#pragma pop - -/* 80AFBEC0-80AFBEC8 0000B4 0008+00 0/1 0/0 0/0 .rodata @4512 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4512[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AFBEC0, &lit_4512); -#pragma pop - -/* 80AFBEC8-80AFBED4 0000BC 000C+00 0/1 0/0 0/0 .rodata @4513 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4513[12] = { - 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80AFBEC8, &lit_4513); -#pragma pop - -/* 80AFBED4-80AFBEDC 0000C8 0008+00 0/1 0/0 0/0 .rodata @4514 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4514[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AFBED4, &lit_4514); -#pragma pop - -/* 80AFBEDC-80AFBEE8 0000D0 000C+00 0/1 0/0 0/0 .rodata @4515 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4515[12] = { - 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80AFBEDC, &lit_4515); -#pragma pop - -/* 80AFBEE8-80AFBEF0 0000DC 0008+00 0/1 0/0 0/0 .rodata @4516 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4516[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AFBEE8, &lit_4516); -#pragma pop - -/* 80AFBEF0-80AFBEFC 0000E4 000C+00 0/1 0/0 0/0 .rodata @4517 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4517[12] = { - 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80AFBEF0, &lit_4517); -#pragma pop - -/* 80AFBEFC-80AFBF04 0000F0 0008+00 0/1 0/0 0/0 .rodata @4518 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4518[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AFBEFC, &lit_4518); -#pragma pop - -/* 80AFBF04-80AFBF10 0000F8 000C+00 0/1 0/0 0/0 .rodata @4519 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4519[12] = { - 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80AFBF04, &lit_4519); -#pragma pop - -/* 80AFBF10-80AFBF18 000104 0008+00 0/1 0/0 0/0 .rodata @4520 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4520[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AFBF10, &lit_4520); -#pragma pop - -/* 80AFBF18-80AFBF24 00010C 000C+00 0/1 0/0 0/0 .rodata @4521 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4521[12] = { - 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AFBF18, &lit_4521); -#pragma pop - -/* 80AFBF24-80AFBF2C 000118 0008+00 0/1 0/0 0/0 .rodata @4522 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4522[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AFBF24, &lit_4522); -#pragma pop - -/* 80AFBF2C-80AFBF38 000120 000C+00 0/1 0/0 0/0 .rodata @4523 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4523[12] = { - 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AFBF2C, &lit_4523); -#pragma pop - -/* 80AFBF38-80AFBF40 00012C 0008+00 0/1 0/0 0/0 .rodata @4524 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4524[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AFBF38, &lit_4524); -#pragma pop - -/* 80AFBF40-80AFBF4C 000134 000C+00 0/1 0/0 0/0 .rodata @4525 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4525[12] = { - 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AFBF40, &lit_4525); -#pragma pop - -/* 80AFBF4C-80AFBF54 000140 0008+00 0/1 0/0 0/0 .rodata @4526 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4526[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AFBF4C, &lit_4526); -#pragma pop - -/* 80AFBF54-80AFBF60 000148 000C+00 0/1 0/0 0/0 .rodata @4527 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4527[12] = { - 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AFBF54, &lit_4527); -#pragma pop - -/* 80AFBF60-80AFBF68 000154 0008+00 0/1 0/0 0/0 .rodata @4528 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4528[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AFBF60, &lit_4528); -#pragma pop - -/* 80AFBF68-80AFBF74 00015C 000C+00 0/1 0/0 0/0 .rodata @4529 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4529[12] = { - 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AFBF68, &lit_4529); -#pragma pop - -/* 80AFBF74-80AFBF7C 000168 0008+00 0/1 0/0 0/0 .rodata @4530 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4530[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AFBF74, &lit_4530); -#pragma pop - -/* 80AFBF7C-80AFBF88 000170 000C+00 0/1 0/0 0/0 .rodata @4531 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4531[12] = { - 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AFBF7C, &lit_4531); -#pragma pop - -/* 80AFBF88-80AFBF90 00017C 0008+00 0/1 0/0 0/0 .rodata @4532 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4532[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AFBF88, &lit_4532); -#pragma pop - -/* 80AFBF90-80AFBF9C 000184 000C+00 0/1 0/0 0/0 .rodata @4533 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4533[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AFBF90, &lit_4533); -#pragma pop - -/* 80AFBF9C-80AFBFA0 000190 0004+00 0/1 0/0 0/0 .rodata @4534 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4534[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80AFBF9C, &lit_4534); -#pragma pop - -/* 80AFBFA0-80AFBFD8 000194 0038+00 0/0 0/0 0/0 .rodata @4535 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4535[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, -}; -COMPILER_STRIP_GATE(0x80AFBFA0, &lit_4535); -#pragma pop - -/* 80AFBFD8-80AFBFE4 0001CC 000C+00 0/1 0/0 0/0 .rodata @4539 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4539[12] = { - 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AFBFD8, &lit_4539); -#pragma pop - -/* 80AFBFE4-80AFBFE8 0001D8 0004+00 0/1 0/0 0/0 .rodata @4540 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4540[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80AFBFE4, &lit_4540); -#pragma pop - -/* 80AFBFE8-80AFBFF4 0001DC 000C+00 0/1 0/0 0/0 .rodata @4541 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4541[12] = { - 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80AFBFE8, &lit_4541); -#pragma pop - -/* 80AFBFF4-80AFC000 0001E8 000C+00 0/1 0/0 0/0 .rodata @4542 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4542[12] = { - 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AFBFF4, &lit_4542); -#pragma pop - -/* 80AFC000-80AFC008 0001F4 0008+00 0/1 0/0 0/0 .rodata @4543 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4543[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AFC000, &lit_4543); -#pragma pop - -/* 80AFC008-80AFC014 0001FC 000C+00 0/1 0/0 0/0 .rodata @4544 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4544[12] = { - 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80AFC008, &lit_4544); -#pragma pop - -/* 80AFC014-80AFC020 000208 000C+00 0/1 0/0 0/0 .rodata @4545 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4545[12] = { - 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AFC014, &lit_4545); -#pragma pop - -/* 80AFC020-80AFC028 000214 0008+00 0/1 0/0 0/0 .rodata @4546 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4546[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AFC020, &lit_4546); -#pragma pop - -/* 80AFC028-80AFC034 00021C 000C+00 0/1 0/0 0/0 .rodata @4547 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4547[12] = { - 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AFC028, &lit_4547); -#pragma pop - -/* 80AFC034-80AFC038 000228 0004+00 0/1 0/0 0/0 .rodata @4548 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4548[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80AFC034, &lit_4548); -#pragma pop - -/* 80AFC038-80AFC044 00022C 000C+00 0/1 0/0 0/0 .rodata @4549 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4549[12] = { - 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80AFC038, &lit_4549); -#pragma pop - -/* 80AFC044-80AFC050 000238 000C+00 0/1 0/0 0/0 .rodata @4550 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4550[12] = { - 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AFC044, &lit_4550); -#pragma pop - -/* 80AFC050-80AFC058 000244 0008+00 0/1 0/0 0/0 .rodata @4551 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4551[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AFC050, &lit_4551); -#pragma pop - -/* 80AFC058-80AFC064 00024C 000C+00 0/1 0/0 0/0 .rodata @4552 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4552[12] = { - 0x00, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AFC058, &lit_4552); -#pragma pop - -/* 80AFC064-80AFC068 000258 0004+00 0/1 0/0 0/0 .rodata @4553 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4553[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80AFC064, &lit_4553); -#pragma pop - -/* 80AFC068-80AFC074 00025C 000C+00 0/1 0/0 0/0 .rodata @4554 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4554[12] = { - 0x00, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80AFC068, &lit_4554); -#pragma pop - -/* 80AFC074-80AFC080 000268 000C+00 0/1 0/0 0/0 .rodata @4555 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4555[12] = { - 0x00, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AFC074, &lit_4555); -#pragma pop - -/* 80AFC080-80AFC088 000274 0008+00 0/1 0/0 0/0 .rodata @4556 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4556[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AFC080, &lit_4556); -#pragma pop - -/* 80AFC088-80AFC094 00027C 000C+00 0/1 0/0 0/0 .rodata @4557 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4557[12] = { - 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AFC088, &lit_4557); -#pragma pop - -/* 80AFC094-80AFC098 000288 0004+00 0/1 0/0 0/0 .rodata @4558 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4558[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80AFC094, &lit_4558); -#pragma pop - -/* 80AFC098-80AFC0A4 00028C 000C+00 0/1 0/0 0/0 .rodata @4559 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4559[12] = { - 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AFC098, &lit_4559); -#pragma pop - -/* 80AFC0A4-80AFC0A8 000298 0004+00 0/1 0/0 0/0 .rodata @4560 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4560[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80AFC0A4, &lit_4560); -#pragma pop - -/* 80AFC0A8-80AFC0B4 00029C 000C+00 0/1 0/0 0/0 .rodata @4561 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4561[12] = { - 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80AFC0A8, &lit_4561); -#pragma pop - -/* 80AFC0B4-80AFC0C0 0002A8 000C+00 0/1 0/0 0/0 .rodata @4562 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4562[12] = { - 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AFC0B4, &lit_4562); -#pragma pop - -/* 80AFC0C0-80AFC0C8 0002B4 0008+00 0/1 0/0 0/0 .rodata @4563 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4563[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AFC0C0, &lit_4563); -#pragma pop - -/* 80AFC0C8-80AFC0D4 0002BC 000C+00 0/1 0/0 0/0 .rodata @4564 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4564[12] = { - 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80AFC0C8, &lit_4564); -#pragma pop - -/* 80AFC0D4-80AFC0E0 0002C8 000C+00 0/1 0/0 0/0 .rodata @4565 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4565[12] = { - 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AFC0D4, &lit_4565); -#pragma pop - -/* 80AFC0E0-80AFC0E8 0002D4 0008+00 0/1 0/0 0/0 .rodata @4566 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4566[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AFC0E0, &lit_4566); -#pragma pop - -/* 80AFC0E8-80AFC114 0002DC 002C+00 0/0 0/0 0/0 .rodata @4567 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4567[44] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 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(0x80AFC0E8, &lit_4567); -#pragma pop +/* 80AF9F94-80AFA338 0029B4 03A4+00 1/1 0/0 0/0 .text playMotion__10daNpcThe_cFv */ +void daNpcThe_c::playMotion() { + daNpcF_anmPlayData dat0 = {ANM_WAIT_A, daNpcThe_Param_c::m.mMorfFrames, 0}; + daNpcF_anmPlayData* pDat0[1] = {&dat0}; + daNpcF_anmPlayData dat1a = {ANM_LOOK_A, daNpcThe_Param_c::m.mMorfFrames, 1}; + daNpcF_anmPlayData dat1b = {ANM_WAIT_LOOKING, 0.0f, 0}; + daNpcF_anmPlayData* pDat1[2] = {&dat1a, &dat1b}; + daNpcF_anmPlayData dat2a = {ANM_TO_WAIT_B, daNpcThe_Param_c::m.mMorfFrames, 1}; + daNpcF_anmPlayData dat2b = {ANM_WAIT_B, 0.0f, 0}; + daNpcF_anmPlayData* pDat2[2] = {&dat2a, &dat2b}; + daNpcF_anmPlayData dat3 = {ANM_WAIT_LOOKUP, daNpcThe_Param_c::m.mMorfFrames, 0}; + daNpcF_anmPlayData* pDat3[1] = {&dat3}; + daNpcF_anmPlayData dat4a = {ANM_KUNE_TALK, daNpcThe_Param_c::m.mMorfFrames, 1}; + daNpcF_anmPlayData dat4b = {ANM_KUNE_WAIT_B, 0.0f, 0}; + daNpcF_anmPlayData* pDat4[2] = {&dat4a, &dat4b}; + daNpcF_anmPlayData dat5 = {ANM_KUNE_WAIT_A, daNpcThe_Param_c::m.mMorfFrames, 0}; + daNpcF_anmPlayData* pDat5[1] = {&dat5}; + daNpcF_anmPlayData dat6a = {ANM_KUNE_SHISHI, daNpcThe_Param_c::m.mMorfFrames, 1}; + daNpcF_anmPlayData dat6b = {ANM_KUNE_WAIT_A, daNpcThe_Param_c::m.mMorfFrames, 0}; + daNpcF_anmPlayData* pDat6[2] = {&dat6a, &dat6b}; + daNpcF_anmPlayData dat7 = {ANM_WAIT_B, daNpcThe_Param_c::m.mMorfFrames, 0}; + daNpcF_anmPlayData* pDat7[1] = {&dat7}; + daNpcF_anmPlayData dat8 = {ANM_KUNE_WAIT_B, daNpcThe_Param_c::m.mMorfFrames, 0}; + daNpcF_anmPlayData* pDat8[1] = {&dat8}; + daNpcF_anmPlayData dat9a = {ANM_TALK_R, daNpcThe_Param_c::m.mMorfFrames, 1}; + daNpcF_anmPlayData dat9b = {ANM_TALKING_R, 0.0f, 0}; + daNpcF_anmPlayData* pDat9[2] = {&dat9a, &dat9b}; + daNpcF_anmPlayData dat10a = {ANM_LOOK, daNpcThe_Param_c::m.mMorfFrames, 1}; + daNpcF_anmPlayData dat10b = {ANM_WAIT_LOOKING, 0.0f, 0}; + daNpcF_anmPlayData* pDat10[2] = {&dat10a, &dat10b}; + daNpcF_anmPlayData** ppDat[11] = { + pDat0, + pDat1, + pDat2, + pDat3, + pDat4, + pDat5, + pDat6, + pDat7, + pDat8, + pDat9, + pDat10, + }; + if (mMotion >= 0 && mMotion < 11) { + playMotionAnm(ppDat); + } +} /* 80AFC114-80AFC120 000308 000C+00 0/1 0/0 0/0 .rodata @4676 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4676[12] = { +static u8 const lit_4676[12] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; -COMPILER_STRIP_GATE(0x80AFC114, &lit_4676); -#pragma pop - -/* 80AFC120-80AFC124 000314 0004+00 4/4 0/0 0/0 .rodata @4781 */ -SECTION_RODATA static f32 const lit_4781 = -1.0f; -COMPILER_STRIP_GATE(0x80AFC120, &lit_4781); - -/* 80AFC158-80AFC158 00034C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80AFC1AC = "R_SP116"; -#pragma pop /* 80AF8744-80AF8B0C 001164 03C8+00 1/0 0/0 0/0 .text wait__10daNpcThe_cFPv */ BOOL daNpcThe_c::wait(void* param_0) { switch (mMode) { case 0: mAttnChangeTimer = 0; - // no break + // fallthrough case 1: if (mType == TYPE_KAKARIKO) { @@ -1833,7 +946,6 @@ BOOL daNpcThe_c::wait(void* param_0) { return true; } - /* 80AF8B0C-80AF8B50 00152C 0044+00 1/0 0/0 0/0 .text setMotion__10daNpcThe_cFifi */ void daNpcThe_c::setMotion(int i_motion, f32 i_morf, BOOL i_restart) { s16 motion = i_motion; @@ -1862,7 +974,7 @@ BOOL daNpcThe_c::waitTW(void* param_0) { switch (mMode) { case 0: mAttnChangeTimer = 0; - // no break + // fallthrough case 1: if (mType == TYPE_KAKARIKO) { @@ -1890,20 +1002,6 @@ BOOL daNpcThe_c::waitTW(void* param_0) { return true; } - -/* ############################################################################################## */ -/* 80AFC124-80AFC12C 000318 0008+00 1/1 0/0 0/0 .rodata @4840 */ -SECTION_RODATA static u8 const lit_4840[8] = { - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -}; -COMPILER_STRIP_GATE(0x80AFC124, &lit_4840); - -/* 80AFC158-80AFC158 00034C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80AFC1B4 = "DEFAULT_GETITEM"; -#pragma pop - /* 80AF8CC4-80AF912C 0016E4 0468+00 6/0 0/0 0/0 .text talk__10daNpcThe_cFPv */ BOOL daNpcThe_c::talk(void* param_0) { BOOL ret = false; @@ -1990,7 +1088,7 @@ BOOL daNpcThe_c::talk(void* param_0) { } field_0x9ec = false; } - // no break + // fallthrough case 3: default: @@ -1999,7 +1097,6 @@ BOOL daNpcThe_c::talk(void* param_0) { return ret; } - /* 80AF912C-80AF923C 001B4C 0110+00 2/0 0/0 0/0 .text test__10daNpcThe_cFPv */ BOOL daNpcThe_c::test(void* param_0) { switch (mMode) { @@ -2012,7 +1109,7 @@ BOOL daNpcThe_c::test(void* param_0) { speed.setall(0.0f); mTurnMode = 0; mMode = 2; - // no break + // fallthrough case 2: attention_info.flags = 0; @@ -2031,7 +1128,6 @@ BOOL daNpcThe_c::test(void* param_0) { return true; } - /* 80AF923C-80AF9244 001C5C 0008+00 2/0 0/0 0/0 .text EvCut_TwResistance__10daNpcThe_cFi */ BOOL daNpcThe_c::EvCut_TwResistance(int i_staffID) { @@ -2186,7 +1282,6 @@ void daNpcThe_c::reset() { field_0x9ee = 1; } - /* 80AF98D0-80AF9904 0022F0 0034+00 1/0 0/0 0/0 .text daNpcThe_Delete__FPv */ static int daNpcThe_Delete(void* i_this) { static_cast(i_this)->~daNpcThe_c(); @@ -2198,13 +1293,6 @@ static int daNpcThe_Execute(void* i_this) { return static_cast(i_this)->execute(); } -int daNpcThe_c::Draw() { - mpMorf->getModel()->getModelData()->getMaterialNodePointer(2)->setMaterialAnm(mpMatAnm); - ActionFn action_test = &test; - int is_test = mpActionFn == action_test; - return draw(is_test, false, daNpcThe_Param_c::m.mShadowDepth, NULL, false); -} - /* 80AF9924-80AF99BC 002344 0098+00 1/0 0/0 0/0 .text daNpcThe_Draw__FPv */ static int daNpcThe_Draw(void* i_this) { return static_cast(i_this)->Draw(); @@ -2216,12 +1304,6 @@ static int daNpcThe_IsDelete(void* i_this) { return 1; } -/* 80AF99C4-80AF99F4 0023E4 0030+00 1/0 0/0 0/0 .text calc__11J3DTexNoAnmCFPUs */ -// void J3DTexNoAnm::calc(u16* param_0) const { -extern "C" void calc__11J3DTexNoAnmCFPUs() { - // NONMATCHING -} - /* 80AF99F4-80AF9CF0 002414 02FC+00 1/0 0/0 0/0 .text setParam__10daNpcThe_cFv */ void daNpcThe_c::setParam() { if (mActorMngr[2].getActorP() == NULL) { @@ -2253,17 +1335,19 @@ void daNpcThe_c::setParam() { attention_info.flags |= 0x800000; } else { if (!strcmp(dComIfGp_getStartStageName(), "R_SP116")) { - attention_info.distances[fopAc_attn_LOCK_e] = getDistTableIdx(daNpcThe_Param_c::m.mTalkDistIdx, - talk_angle_idx); - attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[fopAc_attn_LOCK_e]; - attention_info.distances[fopAc_attn_SPEAK_e] = getDistTableIdx(daNpcThe_Param_c::m.mSpeakDistIdx + 1, - speak_angle_idx); + attention_info.distances[fopAc_attn_LOCK_e] + = getDistTableIdx(daNpcThe_Param_c::m.mTalkDistIdx, talk_angle_idx); + attention_info.distances[fopAc_attn_TALK_e] + = attention_info.distances[fopAc_attn_LOCK_e]; + attention_info.distances[fopAc_attn_SPEAK_e] + = getDistTableIdx(daNpcThe_Param_c::m.mSpeakDistIdx + 1, speak_angle_idx); } else { - attention_info.distances[fopAc_attn_LOCK_e] = getDistTableIdx(daNpcThe_Param_c::m.mTalkDistIdx, - talk_angle_idx); - attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[fopAc_attn_LOCK_e]; - attention_info.distances[fopAc_attn_SPEAK_e] = getDistTableIdx(daNpcThe_Param_c::m.mSpeakDistIdx, - speak_angle_idx); + attention_info.distances[fopAc_attn_LOCK_e] + = getDistTableIdx(daNpcThe_Param_c::m.mTalkDistIdx, talk_angle_idx); + attention_info.distances[fopAc_attn_TALK_e] + = attention_info.distances[fopAc_attn_LOCK_e]; + attention_info.distances[fopAc_attn_SPEAK_e] + = getDistTableIdx(daNpcThe_Param_c::m.mSpeakDistIdx, speak_angle_idx); } } @@ -2275,8 +1359,7 @@ void daNpcThe_c::setParam() { /* 80AF9CF0-80AF9F94 002710 02A4+00 1/0 0/0 0/0 .text main__10daNpcThe_cFv */ -#ifdef NONMATCHING -// dComIfG_gameInfo issues +// NONMATCHING dComIfG_gameInfo issues BOOL daNpcThe_c::main() { if (!doEvent()) { doNormalAction(); @@ -2298,7 +1381,7 @@ BOOL daNpcThe_c::main() { } if (!daNpcThe_Param_c::m.mTest - && (dComIfGp_event_runCheck() == false + && (dComIfGp_event_runCheck() == FALSE || (mOrderNewEvt && dComIfGp_getEvent().isOrderOK()))) { if (mOrderEvtNo != 0 && l_resNames[l_evtGetParamList[mOrderEvtNo]] != NULL) { @@ -2314,112 +1397,6 @@ BOOL daNpcThe_c::main() { playMotion(); return true; } -#else -BOOL daNpcThe_c::main() { - // NONMATCHING -} -#endif - -/* 80AF9F94-80AFA338 0029B4 03A4+00 1/1 0/0 0/0 .text playMotion__10daNpcThe_cFv */ -void daNpcThe_c::playMotion() { - daNpcF_anmPlayData dat0 = {ANM_WAIT_A, daNpcThe_Param_c::m.mMorfFrames, 0}; - daNpcF_anmPlayData* pDat0[1] = {&dat0}; - daNpcF_anmPlayData dat1a = {ANM_LOOK_A, daNpcThe_Param_c::m.mMorfFrames, 0}; - daNpcF_anmPlayData dat1b = {ANM_WAIT_LOOKING, 0.0f, 0}; - daNpcF_anmPlayData* pDat1[2] = {&dat1a, &dat1b}; - daNpcF_anmPlayData dat2a = {ANM_TO_WAIT_B, daNpcThe_Param_c::m.mMorfFrames, 0}; - daNpcF_anmPlayData dat2b = {ANM_WAIT_B, 0.0f, 0}; - daNpcF_anmPlayData* pDat2[2] = {&dat2a, &dat2b}; - daNpcF_anmPlayData dat3 = {ANM_WAIT_LOOKUP, daNpcThe_Param_c::m.mMorfFrames, 0}; - daNpcF_anmPlayData* pDat3[1] = {&dat3}; - daNpcF_anmPlayData dat4a = {ANM_KUNE_TALK, daNpcThe_Param_c::m.mMorfFrames, 0}; - daNpcF_anmPlayData dat4b = {ANM_KUNE_WAIT_B, 0.0f, 0}; - daNpcF_anmPlayData* pDat4[2] = {&dat4a, &dat4b}; - daNpcF_anmPlayData dat5 = {ANM_KUNE_WAIT_A, daNpcThe_Param_c::m.mMorfFrames, 0}; - daNpcF_anmPlayData* pDat5[1] = {&dat5}; - daNpcF_anmPlayData dat6a = {ANM_KUNE_SHISHI, daNpcThe_Param_c::m.mMorfFrames, 0}; - daNpcF_anmPlayData dat6b = {ANM_KUNE_WAIT_A, daNpcThe_Param_c::m.mMorfFrames, 0}; - daNpcF_anmPlayData* pDat6[2] = {&dat6a, &dat6b}; - daNpcF_anmPlayData dat7 = {ANM_WAIT_B, daNpcThe_Param_c::m.mMorfFrames, 0}; - daNpcF_anmPlayData* pDat7[1] = {&dat7}; - daNpcF_anmPlayData dat8 = {ANM_KUNE_WAIT_B, daNpcThe_Param_c::m.mMorfFrames, 0}; - daNpcF_anmPlayData* pDat8[1] = {&dat8}; - daNpcF_anmPlayData dat9a = {ANM_TALK_R, daNpcThe_Param_c::m.mMorfFrames, 0}; - daNpcF_anmPlayData dat9b = {ANM_TALKING_R, 0.0f, 0}; - daNpcF_anmPlayData* pDat9[2] = {&dat9a, &dat9b}; - daNpcF_anmPlayData dat10a = {ANM_LOOK, daNpcThe_Param_c::m.mMorfFrames, 0}; - daNpcF_anmPlayData dat10b = {ANM_WAIT_LOOKING, 0.0f, 0}; - daNpcF_anmPlayData* pDat10[2] = {&dat10a, &dat10b}; - daNpcF_anmPlayData** ppDat[11] = { - pDat0, - pDat1, - pDat2, - pDat3, - pDat4, - pDat5, - pDat6, - pDat7, - pDat8, - pDat9, - pDat10, - }; - if (mMotion >= 0 && mMotion < 11) { - playMotionAnm(ppDat); - } -} - - -/* 80AFA338-80AFA6CC 002D58 0394+00 1/1 0/0 0/0 .text playExpression__10daNpcThe_cFv */ -void daNpcThe_c::playExpression() { - daNpcF_anmPlayData dat0 = {ANM_F_TALK_A, daNpcThe_Param_c::m.mMorfFrames, 0}; - daNpcF_anmPlayData* pDat0[2] = {&dat0, NULL}; - daNpcF_anmPlayData dat1 = {ANM_F_SMILE, daNpcThe_Param_c::m.mMorfFrames, 0}; - daNpcF_anmPlayData* pDat1[2] = {&dat1, NULL}; - daNpcF_anmPlayData dat2 = {ANM_F_CHUCKLE, daNpcThe_Param_c::m.mMorfFrames, 0}; - daNpcF_anmPlayData* pDat2[2] = {&dat2, NULL}; - daNpcF_anmPlayData dat3 = {ANM_F_TALK_B, daNpcThe_Param_c::m.mMorfFrames, 0}; - daNpcF_anmPlayData* pDat3[2] = {&dat3, NULL}; - daNpcF_anmPlayData dat4 = {ANM_F_TALK_C, daNpcThe_Param_c::m.mMorfFrames, 0}; - daNpcF_anmPlayData* pDat4[2] = {&dat4, NULL}; - daNpcF_anmPlayData dat5 = {ANM_F_LAUGH, daNpcThe_Param_c::m.mMorfFrames, 0}; - daNpcF_anmPlayData* pDat5[2] = {&dat5, NULL}; - daNpcF_anmPlayData dat6 = {ANM_F_TALK_R, daNpcThe_Param_c::m.mMorfFrames, 0}; - daNpcF_anmPlayData* pDat6[2] = {&dat6, NULL}; - daNpcF_anmPlayData dat7 = {ANM_FH_TALK_R, 0.0f, 0}; - daNpcF_anmPlayData* pDat7[2] = {&dat7, NULL}; - daNpcF_anmPlayData dat8 = {ANM_FH_SMILE, 0.0f, 0}; - daNpcF_anmPlayData* pDat8[2] = {&dat8, NULL}; - daNpcF_anmPlayData dat9 = {ANM_FH_CHUCKLE, 0.0f, 0}; - daNpcF_anmPlayData* pDat9[2] = {&dat9, NULL}; - daNpcF_anmPlayData dat10 = {ANM_FH_TALK_B, 0.0f, 0}; - daNpcF_anmPlayData* pDat10[2] = {&dat10, NULL}; - daNpcF_anmPlayData dat11 = {ANM_FH_TALK_C, 0.0f, 0}; - daNpcF_anmPlayData* pDat11[2] = {&dat11, NULL}; - daNpcF_anmPlayData dat12 = {ANM_FH_LAUGH, 0.0f, 0}; - daNpcF_anmPlayData* pDat12[2] = {&dat12, NULL}; - daNpcF_anmPlayData dat13 = {ANM_NONE, daNpcThe_Param_c::m.mMorfFrames, 0}; - daNpcF_anmPlayData* pDat13[1] = {&dat13}; - daNpcF_anmPlayData** ppDat[14] = { - pDat0, - pDat1, - pDat2, - pDat3, - pDat4, - pDat5, - pDat6, - pDat7, - pDat8, - pDat9, - pDat10, - pDat11, - pDat12, - pDat13, - }; - if (mExpression >= 0 && mExpression < 14) { - playExpressionAnm(ppDat); - } -} - void daNpcThe_c::setExpressionTalkAfter() { switch (mExpression) { @@ -2447,16 +1424,8 @@ void daNpcThe_c::setExpressionTalkAfter() { } } -/* ############################################################################################## */ -/* 80AFC158-80AFC158 00034C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80AFC1C4 = "NO_RESPONSE"; -#pragma pop - /* 80AFA6CC-80AFADEC 0030EC 0720+00 1/1 0/0 0/0 .text doEvent__10daNpcThe_cFv */ -#ifdef NONMATCHING -// regalloc and mr ordering +// NONMATCHING regalloc and mr ordering BOOL daNpcThe_c::doEvent() { BOOL ret = false; if (dComIfGp_event_runCheck() != false) { @@ -2553,20 +1522,9 @@ BOOL daNpcThe_c::doEvent() { } return ret; } -#else -BOOL daNpcThe_c::doEvent() { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ -/* 80AFC12C-80AFC130 000320 0004+00 1/1 0/0 0/0 .rodata @5324 */ -SECTION_RODATA static f32 const lit_5324 = 1.0f / 5.0f; -COMPILER_STRIP_GATE(0x80AFC12C, &lit_5324); /* 80AFADEC-80AFAEC8 00380C 00DC+00 1/0 0/0 0/0 .text ctrlBtk__10daNpcThe_cFv */ -#ifdef NONMATCHING -// somehow this needs to not inline TSinCosTable<13,f32>::sinShort +// NONMATCHING somehow this needs to not inline TSinCosTable<13,f32>::sinShort BOOL daNpcThe_c::ctrlBtk() { if (mpMatAnm != NULL) { J3DAnmTextureSRTKey* anm = NULL; @@ -2584,46 +1542,6 @@ BOOL daNpcThe_c::ctrlBtk() { } return false; } -#else -BOOL daNpcThe_c::ctrlBtk() { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ -/* 80AFC130-80AFC134 000324 0004+00 0/1 0/0 0/0 .rodata @5398 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5398 = -10.0f; -COMPILER_STRIP_GATE(0x80AFC130, &lit_5398); -#pragma pop - -/* 80AFC134-80AFC13C 000328 0008+00 0/1 0/0 0/0 .rodata @5399 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5399[8] = { - 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AFC134, &lit_5399); -#pragma pop - -/* 80AFC13C-80AFC144 000330 0008+00 0/1 0/0 0/0 .rodata @5400 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5400[8] = { - 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AFC13C, &lit_5400); -#pragma pop - -/* 80AFC144-80AFC14C 000338 0008+00 0/1 0/0 0/0 .rodata @5401 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5401[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80AFC144, &lit_5401); -#pragma pop /* 80AFAEC8-80AFB1C4 0038E8 02FC+00 1/0 0/0 0/0 .text setAttnPos__10daNpcThe_cFv */ void daNpcThe_c::setAttnPos() { @@ -2666,30 +1584,8 @@ void daNpcThe_c::setAttnPos() { } } - -/* ############################################################################################## */ -/* 80AFC14C-80AFC150 000340 0004+00 0/1 0/0 0/0 .rodata @5449 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5449 = -80.0f; -COMPILER_STRIP_GATE(0x80AFC14C, &lit_5449); -#pragma pop - -/* 80AFC150-80AFC154 000344 0004+00 0/1 0/0 0/0 .rodata @5450 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5450 = 80.0f; -COMPILER_STRIP_GATE(0x80AFC150, &lit_5450); -#pragma pop - -/* 80AFC154-80AFC158 000348 0004+00 0/1 0/0 0/0 .rodata @5451 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5451 = 40.0f; -COMPILER_STRIP_GATE(0x80AFC154, &lit_5451); -#pragma pop - /* 80AFB1C4-80AFB488 003BE4 02C4+00 1/1 0/0 0/0 .text lookat__10daNpcThe_cFv */ +// NONMATCHING rodata problems void daNpcThe_c::lookat() { fopAc_ac_c* actor = NULL; J3DModel* model = mpMorf->getModel(); @@ -2713,7 +1609,7 @@ void daNpcThe_c::lookat() { case LOOK_PLAYER_TALK: head_right_angle = -80.0f; head_left_angle = 80.0f; - // no break + // fallthrough case LOOK_PLAYER: actor = daPy_getPlayerActorClass(); break; @@ -2752,160 +1648,29 @@ BOOL daNpcThe_c::drawDbgInfo() { return false; } -/* 80AFB490-80AFB49C 003EB0 000C+00 1/1 0/0 0/0 .text sinShort__Q25JMath18TSinCosTable<13,f>CFs */ -extern "C" void func_80AFB490(void* _this, s16 param_0) /* const */ { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80AFC65C-80AFC668 00048C 000C+00 2/2 0/0 0/0 .data __vt__16daNpcThe_Param_c */ -SECTION_DATA extern void* __vt__16daNpcThe_Param_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__16daNpcThe_Param_cFv, +/* 80AFC534-80AFC554 -00001 0020+00 1/0 0/0 0/0 .data daNpcThe_MethodTable */ +static actor_method_class daNpcThe_MethodTable = { + (process_method_func)daNpcThe_Create, + (process_method_func)daNpcThe_Delete, + (process_method_func)daNpcThe_Execute, + (process_method_func)daNpcThe_IsDelete, + (process_method_func)daNpcThe_Draw, }; -/* 80AFC670-80AFC67C 000008 000C+00 1/1 0/0 0/0 .bss @3809 */ -static u8 lit_3809[12]; - -/* 80AFC67C-80AFC680 000014 0004+00 1/1 0/0 0/0 .bss l_HIO */ -#ifdef NONMATCHING -static daNpcThe_Param_c l_HIO; -#else -static u8 l_HIO[4]; -#endif - -/* 80AFB49C-80AFB558 003EBC 00BC+00 0/0 1/0 0/0 .text __sinit_d_a_npc_the_cpp */ -void __sinit_d_a_npc_the_cpp() { - // NONMATCHING -} - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x80AFB49C, __sinit_d_a_npc_the_cpp); -#pragma pop - -/* 80AFB558-80AFB5A0 003F78 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 -} - -/* 80AFB5A0-80AFB5DC 003FC0 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 -} - -/* 80AFB5DC-80AFB6AC 003FFC 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 -} - -/* 80AFB6AC-80AFB6E8 0040CC 003C+00 5/5 0/0 0/0 .text __dt__5csXyzFv */ -// csXyz::~csXyz() { -extern "C" void __dt__5csXyzFv() { - // NONMATCHING -} - -/* 80AFB6E8-80AFB6EC 004108 0004+00 2/2 0/0 0/0 .text __ct__5csXyzFv */ -// csXyz::csXyz() { -extern "C" void __ct__5csXyzFv() { - /* empty function */ -} - -/* 80AFB6EC-80AFB728 00410C 003C+00 5/5 0/0 0/0 .text __dt__4cXyzFv */ -// cXyz::~cXyz() { -extern "C" void __dt__4cXyzFv() { - // NONMATCHING -} - -/* 80AFB728-80AFB72C 004148 0004+00 2/2 0/0 0/0 .text __ct__4cXyzFv */ -// cXyz::cXyz() { -extern "C" void __ct__4cXyzFv() { - /* empty function */ -} - -/* 80AFB72C-80AFB978 00414C 024C+00 1/1 0/0 0/0 .text __dt__8daNpcF_cFv */ -// daNpcF_c::~daNpcF_c() { -extern "C" void __dt__8daNpcF_cFv() { - // NONMATCHING -} - -/* 80AFB978-80AFBB68 004398 01F0+00 1/1 0/0 0/0 .text __ct__8daNpcF_cFv */ -// daNpcF_c::daNpcF_c() { -extern "C" void __ct__8daNpcF_cFv() { - // NONMATCHING -} - -/* 80AFBB68-80AFBBD8 004588 0070+00 1/0 0/0 0/0 .text __dt__12dBgS_AcchCirFv */ -// dBgS_AcchCir::~dBgS_AcchCir() { -extern "C" void __dt__12dBgS_AcchCirFv() { - // NONMATCHING -} - -/* 80AFBBD8-80AFBC34 0045F8 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */ -// dCcD_GStts::~dCcD_GStts() { -extern "C" void __dt__10dCcD_GSttsFv() { - // NONMATCHING -} - -/* 80AFBC34-80AFBCA4 004654 0070+00 3/2 0/0 0/0 .text __dt__12dBgS_ObjAcchFv */ -// dBgS_ObjAcch::~dBgS_ObjAcch() { -extern "C" void __dt__12dBgS_ObjAcchFv() { - // NONMATCHING -} - -/* 80AFBCA4-80AFBCEC 0046C4 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */ -// J3DFrameCtrl::~J3DFrameCtrl() { -extern "C" void __dt__12J3DFrameCtrlFv() { - // NONMATCHING -} - -/* 80AFBCEC-80AFBCF0 00470C 0004+00 1/0 0/0 0/0 .text setCollisions__8daNpcF_cFv */ -// void daNpcF_c::setCollisions() { -extern "C" void setCollisions__8daNpcF_cFv() { - /* empty function */ -} - -/* 80AFBCF0-80AFBCF4 004710 0004+00 1/0 0/0 0/0 .text drawOtherMdls__8daNpcF_cFv */ -// void daNpcF_c::drawOtherMdls() { -extern "C" void drawOtherMdls__8daNpcF_cFv() { - /* empty function */ -} - -/* 80AFBCF4-80AFBD3C 004714 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */ -// cCcD_GStts::~cCcD_GStts() { -extern "C" void __dt__10cCcD_GSttsFv() { - // NONMATCHING -} - -/* 80AFBD3C-80AFBD9C 00475C 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 -} - -/* 80AFBD9C-80AFBDA0 0047BC 0004+00 1/0 0/0 0/0 .text adjustShapeAngle__10daNpcThe_cFv */ -void daNpcThe_c::adjustShapeAngle() { - /* empty function */ -} - -/* 80AFBDA0-80AFBDE8 0047C0 0048+00 2/1 0/0 0/0 .text __dt__16daNpcThe_Param_cFv */ -// daNpcThe_Param_c::~daNpcThe_Param_c() { -extern "C" void __dt__16daNpcThe_Param_cFv() { - // NONMATCHING -} - -/* 80AFBDE8-80AFBDF0 004808 0008+00 1/0 0/0 0/0 .text @36@__dt__12dBgS_ObjAcchFv */ -static void func_80AFBDE8() { - // NONMATCHING -} - -/* 80AFBDF0-80AFBDF8 004810 0008+00 1/0 0/0 0/0 .text @20@__dt__12dBgS_ObjAcchFv */ -static void func_80AFBDF0() { - // NONMATCHING -} - -/* 80AFC158-80AFC158 00034C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file +/* 80AFC554-80AFC584 -00001 0030+00 0/0 0/0 1/0 .data g_profile_NPC_THE */ +extern actor_process_profile_definition g_profile_NPC_THE = { + fpcLy_CURRENT_e, + 7, + fpcPi_CURRENT_e, + PROC_NPC_THE, + &g_fpcLf_Method.mBase, + sizeof(daNpcThe_c), + 0, + 0, + &g_fopAc_Method.base, + 0x174, + &daNpcThe_MethodTable, + 0x44108, + fopAc_NPC_e, + fopAc_CULLBOX_CUSTOM_e, +}; diff --git a/src/d/actor/d_a_npc_zra.cpp b/src/d/actor/d_a_npc_zra.cpp index ccec459f18..25121e7e3c 100644 --- a/src/d/actor/d_a_npc_zra.cpp +++ b/src/d/actor/d_a_npc_zra.cpp @@ -15,419 +15,107 @@ #include "d/actor/d_a_canoe.h" #include "d/actor/d_a_npc_hoz.h" #include "d/actor/d_a_obj_zraMark.h" -#include "dol2asm.h" - -// -// Forward References: -// - -extern "C" void getDstPosDst2__16daNpc_zrA_Path_cF4cXyzR4cXyz(); -extern "C" void __dt__4cXyzFv(); -extern "C" void setNextIdxDst__16daNpc_zrA_Path_cF4cXyz(); -extern "C" void chkPassedDstXZ__16daNpc_zrA_Path_cF4cXyz(); -extern "C" void getDstPosDstXZ__16daNpc_zrA_Path_cF4cXyzR4cXyz(); -extern "C" void chkPassedChase__16daNpc_zrA_Path_cFUs4cXyz(); -extern "C" void getDstPosChase__16daNpc_zrA_Path_cFUs4cXyzR4cXyz(); -extern "C" void chkPassDst__16daNpc_zrA_Path_cFUs4cXyz(); -extern "C" void __ct__11daNpc_zrA_cFv(); -extern "C" void __dt__8cM3dGCylFv(); -extern "C" void __dt__8cM3dGAabFv(); -extern "C" void __dt__11daNpc_zrA_cFv(); -extern "C" void create__11daNpc_zrA_cFv(); -extern "C" void CreateHeap__11daNpc_zrA_cFv(); -extern "C" void __dt__15J3DTevKColorAnmFv(); -extern "C" void __ct__15J3DTevKColorAnmFv(); -extern "C" void __dt__14J3DTevColorAnmFv(); -extern "C" void __ct__14J3DTevColorAnmFv(); -extern "C" void __dt__11J3DTexNoAnmFv(); -extern "C" void __ct__11J3DTexNoAnmFv(); -extern "C" void __dt__12J3DTexMtxAnmFv(); -extern "C" void __ct__12J3DTexMtxAnmFv(); -extern "C" void __dt__14J3DMatColorAnmFv(); -extern "C" void __ct__14J3DMatColorAnmFv(); -extern "C" void Delete__11daNpc_zrA_cFv(); -extern "C" void Execute__11daNpc_zrA_cFv(); -extern "C" void Draw__11daNpc_zrA_cFv(); -extern "C" void ctrlJoint__11daNpc_zrA_cFP8J3DJointP8J3DModel(); -extern "C" void createHeapCallBack__11daNpc_zrA_cFP10fopAc_ac_c(); -extern "C" void ctrlJointCallBack__11daNpc_zrA_cFP8J3DJointi(); -extern "C" void setParam__11daNpc_zrA_cFv(); -extern "C" void main__11daNpc_zrA_cFv(); -extern "C" void ctrlBtk__11daNpc_zrA_cFv(); -extern "C" void setAttnPos__11daNpc_zrA_cFv(); -extern "C" void setMtx__11daNpc_zrA_cFv(); -extern "C" void setExpressionAnm__11daNpc_zrA_cFib(); -extern "C" void setExpressionBtp__11daNpc_zrA_cFi(); -extern "C" void setExpression__11daNpc_zrA_cFif(); -extern "C" void setMotionAnm__11daNpc_zrA_cFif(); -extern "C" void setMotionWaterAnm__11daNpc_zrA_cFi(); -extern "C" void setMotion__11daNpc_zrA_cFifi(); -extern "C" bool drawDbgInfo__11daNpc_zrA_cFv(); -extern "C" void drawOtherMdls__11daNpc_zrA_cFv(); -extern "C" void getTypeFromArgument__11daNpc_zrA_cFv(); -extern "C" void getSoldierTypeFromParam__11daNpc_zrA_cFv(); -extern "C" void getGameModeFromParam__11daNpc_zrA_cFv(); -extern "C" void getActionTypeFromParam__11daNpc_zrA_cFv(); -extern "C" void getMultiModeFromParam__11daNpc_zrA_cFv(); -extern "C" void getMultiNoFromParam__11daNpc_zrA_cFv(); -extern "C" void isDelete__11daNpc_zrA_cFv(); -extern "C" void reset__11daNpc_zrA_cFv(); -extern "C" void playExpression__11daNpc_zrA_cFv(); -extern "C" void playMotion__11daNpc_zrA_cFv(); -extern "C" void chkAction__11daNpc_zrA_cFM11daNpc_zrA_cFPCvPvPv_i(); -extern "C" void setAction__11daNpc_zrA_cFM11daNpc_zrA_cFPCvPvPv_i(); -extern "C" void selectAction__11daNpc_zrA_cFv(); -extern "C" void doEvent__11daNpc_zrA_cFv(); -extern "C" void setSkipZev__11daNpc_zrA_cFii(); -extern "C" void setLookMode__11daNpc_zrA_cFi(); -extern "C" void lookat__11daNpc_zrA_cFv(); -extern "C" void chkFindPlayer__11daNpc_zrA_cFv(); -extern "C" void setExpressionTalkAfter__11daNpc_zrA_cFv(); -extern "C" void setPrtcl__11daNpc_zrA_cFv(); -extern "C" void test__11daNpc_zrA_cFPv(); -extern "C" static void daNpc_zrA_Create__FPv(); -extern "C" static void daNpc_zrA_Delete__FPv(); -extern "C" static void daNpc_zrA_Execute__FPv(); -extern "C" static void daNpc_zrA_Draw__FPv(); -extern "C" static bool daNpc_zrA_IsDelete__FPv(); -extern "C" void calc__11J3DTexNoAnmCFPUs(); -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 __ct__4cXyzFv(); -extern "C" void __dt__16daNpc_zrA_Path_cFv(); -extern "C" void __dt__13daNpcF_Path_cFv(); -extern "C" void __dt__16daNpcF_SPCurve_cFv(); -extern "C" void __dt__12J3DFrameCtrlFv(); -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 setCollisions__8daNpcF_cFv(); -extern "C" void __dt__10cCcD_GSttsFv(); -extern "C" void func_80B7F6AC(void* _this, int*); -extern "C" void func_80B7F6C8(void* _this, u8*); -extern "C" void func_80B7F6E4(void* _this, int, int); -extern "C" void __sinit_d_a_npc_zra_cpp(); -extern "C" void wait__11daNpc_zrA_cFPv(); -extern "C" void walkCalc__11daNpc_zrA_cFv(); -extern "C" void waitCalc__11daNpc_zrA_cFv(); -extern "C" void waitSpa__11daNpc_zrA_cFPv(); -extern "C" void waitLake__11daNpc_zrA_cFPv(); -extern "C" void talk__11daNpc_zrA_cFPv(); -extern "C" static void s_subMulti__FPvPv(); -extern "C" void ECut_talkMulti__11daNpc_zrA_cFi(); -extern "C" void swim__11daNpc_zrA_cFPv(); -extern "C" void railSwim__11daNpc_zrA_cFv(); -extern "C" void waitSwim__11daNpc_zrA_cFv(); -extern "C" void turnSwimInit__11daNpc_zrA_cFv(); -extern "C" void turnSwim__11daNpc_zrA_cFv(); -extern "C" void turnSwimCheck__11daNpc_zrA_cFv(); -extern "C" void evasionCalc__11daNpc_zrA_cFR4cXyzR5csXyz(); -extern "C" void __dt__8cM3dGLinFv(); -extern "C" void calcBank__11daNpc_zrA_cFssRsRs(); -extern "C" void calcWaistAngle__11daNpc_zrA_cFv(); -extern "C" void calcWaistAngleInit__11daNpc_zrA_cFv(); -extern "C" void calcWaistAngleStop__11daNpc_zrA_cFv(); -extern "C" void calcWaistAngleCheck__11daNpc_zrA_cFv(); -extern "C" void calcModulation__11daNpc_zrA_cFv(); -extern "C" void resetModulation__11daNpc_zrA_cFv(); -extern "C" void calcSwimAngle__11daNpc_zrA_cFR5csXyzR5csXyzss(); -extern "C" void calcSwimPos__11daNpc_zrA_cFR4cXyz(); -extern "C" void calcWaitSwim__11daNpc_zrA_cFi(); -extern "C" void ECut_talkSwim__11daNpc_zrA_cFi(); -extern "C" void waitWaterfall__11daNpc_zrA_cFPv(); -extern "C" void swimWaterfall__11daNpc_zrA_cFPv(); -extern "C" void diveWaterfall__11daNpc_zrA_cFPv(); -extern "C" void talkSwim__11daNpc_zrA_cFPv(); -extern "C" void ECut_carryWaterfall__11daNpc_zrA_cFi(); -extern "C" void ECut_carryWaterfallSkip__11daNpc_zrA_cFi(); -extern "C" void diveCalc__11daNpc_zrA_cFssi(); -extern "C" static void s_subHoz__FPvPv(); -extern "C" static void s_sub__FPvPv(); -extern "C" void waitRiverDescend__11daNpc_zrA_cFPv(); -extern "C" void swimRiverDescend__11daNpc_zrA_cFPv(); -extern "C" void swimRiverDescend2__11daNpc_zrA_cFPv(); -extern "C" void diveRiverDescend__11daNpc_zrA_cFPv(); -extern "C" void swimGoalRiverDescend__11daNpc_zrA_cFPv(); -extern "C" void returnRiverDescend__11daNpc_zrA_cFPv(); -extern "C" void moveRiverPosCalc__11daNpc_zrA_cFR4cXyz(); -extern "C" void createRuppi__11daNpc_zrA_cFv(); -extern "C" void ECut_beforeBlastzrR__11daNpc_zrA_cFi(); -extern "C" void ECut_afterBlastzrR__11daNpc_zrA_cFi(); -extern "C" void ECut_thanksBlast__11daNpc_zrA_cFi(); -extern "C" void ECut_resultAnnounce__11daNpc_zrA_cFi(); -extern "C" void calcCanoeMove__11daNpc_zrA_cFi(); -extern "C" static void s_subMark__FPvPv(); -extern "C" void tobiSearch__11daNpc_zrA_cFPv(); -extern "C" void tobiWait__11daNpc_zrA_cFPv(); -extern "C" void tobikomi1__11daNpc_zrA_cFPv(); -extern "C" void tobikomi2__11daNpc_zrA_cFPv(); -extern "C" void tobikomi3__11daNpc_zrA_cFPv(); -extern "C" void tobiJump__11daNpc_zrA_cFPv(); -extern "C" void tobiEnd__11daNpc_zrA_cFPv(); -extern "C" static void s_subSP__FPvPv(); -extern "C" void waitSearch__11daNpc_zrA_cFPv(); -extern "C" void ECut_searchPrince1__11daNpc_zrA_cFi(); -extern "C" void ECut_searchPrince2__11daNpc_zrA_cFi(); -extern "C" void adjustShapeAngle__11daNpc_zrA_cFv(); -extern "C" void __dt__17daNpc_zrA_Param_cFv(); -extern "C" static void func_80B8C434(); -extern "C" static void func_80B8C43C(); -extern "C" u8 const m__17daNpc_zrA_Param_c[176]; -extern "C" extern char const* const d_a_npc_zra__stringBase0; -extern "C" void* mEvtCutNameList__11daNpc_zrA_c[11]; -extern "C" u8 mEvtCutList__11daNpc_zrA_c[132]; -static cPhs__Step daNpc_zrA_Create(void*); -static int daNpc_zrA_Delete(void*); -static int daNpc_zrA_Execute(void*); -static int daNpc_zrA_IsDelete(void*); -static int daNpc_zrA_Draw(void*); - -// -// External References: -// - -extern "C" void mDoAud_setFadeInStart__FUc(); -extern "C" void mDoMtx_ZXYrotM__FPA4_fsss(); -extern "C" void mDoMtx_YrotS__FPA4_fs(); -extern "C" void mDoMtx_YrotM__FPA4_fs(); -extern "C" void mDoMtx_ZrotM__FPA4_fs(); -extern "C" void push__14mDoMtx_stack_cFv(); -extern "C" void pop__14mDoMtx_stack_cFv(); -extern "C" void transS__14mDoMtx_stack_cFRC4cXyz(); -extern "C" void transM__14mDoMtx_stack_cFRC4cXyz(); -extern "C" void scaleM__14mDoMtx_stack_cFRC4cXyz(); -extern "C" void ZXYrotS__14mDoMtx_stack_cFRC5csXyz(); -extern "C" void ZXYrotM__14mDoMtx_stack_cFRC5csXyz(); -extern "C" void play__14mDoExt_baseAnmFv(); -extern "C" void init__13mDoExt_bpkAnmFP16J3DMaterialTableP11J3DAnmColoriifss(); -extern "C" void entry__13mDoExt_bpkAnmFP16J3DMaterialTablef(); -extern "C" void entry__13mDoExt_btpAnmFP16J3DMaterialTables(); -extern "C" void init__13mDoExt_btkAnmFP16J3DMaterialTableP19J3DAnmTextureSRTKeyiifss(); -extern "C" void entry__13mDoExt_btkAnmFP16J3DMaterialTablef(); -extern "C" void entry__13mDoExt_brkAnmFP16J3DMaterialTablef(); -extern "C" void changeBckOnly__13mDoExt_bckAnmFP15J3DAnmTransform(); -extern "C" void mDoExt_modelUpdateDL__FP8J3DModel(); -extern "C" void setMorf__13mDoExt_morf_cFf(); -extern "C" void -__ct__16mDoExt_McaMorfSOFP12J3DModelDataP25mDoExt_McaMorfCallBack1_cP25mDoExt_McaMorfCallBack2_cP15J3DAnmTransformifiiP10Z2CreatureUlUl(); -extern "C" void entryDL__16mDoExt_McaMorfSOFv(); -extern "C" void modelCalc__16mDoExt_McaMorfSOFv(); -extern "C" void stopZelAnime__16mDoExt_McaMorfSOFv(); -extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void __dt__10fopAc_ac_cFv(); -extern "C" void fopAc_IsActor__FPv(); -extern "C" void 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_orderChangeEventId__FP10fopAc_ac_csUsUs(); -extern "C" void fopAcM_createItemForPresentDemo__FPC4cXyziUciiPC5csXyzPC4cXyz(); -extern "C" void fopAcM_fastCreateItem__FPC4cXyziiPC5csXyzPC4cXyzPfPfiiPFPv_i(); -extern "C" void fopAcM_otherBgCheck__FPC10fopAc_ac_cPC10fopAc_ac_c(); -extern "C" void fopAcM_setEffectMtx__FPC10fopAc_ac_cPC12J3DModelData(); -extern "C" void fopAcM_getWaterY__FPC4cXyzPf(); -extern "C" void fopKyM_createWpillar__FPC4cXyzfi(); -extern "C" void fpcEx_Search__FPFPvPv_PvPv(); -extern "C" void dStage_changeScene__FifUlScsi(); -extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc(); -extern "C" void -dComIfGd_setShadow__FUlScP8J3DModelP4cXyzffffR13cBgS_PolyInfoP12dKy_tevstr_csfP9_GXTexObj(); -extern "C" void dComIfG_TimerDeleteRequest__Fi(); -extern "C" void dComIfGs_wolfeye_effect_check__Fv(); -extern "C" void isSwitch__12dSv_danBit_cCFi(); -extern "C" void onSwitch__10dSv_info_cFii(); -extern "C" void offSwitch__10dSv_info_cFii(); -extern "C" void isSwitch__10dSv_info_cCFii(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void reset__14dEvt_control_cFv(); -extern "C" void reset__14dEvt_control_cFPv(); -extern "C" void dEv_defaultSkipProc__FPvi(); -extern "C" void setSkipProc__14dEvt_control_cFPvPFPvi_ii(); -extern "C" void setSkipZev__14dEvt_control_cFPvPc(); -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 getMySubstanceP__16dEvent_manager_cFiPCci(); -extern "C" void cutEnd__16dEvent_manager_cFi(); -extern "C" void getRunEventName__16dEvent_manager_cFv(); -extern "C" void ChkPresentEnd__16dEvent_manager_cFv(); -extern "C" void init__7dPaPo_cFP9dBgS_Acchff(); -extern "C" void setEffectCenter__7dPaPo_cFPC12dKy_tevstr_cPC4cXyzUlUlPC4cXyzPC5csXyzPC4cXyzScff(); -extern "C" void addReal__21dDlst_shadowControl_cFUlP8J3DModel(); -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 ChkTgHit__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__16daNpcF_SPCurve_cFP5dPathi(); -extern "C" void initialize__13daNpcF_Path_cFv(); -extern "C" void setPathInfo__13daNpcF_Path_cFUcScUc(); -extern "C" void chkPassedDst__13daNpcF_Path_cF4cXyz(); -extern "C" void reverse__13daNpcF_Path_cFv(); -extern "C" void setNextIdx__13daNpcF_Path_cFv(); -extern "C" void getNextIdx__13daNpcF_Path_cFv(); -extern "C" void getBeforeIdx__13daNpcF_Path_cFv(); -extern "C" void getBeforePos__13daNpcF_Path_cFR4cXyz(); -extern "C" void getNextPos__13daNpcF_Path_cFR4cXyz(); -extern "C" void getDstPos__13daNpcF_Path_cF4cXyzR4cXyz(); -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 tgHitCallBack__8daNpcF_cFP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf(); -extern "C" void srchAttnActor1__8daNpcF_cFPvPv(); -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 getTevRegKeyAnmP__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 setBrkAnm__8daNpcF_cFP15J3DAnmTevRegKeyP12J3DModelDatafi(); -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 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 step__8daNpcF_cFsiii(); -extern "C" void setAngle__8daNpcF_cFs(); -extern "C" void getDistTableIdx__8daNpcF_cFii(); -extern "C" void getAttnActorP__8daNpcF_cFiPFPvPv_Pvffffsii(); -extern "C" void chkFindPlayer2__8daNpcF_cFis(); -extern "C" void daNpcF_pntVsLineSegmentLengthSquare2D__FffffffPfPfPf(); -extern "C" void daNpcF_chkPassed__F4cXyzP4dPntUsUsii(); -extern "C" void daNpcF_chkEvtBit__FUl(); -extern "C" void daNpcF_onEvtBit__FUl(); -extern "C" void daNpcF_offTmpBit__FUl(); -extern "C" void dKy_daynight_check__Fv(); -extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void dKy_darkworld_check__Fv(); -extern "C" void resetMiniGameItem__13dMeter2Info_cFb(); -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 normalize__4cXyzFv(); -extern "C" void __ct__5csXyzFsss(); -extern "C" void cM_atan2s__Fff(); -extern "C" void cM_rnd__Fv(); -extern "C" void cM_rndF__Ff(); -extern "C" void __ct__11cBgS_GndChkFv(); -extern "C" void __dt__11cBgS_GndChkFv(); -extern "C" void __dt__13cBgS_PolyInfoFv(); -extern "C" void cM3d_Len3dSqPntAndSegLine__FPC8cM3dGLinPC3VecP3VecPf(); -extern "C" void __dt__8cM3dGCirFv(); -extern "C" void SetC__8cM3dGCylFRC4cXyz(); -extern "C" void SetH__8cM3dGCylFf(); -extern "C" void SetR__8cM3dGCylFf(); -extern "C" void SetStartEnd__8cM3dGLinFRC4cXyzRC4cXyz(); -extern "C" void cLib_addCalc2__FPffff(); -extern "C" void cLib_addCalcPos2__FP4cXyzRC4cXyzff(); -extern "C" void cLib_addCalcAngleS2__FPssss(); -extern "C" void cLib_chaseS__FPsss(); -extern "C" void cLib_chaseF__FPfff(); -extern "C" void cLib_chasePos__FP4cXyzRC4cXyzf(); -extern "C" void cLib_chaseAngleS__FPsss(); -extern "C" void cLib_targetAngleY__FPC3VecPC3Vec(); -extern "C" void cLib_targetAngleX__FPC4cXyzPC4cXyz(); -extern "C" void subBgmStart__8Z2SeqMgrFUl(); -extern "C" void subBgmStop__8Z2SeqMgrFv(); -extern "C" void __ct__10Z2CreatureFv(); -extern "C" void __dt__10Z2CreatureFv(); -extern "C" void init__10Z2CreatureFP3VecP3VecUcUc(); -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); -extern "C" void init__12J3DFrameCtrlFs(); -extern "C" void getTexNo__16J3DAnmTexPatternCFUsPUs(); -extern "C" void initialize__14J3DMaterialAnmFv(); -extern "C" void removeMatColorAnimator__16J3DMaterialTableFP11J3DAnmColor(); -extern "C" void removeTexNoAnimator__16J3DMaterialTableFP16J3DAnmTexPattern(); -extern "C" void removeTexMtxAnimator__16J3DMaterialTableFP19J3DAnmTextureSRTKey(); -extern "C" void removeTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey(); -extern "C" void __destroy_arr(); -extern "C" void __construct_array(); -extern "C" void __ptmf_test(); -extern "C" void __ptmf_cmpr(); -extern "C" void __ptmf_scall(); -extern "C" void _savegpr_22(); -extern "C" void _savegpr_23(); -extern "C" void _savegpr_24(); -extern "C" void _savegpr_25(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_22(); -extern "C" void _restgpr_23(); -extern "C" void _restgpr_24(); -extern "C" void _restgpr_25(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_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 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" u8 mCurrentMtx__6J3DSys[48]; -extern "C" u8 sincosTable___5JMath[65536]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; -extern "C" void getType__11daNpc_Hoz_cFv(); -extern "C" void __register_global_object(); -extern "C" void entryPointer__14daObjZraMark_cFP10fopAc_ac_c(); // // Declarations: // -/* ############################################################################################## */ +/* 80B8DA48-80B8DA4C 000008 0001+03 1/1 0/0 0/0 .bss @1109 */ +static u8 lit_1109[1 + 3 /* padding */]; + +/* 80B8DA4C-80B8DA50 00000C 0001+03 0/0 0/0 0/0 .bss @1107 */ +#pragma push +#pragma force_active on +static u8 lit_1107[1 + 3 /* padding */]; +#pragma pop + +/* 80B8DA50-80B8DA54 000010 0001+03 0/0 0/0 0/0 .bss @1105 */ +#pragma push +#pragma force_active on +static u8 lit_1105[1 + 3 /* padding */]; +#pragma pop + +/* 80B8DA54-80B8DA58 000014 0001+03 0/0 0/0 0/0 .bss @1104 */ +#pragma push +#pragma force_active on +static u8 lit_1104[1 + 3 /* padding */]; +#pragma pop + +/* 80B8DA58-80B8DA5C 000018 0001+03 0/0 0/0 0/0 .bss @1099 */ +#pragma push +#pragma force_active on +static u8 lit_1099[1 + 3 /* padding */]; +#pragma pop + +/* 80B8DA5C-80B8DA60 00001C 0001+03 0/0 0/0 0/0 .bss @1097 */ +#pragma push +#pragma force_active on +static u8 lit_1097[1 + 3 /* padding */]; +#pragma pop + +/* 80B8DA60-80B8DA64 000020 0001+03 0/0 0/0 0/0 .bss @1095 */ +#pragma push +#pragma force_active on +static u8 lit_1095[1 + 3 /* padding */]; +#pragma pop + +/* 80B8DA64-80B8DA68 000024 0001+03 0/0 0/0 0/0 .bss @1094 */ +#pragma push +#pragma force_active on +static u8 lit_1094[1 + 3 /* padding */]; +#pragma pop + +/* 80B8DA68-80B8DA6C 000028 0001+03 0/0 0/0 0/0 .bss @1057 */ +#pragma push +#pragma force_active on +static u8 lit_1057[1 + 3 /* padding */]; +#pragma pop + +/* 80B8DA6C-80B8DA70 00002C 0001+03 0/0 0/0 0/0 .bss @1055 */ +#pragma push +#pragma force_active on +static u8 lit_1055[1 + 3 /* padding */]; +#pragma pop + +/* 80B8DA70-80B8DA74 000030 0001+03 0/0 0/0 0/0 .bss @1053 */ +#pragma push +#pragma force_active on +static u8 lit_1053[1 + 3 /* padding */]; +#pragma pop + +/* 80B8DA74-80B8DA78 000034 0001+03 0/0 0/0 0/0 .bss @1052 */ +#pragma push +#pragma force_active on +static u8 lit_1052[1 + 3 /* padding */]; +#pragma pop + +/* 80B8DA78-80B8DA7C 000038 0001+03 0/0 0/0 0/0 .bss @1014 */ +#pragma push +#pragma force_active on +static u8 lit_1014[1 + 3 /* padding */]; +#pragma pop + +/* 80B8DA7C-80B8DA80 00003C 0001+03 0/0 0/0 0/0 .bss @1012 */ +#pragma push +#pragma force_active on +static u8 lit_1012[1 + 3 /* padding */]; +#pragma pop + +/* 80B8DA80-80B8DA84 000040 0001+03 0/0 0/0 0/0 .bss @1010 */ +#pragma push +#pragma force_active on +static u8 lit_1010[1 + 3 /* padding */]; +#pragma pop + +/* 80B8DA84-80B8DA88 000044 0001+03 0/0 0/0 0/0 .bss @1009 */ +#pragma push +#pragma force_active on +static u8 lit_1009[1 + 3 /* padding */]; +#pragma pop + +/* 80B8DA94-80B8DA98 000054 0004+00 1/1 0/0 0/0 .bss l_HIO */ +static daNpc_zrA_Param_c l_HIO; + /* 80B8C458-80B8C508 000000 00B0+00 56/56 0/0 0/0 .rodata m__17daNpc_zrA_Param_c */ daNpc_zrA_Param_c::param const daNpc_zrA_Param_c::m = { 230.0f, // mAttnOffsetY @@ -482,47 +170,6 @@ daNpc_zrA_Param_c::param const daNpc_zrA_Param_c::m = { 3000.0f, }; -/* 80B8C508-80B8C510 0000B0 0004+04 9/48 0/0 0/0 .rodata @3939 */ -SECTION_RODATA static u8 const lit_3939[4 + 4 /* padding */] = { - 0x00, - 0x00, - 0x00, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C508, &lit_3939); - -/* 80B8C510-80B8C518 0000B8 0008+00 0/17 0/0 0/0 .rodata @3940 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3940[8] = { - 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C510, &lit_3940); -#pragma pop - -/* 80B8C518-80B8C520 0000C0 0008+00 0/17 0/0 0/0 .rodata @3941 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3941[8] = { - 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C518, &lit_3941); -#pragma pop - -/* 80B8C520-80B8C528 0000C8 0008+00 0/17 0/0 0/0 .rodata @3942 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3942[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C520, &lit_3942); -#pragma pop - /* 80B7850C-80B78730 0000EC 0224+00 8/8 0/0 0/0 .text * getDstPosDst2__16daNpc_zrA_Path_cF4cXyzR4cXyz */ BOOL daNpc_zrA_Path_c::getDstPosDst2(cXyz i_pos, cXyz& o_pnt) { @@ -539,13 +186,6 @@ BOOL daNpc_zrA_Path_c::getDstPosDst2(cXyz i_pos, cXyz& o_pnt) { return ret; } - -/* 80B78730-80B7876C 000310 003C+00 6/6 0/0 0/0 .text __dt__4cXyzFv */ -// cXyz::~cXyz() { -extern "C" void __dt__4cXyzFv() { - // NONMATCHING -} - /* 80B7876C-80B788F8 00034C 018C+00 4/4 0/0 0/0 .text setNextIdxDst__16daNpc_zrA_Path_cF4cXyz */ void daNpc_zrA_Path_c::setNextIdxDst(cXyz param_0) { if (!setNextIdx()) { @@ -554,13 +194,11 @@ void daNpc_zrA_Path_c::setNextIdxDst(cXyz param_0) { } } - /* 80B788F8-80B78A60 0004D8 0168+00 1/1 0/0 0/0 .text chkPassedDstXZ__16daNpc_zrA_Path_cF4cXyz */ BOOL daNpc_zrA_Path_c::chkPassedDstXZ(cXyz i_pos) { return mPosDst + field_0x10 <= (mPosition - i_pos).absXZ(); } - /* 80B78A60-80B78CA0 000640 0240+00 1/1 0/0 0/0 .text * getDstPosDstXZ__16daNpc_zrA_Path_cF4cXyzR4cXyz */ BOOL daNpc_zrA_Path_c::getDstPosDstXZ(cXyz i_pos, cXyz& o_pnt) { @@ -578,7 +216,6 @@ BOOL daNpc_zrA_Path_c::getDstPosDstXZ(cXyz i_pos, cXyz& o_pnt) { return ret; } - /* 80B78CA0-80B78CFC 000880 005C+00 1/1 0/0 0/0 .text chkPassedChase__16daNpc_zrA_Path_cFUs4cXyz */ BOOL daNpc_zrA_Path_c::chkPassedChase(u16 i_idx, cXyz i_pos) { @@ -586,7 +223,6 @@ BOOL daNpc_zrA_Path_c::chkPassedChase(u16 i_idx, cXyz i_pos) { mpRoomPath->m_num, mIsClosed, mIsReversed); } - /* 80B78CFC-80B78E08 0008DC 010C+00 1/1 0/0 0/0 .text * getDstPosChase__16daNpc_zrA_Path_cFUs4cXyzR4cXyz */ int daNpc_zrA_Path_c::getDstPosChase(u16 i_idx, cXyz i_pos, cXyz& o_pnt) { @@ -614,33 +250,6 @@ int daNpc_zrA_Path_c::getDstPosChase(u16 i_idx, cXyz i_pos, cXyz& o_pnt) { return i_idx; } - -/* ############################################################################################## */ -/* 80B8C528-80B8C52C 0000D0 0004+00 10/33 0/0 0/0 .rodata @4437 */ -SECTION_RODATA static f32 const lit_4437 = -1.0f; -COMPILER_STRIP_GATE(0x80B8C528, &lit_4437); - -/* 80B8C52C-80B8C530 0000D4 0004+00 0/8 0/0 0/0 .rodata @4438 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4438 = 2.0f; -COMPILER_STRIP_GATE(0x80B8C52C, &lit_4438); -#pragma pop - -/* 80B8C530-80B8C534 0000D8 0004+00 0/1 0/0 0/0 .rodata @4439 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4439 = -2.0f; -COMPILER_STRIP_GATE(0x80B8C530, &lit_4439); -#pragma pop - -/* 80B8C534-80B8C538 0000DC 0004+00 0/1 0/0 0/0 .rodata @4440 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4440 = -1000000000.0f; -COMPILER_STRIP_GATE(0x80B8C534, &lit_4440); -#pragma pop - /* 80B78E08-80B7956C 0009E8 0764+00 1/1 0/0 0/0 .text chkPassDst__16daNpc_zrA_Path_cFUs4cXyz */ f32 daNpc_zrA_Path_c::chkPassDst(u16 i_idx, cXyz i_pos) { u16 prev_idx, next_idx; @@ -723,51 +332,13 @@ f32 daNpc_zrA_Path_c::chkPassDst(u16 i_idx, cXyz i_pos) { } } - -/* ############################################################################################## */ -/* 80B8CD30-80B8CD30 0008D8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80B8CD30 = "TALK_SWIM"; -SECTION_DEAD static char const* const stringBase_80B8CD3A = "BEFORE_BLAST_ZRR"; -SECTION_DEAD static char const* const stringBase_80B8CD4B = "AFTER_BLAST_ZRR"; -SECTION_DEAD static char const* const stringBase_80B8CD5B = "THANKS_BLAST"; -SECTION_DEAD static char const* const stringBase_80B8CD68 = "RESULT_ANNOUNCE"; -SECTION_DEAD static char const* const stringBase_80B8CD78 = "CARRY_WATERFALL"; -SECTION_DEAD static char const* const stringBase_80B8CD88 = "CARRY_WATERFALL_NIGHT"; -SECTION_DEAD static char const* const stringBase_80B8CD9E = "CARRY_WATERFALL_SKIP"; -SECTION_DEAD static char const* const stringBase_80B8CDB3 = "CARRY_WATERFALL_NIGHT_SKIP"; -SECTION_DEAD static char const* const stringBase_80B8CDCE = "SEARCH_PRINCE"; -SECTION_DEAD static char const* const stringBase_80B8CDDC = "TALK_MULTI"; -SECTION_DEAD static char const* const stringBase_80B8CDE7 = "TALK_MULTI2"; -SECTION_DEAD static char const* const stringBase_80B8CDF3 = "zrA"; -SECTION_DEAD static char const* const stringBase_80B8CDF7 = "zrA_nml"; -SECTION_DEAD static char const* const stringBase_80B8CDFF = "zrA_nml2"; -SECTION_DEAD static char const* const stringBase_80B8CE08 = "zrA_sp"; -SECTION_DEAD static char const* const stringBase_80B8CE0F = "zrA_MDL"; -SECTION_DEAD static char const* const stringBase_80B8CE17 = "zrA_TW"; -SECTION_DEAD static char const* const stringBase_80B8CE1E = "zrA_sad"; -SECTION_DEAD static char const* const stringBase_80B8CE26 = "zrA_obj"; -SECTION_DEAD static char const* const stringBase_80B8CE2E = "zrA_tobi"; -SECTION_DEAD static char const* const stringBase_80B8CE37 = "zrA2"; -SECTION_DEAD static char const* const stringBase_80B8CE3C = "zrA_objTW"; -SECTION_DEAD static char const* const stringBase_80B8CE46 = "zrA_talk"; -SECTION_DEAD static char const* const stringBase_80B8CE4F = "zrR"; -SECTION_DEAD static char const* const stringBase_80B8CE53 = "zrWF"; -SECTION_DEAD static char const* const stringBase_80B8CE58 = ""; -SECTION_DEAD static char const* const stringBase_80B8CE59 = "SEARCH_PRINCE1"; -SECTION_DEAD static char const* const stringBase_80B8CE68 = "SEARCH_PRINCE2"; -#pragma pop - /* 80B8CE90-80B8CE9C 000000 000C+00 10/10 0/0 0/0 .data cNullVec__6Z2Calc */ -SECTION_DATA static u8 cNullVec__6Z2Calc[12] = { +static u8 cNullVec__6Z2Calc[12] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; /* 80B8CE9C-80B8CEB4 00000C 0004+14 0/0 0/0 0/0 .data @1787 */ -#pragma push -#pragma force_active on -SECTION_DATA static u32 lit_1787[1 + 5 /* padding */] = { +static u32 lit_1787[1 + 5 /* padding */] = { 0x02000201, /* padding */ 0x40080000, @@ -776,12 +347,9 @@ SECTION_DATA static u32 lit_1787[1 + 5 /* padding */] = { 0x00000000, 0x00000000, }; -#pragma pop /* 80B8CEB4-80B8CEE4 000024 0030+00 0/1 0/0 0/0 .data l_bmdGetParamList */ -#pragma push -#pragma force_active on -SECTION_DATA static daNpc_GetParam1 l_bmdGetParamList[6] = { +static daNpc_GetParam1 l_bmdGetParamList[6] = { {3, 4}, // zra {13, 5}, // zra_tw {3, 7}, // zra_met @@ -789,10 +357,9 @@ SECTION_DATA static daNpc_GetParam1 l_bmdGetParamList[6] = { {3, 10}, // zra_met_tw {4, 10}, // zra_sp_tw }; -#pragma pop /* 80B8CEE4-80B8D0DC 000054 01F8+00 1/2 0/0 0/0 .data l_bckGetParamList */ -SECTION_DATA static daNpc_GetParam1 l_bckGetParamList[63] = { +static daNpc_GetParam1 l_bckGetParamList[63] = { {-1, 0}, {8, 0}, // zra_f_talk_a {9, 0}, // zra_f_talk_a_sp @@ -859,7 +426,7 @@ SECTION_DATA static daNpc_GetParam1 l_bckGetParamList[63] = { }; /* 80B8D0DC-80B8D11C 00024C 0040+00 1/1 0/0 0/0 .data l_btpGetParamList */ -SECTION_DATA static daNpc_GetParam1 l_btpGetParamList[8] = { +static daNpc_GetParam1 l_btpGetParamList[8] = { {34, 0}, // zra {16, 5}, // zra_fh_sadsit_a {10, 6}, // zra_fh_sadsit_b @@ -871,7 +438,7 @@ SECTION_DATA static daNpc_GetParam1 l_btpGetParamList[8] = { }; /* 80B8D11C-80B8D13C 00028C 0020+00 1/3 0/0 0/0 .data l_btkGetParamList */ -SECTION_DATA static daNpc_GetParam1 l_btkGetParamList[4] = { +static daNpc_GetParam1 l_btkGetParamList[4] = { {28, 0}, // zra {31, 0}, // zra_water02 {29, 0}, // zra_reset @@ -879,27 +446,19 @@ SECTION_DATA static daNpc_GetParam1 l_btkGetParamList[4] = { }; /* 80B8D13C-80B8D14C 0002AC 0010+00 0/1 0/0 0/0 .data l_brkGetParamList */ -#pragma push -#pragma force_active on -SECTION_DATA static daNpc_GetParam1 l_brkGetParamList[2] = { +static daNpc_GetParam1 l_brkGetParamList[2] = { {24, 0}, // zra {25, 0}, // zra_water02 }; -#pragma pop /* 80B8D14C-80B8D15C 0002BC 0010+00 0/1 0/0 0/0 .data l_bpkGetParamList */ -#pragma push -#pragma force_active on -SECTION_DATA static daNpc_GetParam1 l_bpkGetParamList[2] = { +static daNpc_GetParam1 l_bpkGetParamList[2] = { {20, 0}, // zra {21, 0}, // zra_water02 }; -#pragma pop /* 80B8D15C-80B8D1C4 0002CC 0068+00 0/3 0/0 0/0 .data l_evtGetParamList */ -#pragma push -#pragma force_active on -SECTION_DATA static daNpc_GetParam1 l_evtGetParamList[13] = { +static daNpc_GetParam1 l_evtGetParamList[13] = { {0, 0}, {1, 0}, {2, 0}, @@ -914,10 +473,9 @@ SECTION_DATA static daNpc_GetParam1 l_evtGetParamList[13] = { {11, 0}, {12, 0}, }; -#pragma pop /* 80B8D1C4-80B8D1F8 -00001 0034+00 1/4 0/0 0/0 .data l_evtNames */ -SECTION_DATA static char* l_evtNames[13] = { +static char* l_evtNames[13] = { NULL, "TALK_SWIM", "BEFORE_BLAST_ZRR", @@ -934,24 +492,18 @@ SECTION_DATA static char* l_evtNames[13] = { }; /* 80B8D1F8-80B8D21C 000368 0024+00 0/1 0/0 0/0 .data l_loadObj_list */ -#pragma push -#pragma force_active on -SECTION_DATA static int l_loadObj_list[3][3] = { +static int l_loadObj_list[3][3] = { {2, 3, -1}, {2, -1, -1}, {-1, -1, -1}, }; -#pragma pop /* 80B8D21C-80B8D240 00038C 0024+00 0/1 0/0 0/0 .data l_loadObj_listTW */ -#pragma push -#pragma force_active on -SECTION_DATA static int l_loadObj_listTW[3][3] = { +static int l_loadObj_listTW[3][3] = { {4, 5, -1}, {4, -1, -1}, {-1, -1, -1}, }; -#pragma pop /* 80B8D240-80B8D260 0003B0 0020+00 1/0 0/0 0/0 .data l_loadRes_ZRAa */ static int l_loadRes_ZRAa[8] = {0, 1, 2, 4, 6, -1, -1, -1}; @@ -998,7 +550,6 @@ static char* l_myName[4] = { }; /* 80B8D33C-80B8D368 -00001 002C+00 0/1 0/0 0/0 .data mEvtCutNameList__11daNpc_zrA_c */ -#ifdef NONMATCHING char* daNpc_zrA_c::mEvtCutNameList[11] = { "", "TALK_SWIM", @@ -1012,26 +563,7 @@ char* daNpc_zrA_c::mEvtCutNameList[11] = { "SEARCH_PRINCE2", "TALK_MULTI", }; -#else -#pragma push -#pragma force_active on -SECTION_DATA void* daNpc_zrA_c::mEvtCutNameList[11] = { - (void*)(((char*)&d_a_npc_zra__stringBase0) + 0x128), - (void*)&d_a_npc_zra__stringBase0, - (void*)(((char*)&d_a_npc_zra__stringBase0) + 0xA), - (void*)(((char*)&d_a_npc_zra__stringBase0) + 0x1B), - (void*)(((char*)&d_a_npc_zra__stringBase0) + 0x2B), - (void*)(((char*)&d_a_npc_zra__stringBase0) + 0x38), - (void*)(((char*)&d_a_npc_zra__stringBase0) + 0x48), - (void*)(((char*)&d_a_npc_zra__stringBase0) + 0x6E), - (void*)(((char*)&d_a_npc_zra__stringBase0) + 0x129), - (void*)(((char*)&d_a_npc_zra__stringBase0) + 0x138), - (void*)(((char*)&d_a_npc_zra__stringBase0) + 0xAC), -}; -#pragma pop -#endif -#ifdef NONMATCHING daNpc_zrA_c::EventFn daNpc_zrA_c::mEvtCutList[11] = { NULL, &ECut_talkSwim, @@ -1045,942 +577,14 @@ daNpc_zrA_c::EventFn daNpc_zrA_c::mEvtCutList[11] = { &ECut_searchPrince2, &ECut_talkMulti, }; -#else -/* 80B8D368-80B8D374 -00001 000C+00 0/1 0/0 0/0 .data @4442 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4442[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)ECut_talkSwim__11daNpc_zrA_cFi, -}; -#pragma pop - -/* 80B8D374-80B8D380 -00001 000C+00 0/1 0/0 0/0 .data @4443 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4443[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)ECut_beforeBlastzrR__11daNpc_zrA_cFi, -}; -#pragma pop - -/* 80B8D380-80B8D38C -00001 000C+00 0/1 0/0 0/0 .data @4444 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4444[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)ECut_afterBlastzrR__11daNpc_zrA_cFi, -}; -#pragma pop - -/* 80B8D38C-80B8D398 -00001 000C+00 0/1 0/0 0/0 .data @4445 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4445[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)ECut_thanksBlast__11daNpc_zrA_cFi, -}; -#pragma pop - -/* 80B8D398-80B8D3A4 -00001 000C+00 0/1 0/0 0/0 .data @4446 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4446[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)ECut_resultAnnounce__11daNpc_zrA_cFi, -}; -#pragma pop - -/* 80B8D3A4-80B8D3B0 -00001 000C+00 0/1 0/0 0/0 .data @4447 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4447[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)ECut_carryWaterfall__11daNpc_zrA_cFi, -}; -#pragma pop - -/* 80B8D3B0-80B8D3BC -00001 000C+00 0/1 0/0 0/0 .data @4448 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4448[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)ECut_carryWaterfallSkip__11daNpc_zrA_cFi, -}; -#pragma pop - -/* 80B8D3BC-80B8D3C8 -00001 000C+00 0/1 0/0 0/0 .data @4449 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4449[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)ECut_searchPrince1__11daNpc_zrA_cFi, -}; -#pragma pop - -/* 80B8D3C8-80B8D3D4 -00001 000C+00 0/1 0/0 0/0 .data @4450 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4450[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)ECut_searchPrince2__11daNpc_zrA_cFi, -}; -#pragma pop - -/* 80B8D3D4-80B8D3E0 -00001 000C+00 0/1 0/0 0/0 .data @4451 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4451[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)ECut_talkMulti__11daNpc_zrA_cFi, -}; -#pragma pop - -/* 80B8D3E0-80B8D464 000550 0084+00 0/2 0/0 0/0 .data mEvtCutList__11daNpc_zrA_c */ -#pragma push -#pragma force_active on -SECTION_DATA u8 daNpc_zrA_c::mEvtCutList[132] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 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 -#endif - -/* 80B8D464-80B8D4B8 -00001 0054+00 1/1 0/0 0/0 .data @5840 */ -SECTION_DATA static void* lit_5840[21] = { - (void*)(((char*)setExpressionAnm__11daNpc_zrA_cFib) + 0x90), - (void*)(((char*)setExpressionAnm__11daNpc_zrA_cFib) + 0xAC), - (void*)(((char*)setExpressionAnm__11daNpc_zrA_cFib) + 0xC8), - (void*)(((char*)setExpressionAnm__11daNpc_zrA_cFib) + 0xE4), - (void*)(((char*)setExpressionAnm__11daNpc_zrA_cFib) + 0x100), - (void*)(((char*)setExpressionAnm__11daNpc_zrA_cFib) + 0x11C), - (void*)(((char*)setExpressionAnm__11daNpc_zrA_cFib) + 0x13C), - (void*)(((char*)setExpressionAnm__11daNpc_zrA_cFib) + 0x15C), - (void*)(((char*)setExpressionAnm__11daNpc_zrA_cFib) + 0x17C), - (void*)(((char*)setExpressionAnm__11daNpc_zrA_cFib) + 0x19C), - (void*)(((char*)setExpressionAnm__11daNpc_zrA_cFib) + 0x1BC), - (void*)(((char*)setExpressionAnm__11daNpc_zrA_cFib) + 0x1DC), - (void*)(((char*)setExpressionAnm__11daNpc_zrA_cFib) + 0x1F8), - (void*)(((char*)setExpressionAnm__11daNpc_zrA_cFib) + 0x218), - (void*)(((char*)setExpressionAnm__11daNpc_zrA_cFib) + 0x234), - (void*)(((char*)setExpressionAnm__11daNpc_zrA_cFib) + 0x254), - (void*)(((char*)setExpressionAnm__11daNpc_zrA_cFib) + 0x270), - (void*)(((char*)setExpressionAnm__11daNpc_zrA_cFib) + 0x28C), - (void*)(((char*)setExpressionAnm__11daNpc_zrA_cFib) + 0x2A8), - (void*)(((char*)setExpressionAnm__11daNpc_zrA_cFib) + 0x2C8), - (void*)(((char*)setExpressionAnm__11daNpc_zrA_cFib) + 0x2E4), -}; - -/* 80B8D4B8-80B8D560 -00001 00A8+00 1/1 0/0 0/0 .data @5957 */ -SECTION_DATA static void* lit_5957[42] = { - (void*)(((char*)setMotionAnm__11daNpc_zrA_cFif) + 0xE0), - (void*)(((char*)setMotionAnm__11daNpc_zrA_cFif) + 0xE0), - (void*)(((char*)setMotionAnm__11daNpc_zrA_cFif) + 0xF0), - (void*)(((char*)setMotionAnm__11daNpc_zrA_cFif) + 0xE0), - (void*)(((char*)setMotionAnm__11daNpc_zrA_cFif) + 0xF0), - (void*)(((char*)setMotionAnm__11daNpc_zrA_cFif) + 0xF0), - (void*)(((char*)setMotionAnm__11daNpc_zrA_cFif) + 0xF0), - (void*)(((char*)setMotionAnm__11daNpc_zrA_cFif) + 0xF0), - (void*)(((char*)setMotionAnm__11daNpc_zrA_cFif) + 0xF0), - (void*)(((char*)setMotionAnm__11daNpc_zrA_cFif) + 0xE0), - (void*)(((char*)setMotionAnm__11daNpc_zrA_cFif) + 0xF0), - (void*)(((char*)setMotionAnm__11daNpc_zrA_cFif) + 0xE0), - (void*)(((char*)setMotionAnm__11daNpc_zrA_cFif) + 0xF0), - (void*)(((char*)setMotionAnm__11daNpc_zrA_cFif) + 0xF0), - (void*)(((char*)setMotionAnm__11daNpc_zrA_cFif) + 0xF0), - (void*)(((char*)setMotionAnm__11daNpc_zrA_cFif) + 0xF0), - (void*)(((char*)setMotionAnm__11daNpc_zrA_cFif) + 0xF0), - (void*)(((char*)setMotionAnm__11daNpc_zrA_cFif) + 0xE0), - (void*)(((char*)setMotionAnm__11daNpc_zrA_cFif) + 0xF0), - (void*)(((char*)setMotionAnm__11daNpc_zrA_cFif) + 0xE0), - (void*)(((char*)setMotionAnm__11daNpc_zrA_cFif) + 0xF0), - (void*)(((char*)setMotionAnm__11daNpc_zrA_cFif) + 0xF0), - (void*)(((char*)setMotionAnm__11daNpc_zrA_cFif) + 0xE0), - (void*)(((char*)setMotionAnm__11daNpc_zrA_cFif) + 0xF0), - (void*)(((char*)setMotionAnm__11daNpc_zrA_cFif) + 0xF0), - (void*)(((char*)setMotionAnm__11daNpc_zrA_cFif) + 0xF0), - (void*)(((char*)setMotionAnm__11daNpc_zrA_cFif) + 0xE0), - (void*)(((char*)setMotionAnm__11daNpc_zrA_cFif) + 0xE0), - (void*)(((char*)setMotionAnm__11daNpc_zrA_cFif) + 0xE0), - (void*)(((char*)setMotionAnm__11daNpc_zrA_cFif) + 0xE0), - (void*)(((char*)setMotionAnm__11daNpc_zrA_cFif) + 0xE0), - (void*)(((char*)setMotionAnm__11daNpc_zrA_cFif) + 0xF0), - (void*)(((char*)setMotionAnm__11daNpc_zrA_cFif) + 0xF0), - (void*)(((char*)setMotionAnm__11daNpc_zrA_cFif) + 0xE0), - (void*)(((char*)setMotionAnm__11daNpc_zrA_cFif) + 0xF0), - (void*)(((char*)setMotionAnm__11daNpc_zrA_cFif) + 0xF0), - (void*)(((char*)setMotionAnm__11daNpc_zrA_cFif) + 0xF0), - (void*)(((char*)setMotionAnm__11daNpc_zrA_cFif) + 0xE0), - (void*)(((char*)setMotionAnm__11daNpc_zrA_cFif) + 0xE0), - (void*)(((char*)setMotionAnm__11daNpc_zrA_cFif) + 0xE0), - (void*)(((char*)setMotionAnm__11daNpc_zrA_cFif) + 0xE0), - (void*)(((char*)setMotionAnm__11daNpc_zrA_cFif) + 0xE0), -}; - -/* 80B8D560-80B8D57C -00001 001C+00 1/1 0/0 0/0 .data @6094 */ -SECTION_DATA static void* lit_6094[7] = { - (void*)(((char*)getTypeFromArgument__11daNpc_zrA_cFv) + 0x28), - (void*)(((char*)getTypeFromArgument__11daNpc_zrA_cFv) + 0x30), - (void*)(((char*)getTypeFromArgument__11daNpc_zrA_cFv) + 0x38), - (void*)(((char*)getTypeFromArgument__11daNpc_zrA_cFv) + 0x40), - (void*)(((char*)getTypeFromArgument__11daNpc_zrA_cFv) + 0x48), - (void*)(((char*)getTypeFromArgument__11daNpc_zrA_cFv) + 0x50), - (void*)(((char*)getTypeFromArgument__11daNpc_zrA_cFv) + 0x58), -}; - -/* 80B8D57C-80B8D588 -00001 000C+00 0/1 0/0 0/0 .data @6527 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_6527[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)test__11daNpc_zrA_cFPv, -}; -#pragma pop - -/* 80B8D588-80B8D594 -00001 000C+00 0/1 0/0 0/0 .data @6531 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_6531[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)swim__11daNpc_zrA_cFPv, -}; -#pragma pop - -/* 80B8D594-80B8D5A0 -00001 000C+00 0/0 0/0 0/0 .data @6535 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_6535[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)waitWaterfall__11daNpc_zrA_cFPv, -}; -#pragma pop - -/* 80B8D5A0-80B8D5AC -00001 000C+00 0/0 0/0 0/0 .data @6537 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_6537[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)swimWaterfall__11daNpc_zrA_cFPv, -}; -#pragma pop - -/* 80B8D5AC-80B8D5B8 -00001 000C+00 0/0 0/0 0/0 .data @6539 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_6539[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)diveWaterfall__11daNpc_zrA_cFPv, -}; -#pragma pop - -/* 80B8D5B8-80B8D5C4 -00001 000C+00 0/0 0/0 0/0 .data @6543 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_6543[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)waitRiverDescend__11daNpc_zrA_cFPv, -}; -#pragma pop - -/* 80B8D5C4-80B8D5D0 -00001 000C+00 0/0 0/0 0/0 .data @6545 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_6545[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)swimRiverDescend__11daNpc_zrA_cFPv, -}; -#pragma pop - -/* 80B8D5D0-80B8D5DC -00001 000C+00 0/0 0/0 0/0 .data @6547 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_6547[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)swimRiverDescend2__11daNpc_zrA_cFPv, -}; -#pragma pop - -/* 80B8D5DC-80B8D5E8 -00001 000C+00 0/0 0/0 0/0 .data @6549 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_6549[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)diveRiverDescend__11daNpc_zrA_cFPv, -}; -#pragma pop - -/* 80B8D5E8-80B8D5F4 -00001 000C+00 0/0 0/0 0/0 .data @6551 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_6551[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)swimGoalRiverDescend__11daNpc_zrA_cFPv, -}; -#pragma pop - -/* 80B8D5F4-80B8D600 -00001 000C+00 0/0 0/0 0/0 .data @6553 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_6553[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)returnRiverDescend__11daNpc_zrA_cFPv, -}; -#pragma pop - -/* 80B8D600-80B8D60C -00001 000C+00 0/0 0/0 0/0 .data @6557 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_6557[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)tobiSearch__11daNpc_zrA_cFPv, -}; -#pragma pop - -/* 80B8D60C-80B8D618 -00001 000C+00 0/0 0/0 0/0 .data @6559 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_6559[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)tobiWait__11daNpc_zrA_cFPv, -}; -#pragma pop - -/* 80B8D618-80B8D624 -00001 000C+00 0/0 0/0 0/0 .data @6561 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_6561[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)tobikomi1__11daNpc_zrA_cFPv, -}; -#pragma pop - -/* 80B8D624-80B8D630 -00001 000C+00 0/0 0/0 0/0 .data @6563 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_6563[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)tobikomi2__11daNpc_zrA_cFPv, -}; -#pragma pop - -/* 80B8D630-80B8D63C -00001 000C+00 0/0 0/0 0/0 .data @6565 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_6565[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)tobikomi3__11daNpc_zrA_cFPv, -}; -#pragma pop - -/* 80B8D63C-80B8D648 -00001 000C+00 0/0 0/0 0/0 .data @6567 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_6567[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)tobiJump__11daNpc_zrA_cFPv, -}; -#pragma pop - -/* 80B8D648-80B8D654 -00001 000C+00 0/0 0/0 0/0 .data @6569 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_6569[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)tobiEnd__11daNpc_zrA_cFPv, -}; -#pragma pop - -/* 80B8D654-80B8D660 -00001 000C+00 0/0 0/0 0/0 .data @6573 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_6573[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)waitSearch__11daNpc_zrA_cFPv, -}; -#pragma pop - -/* 80B8D660-80B8D66C -00001 000C+00 0/0 0/0 0/0 .data @6575 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_6575[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)waitSpa__11daNpc_zrA_cFPv, -}; -#pragma pop - -/* 80B8D66C-80B8D678 -00001 000C+00 0/0 0/0 0/0 .data @6579 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_6579[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)waitLake__11daNpc_zrA_cFPv, -}; -#pragma pop - -/* 80B8D678-80B8D684 -00001 000C+00 0/0 0/0 0/0 .data @6581 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_6581[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)wait__11daNpc_zrA_cFPv, -}; -#pragma pop - -/* 80B8D684-80B8D690 -00001 000C+00 0/1 0/0 0/0 .data @6583 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_6583[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)wait__11daNpc_zrA_cFPv, -}; -#pragma pop - -/* 80B8D690-80B8D6AC -00001 001C+00 1/1 0/0 0/0 .data @6588 */ -SECTION_DATA static void* lit_6588[7] = { - (void*)(((char*)selectAction__11daNpc_zrA_cFv) + 0x208), - (void*)(((char*)selectAction__11daNpc_zrA_cFv) + 0x224), - (void*)(((char*)selectAction__11daNpc_zrA_cFv) + 0x240), - (void*)(((char*)selectAction__11daNpc_zrA_cFv) + 0x25C), - (void*)(((char*)selectAction__11daNpc_zrA_cFv) + 0x278), - (void*)(((char*)selectAction__11daNpc_zrA_cFv) + 0x294), - (void*)(((char*)selectAction__11daNpc_zrA_cFv) + 0x2B0), -}; - -/* 80B8D6AC-80B8D6C8 -00001 001C+00 1/1 0/0 0/0 .data @6587 */ -SECTION_DATA static void* lit_6587[7] = { - (void*)(((char*)selectAction__11daNpc_zrA_cFv) + 0x13C), - (void*)(((char*)selectAction__11daNpc_zrA_cFv) + 0x158), - (void*)(((char*)selectAction__11daNpc_zrA_cFv) + 0x1C8), - (void*)(((char*)selectAction__11daNpc_zrA_cFv) + 0x190), - (void*)(((char*)selectAction__11daNpc_zrA_cFv) + 0x1AC), - (void*)(((char*)selectAction__11daNpc_zrA_cFv) + 0x1C8), - (void*)(((char*)selectAction__11daNpc_zrA_cFv) + 0x174), -}; - -/* 80B8D6C8-80B8D6E4 -00001 001C+00 1/1 0/0 0/0 .data @6586 */ -SECTION_DATA static void* lit_6586[7] = { - (void*)(((char*)selectAction__11daNpc_zrA_cFv) + 0x314), - (void*)(((char*)selectAction__11daNpc_zrA_cFv) + 0x7C), - (void*)(((char*)selectAction__11daNpc_zrA_cFv) + 0x98), - (void*)(((char*)selectAction__11daNpc_zrA_cFv) + 0x118), - (void*)(((char*)selectAction__11daNpc_zrA_cFv) + 0x1E4), - (void*)(((char*)selectAction__11daNpc_zrA_cFv) + 0x2CC), - (void*)(((char*)selectAction__11daNpc_zrA_cFv) + 0x2F8), -}; - -/* 80B8D6E4-80B8D6F0 -00001 000C+00 0/1 0/0 0/0 .data @6608 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_6608[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)talkSwim__11daNpc_zrA_cFPv, -}; -#pragma pop - -/* 80B8D6F0-80B8D6FC -00001 000C+00 0/1 0/0 0/0 .data @6616 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_6616[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)talkSwim__11daNpc_zrA_cFPv, -}; -#pragma pop - -/* 80B8D6FC-80B8D708 -00001 000C+00 0/1 0/0 0/0 .data @6629 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_6629[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)talk__11daNpc_zrA_cFPv, -}; -#pragma pop - -/* 80B8D708-80B8D714 -00001 000C+00 0/1 0/0 0/0 .data @6646 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_6646[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)talk__11daNpc_zrA_cFPv, -}; -#pragma pop - -/* 80B8D714-80B8D720 -00001 000C+00 0/1 0/0 0/0 .data @6650 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_6650[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)talk__11daNpc_zrA_cFPv, -}; -#pragma pop - -/* 80B8D720-80B8D72C -00001 000C+00 0/1 0/0 0/0 .data @6666 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_6666[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)swim__11daNpc_zrA_cFPv, -}; -#pragma pop - -/* 80B8D72C-80B8D738 -00001 000C+00 0/1 0/0 0/0 .data @6670 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_6670[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)returnRiverDescend__11daNpc_zrA_cFPv, -}; -#pragma pop - -/* 80B8D738-80B8D744 -00001 000C+00 0/1 0/0 0/0 .data @6674 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_6674[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)diveWaterfall__11daNpc_zrA_cFPv, -}; -#pragma pop - -/* 80B8D744-80B8D750 -00001 000C+00 1/1 0/0 0/0 .data @7129 */ -SECTION_DATA static void* lit_7129[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)wait__11daNpc_zrA_cFPv, -}; - -/* 80B8D750-80B8D75C -00001 000C+00 1/1 0/0 0/0 .data @8131 */ -SECTION_DATA static void* lit_8131[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)waitWaterfall__11daNpc_zrA_cFPv, -}; - -/* 80B8D75C-80B8D768 -00001 000C+00 1/1 0/0 0/0 .data @8299 */ -SECTION_DATA static void* lit_8299[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)swimWaterfall__11daNpc_zrA_cFPv, -}; - -/* 80B8D768-80B8D774 -00001 000C+00 0/1 0/0 0/0 .data @8349 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_8349[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)waitWaterfall__11daNpc_zrA_cFPv, -}; -#pragma pop - -/* 80B8D774-80B8D780 -00001 000C+00 0/1 0/0 0/0 .data @8636 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_8636[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)swimGoalRiverDescend__11daNpc_zrA_cFPv, -}; -#pragma pop - -/* 80B8D780-80B8D78C -00001 000C+00 0/1 0/0 0/0 .data @8661 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_8661[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)diveRiverDescend__11daNpc_zrA_cFPv, -}; -#pragma pop - -/* 80B8D78C-80B8D798 -00001 000C+00 0/1 0/0 0/0 .data @8678 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_8678[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)diveRiverDescend__11daNpc_zrA_cFPv, -}; -#pragma pop - -/* 80B8D798-80B8D7A4 -00001 000C+00 0/1 0/0 0/0 .data @8683 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_8683[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)diveRiverDescend__11daNpc_zrA_cFPv, -}; -#pragma pop - -/* 80B8D7A4-80B8D7B0 -00001 000C+00 1/1 0/0 0/0 .data @9347 */ -SECTION_DATA static void* lit_9347[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)waitRiverDescend__11daNpc_zrA_cFPv, -}; - -/* 80B8D7B0-80B8D7BC -00001 000C+00 1/1 0/0 0/0 .data @9351 */ -SECTION_DATA static void* lit_9351[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)waitRiverDescend__11daNpc_zrA_cFPv, -}; - -/* 80B8D7BC-80B8D7C8 -00001 000C+00 0/1 0/0 0/0 .data @9479 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_9479[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)waitRiverDescend__11daNpc_zrA_cFPv, -}; -#pragma pop - -/* 80B8D7C8-80B8D7D4 -00001 000C+00 0/1 0/0 0/0 .data @9487 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_9487[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)swimRiverDescend2__11daNpc_zrA_cFPv, -}; -#pragma pop - -/* 80B8D7D4-80B8D7E0 -00001 000C+00 0/1 0/0 0/0 .data @9490 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_9490[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)swimRiverDescend__11daNpc_zrA_cFPv, -}; -#pragma pop - -/* 80B8D7E0-80B8D834 -00001 0054+00 1/1 0/0 0/0 .data @9940 */ -SECTION_DATA static void* lit_9940[21] = { - (void*)(((char*)ECut_beforeBlastzrR__11daNpc_zrA_cFi) + 0x114), - (void*)(((char*)ECut_beforeBlastzrR__11daNpc_zrA_cFi) + 0x324), - (void*)(((char*)ECut_beforeBlastzrR__11daNpc_zrA_cFi) + 0x324), - (void*)(((char*)ECut_beforeBlastzrR__11daNpc_zrA_cFi) + 0x324), - (void*)(((char*)ECut_beforeBlastzrR__11daNpc_zrA_cFi) + 0x324), - (void*)(((char*)ECut_beforeBlastzrR__11daNpc_zrA_cFi) + 0x324), - (void*)(((char*)ECut_beforeBlastzrR__11daNpc_zrA_cFi) + 0x324), - (void*)(((char*)ECut_beforeBlastzrR__11daNpc_zrA_cFi) + 0x324), - (void*)(((char*)ECut_beforeBlastzrR__11daNpc_zrA_cFi) + 0x324), - (void*)(((char*)ECut_beforeBlastzrR__11daNpc_zrA_cFi) + 0x324), - (void*)(((char*)ECut_beforeBlastzrR__11daNpc_zrA_cFi) + 0x154), - (void*)(((char*)ECut_beforeBlastzrR__11daNpc_zrA_cFi) + 0x324), - (void*)(((char*)ECut_beforeBlastzrR__11daNpc_zrA_cFi) + 0x324), - (void*)(((char*)ECut_beforeBlastzrR__11daNpc_zrA_cFi) + 0x324), - (void*)(((char*)ECut_beforeBlastzrR__11daNpc_zrA_cFi) + 0x324), - (void*)(((char*)ECut_beforeBlastzrR__11daNpc_zrA_cFi) + 0x1F0), - (void*)(((char*)ECut_beforeBlastzrR__11daNpc_zrA_cFi) + 0x324), - (void*)(((char*)ECut_beforeBlastzrR__11daNpc_zrA_cFi) + 0x324), - (void*)(((char*)ECut_beforeBlastzrR__11daNpc_zrA_cFi) + 0x324), - (void*)(((char*)ECut_beforeBlastzrR__11daNpc_zrA_cFi) + 0x324), - (void*)(((char*)ECut_beforeBlastzrR__11daNpc_zrA_cFi) + 0x2B4), -}; - -/* 80B8D834-80B8D888 -00001 0054+00 1/1 0/0 0/0 .data @9939 */ -SECTION_DATA static void* lit_9939[21] = { - (void*)(((char*)ECut_beforeBlastzrR__11daNpc_zrA_cFi) + 0xC4), - (void*)(((char*)ECut_beforeBlastzrR__11daNpc_zrA_cFi) + 0xF4), - (void*)(((char*)ECut_beforeBlastzrR__11daNpc_zrA_cFi) + 0xF4), - (void*)(((char*)ECut_beforeBlastzrR__11daNpc_zrA_cFi) + 0xF4), - (void*)(((char*)ECut_beforeBlastzrR__11daNpc_zrA_cFi) + 0xF4), - (void*)(((char*)ECut_beforeBlastzrR__11daNpc_zrA_cFi) + 0xF4), - (void*)(((char*)ECut_beforeBlastzrR__11daNpc_zrA_cFi) + 0xF4), - (void*)(((char*)ECut_beforeBlastzrR__11daNpc_zrA_cFi) + 0xF4), - (void*)(((char*)ECut_beforeBlastzrR__11daNpc_zrA_cFi) + 0xF4), - (void*)(((char*)ECut_beforeBlastzrR__11daNpc_zrA_cFi) + 0xF4), - (void*)(((char*)ECut_beforeBlastzrR__11daNpc_zrA_cFi) + 0xD0), - (void*)(((char*)ECut_beforeBlastzrR__11daNpc_zrA_cFi) + 0xF4), - (void*)(((char*)ECut_beforeBlastzrR__11daNpc_zrA_cFi) + 0xF4), - (void*)(((char*)ECut_beforeBlastzrR__11daNpc_zrA_cFi) + 0xF4), - (void*)(((char*)ECut_beforeBlastzrR__11daNpc_zrA_cFi) + 0xF4), - (void*)(((char*)ECut_beforeBlastzrR__11daNpc_zrA_cFi) + 0xF4), - (void*)(((char*)ECut_beforeBlastzrR__11daNpc_zrA_cFi) + 0xF4), - (void*)(((char*)ECut_beforeBlastzrR__11daNpc_zrA_cFi) + 0xF4), - (void*)(((char*)ECut_beforeBlastzrR__11daNpc_zrA_cFi) + 0xF4), - (void*)(((char*)ECut_beforeBlastzrR__11daNpc_zrA_cFi) + 0xF4), - (void*)(((char*)ECut_beforeBlastzrR__11daNpc_zrA_cFi) + 0xE4), -}; - -/* 80B8D888-80B8D894 -00001 000C+00 1/1 0/0 0/0 .data @11290 */ -SECTION_DATA static void* lit_11290[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)tobiWait__11daNpc_zrA_cFPv, -}; - -/* 80B8D894-80B8D8A0 -00001 000C+00 1/1 0/0 0/0 .data @11309 */ -SECTION_DATA static void* lit_11309[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)tobikomi1__11daNpc_zrA_cFPv, -}; - -/* 80B8D8A0-80B8D8AC -00001 000C+00 1/1 0/0 0/0 .data @11325 */ -SECTION_DATA static void* lit_11325[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)tobikomi2__11daNpc_zrA_cFPv, -}; - -/* 80B8D8AC-80B8D8B8 -00001 000C+00 1/1 0/0 0/0 .data @11372 */ -SECTION_DATA static void* lit_11372[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)tobikomi3__11daNpc_zrA_cFPv, -}; - -/* 80B8D8B8-80B8D8C4 -00001 000C+00 1/1 0/0 0/0 .data @11420 */ -SECTION_DATA static void* lit_11420[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)tobiJump__11daNpc_zrA_cFPv, -}; - -/* 80B8D8C4-80B8D8D0 -00001 000C+00 1/1 0/0 0/0 .data @11423 */ -SECTION_DATA static void* lit_11423[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)tobiEnd__11daNpc_zrA_cFPv, -}; - -/* 80B8D8D0-80B8D8DC -00001 000C+00 1/1 0/0 0/0 .data @11468 */ -SECTION_DATA static void* lit_11468[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)tobiEnd__11daNpc_zrA_cFPv, -}; - -/* 80B8D8DC-80B8D8FC -00001 0020+00 1/0 0/0 0/0 .data daNpc_zrA_MethodTable */ -static actor_method_class daNpc_zrA_MethodTable = { - (process_method_func)daNpc_zrA_Create, - (process_method_func)daNpc_zrA_Delete, - (process_method_func)daNpc_zrA_Execute, - (process_method_func)daNpc_zrA_IsDelete, - (process_method_func)daNpc_zrA_Draw, -}; - -/* 80B8D8FC-80B8D92C -00001 0030+00 0/0 0/0 1/0 .data g_profile_NPC_ZRA */ -extern actor_process_profile_definition g_profile_NPC_ZRA = { - fpcLy_CURRENT_e, - 3, - fpcPi_CURRENT_e, - PROC_NPC_ZRA, - &g_fpcLf_Method.mBase, - sizeof(daNpc_zrA_c), - 0, - 0, - &g_fopAc_Method.base, - 0x183, - &daNpc_zrA_MethodTable, - 0x44100, - fopAc_NPC_e, - fopAc_CULLBOX_CUSTOM_e, -}; - -/* 80B8D92C-80B8D938 000A9C 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGLin */ -SECTION_DATA extern void* __vt__8cM3dGLin[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGLinFv, -}; - -/* 80B8D938-80B8D944 000AA8 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, -}; - -/* 80B8D944-80B8D98C 000AB4 0048+00 2/2 0/0 0/0 .data __vt__11daNpc_zrA_c */ -SECTION_DATA extern void* __vt__11daNpc_zrA_c[18] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__11daNpc_zrA_cFv, - (void*)setParam__11daNpc_zrA_cFv, - (void*)main__11daNpc_zrA_cFv, - (void*)ctrlBtk__11daNpc_zrA_cFv, - (void*)adjustShapeAngle__11daNpc_zrA_cFv, - (void*)setMtx__11daNpc_zrA_cFv, - (void*)setMtx2__8daNpcF_cFv, - (void*)setAttnPos__11daNpc_zrA_cFv, - (void*)setCollisions__8daNpcF_cFv, - (void*)setExpressionAnm__11daNpc_zrA_cFib, - (void*)setExpressionBtp__11daNpc_zrA_cFi, - (void*)setExpression__11daNpc_zrA_cFif, - (void*)setMotionAnm__11daNpc_zrA_cFif, - (void*)setMotion__11daNpc_zrA_cFifi, - (void*)drawDbgInfo__11daNpc_zrA_cFv, - (void*)drawOtherMdls__11daNpc_zrA_cFv, -}; - -/* 80B8D98C-80B8D9B0 000AFC 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_80B8C43C, - (void*)NULL, - (void*)NULL, - (void*)func_80B8C434, -}; - -/* 80B8D9B0-80B8D9BC 000B20 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, -}; - -/* 80B8D9BC-80B8D9C8 000B2C 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, -}; - -/* 80B8D9C8-80B8D9D4 000B38 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, -}; - -/* 80B8D9D4-80B8D9E0 000B44 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, -}; - -/* 80B8D9E0-80B8D9EC 000B50 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, -}; - -/* 80B8D9EC-80B8D9F8 000B5C 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, -}; - -/* 80B8D9F8-80B8DA04 000B68 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, -}; - -/* 80B8DA04-80B8DA10 000B74 000C+00 3/3 0/0 0/0 .data __vt__16daNpc_zrA_Path_c */ -SECTION_DATA extern void* __vt__16daNpc_zrA_Path_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__16daNpc_zrA_Path_cFv, -}; - -/* 80B8DA10-80B8DA1C 000B80 000C+00 5/5 0/0 0/0 .data __vt__16daNpcF_SPCurve_c */ -SECTION_DATA extern void* __vt__16daNpcF_SPCurve_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__16daNpcF_SPCurve_cFv, -}; - -/* 80B8DA1C-80B8DA28 000B8C 000C+00 4/4 0/0 0/0 .data __vt__13daNpcF_Path_c */ -SECTION_DATA extern void* __vt__13daNpcF_Path_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__13daNpcF_Path_cFv, -}; - -/* 80B8DA28-80B8DA34 000B98 000C+00 5/5 0/0 0/0 .data __vt__12J3DFrameCtrl */ -SECTION_DATA extern void* __vt__12J3DFrameCtrl[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12J3DFrameCtrlFv, -}; /* 80B7956C-80B79798 00114C 022C+00 1/1 0/0 0/0 .text __ct__11daNpc_zrA_cFv */ -#ifdef NONMATCHING -// daNpcF_c needs to not be inlined +// NONMATCHING daNpcF_c needs to not be inlined daNpc_zrA_c::daNpc_zrA_c() { /* empty function */ } -#else -daNpc_zrA_c::daNpc_zrA_c() { - // NONMATCHING -} -#endif - -/* 80B79798-80B797E0 001378 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */ -// cM3dGCyl::~cM3dGCyl() { -extern "C" void __dt__8cM3dGCylFv() { - // NONMATCHING -} - -/* 80B797E0-80B79828 0013C0 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */ -// cM3dGAab::~cM3dGAab() { -extern "C" void __dt__8cM3dGAabFv() { - // NONMATCHING -} /* 80B79828-80B79B58 001408 0330+00 1/0 0/0 0/0 .text __dt__11daNpc_zrA_cFv */ -#ifdef NONMATCHING daNpc_zrA_c::~daNpc_zrA_c() { int i; for (i = 0; l_loadRes_list[mType][i] >= 0; i++) { @@ -2009,41 +613,6 @@ daNpc_zrA_c::~daNpc_zrA_c() { mpMorf->stopZelAnime(); } } -#else -// daNpc_zrA_c::~daNpc_zrA_c() { -extern "C" void __dt__11daNpc_zrA_cFv() { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ -/* 80B8C538-80B8C53C 0000E0 0004+00 0/1 0/0 0/0 .rodata @4964 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4964 = -300.0f; -COMPILER_STRIP_GATE(0x80B8C538, &lit_4964); -#pragma pop - -/* 80B8C53C-80B8C540 0000E4 0004+00 0/1 0/0 0/0 .rodata @4965 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4965 = -50.0f; -COMPILER_STRIP_GATE(0x80B8C53C, &lit_4965); -#pragma pop - -/* 80B8C540-80B8C544 0000E8 0004+00 0/1 0/0 0/0 .rodata @4966 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4966 = 300.0f; -COMPILER_STRIP_GATE(0x80B8C540, &lit_4966); -#pragma pop - -/* 80B8C544-80B8C548 0000EC 0004+00 0/3 0/0 0/0 .rodata @4967 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4967 = 450.0f; -COMPILER_STRIP_GATE(0x80B8C544, &lit_4967); -#pragma pop /* 80B79B58-80B79F38 001738 03E0+00 1/1 0/0 0/0 .text create__11daNpc_zrA_cFv */ cPhs__Step daNpc_zrA_c::create() { @@ -2138,12 +707,6 @@ cPhs__Step daNpc_zrA_c::create() { return cPhs_INIT_e; } - -/* ############################################################################################## */ -/* 80B8C548-80B8C54C 0000F0 0004+00 7/28 0/0 0/0 .rodata @5070 */ -SECTION_RODATA static f32 const lit_5070 = 1.0f; -COMPILER_STRIP_GATE(0x80B8C548, &lit_5070); - /* 80B79F38-80B7A360 001B18 0428+00 1/1 0/0 0/0 .text CreateHeap__11daNpc_zrA_cFv */ int daNpc_zrA_c::CreateHeap() { J3DModelData* model_data = NULL; @@ -2232,67 +795,6 @@ int daNpc_zrA_c::CreateHeap() { return 1; } - -/* 80B7A360-80B7A39C 001F40 003C+00 1/1 0/0 0/0 .text __dt__15J3DTevKColorAnmFv */ -// J3DTevKColorAnm::~J3DTevKColorAnm() { -extern "C" void __dt__15J3DTevKColorAnmFv() { - // NONMATCHING -} - -/* 80B7A39C-80B7A3B4 001F7C 0018+00 1/1 0/0 0/0 .text __ct__15J3DTevKColorAnmFv */ -// J3DTevKColorAnm::J3DTevKColorAnm() { -extern "C" void __ct__15J3DTevKColorAnmFv() { - // NONMATCHING -} - -/* 80B7A3B4-80B7A3F0 001F94 003C+00 1/1 0/0 0/0 .text __dt__14J3DTevColorAnmFv */ -// J3DTevColorAnm::~J3DTevColorAnm() { -extern "C" void __dt__14J3DTevColorAnmFv() { - // NONMATCHING -} - -/* 80B7A3F0-80B7A408 001FD0 0018+00 1/1 0/0 0/0 .text __ct__14J3DTevColorAnmFv */ -// J3DTevColorAnm::J3DTevColorAnm() { -extern "C" void __ct__14J3DTevColorAnmFv() { - // NONMATCHING -} - -/* 80B7A408-80B7A450 001FE8 0048+00 1/1 0/0 0/0 .text __dt__11J3DTexNoAnmFv */ -// J3DTexNoAnm::~J3DTexNoAnm() { -extern "C" void __dt__11J3DTexNoAnmFv() { - // NONMATCHING -} - -/* 80B7A450-80B7A474 002030 0024+00 1/1 0/0 0/0 .text __ct__11J3DTexNoAnmFv */ -// J3DTexNoAnm::J3DTexNoAnm() { -extern "C" void __ct__11J3DTexNoAnmFv() { - // NONMATCHING -} - -/* 80B7A474-80B7A4B0 002054 003C+00 1/1 0/0 0/0 .text __dt__12J3DTexMtxAnmFv */ -// J3DTexMtxAnm::~J3DTexMtxAnm() { -extern "C" void __dt__12J3DTexMtxAnmFv() { - // NONMATCHING -} - -/* 80B7A4B0-80B7A4C8 002090 0018+00 1/1 0/0 0/0 .text __ct__12J3DTexMtxAnmFv */ -// J3DTexMtxAnm::J3DTexMtxAnm() { -extern "C" void __ct__12J3DTexMtxAnmFv() { - // NONMATCHING -} - -/* 80B7A4C8-80B7A504 0020A8 003C+00 1/1 0/0 0/0 .text __dt__14J3DMatColorAnmFv */ -// J3DMatColorAnm::~J3DMatColorAnm() { -extern "C" void __dt__14J3DMatColorAnmFv() { - // NONMATCHING -} - -/* 80B7A504-80B7A51C 0020E4 0018+00 1/1 0/0 0/0 .text __ct__14J3DMatColorAnmFv */ -// J3DMatColorAnm::J3DMatColorAnm() { -extern "C" void __ct__14J3DMatColorAnmFv() { - // NONMATCHING -} - /* 80B7A51C-80B7A550 0020FC 0034+00 1/1 0/0 0/0 .text Delete__11daNpc_zrA_cFv */ int daNpc_zrA_c::Delete() { this->~daNpc_zrA_c(); @@ -2304,14 +806,6 @@ int daNpc_zrA_c::Execute() { return execute(); } -/* ############################################################################################## */ -/* 80B8C54C-80B8C550 0000F4 0004+00 0/8 0/0 0/0 .rodata @5218 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5218 = 20.0f; -COMPILER_STRIP_GATE(0x80B8C54C, &lit_5218); -#pragma pop - /* 80B7A570-80B7A864 002150 02F4+00 1/1 0/0 0/0 .text Draw__11daNpc_zrA_cFv */ int daNpc_zrA_c::Draw() { BOOL bvar2 = false; @@ -2392,17 +886,6 @@ int daNpc_zrA_c::Draw() { return 1; } - -/* ############################################################################################## */ -/* 80B8C550-80B8C55C 0000F8 000C+00 0/1 0/0 0/0 .rodata @5227 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5227[12] = { - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, -}; -COMPILER_STRIP_GATE(0x80B8C550, &lit_5227); -#pragma pop - /* 80B7A864-80B7AB9C 002444 0338+00 1/1 0/0 0/0 .text * ctrlJoint__11daNpc_zrA_cFP8J3DJointP8J3DModel */ int daNpc_zrA_c::ctrlJoint(J3DJoint* i_joint, J3DModel* i_model) { @@ -2478,7 +961,6 @@ int daNpc_zrA_c::ctrlJoint(J3DJoint* i_joint, J3DModel* i_model) { return 1; } - /* 80B7AB9C-80B7ABBC 00277C 0020+00 1/1 0/0 0/0 .text * createHeapCallBack__11daNpc_zrA_cFP10fopAc_ac_c */ int daNpc_zrA_c::createHeapCallBack(fopAc_ac_c* i_this) { @@ -2627,22 +1109,6 @@ BOOL daNpc_zrA_c::main() { return true; } - -/* ############################################################################################## */ -/* 80B8C55C-80B8C560 000104 0004+00 0/12 0/0 0/0 .rodata @5527 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5527 = 1.0f / 5.0f; -COMPILER_STRIP_GATE(0x80B8C55C, &lit_5527); -#pragma pop - -/* 80B8C560-80B8C564 000108 0004+00 0/1 0/0 0/0 .rodata @5528 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5528 = 3.0f / 25.0f; -COMPILER_STRIP_GATE(0x80B8C560, &lit_5528); -#pragma pop - /* 80B7B0A4-80B7B1DC 002C84 0138+00 1/0 0/0 0/0 .text ctrlBtk__11daNpc_zrA_cFv */ BOOL daNpc_zrA_c::ctrlBtk() { if (mpMatAnm != NULL) { @@ -2668,184 +1134,6 @@ BOOL daNpc_zrA_c::ctrlBtk() { return false; } - -/* ############################################################################################## */ -/* 80B8C564-80B8C568 00010C 0004+00 0/1 0/0 0/0 .rodata @5769 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5769 = -20.0f; -COMPILER_STRIP_GATE(0x80B8C564, &lit_5769); -#pragma pop - -/* 80B8C568-80B8C56C 000110 0004+00 0/5 0/0 0/0 .rodata @5770 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5770 = 10.0f; -COMPILER_STRIP_GATE(0x80B8C568, &lit_5770); -#pragma pop - -/* 80B8C56C-80B8C570 000114 0004+00 0/9 0/0 0/0 .rodata @5771 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5771 = 1.0f / 10.0f; -COMPILER_STRIP_GATE(0x80B8C56C, &lit_5771); -#pragma pop - -/* 80B8C570-80B8C574 000118 0004+00 0/1 0/0 0/0 .rodata @5772 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5772 = 125.0f; -COMPILER_STRIP_GATE(0x80B8C570, &lit_5772); -#pragma pop - -/* 80B8C574-80B8C578 00011C 0004+00 0/1 0/0 0/0 .rodata @5773 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5773 = 70.0f; -COMPILER_STRIP_GATE(0x80B8C574, &lit_5773); -#pragma pop - -/* 80B8C578-80B8C57C 000120 0004+00 0/4 0/0 0/0 .rodata @5774 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5774 = 40.0f; -COMPILER_STRIP_GATE(0x80B8C578, &lit_5774); -#pragma pop - -/* 80B8C57C-80B8C580 000124 0004+00 0/1 0/0 0/0 .rodata @5775 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5775 = 700.0f; -COMPILER_STRIP_GATE(0x80B8C57C, &lit_5775); -#pragma pop - -/* 80B8C580-80B8C584 000128 0004+00 0/1 0/0 0/0 .rodata @5776 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5776 = 800.0f; -COMPILER_STRIP_GATE(0x80B8C580, &lit_5776); -#pragma pop - -/* 80B8C584-80B8C588 00012C 0004+00 0/1 0/0 0/0 .rodata @5777 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5777 = -150.0f; -COMPILER_STRIP_GATE(0x80B8C584, &lit_5777); -#pragma pop - -/* 80B8DA48-80B8DA4C 000008 0001+03 1/1 0/0 0/0 .bss @1109 */ -static u8 lit_1109[1 + 3 /* padding */]; - -/* 80B8DA4C-80B8DA50 00000C 0001+03 0/0 0/0 0/0 .bss @1107 */ -#pragma push -#pragma force_active on -static u8 lit_1107[1 + 3 /* padding */]; -#pragma pop - -/* 80B8DA50-80B8DA54 000010 0001+03 0/0 0/0 0/0 .bss @1105 */ -#pragma push -#pragma force_active on -static u8 lit_1105[1 + 3 /* padding */]; -#pragma pop - -/* 80B8DA54-80B8DA58 000014 0001+03 0/0 0/0 0/0 .bss @1104 */ -#pragma push -#pragma force_active on -static u8 lit_1104[1 + 3 /* padding */]; -#pragma pop - -/* 80B8DA58-80B8DA5C 000018 0001+03 0/0 0/0 0/0 .bss @1099 */ -#pragma push -#pragma force_active on -static u8 lit_1099[1 + 3 /* padding */]; -#pragma pop - -/* 80B8DA5C-80B8DA60 00001C 0001+03 0/0 0/0 0/0 .bss @1097 */ -#pragma push -#pragma force_active on -static u8 lit_1097[1 + 3 /* padding */]; -#pragma pop - -/* 80B8DA60-80B8DA64 000020 0001+03 0/0 0/0 0/0 .bss @1095 */ -#pragma push -#pragma force_active on -static u8 lit_1095[1 + 3 /* padding */]; -#pragma pop - -/* 80B8DA64-80B8DA68 000024 0001+03 0/0 0/0 0/0 .bss @1094 */ -#pragma push -#pragma force_active on -static u8 lit_1094[1 + 3 /* padding */]; -#pragma pop - -/* 80B8DA68-80B8DA6C 000028 0001+03 0/0 0/0 0/0 .bss @1057 */ -#pragma push -#pragma force_active on -static u8 lit_1057[1 + 3 /* padding */]; -#pragma pop - -/* 80B8DA6C-80B8DA70 00002C 0001+03 0/0 0/0 0/0 .bss @1055 */ -#pragma push -#pragma force_active on -static u8 lit_1055[1 + 3 /* padding */]; -#pragma pop - -/* 80B8DA70-80B8DA74 000030 0001+03 0/0 0/0 0/0 .bss @1053 */ -#pragma push -#pragma force_active on -static u8 lit_1053[1 + 3 /* padding */]; -#pragma pop - -/* 80B8DA74-80B8DA78 000034 0001+03 0/0 0/0 0/0 .bss @1052 */ -#pragma push -#pragma force_active on -static u8 lit_1052[1 + 3 /* padding */]; -#pragma pop - -/* 80B8DA78-80B8DA7C 000038 0001+03 0/0 0/0 0/0 .bss @1014 */ -#pragma push -#pragma force_active on -static u8 lit_1014[1 + 3 /* padding */]; -#pragma pop - -/* 80B8DA7C-80B8DA80 00003C 0001+03 0/0 0/0 0/0 .bss @1012 */ -#pragma push -#pragma force_active on -static u8 lit_1012[1 + 3 /* padding */]; -#pragma pop - -/* 80B8DA80-80B8DA84 000040 0001+03 0/0 0/0 0/0 .bss @1010 */ -#pragma push -#pragma force_active on -static u8 lit_1010[1 + 3 /* padding */]; -#pragma pop - -/* 80B8DA84-80B8DA88 000044 0001+03 0/0 0/0 0/0 .bss @1009 */ -#pragma push -#pragma force_active on -static u8 lit_1009[1 + 3 /* padding */]; -#pragma pop - -/* 80B8DA88-80B8DA94 000048 000C+00 1/1 0/0 0/0 .bss @3887 */ -static u8 lit_3887[12]; - -/* 80B8DA94-80B8DA98 000054 0004+00 1/1 0/0 0/0 .bss l_HIO */ -static u8 l_HIO[4]; - -#ifndef NONMATCHING -/* 80B8DA98-80B8DAA8 000058 000C+04 0/1 0/0 0/0 .bss @5533 */ -#pragma push -#pragma force_active on -static u8 lit_5533[12 + 4 /* padding */]; -#pragma pop - -/* 80B8DAA8-80B8DAB4 000068 000C+00 0/1 0/0 0/0 .bss eyeOffset$5532 */ -#pragma push -#pragma force_active on -static u8 eyeOffset[12]; -#pragma pop -#endif - /* 80B7B1DC-80B7B91C 002DBC 0740+00 1/0 0/0 0/0 .text setAttnPos__11daNpc_zrA_cFv */ void daNpc_zrA_c::setAttnPos() { static cXyz eyeOffset(-20.0f, 10.0f, 0.0f); @@ -2987,7 +1275,6 @@ void daNpc_zrA_c::setAttnPos() { mCcCyl.ClrCoHit(); } - /* 80B7B91C-80B7B9D4 0034FC 00B8+00 1/0 0/0 0/0 .text setMtx__11daNpc_zrA_cFv */ void daNpc_zrA_c::setMtx() { J3DModel* model = mpMorf->getModel(); @@ -3007,7 +1294,6 @@ void daNpc_zrA_c::setMtx() { } } - /* 80B7B9D4-80B7BD60 0035B4 038C+00 2/0 0/0 0/0 .text setExpressionAnm__11daNpc_zrA_cFib */ bool daNpc_zrA_c::setExpressionAnm(int i_idx, bool i_modify) { @@ -3117,7 +1403,6 @@ bool daNpc_zrA_c::setExpressionAnm(int i_idx, bool i_modify) { return false; } - /* 80B7BD60-80B7BE74 003940 0114+00 1/0 0/0 0/0 .text setExpressionBtp__11daNpc_zrA_cFi */ bool daNpc_zrA_c::setExpressionBtp(int i_idx) { @@ -3162,7 +1447,6 @@ bool daNpc_zrA_c::setExpressionBtp(int i_idx) { return false; } - /* 80B7BE74-80B7BEA0 003A54 002C+00 1/0 0/0 0/0 .text setExpression__11daNpc_zrA_cFif */ void daNpc_zrA_c::setExpression(int i_expression, f32 i_morf) { if (i_expression >= 0 && i_expression < 0x15) { @@ -3265,7 +1549,6 @@ void daNpc_zrA_c::setMotionAnm(int i_idx, f32 i_morf) { } } - /* 80B7C070-80B7C308 003C50 0298+00 2/2 0/0 0/0 .text setMotionWaterAnm__11daNpc_zrA_cFi */ void daNpc_zrA_c::setMotionWaterAnm(int i_idx) { @@ -3339,7 +1622,6 @@ void daNpc_zrA_c::setMotionWaterAnm(int i_idx) { } } - /* 80B7C308-80B7C34C 003EE8 0044+00 1/0 0/0 0/0 .text setMotion__11daNpc_zrA_cFifi */ void daNpc_zrA_c::setMotion(int i_motion, f32 i_morf, BOOL i_restart) { s16 motion = i_motion; @@ -3358,15 +1640,6 @@ BOOL daNpc_zrA_c::drawDbgInfo() { return false; } -/* ############################################################################################## */ -/* 80B8C588-80B8C5AC 000130 0024+00 1/1 0/0 0/0 .rodata l_jntNumTbl$6051 */ -SECTION_RODATA static u8 const l_jntNumTbl[36] = { - 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x19, 0xFF, 0xFF, 0xFF, 0xFF, - 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -}; -COMPILER_STRIP_GATE(0x80B8C588, &l_jntNumTbl); - /* 80B7C354-80B7C44C 003F34 00F8+00 1/0 0/0 0/0 .text drawOtherMdls__11daNpc_zrA_cFv */ void daNpc_zrA_c::drawOtherMdls() { static int const l_jntNumTbl[3][3] = { @@ -3391,7 +1664,6 @@ void daNpc_zrA_c::drawOtherMdls() { } } - /* 80B7C44C-80B7C4B4 00402C 0068+00 2/1 0/0 0/0 .text getTypeFromArgument__11daNpc_zrA_cFv */ daNpc_zrA_c::Type daNpc_zrA_c::getTypeFromArgument() { switch (subtype) { @@ -3414,7 +1686,6 @@ daNpc_zrA_c::Type daNpc_zrA_c::getTypeFromArgument() { } } - /* 80B7C4B4-80B7C500 004094 004C+00 1/1 0/0 0/0 .text getSoldierTypeFromParam__11daNpc_zrA_cFv */ daNpc_zrA_c::SoldierType daNpc_zrA_c::getSoldierTypeFromParam() { if (mType == TYPE_WATERFALL || mType == TYPE_SEARCH) { @@ -3498,13 +1769,6 @@ u8 daNpc_zrA_c::getMultiNoFromParam() { return param == 0xf ? (u8)0 : param; } -/* ############################################################################################## */ -/* 80B8CD30-80B8CD30 0008D8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80B8CE77 = "F_SP115"; -#pragma pop - /* 80B7C644-80B7C71C 004224 00D8+00 1/1 0/0 0/0 .text isDelete__11daNpc_zrA_cFv */ BOOL daNpc_zrA_c::isDelete() { if ((mType == TYPE_SEARCH && dComIfGs_isSwitch(mSwitch1, fopAcM_GetRoomNo(this))) @@ -3518,15 +1782,6 @@ BOOL daNpc_zrA_c::isDelete() { return false; } - -/* ############################################################################################## */ -/* 80B8C5AC-80B8C5B0 000154 0004+00 0/5 0/0 0/0 .rodata @6278 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6278 = 100.0f; -COMPILER_STRIP_GATE(0x80B8C5AC, &lit_6278); -#pragma pop - /* 80B7C71C-80B7CA8C 0042FC 0370+00 1/1 0/0 0/0 .text reset__11daNpc_zrA_cFv */ void daNpc_zrA_c::reset() { initialize(); @@ -3622,509 +1877,6 @@ void daNpc_zrA_c::reset() { field_0x9ee = 1; } - -/* ############################################################################################## */ -/* 80B8C5B0-80B8C5BC 000158 000C+00 0/1 0/0 0/0 .rodata @6282 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6282[12] = { - 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80B8C5B0, &lit_6282); -#pragma pop - -/* 80B8C5BC-80B8C5C8 000164 000C+00 0/1 0/0 0/0 .rodata @6283 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6283[12] = { - 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C5BC, &lit_6283); -#pragma pop - -/* 80B8C5C8-80B8C5D0 000170 0008+00 0/1 0/0 0/0 .rodata @6284 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6284[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C5C8, &lit_6284); -#pragma pop - -/* 80B8C5D0-80B8C5DC 000178 000C+00 0/1 0/0 0/0 .rodata @6285 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6285[12] = { - 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C5D0, &lit_6285); -#pragma pop - -/* 80B8C5DC-80B8C5E0 000184 0004+00 0/1 0/0 0/0 .rodata @6286 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6286[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C5DC, &lit_6286); -#pragma pop - -/* 80B8C5E0-80B8C5EC 000188 000C+00 0/1 0/0 0/0 .rodata @6287 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6287[12] = { - 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C5E0, &lit_6287); -#pragma pop - -/* 80B8C5EC-80B8C5F0 000194 0004+00 0/1 0/0 0/0 .rodata @6288 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6288[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C5EC, &lit_6288); -#pragma pop - -/* 80B8C5F0-80B8C5FC 000198 000C+00 0/1 0/0 0/0 .rodata @6289 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6289[12] = { - 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C5F0, &lit_6289); -#pragma pop - -/* 80B8C5FC-80B8C600 0001A4 0004+00 0/1 0/0 0/0 .rodata @6290 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6290[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C5FC, &lit_6290); -#pragma pop - -/* 80B8C600-80B8C60C 0001A8 000C+00 0/1 0/0 0/0 .rodata @6291 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6291[12] = { - 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C600, &lit_6291); -#pragma pop - -/* 80B8C60C-80B8C610 0001B4 0004+00 0/1 0/0 0/0 .rodata @6292 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6292[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C60C, &lit_6292); -#pragma pop - -/* 80B8C610-80B8C61C 0001B8 000C+00 0/1 0/0 0/0 .rodata @6293 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6293[12] = { - 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C610, &lit_6293); -#pragma pop - -/* 80B8C61C-80B8C620 0001C4 0004+00 0/1 0/0 0/0 .rodata @6294 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6294[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C61C, &lit_6294); -#pragma pop - -/* 80B8C620-80B8C62C 0001C8 000C+00 0/1 0/0 0/0 .rodata @6295 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6295[12] = { - 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80B8C620, &lit_6295); -#pragma pop - -/* 80B8C62C-80B8C638 0001D4 000C+00 0/1 0/0 0/0 .rodata @6296 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6296[12] = { - 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C62C, &lit_6296); -#pragma pop - -/* 80B8C638-80B8C640 0001E0 0008+00 0/1 0/0 0/0 .rodata @6297 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6297[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C638, &lit_6297); -#pragma pop - -/* 80B8C640-80B8C64C 0001E8 000C+00 0/1 0/0 0/0 .rodata @6298 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6298[12] = { - 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80B8C640, &lit_6298); -#pragma pop - -/* 80B8C64C-80B8C658 0001F4 000C+00 0/1 0/0 0/0 .rodata @6299 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6299[12] = { - 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C64C, &lit_6299); -#pragma pop - -/* 80B8C658-80B8C660 000200 0008+00 0/1 0/0 0/0 .rodata @6300 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6300[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C658, &lit_6300); -#pragma pop - -/* 80B8C660-80B8C66C 000208 000C+00 0/1 0/0 0/0 .rodata @6301 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6301[12] = { - 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80B8C660, &lit_6301); -#pragma pop - -/* 80B8C66C-80B8C678 000214 000C+00 0/1 0/0 0/0 .rodata @6302 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6302[12] = { - 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C66C, &lit_6302); -#pragma pop - -/* 80B8C678-80B8C680 000220 0008+00 0/1 0/0 0/0 .rodata @6303 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6303[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C678, &lit_6303); -#pragma pop - -/* 80B8C680-80B8C68C 000228 000C+00 0/1 0/0 0/0 .rodata @6304 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6304[12] = { - 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80B8C680, &lit_6304); -#pragma pop - -/* 80B8C68C-80B8C698 000234 000C+00 0/1 0/0 0/0 .rodata @6305 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6305[12] = { - 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C68C, &lit_6305); -#pragma pop - -/* 80B8C698-80B8C6A0 000240 0008+00 0/1 0/0 0/0 .rodata @6306 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6306[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C698, &lit_6306); -#pragma pop - -/* 80B8C6A0-80B8C6AC 000248 000C+00 0/1 0/0 0/0 .rodata @6307 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6307[12] = { - 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80B8C6A0, &lit_6307); -#pragma pop - -/* 80B8C6AC-80B8C6B8 000254 000C+00 0/1 0/0 0/0 .rodata @6308 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6308[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C6AC, &lit_6308); -#pragma pop - -/* 80B8C6B8-80B8C6C0 000260 0008+00 0/1 0/0 0/0 .rodata @6309 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6309[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C6B8, &lit_6309); -#pragma pop - -/* 80B8C6C0-80B8C6CC 000268 000C+00 0/1 0/0 0/0 .rodata @6310 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6310[12] = { - 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80B8C6C0, &lit_6310); -#pragma pop - -/* 80B8C6CC-80B8C6D8 000274 000C+00 0/1 0/0 0/0 .rodata @6311 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6311[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C6CC, &lit_6311); -#pragma pop - -/* 80B8C6D8-80B8C6E0 000280 0008+00 0/1 0/0 0/0 .rodata @6312 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6312[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C6D8, &lit_6312); -#pragma pop - -/* 80B8C6E0-80B8C6EC 000288 000C+00 0/1 0/0 0/0 .rodata @6313 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6313[12] = { - 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80B8C6E0, &lit_6313); -#pragma pop - -/* 80B8C6EC-80B8C6F8 000294 000C+00 0/1 0/0 0/0 .rodata @6314 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6314[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C6EC, &lit_6314); -#pragma pop - -/* 80B8C6F8-80B8C700 0002A0 0008+00 0/1 0/0 0/0 .rodata @6315 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6315[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C6F8, &lit_6315); -#pragma pop - -/* 80B8C700-80B8C70C 0002A8 000C+00 0/1 0/0 0/0 .rodata @6316 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6316[12] = { - 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80B8C700, &lit_6316); -#pragma pop - -/* 80B8C70C-80B8C718 0002B4 000C+00 0/1 0/0 0/0 .rodata @6317 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6317[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C70C, &lit_6317); -#pragma pop - -/* 80B8C718-80B8C720 0002C0 0008+00 0/1 0/0 0/0 .rodata @6318 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6318[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C718, &lit_6318); -#pragma pop - -/* 80B8C720-80B8C72C 0002C8 000C+00 0/1 0/0 0/0 .rodata @6319 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6319[12] = { - 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80B8C720, &lit_6319); -#pragma pop - -/* 80B8C72C-80B8C738 0002D4 000C+00 0/1 0/0 0/0 .rodata @6320 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6320[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C72C, &lit_6320); -#pragma pop - -/* 80B8C738-80B8C740 0002E0 0008+00 0/1 0/0 0/0 .rodata @6321 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6321[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C738, &lit_6321); -#pragma pop - -/* 80B8C740-80B8C74C 0002E8 000C+00 0/1 0/0 0/0 .rodata @6322 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6322[12] = { - 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C740, &lit_6322); -#pragma pop - -/* 80B8C74C-80B8C750 0002F4 0004+00 0/1 0/0 0/0 .rodata @6323 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6323[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C74C, &lit_6323); -#pragma pop - -/* 80B8C750-80B8C75C 0002F8 000C+00 0/1 0/0 0/0 .rodata @6324 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6324[12] = { - 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C750, &lit_6324); -#pragma pop - -/* 80B8C75C-80B8C760 000304 0004+00 0/1 0/0 0/0 .rodata @6325 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6325[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C75C, &lit_6325); -#pragma pop - -/* 80B8C760-80B8C76C 000308 000C+00 0/1 0/0 0/0 .rodata @6326 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6326[12] = { - 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C760, &lit_6326); -#pragma pop - -/* 80B8C76C-80B8C770 000314 0004+00 0/1 0/0 0/0 .rodata @6327 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6327[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C76C, &lit_6327); -#pragma pop - -/* 80B8C770-80B8C77C 000318 000C+00 0/1 0/0 0/0 .rodata @6328 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6328[12] = { - 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C770, &lit_6328); -#pragma pop - -/* 80B8C77C-80B8C780 000324 0004+00 0/1 0/0 0/0 .rodata @6329 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6329[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C77C, &lit_6329); -#pragma pop - -/* 80B8C780-80B8C78C 000328 000C+00 0/1 0/0 0/0 .rodata @6330 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6330[12] = { - 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C780, &lit_6330); -#pragma pop - -/* 80B8C78C-80B8C790 000334 0004+00 0/1 0/0 0/0 .rodata @6331 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6331[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C78C, &lit_6331); -#pragma pop - -/* 80B8C790-80B8C79C 000338 000C+00 0/1 0/0 0/0 .rodata @6332 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6332[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C790, &lit_6332); -#pragma pop - -/* 80B8C79C-80B8C7A0 000344 0004+00 0/1 0/0 0/0 .rodata @6333 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6333[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C79C, &lit_6333); -#pragma pop - /* 80B7CA8C-80B7D0FC 00466C 0670+00 1/1 0/0 0/0 .text playExpression__11daNpc_zrA_cFv */ void daNpc_zrA_c::playExpression() { daNpcF_anmPlayData dat0a = {ANM_F_TALK_NOMAL, daNpc_zrA_Param_c::m.mMorfFrames, 1}; @@ -4188,868 +1940,6 @@ void daNpc_zrA_c::playExpression() { } } - -/* ############################################################################################## */ -/* 80B8C7A0-80B8C7F4 000348 0054+00 0/0 0/0 0/0 .rodata @6334 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6334[84] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C7A0, &lit_6334); -#pragma pop - -/* 80B8C7F4-80B8C800 00039C 000C+00 0/1 0/0 0/0 .rodata @6375 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6375[12] = { - 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C7F4, &lit_6375); -#pragma pop - -/* 80B8C800-80B8C804 0003A8 0004+00 0/1 0/0 0/0 .rodata @6376 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6376[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C800, &lit_6376); -#pragma pop - -/* 80B8C804-80B8C810 0003AC 000C+00 0/1 0/0 0/0 .rodata @6377 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6377[12] = { - 0x00, 0x2E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C804, &lit_6377); -#pragma pop - -/* 80B8C810-80B8C814 0003B8 0004+00 0/1 0/0 0/0 .rodata @6378 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6378[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C810, &lit_6378); -#pragma pop - -/* 80B8C814-80B8C820 0003BC 000C+00 0/1 0/0 0/0 .rodata @6379 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6379[12] = { - 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80B8C814, &lit_6379); -#pragma pop - -/* 80B8C820-80B8C82C 0003C8 000C+00 0/1 0/0 0/0 .rodata @6380 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6380[12] = { - 0x00, 0x2E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C820, &lit_6380); -#pragma pop - -/* 80B8C82C-80B8C834 0003D4 0008+00 0/1 0/0 0/0 .rodata @6381 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6381[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C82C, &lit_6381); -#pragma pop - -/* 80B8C834-80B8C840 0003DC 000C+00 0/1 0/0 0/0 .rodata @6382 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6382[12] = { - 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C834, &lit_6382); -#pragma pop - -/* 80B8C840-80B8C844 0003E8 0004+00 0/1 0/0 0/0 .rodata @6383 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6383[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C840, &lit_6383); -#pragma pop - -/* 80B8C844-80B8C850 0003EC 000C+00 0/1 0/0 0/0 .rodata @6384 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6384[12] = { - 0x00, 0x2E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C844, &lit_6384); -#pragma pop - -/* 80B8C850-80B8C854 0003F8 0004+00 0/1 0/0 0/0 .rodata @6385 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6385[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C850, &lit_6385); -#pragma pop - -/* 80B8C854-80B8C860 0003FC 000C+00 0/1 0/0 0/0 .rodata @6386 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6386[12] = { - 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80B8C854, &lit_6386); -#pragma pop - -/* 80B8C860-80B8C86C 000408 000C+00 0/1 0/0 0/0 .rodata @6387 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6387[12] = { - 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C860, &lit_6387); -#pragma pop - -/* 80B8C86C-80B8C874 000414 0008+00 0/1 0/0 0/0 .rodata @6388 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6388[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C86C, &lit_6388); -#pragma pop - -/* 80B8C874-80B8C880 00041C 000C+00 0/1 0/0 0/0 .rodata @6389 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6389[12] = { - 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C874, &lit_6389); -#pragma pop - -/* 80B8C880-80B8C884 000428 0004+00 0/1 0/0 0/0 .rodata @6390 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6390[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C880, &lit_6390); -#pragma pop - -/* 80B8C884-80B8C890 00042C 000C+00 0/1 0/0 0/0 .rodata @6391 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6391[12] = { - 0x00, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C884, &lit_6391); -#pragma pop - -/* 80B8C890-80B8C894 000438 0004+00 0/1 0/0 0/0 .rodata @6392 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6392[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C890, &lit_6392); -#pragma pop - -/* 80B8C894-80B8C8A0 00043C 000C+00 0/1 0/0 0/0 .rodata @6393 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6393[12] = { - 0x00, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C894, &lit_6393); -#pragma pop - -/* 80B8C8A0-80B8C8A4 000448 0004+00 0/1 0/0 0/0 .rodata @6394 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6394[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C8A0, &lit_6394); -#pragma pop - -/* 80B8C8A4-80B8C8B0 00044C 000C+00 0/1 0/0 0/0 .rodata @6395 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6395[12] = { - 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C8A4, &lit_6395); -#pragma pop - -/* 80B8C8B0-80B8C8B4 000458 0004+00 0/1 0/0 0/0 .rodata @6396 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6396[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C8B0, &lit_6396); -#pragma pop - -/* 80B8C8B4-80B8C8C0 00045C 000C+00 0/1 0/0 0/0 .rodata @6397 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6397[12] = { - 0x00, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C8B4, &lit_6397); -#pragma pop - -/* 80B8C8C0-80B8C8C4 000468 0004+00 0/1 0/0 0/0 .rodata @6398 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6398[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C8C0, &lit_6398); -#pragma pop - -/* 80B8C8C4-80B8C8D0 00046C 000C+00 0/1 0/0 0/0 .rodata @6399 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6399[12] = { - 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C8C4, &lit_6399); -#pragma pop - -/* 80B8C8D0-80B8C8D4 000478 0004+00 0/1 0/0 0/0 .rodata @6400 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6400[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C8D0, &lit_6400); -#pragma pop - -/* 80B8C8D4-80B8C8E0 00047C 000C+00 0/1 0/0 0/0 .rodata @6401 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6401[12] = { - 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C8D4, &lit_6401); -#pragma pop - -/* 80B8C8E0-80B8C8E4 000488 0004+00 0/1 0/0 0/0 .rodata @6402 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6402[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C8E0, &lit_6402); -#pragma pop - -/* 80B8C8E4-80B8C8F0 00048C 000C+00 0/1 0/0 0/0 .rodata @6403 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6403[12] = { - 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80B8C8E4, &lit_6403); -#pragma pop - -/* 80B8C8F0-80B8C8FC 000498 000C+00 0/1 0/0 0/0 .rodata @6404 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6404[12] = { - 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C8F0, &lit_6404); -#pragma pop - -/* 80B8C8FC-80B8C904 0004A4 0008+00 0/1 0/0 0/0 .rodata @6405 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6405[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C8FC, &lit_6405); -#pragma pop - -/* 80B8C904-80B8C910 0004AC 000C+00 0/1 0/0 0/0 .rodata @6406 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6406[12] = { - 0x00, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80B8C904, &lit_6406); -#pragma pop - -/* 80B8C910-80B8C91C 0004B8 000C+00 0/1 0/0 0/0 .rodata @6407 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6407[12] = { - 0x00, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C910, &lit_6407); -#pragma pop - -/* 80B8C91C-80B8C924 0004C4 0008+00 0/1 0/0 0/0 .rodata @6408 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6408[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C91C, &lit_6408); -#pragma pop - -/* 80B8C924-80B8C930 0004CC 000C+00 0/1 0/0 0/0 .rodata @6409 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6409[12] = { - 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80B8C924, &lit_6409); -#pragma pop - -/* 80B8C930-80B8C93C 0004D8 000C+00 0/1 0/0 0/0 .rodata @6410 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6410[12] = { - 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C930, &lit_6410); -#pragma pop - -/* 80B8C93C-80B8C944 0004E4 0008+00 0/1 0/0 0/0 .rodata @6411 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6411[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C93C, &lit_6411); -#pragma pop - -/* 80B8C944-80B8C950 0004EC 000C+00 0/1 0/0 0/0 .rodata @6412 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6412[12] = { - 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80B8C944, &lit_6412); -#pragma pop - -/* 80B8C950-80B8C95C 0004F8 000C+00 0/1 0/0 0/0 .rodata @6413 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6413[12] = { - 0x00, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C950, &lit_6413); -#pragma pop - -/* 80B8C95C-80B8C964 000504 0008+00 0/1 0/0 0/0 .rodata @6414 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6414[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C95C, &lit_6414); -#pragma pop - -/* 80B8C964-80B8C970 00050C 000C+00 0/1 0/0 0/0 .rodata @6415 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6415[12] = { - 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80B8C964, &lit_6415); -#pragma pop - -/* 80B8C970-80B8C97C 000518 000C+00 0/1 0/0 0/0 .rodata @6416 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6416[12] = { - 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C970, &lit_6416); -#pragma pop - -/* 80B8C97C-80B8C984 000524 0008+00 0/1 0/0 0/0 .rodata @6417 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6417[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C97C, &lit_6417); -#pragma pop - -/* 80B8C984-80B8C990 00052C 000C+00 0/1 0/0 0/0 .rodata @6418 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6418[12] = { - 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C984, &lit_6418); -#pragma pop - -/* 80B8C990-80B8C994 000538 0004+00 0/1 0/0 0/0 .rodata @6419 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6419[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C990, &lit_6419); -#pragma pop - -/* 80B8C994-80B8C9A0 00053C 000C+00 0/1 0/0 0/0 .rodata @6420 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6420[12] = { - 0x00, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C994, &lit_6420); -#pragma pop - -/* 80B8C9A0-80B8C9A4 000548 0004+00 0/1 0/0 0/0 .rodata @6421 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6421[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C9A0, &lit_6421); -#pragma pop - -/* 80B8C9A4-80B8C9B0 00054C 000C+00 0/1 0/0 0/0 .rodata @6422 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6422[12] = { - 0x00, 0x2A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C9A4, &lit_6422); -#pragma pop - -/* 80B8C9B0-80B8C9B4 000558 0004+00 0/1 0/0 0/0 .rodata @6423 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6423[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C9B0, &lit_6423); -#pragma pop - -/* 80B8C9B4-80B8C9C0 00055C 000C+00 0/1 0/0 0/0 .rodata @6424 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6424[12] = { - 0x00, 0x2C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C9B4, &lit_6424); -#pragma pop - -/* 80B8C9C0-80B8C9C4 000568 0004+00 0/1 0/0 0/0 .rodata @6425 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6425[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C9C0, &lit_6425); -#pragma pop - -/* 80B8C9C4-80B8C9D0 00056C 000C+00 0/1 0/0 0/0 .rodata @6426 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6426[12] = { - 0x00, 0x2D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C9C4, &lit_6426); -#pragma pop - -/* 80B8C9D0-80B8C9D4 000578 0004+00 0/1 0/0 0/0 .rodata @6427 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6427[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C9D0, &lit_6427); -#pragma pop - -/* 80B8C9D4-80B8C9E0 00057C 000C+00 0/1 0/0 0/0 .rodata @6428 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6428[12] = { - 0x00, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80B8C9D4, &lit_6428); -#pragma pop - -/* 80B8C9E0-80B8C9EC 000588 000C+00 0/1 0/0 0/0 .rodata @6429 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6429[12] = { - 0x00, 0x2C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C9E0, &lit_6429); -#pragma pop - -/* 80B8C9EC-80B8C9F4 000594 0008+00 0/1 0/0 0/0 .rodata @6430 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6430[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8C9EC, &lit_6430); -#pragma pop - -/* 80B8C9F4-80B8CA00 00059C 000C+00 0/1 0/0 0/0 .rodata @6431 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6431[12] = { - 0x00, 0x30, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80B8C9F4, &lit_6431); -#pragma pop - -/* 80B8CA00-80B8CA0C 0005A8 000C+00 0/1 0/0 0/0 .rodata @6432 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6432[12] = { - 0x00, 0x2C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8CA00, &lit_6432); -#pragma pop - -/* 80B8CA0C-80B8CA14 0005B4 0008+00 0/1 0/0 0/0 .rodata @6433 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6433[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8CA0C, &lit_6433); -#pragma pop - -/* 80B8CA14-80B8CA20 0005BC 000C+00 0/1 0/0 0/0 .rodata @6434 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6434[12] = { - 0x00, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80B8CA14, &lit_6434); -#pragma pop - -/* 80B8CA20-80B8CA2C 0005C8 000C+00 0/1 0/0 0/0 .rodata @6435 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6435[12] = { - 0x00, 0x2D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8CA20, &lit_6435); -#pragma pop - -/* 80B8CA2C-80B8CA34 0005D4 0008+00 0/1 0/0 0/0 .rodata @6436 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6436[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8CA2C, &lit_6436); -#pragma pop - -/* 80B8CA34-80B8CA40 0005DC 000C+00 0/1 0/0 0/0 .rodata @6437 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6437[12] = { - 0x00, 0x30, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80B8CA34, &lit_6437); -#pragma pop - -/* 80B8CA40-80B8CA4C 0005E8 000C+00 0/1 0/0 0/0 .rodata @6438 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6438[12] = { - 0x00, 0x2D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8CA40, &lit_6438); -#pragma pop - -/* 80B8CA4C-80B8CA54 0005F4 0008+00 0/1 0/0 0/0 .rodata @6439 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6439[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8CA4C, &lit_6439); -#pragma pop - -/* 80B8CA54-80B8CA60 0005FC 000C+00 0/1 0/0 0/0 .rodata @6440 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6440[12] = { - 0x00, 0x33, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8CA54, &lit_6440); -#pragma pop - -/* 80B8CA60-80B8CA64 000608 0004+00 0/1 0/0 0/0 .rodata @6441 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6441[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80B8CA60, &lit_6441); -#pragma pop - -/* 80B8CA64-80B8CA70 00060C 000C+00 0/1 0/0 0/0 .rodata @6442 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6442[12] = { - 0x00, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80B8CA64, &lit_6442); -#pragma pop - -/* 80B8CA70-80B8CA7C 000618 000C+00 0/1 0/0 0/0 .rodata @6443 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6443[12] = { - 0x00, 0x2E, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8CA70, &lit_6443); -#pragma pop - -/* 80B8CA7C-80B8CA84 000624 0008+00 0/1 0/0 0/0 .rodata @6444 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6444[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8CA7C, &lit_6444); -#pragma pop - -/* 80B8CA84-80B8CA90 00062C 000C+00 0/1 0/0 0/0 .rodata @6445 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6445[12] = { - 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80B8CA84, &lit_6445); -#pragma pop - -/* 80B8CA90-80B8CA9C 000638 000C+00 0/1 0/0 0/0 .rodata @6446 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6446[12] = { - 0x00, 0x2E, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8CA90, &lit_6446); -#pragma pop - -/* 80B8CA9C-80B8CAA4 000644 0008+00 0/1 0/0 0/0 .rodata @6447 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6447[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8CA9C, &lit_6447); -#pragma pop - -/* 80B8CAA4-80B8CAB0 00064C 000C+00 0/1 0/0 0/0 .rodata @6448 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6448[12] = { - 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80B8CAA4, &lit_6448); -#pragma pop - -/* 80B8CAB0-80B8CABC 000658 000C+00 0/1 0/0 0/0 .rodata @6449 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6449[12] = { - 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8CAB0, &lit_6449); -#pragma pop - -/* 80B8CABC-80B8CAC4 000664 0008+00 0/1 0/0 0/0 .rodata @6450 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6450[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8CABC, &lit_6450); -#pragma pop - -/* 80B8CAC4-80B8CAD0 00066C 000C+00 0/1 0/0 0/0 .rodata @6451 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6451[12] = { - 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8CAC4, &lit_6451); -#pragma pop - -/* 80B8CAD0-80B8CAD4 000678 0004+00 0/1 0/0 0/0 .rodata @6452 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6452[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80B8CAD0, &lit_6452); -#pragma pop - -/* 80B8CAD4-80B8CAE0 00067C 000C+00 0/1 0/0 0/0 .rodata @6453 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6453[12] = { - 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8CAD4, &lit_6453); -#pragma pop - -/* 80B8CAE0-80B8CAE4 000688 0004+00 0/1 0/0 0/0 .rodata @6454 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6454[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80B8CAE0, &lit_6454); -#pragma pop - -/* 80B8CAE4-80B8CAF0 00068C 000C+00 0/1 0/0 0/0 .rodata @6455 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6455[12] = { - 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80B8CAE4, &lit_6455); -#pragma pop - -/* 80B8CAF0-80B8CAFC 000698 000C+00 0/1 0/0 0/0 .rodata @6456 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6456[12] = { - 0x00, 0x2C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8CAF0, &lit_6456); -#pragma pop - -/* 80B8CAFC-80B8CB04 0006A4 0008+00 0/1 0/0 0/0 .rodata @6457 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6457[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8CAFC, &lit_6457); -#pragma pop - -/* 80B8CB04-80B8CB10 0006AC 000C+00 0/1 0/0 0/0 .rodata @6458 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6458[12] = { - 0x00, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8CB04, &lit_6458); -#pragma pop - -/* 80B8CB10-80B8CB14 0006B8 0004+00 0/1 0/0 0/0 .rodata @6459 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6459[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80B8CB10, &lit_6459); -#pragma pop - -/* 80B8CB14-80B8CBA4 0006BC 0090+00 0/0 0/0 0/0 .rodata @6460 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6460[144] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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(0x80B8CB14, &lit_6460); -#pragma pop - -/* 80B8CBA4-80B8CBA8 00074C 0004+00 1/6 0/0 0/0 .rodata @6507 */ -SECTION_RODATA static f32 const lit_6507 = 0.5f; -COMPILER_STRIP_GATE(0x80B8CBA4, &lit_6507); - /* 80B7D0FC-80B7DAF4 004CDC 09F8+00 1/1 0/0 0/0 .text playMotion__11daNpc_zrA_cFv */ void daNpc_zrA_c::playMotion() { daNpcF_anmPlayData dat0 = {ANM_WAIT_A, daNpc_zrA_Param_c::m.mMorfFrames, 0}; @@ -5112,10 +2002,10 @@ void daNpc_zrA_c::playMotion() { daNpcF_anmPlayData dat25b = {ANM_SWIM_A, 0.0f, 0}; daNpcF_anmPlayData* pDat25[2] = {&dat25a, &dat25b}; daNpcF_anmPlayData dat26a = {ANM_DIVE, daNpc_zrA_Param_c::m.mMorfFrames, 1}; - daNpcF_anmPlayData dat26b = {ANM_SWIM_B, 0.5f * daNpc_zrA_Param_c::m.mMorfFrames, 0}; + daNpcF_anmPlayData dat26b = {ANM_SWIM_B, daNpc_zrA_Param_c::m.mMorfFrames / 2.0f, 0}; daNpcF_anmPlayData* pDat26[2] = {&dat26a, &dat26b}; daNpcF_anmPlayData dat27a = {ANM_DIVE_B, 3.0f, 1}; - daNpcF_anmPlayData dat27b = {ANM_SWIM_B, 0.5f * daNpc_zrA_Param_c::m.mMorfFrames, 0}; + daNpcF_anmPlayData dat27b = {ANM_SWIM_B, daNpc_zrA_Param_c::m.mMorfFrames / 2.0f, 0}; daNpcF_anmPlayData* pDat27[2] = {&dat27a, &dat27b}; daNpcF_anmPlayData dat28 = {ANM_STEP, 2.0f, 0}; daNpcF_anmPlayData* pDat28[1] = {&dat28}; @@ -5148,7 +2038,6 @@ void daNpc_zrA_c::playMotion() { } } - /* 80B7DAF4-80B7DB20 0056D4 002C+00 1/1 0/0 0/0 .text * chkAction__11daNpc_zrA_cFM11daNpc_zrA_cFPCvPvPv_i */ BOOL daNpc_zrA_c::chkAction(ActionFn i_action) { @@ -5267,17 +2156,8 @@ bool daNpc_zrA_c::selectAction() { return true; } - -/* ############################################################################################## */ -/* 80B8CD30-80B8CD30 0008D8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80B8CE7F = "NO_RESPONSE"; -#pragma pop - /* 80B7DF40-80B7E668 005B20 0728+00 1/1 0/0 0/0 .text doEvent__11daNpc_zrA_cFv */ -#ifdef NONMATCHING -// regalloc +// NONMATCHING regalloc BOOL daNpc_zrA_c::doEvent() { BOOL ret = false; @@ -5428,11 +2308,6 @@ BOOL daNpc_zrA_c::doEvent() { return ret; } -#else -BOOL daNpc_zrA_c::doEvent() { - // NONMATCHING -} -#endif /* 80B7E668-80B7E6F4 006248 008C+00 1/1 0/0 0/0 .text setSkipZev__11daNpc_zrA_cFii */ BOOL daNpc_zrA_c::setSkipZev(int i_idx1, int i_idx2) { @@ -5450,32 +2325,7 @@ void daNpc_zrA_c::setLookMode(int i_lookMode) { } } -/* ############################################################################################## */ -/* 80B8CBA8-80B8CBB4 000750 000C+00 0/1 0/0 0/0 .rodata @6771 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_6771[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8CBA8, &lit_6771); -#pragma pop - -/* 80B8CBB4-80B8CBB8 00075C 0004+00 0/1 0/0 0/0 .rodata @6831 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6831 = -80.0f; -COMPILER_STRIP_GATE(0x80B8CBB4, &lit_6831); -#pragma pop - -/* 80B8CBB8-80B8CBBC 000760 0004+00 0/1 0/0 0/0 .rodata @6832 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6832 = 80.0f; -COMPILER_STRIP_GATE(0x80B8CBB8, &lit_6832); -#pragma pop - /* 80B7E718-80B7E9E0 0062F8 02C8+00 1/1 0/0 0/0 .text lookat__11daNpc_zrA_cFv */ -#ifdef NONMATCHING void daNpc_zrA_c::lookat() { fopAc_ac_c* attn_actor = NULL; J3DModel* model = mpMorf->getModel(); @@ -5533,11 +2383,6 @@ void daNpc_zrA_c::lookat() { mCurAngle.y, lookat_pos); mLookat.calc(this, model->getBaseTRMtx(), lookat_angle, snap, angle_delta, false); } -#else -void daNpc_zrA_c::lookat() { - // NONMATCHING -} -#endif /* 80B7E9E0-80B7EA90 0065C0 00B0+00 1/1 0/0 0/0 .text chkFindPlayer__11daNpc_zrA_cFv */ BOOL daNpc_zrA_c::chkFindPlayer() { @@ -5581,12 +2426,6 @@ void daNpc_zrA_c::setExpressionTalkAfter() { } } - -/* ############################################################################################## */ -/* 80B8CBBC-80B8CBC0 000764 0004+00 1/7 0/0 0/0 .rodata @6920 */ -SECTION_RODATA static f32 const lit_6920 = 1.5f; -COMPILER_STRIP_GATE(0x80B8CBBC, &lit_6920); - /* 80B7EBA0-80B7EC54 006780 00B4+00 1/1 0/0 0/0 .text setPrtcl__11daNpc_zrA_cFv */ void daNpc_zrA_c::setPrtcl() { u32 flags = 0x40002; @@ -5629,7 +2468,6 @@ BOOL daNpc_zrA_c::test(void* param_0) { return true; } - /* 80B7ED38-80B7ED58 006918 0020+00 1/0 0/0 0/0 .text daNpc_zrA_Create__FPv */ static cPhs__Step daNpc_zrA_Create(void* i_this) { return static_cast(i_this)->create(); @@ -5655,4800 +2493,7 @@ static int daNpc_zrA_IsDelete(void* i_this) { return 1; } -/* 80B7EDC0-80B7EDF0 0069A0 0030+00 1/0 0/0 0/0 .text calc__11J3DTexNoAnmCFPUs */ -// void J3DTexNoAnm::calc(u16* param_0) const { -extern "C" void calc__11J3DTexNoAnmCFPUs() { - // NONMATCHING -} - -/* 80B7EDF0-80B7EE38 0069D0 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 -} - -/* 80B7EE38-80B7EE74 006A18 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 -} - -/* 80B7EE74-80B7EF44 006A54 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 -} - -/* 80B7EF44-80B7EF80 006B24 003C+00 5/5 0/0 0/0 .text __dt__5csXyzFv */ -// csXyz::~csXyz() { -extern "C" void __dt__5csXyzFv() { - // NONMATCHING -} - -/* 80B7EF80-80B7EF84 006B60 0004+00 2/2 0/0 0/0 .text __ct__5csXyzFv */ -// csXyz::csXyz() { -extern "C" void __ct__5csXyzFv() { - /* empty function */ -} - -/* 80B7EF84-80B7EF88 006B64 0004+00 2/2 0/0 0/0 .text __ct__4cXyzFv */ -// cXyz::cXyz() { -extern "C" void __ct__4cXyzFv() { - /* empty function */ -} - -/* 80B7EF88-80B7EFF8 006B68 0070+00 1/0 0/0 0/0 .text __dt__16daNpc_zrA_Path_cFv */ -// daNpc_zrA_Path_c::~daNpc_zrA_Path_c() { -extern "C" void __dt__16daNpc_zrA_Path_cFv() { - // NONMATCHING -} - -/* 80B7EFF8-80B7F058 006BD8 0060+00 1/0 0/0 0/0 .text __dt__13daNpcF_Path_cFv */ -// daNpcF_Path_c::~daNpcF_Path_c() { -extern "C" void __dt__13daNpcF_Path_cFv() { - // NONMATCHING -} - -/* 80B7F058-80B7F0A0 006C38 0048+00 1/0 0/0 0/0 .text __dt__16daNpcF_SPCurve_cFv */ -// daNpcF_SPCurve_c::~daNpcF_SPCurve_c() { -extern "C" void __dt__16daNpcF_SPCurve_cFv() { - // NONMATCHING -} - -/* 80B7F0A0-80B7F0E8 006C80 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */ -// J3DFrameCtrl::~J3DFrameCtrl() { -extern "C" void __dt__12J3DFrameCtrlFv() { - // NONMATCHING -} - -/* 80B7F0E8-80B7F334 006CC8 024C+00 1/1 0/0 0/0 .text __dt__8daNpcF_cFv */ -// daNpcF_c::~daNpcF_c() { -extern "C" void __dt__8daNpcF_cFv() { - // NONMATCHING -} - -/* 80B7F334-80B7F524 006F14 01F0+00 1/1 0/0 0/0 .text __ct__8daNpcF_cFv */ -// daNpcF_c::daNpcF_c() { -extern "C" void __ct__8daNpcF_cFv() { - // NONMATCHING -} - -/* 80B7F524-80B7F594 007104 0070+00 1/0 0/0 0/0 .text __dt__12dBgS_AcchCirFv */ -// dBgS_AcchCir::~dBgS_AcchCir() { -extern "C" void __dt__12dBgS_AcchCirFv() { - // NONMATCHING -} - -/* 80B7F594-80B7F5F0 007174 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */ -// dCcD_GStts::~dCcD_GStts() { -extern "C" void __dt__10dCcD_GSttsFv() { - // NONMATCHING -} - -/* 80B7F5F0-80B7F660 0071D0 0070+00 3/2 0/0 0/0 .text __dt__12dBgS_ObjAcchFv */ -// dBgS_ObjAcch::~dBgS_ObjAcch() { -extern "C" void __dt__12dBgS_ObjAcchFv() { - // NONMATCHING -} - -/* 80B7F660-80B7F664 007240 0004+00 1/0 0/0 0/0 .text setCollisions__8daNpcF_cFv */ -// void daNpcF_c::setCollisions() { -extern "C" void setCollisions__8daNpcF_cFv() { - /* empty function */ -} - -/* 80B7F664-80B7F6AC 007244 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */ -// cCcD_GStts::~cCcD_GStts() { -extern "C" void __dt__10cCcD_GSttsFv() { - // NONMATCHING -} - -/* 80B7F6AC-80B7F6C8 00728C 001C+00 8/8 0/0 0/0 .text cLib_calcTimer__FPi */ -extern "C" void func_80B7F6AC(void* _this, int* param_0) { - // NONMATCHING -} - -/* 80B7F6C8-80B7F6E4 0072A8 001C+00 1/1 0/0 0/0 .text cLib_calcTimer__FPUc */ -extern "C" void func_80B7F6C8(void* _this, u8* param_0) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80B8CBC0-80B8CBC8 000768 0008+00 1/1 0/0 0/0 .rodata @7164 */ -SECTION_RODATA static u8 const lit_7164[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8CBC0, &lit_7164); - -/* 80B8CBC8-80B8CBCC 000770 0004+00 0/2 0/0 0/0 .rodata @7224 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7224 = 60.0f; -COMPILER_STRIP_GATE(0x80B8CBC8, &lit_7224); -#pragma pop - -/* 80B8CBCC-80B8CBD0 000774 0004+00 0/7 0/0 0/0 .rodata @7597 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7597 = 13.0f; -COMPILER_STRIP_GATE(0x80B8CBCC, &lit_7597); -#pragma pop - -/* 80B8CBD0-80B8CBD4 000778 0004+00 0/1 0/0 0/0 .rodata @7598 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7598 = 21.0f; -COMPILER_STRIP_GATE(0x80B8CBD0, &lit_7598); -#pragma pop - -/* 80B8CBD4-80B8CBD8 00077C 0004+00 0/4 0/0 0/0 .rodata @7599 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7599 = 3.0f / 10.0f; -COMPILER_STRIP_GATE(0x80B8CBD4, &lit_7599); -#pragma pop - -/* 80B8CBD8-80B8CBDC 000780 0004+00 0/5 0/0 0/0 .rodata @7600 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7600 = 7.0f / 10.0f; -COMPILER_STRIP_GATE(0x80B8CBD8, &lit_7600); -#pragma pop - -/* 80B8CBDC-80B8CBE0 000784 0004+00 0/1 0/0 0/0 .rodata @7601 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7601 = 11.0f / 5.0f; -COMPILER_STRIP_GATE(0x80B8CBDC, &lit_7601); -#pragma pop - -/* 80B8CBE0-80B8CBE4 000788 0004+00 0/9 0/0 0/0 .rodata @7602 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7602 = 2.5f; -COMPILER_STRIP_GATE(0x80B8CBE0, &lit_7602); -#pragma pop - -/* 80B8CBE4-80B8CBE8 00078C 0004+00 0/3 0/0 0/0 .rodata @7603 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7603 = 17.0f; -COMPILER_STRIP_GATE(0x80B8CBE4, &lit_7603); -#pragma pop - -/* 80B8CBE8-80B8CBEC 000790 0004+00 0/6 0/0 0/0 .rodata @7604 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7604 = 6.0f / 5.0f; -COMPILER_STRIP_GATE(0x80B8CBE8, &lit_7604); -#pragma pop - -/* 80B8CBEC-80B8CBF0 000794 0004+00 0/4 0/0 0/0 .rodata @7605 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7605 = 14.0f; -COMPILER_STRIP_GATE(0x80B8CBEC, &lit_7605); -#pragma pop - -/* 80B8CBF0-80B8CBF4 000798 0004+00 0/7 0/0 0/0 .rodata @7606 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7606 = 4.0f; -COMPILER_STRIP_GATE(0x80B8CBF0, &lit_7606); -#pragma pop - -/* 80B8CBF4-80B8CBF8 00079C 0004+00 0/3 0/0 0/0 .rodata @7607 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7607 = 16.0f; -COMPILER_STRIP_GATE(0x80B8CBF4, &lit_7607); -#pragma pop - -/* 80B8CBF8-80B8CBFC 0007A0 0004+00 0/3 0/0 0/0 .rodata @7608 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7608 = 18.0f; -COMPILER_STRIP_GATE(0x80B8CBF8, &lit_7608); -#pragma pop - -/* 80B8CBFC-80B8CC00 0007A4 0004+00 0/1 0/0 0/0 .rodata @7609 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7609 = 9.0f / 10.0f; -COMPILER_STRIP_GATE(0x80B8CBFC, &lit_7609); -#pragma pop - -/* 80B8CC00-80B8CC04 0007A8 0004+00 0/3 0/0 0/0 .rodata @7735 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7735 = 4.0f / 5.0f; -COMPILER_STRIP_GATE(0x80B8CC00, &lit_7735); -#pragma pop - -/* 80B8CC04-80B8CC08 0007AC 0004+00 0/2 0/0 0/0 .rodata @7804 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7804 = 10000.0f; -COMPILER_STRIP_GATE(0x80B8CC04, &lit_7804); -#pragma pop - -/* 80B8CC08-80B8CC0C 0007B0 0004+00 0/2 0/0 0/0 .rodata @7805 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7805 = 500.0f; -COMPILER_STRIP_GATE(0x80B8CC08, &lit_7805); -#pragma pop - -/* 80B8CC0C-80B8CC10 0007B4 0004+00 0/1 0/0 0/0 .rodata @7914 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7914 = 220.0f; -COMPILER_STRIP_GATE(0x80B8CC0C, &lit_7914); -#pragma pop - -/* 80B8CC10-80B8CC14 0007B8 0004+00 0/4 0/0 0/0 .rodata @7915 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7915 = 5.0f; -COMPILER_STRIP_GATE(0x80B8CC10, &lit_7915); -#pragma pop - -/* 80B8CC14-80B8CC18 0007BC 0004+00 0/1 0/0 0/0 .rodata @7916 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7916 = 8.0f; -COMPILER_STRIP_GATE(0x80B8CC14, &lit_7916); -#pragma pop - -/* 80B8CC18-80B8CC1C 0007C0 0004+00 0/9 0/0 0/0 .rodata @7959 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7959 = 30.0f; -COMPILER_STRIP_GATE(0x80B8CC18, &lit_7959); -#pragma pop - -/* 80B8CC1C-80B8CC20 0007C4 0004+00 0/1 0/0 0/0 .rodata @8074 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_8074 = 21.0f / 20.0f; -COMPILER_STRIP_GATE(0x80B8CC1C, &lit_8074); -#pragma pop - -/* 80B8CC20-80B8CC24 0007C8 0004+00 0/2 0/0 0/0 .rodata @8075 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_8075 = 50.0f; -COMPILER_STRIP_GATE(0x80B8CC20, &lit_8075); -#pragma pop - -/* 80B8CC24-80B8CC28 0007CC 0004+00 0/11 0/0 0/0 .rodata @8287 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_8287 = 3.0f; -COMPILER_STRIP_GATE(0x80B8CC24, &lit_8287); -#pragma pop - -/* 80B8CC28-80B8CC30 0007D0 0008+00 1/2 0/0 0/0 .rodata @8289 */ -SECTION_RODATA static u8 const lit_8289[8] = { - 0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8CC28, &lit_8289); - -/* 80B7F6E4-80B7F760 0072C4 007C+00 3/3 0/0 0/0 .text cLib_getRndValue__Fii */ -extern "C" void func_80B7F6E4(void* _this, int param_0, int param_1) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80B8DA34-80B8DA40 000BA4 000C+00 2/2 0/0 0/0 .data __vt__17daNpc_zrA_Param_c */ -SECTION_DATA extern void* __vt__17daNpc_zrA_Param_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__17daNpc_zrA_Param_cFv, -}; - -/* 80B7F760-80B7F8C4 007340 0164+00 0/0 1/0 0/0 .text __sinit_d_a_npc_zra_cpp */ -void __sinit_d_a_npc_zra_cpp() { - // NONMATCHING -} - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x80B7F760, __sinit_d_a_npc_zra_cpp); -#pragma pop - -/* 80B7F8C4-80B7FD10 0074A4 044C+00 3/0 0/0 0/0 .text wait__11daNpc_zrA_cFPv */ -BOOL daNpc_zrA_c::wait(void* param_0) { - switch (mMode) { - case 0: - if (field_0x1510 == 0) { - if (mPath.getPathInfo() == NULL) { - if (mAcch.ChkWaterIn()) { - gravity = 0.0f; - speed.setall(0.0f); - speedF = 0.0f; - } else { - switch (mActionType) { - case ACT_TYPE_1: - setExpression(EXPR_SADSIT_A, -1.0f); - setMotion(MOT_SADSIT_A, -1.0f, false); - break; - case ACT_TYPE_2: - setExpression(EXPR_SADSIT_B, -1.0f); - setMotion(MOT_SADSIT_B, -1.0f, false); - break; - case ACT_TYPE_3: - setExpression(EXPR_SADSIT_C, -1.0f); - setMotion(MOT_SADSIT_C, -1.0f, false); - break; - case ACT_TYPE_4: - setExpression(EXPR_SADSIT_D, -1.0f); - setMotion(MOT_SADSIT_D, -1.0f, false); - break; - case ACT_TYPE_5: - setExpression(EXPR_SADSIT_E, -1.0f); - setMotion(MOT_SADSIT_E, -1.0f, false); - break; - default: - setExpression(EXPR_NONE, -1.0f); - setMotion(MOT_WAIT_A, -1.0f, false); - break; - } - } - } else { - setExpression(EXPR_NONE, -1.0f); - setMotion(MOT_WALK_A, -1.0f, false); - field_0x1510 = 1; - } - } else { - setMotion(MOT_WALK_A, -1.0f, false); - } - setLookMode(LOOK_NONE); - mAttnChangeTimer = 0; - mTurnMode = 0; - mMode = 2; - // fallthrough - - case 2: - if (field_0x1510 != 0) { - walkCalc(); - } else { - waitCalc(); - } - - if (mDamageTimer == 0 && !mTwilight) { - BOOL player_attn = mActorMngr[0].getActorP() != NULL; - if (chkFindPlayer2(player_attn, shape_angle.y)) { - if (!player_attn) { - mActorMngr[0].entry(daPy_getPlayerActorClass()); - mTurnMode = 0; - } - } else { - if (player_attn) { - mActorMngr[0].remove(); - mTurnMode = 0; - } - } - - if (mActorMngr[0].getActorP() != NULL) { - setLookMode(LOOK_PLAYER); - } else { - setLookMode(LOOK_NONE); - if (field_0x1510 == 0 && home.angle.y != mCurAngle.y) { - if (mAcch.ChkWaterIn()) { - if (step(home.angle.y, -1, -1, 15)) { - mMode = 0; - } - } else { - if (step(home.angle.y, EXPR_NONE, MOT_STEP, 15)) { - mMode = 0; - } - } - } - } - } - break; - - case 3: - speedF = 0.0f; - break; - } - - return true; -} - - -/* 80B7FD10-80B7FE18 0078F0 0108+00 1/1 0/0 0/0 .text walkCalc__11daNpc_zrA_cFv */ -void daNpc_zrA_c::walkCalc() { - field_0x1550 = false; - cXyz next_pnt; - if (mPath.getDstPosDstXZ(current.pos, next_pnt)) { - mPath.reverse(); - mPath.getDstPosDstXZ(current.pos, next_pnt); - } - s16 target_angle = cLib_targetAngleY(¤t.pos, &next_pnt); - speedF = daNpc_zrA_Param_c::m.mWalkSpeed; - mpMorf->setPlaySpeed(daNpc_zrA_Param_c::m.mWalkSpeed / daNpc_zrA_Param_c::m.mWalkAnmRate); - cLib_addCalcAngleS2(¤t.angle.y, target_angle, - daNpc_zrA_Param_c::m.mWalkAngleScale, daNpc_zrA_Param_c::m.mWalkAngleSpeed); - mCurAngle = current.angle; - shape_angle = mCurAngle; - mOldAngle.y = mCurAngle.y; -} - - -/* 80B7FE18-80B800A4 0079F8 028C+00 1/1 0/0 0/0 .text waitCalc__11daNpc_zrA_cFv */ -void daNpc_zrA_c::waitCalc() { - if (mAcch.ChkWaterIn()) { - if (mMotion != MOT_WAIT_SWIM) { - setExpression(EXPR_NONE, -1.0f); - setMotion(MOT_WAIT_SWIM, -1.0f, false); - gravity = 0.0f; - speed.setall(0.0f); - speedF = 0.0f; - } - field_0x1550 = true; - calcModulation(); - } else { - field_0x1550 = false; - if (mMotion == MOT_WAIT_SWIM) { - switch (mActionType) { - case ACT_TYPE_1: - setExpression(EXPR_SADSIT_A, -1.0f); - setMotion(MOT_SADSIT_A, -1.0f, false); - break; - case ACT_TYPE_2: - setExpression(EXPR_SADSIT_B, -1.0f); - setMotion(MOT_SADSIT_B, -1.0f, false); - break; - case ACT_TYPE_3: - setExpression(EXPR_SADSIT_C, -1.0f); - setMotion(MOT_SADSIT_C, -1.0f, false); - break; - case ACT_TYPE_4: - setExpression(EXPR_SADSIT_D, -1.0f); - setMotion(MOT_SADSIT_D, -1.0f, false); - break; - case ACT_TYPE_5: - setExpression(EXPR_SADSIT_E, -1.0f); - setMotion(MOT_SADSIT_E, -1.0f, false); - break; - default: - setExpression(EXPR_NONE, -1.0f); - setMotion(MOT_WAIT_A, -1.0f, false); - } - } - } -} - - -/* 80B800A4-80B80228 007C84 0184+00 1/0 0/0 0/0 .text waitSpa__11daNpc_zrA_cFPv */ -BOOL daNpc_zrA_c::waitSpa(void* param_0) { - switch (mMode) { - case 0: - switch (mActionType) { - case ACT_TYPE_2: - setExpression(EXPR_SPA_WAIT_A, -1.0f); - setMotion(MOT_SPA_WAIT_A, -1.0f, false); - field_0x9ea = true; - break; - case ACT_TYPE_3: - setExpression(EXPR_SPA_WAIT_B, -1.0f); - setMotion(MOT_SPA_WAIT_B, -1.0f, false); - field_0x9ea = true; - break; - default: - setExpression(EXPR_LOOKUP_2, -1.0f); - setMotion(MOT_LOOKUP, -1.0f, false); - field_0x9ea = true; - break; - } - - setLookMode(LOOK_NONE); - mAttnChangeTimer = 0; - mTurnMode = 0; - mMode = 2; - break; - - case 2: - break; - - case 3: - speedF = 0.0f; - break; - } - - return true; -} - - -/* 80B80228-80B80418 007E08 01F0+00 1/0 0/0 0/0 .text waitLake__11daNpc_zrA_cFPv */ -BOOL daNpc_zrA_c::waitLake(void* param_0) { - switch (mMode) { - case 0: - setExpression(EXPR_LOOKING_SP_2, -1.0f); - setMotion(MOT_LOOKING_SP, -1.0f, false); - setLookMode(LOOK_NONE); - mTurnMode = 0; - mMode = 2; - // fallthrough - - case 2: - if (mDamageTimer == 0 && !mTwilight) { - if (mActorMngr[0].getActorP() != NULL) { - if (!chkFindPlayer()) { - mTurnMode = 0; - } - } else { - if (chkFindPlayer()) { - mTurnMode = 0; - } - } - - if (mActorMngr[0].getActorP() != NULL) { - setLookMode(LOOK_PLAYER); - setExpression(EXPR_NONE, -1.0f); - setMotion(MOT_WAIT_A, -1.0f, false); - } else { - setLookMode(LOOK_NONE); - if (home.angle.y != mCurAngle.y) { - if (step(home.angle.y, EXPR_NONE, MOT_STEP, 15)) { - mMode = 0; - } - } else { - setExpression(EXPR_LOOKING_SP_2, -1.0f); - setMotion(MOT_LOOKING_SP, -1.0f, false); - } - } - } - - case 3: - break; - } - - return true; -} - - -/* 80B80418-80B8064C 007FF8 0234+00 3/0 0/0 0/0 .text talk__11daNpc_zrA_cFPv */ -BOOL daNpc_zrA_c::talk(void* param_0) { - BOOL ret = false; - BOOL bvar2 = false; - - switch (mMode) { - case 0: - if (mDamageTimer != 0) { - break; - } - - initTalk(mFlowID, NULL); - mTurnMode = 0; - mMode = 2; - // fallthrough - - case 2: - if (mType != TYPE_SPA) { - calcModulation(); - } - - if (field_0x9ea || mTwilight) { - bvar2 = true; - } else { - setLookMode(LOOK_PLAYER_TALK); - mActorMngr[0].entry(daPy_getPlayerActorClass()); - if (mCurAngle.y == fopAcM_searchPlayerAngleY(this)) { - bvar2 = true; - } else if (mAcch.ChkWaterIn()) { - if (step(fopAcM_searchPlayerAngleY(this), -1, -1, 15)) { - mTurnMode = 0; - } - } else { - if (step(fopAcM_searchPlayerAngleY(this), EXPR_NONE, MOT_STEP, 15)) { - setMotion(MOT_WAIT_A, -1.0f, false); - mTurnMode = 0; - } - } - } - - if (bvar2 && talkProc(NULL, true, NULL)) { - ret = true; - } - - if (ret) { - mMode = 3; - if (!field_0x9ec) { - dComIfGp_event_reset(); - setAction(&wait); - } - field_0x9ec = false; - } - break; - - case 3: - mFlowID = home.angle.x; - break; - } - - return ret; -} - - -/* 80B8064C-80B806FC 00822C 00B0+00 1/1 0/0 0/0 .text s_subMulti__FPvPv */ -static void* s_subMulti(void* i_proc, void* i_this) { - if (fopAc_IsActor(i_proc) && fopAcM_GetName(i_proc) == PROC_NPC_ZRA) { - daNpc_zrA_c* _this = static_cast(i_this); - daNpc_zrA_c* other = static_cast(i_proc); - if (other != _this && other->getType() == daNpc_zrA_c::TYPE_WAIT - && other->getMultiModeFromParam() != 0 - && other->getMultiModeFromParam() == _this->getMultiModeFromParam() - && other->getMultiNoFromParam() == 2) - { - return other; - } - } - return NULL; -} - -/* ############################################################################################## */ -/* 80B8CD30-80B8CD30 0008D8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80B8CE8B = "prm"; -#pragma pop - -/* 80B806FC-80B80860 0082DC 0164+00 1/0 0/0 0/0 .text ECut_talkMulti__11daNpc_zrA_cFi */ -BOOL daNpc_zrA_c::ECut_talkMulti(int i_staffID) { - dEvent_manager_c& event_manager = dComIfGp_getEventManager(); - BOOL ret = false; - int prm = -1; - - fopAc_ac_c* actors[2] = {NULL, NULL}; - actors[0] = this; - actors[1] = mActorMngr[2].getActorP(); - - int* prm_p = dComIfGp_evmng_getMyIntegerP(i_staffID, "prm"); - if (prm_p != NULL) { - prm = *prm_p; - } - - if (event_manager.getIsAddvance(i_staffID)) { - switch (prm) { - case 0: - mActorMngr[2].remove(); - break; - case 10: - initTalk(mFlowID, actors); - break; - } - } - - switch (prm) { - case 0: - if (mActorMngr[2].getActorP() == NULL) { - fopAc_ac_c* other = (fopAc_ac_c*)(fpcM_Search(s_subMulti, this)); - if (other != NULL) { - mActorMngr[2].entry(other); - ret = true; - } - } else { - ret = true; - } - break; - - case 10: - if (talkProc(NULL, false, actors)) { - ret = true; - } - break; - - default: - ret = true; - break; - } - - return ret; -} - - -/* 80B80860-80B80A94 008440 0234+00 2/0 0/0 0/0 .text swim__11daNpc_zrA_cFPv */ -BOOL daNpc_zrA_c::swim(void* param_0) { - switch (mMode) { - case 0: - mAcch.SetGrndNone(); - mAcch.SetWallNone(); - gravity = 0.0f; - speed.setall(0.0f); - speedF = 0.0f; - field_0x153d = false; - setExpression(EXPR_NONE, -1.0f); - - if (mSwimMode == SWIM_WAIT) { - if (mPath.getPathInfo() == NULL) { - setMotion(MOT_WAIT_SWIM, -1.0f, false); - field_0x1550 = true; - } else { - if (mActionType == ACT_TYPE_0) { - setMotion(MOT_SWIM_B, -1.0f, false); - } else { - setMotion(MOT_SWIM_A, -1.0f, false); - } - - mCheckSwimTurnTimer = cLib_getRndValue(3, 3); - mSpinTimer = (int)(cM_rnd() * 60.0f) + 90; - mSwimMode = SWIM_RAIL; - field_0x1521 = true; - mScaleFactor = daNpc_zrA_Param_c::m.mMaxScaleFactor; - mCcStts.SetWeight(0); - } - } else { - mSwimMode = SWIM_RAIL; - } - - setLookMode(LOOK_NONE); - mAttnChangeTimer = 0; - mTurnMode = 0; - mMode = 2; - field_0x153e = false; - mSwimAngleCalc = current.angle; - if (mSwimMode != SWIM_WAIT) { - calcWaistAngleInit(); - } - // fallthrough - - case 2: - switch (mSwimMode) { - case SWIM_WAIT: - waitSwim(); - break; - case SWIM_RAIL: - railSwim(); - break; - case SWIM_TURN: - turnSwim(); - break; - } - break; - - case 3: - break; - } - - return true; -} - - -/* 80B80A94-80B81788 008674 0CF4+00 1/1 0/0 0/0 .text railSwim__11daNpc_zrA_cFv */ -BOOL daNpc_zrA_c::railSwim() { - s16 ang_step = daNpc_zrA_Param_c::m.mSwimAngleSpeed; - s16 ang_scale = 8; - f32 fvar15 = 0.1f; - f32 fvar2 = 1.0f; - f32 fvar3 = mSwimSpeedScale; - f32 water_height = mAcch.m_wtr.GetHeight(); - gravity = 0.0f; - cXyz vec0, swim_speed, vec1, vec2; - csXyz angle; - - if (field_0x153c) { - mDoMtx_stack_c::copy(mpMorf->getModel()->getAnmMtx(4)); - mDoMtx_stack_c::scaleM(scale); - mDoMtx_stack_c::multVecZero(&vec1); - mPath.getDstPosDst2(current.pos, vec2); - - if (field_0x153e) { - if (mpMorf->getFrame() > 13.0f && mpMorf->getFrame() < 21.0f) { - f32 play_speed = mpMorf->getPlaySpeed(); - cLib_addCalc2(&play_speed, 0.3f, 0.7f, 0.3f); - mpMorf->setPlaySpeed(play_speed); - } - - calcBank(ang_step, 8, current.angle.y, current.angle.z); - mSwimSpeed.y -= 2.2f; - current.pos += mSwimSpeed; - - if (current.angle.x < 0x2800) { - current.angle.x = -cM_atan2s(mSwimSpeed.y, mSwimSpeed.absXZ()); - } - - mCurAngle = current.angle; - shape_angle = mCurAngle; - - if (mIsAboveWater && vec1.y + mSwimSpeed.y <= water_height) { - cXyz water_pos = vec1; - water_pos.y = water_height; - fopKyM_createWpillar(&water_pos, 2.5f, 0); - mIsAboveWater = false; - mCreatureSound.startCreatureSound(Z2SE_ZRA_DIVE_SPLASH, 0, -1); - } - - if (current.pos.y <= water_height - daNpc_zrA_Param_c::m.mMinDepth) { - field_0x153e = false; - field_0x153c = false; - mSwimSpeedScale = 1.0f; - mSwimSpeedF = mSwimSpeed.absXZ(); - mpMorf->setPlaySpeed(1.0f); - } - - return true; - } - - angle.x = -0x3000; - angle.y = current.angle.y; - angle.z = current.angle.z; - mSpinTimer = 90; - - if (!(vec1.y < water_height)) { - if (!mIsAboveWater) { - cXyz pos = vec1; - pos.y = water_height; - fopKyM_createWpillar(&pos, 2.5f, 0); - mIsAboveWater = true; - mCreatureSound.startCreatureSound(Z2SE_ZRA_DIVE_SPLASH_OUT, 0, -1); - } else { - if (mpMorf->getFrame() > 13.0f && mpMorf->getFrame() < 17.0f) { - f32 play_speed = mpMorf->getPlaySpeed(); - cLib_addCalc2(&play_speed, 0.3f, 0.7f, 0.5f); - mpMorf->setPlaySpeed(play_speed); - } - - if (current.pos.y > water_height && current.angle.x < -0x2000 - && mSwimSpeedF > 20.0f) - { - swim_speed.set(0.0f, 0.0f, mSwimSpeedF); - calcSwimPos(swim_speed); - mSwimSpeed = swim_speed; - field_0x153e = true; - calcBank(ang_step, 8, angle.y, angle.z); - current.angle.z = angle.z; - mCurAngle = current.angle; - shape_angle = mCurAngle; - return true; - } - } - } - } else { - BOOL ivar9 = mPath.getDstPosDst2(current.pos, vec0); - angle.x = cLib_targetAngleX(&vec0, ¤t.pos); - angle.y = cLib_targetAngleY(¤t.pos, &vec0); - angle.z = current.angle.z; - evasionCalc(vec0, angle); - - if (ivar9) { - cXyz next_pos; - mPath.getNextPos(next_pos); - s16 ang_x = cLib_targetAngleX(&next_pos, &vec0); - s16 ang_y = cLib_targetAngleY(&vec0, &next_pos); - u32 arg0 = mPath.getArg0(mPath.getIdx()); - if (((arg0 == 0 && cM_rnd() < 0.5f) || (u8)arg0 == 1) && mSpinTimer != 0) { - mSwimSpeedScale = 1.5f; - fvar3 = mSwimSpeedScale; - mSpinTimer = 90; - field_0x153d = true; - } else if (field_0x153d) { - field_0x153d = false; - field_0x153c = true; - angle.x = -0x3000; - angle.y = current.angle.y; - mCheckSwimTurn = false; - } else if ((abs(angle.x - ang_x) > 0x4000 || abs(angle.x - ang_y) > 0x4000) - && cM_rnd() < 0.2f && mSpinTimer != 0) { - field_0x153c = false; - mSwimFastTurnTimer = 60; - mSwimSpeedScale = 1.2f; - fvar3 = mSwimSpeedScale; - mSpinTimer = 90; - } else { - field_0x153c = false; - cLib_calcTimer(&mCheckSwimTurnTimer); - } - } - - if (turnSwimCheck()) { - return true; - } - } - - if (cLib_calcTimer(&mSwimFastTurnTimer) != 0) { - ang_scale = 4; - ang_step *= 2; - } - - s16 ang_diff_x = angle.x - current.angle.x; - s16 ang_diff_y = angle.y - current.angle.y; - bool bvar6 = false; - if (mActionType != ACT_TYPE_0 && mSpinAngle == 0 && !field_0x153c && !field_0x153d - && (abs(ang_diff_x) > 0x3000 || abs(ang_diff_y) > 0x3000) && mSwimSpeedF > 14.0f) - { - f32 frame = mpMorf->getFrame(); - if ((angle.z <= 0x2000 || ang_diff_y >= 0) && (angle.z >= -0x2000 || ang_diff_y <= 0)) { - if (ang_diff_x < -0x3000) { - if (frame >= 2.0f && frame <= 4.0f) { - bvar6 = true; - } - } else { - if (frame >= 16.0f && frame <= 18.0f) { - bvar6 = true; - } - } - } - - if (bvar6) { - calcSwimAngle(angle, mSwimAngleCalc, ang_scale / 2, ang_step); - } else { - calcSwimAngle(angle, mSwimAngleCalc, ang_scale, ang_step / 2); - } - } else { - calcSwimAngle(angle, mSwimAngleCalc, ang_scale, ang_step); - } - - if (mSwimSpeedF > fvar3 * daNpc_zrA_Param_c::m.mSwimSpeed) { - fvar15 *= 2.0f; - fvar2 *= 0.5f; - } - cLib_addCalc2(&mSwimSpeedF, fvar3 * daNpc_zrA_Param_c::m.mSwimSpeed, fvar15, fvar2); - - if (field_0x153c == true && mIsAboveWater == true) { - if (mpMorf->getFrame() > 13.0f && mpMorf->getFrame() < 21.0f) { - f32 play_speed = mpMorf->getPlaySpeed(); - cLib_addCalc2(&play_speed, 0.3f, 0.7f, 0.3f); - mpMorf->setPlaySpeed(play_speed); - } - } else if (!bvar6) { - f32 play_speed = mpMorf->getPlaySpeed(); - cLib_addCalc2(&play_speed, mSwimSpeedF / daNpc_zrA_Param_c::m.mSwimAnmRate, 0.2f, 0.1f); - mpMorf->setPlaySpeed(play_speed); - } - - swim_speed.set(0.0f, 0.0f, mSwimSpeedF); - calcSwimPos(swim_speed); - - if (!field_0x153c && mAcch.ChkWaterHit() - && current.pos.y > water_height - daNpc_zrA_Param_c::m.mMinDepth) - { - current.pos.y = water_height - daNpc_zrA_Param_c::m.mMinDepth; - } - - if (cLib_calcTimer(&mSpinTimer) == 0) { - if (mSpinAngle != 0) { - cLib_addCalcAngleS2(&field_0x1518, ang_step, 8, 0x200); - if (mSpinAngle > 0) { - angle.z += ang_step; - mSpinAngle += ang_step; - } else { - angle.z -= ang_step; - mSpinAngle -= ang_step; - } - if (abs(mSpinAngle) > 0x10000) { - mSpinAngle = 0; - mSpinTimer = (int)(cM_rnd() * 60.0f) + 90; - } - } else if (cM_rnd() > 0.9f) { - calcBank(ang_step, ang_scale, angle.y, angle.z); - field_0x1518 = abs(angle.z - current.angle.z); - cLib_addCalcAngleS2(&field_0x1518, ang_step, 8, 0x200); - if (angle.z > 0) { - angle.z += ang_step; - mSpinAngle += ang_step; - } else { - angle.z -= ang_step; - mSpinAngle -= ang_step; - } - mSwimSpeedScale = 1.0f; - } else { - mSpinTimer = (int)(cM_rnd() * 60.0f) + 90; - mSpinAngle = 0; - mSwimSpeedScale = cM_rnd() * (1.0f - daNpc_zrA_Param_c::m.mMinSwimSpeedScale) - + daNpc_zrA_Param_c::m.mMinSwimSpeedScale; - } - } - - if (mSpinAngle == 0) { - calcBank(ang_step, ang_scale, angle.y, angle.z); - } - current.angle.z = angle.z; - mCurAngle = current.angle; - shape_angle = mCurAngle; - - return true; -} - - -/* 80B81788-80B81918 009368 0190+00 1/1 0/0 0/0 .text waitSwim__11daNpc_zrA_cFv */ -BOOL daNpc_zrA_c::waitSwim() { - calcModulation(); - - if (mDamageTimer == 0) { - BOOL player_attn = mActorMngr[0].getActorP() != NULL; - if (chkFindPlayer2(player_attn, shape_angle.y)) { - if (!player_attn) { - mActorMngr[0].entry(daPy_getPlayerActorClass()); - mTurnMode = 0; - } - } else { - if (player_attn) { - mActorMngr[0].remove(); - mTurnMode = 0; - } - } - - if (mActorMngr[0].getActorP() != NULL) { - setLookMode(LOOK_PLAYER); - } else { - setLookMode(LOOK_NONE); - if (home.angle.y != mCurAngle.y && step(home.angle.y, -1, -1, 15)) { - mMode = 0; - } - } - - if (home.angle.y == mCurAngle.y) { - fopAc_ac_c* actor = - getAttnActorP(mActorMngr[0].getActorP() != NULL, srchAttnActor1, - daNpc_zrA_Param_c::m.mAttnRadius, daNpc_zrA_Param_c::m.mAttnUpperY, - daNpc_zrA_Param_c::m.mAttnLowerY, daNpc_zrA_Param_c::m.mAttnFovY, - shape_angle.y, 120, true); - if (actor != NULL) { - mActorMngr[1].entry(actor); - setLookMode(LOOK_ATTN); - } - } else { - mAttnChangeTimer = 0; - } - } - - return true; -} - -/* 80B81918-80B81A18 0094F8 0100+00 1/1 0/0 0/0 .text turnSwimInit__11daNpc_zrA_cFv */ -BOOL daNpc_zrA_c::turnSwimInit() { - mPath.reverse(); - mPath.setNextIdxDst(current.pos); - - mSwimSpeed.set(0.0f, 0.0f, mSwimSpeedF); - mDoMtx_stack_c::ZXYrotS(current.angle); - mDoMtx_stack_c::multVec(&mSwimSpeed, &mSwimSpeed); - - mSwimSpeedF = 0.0f; - mIsTurning = true; - mSwimMode = SWIM_TURN; - - if (mActionType == ACT_TYPE_0) { - setMotion(MOT_SWIM_TURN, -1.0f, false); - } else { - setMotion(MOT_SWIM_TURN, 4.0f, false); - } - - return true; -} - - -/* 80B81A18-80B81CC8 0095F8 02B0+00 2/2 0/0 0/0 .text turnSwim__11daNpc_zrA_cFv */ -BOOL daNpc_zrA_c::turnSwim() { - s16 ang_step = daNpc_zrA_Param_c::m.mSwimAngleSpeed; - cXyz pos; - csXyz angle; - mPath.getDstPosDst2(current.pos, pos); - angle.x = cLib_targetAngleX(&pos, ¤t.pos); - angle.y = cLib_targetAngleY(¤t.pos, &pos); - angle.z = current.angle.z; - calcSwimAngle(angle, mSwimAngleCalc, 8, ang_step); - calcBank(ang_step, 8, current.angle.y, angle.z); - current.angle.z = angle.z; - mCurAngle = current.angle; - shape_angle = mCurAngle; - - if (mBaseMotionAnm == ANM_SWIM_TURN) { - if (mpMorf->getFrame() < 40.0f) { - cXyz zero(0.0f, 0.0f, 0.0f); - cLib_chasePos(&mSwimSpeed, zero, 0.7f); - current.pos += mSwimSpeed; - mpMorf->setPlaySpeed(0.8f); - } else { - cXyz swim_speed; - mSwimSpeedF = 1.5f * daNpc_zrA_Param_c::m.mSwimSpeed; - swim_speed.set(0.0f, 0.0f, mSwimSpeedF); - calcSwimPos(swim_speed); - mpMorf->setPlaySpeed(1.0f); - } - } else if (mBaseMotionAnm == ANM_STILL) { - cXyz swim_speed; - mSwimSpeedF = 1.5f * daNpc_zrA_Param_c::m.mSwimSpeed; - swim_speed.set(0.0f, 0.0f, mSwimSpeedF); - calcSwimPos(swim_speed); - mpMorf->setPlaySpeed(1.0f); - - if (mIsTurning) { - mSwimTurnTimer = 10; - mIsTurning = false; - } else if (cLib_calcTimer(&mSwimTurnTimer) == 0) { - mSwimMode = SWIM_RAIL; - if (mActionType == ACT_TYPE_0) { - setMotion(MOT_SWIM_B, -1.0f, false); - } else { - setMotion(MOT_SWIM_A, -1.0f, false); - } - mSpinTimer = 90; - mCheckSwimTurn = false; - } - } - - if (mAcch.ChkWaterHit() - && current.pos.y > mAcch.m_wtr.GetHeight() - daNpc_zrA_Param_c::m.mMinDepth) - { - current.pos.y = mAcch.m_wtr.GetHeight() - daNpc_zrA_Param_c::m.mMinDepth; - } - - return true; -} - - -/* 80B81CC8-80B81D68 0098A8 00A0+00 1/1 0/0 0/0 .text turnSwimCheck__11daNpc_zrA_cFv */ -BOOL daNpc_zrA_c::turnSwimCheck() { - if (mSoldierType != SOLDIER_SPEAR) { - if (mCheckSwimTurn) { - if (mpMorf->isLoop()) { - turnSwimInit(); - turnSwim(); - return true; - } - } else if (mCheckSwimTurnTimer == 0) { - mCheckSwimTurnTimer = cLib_getRndValue(6, 6); - if (cM_rnd() < 0.5f) { - mCheckSwimTurn = true; - } - } - } - return false; -} - - -/* 80B81D68-80B81F70 009948 0208+00 1/1 0/0 0/0 .text evasionCalc__11daNpc_zrA_cFR4cXyzR5csXyz */ -BOOL daNpc_zrA_c::evasionCalc(cXyz& param_0, csXyz& param_1) { - BOOL ret; - daPy_py_c* player = daPy_getPlayerActorClass(); - cM3dGLin line; - cXyz proj; - f32 dist; - line.SetStartEnd(current.pos, param_0); - if (cM3d_Len3dSqPntAndSegLine(&line, &player->current.pos, &proj, &dist) && dist <= 10000.0f) { - fopAcM_searchPlayerAngleY(this); - if ((s16)(param_1.y - current.angle.y) > 0) { - mEvasionAngle = -0x1800; - } else { - mEvasionAngle = 0x1800; - } - param_1.y += mEvasionAngle; - mEvasionTimer = 60; - mSwimFastTurnTimer = 60; - ret = true; - } else { - cXyz vec(0.0f, 0.0f, 500.0f); - csXyz angle(current.angle.x, current.angle.y, 0); - mDoMtx_stack_c::ZXYrotS(angle); - mDoMtx_stack_c::multVec(&vec, &vec); - vec += current.pos; - line.SetStartEnd(current.pos, vec); - if (cM3d_Len3dSqPntAndSegLine(&line, &player->current.pos, &proj, &dist) - && dist <= 10000.0f) { - if ((s16)(fopAcM_searchPlayerAngleY(this) - current.angle.y) > 0) { - mEvasionAngle = -0x1800; - } else { - mEvasionAngle = 0x1800; - } - param_1.y += mEvasionAngle; - mEvasionTimer = 60; - mSwimFastTurnTimer = 60; - ret = true; - } else { - if (cLib_calcTimer(&mEvasionTimer) != 0) { - param_1.y += mEvasionAngle; - } - ret = true; - } - } - return ret; -} - - -/* 80B81F70-80B81FB8 009B50 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGLinFv */ -// cM3dGLin::~cM3dGLin() { -extern "C" void __dt__8cM3dGLinFv() { - // NONMATCHING -} - -/* 80B81FB8-80B8204C 009B98 0094+00 13/13 0/0 0/0 .text calcBank__11daNpc_zrA_cFssRsRs */ -void daNpc_zrA_c::calcBank(s16 i_step, s16 i_scale, s16& i_angY, s16& o_angZ) { - s16 ang_diff_y = i_angY - current.angle.y; - if (ang_diff_y >= 0x4000) { - ang_diff_y = 0x4000; - } else if (ang_diff_y <= -0x4000) { - ang_diff_y = -0x4000; - } - cLib_addCalcAngleS2(&mSwimAngleCalc.z, ang_diff_y, i_scale * 2, i_step); - cLib_addCalcAngleS2(&o_angZ, mSwimAngleCalc.z, (s16)i_scale, i_step); -} - -/* 80B8204C-80B82238 009C2C 01EC+00 1/1 0/0 0/0 .text calcWaistAngle__11daNpc_zrA_cFv */ -#ifdef NONMATCHING -void daNpc_zrA_c::calcWaistAngle() { - if (mResetWaistAngle) { - cLib_chaseAngleS(&mWaistAngle.x, 0, daNpc_zrA_Param_c::m.mSwimAngleSpeed / 2); - cLib_chaseAngleS(&mWaistAngle.y, 0, daNpc_zrA_Param_c::m.mSwimAngleSpeed / 2); - cLib_chaseAngleS(&mWaistAngle.z, 0, daNpc_zrA_Param_c::m.mSwimAngleSpeed / 2); - } else { - mDoMtx_stack_c::push(); - - csXyz angle; - angle.x = cLib_targetAngleX(&field_0x1578, ¤t.pos); - angle.y = cLib_targetAngleY(¤t.pos, &field_0x1578); - angle.z = 0; - cXyz vec(0.0f, 0.0f, daNpc_zrA_Param_c::m.field_0x8c); - mDoMtx_stack_c::ZXYrotS(angle); - mDoMtx_stack_c::multVec(&vec, &field_0x1578); - - if (mIsTurning) { - vec.set(0.0f, 0.0f, daNpc_zrA_Param_c::m.field_0x90); - cXyz vec2; - mDoMtx_stack_c::ZXYrotS(current.angle); - mDoMtx_stack_c::multVec(&vec, &vec2); - field_0x1578 -= vec2; - field_0x1578.normalize(); - field_0x1578 *= daNpc_zrA_Param_c::m.field_0x8c; - } - - mDoMtx_stack_c::ZXYrotS(current.angle); - mDoMtx_stack_c::inverse(); - mDoMtx_stack_c::multVec(&field_0x1578, &field_0x1584); - field_0x1578 += current.pos; - - mWaistAngle.x = cM_atan2s(field_0x1584.y, -field_0x1584.z); - mWaistAngle.y = cM_atan2s(-field_0x1584.x, -field_0x1584.z); - mWaistAngle.z = 0; - - mDoMtx_stack_c::pop(); - } -} -#else -void daNpc_zrA_c::calcWaistAngle() { - // NONMATCHING -} -#endif - -/* 80B82238-80B822CC 009E18 0094+00 9/9 0/0 0/0 .text calcWaistAngleInit__11daNpc_zrA_cFv - */ -void daNpc_zrA_c::calcWaistAngleInit() { - cXyz vec(0.0f, 0.0f, -daNpc_zrA_Param_c::m.field_0x8c); - mDoMtx_stack_c::ZXYrotS(mCurAngle); - mDoMtx_stack_c::transM(vec); - mDoMtx_stack_c::multVecZero(&field_0x1578); - field_0x1578 += current.pos; - mResetWaistAngle = false; -} - - -/* 80B822CC-80B822D8 009EAC 000C+00 8/8 0/0 0/0 .text calcWaistAngleStop__11daNpc_zrA_cFv - */ -void daNpc_zrA_c::calcWaistAngleStop() { - mResetWaistAngle = true; -} - -/* 80B822D8-80B82300 009EB8 0028+00 3/3 0/0 0/0 .text calcWaistAngleCheck__11daNpc_zrA_cFv */ -BOOL daNpc_zrA_c::calcWaistAngleCheck() { - if (mSwimMode != SWIM_WAIT && !mResetWaistAngle) { - return true; - } else { - return false; - } -} - -/* 80B82300-80B8247C 009EE0 017C+00 6/6 0/0 0/0 .text calcModulation__11daNpc_zrA_cFv */ -void daNpc_zrA_c::calcModulation() { - if (mAcch.ChkWaterIn()) { - if (mAcch.ChkWaterIn() && current.pos.y < mAcch.m_wtr.GetHeight() - 220.0f) { - cLib_chaseF(&mModulationOffset.x, - 5.0f - cM_scos(mModulationParam * 0x10000 / 42) * 5.0f, 1.0f); - cLib_chaseF(&mModulationOffset.y, - 8.0f - cM_scos(mModulationParam * 0x10000 / 70) * 8.0f, 1.0f); - cLib_chaseF(&mModulationOffset.z, - 4.0f - cM_scos(mModulationParam * 0x10000 / 105) * 4.0f, 1.0f); - } else { - cLib_chaseF(&mModulationOffset.y, - 5.0f - cM_scos(mModulationParam * 0x10000 / 35) * 5.0f, 1.0f); - cLib_chaseF(&mModulationOffset.x, 0.0f, 1.0f); - cLib_chaseF(&mModulationOffset.z, 0.0f, 1.0f); - } - mModulationParam--; - if (mModulationParam <= 0) { - mModulationParam = 210; - } - } -} - - -/* 80B8247C-80B824F4 00A05C 0078+00 2/2 0/0 0/0 .text resetModulation__11daNpc_zrA_cFv */ -void daNpc_zrA_c::resetModulation() { - cLib_chaseF(&mModulationOffset.y, 0.0f, 1.0f); - cLib_chaseF(&mModulationOffset.x, 0.0f, 1.0f); - cLib_chaseF(&mModulationOffset.z, 0.0f, 1.0f); - mModulationParam = 210; -} - - -/* 80B824F4-80B82584 00A0D4 0090+00 17/17 0/0 0/0 .text - * calcSwimAngle__11daNpc_zrA_cFR5csXyzR5csXyzss */ -void daNpc_zrA_c::calcSwimAngle(csXyz& i_target, csXyz& i_calc, s16 i_scale, s16 i_step) { - cLib_addCalcAngleS2(&i_calc.x, i_target.x, i_scale, i_step); - cLib_addCalcAngleS2(¤t.angle.x, i_calc.x, i_scale, i_step); - cLib_addCalcAngleS2(&i_calc.y, i_target.y, i_scale, i_step); - cLib_addCalcAngleS2(¤t.angle.y, i_calc.y, i_scale, i_step); -} - -/* 80B82584-80B825FC 00A164 0078+00 15/15 0/0 0/0 .text calcSwimPos__11daNpc_zrA_cFR4cXyz - */ -void daNpc_zrA_c::calcSwimPos(cXyz& i_speed) { - csXyz angle = current.angle; - angle.z = 0; - mDoMtx_stack_c::ZXYrotS(angle); - mDoMtx_stack_c::multVec(&i_speed, &i_speed); - current.pos += i_speed; -} - - -/* 80B825FC-80B826F0 00A1DC 00F4+00 8/8 0/0 0/0 .text calcWaitSwim__11daNpc_zrA_cFi */ -void daNpc_zrA_c::calcWaitSwim(BOOL param_0) { - cLib_chaseAngleS(¤t.angle.x, 0, daNpc_zrA_Param_c::m.mSwimAngleSpeed); - cLib_chaseAngleS(¤t.angle.z, 0, daNpc_zrA_Param_c::m.mSwimAngleSpeed); - mCurAngle = current.angle; - shape_angle = mCurAngle; - cLib_chaseF(&mSwimSpeedF, 0.0f, 2.0f); - cLib_chaseF(&mScaleFactor, 1.0f, (daNpc_zrA_Param_c::m.mMaxScaleFactor - 1.0f) / 30.0f); - calcModulation(); - if (param_0 && mAcch.ChkWaterHit() - && current.pos.y > mAcch.m_wtr.GetHeight() - daNpc_zrA_Param_c::m.mMinDepth) - { - current.pos.y = mAcch.m_wtr.GetHeight() - daNpc_zrA_Param_c::m.mMinDepth; - } -} - - -/* 80B826F0-80B82C54 00A2D0 0564+00 1/0 0/0 0/0 .text ECut_talkSwim__11daNpc_zrA_cFi */ -BOOL daNpc_zrA_c::ECut_talkSwim(int i_staffID) { - dEvent_manager_c& event_manager = dComIfGp_getEventManager(); - BOOL ret = false; - int prm = -1; - int* prm_p = dComIfGp_evmng_getMyIntegerP(i_staffID, "prm"); - if (prm_p != NULL) { - prm = *prm_p; - } - - if (event_manager.getIsAddvance(i_staffID)) { - switch (prm) { - case 0: - mAcch.ClrGrndNone(); - mAcch.ClrWallNone(); - setExpression(EXPR_NONE, -1.0f); - setMotion(MOT_FLOAT, daNpc_zrA_Param_c::m.mMorfFrames, true); - mTurnMode = 0; - mMode = 2; - mSwimSpeed.set(0.0f, 0.0f, mSwimSpeedF); - mDoMtx_stack_c::ZXYrotS(current.angle); - mDoMtx_stack_c::multVec(&mSwimSpeed, &mSwimSpeed); - mSwimSpeedF = 0.0f; - calcWaistAngleStop(); - break; - - case 1: - initTalk(mFlowID, NULL); - break; - - case 2: - mSwimAngleCalc = current.angle; - break; - } - } - - switch (prm) { - case 0: { - calcModulation(); - if (current.angle.x == 0 && current.angle.z == 0 && mSwimSpeed.abs2() < 0.1f - && mScaleFactor <= 1.05f && mBaseMotionAnm != ANM_FLOAT) - { - ret = true; - setLookMode(LOOK_PLAYER); - break; - } - - cLib_chaseAngleS(¤t.angle.x, 0, daNpc_zrA_Param_c::m.mSwimAngleSpeed); - cLib_chaseAngleS(¤t.angle.z, 0, daNpc_zrA_Param_c::m.mSwimAngleSpeed); - cLib_chaseAngleS(¤t.angle.y, fopAcM_searchPlayerAngleY(this), - daNpc_zrA_Param_c::m.mSwimAngleSpeed); - cLib_chaseF(&mScaleFactor, 1.0f, (daNpc_zrA_Param_c::m.mMaxScaleFactor - 1.0f) / 30.0f); - cXyz zero(0.0f, 0.0f, 0.0f); - cLib_chasePos(&mSwimSpeed, zero, 0.5f); - current.pos += mSwimSpeed; - f32 water_y; - if (fopAcM_getWaterY(¤t.pos, &water_y) - && current.pos.y > water_y - daNpc_zrA_Param_c::m.mMinDepth - 50.0f) - { - cLib_chaseF(¤t.pos.y, water_y - daNpc_zrA_Param_c::m.mMinDepth - 50.0f, 20.0f); - } - mCurAngle = current.angle; - shape_angle = mCurAngle; - break; - } - - case 1: - calcModulation(); - if (talkProc(NULL, true, NULL)) { - if (mActionType == ACT_TYPE_0) { - setMotion(MOT_DIVE_SWIM_B, daNpc_zrA_Param_c::m.mMorfFrames / 2.0f, true); - } else { - setMotion(MOT_DIVE_SWIM_A, daNpc_zrA_Param_c::m.mMorfFrames / 2.0f, true); - } - mSwimAngleCalc = current.angle; - mSwimSpeedScale = 1.0f; - mSwimSpeedF = mSwimSpeedScale * daNpc_zrA_Param_c::m.mSwimSpeed; - setLookMode(LOOK_NONE); - ret = true; - } - break; - - case 2: { - resetModulation(); - s16 swim_angle_speed = daNpc_zrA_Param_c::m.mSwimAngleSpeed; - cLib_chaseF(&mScaleFactor, daNpc_zrA_Param_c::m.mMaxScaleFactor, - (daNpc_zrA_Param_c::m.mMaxScaleFactor - 1.0f) / 30.0f); - cXyz vec; - csXyz angle; - mPath.getDstPosDst2(current.pos, vec); - angle.x = cLib_targetAngleX(&vec, ¤t.pos); - angle.y = cLib_targetAngleY(¤t.pos, &vec); - angle.z = current.angle.z; - calcSwimAngle(angle, mSwimAngleCalc, 8, swim_angle_speed); - mCurAngle = current.angle; - shape_angle = mCurAngle; - - if (mBaseMotionAnm != ANM_DIVE) { - ret = true; - if (!calcWaistAngleCheck()) { - calcWaistAngleInit(); - mSwimSpeedScale = 1.0f; - mSwimSpeedF = mSwimSpeedScale * daNpc_zrA_Param_c::m.mSwimSpeed; - } - cXyz swim_speed(0.0f, 0.0f, mSwimSpeedF); - calcSwimPos(swim_speed); - mAcch.SetGrndNone(); - mAcch.SetWallNone(); - } - - if (mAcch.ChkWaterHit() - && current.pos.y > mAcch.m_wtr.GetHeight() - daNpc_zrA_Param_c::m.mMinDepth) - { - current.pos.y = mAcch.m_wtr.GetHeight() - daNpc_zrA_Param_c::m.mMinDepth; - } - break; - } - - default: - ret = true; - break; - } - - return ret; -} - - -/* 80B82C54-80B82E88 00A834 0234+00 3/0 0/0 0/0 .text waitWaterfall__11daNpc_zrA_cFPv */ -BOOL daNpc_zrA_c::waitWaterfall(void* param_0) { - switch (mMode) { - case 0: - setExpressionAnm(ANM_NONE, false); - if (mMotion != MOT_FLOAT && mMotion != MOT_FLOAT_B) { - setMotion(MOT_WAIT_SWIM, -1.0f, false); - } - gravity = 0.0f; - speed.setall(0.0f); - speedF = 0.0f; - mAcch.SetGrndNone(); - mAcch.SetWallNone(); - setLookMode(LOOK_NONE); - mAttnChangeTimer = 0; - mTurnMode = 0; - mSwimMode = SWIM_RAIL; - calcWaistAngleStop(); - field_0x1550 = true; - mCcStts.SetWeight(0xff); - mMode = 2; - // fallthrough - - case 2: - calcWaitSwim(false); - if (mScaleFactor == 1.0f) { - mSwimMode = SWIM_WAIT; - } - - if (mDamageTimer == 0 && !mTwilight) { - BOOL player_attn = mActorMngr[0].getActorP() != NULL; - if (chkFindPlayer2(player_attn, shape_angle.y)) { - if (!player_attn) { - mActorMngr[0].entry(daPy_getPlayerActorClass()); - mTurnMode = 0; - } - } else { - if (player_attn) { - mActorMngr[0].remove(); - mTurnMode = 0; - } - } - - if (mActorMngr[0].getActorP() != NULL) { - setLookMode(LOOK_PLAYER); - } else { - setLookMode(LOOK_NONE); - if (home.angle.y != mCurAngle.y && step(home.angle.y, -1, -1, 15)) { - mMode = 0; - } - } - } - break; - - case 3: - speedF = 0.0f; - break; - } - - return true; -} - - -/* 80B82E88-80B833C8 00AA68 0540+00 2/0 0/0 0/0 .text swimWaterfall__11daNpc_zrA_cFPv */ -BOOL daNpc_zrA_c::swimWaterfall(void* param_0) { - s16 angle_step = daNpc_zrA_Param_c::m.mSwimAngleSpeed * 2; - s16 angle_scale = 2; - cXyz point, swim_speed; - - switch (mMode) { - case 0: - mAcch.SetGrndNone(); - mAcch.SetWallNone(); - gravity = 0.0f; - speed.setall(0.0f); - speedF = 0.0f; - field_0x153d = false; - setExpressionAnm(ANM_NONE, false); - if (mActionType == ACT_TYPE_0) { - setMotion(MOT_SWIM_B, -1.0f, false); - } else { - setMotion(MOT_SWIM_A, -1.0f, false); - } - mSwimMode = SWIM_RAIL; - mScaleFactor = daNpc_zrA_Param_c::m.mMaxScaleFactor; - mCcStts.SetWeight(0); - setLookMode(LOOK_NONE); - mAttnChangeTimer = 0; - mTurnMode = 0; - mMode = 2; - field_0x153e = false; - mSwimAngleCalc = current.angle; - calcWaistAngleInit(); - // fallthrough - - case 2: { - int idx = mPath.getIdx(); - if (mPath.getDstPosDst2(current.pos, point) && idx == 0 && mPath.chkReverse()) { - mPath.reverse(); - mActionSelect = 0; - mSwimSpeedScale = 1.0f; - setMotion(MOT_FLOAT_B, -1.0f, false); - setAction(&waitWaterfall); - return false; - } - - csXyz angle; - angle.x = cLib_targetAngleX(&point, ¤t.pos); - angle.y = cLib_targetAngleY(¤t.pos, &point); - angle.z = current.angle.z; - - cXyz prev_point; - mPath.getBeforePos(prev_point); - if (cLib_targetAngleX(&point, &prev_point) > 0x3000) { - angle.x = 0x4000; - angle.y = 0; - mSwimSpeedScale = 3.0f; - } else { - mSwimSpeedScale = 1.0f; - } - - s16 ang_diff_x = angle.x - current.angle.x; - s16 ang_diff_y = angle.y - current.angle.y; - bool bvar5 = false; - - if (mActionType != ACT_TYPE_0 && (abs(ang_diff_x) > 0x3000 || abs(ang_diff_y) > 0x3000) - && mSwimSpeedF > 14.0f) { - f32 frame = mpMorf->getFrame(); - if ((angle.z <= 0x2000 || ang_diff_y >= 0) && (angle.z >= -0x2000 || ang_diff_y <= 0)) { - if (ang_diff_x < -0x3000) { - if (frame >= 2.0f && frame <= 4.0f) { - bvar5 = true; - } - } else { - if (frame >= 16.0f && frame <= 18.0f) { - mpMorf->setFrame(18.0f); - mpMorf->setMorf(4.0f); - mpMorf->setPlaySpeed(0.1f); - bvar5 = true; - } - } - } - - if (bvar5) { - calcSwimAngle(angle, mSwimAngleCalc, 1, angle_step); - } else { - calcSwimAngle(angle, mSwimAngleCalc, 2, angle_step / 2); - } - } else { - calcSwimAngle(angle, mSwimAngleCalc, 2, angle_step); - } - - if (current.angle.x > 0x2000) { - mSwimSpeedScale = 3.0f; - angle_step *= 2.0f; - angle_scale = 2; - } else { - mSwimSpeedScale = 1.0f; - } - cLib_addCalc2(&mSwimSpeedF, mSwimSpeedScale * daNpc_zrA_Param_c::m.mSwimSpeed, 0.1f, 1.0f); - swim_speed.set(0.0f, 0.0f, mSwimSpeedF); - calcSwimPos(swim_speed); - - if (!bvar5) { - f32 play_speed = mpMorf->getPlaySpeed(); - f32 target_speed = - cLib_minMaxLimit(mSwimSpeedF / daNpc_zrA_Param_c::m.mSwimAnmRate, 0.0f, 1.5f); - cLib_addCalc2(&play_speed, target_speed, 0.2f, 0.1f); - mpMorf->setPlaySpeed(play_speed); - } - - calcBank(angle_step, angle_scale, angle.y, angle.z); - current.angle.z = angle.z; - mCurAngle = current.angle; - shape_angle = mCurAngle; - break; - } - - case 3: - break; - } - - return true; -} - - -/* 80B833C8-80B83548 00AFA8 0180+00 2/0 0/0 0/0 .text diveWaterfall__11daNpc_zrA_cFPv */ -BOOL daNpc_zrA_c::diveWaterfall(void* param_0) { - switch (mMode) { - case 0: - mPath.onReverse(); - mPath.setIdx(mPath.getEndIdx() - 1); - mPath.setNextIdxDst(current.pos); - setExpressionAnm(ANM_NONE, false); - setMotion(MOT_DIVE_B_SWIM_A, -1.0f, false); - mSwimAngleCalc = current.angle; - mSwimSpeedScale = 1.0f; - mSwimSpeedF = mSwimSpeedScale * daNpc_zrA_Param_c::m.mSwimSpeed; - setLookMode(LOOK_NONE); - mSwimMode = SWIM_RAIL; - mActionSelect = 3; - mMode = 2; - // fallthrough - - case 2: - if (diveCalc(daNpc_zrA_Param_c::m.mSwimAngleSpeed, 4, false)) { - mActionSelect = 1; - setAction(&swimWaterfall); - } - break; - - case 3: - break; - } - - return true; -} - - -/* 80B83548-80B837E8 00B128 02A0+00 2/0 0/0 0/0 .text talkSwim__11daNpc_zrA_cFPv */ -BOOL daNpc_zrA_c::talkSwim(void* param_0) { - BOOL bvar2 = false; - int flow_id; - - switch (mMode) { - case 0: - if (mDamageTimer != 0) { - break; - } - setExpression(EXPR_NONE, -1.0f); - flow_id = mFlowID; - mTurnMode = 0; - mMode = 2; - initTalk(flow_id, NULL); - field_0x1558 = 0; - // fallthrough - - case 2: - switch (field_0x1558) { - case 0: - calcModulation(); - if (field_0x9ea) { - bvar2 = true; - } else { - setLookMode(LOOK_NONE); - if (mCurAngle.y == fopAcM_searchPlayerAngleY(this)) { - bvar2 = true; - } else if (step(fopAcM_searchPlayerAngleY(this), -1, -1, 15)) { - mTurnMode = 0; - } - } - - if (bvar2 && talkProc(NULL, 1, NULL)) { - if (mFlow.getChoiceNo() == 0) { - field_0x1558 = 1; - mSwimAngleCalc = current.angle; - mSwimSpeedScale = 1.0f; - mSwimSpeedF = mSwimSpeedScale * daNpc_zrA_Param_c::m.mSwimSpeed; - setLookMode(LOOK_NONE); - } else { - mMode = 3; - dComIfGp_event_reset(); - setAction(&waitWaterfall); - field_0x9ec = false; - } - } - break; - - case 1: - mMode = 3; - dComIfGp_event_reset(); - mActionSelect = 1; - if (!dKy_daynight_check()) { - mOrderEvtNo = EVT_CARRY_WATERFALL; - } else { - mOrderEvtNo = EVT_CARRY_WATERFALL_NIGHT; - } - changeEvent(l_resNames[l_evtGetParamList[mOrderEvtNo].arcIdx], - l_evtNames[l_evtGetParamList[mOrderEvtNo].fileIdx], 1, 0xffff); - } - break; - - case 3: - break; - } - - return false; -} - - -/* 80B837E8-80B83D08 00B3C8 0520+00 1/0 0/0 0/0 .text ECut_carryWaterfall__11daNpc_zrA_cFi */ -BOOL daNpc_zrA_c::ECut_carryWaterfall(int i_staffID) { - dEvent_manager_c& event_manager = dComIfGp_getEventManager(); - BOOL ret = false; - int prm = -1; - int* prm_p = dComIfGp_evmng_getMyIntegerP(i_staffID, "prm"); - if (prm_p != NULL) { - prm = *prm_p; - } - - if (event_manager.getIsAddvance(i_staffID)) { - switch (prm) { - case 0: - dComIfGp_getEvent().setSkipProc(this, dEv_defaultSkipProc, 0); - Z2GetAudioMgr()->subBgmStart(Z2BGM_ZORA_D01); - break; - - case 10: - setExpression(EXPR_NONE, -1.0f); - setMotion(MOT_FALLSWIM, -1.0f, false); - current.angle.y = -0x8000; - setAngle(current.angle.y); - mPath.setNextIdxDst(current.pos); - mAcch.SetGrndNone(); - mAcch.SetWallNone(); - field_0x153d = false; - mSwimMode = SWIM_RAIL; - mScaleFactor = daNpc_zrA_Param_c::m.mMaxScaleFactor; - mCcStts.SetWeight(0); - setLookMode(LOOK_NONE); - mAttnChangeTimer = 0; - mTurnMode = 0; - field_0x153e = false; - mSwimAngleCalc = current.angle; - calcWaistAngleInit(); - break; - - case 20: - mPath.setIdx(5); - current.pos = mPath.getPntPos(5); - mPath.setNextIdxDst(current.pos); - current.angle.y = -0x8000; - current.angle.x = -0x4000; - mCurAngle.x = -0x4000; - shape_angle.x = -0x4000; - setAngle(current.angle.y); - break; - - case 30: - mEventTimer = 60; - break; - - case 40: - break; - } - } - - switch (prm) { - case 0: - calcWaitSwim(false); - ret = true; - break; - - case 10: - ret = true; - // fallthrough - - case 20: - resetModulation(); - if (mMotion != MOT_FALLSWIM) { - calcWaitSwim(false); - if (mScaleFactor == 1.0f) { - mSwimMode = SWIM_WAIT; - } - ret = true; - } else { - s16 angle_step = daNpc_zrA_Param_c::m.mSwimAngleSpeed * 2; - cXyz pos, swim_speed; - f32 speed_scale = mSwimSpeedScale; - if (mPath.getDstPosDst2(current.pos, pos) && mPath.getIdx() == mPath.getNextIdx()) { - mPath.reverse(); - mSwimMode = SWIM_RAIL; - mActionSelect = 3; - setMotion(MOT_FLOAT_B, -1.0f, false); - calcWaistAngleStop(); - ret = true; - } else { - csXyz angle; - angle.x = cLib_targetAngleX(&pos, ¤t.pos); - angle.y = cLib_targetAngleY(¤t.pos, &pos); - angle.z = current.angle.z; - calcSwimAngle(angle, mSwimAngleCalc, 4, angle_step); - cLib_addCalc2(&mSwimSpeedF, speed_scale * daNpc_zrA_Param_c::m.mSwimSpeed, - 0.1f, 1.0f); - swim_speed.set(0.0f, 0.0f, mSwimSpeedF); - calcSwimPos(swim_speed); - current.angle.z = angle.z; - shape_angle.x = mCurAngle.x = current.angle.x; - shape_angle.z = mCurAngle.z = current.angle.z; - if (current.angle.x < -0x2000) { - cLib_addCalcAngleS2(&mCurAngle.y, -0x8000, 4, angle_step); - } else { - cLib_addCalcAngleS2(&mCurAngle.y, current.angle.y, 4, angle_step); - } - shape_angle.y = mCurAngle.y; - } - } - break; - - case 30: - if (cLib_calcTimer(&mEventTimer) == 0) { - ret = true; - } - calcWaitSwim(false); - if (mScaleFactor == 1.0f) { - mSwimMode = SWIM_WAIT; - } - cLib_chaseAngleS(&mCurAngle.y, fopAcM_searchPlayerAngleY(this), - daNpc_zrA_Param_c::m.mSwimAngleSpeed); - setAngle(mCurAngle.y); - break; - - case 40: - ret = true; - break; - - default: - ret = true; - break; - } - - return ret; -} - - -/* 80B83D08-80B83FA4 00B8E8 029C+00 1/0 0/0 0/0 .text ECut_carryWaterfallSkip__11daNpc_zrA_cFi */ -BOOL daNpc_zrA_c::ECut_carryWaterfallSkip(int i_staffID) { - dEvent_manager_c& event_manager = dComIfGp_getEventManager(); - BOOL ret = false; - int prm = -1; - int* prm_p = dComIfGp_evmng_getMyIntegerP(i_staffID, "prm"); - if (prm_p != NULL) { - prm = *prm_p; - } - - if (event_manager.getIsAddvance(i_staffID)) { - switch (prm) { - case 0: - Z2GetAudioMgr()->subBgmStop(); - break; - - case 10: - mPath.onReverse(); - mPath.setIdx(mPath.getEndIdx() - 1); - current.pos = mPath.getPntPos(mPath.getEndIdx() - 1); - old.pos = current.pos; - current.angle.set(0, -0x8000, 0); - shape_angle = mCurAngle = current.angle; - setLookMode(LOOK_NONE); - setMotion(MOT_FLOAT_B, -1.0f, false); - mSwimMode = SWIM_RAIL; - mActionSelect = 3; - calcWaistAngleStop(); - mAttnChangeTimer = 0; - mTurnMode = 0; - mSwimAngleCalc = current.angle; - mEventTimer = 60; - break; - - case 20: - break; - - default: - break; - } - } - - switch (prm) { - case 0: - ret = true; - break; - - case 10: - if (cLib_calcTimer(&mEventTimer) == 0) { - ret = true; - } - calcWaitSwim(false); - if (mScaleFactor == 1.0f) { - mSwimMode = SWIM_WAIT; - } - cLib_chaseAngleS(&mCurAngle.y, fopAcM_searchPlayerAngleY(this), - daNpc_zrA_Param_c::m.mSwimAngleSpeed); - setAngle(mCurAngle.y); - break; - - case 20: - ret = true; - break; - - default: - ret = true; - break; - } - - return ret; -} - - -/* ############################################################################################## */ -/* 80B8CC30-80B8CC34 0007D8 0004+00 0/1 0/0 0/0 .rodata @8591 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_8591 = -6.0f; -COMPILER_STRIP_GATE(0x80B8CC30, &lit_8591); -#pragma pop - -/* 80B8CC34-80B8CC38 0007DC 0004+00 0/4 0/0 0/0 .rodata @8592 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_8592 = 6.0f; -COMPILER_STRIP_GATE(0x80B8CC34, &lit_8592); -#pragma pop - -/* 80B8CC38-80B8CC3C 0007E0 0004+00 0/1 0/0 0/0 .rodata @8593 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_8593 = -9.0f; -COMPILER_STRIP_GATE(0x80B8CC38, &lit_8593); -#pragma pop - -/* 80B8CC3C-80B8CC40 0007E4 0004+00 0/4 0/0 0/0 .rodata @8594 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_8594 = 9.0f; -COMPILER_STRIP_GATE(0x80B8CC3C, &lit_8594); -#pragma pop - -/* 80B8CC40-80B8CC44 0007E8 0004+00 0/4 0/0 0/0 .rodata @8595 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_8595 = 8.5f; -COMPILER_STRIP_GATE(0x80B8CC40, &lit_8595); -#pragma pop - -/* 80B8CC44-80B8CC48 0007EC 0004+00 0/1 0/0 0/0 .rodata @8596 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_8596 = 57.0f / 10.0f; -COMPILER_STRIP_GATE(0x80B8CC44, &lit_8596); -#pragma pop - -/* 80B8CC48-80B8CC4C 0007F0 0004+00 0/1 0/0 0/0 .rodata @8597 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_8597 = 12.0f / 5.0f; -COMPILER_STRIP_GATE(0x80B8CC48, &lit_8597); -#pragma pop - -/* 80B8CC4C-80B8CC50 0007F4 0004+00 0/2 0/0 0/0 .rodata @8598 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_8598 = 36.0f; -COMPILER_STRIP_GATE(0x80B8CC4C, &lit_8598); -#pragma pop - -/* 80B8CC50-80B8CC54 0007F8 0004+00 0/1 0/0 0/0 .rodata @8599 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_8599 = 6.5f; -COMPILER_STRIP_GATE(0x80B8CC50, &lit_8599); -#pragma pop - -/* 80B83FA4-80B84200 00BB84 025C+00 1/1 0/0 0/0 .text diveCalc__11daNpc_zrA_cFssi */ -BOOL daNpc_zrA_c::diveCalc(s16 i_angleStep, s16 i_angleScale, BOOL param_2) { - cLib_chaseF(&mScaleFactor, daNpc_zrA_Param_c::m.mMaxScaleFactor, - (daNpc_zrA_Param_c::m.mMaxScaleFactor - 1.0f) / 30.0f); - cXyz pos; - mPath.getDstPosDst2(current.pos, pos); - csXyz angle; - angle.x = cLib_targetAngleX(&pos, ¤t.pos); - angle.y = cLib_targetAngleY(¤t.pos, &pos); - angle.z = current.angle.z; - calcSwimAngle(angle, mSwimAngleCalc, i_angleScale, i_angleStep); - shape_angle = mCurAngle = current.angle; - - f32 frame = mpMorf->getFrame(); - cXyz dive_speed(0.0f, 0.0f, 0.0f); - if (frame < 3.0f) { - dive_speed.set(0.0f, -6.0f, 0.0f); - } else if (frame < 6.0f) { - dive_speed.set(0.0f, -9.0f, 0.0f); - } else if (frame < 9.0f) { - dive_speed.set(0.0f, -9.0f, 8.5f); - } else if (frame < 13.0f) { - dive_speed.set(0.0f, -9.0f, 5.7f); - } else if (frame < 20.0f) { - dive_speed.set(0.0f, 3.0f, 2.4f); - } else if (frame < 36.0f) { - dive_speed.set(2.0f, 3.0f, 6.5f); - } - mDoMtx_stack_c::ZXYrotS(current.angle); - mDoMtx_stack_c::multVec(&dive_speed, &dive_speed); - current.pos += dive_speed; - - if (param_2 && mAcch.ChkWaterIn() - && current.pos.y > mAcch.m_wtr.GetHeight() - daNpc_zrA_Param_c::m.mMinDepth) - { - current.pos.y = mAcch.m_wtr.GetHeight() - daNpc_zrA_Param_c::m.mMinDepth; - } - - if (mBaseMotionAnm == ANM_SWIM_A || mBaseMotionAnm == ANM_SWIM_B) { - return true; - } else { - return false; - } -} - - -/* 80B84200-80B8424C 00BDE0 004C+00 1/1 0/0 0/0 .text s_subHoz__FPvPv */ -static void* s_subHoz(void* i_proc, void* i_this) { - if (fopAc_IsActor(i_proc) && fopAcM_GetName(i_proc) == PROC_NPC_HOZ) { - return i_proc; - } - return NULL; -} - -/* 80B8424C-80B84298 00BE2C 004C+00 3/3 0/0 0/0 .text s_sub__FPvPv */ -static void* s_sub(void* i_proc, void* i_this) { - if (fopAc_IsActor(i_proc) && fopAcM_GetName(i_proc) == PROC_CANOE) { - return i_proc; - } - return NULL; -} - -/* ############################################################################################## */ -/* 80B8CC54-80B8CC58 0007FC 0004+00 0/1 0/0 0/0 .rodata @8871 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_8871 = 1000.0f; -COMPILER_STRIP_GATE(0x80B8CC54, &lit_8871); -#pragma pop - -/* 80B8CC58-80B8CC5C 000800 0004+00 0/3 0/0 0/0 .rodata @8872 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_8872 = 0x4705FD72; -COMPILER_STRIP_GATE(0x80B8CC58, &lit_8872); -#pragma pop - -/* 80B8CC5C-80B8CC60 000804 0004+00 0/3 0/0 0/0 .rodata @8873 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_8873 = 0xC5CC6EE9; -COMPILER_STRIP_GATE(0x80B8CC5C, &lit_8873); -#pragma pop - -/* 80B8CC60-80B8CC64 000808 0004+00 0/3 0/0 0/0 .rodata @8874 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_8874 = 0xC6BD673C; -COMPILER_STRIP_GATE(0x80B8CC60, &lit_8874); -#pragma pop - -/* 80B84298-80B84B74 00BE78 08DC+00 4/0 0/0 0/0 .text waitRiverDescend__11daNpc_zrA_cFPv - */ -BOOL daNpc_zrA_c::waitRiverDescend(void* param_0) { - switch (mMode) { - case 0: - setExpressionAnm(ANM_NONE, false); - if (mMotion != MOT_FLOAT_B) { - setMotion(MOT_WAIT_SWIM, -1.0f, false); - } - gravity = 0.0f; - speed.setall(0.0f); - speedF = 0.0f; - setLookMode(LOOK_NONE); - mAttnChangeTimer = 0; - mTurnMode = 0; - calcWaistAngleStop(); - field_0x1550 = true; - mSwimSpeedF = 0.0f; - field_0x1500 = daPy_getPlayerActorClass()->current.pos; - mIsTurning = true; - mMode = 2; - // fallthrough - - case 2: { - daPy_py_c* player = daPy_getPlayerActorClass(); - calcWaitSwim(true); - cXyz pos; - moveRiverPosCalc(pos); - - if (mGameMode == GAME_MODE_3) { - if (mActorMngr[2].getActorP() == NULL) { - fopAc_ac_c* canoe = (fopAc_ac_c*)fpcM_Search(s_sub, this); - if (canoe != NULL - && !((player->current.pos - this->current.pos).absXZ() > 1000.0f)) - { - mActorMngr[2].entry(canoe); - if (!player->checkCanoeSlider()) { - player->setCanoeSlider(); - mActionSelect = 4; - setAction(&swimGoalRiverDescend); - break; - } - } - } - } else if (mGameMode == GAME_MODE_0) { - if (mActorMngr[2].getActorP() == NULL) { - daNpc_Hoz_c* iza = (daNpc_Hoz_c*)fpcM_Search(s_subHoz, this); - if (iza != NULL) { - mActorMngr[2].entry(iza); - if (iza->getType() == daNpc_Hoz_c::TYPE_1 - || iza->getType() == daNpc_Hoz_c::TYPE_5) - { - mGameMode = GAME_MODE_1; - if (dComIfGs_isSwitch(mSwitch1, fopAcM_GetRoomNo(this))) { - field_0x15c0 = 2; - } - } else { - mGameMode = GAME_MODE_2; - if (!daNpcF_chkEvtBit(0x60)) { - daNpcF_onEvtBit(0x60); - } - } - } - } - } - - if (player->checkCanoeRide()) { - if (mGameMode == GAME_MODE_2) { - daNpc_Hoz_c* iza = static_cast(mActorMngr[2].getActorP()); - if (iza != NULL && iza->getGameStartFlag()) { - mActionSelect = 3; - mPath.setNextIdx(); - setAction(&diveRiverDescend); - break; - } - } else if (mGameMode == GAME_MODE_1) { - if (field_0x15c0 == 0) { - if ((player->current.pos - current.pos).absXZ() - < daNpc_zrA_Param_c::m.field_0xa8) { - field_0x15c0 = 1; - mOrderEvtNo = EVT_BEFORE_BLAST_ZRR; - } - } else if (field_0x15c0 == 1) { - cXyz vec2(34301.45f, -6541.864f, -24243.62f); - if (dComIfGs_isSwitch(mSwitch1, fopAcM_GetRoomNo(this))) { - mOrderEvtNo = EVT_AFTER_BLAST_ZRR; - mOrderNewEvt = true; - } else { - if ((current.pos - vec2).absXZ() >= 100.0f) { - mActionSelect = 3; - setAction(&diveRiverDescend); - } - } - } else { - cXyz vec3 = player->current.pos; - vec3 -= current.pos; - if (vec3.absXZ() < 10000.0f) { - mPath.setNextIdxDst(current.pos); - mActionSelect = 3; - setAction(&diveRiverDescend); - break; - } - } - } - - cLib_addCalcAngleS2(&mCurAngle.y, fopAcM_searchPlayerAngleY(this), 2, 0x800); - setAngle(mCurAngle.y); - } - - break; - } - - case 3: - speedF = 0.0f; - break; - } - - return true; -} - - -/* ############################################################################################## */ -/* 80B8CC64-80B8CC68 00080C 0004+00 0/1 0/0 0/0 .rodata @9323 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_9323 = 9.0f / 5.0f; -COMPILER_STRIP_GATE(0x80B8CC64, &lit_9323); -#pragma pop - -/* 80B8CC68-80B8CC6C 000810 0004+00 0/1 0/0 0/0 .rodata @9324 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_9324 = 7.0f / 5.0f; -COMPILER_STRIP_GATE(0x80B8CC68, &lit_9324); -#pragma pop - -/* 80B8CC6C-80B8CC70 000814 0004+00 0/1 0/0 0/0 .rodata @9325 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_9325 = 5000.0f; -COMPILER_STRIP_GATE(0x80B8CC6C, &lit_9325); -#pragma pop - -/* 80B8CC70-80B8CC74 000818 0004+00 0/1 0/0 0/0 .rodata @9326 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_9326 = 3500.0f; -COMPILER_STRIP_GATE(0x80B8CC70, &lit_9326); -#pragma pop - -/* 80B8CC74-80B8CC78 00081C 0004+00 0/1 0/0 0/0 .rodata @9327 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_9327 = 2.0f / 5.0f; -COMPILER_STRIP_GATE(0x80B8CC74, &lit_9327); -#pragma pop - -/* 80B8CC78-80B8CC7C 000820 0004+00 0/1 0/0 0/0 .rodata @9328 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_9328 = 3000.0f; -COMPILER_STRIP_GATE(0x80B8CC78, &lit_9328); -#pragma pop - -/* 80B8CC7C-80B8CC80 000824 0004+00 0/2 0/0 0/0 .rodata @9329 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_9329 = 0.25f; -COMPILER_STRIP_GATE(0x80B8CC7C, &lit_9329); -#pragma pop - -/* 80B8CC80-80B8CC84 000828 0004+00 0/5 0/0 0/0 .rodata @9330 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_9330 = 25.0f; -COMPILER_STRIP_GATE(0x80B8CC80, &lit_9330); -#pragma pop - -/* 80B8CC84-80B8CC88 00082C 0004+00 0/2 0/0 0/0 .rodata @9331 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_9331 = 13.0f / 10.0f; -COMPILER_STRIP_GATE(0x80B8CC84, &lit_9331); -#pragma pop - -/* 80B8CC88-80B8CC8C 000830 0004+00 0/2 0/0 0/0 .rodata @9332 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_9332 = 1.0f / 20.0f; -COMPILER_STRIP_GATE(0x80B8CC88, &lit_9332); -#pragma pop - -/* 80B8CC8C-80B8CC90 000834 0004+00 0/2 0/0 0/0 .rodata @9333 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_9333 = 17.0f / 10.0f; -COMPILER_STRIP_GATE(0x80B8CC8C, &lit_9333); -#pragma pop - -/* 80B84B74-80B85B14 00C754 0FA0+00 2/2 0/0 0/0 .text swimRiverDescend__11daNpc_zrA_cFPv - */ -#ifdef NONMATCHING -// stack problems -BOOL daNpc_zrA_c::swimRiverDescend(void* param_0) { - s16 angle_step = daNpc_zrA_Param_c::m.mSwimAngleSpeed; - s16 angle_scale = 6; - f32 water_height = mAcch.m_wtr.GetHeight(); - - switch (mMode) { - case 0: - gravity = 0.0f; - speed.setall(0.0f); - speedF = 0.0f; - field_0x153d = false; - setExpressionAnm(ANM_NONE, false); - if (mActionType == ACT_TYPE_0) { - setMotion(MOT_SWIM_B, -1.0f, false); - } else { - setMotion(MOT_SWIM_A, -1.0f, false); - } - mSwimMode = SWIM_RAIL; - mCcStts.SetWeight(0); - setLookMode(LOOK_NONE); - mAttnChangeTimer = 0; - mTurnMode = 0; - mMode = 2; - field_0x153e = false; - mSwimAngleCalc = current.angle; - calcWaistAngleInit(); - field_0x1500 = daPy_getPlayerActorClass()->current.pos; - // fallthrough - - case 2: { - csXyz angle; - daPy_py_c* player = daPy_getPlayerActorClass(); - cLib_chaseF(&mScaleFactor, daNpc_zrA_Param_c::m.mMaxScaleFactor, - (daNpc_zrA_Param_c::m.mMaxScaleFactor - 1.0f) / 30.0f); - int ivar8 = mRiverPathIdx; - cXyz pos, swim_speed; - moveRiverPosCalc(pos); - - if (field_0x153c) { - mMeterCount = dMeter2Info_getNowCount(); - cXyz head_pos; - mDoMtx_stack_c::copy(mpMorf->getModel()->getAnmMtx(4)); - mDoMtx_stack_c::scaleM(scale); - mDoMtx_stack_c::multVecZero(&head_pos); - - if (field_0x153e) { - if (mIsAboveWater && mpMorf->getFrame() > 13.0f && mpMorf->getFrame() < 17.0f) { - f32 play_speed = mpMorf->getPlaySpeed(); - cLib_addCalc2(&play_speed, 0.3f, 0.7f, 0.5f); - mpMorf->setPlaySpeed(play_speed); - } - - angle.y = cLib_targetAngleY(¤t.pos, &pos); - cLib_addCalcAngleS2(&mSwimAngleCalc.y, angle.y, angle_scale, angle_step); - cLib_addCalcAngleS2(¤t.angle.y, mSwimAngleCalc.y, angle_scale, angle_step); - - f32 swim_speed_f = mSwimSpeed.absXZ(); - mSwimSpeed.x = 0.0f; - mSwimSpeed.z = swim_speed_f; - mDoMtx_stack_c::YrotS(current.angle.y); - mDoMtx_stack_c::multVec(&mSwimSpeed, &mSwimSpeed); - calcBank(angle_step / 2, angle_scale * 2, current.angle.y, current.angle.z); - mSwimSpeed.y -= 1.0f; - current.pos += mSwimSpeed; - - if (current.angle.x < 0x3000) { - current.angle.x = -cM_atan2s(mSwimSpeed.y, mSwimSpeed.absXZ()); - } - shape_angle = mCurAngle = current.angle; - - if (mAcch.ChkWaterHit()) { - if (mIsAboveWater - && mSwimSpeed.y <= 0.0f && head_pos.y + mSwimSpeed.y <= water_height) - { - cXyz wpillar_pos = head_pos; - wpillar_pos.y = water_height; - fopKyM_createWpillar(&wpillar_pos, 2.5f, 0); - mIsAboveWater = false; - mCreatureSound.startCreatureSound(Z2SE_ZRA_DIVE_SPLASH, 0, -1); - mpMorf->setPlaySpeed(1.0f); - } - - if (current.pos.y <= water_height - daNpc_zrA_Param_c::m.mMinDepth) { - field_0x153e = false; - field_0x153c = false; - mSwimSpeedF = mSwimSpeed.abs(); - } - } - - return true; - } - - angle.y = cLib_targetAngleY(¤t.pos, &pos); - angle.z = current.angle.z; - if (mSwimSpeedF > 40.0f) { - angle.x = -0x3000; - if (mAcch.ChkWaterHit()) { - if (head_pos.y < water_height) { - angle_step = daNpc_zrA_Param_c::m.mSwimAngleSpeed * 2; - angle_scale = 2; - } else if (!mIsAboveWater) { - cXyz wpillar_pos = head_pos; - wpillar_pos.y = water_height; - fopKyM_createWpillar(&wpillar_pos, 2.5f, 0); - mIsAboveWater = true; - mCreatureSound.startCreatureSound(Z2SE_ZRA_DIVE_SPLASH_OUT, 0, -1); - } else { - if (mpMorf->getFrame() > 13.0f && mpMorf->getFrame() < 17.0f) { - f32 play_speed = mpMorf->getPlaySpeed(); - cLib_addCalc2(&play_speed, 0.3f, 0.7f, 0.8f); - mpMorf->setPlaySpeed(play_speed); - } - if (current.pos.y > water_height && current.angle.x < -0x2000) { - swim_speed.set(0.0f, 0.0f, mSwimSpeedF); - calcSwimPos(swim_speed); - mSwimSpeed = swim_speed; - field_0x153e = true; - if (mSwimSpeed.y > 20.0f) { - mSwimSpeed.y = 20.0f; - } - calcBank(angle_step, angle_scale, angle.y, angle.z); - current.angle.z = angle.z; - return true; - } - } - } - } else { - angle.x = cLib_targetAngleX(&pos, ¤t.pos); - } - } else { - u8 meter_count = dMeter2Info_getNowCount(); - if (mGameMode != GAME_MODE_1 && meter_count > mMeterCount) { - field_0x153c = true; - } - mMeterCount = meter_count; - - if (mRiverPathIdx == mPath.getEndIdx()) { - angle.x = 0x1000; - angle.y = -0x4000; - angle.z = current.angle.z; - } else { - angle.x = cLib_targetAngleX(&pos, ¤t.pos); - angle.y = cLib_targetAngleY(¤t.pos, &pos); - angle.z = current.angle.z; - } - - if (mGameMode == GAME_MODE_1 && ivar8 != mRiverPathIdx) { - createRuppi(); - } - } - - cXyz vec = field_0x1500 - player->current.pos; - f32 target_speed = vec.abs(); - if (target_speed < daNpc_zrA_Param_c::m.mSwimSpeed) { - target_speed = daNpc_zrA_Param_c::m.mSwimSpeed; - } else { - target_speed *= 1.4f; - } - - if ((player->current.pos - current.pos).absXZ() < 500.0f) { - angle.x += 0x1000; - } - - if (field_0x153c) { - if (target_speed < 3.0f * daNpc_zrA_Param_c::m.mSwimSpeed) { - target_speed = 3.0f * daNpc_zrA_Param_c::m.mSwimSpeed; - } - target_speed *= 1.2f; - } else if (mRiverPathIdx >= mPath.getIdx()) { - f32 player_dst = mPath.chkPassDst(mRiverPathIdx, player->current.pos); - f32 dst = mPath.chkPassDst(mRiverPathIdx, current.pos); - if (dst - player_dst > 5000.0f) { - target_speed = 0.0f; - } else if (dst - player_dst > 3500.0f) { - target_speed *= 0.4f; - } else if (dst - player_dst > 3000.0f) { - target_speed *= 0.8f; - } - - if (target_speed == 0.0f) { - angle.x = cLib_targetAngleX(&player->current.pos, ¤t.pos); - angle.y = cLib_targetAngleY(¤t.pos, &player->current.pos); - } - } - - field_0x1500 = player->current.pos; - cLib_addCalc2(&mSwimSpeedF, target_speed, 0.25f, 4.0f); - calcSwimAngle(angle, mSwimAngleCalc, angle_scale, angle_step); - swim_speed.set(0.0f, 0.0f, mSwimSpeedF); - calcSwimPos(swim_speed); - - f32 play_speed = mpMorf->getPlaySpeed(); - if (target_speed != 0.0f) { - f32 target_play_speed = - cLib_minMaxLimit((mSwimSpeedF - vec.abs()) / 25.0f, 0.0f, 1.3f) + 0.7f; - cLib_addCalc2(&play_speed, target_play_speed, 0.2f, 0.05f); - } else { - cLib_addCalc2(&play_speed, 1.7f, 0.2f, 0.05f); - } - mpMorf->setPlaySpeed(play_speed); - - if (!field_0x153c && mAcch.ChkWaterHit() - && current.pos.y > water_height - daNpc_zrA_Param_c::m.mMinDepth) - { - current.pos.y = water_height - daNpc_zrA_Param_c::m.mMinDepth; - } - - calcBank(angle_step, angle_scale, angle.y, angle.z); - current.angle.z = angle.z; - shape_angle = mCurAngle = current.angle; - break; - } - - case 3: - break; - } - - return true; -} -#else -BOOL daNpc_zrA_c::swimRiverDescend(void* param_0) { - // NONMATCHING -} -#endif - -/* 80B85B14-80B8601C 00D6F4 0508+00 2/0 0/0 0/0 .text swimRiverDescend2__11daNpc_zrA_cFPv - */ -BOOL daNpc_zrA_c::swimRiverDescend2(void* param_0) { - cXyz pos, swim_speed; - s16 angle_step = daNpc_zrA_Param_c::m.mSwimAngleSpeed; - f32 water_height = mAcch.m_wtr.GetHeight(); - - switch (mMode) { - case 0: - gravity = 0.0f; - speed.setall(0.0f); - speedF = 0.0f; - field_0x153d = false; - setExpressionAnm(ANM_NONE, false); - if (mActionType == ACT_TYPE_0) { - setMotion(MOT_SWIM_B, -1.0f, false); - } else { - setMotion(MOT_SWIM_A, -1.0f, false); - } - mSwimMode = SWIM_RAIL; - mCcStts.SetWeight(0); - setLookMode(LOOK_NONE); - mAttnChangeTimer = 0; - mTurnMode = 0; - field_0x153e = false; - mSwimAngleCalc = current.angle; - calcWaistAngleInit(); - mMode = 2; - // fallthrough - - case 2: { - moveRiverPosCalc(pos); - cXyz vec(3401.45f, -6541.864f, -24243.62f); - if ((current.pos - vec).absXZ() < 100.0f) { - if (mMotion != MOT_FLOAT_B) { - setExpressionAnm(ANM_NONE, false); - setMotion(MOT_FLOAT_B, -1.0f, false); - mActionSelect = 0; - setAction(&waitRiverDescend); - } - } else if (dComIfGs_isSwitch(mSwitch1, fopAcM_GetRoomNo(this))) { - mOrderEvtNo = EVT_AFTER_BLAST_ZRR; - mOrderNewEvt = true; - setExpressionAnm(ANM_NONE, false); - setMotion(MOT_FLOAT_B, -1.0f, false); - mActionSelect = 0; - setAction(&waitRiverDescend); - } else { - csXyz angle; - cLib_chaseF(&mScaleFactor, daNpc_zrA_Param_c::m.mMaxScaleFactor, - (daNpc_zrA_Param_c::m.mMaxScaleFactor - 1.0f) / 30.0f); - - angle.x = cLib_targetAngleX(&vec, ¤t.pos); - angle.y = cLib_targetAngleY(¤t.pos, &vec); - angle.z = current.angle.z; - cLib_addCalc2(&mSwimSpeedF, 2.0f * daNpc_zrA_Param_c::m.mSwimSpeed, 0.25f, 4.0f); - calcSwimAngle(angle, mSwimAngleCalc, 6, angle_step); - - swim_speed.set(0.0f, 0.0f, mSwimSpeedF); - calcSwimPos(swim_speed); - - f32 play_speed = mpMorf->getPlaySpeed(); - cLib_addCalc2(&play_speed, 1.7f, 0.2f, 0.05f); - mpMorf->setPlaySpeed(play_speed); - - if (mAcch.ChkWaterHit() - && current.pos.y > water_height - daNpc_zrA_Param_c::m.mMinDepth) - { - current.pos.y = water_height - daNpc_zrA_Param_c::m.mMinDepth; - } - - calcBank(angle_step, 6, angle.y, angle.z); - current.angle.z = angle.z; - shape_angle = mCurAngle = current.angle; - } - - break; - } - - case 3: - break; - } - - return true; -} - - -/* ############################################################################################## */ -/* 80B8CC90-80B8CC94 000838 0004+00 0/3 0/0 0/0 .rodata @9558 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_9558 = -9.25f; -COMPILER_STRIP_GATE(0x80B8CC90, &lit_9558); -#pragma pop - -/* 80B8CC94-80B8CC98 00083C 0004+00 0/3 0/0 0/0 .rodata @9559 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_9559 = 4.5f; -COMPILER_STRIP_GATE(0x80B8CC94, &lit_9559); -#pragma pop - -/* 80B8CC98-80B8CC9C 000840 0004+00 0/3 0/0 0/0 .rodata @9560 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_9560 = -14.0f; -COMPILER_STRIP_GATE(0x80B8CC98, &lit_9560); -#pragma pop - -/* 80B8CC9C-80B8CCA0 000844 0004+00 0/3 0/0 0/0 .rodata @9561 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_9561 = 6.25f; -COMPILER_STRIP_GATE(0x80B8CC9C, &lit_9561); -#pragma pop - -/* 80B8601C-80B86440 00DBFC 0424+00 4/0 0/0 0/0 .text diveRiverDescend__11daNpc_zrA_cFPv - */ -BOOL daNpc_zrA_c::diveRiverDescend(void* param_0) { - s16 angle_step = daNpc_zrA_Param_c::m.mSwimAngleSpeed * 2; - - switch (mMode) { - case 0: - setExpressionAnm(ANM_NONE, false); - if (mActionType == ACT_TYPE_0) { - setMotion(MOT_DIVE_B_SWIM_B, -1.0f, false); - } else { - setMotion(MOT_DIVE_B_SWIM_A, -1.0f, false); - } - mSwimMode = SWIM_3; - mCcStts.SetWeight(0); - setLookMode(LOOK_NONE); - mSwimAngleCalc = current.angle; - mMode = 2; - // fallthrough - - case 2: { - cLib_chaseF(&mScaleFactor, daNpc_zrA_Param_c::m.mMaxScaleFactor, - (daNpc_zrA_Param_c::m.mMaxScaleFactor - 1.0f) / 30.0f); - cXyz pos; - csXyz angle; - mPath.getDstPos(current.pos, pos); - angle.x = cLib_targetAngleX(&pos, ¤t.pos); - angle.y = cLib_targetAngleY(¤t.pos, &pos); - angle.z = current.angle.z; - calcSwimAngle(angle, mSwimAngleCalc, 3, angle_step); - shape_angle = mCurAngle = current.angle; - - f32 frame = mpMorf->getFrame(); - cXyz dive_speed(0.0f, 0.0f, 0.0f); - if (mBaseMotionAnm == ANM_DIVE_B) { - if (frame <= 3.0f) { - dive_speed.set(0.0f, 0.0f, 0.0f); - } else if (frame <= 6.0f) { - dive_speed.set(0.0f, 14.0f, 0.0f); - } else if (frame <= 9.0f) { - dive_speed.set(0.0f, 3.0f, 8.5f); - } else if (frame <= 13.0f) { - dive_speed.set(0.0f, -9.25f, 4.5f); - } else if (frame <= 20.0f) { - dive_speed.set(0.0f, -14.0f, 2.5f); - } else { - dive_speed.set(0.0f, 0.0f, 6.25f); - } - } - mDoMtx_stack_c::ZXYrotS(current.angle); - mDoMtx_stack_c::multVec(&dive_speed, &dive_speed); - current.pos += dive_speed; - - if (mGameMode == GAME_MODE_1 && field_0x15c0 == 1 - && dComIfGs_isSwitch(mSwitch1, fopAcM_GetRoomNo(this))) - { - setExpressionAnm(ANM_NONE, false); - setMotion(MOT_FLOAT_B, -1.0f, false); - mOrderEvtNo = EVT_AFTER_BLAST_ZRR; - mOrderNewEvt = true; - mActionSelect = 0; - setAction(&waitRiverDescend); - } else if (mBaseMotionAnm == ANM_SWIM_A || mBaseMotionAnm == ANM_SWIM_B) { - if (mGameMode == GAME_MODE_1 && field_0x15c0 == 1) { - mActionSelect = 6; - setAction(&swimRiverDescend2); - } else { - mActionSelect = 1; - setAction(&swimRiverDescend); - } - } - - break; - } - - case 3: - break; - } - - return true; -} - - -/* ############################################################################################## */ -/* 80B8CCA0-80B8CCA4 000848 0004+00 0/1 0/0 0/0 .rodata @9719 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_9719 = -14100.0f; -COMPILER_STRIP_GATE(0x80B8CCA0, &lit_9719); -#pragma pop - -/* 80B86440-80B86A2C 00E020 05EC+00 2/0 0/0 0/0 .text swimGoalRiverDescend__11daNpc_zrA_cFPv */ -#ifdef NONMATCHING -// stack ordering -BOOL daNpc_zrA_c::swimGoalRiverDescend(void* param_0) { - daPy_py_c* player; - cXyz pos, swim_speed; - s16 angle_step = daNpc_zrA_Param_c::m.mSwimAngleSpeed; - - switch (mMode) { - case 0: - setExpressionAnm(ANM_NONE, false); - if (mActionType == ACT_TYPE_0) { - setMotion(MOT_SWIM_B, -1.0f, false); - } else { - setMotion(MOT_SWIM_A, -1.0f, false); - } - mSwimMode = SWIM_RAIL; - mCcStts.SetWeight(0); - setLookMode(LOOK_NONE); - mSwimAngleCalc = current.angle; - calcWaistAngleInit(); - field_0x1500 = daPy_getPlayerActorClass()->current.pos; - mSwimSpeedF = daNpc_zrA_Param_c::m.mSwimSpeed; - mMode = 2; - // fallthrough - - case 2: - player = daPy_getPlayerActorClass(); - cLib_chaseF(&mScaleFactor, daNpc_zrA_Param_c::m.mMaxScaleFactor, - (daNpc_zrA_Param_c::m.mMaxScaleFactor - 1.0f) / 30.0f); - if (player->current.pos.y < -14100.0f) { - if (!daNpcF_chkEvtBit(0x60)) { - mOrderEvtNo = EVT_THANKS_BLAST; - } else if (dMeter2Info_getNowCount() >= 30) { - dComIfGs_onSwitch(mSwitch1, fopAcM_GetRoomNo(this)); - dComIfGs_onSwitch(mSwitch2, fopAcM_GetRoomNo(this)); - mOrderEvtNo = EVT_THANKS_BLAST; - } else if (dMeter2Info_getNowCount() >= 25) { - dComIfGs_onSwitch(mSwitch1, fopAcM_GetRoomNo(this)); - mOrderEvtNo = EVT_THANKS_BLAST; - } else { - mOrderEvtNo = EVT_RESULT_ANNOUNCE; - } - } else { - mPath.getDstPos(current.pos, pos); - f32 target_speed; - cXyz vec; - if (mPath.getIdx() != mPath.getNextIdx()) { - vec = field_0x1500 - player->current.pos; - target_speed = vec.abs() * 1.2f; - if (target_speed < daNpc_zrA_Param_c::m.mSwimSpeed) { - target_speed = daNpc_zrA_Param_c::m.mSwimSpeed; - } - } else { - target_speed = 0.0f; - if (mSwimSpeedF < 10.0f) { - pos = player->current.pos; - } - } - field_0x1500 = player->current.pos; - cLib_addCalc2(&mSwimSpeedF, target_speed, 0.3f, 5.0f); - - csXyz angle; - angle.x = cLib_targetAngleX(&pos, ¤t.pos); - angle.y = cLib_targetAngleY(¤t.pos, &pos); - angle.z = current.angle.z; - calcSwimAngle(angle, mSwimAngleCalc, 3, angle_step); - - swim_speed.set(0.0f, 0.0f, mSwimSpeedF); - calcSwimPos(swim_speed); - - f32 play_speed = mpMorf->getPlaySpeed(); - //!@bug vec is used here despite not being initialized in all code paths - f32 target_play_speed = - cLib_minMaxLimit((mSwimSpeedF - vec.abs()) / 25.0f, 0.0f, 1.3f) + 0.7f; - cLib_addCalc2(&play_speed, target_play_speed, 0.2f, 0.1f); - mpMorf->setPlaySpeed(play_speed); - - calcBank(angle_step, 3, angle.y, angle.z); - current.angle.z = angle.z; - shape_angle = mCurAngle = current.angle; - } - - break; - - case 3: - break; - } - - return true; -} -#else -BOOL daNpc_zrA_c::swimGoalRiverDescend(void* param_0) { - // NONMATCHING -} -#endif - -/* 80B86A2C-80B86D9C 00E60C 0370+00 2/0 0/0 0/0 .text returnRiverDescend__11daNpc_zrA_cFPv */ -BOOL daNpc_zrA_c::returnRiverDescend(void* param_0) { - cXyz pos, swim_speed; - s16 angle_step = daNpc_zrA_Param_c::m.mSwimAngleSpeed; - f32 swim_speed_scale = mSwimSpeedScale; - - switch (mMode) { - case 0: - mMode = 2; - // fallthrough - - case 2: - if (mPath.getDstPos(current.pos, pos) && mPath.getIdx() == mPath.getNextIdx()) { - mPath.reverse(); - fopAcM_delete(mActorMngr[2].getActorP()); - fopAcM_delete(this); - return true; - } else { - csXyz angle; - angle.x = cLib_targetAngleX(&pos, ¤t.pos); - angle.y = cLib_targetAngleY(¤t.pos, &pos); - angle.z = current.angle.z; - s16 angle_diff_x = angle.x - current.angle.x; - s16 angle_diff_y = angle.y - current.angle.y; - bool bvar4 = false; - - if (mActionType != ACT_TYPE_0 - && (abs(angle_diff_x) > 0x3000 || abs(angle_diff_y) > 0x3000) - && mSwimSpeedF > 14.0f) - { - f32 frame = mpMorf->getFrame(); - if ((angle.z <= 0x2000 || angle_diff_y >= 0) - && (angle.z >= -0x2000 || angle_diff_y <= 0)) - { - if (angle_diff_x < -0x3000) { - if (frame >= 2.0f && frame <= 4.0f) { - bvar4 = true; - } - } else { - if (frame >= 16.0f && frame <= 18.0f) { - mpMorf->setFrame(18.0f); - mpMorf->setMorf(2.0f); - mpMorf->setPlaySpeed(0.1f); - bvar4 = true; - } - } - } - - if (bvar4) { - calcSwimAngle(angle, mSwimAngleCalc, 4, angle_step); - } else { - calcSwimAngle(angle, mSwimAngleCalc, 8, angle_step / 2); - } - } else { - calcSwimAngle(angle, mSwimAngleCalc, 8, angle_step); - } - - cLib_addCalc2(&mSwimSpeedF, swim_speed_scale * daNpc_zrA_Param_c::m.mSwimSpeed, - 0.2f, 3.0f); - swim_speed.set(0.0f, 0.0f, mSwimSpeedF); - calcSwimPos(swim_speed); - - if (mAcch.ChkWaterHit()) { - current.pos.y = mAcch.m_wtr.GetHeight() - daNpc_zrA_Param_c::m.mMinDepth; - } - - if (!bvar4) { - f32 play_speed = mpMorf->getPlaySpeed(); - cLib_addCalc2(&play_speed, mSwimSpeedF / daNpc_zrA_Param_c::m.mSwimAnmRate, - 0.2f, 0.1f); - mpMorf->setPlaySpeed(play_speed); - } - - calcBank(angle_step, 8, angle.y, angle.z); - current.angle.z = angle.z; - shape_angle = mCurAngle = current.angle; - calcCanoeMove(true); - } - - break; - - case 3: - break; - } - - return true; -} - - -/* ############################################################################################## */ -/* 80B8CCA4-80B8CCA8 00084C 0004+00 1/1 0/0 0/0 .rodata @9834 */ -SECTION_RODATA static f32 const lit_9834 = 130.0f; -COMPILER_STRIP_GATE(0x80B8CCA4, &lit_9834); - -/* 80B86D9C-80B86E78 00E97C 00DC+00 3/3 0/0 0/0 .text moveRiverPosCalc__11daNpc_zrA_cFR4cXyz */ -void daNpc_zrA_c::moveRiverPosCalc(cXyz& o_pos) { - cXyz pos; - mPath.getDstPos(daPy_getPlayerActorClass()->current.pos, pos); - mRiverPathIdx = mPath.getDstPosChase(mRiverPathIdx, current.pos, o_pos); - f32 water_y; - if (fopAcM_getWaterY(&o_pos, &water_y)) { - o_pos.y = water_y - 130.0f; - } else { - o_pos.y -= 130.0f; - } -} - - -/* ############################################################################################## */ -/* 80B8CCA8-80B8CCAC 000850 0004+00 0/1 0/0 0/0 .rodata @9860 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_9860 = -100.0f; -COMPILER_STRIP_GATE(0x80B8CCA8, &lit_9860); -#pragma pop - -/* 80B86E78-80B86FAC 00EA58 0134+00 1/1 0/0 0/0 .text createRuppi__11daNpc_zrA_cFv */ -void daNpc_zrA_c::createRuppi() { - int item; - if (cLib_getRndValue(0, 5) < 4) { - item = GREEN_RUPEE; - } else { - item = BLUE_RUPEE; - } - cXyz pos(0.0f, 0.0f, -100.0f); - mDoMtx_stack_c::transS(current.pos); - mDoMtx_stack_c::ZXYrotM(mCurAngle.x, mCurAngle.y, mCurAngle.z); - mDoMtx_stack_c::multVec(&pos, &pos); - f32 water_y; - if (fopAcM_getWaterY(&pos, &water_y)) { - pos.y = water_y + 50.0f; - } - csXyz angle(0, current.angle.y, 0); - cXyz scl(1.0f, 1.0f, 1.0f); - f32 speed_f = 0.0f; - f32 speed_y = 50.0f; - fopAcM_fastCreateItem(&pos, item, fopAcM_GetRoomNo(this), - &angle, &scl, &speed_f, &speed_y, -1, 0, NULL); -} - - -/* ############################################################################################## */ -/* 80B8CCAC-80B8CCB0 000854 0004+00 0/1 0/0 0/0 .rodata @9933 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_9933 = 0x472310EB; -COMPILER_STRIP_GATE(0x80B8CCAC, &lit_9933); -#pragma pop - -/* 80B8CCB0-80B8CCB4 000858 0004+00 0/2 0/0 0/0 .rodata @9934 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_9934 = 0xC5CB15B8; -COMPILER_STRIP_GATE(0x80B8CCB0, &lit_9934); -#pragma pop - -/* 80B8CCB4-80B8CCB8 00085C 0004+00 0/2 0/0 0/0 .rodata @9935 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_9935 = 0xC6915348; -COMPILER_STRIP_GATE(0x80B8CCB4, &lit_9935); -#pragma pop - -/* 80B86FAC-80B872F0 00EB8C 0344+00 3/0 0/0 0/0 .text ECut_beforeBlastzrR__11daNpc_zrA_cFi */ -BOOL daNpc_zrA_c::ECut_beforeBlastzrR(int i_staffID) { - dEvent_manager_c& event_manager = dComIfGp_getEventManager(); - BOOL ret = false; - int prm = -1; - cXyz player_pos = daPy_getPlayerActorClass()->current.pos; - cXyz canoe_pos(41744.92f, -6498.715f, -18601.64f); - daCanoe_c* canoe; - int* prm_p = dComIfGp_evmng_getMyIntegerP(i_staffID, "prm"); - if (prm_p != NULL) { - prm = *prm_p; - } - - if (event_manager.getIsAddvance(i_staffID)) { - switch (prm) { - case 0: - daNpcF_offTmpBit(0xb); - break; - case 10: - initTalk(mFlowID, NULL); - break; - case 15: - break; - case 20: - initTalk(mFlowID, NULL); - break; - } - } - - switch (prm) { - case 0: - calcWaitSwim(true); - cLib_addCalcAngleS2(&mCurAngle.y, fopAcM_searchPlayerAngleY(this), 0x20, 0x200); - setAngle(mCurAngle.y); - ret = true; - break; - - case 10: - if (talkProc(NULL, 1, NULL)) { - ret = true; - } - canoe = (daCanoe_c*)fpcM_Search(s_sub, this); - if (canoe != NULL) { - canoe->setPosAndAngle(&canoe_pos, -0x35e8); - } - calcWaitSwim(true); - cLib_addCalcAngleS2(&mCurAngle.y, fopAcM_searchPlayerAngleY(this), 0x20, 0x200); - setAngle(mCurAngle.y); - break; - - case 15: { - canoe = (daCanoe_c*)fpcM_Search(s_sub, this); - if (canoe != NULL) { - canoe->setPosAndAngle(&canoe_pos, -0x35e8); - } - cXyz target_pos(30895.56f, -6592.85f, -23170.2f); - calcWaitSwim(true); - s16 target_angle = cLib_targetAngleY(¤t.pos, &target_pos); - if (mCurAngle.y != target_angle) { - if (abs((s16)(mCurAngle.y - target_angle)) > 0x400) { - mCurAngle.y -= 0x400; - } else { - mCurAngle.y = target_angle; - } - setAngle(mCurAngle.y); - } else { - ret = true; - } - break; - } - - case 20: - if (talkProc(NULL, 1, NULL)) { - ret = true; - } - canoe = (daCanoe_c*)fpcM_Search(s_sub, this); - if (canoe != NULL) { - canoe->setPosAndAngle(&canoe_pos, -0x35e8); - } - calcWaitSwim(true); - break; - - default: - ret = true; - break; - } - - return ret; -} - - -/* ############################################################################################## */ -/* 80B8CCB8-80B8CCBC 000860 0004+00 0/0 0/0 0/0 .rodata @9936 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_9936 = 0x46F15F1E; -COMPILER_STRIP_GATE(0x80B8CCB8, &lit_9936); -#pragma pop - -/* 80B8CCBC-80B8CCC0 000864 0004+00 0/0 0/0 0/0 .rodata @9937 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_9937 = 0xC5CE06CC; -COMPILER_STRIP_GATE(0x80B8CCBC, &lit_9937); -#pragma pop - -/* 80B8CCC0-80B8CCC4 000868 0004+00 0/0 0/0 0/0 .rodata @9938 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_9938 = 0xC6B50464; -COMPILER_STRIP_GATE(0x80B8CCC0, &lit_9938); -#pragma pop - -/* 80B8CCC4-80B8CCC8 00086C 0004+00 0/1 0/0 0/0 .rodata @9988 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_9988 = 0x471FF0EB; -COMPILER_STRIP_GATE(0x80B8CCC4, &lit_9988); -#pragma pop - -/* 80B8CCC8-80B8CCCC 000870 0004+00 0/1 0/0 0/0 .rodata @9989 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_9989 = 0x46FF16FF; -COMPILER_STRIP_GATE(0x80B8CCC8, &lit_9989); -#pragma pop - -/* 80B8CCCC-80B8CCD0 000874 0004+00 0/1 0/0 0/0 .rodata @9990 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_9990 = 0xC5B861C1; -COMPILER_STRIP_GATE(0x80B8CCCC, &lit_9990); -#pragma pop - -/* 80B8CCD0-80B8CCD4 000878 0004+00 0/1 0/0 0/0 .rodata @9991 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_9991 = 0xC6AF810D; -COMPILER_STRIP_GATE(0x80B8CCD0, &lit_9991); -#pragma pop - -/* 80B872F0-80B87510 00EED0 0220+00 1/0 0/0 0/0 .text ECut_afterBlastzrR__11daNpc_zrA_cFi - */ -BOOL daNpc_zrA_c::ECut_afterBlastzrR(int i_staffID) { - dEvent_manager_c& event_manager = dComIfGp_getEventManager(); - BOOL ret = false; - int prm = -1; - cXyz player_pos = daPy_getPlayerActorClass()->current.pos; - cXyz canoe_pos(40944.92f, -6498.715f, -18601.64f); - daCanoe_c* canoe; - int* prm_p = dComIfGp_evmng_getMyIntegerP(i_staffID, "prm"); - if (prm_p != NULL) { - prm = *prm_p; - } - - if (event_manager.getIsAddvance(i_staffID)) { - switch (prm) { - case 0: { - cXyz target_pos(32651.5f, -5900.219f, -22464.53f); - setLookMode(LOOK_NONE); - mTurnMode = 0; - calcWaistAngleStop(); - field_0x1550 = true; - mSwimSpeedF = 0.0f; - mIsTurning = true; - current.pos.set(34301.45f, -6541.864f, -24243.62f); - old.pos = current.pos; - setAngle(cLib_targetAngleY(¤t.pos, &target_pos)); - field_0x15c0 = 2; - break; - } - - case 10: - initTalk(mFlowID, NULL); - break; - } - } - - switch (prm) { - case 0: - case 10: - calcWaitSwim(true); - canoe = (daCanoe_c*)fpcM_Search(s_sub, this); - if (canoe != NULL) { - canoe->setPosAndAngle(&canoe_pos, -0x35e8); - } - if (prm == 0) { - ret = true; - } else { - if (talkProc(NULL, 1, NULL)) { - ret = true; - } - } - break; - - default: - ret = true; - break; - } - - return ret; -} - - -/* ############################################################################################## */ -/* 80B8CCD4-80B8CCD8 00087C 0004+00 0/2 0/0 0/0 .rodata @10576 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_10576 = 0xC7983ADA; -COMPILER_STRIP_GATE(0x80B8CCD4, &lit_10576); -#pragma pop - -/* 80B8CCD8-80B8CCDC 000880 0004+00 0/2 0/0 0/0 .rodata @10577 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_10577 = -18800.0f; -COMPILER_STRIP_GATE(0x80B8CCD8, &lit_10577); -#pragma pop - -/* 80B8CCDC-80B8CCE0 000884 0004+00 0/2 0/0 0/0 .rodata @10578 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_10578 = 0x471ADD4D; -COMPILER_STRIP_GATE(0x80B8CCDC, &lit_10578); -#pragma pop - -/* 80B8CCE0-80B8CCE4 000888 0004+00 0/2 0/0 0/0 .rodata @10579 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_10579 = 0xC79A2EDA; -COMPILER_STRIP_GATE(0x80B8CCE0, &lit_10579); -#pragma pop - -/* 80B8CCE4-80B8CCE8 00088C 0004+00 0/2 0/0 0/0 .rodata @10580 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_10580 = -18640.0f; -COMPILER_STRIP_GATE(0x80B8CCE4, &lit_10580); -#pragma pop - -/* 80B8CCE8-80B8CCEC 000890 0004+00 0/2 0/0 0/0 .rodata @10581 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_10581 = 350.0f; -COMPILER_STRIP_GATE(0x80B8CCE8, &lit_10581); -#pragma pop - -/* 80B8CCEC-80B8CCF0 000894 0004+00 0/2 0/0 0/0 .rodata @10582 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_10582 = 15.0f; -COMPILER_STRIP_GATE(0x80B8CCEC, &lit_10582); -#pragma pop - -/* 80B8CCF0-80B8CCF4 000898 0004+00 0/2 0/0 0/0 .rodata @10583 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_10583 = 3.0f / 100.0f; -COMPILER_STRIP_GATE(0x80B8CCF0, &lit_10583); -#pragma pop - -/* 80B8CCF4-80B8CCF8 00089C 0004+00 0/2 0/0 0/0 .rodata @10584 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_10584 = 400.0f; -COMPILER_STRIP_GATE(0x80B8CCF4, &lit_10584); -#pragma pop - -/* 80B8CCF8-80B8CCFC 0008A0 0004+00 0/2 0/0 0/0 .rodata @10585 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_10585 = 22.0f; -COMPILER_STRIP_GATE(0x80B8CCF8, &lit_10585); -#pragma pop - -/* 80B87510-80B88B04 00F0F0 15F4+00 1/0 0/0 0/0 .text ECut_thanksBlast__11daNpc_zrA_cFi - */ -BOOL daNpc_zrA_c::ECut_thanksBlast(int i_staffID) { - dEvent_manager_c& event_manager = dComIfGp_getEventManager(); - BOOL ret = false; - int prm = -1; - s16 angle_step = daNpc_zrA_Param_c::m.mSwimAngleSpeed; - f32 water_height = mAcch.m_wtr.GetHeight(); - daPy_py_c* player = daPy_getPlayerActorClass(); - cXyz player_pos = player->current.pos; - int* prm_p = dComIfGp_evmng_getMyIntegerP(i_staffID, "prm"); - if (prm_p != NULL) { - prm = *prm_p; - } - - if (event_manager.getIsAddvance(i_staffID)) { - switch (prm) { - case 0: - daNpcF_offTmpBit(0xb); - daNpcF_offTmpBit(0xc); - if (mActionType == ACT_TYPE_0) { - setMotion(MOT_SWIM_B, -1.0f, false); - } else { - setMotion(MOT_SWIM_A, -1.0f, false); - } - mTurnMode = 0; - break; - - case 1: - if (mActorMngr[2].getActorP() != NULL - && fopAcM_GetName(mActorMngr[2].getActorP()) == PROC_CANOE) - { - static_cast(mActorMngr[2].getActorP())->setWaterFallDownSe(); - } - daPy_getPlayerActorClass()->offCanoeSlider(); - if (daNpcF_chkEvtBit(0x60)) { - dComIfG_TimerDeleteRequest(4); - } else { - dComIfG_TimerDeleteRequest(3); - } - dMeter2Info_resetMiniGameItem(false); - break; - - case 10: - initTalk(mFlowID, NULL); - break; - - case 20: { - mPath.onReverse(); - mPath.setIdx(mPath.getEndIdx() - 1); - cXyz pos1(-77941.7f, -18800.0f - daNpc_zrA_Param_c::m.mMinDepth - 30.0f, 39645.3f); - cXyz pos2(-78941.7f, -18800.0f - daNpc_zrA_Param_c::m.mMinDepth - 30.0f, 39645.3f); - current.pos = pos1; - current.angle.y = cLib_targetAngleY(&pos1, &player_pos); - setAngle(current.angle.y); - - cXyz water_pos = current.pos; - f32 water_y; - if (fopAcM_getWaterY(&water_pos, &water_y)) { - water_pos.y = water_y; - } - - cXyz offset(0.0f, 0.0f, daNpc_zrA_Param_c::m.field_0xa0); - csXyz angle(0, cLib_targetAngleY(&pos1, &pos2), 0); - mDoMtx_stack_c::ZXYrotS(angle); - mDoMtx_stack_c::transM(offset); - mDoMtx_stack_c::multVecZero(&field_0x159c[0]); - field_0x159c[0] += water_pos; - - offset.set(0.0f, 0.0f, daNpc_zrA_Param_c::m.field_0xa4); - mDoMtx_stack_c::ZXYrotS(angle); - mDoMtx_stack_c::transM(offset); - mDoMtx_stack_c::multVecZero(&field_0x159c[1]); - field_0x159c[1] += field_0x159c[0]; - field_0x159c[2] = field_0x159c[1]; - - cLib_targetAngleY(&pos2, &pos1); - static_cast(mActorMngr[2].getActorP()) - ->setPosAndAngle(&field_0x159c[1], angle.y + 0x8000); - break; - } - - case 30: - initTalk(mFlowID, NULL); - break; - - case 31: { - int item_id = 0; - if (mFlow.getEventId(&item_id) == 1) { - mItemID = fopAcM_createItemForPresentDemo(¤t.pos, item_id, - 0, -1, -1, NULL, NULL); - } - field_0x9eb = true; - break; - } - - case 40: - field_0x9eb = false; - initTalk(mFlowID, NULL); - break; - - case 50: - if (mActionType == ACT_TYPE_0) { - setMotion(MOT_DIVE_B_SWIM_B, -1.0f, false); - } else { - setMotion(MOT_DIVE_B_SWIM_A, -1.0f, false); - } - break; - - case 60: - calcWaistAngleInit(); - mEventTimer = 120; - mSwimAngleCalc = current.angle; - break; - } - } - - switch (prm) { - case 0: - if (player_pos.y < -18640.0f) { - ret = true; - } - // fallthrough - - case 1: - if (mMotion == MOT_SWIM_A || mMotion == MOT_SWIM_B) { - if (mBaseMotionAnm != ANM_SWIM_A && mBaseMotionAnm != ANM_SWIM_B) { - break; - } - - cXyz pos; - f32 target_speed; - if (mPath.getIdx() != mPath.getNextIdx()) { - mPath.getDstPos(current.pos, pos); - cXyz vec = field_0x1500 - player->current.pos; - target_speed = vec.abs() * 1.2f; - if (target_speed < daNpc_zrA_Param_c::m.mSwimSpeed) { - target_speed = daNpc_zrA_Param_c::m.mSwimSpeed; - } - } else { - if ((field_0x1500 - player->current.pos).absXZ() < 5.0f) { - cXyz vec1(350.0f, 0.0f, 0.0f); - cXyz vec2, vec3; - mDoMtx_stack_c::YrotS(player->current.angle.y); - mDoMtx_stack_c::multVec(&vec1, &vec2); - vec3 = player->current.pos - vec2; - vec2 += player->current.pos; - if ((vec2 - current.pos).absXZ() < (vec3 - current.pos).absXZ()) { - pos = vec2; - } else { - pos = vec3; - } - if ((player_pos - current.pos).absXZ() > 450.0f) { - target_speed = daNpc_zrA_Param_c::m.mSwimSpeed * 1.5f * 1.5f; - } else { - target_speed = 15.0f; - pos = player_pos; - } - } else { - target_speed = 0.0f; - if (mSwimSpeedF < 10.0f) { - pos = player_pos; - } else { - mPath.getDstPos(current.pos, pos); - } - } - } - - cLib_addCalc2(&mSwimSpeedF, target_speed, 0.2f, 3.0f); - f32 play_speed = mpMorf->getPlaySpeed(); - cLib_addCalc2(&play_speed, 1.0f, 0.2f, 0.03f); - mpMorf->setPlaySpeed(play_speed); - - csXyz angle; - angle.x = cLib_targetAngleX(&pos, ¤t.pos); - angle.y = cLib_targetAngleY(¤t.pos, &pos); - angle.z = current.angle.z; - current.angle.z = 0; - calcSwimAngle(angle, mSwimAngleCalc, 8, angle_step); - calcBank(angle_step, 8, angle.y, angle.z); - current.angle.z = angle.z; - shape_angle = mCurAngle = current.angle; - cXyz swim_speed(0.0f, 0.0f, mSwimSpeedF); - calcSwimPos(swim_speed); - if (mAcch.ChkWaterHit() - && current.pos.y > water_height - daNpc_zrA_Param_c::m.mMinDepth) - { - current.pos.y = water_height - daNpc_zrA_Param_c::m.mMinDepth; - } - - if ((field_0x1500 - player->current.pos).absXZ() < 10.0f - && (player_pos - current.pos).absXZ() < 400.0f) - { - setMotion(MOT_FLOAT_B, -1.0f, false); - calcWaistAngleStop(); - } - field_0x1500 = player->current.pos; - } else { - calcWaitSwim(true); - if (mCurAngle.y == fopAcM_searchPlayerAngleY(this)) { - if (mBaseMotionAnm == ANM_WAIT_SWIM) { - if (prm == 1) { - ret = true; - } - mTurnMode = 0; - } - } else { - cLib_chaseAngleS(&mCurAngle.y, fopAcM_searchPlayerAngleY(this), - daNpc_zrA_Param_c::m.mSwimAngleSpeed); - setAngle(mCurAngle.y); - } - } - - break; - - case 10: - calcWaitSwim(true); - if (talkProc(NULL, 1, NULL)) { - ret = true; - } - break; - - case 20: - calcWaitSwim(true); - calcCanoeMove(false); - current.angle.y = cLib_targetAngleY(¤t.pos, &player_pos); - setAngle(current.angle.y); - ret = true; - break; - - case 30: - case 40: - calcWaitSwim(true); - calcCanoeMove(false); - if (talkProc(NULL, 1, NULL)) { - ret = true; - mSwimAngleCalc = current.angle; - mSwimSpeedScale = 1.0f; - mSwimSpeedF = mSwimSpeedScale * daNpc_zrA_Param_c::m.mSwimSpeed; - setLookMode(LOOK_NONE); - } - break; - - case 31: - field_0x9eb = true; - ret = true; - calcWaitSwim(true); - calcCanoeMove(false); - break; - - case 50: { - s16 angle_step = daNpc_zrA_Param_c::m.mSwimAngleSpeed; - cLib_chaseF(&mScaleFactor, daNpc_zrA_Param_c::m.mMaxScaleFactor, - (daNpc_zrA_Param_c::m.mMaxScaleFactor - 1.0f) / 30.0f); - cXyz pos; - csXyz angle; - mPath.getDstPosDst2(current.pos, pos); - angle.x = cLib_targetAngleX(&pos, ¤t.pos); - angle.y = cLib_targetAngleY(¤t.pos, &pos); - angle.z = current.angle.z; - calcSwimAngle(angle, mSwimAngleCalc, 4, angle_step); - shape_angle = mCurAngle = current.angle; - - f32 frame = mpMorf->getFrame(); - cXyz dive_speed(0.0f, 0.0f, 0.0f); - if (mBaseMotionAnm == ANM_DIVE_B) { - if (frame <= 3.0f) { - dive_speed.set(0.0f, 0.0f, 0.0f); - } else if (frame <= 6.0f) { - dive_speed.set(0.0f, 22.0f, 0.0f); - } else if (frame <= 9.0f) { - dive_speed.set(0.0f, 6.0f, 8.5f); - } else if (frame <= 13.0f) { - dive_speed.set(0.0f, -9.25f, 4.5f); - } else if (frame <= 20.0f) { - dive_speed.set(0.0f, -14.0f, 2.5f); - } else { - dive_speed.set(0.0f, 0.0f, 6.25f); - } - } - mDoMtx_stack_c::ZXYrotS(current.angle); - mDoMtx_stack_c::multVec(&dive_speed, &dive_speed); - current.pos += dive_speed; - - if (mBaseMotionAnm == ANM_SWIM_A || mBaseMotionAnm == ANM_SWIM_B) { - ret = true; - if (!calcWaistAngleCheck()) { - calcWaistAngleInit(); - mSwimSpeedScale = 1.0f; - mSwimSpeedF = mSwimSpeedScale * daNpc_zrA_Param_c::m.mSwimSpeed; - } - cXyz swim_speed(0.0f, 0.0f, mSwimSpeedF); - calcSwimPos(swim_speed); - } - - calcCanoeMove(true); - break; - } - - case 60: { - cXyz pos; - mPath.getDstPos(current.pos, pos); - f32 water_y; - if (fopAcM_getWaterY(¤t.pos, &water_y) && pos.y > water_y) { - pos.y = water_y; - } - csXyz angle; - angle.x = cLib_targetAngleX(&pos, ¤t.pos); - angle.y = cLib_targetAngleY(¤t.pos, &pos); - angle.z = current.angle.z; - current.angle.z = 0; - calcSwimAngle(angle, mSwimAngleCalc, 8, angle_step); - calcBank(angle_step, 8, angle.y, angle.z); - current.angle.z = angle.z; - shape_angle = mCurAngle = current.angle; - cXyz swim_speed(0.0f, 0.0f, mSwimSpeedF); - calcSwimPos(swim_speed); - if (mAcch.ChkWaterHit() && current.pos.y > water_y - daNpc_zrA_Param_c::m.mMinDepth) { - current.pos.y = water_y - daNpc_zrA_Param_c::m.mMinDepth; - } - calcCanoeMove(true); - if (cLib_calcTimer(&mEventTimer) == 0) { - ret = true; - } - break; - } - - default: - ret = true; - break; - } - - return ret; -} - - -/* 80B88B04-80B8A064 0106E4 1560+00 1/0 0/0 0/0 .text ECut_resultAnnounce__11daNpc_zrA_cFi */ -BOOL daNpc_zrA_c::ECut_resultAnnounce(int i_staffID) { - dEvent_manager_c& event_manager = dComIfGp_getEventManager(); - BOOL ret = false; - int prm = -1; - s16 angle_step = daNpc_zrA_Param_c::m.mSwimAngleSpeed; - f32 water_height = mAcch.m_wtr.GetHeight(); - daPy_py_c* player = daPy_getPlayerActorClass(); - cXyz player_pos = player->current.pos; - int* prm_p = dComIfGp_evmng_getMyIntegerP(i_staffID, "prm"); - if (prm_p != NULL) { - prm = *prm_p; - } - - if (event_manager.getIsAddvance(i_staffID)) { - switch (prm) { - case 0: - daNpcF_offTmpBit(0xb); - daNpcF_offTmpBit(0xc); - if (mActionType == ACT_TYPE_0) { - setMotion(MOT_SWIM_B, -1.0f, false); - } else { - setMotion(MOT_SWIM_A, -1.0f, false); - } - mTurnMode = 0; - break; - - case 1: - if (mActorMngr[2].getActorP() != NULL - && fopAcM_GetName(mActorMngr[2].getActorP()) == PROC_CANOE) - { - static_cast(mActorMngr[2].getActorP())->setWaterFallDownSe(); - } - daPy_getPlayerActorClass()->offCanoeSlider(); - dComIfG_TimerDeleteRequest(4); - dMeter2Info_resetMiniGameItem(false); - break; - - case 10: - initTalk(mFlowID, NULL); - break; - - case 20: { - mPath.onReverse(); - mPath.setIdx(mPath.getEndIdx() - 1); - cXyz pos1(-77941.7f, -18800.0f - daNpc_zrA_Param_c::m.mMinDepth - 30.0f, 39645.3f); - cXyz pos2(-78941.7f, -18800.0f - daNpc_zrA_Param_c::m.mMinDepth - 30.0f, 39645.3f); - current.pos = pos1; - current.angle.y = cLib_targetAngleY(&pos1, &player_pos); - setAngle(current.angle.y); - - cXyz water_pos = current.pos; - f32 water_y; - if (fopAcM_getWaterY(&water_pos, &water_y)) { - water_pos.y = water_y; - } - - cXyz offset(0.0f, 0.0f, daNpc_zrA_Param_c::m.field_0xa0); - csXyz angle(0, cLib_targetAngleY(&pos1, &pos2), 0); - mDoMtx_stack_c::ZXYrotS(angle); - mDoMtx_stack_c::transM(offset); - mDoMtx_stack_c::multVecZero(&field_0x159c[0]); - field_0x159c[0] += water_pos; - - offset.set(0.0f, 0.0f, daNpc_zrA_Param_c::m.field_0xa4); - mDoMtx_stack_c::ZXYrotS(angle); - mDoMtx_stack_c::transM(offset); - mDoMtx_stack_c::multVecZero(&field_0x159c[1]); - field_0x159c[1] += field_0x159c[0]; - field_0x159c[2] = field_0x159c[1]; - - cLib_targetAngleY(&pos2, &pos1); - static_cast(mActorMngr[2].getActorP()) - ->setPosAndAngle(&field_0x159c[1], angle.y + 0x8000); - dComIfGp_event_offHindFlag(0x80); - break; - } - - case 30: - initTalk(mFlowID, NULL); - break; - - case 40: - if (mActionType == ACT_TYPE_0) { - setMotion(MOT_DIVE_B_SWIM_B, -1.0f, false); - } else { - setMotion(MOT_DIVE_B_SWIM_A, -1.0f, false); - } - break; - - case 50: - calcWaistAngleInit(); - mEventTimer = 120; - mSwimAngleCalc = current.angle; - break; - } - } - - switch (prm) { - case 0: - if (player_pos.y < -18640.0f) { - ret = true; - } - // fallthrough - - case 1: - if (mMotion == MOT_SWIM_A || mMotion == MOT_SWIM_B) { - if (mBaseMotionAnm != ANM_SWIM_A && mBaseMotionAnm != ANM_SWIM_B) { - break; - } - - cXyz pos; - f32 target_speed; - if (mPath.getIdx() != mPath.getNextIdx()) { - mPath.getDstPos(current.pos, pos); - cXyz vec = field_0x1500 - player->current.pos; - target_speed = vec.abs() * 1.2f; - if (target_speed < daNpc_zrA_Param_c::m.mSwimSpeed) { - target_speed = daNpc_zrA_Param_c::m.mSwimSpeed; - } - } else { - if ((field_0x1500 - player->current.pos).absXZ() < 5.0f) { - cXyz vec1(350.0f, 0.0f, 0.0f); - cXyz vec2, vec3; - mDoMtx_stack_c::YrotS(player->current.angle.y); - mDoMtx_stack_c::multVec(&vec1, &vec2); - vec3 = player->current.pos - vec2; - vec2 += player->current.pos; - if ((vec2 - current.pos).absXZ() < (vec3 - current.pos).absXZ()) { - pos = vec2; - } else { - pos = vec3; - } - if ((player_pos - current.pos).absXZ() > 450.0f) { - target_speed = daNpc_zrA_Param_c::m.mSwimSpeed * 1.5f * 1.5f; - } else { - target_speed = 15.0f; - pos = player_pos; - } - } else { - target_speed = 0.0f; - if (mSwimSpeedF < 10.0f) { - pos = player_pos; - } else { - mPath.getDstPos(current.pos, pos); - } - } - } - - cLib_addCalc2(&mSwimSpeedF, target_speed, 0.2f, 3.0f); - f32 play_speed = mpMorf->getPlaySpeed(); - cLib_addCalc2(&play_speed, 1.0f, 0.2f, 0.03f); - mpMorf->setPlaySpeed(play_speed); - - csXyz angle; - angle.x = cLib_targetAngleX(&pos, ¤t.pos); - angle.y = cLib_targetAngleY(¤t.pos, &pos); - angle.z = current.angle.z; - current.angle.z = 0; - calcSwimAngle(angle, mSwimAngleCalc, 8, angle_step); - calcBank(angle_step, 8, angle.y, angle.z); - current.angle.z = angle.z; - shape_angle = mCurAngle = current.angle; - cXyz swim_speed(0.0f, 0.0f, mSwimSpeedF); - calcSwimPos(swim_speed); - if (mAcch.ChkWaterHit() - && current.pos.y > water_height - daNpc_zrA_Param_c::m.mMinDepth) - { - current.pos.y = water_height - daNpc_zrA_Param_c::m.mMinDepth; - } - - if ((field_0x1500 - player->current.pos).absXZ() < 10.0f - && (player_pos - current.pos).absXZ() < 400.0f) - { - setMotion(MOT_FLOAT_B, -1.0f, false); - calcWaistAngleStop(); - } - field_0x1500 = player->current.pos; - } else { - calcWaitSwim(true); - if (mCurAngle.y == fopAcM_searchPlayerAngleY(this)) { - if (mBaseMotionAnm == ANM_WAIT_SWIM) { - if (prm == 1) { - ret = true; - } - mTurnMode = 0; - } - } else { - cLib_chaseAngleS(&mCurAngle.y, fopAcM_searchPlayerAngleY(this), - daNpc_zrA_Param_c::m.mSwimAngleSpeed); - setAngle(mCurAngle.y); - } - } - - break; - - case 10: - calcWaitSwim(true); - if (talkProc(NULL, 1, NULL)) { - ret = true; - } - break; - - case 20: - calcWaitSwim(true); - calcCanoeMove(false); - current.angle.y = cLib_targetAngleY(¤t.pos, &player_pos); - setAngle(current.angle.y); - ret = true; - break; - - case 30: - calcWaitSwim(true); - calcCanoeMove(false); - if (talkProc(NULL, 1, NULL)) { - if (dComIfGs_isSaveDunSwitch(0x3e)) { - dStage_changeScene(0xf, 0.0f, 0, fopAcM_GetRoomNo(this), 0, -1); - } else { - ret = true; - mSwimAngleCalc = current.angle; - mSwimSpeedScale = 1.0f; - mSwimSpeedF = mSwimSpeedScale * daNpc_zrA_Param_c::m.mSwimSpeed; - setLookMode(LOOK_NONE); - } - } - break; - - case 40: { - s16 angle_step = daNpc_zrA_Param_c::m.mSwimAngleSpeed; - cLib_chaseF(&mScaleFactor, daNpc_zrA_Param_c::m.mMaxScaleFactor, - (daNpc_zrA_Param_c::m.mMaxScaleFactor - 1.0f) / 30.0f); - cXyz pos; - csXyz angle; - mPath.getDstPosDst2(current.pos, pos); - angle.x = cLib_targetAngleX(&pos, ¤t.pos); - angle.y = cLib_targetAngleY(¤t.pos, &pos); - angle.z = current.angle.z; - calcSwimAngle(angle, mSwimAngleCalc, 4, angle_step); - shape_angle = mCurAngle = current.angle; - - f32 frame = mpMorf->getFrame(); - cXyz dive_speed(0.0f, 0.0f, 0.0f); - if (mBaseMotionAnm == ANM_DIVE_B) { - if (frame <= 3.0f) { - dive_speed.set(0.0f, 0.0f, 0.0f); - } else if (frame <= 6.0f) { - dive_speed.set(0.0f, 22.0f, 0.0f); - } else if (frame <= 9.0f) { - dive_speed.set(0.0f, 6.0f, 8.5f); - } else if (frame <= 13.0f) { - dive_speed.set(0.0f, -9.25f, 4.5f); - } else if (frame <= 20.0f) { - dive_speed.set(0.0f, -14.0f, 2.5f); - } else { - dive_speed.set(0.0f, 0.0f, 6.25f); - } - } - mDoMtx_stack_c::ZXYrotS(current.angle); - mDoMtx_stack_c::multVec(&dive_speed, &dive_speed); - current.pos += dive_speed; - - if (mBaseMotionAnm == ANM_SWIM_A || mBaseMotionAnm == ANM_SWIM_B) { - ret = true; - if (!calcWaistAngleCheck()) { - calcWaistAngleInit(); - mSwimSpeedScale = 1.0f; - mSwimSpeedF = mSwimSpeedScale * daNpc_zrA_Param_c::m.mSwimSpeed; - } - cXyz swim_speed(0.0f, 0.0f, mSwimSpeedF); - calcSwimPos(swim_speed); - } - - calcCanoeMove(true); - break; - } - - case 50: { - cXyz pos; - mPath.getDstPos(current.pos, pos); - f32 water_y; - if (fopAcM_getWaterY(¤t.pos, &water_y) && pos.y > water_y) { - pos.y = water_y; - } - csXyz angle; - angle.x = cLib_targetAngleX(&pos, ¤t.pos); - angle.y = cLib_targetAngleY(¤t.pos, &pos); - angle.z = current.angle.z; - current.angle.z = 0; - calcSwimAngle(angle, mSwimAngleCalc, 8, angle_step); - calcBank(angle_step, 8, angle.y, angle.z); - current.angle.z = angle.z; - shape_angle = mCurAngle = current.angle; - cXyz swim_speed(0.0f, 0.0f, mSwimSpeedF); - calcSwimPos(swim_speed); - if (mAcch.ChkWaterHit() && current.pos.y > water_y - daNpc_zrA_Param_c::m.mMinDepth) { - current.pos.y = water_y - daNpc_zrA_Param_c::m.mMinDepth; - } - calcCanoeMove(true); - if (cLib_calcTimer(&mEventTimer) == 0) { - ret = true; - } - break; - } - - default: - ret = true; - break; - } - - return ret; -} - - -/* 80B8A064-80B8A3CC 011C44 0368+00 3/3 0/0 0/0 .text calcCanoeMove__11daNpc_zrA_cFi */ -void daNpc_zrA_c::calcCanoeMove(BOOL param_0) { - csXyz angle; - cXyz vec; - cXyz water_pos = current.pos; - f32 water_y; - if (fopAcM_getWaterY(&water_pos, &water_y)) { - water_pos.y = water_y; - } - - angle.x = cLib_targetAngleX(&field_0x159c[0], &water_pos); - angle.y = cLib_targetAngleY(&water_pos, &field_0x159c[0]); - angle.z = 0; - - vec.set(0.0f, 0.0f, daNpc_zrA_Param_c::m.field_0xa0); - mDoMtx_stack_c::ZXYrotS(angle); - mDoMtx_stack_c::multVec(&vec, &field_0x159c[0]); - field_0x159c[0] += water_pos; - if (fopAcM_getWaterY(&field_0x159c[0], &water_y)) { - field_0x159c[0].y = water_y; - } - - angle.x = cLib_targetAngleX(&field_0x159c[1], &field_0x159c[0]); - angle.y = cLib_targetAngleY(&field_0x159c[0], &field_0x159c[1]); - - vec.set(0.0f, 0.0f, daNpc_zrA_Param_c::m.field_0xa4); - mDoMtx_stack_c::ZXYrotS(angle); - mDoMtx_stack_c::multVec(&vec, &field_0x159c[1]); - field_0x159c[1] += field_0x159c[0]; - if (fopAcM_getWaterY(&field_0x159c[1], &water_y)) { - field_0x159c[1].y = water_y; - } - - if (param_0) { - f32 fvar2 = (water_pos - field_0x159c[2]).abs(); - (water_pos - field_0x159c[1]).abs(); - if (fvar2 > daNpc_zrA_Param_c::m.field_0xa0 + daNpc_zrA_Param_c::m.field_0xa4) - { - cLib_addCalcPos2(&field_0x159c[2], field_0x159c[1], 0.2f, mSwimSpeedF * 1.2f); - if (fopAcM_getWaterY(&field_0x159c[2], &water_y)) { - field_0x159c[2].y = water_y; - } - } - } else { - field_0x159c[2] = field_0x159c[1]; - } - - static_cast(mActorMngr[2].getActorP()) - ->setPosAndAngle(&field_0x159c[2], angle.y + 0x8000); -} - - -/* 80B8A3CC-80B8A43C 011FAC 0070+00 1/1 0/0 0/0 .text s_subMark__FPvPv */ -static void* s_subMark(void* i_proc, void* i_this) { - if (fopAc_IsActor(i_proc) && fopAcM_GetName(i_proc) == PROC_ZRA_MARK) { - daObjZraMark_c* zra_mark = static_cast(i_proc); - daNpc_zrA_c* _this = static_cast(i_this); - if (zra_mark->getMarkNo() == _this->getNoFromParam()) { - return i_proc; - } - } - return NULL; -} - -/* 80B8A43C-80B8A54C 01201C 0110+00 1/0 0/0 0/0 .text tobiSearch__11daNpc_zrA_cFPv */ -BOOL daNpc_zrA_c::tobiSearch(void* param_0) { - daObjZraMark_c* zra_mark; - - switch (mMode) { - case 0: - mAcch.SetGrndNone(); - mAcch.SetWallNone(); - setExpression(EXPR_NONE, -1.0f); - setMotion(MOT_WAIT_A, -1.0f, false); - setLookMode(LOOK_NONE); - mActionSelect = 0; - mCcStts.SetWeight(0); - mMode = 2; - // fallthrough - - case 2: - zra_mark = (daObjZraMark_c*)fpcM_Search(s_subMark, this); - if (zra_mark != NULL) { - zra_mark->entryPointer(this); - setAction(&tobiWait); - } - break; - - case 3: - break; - } - - return true; -} - - -/* 80B8A54C-80B8A648 01212C 00FC+00 2/0 0/0 0/0 .text tobiWait__11daNpc_zrA_cFPv */ -BOOL daNpc_zrA_c::tobiWait(void* param_0) { - switch (mMode) { - case 0: - setExpression(EXPR_NONE, -1.0f); - setMotion(MOT_WAIT_A, -1.0f, false); - setLookMode(LOOK_NONE); - mAttnChangeTimer = 0; - mTurnMode = 0; - mActionSelect = 1; - mMode = 2; - // fallthrough - - case 2: - if (mCcCyl.ChkTgHit() || mBlastFlag) { - setAction(&tobikomi1); - } - break; - - case 3: - break; - } - - return true; -} - - -/* ############################################################################################## */ -/* 80B8CCFC-80B8CD00 0008A4 0004+00 0/3 0/0 0/0 .rodata @11359 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_11359 = -42.0f / 25.0f; -COMPILER_STRIP_GATE(0x80B8CCFC, &lit_11359); -#pragma pop - -/* 80B8CD00-80B8CD04 0008A8 0004+00 0/1 0/0 0/0 .rodata @11360 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_11360 = 0xC0FFAE14; -COMPILER_STRIP_GATE(0x80B8CD00, &lit_11360); -#pragma pop - -/* 80B8CD04-80B8CD08 0008AC 0004+00 0/1 0/0 0/0 .rodata @11361 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_11361 = 0x434E5EB8; -COMPILER_STRIP_GATE(0x80B8CD04, &lit_11361); -#pragma pop - -/* 80B8A648-80B8A7F8 012228 01B0+00 2/0 0/0 0/0 .text tobikomi1__11daNpc_zrA_cFPv */ -BOOL daNpc_zrA_c::tobikomi1(void* param_0) { - switch (mMode) { - case 0: - setExpression(EXPR_NONE, -1.0f); - setMotion(MOT_TOBIKOMI_S, -1.0f, false); - mActionSelect = 2; - mMode = 2; - // fallthrough - - case 2: - if (mBaseMotionAnm == MOT_FLOAT_B) { - if (mpMorf->isStop()) { - cXyz vec(-1.68f, -7.99f, 206.37f); - mDoMtx_stack_c::YrotS(mCurAngle.y); - mDoMtx_stack_c::multVec(&vec, &vec); - current.pos += vec; - old.pos = current.pos; - setAction(&tobikomi2); - } else { - s16 angle_y = home.angle.y; - if (getAngleNoFromParam() == 1) { - angle_y -= 0x2000; - } else if (getAngleNoFromParam() == 2) { - angle_y += 0x2000; - } - cLib_chaseAngleS(&mCurAngle.y, angle_y, 0x800); - setAngle(mCurAngle.y); - } - } - break; - - case 3: - break; - } - - return true; -} - - -/* ############################################################################################## */ -/* 80B8CD08-80B8CD0C 0008B0 0004+00 0/1 0/0 0/0 .rodata @11409 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_11409 = -47.0f; -COMPILER_STRIP_GATE(0x80B8CD08, &lit_11409); -#pragma pop - -/* 80B8A7F8-80B8AA1C 0123D8 0224+00 2/0 0/0 0/0 .text tobikomi2__11daNpc_zrA_cFPv */ -BOOL daNpc_zrA_c::tobikomi2(void* param_0) { - f32 water_y; - - switch (mMode) { - case 0: - setExpression(EXPR_NONE, -1.0f); - setMotion(MOT_TOBIKOMI_T, -1.0f, false); - mActionSelect = 3; - mSwimSpeed.set(0.0f, -47.0f, 36.0f); - mDoMtx_stack_c::YrotS(mCurAngle.y); - mDoMtx_stack_c::multVec(&mSwimSpeed, &mSwimSpeed); - mMode = 2; - // fallthrough - - case 2: - if (fopAcM_getWaterY(¤t.pos, &water_y)) { - cXyz head_pos; - mDoMtx_stack_c::copy(mpMorf->getModel()->getAnmMtx(4)); - mDoMtx_stack_c::scaleM(scale); - mDoMtx_stack_c::multVecZero(&head_pos); - if (head_pos.y <= water_y) { - cXyz water_pos = head_pos; - water_pos.y = water_y; - fopKyM_createWpillar(&water_pos, 2.5f, 0); - mCreatureSound.startCreatureSound(Z2SE_ZRA_DIVE_SPLASH, 0, -1); - setExpression(EXPR_NONE, -1.0f); - setMotion(MOT_TOBIKOMI_E, -1.0f, false); - setAction(&tobikomi3); - break; - } - } - mSwimSpeed.y -= 3.0f; - current.pos += mSwimSpeed; - break; - - case 3: - break; - } - - return true; -} - - -/* 80B8AA1C-80B8AB78 0125FC 015C+00 2/0 0/0 0/0 .text tobikomi3__11daNpc_zrA_cFPv */ -BOOL daNpc_zrA_c::tobikomi3(void* param_0) { - switch (mMode) { - case 0: - mActionSelect = 4; - mSwimAngleCalc = current.angle; - mMode = 2; - // fallthrough - - case 2: { - cXyz vec(0.0f, 0.0f, daNpc_zrA_Param_c::m.mSwimSpeed * 1.5f); - mDoMtx_stack_c::YrotS(mCurAngle.y); - mDoMtx_stack_c::multVec(&vec, &vec); - cLib_chasePos(&mSwimSpeed, vec, 25.0f); - current.pos += mSwimSpeed; - if (mBaseMotionAnm == ANM_SWIM_A) { - if (mBlastFlag) { - setAction(&tobiJump); - } else { - setAction(&tobiEnd); - } - } - break; - } - - case 3: - break; - } - - return true; -} - - -/* 80B8AB78-80B8B1FC 012758 0684+00 2/0 0/0 0/0 .text tobiJump__11daNpc_zrA_cFPv */ -BOOL daNpc_zrA_c::tobiJump(void* param_0) { - cXyz swim_speed; - csXyz angle; - f32 water_y; - s16 angle_step = daNpc_zrA_Param_c::m.mSwimAngleSpeed * 2; - s16 angle_scale = 4; - - switch (mMode) { - case 0: - mActionSelect = 5; - mSwimAngleCalc = current.angle; - mMode = 2; - // fallthrough - - case 2: { - cXyz head_pos; - mDoMtx_stack_c::copy(mpMorf->getModel()->getAnmMtx(4)); - mDoMtx_stack_c::scaleM(scale); - mDoMtx_stack_c::multVecZero(&head_pos); - - if (field_0x153e) { - if (mpMorf->getFrame() > 13.0f && mpMorf->getFrame() < 17.0f) { - f32 play_speed = mpMorf->getPlaySpeed(); - cLib_addCalc2(&play_speed, 0.3f, 0.5f, 0.8f); - mpMorf->setPlaySpeed(play_speed); - } - - calcBank(angle_step, angle_scale, current.angle.y, current.angle.z); - mSwimSpeed.y -= 2.0f; - current.pos += mSwimSpeed; - if (current.angle.x < 0x3a00) { - current.angle.x = -cM_atan2s(mSwimSpeed.y, mSwimSpeed.absXZ()); - } - shape_angle = mCurAngle = current.angle; - - if (fopAcM_getWaterY(¤t.pos, &water_y)) { - if (mIsAboveWater && head_pos.y + mSwimSpeed.y <= water_y) { - cXyz water_pos = head_pos; - water_pos.y = water_y; - fopKyM_createWpillar(&water_pos, 2.5f, 0); - mCreatureSound.startCreatureSound(Z2SE_ZRA_DIVE_SPLASH, 0, -1); - mIsAboveWater = false; - } - - if (current.pos.y <= water_y - daNpc_zrA_Param_c::m.mMinDepth) { - setAction(&tobiEnd); - mSwimSpeedF = mSwimSpeed.absXZ(); - } - } - - return true; - } else { - angle.x = -0x3b00; - angle.y = current.angle.y; - angle.z = current.angle.z; - - if (fopAcM_getWaterY(¤t.pos, &water_y)) { - angle_step = daNpc_zrA_Param_c::m.mSwimAngleSpeed * 2; - angle_scale = 2; - if (!(head_pos.y < water_y)) { - if (!mIsAboveWater) { - cXyz water_pos = head_pos; - water_pos.y = water_y; - fopKyM_createWpillar(&water_pos, 2.5f, 0); - mIsAboveWater = true; - mCreatureSound.startCreatureSound(Z2SE_ZRA_DIVE_SPLASH_OUT, 0, -1); - } - - if (current.pos.y > water_y) { - swim_speed.set(0.0f, 0.0f, mSwimSpeedF); - calcSwimPos(swim_speed); - mSwimSpeed = swim_speed; - field_0x153e = true; - return true; - } - } - } - - calcSwimAngle(angle, mSwimAngleCalc, angle_scale, angle_step); - cLib_addCalc2(&mSwimSpeedF, 2.0f * daNpc_zrA_Param_c::m.mSwimSpeed, 0.7f, 10.0f); - swim_speed.set(0.0f, 0.0f, mSwimSpeedF); - calcSwimPos(swim_speed); - f32 play_speed = mpMorf->getPlaySpeed(); - cLib_addCalc2(&play_speed, mSwimSpeedF / daNpc_zrA_Param_c::m.mSwimAnmRate, 0.2f, 0.1f); - mpMorf->setPlaySpeed(play_speed); - shape_angle = mCurAngle = current.angle; - } - - break; - } - - case 3: - break; - } - - return true; -} - - -/* 80B8B1FC-80B8B3A0 012DDC 01A4+00 3/0 0/0 0/0 .text tobiEnd__11daNpc_zrA_cFPv */ -BOOL daNpc_zrA_c::tobiEnd(void* param_0) { - cXyz swim_speed; - s16 angle_step = daNpc_zrA_Param_c::m.mSwimAngleSpeed; - - switch (mMode) { - case 0: - mActionSelect = 6; - mMode = 2; - // fallthrough - - case 2: { - if (fopAcM_otherBgCheck(this, dComIfGp_getPlayer(0)) - || fopAcM_CheckCondition(this, fopAcCnd_NODRAW_e)) - { - fopAcM_delete(this); - return true; - } - - csXyz angle; - angle.x = 0x3000; - angle.y = current.angle.y; - angle.z = current.angle.z; - calcSwimAngle(angle, mSwimAngleCalc, 8, angle_step); - cLib_chaseF(&mSwimSpeedF, daNpc_zrA_Param_c::m.mSwimSpeed, - daNpc_zrA_Param_c::m.mSwimSpeed / 3.0f); - swim_speed.set(0.0f, 0.0f, mSwimSpeedF); - calcSwimPos(swim_speed); - f32 play_speed = mpMorf->getPlaySpeed(); - cLib_addCalc2(&play_speed, mSwimSpeedF / daNpc_zrA_Param_c::m.mSwimAnmRate, 0.2f, 0.1f); - mpMorf->setPlaySpeed(play_speed); - calcBank(angle_step, 8, angle.y, angle.z); - current.angle.z = angle.z; - shape_angle = mCurAngle = current.angle; - } - - case 3: - break; - } - - return true; -} - - -/* 80B8B3A0-80B8B420 012F80 0080+00 1/1 0/0 0/0 .text s_subSP__FPvPv */ -static void* s_subSP(void* i_proc, void* i_this) { - if (fopAc_IsActor(i_proc) && fopAcM_GetName(i_proc) == PROC_NPC_ZRA) { - daNpc_zrA_c* other = static_cast(i_proc); - daNpc_zrA_c* _this = static_cast(i_this); - if (other->getType() == _this->getType() - && other->getNoFromParam() != _this->getNoFromParam()) - { - return other; - } - } - return NULL; -} - -/* 80B8B420-80B8B530 013000 0110+00 1/0 0/0 0/0 .text waitSearch__11daNpc_zrA_cFPv */ -BOOL daNpc_zrA_c::waitSearch(void* param_0) { - switch (mMode) { - case 0: - setExpression(EXPR_NONE, -1.0f); - setMotion(MOT_WAIT_A, -1.0f, false); - setLookMode(LOOK_NONE); - mAcch.SetGrndNone(); - mAcch.SetWallNone(); - mMode = 2; - // fallthrough - - case 2: - if (mActorMngr[2].getActorP() == NULL) { - fopAc_ac_c* other = (fopAc_ac_c*)fpcM_Search(s_subSP, this); - if (other != NULL) { - mActorMngr[2].entry(other); - } - } - - if (dComIfGs_isSwitch(mSwitch1, fopAcM_GetRoomNo(this))) { - fopAcM_delete(this); - } - break; - - case 3: - break; - } - - return true; -} - - -/* ############################################################################################## */ -/* 80B8CD0C-80B8CD14 0008B4 0008+00 0/1 0/0 0/0 .rodata @11740 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_11740[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B8CD0C, &lit_11740); -#pragma pop - -/* 80B8CD14-80B8CD18 0008BC 0004+00 0/2 0/0 0/0 .rodata @11931 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_11931 = 0xC1F9999A; -COMPILER_STRIP_GATE(0x80B8CD14, &lit_11931); -#pragma pop - -/* 80B8CD18-80B8CD1C 0008C0 0004+00 0/2 0/0 0/0 .rodata @11932 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_11932 = 0x416B3333; -COMPILER_STRIP_GATE(0x80B8CD18, &lit_11932); -#pragma pop - -/* 80B8CD1C-80B8CD20 0008C4 0004+00 0/2 0/0 0/0 .rodata @11933 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_11933 = -30.0f; -COMPILER_STRIP_GATE(0x80B8CD1C, &lit_11933); -#pragma pop - -/* 80B8CD20-80B8CD24 0008C8 0004+00 0/2 0/0 0/0 .rodata @11934 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_11934 = 0x43525EB8; -COMPILER_STRIP_GATE(0x80B8CD20, &lit_11934); -#pragma pop - -/* 80B8CD24-80B8CD28 0008CC 0004+00 0/2 0/0 0/0 .rodata @11935 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_11935 = 0xC5963D9A; -COMPILER_STRIP_GATE(0x80B8CD24, &lit_11935); -#pragma pop - -/* 80B8CD28-80B8CD2C 0008D0 0004+00 0/2 0/0 0/0 .rodata @11936 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_11936 = 0xC34F71AA; -COMPILER_STRIP_GATE(0x80B8CD28, &lit_11936); -#pragma pop - -/* 80B8CD2C-80B8CD30 0008D4 0004+00 0/2 0/0 0/0 .rodata @11937 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_11937 = 0x459FAED5; -COMPILER_STRIP_GATE(0x80B8CD2C, &lit_11937); -#pragma pop - -/* 80B8B530-80B8BCE8 013110 07B8+00 1/0 0/0 0/0 .text ECut_searchPrince1__11daNpc_zrA_cFi - */ -BOOL daNpc_zrA_c::ECut_searchPrince1(int i_staffID) { - dEvent_manager_c& event_manager = dComIfGp_getEventManager(); - BOOL ret = false; - int prm = -1; - fopAc_ac_c* talk_actors[2] = {this, mActorMngr[2].getActorP()}; - f32 water_y; - int* prm_p = dComIfGp_evmng_getMyIntegerP(i_staffID, "prm"); - if (prm_p != NULL) { - prm = *prm_p; - } - - if (event_manager.getIsAddvance(i_staffID)) { - switch (prm) { - case 0: - dComIfGs_onSwitch(mSwitch1, fopAcM_GetRoomNo(this)); - setLookMode(LOOK_ACTOR); - break; - - case 10: - initTalk(mFlowID, talk_actors); - break; - - case 20: - setLookMode(LOOK_NONE); - setExpression(EXPR_NONE, -1.0f); - setMotion(MOT_TOBIKOMI_S, -1.0f, false); - break; - - case 30: - mSwimSpeed.set(0.0f, -31.2f, 14.7f); - mDoMtx_stack_c::YrotS(mCurAngle.y); - mDoMtx_stack_c::multVec(&mSwimSpeed, &mSwimSpeed); - break; - - case 40: - setExpression(EXPR_NONE, -1.0f); - setMotion(MOT_TOBIKOMI_E, -1.0f, false); - mSwimAngleCalc = current.angle; - break; - - case 50: - break; - } - } - - switch (prm) { - case 0: - ret = true; - break; - - case 10: - if (talkProc(NULL, 0, talk_actors)) { - ret = true; - } - break; - - case 20: { - if (mBaseMotionAnm == ANM_TOBIKOMI_S) { - if (mpMorf->isStop()) { - cXyz dive_speed(-1.68f, -30.0f, 210.37f); - mDoMtx_stack_c::YrotS(mCurAngle.y); - mDoMtx_stack_c::multVec(&dive_speed, &dive_speed); - current.pos += dive_speed; - old.pos = current.pos; - setExpression(EXPR_NONE, -1.0f); - setMotion(MOT_TOBIKOMI_T, -1.0f, false); - ret = true; - } else { - cLib_chaseAngleS(&mCurAngle.y, 0x2dca, 0x200); - setAngle(mCurAngle.y); - } - } else if (mBaseMotionAnm == ANM_TOBIKOMI_T) { - ret = true; - } - cXyz head_pos; - mDoMtx_stack_c::copy(mpMorf->getModel()->getAnmMtx(4)); - mDoMtx_stack_c::scaleM(scale); - mDoMtx_stack_c::multVecZero(&head_pos); - break; - } - - case 30: - if (mBaseMotionAnm == ANM_TOBIKOMI_E) { - ret = true; - } else if (fopAcM_getWaterY(¤t.pos, &water_y)) { - cXyz head_pos; - mDoMtx_stack_c::copy(mpMorf->getModel()->getAnmMtx(4)); - mDoMtx_stack_c::scaleM(scale); - mDoMtx_stack_c::multVecZero(&head_pos); - if (head_pos.y <= water_y) { - cXyz water_pos = head_pos; - water_pos.y = water_y; - fopKyM_createWpillar(&water_pos, 2.5f, 0); - mCreatureSound.startCreatureSound(Z2SE_ZRA_DIVE_SPLASH, 0, -1); - setExpression(EXPR_NONE, -1.0f); - setMotion(MOT_TOBIKOMI_E, -1.0f, false); - ret = true; - break; - } - } - mSwimSpeed.y -= 3.0f; - current.pos += mSwimSpeed; - break; - - case 40: { - if (mBaseMotionAnm == ANM_SWIM_A) { - ret = true; - } - cXyz swim_speed(0.0f, 0.0f, daNpc_zrA_Param_c::m.mSwimSpeed); - mDoMtx_stack_c::YrotS(mCurAngle.y); - mDoMtx_stack_c::multVec(&swim_speed, &swim_speed); - cLib_chasePos(&mSwimSpeed, swim_speed, 25.0f); - current.pos += mSwimSpeed; - break; - } - - case 50: { - cXyz pos(-4807.7f, -207.444f, 5109.854f); - cXyz swim_speed(0.0f, 0.0f, daNpc_zrA_Param_c::m.mSwimSpeed); - csXyz angle; - angle.x = cLib_targetAngleX(&pos, ¤t.pos); - angle.y = cLib_targetAngleY(¤t.pos, &pos); - angle.z = current.angle.z; - mpMorf->setPlaySpeed(daNpc_zrA_Param_c::m.mSwimSpeed / daNpc_zrA_Param_c::m.mSwimAnmRate); - calcSwimAngle(angle, mSwimAngleCalc, 23, daNpc_zrA_Param_c::m.mSwimAngleSpeed / 2); - calcSwimPos(swim_speed); - calcBank(daNpc_zrA_Param_c::m.mSwimAngleSpeed / 2, 16, angle.y, angle.z); - current.angle.z = angle.z; - shape_angle = mCurAngle = current.angle; - if ((pos - current.pos).absXZ() < 100.0f) { - ret = true; - } - break; - } - - default: - ret = true; - } - - return ret; -} - - -/* 80B8BCE8-80B8C3E8 0138C8 0700+00 1/0 0/0 0/0 .text ECut_searchPrince2__11daNpc_zrA_cFi - */ -BOOL daNpc_zrA_c::ECut_searchPrince2(int i_staffID) { - dEvent_manager_c& event_manager = dComIfGp_getEventManager(); - BOOL ret = false; - int prm = -1; - f32 water_y; - int* prm_p = dComIfGp_evmng_getMyIntegerP(i_staffID, "prm"); - if (prm_p != NULL) { - prm = *prm_p; - } - - if (event_manager.getIsAddvance(i_staffID)) { - switch (prm) { - case 0: - setLookMode(LOOK_ACTOR); - break; - - case 10: - break; - - case 20: - setLookMode(LOOK_NONE); - setExpression(EXPR_NONE, -1.0f); - setMotion(MOT_TOBIKOMI_S, -1.0f, false); - break; - - case 30: - mSwimSpeed.set(0.0f, -31.2f, 14.7f); - mDoMtx_stack_c::YrotS(mCurAngle.y); - mDoMtx_stack_c::multVec(&mSwimSpeed, &mSwimSpeed); - break; - - case 40: - setExpression(EXPR_NONE, -1.0f); - setMotion(MOT_TOBIKOMI_E, -1.0f, false); - mSwimAngleCalc = current.angle; - break; - - case 50: - break; - } - } - - switch (prm) { - case 0: - ret = true; - break; - - case 10: - ret = true; - break; - - case 20: - if (mBaseMotionAnm == ANM_TOBIKOMI_S) { - if (mpMorf->isStop()) { - cXyz dive_speed(-1.68f, -30.0f, 210.37f); - mDoMtx_stack_c::YrotS(mCurAngle.y); - mDoMtx_stack_c::multVec(&dive_speed, &dive_speed); - current.pos += dive_speed; - old.pos = current.pos; - setExpression(EXPR_NONE, -1.0f); - setMotion(MOT_TOBIKOMI_T, -1.0f, false); - ret = true; - } else { - cLib_chaseAngleS(&mCurAngle.y, 0x2dca, 0x200); - setAngle(mCurAngle.y); - } - } else if (mBaseMotionAnm == ANM_TOBIKOMI_T) { - ret = true; - } - break; - - case 30: - if (mBaseMotionAnm == ANM_TOBIKOMI_E) { - ret = true; - } else if (fopAcM_getWaterY(¤t.pos, &water_y)) { - cXyz head_pos; - mDoMtx_stack_c::copy(mpMorf->getModel()->getAnmMtx(4)); - mDoMtx_stack_c::scaleM(scale); - mDoMtx_stack_c::multVecZero(&head_pos); - if (head_pos.y <= water_y) { - cXyz water_pos = head_pos; - water_pos.y = water_y; - fopKyM_createWpillar(&water_pos, 2.5f, 0); - setExpression(EXPR_NONE, -1.0f); - setMotion(MOT_TOBIKOMI_E, -1.0f, false); - ret = true; - mCreatureSound.startCreatureSound(Z2SE_ZRA_DIVE_SPLASH, 0, -1); - break; - } - } - mSwimSpeed.y -= 3.0f; - current.pos += mSwimSpeed; - break; - - case 40: { - if (mBaseMotionAnm == ANM_SWIM_A) { - ret = true; - } - cXyz swim_speed(0.0f, 0.0f, daNpc_zrA_Param_c::m.mSwimSpeed); - mDoMtx_stack_c::YrotS(mCurAngle.y); - mDoMtx_stack_c::multVec(&swim_speed, &swim_speed); - cLib_chasePos(&mSwimSpeed, swim_speed, 25.0f); - current.pos += mSwimSpeed; - break; - } - - case 50: { - cXyz pos(-4807.7f, -207.444f, 5109.854f); - cXyz swim_speed(0.0f, 0.0f, daNpc_zrA_Param_c::m.mSwimSpeed); - csXyz angle; - angle.x = cLib_targetAngleX(&pos, ¤t.pos); - angle.y = cLib_targetAngleY(¤t.pos, &pos); - angle.z = current.angle.z; - mpMorf->setPlaySpeed(daNpc_zrA_Param_c::m.mSwimSpeed / daNpc_zrA_Param_c::m.mSwimAnmRate); - calcSwimAngle(angle, mSwimAngleCalc, 23, daNpc_zrA_Param_c::m.mSwimAngleSpeed / 2); - calcSwimPos(swim_speed); - calcBank(daNpc_zrA_Param_c::m.mSwimAngleSpeed / 2, 16, angle.y, angle.z); - current.angle.z = angle.z; - shape_angle = mCurAngle = current.angle; - if ((pos - current.pos).absXZ() < 100.0f) { - ret = true; - } - break; - } - - default: - ret = true; - } - - return ret; -} - - -/* 80B8C3E8-80B8C3EC 013FC8 0004+00 1/0 0/0 0/0 .text adjustShapeAngle__11daNpc_zrA_cFv - */ -void daNpc_zrA_c::adjustShapeAngle() { - /* empty function */ -} - -/* 80B8C3EC-80B8C434 013FCC 0048+00 2/1 0/0 0/0 .text __dt__17daNpc_zrA_Param_cFv */ -daNpc_zrA_Param_c::~daNpc_zrA_Param_c() { - // NONMATCHING -} - -/* 80B8C434-80B8C43C 014014 0008+00 1/0 0/0 0/0 .text @36@__dt__12dBgS_ObjAcchFv */ -static void func_80B8C434() { - // NONMATCHING -} - -/* 80B8C43C-80B8C444 01401C 0008+00 1/0 0/0 0/0 .text @20@__dt__12dBgS_ObjAcchFv */ -static void func_80B8C43C() { - // NONMATCHING -} +#include "d/actor/d_a_npc_zra.inc" /* ############################################################################################## */ /* 80B8DAB4-80B8DAB8 000074 0004+00 0/0 0/0 0/0 .bss @@ -10622,4 +2667,29 @@ static u8 data_80B8DB10[4]; static u8 data_80B8DB14[4]; #pragma pop -/* 80B8CD30-80B8CD30 0008D8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file +/* 80B8D8DC-80B8D8FC -00001 0020+00 1/0 0/0 0/0 .data daNpc_zrA_MethodTable */ +static actor_method_class daNpc_zrA_MethodTable = { + (process_method_func)daNpc_zrA_Create, + (process_method_func)daNpc_zrA_Delete, + (process_method_func)daNpc_zrA_Execute, + (process_method_func)daNpc_zrA_IsDelete, + (process_method_func)daNpc_zrA_Draw, +}; + +/* 80B8D8FC-80B8D92C -00001 0030+00 0/0 0/0 1/0 .data g_profile_NPC_ZRA */ +extern actor_process_profile_definition g_profile_NPC_ZRA = { + fpcLy_CURRENT_e, + 3, + fpcPi_CURRENT_e, + PROC_NPC_ZRA, + &g_fpcLf_Method.mBase, + sizeof(daNpc_zrA_c), + 0, + 0, + &g_fopAc_Method.base, + 0x183, + &daNpc_zrA_MethodTable, + 0x44100, + fopAc_NPC_e, + fopAc_CULLBOX_CUSTOM_e, +}; diff --git a/src/d/actor/d_a_npc_zra.inc b/src/d/actor/d_a_npc_zra.inc new file mode 100644 index 0000000000..7a2f53087f --- /dev/null +++ b/src/d/actor/d_a_npc_zra.inc @@ -0,0 +1,3920 @@ +/* 80B7F8C4-80B7FD10 0074A4 044C+00 3/0 0/0 0/0 .text wait__11daNpc_zrA_cFPv */ +BOOL daNpc_zrA_c::wait(void* param_0) { + switch (mMode) { + case 0: + if (field_0x1510 == 0) { + if (mPath.getPathInfo() == NULL) { + if (mAcch.ChkWaterIn()) { + gravity = 0.0f; + speed.setall(0.0f); + speedF = 0.0f; + } else { + switch (mActionType) { + case ACT_TYPE_1: + setExpression(EXPR_SADSIT_A, -1.0f); + setMotion(MOT_SADSIT_A, -1.0f, false); + break; + case ACT_TYPE_2: + setExpression(EXPR_SADSIT_B, -1.0f); + setMotion(MOT_SADSIT_B, -1.0f, false); + break; + case ACT_TYPE_3: + setExpression(EXPR_SADSIT_C, -1.0f); + setMotion(MOT_SADSIT_C, -1.0f, false); + break; + case ACT_TYPE_4: + setExpression(EXPR_SADSIT_D, -1.0f); + setMotion(MOT_SADSIT_D, -1.0f, false); + break; + case ACT_TYPE_5: + setExpression(EXPR_SADSIT_E, -1.0f); + setMotion(MOT_SADSIT_E, -1.0f, false); + break; + default: + setExpression(EXPR_NONE, -1.0f); + setMotion(MOT_WAIT_A, -1.0f, false); + break; + } + } + } else { + setExpression(EXPR_NONE, -1.0f); + setMotion(MOT_WALK_A, -1.0f, false); + field_0x1510 = 1; + } + } else { + setMotion(MOT_WALK_A, -1.0f, false); + } + setLookMode(LOOK_NONE); + mAttnChangeTimer = 0; + mTurnMode = 0; + mMode = 2; + // fallthrough + + case 2: + if (field_0x1510 != 0) { + walkCalc(); + } else { + waitCalc(); + } + + if (mDamageTimer == 0 && !mTwilight) { + BOOL player_attn = mActorMngr[0].getActorP() != NULL; + if (chkFindPlayer2(player_attn, shape_angle.y)) { + if (!player_attn) { + mActorMngr[0].entry(daPy_getPlayerActorClass()); + mTurnMode = 0; + } + } else { + if (player_attn) { + mActorMngr[0].remove(); + mTurnMode = 0; + } + } + + if (mActorMngr[0].getActorP() != NULL) { + setLookMode(LOOK_PLAYER); + } else { + setLookMode(LOOK_NONE); + if (field_0x1510 == 0 && home.angle.y != mCurAngle.y) { + if (mAcch.ChkWaterIn()) { + if (step(home.angle.y, -1, -1, 15)) { + mMode = 0; + } + } else { + if (step(home.angle.y, EXPR_NONE, MOT_STEP, 15)) { + mMode = 0; + } + } + } + } + } + break; + + case 3: + speedF = 0.0f; + break; + } + + return true; +} + +/* 80B7FD10-80B7FE18 0078F0 0108+00 1/1 0/0 0/0 .text walkCalc__11daNpc_zrA_cFv */ +void daNpc_zrA_c::walkCalc() { + field_0x1550 = false; + cXyz next_pnt; + if (mPath.getDstPosDstXZ(current.pos, next_pnt)) { + mPath.reverse(); + mPath.getDstPosDstXZ(current.pos, next_pnt); + } + s16 target_angle = cLib_targetAngleY(¤t.pos, &next_pnt); + speedF = daNpc_zrA_Param_c::m.mWalkSpeed; + mpMorf->setPlaySpeed(daNpc_zrA_Param_c::m.mWalkSpeed / daNpc_zrA_Param_c::m.mWalkAnmRate); + cLib_addCalcAngleS2(¤t.angle.y, target_angle, + daNpc_zrA_Param_c::m.mWalkAngleScale, daNpc_zrA_Param_c::m.mWalkAngleSpeed); + mCurAngle = current.angle; + shape_angle = mCurAngle; + mOldAngle.y = mCurAngle.y; +} + +/* 80B7FE18-80B800A4 0079F8 028C+00 1/1 0/0 0/0 .text waitCalc__11daNpc_zrA_cFv */ +void daNpc_zrA_c::waitCalc() { + if (mAcch.ChkWaterIn()) { + if (mMotion != MOT_WAIT_SWIM) { + setExpression(EXPR_NONE, -1.0f); + setMotion(MOT_WAIT_SWIM, -1.0f, false); + gravity = 0.0f; + speed.setall(0.0f); + speedF = 0.0f; + } + field_0x1550 = true; + calcModulation(); + } else { + field_0x1550 = false; + if (mMotion == MOT_WAIT_SWIM) { + switch (mActionType) { + case ACT_TYPE_1: + setExpression(EXPR_SADSIT_A, -1.0f); + setMotion(MOT_SADSIT_A, -1.0f, false); + break; + case ACT_TYPE_2: + setExpression(EXPR_SADSIT_B, -1.0f); + setMotion(MOT_SADSIT_B, -1.0f, false); + break; + case ACT_TYPE_3: + setExpression(EXPR_SADSIT_C, -1.0f); + setMotion(MOT_SADSIT_C, -1.0f, false); + break; + case ACT_TYPE_4: + setExpression(EXPR_SADSIT_D, -1.0f); + setMotion(MOT_SADSIT_D, -1.0f, false); + break; + case ACT_TYPE_5: + setExpression(EXPR_SADSIT_E, -1.0f); + setMotion(MOT_SADSIT_E, -1.0f, false); + break; + default: + setExpression(EXPR_NONE, -1.0f); + setMotion(MOT_WAIT_A, -1.0f, false); + } + } + } +} + +/* 80B800A4-80B80228 007C84 0184+00 1/0 0/0 0/0 .text waitSpa__11daNpc_zrA_cFPv */ +BOOL daNpc_zrA_c::waitSpa(void* param_0) { + switch (mMode) { + case 0: + switch (mActionType) { + case ACT_TYPE_2: + setExpression(EXPR_SPA_WAIT_A, -1.0f); + setMotion(MOT_SPA_WAIT_A, -1.0f, false); + field_0x9ea = true; + break; + case ACT_TYPE_3: + setExpression(EXPR_SPA_WAIT_B, -1.0f); + setMotion(MOT_SPA_WAIT_B, -1.0f, false); + field_0x9ea = true; + break; + default: + setExpression(EXPR_LOOKUP_2, -1.0f); + setMotion(MOT_LOOKUP, -1.0f, false); + field_0x9ea = true; + break; + } + + setLookMode(LOOK_NONE); + mAttnChangeTimer = 0; + mTurnMode = 0; + mMode = 2; + break; + + case 2: + break; + + case 3: + speedF = 0.0f; + break; + } + + return true; +} + +/* 80B80228-80B80418 007E08 01F0+00 1/0 0/0 0/0 .text waitLake__11daNpc_zrA_cFPv */ +BOOL daNpc_zrA_c::waitLake(void* param_0) { + switch (mMode) { + case 0: + setExpression(EXPR_LOOKING_SP_2, -1.0f); + setMotion(MOT_LOOKING_SP, -1.0f, false); + setLookMode(LOOK_NONE); + mTurnMode = 0; + mMode = 2; + // fallthrough + + case 2: + if (mDamageTimer == 0 && !mTwilight) { + if (mActorMngr[0].getActorP() != NULL) { + if (!chkFindPlayer()) { + mTurnMode = 0; + } + } else { + if (chkFindPlayer()) { + mTurnMode = 0; + } + } + + if (mActorMngr[0].getActorP() != NULL) { + setLookMode(LOOK_PLAYER); + setExpression(EXPR_NONE, -1.0f); + setMotion(MOT_WAIT_A, -1.0f, false); + } else { + setLookMode(LOOK_NONE); + if (home.angle.y != mCurAngle.y) { + if (step(home.angle.y, EXPR_NONE, MOT_STEP, 15)) { + mMode = 0; + } + } else { + setExpression(EXPR_LOOKING_SP_2, -1.0f); + setMotion(MOT_LOOKING_SP, -1.0f, false); + } + } + } + + case 3: + break; + } + + return true; +} + +/* 80B80418-80B8064C 007FF8 0234+00 3/0 0/0 0/0 .text talk__11daNpc_zrA_cFPv */ +BOOL daNpc_zrA_c::talk(void* param_0) { + BOOL ret = false; + BOOL bvar2 = false; + + switch (mMode) { + case 0: + if (mDamageTimer != 0) { + break; + } + + initTalk(mFlowID, NULL); + mTurnMode = 0; + mMode = 2; + // fallthrough + + case 2: + if (mType != TYPE_SPA) { + calcModulation(); + } + + if (field_0x9ea || mTwilight) { + bvar2 = true; + } else { + setLookMode(LOOK_PLAYER_TALK); + mActorMngr[0].entry(daPy_getPlayerActorClass()); + if (mCurAngle.y == fopAcM_searchPlayerAngleY(this)) { + bvar2 = true; + } else if (mAcch.ChkWaterIn()) { + if (step(fopAcM_searchPlayerAngleY(this), -1, -1, 15)) { + mTurnMode = 0; + } + } else { + if (step(fopAcM_searchPlayerAngleY(this), EXPR_NONE, MOT_STEP, 15)) { + setMotion(MOT_WAIT_A, -1.0f, false); + mTurnMode = 0; + } + } + } + + if (bvar2 && talkProc(NULL, true, NULL)) { + ret = true; + } + + if (ret) { + mMode = 3; + if (!field_0x9ec) { + dComIfGp_event_reset(); + setAction(&wait); + } + field_0x9ec = false; + } + break; + + case 3: + mFlowID = home.angle.x; + break; + } + + return ret; +} + +/* 80B8064C-80B806FC 00822C 00B0+00 1/1 0/0 0/0 .text s_subMulti__FPvPv */ +static void* s_subMulti(void* i_proc, void* i_this) { + if (fopAc_IsActor(i_proc) && fopAcM_GetName(i_proc) == PROC_NPC_ZRA) { + daNpc_zrA_c* _this = static_cast(i_this); + daNpc_zrA_c* other = static_cast(i_proc); + if (other != _this && other->getType() == daNpc_zrA_c::TYPE_WAIT + && other->getMultiModeFromParam() != 0 + && other->getMultiModeFromParam() == _this->getMultiModeFromParam() + && other->getMultiNoFromParam() == 2) + { + return other; + } + } + return NULL; +} + +/* 80B806FC-80B80860 0082DC 0164+00 1/0 0/0 0/0 .text ECut_talkMulti__11daNpc_zrA_cFi */ +BOOL daNpc_zrA_c::ECut_talkMulti(int i_staffID) { + dEvent_manager_c& event_manager = dComIfGp_getEventManager(); + BOOL ret = false; + int prm = -1; + + fopAc_ac_c* actors[2] = {NULL, NULL}; + actors[0] = this; + actors[1] = mActorMngr[2].getActorP(); + + int* prm_p = dComIfGp_evmng_getMyIntegerP(i_staffID, "prm"); + if (prm_p != NULL) { + prm = *prm_p; + } + + if (event_manager.getIsAddvance(i_staffID)) { + switch (prm) { + case 0: + mActorMngr[2].remove(); + break; + case 10: + initTalk(mFlowID, actors); + break; + } + } + + switch (prm) { + case 0: + if (mActorMngr[2].getActorP() == NULL) { + fopAc_ac_c* other = (fopAc_ac_c*)(fpcM_Search(s_subMulti, this)); + if (other != NULL) { + mActorMngr[2].entry(other); + ret = true; + } + } else { + ret = true; + } + break; + + case 10: + if (talkProc(NULL, false, actors)) { + ret = true; + } + break; + + default: + ret = true; + break; + } + + return ret; +} + +/* 80B80860-80B80A94 008440 0234+00 2/0 0/0 0/0 .text swim__11daNpc_zrA_cFPv */ +BOOL daNpc_zrA_c::swim(void* param_0) { + switch (mMode) { + case 0: + mAcch.SetGrndNone(); + mAcch.SetWallNone(); + gravity = 0.0f; + speed.setall(0.0f); + speedF = 0.0f; + field_0x153d = false; + setExpression(EXPR_NONE, -1.0f); + + if (mSwimMode == SWIM_WAIT) { + if (mPath.getPathInfo() == NULL) { + setMotion(MOT_WAIT_SWIM, -1.0f, false); + field_0x1550 = true; + } else { + if (mActionType == ACT_TYPE_0) { + setMotion(MOT_SWIM_B, -1.0f, false); + } else { + setMotion(MOT_SWIM_A, -1.0f, false); + } + + mCheckSwimTurnTimer = cLib_getRndValue(3, 3); + mSpinTimer = (int)(cM_rnd() * 60.0f) + 90; + mSwimMode = SWIM_RAIL; + field_0x1521 = true; + mScaleFactor = daNpc_zrA_Param_c::m.mMaxScaleFactor; + mCcStts.SetWeight(0); + } + } else { + mSwimMode = SWIM_RAIL; + } + + setLookMode(LOOK_NONE); + mAttnChangeTimer = 0; + mTurnMode = 0; + mMode = 2; + field_0x153e = false; + mSwimAngleCalc = current.angle; + if (mSwimMode != SWIM_WAIT) { + calcWaistAngleInit(); + } + // fallthrough + + case 2: + switch (mSwimMode) { + case SWIM_WAIT: + waitSwim(); + break; + case SWIM_RAIL: + railSwim(); + break; + case SWIM_TURN: + turnSwim(); + break; + } + break; + + case 3: + break; + } + + return true; +} + +/* 80B80A94-80B81788 008674 0CF4+00 1/1 0/0 0/0 .text railSwim__11daNpc_zrA_cFv */ +BOOL daNpc_zrA_c::railSwim() { + s16 ang_step = daNpc_zrA_Param_c::m.mSwimAngleSpeed; + s16 ang_scale = 8; + f32 fvar15 = 0.1f; + f32 fvar2 = 1.0f; + f32 fvar3 = mSwimSpeedScale; + f32 water_height = mAcch.m_wtr.GetHeight(); + gravity = 0.0f; + cXyz vec0, swim_speed, vec1, vec2; + csXyz angle; + + if (field_0x153c) { + mDoMtx_stack_c::copy(mpMorf->getModel()->getAnmMtx(4)); + mDoMtx_stack_c::scaleM(scale); + mDoMtx_stack_c::multVecZero(&vec1); + mPath.getDstPosDst2(current.pos, vec2); + + if (field_0x153e) { + if (mpMorf->getFrame() > 13.0f && mpMorf->getFrame() < 21.0f) { + f32 play_speed = mpMorf->getPlaySpeed(); + cLib_addCalc2(&play_speed, 0.3f, 0.7f, 0.3f); + mpMorf->setPlaySpeed(play_speed); + } + + calcBank(ang_step, 8, current.angle.y, current.angle.z); + mSwimSpeed.y -= 2.2f; + current.pos += mSwimSpeed; + + if (current.angle.x < 0x2800) { + current.angle.x = -cM_atan2s(mSwimSpeed.y, mSwimSpeed.absXZ()); + } + + mCurAngle = current.angle; + shape_angle = mCurAngle; + + if (mIsAboveWater && vec1.y + mSwimSpeed.y <= water_height) { + cXyz water_pos = vec1; + water_pos.y = water_height; + fopKyM_createWpillar(&water_pos, 2.5f, 0); + mIsAboveWater = false; + mCreatureSound.startCreatureSound(Z2SE_ZRA_DIVE_SPLASH, 0, -1); + } + + if (current.pos.y <= water_height - daNpc_zrA_Param_c::m.mMinDepth) { + field_0x153e = false; + field_0x153c = false; + mSwimSpeedScale = 1.0f; + mSwimSpeedF = mSwimSpeed.absXZ(); + mpMorf->setPlaySpeed(1.0f); + } + + return true; + } + + angle.x = -0x3000; + angle.y = current.angle.y; + angle.z = current.angle.z; + mSpinTimer = 90; + + if (!(vec1.y < water_height)) { + if (!mIsAboveWater) { + cXyz pos = vec1; + pos.y = water_height; + fopKyM_createWpillar(&pos, 2.5f, 0); + mIsAboveWater = true; + mCreatureSound.startCreatureSound(Z2SE_ZRA_DIVE_SPLASH_OUT, 0, -1); + } else { + if (mpMorf->getFrame() > 13.0f && mpMorf->getFrame() < 17.0f) { + f32 play_speed = mpMorf->getPlaySpeed(); + cLib_addCalc2(&play_speed, 0.3f, 0.7f, 0.5f); + mpMorf->setPlaySpeed(play_speed); + } + + if (current.pos.y > water_height && current.angle.x < -0x2000 + && mSwimSpeedF > 20.0f) + { + swim_speed.set(0.0f, 0.0f, mSwimSpeedF); + calcSwimPos(swim_speed); + mSwimSpeed = swim_speed; + field_0x153e = true; + calcBank(ang_step, 8, angle.y, angle.z); + current.angle.z = angle.z; + mCurAngle = current.angle; + shape_angle = mCurAngle; + return true; + } + } + } + } else { + BOOL ivar9 = mPath.getDstPosDst2(current.pos, vec0); + angle.x = cLib_targetAngleX(&vec0, ¤t.pos); + angle.y = cLib_targetAngleY(¤t.pos, &vec0); + angle.z = current.angle.z; + evasionCalc(vec0, angle); + + if (ivar9) { + cXyz next_pos; + mPath.getNextPos(next_pos); + s16 ang_x = cLib_targetAngleX(&next_pos, &vec0); + s16 ang_y = cLib_targetAngleY(&vec0, &next_pos); + u32 arg0 = mPath.getArg0(mPath.getIdx()); + if (((arg0 == 0 && cM_rnd() < 0.5f) || (u8)arg0 == 1) && mSpinTimer != 0) { + mSwimSpeedScale = 1.5f; + fvar3 = mSwimSpeedScale; + mSpinTimer = 90; + field_0x153d = true; + } else if (field_0x153d) { + field_0x153d = false; + field_0x153c = true; + angle.x = -0x3000; + angle.y = current.angle.y; + mCheckSwimTurn = false; + } else if ((abs(angle.x - ang_x) > 0x4000 || abs(angle.x - ang_y) > 0x4000) + && cM_rnd() < 0.2f && mSpinTimer != 0) { + field_0x153c = false; + mSwimFastTurnTimer = 60; + mSwimSpeedScale = 1.2f; + fvar3 = mSwimSpeedScale; + mSpinTimer = 90; + } else { + field_0x153c = false; + cLib_calcTimer(&mCheckSwimTurnTimer); + } + } + + if (turnSwimCheck()) { + return true; + } + } + + if (cLib_calcTimer(&mSwimFastTurnTimer) != 0) { + ang_scale = 4; + ang_step *= 2; + } + + s16 ang_diff_x = angle.x - current.angle.x; + s16 ang_diff_y = angle.y - current.angle.y; + bool bvar6 = false; + if (mActionType != ACT_TYPE_0 && mSpinAngle == 0 && !field_0x153c && !field_0x153d + && (abs(ang_diff_x) > 0x3000 || abs(ang_diff_y) > 0x3000) && mSwimSpeedF > 14.0f) + { + f32 frame = mpMorf->getFrame(); + if ((angle.z <= 0x2000 || ang_diff_y >= 0) && (angle.z >= -0x2000 || ang_diff_y <= 0)) { + if (ang_diff_x < -0x3000) { + if (frame >= 2.0f && frame <= 4.0f) { + bvar6 = true; + } + } else { + if (frame >= 16.0f && frame <= 18.0f) { + bvar6 = true; + } + } + } + + if (bvar6) { + calcSwimAngle(angle, mSwimAngleCalc, ang_scale / 2, ang_step); + } else { + calcSwimAngle(angle, mSwimAngleCalc, ang_scale, ang_step / 2); + } + } else { + calcSwimAngle(angle, mSwimAngleCalc, ang_scale, ang_step); + } + + if (mSwimSpeedF > fvar3 * daNpc_zrA_Param_c::m.mSwimSpeed) { + fvar15 *= 2.0f; + fvar2 *= 0.5f; + } + cLib_addCalc2(&mSwimSpeedF, fvar3 * daNpc_zrA_Param_c::m.mSwimSpeed, fvar15, fvar2); + + if (field_0x153c == true && mIsAboveWater == true) { + if (mpMorf->getFrame() > 13.0f && mpMorf->getFrame() < 21.0f) { + f32 play_speed = mpMorf->getPlaySpeed(); + cLib_addCalc2(&play_speed, 0.3f, 0.7f, 0.3f); + mpMorf->setPlaySpeed(play_speed); + } + } else if (!bvar6) { + f32 play_speed = mpMorf->getPlaySpeed(); + cLib_addCalc2(&play_speed, mSwimSpeedF / daNpc_zrA_Param_c::m.mSwimAnmRate, 0.2f, 0.1f); + mpMorf->setPlaySpeed(play_speed); + } + + swim_speed.set(0.0f, 0.0f, mSwimSpeedF); + calcSwimPos(swim_speed); + + if (!field_0x153c && mAcch.ChkWaterHit() + && current.pos.y > water_height - daNpc_zrA_Param_c::m.mMinDepth) + { + current.pos.y = water_height - daNpc_zrA_Param_c::m.mMinDepth; + } + + if (cLib_calcTimer(&mSpinTimer) == 0) { + if (mSpinAngle != 0) { + cLib_addCalcAngleS2(&field_0x1518, ang_step, 8, 0x200); + if (mSpinAngle > 0) { + angle.z += ang_step; + mSpinAngle += ang_step; + } else { + angle.z -= ang_step; + mSpinAngle -= ang_step; + } + if (abs(mSpinAngle) > 0x10000) { + mSpinAngle = 0; + mSpinTimer = (int)(cM_rnd() * 60.0f) + 90; + } + } else if (cM_rnd() > 0.9f) { + calcBank(ang_step, ang_scale, angle.y, angle.z); + field_0x1518 = abs(angle.z - current.angle.z); + cLib_addCalcAngleS2(&field_0x1518, ang_step, 8, 0x200); + if (angle.z > 0) { + angle.z += ang_step; + mSpinAngle += ang_step; + } else { + angle.z -= ang_step; + mSpinAngle -= ang_step; + } + mSwimSpeedScale = 1.0f; + } else { + mSpinTimer = (int)(cM_rnd() * 60.0f) + 90; + mSpinAngle = 0; + mSwimSpeedScale = cM_rnd() * (1.0f - daNpc_zrA_Param_c::m.mMinSwimSpeedScale) + + daNpc_zrA_Param_c::m.mMinSwimSpeedScale; + } + } + + if (mSpinAngle == 0) { + calcBank(ang_step, ang_scale, angle.y, angle.z); + } + current.angle.z = angle.z; + mCurAngle = current.angle; + shape_angle = mCurAngle; + + return true; +} + +/* 80B81788-80B81918 009368 0190+00 1/1 0/0 0/0 .text waitSwim__11daNpc_zrA_cFv */ +BOOL daNpc_zrA_c::waitSwim() { + calcModulation(); + + if (mDamageTimer == 0) { + BOOL player_attn = mActorMngr[0].getActorP() != NULL; + if (chkFindPlayer2(player_attn, shape_angle.y)) { + if (!player_attn) { + mActorMngr[0].entry(daPy_getPlayerActorClass()); + mTurnMode = 0; + } + } else { + if (player_attn) { + mActorMngr[0].remove(); + mTurnMode = 0; + } + } + + if (mActorMngr[0].getActorP() != NULL) { + setLookMode(LOOK_PLAYER); + } else { + setLookMode(LOOK_NONE); + if (home.angle.y != mCurAngle.y && step(home.angle.y, -1, -1, 15)) { + mMode = 0; + } + } + + if (home.angle.y == mCurAngle.y) { + fopAc_ac_c* actor = + getAttnActorP(mActorMngr[0].getActorP() != NULL, srchAttnActor1, + daNpc_zrA_Param_c::m.mAttnRadius, daNpc_zrA_Param_c::m.mAttnUpperY, + daNpc_zrA_Param_c::m.mAttnLowerY, daNpc_zrA_Param_c::m.mAttnFovY, + shape_angle.y, 120, true); + if (actor != NULL) { + mActorMngr[1].entry(actor); + setLookMode(LOOK_ATTN); + } + } else { + mAttnChangeTimer = 0; + } + } + + return true; +} + +/* 80B81918-80B81A18 0094F8 0100+00 1/1 0/0 0/0 .text turnSwimInit__11daNpc_zrA_cFv */ +BOOL daNpc_zrA_c::turnSwimInit() { + mPath.reverse(); + mPath.setNextIdxDst(current.pos); + + mSwimSpeed.set(0.0f, 0.0f, mSwimSpeedF); + mDoMtx_stack_c::ZXYrotS(current.angle); + mDoMtx_stack_c::multVec(&mSwimSpeed, &mSwimSpeed); + + mSwimSpeedF = 0.0f; + mIsTurning = true; + mSwimMode = SWIM_TURN; + + if (mActionType == ACT_TYPE_0) { + setMotion(MOT_SWIM_TURN, -1.0f, false); + } else { + setMotion(MOT_SWIM_TURN, 4.0f, false); + } + + return true; +} + +/* 80B81A18-80B81CC8 0095F8 02B0+00 2/2 0/0 0/0 .text turnSwim__11daNpc_zrA_cFv */ +BOOL daNpc_zrA_c::turnSwim() { + s16 ang_step = daNpc_zrA_Param_c::m.mSwimAngleSpeed; + cXyz pos; + csXyz angle; + mPath.getDstPosDst2(current.pos, pos); + angle.x = cLib_targetAngleX(&pos, ¤t.pos); + angle.y = cLib_targetAngleY(¤t.pos, &pos); + angle.z = current.angle.z; + calcSwimAngle(angle, mSwimAngleCalc, 8, ang_step); + calcBank(ang_step, 8, current.angle.y, angle.z); + current.angle.z = angle.z; + mCurAngle = current.angle; + shape_angle = mCurAngle; + + if (mBaseMotionAnm == ANM_SWIM_TURN) { + if (mpMorf->getFrame() < 40.0f) { + cXyz zero(0.0f, 0.0f, 0.0f); + cLib_chasePos(&mSwimSpeed, zero, 0.7f); + current.pos += mSwimSpeed; + mpMorf->setPlaySpeed(0.8f); + } else { + cXyz swim_speed; + mSwimSpeedF = 1.5f * daNpc_zrA_Param_c::m.mSwimSpeed; + swim_speed.set(0.0f, 0.0f, mSwimSpeedF); + calcSwimPos(swim_speed); + mpMorf->setPlaySpeed(1.0f); + } + } else if (mBaseMotionAnm == ANM_STILL) { + cXyz swim_speed; + mSwimSpeedF = 1.5f * daNpc_zrA_Param_c::m.mSwimSpeed; + swim_speed.set(0.0f, 0.0f, mSwimSpeedF); + calcSwimPos(swim_speed); + mpMorf->setPlaySpeed(1.0f); + + if (mIsTurning) { + mSwimTurnTimer = 10; + mIsTurning = false; + } else if (cLib_calcTimer(&mSwimTurnTimer) == 0) { + mSwimMode = SWIM_RAIL; + if (mActionType == ACT_TYPE_0) { + setMotion(MOT_SWIM_B, -1.0f, false); + } else { + setMotion(MOT_SWIM_A, -1.0f, false); + } + mSpinTimer = 90; + mCheckSwimTurn = false; + } + } + + if (mAcch.ChkWaterHit() + && current.pos.y > mAcch.m_wtr.GetHeight() - daNpc_zrA_Param_c::m.mMinDepth) + { + current.pos.y = mAcch.m_wtr.GetHeight() - daNpc_zrA_Param_c::m.mMinDepth; + } + + return true; +} + +/* 80B81CC8-80B81D68 0098A8 00A0+00 1/1 0/0 0/0 .text turnSwimCheck__11daNpc_zrA_cFv */ +BOOL daNpc_zrA_c::turnSwimCheck() { + if (mSoldierType != SOLDIER_SPEAR) { + if (mCheckSwimTurn) { + if (mpMorf->isLoop()) { + turnSwimInit(); + turnSwim(); + return true; + } + } else if (mCheckSwimTurnTimer == 0) { + mCheckSwimTurnTimer = cLib_getRndValue(6, 6); + if (cM_rnd() < 0.5f) { + mCheckSwimTurn = true; + } + } + } + return false; +} + +/* 80B81D68-80B81F70 009948 0208+00 1/1 0/0 0/0 .text evasionCalc__11daNpc_zrA_cFR4cXyzR5csXyz */ +BOOL daNpc_zrA_c::evasionCalc(cXyz& param_0, csXyz& param_1) { + BOOL ret; + daPy_py_c* player = daPy_getPlayerActorClass(); + cM3dGLin line; + cXyz proj; + f32 dist; + line.SetStartEnd(current.pos, param_0); + if (cM3d_Len3dSqPntAndSegLine(&line, &player->current.pos, &proj, &dist) && dist <= 10000.0f) { + fopAcM_searchPlayerAngleY(this); + if ((s16)(param_1.y - current.angle.y) > 0) { + mEvasionAngle = -0x1800; + } else { + mEvasionAngle = 0x1800; + } + param_1.y += mEvasionAngle; + mEvasionTimer = 60; + mSwimFastTurnTimer = 60; + ret = true; + } else { + cXyz vec(0.0f, 0.0f, 500.0f); + csXyz angle(current.angle.x, current.angle.y, 0); + mDoMtx_stack_c::ZXYrotS(angle); + mDoMtx_stack_c::multVec(&vec, &vec); + vec += current.pos; + line.SetStartEnd(current.pos, vec); + if (cM3d_Len3dSqPntAndSegLine(&line, &player->current.pos, &proj, &dist) + && dist <= 10000.0f) { + if ((s16)(fopAcM_searchPlayerAngleY(this) - current.angle.y) > 0) { + mEvasionAngle = -0x1800; + } else { + mEvasionAngle = 0x1800; + } + param_1.y += mEvasionAngle; + mEvasionTimer = 60; + mSwimFastTurnTimer = 60; + ret = true; + } else { + if (cLib_calcTimer(&mEvasionTimer) != 0) { + param_1.y += mEvasionAngle; + } + ret = true; + } + } + return ret; +} + +/* 80B81FB8-80B8204C 009B98 0094+00 13/13 0/0 0/0 .text calcBank__11daNpc_zrA_cFssRsRs */ +void daNpc_zrA_c::calcBank(s16 i_step, s16 i_scale, s16& i_angY, s16& o_angZ) { + s16 ang_diff_y = i_angY - current.angle.y; + if (ang_diff_y >= 0x4000) { + ang_diff_y = 0x4000; + } else if (ang_diff_y <= -0x4000) { + ang_diff_y = -0x4000; + } + cLib_addCalcAngleS2(&mSwimAngleCalc.z, ang_diff_y, i_scale * 2, i_step); + cLib_addCalcAngleS2(&o_angZ, mSwimAngleCalc.z, (s16)i_scale, i_step); +} + +/* 80B8204C-80B82238 009C2C 01EC+00 1/1 0/0 0/0 .text calcWaistAngle__11daNpc_zrA_cFv */ +void daNpc_zrA_c::calcWaistAngle() { + if (mResetWaistAngle) { + cLib_chaseAngleS(&mWaistAngle.x, 0, daNpc_zrA_Param_c::m.mSwimAngleSpeed / 2); + cLib_chaseAngleS(&mWaistAngle.y, 0, daNpc_zrA_Param_c::m.mSwimAngleSpeed / 2); + cLib_chaseAngleS(&mWaistAngle.z, 0, daNpc_zrA_Param_c::m.mSwimAngleSpeed / 2); + } else { + mDoMtx_stack_c::push(); + + csXyz angle; + angle.x = cLib_targetAngleX(&field_0x1578, ¤t.pos); + angle.y = cLib_targetAngleY(¤t.pos, &field_0x1578); + angle.z = 0; + cXyz vec(0.0f, 0.0f, daNpc_zrA_Param_c::m.field_0x8c); + mDoMtx_stack_c::ZXYrotS(angle); + mDoMtx_stack_c::multVec(&vec, &field_0x1578); + + if (mIsTurning) { + vec.set(0.0f, 0.0f, daNpc_zrA_Param_c::m.field_0x90); + cXyz vec2; + mDoMtx_stack_c::ZXYrotS(current.angle); + mDoMtx_stack_c::multVec(&vec, &vec2); + field_0x1578 -= vec2; + field_0x1578.normalize(); + field_0x1578 *= daNpc_zrA_Param_c::m.field_0x8c; + } + + mDoMtx_stack_c::ZXYrotS(current.angle); + mDoMtx_stack_c::inverse(); + mDoMtx_stack_c::multVec(&field_0x1578, &field_0x1584); + field_0x1578 += current.pos; + + mWaistAngle.x = cM_atan2s(field_0x1584.y, -field_0x1584.z); + mWaistAngle.y = cM_atan2s(-field_0x1584.x, -field_0x1584.z); + mWaistAngle.z = 0; + + mDoMtx_stack_c::pop(); + } +} + +/* 80B82238-80B822CC 009E18 0094+00 9/9 0/0 0/0 .text calcWaistAngleInit__11daNpc_zrA_cFv + */ +void daNpc_zrA_c::calcWaistAngleInit() { + cXyz vec(0.0f, 0.0f, -daNpc_zrA_Param_c::m.field_0x8c); + mDoMtx_stack_c::ZXYrotS(mCurAngle); + mDoMtx_stack_c::transM(vec); + mDoMtx_stack_c::multVecZero(&field_0x1578); + field_0x1578 += current.pos; + mResetWaistAngle = false; +} + +/* 80B822CC-80B822D8 009EAC 000C+00 8/8 0/0 0/0 .text calcWaistAngleStop__11daNpc_zrA_cFv + */ +void daNpc_zrA_c::calcWaistAngleStop() { + mResetWaistAngle = true; +} + +/* 80B822D8-80B82300 009EB8 0028+00 3/3 0/0 0/0 .text calcWaistAngleCheck__11daNpc_zrA_cFv */ +BOOL daNpc_zrA_c::calcWaistAngleCheck() { + if (mSwimMode != SWIM_WAIT && !mResetWaistAngle) { + return true; + } else { + return false; + } +} + +/* 80B82300-80B8247C 009EE0 017C+00 6/6 0/0 0/0 .text calcModulation__11daNpc_zrA_cFv */ +void daNpc_zrA_c::calcModulation() { + if (mAcch.ChkWaterIn()) { + if (mAcch.ChkWaterIn() && current.pos.y < mAcch.m_wtr.GetHeight() - 220.0f) { + cLib_chaseF(&mModulationOffset.x, + 5.0f - cM_scos(mModulationParam * 0x10000 / 42) * 5.0f, 1.0f); + cLib_chaseF(&mModulationOffset.y, + 8.0f - cM_scos(mModulationParam * 0x10000 / 70) * 8.0f, 1.0f); + cLib_chaseF(&mModulationOffset.z, + 4.0f - cM_scos(mModulationParam * 0x10000 / 105) * 4.0f, 1.0f); + } else { + cLib_chaseF(&mModulationOffset.y, + 5.0f - cM_scos(mModulationParam * 0x10000 / 35) * 5.0f, 1.0f); + cLib_chaseF(&mModulationOffset.x, 0.0f, 1.0f); + cLib_chaseF(&mModulationOffset.z, 0.0f, 1.0f); + } + mModulationParam--; + if (mModulationParam <= 0) { + mModulationParam = 210; + } + } +} + +/* 80B8247C-80B824F4 00A05C 0078+00 2/2 0/0 0/0 .text resetModulation__11daNpc_zrA_cFv */ +void daNpc_zrA_c::resetModulation() { + cLib_chaseF(&mModulationOffset.y, 0.0f, 1.0f); + cLib_chaseF(&mModulationOffset.x, 0.0f, 1.0f); + cLib_chaseF(&mModulationOffset.z, 0.0f, 1.0f); + mModulationParam = 210; +} + +/* 80B824F4-80B82584 00A0D4 0090+00 17/17 0/0 0/0 .text + * calcSwimAngle__11daNpc_zrA_cFR5csXyzR5csXyzss */ +void daNpc_zrA_c::calcSwimAngle(csXyz& i_target, csXyz& i_calc, s16 i_scale, s16 i_step) { + cLib_addCalcAngleS2(&i_calc.x, i_target.x, i_scale, i_step); + cLib_addCalcAngleS2(¤t.angle.x, i_calc.x, i_scale, i_step); + cLib_addCalcAngleS2(&i_calc.y, i_target.y, i_scale, i_step); + cLib_addCalcAngleS2(¤t.angle.y, i_calc.y, i_scale, i_step); +} + +/* 80B82584-80B825FC 00A164 0078+00 15/15 0/0 0/0 .text calcSwimPos__11daNpc_zrA_cFR4cXyz + */ +void daNpc_zrA_c::calcSwimPos(cXyz& i_speed) { + csXyz angle = current.angle; + angle.z = 0; + mDoMtx_stack_c::ZXYrotS(angle); + mDoMtx_stack_c::multVec(&i_speed, &i_speed); + current.pos += i_speed; +} + +/* 80B825FC-80B826F0 00A1DC 00F4+00 8/8 0/0 0/0 .text calcWaitSwim__11daNpc_zrA_cFi */ +void daNpc_zrA_c::calcWaitSwim(BOOL param_0) { + cLib_chaseAngleS(¤t.angle.x, 0, daNpc_zrA_Param_c::m.mSwimAngleSpeed); + cLib_chaseAngleS(¤t.angle.z, 0, daNpc_zrA_Param_c::m.mSwimAngleSpeed); + mCurAngle = current.angle; + shape_angle = mCurAngle; + cLib_chaseF(&mSwimSpeedF, 0.0f, 2.0f); + cLib_chaseF(&mScaleFactor, 1.0f, (daNpc_zrA_Param_c::m.mMaxScaleFactor - 1.0f) / 30.0f); + calcModulation(); + if (param_0 && mAcch.ChkWaterHit() + && current.pos.y > mAcch.m_wtr.GetHeight() - daNpc_zrA_Param_c::m.mMinDepth) + { + current.pos.y = mAcch.m_wtr.GetHeight() - daNpc_zrA_Param_c::m.mMinDepth; + } +} + +/* 80B826F0-80B82C54 00A2D0 0564+00 1/0 0/0 0/0 .text ECut_talkSwim__11daNpc_zrA_cFi */ +BOOL daNpc_zrA_c::ECut_talkSwim(int i_staffID) { + dEvent_manager_c& event_manager = dComIfGp_getEventManager(); + BOOL ret = false; + int prm = -1; + int* prm_p = dComIfGp_evmng_getMyIntegerP(i_staffID, "prm"); + if (prm_p != NULL) { + prm = *prm_p; + } + + if (event_manager.getIsAddvance(i_staffID)) { + switch (prm) { + case 0: + mAcch.ClrGrndNone(); + mAcch.ClrWallNone(); + setExpression(EXPR_NONE, -1.0f); + setMotion(MOT_FLOAT, daNpc_zrA_Param_c::m.mMorfFrames, true); + mTurnMode = 0; + mMode = 2; + mSwimSpeed.set(0.0f, 0.0f, mSwimSpeedF); + mDoMtx_stack_c::ZXYrotS(current.angle); + mDoMtx_stack_c::multVec(&mSwimSpeed, &mSwimSpeed); + mSwimSpeedF = 0.0f; + calcWaistAngleStop(); + break; + + case 1: + initTalk(mFlowID, NULL); + break; + + case 2: + mSwimAngleCalc = current.angle; + break; + } + } + + switch (prm) { + case 0: { + calcModulation(); + if (current.angle.x == 0 && current.angle.z == 0 && mSwimSpeed.abs2() < 0.1f + && mScaleFactor <= 1.05f && mBaseMotionAnm != ANM_FLOAT) + { + ret = true; + setLookMode(LOOK_PLAYER); + break; + } + + cLib_chaseAngleS(¤t.angle.x, 0, daNpc_zrA_Param_c::m.mSwimAngleSpeed); + cLib_chaseAngleS(¤t.angle.z, 0, daNpc_zrA_Param_c::m.mSwimAngleSpeed); + cLib_chaseAngleS(¤t.angle.y, fopAcM_searchPlayerAngleY(this), + daNpc_zrA_Param_c::m.mSwimAngleSpeed); + cLib_chaseF(&mScaleFactor, 1.0f, (daNpc_zrA_Param_c::m.mMaxScaleFactor - 1.0f) / 30.0f); + cXyz zero(0.0f, 0.0f, 0.0f); + cLib_chasePos(&mSwimSpeed, zero, 0.5f); + current.pos += mSwimSpeed; + f32 water_y; + if (fopAcM_getWaterY(¤t.pos, &water_y) + && current.pos.y > water_y - daNpc_zrA_Param_c::m.mMinDepth - 50.0f) + { + cLib_chaseF(¤t.pos.y, water_y - daNpc_zrA_Param_c::m.mMinDepth - 50.0f, 20.0f); + } + mCurAngle = current.angle; + shape_angle = mCurAngle; + break; + } + + case 1: + calcModulation(); + if (talkProc(NULL, true, NULL)) { + if (mActionType == ACT_TYPE_0) { + setMotion(MOT_DIVE_SWIM_B, daNpc_zrA_Param_c::m.mMorfFrames / 2.0f, true); + } else { + setMotion(MOT_DIVE_SWIM_A, daNpc_zrA_Param_c::m.mMorfFrames / 2.0f, true); + } + mSwimAngleCalc = current.angle; + mSwimSpeedScale = 1.0f; + mSwimSpeedF = mSwimSpeedScale * daNpc_zrA_Param_c::m.mSwimSpeed; + setLookMode(LOOK_NONE); + ret = true; + } + break; + + case 2: { + resetModulation(); + s16 swim_angle_speed = daNpc_zrA_Param_c::m.mSwimAngleSpeed; + cLib_chaseF(&mScaleFactor, daNpc_zrA_Param_c::m.mMaxScaleFactor, + (daNpc_zrA_Param_c::m.mMaxScaleFactor - 1.0f) / 30.0f); + cXyz vec; + csXyz angle; + mPath.getDstPosDst2(current.pos, vec); + angle.x = cLib_targetAngleX(&vec, ¤t.pos); + angle.y = cLib_targetAngleY(¤t.pos, &vec); + angle.z = current.angle.z; + calcSwimAngle(angle, mSwimAngleCalc, 8, swim_angle_speed); + mCurAngle = current.angle; + shape_angle = mCurAngle; + + if (mBaseMotionAnm != ANM_DIVE) { + ret = true; + if (!calcWaistAngleCheck()) { + calcWaistAngleInit(); + mSwimSpeedScale = 1.0f; + mSwimSpeedF = mSwimSpeedScale * daNpc_zrA_Param_c::m.mSwimSpeed; + } + cXyz swim_speed(0.0f, 0.0f, mSwimSpeedF); + calcSwimPos(swim_speed); + mAcch.SetGrndNone(); + mAcch.SetWallNone(); + } + + if (mAcch.ChkWaterHit() + && current.pos.y > mAcch.m_wtr.GetHeight() - daNpc_zrA_Param_c::m.mMinDepth) + { + current.pos.y = mAcch.m_wtr.GetHeight() - daNpc_zrA_Param_c::m.mMinDepth; + } + break; + } + + default: + ret = true; + break; + } + + return ret; +} + +/* 80B82C54-80B82E88 00A834 0234+00 3/0 0/0 0/0 .text waitWaterfall__11daNpc_zrA_cFPv */ +BOOL daNpc_zrA_c::waitWaterfall(void* param_0) { + switch (mMode) { + case 0: + setExpressionAnm(ANM_NONE, false); + if (mMotion != MOT_FLOAT && mMotion != MOT_FLOAT_B) { + setMotion(MOT_WAIT_SWIM, -1.0f, false); + } + gravity = 0.0f; + speed.setall(0.0f); + speedF = 0.0f; + mAcch.SetGrndNone(); + mAcch.SetWallNone(); + setLookMode(LOOK_NONE); + mAttnChangeTimer = 0; + mTurnMode = 0; + mSwimMode = SWIM_RAIL; + calcWaistAngleStop(); + field_0x1550 = true; + mCcStts.SetWeight(0xff); + mMode = 2; + // fallthrough + + case 2: + calcWaitSwim(false); + if (mScaleFactor == 1.0f) { + mSwimMode = SWIM_WAIT; + } + + if (mDamageTimer == 0 && !mTwilight) { + BOOL player_attn = mActorMngr[0].getActorP() != NULL; + if (chkFindPlayer2(player_attn, shape_angle.y)) { + if (!player_attn) { + mActorMngr[0].entry(daPy_getPlayerActorClass()); + mTurnMode = 0; + } + } else { + if (player_attn) { + mActorMngr[0].remove(); + mTurnMode = 0; + } + } + + if (mActorMngr[0].getActorP() != NULL) { + setLookMode(LOOK_PLAYER); + } else { + setLookMode(LOOK_NONE); + if (home.angle.y != mCurAngle.y && step(home.angle.y, -1, -1, 15)) { + mMode = 0; + } + } + } + break; + + case 3: + speedF = 0.0f; + break; + } + + return true; +} + +/* 80B82E88-80B833C8 00AA68 0540+00 2/0 0/0 0/0 .text swimWaterfall__11daNpc_zrA_cFPv */ +BOOL daNpc_zrA_c::swimWaterfall(void* param_0) { + s16 angle_step = daNpc_zrA_Param_c::m.mSwimAngleSpeed * 2; + s16 angle_scale = 2; + cXyz point, swim_speed; + + switch (mMode) { + case 0: + mAcch.SetGrndNone(); + mAcch.SetWallNone(); + gravity = 0.0f; + speed.setall(0.0f); + speedF = 0.0f; + field_0x153d = false; + setExpressionAnm(ANM_NONE, false); + if (mActionType == ACT_TYPE_0) { + setMotion(MOT_SWIM_B, -1.0f, false); + } else { + setMotion(MOT_SWIM_A, -1.0f, false); + } + mSwimMode = SWIM_RAIL; + mScaleFactor = daNpc_zrA_Param_c::m.mMaxScaleFactor; + mCcStts.SetWeight(0); + setLookMode(LOOK_NONE); + mAttnChangeTimer = 0; + mTurnMode = 0; + mMode = 2; + field_0x153e = false; + mSwimAngleCalc = current.angle; + calcWaistAngleInit(); + // fallthrough + + case 2: { + int idx = mPath.getIdx(); + if (mPath.getDstPosDst2(current.pos, point) && idx == 0 && mPath.chkReverse()) { + mPath.reverse(); + mActionSelect = 0; + mSwimSpeedScale = 1.0f; + setMotion(MOT_FLOAT_B, -1.0f, false); + setAction(&waitWaterfall); + return false; + } + + csXyz angle; + angle.x = cLib_targetAngleX(&point, ¤t.pos); + angle.y = cLib_targetAngleY(¤t.pos, &point); + angle.z = current.angle.z; + + cXyz prev_point; + mPath.getBeforePos(prev_point); + if (cLib_targetAngleX(&point, &prev_point) > 0x3000) { + angle.x = 0x4000; + angle.y = 0; + mSwimSpeedScale = 3.0f; + } else { + mSwimSpeedScale = 1.0f; + } + + s16 ang_diff_x = angle.x - current.angle.x; + s16 ang_diff_y = angle.y - current.angle.y; + bool bvar5 = false; + + if (mActionType != ACT_TYPE_0 && (abs(ang_diff_x) > 0x3000 || abs(ang_diff_y) > 0x3000) + && mSwimSpeedF > 14.0f) { + f32 frame = mpMorf->getFrame(); + if ((angle.z <= 0x2000 || ang_diff_y >= 0) && (angle.z >= -0x2000 || ang_diff_y <= 0)) { + if (ang_diff_x < -0x3000) { + if (frame >= 2.0f && frame <= 4.0f) { + bvar5 = true; + } + } else { + if (frame >= 16.0f && frame <= 18.0f) { + mpMorf->setFrame(18.0f); + mpMorf->setMorf(4.0f); + mpMorf->setPlaySpeed(0.1f); + bvar5 = true; + } + } + } + + if (bvar5) { + calcSwimAngle(angle, mSwimAngleCalc, 1, angle_step); + } else { + calcSwimAngle(angle, mSwimAngleCalc, 2, angle_step / 2); + } + } else { + calcSwimAngle(angle, mSwimAngleCalc, 2, angle_step); + } + + if (current.angle.x > 0x2000) { + mSwimSpeedScale = 3.0f; + angle_step *= 2.0f; + angle_scale = 2; + } else { + mSwimSpeedScale = 1.0f; + } + cLib_addCalc2(&mSwimSpeedF, mSwimSpeedScale * daNpc_zrA_Param_c::m.mSwimSpeed, 0.1f, 1.0f); + swim_speed.set(0.0f, 0.0f, mSwimSpeedF); + calcSwimPos(swim_speed); + + if (!bvar5) { + f32 play_speed = mpMorf->getPlaySpeed(); + f32 target_speed = + cLib_minMaxLimit(mSwimSpeedF / daNpc_zrA_Param_c::m.mSwimAnmRate, 0.0f, 1.5f); + cLib_addCalc2(&play_speed, target_speed, 0.2f, 0.1f); + mpMorf->setPlaySpeed(play_speed); + } + + calcBank(angle_step, angle_scale, angle.y, angle.z); + current.angle.z = angle.z; + mCurAngle = current.angle; + shape_angle = mCurAngle; + break; + } + + case 3: + break; + } + + return true; +} + +/* 80B833C8-80B83548 00AFA8 0180+00 2/0 0/0 0/0 .text diveWaterfall__11daNpc_zrA_cFPv */ +BOOL daNpc_zrA_c::diveWaterfall(void* param_0) { + switch (mMode) { + case 0: + mPath.onReverse(); + mPath.setIdx(mPath.getEndIdx() - 1); + mPath.setNextIdxDst(current.pos); + setExpressionAnm(ANM_NONE, false); + setMotion(MOT_DIVE_B_SWIM_A, -1.0f, false); + mSwimAngleCalc = current.angle; + mSwimSpeedScale = 1.0f; + mSwimSpeedF = mSwimSpeedScale * daNpc_zrA_Param_c::m.mSwimSpeed; + setLookMode(LOOK_NONE); + mSwimMode = SWIM_RAIL; + mActionSelect = 3; + mMode = 2; + // fallthrough + + case 2: + if (diveCalc(daNpc_zrA_Param_c::m.mSwimAngleSpeed, 4, false)) { + mActionSelect = 1; + setAction(&swimWaterfall); + } + break; + + case 3: + break; + } + + return true; +} + +/* 80B83548-80B837E8 00B128 02A0+00 2/0 0/0 0/0 .text talkSwim__11daNpc_zrA_cFPv */ +BOOL daNpc_zrA_c::talkSwim(void* param_0) { + BOOL bvar2 = false; + int flow_id; + + switch (mMode) { + case 0: + if (mDamageTimer != 0) { + break; + } + setExpression(EXPR_NONE, -1.0f); + flow_id = mFlowID; + mTurnMode = 0; + mMode = 2; + initTalk(flow_id, NULL); + field_0x1558 = 0; + // fallthrough + + case 2: + switch (field_0x1558) { + case 0: + calcModulation(); + if (field_0x9ea) { + bvar2 = true; + } else { + setLookMode(LOOK_NONE); + if (mCurAngle.y == fopAcM_searchPlayerAngleY(this)) { + bvar2 = true; + } else if (step(fopAcM_searchPlayerAngleY(this), -1, -1, 15)) { + mTurnMode = 0; + } + } + + if (bvar2 && talkProc(NULL, 1, NULL)) { + if (mFlow.getChoiceNo() == 0) { + field_0x1558 = 1; + mSwimAngleCalc = current.angle; + mSwimSpeedScale = 1.0f; + mSwimSpeedF = mSwimSpeedScale * daNpc_zrA_Param_c::m.mSwimSpeed; + setLookMode(LOOK_NONE); + } else { + mMode = 3; + dComIfGp_event_reset(); + setAction(&waitWaterfall); + field_0x9ec = false; + } + } + break; + + case 1: + mMode = 3; + dComIfGp_event_reset(); + mActionSelect = 1; + if (!dKy_daynight_check()) { + mOrderEvtNo = EVT_CARRY_WATERFALL; + } else { + mOrderEvtNo = EVT_CARRY_WATERFALL_NIGHT; + } + changeEvent(l_resNames[l_evtGetParamList[mOrderEvtNo].arcIdx], + l_evtNames[l_evtGetParamList[mOrderEvtNo].fileIdx], 1, 0xffff); + } + break; + + case 3: + break; + } + + return false; +} + +/* 80B837E8-80B83D08 00B3C8 0520+00 1/0 0/0 0/0 .text ECut_carryWaterfall__11daNpc_zrA_cFi */ +BOOL daNpc_zrA_c::ECut_carryWaterfall(int i_staffID) { + dEvent_manager_c& event_manager = dComIfGp_getEventManager(); + BOOL ret = false; + int prm = -1; + int* prm_p = dComIfGp_evmng_getMyIntegerP(i_staffID, "prm"); + if (prm_p != NULL) { + prm = *prm_p; + } + + if (event_manager.getIsAddvance(i_staffID)) { + switch (prm) { + case 0: + dComIfGp_getEvent().setSkipProc(this, dEv_defaultSkipProc, 0); + Z2GetAudioMgr()->subBgmStart(Z2BGM_ZORA_D01); + break; + + case 10: + setExpression(EXPR_NONE, -1.0f); + setMotion(MOT_FALLSWIM, -1.0f, false); + current.angle.y = -0x8000; + setAngle(current.angle.y); + mPath.setNextIdxDst(current.pos); + mAcch.SetGrndNone(); + mAcch.SetWallNone(); + field_0x153d = false; + mSwimMode = SWIM_RAIL; + mScaleFactor = daNpc_zrA_Param_c::m.mMaxScaleFactor; + mCcStts.SetWeight(0); + setLookMode(LOOK_NONE); + mAttnChangeTimer = 0; + mTurnMode = 0; + field_0x153e = false; + mSwimAngleCalc = current.angle; + calcWaistAngleInit(); + break; + + case 20: + mPath.setIdx(5); + current.pos = mPath.getPntPos(5); + mPath.setNextIdxDst(current.pos); + current.angle.y = -0x8000; + current.angle.x = -0x4000; + mCurAngle.x = -0x4000; + shape_angle.x = -0x4000; + setAngle(current.angle.y); + break; + + case 30: + mEventTimer = 60; + break; + + case 40: + break; + } + } + + switch (prm) { + case 0: + calcWaitSwim(false); + ret = true; + break; + + case 10: + ret = true; + // fallthrough + + case 20: + resetModulation(); + if (mMotion != MOT_FALLSWIM) { + calcWaitSwim(false); + if (mScaleFactor == 1.0f) { + mSwimMode = SWIM_WAIT; + } + ret = true; + } else { + s16 angle_step = daNpc_zrA_Param_c::m.mSwimAngleSpeed * 2; + cXyz pos, swim_speed; + f32 speed_scale = mSwimSpeedScale; + if (mPath.getDstPosDst2(current.pos, pos) && mPath.getIdx() == mPath.getNextIdx()) { + mPath.reverse(); + mSwimMode = SWIM_RAIL; + mActionSelect = 3; + setMotion(MOT_FLOAT_B, -1.0f, false); + calcWaistAngleStop(); + ret = true; + } else { + csXyz angle; + angle.x = cLib_targetAngleX(&pos, ¤t.pos); + angle.y = cLib_targetAngleY(¤t.pos, &pos); + angle.z = current.angle.z; + calcSwimAngle(angle, mSwimAngleCalc, 4, angle_step); + cLib_addCalc2(&mSwimSpeedF, speed_scale * daNpc_zrA_Param_c::m.mSwimSpeed, + 0.1f, 1.0f); + swim_speed.set(0.0f, 0.0f, mSwimSpeedF); + calcSwimPos(swim_speed); + current.angle.z = angle.z; + shape_angle.x = mCurAngle.x = current.angle.x; + shape_angle.z = mCurAngle.z = current.angle.z; + if (current.angle.x < -0x2000) { + cLib_addCalcAngleS2(&mCurAngle.y, -0x8000, 4, angle_step); + } else { + cLib_addCalcAngleS2(&mCurAngle.y, current.angle.y, 4, angle_step); + } + shape_angle.y = mCurAngle.y; + } + } + break; + + case 30: + if (cLib_calcTimer(&mEventTimer) == 0) { + ret = true; + } + calcWaitSwim(false); + if (mScaleFactor == 1.0f) { + mSwimMode = SWIM_WAIT; + } + cLib_chaseAngleS(&mCurAngle.y, fopAcM_searchPlayerAngleY(this), + daNpc_zrA_Param_c::m.mSwimAngleSpeed); + setAngle(mCurAngle.y); + break; + + case 40: + ret = true; + break; + + default: + ret = true; + break; + } + + return ret; +} + +/* 80B83D08-80B83FA4 00B8E8 029C+00 1/0 0/0 0/0 .text ECut_carryWaterfallSkip__11daNpc_zrA_cFi */ +BOOL daNpc_zrA_c::ECut_carryWaterfallSkip(int i_staffID) { + dEvent_manager_c& event_manager = dComIfGp_getEventManager(); + BOOL ret = false; + int prm = -1; + int* prm_p = dComIfGp_evmng_getMyIntegerP(i_staffID, "prm"); + if (prm_p != NULL) { + prm = *prm_p; + } + + if (event_manager.getIsAddvance(i_staffID)) { + switch (prm) { + case 0: + Z2GetAudioMgr()->subBgmStop(); + break; + + case 10: + mPath.onReverse(); + mPath.setIdx(mPath.getEndIdx() - 1); + current.pos = mPath.getPntPos(mPath.getEndIdx() - 1); + old.pos = current.pos; + current.angle.set(0, -0x8000, 0); + shape_angle = mCurAngle = current.angle; + setLookMode(LOOK_NONE); + setMotion(MOT_FLOAT_B, -1.0f, false); + mSwimMode = SWIM_RAIL; + mActionSelect = 3; + calcWaistAngleStop(); + mAttnChangeTimer = 0; + mTurnMode = 0; + mSwimAngleCalc = current.angle; + mEventTimer = 60; + break; + + case 20: + break; + + default: + break; + } + } + + switch (prm) { + case 0: + ret = true; + break; + + case 10: + if (cLib_calcTimer(&mEventTimer) == 0) { + ret = true; + } + calcWaitSwim(false); + if (mScaleFactor == 1.0f) { + mSwimMode = SWIM_WAIT; + } + cLib_chaseAngleS(&mCurAngle.y, fopAcM_searchPlayerAngleY(this), + daNpc_zrA_Param_c::m.mSwimAngleSpeed); + setAngle(mCurAngle.y); + break; + + case 20: + ret = true; + break; + + default: + ret = true; + break; + } + + return ret; +} + +/* 80B83FA4-80B84200 00BB84 025C+00 1/1 0/0 0/0 .text diveCalc__11daNpc_zrA_cFssi */ +BOOL daNpc_zrA_c::diveCalc(s16 i_angleStep, s16 i_angleScale, BOOL param_2) { + cLib_chaseF(&mScaleFactor, daNpc_zrA_Param_c::m.mMaxScaleFactor, + (daNpc_zrA_Param_c::m.mMaxScaleFactor - 1.0f) / 30.0f); + cXyz pos; + mPath.getDstPosDst2(current.pos, pos); + csXyz angle; + angle.x = cLib_targetAngleX(&pos, ¤t.pos); + angle.y = cLib_targetAngleY(¤t.pos, &pos); + angle.z = current.angle.z; + calcSwimAngle(angle, mSwimAngleCalc, i_angleScale, i_angleStep); + shape_angle = mCurAngle = current.angle; + + f32 frame = mpMorf->getFrame(); + cXyz dive_speed(0.0f, 0.0f, 0.0f); + if (frame < 3.0f) { + dive_speed.set(0.0f, -6.0f, 0.0f); + } else if (frame < 6.0f) { + dive_speed.set(0.0f, -9.0f, 0.0f); + } else if (frame < 9.0f) { + dive_speed.set(0.0f, -9.0f, 8.5f); + } else if (frame < 13.0f) { + dive_speed.set(0.0f, -9.0f, 5.7f); + } else if (frame < 20.0f) { + dive_speed.set(0.0f, 3.0f, 2.4f); + } else if (frame < 36.0f) { + dive_speed.set(2.0f, 3.0f, 6.5f); + } + mDoMtx_stack_c::ZXYrotS(current.angle); + mDoMtx_stack_c::multVec(&dive_speed, &dive_speed); + current.pos += dive_speed; + + if (param_2 && mAcch.ChkWaterIn() + && current.pos.y > mAcch.m_wtr.GetHeight() - daNpc_zrA_Param_c::m.mMinDepth) + { + current.pos.y = mAcch.m_wtr.GetHeight() - daNpc_zrA_Param_c::m.mMinDepth; + } + + if (mBaseMotionAnm == ANM_SWIM_A || mBaseMotionAnm == ANM_SWIM_B) { + return true; + } else { + return false; + } +} + +/* 80B84200-80B8424C 00BDE0 004C+00 1/1 0/0 0/0 .text s_subHoz__FPvPv */ +static void* s_subHoz(void* i_proc, void* i_this) { + if (fopAc_IsActor(i_proc) && fopAcM_GetName(i_proc) == PROC_NPC_HOZ) { + return i_proc; + } + return NULL; +} + +/* 80B8424C-80B84298 00BE2C 004C+00 3/3 0/0 0/0 .text s_sub__FPvPv */ +static void* s_sub(void* i_proc, void* i_this) { + if (fopAc_IsActor(i_proc) && fopAcM_GetName(i_proc) == PROC_CANOE) { + return i_proc; + } + return NULL; +} + +/* 80B84298-80B84B74 00BE78 08DC+00 4/0 0/0 0/0 .text waitRiverDescend__11daNpc_zrA_cFPv + */ +BOOL daNpc_zrA_c::waitRiverDescend(void* param_0) { + switch (mMode) { + case 0: + setExpressionAnm(ANM_NONE, false); + if (mMotion != MOT_FLOAT_B) { + setMotion(MOT_WAIT_SWIM, -1.0f, false); + } + gravity = 0.0f; + speed.setall(0.0f); + speedF = 0.0f; + setLookMode(LOOK_NONE); + mAttnChangeTimer = 0; + mTurnMode = 0; + calcWaistAngleStop(); + field_0x1550 = true; + mSwimSpeedF = 0.0f; + field_0x1500 = daPy_getPlayerActorClass()->current.pos; + mIsTurning = true; + mMode = 2; + // fallthrough + + case 2: { + daPy_py_c* player = daPy_getPlayerActorClass(); + calcWaitSwim(true); + cXyz pos; + moveRiverPosCalc(pos); + + if (mGameMode == GAME_MODE_3) { + if (mActorMngr[2].getActorP() == NULL) { + fopAc_ac_c* canoe = (fopAc_ac_c*)fpcM_Search(s_sub, this); + if (canoe != NULL + && !((player->current.pos - this->current.pos).absXZ() > 1000.0f)) + { + mActorMngr[2].entry(canoe); + if (!player->checkCanoeSlider()) { + player->setCanoeSlider(); + mActionSelect = 4; + setAction(&swimGoalRiverDescend); + break; + } + } + } + } else if (mGameMode == GAME_MODE_0) { + if (mActorMngr[2].getActorP() == NULL) { + daNpc_Hoz_c* iza = (daNpc_Hoz_c*)fpcM_Search(s_subHoz, this); + if (iza != NULL) { + mActorMngr[2].entry(iza); + if (iza->getType() == daNpc_Hoz_c::TYPE_1 + || iza->getType() == daNpc_Hoz_c::TYPE_5) + { + mGameMode = GAME_MODE_1; + if (dComIfGs_isSwitch(mSwitch1, fopAcM_GetRoomNo(this))) { + field_0x15c0 = 2; + } + } else { + mGameMode = GAME_MODE_2; + if (!daNpcF_chkEvtBit(0x60)) { + daNpcF_onEvtBit(0x60); + } + } + } + } + } + + if (player->checkCanoeRide()) { + if (mGameMode == GAME_MODE_2) { + daNpc_Hoz_c* iza = static_cast(mActorMngr[2].getActorP()); + if (iza != NULL && iza->getGameStartFlag()) { + mActionSelect = 3; + mPath.setNextIdx(); + setAction(&diveRiverDescend); + break; + } + } else if (mGameMode == GAME_MODE_1) { + if (field_0x15c0 == 0) { + if ((player->current.pos - current.pos).absXZ() + < daNpc_zrA_Param_c::m.field_0xa8) { + field_0x15c0 = 1; + mOrderEvtNo = EVT_BEFORE_BLAST_ZRR; + } + } else if (field_0x15c0 == 1) { + cXyz vec2(34301.445f, -6541.864f, -24243.617f); + if (dComIfGs_isSwitch(mSwitch1, fopAcM_GetRoomNo(this))) { + mOrderEvtNo = EVT_AFTER_BLAST_ZRR; + mOrderNewEvt = true; + } else { + if ((current.pos - vec2).absXZ() >= 100.0f) { + mActionSelect = 3; + setAction(&diveRiverDescend); + } + } + } else { + cXyz vec3 = player->current.pos; + vec3 -= current.pos; + if (vec3.absXZ() < 10000.0f) { + mPath.setNextIdxDst(current.pos); + mActionSelect = 3; + setAction(&diveRiverDescend); + break; + } + } + } + + cLib_addCalcAngleS2(&mCurAngle.y, fopAcM_searchPlayerAngleY(this), 2, 0x800); + setAngle(mCurAngle.y); + } + + break; + } + + case 3: + speedF = 0.0f; + break; + } + + return true; +} + +/* 80B84B74-80B85B14 00C754 0FA0+00 2/2 0/0 0/0 .text swimRiverDescend__11daNpc_zrA_cFPv + */ +// NONMATCHING stack problems +BOOL daNpc_zrA_c::swimRiverDescend(void* param_0) { + s16 angle_step = daNpc_zrA_Param_c::m.mSwimAngleSpeed; + s16 angle_scale = 6; + f32 water_height = mAcch.m_wtr.GetHeight(); + + switch (mMode) { + case 0: + gravity = 0.0f; + speed.setall(0.0f); + speedF = 0.0f; + field_0x153d = false; + setExpressionAnm(ANM_NONE, false); + if (mActionType == ACT_TYPE_0) { + setMotion(MOT_SWIM_B, -1.0f, false); + } else { + setMotion(MOT_SWIM_A, -1.0f, false); + } + mSwimMode = SWIM_RAIL; + mCcStts.SetWeight(0); + setLookMode(LOOK_NONE); + mAttnChangeTimer = 0; + mTurnMode = 0; + mMode = 2; + field_0x153e = false; + mSwimAngleCalc = current.angle; + calcWaistAngleInit(); + field_0x1500 = daPy_getPlayerActorClass()->current.pos; + // fallthrough + + case 2: { + csXyz angle; + daPy_py_c* player = daPy_getPlayerActorClass(); + cLib_chaseF(&mScaleFactor, daNpc_zrA_Param_c::m.mMaxScaleFactor, + (daNpc_zrA_Param_c::m.mMaxScaleFactor - 1.0f) / 30.0f); + int ivar8 = mRiverPathIdx; + cXyz pos, swim_speed; + moveRiverPosCalc(pos); + + if (field_0x153c) { + mMeterCount = dMeter2Info_getNowCount(); + cXyz head_pos; + mDoMtx_stack_c::copy(mpMorf->getModel()->getAnmMtx(4)); + mDoMtx_stack_c::scaleM(scale); + mDoMtx_stack_c::multVecZero(&head_pos); + + if (field_0x153e) { + if (mIsAboveWater && mpMorf->getFrame() > 13.0f && mpMorf->getFrame() < 17.0f) { + f32 play_speed = mpMorf->getPlaySpeed(); + cLib_addCalc2(&play_speed, 0.3f, 0.7f, 0.5f); + mpMorf->setPlaySpeed(play_speed); + } + + angle.y = cLib_targetAngleY(¤t.pos, &pos); + cLib_addCalcAngleS2(&mSwimAngleCalc.y, angle.y, angle_scale, angle_step); + cLib_addCalcAngleS2(¤t.angle.y, mSwimAngleCalc.y, angle_scale, angle_step); + + f32 swim_speed_f = mSwimSpeed.absXZ(); + mSwimSpeed.x = 0.0f; + mSwimSpeed.z = swim_speed_f; + mDoMtx_stack_c::YrotS(current.angle.y); + mDoMtx_stack_c::multVec(&mSwimSpeed, &mSwimSpeed); + calcBank(angle_step / 2, angle_scale * 2, current.angle.y, current.angle.z); + mSwimSpeed.y -= 1.8f; + current.pos += mSwimSpeed; + + if (current.angle.x < 0x3000) { + current.angle.x = -cM_atan2s(mSwimSpeed.y, mSwimSpeed.absXZ()); + } + shape_angle = mCurAngle = current.angle; + + if (mAcch.ChkWaterHit()) { + if (mIsAboveWater + && mSwimSpeed.y <= 0.0f && head_pos.y + mSwimSpeed.y <= water_height) + { + cXyz wpillar_pos = head_pos; + wpillar_pos.y = water_height; + fopKyM_createWpillar(&wpillar_pos, 2.5f, 0); + mIsAboveWater = false; + mCreatureSound.startCreatureSound(Z2SE_ZRA_DIVE_SPLASH, 0, -1); + mpMorf->setPlaySpeed(1.0f); + } + + if (current.pos.y <= water_height - daNpc_zrA_Param_c::m.mMinDepth) { + field_0x153e = false; + field_0x153c = false; + mSwimSpeedF = mSwimSpeed.abs(); + } + } + + return true; + } + + angle.y = cLib_targetAngleY(¤t.pos, &pos); + angle.z = current.angle.z; + if (mSwimSpeedF > 40.0f) { + angle.x = -0x3000; + if (mAcch.ChkWaterHit()) { + if (head_pos.y < water_height) { + angle_step = daNpc_zrA_Param_c::m.mSwimAngleSpeed * 2; + angle_scale = 2; + } else if (!mIsAboveWater) { + cXyz wpillar_pos = head_pos; + wpillar_pos.y = water_height; + fopKyM_createWpillar(&wpillar_pos, 2.5f, 0); + mIsAboveWater = true; + mCreatureSound.startCreatureSound(Z2SE_ZRA_DIVE_SPLASH_OUT, 0, -1); + } else { + if (mpMorf->getFrame() > 13.0f && mpMorf->getFrame() < 17.0f) { + f32 play_speed = mpMorf->getPlaySpeed(); + cLib_addCalc2(&play_speed, 0.3f, 0.7f, 0.8f); + mpMorf->setPlaySpeed(play_speed); + } + if (current.pos.y > water_height && current.angle.x < -0x2000) { + swim_speed.set(0.0f, 0.0f, mSwimSpeedF); + calcSwimPos(swim_speed); + mSwimSpeed = swim_speed; + field_0x153e = true; + if (mSwimSpeed.y > 20.0f) { + mSwimSpeed.y = 20.0f; + } + calcBank(angle_step, angle_scale, angle.y, angle.z); + current.angle.z = angle.z; + return true; + } + } + } + } else { + angle.x = cLib_targetAngleX(&pos, ¤t.pos); + } + } else { + u32 meter_count = dMeter2Info_getNowCount(); + if (mGameMode != GAME_MODE_1 && meter_count > mMeterCount) { + field_0x153c = true; + } + mMeterCount = meter_count; + + if (mRiverPathIdx == mPath.getEndIdx()) { + angle.x = 0x1000; + angle.y = -0x4000; + angle.z = current.angle.z; + } else { + angle.x = cLib_targetAngleX(&pos, ¤t.pos); + angle.y = cLib_targetAngleY(¤t.pos, &pos); + angle.z = current.angle.z; + } + + if (mGameMode == GAME_MODE_1 && ivar8 != mRiverPathIdx) { + createRuppi(); + } + } + + cXyz vec = field_0x1500 - player->current.pos; + f32 target_speed = vec.abs(); + if (target_speed < daNpc_zrA_Param_c::m.mSwimSpeed) { + target_speed = daNpc_zrA_Param_c::m.mSwimSpeed; + } else { + target_speed *= 1.4f; + } + + if ((player->current.pos - current.pos).absXZ() < 500.0f) { + angle.x += 0x1000; + } + + if (field_0x153c) { + if (target_speed < 3.0f * daNpc_zrA_Param_c::m.mSwimSpeed) { + target_speed = 3.0f * daNpc_zrA_Param_c::m.mSwimSpeed; + } + target_speed *= 1.2f; + } else if (mRiverPathIdx >= mPath.getIdx()) { + f32 player_dst = mPath.chkPassDst(mRiverPathIdx, player->current.pos); + f32 dst = mPath.chkPassDst(mRiverPathIdx, current.pos); + if (dst - player_dst > 5000.0f) { + target_speed = 0.0f; + } else if (dst - player_dst > 3500.0f) { + target_speed *= 0.4f; + } else if (dst - player_dst > 3000.0f) { + target_speed *= 0.8f; + } + + if (target_speed == 0.0f) { + angle.x = cLib_targetAngleX(&player->current.pos, ¤t.pos); + angle.y = cLib_targetAngleY(¤t.pos, &player->current.pos); + } + } + + field_0x1500 = player->current.pos; + cLib_addCalc2(&mSwimSpeedF, target_speed, 0.25f, 4.0f); + calcSwimAngle(angle, mSwimAngleCalc, angle_scale, angle_step); + swim_speed.set(0.0f, 0.0f, mSwimSpeedF); + calcSwimPos(swim_speed); + + f32 play_speed = mpMorf->getPlaySpeed(); + if (target_speed != 0.0f) { + f32 target_play_speed = + cLib_minMaxLimit((mSwimSpeedF - vec.abs()) / 25.0f, 0.0f, 1.3f) + 0.7f; + cLib_addCalc2(&play_speed, target_play_speed, 0.2f, 0.05f); + } else { + cLib_addCalc2(&play_speed, 1.7f, 0.2f, 0.05f); + } + mpMorf->setPlaySpeed(play_speed); + + if (!field_0x153c && mAcch.ChkWaterHit() + && current.pos.y > water_height - daNpc_zrA_Param_c::m.mMinDepth) + { + current.pos.y = water_height - daNpc_zrA_Param_c::m.mMinDepth; + } + + calcBank(angle_step, angle_scale, angle.y, angle.z); + current.angle.z = angle.z; + shape_angle = mCurAngle = current.angle; + break; + } + + case 3: + break; + } + + return true; +} + +/* 80B85B14-80B8601C 00D6F4 0508+00 2/0 0/0 0/0 .text swimRiverDescend2__11daNpc_zrA_cFPv + */ +BOOL daNpc_zrA_c::swimRiverDescend2(void* param_0) { + cXyz pos, swim_speed; + s16 angle_step = daNpc_zrA_Param_c::m.mSwimAngleSpeed; + f32 water_height = mAcch.m_wtr.GetHeight(); + + switch (mMode) { + case 0: + gravity = 0.0f; + speed.setall(0.0f); + speedF = 0.0f; + field_0x153d = false; + setExpressionAnm(ANM_NONE, false); + if (mActionType == ACT_TYPE_0) { + setMotion(MOT_SWIM_B, -1.0f, false); + } else { + setMotion(MOT_SWIM_A, -1.0f, false); + } + mSwimMode = SWIM_RAIL; + mCcStts.SetWeight(0); + setLookMode(LOOK_NONE); + mAttnChangeTimer = 0; + mTurnMode = 0; + field_0x153e = false; + mSwimAngleCalc = current.angle; + calcWaistAngleInit(); + mMode = 2; + // fallthrough + + case 2: { + moveRiverPosCalc(pos); + cXyz vec(34301.445f, -6541.864f, -24243.617f); + if ((current.pos - vec).absXZ() < 100.0f) { + if (mMotion != MOT_FLOAT_B) { + setExpressionAnm(ANM_NONE, false); + setMotion(MOT_FLOAT_B, -1.0f, false); + mActionSelect = 0; + setAction(&waitRiverDescend); + } + } else if (dComIfGs_isSwitch(mSwitch1, fopAcM_GetRoomNo(this))) { + mOrderEvtNo = EVT_AFTER_BLAST_ZRR; + mOrderNewEvt = true; + setExpressionAnm(ANM_NONE, false); + setMotion(MOT_FLOAT_B, -1.0f, false); + mActionSelect = 0; + setAction(&waitRiverDescend); + } else { + csXyz angle; + cLib_chaseF(&mScaleFactor, daNpc_zrA_Param_c::m.mMaxScaleFactor, + (daNpc_zrA_Param_c::m.mMaxScaleFactor - 1.0f) / 30.0f); + + angle.x = cLib_targetAngleX(&vec, ¤t.pos); + angle.y = cLib_targetAngleY(¤t.pos, &vec); + angle.z = current.angle.z; + cLib_addCalc2(&mSwimSpeedF, 2.0f * daNpc_zrA_Param_c::m.mSwimSpeed, 0.25f, 4.0f); + calcSwimAngle(angle, mSwimAngleCalc, 6, angle_step); + + swim_speed.set(0.0f, 0.0f, mSwimSpeedF); + calcSwimPos(swim_speed); + + f32 play_speed = mpMorf->getPlaySpeed(); + cLib_addCalc2(&play_speed, 1.7f, 0.2f, 0.05f); + mpMorf->setPlaySpeed(play_speed); + + if (mAcch.ChkWaterHit() + && current.pos.y > water_height - daNpc_zrA_Param_c::m.mMinDepth) + { + current.pos.y = water_height - daNpc_zrA_Param_c::m.mMinDepth; + } + + calcBank(angle_step, 6, angle.y, angle.z); + current.angle.z = angle.z; + shape_angle = mCurAngle = current.angle; + } + + break; + } + + case 3: + break; + } + + return true; +} + +/* 80B8601C-80B86440 00DBFC 0424+00 4/0 0/0 0/0 .text diveRiverDescend__11daNpc_zrA_cFPv + */ +BOOL daNpc_zrA_c::diveRiverDescend(void* param_0) { + s16 angle_step = daNpc_zrA_Param_c::m.mSwimAngleSpeed * 2; + + switch (mMode) { + case 0: + setExpressionAnm(ANM_NONE, false); + if (mActionType == ACT_TYPE_0) { + setMotion(MOT_DIVE_B_SWIM_B, -1.0f, false); + } else { + setMotion(MOT_DIVE_B_SWIM_A, -1.0f, false); + } + mSwimMode = SWIM_3; + mCcStts.SetWeight(0); + setLookMode(LOOK_NONE); + mSwimAngleCalc = current.angle; + mMode = 2; + // fallthrough + + case 2: { + cLib_chaseF(&mScaleFactor, daNpc_zrA_Param_c::m.mMaxScaleFactor, + (daNpc_zrA_Param_c::m.mMaxScaleFactor - 1.0f) / 30.0f); + cXyz pos; + csXyz angle; + mPath.getDstPos(current.pos, pos); + angle.x = cLib_targetAngleX(&pos, ¤t.pos); + angle.y = cLib_targetAngleY(¤t.pos, &pos); + angle.z = current.angle.z; + calcSwimAngle(angle, mSwimAngleCalc, 3, angle_step); + shape_angle = mCurAngle = current.angle; + + f32 frame = mpMorf->getFrame(); + cXyz dive_speed(0.0f, 0.0f, 0.0f); + if (mBaseMotionAnm == ANM_DIVE_B) { + if (frame <= 3.0f) { + dive_speed.set(0.0f, 0.0f, 0.0f); + } else if (frame <= 6.0f) { + dive_speed.set(0.0f, 14.0f, 0.0f); + } else if (frame <= 9.0f) { + dive_speed.set(0.0f, 3.0f, 8.5f); + } else if (frame <= 13.0f) { + dive_speed.set(0.0f, -9.25f, 4.5f); + } else if (frame <= 20.0f) { + dive_speed.set(0.0f, -14.0f, 2.5f); + } else { + dive_speed.set(0.0f, 0.0f, 6.25f); + } + } + mDoMtx_stack_c::ZXYrotS(current.angle); + mDoMtx_stack_c::multVec(&dive_speed, &dive_speed); + current.pos += dive_speed; + + if (mGameMode == GAME_MODE_1 && field_0x15c0 == 1 + && dComIfGs_isSwitch(mSwitch1, fopAcM_GetRoomNo(this))) + { + setExpressionAnm(ANM_NONE, false); + setMotion(MOT_FLOAT_B, -1.0f, false); + mOrderEvtNo = EVT_AFTER_BLAST_ZRR; + mOrderNewEvt = true; + mActionSelect = 0; + setAction(&waitRiverDescend); + } else if (mBaseMotionAnm == ANM_SWIM_A || mBaseMotionAnm == ANM_SWIM_B) { + if (mGameMode == GAME_MODE_1 && field_0x15c0 == 1) { + mActionSelect = 6; + setAction(&swimRiverDescend2); + } else { + mActionSelect = 1; + setAction(&swimRiverDescend); + } + } + + break; + } + + case 3: + break; + } + + return true; +} + +/* 80B86440-80B86A2C 00E020 05EC+00 2/0 0/0 0/0 .text swimGoalRiverDescend__11daNpc_zrA_cFPv */ +// NONMATCHING stack ordering +BOOL daNpc_zrA_c::swimGoalRiverDescend(void* param_0) { + daPy_py_c* player; + cXyz pos, swim_speed; + s16 angle_step = daNpc_zrA_Param_c::m.mSwimAngleSpeed; + + switch (mMode) { + case 0: + setExpressionAnm(ANM_NONE, false); + if (mActionType == ACT_TYPE_0) { + setMotion(MOT_SWIM_B, -1.0f, false); + } else { + setMotion(MOT_SWIM_A, -1.0f, false); + } + mSwimMode = SWIM_RAIL; + mCcStts.SetWeight(0); + setLookMode(LOOK_NONE); + mSwimAngleCalc = current.angle; + calcWaistAngleInit(); + field_0x1500 = daPy_getPlayerActorClass()->current.pos; + mSwimSpeedF = daNpc_zrA_Param_c::m.mSwimSpeed; + mMode = 2; + // fallthrough + + case 2: + player = daPy_getPlayerActorClass(); + cLib_chaseF(&mScaleFactor, daNpc_zrA_Param_c::m.mMaxScaleFactor, + (daNpc_zrA_Param_c::m.mMaxScaleFactor - 1.0f) / 30.0f); + if (player->current.pos.y < -14100.0f) { + if (!daNpcF_chkEvtBit(0x60)) { + mOrderEvtNo = EVT_THANKS_BLAST; + } else if (dMeter2Info_getNowCount() >= 30) { + dComIfGs_onSwitch(mSwitch1, fopAcM_GetRoomNo(this)); + dComIfGs_onSwitch(mSwitch2, fopAcM_GetRoomNo(this)); + mOrderEvtNo = EVT_THANKS_BLAST; + } else if (dMeter2Info_getNowCount() >= 25) { + dComIfGs_onSwitch(mSwitch1, fopAcM_GetRoomNo(this)); + mOrderEvtNo = EVT_THANKS_BLAST; + } else { + mOrderEvtNo = EVT_RESULT_ANNOUNCE; + } + } else { + mPath.getDstPos(current.pos, pos); + f32 target_speed; + cXyz vec; + if (mPath.getIdx() != mPath.getNextIdx()) { + vec = field_0x1500 - player->current.pos; + target_speed = vec.abs() * 1.2f; + if (target_speed < daNpc_zrA_Param_c::m.mSwimSpeed) { + target_speed = daNpc_zrA_Param_c::m.mSwimSpeed; + } + } else { + target_speed = 0.0f; + if (mSwimSpeedF < 10.0f) { + pos = player->current.pos; + } + } + field_0x1500 = player->current.pos; + cLib_addCalc2(&mSwimSpeedF, target_speed, 0.3f, 5.0f); + + csXyz angle; + angle.x = cLib_targetAngleX(&pos, ¤t.pos); + angle.y = cLib_targetAngleY(¤t.pos, &pos); + angle.z = current.angle.z; + calcSwimAngle(angle, mSwimAngleCalc, 3, angle_step); + + swim_speed.set(0.0f, 0.0f, mSwimSpeedF); + calcSwimPos(swim_speed); + + f32 play_speed = mpMorf->getPlaySpeed(); + //!@bug vec is used here despite not being initialized in all code paths + f32 target_play_speed = + cLib_minMaxLimit((mSwimSpeedF - vec.abs()) / 25.0f, 0.0f, 1.3f) + 0.7f; + cLib_addCalc2(&play_speed, target_play_speed, 0.2f, 0.1f); + mpMorf->setPlaySpeed(play_speed); + + calcBank(angle_step, 3, angle.y, angle.z); + current.angle.z = angle.z; + shape_angle = mCurAngle = current.angle; + } + + break; + + case 3: + break; + } + + return true; +} + +/* 80B86A2C-80B86D9C 00E60C 0370+00 2/0 0/0 0/0 .text returnRiverDescend__11daNpc_zrA_cFPv */ +BOOL daNpc_zrA_c::returnRiverDescend(void* param_0) { + cXyz pos, swim_speed; + s16 angle_step = daNpc_zrA_Param_c::m.mSwimAngleSpeed; + f32 swim_speed_scale = mSwimSpeedScale; + + switch (mMode) { + case 0: + mMode = 2; + // fallthrough + + case 2: + if (mPath.getDstPos(current.pos, pos) && mPath.getIdx() == mPath.getNextIdx()) { + mPath.reverse(); + fopAcM_delete(mActorMngr[2].getActorP()); + fopAcM_delete(this); + return true; + } else { + csXyz angle; + angle.x = cLib_targetAngleX(&pos, ¤t.pos); + angle.y = cLib_targetAngleY(¤t.pos, &pos); + angle.z = current.angle.z; + s16 angle_diff_x = angle.x - current.angle.x; + s16 angle_diff_y = angle.y - current.angle.y; + bool bvar4 = false; + + if (mActionType != ACT_TYPE_0 + && (abs(angle_diff_x) > 0x3000 || abs(angle_diff_y) > 0x3000) + && mSwimSpeedF > 14.0f) + { + f32 frame = mpMorf->getFrame(); + if ((angle.z <= 0x2000 || angle_diff_y >= 0) + && (angle.z >= -0x2000 || angle_diff_y <= 0)) + { + if (angle_diff_x < -0x3000) { + if (frame >= 2.0f && frame <= 4.0f) { + bvar4 = true; + } + } else { + if (frame >= 16.0f && frame <= 18.0f) { + mpMorf->setFrame(18.0f); + mpMorf->setMorf(2.0f); + mpMorf->setPlaySpeed(0.1f); + bvar4 = true; + } + } + } + + if (bvar4) { + calcSwimAngle(angle, mSwimAngleCalc, 4, angle_step); + } else { + calcSwimAngle(angle, mSwimAngleCalc, 8, angle_step / 2); + } + } else { + calcSwimAngle(angle, mSwimAngleCalc, 8, angle_step); + } + + cLib_addCalc2(&mSwimSpeedF, swim_speed_scale * daNpc_zrA_Param_c::m.mSwimSpeed, + 0.2f, 3.0f); + swim_speed.set(0.0f, 0.0f, mSwimSpeedF); + calcSwimPos(swim_speed); + + if (mAcch.ChkWaterHit()) { + current.pos.y = mAcch.m_wtr.GetHeight() - daNpc_zrA_Param_c::m.mMinDepth; + } + + if (!bvar4) { + f32 play_speed = mpMorf->getPlaySpeed(); + cLib_addCalc2(&play_speed, mSwimSpeedF / daNpc_zrA_Param_c::m.mSwimAnmRate, + 0.2f, 0.1f); + mpMorf->setPlaySpeed(play_speed); + } + + calcBank(angle_step, 8, angle.y, angle.z); + current.angle.z = angle.z; + shape_angle = mCurAngle = current.angle; + calcCanoeMove(true); + } + + break; + + case 3: + break; + } + + return true; +} + +/* 80B86D9C-80B86E78 00E97C 00DC+00 3/3 0/0 0/0 .text moveRiverPosCalc__11daNpc_zrA_cFR4cXyz */ +void daNpc_zrA_c::moveRiverPosCalc(cXyz& o_pos) { + cXyz pos; + mPath.getDstPos(daPy_getPlayerActorClass()->current.pos, pos); + mRiverPathIdx = mPath.getDstPosChase(mRiverPathIdx, current.pos, o_pos); + f32 water_y; + if (fopAcM_getWaterY(&o_pos, &water_y)) { + o_pos.y = water_y - 130.0f; + } else { + o_pos.y -= 130.0f; + } +} + +/* 80B86E78-80B86FAC 00EA58 0134+00 1/1 0/0 0/0 .text createRuppi__11daNpc_zrA_cFv */ +void daNpc_zrA_c::createRuppi() { + int item; + if (cLib_getRndValue(0, 5) < 4) { + item = GREEN_RUPEE; + } else { + item = BLUE_RUPEE; + } + cXyz pos(0.0f, 0.0f, -100.0f); + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::ZXYrotM(mCurAngle.x, mCurAngle.y, mCurAngle.z); + mDoMtx_stack_c::multVec(&pos, &pos); + f32 water_y; + if (fopAcM_getWaterY(&pos, &water_y)) { + pos.y = water_y + 50.0f; + } + csXyz angle(0, current.angle.y, 0); + cXyz scl(1.0f, 1.0f, 1.0f); + f32 speed_f = 0.0f; + f32 speed_y = 50.0f; + fopAcM_fastCreateItem(&pos, item, fopAcM_GetRoomNo(this), + &angle, &scl, &speed_f, &speed_y, -1, 0, NULL); +} + +/* 80B86FAC-80B872F0 00EB8C 0344+00 3/0 0/0 0/0 .text ECut_beforeBlastzrR__11daNpc_zrA_cFi */ +BOOL daNpc_zrA_c::ECut_beforeBlastzrR(int i_staffID) { + dEvent_manager_c& event_manager = dComIfGp_getEventManager(); + BOOL ret = false; + int prm = -1; + cXyz player_pos = daPy_getPlayerActorClass()->current.pos; + cXyz canoe_pos(41744.918f, -6498.715f, -18601.64f); + daCanoe_c* canoe; + int* prm_p = dComIfGp_evmng_getMyIntegerP(i_staffID, "prm"); + if (prm_p != NULL) { + prm = *prm_p; + } + + if (event_manager.getIsAddvance(i_staffID)) { + switch (prm) { + case 0: + daNpcF_offTmpBit(0xb); + break; + case 10: + initTalk(mFlowID, NULL); + break; + case 15: + break; + case 20: + initTalk(mFlowID, NULL); + break; + } + } + + switch (prm) { + case 0: + calcWaitSwim(true); + cLib_addCalcAngleS2(&mCurAngle.y, fopAcM_searchPlayerAngleY(this), 0x20, 0x200); + setAngle(mCurAngle.y); + ret = true; + break; + + case 10: + if (talkProc(NULL, 1, NULL)) { + ret = true; + } + canoe = (daCanoe_c*)fpcM_Search(s_sub, this); + if (canoe != NULL) { + canoe->setPosAndAngle(&canoe_pos, -0x35e8); + } + calcWaitSwim(true); + cLib_addCalcAngleS2(&mCurAngle.y, fopAcM_searchPlayerAngleY(this), 0x20, 0x200); + setAngle(mCurAngle.y); + break; + + case 15: { + canoe = (daCanoe_c*)fpcM_Search(s_sub, this); + if (canoe != NULL) { + canoe->setPosAndAngle(&canoe_pos, -0x35e8); + } + cXyz target_pos(30895.559f, -6592.8496f, -23170.195f); + calcWaitSwim(true); + s16 target_angle = cLib_targetAngleY(¤t.pos, &target_pos); + if (mCurAngle.y != target_angle) { + if (abs((s16)(mCurAngle.y - target_angle)) > 0x400) { + mCurAngle.y -= 0x400; + } else { + mCurAngle.y = target_angle; + } + setAngle(mCurAngle.y); + } else { + ret = true; + } + break; + } + + case 20: + if (talkProc(NULL, 1, NULL)) { + ret = true; + } + canoe = (daCanoe_c*)fpcM_Search(s_sub, this); + if (canoe != NULL) { + canoe->setPosAndAngle(&canoe_pos, -0x35e8); + } + calcWaitSwim(true); + break; + + default: + ret = true; + break; + } + + return ret; +} + +/* 80B872F0-80B87510 00EED0 0220+00 1/0 0/0 0/0 .text ECut_afterBlastzrR__11daNpc_zrA_cFi + */ +BOOL daNpc_zrA_c::ECut_afterBlastzrR(int i_staffID) { + dEvent_manager_c& event_manager = dComIfGp_getEventManager(); + BOOL ret = false; + int prm = -1; + cXyz player_pos = daPy_getPlayerActorClass()->current.pos; + cXyz canoe_pos(40944.918f, -6498.715f, -18601.64f); + daCanoe_c* canoe; + int* prm_p = dComIfGp_evmng_getMyIntegerP(i_staffID, "prm"); + if (prm_p != NULL) { + prm = *prm_p; + } + + if (event_manager.getIsAddvance(i_staffID)) { + switch (prm) { + case 0: { + cXyz target_pos(32651.498f, -5900.219f, -22464.525f); + setLookMode(LOOK_NONE); + mTurnMode = 0; + calcWaistAngleStop(); + field_0x1550 = true; + mSwimSpeedF = 0.0f; + mIsTurning = true; + current.pos.set(34301.445f, -6541.864f, -24243.617f); + old.pos = current.pos; + setAngle(cLib_targetAngleY(¤t.pos, &target_pos)); + field_0x15c0 = 2; + break; + } + + case 10: + initTalk(mFlowID, NULL); + break; + } + } + + switch (prm) { + case 0: + case 10: + calcWaitSwim(true); + canoe = (daCanoe_c*)fpcM_Search(s_sub, this); + if (canoe != NULL) { + canoe->setPosAndAngle(&canoe_pos, -0x35e8); + } + if (prm == 0) { + ret = true; + } else { + if (talkProc(NULL, 1, NULL)) { + ret = true; + } + } + break; + + default: + ret = true; + break; + } + + return ret; +} + +/* 80B87510-80B88B04 00F0F0 15F4+00 1/0 0/0 0/0 .text ECut_thanksBlast__11daNpc_zrA_cFi + */ +BOOL daNpc_zrA_c::ECut_thanksBlast(int i_staffID) { + dEvent_manager_c& event_manager = dComIfGp_getEventManager(); + BOOL ret = false; + int prm = -1; + s16 angle_step = daNpc_zrA_Param_c::m.mSwimAngleSpeed; + f32 water_height = mAcch.m_wtr.GetHeight(); + daPy_py_c* player = daPy_getPlayerActorClass(); + cXyz player_pos = player->current.pos; + int* prm_p = dComIfGp_evmng_getMyIntegerP(i_staffID, "prm"); + if (prm_p != NULL) { + prm = *prm_p; + } + + if (event_manager.getIsAddvance(i_staffID)) { + switch (prm) { + case 0: + daNpcF_offTmpBit(0xb); + daNpcF_offTmpBit(0xc); + if (mActionType == ACT_TYPE_0) { + setMotion(MOT_SWIM_B, -1.0f, false); + } else { + setMotion(MOT_SWIM_A, -1.0f, false); + } + mTurnMode = 0; + break; + + case 1: + if (mActorMngr[2].getActorP() != NULL + && fopAcM_GetName(mActorMngr[2].getActorP()) == PROC_CANOE) + { + static_cast(mActorMngr[2].getActorP())->setWaterFallDownSe(); + } + daPy_getPlayerActorClass()->offCanoeSlider(); + if (daNpcF_chkEvtBit(0x60)) { + dComIfG_TimerDeleteRequest(4); + } else { + dComIfG_TimerDeleteRequest(3); + } + dMeter2Info_resetMiniGameItem(false); + break; + + case 10: + initTalk(mFlowID, NULL); + break; + + case 20: { + mPath.onReverse(); + mPath.setIdx(mPath.getEndIdx() - 1); + cXyz pos1(-77941.7f, -18800.0f - daNpc_zrA_Param_c::m.mMinDepth - 30.0f, 39645.3f); + cXyz pos2(-78941.7f, -18800.0f - daNpc_zrA_Param_c::m.mMinDepth - 30.0f, 39645.3f); + current.pos = pos1; + current.angle.y = cLib_targetAngleY(&pos1, &player_pos); + setAngle(current.angle.y); + + cXyz water_pos = current.pos; + f32 water_y; + if (fopAcM_getWaterY(&water_pos, &water_y)) { + water_pos.y = water_y; + } + + cXyz offset(0.0f, 0.0f, daNpc_zrA_Param_c::m.field_0xa0); + csXyz angle(0, cLib_targetAngleY(&pos1, &pos2), 0); + mDoMtx_stack_c::ZXYrotS(angle); + mDoMtx_stack_c::transM(offset); + mDoMtx_stack_c::multVecZero(&field_0x159c[0]); + field_0x159c[0] += water_pos; + + offset.set(0.0f, 0.0f, daNpc_zrA_Param_c::m.field_0xa4); + mDoMtx_stack_c::ZXYrotS(angle); + mDoMtx_stack_c::transM(offset); + mDoMtx_stack_c::multVecZero(&field_0x159c[1]); + field_0x159c[1] += field_0x159c[0]; + field_0x159c[2] = field_0x159c[1]; + + cLib_targetAngleY(&pos2, &pos1); + static_cast(mActorMngr[2].getActorP()) + ->setPosAndAngle(&field_0x159c[1], angle.y + 0x8000); + break; + } + + case 30: + initTalk(mFlowID, NULL); + break; + + case 31: { + int item_id = 0; + if (mFlow.getEventId(&item_id) == 1) { + mItemID = fopAcM_createItemForPresentDemo(¤t.pos, item_id, + 0, -1, -1, NULL, NULL); + } + field_0x9eb = true; + break; + } + + case 40: + field_0x9eb = false; + initTalk(mFlowID, NULL); + break; + + case 50: + if (mActionType == ACT_TYPE_0) { + setMotion(MOT_DIVE_B_SWIM_B, -1.0f, false); + } else { + setMotion(MOT_DIVE_B_SWIM_A, -1.0f, false); + } + break; + + case 60: + calcWaistAngleInit(); + mEventTimer = 120; + mSwimAngleCalc = current.angle; + break; + } + } + + switch (prm) { + case 0: + if (player_pos.y < -18640.0f) { + ret = true; + } + // fallthrough + + case 1: + if (mMotion == MOT_SWIM_A || mMotion == MOT_SWIM_B) { + if (mBaseMotionAnm != ANM_SWIM_A && mBaseMotionAnm != ANM_SWIM_B) { + break; + } + + cXyz pos; + f32 target_speed; + if (mPath.getIdx() != mPath.getNextIdx()) { + mPath.getDstPos(current.pos, pos); + cXyz vec = field_0x1500 - player->current.pos; + target_speed = vec.abs() * 1.2f; + if (target_speed < daNpc_zrA_Param_c::m.mSwimSpeed) { + target_speed = daNpc_zrA_Param_c::m.mSwimSpeed; + } + } else { + if ((field_0x1500 - player->current.pos).absXZ() < 5.0f) { + cXyz vec1(350.0f, 0.0f, 0.0f); + cXyz vec2, vec3; + mDoMtx_stack_c::YrotS(player->current.angle.y); + mDoMtx_stack_c::multVec(&vec1, &vec2); + vec3 = player->current.pos - vec2; + vec2 += player->current.pos; + if ((vec2 - current.pos).absXZ() < (vec3 - current.pos).absXZ()) { + pos = vec2; + } else { + pos = vec3; + } + if ((player_pos - current.pos).absXZ() > 450.0f) { + target_speed = daNpc_zrA_Param_c::m.mSwimSpeed * 1.5f * 1.5f; + } else { + target_speed = 15.0f; + pos = player_pos; + } + } else { + target_speed = 0.0f; + if (mSwimSpeedF < 10.0f) { + pos = player_pos; + } else { + mPath.getDstPos(current.pos, pos); + } + } + } + + cLib_addCalc2(&mSwimSpeedF, target_speed, 0.2f, 3.0f); + f32 play_speed = mpMorf->getPlaySpeed(); + cLib_addCalc2(&play_speed, 1.0f, 0.2f, 0.03f); + mpMorf->setPlaySpeed(play_speed); + + csXyz angle; + angle.x = cLib_targetAngleX(&pos, ¤t.pos); + angle.y = cLib_targetAngleY(¤t.pos, &pos); + angle.z = current.angle.z; + current.angle.z = 0; + calcSwimAngle(angle, mSwimAngleCalc, 8, angle_step); + calcBank(angle_step, 8, angle.y, angle.z); + current.angle.z = angle.z; + shape_angle = mCurAngle = current.angle; + cXyz swim_speed(0.0f, 0.0f, mSwimSpeedF); + calcSwimPos(swim_speed); + if (mAcch.ChkWaterHit() + && current.pos.y > water_height - daNpc_zrA_Param_c::m.mMinDepth) + { + current.pos.y = water_height - daNpc_zrA_Param_c::m.mMinDepth; + } + + if ((field_0x1500 - player->current.pos).absXZ() < 10.0f + && (player_pos - current.pos).absXZ() < 400.0f) + { + setMotion(MOT_FLOAT_B, -1.0f, false); + calcWaistAngleStop(); + } + field_0x1500 = player->current.pos; + } else { + calcWaitSwim(true); + if (mCurAngle.y == fopAcM_searchPlayerAngleY(this)) { + if (mBaseMotionAnm == ANM_WAIT_SWIM) { + if (prm == 1) { + ret = true; + } + mTurnMode = 0; + } + } else { + cLib_chaseAngleS(&mCurAngle.y, fopAcM_searchPlayerAngleY(this), + daNpc_zrA_Param_c::m.mSwimAngleSpeed); + setAngle(mCurAngle.y); + } + } + + break; + + case 10: + calcWaitSwim(true); + if (talkProc(NULL, 1, NULL)) { + ret = true; + } + break; + + case 20: + calcWaitSwim(true); + calcCanoeMove(false); + current.angle.y = cLib_targetAngleY(¤t.pos, &player_pos); + setAngle(current.angle.y); + ret = true; + break; + + case 30: + case 40: + calcWaitSwim(true); + calcCanoeMove(false); + if (talkProc(NULL, 1, NULL)) { + ret = true; + mSwimAngleCalc = current.angle; + mSwimSpeedScale = 1.0f; + mSwimSpeedF = mSwimSpeedScale * daNpc_zrA_Param_c::m.mSwimSpeed; + setLookMode(LOOK_NONE); + } + break; + + case 31: + field_0x9eb = true; + ret = true; + calcWaitSwim(true); + calcCanoeMove(false); + break; + + case 50: { + s16 angle_step = daNpc_zrA_Param_c::m.mSwimAngleSpeed; + cLib_chaseF(&mScaleFactor, daNpc_zrA_Param_c::m.mMaxScaleFactor, + (daNpc_zrA_Param_c::m.mMaxScaleFactor - 1.0f) / 30.0f); + cXyz pos; + csXyz angle; + mPath.getDstPosDst2(current.pos, pos); + angle.x = cLib_targetAngleX(&pos, ¤t.pos); + angle.y = cLib_targetAngleY(¤t.pos, &pos); + angle.z = current.angle.z; + calcSwimAngle(angle, mSwimAngleCalc, 4, angle_step); + shape_angle = mCurAngle = current.angle; + + f32 frame = mpMorf->getFrame(); + cXyz dive_speed(0.0f, 0.0f, 0.0f); + if (mBaseMotionAnm == ANM_DIVE_B) { + if (frame <= 3.0f) { + dive_speed.set(0.0f, 0.0f, 0.0f); + } else if (frame <= 6.0f) { + dive_speed.set(0.0f, 22.0f, 0.0f); + } else if (frame <= 9.0f) { + dive_speed.set(0.0f, 6.0f, 8.5f); + } else if (frame <= 13.0f) { + dive_speed.set(0.0f, -9.25f, 4.5f); + } else if (frame <= 20.0f) { + dive_speed.set(0.0f, -14.0f, 2.5f); + } else { + dive_speed.set(0.0f, 0.0f, 6.25f); + } + } + mDoMtx_stack_c::ZXYrotS(current.angle); + mDoMtx_stack_c::multVec(&dive_speed, &dive_speed); + current.pos += dive_speed; + + if (mBaseMotionAnm == ANM_SWIM_A || mBaseMotionAnm == ANM_SWIM_B) { + ret = true; + if (!calcWaistAngleCheck()) { + calcWaistAngleInit(); + mSwimSpeedScale = 1.0f; + mSwimSpeedF = mSwimSpeedScale * daNpc_zrA_Param_c::m.mSwimSpeed; + } + cXyz swim_speed(0.0f, 0.0f, mSwimSpeedF); + calcSwimPos(swim_speed); + } + + calcCanoeMove(true); + break; + } + + case 60: { + cXyz pos; + mPath.getDstPos(current.pos, pos); + f32 water_y; + if (fopAcM_getWaterY(¤t.pos, &water_y) && pos.y > water_y) { + pos.y = water_y; + } + csXyz angle; + angle.x = cLib_targetAngleX(&pos, ¤t.pos); + angle.y = cLib_targetAngleY(¤t.pos, &pos); + angle.z = current.angle.z; + current.angle.z = 0; + calcSwimAngle(angle, mSwimAngleCalc, 8, angle_step); + calcBank(angle_step, 8, angle.y, angle.z); + current.angle.z = angle.z; + shape_angle = mCurAngle = current.angle; + cXyz swim_speed(0.0f, 0.0f, mSwimSpeedF); + calcSwimPos(swim_speed); + if (mAcch.ChkWaterHit() && current.pos.y > water_y - daNpc_zrA_Param_c::m.mMinDepth) { + current.pos.y = water_y - daNpc_zrA_Param_c::m.mMinDepth; + } + calcCanoeMove(true); + if (cLib_calcTimer(&mEventTimer) == 0) { + ret = true; + } + break; + } + + default: + ret = true; + break; + } + + return ret; +} + +/* 80B88B04-80B8A064 0106E4 1560+00 1/0 0/0 0/0 .text ECut_resultAnnounce__11daNpc_zrA_cFi */ +BOOL daNpc_zrA_c::ECut_resultAnnounce(int i_staffID) { + dEvent_manager_c& event_manager = dComIfGp_getEventManager(); + BOOL ret = false; + int prm = -1; + s16 angle_step = daNpc_zrA_Param_c::m.mSwimAngleSpeed; + f32 water_height = mAcch.m_wtr.GetHeight(); + daPy_py_c* player = daPy_getPlayerActorClass(); + cXyz player_pos = player->current.pos; + int* prm_p = dComIfGp_evmng_getMyIntegerP(i_staffID, "prm"); + if (prm_p != NULL) { + prm = *prm_p; + } + + if (event_manager.getIsAddvance(i_staffID)) { + switch (prm) { + case 0: + daNpcF_offTmpBit(0xb); + daNpcF_offTmpBit(0xc); + if (mActionType == ACT_TYPE_0) { + setMotion(MOT_SWIM_B, -1.0f, false); + } else { + setMotion(MOT_SWIM_A, -1.0f, false); + } + mTurnMode = 0; + break; + + case 1: + if (mActorMngr[2].getActorP() != NULL + && fopAcM_GetName(mActorMngr[2].getActorP()) == PROC_CANOE) + { + static_cast(mActorMngr[2].getActorP())->setWaterFallDownSe(); + } + daPy_getPlayerActorClass()->offCanoeSlider(); + dComIfG_TimerDeleteRequest(4); + dMeter2Info_resetMiniGameItem(false); + break; + + case 10: + initTalk(mFlowID, NULL); + break; + + case 20: { + mPath.onReverse(); + mPath.setIdx(mPath.getEndIdx() - 1); + cXyz pos1(-77941.7f, -18800.0f - daNpc_zrA_Param_c::m.mMinDepth - 30.0f, 39645.3f); + cXyz pos2(-78941.7f, -18800.0f - daNpc_zrA_Param_c::m.mMinDepth - 30.0f, 39645.3f); + current.pos = pos1; + current.angle.y = cLib_targetAngleY(&pos1, &player_pos); + setAngle(current.angle.y); + + cXyz water_pos = current.pos; + f32 water_y; + if (fopAcM_getWaterY(&water_pos, &water_y)) { + water_pos.y = water_y; + } + + cXyz offset(0.0f, 0.0f, daNpc_zrA_Param_c::m.field_0xa0); + csXyz angle(0, cLib_targetAngleY(&pos1, &pos2), 0); + mDoMtx_stack_c::ZXYrotS(angle); + mDoMtx_stack_c::transM(offset); + mDoMtx_stack_c::multVecZero(&field_0x159c[0]); + field_0x159c[0] += water_pos; + + offset.set(0.0f, 0.0f, daNpc_zrA_Param_c::m.field_0xa4); + mDoMtx_stack_c::ZXYrotS(angle); + mDoMtx_stack_c::transM(offset); + mDoMtx_stack_c::multVecZero(&field_0x159c[1]); + field_0x159c[1] += field_0x159c[0]; + field_0x159c[2] = field_0x159c[1]; + + cLib_targetAngleY(&pos2, &pos1); + static_cast(mActorMngr[2].getActorP()) + ->setPosAndAngle(&field_0x159c[1], angle.y + 0x8000); + dComIfGp_event_offHindFlag(0x80); + break; + } + + case 30: + initTalk(mFlowID, NULL); + break; + + case 40: + if (mActionType == ACT_TYPE_0) { + setMotion(MOT_DIVE_B_SWIM_B, -1.0f, false); + } else { + setMotion(MOT_DIVE_B_SWIM_A, -1.0f, false); + } + break; + + case 50: + calcWaistAngleInit(); + mEventTimer = 120; + mSwimAngleCalc = current.angle; + break; + } + } + + switch (prm) { + case 0: + if (player_pos.y < -18640.0f) { + ret = true; + } + // fallthrough + + case 1: + if (mMotion == MOT_SWIM_A || mMotion == MOT_SWIM_B) { + if (mBaseMotionAnm != ANM_SWIM_A && mBaseMotionAnm != ANM_SWIM_B) { + break; + } + + cXyz pos; + f32 target_speed; + if (mPath.getIdx() != mPath.getNextIdx()) { + mPath.getDstPos(current.pos, pos); + cXyz vec = field_0x1500 - player->current.pos; + target_speed = vec.abs() * 1.2f; + if (target_speed < daNpc_zrA_Param_c::m.mSwimSpeed) { + target_speed = daNpc_zrA_Param_c::m.mSwimSpeed; + } + } else { + if ((field_0x1500 - player->current.pos).absXZ() < 5.0f) { + cXyz vec1(350.0f, 0.0f, 0.0f); + cXyz vec2, vec3; + mDoMtx_stack_c::YrotS(player->current.angle.y); + mDoMtx_stack_c::multVec(&vec1, &vec2); + vec3 = player->current.pos - vec2; + vec2 += player->current.pos; + if ((vec2 - current.pos).absXZ() < (vec3 - current.pos).absXZ()) { + pos = vec2; + } else { + pos = vec3; + } + if ((player_pos - current.pos).absXZ() > 450.0f) { + target_speed = daNpc_zrA_Param_c::m.mSwimSpeed * 1.5f * 1.5f; + } else { + target_speed = 15.0f; + pos = player_pos; + } + } else { + target_speed = 0.0f; + if (mSwimSpeedF < 10.0f) { + pos = player_pos; + } else { + mPath.getDstPos(current.pos, pos); + } + } + } + + cLib_addCalc2(&mSwimSpeedF, target_speed, 0.2f, 3.0f); + f32 play_speed = mpMorf->getPlaySpeed(); + cLib_addCalc2(&play_speed, 1.0f, 0.2f, 0.03f); + mpMorf->setPlaySpeed(play_speed); + + csXyz angle; + angle.x = cLib_targetAngleX(&pos, ¤t.pos); + angle.y = cLib_targetAngleY(¤t.pos, &pos); + angle.z = current.angle.z; + current.angle.z = 0; + calcSwimAngle(angle, mSwimAngleCalc, 8, angle_step); + calcBank(angle_step, 8, angle.y, angle.z); + current.angle.z = angle.z; + shape_angle = mCurAngle = current.angle; + cXyz swim_speed(0.0f, 0.0f, mSwimSpeedF); + calcSwimPos(swim_speed); + if (mAcch.ChkWaterHit() + && current.pos.y > water_height - daNpc_zrA_Param_c::m.mMinDepth) + { + current.pos.y = water_height - daNpc_zrA_Param_c::m.mMinDepth; + } + + if ((field_0x1500 - player->current.pos).absXZ() < 10.0f + && (player_pos - current.pos).absXZ() < 400.0f) + { + setMotion(MOT_FLOAT_B, -1.0f, false); + calcWaistAngleStop(); + } + field_0x1500 = player->current.pos; + } else { + calcWaitSwim(true); + if (mCurAngle.y == fopAcM_searchPlayerAngleY(this)) { + if (mBaseMotionAnm == ANM_WAIT_SWIM) { + if (prm == 1) { + ret = true; + } + mTurnMode = 0; + } + } else { + cLib_chaseAngleS(&mCurAngle.y, fopAcM_searchPlayerAngleY(this), + daNpc_zrA_Param_c::m.mSwimAngleSpeed); + setAngle(mCurAngle.y); + } + } + + break; + + case 10: + calcWaitSwim(true); + if (talkProc(NULL, 1, NULL)) { + ret = true; + } + break; + + case 20: + calcWaitSwim(true); + calcCanoeMove(false); + current.angle.y = cLib_targetAngleY(¤t.pos, &player_pos); + setAngle(current.angle.y); + ret = true; + break; + + case 30: + calcWaitSwim(true); + calcCanoeMove(false); + if (talkProc(NULL, 1, NULL)) { + if (dComIfGs_isSaveDunSwitch(0x3e)) { + dStage_changeScene(0xf, 0.0f, 0, fopAcM_GetRoomNo(this), 0, -1); + } else { + ret = true; + mSwimAngleCalc = current.angle; + mSwimSpeedScale = 1.0f; + mSwimSpeedF = mSwimSpeedScale * daNpc_zrA_Param_c::m.mSwimSpeed; + setLookMode(LOOK_NONE); + } + } + break; + + case 40: { + s16 angle_step = daNpc_zrA_Param_c::m.mSwimAngleSpeed; + cLib_chaseF(&mScaleFactor, daNpc_zrA_Param_c::m.mMaxScaleFactor, + (daNpc_zrA_Param_c::m.mMaxScaleFactor - 1.0f) / 30.0f); + cXyz pos; + csXyz angle; + mPath.getDstPosDst2(current.pos, pos); + angle.x = cLib_targetAngleX(&pos, ¤t.pos); + angle.y = cLib_targetAngleY(¤t.pos, &pos); + angle.z = current.angle.z; + calcSwimAngle(angle, mSwimAngleCalc, 4, angle_step); + shape_angle = mCurAngle = current.angle; + + f32 frame = mpMorf->getFrame(); + cXyz dive_speed(0.0f, 0.0f, 0.0f); + if (mBaseMotionAnm == ANM_DIVE_B) { + if (frame <= 3.0f) { + dive_speed.set(0.0f, 0.0f, 0.0f); + } else if (frame <= 6.0f) { + dive_speed.set(0.0f, 22.0f, 0.0f); + } else if (frame <= 9.0f) { + dive_speed.set(0.0f, 6.0f, 8.5f); + } else if (frame <= 13.0f) { + dive_speed.set(0.0f, -9.25f, 4.5f); + } else if (frame <= 20.0f) { + dive_speed.set(0.0f, -14.0f, 2.5f); + } else { + dive_speed.set(0.0f, 0.0f, 6.25f); + } + } + mDoMtx_stack_c::ZXYrotS(current.angle); + mDoMtx_stack_c::multVec(&dive_speed, &dive_speed); + current.pos += dive_speed; + + if (mBaseMotionAnm == ANM_SWIM_A || mBaseMotionAnm == ANM_SWIM_B) { + ret = true; + if (!calcWaistAngleCheck()) { + calcWaistAngleInit(); + mSwimSpeedScale = 1.0f; + mSwimSpeedF = mSwimSpeedScale * daNpc_zrA_Param_c::m.mSwimSpeed; + } + cXyz swim_speed(0.0f, 0.0f, mSwimSpeedF); + calcSwimPos(swim_speed); + } + + calcCanoeMove(true); + break; + } + + case 50: { + cXyz pos; + mPath.getDstPos(current.pos, pos); + f32 water_y; + if (fopAcM_getWaterY(¤t.pos, &water_y) && pos.y > water_y) { + pos.y = water_y; + } + csXyz angle; + angle.x = cLib_targetAngleX(&pos, ¤t.pos); + angle.y = cLib_targetAngleY(¤t.pos, &pos); + angle.z = current.angle.z; + current.angle.z = 0; + calcSwimAngle(angle, mSwimAngleCalc, 8, angle_step); + calcBank(angle_step, 8, angle.y, angle.z); + current.angle.z = angle.z; + shape_angle = mCurAngle = current.angle; + cXyz swim_speed(0.0f, 0.0f, mSwimSpeedF); + calcSwimPos(swim_speed); + if (mAcch.ChkWaterHit() && current.pos.y > water_y - daNpc_zrA_Param_c::m.mMinDepth) { + current.pos.y = water_y - daNpc_zrA_Param_c::m.mMinDepth; + } + calcCanoeMove(true); + if (cLib_calcTimer(&mEventTimer) == 0) { + ret = true; + } + break; + } + + default: + ret = true; + break; + } + + return ret; +} + +/* 80B8A064-80B8A3CC 011C44 0368+00 3/3 0/0 0/0 .text calcCanoeMove__11daNpc_zrA_cFi */ +void daNpc_zrA_c::calcCanoeMove(BOOL param_0) { + csXyz angle; + cXyz vec; + cXyz water_pos = current.pos; + f32 water_y; + if (fopAcM_getWaterY(&water_pos, &water_y)) { + water_pos.y = water_y; + } + + angle.x = cLib_targetAngleX(&field_0x159c[0], &water_pos); + angle.y = cLib_targetAngleY(&water_pos, &field_0x159c[0]); + angle.z = 0; + + vec.set(0.0f, 0.0f, daNpc_zrA_Param_c::m.field_0xa0); + mDoMtx_stack_c::ZXYrotS(angle); + mDoMtx_stack_c::multVec(&vec, &field_0x159c[0]); + field_0x159c[0] += water_pos; + if (fopAcM_getWaterY(&field_0x159c[0], &water_y)) { + field_0x159c[0].y = water_y; + } + + angle.x = cLib_targetAngleX(&field_0x159c[1], &field_0x159c[0]); + angle.y = cLib_targetAngleY(&field_0x159c[0], &field_0x159c[1]); + + vec.set(0.0f, 0.0f, daNpc_zrA_Param_c::m.field_0xa4); + mDoMtx_stack_c::ZXYrotS(angle); + mDoMtx_stack_c::multVec(&vec, &field_0x159c[1]); + field_0x159c[1] += field_0x159c[0]; + if (fopAcM_getWaterY(&field_0x159c[1], &water_y)) { + field_0x159c[1].y = water_y; + } + + if (param_0) { + f32 fvar2 = (water_pos - field_0x159c[2]).abs(); + (water_pos - field_0x159c[1]).abs(); + if (fvar2 > daNpc_zrA_Param_c::m.field_0xa0 + daNpc_zrA_Param_c::m.field_0xa4) + { + cLib_addCalcPos2(&field_0x159c[2], field_0x159c[1], 0.2f, mSwimSpeedF * 1.2f); + if (fopAcM_getWaterY(&field_0x159c[2], &water_y)) { + field_0x159c[2].y = water_y; + } + } + } else { + field_0x159c[2] = field_0x159c[1]; + } + + static_cast(mActorMngr[2].getActorP()) + ->setPosAndAngle(&field_0x159c[2], angle.y + 0x8000); +} + +/* 80B8A3CC-80B8A43C 011FAC 0070+00 1/1 0/0 0/0 .text s_subMark__FPvPv */ +static void* s_subMark(void* i_proc, void* i_this) { + if (fopAc_IsActor(i_proc) && fopAcM_GetName(i_proc) == PROC_ZRA_MARK) { + daObjZraMark_c* zra_mark = static_cast(i_proc); + daNpc_zrA_c* _this = static_cast(i_this); + if (zra_mark->getMarkNo() == _this->getNoFromParam()) { + return i_proc; + } + } + return NULL; +} + +/* 80B8A43C-80B8A54C 01201C 0110+00 1/0 0/0 0/0 .text tobiSearch__11daNpc_zrA_cFPv */ +BOOL daNpc_zrA_c::tobiSearch(void* param_0) { + daObjZraMark_c* zra_mark; + + switch (mMode) { + case 0: + mAcch.SetGrndNone(); + mAcch.SetWallNone(); + setExpression(EXPR_NONE, -1.0f); + setMotion(MOT_WAIT_A, -1.0f, false); + setLookMode(LOOK_NONE); + mActionSelect = 0; + mCcStts.SetWeight(0); + mMode = 2; + // fallthrough + + case 2: + zra_mark = (daObjZraMark_c*)fpcM_Search(s_subMark, this); + if (zra_mark != NULL) { + zra_mark->entryPointer(this); + setAction(&tobiWait); + } + break; + + case 3: + break; + } + + return true; +} + +/* 80B8A54C-80B8A648 01212C 00FC+00 2/0 0/0 0/0 .text tobiWait__11daNpc_zrA_cFPv */ +BOOL daNpc_zrA_c::tobiWait(void* param_0) { + switch (mMode) { + case 0: + setExpression(EXPR_NONE, -1.0f); + setMotion(MOT_WAIT_A, -1.0f, false); + setLookMode(LOOK_NONE); + mAttnChangeTimer = 0; + mTurnMode = 0; + mActionSelect = 1; + mMode = 2; + // fallthrough + + case 2: + if (mCcCyl.ChkTgHit() || mBlastFlag) { + setAction(&tobikomi1); + } + break; + + case 3: + break; + } + + return true; +} + +/* 80B8A648-80B8A7F8 012228 01B0+00 2/0 0/0 0/0 .text tobikomi1__11daNpc_zrA_cFPv */ +BOOL daNpc_zrA_c::tobikomi1(void* param_0) { + switch (mMode) { + case 0: + setExpression(EXPR_NONE, -1.0f); + setMotion(MOT_TOBIKOMI_S, -1.0f, false); + mActionSelect = 2; + mMode = 2; + // fallthrough + + case 2: + if (mBaseMotionAnm == MOT_FLOAT_B) { + if (mpMorf->isStop()) { + cXyz vec(-1.68f, -7.99f, 206.37f); + mDoMtx_stack_c::YrotS(mCurAngle.y); + mDoMtx_stack_c::multVec(&vec, &vec); + current.pos += vec; + old.pos = current.pos; + setAction(&tobikomi2); + } else { + s16 angle_y = home.angle.y; + if (getAngleNoFromParam() == 1) { + angle_y -= 0x2000; + } else if (getAngleNoFromParam() == 2) { + angle_y += 0x2000; + } + cLib_chaseAngleS(&mCurAngle.y, angle_y, 0x800); + setAngle(mCurAngle.y); + } + } + break; + + case 3: + break; + } + + return true; +} + +/* 80B8A7F8-80B8AA1C 0123D8 0224+00 2/0 0/0 0/0 .text tobikomi2__11daNpc_zrA_cFPv */ +BOOL daNpc_zrA_c::tobikomi2(void* param_0) { + f32 water_y; + + switch (mMode) { + case 0: + setExpression(EXPR_NONE, -1.0f); + setMotion(MOT_TOBIKOMI_T, -1.0f, false); + mActionSelect = 3; + mSwimSpeed.set(0.0f, -47.0f, 36.0f); + mDoMtx_stack_c::YrotS(mCurAngle.y); + mDoMtx_stack_c::multVec(&mSwimSpeed, &mSwimSpeed); + mMode = 2; + // fallthrough + + case 2: + if (fopAcM_getWaterY(¤t.pos, &water_y)) { + cXyz head_pos; + mDoMtx_stack_c::copy(mpMorf->getModel()->getAnmMtx(4)); + mDoMtx_stack_c::scaleM(scale); + mDoMtx_stack_c::multVecZero(&head_pos); + if (head_pos.y <= water_y) { + cXyz water_pos = head_pos; + water_pos.y = water_y; + fopKyM_createWpillar(&water_pos, 2.5f, 0); + mCreatureSound.startCreatureSound(Z2SE_ZRA_DIVE_SPLASH, 0, -1); + setExpression(EXPR_NONE, -1.0f); + setMotion(MOT_TOBIKOMI_E, -1.0f, false); + setAction(&tobikomi3); + break; + } + } + mSwimSpeed.y -= 3.0f; + current.pos += mSwimSpeed; + break; + + case 3: + break; + } + + return true; +} + +/* 80B8AA1C-80B8AB78 0125FC 015C+00 2/0 0/0 0/0 .text tobikomi3__11daNpc_zrA_cFPv */ +BOOL daNpc_zrA_c::tobikomi3(void* param_0) { + switch (mMode) { + case 0: + mActionSelect = 4; + mSwimAngleCalc = current.angle; + mMode = 2; + // fallthrough + + case 2: { + cXyz vec(0.0f, 0.0f, daNpc_zrA_Param_c::m.mSwimSpeed * 1.5f); + mDoMtx_stack_c::YrotS(mCurAngle.y); + mDoMtx_stack_c::multVec(&vec, &vec); + cLib_chasePos(&mSwimSpeed, vec, 25.0f); + current.pos += mSwimSpeed; + if (mBaseMotionAnm == ANM_SWIM_A) { + if (mBlastFlag) { + setAction(&tobiJump); + } else { + setAction(&tobiEnd); + } + } + break; + } + + case 3: + break; + } + + return true; +} + +/* 80B8AB78-80B8B1FC 012758 0684+00 2/0 0/0 0/0 .text tobiJump__11daNpc_zrA_cFPv */ +BOOL daNpc_zrA_c::tobiJump(void* param_0) { + cXyz swim_speed; + csXyz angle; + f32 water_y; + s16 angle_step = daNpc_zrA_Param_c::m.mSwimAngleSpeed * 2; + s16 angle_scale = 4; + + switch (mMode) { + case 0: + mActionSelect = 5; + mSwimAngleCalc = current.angle; + mMode = 2; + // fallthrough + + case 2: { + cXyz head_pos; + mDoMtx_stack_c::copy(mpMorf->getModel()->getAnmMtx(4)); + mDoMtx_stack_c::scaleM(scale); + mDoMtx_stack_c::multVecZero(&head_pos); + + if (field_0x153e) { + if (mpMorf->getFrame() > 13.0f && mpMorf->getFrame() < 17.0f) { + f32 play_speed = mpMorf->getPlaySpeed(); + cLib_addCalc2(&play_speed, 0.3f, 0.5f, 0.8f); + mpMorf->setPlaySpeed(play_speed); + } + + calcBank(angle_step, angle_scale, current.angle.y, current.angle.z); + mSwimSpeed.y -= 2.0f; + current.pos += mSwimSpeed; + if (current.angle.x < 0x3a00) { + current.angle.x = -cM_atan2s(mSwimSpeed.y, mSwimSpeed.absXZ()); + } + shape_angle = mCurAngle = current.angle; + + if (fopAcM_getWaterY(¤t.pos, &water_y)) { + if (mIsAboveWater && head_pos.y + mSwimSpeed.y <= water_y) { + cXyz water_pos = head_pos; + water_pos.y = water_y; + fopKyM_createWpillar(&water_pos, 2.5f, 0); + mCreatureSound.startCreatureSound(Z2SE_ZRA_DIVE_SPLASH, 0, -1); + mIsAboveWater = false; + } + + if (current.pos.y <= water_y - daNpc_zrA_Param_c::m.mMinDepth) { + setAction(&tobiEnd); + mSwimSpeedF = mSwimSpeed.absXZ(); + } + } + + return true; + } else { + angle.x = -0x3b00; + angle.y = current.angle.y; + angle.z = current.angle.z; + + if (fopAcM_getWaterY(¤t.pos, &water_y)) { + angle_step = daNpc_zrA_Param_c::m.mSwimAngleSpeed * 2; + angle_scale = 2; + if (!(head_pos.y < water_y)) { + if (!mIsAboveWater) { + cXyz water_pos = head_pos; + water_pos.y = water_y; + fopKyM_createWpillar(&water_pos, 2.5f, 0); + mIsAboveWater = true; + mCreatureSound.startCreatureSound(Z2SE_ZRA_DIVE_SPLASH_OUT, 0, -1); + } + + if (current.pos.y > water_y) { + swim_speed.set(0.0f, 0.0f, mSwimSpeedF); + calcSwimPos(swim_speed); + mSwimSpeed = swim_speed; + field_0x153e = true; + return true; + } + } + } + + calcSwimAngle(angle, mSwimAngleCalc, angle_scale, angle_step); + cLib_addCalc2(&mSwimSpeedF, 2.0f * daNpc_zrA_Param_c::m.mSwimSpeed, 0.7f, 10.0f); + swim_speed.set(0.0f, 0.0f, mSwimSpeedF); + calcSwimPos(swim_speed); + f32 play_speed = mpMorf->getPlaySpeed(); + cLib_addCalc2(&play_speed, mSwimSpeedF / daNpc_zrA_Param_c::m.mSwimAnmRate, 0.2f, 0.1f); + mpMorf->setPlaySpeed(play_speed); + shape_angle = mCurAngle = current.angle; + } + + break; + } + + case 3: + break; + } + + return true; +} + +/* 80B8B1FC-80B8B3A0 012DDC 01A4+00 3/0 0/0 0/0 .text tobiEnd__11daNpc_zrA_cFPv */ +BOOL daNpc_zrA_c::tobiEnd(void* param_0) { + cXyz swim_speed; + s16 angle_step = daNpc_zrA_Param_c::m.mSwimAngleSpeed; + + switch (mMode) { + case 0: + mActionSelect = 6; + mMode = 2; + // fallthrough + + case 2: { + if (fopAcM_otherBgCheck(this, dComIfGp_getPlayer(0)) + || fopAcM_CheckCondition(this, fopAcCnd_NODRAW_e)) + { + fopAcM_delete(this); + return true; + } + + csXyz angle; + angle.x = 0x3000; + angle.y = current.angle.y; + angle.z = current.angle.z; + calcSwimAngle(angle, mSwimAngleCalc, 8, angle_step); + cLib_chaseF(&mSwimSpeedF, daNpc_zrA_Param_c::m.mSwimSpeed, + daNpc_zrA_Param_c::m.mSwimSpeed / 3.0f); + swim_speed.set(0.0f, 0.0f, mSwimSpeedF); + calcSwimPos(swim_speed); + f32 play_speed = mpMorf->getPlaySpeed(); + cLib_addCalc2(&play_speed, mSwimSpeedF / daNpc_zrA_Param_c::m.mSwimAnmRate, 0.2f, 0.1f); + mpMorf->setPlaySpeed(play_speed); + calcBank(angle_step, 8, angle.y, angle.z); + current.angle.z = angle.z; + shape_angle = mCurAngle = current.angle; + } + + case 3: + break; + } + + return true; +} + +/* 80B8B3A0-80B8B420 012F80 0080+00 1/1 0/0 0/0 .text s_subSP__FPvPv */ +static void* s_subSP(void* i_proc, void* i_this) { + if (fopAc_IsActor(i_proc) && fopAcM_GetName(i_proc) == PROC_NPC_ZRA) { + daNpc_zrA_c* other = static_cast(i_proc); + daNpc_zrA_c* _this = static_cast(i_this); + if (other->getType() == _this->getType() + && other->getNoFromParam() != _this->getNoFromParam()) + { + return other; + } + } + return NULL; +} + +/* 80B8B420-80B8B530 013000 0110+00 1/0 0/0 0/0 .text waitSearch__11daNpc_zrA_cFPv */ +BOOL daNpc_zrA_c::waitSearch(void* param_0) { + switch (mMode) { + case 0: + setExpression(EXPR_NONE, -1.0f); + setMotion(MOT_WAIT_A, -1.0f, false); + setLookMode(LOOK_NONE); + mAcch.SetGrndNone(); + mAcch.SetWallNone(); + mMode = 2; + // fallthrough + + case 2: + if (mActorMngr[2].getActorP() == NULL) { + fopAc_ac_c* other = (fopAc_ac_c*)fpcM_Search(s_subSP, this); + if (other != NULL) { + mActorMngr[2].entry(other); + } + } + + if (dComIfGs_isSwitch(mSwitch1, fopAcM_GetRoomNo(this))) { + fopAcM_delete(this); + } + break; + + case 3: + break; + } + + return true; +} + +/* 80B8B530-80B8BCE8 013110 07B8+00 1/0 0/0 0/0 .text ECut_searchPrince1__11daNpc_zrA_cFi + */ +BOOL daNpc_zrA_c::ECut_searchPrince1(int i_staffID) { + dEvent_manager_c& event_manager = dComIfGp_getEventManager(); + BOOL ret = false; + int prm = -1; + fopAc_ac_c* talk_actors[2] = {this, mActorMngr[2].getActorP()}; + f32 water_y; + int* prm_p = dComIfGp_evmng_getMyIntegerP(i_staffID, "prm"); + if (prm_p != NULL) { + prm = *prm_p; + } + + if (event_manager.getIsAddvance(i_staffID)) { + switch (prm) { + case 0: + dComIfGs_onSwitch(mSwitch1, fopAcM_GetRoomNo(this)); + setLookMode(LOOK_ACTOR); + break; + + case 10: + initTalk(mFlowID, talk_actors); + break; + + case 20: + setLookMode(LOOK_NONE); + setExpression(EXPR_NONE, -1.0f); + setMotion(MOT_TOBIKOMI_S, -1.0f, false); + break; + + case 30: + mSwimSpeed.set(0.0f, -31.2f, 14.7f); + mDoMtx_stack_c::YrotS(mCurAngle.y); + mDoMtx_stack_c::multVec(&mSwimSpeed, &mSwimSpeed); + break; + + case 40: + setExpression(EXPR_NONE, -1.0f); + setMotion(MOT_TOBIKOMI_E, -1.0f, false); + mSwimAngleCalc = current.angle; + break; + + case 50: + break; + } + } + + switch (prm) { + case 0: + ret = true; + break; + + case 10: + if (talkProc(NULL, 0, talk_actors)) { + ret = true; + } + break; + + case 20: { + if (mBaseMotionAnm == ANM_TOBIKOMI_S) { + if (mpMorf->isStop()) { + cXyz dive_speed(-1.68f, -30.0f, 210.37f); + mDoMtx_stack_c::YrotS(mCurAngle.y); + mDoMtx_stack_c::multVec(&dive_speed, &dive_speed); + current.pos += dive_speed; + old.pos = current.pos; + setExpression(EXPR_NONE, 0.0f); + setMotion(MOT_TOBIKOMI_T, 0.0f, false); + ret = true; + } else { + cLib_chaseAngleS(&mCurAngle.y, 0x2dca, 0x200); + setAngle(mCurAngle.y); + } + } else if (mBaseMotionAnm == ANM_TOBIKOMI_T) { + ret = true; + } + cXyz head_pos; + mDoMtx_stack_c::copy(mpMorf->getModel()->getAnmMtx(4)); + mDoMtx_stack_c::scaleM(scale); + mDoMtx_stack_c::multVecZero(&head_pos); + break; + } + + case 30: + if (mBaseMotionAnm == ANM_TOBIKOMI_E) { + ret = true; + } else if (fopAcM_getWaterY(¤t.pos, &water_y)) { + cXyz head_pos; + mDoMtx_stack_c::copy(mpMorf->getModel()->getAnmMtx(4)); + mDoMtx_stack_c::scaleM(scale); + mDoMtx_stack_c::multVecZero(&head_pos); + if (head_pos.y <= water_y) { + cXyz water_pos = head_pos; + water_pos.y = water_y; + fopKyM_createWpillar(&water_pos, 2.5f, 0); + mCreatureSound.startCreatureSound(Z2SE_ZRA_DIVE_SPLASH, 0, -1); + setExpression(EXPR_NONE, -1.0f); + setMotion(MOT_TOBIKOMI_E, -1.0f, false); + ret = true; + break; + } + } + mSwimSpeed.y -= 3.0f; + current.pos += mSwimSpeed; + break; + + case 40: { + if (mBaseMotionAnm == ANM_SWIM_A) { + ret = true; + } + cXyz swim_speed(0.0f, 0.0f, daNpc_zrA_Param_c::m.mSwimSpeed); + mDoMtx_stack_c::YrotS(mCurAngle.y); + mDoMtx_stack_c::multVec(&swim_speed, &swim_speed); + cLib_chasePos(&mSwimSpeed, swim_speed, 25.0f); + current.pos += mSwimSpeed; + break; + } + + case 50: { + cXyz pos(-4807.7f, -207.444f, 5109.854f); + cXyz swim_speed(0.0f, 0.0f, daNpc_zrA_Param_c::m.mSwimSpeed); + csXyz angle; + angle.x = cLib_targetAngleX(&pos, ¤t.pos); + angle.y = cLib_targetAngleY(¤t.pos, &pos); + angle.z = current.angle.z; + mpMorf->setPlaySpeed(daNpc_zrA_Param_c::m.mSwimSpeed / daNpc_zrA_Param_c::m.mSwimAnmRate); + calcSwimAngle(angle, mSwimAngleCalc, 23, daNpc_zrA_Param_c::m.mSwimAngleSpeed / 2); + calcSwimPos(swim_speed); + calcBank(daNpc_zrA_Param_c::m.mSwimAngleSpeed / 2, 16, angle.y, angle.z); + current.angle.z = angle.z; + shape_angle = mCurAngle = current.angle; + if ((pos - current.pos).absXZ() < 100.0f) { + ret = true; + } + break; + } + + default: + ret = true; + } + + return ret; +} + +/* 80B8BCE8-80B8C3E8 0138C8 0700+00 1/0 0/0 0/0 .text ECut_searchPrince2__11daNpc_zrA_cFi + */ +BOOL daNpc_zrA_c::ECut_searchPrince2(int i_staffID) { + dEvent_manager_c& event_manager = dComIfGp_getEventManager(); + BOOL ret = false; + int prm = -1; + f32 water_y; + int* prm_p = dComIfGp_evmng_getMyIntegerP(i_staffID, "prm"); + if (prm_p != NULL) { + prm = *prm_p; + } + + if (event_manager.getIsAddvance(i_staffID)) { + switch (prm) { + case 0: + setLookMode(LOOK_ACTOR); + break; + + case 10: + break; + + case 20: + setLookMode(LOOK_NONE); + setExpression(EXPR_NONE, -1.0f); + setMotion(MOT_TOBIKOMI_S, -1.0f, false); + break; + + case 30: + mSwimSpeed.set(0.0f, -31.2f, 14.7f); + mDoMtx_stack_c::YrotS(mCurAngle.y); + mDoMtx_stack_c::multVec(&mSwimSpeed, &mSwimSpeed); + break; + + case 40: + setExpression(EXPR_NONE, -1.0f); + setMotion(MOT_TOBIKOMI_E, -1.0f, false); + mSwimAngleCalc = current.angle; + break; + + case 50: + break; + } + } + + switch (prm) { + case 0: + ret = true; + break; + + case 10: + ret = true; + break; + + case 20: + if (mBaseMotionAnm == ANM_TOBIKOMI_S) { + if (mpMorf->isStop()) { + cXyz dive_speed(-1.68f, -30.0f, 210.37f); + mDoMtx_stack_c::YrotS(mCurAngle.y); + mDoMtx_stack_c::multVec(&dive_speed, &dive_speed); + current.pos += dive_speed; + old.pos = current.pos; + setExpression(EXPR_NONE, 0.0f); + setMotion(MOT_TOBIKOMI_T, 0.0f, false); + ret = true; + } else { + cLib_chaseAngleS(&mCurAngle.y, 0x2dca, 0x200); + setAngle(mCurAngle.y); + } + } else if (mBaseMotionAnm == ANM_TOBIKOMI_T) { + ret = true; + } + break; + + case 30: + if (mBaseMotionAnm == ANM_TOBIKOMI_E) { + ret = true; + } else if (fopAcM_getWaterY(¤t.pos, &water_y)) { + cXyz head_pos; + mDoMtx_stack_c::copy(mpMorf->getModel()->getAnmMtx(4)); + mDoMtx_stack_c::scaleM(scale); + mDoMtx_stack_c::multVecZero(&head_pos); + if (head_pos.y <= water_y) { + cXyz water_pos = head_pos; + water_pos.y = water_y; + fopKyM_createWpillar(&water_pos, 2.5f, 0); + setExpression(EXPR_NONE, -1.0f); + setMotion(MOT_TOBIKOMI_E, -1.0f, false); + ret = true; + mCreatureSound.startCreatureSound(Z2SE_ZRA_DIVE_SPLASH, 0, -1); + break; + } + } + mSwimSpeed.y -= 3.0f; + current.pos += mSwimSpeed; + break; + + case 40: { + if (mBaseMotionAnm == ANM_SWIM_A) { + ret = true; + } + cXyz swim_speed(0.0f, 0.0f, daNpc_zrA_Param_c::m.mSwimSpeed); + mDoMtx_stack_c::YrotS(mCurAngle.y); + mDoMtx_stack_c::multVec(&swim_speed, &swim_speed); + cLib_chasePos(&mSwimSpeed, swim_speed, 25.0f); + current.pos += mSwimSpeed; + break; + } + + case 50: { + cXyz pos(-4807.7f, -207.444f, 5109.854f); + cXyz swim_speed(0.0f, 0.0f, daNpc_zrA_Param_c::m.mSwimSpeed); + csXyz angle; + angle.x = cLib_targetAngleX(&pos, ¤t.pos); + angle.y = cLib_targetAngleY(¤t.pos, &pos); + angle.z = current.angle.z; + mpMorf->setPlaySpeed(daNpc_zrA_Param_c::m.mSwimSpeed / daNpc_zrA_Param_c::m.mSwimAnmRate); + calcSwimAngle(angle, mSwimAngleCalc, 23, daNpc_zrA_Param_c::m.mSwimAngleSpeed / 2); + calcSwimPos(swim_speed); + calcBank(daNpc_zrA_Param_c::m.mSwimAngleSpeed / 2, 16, angle.y, angle.z); + current.angle.z = angle.z; + shape_angle = mCurAngle = current.angle; + if ((pos - current.pos).absXZ() < 100.0f) { + ret = true; + } + break; + } + + default: + ret = true; + } + + return ret; +} diff --git a/src/d/actor/d_a_npc_zrz.cpp b/src/d/actor/d_a_npc_zrz.cpp index df8c3c16b1..ed9cf87eb3 100644 --- a/src/d/actor/d_a_npc_zrz.cpp +++ b/src/d/actor/d_a_npc_zrz.cpp @@ -8,348 +8,14 @@ #include "JSystem/J3DGraphBase/J3DMaterial.h" #include "d/actor/d_a_obj_grave_stone.h" #include "d/actor/d_a_obj_zra_rock.h" -#include "dol2asm.h" - -// -// Forward References: -// - -extern "C" void __ct__11daNpc_zrZ_cFv(); -extern "C" void __dt__8cM3dGCylFv(); -extern "C" void __dt__8cM3dGAabFv(); -extern "C" void __dt__11daNpc_zrZ_cFv(); -extern "C" void create__11daNpc_zrZ_cFv(); -extern "C" void CreateHeap__11daNpc_zrZ_cFv(); -extern "C" void __dt__15J3DTevKColorAnmFv(); -extern "C" void __ct__15J3DTevKColorAnmFv(); -extern "C" void __dt__14J3DTevColorAnmFv(); -extern "C" void __ct__14J3DTevColorAnmFv(); -extern "C" void __dt__11J3DTexNoAnmFv(); -extern "C" void __ct__11J3DTexNoAnmFv(); -extern "C" void __dt__12J3DTexMtxAnmFv(); -extern "C" void __ct__12J3DTexMtxAnmFv(); -extern "C" void __dt__14J3DMatColorAnmFv(); -extern "C" void __ct__14J3DMatColorAnmFv(); -extern "C" void Delete__11daNpc_zrZ_cFv(); -extern "C" void Execute__11daNpc_zrZ_cFv(); -extern "C" void Draw__11daNpc_zrZ_cFv(); -extern "C" void draw__11daNpc_zrZ_cFiifP11_GXColorS10i(); -extern "C" void ctrlJoint__11daNpc_zrZ_cFP8J3DJointP8J3DModel(); -extern "C" void createHeapCallBack__11daNpc_zrZ_cFP10fopAc_ac_c(); -extern "C" void ctrlJointCallBack__11daNpc_zrZ_cFP8J3DJointi(); -extern "C" static void s_sub__FPvPv(); -extern "C" static void s_subCloth__FPvPv(); -extern "C" static void s_subRock__FPvPv(); -extern "C" void setParam__11daNpc_zrZ_cFv(); -extern "C" void main__11daNpc_zrZ_cFv(); -extern "C" void ctrlBtk__11daNpc_zrZ_cFv(); -extern "C" void setAttnPos__11daNpc_zrZ_cFv(); -extern "C" void setMtx__11daNpc_zrZ_cFv(); -extern "C" void setExpressionAnm__11daNpc_zrZ_cFib(); -extern "C" void setExpressionBtp__11daNpc_zrZ_cFi(); -extern "C" void setExpression__11daNpc_zrZ_cFif(); -extern "C" void setMotionAnm__11daNpc_zrZ_cFif(); -extern "C" void setMotion__11daNpc_zrZ_cFifi(); -extern "C" bool drawDbgInfo__11daNpc_zrZ_cFv(); -extern "C" void drawOtherMdls__11daNpc_zrZ_cFv(); -extern "C" void getTypeFromParam__11daNpc_zrZ_cFv(); -extern "C" void isDelete__11daNpc_zrZ_cFv(); -extern "C" void reset__11daNpc_zrZ_cFv(); -extern "C" void playExpression__11daNpc_zrZ_cFv(); -extern "C" void playMotion__11daNpc_zrZ_cFv(); -extern "C" void chkAction__11daNpc_zrZ_cFM11daNpc_zrZ_cFPCvPvPv_i(); -extern "C" void setAction__11daNpc_zrZ_cFM11daNpc_zrZ_cFPCvPvPv_i(); -extern "C" void selectAction__11daNpc_zrZ_cFv(); -extern "C" void doNormalAction__11daNpc_zrZ_cFi(); -extern "C" void doEvent__11daNpc_zrZ_cFv(); -extern "C" void setSkipZev__11daNpc_zrZ_cFii(); -extern "C" void setLookMode__11daNpc_zrZ_cFi(); -extern "C" void lookat__11daNpc_zrZ_cFv(); -extern "C" void setExpressionTalkAfter__11daNpc_zrZ_cFv(); -extern "C" void lightReady__11daNpc_zrZ_cFv(); -extern "C" void setLightPos__11daNpc_zrZ_cFv(); -extern "C" void lightPowerCalc__11daNpc_zrZ_cFi(); -extern "C" void lightColorProc__11daNpc_zrZ_cFv(); -extern "C" void ECut_helpPrince__11daNpc_zrZ_cFi(); -extern "C" void ECut_comeHere__11daNpc_zrZ_cFi(); -extern "C" void ECut_restoreLink__11daNpc_zrZ_cFi(); -extern "C" void ECut_clothesGet__11daNpc_zrZ_cFi(); -extern "C" void ECut_getAfter__11daNpc_zrZ_cFi(); -extern "C" void ECut_sealRelease__11daNpc_zrZ_cFi(); -extern "C" void ECut_srSkip__11daNpc_zrZ_cFi(); -extern "C" void pullbackPlayer__11daNpc_zrZ_cFf(); -extern "C" void wait__11daNpc_zrZ_cFPv(); -extern "C" void comeHere__11daNpc_zrZ_cFPv(); -extern "C" void comeHere2__11daNpc_zrZ_cFPv(); -extern "C" void talk__11daNpc_zrZ_cFPv(); -extern "C" void test__11daNpc_zrZ_cFPv(); -extern "C" void himoCalc__11daNpc_zrZ_cFv(); -extern "C" static void daNpc_zrZ_Create__FPv(); -extern "C" static void daNpc_zrZ_Delete__FPv(); -extern "C" static void daNpc_zrZ_Execute__FPv(); -extern "C" static void daNpc_zrZ_Draw__FPv(); -extern "C" static bool daNpc_zrZ_IsDelete__FPv(); -extern "C" void calc__11J3DTexNoAnmCFPUs(); -extern "C" void __dt__13daNpcF_Path_cFv(); -extern "C" void __dt__16daNpcF_SPCurve_cFv(); -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 setCollisions__8daNpcF_cFv(); -extern "C" void __dt__10cCcD_GSttsFv(); -extern "C" void func_80B9AE44(void* _this, int*); -extern "C" void __sinit_d_a_npc_zrz_cpp(); -extern "C" void adjustShapeAngle__11daNpc_zrZ_cFv(); -extern "C" void __dt__17daNpc_zrZ_Param_cFv(); -extern "C" static void func_80B9AFC8(); -extern "C" static void func_80B9AFD0(); -extern "C" u8 const m__17daNpc_zrZ_Param_c[132]; -extern "C" extern char const* const d_a_npc_zrz__stringBase0; -extern "C" void* mEvtCutNameList__11daNpc_zrZ_c[8]; -extern "C" u8 mEvtCutList__11daNpc_zrZ_c[96]; - -// -// External References: -// - -extern "C" void mDoMtx_ZXYrotM__FPA4_fsss(); -extern "C" void mDoMtx_YrotS__FPA4_fs(); -extern "C" void mDoMtx_YrotM__FPA4_fs(); -extern "C" void mDoMtx_ZrotM__FPA4_fs(); -extern "C" void push__14mDoMtx_stack_cFv(); -extern "C" void pop__14mDoMtx_stack_cFv(); -extern "C" void transS__14mDoMtx_stack_cFRC4cXyz(); -extern "C" void scaleM__14mDoMtx_stack_cFRC4cXyz(); -extern "C" void ZXYrotS__14mDoMtx_stack_cFRC5csXyz(); -extern "C" void ZXYrotM__14mDoMtx_stack_cFRC5csXyz(); -extern "C" void entry__13mDoExt_btpAnmFP16J3DMaterialTables(); -extern "C" void entry__13mDoExt_btkAnmFP16J3DMaterialTablef(); -extern "C" void entry__13mDoExt_brkAnmFP16J3DMaterialTablef(); -extern "C" void changeBckOnly__13mDoExt_bckAnmFP15J3DAnmTransform(); -extern "C" void create__21mDoExt_invisibleModelFP8J3DModelUc(); -extern "C" void entryDL__21mDoExt_invisibleModelFP4cXyz(); -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 __ct__10fopAc_ac_cFv(); -extern "C" void __dt__10fopAc_ac_cFv(); -extern "C" void fopAc_IsActor__FPv(); -extern "C" void fopAcM_delete__FP10fopAc_ac_c(); -extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl(); -extern "C" void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff(); -extern "C" void fopAcM_searchActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c(); -extern "C" void fopAcM_createItemForPresentDemo__FPC4cXyziUciiPC5csXyzPC4cXyz(); -extern "C" void fopAcM_setEffectMtx__FPC10fopAc_ac_cPC12J3DModelData(); -extern "C" void gndCheck__11fopAcM_gc_cFPC4cXyz(); -extern "C" void fpcEx_Search__FPFPvPv_PvPv(); -extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc(); -extern "C" void onSwitch__10dSv_info_cFii(); -extern "C" void isSwitch__10dSv_info_cCFii(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void reset__14dEvt_control_cFv(); -extern "C" void dEv_defaultSkipProc__FPvi(); -extern "C" void setSkipProc__14dEvt_control_cFPvPFPvi_ii(); -extern "C" void setSkipZev__14dEvt_control_cFPvPc(); -extern "C" void onSkipFade__14dEvt_control_cFv(); -extern "C" void setPt2__14dEvt_control_cFPv(); -extern "C" void setPtT__14dEvt_control_cFPv(); -extern "C" void setPtI_Id__14dEvt_control_cFUi(); -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 getMySubstanceP__16dEvent_manager_cFiPCci(); -extern "C" void cutEnd__16dEvent_manager_cFi(); -extern "C" void getRunEventName__16dEvent_manager_cFv(); -extern "C" void ChkPresentEnd__16dEvent_manager_cFv(); -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__16daNpcF_SPCurve_cFP5dPathi(); -extern "C" void initialize__13daNpcF_Path_cFv(); -extern "C" void setPathInfo__13daNpcF_Path_cFUcScUc(); -extern "C" void chkPassedDst__13daNpcF_Path_cF4cXyz(); -extern "C" void getNextIdx__13daNpcF_Path_cFv(); -extern "C" void getBeforeIdx__13daNpcF_Path_cFv(); -extern "C" void setNextIdxDst__13daNpcF_Path_cF4cXyz(); -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 tgHitCallBack__8daNpcF_cFP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf(); -extern "C" void srchAttnActor1__8daNpcF_cFPvPv(); -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 hitChk2__8daNpcF_cFP8dCcD_Cylii(); -extern "C" void setDamage__8daNpcF_cFiii(); -extern "C" void ctrlMsgAnm__8daNpcF_cFRiRiP10fopAc_ac_ci(); -extern "C" void orderEvent__8daNpcF_cFiPcUsUsUcUs(); -extern "C" void initTalk__8daNpcF_cFiPP10fopAc_ac_c(); -extern "C" void talkProc__8daNpcF_cFPiiPP10fopAc_ac_c(); -extern "C" void step__8daNpcF_cFsiii(); -extern "C" void setAngle__8daNpcF_cFs(); -extern "C" void getDistTableIdx__8daNpcF_cFii(); -extern "C" void getAttnActorP__8daNpcF_cFiPFPvPv_Pvffffsii(); -extern "C" void chkFindPlayer2__8daNpcF_cFis(); -extern "C" void daNpcF_offTmpBit__FUl(); -extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void dKy_efplight_set__FP15LIGHT_INFLUENCE(); -extern "C" void dKy_efplight_cut__FP15LIGHT_INFLUENCE(); -extern "C" void dKy_set_allcol_ratio__Ff(); -extern "C" void dKy_BossLight_set__FP4cXyzP8_GXColorfUc(); -extern "C" void dKy_darkworld_check__Fv(); -extern "C" void __ct__10dMsgFlow_cFv(); -extern "C" void __dt__10dMsgFlow_cFv(); -extern "C" void getEventId__10dMsgFlow_cFPi(); -extern "C" void Set__4cCcSFP8cCcD_Obj(); -extern "C" void __pl__4cXyzCFRC3Vec(); -extern "C" void __mi__4cXyzCFRC3Vec(); -extern "C" void __ml__4cXyzCFf(); -extern "C" void normalize__4cXyzFv(); -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_addCalc2__FPffff(); -extern "C" void cLib_addCalc0__FPfff(); -extern "C" void cLib_addCalcPos2__FP4cXyzRC4cXyzff(); -extern "C" void cLib_addCalcAngleS2__FPssss(); -extern "C" void cLib_chaseS__FPsss(); -extern "C" void cLib_chaseF__FPfff(); -extern "C" void cLib_targetAngleY__FPC3VecPC3Vec(); -extern "C" void cLib_targetAngleX__FPC4cXyzPC4cXyz(); -extern "C" void cLib_offsetPos__FP4cXyzPC4cXyzsPC4cXyz(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void seStop__7Z2SeMgrF10JAISoundIDUl(); -extern "C" void bgmStop__8Z2SeqMgrFUll(); -extern "C" void subBgmStart__8Z2SeqMgrFUl(); -extern "C" void subBgmStop__8Z2SeqMgrFv(); -extern "C" void changeBgmStatus__8Z2SeqMgrFl(); -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 removeTexNoAnimator__16J3DMaterialTableFP16J3DAnmTexPattern(); -extern "C" void removeTexMtxAnimator__16J3DMaterialTableFP19J3DAnmTextureSRTKey(); -extern "C" void removeTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey(); -extern "C" void __destroy_arr(); -extern "C" void __construct_array(); -extern "C" void __ptmf_test(); -extern "C" void __ptmf_cmpr(); -extern "C" void __ptmf_scall(); -extern "C" void _savegpr_23(); -extern "C" void _savegpr_24(); -extern "C" void _savegpr_25(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_23(); -extern "C" void _restgpr_24(); -extern "C" void _restgpr_25(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" extern u8 const __ptmf_null[12 + 4 /* padding */]; -extern "C" 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" f32 mGroundY__11fopAcM_gc_c; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; -extern "C" void __register_global_object(); - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 80B9B220-80B9B220 000234 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80B9B220 = "zrZ"; -SECTION_DEAD static char const* const stringBase_80B9B224 = "zrZ_GT"; -SECTION_DEAD static char const* const stringBase_80B9B22B = "HELP_PRINCE"; -SECTION_DEAD static char const* const stringBase_80B9B237 = "COME_HERE"; -SECTION_DEAD static char const* const stringBase_80B9B241 = "RESTORE_LINK"; -SECTION_DEAD static char const* const stringBase_80B9B24E = "CLOTHES_GET"; -SECTION_DEAD static char const* const stringBase_80B9B25A = "GET_AFTER"; -SECTION_DEAD static char const* const stringBase_80B9B264 = "SEAL_RELEASE"; -SECTION_DEAD static char const* const stringBase_80B9B271 = "SR_SKIP"; -SECTION_DEAD static char const* const stringBase_80B9B279 = ""; -#pragma pop /* 80B9B284-80B9B290 000000 000C+00 9/9 0/0 0/0 .data cNullVec__6Z2Calc */ -SECTION_DATA static u8 cNullVec__6Z2Calc[12] = { +static u8 cNullVec__6Z2Calc[12] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; /* 80B9B290-80B9B2A4 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 */] = { +static u32 lit_1787[1 + 4 /* padding */] = { 0x02000201, /* padding */ 0x40080000, @@ -357,1318 +23,6 @@ SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = { 0x3FE00000, 0x00000000, }; -#pragma pop - -/* 80B9B2A4-80B9B2AC 000020 0008+00 0/1 0/0 0/0 .data l_bmdGetParamList */ -#pragma push -#pragma force_active on -static daNpc_GetParam1 l_bmdGetParamList[1] = { - {9, 0}, -}; -#pragma pop - -/* 80B9B2AC-80B9B2B4 000028 0008+00 0/1 0/0 0/0 .data l_bmdGTGetParamList */ -#pragma push -#pragma force_active on -static daNpc_GetParam1 l_bmdGTGetParamList[1] = { - {13, 1}, // gt -}; -#pragma pop - -/* 80B9B2B4-80B9B2DC 000030 0028+00 0/2 0/0 0/0 .data l_bckGetParamList */ -#pragma push -#pragma force_active on -static daNpc_GetParam1 l_bckGetParamList[5] = { - {-1, 0}, - {-1, 0}, - {6, 0}, - {0, 0}, - {0, 0}, -}; -#pragma pop - -/* 80B9B2DC-80B9B304 000058 0028+00 0/2 0/0 0/0 .data l_bckGTGetParamList */ -#pragma push -#pragma force_active on -static daNpc_GetParam1 l_bckGTGetParamList[5] = { - {-1, 1}, - {8, 1}, // f_talk_a - {10, 1}, // wait_gt_a - {9, 1}, // lead - {7, 1}, // comeon -}; -#pragma pop - -/* 80B9B304-80B9B30C 000080 0008+00 0/1 0/0 0/0 .data l_btpGetParamList */ -#pragma push -#pragma force_active on -static daNpc_GetParam1 l_btpGetParamList[1] = { - {15, 0}, -}; -#pragma pop - -/* 80B9B30C-80B9B314 000088 0008+00 0/1 0/0 0/0 .data l_btpGTGetParamList */ -#pragma push -#pragma force_active on -static daNpc_GetParam1 l_btpGTGetParamList[1] = { - {19, 1}, // gt -}; -#pragma pop - -/* 80B9B314-80B9B31C 000090 0008+00 0/2 0/0 0/0 .data l_btkGetParamList */ -#pragma push -#pragma force_active on -static daNpc_GetParam1 l_btkGetParamList[1] = { - {12, 0}, -}; -#pragma pop - -/* 80B9B31C-80B9B324 000098 0008+00 0/2 0/0 0/0 .data l_btkGTGetParamList */ -#pragma push -#pragma force_active on -static daNpc_GetParam1 l_btkGTGetParamList[1] = { - {16, 1}, // gt -}; -#pragma pop - -/* 80B9B324-80B9B364 0000A0 0040+00 0/1 0/0 0/0 .data l_evtGetParamList */ -#pragma push -#pragma force_active on -static daNpc_GetParam1 l_evtGetParamList[8] = { - {0, 0}, - {1, 1}, - {2, 1}, - {3, 1}, - {4, 1}, - {5, 1}, - {6, 1}, - {7, 1}, -}; -#pragma pop - -/* 80B9B364-80B9B370 0000E0 000C+00 1/0 0/0 0/0 .data l_loadRes_ZRZa */ -static int l_loadRes_ZRZa[3] = {0, -1, -1}; - -/* 80B9B370-80B9B37C 0000EC 000C+00 1/0 0/0 0/0 .data l_loadRes_ZRZ_GT */ -static int l_loadRes_ZRZ_GT[3] = {1, -1, -1}; - -/* 80B9B37C-80B9B388 0000F8 000C+00 1/0 0/0 0/0 .data l_loadRes_ZRZ0 */ -static int l_loadRes_ZRZ0[3] = {0, -1, -1}; - -/* 80B9B388-80B9B394 -00001 000C+00 2/2 0/0 0/0 .data l_loadRes_list */ -static int* l_loadRes_list[3] = { - l_loadRes_ZRZa, - l_loadRes_ZRZ_GT, - l_loadRes_ZRZ0, -}; - -/* 80B9B394-80B9B39C -00001 0008+00 2/8 0/0 0/0 .data l_resNames */ -static char* l_resNames[2] = { - "zrZ", - "zrZ_GT", -}; - -/* 80B9B39C-80B9B3BC -00001 0020+00 1/2 0/0 0/0 .data l_evtNames */ -static char* l_evtNames[8] = { - NULL, - "HELP_PRINCE", - "COME_HERE", - "RESTORE_LINK", - "CLOTHES_GET", - "GET_AFTER", - "SEAL_RELEASE", - "SR_SKIP", -}; - -/* 80B9B3BC-80B9B3C0 -00001 0004+00 0/1 0/0 0/0 .data l_myName */ -#pragma push -#pragma force_active on -static char* l_myName = "zrZ"; -#pragma pop - -/* 80B9B3C0-80B9B3E0 -00001 0020+00 0/1 0/0 0/0 .data mEvtCutNameList__11daNpc_zrZ_c */ -#pragma push -#pragma force_active on -char* daNpc_zrZ_c::mEvtCutNameList[8] = { - "", - "HELP_PRINCE", - "COME_HERE", - "RESTORE_LINK", - "CLOTHES_GET", - "GET_AFTER", - "SEAL_RELEASE", - "SR_SKIP", -}; -#pragma pop - -/* 80B9B3E0-80B9B3EC -00001 000C+00 0/1 0/0 0/0 .data @4022 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4022[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)ECut_helpPrince__11daNpc_zrZ_cFi, -}; -#pragma pop - -/* 80B9B3EC-80B9B3F8 -00001 000C+00 0/1 0/0 0/0 .data @4023 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4023[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)ECut_comeHere__11daNpc_zrZ_cFi, -}; -#pragma pop - -/* 80B9B3F8-80B9B404 -00001 000C+00 0/1 0/0 0/0 .data @4024 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4024[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)ECut_restoreLink__11daNpc_zrZ_cFi, -}; -#pragma pop - -/* 80B9B404-80B9B410 -00001 000C+00 0/1 0/0 0/0 .data @4025 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4025[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)ECut_clothesGet__11daNpc_zrZ_cFi, -}; -#pragma pop - -/* 80B9B410-80B9B41C -00001 000C+00 0/1 0/0 0/0 .data @4026 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4026[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)ECut_getAfter__11daNpc_zrZ_cFi, -}; -#pragma pop - -/* 80B9B41C-80B9B428 -00001 000C+00 0/1 0/0 0/0 .data @4027 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4027[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)ECut_sealRelease__11daNpc_zrZ_cFi, -}; -#pragma pop - -/* 80B9B428-80B9B434 -00001 000C+00 0/1 0/0 0/0 .data @4028 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4028[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)ECut_srSkip__11daNpc_zrZ_cFi, -}; -#pragma pop - -/* 80B9B434-80B9B494 0001B0 0060+00 0/2 0/0 0/0 .data mEvtCutList__11daNpc_zrZ_c */ -daNpc_zrZ_c::EventFn daNpc_zrZ_c::mEvtCutList[8] = { - NULL, - &ECut_helpPrince, - &ECut_comeHere, - &ECut_restoreLink, - &ECut_clothesGet, - &ECut_getAfter, - &ECut_sealRelease, - &ECut_srSkip, -}; - -/* 80B9B494-80B9B4A0 -00001 000C+00 1/1 0/0 0/0 .data @4555 */ -SECTION_DATA static void* lit_4555[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)test__11daNpc_zrZ_cFPv, -}; - -/* 80B9B4A0-80B9B4AC -00001 000C+00 1/1 0/0 0/0 .data @4558 */ -SECTION_DATA static void* lit_4558[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)test__11daNpc_zrZ_cFPv, -}; - -/* 80B9B4AC-80B9B524 -00001 0078+00 1/1 0/0 0/0 .data @4796 */ -SECTION_DATA static void* lit_4796[30] = { - (void*)(((char*)ctrlJoint__11daNpc_zrZ_cFP8J3DJointP8J3DModel) + 0x200), - (void*)(((char*)ctrlJoint__11daNpc_zrZ_cFP8J3DJointP8J3DModel) + 0x134), - (void*)(((char*)ctrlJoint__11daNpc_zrZ_cFP8J3DJointP8J3DModel) + 0x200), - (void*)(((char*)ctrlJoint__11daNpc_zrZ_cFP8J3DJointP8J3DModel) + 0x134), - (void*)(((char*)ctrlJoint__11daNpc_zrZ_cFP8J3DJointP8J3DModel) + 0x134), - (void*)(((char*)ctrlJoint__11daNpc_zrZ_cFP8J3DJointP8J3DModel) + 0x200), - (void*)(((char*)ctrlJoint__11daNpc_zrZ_cFP8J3DJointP8J3DModel) + 0x200), - (void*)(((char*)ctrlJoint__11daNpc_zrZ_cFP8J3DJointP8J3DModel) + 0x200), - (void*)(((char*)ctrlJoint__11daNpc_zrZ_cFP8J3DJointP8J3DModel) + 0x200), - (void*)(((char*)ctrlJoint__11daNpc_zrZ_cFP8J3DJointP8J3DModel) + 0x200), - (void*)(((char*)ctrlJoint__11daNpc_zrZ_cFP8J3DJointP8J3DModel) + 0x200), - (void*)(((char*)ctrlJoint__11daNpc_zrZ_cFP8J3DJointP8J3DModel) + 0x200), - (void*)(((char*)ctrlJoint__11daNpc_zrZ_cFP8J3DJointP8J3DModel) + 0x200), - (void*)(((char*)ctrlJoint__11daNpc_zrZ_cFP8J3DJointP8J3DModel) + 0x200), - (void*)(((char*)ctrlJoint__11daNpc_zrZ_cFP8J3DJointP8J3DModel) + 0x150), - (void*)(((char*)ctrlJoint__11daNpc_zrZ_cFP8J3DJointP8J3DModel) + 0x200), - (void*)(((char*)ctrlJoint__11daNpc_zrZ_cFP8J3DJointP8J3DModel) + 0x200), - (void*)(((char*)ctrlJoint__11daNpc_zrZ_cFP8J3DJointP8J3DModel) + 0x200), - (void*)(((char*)ctrlJoint__11daNpc_zrZ_cFP8J3DJointP8J3DModel) + 0x200), - (void*)(((char*)ctrlJoint__11daNpc_zrZ_cFP8J3DJointP8J3DModel) + 0x200), - (void*)(((char*)ctrlJoint__11daNpc_zrZ_cFP8J3DJointP8J3DModel) + 0x200), - (void*)(((char*)ctrlJoint__11daNpc_zrZ_cFP8J3DJointP8J3DModel) + 0x200), - (void*)(((char*)ctrlJoint__11daNpc_zrZ_cFP8J3DJointP8J3DModel) + 0x150), - (void*)(((char*)ctrlJoint__11daNpc_zrZ_cFP8J3DJointP8J3DModel) + 0x200), - (void*)(((char*)ctrlJoint__11daNpc_zrZ_cFP8J3DJointP8J3DModel) + 0x200), - (void*)(((char*)ctrlJoint__11daNpc_zrZ_cFP8J3DJointP8J3DModel) + 0x200), - (void*)(((char*)ctrlJoint__11daNpc_zrZ_cFP8J3DJointP8J3DModel) + 0x200), - (void*)(((char*)ctrlJoint__11daNpc_zrZ_cFP8J3DJointP8J3DModel) + 0x200), - (void*)(((char*)ctrlJoint__11daNpc_zrZ_cFP8J3DJointP8J3DModel) + 0x200), - (void*)(((char*)ctrlJoint__11daNpc_zrZ_cFP8J3DJointP8J3DModel) + 0x150), -}; - -/* 80B9B524-80B9B530 -00001 000C+00 1/1 0/0 0/0 .data @5325 */ -SECTION_DATA static void* lit_5325[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)wait__11daNpc_zrZ_cFPv, -}; - -/* 80B9B530-80B9B53C -00001 000C+00 0/1 0/0 0/0 .data @5430 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5430[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)test__11daNpc_zrZ_cFPv, -}; -#pragma pop - -/* 80B9B53C-80B9B548 -00001 000C+00 0/1 0/0 0/0 .data @5434 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5434[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)comeHere__11daNpc_zrZ_cFPv, -}; -#pragma pop - -/* 80B9B548-80B9B554 -00001 000C+00 0/1 0/0 0/0 .data @5436 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5436[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)comeHere2__11daNpc_zrZ_cFPv, -}; -#pragma pop - -/* 80B9B554-80B9B560 -00001 000C+00 0/1 0/0 0/0 .data @5438 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5438[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)wait__11daNpc_zrZ_cFPv, -}; -#pragma pop - -/* 80B9B560-80B9B56C -00001 000C+00 0/1 0/0 0/0 .data @5478 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5478[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)talk__11daNpc_zrZ_cFPv, -}; -#pragma pop - -/* 80B9B56C-80B9B578 -00001 000C+00 0/1 0/0 0/0 .data @5486 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5486[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)talk__11daNpc_zrZ_cFPv, -}; -#pragma pop - -/* 80B9B578-80B9B714 -00001 019C+00 1/1 0/0 0/0 .data @5908 */ -SECTION_DATA static void* lit_5908[103] = { - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x3A0), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x598), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x5B0), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x40C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x414), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x438), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x598), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x45C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x480), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x488), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x490), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x4B4), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x4BC), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x4C4), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x4CC), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x4F0), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x4F8), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x500), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x61C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x69C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x524), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x52C), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x534), - (void*)(((char*)ECut_helpPrince__11daNpc_zrZ_cFi) + 0x53C), -}; - -/* 80B9B714-80B9B734 -00001 0020+00 1/0 0/0 0/0 .data daNpc_zrZ_MethodTable */ -static actor_method_class daNpc_zrZ_MethodTable = { - (process_method_func)daNpc_zrZ_Create__FPv, - (process_method_func)daNpc_zrZ_Delete__FPv, - (process_method_func)daNpc_zrZ_Execute__FPv, - (process_method_func)daNpc_zrZ_IsDelete__FPv, - (process_method_func)daNpc_zrZ_Draw__FPv, -}; - -/* 80B9B734-80B9B764 -00001 0030+00 0/0 0/0 1/0 .data g_profile_NPC_ZRZ */ -extern actor_process_profile_definition g_profile_NPC_ZRZ = { - fpcLy_CURRENT_e, // mLayerID - 7, // mListID - fpcPi_CURRENT_e, // mListPrio - PROC_NPC_ZRZ, // mProcName - &g_fpcLf_Method.mBase, // sub_method - sizeof(daNpc_zrZ_c), // mSize - 0, // mSizeOther - 0, // mParameters - &g_fopAc_Method.base, // sub_method - 390, // mPriority - &daNpc_zrZ_MethodTable, // sub_method - 0x08044100, // mStatus - fopAc_NPC_e, // mActorType - fopAc_CULLBOX_CUSTOM_e, // cullType -}; - -/* 80B9B764-80B9B770 0004E0 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, -}; - -/* 80B9B770-80B9B7B8 0004EC 0048+00 2/2 0/0 0/0 .data __vt__11daNpc_zrZ_c */ -SECTION_DATA extern void* __vt__11daNpc_zrZ_c[18] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__11daNpc_zrZ_cFv, - (void*)setParam__11daNpc_zrZ_cFv, - (void*)main__11daNpc_zrZ_cFv, - (void*)ctrlBtk__11daNpc_zrZ_cFv, - (void*)adjustShapeAngle__11daNpc_zrZ_cFv, - (void*)setMtx__11daNpc_zrZ_cFv, - (void*)setMtx2__8daNpcF_cFv, - (void*)setAttnPos__11daNpc_zrZ_cFv, - (void*)setCollisions__8daNpcF_cFv, - (void*)setExpressionAnm__11daNpc_zrZ_cFib, - (void*)setExpressionBtp__11daNpc_zrZ_cFi, - (void*)setExpression__11daNpc_zrZ_cFif, - (void*)setMotionAnm__11daNpc_zrZ_cFif, - (void*)setMotion__11daNpc_zrZ_cFifi, - (void*)drawDbgInfo__11daNpc_zrZ_cFv, - (void*)drawOtherMdls__11daNpc_zrZ_cFv, -}; - -/* 80B9B7B8-80B9B7C4 000534 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, -}; - -/* 80B9B7C4-80B9B7E8 000540 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_80B9AFD0, - (void*)NULL, - (void*)NULL, - (void*)func_80B9AFC8, -}; - -/* 80B9B7E8-80B9B7F4 000564 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, -}; - -/* 80B9B7F4-80B9B800 000570 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, -}; - -/* 80B9B800-80B9B80C 00057C 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, -}; - -/* 80B9B80C-80B9B818 000588 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, -}; - -/* 80B9B818-80B9B824 000594 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, -}; - -/* 80B9B824-80B9B830 0005A0 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, -}; - -/* 80B9B830-80B9B83C 0005AC 000C+00 4/4 0/0 0/0 .data __vt__16daNpcF_SPCurve_c */ -SECTION_DATA extern void* __vt__16daNpcF_SPCurve_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__16daNpcF_SPCurve_cFv, -}; - -/* 80B9B83C-80B9B848 0005B8 000C+00 3/3 0/0 0/0 .data __vt__13daNpcF_Path_c */ -SECTION_DATA extern void* __vt__13daNpcF_Path_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__13daNpcF_Path_cFv, -}; - -/* 80B9B848-80B9B854 0005C4 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, -}; - -/* 80B93DCC-80B93F84 0000EC 01B8+00 1/1 0/0 0/0 .text __ct__11daNpc_zrZ_cFv */ -#ifdef NONMATCHING -// inlining -daNpc_zrZ_c::daNpc_zrZ_c() { - /* empty function */ -} -#else -daNpc_zrZ_c::daNpc_zrZ_c() { - // NONMATCHING -} -#endif - -/* 80B93F84-80B93FCC 0002A4 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */ -// cM3dGCyl::~cM3dGCyl() { -extern "C" void __dt__8cM3dGCylFv() { - // NONMATCHING -} - -/* 80B93FCC-80B94014 0002EC 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */ -// cM3dGAab::~cM3dGAab() { -extern "C" void __dt__8cM3dGAabFv() { - // NONMATCHING -} - -/* 80B94014-80B9423C 000334 0228+00 1/0 0/0 0/0 .text __dt__11daNpc_zrZ_cFv */ -#ifdef NONMATCHING -// data loading -daNpc_zrZ_c::~daNpc_zrZ_c() { - for (int i = 0; l_loadRes_list[mType][i] >= 0; i++) { - dComIfG_resDelete(&mPhase[i], l_resNames[l_loadRes_list[mType][i]]); - } - - if (heap != NULL) { - mpMorf->stopZelAnime(); - } -} -#else -// daNpc_zrZ_c::~daNpc_zrZ_c() { -extern "C" void __dt__11daNpc_zrZ_cFv() { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ -/* 80B9AFEC-80B9B070 000000 0084+00 22/22 0/0 0/0 .rodata m__17daNpc_zrZ_Param_c */ -daNpc_zrZ_Param_c::param const daNpc_zrZ_Param_c::m = { - 700.0f, // mAttnOffsetY - 0.0f, // mGravity - 1.0f, // mScale - 1400.0f, // mShadowDepth - 255.0f, // mCcWeight - 700.0f, // mCylH - 0.0f, // mWallH - 30.0f, // mWallR - 0.0f, // mBodyUpAngle - 0.0f, // mBodyDownAngle - 10.0f, // mBodyLeftAngle - -10.0f, // mBodyRightAngle - 30.0f, // mHeadUpAngle - -10.0f, // mHeadDownAngle - 45.0f, // mHeadLeftAngle - -45.0f, // mHeadRightAngle - 0.6f, // mNeckAngleScl - 12.0f, // mMorfFrames - 3, // mSpeakDistIdx - 6, // mSpeakAngleIdx - 5, // mTalkDistIdx - 6, // mTalkAngleIdx - 80.0f, // mAttnFovY - 500.0f, // mAttnRadius - 300.0f, // mAttnUpperY - -300.0f, // mAttnLowerY - 60, - 8, // mDamageTimer - 0, // mTestExpression - 0, // mTestMotion - 0, // mTestLookMode - false, // mTest - 1200.0f, - 1000.0f, - 3000.0f, - 25.0f, - 400.0f, - 200.0f, -}; - -/* 80B9B070-80B9B074 000084 0004+00 0/1 0/0 0/0 .rodata @4449 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4449 = -300.0f; -COMPILER_STRIP_GATE(0x80B9B070, &lit_4449); -#pragma pop - -/* 80B9B074-80B9B078 000088 0004+00 0/1 0/0 0/0 .rodata @4450 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4450 = -50.0f; -COMPILER_STRIP_GATE(0x80B9B074, &lit_4450); -#pragma pop - -/* 80B9B078-80B9B07C 00008C 0004+00 0/1 0/0 0/0 .rodata @4451 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4451 = 300.0f; -COMPILER_STRIP_GATE(0x80B9B078, &lit_4451); -#pragma pop - -/* 80B9B07C-80B9B080 000090 0004+00 0/1 0/0 0/0 .rodata @4452 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4452 = 800.0f; -COMPILER_STRIP_GATE(0x80B9B07C, &lit_4452); -#pragma pop - -/* 80B9423C-80B9453C 00055C 0300+00 1/1 0/0 0/0 .text create__11daNpc_zrZ_cFv */ -cPhs__Step daNpc_zrZ_c::create() { - fopAcM_SetupActor(this, daNpc_zrZ_c); - - mType = getTypeFromParam(); - mDemoMode = getDemoMode(); - mSwitch1 = home.angle.z & 0xff; - mSwitch2 = (home.angle.z >> 8) & 0xff; - mSwitch3 = fopAcM_GetParam(this) >> 0x18; - if (home.angle.x != 0xffff) { - mFlowID = home.angle.x; - } else { - mFlowID = -1; - } - - if (isDelete()) { - return cPhs_ERROR_e; - } - - int res_count = 0; - int i; - for (i = 0; l_loadRes_list[mType][i] >= 0; i++) { - cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhase[i], - l_resNames[l_loadRes_list[mType][i]]); - if (step == cPhs_ERROR_e || step == cPhs_UNK3_e) { - return cPhs_ERROR_e; - } - if (step == cPhs_COMPLEATE_e) { - res_count++; - } - } - - if (res_count == i) { - if (!fopAcM_entrySolidHeap(this, createHeapCallBack, 0x5230)) { - return cPhs_ERROR_e; - } - - fopAcM_SetMtx(this, mpMorf->getModel()->getBaseTRMtx()); - fopAcM_setCullSizeBox(this, -300.0f, -50.0f, -300.0f, 300.0f, 800.0f, 300.0f); - mCreatureSound.init(¤t.pos, &eyePos, 3, 1); - mAcchCir.SetWall(daNpc_zrZ_Param_c::m.mWallR, daNpc_zrZ_Param_c::m.mWallH); - mAcch.Set(fopAcM_GetPosition_p(this), fopAcM_GetOldPosition_p(this), this, 1, &mAcchCir, - fopAcM_GetSpeed_p(this), fopAcM_GetAngle_p(this), fopAcM_GetShapeAngle_p(this)); - mCcStts.Init(daNpc_zrZ_Param_c::m.mCcWeight, 0, this); - mCcCyl.Set(mCcDCyl); - mCcCyl.SetStts(&mCcStts); - mCcCyl.SetTgHitCallback(tgHitCallBack); - mAcch.CrrPos(dComIfG_Bgsp()); - mGndChk = mAcch.m_gnd; - mGroundH = mAcch.GetGroundH(); - - setEnvTevColor(); - setRoomNo(); - reset(); - Execute(); - - return cPhs_COMPLEATE_e; - } else { - return cPhs_INIT_e; - } -} - - -/* ############################################################################################## */ -/* 80B9B080-80B9B084 000094 0004+00 5/10 0/0 0/0 .rodata @4521 */ -SECTION_RODATA static f32 const lit_4521 = 1.0f; -COMPILER_STRIP_GATE(0x80B9B080, &lit_4521); - -/* 80B9B084-80B9B088 000098 0004+00 6/15 0/0 0/0 .rodata @4522 */ -SECTION_RODATA static u8 const lit_4522[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80B9B084, &lit_4522); - -/* 80B9453C-80B94838 00085C 02FC+00 1/1 0/0 0/0 .text CreateHeap__11daNpc_zrZ_cFv */ -int daNpc_zrZ_c::CreateHeap() { - J3DModelData* model_data = NULL; - if (mType == 1) { - if (l_bmdGTGetParamList[0].fileIdx >= 0) { - model_data = static_cast( - dComIfG_getObjectRes(l_resNames[l_bmdGTGetParamList[0].arcIdx], - l_bmdGTGetParamList[0].fileIdx)); - } - } else { - if (l_bmdGetParamList[0].fileIdx >= 0) { - model_data = static_cast( - dComIfG_getObjectRes(l_resNames[l_bmdGetParamList[0].arcIdx], - l_bmdGetParamList[0].fileIdx)); - } - } - - mpMorf = new mDoExt_McaMorfSO(model_data, NULL, NULL, NULL, -1, 1.0f, 0, -1, - &mCreatureSound, 0x80000, 0x11020284); - if (mpMorf != NULL && mpMorf->getModel() == NULL) { - mpMorf->stopZelAnime(); - mpMorf = NULL; - } - if (mpMorf == NULL) { - return 0; - } - - if (!mInvisibleModel.create(mpMorf->getModel(), 1)) { - return 0; - } - - J3DModel* model = mpMorf->getModel(); - for (u16 i = 0; i < model_data->getJointNum(); i++) { - model_data->getJointNodePointer(i)->setCallBack(ctrlJointCallBack); - } - model->setUserArea((u32)this); - - mpMatAnm = new daNpcF_MatAnm_c(); - if (mpMatAnm == NULL) { - return 0; - } - - if (!setExpressionAnm(ANM_F_TALK_A, false)) { - return 0; - } - setMotionAnm(ANM_WAIT_GT_A, 0.0f); - - return 1; -} - - -/* 80B94838-80B94874 000B58 003C+00 1/1 0/0 0/0 .text __dt__15J3DTevKColorAnmFv */ -// J3DTevKColorAnm::~J3DTevKColorAnm() { -extern "C" void __dt__15J3DTevKColorAnmFv() { - // NONMATCHING -} - -/* 80B94874-80B9488C 000B94 0018+00 1/1 0/0 0/0 .text __ct__15J3DTevKColorAnmFv */ -// J3DTevKColorAnm::J3DTevKColorAnm() { -extern "C" void __ct__15J3DTevKColorAnmFv() { - // NONMATCHING -} - -/* 80B9488C-80B948C8 000BAC 003C+00 1/1 0/0 0/0 .text __dt__14J3DTevColorAnmFv */ -// J3DTevColorAnm::~J3DTevColorAnm() { -extern "C" void __dt__14J3DTevColorAnmFv() { - // NONMATCHING -} - -/* 80B948C8-80B948E0 000BE8 0018+00 1/1 0/0 0/0 .text __ct__14J3DTevColorAnmFv */ -// J3DTevColorAnm::J3DTevColorAnm() { -extern "C" void __ct__14J3DTevColorAnmFv() { - // NONMATCHING -} - -/* 80B948E0-80B94928 000C00 0048+00 1/1 0/0 0/0 .text __dt__11J3DTexNoAnmFv */ -// J3DTexNoAnm::~J3DTexNoAnm() { -extern "C" void __dt__11J3DTexNoAnmFv() { - // NONMATCHING -} - -/* 80B94928-80B9494C 000C48 0024+00 1/1 0/0 0/0 .text __ct__11J3DTexNoAnmFv */ -// J3DTexNoAnm::J3DTexNoAnm() { -extern "C" void __ct__11J3DTexNoAnmFv() { - // NONMATCHING -} - -/* 80B9494C-80B94988 000C6C 003C+00 1/1 0/0 0/0 .text __dt__12J3DTexMtxAnmFv */ -// J3DTexMtxAnm::~J3DTexMtxAnm() { -extern "C" void __dt__12J3DTexMtxAnmFv() { - // NONMATCHING -} - -/* 80B94988-80B949A0 000CA8 0018+00 1/1 0/0 0/0 .text __ct__12J3DTexMtxAnmFv */ -// J3DTexMtxAnm::J3DTexMtxAnm() { -extern "C" void __ct__12J3DTexMtxAnmFv() { - // NONMATCHING -} - -/* 80B949A0-80B949DC 000CC0 003C+00 1/1 0/0 0/0 .text __dt__14J3DMatColorAnmFv */ -// J3DMatColorAnm::~J3DMatColorAnm() { -extern "C" void __dt__14J3DMatColorAnmFv() { - // NONMATCHING -} - -/* 80B949DC-80B949F4 000CFC 0018+00 1/1 0/0 0/0 .text __ct__14J3DMatColorAnmFv */ -// J3DMatColorAnm::J3DMatColorAnm() { -extern "C" void __ct__14J3DMatColorAnmFv() { - // NONMATCHING -} - -/* 80B949F4-80B94A28 000D14 0034+00 1/1 0/0 0/0 .text Delete__11daNpc_zrZ_cFv */ -int daNpc_zrZ_c::Delete() { - this->~daNpc_zrZ_c(); - return 1; -} - -/* 80B94A28-80B94A48 000D48 0020+00 2/2 0/0 0/0 .text Execute__11daNpc_zrZ_cFv */ -int daNpc_zrZ_c::Execute() { - return execute(); -} - -/* 80B94A48-80B94B34 000D68 00EC+00 1/1 0/0 0/0 .text Draw__11daNpc_zrZ_cFv */ -int daNpc_zrZ_c::Draw() { - mpMorf->getModel()->getModelData()->getMaterialNodePointer(1)->setMaterialAnm(mpMatAnm); - if (mType == 1) { - return draw(chkAction(&test), false, daNpc_zrZ_Param_c::m.mShadowDepth, NULL, false); - } else { - return daNpcF_c::draw(chkAction(&test), false, daNpc_zrZ_Param_c::m.mShadowDepth, - NULL, false); - } -} - - -/* ############################################################################################## */ -/* 80B9B088-80B9B08C 00009C 0004+00 1/1 0/0 0/0 .rodata @4675 */ -SECTION_RODATA static f32 const lit_4675 = 20.0f; -COMPILER_STRIP_GATE(0x80B9B088, &lit_4675); - -/* 80B9B08C-80B9B094 0000A0 0008+00 3/4 0/0 0/0 .rodata @4677 */ -SECTION_RODATA static u8 const lit_4677[8] = { - 0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B9B08C, &lit_4677); - -/* 80B94B34-80B94E18 000E54 02E4+00 1/1 0/0 0/0 .text draw__11daNpc_zrZ_cFiifP11_GXColorS10i */ -int daNpc_zrZ_c::draw(int i_isTest, int param_1, f32 i_shadowDepth, _GXColorS10* i_fogColor, - int i_hideDamage) { - f32 damage_ratio, frame; - J3DModel* model = mpMorf->getModel(); - J3DModelData* modelData = model->getModelData(); - field_0x9f3 = 1; - - if (!mHide) { - if (!i_hideDamage && mDamageTimer != 0 && mTotalDamageTimer != 0) { - damage_ratio = (f32)mDamageTimer / (f32)mTotalDamageTimer; - } else { - damage_ratio = 0.0f; - } - - if (cM3d_IsZero_inverted(damage_ratio)) { - tevStr.mFogColor.r = (s16)(damage_ratio * 20.0f); - tevStr.mFogColor.g = 0; - } else if (i_isTest) { - tevStr.mFogColor.g = 20; - tevStr.mFogColor.r = 0; - } else if (i_fogColor != NULL) { - tevStr.mFogColor.r = i_fogColor->r; - tevStr.mFogColor.g = i_fogColor->g; - tevStr.mFogColor.b = i_fogColor->b; - tevStr.mFogColor.a = i_fogColor->a; - } else { - tevStr.mFogColor.g = 0; - tevStr.mFogColor.r = 0; - } - - if (tevStr.mFogColor.a == 0) { - return 1; - } - - g_env_light.settingTevStruct(7, ¤t.pos, &tevStr); - g_env_light.setLightTevColorType_MAJI(model->getModelData(), &tevStr); - - if (!drawDbgInfo()) { - if (mAnmFlags & ANM_PLAY_BTP) { - mBtpAnm.entry(&modelData->getMaterialTable(), (s16)mBtpAnm.getFrame()); - } - if (mAnmFlags & ANM_PLAY_BTK) { - frame = mBtkAnm.getFrame(); - mBtkAnm.entry(&modelData->getMaterialTable(), frame); - } - if (mAnmFlags & ANM_PLAY_BRK) { - frame = mBrkAnm.getFrame(); - mBrkAnm.entry(&modelData->getMaterialTable(), frame); - } - - if (param_1) { - fopAcM_setEffectMtx(this, modelData); - } - - if (dKy_darkworld_check()) { - dComIfGd_setListDark(); - mInvisibleModel.entryDL(NULL); - dComIfGd_setList(); - } else { - mInvisibleModel.entryDL(NULL); - } - - if (mAnmFlags & ANM_PLAY_BTP) { - mBtpAnm.remove(modelData); - } - if (mAnmFlags & ANM_PLAY_BTK) { - mBtkAnm.remove(modelData); - } - if (mAnmFlags & ANM_PLAY_BRK) { - mBrkAnm.remove(modelData); - } - - drawOtherMdls(); - } - } - return 1; -} - - -/* ############################################################################################## */ -/* 80B9B094-80B9B0A0 0000A8 000C+00 0/1 0/0 0/0 .rodata @4682 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4682[12] = { - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, -}; -COMPILER_STRIP_GATE(0x80B9B094, &lit_4682); -#pragma pop - -/* 80B94E18-80B950F4 001138 02DC+00 2/1 0/0 0/0 .text - * ctrlJoint__11daNpc_zrZ_cFP8J3DJointP8J3DModel */ -int daNpc_zrZ_c::ctrlJoint(J3DJoint* i_joint, J3DModel* i_model) { - int jnt_no = i_joint->getJntNo(); - int lookat_joints[3] = {1, 3, 4}; - Mtx base_mtx, inv_rot; - cXyz pos; - - if (jnt_no == 0) { - mDoMtx_stack_c::copy(mpMorf->getModel()->getAnmMtx(1)); - mDoMtx_stack_c::multVecZero(&mLookatPos[0]); - mDoMtx_stack_c::copy(mpMorf->getModel()->getAnmMtx(3)); - mDoMtx_stack_c::multVecZero(&mLookatPos[1]); - mDoMtx_stack_c::copy(mpMorf->getModel()->getAnmMtx(4)); - mDoMtx_stack_c::multVecZero(&mLookatPos[2]); - } - - mDoMtx_stack_c::copy(i_model->getAnmMtx(jnt_no)); - - switch (jnt_no) { - case 1: // backbone1 - case 3: // neck - case 4: // head - setLookatMtx(jnt_no, lookat_joints, daNpc_zrZ_Param_c::m.mNeckAngleScl); - break; - - case 14: // armL1 - case 22: // armR1 - case 29: // waist - if (jnt_no == 29) { - himoCalc(); - } - - MTXCopy(mDoMtx_stack_c::get(), base_mtx); - pos.set(base_mtx[0][3], base_mtx[1][3], base_mtx[2][3]); - base_mtx[0][3] = base_mtx[1][3] = base_mtx[2][3] = 0.0f; - - mDoMtx_stack_c::ZXYrotS(mCurAngle); - mDoMtx_stack_c::inverse(); - MTXCopy(mDoMtx_stack_c::get(), inv_rot); - - mDoMtx_stack_c::transS(pos); - mDoMtx_stack_c::ZXYrotM(mCurAngle); - mDoMtx_stack_c::ZXYrotM(mLimbAngle); - mDoMtx_stack_c::concat(inv_rot); - mDoMtx_stack_c::concat(base_mtx); - break; - } - - if (jnt_no == 1) { - mDoMtx_stack_c::YrotM(field_0x908[0].z); - mDoMtx_stack_c::ZrotM(-field_0x908[0].x); - } else if (jnt_no == 4) { - mDoMtx_stack_c::YrotM(field_0x908[2].z); - mDoMtx_stack_c::ZrotM(field_0x908[2].x); - } - - i_model->setAnmMtx(jnt_no, mDoMtx_stack_c::get()); - MTXCopy(mDoMtx_stack_c::get(), J3DSys::mCurrentMtx); - - if ((jnt_no == 4 || jnt_no == 12) && (mAnmFlags & ANM_PLAY_BCK)) { - J3DAnmTransform* bck_anm = mBckAnm.getBckAnm(); - mBckAnm.changeBckOnly(mpMorf->getAnm()); - mpMorf->changeAnm(bck_anm); - } - - return 1; -} - - -/* 80B950F4-80B95114 001414 0020+00 1/1 0/0 0/0 .text - * createHeapCallBack__11daNpc_zrZ_cFP10fopAc_ac_c */ -int daNpc_zrZ_c::createHeapCallBack(fopAc_ac_c* i_this) { - return static_cast(i_this)->CreateHeap(); -} - -/* 80B95114-80B95160 001434 004C+00 1/1 0/0 0/0 .text ctrlJointCallBack__11daNpc_zrZ_cFP8J3DJointi - */ -int daNpc_zrZ_c::ctrlJointCallBack(J3DJoint* i_joint, int param_1) { - if (param_1 == 0) { - daNpc_zrZ_c* _this = (daNpc_zrZ_c*)j3dSys.getModel()->getUserArea(); - if (_this != NULL) { - _this->ctrlJoint(i_joint, j3dSys.getModel()); - } - } - return 1; -} - -/* 80B95160-80B951AC 001480 004C+00 3/3 0/0 0/0 .text s_sub__FPvPv */ -static void* s_sub(void* i_proc, void* i_this) { - if (fopAc_IsActor(i_proc) && fopAcM_GetName(i_proc) == PROC_Obj_GraveStone) { - return i_proc; - } - return NULL; -} - -/* 80B951AC-80B951F8 0014CC 004C+00 1/1 0/0 0/0 .text s_subCloth__FPvPv */ -static void* s_subCloth(void* i_proc, void* i_this) { - if (fopAc_IsActor(i_proc) && fopAcM_GetName(i_proc) == PROC_Obj_ZoraCloth) { - return i_proc; - } - return NULL; -} - -/* 80B951F8-80B95244 001518 004C+00 1/1 0/0 0/0 .text s_subRock__FPvPv */ -static void* s_subRock(void* i_proc, void* i_this) { - if (fopAc_IsActor(i_proc) && fopAcM_GetName(i_proc) == PROC_Obj_ZraRock) { - return i_proc; - } - return NULL; -} - -/* 80B95244-80B953CC 001564 0188+00 1/0 0/0 0/0 .text setParam__11daNpc_zrZ_cFv */ -void daNpc_zrZ_c::setParam() { - ActionFn action = mpNextActionFn; - u32 attn_flags = 10; - selectAction(); - - if (!mTwilight && daPy_py_c::i_checkNowWolf()) { - attn_flags = 0; - } - - if (mpNextActionFn != action) { - for (int i = 2; i < 2; i++) { - mActorMngr[i].initialize(); - } - } - - field_0x1434 = 0; - field_0x1438 = 0; - - attention_info.distances[0] = getDistTableIdx(5, 6); - attention_info.distances[1] = attention_info.distances[0]; - attention_info.distances[3] = getDistTableIdx(3, 6); - attention_info.flags = attn_flags; - - scale.set(daNpc_zrZ_Param_c::m.mScale, - daNpc_zrZ_Param_c::m.mScale, - daNpc_zrZ_Param_c::m.mScale); - - mAcchCir.SetWallR(daNpc_zrZ_Param_c::m.mWallR); - mAcchCir.SetWallH(daNpc_zrZ_Param_c::m.mWallH); - gravity = daNpc_zrZ_Param_c::m.mGravity; - - u32 uvar4 = cLib_minMaxLimit(tevStr.mFogColor.a * 100 / 0xff, 1, 100); - mCreatureSound.startCreatureSoundLevel(Z2SE_ZRZ_MV, uvar4, -1); -} - -/* ############################################################################################## */ -/* 80B9B0A0-80B9B0A4 0000B4 0004+00 0/1 0/0 0/0 .rodata @4945 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4945 = 8.5f; -COMPILER_STRIP_GATE(0x80B9B0A0, &lit_4945); -#pragma pop - -/* 80B953CC-80B95598 0016EC 01CC+00 1/0 0/0 0/0 .text main__11daNpc_zrZ_cFv */ -#ifdef NONMATCHING -// data load order -BOOL daNpc_zrZ_c::main() { - if (!doEvent()) { - doNormalAction(1); - } - - attention_info.flags = 0; - - if (!daNpc_zrZ_Param_c::m.mTest - && (!dComIfGp_event_runCheck() || (mOrderNewEvt && dComIfGp_getEvent().isOrderOK()))) - { - if (mOrderEvtNo != EVT_NONE) { - eventInfo.setArchiveName(l_resNames[l_evtGetParamList[mOrderEvtNo].arcIdx]); - } - orderEvent(mOrderSpeakEvt, l_evtNames[l_evtGetParamList[mOrderEvtNo].fileIdx], - 0xffff, 4, 0xff, 1); - } - - if (field_0x9ee) { - mExpressionMorfOverride = 0.0f; - mMotionMorfOverride = 0.0f; - field_0x9ee = false; - } - - playExpression(); - playMotion(); - - mAcch.SetGrndNone(); - mAcch.SetWallNone(); - gravity = 0.0f; - speed.setall(0.0f); - speedF = 0.0f; - - mModulationOffset = 8.5f - cM_scos(mModulationParam * 0x10000 / 90) * 8.5f; - mModulationParam--; - if (mModulationParam <= 0) { - mModulationParam = 90; - mModulationOffset = 0.0f; - } - - return true; -} -#else -BOOL daNpc_zrZ_c::main() { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ -/* 80B9B0A4-80B9B0A8 0000B8 0004+00 5/9 0/0 0/0 .rodata @4991 */ -SECTION_RODATA static f32 const lit_4991 = -1.0f; -COMPILER_STRIP_GATE(0x80B9B0A4, &lit_4991); - -/* 80B9B0A8-80B9B0AC 0000BC 0004+00 1/2 0/0 0/0 .rodata @4992 */ -SECTION_RODATA static f32 const lit_4992 = 1.0f / 5.0f; -COMPILER_STRIP_GATE(0x80B9B0A8, &lit_4992); - -/* 80B95598-80B956B4 0018B8 011C+00 1/1 0/0 0/0 .text ctrlBtk__11daNpc_zrZ_cFv */ -BOOL daNpc_zrZ_c::ctrlBtk() { - if (mpMatAnm != NULL) { - J3DAnmTextureSRTKey* btk_anm = NULL; - if (mType == 1) { - if (l_btkGTGetParamList[0].fileIdx >= 0) { - btk_anm = getTexSRTKeyAnmP(l_resNames[l_btkGTGetParamList[0].arcIdx], - l_btkGTGetParamList[0].fileIdx); - } - } else { - if (l_btkGetParamList[0].fileIdx >= 0) { - btk_anm = getTexSRTKeyAnmP(l_resNames[l_btkGetParamList[0].arcIdx], - l_btkGetParamList[0].fileIdx); - } - } - - if (btk_anm == mBtkAnm.getBtkAnm()) { - mpMatAnm->setNowOffsetX(cM_ssin(mEyeAngle.y) * 0.2f * -1.0f); - mpMatAnm->setNowOffsetY(cM_ssin(mEyeAngle.x) * 0.2f); - mpMatAnm->onEyeMoveFlag(); - return true; - } - mpMatAnm->offEyeMoveFlag(); - } - - return false; -} - - -/* ############################################################################################## */ -/* 80B9B0AC-80B9B0B0 0000C0 0004+00 0/1 0/0 0/0 .rodata @5127 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5127 = -10.0f; -COMPILER_STRIP_GATE(0x80B9B0AC, &lit_5127); -#pragma pop - -/* 80B9B0B0-80B9B0B4 0000C4 0004+00 0/1 0/0 0/0 .rodata @5128 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5128 = 10.0f; -COMPILER_STRIP_GATE(0x80B9B0B0, &lit_5128); -#pragma pop - -/* 80B9B0B4-80B9B0B8 0000C8 0004+00 0/4 0/0 0/0 .rodata @5129 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5129 = 1.0f / 10.0f; -COMPILER_STRIP_GATE(0x80B9B0B4, &lit_5129); -#pragma pop - -/* 80B9B0B8-80B9B0BC 0000CC 0004+00 0/1 0/0 0/0 .rodata @5130 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5130 = 125.0f; -COMPILER_STRIP_GATE(0x80B9B0B8, &lit_5130); -#pragma pop - -/* 80B9B0BC-80B9B0C4 0000D0 0008+00 0/3 0/0 0/0 .rodata @5131 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5131[8] = { - 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B9B0BC, &lit_5131); -#pragma pop - -/* 80B9B0C4-80B9B0CC 0000D8 0008+00 0/3 0/0 0/0 .rodata @5132 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5132[8] = { - 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B9B0C4, &lit_5132); -#pragma pop - -/* 80B9B0CC-80B9B0D4 0000E0 0008+00 0/3 0/0 0/0 .rodata @5133 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5133[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B9B0CC, &lit_5133); -#pragma pop /* 80B9B868-80B9B86C 000008 0001+03 1/1 0/0 0/0 .bss @1109 */ static u8 lit_1109[1 + 3 /* padding */]; @@ -1763,23 +117,619 @@ static u8 lit_1010[1 + 3 /* padding */]; static u8 lit_1009[1 + 3 /* padding */]; #pragma pop -/* 80B9B8A8-80B9B8B4 000048 000C+00 1/1 0/0 0/0 .bss @4021 */ -static u8 lit_4021[12]; - /* 80B9B8B4-80B9B8B8 000054 0004+00 1/1 0/0 0/0 .bss l_HIO */ -static u8 l_HIO[4]; +static daNpc_zrZ_Param_c l_HIO; -/* 80B9B8B8-80B9B8C8 000058 000C+04 0/1 0/0 0/0 .bss @4997 */ -#pragma push -#pragma force_active on -static u8 lit_4997[12 + 4 /* padding */]; -#pragma pop +/* 80B9AFEC-80B9B070 000000 0084+00 22/22 0/0 0/0 .rodata m__17daNpc_zrZ_Param_c */ +daNpc_zrZ_Param_c::param const daNpc_zrZ_Param_c::m = { + 700.0f, // mAttnOffsetY + 0.0f, // mGravity + 1.0f, // mScale + 1400.0f, // mShadowDepth + 255.0f, // mCcWeight + 700.0f, // mCylH + 0.0f, // mWallH + 30.0f, // mWallR + 0.0f, // mBodyUpAngle + 0.0f, // mBodyDownAngle + 10.0f, // mBodyLeftAngle + -10.0f, // mBodyRightAngle + 30.0f, // mHeadUpAngle + -10.0f, // mHeadDownAngle + 45.0f, // mHeadLeftAngle + -45.0f, // mHeadRightAngle + 0.6f, // mNeckAngleScl + 12.0f, // mMorfFrames + 3, // mSpeakDistIdx + 6, // mSpeakAngleIdx + 5, // mTalkDistIdx + 6, // mTalkAngleIdx + 80.0f, // mAttnFovY + 500.0f, // mAttnRadius + 300.0f, // mAttnUpperY + -300.0f, // mAttnLowerY + 60, + 8, // mDamageTimer + 0, // mTestExpression + 0, // mTestMotion + 0, // mTestLookMode + false, // mTest + 1200.0f, + 1000.0f, // mFollowDst + 3000.0f, // mRestoreDst + 25.0f, // mMaxSpeed + 400.0f, // mClothesGetDst + 200.0f, +}; -/* 80B9B8C8-80B9B8D4 000068 000C+00 0/1 0/0 0/0 .bss eyeOffset$4996 */ -#pragma push -#pragma force_active on -static u8 eyeOffset[12]; -#pragma pop +/* 80B9B2A4-80B9B2AC 000020 0008+00 0/1 0/0 0/0 .data l_bmdGetParamList */ +static daNpc_GetParam1 l_bmdGetParamList[1] = { + {9, 0}, +}; + +/* 80B9B2AC-80B9B2B4 000028 0008+00 0/1 0/0 0/0 .data l_bmdGTGetParamList */ +static daNpc_GetParam1 l_bmdGTGetParamList[1] = { + {13, 1}, // gt +}; + +/* 80B9B2B4-80B9B2DC 000030 0028+00 0/2 0/0 0/0 .data l_bckGetParamList */ +static daNpc_GetParam1 l_bckGetParamList[5] = { + {-1, 0}, + {-1, 0}, + {6, 0}, + {0, 0}, + {0, 0}, +}; + +/* 80B9B2DC-80B9B304 000058 0028+00 0/2 0/0 0/0 .data l_bckGTGetParamList */ +static daNpc_GetParam1 l_bckGTGetParamList[5] = { + {-1, 1}, + {8, 1}, // f_talk_a + {10, 1}, // wait_gt_a + {9, 1}, // lead + {7, 1}, // comeon +}; + +/* 80B9B304-80B9B30C 000080 0008+00 0/1 0/0 0/0 .data l_btpGetParamList */ +static daNpc_GetParam1 l_btpGetParamList[1] = { + {15, 0}, +}; + +/* 80B9B30C-80B9B314 000088 0008+00 0/1 0/0 0/0 .data l_btpGTGetParamList */ +static daNpc_GetParam1 l_btpGTGetParamList[1] = { + {19, 1}, // gt +}; + +/* 80B9B314-80B9B31C 000090 0008+00 0/2 0/0 0/0 .data l_btkGetParamList */ +static daNpc_GetParam1 l_btkGetParamList[1] = { + {12, 0}, +}; + +/* 80B9B31C-80B9B324 000098 0008+00 0/2 0/0 0/0 .data l_btkGTGetParamList */ +static daNpc_GetParam1 l_btkGTGetParamList[1] = { + {16, 1}, // gt +}; + +/* 80B9B324-80B9B364 0000A0 0040+00 0/1 0/0 0/0 .data l_evtGetParamList */ +static daNpc_GetParam1 l_evtGetParamList[8] = { + {0, 0}, + {1, 1}, + {2, 1}, + {3, 1}, + {4, 1}, + {5, 1}, + {6, 1}, + {7, 1}, +}; + +/* 80B9B364-80B9B370 0000E0 000C+00 1/0 0/0 0/0 .data l_loadRes_ZRZa */ +static int l_loadRes_ZRZa[3] = {0, -1, -1}; + +/* 80B9B370-80B9B37C 0000EC 000C+00 1/0 0/0 0/0 .data l_loadRes_ZRZ_GT */ +static int l_loadRes_ZRZ_GT[3] = {1, -1, -1}; + +/* 80B9B37C-80B9B388 0000F8 000C+00 1/0 0/0 0/0 .data l_loadRes_ZRZ0 */ +static int l_loadRes_ZRZ0[3] = {0, -1, -1}; + +/* 80B9B388-80B9B394 -00001 000C+00 2/2 0/0 0/0 .data l_loadRes_list */ +static int* l_loadRes_list[3] = { + l_loadRes_ZRZa, + l_loadRes_ZRZ_GT, + l_loadRes_ZRZ0, +}; + +/* 80B9B394-80B9B39C -00001 0008+00 2/8 0/0 0/0 .data l_resNames */ +static char* l_resNames[2] = { + "zrZ", + "zrZ_GT", +}; + +/* 80B9B39C-80B9B3BC -00001 0020+00 1/2 0/0 0/0 .data l_evtNames */ +static char* l_evtNames[8] = { + NULL, + "HELP_PRINCE", + "COME_HERE", + "RESTORE_LINK", + "CLOTHES_GET", + "GET_AFTER", + "SEAL_RELEASE", + "SR_SKIP", +}; + +/* 80B9B3BC-80B9B3C0 -00001 0004+00 0/1 0/0 0/0 .data l_myName */ +static char* l_myName = "zrZ"; + +/* 80B9B3C0-80B9B3E0 -00001 0020+00 0/1 0/0 0/0 .data mEvtCutNameList__11daNpc_zrZ_c */ +char* daNpc_zrZ_c::mEvtCutNameList[8] = { + "", + "HELP_PRINCE", + "COME_HERE", + "RESTORE_LINK", + "CLOTHES_GET", + "GET_AFTER", + "SEAL_RELEASE", + "SR_SKIP", +}; + +/* 80B9B434-80B9B494 0001B0 0060+00 0/2 0/0 0/0 .data mEvtCutList__11daNpc_zrZ_c */ +daNpc_zrZ_c::EventFn daNpc_zrZ_c::mEvtCutList[8] = { + NULL, + &ECut_helpPrince, + &ECut_comeHere, + &ECut_restoreLink, + &ECut_clothesGet, + &ECut_getAfter, + &ECut_sealRelease, + &ECut_srSkip, +}; + +/* 80B93DCC-80B93F84 0000EC 01B8+00 1/1 0/0 0/0 .text __ct__11daNpc_zrZ_cFv */ +// NONMATCHING inlining +daNpc_zrZ_c::daNpc_zrZ_c() { + /* empty function */ +} + +/* 80B94014-80B9423C 000334 0228+00 1/0 0/0 0/0 .text __dt__11daNpc_zrZ_cFv */ +daNpc_zrZ_c::~daNpc_zrZ_c() { + for (int i = 0; l_loadRes_list[mType][i] >= 0; i++) { + dComIfG_resDelete(&mPhase[i], l_resNames[l_loadRes_list[mType][i]]); + } + + if (heap != NULL) { + mpMorf->stopZelAnime(); + } +} + +/* 80B9423C-80B9453C 00055C 0300+00 1/1 0/0 0/0 .text create__11daNpc_zrZ_cFv */ +cPhs__Step daNpc_zrZ_c::create() { + fopAcM_SetupActor(this, daNpc_zrZ_c); + + mType = getTypeFromParam(); + mDemoMode = getDemoMode(); + mSwitch1 = home.angle.z & 0xff; + mSwitch2 = (home.angle.z >> 8) & 0xff; + mSwitch3 = fopAcM_GetParam(this) >> 0x18; + if (home.angle.x != 0xffff) { + mFlowID = home.angle.x; + } else { + mFlowID = -1; + } + + if (isDelete()) { + return cPhs_ERROR_e; + } + + int res_count = 0; + int i; + for (i = 0; l_loadRes_list[mType][i] >= 0; i++) { + cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhase[i], + l_resNames[l_loadRes_list[mType][i]]); + if (step == cPhs_ERROR_e || step == cPhs_UNK3_e) { + return cPhs_ERROR_e; + } + if (step == cPhs_COMPLEATE_e) { + res_count++; + } + } + + if (res_count == i) { + if (!fopAcM_entrySolidHeap(this, createHeapCallBack, 0x5230)) { + return cPhs_ERROR_e; + } + + fopAcM_SetMtx(this, mpMorf->getModel()->getBaseTRMtx()); + fopAcM_setCullSizeBox(this, -300.0f, -50.0f, -300.0f, 300.0f, 800.0f, 300.0f); + mCreatureSound.init(¤t.pos, &eyePos, 3, 1); + mAcchCir.SetWall(daNpc_zrZ_Param_c::m.mWallR, daNpc_zrZ_Param_c::m.mWallH); + mAcch.Set(fopAcM_GetPosition_p(this), fopAcM_GetOldPosition_p(this), this, 1, &mAcchCir, + fopAcM_GetSpeed_p(this), fopAcM_GetAngle_p(this), fopAcM_GetShapeAngle_p(this)); + mCcStts.Init(daNpc_zrZ_Param_c::m.mCcWeight, 0, this); + mCcCyl.Set(mCcDCyl); + mCcCyl.SetStts(&mCcStts); + mCcCyl.SetTgHitCallback(tgHitCallBack); + mAcch.CrrPos(dComIfG_Bgsp()); + mGndChk = mAcch.m_gnd; + mGroundH = mAcch.GetGroundH(); + + setEnvTevColor(); + setRoomNo(); + reset(); + Execute(); + + return cPhs_COMPLEATE_e; + } else { + return cPhs_INIT_e; + } +} + +/* 80B9453C-80B94838 00085C 02FC+00 1/1 0/0 0/0 .text CreateHeap__11daNpc_zrZ_cFv */ +int daNpc_zrZ_c::CreateHeap() { + J3DModelData* model_data = NULL; + if (mType == 1) { + if (l_bmdGTGetParamList[0].fileIdx >= 0) { + model_data = static_cast( + dComIfG_getObjectRes(l_resNames[l_bmdGTGetParamList[0].arcIdx], + l_bmdGTGetParamList[0].fileIdx)); + } + } else { + if (l_bmdGetParamList[0].fileIdx >= 0) { + model_data = static_cast( + dComIfG_getObjectRes(l_resNames[l_bmdGetParamList[0].arcIdx], + l_bmdGetParamList[0].fileIdx)); + } + } + + mpMorf = new mDoExt_McaMorfSO(model_data, NULL, NULL, NULL, -1, 1.0f, 0, -1, + &mCreatureSound, 0x80000, 0x11020284); + if (mpMorf != NULL && mpMorf->getModel() == NULL) { + mpMorf->stopZelAnime(); + mpMorf = NULL; + } + if (mpMorf == NULL) { + return 0; + } + + if (!mInvisibleModel.create(mpMorf->getModel(), 1)) { + return 0; + } + + J3DModel* model = mpMorf->getModel(); + for (u16 i = 0; i < model_data->getJointNum(); i++) { + model_data->getJointNodePointer(i)->setCallBack(ctrlJointCallBack); + } + model->setUserArea((u32)this); + + mpMatAnm = new daNpcF_MatAnm_c(); + if (mpMatAnm == NULL) { + return 0; + } + + if (!setExpressionAnm(ANM_F_TALK_A, false)) { + return 0; + } + setMotionAnm(ANM_WAIT_GT_A, 0.0f); + + return 1; +} + +/* 80B949F4-80B94A28 000D14 0034+00 1/1 0/0 0/0 .text Delete__11daNpc_zrZ_cFv */ +int daNpc_zrZ_c::Delete() { + this->~daNpc_zrZ_c(); + return 1; +} + +/* 80B94A28-80B94A48 000D48 0020+00 2/2 0/0 0/0 .text Execute__11daNpc_zrZ_cFv */ +int daNpc_zrZ_c::Execute() { + return execute(); +} + +/* 80B94A48-80B94B34 000D68 00EC+00 1/1 0/0 0/0 .text Draw__11daNpc_zrZ_cFv */ +int daNpc_zrZ_c::Draw() { + mpMorf->getModel()->getModelData()->getMaterialNodePointer(1)->setMaterialAnm(mpMatAnm); + if (mType == 1) { + return draw(chkAction(&test), false, daNpc_zrZ_Param_c::m.mShadowDepth, NULL, false); + } else { + return daNpcF_c::draw(chkAction(&test), false, daNpc_zrZ_Param_c::m.mShadowDepth, + NULL, false); + } +} + +/* 80B94B34-80B94E18 000E54 02E4+00 1/1 0/0 0/0 .text draw__11daNpc_zrZ_cFiifP11_GXColorS10i */ +int daNpc_zrZ_c::draw(int i_isTest, int param_1, f32 i_shadowDepth, _GXColorS10* i_fogColor, + int i_hideDamage) { + f32 damage_ratio, frame; + J3DModel* model = mpMorf->getModel(); + J3DModelData* modelData = model->getModelData(); + field_0x9f3 = 1; + + if (!mHide) { + if (!i_hideDamage && mDamageTimer != 0 && mTotalDamageTimer != 0) { + damage_ratio = (f32)mDamageTimer / (f32)mTotalDamageTimer; + } else { + damage_ratio = 0.0f; + } + + if (cM3d_IsZero_inverted(damage_ratio)) { + tevStr.mFogColor.r = (s16)(damage_ratio * 20.0f); + tevStr.mFogColor.g = 0; + } else if (i_isTest) { + tevStr.mFogColor.g = 20; + tevStr.mFogColor.r = 0; + } else if (i_fogColor != NULL) { + tevStr.mFogColor.r = i_fogColor->r; + tevStr.mFogColor.g = i_fogColor->g; + tevStr.mFogColor.b = i_fogColor->b; + tevStr.mFogColor.a = i_fogColor->a; + } else { + tevStr.mFogColor.g = 0; + tevStr.mFogColor.r = 0; + } + + if (tevStr.mFogColor.a == 0) { + return 1; + } + + g_env_light.settingTevStruct(7, ¤t.pos, &tevStr); + g_env_light.setLightTevColorType_MAJI(model->getModelData(), &tevStr); + + if (!drawDbgInfo()) { + if (mAnmFlags & ANM_PLAY_BTP) { + mBtpAnm.entry(&modelData->getMaterialTable(), (s16)mBtpAnm.getFrame()); + } + if (mAnmFlags & ANM_PLAY_BTK) { + frame = mBtkAnm.getFrame(); + mBtkAnm.entry(&modelData->getMaterialTable(), frame); + } + if (mAnmFlags & ANM_PLAY_BRK) { + frame = mBrkAnm.getFrame(); + mBrkAnm.entry(&modelData->getMaterialTable(), frame); + } + + if (param_1) { + fopAcM_setEffectMtx(this, modelData); + } + + if (dKy_darkworld_check()) { + dComIfGd_setListDark(); + mInvisibleModel.entryDL(NULL); + dComIfGd_setList(); + } else { + mInvisibleModel.entryDL(NULL); + } + + if (mAnmFlags & ANM_PLAY_BTP) { + mBtpAnm.remove(modelData); + } + if (mAnmFlags & ANM_PLAY_BTK) { + mBtkAnm.remove(modelData); + } + if (mAnmFlags & ANM_PLAY_BRK) { + mBrkAnm.remove(modelData); + } + + drawOtherMdls(); + } + } + return 1; +} + +/* 80B94E18-80B950F4 001138 02DC+00 2/1 0/0 0/0 .text + * ctrlJoint__11daNpc_zrZ_cFP8J3DJointP8J3DModel */ +int daNpc_zrZ_c::ctrlJoint(J3DJoint* i_joint, J3DModel* i_model) { + int jnt_no = i_joint->getJntNo(); + int lookat_joints[3] = {1, 3, 4}; + Mtx base_mtx, inv_rot; + cXyz pos; + + if (jnt_no == 0) { + mDoMtx_stack_c::copy(mpMorf->getModel()->getAnmMtx(1)); + mDoMtx_stack_c::multVecZero(&mLookatPos[0]); + mDoMtx_stack_c::copy(mpMorf->getModel()->getAnmMtx(3)); + mDoMtx_stack_c::multVecZero(&mLookatPos[1]); + mDoMtx_stack_c::copy(mpMorf->getModel()->getAnmMtx(4)); + mDoMtx_stack_c::multVecZero(&mLookatPos[2]); + } + + mDoMtx_stack_c::copy(i_model->getAnmMtx(jnt_no)); + + switch (jnt_no) { + case 1: // backbone1 + case 3: // neck + case 4: // head + setLookatMtx(jnt_no, lookat_joints, daNpc_zrZ_Param_c::m.mNeckAngleScl); + break; + + case 14: // armL1 + case 22: // armR1 + case 29: // waist + if (jnt_no == 29) { + himoCalc(); + } + + MTXCopy(mDoMtx_stack_c::get(), base_mtx); + pos.set(base_mtx[0][3], base_mtx[1][3], base_mtx[2][3]); + base_mtx[0][3] = base_mtx[1][3] = base_mtx[2][3] = 0.0f; + + mDoMtx_stack_c::ZXYrotS(mCurAngle); + mDoMtx_stack_c::inverse(); + MTXCopy(mDoMtx_stack_c::get(), inv_rot); + + mDoMtx_stack_c::transS(pos); + mDoMtx_stack_c::ZXYrotM(mCurAngle); + mDoMtx_stack_c::ZXYrotM(mLimbAngle); + mDoMtx_stack_c::concat(inv_rot); + mDoMtx_stack_c::concat(base_mtx); + break; + } + + if (jnt_no == 1) { + mDoMtx_stack_c::YrotM(field_0x908[0].z); + mDoMtx_stack_c::ZrotM(-field_0x908[0].x); + } else if (jnt_no == 4) { + mDoMtx_stack_c::YrotM(field_0x908[2].z); + mDoMtx_stack_c::ZrotM(field_0x908[2].x); + } + + i_model->setAnmMtx(jnt_no, mDoMtx_stack_c::get()); + MTXCopy(mDoMtx_stack_c::get(), J3DSys::mCurrentMtx); + + if ((jnt_no == 4 || jnt_no == 12) && (mAnmFlags & ANM_PLAY_BCK)) { + J3DAnmTransform* bck_anm = mBckAnm.getBckAnm(); + mBckAnm.changeBckOnly(mpMorf->getAnm()); + mpMorf->changeAnm(bck_anm); + } + + return 1; +} + +/* 80B950F4-80B95114 001414 0020+00 1/1 0/0 0/0 .text + * createHeapCallBack__11daNpc_zrZ_cFP10fopAc_ac_c */ +int daNpc_zrZ_c::createHeapCallBack(fopAc_ac_c* i_this) { + return static_cast(i_this)->CreateHeap(); +} + +/* 80B95114-80B95160 001434 004C+00 1/1 0/0 0/0 .text ctrlJointCallBack__11daNpc_zrZ_cFP8J3DJointi + */ +int daNpc_zrZ_c::ctrlJointCallBack(J3DJoint* i_joint, int param_1) { + if (param_1 == 0) { + daNpc_zrZ_c* _this = (daNpc_zrZ_c*)j3dSys.getModel()->getUserArea(); + if (_this != NULL) { + _this->ctrlJoint(i_joint, j3dSys.getModel()); + } + } + return 1; +} + +/* 80B95160-80B951AC 001480 004C+00 3/3 0/0 0/0 .text s_sub__FPvPv */ +static void* s_sub(void* i_proc, void* i_this) { + if (fopAc_IsActor(i_proc) && fopAcM_GetName(i_proc) == PROC_Obj_GraveStone) { + return i_proc; + } + return NULL; +} + +/* 80B951AC-80B951F8 0014CC 004C+00 1/1 0/0 0/0 .text s_subCloth__FPvPv */ +static void* s_subCloth(void* i_proc, void* i_this) { + if (fopAc_IsActor(i_proc) && fopAcM_GetName(i_proc) == PROC_Obj_ZoraCloth) { + return i_proc; + } + return NULL; +} + +/* 80B951F8-80B95244 001518 004C+00 1/1 0/0 0/0 .text s_subRock__FPvPv */ +static void* s_subRock(void* i_proc, void* i_this) { + if (fopAc_IsActor(i_proc) && fopAcM_GetName(i_proc) == PROC_Obj_ZraRock) { + return i_proc; + } + return NULL; +} + +/* 80B95244-80B953CC 001564 0188+00 1/0 0/0 0/0 .text setParam__11daNpc_zrZ_cFv */ +void daNpc_zrZ_c::setParam() { + ActionFn action = mpNextActionFn; + u32 attn_flags = 10; + selectAction(); + + if (!mTwilight && daPy_py_c::i_checkNowWolf()) { + attn_flags = 0; + } + + if (mpNextActionFn != action) { + for (int i = 2; i < 2; i++) { + mActorMngr[i].initialize(); + } + } + + field_0x1434 = 0; + field_0x1438 = 0; + + attention_info.distances[fopAc_attn_LOCK_e] = getDistTableIdx(5, 6); + attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[fopAc_attn_LOCK_e]; + attention_info.distances[fopAc_attn_SPEAK_e] = getDistTableIdx(3, 6); + attention_info.flags = attn_flags; + + scale.set(daNpc_zrZ_Param_c::m.mScale, + daNpc_zrZ_Param_c::m.mScale, + daNpc_zrZ_Param_c::m.mScale); + + mAcchCir.SetWallR(daNpc_zrZ_Param_c::m.mWallR); + mAcchCir.SetWallH(daNpc_zrZ_Param_c::m.mWallH); + gravity = daNpc_zrZ_Param_c::m.mGravity; + + u32 uvar4 = cLib_minMaxLimit(tevStr.mFogColor.a * 100 / 0xff, 1, 100); + mCreatureSound.startCreatureSoundLevel(Z2SE_ZRZ_MV, uvar4, -1); +} + +/* 80B953CC-80B95598 0016EC 01CC+00 1/0 0/0 0/0 .text main__11daNpc_zrZ_cFv */ +BOOL daNpc_zrZ_c::main() { + if (!doEvent()) { + doNormalAction(1); + } + + attention_info.flags = 0; + + if (!daNpc_zrZ_Param_c::m.mTest + && (!dComIfGp_event_runCheck() || (mOrderNewEvt && dComIfGp_getEvent().isOrderOK()))) + { + if (mOrderEvtNo != EVT_NONE) { + eventInfo.setArchiveName(l_resNames[l_evtGetParamList[mOrderEvtNo].arcIdx]); + } + orderEvent(mOrderSpeakEvt, l_evtNames[l_evtGetParamList[mOrderEvtNo].fileIdx], + 0xffff, 4, 0xff, 1); + } + + if (field_0x9ee) { + mExpressionMorfOverride = 0.0f; + mMotionMorfOverride = 0.0f; + field_0x9ee = false; + } + + playExpression(); + playMotion(); + + mAcch.SetGrndNone(); + mAcch.SetWallNone(); + gravity = 0.0f; + speed.setall(0.0f); + speedF = 0.0f; + + mModulationOffset = 8.5f - cM_scos(mModulationParam * 0x10000 / 90) * 8.5f; + mModulationParam--; + if (mModulationParam <= 0) { + mModulationParam = 90; + mModulationOffset = 0.0f; + } + + return TRUE; +} + +/* 80B95598-80B956B4 0018B8 011C+00 1/1 0/0 0/0 .text ctrlBtk__11daNpc_zrZ_cFv */ +BOOL daNpc_zrZ_c::ctrlBtk() { + if (mpMatAnm != NULL) { + J3DAnmTextureSRTKey* btk_anm = NULL; + if (mType == 1) { + if (l_btkGTGetParamList[0].fileIdx >= 0) { + btk_anm = getTexSRTKeyAnmP(l_resNames[l_btkGTGetParamList[0].arcIdx], + l_btkGTGetParamList[0].fileIdx); + } + } else { + if (l_btkGetParamList[0].fileIdx >= 0) { + btk_anm = getTexSRTKeyAnmP(l_resNames[l_btkGetParamList[0].arcIdx], + l_btkGetParamList[0].fileIdx); + } + } + + if (btk_anm == mBtkAnm.getBtkAnm()) { + mpMatAnm->setNowOffsetX(cM_ssin(mEyeAngle.y) * 0.2f * -1.0f); + mpMatAnm->setNowOffsetY(cM_ssin(mEyeAngle.x) * 0.2f); + mpMatAnm->onEyeMoveFlag(); + return TRUE; + } + mpMatAnm->offEyeMoveFlag(); + } + + return FALSE; +} /* 80B956B4-80B95BB8 0019D4 0504+00 1/0 0/0 0/0 .text setAttnPos__11daNpc_zrZ_cFv */ void daNpc_zrZ_c::setAttnPos() { @@ -1857,7 +807,6 @@ void daNpc_zrZ_c::setAttnPos() { } } - /* 80B95BB8-80B95C6C 001ED8 00B4+00 1/0 0/0 0/0 .text setMtx__11daNpc_zrZ_cFv */ void daNpc_zrZ_c::setMtx() { J3DModel* model = mpMorf->getModel(); @@ -1923,7 +872,6 @@ bool daNpc_zrZ_c::setExpressionAnm(int i_idx, bool i_modify) { return false; } - /* 80B95DD0-80B95F10 0020F0 0140+00 1/0 0/0 0/0 .text setExpressionBtp__11daNpc_zrZ_cFi */ bool daNpc_zrZ_c::setExpressionBtp(int i_idx) { @@ -1967,7 +915,6 @@ bool daNpc_zrZ_c::setExpressionBtp(int i_idx) { return false; } - /* 80B95F10-80B95F3C 002230 002C+00 1/0 0/0 0/0 .text setExpression__11daNpc_zrZ_cFif */ void daNpc_zrZ_c::setExpression(int i_expression, f32 i_morf) { if (i_expression >= 0 && i_expression < 2) { @@ -2011,9 +958,9 @@ void daNpc_zrZ_c::setMotionAnm(int i_idx, f32 i_morf) { } if (mType == 1) { - if (l_btkGetParamList[0].fileIdx >= 0) { - btk_anm = getTexSRTKeyAnmP(l_resNames[l_btkGetParamList[0].arcIdx], - l_btkGetParamList[0].fileIdx); + if (l_btkGTGetParamList[0].fileIdx >= 0) { + btk_anm = getTexSRTKeyAnmP(l_resNames[l_btkGTGetParamList[0].arcIdx], + l_btkGTGetParamList[0].fileIdx); } } else { if (l_btkGetParamList[0].fileIdx >= 0) { @@ -2032,7 +979,6 @@ void daNpc_zrZ_c::setMotionAnm(int i_idx, f32 i_morf) { } } - /* 80B9612C-80B96170 00244C 0044+00 1/0 0/0 0/0 .text setMotion__11daNpc_zrZ_cFifi */ void daNpc_zrZ_c::setMotion(int i_motion, f32 i_morf, BOOL i_restart) { s16 motion = i_motion; @@ -2082,14 +1028,6 @@ BOOL daNpc_zrZ_c::isDelete() { } } -/* ############################################################################################## */ -/* 80B9B0D4-80B9B0D8 0000E8 0004+00 0/1 0/0 0/0 .rodata @5371 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5371 = 100.0f; -COMPILER_STRIP_GATE(0x80B9B0D4, &lit_5371); -#pragma pop - /* 80B96268-80B9652C 002588 02C4+00 1/1 0/0 0/0 .text reset__11daNpc_zrZ_cFv */ void daNpc_zrZ_c::reset() { initialize(); @@ -2155,65 +1093,6 @@ void daNpc_zrZ_c::reset() { field_0x9ee = true; } - -/* ############################################################################################## */ -/* 80B9B0D8-80B9B0E4 0000EC 000C+00 0/1 0/0 0/0 .rodata @5375 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5375[12] = { - 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80B9B0D8, &lit_5375); -#pragma pop - -/* 80B9B0E4-80B9B0F0 0000F8 000C+00 0/1 0/0 0/0 .rodata @5376 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5376[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B9B0E4, &lit_5376); -#pragma pop - -/* 80B9B0F0-80B9B0F8 000104 0008+00 0/1 0/0 0/0 .rodata @5377 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5377[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B9B0F0, &lit_5377); -#pragma pop - -/* 80B9B0F8-80B9B104 00010C 000C+00 0/1 0/0 0/0 .rodata @5378 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5378[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B9B0F8, &lit_5378); -#pragma pop - -/* 80B9B104-80B9B108 000118 0004+00 0/1 0/0 0/0 .rodata @5379 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5379[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80B9B104, &lit_5379); -#pragma pop - -/* 80B9B108-80B9B110 00011C 0008+00 0/1 0/0 0/0 .rodata @5380 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5380[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B9B108, &lit_5380); -#pragma pop - /* 80B9652C-80B96618 00284C 00EC+00 1/1 0/0 0/0 .text playExpression__11daNpc_zrZ_cFv */ void daNpc_zrZ_c::playExpression() { daNpcF_anmPlayData dat0a = {ANM_F_TALK_A, daNpc_zrZ_Param_c::m.mMorfFrames, 1}; @@ -2229,86 +1108,6 @@ void daNpc_zrZ_c::playExpression() { } } - -/* ############################################################################################## */ -/* 80B9B110-80B9B11C 000124 000C+00 0/1 0/0 0/0 .rodata @5393 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5393[12] = { - 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B9B110, &lit_5393); -#pragma pop - -/* 80B9B11C-80B9B120 000130 0004+00 0/1 0/0 0/0 .rodata @5394 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5394[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80B9B11C, &lit_5394); -#pragma pop - -/* 80B9B120-80B9B12C 000134 000C+00 0/1 0/0 0/0 .rodata @5395 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5395[12] = { - 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -}; -COMPILER_STRIP_GATE(0x80B9B120, &lit_5395); -#pragma pop - -/* 80B9B12C-80B9B138 000140 000C+00 0/1 0/0 0/0 .rodata @5396 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5396[12] = { - 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B9B12C, &lit_5396); -#pragma pop - -/* 80B9B138-80B9B140 00014C 0008+00 0/1 0/0 0/0 .rodata @5397 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5397[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B9B138, &lit_5397); -#pragma pop - -/* 80B9B140-80B9B14C 000154 000C+00 0/1 0/0 0/0 .rodata @5398 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5398[12] = { - 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B9B140, &lit_5398); -#pragma pop - -/* 80B9B14C-80B9B150 000160 0004+00 0/1 0/0 0/0 .rodata @5399 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5399[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80B9B14C, &lit_5399); -#pragma pop - -/* 80B9B150-80B9B15C 000164 000C+00 0/1 0/0 0/0 .rodata @5400 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5400[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B9B150, &lit_5400); -#pragma pop - /* 80B96618-80B96740 002938 0128+00 1/1 0/0 0/0 .text playMotion__11daNpc_zrZ_cFv */ void daNpc_zrZ_c::playMotion() { daNpcF_anmPlayData dat0 = {ANM_WAIT_GT_A, daNpc_zrZ_Param_c::m.mMorfFrames, 0}; @@ -2326,7 +1125,6 @@ void daNpc_zrZ_c::playMotion() { } } - /* 80B96740-80B9676C 002A60 002C+00 2/2 0/0 0/0 .text * chkAction__11daNpc_zrZ_cFM11daNpc_zrZ_cFPCvPvPv_i */ BOOL daNpc_zrZ_c::chkAction(ActionFn i_action) { @@ -2369,7 +1167,6 @@ BOOL daNpc_zrZ_c::selectAction() { return true; } - /* 80B968E0-80B969F4 002C00 0114+00 1/1 0/0 0/0 .text doNormalAction__11daNpc_zrZ_cFi */ void daNpc_zrZ_c::doNormalAction(BOOL param_0) { if (param_0 && hitChk2(&mCcCyl, true, false)) { @@ -2405,7 +1202,7 @@ BOOL daNpc_zrZ_c::doEvent() { if (dComIfGp_event_runCheck() != false) { dEvent_manager_c& event_manager = dComIfGp_getEventManager(); - if (eventInfo.checkCommandTalk() || eventInfo.i_checkCommandDemoAccrpt()) { + if (eventInfo.checkCommandTalk() || eventInfo.checkCommandDemoAccrpt()) { mOrderNewEvt = false; } @@ -2433,7 +1230,7 @@ BOOL daNpc_zrZ_c::doEvent() { ret = true; } - if (eventInfo.i_checkCommandDemoAccrpt()) { + if (eventInfo.checkCommandDemoAccrpt()) { if (mEventIdx != -1 && event_manager.endCheck(mEventIdx)) { switch (mOrderEvtNo) { case EVT_GET_AFTER: @@ -2507,7 +1304,6 @@ BOOL daNpc_zrZ_c::doEvent() { return ret; } - /* 80B96DF0-80B96E7C 003110 008C+00 1/1 0/0 0/0 .text setSkipZev__11daNpc_zrZ_cFii */ BOOL daNpc_zrZ_c::setSkipZev(int i_idx1, int i_idx2) { if (!strcmp(dComIfGp_getEventManager().getRunEventName(), l_evtNames[i_idx1])) { @@ -2524,37 +1320,6 @@ void daNpc_zrZ_c::setLookMode(int i_lookMode) { } } -/* ############################################################################################## */ -/* 80B9B15C-80B9B168 000170 000C+00 0/1 0/0 0/0 .rodata @5576 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5576[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B9B15C, &lit_5576); -#pragma pop - -/* 80B9B168-80B9B16C 00017C 0004+00 0/1 0/0 0/0 .rodata @5629 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5629 = -80.0f; -COMPILER_STRIP_GATE(0x80B9B168, &lit_5629); -#pragma pop - -/* 80B9B16C-80B9B170 000180 0004+00 0/1 0/0 0/0 .rodata @5630 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5630 = 80.0f; -COMPILER_STRIP_GATE(0x80B9B16C, &lit_5630); -#pragma pop - -/* 80B9B170-80B9B174 000184 0004+00 0/1 0/0 0/0 .rodata @5631 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5631 = 40.0f; -COMPILER_STRIP_GATE(0x80B9B170, &lit_5631); -#pragma pop - /* 80B96EA0-80B97128 0031C0 0288+00 1/1 0/0 0/0 .text lookat__11daNpc_zrZ_cFv */ void daNpc_zrZ_c::lookat() { fopAc_ac_c* attn_actor = NULL; @@ -2608,13 +1373,11 @@ void daNpc_zrZ_c::lookat() { mLookat.calc(this, model->getBaseTRMtx(), lookat_angle, snap, angle_delta, false); } - /* 80B97128-80B97160 003448 0038+00 1/1 0/0 0/0 .text setExpressionTalkAfter__11daNpc_zrZ_cFv */ void daNpc_zrZ_c::setExpressionTalkAfter() { setExpression(EXPR_NONE, -1.0f); } - /* 80B97160-80B971BC 003480 005C+00 1/1 0/0 0/0 .text lightReady__11daNpc_zrZ_cFv */ void daNpc_zrZ_c::lightReady() { setLightPos(); @@ -2627,7 +1390,6 @@ void daNpc_zrZ_c::lightReady() { mUseLightEffect = false; } - /* 80B971BC-80B9723C 0034DC 0080+00 1/1 0/0 0/0 .text setLightPos__11daNpc_zrZ_cFv */ void daNpc_zrZ_c::setLightPos() { fopAc_ac_c* gravestone = (fopAc_ac_c*)fpcM_Search(s_sub, this); @@ -2639,43 +1401,6 @@ void daNpc_zrZ_c::setLightPos() { } } - -/* ############################################################################################## */ -/* 80B9B174-80B9B178 000188 0004+00 0/1 0/0 0/0 .rodata @5697 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5697 = 70.0f; -COMPILER_STRIP_GATE(0x80B9B174, &lit_5697); -#pragma pop - -/* 80B9B178-80B9B17C 00018C 0004+00 0/1 0/0 0/0 .rodata @5698 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5698 = 50.0f; -COMPILER_STRIP_GATE(0x80B9B178, &lit_5698); -#pragma pop - -/* 80B9B17C-80B9B180 000190 0004+00 0/1 0/0 0/0 .rodata @5699 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5699 = 1.0f / 20.0f; -COMPILER_STRIP_GATE(0x80B9B17C, &lit_5699); -#pragma pop - -/* 80B9B180-80B9B184 000194 0004+00 0/1 0/0 0/0 .rodata @5700 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5700 = 5.0f; -COMPILER_STRIP_GATE(0x80B9B180, &lit_5700); -#pragma pop - -/* 80B9B184-80B9B188 000198 0004+00 0/1 0/0 0/0 .rodata @5701 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5701 = 14.0f; -COMPILER_STRIP_GATE(0x80B9B184, &lit_5701); -#pragma pop - /* 80B9723C-80B972EC 00355C 00B0+00 1/1 0/0 0/0 .text lightPowerCalc__11daNpc_zrZ_cFi */ void daNpc_zrZ_c::lightPowerCalc(int param_0) { if (param_0 == 30) { @@ -2687,24 +1412,8 @@ void daNpc_zrZ_c::lightPowerCalc(int param_0) { } } - -/* ############################################################################################## */ -/* 80B9B188-80B9B198 00019C 0010+00 1/1 0/0 0/0 .rodata key_frame$5706 */ -static int const key_frame[4] = { - 0, 50, 190, 220, -}; - -/* 80B9B198-80B9B1B8 0001AC 0020+00 1/1 0/0 0/0 .rodata key_color$5707 */ -static GXColorS10 const key_color[4] = { - {0x00, 0x00, 0x00, 0xFF}, - {0xFF, 0xC3, 0x8A, 0xFF}, - {0xFF, 0xC3, 0x8A, 0xFF}, - {0x00, 0x00, 0x00, 0xFF}, -}; - /* 80B972EC-80B974BC 00360C 01D0+00 1/1 0/0 0/0 .text lightColorProc__11daNpc_zrZ_cFv */ -#ifdef NONMATCHING -// regalloc +// NONMATCHING regalloc void daNpc_zrZ_c::lightColorProc() { static int const key_frame[4] = { 0, 50, 190, 220, @@ -2739,80 +1448,11 @@ void daNpc_zrZ_c::lightColorProc() { cLib_chaseS(&mLight.mColor.g, key_color[next].g, ++step_g); cLib_chaseS(&mLight.mColor.b, key_color[next].b, ++step_b); } -#else -void daNpc_zrZ_c::lightColorProc() { - // NONMATCHING -} -#endif -/* ############################################################################################## */ /* 80B9B1B8-80B9B1C0 0001CC 0008+00 0/0 0/0 0/0 .rodata @5782 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5782[8] = { +static u8 const lit_5782[8] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, }; -COMPILER_STRIP_GATE(0x80B9B1B8, &lit_5782); -#pragma pop - -/* 80B9B1C0-80B9B1C4 0001D4 0004+00 0/1 0/0 0/0 .rodata @5900 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_5900 = 0xC4608148; -COMPILER_STRIP_GATE(0x80B9B1C0, &lit_5900); -#pragma pop - -/* 80B9B1C4-80B9B1C8 0001D8 0004+00 0/1 0/0 0/0 .rodata @5901 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_5901 = 0x41690A3D; -COMPILER_STRIP_GATE(0x80B9B1C4, &lit_5901); -#pragma pop - -/* 80B9B1C8-80B9B1CC 0001DC 0004+00 0/1 0/0 0/0 .rodata @5902 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_5902 = 0xC47AA117; -COMPILER_STRIP_GATE(0x80B9B1C8, &lit_5902); -#pragma pop - -/* 80B9B1CC-80B9B1D0 0001E0 0004+00 1/1 0/0 0/0 .rodata @5903 */ -SECTION_RODATA static f32 const lit_5903 = 255.0f; -COMPILER_STRIP_GATE(0x80B9B1CC, &lit_5903); - -/* 80B9B1D0-80B9B1D4 0001E4 0004+00 0/0 0/0 0/0 .rodata @5904 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5904 = 60.0f; -COMPILER_STRIP_GATE(0x80B9B1D0, &lit_5904); -#pragma pop - -/* 80B9B1D4-80B9B1DC 0001E8 0004+04 0/0 0/0 0/0 .rodata @5905 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5905[1 + 1 /* padding */] = { - 30.0f, - /* padding */ - 0.0f, -}; -COMPILER_STRIP_GATE(0x80B9B1D4, &lit_5905); -#pragma pop - -/* 80B9B1DC-80B9B1E4 0001F0 0008+00 0/1 0/0 0/0 .rodata @5907 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5907[8] = { - 0x43, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80B9B1DC, &lit_5907); -#pragma pop - -/* 80B9B220-80B9B220 000234 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80B9B27A = "prm"; -SECTION_DEAD static char const* const stringBase_80B9B27E = "timer"; -#pragma pop /* 80B974BC-80B97B78 0037DC 06BC+00 2/0 0/0 0/0 .text ECut_helpPrince__11daNpc_zrZ_cFi */ BOOL daNpc_zrZ_c::ECut_helpPrince(int i_staffID) { @@ -3073,7 +1713,6 @@ BOOL daNpc_zrZ_c::ECut_helpPrince(int i_staffID) { return ret; } - /* 80B97B78-80B97D7C 003E98 0204+00 1/0 0/0 0/0 .text ECut_comeHere__11daNpc_zrZ_cFi */ BOOL daNpc_zrZ_c::ECut_comeHere(int i_staffID) { dEvent_manager_c& event_manager = dComIfGp_getEventManager(); @@ -3129,11 +1768,6 @@ BOOL daNpc_zrZ_c::ECut_comeHere(int i_staffID) { return ret; } -/* ############################################################################################## */ -/* 80B9B1E4-80B9B1E8 0001F8 0004+00 1/1 0/0 0/0 .rodata @5984 */ -SECTION_RODATA static f32 const lit_5984 = 500.0f; -COMPILER_STRIP_GATE(0x80B9B1E4, &lit_5984); - /* 80B97D7C-80B97EB4 00409C 0138+00 1/0 0/0 0/0 .text ECut_restoreLink__11daNpc_zrZ_cFi */ BOOL daNpc_zrZ_c::ECut_restoreLink(int i_staffID) { @@ -3177,22 +1811,6 @@ BOOL daNpc_zrZ_c::ECut_restoreLink(int i_staffID) { return ret; } - -/* ############################################################################################## */ -/* 80B9B1E8-80B9B1EC 0001FC 0004+00 0/0 0/0 0/0 .rodata @6066 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_6066 = 0xFFC38AFF; -COMPILER_STRIP_GATE(0x80B9B1E8, &lit_6066); -#pragma pop - -/* 80B9B1EC-80B9B1F0 000200 0004+00 0/1 0/0 0/0 .rodata @6098 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6098 = -2.0f; -COMPILER_STRIP_GATE(0x80B9B1EC, &lit_6098); -#pragma pop - /* 80B97EB4-80B98540 0041D4 068C+00 1/0 0/0 0/0 .text ECut_clothesGet__11daNpc_zrZ_cFi */ BOOL daNpc_zrZ_c::ECut_clothesGet(int i_staffID) { dEvent_manager_c& event_manager = dComIfGp_getEventManager(); @@ -3400,26 +2018,6 @@ BOOL daNpc_zrZ_c::ECut_clothesGet(int i_staffID) { return ret; } - -/* ############################################################################################## */ -/* 80B9B1F0-80B9B1F4 000204 0004+00 0/0 0/0 0/0 .rodata @6099 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6099 = 11.0f / 20.0f; -COMPILER_STRIP_GATE(0x80B9B1F0, &lit_6099); -#pragma pop - -/* 80B9B1F4-80B9B1F8 000208 0004+00 0/0 0/0 0/0 .rodata @6100 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6100 = 9.0f / 20.0f; -COMPILER_STRIP_GATE(0x80B9B1F4, &lit_6100); -#pragma pop - -/* 80B9B1F8-80B9B1FC 00020C 0004+00 1/1 0/0 0/0 .rodata @6101 */ -SECTION_RODATA static f32 const lit_6101 = 120.0f; -COMPILER_STRIP_GATE(0x80B9B1F8, &lit_6101); - /* 80B98540-80B9877C 004860 023C+00 1/0 0/0 0/0 .text ECut_getAfter__11daNpc_zrZ_cFi */ BOOL daNpc_zrZ_c::ECut_getAfter(int i_staffID) { dEvent_manager_c& event_manager = dComIfGp_getEventManager(); @@ -3492,35 +2090,6 @@ BOOL daNpc_zrZ_c::ECut_getAfter(int i_staffID) { return ret; } -/* ############################################################################################## */ -/* 80B9B1FC-80B9B200 000210 0004+00 0/0 0/0 0/0 .rodata @6102 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6102 = 21105.0f; -COMPILER_STRIP_GATE(0x80B9B1FC, &lit_6102); -#pragma pop - -/* 80B9B200-80B9B204 000214 0004+00 0/0 0/0 0/0 .rodata @6103 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6103 = 750.0f; -COMPILER_STRIP_GATE(0x80B9B200, &lit_6103); -#pragma pop - -/* 80B9B204-80B9B208 000218 0004+00 0/0 0/0 0/0 .rodata @6104 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6104 = 1.5f; -COMPILER_STRIP_GATE(0x80B9B204, &lit_6104); -#pragma pop - -/* 80B9B208-80B9B20C 00021C 0004+00 0/3 0/0 0/0 .rodata @6231 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6231 = 3.0f; -COMPILER_STRIP_GATE(0x80B9B208, &lit_6231); -#pragma pop - /* 80B9877C-80B98ACC 004A9C 0350+00 1/0 0/0 0/0 .text ECut_sealRelease__11daNpc_zrZ_cFi */ BOOL daNpc_zrZ_c::ECut_sealRelease(int i_staffID) { @@ -3606,7 +2175,6 @@ BOOL daNpc_zrZ_c::ECut_sealRelease(int i_staffID) { return ret; } - /* 80B98ACC-80B98C34 004DEC 0168+00 1/0 0/0 0/0 .text ECut_srSkip__11daNpc_zrZ_cFi */ BOOL daNpc_zrZ_c::ECut_srSkip(int i_staffID) { dEvent_manager_c& event_manager = dComIfGp_getEventManager(); @@ -3638,12 +2206,6 @@ BOOL daNpc_zrZ_c::ECut_srSkip(int i_staffID) { return true; } - -/* ############################################################################################## */ -/* 80B9B20C-80B9B210 000220 0004+00 1/1 0/0 0/0 .rodata @6287 */ -SECTION_RODATA static f32 const lit_6287 = 1000.0f; -COMPILER_STRIP_GATE(0x80B9B20C, &lit_6287); - /* 80B98C34-80B98D04 004F54 00D0+00 1/1 0/0 0/0 .text pullbackPlayer__11daNpc_zrZ_cFf */ void daNpc_zrZ_c::pullbackPlayer(f32 param_0) { cXyz pos = mPath.getPntPos(mPath.getBeforeIdx()); @@ -3655,15 +2217,6 @@ void daNpc_zrZ_c::pullbackPlayer(f32 param_0) { daPy_getPlayerActorClass()->setPlayerPosAndAngle(&pos, angle_y, 0); } - -/* ############################################################################################## */ -/* 80B9B210-80B9B214 000224 0004+00 0/1 0/0 0/0 .rodata @6342 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6342 = -120.0f; -COMPILER_STRIP_GATE(0x80B9B210, &lit_6342); -#pragma pop - /* 80B98D04-80B98F84 005024 0280+00 2/0 0/0 0/0 .text wait__11daNpc_zrZ_cFPv */ BOOL daNpc_zrZ_c::wait(void* param_0) { switch (mMode) { @@ -3733,7 +2286,6 @@ BOOL daNpc_zrZ_c::wait(void* param_0) { return true; } - /* 80B98F84-80B998BC 0052A4 0938+00 1/0 0/0 0/0 .text comeHere__11daNpc_zrZ_cFPv */ BOOL daNpc_zrZ_c::comeHere(void* param_0) { cXyz player_pos = daPy_getPlayerActorClass()->current.pos; @@ -3830,15 +2382,6 @@ BOOL daNpc_zrZ_c::comeHere(void* param_0) { return true; } - -/* ############################################################################################## */ -/* 80B9B214-80B9B218 000228 0004+00 0/1 0/0 0/0 .rodata @6785 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6785 = 450.0f; -COMPILER_STRIP_GATE(0x80B9B214, &lit_6785); -#pragma pop - /* 80B998BC-80B9A0EC 005BDC 0830+00 1/0 0/0 0/0 .text comeHere2__11daNpc_zrZ_cFPv */ BOOL daNpc_zrZ_c::comeHere2(void* param_0) { switch (mMode) { @@ -3940,7 +2483,6 @@ BOOL daNpc_zrZ_c::comeHere2(void* param_0) { return true; } - /* 80B9A0EC-80B9A29C 00640C 01B0+00 2/0 0/0 0/0 .text talk__11daNpc_zrZ_cFPv */ BOOL daNpc_zrZ_c::talk(void* param_0) { BOOL ret = false; @@ -3992,7 +2534,6 @@ BOOL daNpc_zrZ_c::talk(void* param_0) { return ret; } - /* 80B9A29C-80B9A380 0065BC 00E4+00 3/0 0/0 0/0 .text test__11daNpc_zrZ_cFPv */ BOOL daNpc_zrZ_c::test(void* param_0) { switch (mMode) { @@ -4019,22 +2560,6 @@ BOOL daNpc_zrZ_c::test(void* param_0) { return true; } - -/* ############################################################################################## */ -/* 80B9B218-80B9B21C 00022C 0004+00 0/1 0/0 0/0 .rodata @6891 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6891 = 470.0f; -COMPILER_STRIP_GATE(0x80B9B218, &lit_6891); -#pragma pop - -/* 80B9B21C-80B9B220 000230 0004+00 0/1 0/0 0/0 .rodata @6892 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6892 = 25.0f; -COMPILER_STRIP_GATE(0x80B9B21C, &lit_6892); -#pragma pop - /* 80B9A380-80B9A504 0066A0 0184+00 1/1 0/0 0/0 .text himoCalc__11daNpc_zrZ_cFv */ void daNpc_zrZ_c::himoCalc() { cXyz vec1 = current.pos; @@ -4057,7 +2582,6 @@ void daNpc_zrZ_c::himoCalc() { mLimbAngle.z = cM_atan2s(mLimbCalcRelPos.z, mLimbCalcRelPos.x); } - /* 80B9A504-80B9A524 006824 0020+00 1/0 0/0 0/0 .text daNpc_zrZ_Create__FPv */ static cPhs__Step daNpc_zrZ_Create(void* i_this) { return static_cast(i_this)->create(); @@ -4083,159 +2607,6 @@ static int daNpc_zrZ_IsDelete(void* i_this) { return 1; } -/* 80B9A58C-80B9A5BC 0068AC 0030+00 1/0 0/0 0/0 .text calc__11J3DTexNoAnmCFPUs */ -// void J3DTexNoAnm::calc(u16* param_0) const { -extern "C" void calc__11J3DTexNoAnmCFPUs() { - // NONMATCHING -} - -/* 80B9A5BC-80B9A61C 0068DC 0060+00 1/0 0/0 0/0 .text __dt__13daNpcF_Path_cFv */ -// daNpcF_Path_c::~daNpcF_Path_c() { -extern "C" void __dt__13daNpcF_Path_cFv() { - // NONMATCHING -} - -/* 80B9A61C-80B9A664 00693C 0048+00 1/0 0/0 0/0 .text __dt__16daNpcF_SPCurve_cFv */ -// daNpcF_SPCurve_c::~daNpcF_SPCurve_c() { -extern "C" void __dt__16daNpcF_SPCurve_cFv() { - // NONMATCHING -} - -/* 80B9A664-80B9A6AC 006984 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 -} - -/* 80B9A6AC-80B9A6E8 0069CC 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 -} - -/* 80B9A6E8-80B9A7B8 006A08 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 -} - -/* 80B9A7B8-80B9A7F4 006AD8 003C+00 5/5 0/0 0/0 .text __dt__5csXyzFv */ -// csXyz::~csXyz() { -extern "C" void __dt__5csXyzFv() { - // NONMATCHING -} - -/* 80B9A7F4-80B9A7F8 006B14 0004+00 2/2 0/0 0/0 .text __ct__5csXyzFv */ -// csXyz::csXyz() { -extern "C" void __ct__5csXyzFv() { - /* empty function */ -} - -/* 80B9A7F8-80B9A834 006B18 003C+00 6/6 0/0 0/0 .text __dt__4cXyzFv */ -// cXyz::~cXyz() { -extern "C" void __dt__4cXyzFv() { - // NONMATCHING -} - -/* 80B9A834-80B9A838 006B54 0004+00 2/2 0/0 0/0 .text __ct__4cXyzFv */ -// cXyz::cXyz() { -extern "C" void __ct__4cXyzFv() { - /* empty function */ -} - -/* 80B9A838-80B9AA84 006B58 024C+00 1/1 0/0 0/0 .text __dt__8daNpcF_cFv */ -// daNpcF_c::~daNpcF_c() { -extern "C" void __dt__8daNpcF_cFv() { - // NONMATCHING -} - -/* 80B9AA84-80B9AC74 006DA4 01F0+00 1/1 0/0 0/0 .text __ct__8daNpcF_cFv */ -// daNpcF_c::daNpcF_c() { -extern "C" void __ct__8daNpcF_cFv() { - // NONMATCHING -} - -/* 80B9AC74-80B9ACE4 006F94 0070+00 1/0 0/0 0/0 .text __dt__12dBgS_AcchCirFv */ -// dBgS_AcchCir::~dBgS_AcchCir() { -extern "C" void __dt__12dBgS_AcchCirFv() { - // NONMATCHING -} - -/* 80B9ACE4-80B9AD40 007004 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */ -// dCcD_GStts::~dCcD_GStts() { -extern "C" void __dt__10dCcD_GSttsFv() { - // NONMATCHING -} - -/* 80B9AD40-80B9ADB0 007060 0070+00 3/2 0/0 0/0 .text __dt__12dBgS_ObjAcchFv */ -// dBgS_ObjAcch::~dBgS_ObjAcch() { -extern "C" void __dt__12dBgS_ObjAcchFv() { - // NONMATCHING -} - -/* 80B9ADB0-80B9ADF8 0070D0 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */ -// J3DFrameCtrl::~J3DFrameCtrl() { -extern "C" void __dt__12J3DFrameCtrlFv() { - // NONMATCHING -} - -/* 80B9ADF8-80B9ADFC 007118 0004+00 1/0 0/0 0/0 .text setCollisions__8daNpcF_cFv */ -// void daNpcF_c::setCollisions() { -extern "C" void setCollisions__8daNpcF_cFv() { - /* empty function */ -} - -/* 80B9ADFC-80B9AE44 00711C 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */ -// cCcD_GStts::~cCcD_GStts() { -extern "C" void __dt__10cCcD_GSttsFv() { - // NONMATCHING -} - -/* 80B9AE44-80B9AE60 007164 001C+00 4/4 0/0 0/0 .text cLib_calcTimer__FPi */ -extern "C" void func_80B9AE44(void* _this, int* param_0) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80B9B854-80B9B860 0005D0 000C+00 2/2 0/0 0/0 .data __vt__17daNpc_zrZ_Param_c */ -SECTION_DATA extern void* __vt__17daNpc_zrZ_Param_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__17daNpc_zrZ_Param_cFv, -}; - -/* 80B9AE60-80B9AF7C 007180 011C+00 0/0 1/0 0/0 .text __sinit_d_a_npc_zrz_cpp */ -void __sinit_d_a_npc_zrz_cpp() { - // NONMATCHING -} - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x80B9AE60, __sinit_d_a_npc_zrz_cpp); -#pragma pop - -/* 80B9AF7C-80B9AF80 00729C 0004+00 1/0 0/0 0/0 .text adjustShapeAngle__11daNpc_zrZ_cFv - */ -void daNpc_zrZ_c::adjustShapeAngle() { - /* empty function */ -} - -/* 80B9AF80-80B9AFC8 0072A0 0048+00 2/1 0/0 0/0 .text __dt__17daNpc_zrZ_Param_cFv */ -// daNpc_zrZ_Param_c::~daNpc_zrZ_Param_c() { -extern "C" void __dt__17daNpc_zrZ_Param_cFv() { - // NONMATCHING -} - -/* 80B9AFC8-80B9AFD0 0072E8 0008+00 1/0 0/0 0/0 .text @36@__dt__12dBgS_ObjAcchFv */ -static void func_80B9AFC8() { - // NONMATCHING -} - -/* 80B9AFD0-80B9AFD8 0072F0 0008+00 1/0 0/0 0/0 .text @20@__dt__12dBgS_ObjAcchFv */ -static void func_80B9AFD0() { - // NONMATCHING -} - /* ############################################################################################## */ /* 80B9B8D4-80B9B8D8 000074 0004+00 0/0 0/0 0/0 .bss * sInstance__40JASGlobalInstance<19JASDefaultBankTable> */ @@ -4408,4 +2779,29 @@ static u8 data_80B9B930[4]; static u8 data_80B9B934[4]; #pragma pop -/* 80B9B220-80B9B220 000234 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file +/* 80B9B714-80B9B734 -00001 0020+00 1/0 0/0 0/0 .data daNpc_zrZ_MethodTable */ +static actor_method_class daNpc_zrZ_MethodTable = { + (process_method_func)daNpc_zrZ_Create, + (process_method_func)daNpc_zrZ_Delete, + (process_method_func)daNpc_zrZ_Execute, + (process_method_func)daNpc_zrZ_IsDelete, + (process_method_func)daNpc_zrZ_Draw, +}; + +/* 80B9B734-80B9B764 -00001 0030+00 0/0 0/0 1/0 .data g_profile_NPC_ZRZ */ +extern actor_process_profile_definition g_profile_NPC_ZRZ = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_NPC_ZRZ, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(daNpc_zrZ_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 390, // mPriority + &daNpc_zrZ_MethodTable, // sub_method + 0x08044100, // mStatus + fopAc_NPC_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType +}; diff --git a/src/d/actor/d_a_obj_kantera.cpp b/src/d/actor/d_a_obj_kantera.cpp index a4e678fe31..f42dd002d9 100644 --- a/src/d/actor/d_a_obj_kantera.cpp +++ b/src/d/actor/d_a_obj_kantera.cpp @@ -4,7 +4,10 @@ */ #include "d/actor/d_a_obj_kantera.h" +#include "SSystem/SComponent/c_math.h" +#include "d/d_a_itembase_static.h" #include "d/d_com_inf_game.h" +#include "d/d_item.h" #include "d/d_item_data.h" #include "d/d_procname.h" #include "dol2asm.h" @@ -268,167 +271,43 @@ extern actor_process_profile_definition g_profile_Obj_Kantera = { fopAc_CULLBOX_CUSTOM_e, // cullType }; -/* 80C397AC-80C397B8 0000D0 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ -SECTION_DATA extern void* __vt__12dBgS_AcchCir[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12dBgS_AcchCirFv, -}; - -/* 80C397B8-80C397C4 0000DC 000C+00 2/2 0/0 0/0 .data __vt__10cCcD_GStts */ -SECTION_DATA extern void* __vt__10cCcD_GStts[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__10cCcD_GSttsFv, -}; - -/* 80C397C4-80C397D0 0000E8 000C+00 1/1 0/0 0/0 .data __vt__10dCcD_GStts */ -SECTION_DATA extern void* __vt__10dCcD_GStts[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__10dCcD_GSttsFv, -}; - -/* 80C397D0-80C397DC 0000F4 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGCyl */ -SECTION_DATA extern void* __vt__8cM3dGCyl[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGCylFv, -}; - -/* 80C397DC-80C397E8 000100 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGAab */ -SECTION_DATA extern void* __vt__8cM3dGAab[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGAabFv, -}; - -/* 80C397E8-80C3980C 00010C 0024+00 2/2 0/0 0/0 .data __vt__12dBgS_ObjAcch */ -SECTION_DATA extern void* __vt__12dBgS_ObjAcch[9] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12dBgS_ObjAcchFv, - (void*)NULL, - (void*)NULL, - (void*)func_80C39638, - (void*)NULL, - (void*)NULL, - (void*)func_80C39630, -}; - -/* 80C3980C-80C39850 000130 0044+00 1/1 0/0 0/0 .data __vt__15daItemKantera_c */ -SECTION_DATA extern void* __vt__15daItemKantera_c[17] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)DrawBase__12daItemBase_cFv, - (void*)setListStart__12daItemBase_cFv, - (void*)settingBeforeDraw__12daItemBase_cFv, - (void*)setTevStr__12daItemBase_cFv, - (void*)setShadow__12daItemBase_cFv, - (void*)animEntry__12daItemBase_cFv, - (void*)RotateYBase__12daItemBase_cFv, - (void*)clothCreate__12daItemBase_cFv, - (void*)__CreateHeap__15daItemKantera_cFv, - (void*)chkFlag__12daItemBase_cFi, - (void*)getTevFrm__12daItemBase_cFv, - (void*)getBtpFrm__12daItemBase_cFv, - (void*)getShadowSize__12daItemBase_cFv, - (void*)getCollisionH__12daItemBase_cFv, - (void*)getCollisionR__12daItemBase_cFv, -}; - -/* 80C39850-80C3985C 000174 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGPla */ -SECTION_DATA extern void* __vt__8cM3dGPla[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGPlaFv, -}; - /* 80C38678-80C38974 000078 02FC+00 1/1 0/0 0/0 .text Reflect__FP4cXyzRC13cBgS_PolyInfof */ static f32 Reflect(cXyz* i_xyz, cBgS_PolyInfo const& param_1, f32 param_2) { // NONMATCHING } -/* 80C38974-80C389BC 000374 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGPlaFv */ -// cM3dGPla::~cM3dGPla() { -extern "C" void __dt__8cM3dGPlaFv() { - // NONMATCHING -} - /* 80C389BC-80C389F8 0003BC 003C+00 1/1 0/0 0/0 .text initBaseMtx__15daItemKantera_cFv */ -#ifdef NONMATCHING void daItemKantera_c::initBaseMtx() { mpModel->setBaseScale(scale); setBaseMtx(); } -#else -void daItemKantera_c::initBaseMtx() { - // NONMATCHING -} -#endif /* 80C389F8-80C38A64 0003F8 006C+00 2/2 0/0 0/0 .text setBaseMtx__15daItemKantera_cFv */ -#ifdef NONMATCHING void daItemKantera_c::setBaseMtx() { mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z); mDoMtx_stack_c::ZXYrotM(shape_angle.x, shape_angle.y, shape_angle.z); MTXCopy(mDoMtx_stack_c::get(), mpModel->mBaseTransformMtx); } -#else -void daItemKantera_c::setBaseMtx() { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ -/* 80C396A8-80C396AC 000060 0004+00 0/1 0/0 0/0 .rodata @3910 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3910 = 30.0f; -COMPILER_STRIP_GATE(0x80C396A8, &lit_3910); -#pragma pop - -/* 80C396AC-80C396B0 000064 0004+00 0/1 0/0 0/0 .rodata @3911 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3911 = -6.0f; -COMPILER_STRIP_GATE(0x80C396AC, &lit_3911); -#pragma pop - -/* 80C396B0-80C396B8 000068 0008+00 0/1 0/0 0/0 .rodata @3913 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3913[8] = { - 0x43, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80C396B0, &lit_3913); -#pragma pop /* 80C38A64-80C38BA8 000464 0144+00 1/1 0/0 0/0 .text Create__15daItemKantera_cFv */ -#ifdef NONMATCHING int daItemKantera_c::Create() { initBaseMtx(); fopAcM_SetMtx(this, mpModel->getBaseTRMtx()); mAcchCir.SetWall(30.0f, 30.0f); mAcch.Set(fopAcM_GetPosition_p(this), fopAcM_GetOldPosition_p(this), this, 1, &mAcchCir, fopAcM_GetSpeed_p(this), NULL, NULL); - mColStatus.Init(0, 0xff, this); - mCollider.Set(l_cyl_src); - mCollider.SetStts(&mColStatus); - mCollider.SetR(dItem_data::getR(m_itemNo)); - mCollider.SetH(dItem_data::getH(m_itemNo)); - fopAcM_SetCullSize(this, 0x10); + mCcStts.Init(0, 0xff, this); + mCcCyl.Set(l_cyl_src); + mCcCyl.SetStts(&mCcStts); + mCcCyl.SetR(dItem_data::getR(m_itemNo)); + mCcCyl.SetH(dItem_data::getH(m_itemNo)); + fopAcM_SetCullSize(this, 0xF); actionWaitInit(); fopAcM_SetGravity(this, -6.0f); fopAcM_OnCarryType(this, fopAcM_CARRY_ITEM); return 1; } -#else -int daItemKantera_c::Create() { - // NONMATCHING -} -#endif /* 80C38BA8-80C38BB0 0005A8 0008+00 1/0 0/0 0/0 .text __CreateHeap__15daItemKantera_cFv */ @@ -437,8 +316,6 @@ int daItemKantera_c::__CreateHeap() { } /* 80C38BB0-80C38DAC 0005B0 01FC+00 1/1 0/0 0/0 .text create__15daItemKantera_cFv */ -#ifdef NONMATCHING -// vtable int daItemKantera_c::create() { fopAcM_SetupActor(this, daItemKantera_c); @@ -459,7 +336,7 @@ int daItemKantera_c::create() { } int phase = dComIfG_resLoad(&mPhase, dItem_data::getFieldArc(m_itemNo)); if (phase == cPhs_COMPLEATE_e) { - if (!fopAcM_entrySolidHeap(this, (heapCallbackFunc)CheckFieldItemCreateHeap, 0x1940)) { + if (!fopAcM_entrySolidHeap(this, CheckFieldItemCreateHeap, 0x1940)) { return cPhs_ERROR_e; } if (!Create()) { @@ -468,74 +345,9 @@ int daItemKantera_c::create() { } return phase; } -#else -int daItemKantera_c::create() { - // NONMATCHING -} -#endif - -/* 80C38DAC-80C38DF4 0007AC 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */ -// cM3dGCyl::~cM3dGCyl() { -extern "C" void __dt__8cM3dGCylFv() { - // NONMATCHING -} - -/* 80C38DF4-80C38E3C 0007F4 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */ -// cM3dGAab::~cM3dGAab() { -extern "C" void __dt__8cM3dGAabFv() { - // NONMATCHING -} - -/* 80C38E3C-80C38E98 00083C 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */ -// dCcD_GStts::~dCcD_GStts() { -extern "C" void __dt__10dCcD_GSttsFv() { - // NONMATCHING -} - -/* 80C38E98-80C38F08 000898 0070+00 1/0 0/0 0/0 .text __dt__12dBgS_AcchCirFv */ -// dBgS_AcchCir::~dBgS_AcchCir() -extern "C" void __dt__12dBgS_AcchCirFv() { - // NONMATCHING -} - -/* 80C38F08-80C38F78 000908 0070+00 3/2 0/0 0/0 .text __dt__12dBgS_ObjAcchFv */ -// dBgS_ObjAcch::~dBgS_ObjAcch() -extern "C" void __dt__12dBgS_ObjAcchFv() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80C396B8-80C396BC 000070 0004+00 0/1 0/0 0/0 .rodata @4076 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4076 = 5.0f; -COMPILER_STRIP_GATE(0x80C396B8, &lit_4076); -#pragma pop - -/* 80C396BC-80C396C0 000074 0004+00 0/2 0/0 0/0 .rodata @4077 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4077 = 1.0f; -COMPILER_STRIP_GATE(0x80C396BC, &lit_4077); -#pragma pop - -/* 80C396C0-80C396C4 000078 0004+00 0/1 0/0 0/0 .rodata @4078 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4078 = 7.0f / 10.0f; -COMPILER_STRIP_GATE(0x80C396C0, &lit_4078); -#pragma pop - -/* 80C396C4-80C396C8 00007C 0004+00 0/1 0/0 0/0 .rodata @4079 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4079 = 3.0f; -COMPILER_STRIP_GATE(0x80C396C4, &lit_4079); -#pragma pop /* 80C38F78-80C39068 000978 00F0+00 1/1 0/0 0/0 .text bg_check__15daItemKantera_cFv */ -#ifdef NONMATCHING -// lfs not correct +// NONMATCHING lfs not correct void daItemKantera_c::bg_check() { if (mAcch.ChkWallHit()) { if (speedF > 5.0f) { @@ -555,43 +367,26 @@ void daItemKantera_c::bg_check() { field_0x936++; } } -#else -void daItemKantera_c::bg_check() { - // NONMATCHING -} -#endif /* 80C39068-80C390A0 000A68 0038+00 1/0 0/0 0/0 .text actionInit__15daItemKantera_cFv */ -#ifdef NONMATCHING int daItemKantera_c::actionInit() { show(); actionWaitInit(); return 1; } -#else -int daItemKantera_c::actionInit() { - // NONMATCHING -} -#endif /* 80C390A0-80C3911C 000AA0 007C+00 2/2 0/0 0/0 .text actionWaitInit__15daItemKantera_cFv */ -#ifdef NONMATCHING int daItemKantera_c::actionWaitInit() { - mCollider.OffTgSPrmBit(1); - mCollider.OffCoSPrmBit(1); + mCcCyl.OffTgSPrmBit(1); + mCcCyl.OffCoSPrmBit(1); cLib_offBit(attention_info.flags, 0x10); - attention_info.distances[fopAc_attn_SPEAK_e] = 16; + attention_info.distances[fopAc_attn_CARRY_e] = 16; attention_info.position = current.pos; show(); setStatus(1); return 1; } -#else -int daItemKantera_c::actionWaitInit() { - // NONMATCHING -} -#endif /* ############################################################################################## */ /* 80C396C8-80C396CC 000080 0004+00 0/1 0/0 0/0 .rodata @4145 */ @@ -608,11 +403,10 @@ int daItemKantera_c::actionWait() { /* 80C39234-80C392D0 000C34 009C+00 1/1 0/0 0/0 .text initActionOrderGetDemo__15daItemKantera_cFv */ -#ifdef NONMATCHING int daItemKantera_c::initActionOrderGetDemo() { cLib_offBit(attention_info.flags, 0x10); - mCollider.OffTgSPrmBit(1); - mCollider.OffCoSPrmBit(1); + mCcCyl.OffTgSPrmBit(1); + mCcCyl.OffCoSPrmBit(1); hide(); fopAcM_orderItemEvent(this, 0, 0); eventInfo.i_onCondition(8); @@ -621,14 +415,8 @@ int daItemKantera_c::initActionOrderGetDemo() { setStatus(2); return 1; } -#else -int daItemKantera_c::initActionOrderGetDemo() { - // NONMATCHING -} -#endif /* 80C392D0-80C3934C 000CD0 007C+00 1/0 0/0 0/0 .text actionOrderGetDemo__15daItemKantera_cFv */ -#ifdef NONMATCHING int daItemKantera_c::actionOrderGetDemo() { if (eventInfo.checkCommandItem()) { setStatus(3); @@ -641,22 +429,9 @@ int daItemKantera_c::actionOrderGetDemo() { } return 1; } -#else -int daItemKantera_c::actionOrderGetDemo() { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ -/* 80C396CC-80C396CC 000084 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80C396CC = "DEFAULT_GETITEM"; -#pragma pop /* 80C3934C-80C393B0 000D4C 0064+00 1/0 0/0 0/0 .text actionGetDemo__15daItemKantera_cFv */ -#ifdef NONMATCHING int daItemKantera_c::actionGetDemo() { if (dComIfGp_evmng_endCheck("DEFAULT_GETITEM")) { dComIfGp_event_reset(); @@ -664,11 +439,6 @@ int daItemKantera_c::actionGetDemo() { } return 1; } -#else -int daItemKantera_c::actionGetDemo() { - // NONMATCHING -} -#endif /* 80C393B0-80C394DC 000DB0 012C+00 1/1 0/0 0/0 .text execute__15daItemKantera_cFv */ int daItemKantera_c::execute() { @@ -676,7 +446,6 @@ int daItemKantera_c::execute() { } /* 80C394DC-80C39530 000EDC 0054+00 1/1 0/0 0/0 .text draw__15daItemKantera_cFv */ -#ifdef NONMATCHING int daItemKantera_c::draw() { if (!chkDraw()) { return 1; @@ -684,83 +453,30 @@ int daItemKantera_c::draw() { DrawBase(); return 1; } -#else -int daItemKantera_c::draw() { - // NONMATCHING -} -#endif /* 80C39530-80C39568 000F30 0038+00 1/1 0/0 0/0 .text _delete__15daItemKantera_cFv */ -#ifdef NONMATCHING int daItemKantera_c::_delete() { DeleteBase(dItem_data::getFieldArc(m_itemNo)); return 1; } -#else -int daItemKantera_c::_delete() { - // NONMATCHING -} -#endif /* 80C39568-80C39588 000F68 0020+00 1/0 0/0 0/0 .text daItemKantera_Draw__FP15daItemKantera_c */ -#ifdef NONMATCHING static int daItemKantera_Draw(daItemKantera_c* i_this) { return i_this->draw(); } -#else -static int daItemKantera_Draw(daItemKantera_c* i_this) { - // NONMATCHING -} -#endif /* 80C39588-80C395A8 000F88 0020+00 1/0 0/0 0/0 .text daItemKantera_Execute__FP15daItemKantera_c */ -#ifdef NONMATCHING static int daItemKantera_Execute(daItemKantera_c* i_this) { return i_this->execute(); } -#else -static int daItemKantera_Execute(daItemKantera_c* i_this) { - // NONMATCHING -} -#endif /* 80C395A8-80C395C8 000FA8 0020+00 1/0 0/0 0/0 .text daItemKantera_Delete__FP15daItemKantera_c */ -#ifdef NONMATCHING static int daItemKantera_Delete(daItemKantera_c* i_this) { return i_this->_delete(); } -#else -static int daItemKantera_Delete(daItemKantera_c* i_this) { - // NONMATCHING -} -#endif /* 80C395C8-80C395E8 000FC8 0020+00 1/0 0/0 0/0 .text daItemKantera_Create__FP10fopAc_ac_c */ -#ifdef NONMATCHING static int daItemKantera_Create(fopAc_ac_c* i_this) { return static_cast(i_this)->create(); } -#else -static int daItemKantera_Create(fopAc_ac_c* i_this) { - // NONMATCHING -} -#endif - -/* 80C395E8-80C39630 000FE8 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */ -// cCcD_GStts::~cCcD_GStts() { -extern "C" void __dt__10cCcD_GSttsFv() { - // NONMATCHING -} - -/* 80C39630-80C39638 001030 0008+00 1/0 0/0 0/0 .text @36@__dt__12dBgS_ObjAcchFv */ -static void func_80C39630() { - // NONMATCHING -} - -/* 80C39638-80C39640 001038 0008+00 1/0 0/0 0/0 .text @20@__dt__12dBgS_ObjAcchFv */ -static void func_80C39638() { - // NONMATCHING -} - -/* 80C396CC-80C396CC 000084 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file diff --git a/src/d/actor/d_a_obj_mirror_table.cpp b/src/d/actor/d_a_obj_mirror_table.cpp index b2bb8e0f04..aa9716e940 100644 --- a/src/d/actor/d_a_obj_mirror_table.cpp +++ b/src/d/actor/d_a_obj_mirror_table.cpp @@ -8,94 +8,6 @@ #include "d/d_com_inf_game.h" #include "d/actor/d_a_player.h" #include "d/d_procname.h" -#include "dol2asm.h" - -// -// Forward References: -// - -extern "C" static void createSolidHeap__FP10fopAc_ac_c(); -extern "C" void createHeap__18daObjMirrorTable_cFv(); -extern "C" void __dt__12J3DFrameCtrlFv(); -extern "C" void isSwitch__18daObjMirrorTable_cFv(); -extern "C" static void rideCallBack1__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c(); -extern "C" static void rideCallBack2__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c(); -extern "C" static void daObjMirrorTable_Draw__FP18daObjMirrorTable_c(); -extern "C" void draw__18daObjMirrorTable_cFv(); -extern "C" static void daObjMirrorTable_Execute__FP18daObjMirrorTable_c(); -extern "C" void execute__18daObjMirrorTable_cFv(); -extern "C" static bool daObjMirrorTable_IsDelete__FP18daObjMirrorTable_c(); -extern "C" static void daObjMirrorTable_Delete__FP18daObjMirrorTable_c(); -extern "C" void __dt__4dBgWFv(); -extern "C" static void daObjMirrorTable_Create__FP10fopAc_ac_c(); -extern "C" void create__18daObjMirrorTable_cFv(); -extern "C" void create_init__18daObjMirrorTable_cFv(); -extern "C" void initBaseMtx__18daObjMirrorTable_cFv(); -extern "C" void func_80C9B220(void* _this, s8*); -extern "C" extern char const* const d_a_obj_mirror_table__stringBase0; - -// -// External References: -// - -extern "C" void push__14mDoMtx_stack_cFv(); -extern "C" void pop__14mDoMtx_stack_cFv(); -extern "C" void transS__14mDoMtx_stack_cFRC4cXyz(); -extern "C" void ZXYrotM__14mDoMtx_stack_cFRC5csXyz(); -extern "C" void play__14mDoExt_baseAnmFv(); -extern "C" void init__13mDoExt_btkAnmFP16J3DMaterialTableP19J3DAnmTextureSRTKeyiifss(); -extern "C" void entry__13mDoExt_btkAnmFP16J3DMaterialTablef(); -extern "C" void init__13mDoExt_brkAnmFP16J3DMaterialTableP15J3DAnmTevRegKeyiifss(); -extern "C" void entry__13mDoExt_brkAnmFP16J3DMaterialTablef(); -extern "C" void init__13mDoExt_bckAnmFP15J3DAnmTransformiifssb(); -extern "C" void entry__13mDoExt_bckAnmFP12J3DModelDataf(); -extern "C" void mDoExt_modelUpdateDL__FP8J3DModel(); -extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void __dt__10fopAc_ac_cFv(); -extern "C" void fopAcM_create__FsUlPC4cXyziPC5csXyzPC4cXyzSc(); -extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl(); -extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc(); -extern "C" void onSwitch__12dSv_memBit_cFi(); -extern "C" void isEventBit__11dSv_event_cCFUs(); -extern "C" void isSwitch__10dSv_info_cCFii(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void -set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf(); -extern "C" void Release__4cBgSFP9dBgW_Base(); -extern "C" void Regist__4dBgSFP9dBgW_BaseP10fopAc_ac_c(); -extern "C" void __dt__4cBgWFv(); -extern "C" void Set__4cBgWFP6cBgD_tUlPA3_A4_f(); -extern "C" void __ct__4dBgWFv(); -extern "C" void Move__4dBgWFv(); -extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void __ct__5csXyzFsss(); -extern "C" void ChkUsed__9cBgW_BgIdCFv(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); -extern "C" void init__12J3DFrameCtrlFs(); -extern "C" void removeTexMtxAnimator__16J3DMaterialTableFP19J3DAnmTextureSRTKey(); -extern "C" void removeTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey(); -extern "C" void __destroy_arr(); -extern "C" void __construct_array(); -extern "C" void _savegpr_25(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_25(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_29(); -extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; -extern "C" extern void* __vt__4dBgW[65]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; - -// -// Declarations: -// /* 80C9B2A4-80C9B2A8 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */ static char const* l_arcName = "MR-Table"; @@ -106,35 +18,14 @@ static Vec const l_minPos = {1672.183f, 4613.6299f, -21013.793f}; /* 80C9B250-80C9B25C 00000C 000C+00 1/1 0/0 0/0 .rodata l_maxPos */ static Vec const l_maxPos = {1926.217f, 4613.6299f, -20866.969f}; -/* 80C9B25C-80C9B260 000018 0004+00 2/4 0/0 0/0 .rodata @3850 */ -SECTION_RODATA static f32 const lit_3850 = 1.0f; -COMPILER_STRIP_GATE(0x80C9B25C, &lit_3850); - -/* 80C9B260-80C9B264 00001C 0004+00 1/3 0/0 0/0 .rodata @3851 */ -SECTION_RODATA static u8 const lit_3851[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80C9B260, &lit_3851); - -/* 80C9B264-80C9B26C 000020 0008+00 1/3 0/0 0/0 .rodata @3853 */ -SECTION_RODATA static u8 const lit_3853[8] = { - 0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80C9B264, &lit_3853); - /* 80C99918-80C99938 000078 0020+00 1/1 0/0 0/0 .text createSolidHeap__FP10fopAc_ac_c */ static int createSolidHeap(fopAc_ac_c* i_this) { return static_cast(i_this)->createHeap(); } -extern void* __vt__12J3DFrameCtrl[3]; - /* 80C99938-80C99F34 000098 05FC+00 1/1 0/0 0/0 .text createHeap__18daObjMirrorTable_cFv */ -#ifdef NONMATCHING +// NONMATCHING error with mirror_res_id calculation int daObjMirrorTable_c::createHeap() { J3DModelData* table_model_data = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 21); mpTableModel = mDoExt_J3DModel__create(table_model_data, 0x80000, 0x11000084); @@ -232,17 +123,6 @@ int daObjMirrorTable_c::createHeap() { return 1; } -#else -int daObjMirrorTable_c::createHeap() { - // NONMATCHING -} -#endif - -/* 80C99F34-80C99F7C 000694 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */ -// J3DFrameCtrl::~J3DFrameCtrl() { -extern "C" void __dt__12J3DFrameCtrlFv() { - // NONMATCHING -} /* 80C99F7C-80C9A040 0006DC 00C4+00 1/1 0/0 0/0 .text isSwitch__18daObjMirrorTable_cFv */ bool daObjMirrorTable_c::isSwitch() { @@ -416,42 +296,7 @@ static int daObjMirrorTable_Execute(daObjMirrorTable_c* i_this) { return i_this->execute(); } -/* ############################################################################################## */ -/* 80C9B26C-80C9B270 000028 0004+00 1/2 0/0 0/0 .rodata @4350 */ -SECTION_RODATA static f32 const lit_4350 = -1.0f; -COMPILER_STRIP_GATE(0x80C9B26C, &lit_4350); - -/* 80C9B270-80C9B274 00002C 0004+00 0/1 0/0 0/0 .rodata @4351 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4351 = 1800.0f; -COMPILER_STRIP_GATE(0x80C9B270, &lit_4351); -#pragma pop - -/* 80C9B274-80C9B278 000030 0004+00 0/1 0/0 0/0 .rodata @4352 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4352 = 4700.0f; -COMPILER_STRIP_GATE(0x80C9B274, &lit_4352); -#pragma pop - -/* 80C9B278-80C9B27C 000034 0004+00 0/1 0/0 0/0 .rodata @4353 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4353 = -21320.0f; -COMPILER_STRIP_GATE(0x80C9B278, &lit_4353); -#pragma pop - -/* 80C9B27C-80C9B280 000038 0004+00 0/1 0/0 0/0 .rodata @4354 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4354 = 255.0f; -COMPILER_STRIP_GATE(0x80C9B27C, &lit_4354); -#pragma pop - /* 80C9A4D0-80C9A9D4 000C30 0504+00 1/1 0/0 0/0 .text execute__18daObjMirrorTable_cFv */ -#ifdef NONMATCHING -// isStop regalloc int daObjMirrorTable_c::execute() { mpTableUpBckAnm->play(); if (!mpTableUpBckAnm->isStop()) { @@ -474,15 +319,15 @@ int daObjMirrorTable_c::execute() { mpStairBrkAnm->setPlaySpeed(1.0f); if (!mBgW[2].ChkUsed()) { dComIfG_Bgsp().Regist(&mBgW[2], this); - Z2GetAudioMgr()->seStartLevel(Z2SE_OBJ_MIRROR_STAIR_ON, &pos, - 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); + Z2GetAudioMgr()->seStart(Z2SE_OBJ_MIRROR_STAIR_ON, &pos, + 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); } } else { mpStairBrkAnm->setPlaySpeed(-1.0f); if (mBgW[2].ChkUsed()) { dComIfG_Bgsp().Release(&mBgW[2]); - Z2GetAudioMgr()->seStartLevel(Z2SE_OBJ_MIRROR_STAIR_OFF, &pos, - 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); + Z2GetAudioMgr()->seStart(Z2SE_OBJ_MIRROR_STAIR_OFF, &pos, + 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); } } @@ -502,11 +347,6 @@ int daObjMirrorTable_c::execute() { setBaseMtx(); return 1; } -#else -int daObjMirrorTable_c::execute() { - // NONMATCHING -} -#endif /* 80C9A9D4-80C9A9DC 001134 0008+00 1/0 0/0 0/0 .text * daObjMirrorTable_IsDelete__FP18daObjMirrorTable_c */ @@ -552,41 +392,6 @@ cPhs__Step daObjMirrorTable_c::create() { return step; } -/* ############################################################################################## */ -/* 80C9B280-80C9B284 00003C 0004+00 0/1 0/0 0/0 .rodata @4509 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4509 = 1760.0f; -COMPILER_STRIP_GATE(0x80C9B280, &lit_4509); -#pragma pop - -/* 80C9B284-80C9B288 000040 0004+00 0/1 0/0 0/0 .rodata @4510 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_4510 = 0x45935266; -COMPILER_STRIP_GATE(0x80C9B284, &lit_4510); -#pragma pop - -/* 80C9B288-80C9B28C 000044 0004+00 0/1 0/0 0/0 .rodata @4511 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4511 = -20624.0f; -COMPILER_STRIP_GATE(0x80C9B288, &lit_4511); -#pragma pop - -/* 80C9B28C-80C9B290 000048 0004+00 0/1 0/0 0/0 .rodata @4512 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4512 = 27.0f / 20.0f; -COMPILER_STRIP_GATE(0x80C9B28C, &lit_4512); -#pragma pop - -/* 80C9B290-80C9B290 00004C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80C9B299 = "F_SP125"; -#pragma pop - /* 80C9ABFC-80C9AFD0 00135C 03D4+00 1/1 0/0 0/0 .text create_init__18daObjMirrorTable_cFv */ void daObjMirrorTable_c::create_init() { @@ -641,7 +446,6 @@ void daObjMirrorTable_c::create_init() { } } - /* 80C9AFD0-80C9B220 001730 0250+00 1/1 0/0 0/0 .text initBaseMtx__18daObjMirrorTable_cFv */ void daObjMirrorTable_c::initBaseMtx() { @@ -650,12 +454,6 @@ void daObjMirrorTable_c::initBaseMtx() { setBaseMtx(); } - -/* 80C9B220-80C9B23C 001980 001C+00 1/1 0/0 0/0 .text cLib_calcTimer__FPSc */ -extern "C" void func_80C9B220(void* _this, s8* param_0) { - // NONMATCHING -} - /* 80C9B2A8-80C9B2C8 -00001 0020+00 1/0 0/0 0/0 .data l_daObjMirrorTable_Method */ static actor_method_class l_daObjMirrorTable_Method = { (process_method_func)daObjMirrorTable_Create, @@ -682,10 +480,3 @@ extern actor_process_profile_definition g_profile_Obj_MirrorTable = { fopAc_ACTOR_e, fopAc_CULLBOX_CUSTOM_e, }; - -/* 80C9B2F8-80C9B304 000054 000C+00 2/2 0/0 0/0 .data __vt__12J3DFrameCtrl */ -SECTION_DATA extern void* __vt__12J3DFrameCtrl[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12J3DFrameCtrlFv, -}; \ No newline at end of file diff --git a/src/d/actor/d_a_obj_volcball.cpp b/src/d/actor/d_a_obj_volcball.cpp index 2e1bde09e5..4621120198 100644 --- a/src/d/actor/d_a_obj_volcball.cpp +++ b/src/d/actor/d_a_obj_volcball.cpp @@ -9,193 +9,19 @@ #include "d/actor/d_a_player.h" #include "d/d_com_inf_game.h" #include "d/d_event_lib.h" -#include "dol2asm.h" #include "f_op/f_op_actor_mng.h" -#include "global.h" - -// -// Forward References: -// - -extern "C" void getData__15daObjVolcBall_cFv(); -extern "C" static void CheckCreateHeap__FP10fopAc_ac_c(); -extern "C" static void search_big_volc__FPvPv(); -extern "C" void initBaseMtx__15daObjVolcBall_cFv(); -extern "C" void setBaseMtx__15daObjVolcBall_cFv(); -extern "C" void Create__15daObjVolcBall_cFv(); -extern "C" void CreateHeap__15daObjVolcBall_cFv(); -extern "C" void create__15daObjVolcBall_cFv(); -extern "C" void __dt__Q215daObjVolcBall_c7vball_sFv(); -extern "C" void __dt__19dPa_followEcallBackFv(); -extern "C" void cleanup__18dPa_levelEcallBackFv(); -extern "C" void __ct__Q215daObjVolcBall_c7vball_sFv(); -extern "C" void __defctor__19dPa_followEcallBackFv(); -extern "C" void __dt__8cM3dGSphFv(); -extern "C" void __dt__8cM3dGAabFv(); -extern "C" void __dt__12dBgS_ObjAcchFv(); -extern "C" void __dt__10dCcD_GSttsFv(); -extern "C" void __dt__12dBgS_AcchCirFv(); -extern "C" void execute__15daObjVolcBall_cFv(); -extern "C" void action__15daObjVolcBall_cFv(); -extern "C" void initActionPlayerWait__15daObjVolcBall_cFv(); -extern "C" void initActionWarning__15daObjVolcBall_cFv(); -extern "C" void initActionSwWait__15daObjVolcBall_cFv(); -extern "C" void actionPlayerWait__15daObjVolcBall_cFv(); -extern "C" void actionSwWait__15daObjVolcBall_cFv(); -extern "C" void actionStop__15daObjVolcBall_cFv(); -extern "C" void actionWarning__15daObjVolcBall_cFv(); -extern "C" void actionEruption__15daObjVolcBall_cFv(); -extern "C" void initActionEnd__15daObjVolcBall_cFv(); -extern "C" void actionEnd__15daObjVolcBall_cFv(); -extern "C" void eventStart__15daObjVolcBall_cFv(); -extern "C" void setEruptEffect__15daObjVolcBall_cFi(); -extern "C" void setFallEffect__15daObjVolcBall_cFi(); -extern "C" void endFallEffect__15daObjVolcBall_cFi(); -extern "C" void createSearchBall__15daObjVolcBall_cFv(); -extern "C" void createNormalBall__15daObjVolcBall_cFv(); -extern "C" void executeBall__15daObjVolcBall_cFv(); -extern "C" void startQuake__15daObjVolcBall_cFv(); -extern "C" void draw__15daObjVolcBall_cFv(); -extern "C" void _delete__15daObjVolcBall_cFv(); -extern "C" static void daObjVolcBall_Draw__FP15daObjVolcBall_c(); -extern "C" static void daObjVolcBall_Execute__FP15daObjVolcBall_c(); -extern "C" static void daObjVolcBall_Delete__FP15daObjVolcBall_c(); -extern "C" static void daObjVolcBall_Create__FP10fopAc_ac_c(); -extern "C" void __dt__15daObjVolcBall_cFv(); -extern "C" void __dt__17dEvLib_callback_cFv(); -extern "C" int eventRun__17dEvLib_callback_cFv(void* this_); -extern "C" int eventEnd__17dEvLib_callback_cFv(void* this_); -extern "C" void __dt__10cCcD_GSttsFv(); -extern "C" void __dt__18dPa_levelEcallBackFv(); -extern "C" void execute__18JPAEmitterCallBackFP14JPABaseEmitter(JPAEmitterCallBack* this_, - JPABaseEmitter* param_0); -extern "C" void executeAfter__18JPAEmitterCallBackFP14JPABaseEmitter(JPAEmitterCallBack* this_, - JPABaseEmitter* param_0); -extern "C" void draw__18JPAEmitterCallBackFP14JPABaseEmitter(JPAEmitterCallBack* this_, - JPABaseEmitter* param_0); -extern "C" void drawAfter__18JPAEmitterCallBackFP14JPABaseEmitter(JPAEmitterCallBack* this_, - JPABaseEmitter* param_0); -extern "C" int eventStart__17dEvLib_callback_cFv(void* this_); -extern "C" u8 func_80D23D6C(u8*); -extern "C" u32 func_80D23D88(u32*); -extern "C" static void func_80D23DA4(); -extern "C" static void func_80D23DAC(); -extern "C" static void func_80D23DB4(); -extern "C" static void func_80D23DBC(); -extern "C" extern char const* const d_a_obj_volcball__stringBase0; - -// -// External References: -// - -extern "C" void mDoMtx_YrotS__FPA4_fs(); -extern "C" void transS__14mDoMtx_stack_cFRC4cXyz(); -extern "C" void ZXYrotM__14mDoMtx_stack_cFRC5csXyz(); -extern "C" void mDoExt_modelUpdateDL__FP8J3DModel(); -extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void __dt__10fopAc_ac_cFv(); -extern "C" void fopAc_IsActor__FPv(); -extern "C" void fopAcIt_Judge__FPFPvPv_PvPv(); -extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl(); -extern "C" void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff(); -extern "C" void fopAcM_searchActorDistanceXZ__FPC10fopAc_ac_cPC10fopAc_ac_c(); -extern "C" void gndCheck__11fopAcM_gc_cFPC4cXyz(); -extern "C" void fpcSch_JudgeByID__FPvPv(); -extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfGp_getReverb__Fi(); -extern "C" void -dComIfGd_setShadow__FUlScP8J3DModelP4cXyzffffR13cBgS_PolyInfoP12dKy_tevstr_csfP9_GXTexObj(); -extern "C" void isSwitch__10dSv_info_cCFii(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void eventUpdate__17dEvLib_callback_cFv(); -extern "C" void orderEvent__17dEvLib_callback_cFiii(); -extern "C" void __ct__19dPa_followEcallBackFUcUc(); -extern "C" void -set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf(); -extern "C" void StartQuake__12dVibration_cFii4cXyz(); -extern "C" void StopQuake__12dVibration_cFi(); -extern "C" void CheckQuake__12dVibration_cFv(); -extern "C" void __ct__12dBgS_AcchCirFv(); -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 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_SphFRC11dCcD_SrcSph(); -extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void Set__4cCcSFP8cCcD_Obj(); -extern "C" void __pl__4cXyzCFRC3Vec(); -extern "C" void cM_atan2s__Fff(); -extern "C" void cM_rndF__Ff(); -extern "C" void cM_rndFX__Ff(); -extern "C" void __dt__13cBgS_PolyInfoFv(); -extern "C" void __dt__8cM3dGCirFv(); -extern "C" void SetC__8cM3dGSphFRC4cXyz(); -extern "C" void SetR__8cM3dGSphFf(); -extern "C" void cLib_chaseF__FPfff(); -extern "C" void __dt__18JPAEmitterCallBackFv(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void __dl__FPv(); -extern "C" void __destroy_arr(); -extern "C" void __construct_array(); -extern "C" void __ptmf_scall(); -extern "C" void __cvt_fp2unsigned(); -extern "C" void _savegpr_23(); -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_23(); -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 void* __vt__19dPa_followEcallBack[10]; -extern "C" extern void* __vt__8dCcD_Sph[36]; -extern "C" extern void* __vt__9dCcD_Stts[11]; -extern "C" extern void* __vt__12cCcD_SphAttr[25]; -extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; -extern "C" extern void* __vt__9cCcD_Stts[8]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" u8 sincosTable___5JMath[65536]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; -extern "C" extern u8 data_80D24100[4]; - -extern void* __vt__15daObjVolcBall_c[10]; -extern void* __vt__12dBgS_AcchCir[3]; -extern void* __vt__10cCcD_GStts[3]; -extern void* __vt__10dCcD_GStts[3]; -extern void* __vt__18dPa_levelEcallBack[9]; -extern void* __vt__12dBgS_ObjAcch[9]; -extern void* __vt__8cM3dGAab[3]; -extern void* __vt__8cM3dGSph[3]; -extern void* __vt__17dEvLib_callback_c[6]; // // Declarations: // /* 80D23E8C-80D23E98 000000 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */ -SECTION_DATA static u8 cNullVec__6Z2Calc[12] = { +static u8 cNullVec__6Z2Calc[12] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; /* 80D23E98-80D23EAC 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 */] = { +static u32 lit_1787[1 + 4 /* padding */] = { 0x02000201, /* padding */ 0x40080000, @@ -203,10 +29,9 @@ SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = { 0x3FE00000, 0x00000000, }; -#pragma pop /* 80D23EAC-80D23EB0 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */ -SECTION_DATA static const char* l_arcName = "M_Volcbal"; +static const char* l_arcName = "M_Volcbal"; /* 80D23EB0-80D23F58 000024 00A8+00 1/1 0/0 0/0 .data l_param */ static daObjVolcBall_c::volc_param_c l_param[] = { @@ -258,7 +83,6 @@ void daObjVolcBall_c::setBaseMtx() { MTXCopy(mDoMtx_stack_c::get(), field_0x28ec); } -/* ############################################################################################## */ /* 80D23DCC-80D23E0C 000000 0040+00 7/7 0/0 0/0 .rodata l_sph_src */ static const dCcD_SrcSph l_sph_src = { { @@ -275,33 +99,6 @@ static const dCcD_SrcSph l_sph_src = { } }; -/* 80D23E0C-80D23E10 000040 0004+00 2/6 0/0 0/0 .rodata @3715 */ -SECTION_RODATA static f32 const lit_3715 = 30.0f; -COMPILER_STRIP_GATE(0x80D23E0C, &lit_3715); - -/* 80D23E10-80D23E14 000044 0004+00 0/1 0/0 0/0 .rodata @3716 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3716 = -1000.0f; -COMPILER_STRIP_GATE(0x80D23E10, &lit_3716); -#pragma pop - -/* 80D23E14-80D23E18 000048 0004+00 4/8 0/0 0/0 .rodata @3717 */ -SECTION_RODATA static u8 const lit_3717[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80D23E14, &lit_3717); - -/* 80D23E18-80D23E1C 00004C 0004+00 0/1 0/0 0/0 .rodata @3718 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3718 = 1000.0f; -COMPILER_STRIP_GATE(0x80D23E18, &lit_3718); -#pragma pop - /* 80D21C40-80D21D80 0001A0 0140+00 1/1 0/0 0/0 .text Create__15daObjVolcBall_cFv */ int daObjVolcBall_c::Create() { initBaseMtx(); @@ -374,68 +171,6 @@ int daObjVolcBall_c::create() { return phase; } - -/* 80D21FA8-80D220C4 000508 011C+00 2/2 0/0 0/0 .text __dt__Q215daObjVolcBall_c7vball_sFv - */ -daObjVolcBall_c::vball_s::~vball_s() { - // NONMATCHING -} - -/* 80D220C4-80D22148 000624 0084+00 2/2 0/0 0/0 .text __dt__19dPa_followEcallBackFv */ -// dPa_followEcallBack::~dPa_followEcallBack() { -extern "C" void __dt__19dPa_followEcallBackFv() { - // NONMATCHING -} - -/* 80D22148-80D2214C 0006A8 0004+00 1/0 0/0 0/0 .text cleanup__18dPa_levelEcallBackFv */ -// void dPa_levelEcallBack::cleanup() { -extern "C" void cleanup__18dPa_levelEcallBackFv() { - /* empty function */ -} - -/* 80D2214C-80D22230 0006AC 00E4+00 1/1 0/0 0/0 .text __ct__Q215daObjVolcBall_c7vball_sFv - */ -daObjVolcBall_c::vball_s::vball_s() { - // NONMATCHING -} - -/* 80D22230-80D22258 000790 0028+00 1/1 0/0 0/0 .text __defctor__19dPa_followEcallBackFv - */ -// void dPa_followEcallBack::__defctor() { -extern "C" void __defctor__19dPa_followEcallBackFv() { - // NONMATCHING -} - -/* 80D22258-80D222A0 0007B8 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGSphFv */ -// cM3dGSph::~cM3dGSph() { -extern "C" void __dt__8cM3dGSphFv() { - // NONMATCHING -} - -/* 80D222A0-80D222E8 000800 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */ -// cM3dGAab::~cM3dGAab() { -extern "C" void __dt__8cM3dGAabFv() { - // NONMATCHING -} - -/* 80D222E8-80D22358 000848 0070+00 3/2 0/0 0/0 .text __dt__12dBgS_ObjAcchFv */ -// dBgS_ObjAcch::~dBgS_ObjAcch() { -extern "C" void __dt__12dBgS_ObjAcchFv() { - // NONMATCHING -} - -/* 80D22358-80D223B4 0008B8 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */ -// dCcD_GStts::~dCcD_GStts() { -extern "C" void __dt__10dCcD_GSttsFv() { - // NONMATCHING -} - -/* 80D223B4-80D22424 000914 0070+00 1/0 0/0 0/0 .text __dt__12dBgS_AcchCirFv */ -// dBgS_AcchCir::~dBgS_AcchCir() { -extern "C" void __dt__12dBgS_AcchCirFv() { - // NONMATCHING -} - /* 80D22424-80D22484 000984 0060+00 1/1 0/0 0/0 .text execute__15daObjVolcBall_cFv */ int daObjVolcBall_c::execute() { f32 ball_gravity = getData()->mGravity; @@ -477,21 +212,6 @@ void daObjVolcBall_c::initActionSwWait() { setAction(MODE_SWITCH_WAIT); } -/* ############################################################################################## */ -/* 80D23E1C-80D23E20 000050 0004+00 0/1 0/0 0/0 .rodata @3969 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3969 = 2500.0f; -COMPILER_STRIP_GATE(0x80D23E1C, &lit_3969); -#pragma pop - -/* 80D23E20-80D23E24 000054 0004+00 0/1 0/0 0/0 .rodata @3970 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3970 = 300.0f; -COMPILER_STRIP_GATE(0x80D23E20, &lit_3970); -#pragma pop - /* 80D225B0-80D2267C 000B10 00CC+00 1/0 0/0 0/0 .text actionPlayerWait__15daObjVolcBall_cFv */ void daObjVolcBall_c::actionPlayerWait() { daPy_py_c* player_p = daPy_getPlayerActorClass(); @@ -505,14 +225,12 @@ void daObjVolcBall_c::actionPlayerWait() { } } - /* 80D2267C-80D22724 000BDC 00A8+00 1/0 0/0 0/0 .text actionSwWait__15daObjVolcBall_cFv */ void daObjVolcBall_c::actionSwWait() { if (fopAcM_isSwitch(this, getSwBit())) { setAction(MODE_STOP); - mTime = getData()->mNormalWaitTime * FLOAT_LABEL(lit_3715) + - cM_rndFX(getData()->mRandWaitTime * FLOAT_LABEL(lit_3715)); + mTime = getData()->mNormalWaitTime * 30.0f + cM_rndFX(getData()->mRandWaitTime * 30.0f); } } @@ -522,25 +240,13 @@ void daObjVolcBall_c::actionStop() { setAction(MODE_SWITCH_WAIT); } - if (func_80D23D88(&mTime) == 0) { - mTime = getData()->mNormalWarningTime * FLOAT_LABEL(lit_3715) + - cM_rndFX(getData()->mRandWarningTime * FLOAT_LABEL(lit_3715)); + if (cLib_calcTimer(&mTime) == 0) { + mTime = getData()->mNormalWarningTime * 30.0f + + cM_rndFX(getData()->mRandWarningTime * 30.0f); initActionWarning(); } } -/* ############################################################################################## */ -/* 80D23E24-80D23E28 000058 0004+00 2/7 0/0 0/0 .rodata @4031 */ -SECTION_RODATA static f32 const lit_4031 = 1.0f; -COMPILER_STRIP_GATE(0x80D23E24, &lit_4031); - -/* 80D23E28-80D23E2C 00005C 0004+00 0/3 0/0 0/0 .rodata @4032 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4032 = -1.0f; -COMPILER_STRIP_GATE(0x80D23E28, &lit_4032); -#pragma pop - /* 80D227E4-80D22944 000D44 0160+00 1/0 0/0 0/0 .text actionWarning__15daObjVolcBall_cFv */ void daObjVolcBall_c::actionWarning() { @@ -555,10 +261,10 @@ void daObjVolcBall_c::actionWarning() { } } - if (func_80D23D88(&mTime) == 0) { + if (cLib_calcTimer(&mTime) == 0) { setAction(MODE_ERUPT); - mTime = getData()->mNormalEruptTime * FLOAT_LABEL(lit_3715) + - cM_rndFX(getData()->mRandEruptTime * FLOAT_LABEL(lit_3715)); + mTime = getData()->mNormalEruptTime * 30.0f + + cM_rndFX(getData()->mRandEruptTime * 30.0f); mSearchBallCreateTimer = getData()->mSearchBallCreateTime * 30; } @@ -567,39 +273,16 @@ void daObjVolcBall_c::actionWarning() { dComIfGp_getReverb(fopAcM_GetRoomNo(this))); } - -/* ############################################################################################## */ -/* 80D23E2C-80D23E34 000060 0004+04 0/1 0/0 0/0 .rodata @4095 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4095[1 + 1 /* padding */] = { - 100.0f, - /* padding */ - 0.0f, -}; -COMPILER_STRIP_GATE(0x80D23E2C, &lit_4095); -#pragma pop - -/* 80D23E34-80D23E3C 000068 0008+00 0/1 0/0 0/0 .rodata @4097 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4097[8] = { - 0x43, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80D23E34, &lit_4097); -#pragma pop - /* 80D22944-80D22C6C 000EA4 0328+00 1/0 0/0 0/0 .text actionEruption__15daObjVolcBall_cFv */ -// small regalloc / literals -#ifdef NONMATCHING +// NONMATCHING small regalloc void daObjVolcBall_c::actionEruption() { if (!dComIfGp_getVibration().CheckQuake()) { startQuake(); } daPy_py_c* player_p = daPy_getPlayerActorClass(); - u32 timer = func_80D23D88(&mTime); + u32 timer = cLib_calcTimer(&mTime); bool disable_ball_create = true; if (timer != 0) { @@ -614,11 +297,11 @@ void daObjVolcBall_c::actionEruption() { } if (!disable_ball_create) { - if (func_80D23D88(&mSearchBallCreateTimer) == 0) { + if (cLib_calcTimer(&mSearchBallCreateTimer) == 0) { createSearchBall(); } - if (func_80D23D6C(&mNormalBallCreateTimer) == 0) { + if (cLib_calcTimer(&mNormalBallCreateTimer) == 0) { createNormalBall(); } } @@ -649,8 +332,7 @@ void daObjVolcBall_c::actionEruption() { if (!executeBall() && disable_ball_create) { if (mIsBigVolc == 0) { setAction(MODE_STOP); - mTime = getData()->mNormalWaitTime * FLOAT_LABEL(lit_3715) + - cM_rndFX(getData()->mRandWaitTime * FLOAT_LABEL(lit_3715)); + mTime = getData()->mNormalWaitTime * 30.0f + cM_rndFX(getData()->mRandWaitTime * 30.0f); } else if (mIsBigVolc == 1) { initActionEnd(); } @@ -661,11 +343,6 @@ void daObjVolcBall_c::actionEruption() { mDoAud_seStartLevel(Z2SE_ENV_VOLCANO_SHAKE, NULL, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(this))); } -#else -void daObjVolcBall_c::actionEruption() { - // NONMATCHING -} -#endif /* 80D22C6C-80D22CD4 0011CC 0068+00 1/1 0/0 0/0 .text initActionEnd__15daObjVolcBall_cFv */ @@ -731,7 +408,7 @@ void daObjVolcBall_c::setEruptEffect(int i_ballNo) { for (int i = 0; i < 6; i++) { dComIfGp_particle_setColor(l_effect_id[i], &ball->field_0x4, &tevStr, NULL, NULL, - FLOAT_LABEL(lit_3717), 0xFF, NULL, &ball->field_0x1c, NULL, -1, + 0.0f, 0xFF, NULL, &ball->field_0x1c, NULL, -1, NULL); } } @@ -753,7 +430,7 @@ void daObjVolcBall_c::setFallEffect(int i_ballNo) { } dComIfGp_particle_setColor(l_fall_effect_id[i], &ball->field_0x4, &tevStr, NULL, NULL, - FLOAT_LABEL(lit_3717), 0xFF, &ball->field_0x34, &sp28, + 0.0f, 0xFF, &ball->field_0x34, &sp28, &ball->field_0x390[i], -1, NULL); } } @@ -799,22 +476,6 @@ bool daObjVolcBall_c::createSearchBall() { return var_r30; } - -/* ############################################################################################## */ -/* 80D23E50-80D23E54 000084 0004+00 0/1 0/0 0/0 .rodata @4279 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4279 = 32767.0f; -COMPILER_STRIP_GATE(0x80D23E50, &lit_4279); -#pragma pop - -/* 80D23E54-80D23E58 000088 0004+00 0/1 0/0 0/0 .rodata @4280 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4280 = 3000.0f; -COMPILER_STRIP_GATE(0x80D23E54, &lit_4280); -#pragma pop - /* 80D23188-80D23438 0016E8 02B0+00 1/1 0/0 0/0 .text createNormalBall__15daObjVolcBall_cFv */ bool daObjVolcBall_c::createNormalBall() { daPy_py_c* player_p = daPy_getPlayerActorClass(); @@ -875,56 +536,7 @@ bool daObjVolcBall_c::createNormalBall() { return bvar; } - -/* ############################################################################################## */ -/* 80D23E58-80D23E5C 00008C 0004+00 0/1 0/0 0/0 .rodata @4407 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4407 = 1.0f / 10.0f; -COMPILER_STRIP_GATE(0x80D23E58, &lit_4407); -#pragma pop - -/* 80D23E5C-80D23E64 000090 0004+04 0/1 0/0 0/0 .rodata @4408 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4408[1 + 1 /* padding */] = { - -1000000000.0f, - /* padding */ - 0.0f, -}; -COMPILER_STRIP_GATE(0x80D23E5C, &lit_4408); -#pragma pop - -/* 80D23E64-80D23E6C 000098 0008+00 0/1 0/0 0/0 .rodata @4409 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4409[8] = { - 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80D23E64, &lit_4409); -#pragma pop - -/* 80D23E6C-80D23E74 0000A0 0008+00 0/1 0/0 0/0 .rodata @4410 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4410[8] = { - 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80D23E6C, &lit_4410); -#pragma pop - -/* 80D23E74-80D23E7C 0000A8 0008+00 0/1 0/0 0/0 .rodata @4411 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4411[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80D23E74, &lit_4411); -#pragma pop - /* 80D23438-80D23868 001998 0430+00 1/1 0/0 0/0 .text executeBall__15daObjVolcBall_cFv */ -// literals -#ifdef NONMATCHING int daObjVolcBall_c::executeBall() { int ret = 0; vball_s* ball = mBall; @@ -947,8 +559,8 @@ int daObjVolcBall_c::executeBall() { if (i != 8) { cLib_chaseF(&ball->field_0x28.x, ball->field_0x1c.x, 0.1f); - cLib_chaseF(&ball->field_0x28.x, ball->field_0x1c.x, 0.1f); - cLib_chaseF(&ball->field_0x28.x, ball->field_0x1c.x, 0.1f); + cLib_chaseF(&ball->field_0x28.y, ball->field_0x1c.y, 0.1f); + cLib_chaseF(&ball->field_0x28.z, ball->field_0x1c.z, 0.1f); } mDoMtx_stack_c::transS(ball->field_0x4); @@ -987,11 +599,6 @@ int daObjVolcBall_c::executeBall() { return ret; } -#else -int daObjVolcBall_c::executeBall() { - // NONMATCHING -} -#endif /* 80D23868-80D23904 001DC8 009C+00 3/3 0/0 0/0 .text startQuake__15daObjVolcBall_cFv */ void daObjVolcBall_c::startQuake() { @@ -1002,15 +609,6 @@ void daObjVolcBall_c::startQuake() { } } - -/* ############################################################################################## */ -/* 80D23E7C-80D23E80 0000B0 0004+00 0/1 0/0 0/0 .rodata @4447 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4447 = 2000.0f; -COMPILER_STRIP_GATE(0x80D23E7C, &lit_4447); -#pragma pop - /* 80D23904-80D23A0C 001E64 0108+00 1/1 0/0 0/0 .text draw__15daObjVolcBall_cFv */ int daObjVolcBall_c::draw() { g_env_light.settingTevStruct(0, ¤t.pos, &tevStr); @@ -1040,7 +638,6 @@ int daObjVolcBall_c::draw() { return 1; } - /* 80D23A0C-80D23AA4 001F6C 0098+00 1/1 0/0 0/0 .text _delete__15daObjVolcBall_cFv */ int daObjVolcBall_c::_delete() { dComIfG_resDelete(&mPhase, l_arcName); @@ -1079,11 +676,11 @@ static int daObjVolcBall_Create(fopAc_ac_c* i_this) { /* 80D23FE8-80D24008 -00001 0020+00 1/0 0/0 0/0 .data l_daObjVolcBall_Method */ static actor_method_class l_daObjVolcBall_Method = { - (process_method_func)daObjVolcBall_Create__FP10fopAc_ac_c, - (process_method_func)daObjVolcBall_Delete__FP15daObjVolcBall_c, - (process_method_func)daObjVolcBall_Execute__FP15daObjVolcBall_c, - 0, - (process_method_func)daObjVolcBall_Draw__FP15daObjVolcBall_c, + (process_method_func)daObjVolcBall_Create, + (process_method_func)daObjVolcBall_Delete, + (process_method_func)daObjVolcBall_Execute, + NULL, + (process_method_func)daObjVolcBall_Draw, }; /* 80D24008-80D24038 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_VolcanicBall */ @@ -1103,195 +700,3 @@ extern actor_process_profile_definition g_profile_Obj_VolcanicBall = { fopAc_ACTOR_e, // mActorType fopAc_CULLBOX_CUSTOM_e, // cullType }; - -/* 80D24038-80D24060 0001AC 0028+00 2/2 0/0 0/0 .data __vt__15daObjVolcBall_c */ -SECTION_DATA extern void* __vt__15daObjVolcBall_c[10] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)func_80D23DBC, - (void*)func_80D23DB4, - (void*)eventRun__17dEvLib_callback_cFv, - (void*)eventEnd__17dEvLib_callback_cFv, - (void*)eventStart__15daObjVolcBall_cFv, - (void*)__dt__15daObjVolcBall_cFv, -}; - -/* 80D24060-80D2406C 0001D4 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, -}; - -/* 80D2406C-80D24078 0001E0 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, -}; - -/* 80D24078-80D24084 0001EC 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, -}; - -/* 80D24084-80D240A8 0001F8 0024+00 2/2 0/0 0/0 .data __vt__18dPa_levelEcallBack */ -SECTION_DATA extern void* __vt__18dPa_levelEcallBack[9] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__18dPa_levelEcallBackFv, - (void*)execute__18JPAEmitterCallBackFP14JPABaseEmitter, - (void*)executeAfter__18JPAEmitterCallBackFP14JPABaseEmitter, - (void*)draw__18JPAEmitterCallBackFP14JPABaseEmitter, - (void*)drawAfter__18JPAEmitterCallBackFP14JPABaseEmitter, - (void*)NULL, - (void*)cleanup__18dPa_levelEcallBackFv, -}; - -/* 80D240A8-80D240CC 00021C 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_80D23DAC, - (void*)NULL, - (void*)NULL, - (void*)func_80D23DA4, -}; - -/* 80D240CC-80D240D8 000240 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, -}; - -/* 80D240D8-80D240E4 00024C 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGSph */ -SECTION_DATA extern void* __vt__8cM3dGSph[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGSphFv, -}; - -/* 80D240E4-80D240FC 000258 0018+00 3/3 0/0 0/0 .data __vt__17dEvLib_callback_c */ -SECTION_DATA extern void* __vt__17dEvLib_callback_c[6] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__17dEvLib_callback_cFv, - (void*)eventStart__17dEvLib_callback_cFv, - (void*)eventRun__17dEvLib_callback_cFv, - (void*)eventEnd__17dEvLib_callback_cFv, -}; - -/* 80D23B24-80D23C40 002084 011C+00 2/1 0/0 0/0 .text __dt__15daObjVolcBall_cFv */ -// daObjVolcBall_c::~daObjVolcBall_c() { -extern "C" void __dt__15daObjVolcBall_cFv() { - // NONMATCHING -} - -/* 80D23C40-80D23C88 0021A0 0048+00 1/0 0/0 0/0 .text __dt__17dEvLib_callback_cFv */ -// dEvLib_callback_c::~dEvLib_callback_c() { -extern "C" void __dt__17dEvLib_callback_cFv() { - // NONMATCHING -} - -/* 80D23C88-80D23C90 0021E8 0008+00 2/0 0/0 0/0 .text eventRun__17dEvLib_callback_cFv */ -// int dEvLib_callback_c::eventRun() { -extern "C" int eventRun__17dEvLib_callback_cFv(void* this_) { - return true; -} - -/* 80D23C90-80D23C98 0021F0 0008+00 2/0 0/0 0/0 .text eventEnd__17dEvLib_callback_cFv */ -// int dEvLib_callback_c::eventEnd() { -extern "C" int eventEnd__17dEvLib_callback_cFv(void* this_) { - return true; -} - -/* 80D23C98-80D23CE0 0021F8 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */ -// cCcD_GStts::~cCcD_GStts() { -extern "C" void __dt__10cCcD_GSttsFv() { - // NONMATCHING -} - -/* 80D23CE0-80D23D54 002240 0074+00 1/0 0/0 0/0 .text __dt__18dPa_levelEcallBackFv */ -// dPa_levelEcallBack::~dPa_levelEcallBack() { -extern "C" void __dt__18dPa_levelEcallBackFv() { - // NONMATCHING -} - -/* 80D23D54-80D23D58 0022B4 0004+00 1/0 0/0 0/0 .text - * execute__18JPAEmitterCallBackFP14JPABaseEmitter */ -// void JPAEmitterCallBack::execute(JPABaseEmitter* param_0) { -extern "C" void execute__18JPAEmitterCallBackFP14JPABaseEmitter(JPAEmitterCallBack* this_, - JPABaseEmitter* param_0) { - /* empty function */ -} - -/* 80D23D58-80D23D5C 0022B8 0004+00 1/0 0/0 0/0 .text - * executeAfter__18JPAEmitterCallBackFP14JPABaseEmitter */ -// void JPAEmitterCallBack::executeAfter(JPABaseEmitter* param_0) { -extern "C" void executeAfter__18JPAEmitterCallBackFP14JPABaseEmitter(JPAEmitterCallBack* this_, - JPABaseEmitter* param_0) { - /* empty function */ -} - -/* 80D23D5C-80D23D60 0022BC 0004+00 1/0 0/0 0/0 .text draw__18JPAEmitterCallBackFP14JPABaseEmitter - */ -// void JPAEmitterCallBack::draw(JPABaseEmitter* param_0) { -extern "C" void draw__18JPAEmitterCallBackFP14JPABaseEmitter(JPAEmitterCallBack* this_, - JPABaseEmitter* param_0) { - /* empty function */ -} - -/* 80D23D60-80D23D64 0022C0 0004+00 1/0 0/0 0/0 .text - * drawAfter__18JPAEmitterCallBackFP14JPABaseEmitter */ -// void JPAEmitterCallBack::drawAfter(JPABaseEmitter* param_0) { -extern "C" void drawAfter__18JPAEmitterCallBackFP14JPABaseEmitter(JPAEmitterCallBack* this_, - JPABaseEmitter* param_0) { - /* empty function */ -} - -/* 80D23D64-80D23D6C 0022C4 0008+00 1/0 0/0 0/0 .text eventStart__17dEvLib_callback_cFv - */ -// bool dEvLib_callback_c::eventStart()() { -extern "C" int eventStart__17dEvLib_callback_cFv(void* this_) { - return true; -} - -/* 80D23D6C-80D23D88 0022CC 001C+00 1/1 0/0 0/0 .text cLib_calcTimer__FPUc */ -extern "C" u8 func_80D23D6C(u8* param_0) { - // NONMATCHING -} - -/* 80D23D88-80D23DA4 0022E8 001C+00 3/3 0/0 0/0 .text cLib_calcTimer
    __FPUl */ -extern "C" u32 func_80D23D88(u32* param_0) { - // NONMATCHING -} - -/* 80D23DA4-80D23DAC 002304 0008+00 1/0 0/0 0/0 .text @36@__dt__12dBgS_ObjAcchFv */ -static void func_80D23DA4() { - // NONMATCHING -} - -/* 80D23DAC-80D23DB4 00230C 0008+00 1/0 0/0 0/0 .text @20@__dt__12dBgS_ObjAcchFv */ -static void func_80D23DAC() { - // NONMATCHING -} - -/* 80D23DB4-80D23DBC 002314 0008+00 1/0 0/0 0/0 .text @1384@eventStart__15daObjVolcBall_cFv */ -static void func_80D23DB4() { - // NONMATCHING -} - -/* 80D23DBC-80D23DC4 00231C 0008+00 1/0 0/0 0/0 .text @1384@__dt__15daObjVolcBall_cFv */ -static void func_80D23DBC() { - // NONMATCHING -} - -/* 80D23E80-80D23E80 0000B4 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file diff --git a/src/d/actor/d_a_obj_wchain.cpp b/src/d/actor/d_a_obj_wchain.cpp index 1ccb2c6c2f..ee3d7987c7 100644 --- a/src/d/actor/d_a_obj_wchain.cpp +++ b/src/d/actor/d_a_obj_wchain.cpp @@ -7,105 +7,14 @@ #include "d/d_com_inf_game.h" #include "d/actor/d_a_player.h" #include "d/d_procname.h" -#include "dol2asm.h" #include "SSystem/SComponent/c_math.h" #include "JSystem/J3DGraphBase/J3DMaterial.h" - -// -// Forward References: -// - -extern "C" void createHeap__13daObjWchain_cFv(); -extern "C" static void daObjWchain_createHeap__FP10fopAc_ac_c(); -extern "C" void create__13daObjWchain_cFv(); -extern "C" void __dt__5csXyzFv(); -extern "C" void __ct__5csXyzFv(); -extern "C" void __ct__4cXyzFv(); -extern "C" void __dt__4cXyzFv(); -extern "C" static void daObjWchain_Create__FP10fopAc_ac_c(); -extern "C" void __dt__13daObjWchain_cFv(); -extern "C" static void daObjWchain_Delete__FP13daObjWchain_c(); -extern "C" void setMatrix__13daObjWchain_cFv(); -extern "C" void getChainAngleZ__13daObjWchain_cFP4cXyzi(); -extern "C" void setChainPos__13daObjWchain_cFv(); -extern "C" void execute__13daObjWchain_cFv(); -extern "C" static void daObjWchain_Execute__FP13daObjWchain_c(); -extern "C" void draw__19daObjWchain_shape_cFv(); -extern "C" void draw__13daObjWchain_cFv(); -extern "C" static void daObjWchain_Draw__FP13daObjWchain_c(); -extern "C" void __dt__19daObjWchain_shape_cFv(); - -// -// External References: -// - -extern "C" void mDoMtx_ZXYrotM__FPA4_fsss(); -extern "C" void mDoMtx_YrotS__FPA4_fs(); -extern "C" void mDoMtx_ZrotM__FPA4_fs(); -extern "C" void transM__14mDoMtx_stack_cFfff(); -extern "C" void transM__14mDoMtx_stack_cFRC4cXyz(); -extern "C" void ZXYrotM__14mDoMtx_stack_cFRC5csXyz(); -extern "C" void mDoExt_modelUpdateDL__FP8J3DModel(); -extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void __dt__10fopAc_ac_cFv(); -extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl(); -extern "C" void fopAcM_SetMin__FP10fopAc_ac_cfff(); -extern "C" void fopAcM_SetMax__FP10fopAc_ac_cfff(); -extern "C" void roofCheck__11fopAcM_rc_cFPC4cXyz(); -extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfGp_getReverb__Fi(); -extern "C" void onSwitch__10dSv_info_cFii(); -extern "C" void offSwitch__10dSv_info_cFii(); -extern "C" void isSwitch__10dSv_info_cCFii(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void dKy_setLight_again__Fv(); -extern "C" void dKy_GxFog_tevstr_set__FP12dKy_tevstr_c(); -extern "C" void __pl__4cXyzCFRC3Vec(); -extern "C" void __mi__4cXyzCFRC3Vec(); -extern "C" void __ml__4cXyzCFf(); -extern "C" void normalizeZP__4cXyzFv(); -extern "C" void atan2sY_XZ__4cXyzCFv(); -extern "C" void __ct__5csXyzFsss(); -extern "C" void cM_rad2s__Ff(); -extern "C" void cM_atan2s__Fff(); -extern "C" void cM_rnd__Fv(); -extern "C" void cM_rndF__Ff(); -extern "C" void cM_rndFX__Ff(); -extern "C" void cLib_chaseF__FPfff(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void __dl__FPv(); -extern "C" bool entry__9J3DPacketFP13J3DDrawBuffer(); -extern "C" void loadPreDrawSetting__8J3DShapeCFv(); -extern "C" void entryImm__13J3DDrawBufferFP9J3DPacketUs(); -extern "C" void __destroy_arr(); -extern "C" void __construct_array(); -extern "C" void _savegpr_20(); -extern "C" void _savegpr_22(); -extern "C" void _restgpr_20(); -extern "C" void _restgpr_22(); -extern "C" extern void* __vt__9J3DPacket[5]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" f32 Zero__4cXyz[3]; -extern "C" u8 sincosTable___5JMath[65536]; -extern "C" f32 mRoofY__11fopAcM_rc_c; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; -extern "C" u8 sOldVcdVatCmd__8J3DShape[4]; - -// -// Declarations: -// +#include "JSystem/J3DGraphBase/J3DDrawBuffer.h" /* 80D31924-80D3192C 000000 0007+01 8/8 0/0 0/0 .rodata l_arcName */ static char const l_arcName[7] = "Wchain"; /* 80D2FEF8-80D2FF9C 000078 00A4+00 1/1 0/0 0/0 .text createHeap__13daObjWchain_cFv */ -#ifdef NONMATCHING -// matches once daObjWchain_shape_c inheritance is resolved int daObjWchain_c::createHeap() { J3DModelData* handle_model_data = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 4); mpHandleModel = mDoExt_J3DModel__create(handle_model_data, 0x80000, 0x11000084); @@ -116,169 +25,13 @@ int daObjWchain_c::createHeap() { mShape.setUserArea((u32)this); return 1; } -#else -int daObjWchain_c::createHeap() { - // NONMATCHING -} -#endif /* 80D2FF9C-80D2FFBC 00011C 0020+00 1/1 0/0 0/0 .text daObjWchain_createHeap__FP10fopAc_ac_c */ static int daObjWchain_createHeap(fopAc_ac_c* i_this) { return static_cast(i_this)->createHeap(); } -/* ############################################################################################## */ -/* 80D3192C-80D31930 000008 0004+00 0/1 0/0 0/0 .rodata @3744 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3744 = -200.0f; -COMPILER_STRIP_GATE(0x80D3192C, &lit_3744); -#pragma pop - -/* 80D31930-80D31934 00000C 0004+00 0/1 0/0 0/0 .rodata @3745 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3745 = -45.0f; -COMPILER_STRIP_GATE(0x80D31930, &lit_3745); -#pragma pop - -/* 80D31934-80D31938 000010 0004+00 0/1 0/0 0/0 .rodata @3746 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3746 = 200.0f; -COMPILER_STRIP_GATE(0x80D31934, &lit_3746); -#pragma pop - -/* 80D31938-80D3193C 000014 0004+00 0/1 0/0 0/0 .rodata @3747 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3747 = 800.0f; -COMPILER_STRIP_GATE(0x80D31938, &lit_3747); -#pragma pop - -/* 80D3193C-80D31940 000018 0004+00 0/2 0/0 0/0 .rodata @3748 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3748 = 53.75f; -COMPILER_STRIP_GATE(0x80D3193C, &lit_3748); -#pragma pop - -/* 80D31940-80D31944 00001C 0004+00 0/1 0/0 0/0 .rodata @3749 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3749 = 280.0f; -COMPILER_STRIP_GATE(0x80D31940, &lit_3749); -#pragma pop - -/* 80D31944-80D31948 000020 0004+00 0/2 0/0 0/0 .rodata @3750 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3750 = 100.0f; -COMPILER_STRIP_GATE(0x80D31944, &lit_3750); -#pragma pop - -/* 80D31948-80D3194C 000024 0004+00 0/2 0/0 0/0 .rodata @3751 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3751 = 250.0f; -COMPILER_STRIP_GATE(0x80D31948, &lit_3751); -#pragma pop - -/* 80D3194C-80D31950 000028 0004+00 0/2 0/0 0/0 .rodata @3752 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3752 = 600.0f; -COMPILER_STRIP_GATE(0x80D3194C, &lit_3752); -#pragma pop - -/* 80D31950-80D31954 00002C 0004+00 0/5 0/0 0/0 .rodata @3753 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3753[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80D31950, &lit_3753); -#pragma pop - -/* 80D31954-80D31958 000030 0004+00 0/1 0/0 0/0 .rodata @3754 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3754 = -7.0f; -COMPILER_STRIP_GATE(0x80D31954, &lit_3754); -#pragma pop - -/* 80D31958-80D3195C 000034 0004+00 0/1 0/0 0/0 .rodata @3755 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3755 = 16384.0f; -COMPILER_STRIP_GATE(0x80D31958, &lit_3755); -#pragma pop - -/* 80D3195C-80D31960 000038 0004+00 0/1 0/0 0/0 .rodata @3756 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3756 = 2048.0f; -COMPILER_STRIP_GATE(0x80D3195C, &lit_3756); -#pragma pop - -/* 80D31960-80D31964 00003C 0004+00 0/3 0/0 0/0 .rodata @3757 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3757 = 17.5f; -COMPILER_STRIP_GATE(0x80D31960, &lit_3757); -#pragma pop - -/* 80D31964-80D3196C 000040 0008+00 0/2 0/0 0/0 .rodata @3759 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3759[8] = { - 0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80D31964, &lit_3759); -#pragma pop - -/* 80D319E4-80D31A04 -00001 0020+00 1/0 0/0 0/0 .data l_daObjWchain_Method */ -static actor_method_class l_daObjWchain_Method = { - (process_method_func)daObjWchain_Create__FP10fopAc_ac_c, - (process_method_func)daObjWchain_Delete__FP13daObjWchain_c, - (process_method_func)daObjWchain_Execute__FP13daObjWchain_c, - 0, - (process_method_func)daObjWchain_Draw__FP13daObjWchain_c, -}; - -/* 80D31A04-80D31A34 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Wchain */ -extern actor_process_profile_definition g_profile_Obj_Wchain = { - fpcLy_CURRENT_e, // mLayerID - 7, // mListID - fpcPi_CURRENT_e, // mListPrio - PROC_Obj_Wchain, // mProcName - &g_fpcLf_Method.mBase, // sub_method - 0x000007BC, // mSize - 0, // mSizeOther - 0, // mParameters - &g_fopAc_Method.base, // sub_method - 247, // mPriority - &l_daObjWchain_Method, // sub_method - 0x00060100, // mStatus - fopAc_ENV_e, // mActorType - fopAc_CULLBOX_CUSTOM_e, // cullType -}; - -/* 80D31A34-80D31A48 000050 0014+00 3/3 0/0 0/0 .data __vt__19daObjWchain_shape_c */ -SECTION_DATA extern void* __vt__19daObjWchain_shape_c[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)entry__9J3DPacketFP13J3DDrawBuffer, - (void*)draw__19daObjWchain_shape_cFv, - (void*)__dt__19daObjWchain_shape_cFv, -}; - /* 80D2FFBC-80D30394 00013C 03D8+00 1/1 0/0 0/0 .text create__13daObjWchain_cFv */ -#ifdef NONMATCHING -// matches once daObjWchain_shape_c inheritance is resolved cPhs__Step daObjWchain_c::create() { fopAcM_SetupActor(this, daObjWchain_c); mSw = fopAcM_GetParam(this) & 0xff; @@ -330,35 +83,6 @@ cPhs__Step daObjWchain_c::create() { } return step; } -#else -cPhs__Step daObjWchain_c::create() { - // NONMATCHING -} -#endif - -/* 80D30394-80D303D0 000514 003C+00 2/2 0/0 0/0 .text __dt__5csXyzFv */ -// csXyz::~csXyz() { -extern "C" void __dt__5csXyzFv() { - // NONMATCHING -} - -/* 80D303D0-80D303D4 000550 0004+00 1/1 0/0 0/0 .text __ct__5csXyzFv */ -// csXyz::csXyz() { -extern "C" void __ct__5csXyzFv() { - /* empty function */ -} - -/* 80D303D4-80D303D8 000554 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -// cXyz::cXyz() { -extern "C" void __ct__4cXyzFv() { - /* empty function */ -} - -/* 80D303D8-80D30414 000558 003C+00 2/2 0/0 0/0 .text __dt__4cXyzFv */ -// cXyz::~cXyz() { -extern "C" void __dt__4cXyzFv() { - // NONMATCHING -} /* 80D30414-80D30434 000594 0020+00 1/0 0/0 0/0 .text daObjWchain_Create__FP10fopAc_ac_c */ @@ -367,16 +91,9 @@ static cPhs__Step daObjWchain_Create(fopAc_ac_c* i_this) { } /* 80D30434-80D3050C 0005B4 00D8+00 1/1 0/0 0/0 .text __dt__13daObjWchain_cFv */ -#ifdef NONMATCHING -// matches once daObjWchain_shape_c inheritance is resolved daObjWchain_c::~daObjWchain_c() { dComIfG_resDelete(&mPhaseReq, l_arcName); } -#else -daObjWchain_c::~daObjWchain_c() { - // NONMATCHING -} -#endif /* 80D3050C-80D30534 00068C 0028+00 1/0 0/0 0/0 .text daObjWchain_Delete__FP13daObjWchain_c */ static int daObjWchain_Delete(daObjWchain_c* i_this) { @@ -384,23 +101,6 @@ static int daObjWchain_Delete(daObjWchain_c* i_this) { return 1; } -/* ############################################################################################## */ -/* 80D3196C-80D31978 000048 000C+00 0/1 0/0 0/0 .rodata eyeOffset$3803 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const eyeOffset[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x57, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80D3196C, &eyeOffset); -#pragma pop - -/* 80D31978-80D3197C 000054 0004+00 0/2 0/0 0/0 .rodata @3819 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3819 = 8.75f; -COMPILER_STRIP_GATE(0x80D31978, &lit_3819); -#pragma pop - /* 80D30534-80D305E4 0006B4 00B0+00 2/2 0/0 0/0 .text setMatrix__13daObjWchain_cFv */ void daObjWchain_c::setMatrix() { mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z); @@ -412,49 +112,6 @@ void daObjWchain_c::setMatrix() { mDoMtx_stack_c::multVec(&eyeOffset, &eyePos); } - -/* ############################################################################################## */ -/* 80D3197C-80D31984 000058 0008+00 0/2 0/0 0/0 .rodata @3863 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3863[8] = { - 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80D3197C, &lit_3863); -#pragma pop - -/* 80D31984-80D3198C 000060 0008+00 0/2 0/0 0/0 .rodata @3864 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3864[8] = { - 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80D31984, &lit_3864); -#pragma pop - -/* 80D3198C-80D31994 000068 0008+00 0/2 0/0 0/0 .rodata @3865 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3865[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80D3198C, &lit_3865); -#pragma pop - -/* 80D31994-80D31998 000070 0004+00 0/1 0/0 0/0 .rodata @3866 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3866 = 512.0f; -COMPILER_STRIP_GATE(0x80D31994, &lit_3866); -#pragma pop - -/* 80D31998-80D3199C 000074 0004+00 0/2 0/0 0/0 .rodata @3867 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3867 = 0.5f; -COMPILER_STRIP_GATE(0x80D31998, &lit_3867); -#pragma pop - /* 80D305E4-80D3080C 000764 0228+00 1/1 0/0 0/0 .text getChainAngleZ__13daObjWchain_cFP4cXyzi */ s16 daObjWchain_c::getChainAngleZ(cXyz* param_0, int param_1) { cXyz vec(param_0->x, 0.0f, param_0->z); @@ -470,85 +127,8 @@ s16 daObjWchain_c::getChainAngleZ(cXyz* param_0, int param_1) { } } - -/* ############################################################################################## */ -/* 80D3199C-80D319A8 000078 000C+00 0/1 0/0 0/0 .rodata currentOffset$3872 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const currentOffset[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC2, 0x57, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80D3199C, ¤tOffset); -#pragma pop - -/* 80D319A8-80D319B4 000084 000C+00 0/1 0/0 0/0 .rodata chainOffset$3873 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const chainOffset[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x8C, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80D319A8, &chainOffset); -#pragma pop - -/* 80D319B4-80D319B8 000090 0004+00 0/1 0/0 0/0 .rodata @4154 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4154 = 0.75f; -COMPILER_STRIP_GATE(0x80D319B4, &lit_4154); -#pragma pop - -/* 80D319B8-80D319BC 000094 0004+00 0/2 0/0 0/0 .rodata @4155 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4155 = 1.0f; -COMPILER_STRIP_GATE(0x80D319B8, &lit_4155); -#pragma pop - -/* 80D319BC-80D319C0 000098 0004+00 0/1 0/0 0/0 .rodata @4156 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4156 = 5.0f; -COMPILER_STRIP_GATE(0x80D319BC, &lit_4156); -#pragma pop - -/* 80D319C0-80D319C4 00009C 0004+00 0/1 0/0 0/0 .rodata @4157 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4157 = 30.0f; -COMPILER_STRIP_GATE(0x80D319C0, &lit_4157); -#pragma pop - -/* 80D319C4-80D319C8 0000A0 0004+00 0/1 0/0 0/0 .rodata @4158 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4158 = 2.0f / 35.0f; -COMPILER_STRIP_GATE(0x80D319C4, &lit_4158); -#pragma pop - -/* 80D319C8-80D319CC 0000A4 0004+00 0/1 0/0 0/0 .rodata @4159 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4159 = 1.0f / 5.0f; -COMPILER_STRIP_GATE(0x80D319C8, &lit_4159); -#pragma pop - -/* 80D319CC-80D319D0 0000A8 0004+00 0/1 0/0 0/0 .rodata @4160 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_4160 = 0x40C90FDB; -COMPILER_STRIP_GATE(0x80D319CC, &lit_4160); -#pragma pop - -/* 80D319D0-80D319D4 0000AC 0004+00 0/1 0/0 0/0 .rodata @4161 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4161 = 1.0f / 25.0f; -COMPILER_STRIP_GATE(0x80D319D0, &lit_4161); -#pragma pop - /* 80D3080C-80D310AC 00098C 08A0+00 1/1 0/0 0/0 .text setChainPos__13daObjWchain_cFv */ -#ifdef NONMATCHING -// regalloc, instruction ordering +// NONMATCHING regalloc, instruction ordering void daObjWchain_c::setChainPos() { cXyz prev_pos, vec1; if (mRide) { @@ -659,33 +239,6 @@ void daObjWchain_c::setChainPos() { mHandleRotation = cM_atan2s(vec1.x, JMAFastSqrt(vec1.y * vec1.y + vec1.z * vec1.z)); } } -#else -void daObjWchain_c::setChainPos() { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ -/* 80D319D4-80D319D8 0000B0 0004+00 0/1 0/0 0/0 .rodata @4252 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4252 = -1.0f; -COMPILER_STRIP_GATE(0x80D319D4, &lit_4252); -#pragma pop - -/* 80D319D8-80D319DC 0000B4 0004+00 0/1 0/0 0/0 .rodata @4253 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4253 = 1.0f / 10.0f; -COMPILER_STRIP_GATE(0x80D319D8, &lit_4253); -#pragma pop - -/* 80D319DC-80D319E0 0000B8 0004+00 0/1 0/0 0/0 .rodata @4254 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4254 = 15.0f; -COMPILER_STRIP_GATE(0x80D319DC, &lit_4254); -#pragma pop /* 80D310AC-80D313F8 00122C 034C+00 1/1 0/0 0/0 .text execute__13daObjWchain_cFv */ int daObjWchain_c::execute() { @@ -748,14 +301,6 @@ static int daObjWchain_Execute(daObjWchain_c* i_this) { return i_this->execute(); } -/* ############################################################################################## */ -/* 80D319E0-80D319E4 0000BC 0004+00 0/1 0/0 0/0 .rodata @4364 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4364 = -8.75f; -COMPILER_STRIP_GATE(0x80D319E0, &lit_4364); -#pragma pop - /* 80D31418-80D31810 001598 03F8+00 1/0 0/0 0/0 .text draw__19daObjWchain_shape_cFv */ void daObjWchain_shape_c::draw() { daObjWchain_c* chain = (daObjWchain_c*)getUserArea(); @@ -816,8 +361,6 @@ void daObjWchain_shape_c::draw() { /* 80D31810-80D318A0 001990 0090+00 1/1 0/0 0/0 .text draw__13daObjWchain_cFv */ -#ifdef NONMATCHING -// matches once daObjWchain_shape_c inheritance is resolved int daObjWchain_c::draw() { g_env_light.settingTevStruct(0, ¤t.pos, &tevStr); g_env_light.setLightTevColorType_MAJI(mpHandleModel, &tevStr); @@ -826,14 +369,36 @@ int daObjWchain_c::draw() { dComIfGd_getOpaList()->entryImm(&mShape, 0); return 1; } -#else -int daObjWchain_c::draw() { - // NONMATCHING -} -#endif /* 80D318A0-80D318C0 001A20 0020+00 1/0 0/0 0/0 .text daObjWchain_Draw__FP13daObjWchain_c */ static int daObjWchain_Draw(daObjWchain_c* i_this) { return i_this->draw(); } + +/* 80D319E4-80D31A04 -00001 0020+00 1/0 0/0 0/0 .data l_daObjWchain_Method */ +static actor_method_class l_daObjWchain_Method = { + (process_method_func)daObjWchain_Create, + (process_method_func)daObjWchain_Delete, + (process_method_func)daObjWchain_Execute, + NULL, + (process_method_func)daObjWchain_Draw, +}; + +/* 80D31A04-80D31A34 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Wchain */ +extern actor_process_profile_definition g_profile_Obj_Wchain = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_Obj_Wchain, // mProcName + &g_fpcLf_Method.mBase, // sub_method + 0x000007BC, // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 247, // mPriority + &l_daObjWchain_Method, // sub_method + 0x00060100, // mStatus + fopAc_ENV_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType +}; diff --git a/src/d/actor/d_a_obj_zraMark.cpp b/src/d/actor/d_a_obj_zraMark.cpp index 5cc7a40a54..c46397300b 100644 --- a/src/d/actor/d_a_obj_zraMark.cpp +++ b/src/d/actor/d_a_obj_zraMark.cpp @@ -7,115 +7,13 @@ #include "SSystem/SComponent/c_lib.h" #include "SSystem/SComponent/c_math.h" #include "d/d_meter2_info.h" -#include "dol2asm.h" #include "d/actor/d_a_npc_hoz.h" #include "d/actor/d_a_npc_zra.h" -// -// Forward References: -// - -extern "C" static void createSolidHeap__FP10fopAc_ac_c(); -extern "C" void Create__14daObjZraMark_cFv(); -extern "C" void CreateHeap__14daObjZraMark_cFv(); -extern "C" void Execute__14daObjZraMark_cFv(); -extern "C" void Draw__14daObjZraMark_cFv(); -extern "C" void Delete__14daObjZraMark_cFv(); -extern "C" void getType__14daObjZraMark_cFv(); -extern "C" void setBaseMtx__14daObjZraMark_cFv(); -extern "C" void col_init__14daObjZraMark_cFv(); -extern "C" void col_set__14daObjZraMark_cFv(); -extern "C" void schHoz__14daObjZraMark_cFv(); -extern "C" void entryPointer__14daObjZraMark_cFP10fopAc_ac_c(); -extern "C" void informBlast__14daObjZraMark_cFv(); -extern "C" static void daObjZraMark_Execute__FP14daObjZraMark_c(); -extern "C" static void daObjZraMark_Draw__FP14daObjZraMark_c(); -extern "C" static bool daObjZraMark_IsDelete__FP14daObjZraMark_c(); -extern "C" static void daObjZraMark_Delete__FP14daObjZraMark_c(); -extern "C" static void daObjZraMark_create__FP10fopAc_ac_c(); -extern "C" void create__16_ZraMark_Hahen_cFRC4cXyzScScScSc(); -extern "C" void loadModel__16_ZraMark_Hahen_cFv(); -extern "C" void init__16_ZraMark_Hahen_cFRC4cXyzScScSc(); -extern "C" void calcSpeed__16_ZraMark_Hahen_cFv(); -extern "C" void setMtx__16_ZraMark_Hahen_cFv(); -extern "C" void draw__16_ZraMark_Hahen_cFv(); -extern "C" void create__20_ZraMark_Hahen_Mng_cFRC4cXyzScScScSc(); -extern "C" void calc__20_ZraMark_Hahen_Mng_cFv(); -extern "C" void draw__20_ZraMark_Hahen_Mng_cFv(); -extern "C" void func_80D43ACC(void* _this, int, int); -extern "C" void __dt__16_ZraMark_Hahen_cFv(); -extern "C" void __ct__16_ZraMark_Hahen_cFv(); -extern "C" void __ct__11J3DLightObjFv(); -extern "C" void __dt__18daNpcF_ActorMngr_cFv(); -extern "C" void __ct__18daNpcF_ActorMngr_cFv(); -extern "C" void __dt__8cM3dGCylFv(); -extern "C" void __dt__8cM3dGAabFv(); -extern "C" extern char const* const d_a_obj_zraMark__stringBase0; - -// -// External References: -// - -extern "C" void scaleM__14mDoMtx_stack_cFfff(); -extern "C" void scaleM__14mDoMtx_stack_cFRC4cXyz(); -extern "C" void XYZrotM__14mDoMtx_stack_cFRC5csXyz(); -extern "C" void mDoExt_modelUpdateDL__FP8J3DModel(); -extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void fopAcM_SearchByName__FsPP10fopAc_ac_c(); -extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl(); -extern "C" void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff(); -extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfGp_getReverb__Fi(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void __ct__10dCcD_GSttsFv(); -extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c(); -extern "C" void __ct__12dCcD_GObjInfFv(); -extern "C" void ChkTgHit__12dCcD_GObjInfFv(); -extern "C" void GetTgHitObj__12dCcD_GObjInfFv(); -extern "C" void GetTgHitObjSe__12dCcD_GObjInfFv(); -extern "C" void getHitSeID__12dCcD_GObjInfFUci(); -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 getActorP__18daNpcF_ActorMngr_cFv(); -extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void dKy_tevstr_init__FP12dKy_tevstr_cScUc(); -extern "C" void Set__4cCcSFP8cCcD_Obj(); -extern "C" void __apl__5csXyzFR5csXyz(); -extern "C" void cM_rndF__Ff(); -extern "C" void SetC__8cM3dGCylFRC4cXyz(); -extern "C" void SetH__8cM3dGCylFf(); -extern "C" void SetR__8cM3dGCylFf(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void __dt__14Z2SoundObjBaseFv(); -extern "C" void deleteObject__14Z2SoundObjBaseFv(); -extern "C" void startCollisionSE__14Z2SoundObjBaseFUlUlP14Z2SoundObjBase(); -extern "C" void __ct__16Z2SoundObjSimpleFv(); -extern "C" void __dl__FPv(); -extern "C" void __as__12J3DLightInfoFRC12J3DLightInfo(); -extern "C" void __construct_array(); -extern "C" void _savegpr_22(); -extern "C" void _savegpr_25(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_22(); -extern "C" void _restgpr_25(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" extern void* __vt__8dCcD_Cyl[36]; -extern "C" extern void* __vt__9dCcD_Stts[11]; -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__16Z2SoundObjSimple[8]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" u8 sincosTable___5JMath[65536]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; +_ZraMark_Hahen_c::_ZraMark_Hahen_c() { + mpModel = NULL; + setColor(0); +} /* 80D42658-80D42678 000078 0020+00 1/1 0/0 0/0 .text createSolidHeap__FP10fopAc_ac_c */ static int createSolidHeap(fopAc_ac_c* i_this) { @@ -149,16 +47,8 @@ static const dCcD_SrcCyl l_sph_src = { /* 80D43DE0-80D43DF0 000058 0010+00 0/1 0/0 0/0 .rodata l_arcIdx */ static const int l_arcIdx[] = {3, 6, 5, 4}; -/* 80D43FA0-80D43FA4 000000 0004+00 1/1 0/0 0/0 .data None */ -/* SECTION_DATA static u8 data_80D43FA0[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; */ - /* 80D43FA4-80D43FA8 -00001 0004+00 4/4 0/0 0/0 .data l_arcName */ -SECTION_DATA static char* l_arcName[1] = {"buoy"}; +static char* l_arcName[1] = {"buoy"}; /* 80D42678-80D4287C 000098 0204+00 1/1 0/0 0/0 .text Create__14daObjZraMark_cFv */ int daObjZraMark_c::Create() { @@ -677,11 +567,11 @@ void _ZraMark_Hahen_Mng_c::draw() { /* 80D43FA8-80D43FC8 -00001 0020+00 1/0 0/0 0/0 .data l_daObjZraMark_Method */ static actor_method_class l_daObjZraMark_Method = { - (process_method_func)daObjZraMark_create__FP10fopAc_ac_c, - (process_method_func)daObjZraMark_Delete__FP14daObjZraMark_c, - (process_method_func)daObjZraMark_Execute__FP14daObjZraMark_c, - (process_method_func)daObjZraMark_IsDelete__FP14daObjZraMark_c, - (process_method_func)daObjZraMark_Draw__FP14daObjZraMark_c, + (process_method_func)daObjZraMark_create, + (process_method_func)daObjZraMark_Delete, + (process_method_func)daObjZraMark_Execute, + (process_method_func)daObjZraMark_IsDelete, + (process_method_func)daObjZraMark_Draw, }; /* 80D43FC8-80D43FF8 -00001 0030+00 0/0 0/0 1/0 .data g_profile_ZRA_MARK */ @@ -700,4 +590,4 @@ extern actor_process_profile_definition g_profile_ZRA_MARK = { 0x00044100, // mStatus fopAc_ACTOR_e, // mActorType fopAc_CULLBOX_CUSTOM_e, // cullType -}; \ No newline at end of file +}; diff --git a/src/d/d_drawlist.cpp b/src/d/d_drawlist.cpp index 34b5e2e017..654993401e 100644 --- a/src/d/d_drawlist.cpp +++ b/src/d/d_drawlist.cpp @@ -10,6 +10,7 @@ #include "JSystem/J2DGraph/J2DScreen.h" #include "JSystem/J3DGraphBase/J3DDrawBuffer.h" #include "SSystem/SComponent/c_bg_s_shdw_draw.h" +#include "SSystem/SComponent/c_math.h" #include "d/d_com_inf_game.h" #include "dol2asm.h" #include "m_Do/m_Do_graphic.h" @@ -378,8 +379,6 @@ void dDlst_window_c::setScissor(f32 xOrig, f32 yOrig, f32 width, f32 height) { } /* 80051AF0-80051CF0 04C430 0200+00 1/0 0/0 0/0 .text draw__13dDlst_2DTri_cFv */ -// vtable data -#ifdef NONMATCHING void dDlst_2DTri_c::draw() { f32 f2 = cM_scos(field_0xc); f32 f3 = cM_ssin(field_0xc); @@ -413,16 +412,8 @@ void dDlst_2DTri_c::draw() { GXEnd(); dComIfGp_getCurrentGrafPort()->setup2D(); } -#else -// void dDlst_2DTri_c::draw() { -extern "C" void draw__13dDlst_2DTri_cFv() { - // NONMATCHING -} -#endif /* 80051CF0-80051E5C 04C630 016C+00 1/0 0/0 0/0 .text draw__14dDlst_2DQuad_cFv */ -// vtable -#ifdef NONMATCHING void dDlst_2DQuad_c::draw() { GXClearVtxDesc(); GXSetVtxDesc(GX_VA_POS, GX_DIRECT); @@ -445,16 +436,8 @@ void dDlst_2DQuad_c::draw() { GXEnd(); dComIfGp_getCurrentGrafPort()->setup2D(); } -#else -// void dDlst_2DQuad_c::draw() { -extern "C" void draw__14dDlst_2DQuad_cFv() { - // NONMATCHING -} -#endif /* 80051E5C-80051F98 04C79C 013C+00 1/0 0/0 0/0 .text draw__15dDlst_2DPoint_cFv */ -// vtable data -#ifdef NONMATCHING void dDlst_2DPoint_c::draw() { GXClearVtxDesc(); GXSetVtxDesc(GX_VA_POS, GX_DIRECT); @@ -475,43 +458,10 @@ void dDlst_2DPoint_c::draw() { GXEnd(); dComIfGp_getCurrentGrafPort()->setup2D(); } -#else -// void dDlst_2DPoint_c::draw() { -extern "C" void draw__15dDlst_2DPoint_cFv() { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ -/* 80450648-8045064C 0000C8 0004+00 1/1 0/0 0/0 .sdata l_color$4033 */ -SECTION_SDATA static _GXColor l_color_4033 = { - 0xFF, - 0xFF, - 0xFF, - 0xE0, -}; - -/* 80452008-8045200C 000608 0004+00 4/4 0/0 0/0 .sdata2 @4072 */ -SECTION_SDATA2 static f32 lit_4072 = 0.5f; - -/* 8045200C-80452010 00060C 0004+00 1/1 0/0 0/0 .sdata2 @4073 */ -SECTION_SDATA2 static f32 lit_4073 = 32768.0f; - -/* 80452010-80452018 000610 0004+04 10/10 0/0 0/0 .sdata2 @4074 */ -SECTION_SDATA2 static f32 lit_4074[1 + 1 /* padding */] = { - 0.0f, - /* padding */ - 0.0f, -}; - -/* 80452018-80452020 000618 0008+00 8/8 0/0 0/0 .sdata2 @4076 */ -SECTION_SDATA2 static f64 lit_4076 = 4503599627370496.0 /* cast u32 to float */; - -/* 80452020-80452028 000620 0008+00 5/5 0/0 0/0 .sdata2 @4079 */ -SECTION_SDATA2 static f64 lit_4079 = 4503601774854144.0 /* cast s32 to float */; /* 80051F98-80052354 04C8D8 03BC+00 1/0 0/0 0/0 .text draw__11dDlst_2DT_cFv */ void dDlst_2DT_c::draw() { + static GXColor l_color = {0xFF, 0xFF, 0xFF, 0xE0}; f32 var5 = field_0xe; f32 var6 = field_0x10; f32 var11 = (field_0x16 - field_0x12) * 0.5f / field_0x24; @@ -534,7 +484,7 @@ void dDlst_2DT_c::draw() { GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_CLR_RGBA, GX_RGBX8, 0xf); GXSetNumChans(1); GXSetChanCtrl(GX_COLOR0A0, GX_DISABLE, GX_SRC_REG, GX_SRC_REG, GX_LIGHT_NULL, GX_DF_NONE, GX_AF_NONE); - l_color_4033.a = field_0xd; + l_color.a = field_0xd; GXSetNumTexGens(1); GXSetNumTevStages(1); GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); @@ -547,7 +497,7 @@ void dDlst_2DT_c::draw() { GXSetCullMode(GX_CULL_NONE); GXSetDither(GX_TRUE); GXLoadPosMtxImm(mDoMtx_getIdentity(), GX_PNMTX0); - GXSetChanMatColor(GX_COLOR0A0, l_color_4033); + GXSetChanMatColor(GX_COLOR0A0, l_color); GXSetClipMode(GX_CLIP_DISABLE); GXSetCurrentMtx(GX_PNMTX0); GXBegin(GX_QUADS, GX_VTXFMT0, 4); @@ -568,14 +518,7 @@ void dDlst_2DT_c::draw() { dComIfGp_getCurrentGrafPort()->setup2D(); } - -/* ############################################################################################## */ -/* 80452028-8045202C 000628 0004+00 10/10 0/0 0/0 .sdata2 @4270 */ -SECTION_SDATA2 static f32 lit_4270 = 1.0f; - /* 80052354-80052B00 04CC94 07AC+00 1/0 0/0 0/0 .text draw__12dDlst_2DT2_cFv */ -// vtable data -#ifdef NONMATCHING void dDlst_2DT2_c::draw() { GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XY, GX_F32, 0); GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_CLR_RGBA, GX_RGBA6, 0); @@ -771,12 +714,6 @@ void dDlst_2DT2_c::draw() { GXSetClipMode(GX_CLIP_ENABLE); dComIfGp_getCurrentGrafPort()->setup2D(); } -#else -// void dDlst_2DT2_c::draw() { -extern "C" void draw__12dDlst_2DT2_cFv() { - // NONMATCHING -} -#endif /* ############################################################################################## */ /* 803A87A0-803A87C0 0058C0 000C+14 2/2 0/0 0/0 .data cNullVec__6Z2Calc */ @@ -842,7 +779,7 @@ SECTION_DATA static u8 l_shadowVolMat[] ALIGN_DECL(32) = { 0x61, 0x28, 0x38, 0x00, 0x00, 0x61, 0xC0, 0x08, 0xFF, 0xFC, 0x61, 0xC1, 0x08, 0xFF, 0x90, 0x61, 0x43, 0x00, 0x00, 0x41, 0x61, 0x40, 0x00, 0x00, 0x0D, 0x61, 0x41, 0x00, 0x01, 0x35, 0x61, 0xF3, 0x7F, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x10, - 0x00, 0x00, 0x10, 0x09, 0x00, 0x00, 0x00, 0x01, 0x61, 0x00, 0x00, 0x80, 0x10, 0x00, 0x00, + 0x00, 0x00, 0x10, 0x09, 0x00, 0x00, 0x00, 0x01, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; @@ -990,90 +927,6 @@ SECTION_DATA static Mtx mtx_adj = { }; #pragma pop -/* 803A8DCC-803A8DDC 005EEC 0010+00 1/1 0/0 0/0 .data __vt__18dDlst_shadowPoly_c */ -SECTION_DATA extern void* __vt__18dDlst_shadowPoly_c[4] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)NULL, - (void*)NULL, -}; - -/* 803A8DDC-803A8DEC 005EFC 0010+00 2/2 0/0 0/0 .data __vt__22dDlst_shadowRealPoly_c */ -SECTION_DATA extern void* __vt__22dDlst_shadowRealPoly_c[4] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)getTri__22dDlst_shadowRealPoly_cFv, - (void*)getTriMax__22dDlst_shadowRealPoly_cFv, -}; - -/* 803A8DEC-803A8DF8 005F0C 000C+00 2/2 0/0 0/0 .data __vt__14ShdwDrawPoly_c */ -SECTION_DATA extern void* __vt__14ShdwDrawPoly_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__14ShdwDrawPoly_cFv, -}; - -/* 803A8DF8-803A8E04 005F18 000C+00 0/0 2/2 0/0 .data __vt__18dDlst_effectLine_c */ -SECTION_DATA extern void* __vt__18dDlst_effectLine_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)draw__18dDlst_effectLine_cFv, -}; - -/* 803A8E04-803A8E14 005F24 0010+00 1/1 14/14 0/0 .data __vt__10J2DAnmBase */ -SECTION_DATA extern void* __vt__10J2DAnmBase[4] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__10J2DAnmBaseFv, - (void*)searchUpdateMaterialID__10J2DAnmBaseFP9J2DScreen, -}; - -/* 803A8E14-803A8E20 005F34 000C+00 0/0 0/0 0/0 .data __vt__11dDlst_blo_c */ -SECTION_DATA extern void* __vt__11dDlst_blo_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)draw__11dDlst_blo_cFv, -}; - -/* 803A8E20-803A8E2C 005F40 000C+00 1/1 1/1 0/0 .data __vt__10dDlst_2D_c */ -SECTION_DATA extern void* __vt__10dDlst_2D_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)draw__10dDlst_2D_cFv, -}; - -/* 803A8E2C-803A8E38 005F4C 000C+00 0/0 0/0 0/0 .data __vt__12dDlst_2DMt_c */ -SECTION_DATA extern void* __vt__12dDlst_2DMt_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)draw__12dDlst_2DMt_cFv, -}; - -/* 803A8E38-803A8E44 005F58 000C+00 0/0 0/0 0/0 .data __vt__11dDlst_2Dm_c */ -SECTION_DATA extern void* __vt__11dDlst_2Dm_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)draw__11dDlst_2Dm_cFv, -}; - -/* 803A8E44-803A8E5C 005F64 000C+0C 0/0 0/0 0/0 .data __vt__11dDlst_2DM_c */ -SECTION_DATA extern void* __vt__11dDlst_2DM_c[3 + 3 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)draw__11dDlst_2DM_cFv, - /* padding */ - NULL, - NULL, - NULL, -}; - -/* 803A8E5C-803A8E68 005F7C 000C+00 1/1 0/0 0/0 .data __vt__12dDlst_2DT2_c */ -SECTION_DATA extern void* __vt__12dDlst_2DT2_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)draw__12dDlst_2DT2_cFv, -}; - /* 80052B00-80052B4C 04D440 004C+00 1/1 0/0 0/0 .text __ct__12dDlst_2DT2_cFv */ dDlst_2DT2_c::dDlst_2DT2_c() { field_0x40 = (GXColor){0, 0, 0, 0}; @@ -1105,10 +958,6 @@ void dDlst_2DT2_c::init(ResTIMG* i_timg, f32 param_1, f32 param_2, f32 param_3, field_0x46 = param_5; } -/* ############################################################################################## */ -/* 80452030-80452034 000630 0004+00 2/2 0/0 0/0 .sdata2 @4360 */ -SECTION_SDATA2 static f32 lit_4360 = 256.0f; - /* 80052C58-8005312C 04D598 04D4+00 1/0 0/0 0/0 .text draw__11dDlst_2DM_cFv */ void dDlst_2DM_c::draw() { s16 r31 = field_0x22; @@ -1239,8 +1088,6 @@ void dDlst_2Dm_c::draw() { /* 8005364C-800539DC 04DF8C 0390+00 1/0 0/0 0/0 .text draw__12dDlst_2DMt_cFv */ -// vtable -#ifdef NONMATCHING void dDlst_2DMt_c::draw() { GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_S16, 0); GXClearVtxDesc(); @@ -1311,12 +1158,6 @@ void dDlst_2DMt_c::draw() { dComIfGp_getCurrentGrafPort()->setup2D(); } } -#else -// void dDlst_2DMt_c::draw() { -extern "C" void draw__12dDlst_2DMt_cFv() { - // NONMATCHING -} -#endif /* 800539DC-80053A00 04E31C 0024+00 0/0 1/0 0/0 .text getTexture__10J2DPictureCFUc */ // Should be inline @@ -1396,19 +1237,6 @@ void cM_rnd_c::init(int s0, int s1, int s2) { seed2 = s2; } -/* ############################################################################################## */ -/* 80452034-80452038 000634 0004+00 1/1 0/0 0/0 .sdata2 @4791 */ -SECTION_SDATA2 static f32 lit_4791 = 30323.0f; - -/* 80452038-8045203C 000638 0004+00 1/1 0/0 0/0 .sdata2 @4792 */ -SECTION_SDATA2 static f32 lit_4792 = 30269.0f; - -/* 8045203C-80452040 00063C 0004+00 1/1 0/0 0/0 .sdata2 @4793 */ -SECTION_SDATA2 static f32 lit_4793 = 30307.0f; - -/* 80452040-80452048 000640 0008+00 1/1 0/0 0/0 .sdata2 @4794 */ -SECTION_SDATA2 static f64 lit_4794 = 1.0; - /* 80053CEC-80053DE0 04E62C 00F4+00 2/2 0/0 0/0 .text get__8cM_rnd_cFv */ f32 cM_rnd_c::get() { seed0 = seed0 * 171 % 30269; @@ -1425,13 +1253,9 @@ f32 cM_rnd_c::getF(f32 param_0) { return get() * param_0; } -/* ############################################################################################## */ -/* 80452048-8045204C 000648 0004+00 5/5 0/0 0/0 .sdata2 @4806 */ -SECTION_SDATA2 static f32 lit_4806 = 2.0f; - /* 80053E18-80053E60 04E758 0048+00 1/1 0/0 0/0 .text getFX__8cM_rnd_cFf */ f32 cM_rnd_c::getFX(f32 param_0) { - return ((get() - lit_4072) * param_0) * lit_4806; + return ((get() - 0.5f) * param_0) * 2.0f; } /* 80053E60-80053E9C 04E7A0 003C+00 1/1 0/0 0/0 .text getValue__8cM_rnd_cFff */ @@ -1439,13 +1263,7 @@ f32 cM_rnd_c::getValue(f32 param_0, f32 param_1) { return param_0 + getF(param_1); } -/* ############################################################################################## */ -/* 8045204C-80452050 00064C 0004+00 1/1 0/0 0/0 .sdata2 @4876 */ -SECTION_SDATA2 static f32 lit_4876 = 32767.0f; - /* 80053E9C-800541F4 04E7DC 0358+00 1/0 0/0 0/0 .text draw__18dDlst_effectLine_cFv */ -// vtable data -#ifdef NONMATCHING void dDlst_effectLine_c::draw() { GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); GXClearVtxDesc(); @@ -1489,12 +1307,6 @@ void dDlst_effectLine_c::draw() { GXEnd(); } } -#else -// void dDlst_effectLine_c::draw() { -extern "C" void draw__18dDlst_effectLine_cFv() { - // NONMATCHING -} -#endif /* 800541F4-80054288 04EB34 0094+00 0/0 1/1 0/0 .text * update__18dDlst_effectLine_cFR4cXyzR8_GXColorUsUsUsUsffff */ @@ -1613,13 +1425,6 @@ void dDlst_shadowReal_c::draw() { mShadowRealPoly.draw(); } -/* ############################################################################################## */ -/* 80452050-80452054 000650 0004+00 1/1 0/0 0/0 .sdata2 @5061 */ -SECTION_SDATA2 static f32 lit_5061 = -1.0f / 5.0f; - -/* 80452054-80452058 000654 0004+00 1/1 0/0 0/0 .sdata2 @5062 */ -SECTION_SDATA2 static f32 lit_5062 = -90.0f; - /* 80054688-80054854 04EFC8 01CC+00 1/1 0/0 0/0 .text * psdRealCallBack__FP13cBgS_ShdwDrawP10cBgD_Vtx_tiiiP8cM3dGPla */ static int psdRealCallBack(cBgS_ShdwDraw* param_0, cBgD_Vtx_t* param_1, int param_2, @@ -1649,29 +1454,16 @@ static int psdRealCallBack(cBgS_ShdwDraw* param_0, cBgD_Vtx_t* param_1, int para return 1; } -/* ############################################################################################## */ -/* 80452058-8045205C 000658 0004+00 1/1 0/0 0/0 .sdata2 @5127 */ -SECTION_SDATA2 static f32 lit_5127 = 0.0020000000949949026f; - -/* 8045205C-80452060 00065C 0004+00 1/1 0/0 0/0 .sdata2 @5128 */ -SECTION_SDATA2 static f32 lit_5128 = 120.0f; - -/* 80452060-80452064 000660 0004+00 1/1 0/0 0/0 .sdata2 @5129 */ -SECTION_SDATA2 static f32 lit_5129 = 3.0f / 20.0f; - -/* 80452064-80452068 000664 0004+00 3/3 0/0 0/0 .sdata2 @5130 */ -SECTION_SDATA2 static f32 lit_5130 = 10000.0f; - /* 80054854-80054A6C 04F194 0218+00 1/1 0/0 0/0 .text * realPolygonCheck__FP4cXyzffP4cXyzP18dDlst_shadowPoly_c */ -// vtable data -#ifdef NONMATCHING static BOOL realPolygonCheck(cXyz* param_0, f32 param_1, f32 param_2, cXyz* param_3, dDlst_shadowPoly_c* param_4) { ShdwDrawPoly_c shdwDrawPoly; cXyz local_8c; cXyz local_98; - f32 var1 = param_1 + param_2 - cLib_maxLimit(param_1 * param_1 * 0.002f, 120.0f); + f32 tmp1 = param_1 * param_1 * 0.002f; + f32 tmp2 = cLib_maxLimit(tmp1, 120.0f); + f32 var1 = param_1 + param_2 - tmp2; local_8c.y = param_0->y - var1; local_98.y = param_0->y + param_1 * 0.15f; local_98.x = param_0->x + param_3->x * var1; @@ -1707,25 +1499,6 @@ static BOOL realPolygonCheck(cXyz* param_0, f32 param_1, f32 param_2, cXyz* para dComIfG_Bgsp().ShdwDraw(&shdwDrawPoly); return TRUE; } -#else -static BOOL realPolygonCheck(cXyz* param_0, f32 param_1, f32 param_2, cXyz* param_3, - dDlst_shadowPoly_c* param_4) { - // NONMATCHING -} -#endif - -/* 80054A6C-80054ACC 04F3AC 0060+00 1/0 0/0 0/0 .text __dt__14ShdwDrawPoly_cFv */ -// ShdwDrawPoly_c::~ShdwDrawPoly_c() { -extern "C" void __dt__14ShdwDrawPoly_cFv() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80452068-8045206C 000668 0004+00 1/1 0/0 0/0 .sdata2 @5155 */ -SECTION_SDATA2 static f32 lit_5155 = 15.0f; - -/* 8045206C-80452070 00066C 0004+00 1/1 0/0 0/0 .sdata2 @5156 */ -SECTION_SDATA2 static f32 lit_5156 = 13.0f / 20.0f; /* 80054ACC-80054BD0 04F40C 0104+00 2/2 0/0 0/0 .text setkankyoShadow__FP12dKy_tevstr_cPf */ @@ -1760,41 +1533,6 @@ static void setkankyoShadow(dKy_tevstr_c* param_0, f32* param_1) { } } - -/* ############################################################################################## */ -/* 80452070-80452074 000670 0004+00 1/1 0/0 0/0 .sdata2 @5267 */ -SECTION_SDATA2 static f32 lit_5267 = 50.0f; - -/* 80452074-80452078 000674 0004+00 1/1 0/0 0/0 .sdata2 @5268 */ -SECTION_SDATA2 static f32 lit_5268 = 4.0f / 5.0f; - -/* 80452078-80452080 000678 0004+04 1/1 0/0 0/0 .sdata2 @5269 */ -SECTION_SDATA2 static f32 lit_5269[1 + 1 /* padding */] = { - 255.0f, - /* padding */ - 0.0f, -}; - -/* 80452080-80452088 000680 0008+00 1/1 0/0 0/0 .sdata2 @5270 */ -SECTION_SDATA2 static f64 lit_5270 = 0.5; - -/* 80452088-80452090 000688 0008+00 1/1 0/0 0/0 .sdata2 @5271 */ -SECTION_SDATA2 static f64 lit_5271 = 3.0; - -/* 80452090-80452098 000690 0008+00 1/1 0/0 0/0 .sdata2 @5272 */ -SECTION_SDATA2 static u8 lit_5272[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; - -/* 80452098-8045209C 000698 0004+00 1/1 0/0 0/0 .sdata2 @5273 */ -SECTION_SDATA2 static f32 lit_5273 = 2.0f / 5.0f; - -/* 8045209C-804520A0 00069C 0004+00 1/1 0/0 0/0 .sdata2 @5274 */ -SECTION_SDATA2 static f32 lit_5274 = -1.0f; - -/* 804520A0-804520A4 0006A0 0004+00 1/1 0/0 0/0 .sdata2 @5275 */ -SECTION_SDATA2 static f32 lit_5275 = -0.5f; - /* 80054BD0-80055028 04F510 0458+00 1/1 0/0 0/0 .text * setShadowRealMtx__18dDlst_shadowReal_cFP4cXyzP4cXyzfffP12dKy_tevstr_c */ u8 dDlst_shadowReal_c::setShadowRealMtx(cXyz* param_0, cXyz* param_1, f32 param_2, f32 param_3, @@ -1952,19 +1690,6 @@ void dDlst_shadowSimple_c::draw() { GXCallDisplayList(l_shadowVolumeDL, 0x40); } -/* ############################################################################################## */ -/* 804520A4-804520A8 0006A4 0004+00 1/1 0/0 0/0 .sdata2 @5375 */ -SECTION_SDATA2 static f32 lit_5375 = -255.0f; - -/* 804520A8-804520AC 0006A8 0004+00 1/1 0/0 0/0 .sdata2 @5376 */ -SECTION_SDATA2 static f32 lit_5376 = 0.000699999975040555f; - -/* 804520AC-804520B0 0006AC 0004+00 1/1 0/0 0/0 .sdata2 @5377 */ -SECTION_SDATA2 static f32 lit_5377 = 7.0f / 5.0f; - -/* 804520B0-804520B4 0006B0 0004+00 1/1 0/0 0/0 .sdata2 @5378 */ -SECTION_SDATA2 static f32 lit_5378 = 16.0f; - /* 800553EC-80055684 04FD2C 0298+00 1/1 0/0 0/0 .text * set__20dDlst_shadowSimple_cFP4cXyzffP4cXyzsfP9_GXTexObj */ void dDlst_shadowSimple_c::set(cXyz* param_0, f32 param_1, f32 param_2, cXyz* param_3, @@ -2019,13 +1744,9 @@ void dDlst_shadowSimple_c::set(cXyz* param_0, f32 param_1, f32 param_2, cXyz* pa mpTexObj = param_6; } - -/* ############################################################################################## */ -/* 80450654-80450658 0000D4 0004+00 1/1 0/0 0/0 .sdata l_realImageSize$5383 */ -SECTION_SDATA static u16 l_realImageSize[2] = {192, 64}; - /* 80055684-80055768 04FFC4 00E4+00 1/1 0/0 0/0 .text init__21dDlst_shadowControl_cFv */ void dDlst_shadowControl_c::init() { + static u16 l_realImageSize[2] = {192, 64}; for (int i = 0; i < 2; i++) { u16 size = l_realImageSize[i]; @@ -2103,14 +1824,6 @@ void dDlst_shadowControl_c::imageDraw(Mtx param_0) { GXSetDither(GX_TRUE); } - -/* ############################################################################################## */ -/* 80450658-8045065C 0000D8 0004+00 1/1 0/0 0/0 .sdata clearColor$5435 */ -SECTION_SDATA static GXColor clearColor = {0x00, 0x00, 0x00, 0x40}; - -/* 804520B4-804520B8 0006B4 0004+00 1/1 0/0 0/0 .sdata2 @5433 */ -SECTION_SDATA2 static u32 lit_5433 = 0x00000020; - /* 80055A14-80055C74 050354 0260+00 0/0 1/1 0/0 .text draw__21dDlst_shadowControl_cFPA4_f */ void dDlst_shadowControl_c::draw(Mtx param_0) { @@ -2127,6 +1840,7 @@ void dDlst_shadowControl_c::draw(Mtx param_0) { GXColor matColor = {0, 0, 0, 0x20}; GXSetChanMatColor(GX_ALPHA0, matColor); + static GXColor clearColor = {0x00, 0x00, 0x00, 0x40}; clearColor.a = mDoGph_gInf_c::getBackColor().a; GXSetTevColor(GX_TEVREG1, clearColor); GXSetTevColor(GX_TEVREG2, g_whiteColor); @@ -2165,17 +1879,6 @@ void dDlst_shadowControl_c::draw(Mtx param_0) { GXSetAlphaUpdate(GX_DISABLE); } - -/* ############################################################################################## */ -/* 804520B8-804520BC 0006B8 0004+00 1/1 0/0 0/0 .sdata2 @5551 */ -SECTION_SDATA2 static f32 lit_5551 = 0.003000000026077032f; - -/* 804520BC-804520C0 0006BC 0004+00 1/1 0/0 0/0 .sdata2 @5552 */ -SECTION_SDATA2 static f32 lit_5552 = -1000.0f; - -/* 804520C0-804520C4 0006C0 0004+00 1/1 0/0 0/0 .sdata2 @5553 */ -SECTION_SDATA2 static f32 lit_5553 = 0.0010000000474974513f; - /* 80055C74-80055F1C 0505B4 02A8+00 0/0 1/1 1/1 .text * setReal__21dDlst_shadowControl_cFUlScP8J3DModelP4cXyzffP12dKy_tevstr_c */ int dDlst_shadowControl_c::setReal(u32 param_1, s8 param_2, J3DModel* param_3, cXyz* param_4, @@ -2270,7 +1973,6 @@ int dDlst_shadowControl_c::setReal(u32 param_1, s8 param_2, J3DModel* param_3, c return rv; } - /* 80055F1C-80055F84 05085C 0068+00 0/0 1/1 45/45 .text * addReal__21dDlst_shadowControl_cFUlP8J3DModel */ bool dDlst_shadowControl_c::addReal(u32 i_key, J3DModel* param_1) { @@ -2300,7 +2002,6 @@ int dDlst_shadowControl_c::setSimple(cXyz* param_0, f32 param_1, f32 param_2, cX return 1; } -/* ############################################################################################## */ /* 804248D0-804248F0 0515F0 0020+00 1/1 6/6 173/173 .bss mSimpleTexObj__21dDlst_shadowControl_c */ GXTexObj dDlst_shadowControl_c::mSimpleTexObj; @@ -2337,8 +2038,6 @@ void dDlst_peekZ_c::peekData() { } /* 800560F0-800561C8 050A30 00D8+00 0/0 1/1 0/0 .text __ct__12dDlst_list_cFv */ -// TU vtable data order has to be fixed -#ifdef NONMATCHING dDlst_list_c::dDlst_list_c() { mpCopy2DEnd = &mpCopy2DDrawLists[4]; mp2DOpaTopEnd = &mp2DOpaTopDrawLists[16]; @@ -2351,41 +2050,6 @@ dDlst_list_c::dDlst_list_c() { buffer++; } } -#else -dDlst_list_c::dDlst_list_c() { - // NONMATCHING -} -#endif - -/* 800561C8-800561F8 050B08 0030+00 1/1 0/0 0/0 .text __ct__26mDoExt_3DlineMatSortPacketFv */ -// mDoExt_3DlineMatSortPacket::mDoExt_3DlineMatSortPacket() { -extern "C" void __ct__26mDoExt_3DlineMatSortPacketFv() { - // NONMATCHING -} - -/* 800561F8-80056270 050B38 0078+00 2/2 0/0 0/0 .text __dt__18dDlst_shadowReal_cFv */ -// dDlst_shadowReal_c::~dDlst_shadowReal_c() { -extern "C" void __dt__18dDlst_shadowReal_cFv() { - // NONMATCHING -} - -/* 80056270-800562D0 050BB0 0060+00 2/2 0/0 0/0 .text __dt__17dDlst_shadowTri_cFv */ -// dDlst_shadowTri_c::~dDlst_shadowTri_c() { -extern "C" void __dt__17dDlst_shadowTri_cFv() { - // NONMATCHING -} - -/* 800562D0-80056344 050C10 0074+00 1/1 0/0 0/0 .text __ct__18dDlst_shadowReal_cFv */ -// dDlst_shadowReal_c::dDlst_shadowReal_c() { -extern "C" void __ct__18dDlst_shadowReal_cFv() { - // NONMATCHING -} - -/* 80056344-8005638C 050C84 0048+00 1/1 0/0 0/0 .text __ct__17dDlst_shadowTri_cFv */ -// dDlst_shadowTri_c::dDlst_shadowTri_c() { -extern "C" void __ct__17dDlst_shadowTri_cFv() { - // NONMATCHING -} /* 8005638C-80056390 050CCC 0004+00 1/1 0/0 0/0 .text __ct__20dDlst_shadowSimple_cFv */ dDlst_shadowSimple_c::dDlst_shadowSimple_c() {} @@ -2438,8 +2102,6 @@ void dDlst_list_c::init() { } /* 8005648C-80056538 050DCC 00AC+00 0/0 1/1 0/0 .text __dt__12dDlst_list_cFv */ -// TU vtable data order has to be fixed -#ifdef NONMATCHING dDlst_list_c::~dDlst_list_c() { J3DDrawBuffer** buffer = mDrawBuffers; for (int i = 0; i < 21; i++) { @@ -2449,11 +2111,6 @@ dDlst_list_c::~dDlst_list_c() { delete tmp; } } -#else -dDlst_list_c::~dDlst_list_c() { - // NONMATCHING -} -#endif /* 80056538-800565EC 050E78 00B4+00 0/0 1/1 0/0 .text reset__12dDlst_list_cFv */ void dDlst_list_c::reset() { @@ -2479,10 +2136,6 @@ void dDlst_list_c::reset() { } } -/* ############################################################################################## */ -/* 804520CC-804520D0 0006CC 0004+00 1/1 0/0 0/0 .sdata2 @5747 */ -SECTION_SDATA2 static f32 lit_5747 = 9999.0f; - /* 800565EC-800566D4 050F2C 00E8+00 0/0 2/2 0/0 .text * entryZSortXluDrawList__12dDlst_list_cFP13J3DDrawBufferP9J3DPacketR4cXyz */ void dDlst_list_c::entryZSortXluDrawList(J3DDrawBuffer* param_0, J3DPacket* param_1, @@ -2556,15 +2209,6 @@ void dDlst_list_c::draw(dDlst_base_c** p_start, dDlst_base_c** p_end) { } } -/* ############################################################################################## */ -/* 8037A1B0-8037A1B0 006810 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8037A1B0 = "wipe_00.bti"; -/* @stringBase0 padding */ -SECTION_DEAD static char const* const pad_8037A1BC = "\0\0\0"; -#pragma pop - /* 804248F0-80424938 051610 0048+00 3/3 0/0 0/0 .bss mWipeDlst__12dDlst_list_c */ dDlst_2DT2_c dDlst_list_c::mWipeDlst; @@ -2580,15 +2224,6 @@ f32 dDlst_list_c::mWipeRate; /* 80450ED8-80450EE0 0003D8 0004+04 2/2 0/0 0/0 .sbss mWipeSpeed__12dDlst_list_c */ f32 dDlst_list_c::mWipeSpeed; -/* 804520D0-804520D4 0006D0 0004+00 1/1 0/0 0/0 .sdata2 @5809 */ -SECTION_SDATA2 static f32 lit_5809 = 608.0f; - -/* 804520D4-804520D8 0006D4 0004+00 1/1 0/0 0/0 .sdata2 @5810 */ -SECTION_SDATA2 static f32 lit_5810 = 448.0f; - -/* 804520D8-804520DC 0006D8 0004+00 1/1 0/0 0/0 .sdata2 @5811 */ -SECTION_SDATA2 static f32 lit_5811 = 2.436000108718872f; - /* 8005681C-800568D8 05115C 00BC+00 1/1 0/0 0/0 .text wipeIn__12dDlst_list_cFfR8_GXColor */ void dDlst_list_c::wipeIn(f32 i_wipeSpeed, GXColor& i_wipeColor) { @@ -2610,10 +2245,6 @@ void dDlst_list_c::wipeIn(f32 i_wipeSpeed) { wipeIn(-i_wipeSpeed, g_blackColor); } -/* ############################################################################################## */ -/* 804520DC-804520E0 0006DC 0004+00 1/1 0/0 0/0 .sdata2 @5838 */ -SECTION_SDATA2 static f32 lit_5838 = 1.218000054359436f; - /* 80056900-800569A0 051240 00A0+00 0/0 1/1 0/0 .text calcWipe__12dDlst_list_cFv */ void dDlst_list_c::calcWipe() { if (mWipe) { @@ -2630,58 +2261,9 @@ void dDlst_list_c::calcWipe() { } } - -/* 800569A0-800569A8 0512E0 0008+00 1/0 0/0 0/0 .text getTri__22dDlst_shadowRealPoly_cFv - */ -// vtable data -#ifdef NONMATCHING -dDlst_shadowTri_c * dDlst_shadowRealPoly_c::getTri() { - return mShadowTri; -} -#else -// dDlst_shadowTri_c * dDlst_shadowRealPoly_c::getTri() { -extern "C" dDlst_shadowTri_c * getTri__22dDlst_shadowRealPoly_cFv() { - // NONMATCHING -} -#endif - -/* 800569A8-800569B0 0512E8 0008+00 1/0 0/0 0/0 .text getTriMax__22dDlst_shadowRealPoly_cFv */ -s32 dDlst_shadowRealPoly_c::getTriMax() { - return 256; -} - /* 800569B0-800569B4 0512F0 0004+00 1/0 7/0 0/0 .text * searchUpdateMaterialID__10J2DAnmBaseFP9J2DScreen */ // void J2DAnmBase::searchUpdateMaterialID(J2DScreen* param_0) { extern "C" void searchUpdateMaterialID__10J2DAnmBaseFP9J2DScreen() { /* empty function */ } - -/* ############################################################################################## */ -/* 803A8E68-803A8E74 005F88 000C+00 0/0 0/0 0/0 .data __vt__11dDlst_2DT_c */ -SECTION_DATA extern void* __vt__11dDlst_2DT_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)draw__11dDlst_2DT_cFv, -}; - -/* 803A8E74-803A8E80 005F94 000C+00 0/0 0/0 0/0 .data __vt__15dDlst_2DPoint_c */ -SECTION_DATA extern void* __vt__15dDlst_2DPoint_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)draw__15dDlst_2DPoint_cFv, -}; - -/* 803A8E80-803A8E8C 005FA0 000C+00 0/0 0/0 0/0 .data __vt__14dDlst_2DQuad_c */ -SECTION_DATA extern void* __vt__14dDlst_2DQuad_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)draw__14dDlst_2DQuad_cFv, -}; - -/* 803A8E8C-803A8E98 005FAC 000C+00 0/0 0/0 0/0 .data __vt__13dDlst_2DTri_c */ -SECTION_DATA extern void* __vt__13dDlst_2DTri_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)draw__13dDlst_2DTri_cFv, -}; \ No newline at end of file diff --git a/src/d/d_kankyo.cpp b/src/d/d_kankyo.cpp index 762f35ae78..a92ba845d0 100644 --- a/src/d/d_kankyo.cpp +++ b/src/d/d_kankyo.cpp @@ -7,6 +7,7 @@ #include "JSystem/J3DGraphBase/J3DMaterial.h" #include "SSystem/SComponent/c_counter.h" #include "SSystem/SComponent/c_math.h" +#include "f_op/f_op_kankyo.h" #include "d/actor/d_a_player.h" #include "d/d_meter2_info.h" #include "dol2asm.h" @@ -17,336 +18,8 @@ #include "d/d_msg_object.h" #include "string.h" -// -// Types: -// - struct sub_kankyo__class {}; -// -// Forward References: -// - -extern "C" static void dKy_WolfPowerup_AmbCol__FP11_GXColorS10(); -extern "C" static void dKy_sense_pat_get__Fv(); -extern "C" static void dKy_WolfPowerup_BgAmbCol__FP11_GXColorS10(); -extern "C" static void dKy_WolfPowerup_FogNearFar__FPfPf(); -extern "C" static void dKy_pos2_get_angle__FP4cXyzP4cXyzPsPs(); -extern "C" static void dKy_twi_wolflight_set__Fi(); -extern "C" static void dKy_lightdir_set__FffP3Vec(); -extern "C" static void dKy_GXInitLightSpot__FP12J3DLightInfofUc(); -extern "C" static void dKy_GXInitLightDistAttn__FP12J3DLightInfoffUc(); -extern "C" static void u8_data_ratio_set__FUcUcf(); -extern "C" static void s16_data_ratio_set__Fssf(); -extern "C" static void kankyo_color_ratio_calc_common__Fsf(); -extern "C" static void kankyo_color_ratio_calc__FP8_GXColor11_GXColorS10f(); -extern "C" static void kankyo_color_ratio_set__FUcUcfUcUcfsf(); -extern "C" static void fl_data_ratio_set__Ffff(); -extern "C" static void float_kankyo_color_ratio_set__Fffffffff(); -extern "C" static void get_parcent__Ffff(); -extern "C" void dKy_get_parcent__Ffff(); -extern "C" static void dKy_FiveSenses_fullthrottle_dark_static1__Fv(); -extern "C" void dKy_FiveSenses_fullthrottle_dark__Fv(); -extern "C" static void dKy_light_influence_id__F4cXyzi(); -extern "C" static void dKy_eflight_influence_id__F4cXyzi(); -extern "C" static void dKy_light_influence_col__Fi(); -extern "C" void dKy_light_influence_col__FP8_GXColorf(); -extern "C" static void dKy_light_influence_power__Fi(); -extern "C" static void dKy_light_influence_yuragi__Fi(); -extern "C" static void dKy_light_influence_distance__F4cXyzi(); -extern "C" static void plight_init__Fv(); -extern "C" static void darkmist_init__Fv(); -extern "C" static void plight_set__Fv(); -extern "C" static void bgparts_activelight_init__Fv(); -extern "C" static void dungeonlight_init__Fv(); -extern "C" static void undwater_init__Fv(); -extern "C" static void dKy_light_size_get__FPCc(); -extern "C" static void envcolor_init__Fv(); -extern "C" void dKy_clear_game_init__Fv(); -extern "C" void __ct__18dScnKy_env_light_cFv(); -extern "C" void __ct__19GB_MAPLE_COL_CHANGEFv(); -extern "C" void __dt__10BOSS_LIGHTFv(); -extern "C" void __ct__10BOSS_LIGHTFv(); -extern "C" void __dt__13DUNGEON_LIGHTFv(); -extern "C" void __ct__13DUNGEON_LIGHTFv(); -extern "C" void __dt__15WIND_INF_ENTITYFv(); -extern "C" void __ct__15WIND_INF_ENTITYFv(); -extern "C" void __ct__15LIGHT_INFLUENCEFv(); -extern "C" void setDaytime__18dScnKy_env_light_cFv(); -extern "C" void GetTimePass__20dStage_roomControl_cFv(); -extern "C" void setSunpos__18dScnKy_env_light_cFv(); -extern "C" void getDaytime__18dScnKy_env_light_cFv(); -extern "C" void dKy_getdaytime_hour__Fv(); -extern "C" void dKy_getdaytime_minute__Fv(); -extern "C" void dKy_daynight_check__Fv(); -extern "C" void dKy_getDarktime_hour__Fv(); -extern "C" void dKy_getDarktime_minute__Fv(); -extern "C" void dKy_getDarktime_week__Fv(); -extern "C" void getDarkDaytime__18dScnKy_env_light_cFv(); -extern "C" void setLight_palno_get__18dScnKy_env_light_cFPUcPUcPUcPUcPUcPUcPUcPUcPfPiPiPfPUc(); -extern "C" static void -dKy_calc_color_set__FP11_GXColorS10P15color_RGB_classP15color_RGB_classP15color_RGB_classP15color_RGB_classff11_GXColorS10f(); -extern "C" void setLight__18dScnKy_env_light_cFv(); -extern "C" void setLight_bg__18dScnKy_env_light_cFP12dKy_tevstr_cP11_GXColorS10P11_GXColorS10PfPf(); -extern "C" void setLight_actor__18dScnKy_env_light_cFP12dKy_tevstr_cP11_GXColorS10PfPf(); -extern "C" void -settingTevStruct_colget_actor__18dScnKy_env_light_cFP4cXyzP12dKy_tevstr_cP11_GXColorS10P11_GXColorS10PfPf(); -extern "C" void settingTevStruct_colget_player__18dScnKy_env_light_cFP12dKy_tevstr_c(); -extern "C" static void cLib_addCalcU8__FPUcUcss(); -extern "C" void -settingTevStruct_plightcol_plus__18dScnKy_env_light_cFP4cXyzP12dKy_tevstr_c11_GXColorS1011_GXColorS10Uc(); -extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c(); -extern "C" void setLightTevColorType__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" static void setLightTevColorType_MAJI_sub__FP11J3DMaterialP12dKy_tevstr_ci(); -extern "C" void setLight__13J3DColorBlockFUlP11J3DLightObj(); -extern "C" void setAmbColor__13J3DColorBlockFUlPC10J3DGXColor(); -extern "C" static void dKy_cloudshadow_scroll__FP12J3DModelDataP12dKy_tevstr_ci(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void CalcTevColor__18dScnKy_env_light_cFv(); -extern "C" void Sndpos__18dScnKy_env_light_cFv(); -extern "C" void Eflight_flush_proc__18dScnKy_env_light_cFv(); -extern "C" void SetBaseLight__18dScnKy_env_light_cFv(); -extern "C" void exeKankyo__18dScnKy_env_light_cFv(); -extern "C" void drawKankyo__18dScnKy_env_light_cFv(); -extern "C" void dKy_undwater_filter_draw__Fv(); -extern "C" static void dKy_Draw__FP17sub_kankyo__class(); -extern "C" static void dKy_Execute__FP17sub_kankyo__class(); -extern "C" static bool dKy_IsDelete__FP17sub_kankyo__class(); -extern "C" static void dKy_Delete__FP17sub_kankyo__class(); -extern "C" static void dKy_Create__FPv(); -extern "C" void dKy_setLight_init__Fv(); -extern "C" void dKy_setLight__Fv(); -extern "C" static void dKy_GlobalLight_set__Fv(); -extern "C" static void dKy_lightswitch_check__FP30stage_pure_lightvec_info_classc(); -extern "C" static void dKy_setLight_nowroom_common__Fcf(); -extern "C" void dKy_setLight_nowroom__Fc(); -extern "C" void dKy_setLight_nowroom_grass__Fcf(); -extern "C" void dKy_move_room_ratio__FP12dKy_tevstr_cPSc(); -extern "C" void dKy_setLight_nowroom_actor__FP12dKy_tevstr_c(); -extern "C" void dKy_setLight_again__Fv(); -extern "C" void dKy_Global_amb_set__FP12dKy_tevstr_c(); -extern "C" static void dKy_light_influence_pos__Fi(); -extern "C" void dKy_plight_near_pos__Fv(); -extern "C" void dKy_mock_light_every_set__FP15LIGHT_INFLUENCE(); -extern "C" void dKy_plight_set__FP15LIGHT_INFLUENCE(); -extern "C" void dKy_dalkmist_inf_set__FP18DALKMIST_INFLUENCE(); -extern "C" void dKy_dalkmist_inf_cut__FP18DALKMIST_INFLUENCE(); -extern "C" void dKy_plight_priority_set__FP15LIGHT_INFLUENCE(); -extern "C" void dKy_plight_cut__FP15LIGHT_INFLUENCE(); -extern "C" void dKy_efplight_set__FP15LIGHT_INFLUENCE(); -extern "C" void dKy_efplight_cut__FP15LIGHT_INFLUENCE(); -extern "C" static void dKy_bgparts_activelight_set__FP15LIGHT_INFLUENCEi(); -extern "C" static void dKy_bgparts_activelight_cut__Fi(); -extern "C" void dKy_actor_addcol_amb_set__Fsssf(); -extern "C" void dKy_bg_addcol_amb_set__Fsssf(); -extern "C" void dKy_bg1_addcol_amb_set__Fsssf(); -extern "C" static void dKy_bg2_addcol_amb_set__Fsssf(); -extern "C" static void dKy_bg3_addcol_amb_set__Fsssf(); -extern "C" void dKy_addcol_fog_set__Fsssf(); -extern "C" void dKy_actor_addcol_set__Fsssf(); -extern "C" void dKy_vrbox_addcol_sky0_set__Fsssf(); -extern "C" void dKy_vrbox_addcol_kasumi_set__Fsssf(); -extern "C" static void dKy_vrbox_addcol_set__Fsssf(); -extern "C" void dKy_fog_startendz_set__Ffff(); -extern "C" void dKy_Itemgetcol_chg_on__Fv(); -extern "C" static void dKy_Sound_init__Fv(); -extern "C" void dKy_Sound_set__F4cXyziUii(); -extern "C" void dKy_Sound_get__Fv(); -extern "C" void dKy_SordFlush_set__F4cXyzi(); -extern "C" static void GxFogSet_Sub__FP8_GXColor(); -extern "C" static void GxFog_set__Fv(); -extern "C" void dKy_GxFog_set__Fv(); -extern "C" void dKy_GxFog_tevstr_set__FP12dKy_tevstr_c(); -extern "C" void dKy_GfFog_tevstr_set__FP12dKy_tevstr_c(); -extern "C" static void GxXFog_set__Fv(); -extern "C" void dKy_change_colpat__FUc(); -extern "C" void dKy_custom_colset__FUcUcf(); -extern "C" void dKy_setLight_mine__FP12dKy_tevstr_c(); -extern "C" void dKy_tevstr_init__FP12dKy_tevstr_cScUc(); -extern "C" void dKy_rain_check__Fv(); -extern "C" void dKy_set_allcol_ratio__Ff(); -extern "C" void dKy_set_actcol_ratio__Ff(); -extern "C" void dKy_set_bgcol_ratio__Ff(); -extern "C" void dKy_set_fogcol_ratio__Ff(); -extern "C" void dKy_set_vrboxcol_ratio__Ff(); -extern "C" static void dKy_set_vrboxsoracol_ratio__Ff(); -extern "C" static void dKy_set_vrboxkumocol_ratio__Ff(); -extern "C" void dKy_itudemo_se__Fv(); -extern "C" void dKy_get_dayofweek__Fv(); -extern "C" void dKy_set_nexttime__Ff(); -extern "C" void dKy_instant_timechg__Ff(); -extern "C" void dKy_instant_rainchg__Fv(); -extern "C" static void NewAmbColGet__FP11_GXColorS10(); -extern "C" static void -dKy_ParticleColor_get_base__FP4cXyzP12dKy_tevstr_cP8_GXColorP8_GXColorP8_GXColorP8_GXColorf(); -extern "C" void -dKy_ParticleColor_get_actor__FP4cXyzP12dKy_tevstr_cP8_GXColorP8_GXColorP8_GXColorP8_GXColorf(); -extern "C" void -dKy_ParticleColor_get_bg__FP4cXyzP12dKy_tevstr_cP8_GXColorP8_GXColorP8_GXColorP8_GXColorf(); -extern "C" void dKy_BossLight_set__FP4cXyzP8_GXColorfUc(); -extern "C" void dKy_BossSpotLight_set__FP4cXyzfffP8_GXColorfUcUc(); -extern "C" void dKy_WolfEyeLight_set__FP4cXyzfffP8_GXColorfUcUc(); -extern "C" static void dKy_twilight_camelight_set__Fv(); -extern "C" static void dKy_WaterIn_Light_set__Fv(); -extern "C" void dKy_camera_water_in_status_set__FUc(); -extern "C" void dKy_camera_water_in_status_check__Fv(); -extern "C" void dKy_pol_efftype_get__FPC13cBgS_PolyInfo(); -extern "C" void dKy_pol_efftype2_get__FPC13cBgS_PolyInfo(); -extern "C" void dKy_pol_sound_get__FPC13cBgS_PolyInfo(); -extern "C" void dKy_pol_argument_get__FPC13cBgS_PolyInfo(); -extern "C" void dKy_pol_eff_prim_get__FPC13cBgS_PolyInfoP8_GXColor(); -extern "C" void dKy_pol_eff_env_get__FPC13cBgS_PolyInfoP8_GXColor(); -extern "C" void dKy_pol_eff2_prim_get__FPC13cBgS_PolyInfoP8_GXColor(); -extern "C" void dKy_pol_eff2_env_get__FPC13cBgS_PolyInfoP8_GXColor(); -extern "C" void dKy_pol_eff_alpha_get__FPC13cBgS_PolyInfo(); -extern "C" void dKy_pol_eff_ratio_get__FPC13cBgS_PolyInfo(); -extern "C" void dKy_pol_eff2_alpha_get__FPC13cBgS_PolyInfo(); -extern "C" void dKy_pol_eff2_ratio_get__FPC13cBgS_PolyInfo(); -extern "C" void dKy_TeachWind_existence_chk__Fv(); -extern "C" void dKy_SunMoon_Light_Check__Fv(); -extern "C" static void dKy_Outdoor_check__Fv(); -extern "C" static void dKy_Indoor_check__Fv(); -extern "C" bool dKy_withwarp_capture_check__Fv(); -extern "C" void dKy_depth_dist_set__FPv(); -extern "C" void dKy_darkworld_check__Fv(); -extern "C" static void dKy_F_SP121Check__FPCciPUci(); -extern "C" void dKy_darkworld_stage_check__FPCci(); -extern "C" void dKy_darkworld_spot_check__FPCci(); -extern "C" void dKy_darkworld_Area_set__FPCci(); -extern "C" static void dKy_murky_set__FP11J3DMaterial(); -extern "C" void dKy_shadow_mode_set__FUc(); -extern "C" void dKy_shadow_mode_reset__FUc(); -extern "C" void dKy_shadow_mode_check__FUc(); -extern "C" void dKy_bg_MAxx_proc__FPv(); -extern "C" void __dt__18dScnKy_env_light_cFv(); -extern "C" void __sinit_d_kankyo_cpp(); -extern "C" void dKankyo_DayProc__Fv(); -extern "C" extern char const* const d_kankyo_d_kankyo__stringBase0; -extern "C" extern u8 struct_80451070[8]; - -// -// External References: -// - -extern "C" void mDoAud_setSceneName__FPCcll(); -extern "C" void __dt__4cXyzFv(); -extern "C" void create__Q213mDoGph_gInf_c7bloom_cFv(); -extern "C" void mDoMtx_lookAt__FPA4_fPC3VecPC3Vecs(); -extern "C" void mDoMtx_inverseTranspose__FPA4_CfPA4_f(); -extern "C" void play__14mDoExt_baseAnmFv(); -extern "C" void init__13mDoExt_btkAnmFP16J3DMaterialTableP19J3DAnmTextureSRTKeyiifss(); -extern "C" void entry__13mDoExt_btkAnmFP16J3DMaterialTablef(); -extern "C" void mDoExt_modelUpdateDL__FP8J3DModel(); -extern "C" void mDoExt_createSolidHeapFromGameToCurrent__FUlUl(); -extern "C" void mDoExt_adjustSolidHeap__FP12JKRSolidHeap(); -extern "C" void mDoExt_destroySolidHeap__FP12JKRSolidHeap(); -extern "C" void mDoExt_restoreCurrentHeap__Fv(); -extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl(); -extern "C" void mDoLib_project__FP3VecP3Vec(); -extern "C" void getStatusRoomDt__20dStage_roomControl_cFi(); -extern "C" void getLayerNo_common__14dComIfG_play_cFPCcii(); -extern "C" void getLayerNo__14dComIfG_play_cFi(); -extern "C" void dComIfGs_sense_type_change_Get__Fv(); -extern "C" void dComIfG_getStageRes__FPCc(); -extern "C" void dComIfGp_world_dark_get__Fv(); -extern "C" void dComIfGs_PolyDamageOff_Set__FSc(); -extern "C" void isDarkClearLV__21dSv_player_status_b_cCFi(); -extern "C" void isSwitch__12dSv_memBit_cCFi(); -extern "C" void isDungeonItem__12dSv_memBit_cCFi(); -extern "C" void offEventBit__11dSv_event_cFUs(); -extern "C" void isEventBit__11dSv_event_cCFUs(); -extern "C" void isSwitch__10dSv_info_cCFii(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void -set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf(); -extern "C" void dKyd_dmpalet_getp__Fv(); -extern "C" void dKyd_dmpselect_getp__Fv(); -extern "C" void dKyd_dmenvr_getp__Fv(); -extern "C" void dKyd_dmvrbox_getp__Fv(); -extern "C" void dKyd_schejule_getp__Fv(); -extern "C" void dKyd_schejule_boss_getp__Fv(); -extern "C" void dKyd_xfog_table_set__FUc(); -extern "C" void dKyd_maple_col_getp__Fv(); -extern "C" void dKyd_darkworld_tbl_getp__Fv(); -extern "C" void dKyd_light_size_tbl_getp__Fv(); -extern "C" void dKyd_light_tw_size_tbl_getp__Fv(); -extern "C" void dKyd_BloomInf_tbl_getp__Fi(); -extern "C" void dKyw_wether_proc__Fv(); -extern "C" void dKyw_wind_set__Fv(); -extern "C" void dKyw_get_wind_vec__Fv(); -extern "C" void dKyw_rain_set__Fi(); -extern "C" void dKyr_get_vectle_calc__FP4cXyzP4cXyzP4cXyz(); -extern "C" void GroundCross__4cBgSFP11cBgS_GndChk(); -extern "C" void GetPolyAtt0__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void GetPolyAtt1__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void __ct__18dBgS_CamGndChk_WtrFv(); -extern "C" void __dt__18dBgS_CamGndChk_WtrFv(); -extern "C" void __dt__15LIGHT_INFLUENCEFv(); -extern "C" void checkNowWolfEyeUp__9daPy_py_cFv(); -extern "C" void dCam_getBody__Fv(); -extern "C" void getActor__12dMsgObject_cFv(); -extern "C" void __pl__4cXyzCFRC3Vec(); -extern "C" void __mi__4cXyzCFRC3Vec(); -extern "C" void __ml__4cXyzCFf(); -extern "C" void cM_rad2s__Ff(); -extern "C" void cM_atan2s__Fff(); -extern "C" void cM_rndF__Ff(); -extern "C" void SetPos__11cBgS_GndChkFPC4cXyz(); -extern "C" void cM3d_VectorProduct2d__Fffffff(); -extern "C" void cLib_addCalc__FPfffff(); -extern "C" void deleteAllParticle__14JPABaseEmitterFv(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void load2ndDynamicWave__10Z2SceneMgrFv(); -extern "C" void __ct__10Z2EnvSeMgrFv(); -extern "C" void __dt__10Z2EnvSeMgrFv(); -extern "C" void resetScene__10Z2EnvSeMgrFv(); -extern "C" void GFSetFog__F10_GXFogTypeffff8_GXColor(); -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); -extern "C" void getName__10JUTNameTabCFUs(); -extern "C" void __as__12J3DLightInfoFRC12J3DLightInfo(); -extern "C" void setEffectMtx__13J3DTexMtxInfoFPA4_f(); -extern "C" void simpleCalcMaterial__12J3DModelDataFUsPA4_f(); -extern "C" void init__12J3DFrameCtrlFs(); -extern "C" void __register_global_object(); -extern "C" void __destroy_arr(); -extern "C" void __construct_array(); -extern "C" void __cvt_fp2unsigned(); -extern "C" void _savefpr_29(); -extern "C" void _restfpr_29(); -extern "C" void _savegpr_14(); -extern "C" void _savegpr_16(); -extern "C" void _savegpr_17(); -extern "C" void _savegpr_19(); -extern "C" void _savegpr_21(); -extern "C" void _savegpr_22(); -extern "C" void _savegpr_23(); -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_14(); -extern "C" void _restgpr_16(); -extern "C" void _restgpr_17(); -extern "C" void _restgpr_19(); -extern "C" void _restgpr_21(); -extern "C" void _restgpr_22(); -extern "C" void _restgpr_23(); -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" u8 const tempBitLabels__20dSv_event_tmp_flag_c[370 + 2 /* padding */]; -extern "C" extern void* __vt__12J3DFrameCtrl[3]; -extern "C" extern void* g_fopKy_Method[5 + 1 /* padding */]; -extern "C" u8 m_bloom__13mDoGph_gInf_c[20]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" u8 mStatus__20dStage_roomControl_c[65792]; -extern "C" u8 sincosTable___5JMath[65536]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; - // setSunpos calls these functions as inlines somehow // these need to be moved to MSL_C once an appropriate solution is found inline float sinf(float x) { @@ -357,10 +30,6 @@ inline float cosf(float x) { return cos(x); } -// -// Declarations: -// - /* 8019C388-8019C3A4 196CC8 001C+00 2/2 0/0 0/0 .text dKy_WolfPowerup_AmbCol__FP11_GXColorS10 */ static void dKy_WolfPowerup_AmbCol(GXColorS10* in_col_p) { in_col_p->r = 40; @@ -658,84 +327,6 @@ static void dKy_WolfPowerup_BgAmbCol(GXColorS10* in_col_p) { } } -/* ############################################################################################## */ -/* 803BBEFC-803BBF3C -00001 0040+00 1/1 0/0 0/0 .data @4364 */ -SECTION_DATA static void* lit_4364[16] = { - (void*)(((char*)dKy_WolfPowerup_FogNearFar__FPfPf) + 0x168), - (void*)(((char*)dKy_WolfPowerup_FogNearFar__FPfPf) + 0x40), - (void*)(((char*)dKy_WolfPowerup_FogNearFar__FPfPf) + 0x54), - (void*)(((char*)dKy_WolfPowerup_FogNearFar__FPfPf) + 0x68), - (void*)(((char*)dKy_WolfPowerup_FogNearFar__FPfPf) + 0x7C), - (void*)(((char*)dKy_WolfPowerup_FogNearFar__FPfPf) + 0x90), - (void*)(((char*)dKy_WolfPowerup_FogNearFar__FPfPf) + 0xA4), - (void*)(((char*)dKy_WolfPowerup_FogNearFar__FPfPf) + 0xB8), - (void*)(((char*)dKy_WolfPowerup_FogNearFar__FPfPf) + 0xCC), - (void*)(((char*)dKy_WolfPowerup_FogNearFar__FPfPf) + 0xE0), - (void*)(((char*)dKy_WolfPowerup_FogNearFar__FPfPf) + 0xF4), - (void*)(((char*)dKy_WolfPowerup_FogNearFar__FPfPf) + 0x108), - (void*)(((char*)dKy_WolfPowerup_FogNearFar__FPfPf) + 0x11C), - (void*)(((char*)dKy_WolfPowerup_FogNearFar__FPfPf) + 0x130), - (void*)(((char*)dKy_WolfPowerup_FogNearFar__FPfPf) + 0x144), - (void*)(((char*)dKy_WolfPowerup_FogNearFar__FPfPf) + 0x158), -}; - -/* 80453BC0-80453BC4 0021C0 0004+00 1/1 0/0 0/0 .sdata2 @4345 */ -SECTION_SDATA2 static f32 lit_4345 = 750.0f; - -/* 80453BC4-80453BC8 0021C4 0004+00 1/1 0/0 0/0 .sdata2 @4346 */ -SECTION_SDATA2 static f32 lit_4346 = 1750.0f; - -/* 80453BC8-80453BCC 0021C8 0004+00 2/2 0/0 0/0 .sdata2 @4347 */ -SECTION_SDATA2 static f32 lit_4347 = 5000.0f; - -/* 80453BCC-80453BD0 0021CC 0004+00 1/1 0/0 0/0 .sdata2 @4348 */ -SECTION_SDATA2 static f32 lit_4348 = 40000.0f; - -/* 80453BD0-80453BD4 0021D0 0004+00 1/1 0/0 0/0 .sdata2 @4349 */ -SECTION_SDATA2 static f32 lit_4349 = 4000.0f; - -/* 80453BD4-80453BD8 0021D4 0004+00 1/1 0/0 0/0 .sdata2 @4350 */ -SECTION_SDATA2 static f32 lit_4350 = 12000.0f; - -/* 80453BD8-80453BDC 0021D8 0004+00 4/4 0/0 0/0 .sdata2 @4351 */ -SECTION_SDATA2 static f32 lit_4351 = 500.0f; - -/* 80453BDC-80453BE0 0021DC 0004+00 1/1 0/0 0/0 .sdata2 @4352 */ -SECTION_SDATA2 static f32 lit_4352 = 2250.0f; - -/* 80453BE0-80453BE4 0021E0 0004+00 4/4 0/0 0/0 .sdata2 @4353 */ -SECTION_SDATA2 static f32 lit_4353 = 1000.0f; - -/* 80453BE4-80453BE8 0021E4 0004+00 2/2 0/0 0/0 .sdata2 @4354 */ -SECTION_SDATA2 static f32 lit_4354 = 1800.0f; - -/* 80453BE8-80453BEC 0021E8 0004+00 1/1 0/0 0/0 .sdata2 @4355 */ -SECTION_SDATA2 static f32 lit_4355 = 2750.0f; - -/* 80453BEC-80453BF0 0021EC 0004+00 4/4 0/0 0/0 .sdata2 @4356 */ -SECTION_SDATA2 static f32 lit_4356 = 2000.0f; - -/* 80453BF0-80453BF4 0021F0 0004+00 2/2 0/0 0/0 .sdata2 @4357 */ -SECTION_SDATA2 static f32 lit_4357 = 3000.0f; - -/* 80453BF4-80453BF8 0021F4 0004+00 4/4 0/0 0/0 .sdata2 @4358 */ -SECTION_SDATA2 static f32 lit_4358 = 300.0f; - -/* 80453BF8-80453BFC 0021F8 0004+00 1/1 0/0 0/0 .sdata2 @4359 */ -SECTION_SDATA2 static f32 lit_4359 = 700.0f; - -/* 80453BFC-80453C00 0021FC 0004+00 4/4 0/0 0/0 .sdata2 @4360 */ -SECTION_SDATA2 static f32 lit_4360 = 1500.0f; - -/* 80453C00-80453C04 002200 0004+00 1/1 0/0 0/0 .sdata2 @4361 */ -SECTION_SDATA2 static f32 lit_4361 = 1250.0f; - -/* 80453C04-80453C08 002204 0004+00 2/2 0/0 0/0 .sdata2 @4362 */ -SECTION_SDATA2 static f32 lit_4362 = 80000.0f; - -/* 80453C08-80453C0C 002208 0004+00 1/1 0/0 0/0 .sdata2 @4363 */ -SECTION_SDATA2 static f32 lit_4363 = 4750.0f; - /* 8019CCDC-8019CE5C 19761C 0180+00 4/3 0/0 0/0 .text dKy_WolfPowerup_FogNearFar__FPfPf */ static void dKy_WolfPowerup_FogNearFar(f32* near_p, f32* far_p) { @@ -803,27 +394,6 @@ static void dKy_WolfPowerup_FogNearFar(f32* near_p, f32* far_p) { } } - -/* ############################################################################################## */ -/* 80453C0C-80453C10 00220C 0004+00 46/46 0/0 0/0 .sdata2 @4409 */ -SECTION_SDATA2 static u8 lit_4409[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - -/* 80453C10-80453C18 002210 0008+00 12/12 0/0 0/0 .sdata2 @4410 */ -SECTION_SDATA2 static f64 lit_4410 = 0.5; - -/* 80453C18-80453C20 002218 0008+00 12/12 0/0 0/0 .sdata2 @4411 */ -SECTION_SDATA2 static f64 lit_4411 = 3.0; - -/* 80453C20-80453C28 002220 0008+00 12/12 0/0 0/0 .sdata2 @4412 */ -SECTION_SDATA2 static u8 lit_4412[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; - /* 8019CE5C-8019CFE4 19779C 0188+00 1/1 0/0 0/0 .text dKy_pos2_get_angle__FP4cXyzP4cXyzPsPs */ static void dKy_pos2_get_angle(cXyz* param_0, cXyz* param_1, s16* param_2, s16* param_3) { cXyz sp28; @@ -837,15 +407,6 @@ static void dKy_pos2_get_angle(cXyz* param_0, cXyz* param_1, s16* param_2, s16* /* 8042CA54-8042DD64 059774 1310+00 116/118 128/128 649/649 .bss g_env_light */ dScnKy_env_light_c g_env_light; -/* 80453C28-80453C2C 002228 0004+00 1/1 0/0 0/0 .sdata2 @4441 */ -SECTION_SDATA2 static f32 lit_4441 = 0.0054931640625f; - -/* 80453C2C-80453C30 00222C 0004+00 13/13 0/0 0/0 .sdata2 @4442 */ -SECTION_SDATA2 static f32 lit_4442 = 90.0f; - -/* 80453C30-80453C38 002230 0008+00 25/25 0/0 0/0 .sdata2 @4444 */ -SECTION_SDATA2 static f64 lit_4444 = 4503601774854144.0 /* cast s32 to float */; - /* 8019CFE4-8019D1A0 197924 01BC+00 4/4 0/0 0/0 .text dKy_twi_wolflight_set__Fi */ static void dKy_twi_wolflight_set(int i_lightIdx) { dScnKy_env_light_c* env_light = dKy_getEnvlight(); @@ -888,11 +449,6 @@ static void dKy_twi_wolflight_set(int i_lightIdx) { env_light->field_0x0c18[i_lightIdx].mAngleY = cM_sht2d(-sp8) + 90.0f; } - -/* ############################################################################################## */ -/* 80453C38-80453C3C 002238 0004+00 1/1 0/0 0/0 .sdata2 @4477 */ -SECTION_SDATA2 static f32 lit_4477 = 57.2957763671875f; - /* 8019D1A0-8019D2C4 197AE0 0124+00 3/3 0/0 0/0 .text dKy_lightdir_set__FffP3Vec */ static void dKy_lightdir_set(f32 param_0, f32 param_1, Vec* param_2) { MtxP view_mtx = j3dSys.getViewMtx(); @@ -914,46 +470,6 @@ static void dKy_lightdir_set(f32 param_0, f32 param_1, Vec* param_2) { param_2->z = sp14.z; } - -/* ############################################################################################## */ -/* 803BBF3C-803BBF58 -00001 001C+00 1/1 0/0 0/0 .data @4511 */ -SECTION_DATA static void* lit_4511[7] = { - (void*)(((char*)dKy_GXInitLightSpot__FP12J3DLightInfofUc) + 0x158), - (void*)(((char*)dKy_GXInitLightSpot__FP12J3DLightInfofUc) + 0x78), - (void*)(((char*)dKy_GXInitLightSpot__FP12J3DLightInfofUc) + 0x8C), - (void*)(((char*)dKy_GXInitLightSpot__FP12J3DLightInfofUc) + 0xA8), - (void*)(((char*)dKy_GXInitLightSpot__FP12J3DLightInfofUc) + 0xC4), - (void*)(((char*)dKy_GXInitLightSpot__FP12J3DLightInfofUc) + 0xF0), - (void*)(((char*)dKy_GXInitLightSpot__FP12J3DLightInfofUc) + 0x120), -}; - -/* 80453C3C-80453C40 00223C 0004+00 1/1 0/0 0/0 .sdata2 @4502 */ -SECTION_SDATA2 static f32 lit_4502 = 3.1415927410125732f; - -/* 80453C40-80453C44 002240 0004+00 3/3 0/0 0/0 .sdata2 @4503 */ -SECTION_SDATA2 static f32 lit_4503 = 180.0f; - -/* 80453C44-80453C48 002244 0004+00 2/2 0/0 0/0 .sdata2 @4504 */ -SECTION_SDATA2 static f32 lit_4504 = -1000.0f; - -/* 80453C48-80453C4C 002248 0004+00 36/36 0/0 0/0 .sdata2 @4505 */ -SECTION_SDATA2 static f32 lit_4505 = 1.0f; - -/* 80453C4C-80453C50 00224C 0004+00 6/6 0/0 0/0 .sdata2 @4506 */ -SECTION_SDATA2 static f32 lit_4506 = 2.0f; - -/* 80453C50-80453C54 002250 0004+00 6/6 0/0 0/0 .sdata2 @4507 */ -SECTION_SDATA2 static f32 lit_4507 = -1.0f; - -/* 80453C54-80453C58 002254 0004+00 1/1 0/0 0/0 .sdata2 @4508 */ -SECTION_SDATA2 static f32 lit_4508 = -4.0f; - -/* 80453C58-80453C5C 002258 0004+00 2/2 0/0 0/0 .sdata2 @4509 */ -SECTION_SDATA2 static f32 lit_4509 = 4.0f; - -/* 80453C5C-80453C60 00225C 0004+00 1/1 0/0 0/0 .sdata2 @4510 */ -SECTION_SDATA2 static f32 lit_4510 = -2.0f; - /* 8019D2C4-8019D44C 197C04 0188+00 3/2 0/0 0/0 .text dKy_GXInitLightSpot__FP12J3DLightInfofUc */ static void dKy_GXInitLightSpot(J3DLightInfo* param_0, f32 param_1, u8 param_2) { if (param_1 <= 0.0f || param_1 > 90.0f) { @@ -1011,11 +527,6 @@ static void dKy_GXInitLightSpot(J3DLightInfo* param_0, f32 param_1, u8 param_2) param_0->mCosAtten.z = z; } - -/* ############################################################################################## */ -/* 80453C60-80453C64 002260 0004+00 8/8 0/0 0/0 .sdata2 @4529 */ -SECTION_SDATA2 static f32 lit_4529 = 0.5f; - /* 8019D44C-8019D520 197D8C 00D4+00 2/2 0/0 0/0 .text * dKy_GXInitLightDistAttn__FP12J3DLightInfoffUc */ static void dKy_GXInitLightDistAttn(J3DLightInfo* i_info, f32 param_1, f32 param_2, u8 param_3) { @@ -1062,19 +573,16 @@ static void dKy_GXInitLightDistAttn(J3DLightInfo* i_info, f32 param_1, f32 param i_info->mDistAtten.z = var_f0; } - /* 8019D520-8019D56C 197E60 004C+00 1/1 0/0 0/0 .text u8_data_ratio_set__FUcUcf */ static s16 u8_data_ratio_set(u8 param_0, u8 param_1, f32 param_2) { return param_0 + (int)(param_2 * (param_1 - param_0)); } - /* 8019D56C-8019D5BC 197EAC 0050+00 1/1 0/0 0/0 .text s16_data_ratio_set__Fssf */ static s16 s16_data_ratio_set(s16 param_0, s16 param_1, f32 param_2) { return param_0 + (s16)(param_2 * (param_1 - param_0)); } - /* 8019D5BC-8019D61C 197EFC 0060+00 1/1 0/0 0/0 .text kankyo_color_ratio_calc_common__Fsf */ static u8 kankyo_color_ratio_calc_common(s16 param_0, f32 param_1) { @@ -1089,7 +597,6 @@ static u8 kankyo_color_ratio_calc_common(s16 param_0, f32 param_1) { return color; } - /* 8019D61C-8019D68C 197F5C 0070+00 1/1 0/0 0/0 .text * kankyo_color_ratio_calc__FP8_GXColor11_GXColorS10f */ static void kankyo_color_ratio_calc(GXColor* o_color, GXColorS10 param_1, f32 param_2) { @@ -1103,8 +610,7 @@ static void kankyo_color_ratio_calc(GXColor* o_color, GXColorS10 param_1, f32 pa } /* 8019D68C-8019D790 197FCC 0104+00 2/2 0/0 0/0 .text kankyo_color_ratio_set__FUcUcfUcUcfsf */ -// one wrong reg -#ifdef NONMATCHING +// NONMATCHING one wrong reg static s16 kankyo_color_ratio_set(u8 i_b0A, u8 i_b0B, f32 i_blendAB0, u8 i_b1A, u8 i_b1B, f32 i_blendAB1, s16 i_add, f32 i_mul) { s16 a = s16_data_ratio_set(i_b0A, i_b0B, i_blendAB0); @@ -1122,12 +628,6 @@ static s16 kankyo_color_ratio_set(u8 i_b0A, u8 i_b0B, f32 i_blendAB0, u8 i_b1A, return rt; } -#else -static s16 kankyo_color_ratio_set(u8 param_0, u8 param_1, f32 param_2, u8 param_3, u8 param_4, - f32 param_5, s16 param_6, f32 param_7) { - // NONMATCHING -} -#endif /* 8019D790-8019D7A0 1980D0 0010+00 1/1 0/0 0/0 .text fl_data_ratio_set__Ffff */ static f32 fl_data_ratio_set(f32 param_0, f32 param_1, f32 param_2) { @@ -1160,22 +660,11 @@ static f32 get_parcent(f32 param_0, f32 param_1, f32 param_2) { return 1.0f; } - /* 8019D8AC-8019D8CC 1981EC 0020+00 0/0 1/1 1/1 .text dKy_get_parcent__Ffff */ f32 dKy_get_parcent(f32 param_0, f32 param_1, f32 param_2) { return get_parcent(param_0, param_1, param_2); } -/* ############################################################################################## */ -/* 80453C64-80453C68 002264 0004+00 4/4 0/0 0/0 .sdata2 @4730 */ -SECTION_SDATA2 static f32 lit_4730 = 1.0f / 10.0f; - -/* 80453C68-80453C6C 002268 0004+00 9/9 0/0 0/0 .sdata2 @4731 */ -SECTION_SDATA2 static f32 lit_4731 = 1.0f / 100.0f; - -/* 80453C6C-80453C70 00226C 0004+00 8/8 0/0 0/0 .sdata2 @4732 */ -SECTION_SDATA2 static f32 lit_4732 = 255.0f; - /* 8019D8CC-8019DD4C 19820C 0480+00 1/1 0/0 0/0 .text dKy_FiveSenses_fullthrottle_dark_static1__Fv */ static void dKy_FiveSenses_fullthrottle_dark_static1() { @@ -1282,26 +771,6 @@ void dKy_FiveSenses_fullthrottle_dark() { dKy_FiveSenses_fullthrottle_dark_static1(); } -/* ############################################################################################## */ -/* 80394C6C-80394C6C 0212CC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80394DD8 = "D_MN09"; -#pragma pop - -/* 80453C70-80453C74 002270 0004+00 4/4 0/0 0/0 .sdata2 @4850 */ -SECTION_SDATA2 static f32 lit_4850 = 1000000.0f; - -/* 80453C74-80453C78 002274 0004+00 1/1 0/0 0/0 .sdata2 @4851 */ -SECTION_SDATA2 static f32 lit_4851 = 800.0f; - -/* 80453C78-80453C80 002278 0004+04 3/3 0/0 0/0 .sdata2 @4852 */ -SECTION_SDATA2 static f32 lit_4852[1 + 1 /* padding */] = { - 250.0f, - /* padding */ - 0.0f, -}; - /* 8019DD6C-8019E13C 1986AC 03D0+00 3/3 0/0 0/0 .text dKy_light_influence_id__F4cXyzi */ static int dKy_light_influence_id(cXyz param_0, int param_1) { f32 var_f31 = 1000000.0f; @@ -1378,7 +847,6 @@ static int dKy_light_influence_id(cXyz param_0, int param_1) { } } - /* 8019E13C-8019E404 198A7C 02C8+00 2/2 0/0 0/0 .text dKy_eflight_influence_id__F4cXyzi */ static int dKy_eflight_influence_id(cXyz param_0, int param_1) { @@ -1414,17 +882,12 @@ static int dKy_eflight_influence_id(cXyz param_0, int param_1) { } } - /* 8019E404-8019E430 198D44 002C+00 1/1 0/0 0/0 .text dKy_light_influence_col__Fi */ static GXColorS10 dKy_light_influence_col(int param_0) { dScnKy_env_light_c* env_light = &g_env_light; return env_light->mPointLight[param_0 >= 0 ? param_0 : 0]->mColor; } -/* ############################################################################################## */ -/* 80453C80-80453C88 002280 0008+00 14/14 0/0 0/0 .sdata2 @4964 */ -SECTION_SDATA2 static f64 lit_4964 = 4503599627370496.0 /* cast u32 to float */; - /* 8019E430-8019E520 198D70 00F0+00 4/4 3/3 0/0 .text dKy_light_influence_col__FP8_GXColorf */ GXColor dKy_light_influence_col(GXColor* i_color, f32 param_1) { GXColor out_color; @@ -1453,7 +916,6 @@ GXColor dKy_light_influence_col(GXColor* i_color, f32 param_1) { return out_color; } - /* 8019E520-8019E548 198E60 0028+00 1/1 0/0 0/0 .text dKy_light_influence_power__Fi */ static f32 dKy_light_influence_power(int param_0) { dScnKy_env_light_c* env_light = &g_env_light; @@ -1471,14 +933,9 @@ static f32 dKy_light_influence_distance(cXyz param_0, int i_lightIdx) { return param_0.abs(g_env_light.mPointLight[i_lightIdx >= 0 ? i_lightIdx : 0]->mPosition); } - -/* ############################################################################################## */ -/* 80453C88-80453C8C 002288 0004+00 2/2 0/0 0/0 .sdata2 @5077 */ -SECTION_SDATA2 static f32 lit_5077 = 99999.8984375f; - /* 8019E694-8019E708 198FD4 0074+00 2/2 0/0 0/0 .text plight_init__Fv */ static void plight_init() { - g_env_light.mLightInfluence[0].mPow = lit_5077; + g_env_light.mLightInfluence[0].mPow = 99999.9f; for (int i = 0; i < 100; i++) { g_env_light.mPointLight[i] = NULL; @@ -1500,10 +957,6 @@ static void darkmist_init() { } } -/* ############################################################################################## */ -/* 80453C8C-80453C90 00228C 0004+00 6/6 0/0 0/0 .sdata2 @5106 */ -SECTION_SDATA2 static f32 lit_5106 = 200.0f; - /* 8019E734-8019E854 199074 0120+00 1/1 0/0 0/0 .text plight_set__Fv */ static void plight_set() { int idx = 0; @@ -1532,7 +985,6 @@ static void plight_set() { } } - /* 8019E854-8019E874 199194 0020+00 1/1 0/0 0/0 .text bgparts_activelight_init__Fv */ static void bgparts_activelight_init() { int i = 0; @@ -1541,33 +993,16 @@ static void bgparts_activelight_init() { } } -/* ############################################################################################## */ -/* 803BBF58-803BBFB8 019078 0060+00 1/1 0/0 0/0 .data test_pos_tbl$5126 */ -static Vec test_pos_tbl[] = { - {0.0f, -99999.0f, 0.0f}, {0.0f, -99999.0f, 0.0f}, {0.0f, -99999.0f, 0.0f}, - {0.0f, -99999.0f, 0.0f}, {0.0f, -99999.0f, 0.0f}, {0.0f, -99999.0f, 0.0f}, - {0.0f, -99999.0f, 0.0f}, {0.0f, -99999.0f, 0.0f}, -}; - -/* 803BBFB8-803BBFD0 0190D8 0018+00 1/1 0/0 0/0 .data test_color_tbl$5127 */ -static color_RGB_class test_color_tbl[] = { - {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, -}; - -/* 80453C90-80453C94 002290 0004+00 5/5 0/0 0/0 .sdata2 @5191 */ -SECTION_SDATA2 static f32 lit_5191 = 99.0f / 100.0f; - -/* 80453C94-80453C98 002294 0004+00 9/9 0/0 0/0 .sdata2 @5192 */ -SECTION_SDATA2 static f32 lit_5192 = 100.0f; - -/* 80453C98-80453C9C 002298 0004+00 1/1 0/0 0/0 .sdata2 @5193 */ -SECTION_SDATA2 static f32 lit_5193 = -90.0f; - -/* 80453C9C-80453CA0 00229C 0004+00 3/3 0/0 0/0 .sdata2 @5194 */ -SECTION_SDATA2 static f32 lit_5194 = 0.0010000000474974513f; - /* 8019E874-8019EAA0 1991B4 022C+00 1/1 0/0 0/0 .text dungeonlight_init__Fv */ static void dungeonlight_init() { + static Vec test_pos_tbl[] = { + {0.0f, -99999.0f, 0.0f}, {0.0f, -99999.0f, 0.0f}, {0.0f, -99999.0f, 0.0f}, + {0.0f, -99999.0f, 0.0f}, {0.0f, -99999.0f, 0.0f}, {0.0f, -99999.0f, 0.0f}, + {0.0f, -99999.0f, 0.0f}, {0.0f, -99999.0f, 0.0f}, + }; + static color_RGB_class test_color_tbl[] = { + {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, + }; dScnKy_env_light_c* env_light = dKy_getEnvlight(); for (int i = 0; i < 8; i++) { @@ -1613,7 +1048,6 @@ static void dungeonlight_init() { } } - /* 8019EAA0-8019EBD0 1993E0 0130+00 1/1 0/0 0/0 .text undwater_init__Fv */ static void undwater_init() { J3DModelData* modelData2 = (J3DModelData*)dComIfG_getObjectRes("Always", 0x1D); @@ -1631,7 +1065,7 @@ static void undwater_init() { J3DAnmTextureSRTKey* pbtk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("Always", 0x3C); g_env_light.mpUndwaterBtk->init(modelData2, pbtk, TRUE, J3DFrameCtrl::LOOP_REPEAT_e, - lit_4505, 0, -1); + 1.0f, 0, -1); } else { JUT_ASSERT(0); } @@ -1667,37 +1101,12 @@ static void dKy_light_size_get(char const* stage) { } } -/* ############################################################################################## */ -/* 80394C6C-80394C6C 0212CC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80394DE6 = "F_SP127"; -#pragma pop - -/* 80453CA0-80453CA4 0022A0 0004+00 2/2 0/0 0/0 .sdata2 @5344 */ -SECTION_SDATA2 static f32 lit_5344 = 11.0f / 100.0f; - -/* 80453CA4-80453CA8 0022A4 0004+00 1/1 0/0 0/0 .sdata2 @5345 */ -SECTION_SDATA2 static f32 lit_5345 = -255.0f; - -/* 80453CA8-80453CAC 0022A8 0004+00 3/3 0/0 0/0 .sdata2 @5346 */ -SECTION_SDATA2 static f32 lit_5346 = 999999.875f; - -/* 80453CAC-80453CB0 0022AC 0004+00 7/7 0/0 0/0 .sdata2 @5347 */ -SECTION_SDATA2 static f32 lit_5347 = 15.0f; - -/* 80453CB0-80453CB4 0022B0 0004+00 3/3 0/0 0/0 .sdata2 @5348 */ -SECTION_SDATA2 static f32 lit_5348 = 360.0f; - -/* 80453CB4-80453CB8 0022B4 0004+00 1/1 0/0 0/0 .sdata2 @5349 */ -SECTION_SDATA2 static f32 lit_5349 = 0.012000000104308128f; - /* 8019EC98-8019F264 1995D8 05CC+00 1/1 0/0 0/0 .text envcolor_init__Fv */ static void envcolor_init() { stage_palette_info_class* palette = dComIfGp_getStagePaletteInfo(); stage_pselect_info_class* pselect = dComIfGp_getStagePselectInfo(); stage_envr_info_class* envr = dComIfGp_getStageEnvrInfo(); - stage_vrbox_info_class* vrbox = dComIfGp_getStageVrboxcolInfo(); + stage_vrboxcol_info_class* vrbox = dComIfGp_getStageVrboxcolInfo(); dKy_actor_addcol_set(0, 0, 0, 0.0f); dKy_fog_startendz_set(0.0f, 0.0f, 0.0f); @@ -1841,7 +1250,7 @@ static void envcolor_init() { if (vrbox != NULL) { g_env_light.mpDmVrbox = vrbox; } else { - g_env_light.mpDmVrbox = (stage_vrbox_info_class*)dKyd_dmvrbox_getp(); + g_env_light.mpDmVrbox = (stage_vrboxcol_info_class*)dKyd_dmvrbox_getp(); } plight_init(); @@ -1875,11 +1284,6 @@ static void envcolor_init() { memset(&g_env_light.mMoyaSE, 0, 0x10); } - -/* ############################################################################################## */ -/* 80453CB8-80453CBC 0022B8 0004+00 3/3 0/0 0/0 .sdata2 @5365 */ -SECTION_SDATA2 static f32 lit_5365 = 120.0f; - /* 8019F264-8019F2E8 199BA4 0084+00 1/1 1/1 0/0 .text dKy_clear_game_init__Fv */ void dKy_clear_game_init() { dKy_actor_addcol_set(0, 0, 0, 0.0f); @@ -1903,277 +1307,21 @@ void dKy_clear_game_init() { g_env_light.field_0x130c = 0; } - -/* ############################################################################################## */ -/* 803BBFD0-803BBFF0 -00001 0020+00 1/1 0/0 0/0 .data @5842 */ -SECTION_DATA static void* lit_5842[8] = { - (void*)(((char*)setLight_palno_get__18dScnKy_env_light_cFPUcPUcPUcPUcPUcPUcPUcPUcPfPiPiPfPUc) + - 0x3D8), - (void*)(((char*)setLight_palno_get__18dScnKy_env_light_cFPUcPUcPUcPUcPUcPUcPUcPUcPfPiPiPfPUc) + - 0x3E0), - (void*)(((char*)setLight_palno_get__18dScnKy_env_light_cFPUcPUcPUcPUcPUcPUcPUcPUcPfPiPiPfPUc) + - 0x3E8), - (void*)(((char*)setLight_palno_get__18dScnKy_env_light_cFPUcPUcPUcPUcPUcPUcPUcPUcPfPiPiPfPUc) + - 0x3F0), - (void*)(((char*)setLight_palno_get__18dScnKy_env_light_cFPUcPUcPUcPUcPUcPUcPUcPUcPfPiPiPfPUc) + - 0x3F8), - (void*)(((char*)setLight_palno_get__18dScnKy_env_light_cFPUcPUcPUcPUcPUcPUcPUcPUcPfPiPiPfPUc) + - 0x400), - (void*)(((char*)setLight_palno_get__18dScnKy_env_light_cFPUcPUcPUcPUcPUcPUcPUcPUcPfPiPiPfPUc) + - 0x408), - (void*)(((char*)setLight_palno_get__18dScnKy_env_light_cFPUcPUcPUcPUcPUcPUcPUcPUcPfPiPiPfPUc) + - 0x410), -}; - -/* 803BBFF0-803BC010 -00001 0020+00 1/1 0/0 0/0 .data @5841 */ -SECTION_DATA static void* lit_5841[8] = { - (void*)(((char*)setLight_palno_get__18dScnKy_env_light_cFPUcPUcPUcPUcPUcPUcPUcPUcPfPiPiPfPUc) + - 0x168), - (void*)(((char*)setLight_palno_get__18dScnKy_env_light_cFPUcPUcPUcPUcPUcPUcPUcPUcPfPiPiPfPUc) + - 0x170), - (void*)(((char*)setLight_palno_get__18dScnKy_env_light_cFPUcPUcPUcPUcPUcPUcPUcPUcPfPiPiPfPUc) + - 0x178), - (void*)(((char*)setLight_palno_get__18dScnKy_env_light_cFPUcPUcPUcPUcPUcPUcPUcPUcPfPiPiPfPUc) + - 0x180), - (void*)(((char*)setLight_palno_get__18dScnKy_env_light_cFPUcPUcPUcPUcPUcPUcPUcPUcPfPiPiPfPUc) + - 0x188), - (void*)(((char*)setLight_palno_get__18dScnKy_env_light_cFPUcPUcPUcPUcPUcPUcPUcPUcPfPiPiPfPUc) + - 0x190), - (void*)(((char*)setLight_palno_get__18dScnKy_env_light_cFPUcPUcPUcPUcPUcPUcPUcPUcPfPiPiPfPUc) + - 0x198), - (void*)(((char*)setLight_palno_get__18dScnKy_env_light_cFPUcPUcPUcPUcPUcPUcPUcPUcPfPiPiPfPUc) + - 0x1A0), -}; - -/* 803BC010-803BC028 019130 0018+00 1/1 0/0 0/0 .data now_shadow_alpha$5927 */ -SECTION_DATA static u8 now_shadow_alpha[24] = { - 0x3E, 0x80, 0x00, 0x00, 0x3E, 0xB3, 0x33, 0x33, 0x3F, 0x19, 0x99, 0x9A, - 0x3F, 0x19, 0x99, 0x9A, 0x3E, 0x80, 0x00, 0x00, 0x3E, 0xB3, 0x33, 0x33, -}; - -/* 803BC028-803BC050 -00001 0028+00 1/1 0/0 0/0 .data @6776 */ -SECTION_DATA static void* lit_6776[10] = { - (void*)(((char*) - settingTevStruct_plightcol_plus__18dScnKy_env_light_cFP4cXyzP12dKy_tevstr_c11_GXColorS1011_GXColorS10Uc) + - 0x72C), - (void*)(((char*) - settingTevStruct_plightcol_plus__18dScnKy_env_light_cFP4cXyzP12dKy_tevstr_c11_GXColorS1011_GXColorS10Uc) + - 0x4D4), - (void*)(((char*) - settingTevStruct_plightcol_plus__18dScnKy_env_light_cFP4cXyzP12dKy_tevstr_c11_GXColorS1011_GXColorS10Uc) + - 0x528), - (void*)(((char*) - settingTevStruct_plightcol_plus__18dScnKy_env_light_cFP4cXyzP12dKy_tevstr_c11_GXColorS1011_GXColorS10Uc) + - 0x558), - (void*)(((char*) - settingTevStruct_plightcol_plus__18dScnKy_env_light_cFP4cXyzP12dKy_tevstr_c11_GXColorS1011_GXColorS10Uc) + - 0x4F0), - (void*)(((char*) - settingTevStruct_plightcol_plus__18dScnKy_env_light_cFP4cXyzP12dKy_tevstr_c11_GXColorS1011_GXColorS10Uc) + - 0x50C), - (void*)(((char*) - settingTevStruct_plightcol_plus__18dScnKy_env_light_cFP4cXyzP12dKy_tevstr_c11_GXColorS1011_GXColorS10Uc) + - 0x6A8), - (void*)(((char*) - settingTevStruct_plightcol_plus__18dScnKy_env_light_cFP4cXyzP12dKy_tevstr_c11_GXColorS1011_GXColorS10Uc) + - 0x5B0), - (void*)(((char*) - settingTevStruct_plightcol_plus__18dScnKy_env_light_cFP4cXyzP12dKy_tevstr_c11_GXColorS1011_GXColorS10Uc) + - 0x72C), - (void*)(((char*) - settingTevStruct_plightcol_plus__18dScnKy_env_light_cFP4cXyzP12dKy_tevstr_c11_GXColorS1011_GXColorS10Uc) + - 0x584), -}; - -/* 803BC050-803BC070 -00001 0020+00 1/1 0/0 0/0 .data @7029 */ -SECTION_DATA static void* lit_7029[8] = { - (void*)(((char*)settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c) + 0x8F8), - (void*)(((char*)settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c) + 0x904), - (void*)(((char*)settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c) + 0x910), - (void*)(((char*)settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c) + 0x91C), - (void*)(((char*)settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c) + 0x928), - (void*)(((char*)settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c) + 0x934), - (void*)(((char*)settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c) + 0x940), - (void*)(((char*)settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c) + 0x94C), -}; - -/* 803BC070-803BC080 019190 0010+00 0/1 0/0 0/0 .data flush_col$7304 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 flush_col[16] = { - 0x01, 0x00, 0x00, 0x00, 0x04, 0x43, 0x73, 0x58, 0x0A, 0x25, 0x3E, 0x2D, 0x14, 0x00, 0x00, 0x00, -}; -#pragma pop - -/* 803BC080-803BC090 0191A0 0010+00 0/1 0/0 0/0 .data flush_col2$7305 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 flush_col2[16] = { - 0x01, 0x00, 0x00, 0x00, 0x04, 0x6E, 0x5A, 0x00, 0x08, 0x4B, 0x22, 0x00, 0x0F, 0x00, 0x00, 0x00, -}; -#pragma pop - -/* 803BC090-803BC0A0 0191B0 0010+00 0/1 0/0 0/0 .data flush_col3$7306 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 flush_col3[16] = { - 0x01, 0x00, 0x00, 0x00, 0x04, 0x46, 0x4D, 0x43, 0x0F, 0x22, 0x1E, 0x00, 0x14, 0x00, 0x00, 0x00, -}; -#pragma pop - -/* 803BC0A0-803BC0B4 -00001 0014+00 1/0 0/0 0/0 .data l_dKy_Method */ -SECTION_DATA static void* l_dKy_Method[5] = { - (void*)dKy_Create__FPv, - (void*)dKy_Delete__FP17sub_kankyo__class, - (void*)dKy_Execute__FP17sub_kankyo__class, - (void*)dKy_IsDelete__FP17sub_kankyo__class, - (void*)dKy_Draw__FP17sub_kankyo__class, -}; - -/* 803BC0B4-803BC0DC -00001 0028+00 0/0 0/0 1/0 .data g_profile_KANKYO */ -SECTION_DATA extern void* g_profile_KANKYO[10] = { - (void*)0xFFFFFFFD, (void*)0x0001FFFD, (void*)0x00130000, (void*)&g_fpcLf_Method, - (void*)0x000000F8, (void*)NULL, (void*)NULL, (void*)&g_fopKy_Method, - (void*)0x00020000, (void*)&l_dKy_Method, -}; - -/* 803BC0DC-803BC13C 0191FC 0030+30 1/1 0/0 0/0 .data parcent_tabel$9036 */ -SECTION_DATA static u8 parcent_tabel[48 + 48 /* padding */] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x3F, - 0x33, - 0x33, - 0x33, - 0x3E, - 0x99, - 0x99, - 0x9A, - 0x00, - 0x00, - 0x00, - 0x00, - 0x3F, - 0x19, - 0x99, - 0x9A, - 0x3E, - 0x99, - 0x99, - 0x9A, - 0x3D, - 0xCC, - 0xCC, - 0xCD, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, -}; - -/* 803BC13C-803BC158 01925C 000C+10 2/2 0/0 0/0 .data __vt__18dScnKy_env_light_c */ -SECTION_DATA extern void* __vt__18dScnKy_env_light_c[3 + 4 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__18dScnKy_env_light_cFv, - /* padding */ - NULL, - NULL, - NULL, - NULL, -}; - /* 8019F2E8-8019F400 199C28 0118+00 1/1 0/0 0/0 .text __ct__18dScnKy_env_light_cFv */ dScnKy_env_light_c::dScnKy_env_light_c() { dKy_clear_game_init(); } -/* ############################################################################################## */ -/* 80453CBC-80453CC0 0022BC 0004+00 5/5 0/0 0/0 .sdata2 @5554 */ -SECTION_SDATA2 static f32 lit_5554 = 60.0f; - -/* 80453CC0-80453CC4 0022C0 0004+00 3/3 0/0 0/0 .sdata2 @5555 */ -SECTION_SDATA2 static f32 lit_5555 = 150.0f; - -/* 80453CC4-80453CC8 0022C4 0004+00 1/1 0/0 0/0 .sdata2 @5556 */ -SECTION_SDATA2 static f32 lit_5556 = 195.0f; - /* 8019F4FC-8019F780 199E3C 0284+00 1/1 0/0 0/0 .text setDaytime__18dScnKy_env_light_cFv */ +// NONMATCHING getTimePass size mismatch void dScnKy_env_light_c::setDaytime() { mDate = dComIfGs_getDate(); mDaytime = dComIfGs_getTime(); if (field_0x12fb == 0) { if (!dKy_darkworld_check()) { - if (!dComIfGp_event_runCheck()) { + if (dComIfGp_event_runCheck() == FALSE) { msg_class* ac = dMsgObject_c::getActor(); bool tmp = true; @@ -2226,37 +1374,6 @@ void dScnKy_env_light_c::setDaytime() { g_env_light.field_0x12fb = 0; } - -/* 8019F780-8019F788 19A0C0 0008+00 1/1 0/0 0/0 .text GetTimePass__20dStage_roomControl_cFv */ -s8 dStage_roomControl_c::GetTimePass() { - return m_time_pass; -} - -/* ############################################################################################## */ -/* 80394C6C-80394C6C 0212CC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80394DEE = "F_SP200"; -#pragma pop - -/* 80453CC8-80453CCC 0022C8 0004+00 2/2 0/0 0/0 .sdata2 @5613 */ -SECTION_SDATA2 static f32 lit_5613 = 270.0f; - -/* 80453CCC-80453CD0 0022CC 0004+00 1/1 0/0 0/0 .sdata2 @5614 */ -SECTION_SDATA2 static f32 lit_5614 = 105.0f; - -/* 80453CD0-80453CD4 0022D0 0004+00 3/3 0/0 0/0 .sdata2 @5615 */ -SECTION_SDATA2 static f32 lit_5615 = 450.0f; - -/* 80453CD4-80453CD8 0022D4 0004+00 1/1 0/0 0/0 .sdata2 @5616 */ -SECTION_SDATA2 static f32 lit_5616 = 210.0f; - -/* 80453CD8-80453CDC 0022D8 0004+00 1/1 0/0 0/0 .sdata2 @5617 */ -SECTION_SDATA2 static f32 lit_5617 = 0.01745329238474369f; - -/* 80453CDC-80453CE0 0022DC 0004+00 1/1 0/0 0/0 .sdata2 @5618 */ -SECTION_SDATA2 static f32 lit_5618 = -48000.0f; - /* 8019F788-8019FA08 19A0C8 0280+00 1/1 0/0 0/0 .text setSunpos__18dScnKy_env_light_cFv */ void dScnKy_env_light_c::setSunpos() { @@ -2322,7 +1439,6 @@ void dScnKy_env_light_c::setSunpos() { } } - /* 8019FA08-8019FA10 19A348 0008+00 3/3 5/5 1/1 .text getDaytime__18dScnKy_env_light_cFv */ f32 dScnKy_env_light_c::getDaytime() { @@ -2331,7 +1447,7 @@ f32 dScnKy_env_light_c::getDaytime() { /* 8019FA10-8019FA3C 19A350 002C+00 2/2 2/2 32/32 .text dKy_getdaytime_hour__Fv */ s32 dKy_getdaytime_hour() { - return dComIfGs_getTime() / lit_5347; + return dComIfGs_getTime() / 15.0f; } /* 8019FA3C-8019FAB8 19A37C 007C+00 1/1 1/1 26/26 .text dKy_getdaytime_minute__Fv */ @@ -2340,7 +1456,6 @@ s32 dKy_getdaytime_minute() { return tmp / 1000000.0f / 15.0f * 60.0f; } - /* 8019FAB8-8019FAF4 19A3F8 003C+00 0/0 3/3 6/6 .text dKy_daynight_check__Fv */ s32 dKy_daynight_check() { s32 hour = dKy_getdaytime_hour(); @@ -2354,20 +1469,15 @@ s32 dKy_daynight_check() { /* 8019FAF4-8019FB30 19A434 003C+00 0/0 0/0 22/22 .text dKy_getDarktime_hour__Fv */ s32 dKy_getDarktime_hour() { - return g_env_light.getDarkDaytime() / lit_5347; + return g_env_light.getDarkDaytime() / 15.0f; } /* 8019FB30-8019FBBC 19A470 008C+00 0/0 0/0 19/19 .text dKy_getDarktime_minute__Fv */ -#ifdef NONMATCHING +// NONMATCHING float literal load order s32 dKy_getDarktime_minute() { f32 tmp = ((s32)(g_env_light.getDarkDaytime() * 1000000.0f) % 15000000); return tmp / 1000000.0f / 15.0f * 60.0f; } -#else -s32 dKy_getDarktime_minute() { - // NONMATCHING -} -#endif /* 8019FBBC-8019FBCC 19A4FC 0010+00 0/0 0/0 8/8 .text dKy_getDarktime_week__Fv */ s32 dKy_getDarktime_week() { @@ -2379,20 +1489,6 @@ f32 dScnKy_env_light_c::getDarkDaytime() { return mDarkDaytime; } -/* ############################################################################################## */ -/* 80394C6C-80394C6C 0212CC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80394DF6 = "D_MN08D"; -SECTION_DEAD static char const* const stringBase_80394DFE = "F_SP121"; -#pragma pop - -/* 80453CE0-80453CE4 0022E0 0004+00 1/1 0/0 0/0 .sdata2 @5839 */ -SECTION_SDATA2 static f32 lit_5839 = 1.0f / 30.0f; - -/* 80453CE4-80453CE8 0022E4 0004+00 1/1 0/0 0/0 .sdata2 @5840 */ -SECTION_SDATA2 static f32 lit_5840 = 1.0f / 15.0f; - /* 8019FBD4-801A0340 19A514 076C+00 5/3 0/0 0/0 .text * setLight_palno_get__18dScnKy_env_light_cFPUcPUcPUcPUcPUcPUcPUcPUcPfPiPiPfPUc */ void dScnKy_env_light_c::setLight_palno_get(u8* i_envrSel0, u8* i_envrSel1, u8* i_pSelIdx0, @@ -2665,7 +1761,6 @@ void dScnKy_env_light_c::setLight_palno_get(u8* i_envrSel0, u8* i_envrSel1, u8* } } - /* 801A0340-801A040C 19AC80 00CC+00 3/3 0/0 0/0 .text * dKy_calc_color_set__FP11_GXColorS10P15color_RGB_classP15color_RGB_classP15color_RGB_classP15color_RGB_classff11_GXColorS10f */ @@ -2681,46 +1776,6 @@ static void dKy_calc_color_set(GXColorS10* o_calcColor, color_RGB_class* i_col0A i_col1B->b, i_blendAB1, i_addCol.b, i_mul); } -/* ############################################################################################## */ -/* 80451068-80451070 -00001 0008+00 2/2 0/0 0/0 .sbss None */ -/* 80451068 0002+00 data_80451068 S_fuwan_sin$5904 */ -/* 8045106A 0001+00 data_8045106A None */ -/* 8045106B 0005+00 data_8045106B None */ -static u8 S_fuwan_sin[8]; - -/* 80453CE8-80453CEC 0022E8 0004+00 3/3 0/0 0/0 .sdata2 @6032 */ -SECTION_SDATA2 static f32 lit_6032 = 100000.0f; - -/* 80453CEC-80453CF0 0022EC 0004+00 5/5 0/0 0/0 .sdata2 @6033 */ -SECTION_SDATA2 static f32 lit_6033 = 0.25f; - -/* 80453CF0-80453CF4 0022F0 0004+00 2/2 0/0 0/0 .sdata2 @6034 */ -SECTION_SDATA2 static f32 lit_6034 = 9.9999998245167e-14f; - -/* 80453CF4-80453CF8 0022F4 0004+00 4/4 0/0 0/0 .sdata2 @6035 */ -SECTION_SDATA2 static f32 lit_6035 = 1.0f / 5.0f; - -/* 80453CF8-80453CFC 0022F8 0004+00 3/3 0/0 0/0 .sdata2 @6036 */ -SECTION_SDATA2 static f32 lit_6036 = 4.0f / 5.0f; - -/* 80453CFC-80453D00 0022FC 0004+00 3/3 0/0 0/0 .sdata2 @6037 */ -SECTION_SDATA2 static f32 lit_6037 = 2.0f / 5.0f; - -/* 80453D00-80453D04 002300 0004+00 2/2 0/0 0/0 .sdata2 @6038 */ -SECTION_SDATA2 static f32 lit_6038 = 13.0f / 20.0f; - -/* 80453D04-80453D08 002304 0004+00 1/1 0/0 0/0 .sdata2 @6039 */ -SECTION_SDATA2 static f32 lit_6039 = 11.0f / 20.0f; - -/* 80453D08-80453D0C 002308 0004+00 4/4 0/0 0/0 .sdata2 @6040 */ -SECTION_SDATA2 static f32 lit_6040 = 1.0f / 20.0f; - -/* 80453D0C-80453D10 00230C 0004+00 1/1 0/0 0/0 .sdata2 @6041 */ -SECTION_SDATA2 static f32 lit_6041 = 0.004999999888241291f; - -/* 80453D10-80453D14 002310 0004+00 9/9 0/0 0/0 .sdata2 @6042 */ -SECTION_SDATA2 static f32 lit_6042 = 9.999999974752427e-07f; - inline bool checkZoraWearFlg() { return dComIfGs_getSelectEquipClothes() == WEAR_ZORA; } @@ -3030,10 +2085,10 @@ void dScnKy_env_light_c::setLight() { cLib_addCalc(&field_0x1238, var_f30, 0.05f, 0.005f, 0.000001f); } - stage_vrbox_info_class* vrbox0_p = &g_env_light.mpDmVrbox[pale0_p->mVirtIdx]; - stage_vrbox_info_class* vrbox1_p = &g_env_light.mpDmVrbox[pale1_p->mVirtIdx]; - stage_vrbox_info_class* vrbox2_p = &g_env_light.mpDmVrbox[pale2_p->mVirtIdx]; - stage_vrbox_info_class* vrbox3_p = &g_env_light.mpDmVrbox[pale3_p->mVirtIdx]; + stage_vrboxcol_info_class* vrbox0_p = &g_env_light.mpDmVrbox[pale0_p->mVirtIdx]; + stage_vrboxcol_info_class* vrbox1_p = &g_env_light.mpDmVrbox[pale1_p->mVirtIdx]; + stage_vrboxcol_info_class* vrbox2_p = &g_env_light.mpDmVrbox[pale2_p->mVirtIdx]; + stage_vrboxcol_info_class* vrbox3_p = &g_env_light.mpDmVrbox[pale3_p->mVirtIdx]; mVrSkyCol.r = kankyo_color_ratio_set( vrbox0_p->field_0x0.r, vrbox1_p->field_0x0.r, blendAB, vrbox2_p->field_0x0.r, @@ -3152,7 +2207,6 @@ void dScnKy_env_light_c::setLight() { } } - /* 801A133C-801A16C0 19BC7C 0384+00 2/2 0/0 0/0 .text * setLight_bg__18dScnKy_env_light_cFP12dKy_tevstr_cP11_GXColorS10P11_GXColorS10PfPf */ void dScnKy_env_light_c::setLight_bg(dKy_tevstr_c* i_tevstr, GXColorS10* param_1, @@ -3248,8 +2302,7 @@ void dScnKy_env_light_c::setLight_bg(dKy_tevstr_c* i_tevstr, GXColorS10* param_1 /* 801A16C0-801A1D64 19C000 06A4+00 1/1 0/0 0/0 .text * setLight_actor__18dScnKy_env_light_cFP12dKy_tevstr_cP11_GXColorS10PfPf */ -// mostly done, just regalloc -#ifdef NONMATCHING +// NONMATCHING regalloc void dScnKy_env_light_c::setLight_actor(dKy_tevstr_c* i_tevstr, GXColorS10* i_fogColor, f32* i_fogStartZ, f32* i_fogEndZ) { u8 palIdx0A; @@ -3414,12 +2467,6 @@ void dScnKy_env_light_c::setLight_actor(dKy_tevstr_c* i_tevstr, GXColorS10* i_fo } } } -#else -void dScnKy_env_light_c::setLight_actor(dKy_tevstr_c* param_0, _GXColorS10* param_1, - f32* param_2, f32* param_3) { - // NONMATCHING -} -#endif /* 801A1D64-801A1F58 19C6A4 01F4+00 1/1 0/0 0/0 .text * settingTevStruct_colget_actor__18dScnKy_env_light_cFP4cXyzP12dKy_tevstr_cP11_GXColorS10P11_GXColorS10PfPf @@ -3472,7 +2519,6 @@ void dScnKy_env_light_c::settingTevStruct_colget_actor(cXyz* param_0, dKy_tevstr } } - /* 801A1F58-801A2090 19C898 0138+00 1/1 0/0 0/0 .text * settingTevStruct_colget_player__18dScnKy_env_light_cFP12dKy_tevstr_c */ void dScnKy_env_light_c::settingTevStruct_colget_player(dKy_tevstr_c* i_tevstr) { @@ -3504,7 +2550,6 @@ void dScnKy_env_light_c::settingTevStruct_colget_player(dKy_tevstr_c* i_tevstr) } } - /* 801A2090-801A2128 19C9D0 0098+00 1/1 0/0 0/0 .text cLib_addCalcU8__FPUcUcss */ static void cLib_addCalcU8(u8* i_value, u8 i_target, s16 i_scale, s16 i_maxStep) { s16 step, value; @@ -3526,48 +2571,29 @@ static void cLib_addCalcU8(u8* i_value, u8 i_target, s16 i_scale, s16 i_maxStep) *i_value = value; } -/* ############################################################################################## */ -/* 80453D14-80453D18 002314 0004+00 1/1 0/0 0/0 .sdata2 @6761 */ -SECTION_SDATA2 static f32 lit_6761 = 40.0f; +/* 803BC070-803BC080 019190 0010+00 0/1 0/0 0/0 .data flush_col$7304 */ +#pragma push +#pragma force_active on +SECTION_DATA static u8 flush_col[16] = { + 0x01, 0x00, 0x00, 0x00, 0x04, 0x43, 0x73, 0x58, 0x0A, 0x25, 0x3E, 0x2D, 0x14, 0x00, 0x00, 0x00, +}; +#pragma pop -/* 80453D18-80453D1C 002318 0004+00 1/1 0/0 0/0 .sdata2 @6762 */ -SECTION_SDATA2 static f32 lit_6762 = -800.0f; +/* 803BC080-803BC090 0191A0 0010+00 0/1 0/0 0/0 .data flush_col2$7305 */ +#pragma push +#pragma force_active on +SECTION_DATA static u8 flush_col2[16] = { + 0x01, 0x00, 0x00, 0x00, 0x04, 0x6E, 0x5A, 0x00, 0x08, 0x4B, 0x22, 0x00, 0x0F, 0x00, 0x00, 0x00, +}; +#pragma pop -/* 80453D1C-80453D20 00231C 0004+00 1/1 0/0 0/0 .sdata2 @6763 */ -SECTION_SDATA2 static f32 lit_6763 = -120.0f; - -/* 80453D20-80453D24 002320 0004+00 2/2 0/0 0/0 .sdata2 @6764 */ -SECTION_SDATA2 static f32 lit_6764 = 80.0f; - -/* 80453D24-80453D28 002324 0004+00 3/3 0/0 0/0 .sdata2 @6765 */ -SECTION_SDATA2 static f32 lit_6765 = 10000.0f; - -/* 80453D28-80453D2C 002328 0004+00 3/3 0/0 0/0 .sdata2 @6766 */ -SECTION_SDATA2 static f32 lit_6766 = 10.0f; - -/* 80453D2C-80453D30 00232C 0004+00 1/1 0/0 0/0 .sdata2 @6767 */ -SECTION_SDATA2 static f32 lit_6767 = -20.0f; - -/* 80453D30-80453D34 002330 0004+00 4/4 0/0 0/0 .sdata2 @6768 */ -SECTION_SDATA2 static f32 lit_6768 = 9.999999747378752e-05f; - -/* 80453D34-80453D38 002334 0004+00 3/3 0/0 0/0 .sdata2 @6769 */ -SECTION_SDATA2 static f32 lit_6769 = 0.75f; - -/* 80453D38-80453D3C 002338 0004+00 1/1 0/0 0/0 .sdata2 @6770 */ -SECTION_SDATA2 static f32 lit_6770 = 21.0f / 100.0f; - -/* 80453D3C-80453D40 00233C 0004+00 1/1 0/0 0/0 .sdata2 @6771 */ -SECTION_SDATA2 static f32 lit_6771 = -35.0f; - -/* 80453D40-80453D44 002340 0004+00 2/2 0/0 0/0 .sdata2 @6772 */ -SECTION_SDATA2 static f32 lit_6772 = 9.999999747378752e-06f; - -/* 80453D44-80453D48 002344 0004+00 1/1 0/0 0/0 .sdata2 @6773 */ -SECTION_SDATA2 static f32 lit_6773 = -100.0f; - -/* 80453D48-80453D4C 002348 0004+00 1/1 0/0 0/0 .sdata2 @6774 */ -SECTION_SDATA2 static f32 lit_6774 = 1.0f / 25.0f; +/* 803BC090-803BC0A0 0191B0 0010+00 0/1 0/0 0/0 .data flush_col3$7306 */ +#pragma push +#pragma force_active on +SECTION_DATA static u8 flush_col3[16] = { + 0x01, 0x00, 0x00, 0x00, 0x04, 0x46, 0x4D, 0x43, 0x0F, 0x22, 0x1E, 0x00, 0x14, 0x00, 0x00, 0x00, +}; +#pragma pop /* 801A2128-801A37C4 19CA68 169C+00 2/1 0/0 0/0 .text * settingTevStruct_plightcol_plus__18dScnKy_env_light_cFP4cXyzP12dKy_tevstr_c11_GXColorS1011_GXColorS10Uc @@ -3584,61 +2610,9 @@ Z2EnvSeMgr g_mEnvSeMgr; /* 8042E07C-8042E7BC 05AD9C 0740+00 5/4 0/0 0/0 .bss lightStatusData */ static LightStatus lightStatusData[8]; -/* 80453D4C-80453D50 00234C 0004+00 1/1 0/0 0/0 .sdata2 @7011 */ -SECTION_SDATA2 static f32 lit_7011 = 30000.0f; - -/* 80453D50-80453D54 002350 0004+00 3/3 0/0 0/0 .sdata2 @7012 */ -SECTION_SDATA2 static f32 lit_7012 = 0.9999899864196777f; - -/* 80453D54-80453D58 002354 0004+00 1/1 0/0 0/0 .sdata2 @7013 */ -SECTION_SDATA2 static f32 lit_7013 = -500.0f; - -/* 80453D58-80453D5C 002358 0004+00 1/1 0/0 0/0 .sdata2 @7014 */ -SECTION_SDATA2 static f32 lit_7014 = -30000.0f; - -/* 80453D5C-80453D60 00235C 0004+00 1/1 0/0 0/0 .sdata2 @7015 */ -SECTION_SDATA2 static f32 lit_7015 = 18800.0f; - -/* 80453D60-80453D64 002360 0004+00 1/1 0/0 0/0 .sdata2 @7016 */ -SECTION_SDATA2 static f32 lit_7016 = 29000.0f; - -/* 80453D64-80453D68 002364 0004+00 1/1 0/0 0/0 .sdata2 @7017 */ -SECTION_SDATA2 static f32 lit_7017 = -37000.0f; - -/* 80453D68-80453D6C 002368 0004+00 1/1 0/0 0/0 .sdata2 @7018 */ -SECTION_SDATA2 static f32 lit_7018 = 14400.0f; - -/* 80453D6C-80453D70 00236C 0004+00 1/1 0/0 0/0 .sdata2 @7019 */ -SECTION_SDATA2 static f32 lit_7019 = 7500.0f; - -/* 80453D70-80453D74 002370 0004+00 1/1 0/0 0/0 .sdata2 @7020 */ -SECTION_SDATA2 static f32 lit_7020 = 3900.0f; - -/* 80453D74-80453D78 002374 0004+00 1/1 0/0 0/0 .sdata2 @7021 */ -SECTION_SDATA2 static f32 lit_7021 = 18000.0f; - -/* 80453D78-80453D7C 002378 0004+00 1/1 0/0 0/0 .sdata2 @7022 */ -SECTION_SDATA2 static f32 lit_7022 = -6500.0f; - -/* 80453D7C-80453D80 00237C 0004+00 1/1 0/0 0/0 .sdata2 @7023 */ -SECTION_SDATA2 static f32 lit_7023 = -10000.0f; - -/* 80453D80-80453D84 002380 0004+00 1/1 0/0 0/0 .sdata2 @7024 */ -SECTION_SDATA2 static f32 lit_7024 = 3.0f / 10.0f; - -/* 80453D84-80453D88 002384 0004+00 2/2 0/0 0/0 .sdata2 @7025 */ -SECTION_SDATA2 static f32 lit_7025 = 3.0f / 5.0f; - -/* 80453D88-80453D8C 002388 0004+00 2/2 0/0 0/0 .sdata2 @7026 */ -SECTION_SDATA2 static f32 lit_7026 = 9.0f / 10.0f; - -/* 80453D8C-80453D90 00238C 0004+00 2/2 0/0 0/0 .sdata2 @7027 */ -SECTION_SDATA2 static f32 lit_7027 = 6.0f / 5.0f; - /* 801A37C4-801A441C 19E104 0C58+00 2/1 14/14 515/515 .text * settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c */ -// almost, just some regalloc + literals -#ifdef NONMATCHING +// NONMATCHING regalloc void dScnKy_env_light_c::settingTevStruct(int i_tevstrType, cXyz* param_1, dKy_tevstr_c* i_tevstr) { dScnKy_env_light_c* env_light = dKy_getEnvlight(); u8 var_r30 = i_tevstr->mInitTimer; @@ -4056,23 +3030,11 @@ void dScnKy_env_light_c::settingTevStruct(int i_tevstrType, cXyz* param_1, dKy_t i_tevstr->mFogStartZ = fog_z_start; i_tevstr->mFogEndZ = fog_z_end; } -#else -void dScnKy_env_light_c::settingTevStruct(int param_0, cXyz* param_1, dKy_tevstr_c* param_2) { - // NONMATCHING -} -#endif /* 801A441C-801A4420 19ED5C 0004+00 0/0 0/0 2/2 .text * setLightTevColorType__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c */ void dScnKy_env_light_c::setLightTevColorType(J3DModelData* param_0, dKy_tevstr_c* param_1) {} -/* ############################################################################################## */ -/* 80453D90-80453D94 002390 0004+00 1/1 0/0 0/0 .sdata2 @7186 */ -SECTION_SDATA2 static f32 lit_7186 = 185.0f; - -/* 80453D94-80453D98 002394 0004+00 1/1 0/0 0/0 .sdata2 @7187 */ -SECTION_SDATA2 static f32 lit_7187 = 95.0f; - /* 801A4420-801A4C08 19ED60 07E8+00 2/2 0/0 0/0 .text * setLightTevColorType_MAJI_sub__FP11J3DMaterialP12dKy_tevstr_ci */ static void setLightTevColorType_MAJI_sub(J3DMaterial* param_0, dKy_tevstr_c* param_1, @@ -4190,18 +3152,11 @@ void dScnKy_env_light_c::Eflight_flush_proc() { // NONMATCHING } -/* ############################################################################################## */ /* 80450700-80450704 000180 0002+02 2/2 0/0 0/0 .sdata lightMask */ -SECTION_SDATA static u16 lightMask = 0x0001; +static u16 lightMask = 0x0001; /* 80450704-80450708 -00001 0004+00 3/3 0/0 0/0 .sdata lightStatusPt */ -SECTION_SDATA static LightStatus* lightStatusPt = lightStatusData; - -/* 80453D98-80453D9C 002398 0004+00 1/1 0/0 0/0 .sdata2 @7365 */ -SECTION_SDATA2 static f32 lit_7365 = 67.5f; - -/* 80453D9C-80453DA0 00239C 0004+00 1/1 0/0 0/0 .sdata2 @7366 */ -SECTION_SDATA2 static f32 lit_7366 = 292.5f; +static LightStatus* lightStatusPt = lightStatusData; /* 801A516C-801A5288 19FAAC 011C+00 1/1 0/0 0/0 .text SetBaseLight__18dScnKy_env_light_cFv */ void dScnKy_env_light_c::SetBaseLight() { @@ -4210,8 +3165,7 @@ void dScnKy_env_light_c::SetBaseLight() { /* 801A5288-801A56DC 19FBC8 0454+00 1/1 0/0 0/0 .text exeKankyo__18dScnKy_env_light_cFv */ -// one instruction swap -#ifdef NONMATCHING +// NONMATCHING one instruction swap void dScnKy_env_light_c::exeKankyo() { for (int i = 0; i < 6; i++) { field_0x0c18[i].field_0x26 = 0; @@ -4332,11 +3286,6 @@ void dScnKy_env_light_c::exeKankyo() { } } } -#else -void dScnKy_env_light_c::exeKankyo() { - // NONMATCHING -} -#endif /* 801A56DC-801A572C 1A001C 0050+00 1/1 0/0 0/0 .text drawKankyo__18dScnKy_env_light_cFv */ @@ -4347,7 +3296,6 @@ void dScnKy_env_light_c::drawKankyo() { dKy_setLight_nowroom(g_env_light.mEnvrIdxPrev); } -/* ############################################################################################## */ /* 8042E7BC-8042E7C8 05B4DC 000C+00 0/1 0/0 0/0 .bss @7485 */ #pragma push #pragma force_active on @@ -4417,19 +3365,6 @@ static int dKy_Delete(sub_kankyo__class* i_this) { return 1; } -/* ############################################################################################## */ -/* 80394C6C-80394C6C 0212CC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80394E06 = "pol_efftbl.dat"; -SECTION_DEAD static char const* const stringBase_80394E15 = "pol_effcol.dat"; -SECTION_DEAD static char const* const stringBase_80394E24 = "pol_efftbl2.dat"; -SECTION_DEAD static char const* const stringBase_80394E34 = "pol_effcol2.dat"; -SECTION_DEAD static char const* const stringBase_80394E44 = "pol_sound.dat"; -SECTION_DEAD static char const* const stringBase_80394E52 = "pol_arg.dat"; -SECTION_DEAD static char const* const stringBase_80394E5E = "colordata_tbl.dat"; -#pragma pop - /* 801A5C1C-801A5E54 1A055C 0238+00 1/0 0/0 0/0 .text dKy_Create__FPv */ static int dKy_Create(void* i_this) { BOOL setNextTime = false; @@ -4552,7 +3487,7 @@ static void dKy_setLight_nowroom_common(char param_0, f32 param_1) { /* 801A6C20-801A6C58 1A1560 0038+00 2/2 1/1 0/0 .text dKy_setLight_nowroom__Fc */ void dKy_setLight_nowroom(char param_0) { if (dComIfGp_getCamera(0) != NULL) { - dKy_setLight_nowroom_common(param_0, lit_4505); + dKy_setLight_nowroom_common(param_0, 1.0f); } } @@ -4842,14 +3777,6 @@ static void dKy_vrbox_addcol_set(s16 param_0, s16 param_1, s16 param_2, f32 para dKy_addcol_fog_set(param_0, param_1, param_2, param_3); } -/* ############################################################################################## */ -/* 80394C6C-80394C6C 0212CC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80394E90 = - "\ndKy_fog_startendz_set ratio error!\n"; -#pragma pop - /* 801A80D0-801A8168 1A2A10 0098+00 1/1 0/0 2/2 .text dKy_fog_startendz_set__Ffff */ void dKy_fog_startendz_set(f32 param_0, f32 param_1, f32 ratio) { if (ratio < 0.0f || ratio > 1.0f) { @@ -4878,10 +3805,9 @@ void dKy_Itemgetcol_chg_on() { /* 801A8190-801A81C0 1A2AD0 0030+00 2/2 0/0 0/0 .text dKy_Sound_init__Fv */ static void dKy_Sound_init() { - f32 tmp = lit_5346; - g_env_light.mSound.field_0x0.x = tmp; - g_env_light.mSound.field_0x0.y = tmp; - g_env_light.mSound.field_0x0.z = tmp; + g_env_light.mSound.field_0x0.x = 999999.9f; + g_env_light.mSound.field_0x0.y = 999999.9f; + g_env_light.mSound.field_0x0.z = 999999.9f; g_env_light.mSound.field_0xc = 0; g_env_light.mSound.field_0x14 = -1; g_env_light.mSound.field_0x10 = 0; @@ -4964,13 +3890,13 @@ void dKy_change_colpat(u8 colpat) { return; } - g_env_light.mColPatBlendGather = FLOAT_LABEL(lit_4409); + g_env_light.mColPatBlendGather = 0.0f; } /* 801A880C-801A8854 1A314C 0048+00 0/0 0/0 25/25 .text dKy_custom_colset__FUcUcf */ void dKy_custom_colset(u8 prevGather, u8 curGather, f32 blend) { if (g_env_light.mInitAnmTimer != 1) { - if (blend < lit_4505) { + if (blend < 1.0f) { g_env_light.mColpatPrevGather = prevGather; } else { g_env_light.mColpatPrevGather = curGather; @@ -6255,8 +5181,119 @@ void dKy_bg_MAxx_proc(void* param_0) { } #endif -/* 801ADBBC-801ADCA4 1A84FC 00E8+00 2/1 0/0 0/0 .text __dt__18dScnKy_env_light_cFv */ -// dScnKy_env_light_c::~dScnKy_env_light_c() { -extern "C" void __dt__18dScnKy_env_light_cFv() { - // NONMATCHING -} +/* 803BC0A0-803BC0B4 -00001 0014+00 1/0 0/0 0/0 .data l_dKy_Method */ +SECTION_DATA static void* l_dKy_Method[5] = { + (void*)dKy_Create, + (void*)dKy_Delete, + (void*)dKy_Execute, + (void*)dKy_IsDelete, + (void*)dKy_Draw, +}; + +/* 803BC0B4-803BC0DC -00001 0028+00 0/0 0/0 1/0 .data g_profile_KANKYO */ +SECTION_DATA extern void* g_profile_KANKYO[10] = { + (void*)0xFFFFFFFD, (void*)0x0001FFFD, (void*)0x00130000, (void*)&g_fpcLf_Method, + (void*)0x000000F8, (void*)NULL, (void*)NULL, (void*)&g_fopKy_Method, + (void*)0x00020000, (void*)&l_dKy_Method, +}; + +/* 803BC0DC-803BC13C 0191FC 0030+30 1/1 0/0 0/0 .data parcent_tabel$9036 */ +SECTION_DATA static u8 parcent_tabel[48 + 48 /* padding */] = { + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x3F, + 0x80, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x3F, + 0x33, + 0x33, + 0x33, + 0x3E, + 0x99, + 0x99, + 0x9A, + 0x00, + 0x00, + 0x00, + 0x00, + 0x3F, + 0x19, + 0x99, + 0x9A, + 0x3E, + 0x99, + 0x99, + 0x9A, + 0x3D, + 0xCC, + 0xCC, + 0xCD, + /* padding */ + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, +}; diff --git a/src/d/d_kankyo_rain.cpp b/src/d/d_kankyo_rain.cpp index dde407565f..5cb984b02a 100644 --- a/src/d/d_kankyo_rain.cpp +++ b/src/d/d_kankyo_rain.cpp @@ -187,20 +187,6 @@ extern "C" u8 sOldVcdVatCmd__8J3DShape[4]; // Declarations: // -/* ############################################################################################## */ -/* 804521B0-804521B8 0007B0 0008+00 19/19 0/0 0/0 .sdata2 @3953 */ -SECTION_SDATA2 static u8 lit_3953[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; - -/* 804521B8-804521BC 0007B8 0004+00 31/31 0/0 0/0 .sdata2 @3954 */ -SECTION_SDATA2 static u8 lit_3954[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - /* 8005B660-8005B708 055FA0 00A8+00 3/3 0/0 0/0 .text vectle_calc__FP10DOUBLE_POSP4cXyz */ static void vectle_calc(DOUBLE_POS* i_pos, cXyz* o_out) { @@ -217,7 +203,6 @@ static void vectle_calc(DOUBLE_POS* i_pos, cXyz* o_out) { } } - /* 8005B708-8005B760 056048 0058+00 7/7 0/0 0/0 .text get_vectle_calc__FP4cXyzP4cXyzP4cXyz */ static void get_vectle_calc(cXyz* param_0, cXyz* param_1, cXyz* param_2) { DOUBLE_POS pos; @@ -234,17 +219,13 @@ void dKyr_get_vectle_calc(cXyz* param_0, cXyz* param_1, cXyz* param_2) { get_vectle_calc(param_0, param_1, param_2); } -/* ############################################################################################## */ -/* 804521BC-804521C0 0007BC 0004+00 4/4 0/0 0/0 .sdata2 @3970 */ -SECTION_SDATA2 static f32 lit_3970 = 200.0f; - /* 8005B780-8005B830 0560C0 00B0+00 2/2 0/0 0/0 .text * dKy_set_eyevect_calc__FP12camera_classP3Vecff */ static void dKy_set_eyevect_calc(camera_class* i_camera, Vec* param_1, f32 param_2, f32 param_3) { cXyz tmp; get_vectle_calc(&i_camera->mLookat.mEye, &i_camera->mLookat.mCenter, &tmp); param_1->x = i_camera->mLookat.mEye.x + tmp.x * param_2; - param_1->y = (i_camera->mLookat.mEye.y + tmp.y * param_3) - lit_3970; + param_1->y = (i_camera->mLookat.mEye.y + tmp.y * param_3) - 200.0f; param_1->z = i_camera->mLookat.mEye.z + tmp.z * param_2; } @@ -273,17 +254,6 @@ static void dKy_set_eyevect_calc2(camera_class* i_camera, Vec* param_1, f32 para } } - -/* ############################################################################################## */ -/* 804521C0-804521C4 0007C0 0004+00 1/1 0/0 0/0 .sdata2 @3992 */ -SECTION_SDATA2 static f32 lit_3992 = 0.125f; - -/* 804521C4-804521C8 0007C4 0004+00 9/9 0/0 0/0 .sdata2 @3993 */ -SECTION_SDATA2 static f32 lit_3993 = 0.01f; - -/* 804521C8-804521D0 0007C8 0008+00 15/15 0/0 0/0 .sdata2 @3995 */ -SECTION_SDATA2 static f64 lit_3995 = 4503601774854144.0 /* cast s32 to float */; - /* 8005B92C-8005BA24 05626C 00F8+00 5/5 0/0 0/0 .text * dKyr_set_btitex_common__FP9_GXTexObjP7ResTIMG11_GXTexMapID */ static void dKyr_set_btitex_common(GXTexObj* i_obj, ResTIMG* i_img, GXTexMapID i_mapID) { @@ -299,49 +269,11 @@ static void dKyr_set_btitex_common(GXTexObj* i_obj, ResTIMG* i_img, GXTexMapID i GXLoadTexObj(i_obj, i_mapID); } - /* 8005BA24-8005BA48 056364 0024+00 12/12 0/0 0/0 .text dKyr_set_btitex__FP9_GXTexObjP7ResTIMG */ static void dKyr_set_btitex(GXTexObj* i_obj, ResTIMG* i_img) { dKyr_set_btitex_common(i_obj, i_img, GX_TEXMAP0); } -/* ############################################################################################## */ -/* 804521D0-804521D4 0007D0 0004+00 4/4 0/0 0/0 .sdata2 @4103 */ -SECTION_SDATA2 static f32 lit_4103 = 0.0001; - -/* 804521D4-804521D8 0007D4 0004+00 4/4 0/0 0/0 .sdata2 @4104 */ -SECTION_SDATA2 static f32 lit_4104 = 4000.0f; - -/* 804521D8-804521DC 0007D8 0004+00 2/2 0/0 0/0 .sdata2 @4105 */ -SECTION_SDATA2 static f32 lit_4105 = 304.0f; - -/* 804521DC-804521E0 0007DC 0004+00 2/2 0/0 0/0 .sdata2 @4106 */ -SECTION_SDATA2 static f32 lit_4106 = 224.0f; - -/* 804521E0-804521E4 0007E0 0004+00 2/2 0/0 0/0 .sdata2 @4107 */ -SECTION_SDATA2 static f32 lit_4107 = 0.0054931640625f; - -/* 804521E4-804521E8 0007E4 0004+00 6/6 0/0 0/0 .sdata2 @4108 */ -SECTION_SDATA2 static f32 lit_4108 = 180.0f; - -/* 804521E8-804521F0 0007E8 0008+00 17/17 0/0 0/0 .sdata2 @4109 */ -SECTION_SDATA2 static f64 lit_4109 = 0.5; - -/* 804521F0-804521F8 0007F0 0008+00 17/17 0/0 0/0 .sdata2 @4110 */ -SECTION_SDATA2 static f64 lit_4110 = 3.0; - -/* 804521F8-804521FC 0007F8 0004+00 6/6 0/0 0/0 .sdata2 @4111 */ -SECTION_SDATA2 static f32 lit_4111 = 250.0f; - -/* 804521FC-80452200 0007FC 0004+00 4/4 0/0 0/0 .sdata2 @4112 */ -SECTION_SDATA2 static f32 lit_4112 = 600.0f; - -/* 80452200-80452204 000800 0004+00 2/2 0/0 0/0 .sdata2 @4113 */ -SECTION_SDATA2 static f32 lit_4113 = 110.0f; - -/* 80452204-80452208 000804 0004+00 1/1 0/0 0/0 .sdata2 @4114 */ -SECTION_SDATA2 static f32 lit_4114 = 4100.0f; - /* 8005BA48-8005BED8 056388 0490+00 0/0 1/1 0/0 .text dKyr_lenzflare_move__Fv */ void dKyr_lenzflare_move() { dKankyo_sun_Packet* sun_p = g_env_light.mpSunPacket; @@ -352,7 +284,7 @@ void dKyr_lenzflare_move() { cXyz cStack_54; cXyz local_60; cXyz cStack_6c; - if (sun_p->mVisibility < 0.0001) { + if (sun_p->mVisibility < 0.0001f) { return; } dKy_set_eyevect_calc(iVar6, &cStack_48, 4000.0f, 4000.0f); @@ -365,10 +297,10 @@ void dKyr_lenzflare_move() { mDoLib_project(lenz_p->mPositions, &cStack_84); local_90.x = 304.0f; local_90.y = 224.0f; - local_90.z = 0.0054931640625f; // Maybe 45 / 8192 + local_90.z = 0.0f; dKyr_get_vectle_calc(&local_90, &cStack_84, &local_78); lenz_p->field_0x94 = cM_atan2s(local_78.x, local_78.y); - lenz_p->field_0x94 *= 0.0054931640625f; + lenz_p->field_0x94 *= 0.0054931640625f; // Maybe 45 / 8192 lenz_p->field_0x94 += 180.0f; dKyr_get_vectle_calc(&iVar6->mLookat.mEye, &iVar6->mLookat.mCenter, &cStack_6c); @@ -392,132 +324,16 @@ void dKyr_lenzflare_move() { } } - -/* ############################################################################################## */ -/* 80452208-8045220C 000808 0004+00 3/3 0/0 0/0 .sdata2 @4126 */ -SECTION_SDATA2 static f32 lit_4126 = 285.0f; - /* 8005BED8-8005BF08 056818 0030+00 1/1 0/0 0/0 .text dKyr_moon_arrival_check__Fv */ static int dKyr_moon_arrival_check() { int rv = 0; - if (g_env_light.mDaytime > lit_4126 || g_env_light.mDaytime < 67.5f) { + if (g_env_light.mDaytime > 285.0f || g_env_light.mDaytime < 67.5f) { rv = 1; } return rv; } -/* ############################################################################################## */ -/* 8037A4C0-8037A4E8 006B20 0028+00 1/1 0/0 0/0 .rodata sun_chkpnt$4155 */ -SECTION_RODATA static f32 const sun_chkpnt[5][2] = { - {0.0f, 0.0f}, {-10.0f, -20.0f}, {10.0f, 20.0f}, {-20.0f, 10.0f}, {20.0f, -10.0f}, -}; -COMPILER_STRIP_GATE(0x8037A4C0, &sun_chkpnt); - -/* 8037A578-8037A578 006BD8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8037A578 = "F_SP200"; -SECTION_DEAD static char const* const stringBase_8037A580 = "D_MN09B"; -#pragma pop - -/* 803A9BA0-803A9BAC 006CC0 000C+00 1/1 0/0 0/0 .data sun_color$4213 */ -SECTION_DATA static GXColor sun_color[3] = { - {255, 255, 253, 255}, - {255, 255, 255, 255}, - {255, 255, 253, 255}, -}; - -/* 803A9BAC-803A9BB8 006CCC 000C+00 1/1 0/0 0/0 .data sun_color2$4214 */ -SECTION_DATA static GXColor sun_color2[3] = { - {255, 110, 43, 255}, - {156, 121, 92, 255}, - {255, 78, 0, 255}, -}; - -/* 80450EE8-80450EEC 0003E8 0004+00 1/1 0/0 0/0 .sbss S_parcent_bak$4131 */ -static f32 S_parcent_bak; - -/* 80450EEC-80450EF0 -00001 0004+00 2/2 0/0 0/0 .sbss None */ -/* 80450EEC 0002+00 data_80450EEC None */ -/* 80450EEE 0002+00 data_80450EEE S_rot_work1$7554 */ -static s8 struct_80450EEC[4]; - -/* 80452210-80452214 000810 0004+00 4/4 0/0 0/0 .sdata2 @4353 */ -SECTION_SDATA2 static f32 lit_4353 = 8000.0f; - -/* 80452214-80452218 000814 0004+00 26/26 0/0 0/0 .sdata2 @4354 */ -SECTION_SDATA2 static f32 lit_4354 = 1.0f; - -/* 80452218-8045221C 000818 0004+00 1/1 0/0 0/0 .sdata2 @4355 */ -SECTION_SDATA2 static f32 lit_4355 = 77.5f; - -/* 8045221C-80452220 00081C 0004+00 5/5 0/0 0/0 .sdata2 @4356 */ -SECTION_SDATA2 static f32 lit_4356 = 0.05f; - -/* 80452220-80452224 000820 0004+00 14/14 0/0 0/0 .sdata2 @4357 */ -SECTION_SDATA2 static f32 lit_4357 = 0.1f; - -/* 80452224-80452228 000824 0004+00 2/2 0/0 0/0 .sdata2 @4358 */ -SECTION_SDATA2 static f32 lit_4358 = 0.00001f; - -/* 80452228-8045222C 000828 0004+00 2/2 0/0 0/0 .sdata2 @4359 */ -SECTION_SDATA2 static f32 lit_4359 = 458.0f; - -/* 8045222C-80452230 00082C 0004+00 2/2 0/0 0/0 .sdata2 @4360 */ -SECTION_SDATA2 static f32 lit_4360 = 608.0f; - -/* 80452230-80452234 000830 0004+00 3/3 0/0 0/0 .sdata2 @4361 */ -SECTION_SDATA2 static f32 lit_4361 = 1000000000.0f; - -/* 80452234-80452238 000834 0004+00 1/1 0/0 0/0 .sdata2 @4362 */ -SECTION_SDATA2 static f32 lit_4362 = 450.0f; - -/* 80452238-8045223C 000838 0004+00 10/10 0/0 0/0 .sdata2 @4363 */ -SECTION_SDATA2 static f32 lit_4363 = 0.001f; - -/* 8045223C-80452240 00083C 0004+00 18/18 0/0 0/0 .sdata2 @4364 */ -SECTION_SDATA2 static f32 lit_4364 = 0.5f; - -/* 80452240-80452244 000840 0004+00 13/13 0/0 0/0 .sdata2 @4365 */ -SECTION_SDATA2 static f32 lit_4365 = 0.2f; - -/* 80452244-80452248 000844 0004+00 11/11 0/0 0/0 .sdata2 @4366 */ -SECTION_SDATA2 static f32 lit_4366 = 0.3f; - -/* 80452248-8045224C 000848 0004+00 8/8 0/0 0/0 .sdata2 @4367 */ -SECTION_SDATA2 static f32 lit_4367 = 0.8f; - -/* 8045224C-80452250 00084C 0004+00 12/12 0/0 0/0 .sdata2 @4368 */ -SECTION_SDATA2 static f32 lit_4368 = 255.0f; - -/* 80452250-80452254 000850 0004+00 2/2 0/0 0/0 .sdata2 @4369 */ -SECTION_SDATA2 static f32 lit_4369 = 90.0f; - -/* 80452254-80452258 000854 0004+00 3/3 0/0 0/0 .sdata2 @4370 */ -SECTION_SDATA2 static f32 lit_4370 = 105.0f; - -/* 80452258-8045225C 000858 0004+00 1/1 0/0 0/0 .sdata2 @4371 */ -SECTION_SDATA2 static f32 lit_4371 = 247.5f; - -/* 8045225C-80452260 00085C 0004+00 1/1 0/0 0/0 .sdata2 @4372 */ -SECTION_SDATA2 static f32 lit_4372 = 270.0f; - -/* 80452260-80452264 000860 0004+00 1/1 0/0 0/0 .sdata2 @4373 */ -SECTION_SDATA2 static f32 lit_4373 = -8000.0f; - -/* 80452264-80452268 000864 0004+00 2/2 0/0 0/0 .sdata2 @4374 */ -SECTION_SDATA2 static f32 lit_4374 = 6.0f; - -/* 80452268-8045226C 000868 0004+00 1/1 0/0 0/0 .sdata2 @4375 */ -SECTION_SDATA2 static f32 lit_4375 = 30160.0f; - -/* 8045226C-80452270 00086C 0004+00 1/1 0/0 0/0 .sdata2 @4376 */ -SECTION_SDATA2 static f32 lit_4376 = 21678.0f; - -/* 80452270-80452278 000870 0008+00 9/9 0/0 0/0 .sdata2 @4379 */ -SECTION_SDATA2 static f64 lit_4379 = 4503599627370496.0 /* cast u32 to float */; - /* 8005BF08-8005CC5C 056848 0D54+00 0/0 1/1 0/0 .text dKyr_sun_move__Fv */ void dKyr_sun_move() { dKankyo_sun_Packet* sun_p = g_env_light.mpSunPacket; @@ -585,6 +401,9 @@ void dKyr_sun_move() { for (int i = 0; i < 5; i++) { cXyz sp3C = sp48; + static f32 const sun_chkpnt[5][2] = { + {0.0f, 0.0f}, {-10.0f, -20.0f}, {10.0f, 20.0f}, {-20.0f, 10.0f}, {20.0f, -10.0f}, + }; sp3C.x -= sun_chkpnt[i][0]; sp3C.y -= sun_chkpnt[i][1]; if (sp3C.x > 0.0f && sp3C.x < 608.0f && sp3C.y > var_f28 && sp3C.y < 458.0f - var_f28) { @@ -691,6 +510,17 @@ void dKyr_sun_move() { cLib_addCalc(&sun_p->field_0x6c, 0.0f, 0.5f, 0.1f, 0.001f); } + static GXColor sun_color[3] = { + {255, 255, 253, 255}, + {255, 255, 255, 255}, + {255, 255, 253, 255}, + }; + static GXColor sun_color2[3] = { + {255, 110, 43, 255}, + {156, 121, 92, 255}, + {255, 78, 0, 255}, + }; + if (g_env_light.mDaytime < 180.0f) { f32 var_f1_4; if (g_env_light.mDaytime < 90.0f) { @@ -766,14 +596,6 @@ void dKyr_sun_move() { } } - -/* ############################################################################################## */ -/* 8037A578-8037A578 006BD8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8037A588 = "Always"; -#pragma pop - /* 8005CC5C-8005CDA8 05759C 014C+00 0/0 1/1 0/0 .text dKyr_rain_init__Fv */ void dKyr_rain_init() { camera_class* camera_p = g_dComIfG_gameInfo.play.mCameraInfo[0].mCamera; @@ -798,29 +620,15 @@ void dKyr_rain_init() { g_env_light.mpRainPacket->mRainCount = 0; } - /* 8005CDA8-8005CDD0 0576E8 0028+00 1/1 0/0 0/0 .text rain_bg_chk__FP19dKankyo_rain_Packeti */ static void rain_bg_chk(dKankyo_rain_Packet* i_packet, int i_idx) { i_packet->mRainEff[i_idx].field_0x30 = dComIfGp_getCamera(0)->mLookat.mCenter.y + -800.0f; } -/* ############################################################################################## */ -/* 8037A578-8037A578 006BD8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8037A58F = "F_SP122"; -#pragma pop - -/* 8045227C-80452280 00087C 0004+00 9/9 0/0 0/0 .sdata2 @4467 */ -SECTION_SDATA2 static f32 lit_4467 = 50.0f; - -/* 80452280-80452284 000880 0004+00 4/4 0/0 0/0 .sdata2 @4468 */ -SECTION_SDATA2 static f32 lit_4468 = 10000.0f; - /* 8005CDD0-8005CF78 057710 01A8+00 1/1 0/0 0/0 .text overhead_bg_chk__Fv */ -static bool overhead_bg_chk() { +static BOOL overhead_bg_chk() { camera_class* camera = dComIfGp_getCamera(0); - bool chk = false; + BOOL chk = false; dBgS_ObjGndChk_All gndchk; dBgS_RoofChk roofchk; @@ -829,7 +637,7 @@ static bool overhead_bg_chk() { chkPos.y += 50.0f; roofchk.i_SetPos(chkPos); - if (dComIfG_Bgsp().RoofChk(&roofchk) != lit_4361) { + if (dComIfG_Bgsp().RoofChk(&roofchk) != 1.0e9f) { chk = true; // Outside East Castle Town if (!strcmp(dComIfGp_getStartStageName(), "F_SP122") && @@ -848,7 +656,6 @@ static bool overhead_bg_chk() { return chk; } - /* 8005CF78-8005D18C 0578B8 0214+00 1/1 0/0 0/0 .text forward_overhead_bg_chk__FP4cXyzf */ static int forward_overhead_bg_chk(cXyz* param_0, f32 param_1) { @@ -886,138 +693,8 @@ static int forward_overhead_bg_chk(cXyz* param_0, f32 param_1) { return chk; } - -/* ############################################################################################## */ -/* 8037A578-8037A578 006BD8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8037A597 = "R_SP30"; -SECTION_DEAD static char const* const stringBase_8037A59E = "R_SP107"; -SECTION_DEAD static char const* const stringBase_8037A5A6 = "R_SP127"; -SECTION_DEAD static char const* const stringBase_8037A5AE = "F_SP113"; -SECTION_DEAD static char const* const stringBase_8037A5B6 = "D_MN09"; -#pragma pop - -/* 80452284-80452288 000884 0004+00 1/1 0/0 0/0 .sdata2 @5096 */ -SECTION_SDATA2 static f32 lit_5096 = -2.5f; - -/* 80452288-8045228C 000888 0004+00 6/6 0/0 0/0 .sdata2 @5097 */ -SECTION_SDATA2 static f32 lit_5097 = 10.0f; - -/* 8045228C-80452290 00088C 0004+00 8/8 0/0 0/0 .sdata2 @5098 */ -SECTION_SDATA2 static f32 lit_5098 = 20.0f; - -/* 80452290-80452294 000890 0004+00 6/6 0/0 0/0 .sdata2 @5099 */ -SECTION_SDATA2 static f32 lit_5099 = 15.0f; - -/* 80452294-80452298 000894 0004+00 5/5 0/0 0/0 .sdata2 @5100 */ -SECTION_SDATA2 static f32 lit_5100 = 700.0f; - -/* 80452298-8045229C 000898 0004+00 2/2 0/0 0/0 .sdata2 @5101 */ -SECTION_SDATA2 static f32 lit_5101 = 1400.0f; - -/* 8045229C-804522A0 00089C 0004+00 5/5 0/0 0/0 .sdata2 @5102 */ -SECTION_SDATA2 static f32 lit_5102 = 1200.0f; - -/* 804522A0-804522A4 0008A0 0004+00 1/1 0/0 0/0 .sdata2 @5103 */ -SECTION_SDATA2 static f32 lit_5103 = 35.5f; - -/* 804522A4-804522A8 0008A4 0004+00 4/4 0/0 0/0 .sdata2 @5104 */ -SECTION_SDATA2 static f32 lit_5104 = 800.0f; - -/* 804522A8-804522AC 0008A8 0004+00 5/5 0/0 0/0 .sdata2 @5105 */ -SECTION_SDATA2 static f32 lit_5105 = 360.0f; - -/* 804522AC-804522B0 0008AC 0004+00 4/4 0/0 0/0 .sdata2 @5106 */ -SECTION_SDATA2 static f32 lit_5106 = 2.0f / 25.0f; - -/* 804522B0-804522B4 0008B0 0004+00 2/2 0/0 0/0 .sdata2 @5107 */ -SECTION_SDATA2 static f32 lit_5107 = -2.0f; - -/* 804522B4-804522B8 0008B4 0004+00 2/2 0/0 0/0 .sdata2 @5108 */ -SECTION_SDATA2 static f32 lit_5108 = 850.0f; - -/* 804522B8-804522BC 0008B8 0004+00 8/8 0/0 0/0 .sdata2 @5109 */ -SECTION_SDATA2 static f32 lit_5109 = 40.0f; - -/* 804522BC-804522C0 0008BC 0004+00 2/2 0/0 0/0 .sdata2 @5110 */ -SECTION_SDATA2 static f32 lit_5110 = 550.0f; - -/* 804522C0-804522C4 0008C0 0004+00 1/1 0/0 0/0 .sdata2 @5111 */ -SECTION_SDATA2 static f32 lit_5111 = -2680.0f; - -/* 804522C4-804522C8 0008C4 0004+00 1/1 0/0 0/0 .sdata2 @5112 */ -SECTION_SDATA2 static f32 lit_5112 = 2200.0f; - -/* 804522C8-804522CC 0008C8 0004+00 2/2 0/0 0/0 .sdata2 @5113 */ -SECTION_SDATA2 static f32 lit_5113 = 1600.0f; - -/* 804522CC-804522D0 0008CC 0004+00 1/1 0/0 0/0 .sdata2 @5114 */ -SECTION_SDATA2 static f32 lit_5114 = 27453.0f; - -/* 804522D0-804522D4 0008D0 0004+00 1/1 0/0 0/0 .sdata2 @5115 */ -SECTION_SDATA2 static f32 lit_5115 = 8528.0f; - -/* 804522D4-804522D8 0008D4 0004+00 1/1 0/0 0/0 .sdata2 @5116 */ -SECTION_SDATA2 static f32 lit_5116 = 1300.0f; - -/* 804522D8-804522DC 0008D8 0004+00 2/2 0/0 0/0 .sdata2 @5117 */ -SECTION_SDATA2 static f32 lit_5117 = 1100.0f; - -/* 804522DC-804522E0 0008DC 0004+00 5/5 0/0 0/0 .sdata2 @5118 */ -SECTION_SDATA2 static f32 lit_5118 = 80.0f; - -/* 804522E0-804522E4 0008E0 0004+00 6/6 0/0 0/0 .sdata2 @5119 */ -SECTION_SDATA2 static f32 lit_5119 = 500.0f; - -/* 804522E4-804522E8 0008E4 0004+00 1/1 0/0 0/0 .sdata2 @5120 */ -SECTION_SDATA2 static f32 lit_5120 = -228.0f; - -/* 804522E8-804522EC 0008E8 0004+00 1/1 0/0 0/0 .sdata2 @5121 */ -SECTION_SDATA2 static f32 lit_5121 = 795.0f; - -/* 804522EC-804522F0 0008EC 0004+00 4/4 0/0 0/0 .sdata2 @5122 */ -SECTION_SDATA2 static f32 lit_5122 = 1500.0f; - -/* 804522F0-804522F4 0008F0 0004+00 2/2 0/0 0/0 .sdata2 @5123 */ -SECTION_SDATA2 static f32 lit_5123 = 5100.0f; - -/* 804522F4-804522F8 0008F4 0004+00 2/2 0/0 0/0 .sdata2 @5124 */ -SECTION_SDATA2 static f32 lit_5124 = -3250.0f; - -/* 804522F8-804522FC 0008F8 0004+00 3/3 0/0 0/0 .sdata2 @5125 */ -SECTION_SDATA2 static f32 lit_5125 = -50.0f; - -/* 804522FC-80452300 0008FC 0004+00 2/2 0/0 0/0 .sdata2 @5126 */ -SECTION_SDATA2 static f32 lit_5126 = -2700.0f; - -/* 80452300-80452304 000900 0004+00 2/2 0/0 0/0 .sdata2 @5127 */ -SECTION_SDATA2 static f32 lit_5127 = 15750.0f; - -/* 80452304-80452308 000904 0004+00 1/1 0/0 0/0 .sdata2 @5128 */ -SECTION_SDATA2 static f32 lit_5128 = -3680.0f; - -/* 80452308-8045230C 000908 0004+00 1/1 0/0 0/0 .sdata2 @5129 */ -SECTION_SDATA2 static f32 lit_5129 = -11975.0f; - -/* 8045230C-80452310 00090C 0004+00 1/1 0/0 0/0 .sdata2 @5130 */ -SECTION_SDATA2 static f32 lit_5130 = -10530.0f; - -/* 80452310-80452314 000910 0004+00 1/1 0/0 0/0 .sdata2 @5131 */ -SECTION_SDATA2 static f32 lit_5131 = 3350.0f; - -/* 80452314-80452318 000914 0004+00 1/1 0/0 0/0 .sdata2 @5132 */ -SECTION_SDATA2 static f32 lit_5132 = -13027.0f; - -/* 80452318-8045231C 000918 0004+00 1/1 0/0 0/0 .sdata2 @5133 */ -SECTION_SDATA2 static f32 lit_5133 = -11430.0f; - -/* 8045231C-80452320 00091C 0004+00 1/1 0/0 0/0 .sdata2 @5134 */ -SECTION_SDATA2 static f32 lit_5134 = 36900.0f; - /* 8005D18C-8005E8B0 057ACC 1724+00 0/0 1/1 0/0 .text dKyr_rain_move__Fv */ -// reg alloc, equivalent? -#ifdef NONMATCHING +// NONMATCHING reg alloc, equivalent? void dKyr_rain_move() { camera_class* camera_p; @@ -1149,21 +826,21 @@ void dKyr_rain_move() { } if (var_r24) { - cLib_addCalc(&rain_p->mOverheadFade, 1.0f, 0.1f, 0.1f, 0.001f); - } else { cLib_addCalc(&rain_p->mOverheadFade, 0.0f, 0.5f, 0.2f, 0.01f); + } else { + cLib_addCalc(&rain_p->mOverheadFade, 1.0f, 0.1f, 0.1f, 0.001f); } if (var_r23) { - cLib_addCalc(&rain_p->mFwdFade1, 1.0f, 0.1f, 0.1f, 0.001f); - } else { cLib_addCalc(&rain_p->mFwdFade1, 0.0f, 0.5f, 0.2f, 0.01f); + } else { + cLib_addCalc(&rain_p->mFwdFade1, 1.0f, 0.1f, 0.1f, 0.001f); } if (var_r22) { - cLib_addCalc(&rain_p->mFwdFade2, 1.0f, 0.1f, 0.1f, 0.001f); - } else { cLib_addCalc(&rain_p->mFwdFade2, 0.0f, 0.5f, 0.2f, 0.01f); + } else { + cLib_addCalc(&rain_p->mFwdFade2, 1.0f, 0.1f, 0.1f, 0.001f); } f32 temp_f30 = 1.0f; @@ -1373,128 +1050,21 @@ void dKyr_rain_move() { } } } -#else -void dKyr_rain_move() { - // NONMATCHING -} -#endif /* 8005E8B0-8005E8F8 0591F0 0048+00 1/1 0/0 0/0 .text d_krain_cut_turn_check__Fv */ -static bool d_krain_cut_turn_check() { +static BOOL d_krain_cut_turn_check() { daPy_py_c* player = (daPy_py_c*)dComIfGp_getPlayer(0); + BOOL ret = FALSE; - return player != NULL && (player->getCutType() == daPy_py_c::CUT_TYPE_TURN_RIGHT || + if (player != NULL && (player->getCutType() == daPy_py_c::CUT_TYPE_TURN_RIGHT || player->getCutType() == daPy_py_c::CUT_TYPE_TURN_LEFT || player->getCutType() == daPy_py_c::CUT_TYPE_LARGE_TURN_LEFT || - player->getCutType() == daPy_py_c::CUT_TYPE_LARGE_TURN_RIGHT); + player->getCutType() == daPy_py_c::CUT_TYPE_LARGE_TURN_RIGHT)) { + ret = TRUE; + } + return ret; } -/* ############################################################################################## */ -/* 8037A578-8037A578 006BD8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8037A5BD = "D_MN08"; -#pragma pop - -/* 80452320-80452324 000920 0004+00 1/1 0/0 0/0 .sdata2 @5716 */ -SECTION_SDATA2 static f32 lit_5716 = -100000000.0f; - -/* 80452324-80452328 000924 0004+00 2/2 0/0 0/0 .sdata2 @5717 */ -SECTION_SDATA2 static f32 lit_5717 = 100000.0f; - -/* 80452328-8045232C 000928 0004+00 1/1 0/0 0/0 .sdata2 @5718 */ -SECTION_SDATA2 static f32 lit_5718 = 14.0f / 5.0f; - -/* 8045232C-80452330 00092C 0004+00 1/1 0/0 0/0 .sdata2 @5719 */ -SECTION_SDATA2 static f32 lit_5719 = -11.0f / 20.0f; - -/* 80452330-80452334 000930 0004+00 9/9 0/0 0/0 .sdata2 @5720 */ -SECTION_SDATA2 static f32 lit_5720 = 2.0f / 5.0f; - -/* 80452334-80452338 000934 0004+00 6/6 0/0 0/0 .sdata2 @5721 */ -SECTION_SDATA2 static f32 lit_5721 = 1.5f; - -/* 80452338-8045233C 000938 0004+00 4/4 0/0 0/0 .sdata2 @5722 */ -SECTION_SDATA2 static f32 lit_5722 = 65536.0f; - -/* 8045233C-80452340 00093C 0004+00 5/5 0/0 0/0 .sdata2 @5723 */ -SECTION_SDATA2 static f32 lit_5723 = 1000.0f; - -/* 80452340-80452344 000940 0004+00 1/1 0/0 0/0 .sdata2 @5724 */ -SECTION_SDATA2 static f32 lit_5724 = -100149.8984375f; - -/* 80452344-80452348 000944 0004+00 1/1 0/0 0/0 .sdata2 @5725 */ -SECTION_SDATA2 static f32 lit_5725 = -99999.8984375f; - -/* 80452348-8045234C 000948 0004+00 2/2 0/0 0/0 .sdata2 @5726 */ -SECTION_SDATA2 static f32 lit_5726 = 2.5f; - -/* 8045234C-80452350 00094C 0004+00 7/7 0/0 0/0 .sdata2 @5727 */ -SECTION_SDATA2 static f32 lit_5727 = 0.25f; - -/* 80452350-80452354 000950 0004+00 6/6 0/0 0/0 .sdata2 @5728 */ -SECTION_SDATA2 static f32 lit_5728 = 5.0f; - -/* 80452354-80452358 000954 0004+00 7/7 0/0 0/0 .sdata2 @5729 */ -SECTION_SDATA2 static f32 lit_5729 = 3.0f / 5.0f; - -/* 80452358-8045235C 000958 0004+00 2/2 0/0 0/0 .sdata2 @5730 */ -SECTION_SDATA2 static f32 lit_5730 = 3.0f; - -/* 8045235C-80452360 00095C 0004+00 1/1 0/0 0/0 .sdata2 @5731 */ -SECTION_SDATA2 static f32 lit_5731 = 4.5f; - -/* 80452360-80452364 000960 0004+00 2/2 0/0 0/0 .sdata2 @5732 */ -SECTION_SDATA2 static f32 lit_5732 = 0.75f; - -/* 80452364-80452368 000964 0004+00 2/2 0/0 0/0 .sdata2 @5733 */ -SECTION_SDATA2 static f32 lit_5733 = 3.0f / 100.0f; - -/* 80452368-8045236C 000968 0004+00 2/2 0/0 0/0 .sdata2 @5734 */ -SECTION_SDATA2 static f32 lit_5734 = 1.0f / 50.0f; - -/* 8045236C-80452370 00096C 0004+00 5/5 0/0 0/0 .sdata2 @5735 */ -SECTION_SDATA2 static f32 lit_5735 = 300.0f; - -/* 80452370-80452374 000970 0004+00 1/1 0/0 0/0 .sdata2 @5736 */ -SECTION_SDATA2 static f32 lit_5736 = 5600.0f; - -/* 80452374-80452378 000974 0004+00 3/3 0/0 0/0 .sdata2 @5737 */ -SECTION_SDATA2 static f32 lit_5737 = 130.0f; - -/* 80452378-8045237C 000978 0004+00 7/7 0/0 0/0 .sdata2 @5738 */ -SECTION_SDATA2 static f32 lit_5738 = 2.0f; - -/* 8045237C-80452380 00097C 0004+00 4/4 0/0 0/0 .sdata2 @5739 */ -SECTION_SDATA2 static f32 lit_5739 = 400.0f; - -/* 80452380-80452384 000980 0004+00 3/3 0/0 0/0 .sdata2 @5740 */ -SECTION_SDATA2 static f32 lit_5740 = 30.0f; - -/* 80452384-80452388 000984 0004+00 3/3 0/0 0/0 .sdata2 @5741 */ -SECTION_SDATA2 static f32 lit_5741 = 9.0f; - -/* 80452388-8045238C 000988 0004+00 1/1 0/0 0/0 .sdata2 @5742 */ -SECTION_SDATA2 static f32 lit_5742 = -99979.8984375f; - -/* 8045238C-80452390 00098C 0004+00 1/1 0/0 0/0 .sdata2 @5743 */ -SECTION_SDATA2 static f32 lit_5743 = 1050.0f; - -/* 80452390-80452394 000990 0004+00 1/1 0/0 0/0 .sdata2 @5744 */ -SECTION_SDATA2 static f32 lit_5744 = 3200.0f; - -/* 80452394-80452398 000994 0004+00 1/1 0/0 0/0 .sdata2 @5745 */ -SECTION_SDATA2 static f32 lit_5745 = 1700.0f; - -/* 80452398-8045239C 000998 0004+00 1/1 0/0 0/0 .sdata2 @5746 */ -SECTION_SDATA2 static f32 lit_5746 = 2800.0f; - -/* 8045239C-804523A0 00099C 0004+00 1/1 0/0 0/0 .sdata2 @5747 */ -SECTION_SDATA2 static f32 lit_5747 = 825.0f; - -/* 804523A0-804523A4 0009A0 0004+00 3/3 0/0 0/0 .sdata2 @5748 */ -SECTION_SDATA2 static f32 lit_5748 = 2000.0f; - /* 8005E8F8-8005FBDC 059238 12E4+00 0/0 1/1 0/0 .text dKyr_housi_move__Fv */ void dKyr_housi_move() { dKankyo_housi_Packet* housi_p = g_env_light.mpHousiPacket; @@ -1605,7 +1175,7 @@ void dKyr_housi_move() { } effect_p->field_0x3c = 0; - effect_p->field_0x4c = cM_rndFX(65535.0f); + effect_p->field_0x4c = cM_rndFX(65536.0f); effect_p->mBasePos.x = sp84.x; effect_p->mBasePos.y = sp84.y; effect_p->mBasePos.z = sp84.z; @@ -1676,9 +1246,9 @@ void dKyr_housi_move() { effect_p->mStatus = 3; } - effect_p->mScale.x += 0.3f; - effect_p->mScale.y += 0.2f; - effect_p->mScale.z += 0.1f; + effect_p->mScale.x += 0.03f; + effect_p->mScale.y += 0.02f; + effect_p->mScale.z += 0.01f; sp6C.x = effect_p->mBasePos.x + effect_p->mPosition.x; sp6C.y = effect_p->mBasePos.y + effect_p->mPosition.y; @@ -1845,7 +1415,6 @@ void dKyr_housi_move() { } } - /* 8005FBDC-8005FD48 05A51C 016C+00 0/0 1/1 0/0 .text dKyr_snow_init__Fv */ void dKyr_snow_init() { camera_class* camera_p = g_dComIfG_gameInfo.play.mCameraInfo[0].mCamera; @@ -1873,63 +1442,8 @@ void dKyr_snow_init() { g_env_light.mpSnowPacket->field_0x6d93 = 0; } - -/* ############################################################################################## */ -/* 8037A578-8037A578 006BD8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8037A5C4 = "F_SP127"; -#pragma pop - -/* 804523A4-804523A8 0009A4 0004+00 8/8 0/0 0/0 .sdata2 @6355 */ -SECTION_SDATA2 static f32 lit_6355 = 100.0f; - -/* 804523A8-804523AC 0009A8 0004+00 2/2 0/0 0/0 .sdata2 @6356 */ -SECTION_SDATA2 static f32 lit_6356 = 6.0f / 5.0f; - -/* 804523AC-804523B0 0009AC 0004+00 1/1 0/0 0/0 .sdata2 @6357 */ -SECTION_SDATA2 static f32 lit_6357 = 6.5f; - -/* 804523B0-804523B4 0009B0 0004+00 3/3 0/0 0/0 .sdata2 @6358 */ -SECTION_SDATA2 static f32 lit_6358 = 9.0f / 20.0f; - -/* 804523B4-804523B8 0009B4 0004+00 1/1 0/0 0/0 .sdata2 @6359 */ -SECTION_SDATA2 static f32 lit_6359 = 53.0f / 10.0f; - -/* 804523B8-804523BC 0009B8 0004+00 2/2 0/0 0/0 .sdata2 @6360 */ -SECTION_SDATA2 static f32 lit_6360 = 7.0f / 20.0f; - -/* 804523BC-804523C0 0009BC 0004+00 2/2 0/0 0/0 .sdata2 @6361 */ -SECTION_SDATA2 static f32 lit_6361 = 3000.0f; - -/* 804523C0-804523C4 0009C0 0004+00 1/1 0/0 0/0 .sdata2 @6362 */ -SECTION_SDATA2 static f32 lit_6362 = 27.5f; - -/* 804523C4-804523C8 0009C4 0004+00 1/1 0/0 0/0 .sdata2 @6363 */ -SECTION_SDATA2 static f32 lit_6363 = 1150.0f; - -/* 804523C8-804523D0 0009C8 0004+04 1/1 0/0 0/0 .sdata2 @6364 */ -SECTION_SDATA2 static f32 lit_6364[1 + 1 /* padding */] = { - 55.0f, - /* padding */ - 0.0f, -}; - -/* 804523D0-804523D8 0009D0 0008+00 1/1 0/0 0/0 .sdata2 @6365 */ -SECTION_SDATA2 static f64 lit_6365 = 1.0; - -/* 804523D8-804523DC 0009D8 0004+00 1/1 0/0 0/0 .sdata2 @6366 */ -SECTION_SDATA2 static f32 lit_6366 = -340.0f; - -/* 804523DC-804523E0 0009DC 0004+00 1/1 0/0 0/0 .sdata2 @6367 */ -SECTION_SDATA2 static f32 lit_6367 = 9800.0f; - -/* 804523E0-804523E4 0009E0 0004+00 2/2 0/0 0/0 .sdata2 @6368 */ -SECTION_SDATA2 static f32 lit_6368 = 19.0f / 50.0f; - /* 8005FD48-80061324 05A688 15DC+00 0/0 1/1 0/0 .text dKyr_snow_move__Fv */ -// mostly matches, 1 out of order instruction -#ifdef NONMATCHING +// NONMATCHING mostly matches, 1 out of order instruction void dKyr_snow_move() { f32* temp_r26; cXyz* temp_r25; @@ -2002,7 +1516,7 @@ void dKyr_snow_move() { snow_p->field_0x6d80 *= fabsf(snow_p->field_0x6d84); for (int i = snow_p->field_0x6d88 - 1; i >= 0; i--) { - f32 temp_f27 = -(2.0f + cM_rndF(0.08f)); + f32 temp_f27 = -(2.0f + cM_rndF(6.5f)); f32 temp_f26 = 2.0f * (5.0f + (f32)(i & 15)); effect_p = &snow_p->mSnowEff[i]; @@ -2097,7 +1611,7 @@ void dKyr_snow_move() { effect_p->mPosition.y = spB8.y + cM_rndFX(550.0f); effect_p->mPosition.z = spB8.z + cM_rndFX(550.0f); } else { - f32 temp_f26_2 = cM_rndFX(27.5f); + f32 temp_f26_2 = cM_rndFX(55.0f); get_vectle_calc(&sp7C, &spB8, &sp70); effect_p->mPosition.x = spB8.x + sp70.x * (temp_f26_2 + 550.0f); @@ -2204,11 +1718,6 @@ void dKyr_snow_move() { } } } -#else -void dKyr_snow_move() { - // NONMATCHING -} -#endif /* 80061324-8006140C 05BC64 00E8+00 0/0 1/1 0/0 .text dKyr_star_init__Fv */ void dKyr_star_init() { @@ -2231,7 +1740,7 @@ void dKyr_star_move() { packet->mEffectNum = g_env_light.mStarCount; if (packet->mEffectNum != 0) { - packet->mEffect[0].field_0x28 = lit_4354; + packet->mEffect[0].field_0x28 = 1.0f; } } @@ -2562,16 +2071,8 @@ void dKyr_drawRain(Mtx param_0, u8** param_1) { // NONMATCHING } -/* ############################################################################################## */ -/* 804524C4-804524C8 000AC4 0004+00 1/1 0/0 0/0 .sdata2 @8360 */ -SECTION_SDATA2 static f32 lit_8360 = 7000.0f; - -/* 804524C8-804524CC 000AC8 0004+00 1/1 0/0 0/0 .sdata2 @8361 */ -SECTION_SDATA2 static f32 lit_8361 = 3600.0f; - /* 80066048-8006653C 060988 04F4+00 0/0 1/1 0/0 .text dKyr_drawSibuki__FPA4_fPPUc */ -// stack issues, double branch weirdness -#ifdef NONMATCHING +// NONMATCHING stack issues, double branch weirdness void dKyr_drawSibuki(Mtx param_0, u8** param_1) { camera_class* temp_r30 = (camera_class*)dComIfGp_getCamera(0); dKankyo_rain_Packet* temp_r29 = g_env_light.mpRainPacket; @@ -2707,67 +2208,9 @@ void dKyr_drawSibuki(Mtx param_0, u8** param_1) { J3DShape::resetVcdVatCache(); } } -#else -void dKyr_drawSibuki(Mtx param_0, u8** param_1) { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ -/* 8037A578-8037A578 006BD8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8037A5F2 = "F_NW01"; -#pragma pop - -/* 80450F00-80450F04 000400 0004+00 1/1 0/0 0/0 .sbss rot$8366 */ -static f32 rot_8366; - -/* 80450F04-80450F08 000404 0004+00 1/1 0/0 0/0 .sbss None */ -static u8 data_80450F04[4]; - -/* 804524CC-804524D0 000ACC 0004+00 1/1 0/0 0/0 .sdata2 @8393 */ -SECTION_SDATA2 static u32 lit_8393 = 0x323232FF; - -/* 804524D0-804524D4 000AD0 0004+00 1/1 0/0 0/0 .sdata2 @8394 */ -SECTION_SDATA2 static u32 lit_8394 = 0xFFD7F0FF; - -/* 804524D4-804524D8 000AD4 0004+00 1/1 0/0 0/0 .sdata2 @8917 */ -SECTION_SDATA2 static f32 lit_8917 = 18.0f; - -/* 804524D8-804524DC 000AD8 0004+00 1/1 0/0 0/0 .sdata2 @8918 */ -SECTION_SDATA2 static f32 lit_8918 = -0.5f; - -/* 804524DC-804524E0 000ADC 0004+00 1/1 0/0 0/0 .sdata2 @8919 */ -SECTION_SDATA2 static f32 lit_8919 = 123.0f; - -/* 804524E0-804524E4 000AE0 0004+00 1/1 0/0 0/0 .sdata2 @8920 */ -SECTION_SDATA2 static f32 lit_8920 = 8.0f; - -/* 804524E4-804524E8 000AE4 0004+00 1/1 0/0 0/0 .sdata2 @8921 */ -SECTION_SDATA2 static f32 lit_8921 = -0.9f; - -/* 804524E8-804524EC 000AE8 0004+00 1/1 0/0 0/0 .sdata2 @8922 */ -SECTION_SDATA2 static f32 lit_8922 = 213.0f; - -/* 804524EC-804524F0 000AEC 0004+00 1/1 0/0 0/0 .sdata2 @8923 */ -SECTION_SDATA2 static f32 lit_8923 = 685.0f; - -/* 804524F0-804524F4 000AF0 0004+00 1/1 0/0 0/0 .sdata2 @8924 */ -SECTION_SDATA2 static f32 lit_8924 = 483.0f; - -/* 804524F4-804524F8 000AF4 0004+00 1/1 0/0 0/0 .sdata2 @8925 */ -SECTION_SDATA2 static f32 lit_8925 = 32765.0f; - -/* 804524F8-804524FC 000AF8 0004+00 1/1 0/0 0/0 .sdata2 @8926 */ -SECTION_SDATA2 static f32 lit_8926 = -16384.0f; - -/* 804524FC-80452500 000AFC 0004+00 1/1 0/0 0/0 .sdata2 @8927 */ -SECTION_SDATA2 static f32 lit_8927 = 16384.0f; /* 8006653C-80067488 060E7C 0F4C+00 0/0 1/1 0/0 .text dKyr_drawHousi__FPA4_fPPUc */ -// mostly match, weird double branch thing -#ifdef NONMATCHING +// NONMATCHING mostly match, weird double branch thing void dKyr_drawHousi(Mtx param_0, u8** param_1) { dKankyo_housi_Packet* housi_p = g_env_light.mpHousiPacket; static f32 rot = 0.0f; @@ -3125,11 +2568,6 @@ void dKyr_drawHousi(Mtx param_0, u8** param_1) { } } } -#else -void dKyr_drawHousi(Mtx param_0, u8** param_1) { - // NONMATCHING -} -#endif /* ############################################################################################## */ /* 8037A578-8037A578 006BD8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -3640,10 +3078,6 @@ static void dKyr_evil_draw2(Mtx param_0, u8** param_1) { // NONMATCHING } -/* ############################################################################################## */ -/* 804525F8-804525FC 000BF8 0004+00 1/1 0/0 0/0 .sdata2 @11953 */ -SECTION_SDATA2 static f32 lit_11953 = 10000000.0f; - /* 8006E448-8006E6B0 068D88 0268+00 1/1 0/0 0/0 .text dKyr_near_bosslight_check__F4cXyz */ static f32 dKyr_near_bosslight_check(cXyz param_0) { @@ -3705,4 +3139,4 @@ void dKyr_evil_draw(Mtx param_0, u8** param_1) { */ cXyz* daPy_py_c::getKandelaarFlamePos() { return NULL; -} \ No newline at end of file +} diff --git a/src/d/d_menu_dmap.cpp b/src/d/d_menu_dmap.cpp index 6a01cd4237..0d61363b69 100644 --- a/src/d/d_menu_dmap.cpp +++ b/src/d/d_menu_dmap.cpp @@ -4,6 +4,8 @@ // #include "d/d_menu_dmap.h" +#include "d/actor/d_a_player.h" +#include "d/d_item.h" #include "d/d_menu_item_explain.h" #include "d/d_msg_object.h" #include "d/d_meter_HIO.h" @@ -275,13 +277,6 @@ extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; // Declarations: // -/* ############################################################################################## */ -/* 80395760-80395760 021DC0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80395760 = "/res/FieldMap/D_MN10.arc"; -#pragma pop - /* 803BC7E0-803BC7EC 019900 000C+00 1/1 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, @@ -290,7 +285,6 @@ SECTION_DATA static u8 cNullVec__6Z2Calc[12] = { typedef void (dMenu_Dmap_c::*ProcFunc)(); /* 803BC7EC-803BC7F8 -00001 000C+00 0/1 0/0 0/0 .data @4861 */ -#ifdef NONMATCHING static ProcFunc init_process[5] = { &dMenu_Dmap_c::itemInfo_init_proc, &dMenu_Dmap_c::mapMode_init_proc, @@ -299,67 +293,7 @@ static ProcFunc init_process[5] = { &dMenu_Dmap_c::lv5_talk_init_proc, }; -#else -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4861[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)itemInfo_init_proc__12dMenu_Dmap_cFv, -}; -#pragma pop - -/* 803BC7F8-803BC804 -00001 000C+00 0/1 0/0 0/0 .data @4862 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4862[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)mapMode_init_proc__12dMenu_Dmap_cFv, -}; -#pragma pop - -/* 803BC804-803BC810 -00001 000C+00 0/1 0/0 0/0 .data @4863 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4863[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)infoModeChange_init_proc__12dMenu_Dmap_cFv, -}; -#pragma pop - -/* 803BC810-803BC81C -00001 000C+00 0/1 0/0 0/0 .data @4864 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4864[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)mapModeChange_init_proc__12dMenu_Dmap_cFv, -}; -#pragma pop - -/* 803BC81C-803BC828 -00001 000C+00 0/1 0/0 0/0 .data @4865 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4865[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)lv5_talk_init_proc__12dMenu_Dmap_cFv, -}; -#pragma pop - -/* 803BC828-803BC864 019948 003C+00 2/3 0/0 0/0 .data init_process */ -SECTION_DATA static u8 init_process[60] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -#endif - /* 803BC864-803BC870 -00001 000C+00 0/1 0/0 0/0 .data @4866 */ -#ifdef NONMATCHING static ProcFunc move_process[5] = { &dMenu_Dmap_c::itemInfo_proc, &dMenu_Dmap_c::mapMode_proc, @@ -367,66 +301,7 @@ static ProcFunc move_process[5] = { &dMenu_Dmap_c::mapModeChange_proc, &dMenu_Dmap_c::lv5_talk_proc, }; -#else -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4866[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)itemInfo_proc__12dMenu_Dmap_cFv, -}; -#pragma pop -/* 803BC870-803BC87C -00001 000C+00 0/1 0/0 0/0 .data @4867 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4867[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)mapMode_proc__12dMenu_Dmap_cFv, -}; -#pragma pop - -/* 803BC87C-803BC888 -00001 000C+00 0/1 0/0 0/0 .data @4868 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4868[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)infoModeChange_proc__12dMenu_Dmap_cFv, -}; -#pragma pop - -/* 803BC888-803BC894 -00001 000C+00 0/1 0/0 0/0 .data @4869 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4869[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)mapModeChange_proc__12dMenu_Dmap_cFv, -}; -#pragma pop - -/* 803BC894-803BC8A0 -00001 000C+00 0/1 0/0 0/0 .data @4870 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4870[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)lv5_talk_proc__12dMenu_Dmap_cFv, -}; -#pragma pop - -/* 803BC8A0-803BC8DC 0199C0 003C+00 1/2 0/0 0/0 .data move_process */ -SECTION_DATA static u8 move_process[60] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -#endif - -#ifdef NONMATCHING static ProcFunc itemInfo_subProcess[5] = { &dMenu_Dmap_c::itemSelect, &dMenu_Dmap_c::itemSelectAnm, @@ -434,472 +309,28 @@ static ProcFunc itemInfo_subProcess[5] = { &dMenu_Dmap_c::itemInfoWait, &dMenu_Dmap_c::itemInfoCloseAnm, }; -#else -/* 803BC8DC-803BC8E8 -00001 000C+00 0/1 0/0 0/0 .data @4871 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4871[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)itemSelect__12dMenu_Dmap_cFv, -}; -#pragma pop -/* 803BC8E8-803BC8F4 -00001 000C+00 0/1 0/0 0/0 .data @4872 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4872[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)itemSelectAnm__12dMenu_Dmap_cFv, -}; -#pragma pop - -/* 803BC8F4-803BC900 -00001 000C+00 0/1 0/0 0/0 .data @4873 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4873[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)itemInfoOpenAnm__12dMenu_Dmap_cFv, -}; -#pragma pop - -/* 803BC900-803BC90C -00001 000C+00 0/1 0/0 0/0 .data @4874 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4874[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)itemInfoWait__12dMenu_Dmap_cFv, -}; -#pragma pop - -/* 803BC90C-803BC918 -00001 000C+00 0/1 0/0 0/0 .data @4875 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4875[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)itemInfoCloseAnm__12dMenu_Dmap_cFv, -}; -#pragma pop - -/* 803BC918-803BC954 019A38 003C+00 1/2 0/0 0/0 .data itemInfo_subProcess */ -SECTION_DATA static u8 itemInfo_subProcess[60] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -#endif - -#ifdef NONMATCHING static ProcFunc floor_init_process[2] = { &dMenu_Dmap_c::floorSelect_init_proc, &dMenu_Dmap_c::floorChange_init_proc, }; -#else -/* 803BC954-803BC960 -00001 000C+00 0/1 0/0 0/0 .data @4876 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4876[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)floorSelect_init_proc__12dMenu_Dmap_cFv, -}; -#pragma pop -/* 803BC960-803BC96C -00001 000C+00 0/1 0/0 0/0 .data @4877 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4877[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)floorChange_init_proc__12dMenu_Dmap_cFv, -}; -#pragma pop - -/* 803BC96C-803BC984 019A8C 0018+00 1/2 0/0 0/0 .data floor_init_process */ -SECTION_DATA static u8 floor_init_process[24] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -#endif - -#ifdef NONMATCHING static ProcFunc floor_move_process[2] = { &dMenu_Dmap_c::floorSelect_proc, &dMenu_Dmap_c::floorChange_proc, }; -#else -/* 803BC984-803BC990 -00001 000C+00 0/1 0/0 0/0 .data @4878 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4878[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)floorSelect_proc__12dMenu_Dmap_cFv, -}; -#pragma pop -/* 803BC990-803BC99C -00001 000C+00 0/1 0/0 0/0 .data @4879 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4879[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)floorChange_proc__12dMenu_Dmap_cFv, -}; -#pragma pop - -/* 803BC99C-803BC9B4 019ABC 0018+00 1/2 0/0 0/0 .data floor_move_process */ -SECTION_DATA static u8 floor_move_process[24] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -#endif - -#ifdef NONMATCHING static ProcFunc map_init_process[3] = { &dMenu_Dmap_c::zoomWait_init_proc, &dMenu_Dmap_c::zoomIn_init_proc, &dMenu_Dmap_c::zoomOut_init_proc, }; -#else -/* 803BC9B4-803BC9C0 -00001 000C+00 0/1 0/0 0/0 .data @4880 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4880[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)zoomWait_init_proc__12dMenu_Dmap_cFv, -}; -#pragma pop -/* 803BC9C0-803BC9CC -00001 000C+00 0/1 0/0 0/0 .data @4881 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4881[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)zoomIn_init_proc__12dMenu_Dmap_cFv, -}; -#pragma pop - -/* 803BC9CC-803BC9D8 -00001 000C+00 0/1 0/0 0/0 .data @4882 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4882[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)zoomOut_init_proc__12dMenu_Dmap_cFv, -}; -#pragma pop - -/* 803BC9D8-803BC9FC 019AF8 0024+00 3/4 0/0 0/0 .data map_init_process */ -SECTION_DATA static u8 map_init_process[36] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -#endif - -#ifdef NONMATCHING static ProcFunc map_move_process[3] = { &dMenu_Dmap_c::zoomWait_proc, &dMenu_Dmap_c::zoomIn_proc, &dMenu_Dmap_c::zoomOut_proc, }; -#else -/* 803BC9FC-803BCA08 -00001 000C+00 0/1 0/0 0/0 .data @4883 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4883[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)zoomWait_proc__12dMenu_Dmap_cFv, -}; -#pragma pop - -/* 803BCA08-803BCA14 -00001 000C+00 0/1 0/0 0/0 .data @4884 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4884[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)zoomIn_proc__12dMenu_Dmap_cFv, -}; -#pragma pop - -/* 803BCA14-803BCA20 -00001 000C+00 0/1 0/0 0/0 .data @4885 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4885[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)zoomOut_proc__12dMenu_Dmap_cFv, -}; -#pragma pop - -/* 803BCA20-803BCAE0 019B40 0024+9C 1/2 0/0 0/0 .data map_move_process */ -SECTION_DATA static u8 map_move_process[36 + 156 /* padding */] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, -}; -#endif - -/* 803BCAE0-803BCAEC 019C00 000C+00 4/4 0/0 0/0 .data __vt__15dMenu_DmapMap_c */ -SECTION_DATA extern void* __vt__15dMenu_DmapMap_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__15dMenu_DmapMap_cFv, -}; - -/* 803BCAEC-803BCB10 019C0C 0024+00 3/3 0/0 0/0 .data __vt__20dMenu_StageMapCtrl_c */ -SECTION_DATA extern void* __vt__20dMenu_StageMapCtrl_c[9] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__20dMenu_StageMapCtrl_cFv, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, -}; - -/* 803BCB10-803BCB38 019C30 000C+1C 2/2 0/0 0/0 .data __vt__12dMenu_Dmap_c */ -SECTION_DATA extern void* __vt__12dMenu_Dmap_c[3 + 7 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12dMenu_Dmap_cFv, - /* padding */ - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, -}; - -/* 803BCB38-803BCB60 019C58 001C+0C 2/2 0/0 0/0 .data __vt__14dMenu_DmapBg_c */ -SECTION_DATA extern void* __vt__14dMenu_DmapBg_c[7 + 3 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)draw__14dMenu_DmapBg_cFv, - (void*)NULL, - (void*)NULL, - (void*)func_801C0844, - (void*)__dt__14dMenu_DmapBg_cFv, - /* padding */ - NULL, - NULL, - NULL, -}; - -/* 80453FE8-80453FEC 0025E8 0004+00 20/20 0/0 0/0 .sdata2 @3962 */ -SECTION_SDATA2 static u8 lit_3962[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - -/* 80453FEC-80453FF0 0025EC 0004+00 26/26 0/0 0/0 .sdata2 @3963 */ -SECTION_SDATA2 static f32 lit_3963 = 1.0f; /* 801B7F20-801B8110 1B2860 01F0+00 1/1 0/0 0/0 .text * __ct__14dMenu_DmapBg_cFP10JKRExpHeapP9STControl */ @@ -943,23 +374,11 @@ dMenu_DmapBg_c::dMenu_DmapBg_c(JKRExpHeap* param_1, STControl* param_2) { field_0xd20 = 0; mpBackTexture = 0; field_0xdbc = 0.0f; - memset(field_0xd80, 0, sizeof(field_0xd80)); + memset(field_0xd80, 0, 0x14); buttonIconScreenInit(); field_0xdd0 = 0; } - -/* ############################################################################################## */ -/* 80395760-80395760 021DC0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80395779 = "zelda_dungeon_map_map.blo"; -SECTION_DEAD static char const* const stringBase_80395793 = "zelda_dungeon_map_map.btk"; -#pragma pop - -/* 80453FF0-80453FF4 0025F0 0004+00 1/1 0/0 0/0 .sdata2 @4073 */ -SECTION_SDATA2 static f32 lit_4073 = -15.0f; - /* 801B8110-801B884C 1B2A50 073C+00 1/1 0/0 0/0 .text mapScreenInit__14dMenu_DmapBg_cFv */ void dMenu_DmapBg_c::mapScreenInit() { @@ -1034,13 +453,6 @@ void dMenu_DmapBg_c::mapScreenInit() { } } -/* ############################################################################################## */ -/* 80453FF4-80453FF8 0025F4 0004+00 2/2 0/0 0/0 .sdata2 @4106 */ -SECTION_SDATA2 static f32 lit_4106 = 2.0f / 5.0f; - -/* 80453FF8-80454000 0025F8 0008+00 8/8 0/0 0/0 .sdata2 @4108 */ -SECTION_SDATA2 static f64 lit_4108 = 4503601774854144.0 /* cast s32 to float */; - /* 801B884C-801B88F4 1B318C 00A8+00 1/1 0/0 0/0 .text mapScreenAnime__14dMenu_DmapBg_cFv */ void dMenu_DmapBg_c::mapScreenAnime() { @@ -1056,7 +468,6 @@ void dMenu_DmapBg_c::mapScreenAnime() { } } - /* 801B88F4-801B893C 1B3234 0048+00 1/1 0/0 0/0 .text mapIconScaleSet__14dMenu_DmapBg_cFUc */ void dMenu_DmapBg_c::mapIconScaleSet(u8 param_1) { f32 fVar1; @@ -1071,7 +482,6 @@ void dMenu_DmapBg_c::mapIconScaleSet(u8 param_1) { iconScale(1, fVar1, fVar1, fVar2); } - /* 801B893C-801B8954 1B327C 0018+00 2/2 0/0 0/0 .text iconScaleAnmInit__14dMenu_DmapBg_cFffUc */ void dMenu_DmapBg_c::iconScaleAnmInit(f32 param_0, f32 param_1, u8 param_2) { field_0xdac = param_0; @@ -1080,10 +490,6 @@ void dMenu_DmapBg_c::iconScaleAnmInit(f32 param_0, f32 param_1, u8 param_2) { field_0xdd2 = 0; } -/* ############################################################################################## */ -/* 80454000-80454004 002600 0004+00 1/1 0/0 0/0 .sdata2 @4133 */ -SECTION_SDATA2 static f32 lit_4133 = 1.0f / 20.0f; - /* 801B8954-801B8A0C 1B3294 00B8+00 2/2 0/0 0/0 .text iconScaleAnm__14dMenu_DmapBg_cFv */ bool dMenu_DmapBg_c::iconScaleAnm() { bool rv = false; @@ -1109,68 +515,17 @@ bool dMenu_DmapBg_c::iconScaleAnm() { return rv; } - -/* ############################################################################################## */ -/* 80395518-80395540 021B78 0028+00 2/2 0/0 0/0 .rodata cont_at$4145 */ -SECTION_RODATA static u64 const cont_at_4145[5] = { - 'cont_at', 'cont_at1', 'cont_at2', 'cont_at3', 'cont_at4', -}; -COMPILER_STRIP_GATE(0x80395518, &cont_at_4145); - -/* 80395540-80395568 021BA0 0028+00 0/1 0/0 0/0 .rodata cont_bt$4146 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u64 const cont_bt_4146[5] = { - 'cont_bt', 'cont_bt1', 'cont_bt2', 'cont_bt3', 'cont_bt4', -}; -COMPILER_STRIP_GATE(0x80395540, &cont_bt_4146); -#pragma pop - -/* 80395568-80395590 021BC8 0028+00 0/1 0/0 0/0 .rodata font_at$4147 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u64 const font_at[5] = { - 'font_at', 'font_at1', 'font_at2', 'font_at3', 'font_at4', -}; -COMPILER_STRIP_GATE(0x80395568, &font_at); -#pragma pop - -/* 80395590-803955B8 021BF0 0028+00 0/1 0/0 0/0 .rodata font_bt$4148 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u64 const font_bt[5] = { - 'font_bt', 'font_bt1', 'font_bt2', 'font_bt3', 'font_bt4', -}; -COMPILER_STRIP_GATE(0x80395590, &font_bt); -#pragma pop - -/* 803955B8-803955C8 021C18 0010+00 0/1 0/0 0/0 .rodata c_tag$4155 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u64 const c_tag_4155[2] = { - 'f_text_s', 'f_text', -}; -COMPILER_STRIP_GATE(0x803955B8, &c_tag_4155); -#pragma pop - -/* 80395760-80395760 021DC0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_803957AD = "zelda_dungeon_map_spot_button.blo"; -SECTION_DEAD static char const* const stringBase_803957CF = ""; -#pragma pop - -/* 80454004-80454008 002604 0004+00 1/1 0/0 0/0 .sdata2 @4191 */ -SECTION_SDATA2 static f32 lit_4191 = 160.0f; - -/* 80454008-8045400C 002608 0004+00 1/1 0/0 0/0 .sdata2 @4192 */ -SECTION_SDATA2 static f32 lit_4192 = 321.0f; - /* 801B8A0C-801B8DE4 1B334C 03D8+00 1/1 0/0 0/0 .text buttonIconScreenInit__14dMenu_DmapBg_cFv */ void dMenu_DmapBg_c::buttonIconScreenInit() { + static u64 const cont_at[5] = {'cont_at', 'cont_at1', 'cont_at2', 'cont_at3', 'cont_at4'}; + static u64 const cont_bt[5] = {'cont_bt', 'cont_bt1', 'cont_bt2', 'cont_bt3', 'cont_bt4'}; + static u64 const font_at[5] = {'font_at', 'font_at1', 'font_at2', 'font_at3', 'font_at4'}; + static u64 const font_bt[5] = {'font_bt', 'font_bt1', 'font_bt2', 'font_bt3', 'font_bt4'}; + static u64 const c_tag[2] = {'f_text_s', 'f_text'}; + mButtonScreen = new J2DScreen(); JUT_ASSERT(916, mButtonScreen != 0); - bool fg = mButtonScreen->setPriority("zelda_dungeon_map_spot_button_revo.blo", 0x20000, dComIfGp_getDmapResArchive()); + bool fg = mButtonScreen->setPriority("zelda_dungeon_map_spot_button.blo", 0x20000, dComIfGp_getDmapResArchive()); JUT_ASSERT(922, fg != false); dPaneClass_showNullPane(mButtonScreen); @@ -1206,14 +561,14 @@ void dMenu_DmapBg_c::buttonIconScreenInit() { ((J2DTextBox*)mButtonScreen->search(font_bt[i]))->setFont(mDoExt_getMesgFont()); ((J2DTextBox*)mButtonScreen->search(font_at[i]))->setString(32, ""); ((J2DTextBox*)mButtonScreen->search(font_bt[i]))->setString(32, ""); - ((J2DTextBox*)mButtonScreen->search(cont_at_4145[i]))->hide(); - ((J2DTextBox*)mButtonScreen->search(cont_bt_4146[i]))->hide(); + ((J2DTextBox*)mButtonScreen->search(cont_at[i]))->hide(); + ((J2DTextBox*)mButtonScreen->search(cont_bt[i]))->hide(); } field_0xcf4 = new CPaneMgr(mButtonScreen, 'c_n', 2, NULL); field_0xcf8 = NULL; J2DTextBox* textBox; for (int i = 0; i < 2; i++) { - textBox = ((J2DTextBox*)mButtonScreen->search(c_tag_4155[i])); + textBox = ((J2DTextBox*)mButtonScreen->search(c_tag[i])); textBox->setFont(mDoExt_getMesgFont()); textBox->setString(32, ""); } @@ -1226,47 +581,30 @@ void dMenu_DmapBg_c::buttonIconScreenInit() { field_0xcf4->paneTrans(321.0f, 0.0f); } -/* ############################################################################################## */ -/* 803955C8-803955F0 021C28 0028+00 1/1 0/0 0/0 .rodata cont_at$4196 */ -static u64 const cont_at_4196[5] = { - 'font_at', 'font_at1', 'font_at2', 'font_at3', 'font_at4', -}; - /* 801B8DE4-801B8EBC 1B3724 00D8+00 7/7 0/0 0/0 .text setAButtonString__14dMenu_DmapBg_cFUl */ void dMenu_DmapBg_c::setAButtonString(u32 param_1) { + static u64 const cont_at[5] = {'font_at', 'font_at1', 'font_at2', 'font_at3', 'font_at4'}; for (int i = 0; i < 5; i++) { if (param_1 == 0) { - strcpy(((J2DTextBox*)mButtonScreen->search(cont_at_4196[i]))->getStringPtr(), ""); + strcpy(((J2DTextBox*)mButtonScreen->search(cont_at[i]))->getStringPtr(), ""); } else { - dMeter2Info_getStringKanji(param_1, ((J2DTextBox*)mButtonScreen->search(cont_at_4196[i]))->getStringPtr(), NULL); + dMeter2Info_getStringKanji(param_1, ((J2DTextBox*)mButtonScreen->search(cont_at[i]))->getStringPtr(), NULL); } } } -/* ############################################################################################## */ -/* 803955F0-80395618 021C50 0028+00 1/1 0/0 0/0 .rodata cont_bt$4211 */ -static u64 const cont_bt_4211[5] = { - 'font_bt', 'font_bt1', 'font_bt2', 'font_bt3', 'font_bt4', -}; - /* 801B8EBC-801B8F94 1B37FC 00D8+00 8/8 0/0 0/0 .text setBButtonString__14dMenu_DmapBg_cFUl */ void dMenu_DmapBg_c::setBButtonString(u32 param_1) { + static u64 const cont_bt[5] = {'font_bt', 'font_bt1', 'font_bt2', 'font_bt3', 'font_bt4'}; for (int i = 0; i < 5; i++) { if (param_1 == 0) { - strcpy(((J2DTextBox*)mButtonScreen->search(cont_bt_4211[i]))->getStringPtr(), ""); + strcpy(((J2DTextBox*)mButtonScreen->search(cont_bt[i]))->getStringPtr(), ""); } else { - dMeter2Info_getStringKanji(param_1, ((J2DTextBox*)mButtonScreen->search(cont_bt_4211[i]))->getStringPtr(), NULL); + dMeter2Info_getStringKanji(param_1, ((J2DTextBox*)mButtonScreen->search(cont_bt[i]))->getStringPtr(), NULL); } } } -/* ############################################################################################## */ -/* 80395618-80395628 021C78 0010+00 1/1 0/0 0/0 .rodata c_tag$4229 */ -SECTION_RODATA static u64 const c_tag_4229[2] = { - 'f_text_s', 'f_text', -}; -COMPILER_STRIP_GATE(0x80395618, &c_tag_4229); - /* 80451078-8045107C 000578 0004+00 1/1 0/0 0/0 .sbss player_px */ static f32 player_px; @@ -1276,11 +614,9 @@ static f32 player_py; /* 80451080-80451088 000580 0004+04 6/6 0/0 0/0 .sbss myclass__12dMenu_Dmap_c */ dMenu_Dmap_c* dMenu_Dmap_c::myclass; -/* 8045400C-80454010 00260C 0004+00 7/7 0/0 0/0 .sdata2 @4249 */ -SECTION_SDATA2 static f32 lit_4249 = 0.5f; - /* 801B8F94-801B90BC 1B38D4 0128+00 1/1 0/0 0/0 .text setCButtonString__14dMenu_DmapBg_cFUl */ void dMenu_DmapBg_c::setCButtonString(u32 param_1) { + static u64 const c_tag[2] = {'f_text_s', 'f_text'}; int i; u32 r26; if (!dMenu_Dmap_c::myclass->isMapMoveState()) { @@ -1290,18 +626,17 @@ void dMenu_DmapBg_c::setCButtonString(u32 param_1) { } if (r26 == 0) { for (i = 0; i < 2; i++) { - strcpy(((J2DTextBox*)mButtonScreen->search(c_tag_4229[i]))->getStringPtr(), ""); + strcpy(((J2DTextBox*)mButtonScreen->search(c_tag[i]))->getStringPtr(), ""); } mpCButton->setAlphaRate(0.5f); } else { for (i = 0; i < 2; i++) { - dMeter2Info_getStringKanji(r26, ((J2DTextBox*)mButtonScreen->search(c_tag_4229[i]))->getStringPtr(), NULL); + dMeter2Info_getStringKanji(r26, ((J2DTextBox*)mButtonScreen->search(c_tag[i]))->getStringPtr(), NULL); } mpCButton->setAlphaRate(1.0f); } } - /* 801B90BC-801B90E0 1B39FC 0024+00 1/1 0/0 0/0 .text setJButtonString__14dMenu_DmapBg_cFUl */ void dMenu_DmapBg_c::setJButtonString(u32 param_0) { dMenu_Dmap_c::myclass->isMapMoveState(); @@ -1329,37 +664,17 @@ void dMenu_DmapBg_c::deleteExplain() { } } -/* ############################################################################################## */ -/* 80395760-80395760 021DC0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_803957D0 = "zelda_dungeon_map_base.blo"; -SECTION_DEAD static char const* const stringBase_803957EB = "zelda_dungeon_map_floor_parts.blo"; -#pragma pop - -/* 80454010-80454014 002610 0004+00 1/1 0/0 0/0 .sdata2 @4312 */ -SECTION_SDATA2 static f32 lit_4312 = 19.0f / 20.0f; - -/* 80454014-80454018 002614 0004+00 7/7 0/0 0/0 .sdata2 @4313 */ -SECTION_SDATA2 static f32 lit_4313 = 9.0f / 10.0f; - -/* 80454018-8045401C 002618 0004+00 1/1 0/0 0/0 .sdata2 @4314 */ -SECTION_SDATA2 static f32 lit_4314 = 1.0f / 10.0f; - -/* 8045401C-80454020 00261C 0004+00 1/1 0/0 0/0 .sdata2 @4315 */ -SECTION_SDATA2 static f32 lit_4315 = 3.0f / 5.0f; - /* 801B91DC-801B944C 1B3B1C 0270+00 1/1 0/0 0/0 .text baseScreenInit__14dMenu_DmapBg_cFv */ void dMenu_DmapBg_c::baseScreenInit() { mBaseScreen = new J2DScreen(); JUT_ASSERT(1336, mBaseScreen != 0); - bool fg = mBaseScreen->setPriority("zelda_dungeon_map_base_revo.blo", 0x20000, dComIfGp_getDmapResArchive()); + bool fg = mBaseScreen->setPriority("zelda_dungeon_map_base.blo", 0x20000, dComIfGp_getDmapResArchive()); JUT_ASSERT(1347, fg != false); dPaneClass_showNullPane(mBaseScreen); mFloorScreen = new J2DScreen(); JUT_ASSERT(1351, mFloorScreen != 0); - fg = mFloorScreen->setPriority("zelda_dungeon_map_floor_parts_revo.blo", 0x20000, + fg = mFloorScreen->setPriority("zelda_dungeon_map_floor_parts.blo", 0x20000, dComIfGp_getDmapResArchive()); JUT_ASSERT(1362, fg != false); dPaneClass_showNullPane(mFloorScreen); @@ -1384,46 +699,6 @@ void dMenu_DmapBg_c::baseScreenInit() { } } - -/* ############################################################################################## */ -/* 80395628-80395648 021C88 001A+06 1/1 0/0 0/0 .rodata @4325 */ -SECTION_RODATA static u8 const lit_4325[26 + 6 /* padding */] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x03, - 0xDB, - 0x03, - 0xDA, - 0x03, - 0x6B, - 0x03, - 0x6C, - 0x03, - 0x6D, - 0x03, - 0x6E, - 0x03, - 0x6F, - 0x03, - 0xDC, - 0x03, - 0xDD, - 0x03, - 0xD9, - 0x03, - 0xD8, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80395628, &lit_4325); - /* 801B944C-801BA0B4 1B3D8C 0C68+00 1/1 0/0 0/0 .text setFloorMessage__14dMenu_DmapBg_cFv */ void dMenu_DmapBg_c::setFloorMessage() { @@ -1542,7 +817,6 @@ void dMenu_DmapBg_c::setFloorMessage() { } } - /* 801BA0B4-801BA0BC 1B49F4 0008+00 1/1 0/0 0/0 .text dpdMove__14dMenu_DmapBg_cFScScScPUcUc */ bool dMenu_DmapBg_c::dpdMove(s8 param_0, s8 param_1, s8 param_2, u8* param_3, u8 param_4) { return false; @@ -1647,7 +921,6 @@ dMenu_DmapBg_c::~dMenu_DmapBg_c() { } } - /* 801BA60C-801BA700 1B4F4C 00F4+00 2/2 0/0 0/0 .text setAllAlphaRate__14dMenu_DmapBg_cFfb */ void dMenu_DmapBg_c::setAllAlphaRate(f32 param_1, bool param_2) { field_0xd9c = param_1; @@ -1686,10 +959,6 @@ void dMenu_DmapBg_c::setGoldAnimation(bool param_1) { } } -/* ############################################################################################## */ -/* 80454020-80454024 002620 0004+00 3/3 0/0 0/0 .sdata2 @4643 */ -SECTION_SDATA2 static f32 lit_4643 = 255.0f; - /* 801BA7F0-801BA974 1B5130 0184+00 3/3 0/0 0/0 .text setGoldFrameAlphaRate__14dMenu_DmapBg_cFf */ void dMenu_DmapBg_c::setGoldFrameAlphaRate(f32 param_1) { if (0.0f == param_1) { @@ -1703,7 +972,6 @@ void dMenu_DmapBg_c::setGoldFrameAlphaRate(f32 param_1) { } } - /* 801BA974-801BAA4C 1B52B4 00D8+00 1/1 0/0 0/0 .text addGoldFrameAlphaRate__14dMenu_DmapBg_cFv */ void dMenu_DmapBg_c::addGoldFrameAlphaRate() { f32 dVar4; @@ -1720,7 +988,6 @@ void dMenu_DmapBg_c::addGoldFrameAlphaRate() { setGoldFrameAlphaRate(dVar4); } - /* 801BAA4C-801BAB10 1B538C 00C4+00 1/1 0/0 0/0 .text decGoldFrameAlphaRate__14dMenu_DmapBg_cFv */ void dMenu_DmapBg_c::decGoldFrameAlphaRate() { f32 dVar4; @@ -1739,26 +1006,6 @@ void dMenu_DmapBg_c::decGoldFrameAlphaRate() { setGoldFrameAlphaRate(dVar4); } - -/* ############################################################################################## */ -/* 80454024-80454028 002624 0004+00 4/4 0/0 0/0 .sdata2 @4784 */ -SECTION_SDATA2 static f32 lit_4784 = 608.0f; - -/* 80454028-8045402C 002628 0004+00 4/4 0/0 0/0 .sdata2 @4785 */ -SECTION_SDATA2 static f32 lit_4785 = 448.0f; - -/* 8045402C-80454030 00262C 0004+00 1/1 0/0 0/0 .sdata2 @4786 */ -SECTION_SDATA2 static f32 lit_4786 = 2.0f; - -/* 80454030-80454034 002630 0004+00 1/1 0/0 0/0 .sdata2 @4787 */ -SECTION_SDATA2 static f32 lit_4787 = 7.0f / 10.0f; - -/* 80454034-80454038 002634 0004+00 1/1 0/0 0/0 .sdata2 @4788 */ -SECTION_SDATA2 static f32 lit_4788 = -35.0f; - -/* 80454038-80454040 002638 0008+00 2/2 0/0 0/0 .sdata2 @4790 */ -SECTION_SDATA2 static f64 lit_4790 = 4503599627370496.0 /* cast u32 to float */; - /* 801BAB10-801BB334 1B5450 0824+00 1/0 0/0 0/0 .text draw__14dMenu_DmapBg_cFv */ void dMenu_DmapBg_c::draw() { u32 local_270; @@ -1854,18 +1101,6 @@ void dMenu_DmapBg_c::draw() { grafContext->setup2D(); } - -/* ############################################################################################## */ -/* 80395760-80395760 021DC0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8039580D = "tex/bg.bti"; -SECTION_DEAD static char const* const stringBase_80395818 = "spec/spec.dat"; -#pragma pop - -/* 80454040-80454044 002640 0004+00 1/1 0/0 0/0 .sdata2 @4848 */ -SECTION_SDATA2 static f32 lit_4848 = 25.5f; - /* 801BB334-801BB464 1B5C74 0130+00 1/1 0/0 0/0 .text update__14dMenu_DmapBg_cFv */ void dMenu_DmapBg_c::update() { if (field_0xd1c !=NULL) { @@ -1890,7 +1125,6 @@ void dMenu_DmapBg_c::update() { } } - /* 801BB464-801BB468 1B5DA4 0004+00 1/1 0/0 0/0 .text calcCursor__14dMenu_DmapBg_cFv */ void dMenu_DmapBg_c::calcCursor() { /* empty function */ @@ -1901,13 +1135,6 @@ void dMenu_DmapBg_c::drawCursor() { mpDrawCursor->draw(); } -/* ############################################################################################## */ -/* 80454044-80454048 002644 0004+00 3/3 0/0 0/0 .sdata2 @4926 */ -SECTION_SDATA2 static f32 lit_4926 = -608.0f; - -/* 80454048-8045404C 002648 0004+00 3/3 0/0 0/0 .sdata2 @4927 */ -SECTION_SDATA2 static f32 lit_4927 = -448.0f; - /* 801BB498-801BB634 1B5DD8 019C+00 0/0 1/1 0/0 .text * __ct__12dMenu_Dmap_cFP10JKRExpHeapP9STControlP10CSTControlUcUc */ dMenu_Dmap_c::dMenu_Dmap_c(JKRExpHeap* param_1, STControl* param_2, CSTControl* param_3, @@ -1976,78 +1203,20 @@ dMenu_Dmap_c::dMenu_Dmap_c(JKRExpHeap* param_1, STControl* param_2, CSTControl* field_0xe4 = 0; } - -/* ############################################################################################## */ -/* 80395648-80395688 021CA8 0040+00 0/1 0/0 0/0 .rodata floor_tag$4932 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u64 const floor_tag[8] = { - 'floor7_n', 'floor0_n', 'floor1_n', 'floor2_n', 'floor3_n', 'floor4_n', 'floor5_n', 'floor6_n', -}; -COMPILER_STRIP_GATE(0x80395648, &floor_tag); -#pragma pop - -/* 80395688-803956C8 021CE8 0040+00 0/1 0/0 0/0 .rodata icon_tag$4933 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u64 const icon_tag[8] = { - 'ico_set7', 'ico_set0', 'ico_set1', 'ico_set2', 'ico_set3', 'ico_set4', 'ico_set5', 'ico_set6', -}; -COMPILER_STRIP_GATE(0x80395688, &icon_tag); -#pragma pop - -/* 803956C8-80395708 021D28 0040+00 0/1 0/0 0/0 .rodata boss_tag$4934 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u64 const boss_tag[8] = { - 'ic_st_b7', 'ic_st_b0', 'ic_st_b1', 'ic_st_b2', 'ic_st_b3', 'ic_st_b4', 'ic_st_b5', 'ic_st_b6', -}; -COMPILER_STRIP_GATE(0x803956C8, &boss_tag); -#pragma pop - -/* 80395708-80395718 021D68 0010+00 0/1 0/0 0/0 .rodata stay_tag$4935 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u64 const stay_tag[2] = { - 'rink_nul', 'boss_nul', -}; -COMPILER_STRIP_GATE(0x80395708, &stay_tag); -#pragma pop - -/* 80395718-80395730 021D78 0018+00 0/1 0/0 0/0 .rodata waku_tag$4973 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u64 const waku_tag[3] = { - 'gray_map', 'gray_con', 'gray_key', -}; -COMPILER_STRIP_GATE(0x80395718, &waku_tag); -#pragma pop - -/* 80395730-80395748 021D90 0018+00 0/1 0/0 0/0 .rodata key_tag$5002 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u64 const key_tag[3] = { - 'key_00', 'key_01', 'key_02', -}; -COMPILER_STRIP_GATE(0x80395730, &key_tag); -#pragma pop - -/* 80395748-80395760 021DA8 0018+00 0/1 0/0 0/0 .rodata item_tag$5040 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u64 const item_tag[3] = { - 'map000', 'con000', 'i_key_n', -}; -COMPILER_STRIP_GATE(0x80395748, &item_tag); -#pragma pop - -/* 8045404C-80454050 00264C 0004+00 1/1 0/0 0/0 .sdata2 @5277 */ -SECTION_SDATA2 static f32 lit_5277 = 7.0f; - /* 801BB634-801BC788 1B5F74 1154+00 1/1 0/0 0/0 .text screenInit__12dMenu_Dmap_cFv */ -// float reg issues -#ifdef NONMATCHING +// NONMATCHING float reg issues void dMenu_Dmap_c::screenInit() { + static u64 const floor_tag[8] = {'floor7_n', 'floor0_n', 'floor1_n', 'floor2_n', + 'floor3_n', 'floor4_n', 'floor5_n', 'floor6_n'}; + static u64 const icon_tag[8] = {'ico_set7', 'ico_set0', 'ico_set1', 'ico_set2', + 'ico_set3', 'ico_set4', 'ico_set5', 'ico_set6'}; + static u64 const boss_tag[8] = {'ic_st_b7', 'ic_st_b0', 'ic_st_b1', 'ic_st_b2', + 'ic_st_b3', 'ic_st_b4', 'ic_st_b5', 'ic_st_b6'}; + static u64 const stay_tag[2] = {'rink_nul', 'boss_nul'}; + static u64 const waku_tag[3] = {'gray_map', 'gray_con', 'gray_key'}; + static u64 const key_tag[3] = {'key_00', 'key_01', 'key_02'}; + static u64 const item_tag[3] = {'map000', 'con000', 'i_key_n'}; + field_0x10 = new CPaneMgr(mpDrawBg[0]->mBaseScreen, 'floo_s_n', 0, NULL); for (int i = 0; i < 8; i++) { field_0x114[i] = 0.0f; @@ -2226,15 +1395,6 @@ void dMenu_Dmap_c::screenInit() { field_0x98 = new CPaneMgr(mpDrawBg[0]->mBaseScreen, 'so_s_n', 0, NULL); field_0x98->hide(); } -#else -void dMenu_Dmap_c::screenInit() { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ -/* 80454050-80454054 002650 0004+00 2/2 0/0 0/0 .sdata2 @5288 */ -SECTION_SDATA2 static f32 lit_5288 = 0.0054931640625f; /* 801BC788-801BC848 1B70C8 00C0+00 1/1 0/0 0/0 .text getPlayerIconPos__12dMenu_Dmap_cFScf */ void dMenu_Dmap_c::getPlayerIconPos(s8 param_1, f32 param_2) { @@ -2249,7 +1409,6 @@ void dMenu_Dmap_c::getPlayerIconPos(s8 param_1, f32 param_2) { } } - /* 801BC848-801BCDF4 1B7188 05AC+00 2/2 0/0 0/0 .text getIconPos__12dMenu_Dmap_cFScf */ void dMenu_Dmap_c::getIconPos(s8 param_1, f32 param_2) { f32 local_34; @@ -2354,7 +1513,6 @@ void dMenu_Dmap_c::getIconPos(s8 param_1, f32 param_2) { getPlayerIconPos(param_1, param_2); } - /* 801BCDF4-801BD144 1B7734 0350+00 1/0 0/0 0/0 .text __dt__12dMenu_Dmap_cFv */ dMenu_Dmap_c::~dMenu_Dmap_c() { s32 iVar2 = field_0xe8->getTotalFreeSize(); @@ -2434,12 +1592,6 @@ dMenu_Dmap_c::~dMenu_Dmap_c() { dMenu_Dmap_c::myclass = NULL; } - -/* 801BD144-801BD1D4 1B7A84 0090+00 0/0 1/0 0/0 .text __dt__19dMenu_DmapMapCtrl_cFv */ -dMenu_DmapMapCtrl_c::~dMenu_DmapMapCtrl_c() { - // NONMATCHING -} - /* 801BD1D4-801BD1E8 1B7B14 0014+00 10/10 0/0 0/0 .text getCurFloorPos__12dMenu_Dmap_cFv */ s8 dMenu_Dmap_c::getCurFloorPos() { @@ -2812,40 +1964,3 @@ void dMenu_Dmap_c::zoomOut_init_proc() { void dMenu_Dmap_c::zoomOut_proc() { // NONMATCHING } - -/* 801C0380-801C042C 1BACC0 00AC+00 4/4 1/0 0/0 .text __dt__15renderingDmap_cFv */ -renderingDmap_c::~renderingDmap_c() { - // NONMATCHING -} - -/* 801C042C-801C04AC 1BAD6C 0080+00 1/0 0/0 0/0 .text __dt__20dMenu_StageMapCtrl_cFv */ -dMenu_StageMapCtrl_c::~dMenu_StageMapCtrl_c() { - // NONMATCHING -} - -/* 801C04AC-801C051C 1BADEC 0070+00 1/0 0/0 0/0 .text __dt__15dMenu_DmapMap_cFv */ -dMenu_DmapMap_c::~dMenu_DmapMap_c() { - // NONMATCHING -} - -/* 801C051C-801C05C4 1BAE5C 00A8+00 1/1 0/0 0/0 .text __ct__15renderingDmap_cFv */ -renderingDmap_c::renderingDmap_c() { - // NONMATCHING -} - -/* 801C05C4-801C0844 1BAF04 0280+00 0/0 1/0 0/0 .text __sinit_d_menu_dmap_cpp */ -void __sinit_d_menu_dmap_cpp() { - // NONMATCHING -} - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x801C05C4, __sinit_d_menu_dmap_cpp); -#pragma pop - -/* 801C0844-801C084C 1BB184 0008+00 1/0 0/0 0/0 .text @4@__dt__14dMenu_DmapBg_cFv */ -static void func_801C0844() { - // NONMATCHING -} - -/* 80395760-80395760 021DC0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file diff --git a/src/d/d_menu_fmap_map.cpp b/src/d/d_menu_fmap_map.cpp index 3a06863cf5..2e909d0926 100644 --- a/src/d/d_menu_fmap_map.cpp +++ b/src/d/d_menu_fmap_map.cpp @@ -107,17 +107,12 @@ extern "C" u8 sincosTable___5JMath[65536]; // Declarations: // -/* ############################################################################################## */ -/* 80454178-80454180 002778 0008+00 3/3 0/0 0/0 .sdata2 @3689 */ -SECTION_SDATA2 static f64 lit_3689 = 4503599627370496.0 /* cast u32 to float */; - /* 801CE068-801CE0CC 1C89A8 0064+00 1/1 0/0 0/0 .text twoValueLineInterpolation__FUcUcf */ static u8 twoValueLineInterpolation(u8 i_value1, u8 i_value2, f32 i_param) { return (u8)((f32)i_value1 + i_param * ((f32)i_value2 - (f32)i_value1)); } - /* 801CE0CC-801CE15C 1C8A0C 0090+00 2/2 0/0 0/0 .text * twoColorLineInterporation__FRC8_GXColorRC8_GXColorfR8_GXColor */ static void twoColorLineInterporation(GXColor const& i_color1, GXColor const& i_color2, @@ -128,15 +123,6 @@ static void twoColorLineInterporation(GXColor const& i_color1, GXColor const& i_ o_color.a = twoValueLineInterpolation(i_color1.a, i_color2.a, i_param); } -/* ############################################################################################## */ -/* 80454180-80454184 002780 0004+00 3/3 0/0 0/0 .sdata2 @3703 */ -SECTION_SDATA2 static u8 lit_3703[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - /* 801CE15C-801CE188 1C8A9C 002C+00 1/1 0/0 0/0 .text init__15renderingFmap_cFPUcUsUsUsUs */ void renderingFmap_c::init(u8* param_0, u16 i_texWidth, u16 i_texHeight, u16 param_3, u16 param_4) { @@ -150,11 +136,6 @@ void renderingFmap_c::init(u8* param_0, u16 i_texWidth, u16 i_texHeight, u16 par mDrawEnable = false; } - -/* ############################################################################################## */ -/* 80454184-80454188 002784 0004+00 3/3 0/0 0/0 .sdata2 @3711 */ -SECTION_SDATA2 static f32 lit_3711 = 1.0f; - /* 801CE188-801CE224 1C8AC8 009C+00 1/1 0/0 0/0 .text * entry__15renderingFmap_cFP23dMenu_Fmap_world_data_cifff */ void renderingFmap_c::entry(dMenu_Fmap_world_data_c* i_worldData, int i_startStageNo, @@ -169,7 +150,6 @@ void renderingFmap_c::entry(dMenu_Fmap_world_data_c* i_worldData, int i_startSta dComIfGd_setCopy2D(this); } - /* 801CE224-801CE288 1C8B64 0064+00 1/1 0/0 0/0 .text isSwitchSpecialOff__15renderingFmap_cFi */ bool renderingFmap_c::isSwitchSpecialOff(int i_swbit) { return !strcmp(dComIfGp_getStartStageName(), "F_SP121") && i_swbit == 0xb2; @@ -221,16 +201,6 @@ int renderingFmap_c::getPointStagePathInnerNo(dMenu_Fmap_region_data_c* i_region i_stageNo, o_stageNo, o_roomNo); } -/* ############################################################################################## */ -/* 80454188-8045418C 002788 0004+00 1/1 0/0 0/0 .sdata2 @3769 */ -SECTION_SDATA2 static f32 lit_3769 = -5000.0f; - -/* 8045418C-80454190 00278C 0004+00 1/1 0/0 0/0 .sdata2 @3770 */ -SECTION_SDATA2 static f32 lit_3770 = 5000.0f; - -/* 80454190-80454194 002790 0004+00 1/1 0/0 0/0 .sdata2 @3771 */ -SECTION_SDATA2 static f32 lit_3771 = -1.0f; - /* 801CE410-801CE4D4 1C8D50 00C4+00 2/0 0/0 0/0 .text preDrawPath__15renderingFmap_cFv */ void renderingFmap_c::preDrawPath() { mEye.x = mPosX; @@ -251,7 +221,6 @@ void renderingFmap_c::preDrawPath() { GXSetMisc(GX_MT_XF_FLUSH, 8); } - /* 801CE4D4-801CE4DC 1C8E14 0008+00 2/0 0/0 0/0 .text isDrawPath__15renderingFmap_cFv */ bool renderingFmap_c::isDrawPath() { return true; @@ -520,17 +489,9 @@ dMenu_FmapMap_c::dMenu_FmapMap_c() { /* 801CED38-801CEDE8 1C9678 00B0+00 1/0 0/0 0/0 .text __dt__15dMenu_FmapMap_cFv */ -#ifdef NONMATCHING -// matches once ~renderingFmap_c() is inlined dMenu_FmapMap_c::~dMenu_FmapMap_c() { _delete(); } -#else -// dMenu_FmapMap_c::~dMenu_FmapMap_c() { -extern "C" asm void __dt__15dMenu_FmapMap_cFv() { - // NONMATCHING -} -#endif /* 801CEDE8-801CEE3C 1C9728 0054+00 0/0 1/1 0/0 .text _create__15dMenu_FmapMap_cFUsUsUsUsPv */ void dMenu_FmapMap_c::_create(u16 i_texWidth, u16 i_texHeight, u16 param_2, u16 param_3, void* i_res) { @@ -557,30 +518,12 @@ void dMenu_FmapMap_c::_delete() { } } -/* ############################################################################################## */ /* 80454194-80454198 002794 0001+03 2/2 0/0 0/0 .sdata2 m_other__22dMfm_HIO_prm_res_src_s */ const dMfm_HIO_prm_res_src_s dMfm_HIO_prm_res_src_s::m_other = {30}; -/* 80454198-8045419C 002798 0004+00 1/1 0/0 0/0 .sdata2 @4104 */ -SECTION_SDATA2 static f32 lit_4104 = 0.5f; - -/* 8045419C-804541A0 00279C 0004+00 1/1 0/0 0/0 .sdata2 @4105 */ -SECTION_SDATA2 static f32 lit_4105 = 65536.0f; - -/* 804541A0-804541A8 0027A0 0004+04 1/1 0/0 0/0 .sdata2 @4106 */ -SECTION_SDATA2 static f32 lit_4106[1 + 1 /* padding */] = { - 32768.0f, - /* padding */ - 0.0f, -}; - -/* 804541A8-804541B0 0027A8 0008+00 2/2 0/0 0/0 .sdata2 @4108 */ -SECTION_SDATA2 static f64 lit_4108 = 4503601774854144.0 /* cast s32 to float */; - /* 801CEE94-801CF0B4 1C97D4 0220+00 1/0 0/0 0/0 .text draw__15dMenu_FmapMap_cFv */ -#ifdef NONMATCHING -//? regalloc and instructions out of order +// NONMATCHING regalloc and instructions out of order void dMenu_FmapMap_c::draw() { f32 fVar3; int iVar2 = mFlashTimer; @@ -605,11 +548,6 @@ void dMenu_FmapMap_c::draw() { renderingMap(); } -#else -void dMenu_FmapMap_c::draw() { - // NONMATCHING -} -#endif /* 801CF0B4-801CF12C 1C99F4 0078+00 1/0 0/0 0/0 .text * rendering__15dMenu_FmapMap_cFPCQ211dDrawPath_c10line_class */ @@ -623,36 +561,6 @@ void dMenu_FmapMap_c::rendering(dDrawPath_c::line_class const* i_line) { } } -/* ############################################################################################## */ -/* 804541B0-804541B8 0027B0 0005+03 1/1 0/0 0/0 .sdata2 l_lineWidthPatData$4134 */ -SECTION_SDATA2 static u8 l_lineWidthPatData[5 + 3 /* padding */] = { - 0x00, - 0x06, - 0x0C, - 0x00, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; - -/* 804541B8-804541C0 0027B8 0005+03 1/1 0/0 0/0 .sdata2 l_lineWidthPatData2$4135 */ -SECTION_SDATA2 static u8 l_lineWidthPatData2[5 + 3 /* padding */] = { - 0x00, - 0x00, - 0x06, - 0x00, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, -}; - -/* 804541C0-804541C4 0027C0 0004+00 1/1 0/0 0/0 .sdata2 @4152 */ -SECTION_SDATA2 static f32 lit_4152 = 1.5f; - /* 801CF12C-801CF1D4 1C9A6C 00A8+00 1/0 0/0 0/0 .text getLineWidth__15dMenu_FmapMap_cFi */ int dMenu_FmapMap_c::getLineWidth(int param_0) { @@ -679,7 +587,6 @@ int dMenu_FmapMap_c::getLineWidth(int param_0) { } } - /* 801CF1D4-801CF1E0 1C9B14 000C+00 1/0 0/0 0/0 .text isDrawType__15dMenu_FmapMap_cFi */ bool dMenu_FmapMap_c::isDrawType(int param_0) { return (param_0 >> 6) & 1 ? false : true; @@ -807,56 +714,3 @@ void dMenu_FmapMap_c::setRendering(dMenu_Fmap_world_data_c* i_worldData, int i_s } entry(i_worldData, i_startStageNo, i_posX, i_posY, i_scale); } - -/* 801CF4D0-801CF55C 1C9E10 008C+00 1/0 0/0 0/0 .text __dt__15renderingFmap_cFv */ -renderingFmap_c::~renderingFmap_c() { - /* empty function */ -} - -/* 801CF55C-801CF564 1C9E9C 0008+00 2/0 0/0 0/0 .text isRenderingFloor__15renderingFmap_cFi */ -bool renderingFmap_c::isRenderingFloor(int param_0) { - return true; -} - -/* 801CF564-801CF568 1C9EA4 0004+00 2/0 0/0 0/0 .text beforeDrawPath__15renderingFmap_cFv - */ -void renderingFmap_c::beforeDrawPath() { - /* empty function */ -} - -/* 801CF568-801CF56C 1C9EA8 0004+00 2/0 0/0 0/0 .text afterDrawPath__15renderingFmap_cFv - */ -void renderingFmap_c::afterDrawPath() { - /* empty function */ -} - -/* ############################################################################################## */ -/* 803BD680-803BD6E8 01A7A0 0068+00 2/2 0/0 0/0 .data __vt__15dMenu_FmapMap_c */ -SECTION_DATA extern void* __vt__15dMenu_FmapMap_c[26] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)draw__15dMenu_FmapMap_cFv, - (void*)__dt__15dMenu_FmapMap_cFv, - (void*)isDrawType__15dMenu_FmapMap_cFi, - (void*)getColor__15dMenu_FmapMap_cFi, - (void*)getLineColor__15dMenu_FmapMap_cFii, - (void*)getLineWidth__15dMenu_FmapMap_cFi, - (void*)isSwitch__15renderingFmap_cFPCQ211dDrawPath_c11group_class, - (void*)isRenderingFloor__15renderingFmap_cFi, - (void*)getFirstRoomPointer__15renderingFmap_cFv, - (void*)getNextRoomPointer__15renderingFmap_cFv, - (void*)drawPath__11dDrawPath_cFv, - (void*)rendering__15dMenu_FmapMap_cFPCQ211dDrawPath_c10line_class, - (void*)rendering__11dDrawPath_cFPCQ211dDrawPath_c10poly_class, - (void*)rendering__11dDrawPath_cFPCQ211dDrawPath_c10room_class, - (void*)beforeDrawPath__15renderingFmap_cFv, - (void*)afterDrawPath__15renderingFmap_cFv, - (void*)preDrawPath__15renderingFmap_cFv, - (void*)postDrawPath__15renderingFmap_cFv, - (void*)isDrawPath__15renderingFmap_cFv, - (void*)preRenderingMap__18dRenderingFDAmap_cFv, - (void*)postRenderingMap__15renderingFmap_cFv, - (void*)getBackColor__15dMenu_FmapMap_cCFv, - (void*)getDecoLineColor__18dRenderingFDAmap_cFii, - (void*)getDecorationLineWidth__18dRenderingFDAmap_cFi, -}; \ No newline at end of file diff --git a/src/d/d_menu_option.cpp b/src/d/d_menu_option.cpp index 05b5a096ec..9bf2b01c37 100644 --- a/src/d/d_menu_option.cpp +++ b/src/d/d_menu_option.cpp @@ -22,7 +22,6 @@ #include "m_Do/m_Do_graphic.h" #include "string.h" -/* ############################################################################################## */ /* 803BDBA8-803BDBB4 01ACC8 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */ static u8 cNullVec__6Z2Calc[12] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -87,54 +86,17 @@ dMenu_Option_c::~dMenu_Option_c() {} /* 80396EA8-80396EB8 023508 000C+04 4/4 0/0 0/0 .rodata dMo_soundMode */ static const u32 dMo_soundMode[3] = {0, 1, 2}; -/* 80396EB8-80396EE0 023518 0028+00 0/1 0/0 0/0 .rodata text_a_tag$3904 */ -static const u64 text_a_tag_3904[5] = { - 'atext1_1', 'atext1_2', 'atext1_3', 'atext1_4', 'atext1_5', -}; - -/* 80396EE0-80396F08 023540 0028+00 0/1 0/0 0/0 .rodata text_b_tag$3905 */ -static const u64 text_b_tag_3905[5] = { - 'btext1_1', 'btext1_2', 'btext1_3', 'btext1_4', 'btext1_5', -}; - -/* 80396F08-80396F18 023568 0010+00 0/1 0/0 0/0 .rodata l_tagName012$3918 */ -static const u64 l_tagName012[2] = { - 'w_no_n', - 'w_yes_n', -}; - -/* 80396F18-80396F28 023578 0010+00 0/1 0/0 0/0 .rodata l_tagName013$3919 */ -static const u64 l_tagName013[2] = { - 'w_no_t', - 'w_yes_t', -}; - -/* 80396F28-80396F38 023588 0010+00 0/1 0/0 0/0 .rodata l_tagName9$3928 */ -static const u64 l_tagName9[2] = { - 'w_no_m', - 'w_yes_m', -}; - -/* 80396F38-80396F48 023598 0010+00 0/1 0/0 0/0 .rodata l_tagName10$3929 */ -static const u64 l_tagName10[2] = { - 'w_no_g', - 'w_yes_g', -}; - -/* 80396F48-80396F58 0235A8 0010+00 0/1 0/0 0/0 .rodata l_tagName11$3930 */ -static const u64 l_tagName11[2] = { - 'w_no_gr', - 'w_yes_gr', -}; - -/* 80454328-8045432C 002928 0002+02 1/1 0/0 0/0 .sdata2 l_msgNum2$3920 */ -static const u8 l_msgNum2[2] = { - 0x08, - 0x07, -}; - /* 801E205C-801E2C1C 1DC99C 0BC0+00 1/1 0/0 0/0 .text _create__14dMenu_Option_cFv */ void dMenu_Option_c::_create() { + static const u64 text_a_tag[5] = {'atext1_1', 'atext1_2', 'atext1_3', 'atext1_4', 'atext1_5'}; + static const u64 text_b_tag[5] = {'btext1_1', 'btext1_2', 'btext1_3', 'btext1_4', 'btext1_5'}; + static const u64 l_tagName012[2] = {'w_no_n', 'w_yes_n'}; + static const u64 l_tagName013[2] = {'w_no_t', 'w_yes_t'}; + static const u64 l_tagName9[2] = {'w_no_m', 'w_yes_m'}; + static const u64 l_tagName10[2] = {'w_no_g', 'w_yes_g'}; + static const u64 l_tagName11[2] = {'w_no_gr', 'w_yes_gr'}; + static const u8 l_msgNum2[2] = {8, 7}; + mpFont = mDoExt_getMesgFont(); mpString = new dMsgString_c(); mpMeterHaihai = new dMeterHaihai_c(3); @@ -181,11 +143,11 @@ void dMenu_Option_c::_create() { field_0x3dc = 0; field_0x3de = 0; for (int i = 0; i < 5; i++) { - ((J2DTextBox*)(mpScreenIcon->search(text_a_tag_3904[i])))->setFont(mDoExt_getMesgFont()); - ((J2DTextBox*)(mpScreenIcon->search(text_b_tag_3905[i])))->setFont(mDoExt_getMesgFont()); + ((J2DTextBox*)(mpScreenIcon->search(text_a_tag[i])))->setFont(mDoExt_getMesgFont()); + ((J2DTextBox*)(mpScreenIcon->search(text_b_tag[i])))->setFont(mDoExt_getMesgFont()); - ((J2DTextBox*)(mpScreenIcon->search(text_a_tag_3904[i])))->setString(0x20, ""); - ((J2DTextBox*)(mpScreenIcon->search(text_b_tag_3905[i])))->setString(0x20, ""); + ((J2DTextBox*)(mpScreenIcon->search(text_a_tag[i])))->setString(0x20, ""); + ((J2DTextBox*)(mpScreenIcon->search(text_b_tag[i])))->setString(0x20, ""); } setAButtonString(0x40C); setBButtonString(0x3F9); @@ -1234,227 +1196,109 @@ void dMenu_Option_c::menuHide(int index) { } } -/* ############################################################################################## */ -/* 80396F58-80396F88 0235B8 0030+00 0/1 0/0 0/0 .rodata tag_frame$5201 */ -static const u64 tag_frame[6] = { - 'flame_00', 'flame_01', 'flame_02', 'flame_03', 'flame_04', 'flame_05', -}; - -/* 80396F88-80396FB8 0235E8 0030+00 0/1 0/0 0/0 .rodata tag_menu0$5202 */ -static const u64 tag_menu0[6] = { - 'fenu_t0', 'fenu_t1', 'fenu_t2', 'fenu_t3', 'fenu_t4', 'fenu_t5', -}; - -/* 80396FB8-80396FE8 023618 0030+00 0/1 0/0 0/0 .rodata let_n$5214 */ -static const u64 let_n[6] = { - 'let_00_n', 'let_01_n', 'let_02_n', 'let_03_n', 'let_04_n', 'let_05_n', -}; - -/* 80396FE8-80397018 023648 0030+00 0/1 0/0 0/0 .rodata let2_n$5215 */ -static const u64 let2_n[6] = { - 'let_00_n', 'let_01_n', 'let_02_n', 'let_03_n', 'let_04_n', -}; - -/* 80397018-80397048 023678 0030+00 0/1 0/0 0/0 .rodata menu_n$5216 */ -static const u64 menu_n[6] = { - 'menu_n0', 'menu_n1', 'menu_n2', 'menu_n3', 'menu_n4', 'menu_n5', -}; - -/* 80397048-80397078 0236A8 0030+00 0/1 0/0 0/0 .rodata menu2_n$5217 */ -static const u64 menu2_n[6] = { - 'mw_n_0', 'mw_n_1', 'mw_n_2', 'mw_n_3', 'mw_n_4', -}; - -/* 80397078-803970A8 0236D8 0030+00 0/1 0/0 0/0 .rodata al0_n$5218 */ -static const u64 al0_n[6] = { - 's_grr_00', 's_grr_01', 's_grr_02', 's_grr_03', 's_grr_04', 's_grr_05', -}; - -/* 803970A8-803970D8 023708 0030+00 0/1 0/0 0/0 .rodata al1_n$5219 */ -static const u64 al1_n[6] = { - 'c_grr_00', 'c_grr_01', 'c_grr_02', 'c_grr_03', 'c_grr_04', 'c_grr_05', -}; - -/* 803970D8-80397108 023738 0030+00 0/1 0/0 0/0 .rodata al2_n$5220 */ -static const u64 al2_n[6] = { - 's_grl_00', 's_grl_01', 's_grl_02', 's_grl_03', 's_grl_04', 's_grl_05', -}; - -/* 80397108-80397138 023768 0030+00 0/1 0/0 0/0 .rodata al3_n$5221 */ -static const u64 al3_n[6] = { - 'c_grl_00', 'c_grl_01', 'c_grl_02', 'c_grl_03', 'c_grl_04', 'c_grl_05', -}; - -/* 80397138-80397160 023798 0028+00 0/1 0/0 0/0 .rodata haihail_n$5238 */ -static const u64 haihail_n[5] = { - 'y_set_l0', 'y_set_l1', 'y_set_l2', 'y_set_l3', 'y_set_l4', -}; - -/* 80397160-80397188 0237C0 0028+00 0/1 0/0 0/0 .rodata haihair_n$5239 */ -static const u64 haihair_n[5] = { - 'y_set_r0', 'y_set_r1', 'y_set_r2', 'y_set_r3', 'y_set_r4', -}; - -/* 80397188-803971B8 0237E8 0030+00 0/1 0/0 0/0 .rodata menu3_n$5256 */ -static const u64 menu3_n[6] = { - 'menuapn0', 'menuapn1', 'menuapn2', 'menuapn3', 'menuapn4', -}; - -/* 803971B8-803971E0 023818 0028+00 0/1 0/0 0/0 .rodata tv_btnA$5275 */ -static const u64 tv_btnA[5] = { - 'cont_at1', 'cont_at2', 'cont_at3', 'cont_at4', 'cont_at', -}; - -/* 803971E0-80397208 023840 0028+00 0/1 0/0 0/0 .rodata ftv_btnA$5276 */ -static const u64 ftv_btnA[5] = { - 'font_a1', 'font_at2', 'font_at3', 'font_at4', 'font_at', -}; - -/* 80397208-80397218 023868 0010+00 0/1 0/0 0/0 .rodata fenu_t0$5282 */ -static const u64 fenu_t0[2] = { - 'fenu_t0s', - 'fenu_t0', -}; - -/* 80397218-80397228 023878 0010+00 0/1 0/0 0/0 .rodata menu_t0$5283 */ -static const u64 menu_t0[2] = { - 'menu_t0s', - 'menu_t0', -}; - -/* 80397228-80397238 023888 0010+00 0/1 0/0 0/0 .rodata fenu_t2$5289 */ -static const u64 fenu_t2[2] = { - 'fenu_t1s', - 'fenu_t1', -}; - -/* 80397238-80397248 023898 0010+00 0/1 0/0 0/0 .rodata menu_t2$5290 */ -static const u64 menu_t2[2] = { - 'menu_t1s', - 'menu_t1', -}; - -/* 80397248-80397258 0238A8 0010+00 0/1 0/0 0/0 .rodata fenu_t3$5296 */ -static const u64 fenu_t3[2] = {'fenu_t2s', 'fenu_t2'}; - -/* 80397258-80397268 0238B8 0010+00 0/1 0/0 0/0 .rodata menu_t3$5297 */ -static const u64 menu_t3[2] = { - 'menu_t2s', - 'menu_t2', -}; - -/* 80397268-80397278 0238C8 0010+00 0/1 0/0 0/0 .rodata fenu_t4$5303 */ -static const u64 fenu_t4[2] = { - 'fenu_t3s', - 'fenu_t3', -}; - -/* 80397278-80397288 0238D8 0010+00 0/1 0/0 0/0 .rodata menu_t4$5304 */ -static const u64 menu_t4[2] = { - 'menu_t3s', - 'menu_t3', -}; - -/* 80397288-80397298 0238E8 0010+00 0/1 0/0 0/0 .rodata fenu_t1$5310 */ -static const u64 fenu_t1[2] = { - 'fenu_t4s', - 'fenu_t4', -}; - -/* 80397298-803972A8 0238F8 0010+00 0/1 0/0 0/0 .rodata menu_t1$5311 */ -static const u64 menu_t1[2] = { - 'menu_t4s', - 'menu_t4', -}; - -/* 803972A8-803972B8 023908 0010+00 0/1 0/0 0/0 .rodata fenu_t5$5317 */ -static const u64 fenu_t5[2] = { - 'fenu_t5s', - 'fenu_t5', -}; - -/* 803972B8-803972C8 023918 0010+00 0/1 0/0 0/0 .rodata menu_t5$5318 */ -static const u64 menu_t5[2] = { - 'menu_t5s', - 'menu_t5', -}; - -/* 803972C8-803972F8 023928 0030+00 0/1 0/0 0/0 .rodata menut_0$5324 */ -static const u64 menut_0[6] = { - 'menut0as', 'menut0a', 'menut0a2', 'menut0a1', 'menut0a4', 'menut0a3', -}; - -/* 803972F8-80397328 023958 0030+00 0/1 0/0 0/0 .rodata fenut_0$5325 */ -static const u64 fenut_0[6] = { - 'menut010', 'menut0a9', 'menut0a8', 'menut0a7', 'menut0a6', 'menut0a5', -}; - -/* 80397328-80397358 023988 0030+00 0/1 0/0 0/0 .rodata menut_1$5332 */ -static const u64 menut_1[6] = { - 'menut1as', 'menut1a', 'menut1a2', 'menut1a1', 'menut1a4', 'menut1a3', -}; - -/* 80397358-80397388 0239B8 0030+00 0/1 0/0 0/0 .rodata fenut_1$5333 */ -static const u64 fenut_1[6] = { - 'menut110', 'menut1a9', 'menut1a8', 'menut1a7', 'menut1a6', 'menut1a5', -}; - -/* 80397388-803973B8 0239E8 0030+00 0/1 0/0 0/0 .rodata menut_2$5340 */ -static const u64 menut_2[6] = { - 'menut2as', 'menut2a', 'menut2a2', 'menut2a1', 'menut2a4', 'menut2a3', -}; - -/* 803973B8-803973E8 023A18 0030+00 0/1 0/0 0/0 .rodata fenut_2$5341 */ -static const u64 fenut_2[6] = { - 'menut210', 'menut2a9', 'menut2a8', 'menut2a7', 'menut2a6', 'menut2a5', -}; - -/* 803973E8-80397418 023A48 0030+00 0/1 0/0 0/0 .rodata menut_3$5348 */ -static const u64 menut_3[6] = { - 'menut3a5', 'menut3a6', 'menut3a7', 'menut3a8', 'menut3a9', 'menut310', -}; - -/* 80397418-80397448 023A78 0030+00 0/1 0/0 0/0 .rodata fenut_3$5349 */ -static const u64 fenut_3[6] = { - 'menut315', 'menut314', 'menut313', 'menut312', 'menut311', 'menut001', -}; - -/* 80397448-80397478 023AA8 0030+00 0/1 0/0 0/0 .rodata menut_4$5356 */ -static const u64 menut_4[6] = { - 'menut3as', 'menut3a', 'menut3a2', 'menut3a1', 'menut3a4', 'menut3a3', -}; - -/* 80397478-803974A8 023AD8 0030+00 0/1 0/0 0/0 .rodata fenut_4$5357 */ -static const u64 fenut_4[6] = { - 'menut321', 'menut320', 'menut319', 'menut318', 'menut317', 'menut316', -}; - -/* 803974A8-803974D8 023B08 0030+00 0/1 0/0 0/0 .rodata tx$5381 */ -static const u64 tx[6] = { - 'w_p_tex5', 'w_p_tex6', 'w_p_tex3', 'w_p_tex4', 'fps_tex1', 'f_p_tex1', -}; - -/* 803974D8-803974F8 023B38 0020+00 0/0 0/0 0/0 .rodata op_tx$5393 */ -static const u64 op_tx[4] = { - 'w_text_n', - 'w_btn_n', - 'w_k_t_n', - 'w_abtn_n', -}; - -/* 803974F8-80397510 023B58 0018+00 0/1 0/0 0/0 .rodata z_tx$5399 */ -static const u64 z_tx[3] = { - 'z_gc_n', -}; - -/* 80397510-80397560 023B70 0050+00 0/1 0/0 0/0 .rodata txTV$5409 */ -static const u64 txTV[10] = { - 'menu_t61', 'menu_t2', 'menu_t91', 'menu_t1', 'menut101', - 'menu_t01', 'menu_t71', 'menu_t3', 'menu_t81', 'menu_t4', -}; - /* 801E5678-801E6FBC 1DFFB8 1944+00 1/1 0/0 0/0 .text screenSet__14dMenu_Option_cFv */ void dMenu_Option_c::screenSet() { + static const u64 tag_frame[6] = { + 'flame_00', 'flame_01', 'flame_02', 'flame_03', 'flame_04', 'flame_05', + }; + static const u64 tag_menu0[6] = { + 'fenu_t0', 'fenu_t1', 'fenu_t2', 'fenu_t3', 'fenu_t4', 'fenu_t5', + }; + static const u64 let_n[6] = { + 'let_00_n', 'let_01_n', 'let_02_n', 'let_03_n', 'let_04_n', 'let_05_n', + }; + static const u64 let2_n[6] = { + 'let_00_n', 'let_01_n', 'let_02_n', 'let_03_n', 'let_04_n', + }; + static const u64 menu_n[6] = { + 'menu_n0', 'menu_n1', 'menu_n2', 'menu_n3', 'menu_n4', 'menu_n5', + }; + static const u64 menu2_n[6] = { + 'mw_n_0', 'mw_n_1', 'mw_n_2', 'mw_n_3', 'mw_n_4', + }; + static const u64 al0_n[6] = { + 's_grr_00', 's_grr_01', 's_grr_02', 's_grr_03', 's_grr_04', 's_grr_05', + }; + static const u64 al1_n[6] = { + 'c_grr_00', 'c_grr_01', 'c_grr_02', 'c_grr_03', 'c_grr_04', 'c_grr_05', + }; + static const u64 al2_n[6] = { + 's_grl_00', 's_grl_01', 's_grl_02', 's_grl_03', 's_grl_04', 's_grl_05', + }; + static const u64 al3_n[6] = { + 'c_grl_00', 'c_grl_01', 'c_grl_02', 'c_grl_03', 'c_grl_04', 'c_grl_05', + }; + static const u64 haihail_n[5] = { + 'y_set_l0', 'y_set_l1', 'y_set_l2', 'y_set_l3', 'y_set_l4', + }; + static const u64 haihair_n[5] = { + 'y_set_r0', 'y_set_r1', 'y_set_r2', 'y_set_r3', 'y_set_r4', + }; + static const u64 menu3_n[6] = { + 'menuapn0', 'menuapn1', 'menuapn2', 'menuapn3', 'menuapn4', + }; + static const u64 tv_btnA[5] = { + 'cont_at1', 'cont_at2', 'cont_at3', 'cont_at4', 'cont_at', + }; + static const u64 ftv_btnA[5] = { + 'font_a1', 'font_at2', 'font_at3', 'font_at4', 'font_at', + }; + static const u64 fenu_t0[2] = {'fenu_t0s', 'fenu_t0'}; + static const u64 menu_t0[2] = {'menu_t0s', 'menu_t0'}; + static const u64 fenu_t2[2] = {'fenu_t1s', 'fenu_t1'}; + static const u64 menu_t2[2] = {'menu_t1s', 'menu_t1'}; + static const u64 fenu_t3[2] = {'fenu_t2s', 'fenu_t2'}; + static const u64 menu_t3[2] = {'menu_t2s', 'menu_t2'}; + static const u64 fenu_t4[2] = {'fenu_t3s', 'fenu_t3'}; + static const u64 menu_t4[2] = {'menu_t3s', 'menu_t3'}; + static const u64 fenu_t1[2] = {'fenu_t4s', 'fenu_t4'}; + static const u64 menu_t1[2] = {'menu_t4s', 'menu_t4'}; + static const u64 fenu_t5[2] = {'fenu_t5s', 'fenu_t5'}; + static const u64 menu_t5[2] = {'menu_t5s', 'menu_t5'}; + static const u64 menut_0[6] = { + 'menut0as', 'menut0a', 'menut0a2', 'menut0a1', 'menut0a4', 'menut0a3', + }; + static const u64 fenut_0[6] = { + 'menut010', 'menut0a9', 'menut0a8', 'menut0a7', 'menut0a6', 'menut0a5', + }; + static const u64 menut_1[6] = { + 'menut1as', 'menut1a', 'menut1a2', 'menut1a1', 'menut1a4', 'menut1a3', + }; + static const u64 fenut_1[6] = { + 'menut110', 'menut1a9', 'menut1a8', 'menut1a7', 'menut1a6', 'menut1a5', + }; + static const u64 menut_2[6] = { + 'menut2as', 'menut2a', 'menut2a2', 'menut2a1', 'menut2a4', 'menut2a3', + }; + static const u64 fenut_2[6] = { + 'menut210', 'menut2a9', 'menut2a8', 'menut2a7', 'menut2a6', 'menut2a5', + }; + static const u64 menut_3[6] = { + 'menut3a5', 'menut3a6', 'menut3a7', 'menut3a8', 'menut3a9', 'menut310', + }; + static const u64 fenut_3[6] = { + 'menut315', 'menut314', 'menut313', 'menut312', 'menut311', 'menut001', + }; + static const u64 menut_4[6] = { + 'menut3as', 'menut3a', 'menut3a2', 'menut3a1', 'menut3a4', 'menut3a3', + }; + static const u64 fenut_4[6] = { + 'menut321', 'menut320', 'menut319', 'menut318', 'menut317', 'menut316', + }; + static const u64 tx[6] = { + 'w_p_tex5', 'w_p_tex6', 'w_p_tex3', 'w_p_tex4', 'fps_tex1', 'f_p_tex1', + }; + static const u64 op_tx[4] = { + 'w_text_n', 'w_btn_n', 'w_k_t_n', 'w_abtn_n', + }; + static const u64 z_tx[3] = { + 'z_gc_n', 0, 0, + }; + static const u64 txTV[10] = { + 'menu_t61', 'menu_t2', 'menu_t91', 'menu_t1', 'menut101', + 'menu_t01', 'menu_t71', 'menu_t3', 'menu_t81', 'menu_t4', + }; + mpTitle = new CPaneMgr(mpBackScreen, 'title_n', 0, NULL); Vec pos = mpTitle->getGlobalVtxCenter(mpTitle->mPane, false, 0); mpWarning->mPosY = pos.y + g_drawHIO.mOptionScreen.mBackgroundPosY; @@ -1996,54 +1840,45 @@ void dMenu_Option_c::changeTVCheck() { } } -/* 80397560-80397588 023BC0 0028+00 0/0 0/0 0/0 .rodata txTVhide$5410 */ -static const u64 txTVhide[5] = { - 'menu_6n', 'menu_9n', 'menu_10n', 'menu_7n', 'menu_8n', -}; - -/* 80397588-803975B0 023BE8 0028+00 1/1 0/0 0/0 .rodata text_a_tag$6194 */ -static const u64 text_a_tag_6194[5] = { - 'atext1_1', 'atext1_2', 'atext1_3', 'atext1_4', 'atext1_5', -}; +static void dummy() { + static const u64 txTVhide[5] = {'menu_6n', 'menu_9n', 'menu_10n', 'menu_7n', 'menu_8n'}; +} /* 801E7E98-801E7F9C 1E27D8 0104+00 11/11 0/0 0/0 .text setAButtonString__14dMenu_Option_cFUs */ void dMenu_Option_c::setAButtonString(u16 i_stringID) { + static const u64 text_a_tag[5] = {'atext1_1', 'atext1_2', 'atext1_3', 'atext1_4', 'atext1_5'}; u32 stringId = i_stringID; if (stringId != field_0x3dc) { field_0x3dc = i_stringID; if (stringId == 0) { for (int i = 0; i < 5; i++) { - J2DTextBox* textBox = (J2DTextBox*)mpScreenIcon->search(text_a_tag_6194[i]); + J2DTextBox* textBox = (J2DTextBox*)mpScreenIcon->search(text_a_tag[i]); strcpy(textBox->getStringPtr(), ""); } } else { for (int i = 0; i < 5; i++) { - J2DTextBox* textBox = (J2DTextBox*)mpScreenIcon->search(text_a_tag_6194[i]); + J2DTextBox* textBox = (J2DTextBox*)mpScreenIcon->search(text_a_tag[i]); dMeter2Info_getStringKanji(stringId, textBox->getStringPtr(), NULL); } } } } -/* 803975B0-803975D8 023C10 0028+00 1/1 0/0 0/0 .rodata text_b_tag$6217 */ -static const u64 text_b_tag_6217[5] = { - 'btext1_1', 'btext1_2', 'btext1_3', 'btext1_4', 'btext1_5', -}; - /* 801E7F9C-801E80A0 1E28DC 0104+00 11/11 0/0 0/0 .text setBButtonString__14dMenu_Option_cFUs */ void dMenu_Option_c::setBButtonString(u16 i_stringID) { + static const u64 text_b_tag[5] = {'btext1_1', 'btext1_2', 'btext1_3', 'btext1_4', 'btext1_5'}; u32 stringId = i_stringID; if (stringId != field_0x3de) { field_0x3de = i_stringID; if (stringId == 0) { for (int i = 0; i < 5; i++) { - J2DTextBox* textBox = (J2DTextBox*)mpScreenIcon->search(text_b_tag_6217[i]); + J2DTextBox* textBox = (J2DTextBox*)mpScreenIcon->search(text_b_tag[i]); strcpy(textBox->getStringPtr(), ""); } } else { for (int i = 0; i < 5; i++) { - J2DTextBox* textBox = (J2DTextBox*)mpScreenIcon->search(text_b_tag_6217[i]); + J2DTextBox* textBox = (J2DTextBox*)mpScreenIcon->search(text_b_tag[i]); dMeter2Info_getStringKanji(stringId, textBox->getStringPtr(), NULL); } } @@ -2060,10 +1895,6 @@ bool dMenu_Option_c::dpdMenuMove() { return false; } -/* ############################################################################################## */ -/* 80454378-8045437C 002978 0004+00 1/1 0/0 0/0 .sdata2 @6256 */ -// SECTION_SDATA2 static f32 lit_6256 = 10.0f; - /* 801E80B4-801E8210 1E29F4 015C+00 1/1 0/0 0/0 .text paneResize__14dMenu_Option_cFUx */ void dMenu_Option_c::paneResize(u64 i_tag) { f32 boundsY = mpClipScreen->search(i_tag)->getBounds().i.y; diff --git a/src/d/d_msg_object.cpp b/src/d/d_msg_object.cpp index a0337a8288..0440e16563 100644 --- a/src/d/d_msg_object.cpp +++ b/src/d/d_msg_object.cpp @@ -33,295 +33,9 @@ #include "JSystem/JKernel/JKRExpHeap.h" #include "dol2asm.h" -#include "dolphin/types.h" -// -// Forward References: -// - -extern "C" s32 dMsgObject_getGroupID__Fv(); -extern "C" static void dMsgObject_searchSSItem__FPvPv(); -extern "C" void __ct__20dMsgObject_HowlHIO_cFv(); -extern "C" void __ct__16dMsgObject_HIO_cFv(); -extern "C" void _create__12dMsgObject_cFP9msg_class(); -extern "C" void _execute__12dMsgObject_cFv(); -extern "C" void _draw__12dMsgObject_cFv(); -extern "C" void _delete__12dMsgObject_cFv(); -extern "C" void setMessageIndex__12dMsgObject_cFUlUlb(); -extern "C" void setMessageIndexDemo__12dMsgObject_cFUlb(); -extern "C" void getMessageIndex__12dMsgObject_cFUl(); -extern "C" void getRevoMessageIndex__12dMsgObject_cFUl(); -extern "C" void getMessageIndexAlways__12dMsgObject_cFUl(); -extern "C" void getMessageIDAlways__12dMsgObject_cFUl(); -extern "C" void getMessageGroup__12dMsgObject_cFUl(); -extern "C" void waitProc__12dMsgObject_cFv(); -extern "C" void openProc__12dMsgObject_cFv(); -extern "C" void outnowProc__12dMsgObject_cFv(); -extern "C" void outwaitProc__12dMsgObject_cFv(); -extern "C" void stopProc__12dMsgObject_cFv(); -extern "C" void continueProc__12dMsgObject_cFv(); -extern "C" void selectProc__12dMsgObject_cFv(); -extern "C" void selectEndProc__12dMsgObject_cFv(); -extern "C" void inputProc__12dMsgObject_cFv(); -extern "C" void finishProc__12dMsgObject_cFv(); -extern "C" void endProc__12dMsgObject_cFv(); -extern "C" void deleteProc__12dMsgObject_cFv(); -extern "C" void textmodeProc__12dMsgObject_cFv(); -extern "C" void talkStartInit__12dMsgObject_cFv(); -extern "C" void fukiPosCalc__12dMsgObject_cFb(); -extern "C" void setStatusLocal__12dMsgObject_cFUs(); -extern "C" void getStatusLocal__12dMsgObject_cFv(); -extern "C" void delete_screen__12dMsgObject_cFb(); -extern "C" void isSend__12dMsgObject_cFv(); -extern "C" void readMessageGroupLocal__12dMsgObject_cFPP25mDoDvdThd_mountXArchive_c(); -extern "C" void changeFlowGroupLocal__12dMsgObject_cFl(); -extern "C" void demoMessageGroupLocal__12dMsgObject_cFv(); -extern "C" void endFlowGroupLocal__12dMsgObject_cFv(); -extern "C" void changeGroupLocal__12dMsgObject_cFs(); -extern "C" void -getStringLocal__12dMsgObject_cFUlP10J2DTextBoxP10J2DTextBoxP7JUTFontP10COutFont_cPcPcPcPs(); -extern "C" void isGetItemMessage__12dMsgObject_cFv(); -extern "C" void isKanbanMessage__12dMsgObject_cFv(); -extern "C" void isHowlMessage__12dMsgObject_cFv(); -extern "C" void isMidonaMessage__12dMsgObject_cFv(); -extern "C" void isMidonaNormalTalkWait__12dMsgObject_cFv(); -extern "C" void isMidonaTalkWait__12dMsgObject_cFv(); -extern "C" void isPlaceMessage__12dMsgObject_cFv(); -extern "C" void isBossMessage__12dMsgObject_cFv(); -extern "C" bool isBookMessage__12dMsgObject_cFv(); -extern "C" void isStaffMessage__12dMsgObject_cFv(); -extern "C" void isSaveMessage__12dMsgObject_cFv(); -extern "C" void isTalkMessage__12dMsgObject_cFv(); -extern "C" void getSmellName__12dMsgObject_cFv(); -extern "C" void getPortalName__12dMsgObject_cFv(); -extern "C" void getBombName__12dMsgObject_cFv(); -extern "C" void getInsectName__12dMsgObject_cFv(); -extern "C" void getLetterName__12dMsgObject_cFv(); -extern "C" void getSelectBombNum__12dMsgObject_cFv(); -extern "C" void onMsgSendControlLocal__12dMsgObject_cFv(); -extern "C" void offMsgSendControlLocal__12dMsgObject_cFv(); -extern "C" void isMsgSendControlLocal__12dMsgObject_cFv(); -extern "C" void onMsgSendLocal__12dMsgObject_cFv(); -extern "C" void offMsgSendLocal__12dMsgObject_cFv(); -extern "C" void isMsgSendLocal__12dMsgObject_cFv(); -extern "C" void isMouthCheckLocal__12dMsgObject_cFv(); -extern "C" void getBombBuyPriceLocal__12dMsgObject_cFUc(); -extern "C" void addSelectBomBag__12dMsgObject_cFUc(); -extern "C" void resetSelectBomBag__12dMsgObject_cFv(); -extern "C" void getSelectBombBagIDLocal__12dMsgObject_cFv(); -extern "C" void getSelectBombPriceLocal__12dMsgObject_cFv(); -extern "C" void setEquipBombInfoLocal__12dMsgObject_cFv(); -extern "C" void updateEquipBombInfoLocal__12dMsgObject_cFv(); -extern "C" void setShopWaitTimer__12dMsgObject_cFUc(); -extern "C" void setSelectWordFlagLocal__12dMsgObject_cFUc(); -extern "C" void isHowlHearingModeLocal__12dMsgObject_cFv(); -extern "C" void isCameraCancelFlag__12dMsgObject_cFv(); -extern "C" void onCameraCancelFlag__12dMsgObject_cFv(); -extern "C" void offCameraCancelFlag__12dMsgObject_cFv(); -extern "C" void isKillMessageFlag__12dMsgObject_cFv(); -extern "C" void onKillMessageFlag__12dMsgObject_cFv(); -extern "C" void setKillMessageFlag__12dMsgObject_cFv(); -extern "C" void setKillMessageFlagLocal__12dMsgObject_cFv(); -extern "C" void setTalkPartner__12dMsgObject_cFP10fopAc_ac_c(); -extern "C" void setNowTalkFlowNo__12dMsgObject_cFs(); -extern "C" void getNowTalkFlowNo__12dMsgObject_cFv(); -extern "C" void setDemoMessage__12dMsgObject_cFUl(); -extern "C" void setTalkHeap__12dMsgObject_cFPv(); -extern "C" void setTalkHeapLocal__12dMsgObject_cFPv(); -extern "C" void getTalkHeap__12dMsgObject_cFv(); -extern "C" void isDraw__12dMsgObject_cFv(); -extern "C" void setButtonStatusLocal__12dMsgObject_cFv(); -extern "C" void setDemoMessageLocal__12dMsgObject_cFUl(); -extern "C" void getSmellTypeMessageIDLocal__12dMsgObject_cFv(); -extern "C" void setSmellTypeLocal__12dMsgObject_cFUc(); -extern "C" void getSelectCursorPosLocal__12dMsgObject_cFv(); -extern "C" void setSelectCursorPosLocal__12dMsgObject_cFUc(); -extern "C" void setTalkActorLocal__12dMsgObject_cFP10fopAc_ac_c(); -extern "C" static void dMsgObject_Draw__FP12dMsgObject_c(); -extern "C" static void dMsgObject_Execute__FP12dMsgObject_c(); -extern "C" static bool dMsgObject_IsDelete__FP12dMsgObject_c(); -extern "C" static void dMsgObject_Delete__FP12dMsgObject_c(); -extern "C" static void dMsgObject_Create__FP9msg_class(); -extern "C" void readMessageGroup__12dMsgObject_cFPP25mDoDvdThd_mountXArchive_c(); -extern "C" void changeFlowGroup__12dMsgObject_cFl(); -extern "C" void demoMessageGroup__12dMsgObject_cFv(); -extern "C" void endFlowGroup__12dMsgObject_cFv(); -extern "C" void changeGroup__12dMsgObject_cFs(); -extern "C" void -getString__12dMsgObject_cFUlP10J2DTextBoxP10J2DTextBoxP7JUTFontP10COutFont_cPcPcPcPs(); -extern "C" void getMsgDtPtr__12dMsgObject_cFv(); -extern "C" void setProcessID__12dMsgObject_cFUi(); -extern "C" void getActor__12dMsgObject_cFv(); -extern "C" void getpTalkActor__12dMsgObject_cFv(); -extern "C" void getIdx__12dMsgObject_cFv(); -extern "C" void getNodeIdx__12dMsgObject_cFv(); -extern "C" void setStatus__12dMsgObject_cFUs(); -extern "C" void getStatus__12dMsgObject_cFv(); -extern "C" void getScrnDrawPtr__12dMsgObject_cFv(); -extern "C" void setTalkActor__12dMsgObject_cFP10fopAc_ac_c(); -extern "C" void onMsgSendControl__12dMsgObject_cFv(); -extern "C" void offMsgSendControl__12dMsgObject_cFv(); -extern "C" void isMsgSendControl__12dMsgObject_cFv(); -extern "C" void onMsgSend__12dMsgObject_cFv(); -extern "C" void offMsgSend__12dMsgObject_cFv(); -extern "C" void isMsgSend__12dMsgObject_cFv(); -extern "C" void isMouthCheck__12dMsgObject_cFv(); -extern "C" void getMessageID__12dMsgObject_cFv(); -extern "C" void getSmellTypeMessageID__12dMsgObject_cFv(); -extern "C" void setSmellType__12dMsgObject_cFUc(); -extern "C" void getSelectCursorPos__12dMsgObject_cFv(); -extern "C" void setSelectCursorPos__12dMsgObject_cFUc(); -extern "C" void setPortalMessageID__12dMsgObject_cFUs(); -extern "C" void setInsectItemNo__12dMsgObject_cFUc(); -extern "C" void setLetterNameID__12dMsgObject_cFUs(); -extern "C" void setArrowNum__12dMsgObject_cFUc(); -extern "C" void setMsgOutputType__12dMsgObject_cFUc(); -extern "C" void getMsgOutputType__12dMsgObject_cFv(); -extern "C" void getWord__12dMsgObject_cFv(); -extern "C" void getSelectWord__12dMsgObject_cFi(); -extern "C" void setSelectWordFlag__12dMsgObject_cFUc(); -extern "C" void getSelectWordFlag__12dMsgObject_cFv(); -extern "C" void isHowlHearingMode__12dMsgObject_cFv(); -extern "C" void getSelectBombBagID__12dMsgObject_cFv(); -extern "C" void getSelectBombPrice__12dMsgObject_cFv(); -extern "C" void setEquipBombInfo__12dMsgObject_cFv(); -extern "C" void getItemEquipButton__12dMsgObject_cFv(); -extern "C" void setSelectCancelPos__12dMsgObject_cFUc(); -extern "C" void dMsgObject_getTotalPrice__Fv(); -extern "C" void dMsgObject_setTotalPrice__FUs(); -extern "C" void dMsgObject_addTotalPrice__Fs(); -extern "C" void dMsgObject_getTotalPayment__Fv(); -extern "C" void dMsgObject_setTotalPayment__FUs(); -extern "C" static void dMsgObject_addTotalPayment__Fs(); -extern "C" void dMsgObject_getFundRaising__Fv(); -extern "C" void dMsgObject_setFundRaising__FUs(); -extern "C" static void dMsgObject_addFundRaising__Fs(); -extern "C" void dMsgObject_getOffering__Fv(); -extern "C" void dMsgObject_addOffering__Fs(); -extern "C" void __sinit_d_msg_object_cpp(); -extern "C" void __dt__20dMsgObject_HowlHIO_cFv(); -extern "C" void __dt__16dMsgObject_HIO_cFv(); -extern "C" void exec__14dMsgScrnBase_cFv(); -extern "C" void setSelectRubyString__14dMsgScrnBase_cFPcPcPc(); -extern "C" void setSelectString__14dMsgScrnBase_cFPcPcPc(); -extern "C" bool selectAnimeMove__14dMsgScrnBase_cFUcUcb(); -extern "C" void selectAnimeInit__14dMsgScrnBase_cFUcUcfUc(); -extern "C" void arwAnimeMove__14dMsgScrnBase_cFv(); -extern "C" void arwAnimeInit__14dMsgScrnBase_cFv(); -extern "C" void fukiPosCalc__14dMsgScrnBase_cFUc(); -extern "C" bool isSelect__14dMsgScrnBase_cFv(); -extern "C" bool selectAnimeEnd__14dMsgScrnBase_cFv(); -extern "C" void dotAnimeMove__14dMsgScrnBase_cFv(); -extern "C" void dotAnimeInit__14dMsgScrnBase_cFv(); -extern "C" void setActorPos__19jmessage_tReferenceF4cXyz(); -extern "C" extern char const* const d_msg_d_msg_object__stringBase0; - -// -// External References: -// - -extern "C" void mDoExt_setCurrentHeap__FP7JKRHeap(); -extern "C" void mDoExt_getMesgFont__Fv(); -extern "C" void mDoExt_getRubyFont__Fv(); -extern "C" void mDoLib_project__FP3VecP3Vec(); -extern "C" void create__25mDoDvdThd_mountXArchive_cFPCcUcQ210JKRArchive10EMountModeP7JKRHeap(); -extern "C" void fopAc_IsActor__FPv(); -extern "C" void fopMsgM_setStageLayer__FPv(); -extern "C" void fopMsgM_messageSet__FUlUl(); -extern "C" void fpcEx_Search__FPFPvPv_PvPv(); -extern "C" void dComIfGs_setSelectItemIndex__FiUc(); -extern "C" void dComIfGp_setHeapLockFlag__FUc(); -extern "C" void dComIfGp_offHeapLockFlag__Fi(); -extern "C" void dComIfGp_getSubHeap2D__Fi(); -extern "C" void getItem__17dSv_player_item_cCFib(); -extern "C" void onFirstBit__21dSv_player_get_item_cFUc(); -extern "C" void getBombNum__24dSv_player_item_record_cCFUc(); -extern "C" void onEventBit__11dSv_event_cFUs(); -extern "C" void offEventBit__11dSv_event_cFUs(); -extern "C" void isEventBit__11dSv_event_cCFUs(); -extern "C" void setEventReg__11dSv_event_cFUsUc(); -extern "C" void getEventReg__11dSv_event_cCFUs(); -extern "C" void setPtT__14dEvt_control_cFPv(); -extern "C" void set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c(); -extern "C" void __ct__Q28JUtility6TColorFv(); -extern "C" void isFloatingMessageVisible__13dMeter2Info_cFv(); -extern "C" void resetFloatingMessage__13dMeter2Info_cFv(); -extern "C" void decMsgKeyWaitTimer__13dMeter2Info_cFv(); -extern "C" void dMeter2Info_set2DVibration__Fv(); -extern "C" void emphasisButtonDelete__9dMeter2_cFv(); -extern "C" void __ct__10COutFont_cFUc(); -extern "C" void __ct__19jmessage_tReferenceFv(); -extern "C" void pageSend__19jmessage_tReferenceFv(); -extern "C" void selectMessage__19jmessage_tReferenceFv(); -extern "C" void inputNumber__19jmessage_tReferenceFv(); -extern "C" void shiftCharCountBuffer__19jmessage_tReferenceFv(); -extern "C" void resetCharCountBuffer__19jmessage_tReferenceFv(); -extern "C" void isLightEnd__19jmessage_tReferenceFv(); -extern "C" void __ct__27jmessage_tSequenceProcessorFPC19jmessage_tReferenceP17jmessage_tControl(); -extern "C" void __ct__28jmessage_tRenderingProcessorFPC19jmessage_tReference(); -extern "C" void resetRendering__28jmessage_tRenderingProcessorFv(); -extern "C" void setString__14dMsgScrnBase_cFPcPc(); -extern "C" void setRubyString__14dMsgScrnBase_cFPc(); -extern "C" void __ct__14dMsgScrnBoss_cFv(); -extern "C" void __ct__14dMsgScrnItem_cFUcUcP10JKRExpHeap(); -extern "C" void __ct__14dMsgScrnHowl_cFv(); -extern "C" void isKeyCheck__14dMsgScrnHowl_cFv(); -extern "C" void __ct__16dMsgScrnJimaku_cFUcP10JKRExpHeap(); -extern "C" void __ct__16dMsgScrnKanban_cFP10JKRExpHeap(); -extern "C" void __ct__15dMsgScrnPlace_cFv(); -extern "C" void __ct__15dMsgScrnStaff_cFUc(); -extern "C" void __ct__14dMsgScrnTalk_cFUcUcP10JKRExpHeap(); -extern "C" void __ct__14dMsgScrnTree_cFP7JUTFontP10JKRExpHeap(); -extern "C" void __ct__12dMsgString_cFv(); -extern "C" void __dt__12dMsgString_cFv(); -extern "C" bool __eq__4cXyzCFRC3Vec(); -extern "C" void reset__Q28JMessage8TControlFv(); -extern "C" void update__Q28JMessage8TControlFv(); -extern "C" void render__Q28JMessage8TControlFv(); -extern "C" void setMessageCode__Q28JMessage8TControlFUsUs(); -extern "C" void setMessageID__Q28JMessage8TControlFUlUlPb(); -extern "C" void __dt__Q38JMessage18TResourceContainer10TCResourceFv(); -extern "C" void __ct__Q28JMessage18TResourceContainerFv(); -extern "C" void __ct__Q28JMessage6TParseFPQ28JMessage18TResourceContainer(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void changeBgmStatus__8Z2SeqMgrFl(); -extern "C" void talkIn__11Z2StatusMgrFv(); -extern "C" void talkOut__11Z2StatusMgrFv(); -extern "C" void setTextCount__12Z2SpeechMgr2Fs(); -extern "C" void getTotalFreeSize__7JKRHeapFv(); -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); -extern "C" void parse_next__Q37JGadget6binary19TParse_header_blockFPPCvUl(); -extern "C" void erase__Q27JGadget13TNodeLinkListFQ37JGadget13TNodeLinkList8iterator(); -extern "C" void __register_global_object(); -extern "C" void __construct_array(); -extern "C" void _savegpr_22(); -extern "C" void _savegpr_23(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_22(); -extern "C" void _restgpr_23(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" u8 const tempBitLabels__20dSv_event_tmp_flag_c[370 + 2 /* padding */]; -extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; -extern "C" u8 m_cpadInfo__8mDoCPd_c[256]; -extern "C" u8 m_control__7dDemo_c[4]; -extern "C" u8 m_mesgControl__7dDemo_c[4]; -extern "C" u8 m_midnaActor__9daPy_py_c[4]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; - -// -// Declarations: -// - static void dMsgObject_addFundRaising(s16 param_0); static void dMsgObject_addTotalPayment(s16 param_0); -/* ############################################################################################## */ /* 804510C8-804510D0 0005C8 0002+06 5/4 0/0 0/0 .sbss s_groupID */ static s16 s_groupID; @@ -342,125 +56,6 @@ static int dMsgObject_searchSSItem(void* param_1, void* param_2) { return 0; } -/* ############################################################################################## */ -/* 803C0AE8-803C0B4C -00001 0064+00 1/1 0/0 0/0 .data @4486 */ -SECTION_DATA static void* lit_4486[25] = { - (void*)(((char*)_execute__12dMsgObject_cFv) + 0x28C), - (void*)(((char*)_execute__12dMsgObject_cFv) + 0x1F4), - (void*)(((char*)_execute__12dMsgObject_cFv) + 0x200), - (void*)(((char*)_execute__12dMsgObject_cFv) + 0x28C), - (void*)(((char*)_execute__12dMsgObject_cFv) + 0x28C), - (void*)(((char*)_execute__12dMsgObject_cFv) + 0x218), - (void*)(((char*)_execute__12dMsgObject_cFv) + 0x20C), - (void*)(((char*)_execute__12dMsgObject_cFv) + 0x224), - (void*)(((char*)_execute__12dMsgObject_cFv) + 0x23C), - (void*)(((char*)_execute__12dMsgObject_cFv) + 0x23C), - (void*)(((char*)_execute__12dMsgObject_cFv) + 0x28C), - (void*)(((char*)_execute__12dMsgObject_cFv) + 0x284), - (void*)(((char*)_execute__12dMsgObject_cFv) + 0x28C), - (void*)(((char*)_execute__12dMsgObject_cFv) + 0x28C), - (void*)(((char*)_execute__12dMsgObject_cFv) + 0x28C), - (void*)(((char*)_execute__12dMsgObject_cFv) + 0x230), - (void*)(((char*)_execute__12dMsgObject_cFv) + 0x260), - (void*)(((char*)_execute__12dMsgObject_cFv) + 0x26C), - (void*)(((char*)_execute__12dMsgObject_cFv) + 0x28C), - (void*)(((char*)_execute__12dMsgObject_cFv) + 0x278), - (void*)(((char*)_execute__12dMsgObject_cFv) + 0x23C), - (void*)(((char*)_execute__12dMsgObject_cFv) + 0x254), - (void*)(((char*)_execute__12dMsgObject_cFv) + 0x28C), - (void*)(((char*)_execute__12dMsgObject_cFv) + 0x28C), - (void*)(((char*)_execute__12dMsgObject_cFv) + 0x248), -}; - -/* 803C0B4C-803C0B9C -00001 0050+00 1/1 0/0 0/0 .data @5875 */ -SECTION_DATA static void* lit_5875[20] = { - (void*)(((char*)talkStartInit__12dMsgObject_cFv) + 0x340), - (void*)(((char*)talkStartInit__12dMsgObject_cFv) + 0x308), - (void*)(((char*)talkStartInit__12dMsgObject_cFv) + 0x21C), - (void*)(((char*)talkStartInit__12dMsgObject_cFv) + 0x340), - (void*)(((char*)talkStartInit__12dMsgObject_cFv) + 0x340), - (void*)(((char*)talkStartInit__12dMsgObject_cFv) + 0x308), - (void*)(((char*)talkStartInit__12dMsgObject_cFv) + 0x254), - (void*)(((char*)talkStartInit__12dMsgObject_cFv) + 0x278), - (void*)(((char*)talkStartInit__12dMsgObject_cFv) + 0x340), - (void*)(((char*)talkStartInit__12dMsgObject_cFv) + 0x1E8), - (void*)(((char*)talkStartInit__12dMsgObject_cFv) + 0x338), - (void*)(((char*)talkStartInit__12dMsgObject_cFv) + 0x340), - (void*)(((char*)talkStartInit__12dMsgObject_cFv) + 0x2A4), - (void*)(((char*)talkStartInit__12dMsgObject_cFv) + 0x340), - (void*)(((char*)talkStartInit__12dMsgObject_cFv) + 0x340), - (void*)(((char*)talkStartInit__12dMsgObject_cFv) + 0x340), - (void*)(((char*)talkStartInit__12dMsgObject_cFv) + 0x340), - (void*)(((char*)talkStartInit__12dMsgObject_cFv) + 0x2E4), - (void*)(((char*)talkStartInit__12dMsgObject_cFv) + 0x340), - (void*)(((char*)talkStartInit__12dMsgObject_cFv) + 0x2C4), -}; - -/* 803C0B9C-803C0BB0 -00001 0014+00 1/0 0/0 0/0 .data l_dMsgObject_Method */ -SECTION_DATA static void* l_dMsgObject_Method[5] = { - (void*)dMsgObject_Create__FP9msg_class, (void*)dMsgObject_Delete__FP12dMsgObject_c, - (void*)dMsgObject_Execute__FP12dMsgObject_c, (void*)dMsgObject_IsDelete__FP12dMsgObject_c, - (void*)dMsgObject_Draw__FP12dMsgObject_c, -}; - -/* 803C0BB0-803C0BD8 -00001 0028+00 0/0 0/0 1/0 .data g_profile_MSG_OBJECT */ -SECTION_DATA extern void* g_profile_MSG_OBJECT[10] = { - (void*)0xFFFFFFFD, (void*)0x000CFFFD, - (void*)0x03130000, (void*)&g_fpcLf_Method, - (void*)0x000004D8, (void*)NULL, - (void*)NULL, (void*)&g_fopMsg_Method, - (void*)0x03020000, (void*)&l_dMsgObject_Method, -}; - -/* 803C0BD8-803C0BE4 01DCF8 000C+00 2/2 0/0 0/0 .data __vt__16dMsgObject_HIO_c */ -SECTION_DATA extern void* __vt__16dMsgObject_HIO_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__16dMsgObject_HIO_cFv, -}; - -/* 803C0BE4-803C0BF0 01DD04 000C+00 3/3 0/0 0/0 .data __vt__20dMsgObject_HowlHIO_c */ -SECTION_DATA extern void* __vt__20dMsgObject_HowlHIO_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__20dMsgObject_HowlHIO_cFv, -}; - -/* 80454AA0-80454AA4 0030A0 0004+00 2/2 0/0 0/0 .sdata2 @4076 */ -SECTION_SDATA2 static f32 lit_4076 = 0.5f; - -/* 80454AA4-80454AA8 0030A4 0004+00 1/1 0/0 0/0 .sdata2 @4077 */ -SECTION_SDATA2 static f32 lit_4077 = 1.0f / 10.0f; - -/* 80454AA8-80454AAC 0030A8 0004+00 2/2 0/0 0/0 .sdata2 @4078 */ -SECTION_SDATA2 static f32 lit_4078 = 3.0f / 10.0f; - -/* 80454AAC-80454AB0 0030AC 0004+00 2/2 0/0 0/0 .sdata2 @4079 */ -SECTION_SDATA2 static f32 lit_4079 = 2.0f / 5.0f; - -/* 80454AB0-80454AB4 0030B0 0004+00 1/1 0/0 0/0 .sdata2 @4080 */ -SECTION_SDATA2 static f32 lit_4080 = 1.0f / 20.0f; - -/* 80454AB4-80454AB8 0030B4 0004+00 2/2 0/0 0/0 .sdata2 @4081 */ -SECTION_SDATA2 static f32 lit_4081 = 1.5f; - -/* 80454AB8-80454ABC 0030B8 0004+00 1/1 0/0 0/0 .sdata2 @4082 */ -SECTION_SDATA2 static f32 lit_4082 = 2.0f; - -/* 80454ABC-80454AC0 0030BC 0004+00 7/7 0/0 0/0 .sdata2 @4083 */ -SECTION_SDATA2 static u8 lit_4083[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - -/* 80454AC0-80454AC4 0030C0 0004+00 12/12 0/0 0/0 .sdata2 @4084 */ -SECTION_SDATA2 static f32 lit_4084 = 1.0f; - -/* 80454AC4-80454AC8 0030C4 0004+00 1/1 0/0 0/0 .sdata2 @4085 */ -SECTION_SDATA2 static f32 lit_4085 = 11.0f / 5.0f; - /* 80232AEC-80232D6C 22D42C 0280+00 1/1 0/0 0/0 .text __ct__20dMsgObject_HowlHIO_cFv */ dMsgObject_HowlHIO_c::dMsgObject_HowlHIO_c() { mHighlightScale = 0.5f; @@ -509,75 +104,6 @@ dMsgObject_HowlHIO_c::dMsgObject_HowlHIO_c() { mLineSpaceOffset = 2.2f; } - -/* ############################################################################################## */ -/* 80454AC8-80454ACC 0030C8 0004+00 1/1 0/0 0/0 .sdata2 @4127 */ -SECTION_SDATA2 static f32 lit_4127 = 23.0f; - -/* 80454ACC-80454AD0 0030CC 0004+00 1/1 0/0 0/0 .sdata2 @4128 */ -SECTION_SDATA2 static f32 lit_4128 = 22.0f; - -/* 80454AD0-80454AD4 0030D0 0004+00 1/1 0/0 0/0 .sdata2 @4129 */ -SECTION_SDATA2 static f32 lit_4129 = 26.0f; - -/* 80454AD4-80454AD8 0030D4 0004+00 1/1 0/0 0/0 .sdata2 @4130 */ -SECTION_SDATA2 static f32 lit_4130 = 25.0f; - -/* 80454AD8-80454ADC 0030D8 0004+00 1/1 0/0 0/0 .sdata2 @4131 */ -SECTION_SDATA2 static f32 lit_4131 = 7.0f / 10.0f; - -/* 80454ADC-80454AE0 0030DC 0004+00 1/1 0/0 0/0 .sdata2 @4132 */ -SECTION_SDATA2 static f32 lit_4132 = 9.0f / 10.0f; - -/* 80454AE0-80454AE4 0030E0 0004+00 1/1 0/0 0/0 .sdata2 @4133 */ -SECTION_SDATA2 static f32 lit_4133 = 1.0f / 5.0f; - -/* 80454AE4-80454AE8 0030E4 0004+00 1/1 0/0 0/0 .sdata2 @4134 */ -SECTION_SDATA2 static f32 lit_4134 = 6.0f / 5.0f; - -/* 80454AE8-80454AEC 0030E8 0004+00 1/1 0/0 0/0 .sdata2 @4135 */ -SECTION_SDATA2 static f32 lit_4135 = 21.0f / 20.0f; - -/* 80454AEC-80454AF0 0030EC 0004+00 1/1 0/0 0/0 .sdata2 @4136 */ -SECTION_SDATA2 static f32 lit_4136 = 97.0f / 100.0f; - -/* 80454AF0-80454AF4 0030F0 0004+00 1/1 0/0 0/0 .sdata2 @4137 */ -SECTION_SDATA2 static f32 lit_4137 = 11.0f / 10.0f; - -/* 80454AF4-80454AF8 0030F4 0004+00 1/1 0/0 0/0 .sdata2 @4138 */ -SECTION_SDATA2 static f32 lit_4138 = 30.0f; - -/* 80454AF8-80454AFC 0030F8 0004+00 1/1 0/0 0/0 .sdata2 @4139 */ -SECTION_SDATA2 static f32 lit_4139 = 11.0f; - -/* 80454AFC-80454B00 0030FC 0004+00 1/1 0/0 0/0 .sdata2 @4140 */ -SECTION_SDATA2 static f32 lit_4140 = 17.0f / 10.0f; - -/* 80454B00-80454B04 003100 0004+00 1/1 0/0 0/0 .sdata2 @4141 */ -SECTION_SDATA2 static f32 lit_4141 = 4.5f; - -/* 80454B04-80454B08 003104 0004+00 1/1 0/0 0/0 .sdata2 @4142 */ -SECTION_SDATA2 static f32 lit_4142 = -45.0f; - -/* 80454B08-80454B0C 003108 0004+00 1/1 0/0 0/0 .sdata2 @4143 */ -SECTION_SDATA2 static f32 lit_4143 = 0.75f; - -/* 80454B0C-80454B10 00310C 0004+00 1/1 0/0 0/0 .sdata2 @4144 */ -SECTION_SDATA2 static f32 lit_4144 = -5.0f; - -/* 80454B10-80454B14 003110 0004+00 7/7 0/0 0/0 .sdata2 @4145 */ -SECTION_SDATA2 static f32 lit_4145 = -1.0f; - -/* 80454B14-80454B18 003114 0004+00 1/1 0/0 0/0 .sdata2 @4146 */ -SECTION_SDATA2 static f32 lit_4146 = 19.0f / 20.0f; - -/* 80454B18-80454B20 003118 0004+04 1/1 0/0 0/0 .sdata2 @4147 */ -SECTION_SDATA2 static f32 lit_4147[1 + 1 /* padding */] = { - -30.0f, - /* padding */ - 0.0f, -}; - /* 80232D6C-80233284 22D6AC 0518+00 1/1 0/0 0/0 .text __ct__16dMsgObject_HIO_cFv */ dMsgObject_HIO_c::dMsgObject_HIO_c() { mBoxMidna_fontSizeX = 23.0f; @@ -783,7 +309,6 @@ dMsgObject_HIO_c::dMsgObject_HIO_c() { mPikariAnmSpeed = 0.3f; } - /* 80233284-80233590 22DBC4 030C+00 1/1 0/0 0/0 .text _create__12dMsgObject_cFP9msg_class */ int dMsgObject_c::_create(msg_class* param_1) { @@ -884,8 +409,6 @@ int dMsgObject_c::_create(msg_class* param_1) { return 4; } - -/* ############################################################################################## */ /* 80399660-80399660 025CC0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ #pragma push #pragma force_active on @@ -1010,7 +533,6 @@ int dMsgObject_c::_execute() { return 1; } - /* 802339BC-80233AE8 22E2FC 012C+00 1/1 0/0 0/0 .text _draw__12dMsgObject_cFv */ int dMsgObject_c::_draw() { u16 sVar7 = getStatusLocal(); @@ -1077,8 +599,7 @@ int dMsgObject_c::_delete() { } /* 80233D04-80233E70 22E644 016C+00 2/2 2/2 0/0 .text setMessageIndex__12dMsgObject_cFUlUlb */ -// reg swap -#ifdef NONMATCHING +// NONMATCHING reg swap void dMsgObject_c::setMessageIndex(u32 param_1, u32 param_2, bool param_3) { field_0x158 = param_1; u32 revoIndex = getRevoMessageIndex(param_1); @@ -1116,15 +637,9 @@ void dMsgObject_c::setMessageIndex(u32 param_1, u32 param_2, bool param_3) { mpCtrl->setMessageID(mMessageID, 0, NULL); } } -#else -void dMsgObject_c::setMessageIndex(u32 param_0, u32 param_1, bool param_2) { - // NONMATCHING -} -#endif /* 80233E70-80233F84 22E7B0 0114+00 1/1 1/1 0/0 .text setMessageIndexDemo__12dMsgObject_cFUlb */ -// reg swap -#ifdef NONMATCHING +// NONMATCHING reg swap void dMsgObject_c::setMessageIndexDemo(u32 param_1, bool param_2) { field_0x158 = param_1; int revoMsgIndex = getRevoMessageIndex(param_1); @@ -1153,11 +668,6 @@ void dMsgObject_c::setMessageIndexDemo(u32 param_1, bool param_2) { mpCtrl->setMessageID(mMessageID, 0, NULL); } } -#else -void dMsgObject_c::setMessageIndexDemo(u32 param_0, bool param_1) { - // NONMATCHING -} -#endif /* 80233F84-80233FD8 22E8C4 0054+00 4/4 0/0 0/0 .text getMessageIndex__12dMsgObject_cFUl */ @@ -1212,7 +722,6 @@ u32 dMsgObject_c::getRevoMessageIndex(u32 param_1) { return rv; } - /* 802340D4-80234128 22EA14 0054+00 3/3 0/0 0/0 .text getMessageIndexAlways__12dMsgObject_cFUl */ u32 dMsgObject_c::getMessageIndexAlways(u32 param_0) { u32 i = 0; @@ -1286,11 +795,6 @@ void dMsgObject_c::waitProc() { } } - -/* ############################################################################################## */ -/* 80454B20-80454B28 003120 0008+00 6/6 0/0 0/0 .sdata2 @4965 */ -SECTION_SDATA2 static f64 lit_4965 = 4503601774854144.0 /* cast s32 to float */; - /* 80234318-802349D8 22EC58 06C0+00 1/1 0/0 0/0 .text openProc__12dMsgObject_cFv */ void dMsgObject_c::openProc() { if (isMidonaMessage()) { @@ -1394,11 +898,6 @@ void dMsgObject_c::openProc() { } } - -/* ############################################################################################## */ -/* 80454B28-80454B2C 003128 0004+00 3/3 0/0 0/0 .sdata2 @5044 */ -SECTION_SDATA2 static f32 lit_5044 = 10.0f; - /* 802349D8-80234CCC 22F318 02F4+00 1/1 0/0 0/0 .text outnowProc__12dMsgObject_cFv */ void dMsgObject_c::outnowProc() { mpRefer->shiftCharCountBuffer(); @@ -1466,7 +965,6 @@ void dMsgObject_c::outnowProc() { } } - /* 80234CCC-80234FF0 22F60C 0324+00 1/1 0/0 0/0 .text outwaitProc__12dMsgObject_cFv */ void dMsgObject_c::outwaitProc() { jmessage_tReference* pRef = @@ -1507,7 +1005,6 @@ void dMsgObject_c::outwaitProc() { } } - /* 80234FF0-80234FF4 22F930 0004+00 1/1 0/0 0/0 .text stopProc__12dMsgObject_cFv */ void dMsgObject_c::stopProc() { } @@ -1554,7 +1051,6 @@ void dMsgObject_c::continueProc() { } } - /* 8023531C-8023587C 22FC5C 0560+00 1/1 0/0 0/0 .text selectProc__12dMsgObject_cFv */ void dMsgObject_c::selectProc() { bool uVar7 = false; @@ -1655,7 +1151,6 @@ void dMsgObject_c::selectProc() { } } - /* 8023587C-802358D4 2301BC 0058+00 1/1 0/0 0/0 .text selectEndProc__12dMsgObject_cFv */ void dMsgObject_c::selectEndProc() { if (mpScrnDraw->selectAnimeEnd()) { @@ -1740,7 +1235,6 @@ void dMsgObject_c::finishProc() { } } - /* 80235CC0-80235EBC 230600 01FC+00 1/1 0/0 0/0 .text endProc__12dMsgObject_cFv */ void dMsgObject_c::endProc() { field_0x16a++; @@ -1775,7 +1269,6 @@ void dMsgObject_c::endProc() { } } - /* 80235EBC-8023609C 2307FC 01E0+00 2/2 0/0 0/0 .text deleteProc__12dMsgObject_cFv */ void dMsgObject_c::deleteProc() { if (field_0x148 != NULL) { @@ -1986,24 +1479,6 @@ void dMsgObject_c::talkStartInit() { } } - -/* ############################################################################################## */ -/* 80454B2C-80454B30 00312C 0004+00 1/1 0/0 0/0 .sdata2 @5947 */ -SECTION_SDATA2 static f32 lit_5947 = 608.0f; - -/* 80454B30-80454B34 003130 0004+00 1/1 0/0 0/0 .sdata2 @5948 */ -SECTION_SDATA2 static f32 lit_5948 = 448.0f; - -/* 80454B34-80454B38 003134 0004+00 1/1 0/0 0/0 .sdata2 @5949 */ -SECTION_SDATA2 static f32 lit_5949 = -200.0f; - -/* 80454B38-80454B40 003138 0004+04 1/1 0/0 0/0 .sdata2 @5950 */ -SECTION_SDATA2 static f32 lit_5950[1 + 1 /* padding */] = { - -100.0f, - /* padding */ - 0.0f, -}; - /* 8023670C-802368E4 23104C 01D8+00 1/1 0/0 0/0 .text fukiPosCalc__12dMsgObject_cFb */ void dMsgObject_c::fukiPosCalc(bool param_1) { if (param_1) { @@ -2054,7 +1529,6 @@ void dMsgObject_c::fukiPosCalc(bool param_1) { } } - /* 802368E4-802368F8 231224 0014+00 15/15 0/0 0/0 .text setStatusLocal__12dMsgObject_cFUs */ void dMsgObject_c::setStatusLocal(u16 status) { @@ -2294,7 +1768,6 @@ bool dMsgObject_c::getStringLocal(u32 param_1, J2DTextBox* param_2, J2DTextBox* return false; } - /* 802370A8-802370BC 2319E8 0014+00 0/0 1/1 0/0 .text isGetItemMessage__12dMsgObject_cFv */ u8 dMsgObject_c::isGetItemMessage() { @@ -2385,8 +1858,6 @@ bool dMsgObject_c::isTalkMessage() { } /* 802372CC-80237334 231C0C 0068+00 0/0 5/5 0/0 .text getSmellName__12dMsgObject_cFv */ -// regalloc -#ifdef NONMATCHING const char* dMsgObject_c::getSmellName() { JMSMesgHeader_c* info_header_p = (JMSMesgHeader_c*)((char*)mpMsgRes + 0x20); char* data_ptr = (char*)info_header_p + info_header_p->sectionSize; @@ -2395,11 +1866,6 @@ const char* dMsgObject_c::getSmellName() { JMSMesgEntry_c* msg_entry = &info_entries[(u16)getMessageIndex(getSmellTypeMessageID())]; return data_ptr + msg_entry->mStringOffset + 8; } -#else -const char* dMsgObject_c::getSmellName() { - // NONMATCHING -} -#endif /* 80237334-8023738C 231C74 0058+00 0/0 5/5 0/0 .text getPortalName__12dMsgObject_cFv */ const char* dMsgObject_c::getPortalName() { @@ -2553,7 +2019,6 @@ s16 dMsgObject_c::getSelectBombPriceLocal() { return (num * uVar1) / 10.0f; } - /* 8023773C-80237748 23207C 000C+00 1/1 0/0 0/0 .text setEquipBombInfoLocal__12dMsgObject_cFv */ void dMsgObject_c::setEquipBombInfoLocal() { mEquipBombInfo = 1; @@ -2755,10 +2220,8 @@ void dMsgObject_c::setDemoMessageLocal(u32 param_1) { /* 80237DD8-80237E04 232718 002C+00 1/1 0/0 0/0 .text getSmellTypeMessageIDLocal__12dMsgObject_cFv */ -// bgelr and bltlr issues. -#ifdef NONMATCHING u16 dMsgObject_c::getSmellTypeMessageIDLocal() { - int msgId = 0; + u16 msgId = 0; int smell = dComIfGs_getCollectSmell(); if (smell < SMELL_MEDICINE + 1 && smell >= SMELL_YELIA_POUCH) { msgId = smell + 0x165; @@ -2770,11 +2233,6 @@ u16 dMsgObject_c::getSmellTypeMessageIDLocal() { } return msgId; } -#else -u16 dMsgObject_c::getSmellTypeMessageIDLocal() { - // NONMATCHING -} -#endif /* 80237E04-80237E58 232744 0054+00 1/1 0/0 0/0 .text setSmellTypeLocal__12dMsgObject_cFUc */ void dMsgObject_c::setSmellTypeLocal(u8 smellType) { @@ -2800,7 +2258,6 @@ void dMsgObject_c::setSelectCursorPosLocal(u8 param_1) { pRef->setSelectPos(param_1); } - /* 80237F10-80237F18 -00001 0008+00 0/0 0/0 0/0 .text * setTalkActorLocal__12dMsgObject_cFP10fopAc_ac_c */ void dMsgObject_c::setTalkActorLocal(fopAc_ac_c* actor) { @@ -2844,7 +2301,6 @@ int dMsgObject_Create(msg_class* param_1) { return rv; } - /* 8023800C-8023803C 23294C 0030+00 0/0 1/1 0/0 .text * readMessageGroup__12dMsgObject_cFPP25mDoDvdThd_mountXArchive_c */ void dMsgObject_c::readMessageGroup(mDoDvdThd_mountXArchive_c** p_arcMount) { @@ -3174,93 +2630,26 @@ void dMsgObject_addOffering(s16 price) { dComIfGs_setEventReg(0xf8ff, (u16)offering & 0xff); } -/* 80238B58-80238B94 233498 003C+00 0/0 1/0 0/0 .text __sinit_d_msg_object_cpp */ -void __sinit_d_msg_object_cpp(){// NONMATCHING -} +/* 803C0B9C-803C0BB0 -00001 0014+00 1/0 0/0 0/0 .data l_dMsgObject_Method */ +static leafdraw_method_class l_dMsgObject_Method = { + (process_method_func)dMsgObject_Create, + (process_method_func)dMsgObject_Delete, + (process_method_func)dMsgObject_Execute, + (process_method_func)dMsgObject_IsDelete, + (process_method_func)dMsgObject_Draw, +}; -#pragma push -#pragma force_active on -REGISTER_CTORS(0x80238B58, __sinit_d_msg_object_cpp); -#pragma pop - -/* 80238B94-80238BDC 2334D4 0048+00 1/0 0/0 0/0 .text __dt__20dMsgObject_HowlHIO_cFv */ -// dMsgObject_HowlHIO_c::~dMsgObject_HowlHIO_c() { -extern "C" void __dt__20dMsgObject_HowlHIO_cFv() { - // NONMATCHING -} - -/* 80238BDC-80238C3C 23351C 0060+00 2/1 0/0 0/0 .text __dt__16dMsgObject_HIO_cFv */ -// dMsgObject_HIO_c::~dMsgObject_HIO_c() { -extern "C" void __dt__16dMsgObject_HIO_cFv() { - // NONMATCHING -} - -/* 80238C3C-80238C40 23357C 0004+00 0/0 1/0 0/0 .text exec__14dMsgScrnBase_cFv */ -void dMsgScrnBase_c::exec() { - /* empty function */ -} - -/* 80238C40-80238C44 233580 0004+00 0/0 8/0 0/0 .text setSelectRubyString__14dMsgScrnBase_cFPcPcPc - */ -void dMsgScrnBase_c::setSelectRubyString(char* param_0, char* param_1, char* param_2) { - /* empty function */ -} - -/* 80238C44-80238C48 233584 0004+00 0/0 8/0 0/0 .text setSelectString__14dMsgScrnBase_cFPcPcPc */ -void dMsgScrnBase_c::setSelectString(char* param_0, char* param_1, char* param_2) { - /* empty function */ -} - -/* 80238C48-80238C50 233588 0008+00 0/0 8/0 0/0 .text selectAnimeMove__14dMsgScrnBase_cFUcUcb */ -bool dMsgScrnBase_c::selectAnimeMove(u8 param_0, u8 param_1, bool param_2) { - return true; -} - -/* 80238C50-80238C54 233590 0004+00 0/0 8/0 0/0 .text selectAnimeInit__14dMsgScrnBase_cFUcUcfUc */ -void dMsgScrnBase_c::selectAnimeInit(u8 param_0, u8 param_1, f32 param_2, u8 param_3) { - /* empty function */ -} - -/* 80238C54-80238C58 233594 0004+00 0/0 8/0 0/0 .text arwAnimeMove__14dMsgScrnBase_cFv */ -void dMsgScrnBase_c::arwAnimeMove() { - /* empty function */ -} - -/* 80238C58-80238C5C 233598 0004+00 0/0 8/0 0/0 .text arwAnimeInit__14dMsgScrnBase_cFv */ -void dMsgScrnBase_c::arwAnimeInit() { - /* empty function */ -} - -/* 80238C5C-80238C60 23359C 0004+00 0/0 8/0 0/0 .text fukiPosCalc__14dMsgScrnBase_cFUc */ -void dMsgScrnBase_c::fukiPosCalc(u8 param_0) { - /* empty function */ -} - -/* 80238C60-80238C68 2335A0 0008+00 0/0 8/0 0/0 .text isSelect__14dMsgScrnBase_cFv */ -bool dMsgScrnBase_c::isSelect() { - return true; -} - -/* 80238C68-80238C70 2335A8 0008+00 0/0 8/0 0/0 .text selectAnimeEnd__14dMsgScrnBase_cFv - */ -bool dMsgScrnBase_c::selectAnimeEnd() { - return true; -} - -/* 80238C70-80238C74 2335B0 0004+00 0/0 8/0 0/0 .text dotAnimeMove__14dMsgScrnBase_cFv */ -void dMsgScrnBase_c::dotAnimeMove() { - /* empty function */ -} - -/* 80238C74-80238C78 2335B4 0004+00 0/0 8/0 0/0 .text dotAnimeInit__14dMsgScrnBase_cFv */ -void dMsgScrnBase_c::dotAnimeInit() { - /* empty function */ -} - -/* 80238C78-80238C94 2335B8 001C+00 2/2 0/0 0/0 .text setActorPos__19jmessage_tReferenceF4cXyz */ -// void jmessage_tReference::setActorPos(cXyz param_0) { -extern "C" void setActorPos__19jmessage_tReferenceF4cXyz() { - // NONMATCHING -} - -/* 80399660-80399660 025CC0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +/* 803C0BB0-803C0BD8 -00001 0028+00 0/0 0/0 1/0 .data g_profile_MSG_OBJECT */ +extern msg_process_profile_definition g_profile_MSG_OBJECT = { + fpcLy_CURRENT_e, // mLayerID + 12, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_MSG_OBJECT, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(dMsgObject_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopMsg_Method, // sub_method + 770, // mPriority + &l_dMsgObject_Method, // sub_method +}; diff --git a/src/d/d_particle.cpp b/src/d/d_particle.cpp index 70b62b9d35..927f61ef30 100644 --- a/src/d/d_particle.cpp +++ b/src/d/d_particle.cpp @@ -14,317 +14,13 @@ #include "JSystem/JMath/JMATrigonometric.h" #include "stdio.h" #include "d/d_com_inf_game.h" -#include "dol2asm.h" #include "m_Do/m_Do_lib.h" #include "m_Do/m_Do_graphic.h" #include "f_op/f_op_actor_mng.h" #include "d/actor/d_a_player.h" #include "SSystem/SComponent/c_math.h" -// -// Forward References: -// - -extern "C" static void dPa_cleanupGX__Fv(); -extern "C" void __ct__19dPa_followEcallBackFUcUc(); -extern "C" void execute__19dPa_followEcallBackFP14JPABaseEmitter(); -extern "C" void draw__19dPa_followEcallBackFP14JPABaseEmitter(); -extern "C" void setup__19dPa_followEcallBackFP14JPABaseEmitterPC4cXyzPC5csXyzSc(); -extern "C" void end__19dPa_followEcallBackFv(); -extern "C" void setup__19dPa_light8EcallBackFP14JPABaseEmitterPC4cXyzPC5csXyzSc(); -extern "C" void setup__25dPa_gen_b_light8EcallBackFP14JPABaseEmitterPC4cXyzPC5csXyzSc(); -extern "C" void setup__25dPa_gen_d_light8EcallBackFP14JPABaseEmitterPC4cXyzPC5csXyzSc(); -extern "C" static void dPa_group_id_change__FPUlPUc(); -extern "C" static void initiateLighting8__FR8_GXColors(); -extern "C" static void initiate_b_Lighting8__FR8_GXColor(); -extern "C" static void drawFirst__FP14JPABaseEmitter(); -extern "C" static void drawFirst_l8__FP14JPABaseEmitter(); -extern "C" static void drawSecond_light8__FP14JPABaseEmitter(); -extern "C" static void drawSecond_b_light8__FP14JPABaseEmitter(); -extern "C" static void static_light8EcallBack__FP14JPABaseEmitter(); -extern "C" static void static_gen_b_light8EcallBack__FP14JPABaseEmitter(); -extern "C" static void static_gen_d_light8EcallBack__FP14JPABaseEmitter(); -extern "C" void draw__19dPa_light8EcallBackFP14JPABaseEmitter(); -extern "C" void draw__25dPa_gen_b_light8EcallBackFP14JPABaseEmitter(); -extern "C" void draw__25dPa_gen_d_light8EcallBackFP14JPABaseEmitter(); -extern "C" static void dPa_setWindPower__FP15JPABaseParticle(); -extern "C" void draw__18dPa_modelPcallBackFP14JPABaseEmitterP15JPABaseParticle(); -extern "C" void set__Q218dPa_modelEcallBack7model_cFP12J3DModelDataRC12dKy_tevstr_cUcPvUcUc(); -extern "C" void setup__Q218dPa_modelEcallBack7model_cFv(); -extern "C" void cleanup__Q218dPa_modelEcallBack7model_cFv(); -extern "C" void draw__Q218dPa_modelEcallBack7model_cFPA4_f(); -extern "C" void draw__18dPa_modelEcallBackFP14JPABaseEmitter(); -extern "C" void setup__18dPa_modelEcallBackFP14JPABaseEmitterPC4cXyzPC5csXyzSc(); -extern "C" void create__18dPa_modelEcallBackFUc(); -extern "C" void __dt__Q218dPa_modelEcallBack7model_cFv(); -extern "C" void remove__18dPa_modelEcallBackFv(); -extern "C" void -setModel__18dPa_modelEcallBackFP14JPABaseEmitterP12J3DModelDataRC12dKy_tevstr_cUcPvUcUc(); -extern "C" void resetModel__18dPa_modelEcallBackFP14JPABaseEmitter(); -extern "C" void setupModel__18dPa_modelEcallBackFP14JPABaseEmitter(); -extern "C" void drawModel__18dPa_modelEcallBackFP14JPABaseEmitterPA4_f(); -extern "C" void cleanupModel__18dPa_modelEcallBackFP14JPABaseEmitter(); -extern "C" void getModel__18dPa_modelEcallBackFP14JPABaseEmitter(); -extern "C" void getRotAxis__18dPa_modelEcallBackFP14JPABaseEmitter(); -extern "C" void draw__22dPa_selectTexEcallBackFP14JPABaseEmitter(); -extern "C" void __ct__19dPa_simpleEcallBackFv(); -extern "C" void executeAfter__19dPa_simpleEcallBackFP14JPABaseEmitter(); -extern "C" void draw__19dPa_simpleEcallBackFP14JPABaseEmitter(); -extern "C" void create__19dPa_simpleEcallBackFP17JPAEmitterManagerUsUc(); -extern "C" void __dt__16dPa_simpleData_cFv(); -extern "C" void __ct__16dPa_simpleData_cFv(); -extern "C" void createEmitter__19dPa_simpleEcallBackFP17JPAEmitterManager(); -extern "C" void set__19dPa_simpleEcallBackFPC4cXyzPC12dKy_tevstr_cUcRC8_GXColorRC8_GXColorif(); -extern "C" void execute__17dPa_windPcallBackFP14JPABaseEmitterP15JPABaseParticle(); -extern "C" void onActive__Q313dPa_control_c7level_c9emitter_cFv(); -extern "C" void -entry__Q313dPa_control_c7level_c9emitter_cFUlUsP14JPABaseEmitterP18dPa_levelEcallBack(); -extern "C" void cleanup__Q313dPa_control_c7level_c9emitter_cFv(); -extern "C" void __ct__Q213dPa_control_c7level_cFv(); -extern "C" void execute__Q213dPa_control_c7level_cFPQ313dPa_control_c7level_c9emitter_c(); -extern "C" void execute__Q213dPa_control_c7level_cFv(); -extern "C" void cleanup__Q213dPa_control_c7level_cFv(); -extern "C" void get__Q213dPa_control_c7level_cFUl(); -extern "C" void forceOnEventMove__Q213dPa_control_c7level_cFUl(); -extern "C" void allForceOnEventMove__Q213dPa_control_c7level_cFv(); -extern "C" void getEmitter__Q213dPa_control_c7level_cFUl(); -extern "C" void entry__Q213dPa_control_c7level_cFUsP14JPABaseEmitterP18dPa_levelEcallBack(); -extern "C" void addTable__Q213dPa_control_c7level_cFPQ313dPa_control_c7level_c9emitter_c(); -extern "C" void cutTable__Q213dPa_control_c7level_cFPQ313dPa_control_c7level_c9emitter_c(); -extern "C" void __ct__13dPa_control_cFv(); -extern "C" void getRM_ID__13dPa_control_cFUs(); -extern "C" void createCommon__13dPa_control_cFPCv(); -extern "C" void createRoomScene__13dPa_control_cFv(); -extern "C" void readScene__13dPa_control_cFUcPP21mDoDvdThd_toMainRam_c(); -extern "C" void createScene__13dPa_control_cFPCv(); -extern "C" void removeRoomScene__13dPa_control_cFb(); -extern "C" void removeScene__13dPa_control_cFb(); -extern "C" void cleanup__13dPa_control_cFv(); -extern "C" void calc3D__13dPa_control_cFv(); -extern "C" void calc2D__13dPa_control_cFv(); -extern "C" void calcMenu__13dPa_control_cFv(); -extern "C" void draw__13dPa_control_cFP11JPADrawInfoUc(); -extern "C" void setHitMark__13dPa_control_cFUsP10fopAc_ac_cPC4cXyzPC5csXyzPC4cXyzUl(); -extern "C" void -setWaterRipple__13dPa_control_cFPUlR13cBgS_PolyInfoPC4cXyzfPC12dKy_tevstr_cPC4cXyzSc(); -extern "C" void -set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf(); -extern "C" void getPolyColor__13dPa_control_cFR13cBgS_PolyInfoiP8_GXColorP8_GXColorPUcPf(); -extern "C" void -setPoly__13dPa_control_cFUsR13cBgS_PolyInfoPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyziP18dPa_levelEcallBackScPC4cXyz(); -extern "C" void newSimple__13dPa_control_cFUsUcPUl(); -extern "C" void setSimple__13dPa_control_cFUsPC4cXyzPC12dKy_tevstr_cUcRC8_GXColorRC8_GXColorif(); -extern "C" void getSimple__13dPa_control_cFUs(); -extern "C" static void -dPa_kankyocolor_set__FfP14JPABaseEmitterPC12dKy_tevstr_cUlPC4cXyzPC8_GXColorPC8_GXColor(); -extern "C" void -set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf(); -extern "C" void -setPoly__13dPa_control_cFUlUsR13cBgS_PolyInfoPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyziP18dPa_levelEcallBackScPC4cXyz(); -extern "C" void setStopContinue__13dPa_control_cFUl(); -extern "C" void -setSimpleFoot__13dPa_control_cFUlPUlR13cBgS_PolyInfoPC4cXyzPC12dKy_tevstr_ciPC5csXyzPC4cXyzP18dPa_levelEcallBackScPC4cXyz(); -extern "C" void -setCommonPoly__13dPa_control_cFPUlP13cBgS_PolyInfoPC4cXyzPC4cXyzPC12dKy_tevstr_cUlUlPC5csXyzPC4cXyzSc(); -extern "C" void execute__17dPa_wbPcallBack_cFP14JPABaseEmitterP15JPABaseParticle(); -extern "C" void execute__19dPa_fsenthPcallBackFP14JPABaseEmitterP15JPABaseParticle(); -extern "C" void draw__19dPa_fsenthPcallBackFP14JPABaseEmitterP15JPABaseParticle(); -extern "C" void execute__19dPa_light8PcallBackFP14JPABaseEmitterP15JPABaseParticle(); -extern "C" void execute__25dPa_gen_b_light8PcallBackFP14JPABaseEmitterP15JPABaseParticle(); -extern "C" void execute__25dPa_gen_d_light8PcallBackFP14JPABaseEmitterP15JPABaseParticle(); -extern "C" void draw__19dPa_light8PcallBackFP14JPABaseEmitterP15JPABaseParticle(); -extern "C" void draw__25dPa_gen_b_light8PcallBackFP14JPABaseEmitterP15JPABaseParticle(); -extern "C" void draw__25dPa_gen_d_light8PcallBackFP14JPABaseEmitterP15JPABaseParticle(); -extern "C" void setOldPosP__22dPa_hermiteEcallBack_cFPC4cXyzPC4cXyz(); -extern "C" void executeAfter__22dPa_hermiteEcallBack_cFP14JPABaseEmitter(); -extern "C" void setup__22dPa_hermiteEcallBack_cFP14JPABaseEmitterPC4cXyzPC5csXyzSc(); -extern "C" void execute__28dPa_particleTracePcallBack_cFP14JPABaseEmitterP15JPABaseParticle(); -extern "C" void __dt__18dPa_levelEcallBackFv(); -extern "C" void cleanup__18dPa_levelEcallBackFv(); -extern "C" void __ct__Q218dPa_modelEcallBack7model_cFv(); -extern "C" void __ct__Q313dPa_control_c7level_c9emitter_cFv(); -extern "C" void __dt__19dPa_simpleEcallBackFv(); -extern "C" void __dt__28dPa_particleTracePcallBack_cFv(); -extern "C" void __dt__22dPa_hermiteEcallBack_cFv(); -extern "C" void __dt__25dPa_gen_d_light8PcallBackFv(); -extern "C" void __dt__25dPa_gen_b_light8PcallBackFv(); -extern "C" void __dt__19dPa_light8PcallBackFv(); -extern "C" void __dt__19dPa_fsenthPcallBackFv(); -extern "C" void __dt__17dPa_wbPcallBack_cFv(); -extern "C" void __dt__17dPa_windPcallBackFv(); -extern "C" void __dt__22dPa_selectTexEcallBackFv(); -extern "C" void setup__22dPa_selectTexEcallBackFP14JPABaseEmitterPC4cXyzPC5csXyzSc(); -extern "C" void drawAfter__18dPa_modelEcallBackFP14JPABaseEmitter(); -extern "C" void __dt__18dPa_modelPcallBackFv(); -extern "C" void drawAfter__25dPa_gen_d_light8EcallBackFP14JPABaseEmitter(); -extern "C" void __dt__25dPa_gen_b_light8EcallBackFv(); -extern "C" void drawAfter__25dPa_gen_b_light8EcallBackFP14JPABaseEmitter(); -extern "C" void __dt__19dPa_light8EcallBackFv(); -extern "C" void drawAfter__19dPa_light8EcallBackFP14JPABaseEmitter(); -extern "C" void __dt__19dPa_followEcallBackFv(); -extern "C" void cleanup__19dPa_followEcallBackFv(); -extern "C" void draw__21dPa_setColorEcallBackFP14JPABaseEmitter(); -extern "C" void setup__21dPa_setColorEcallBackFP14JPABaseEmitterPC4cXyzPC5csXyzSc(); -extern "C" void __dt__21dPa_setColorEcallBackFv(); -extern "C" void execute__18JPAEmitterCallBackFP14JPABaseEmitter(); -extern "C" void draw__18JPAEmitterCallBackFP14JPABaseEmitter(); -extern "C" void drawAfter__18JPAEmitterCallBackFP14JPABaseEmitter(); -extern "C" void executeAfter__18JPAEmitterCallBackFP14JPABaseEmitter(); -extern "C" void __dt__18dPa_modelEcallBackFv(); -extern "C" void __dt__25dPa_gen_d_light8EcallBackFv(); -extern "C" void __sinit_d_particle_cpp(); -extern "C" extern char const* const d_particle_d_particle__stringBase0; -extern "C" u8 mTsubo__13dPa_control_c[64]; -extern "C" u8 mLifeBall__13dPa_control_c[24]; -extern "C" u8 mWindViewMatrix__13dPa_control_c[48]; -extern "C" u8 mEcallback__18dPa_modelEcallBack[4]; -extern "C" u8 mPcallback__18dPa_modelEcallBack[4]; -extern "C" u8 mModel__18dPa_modelEcallBack[4]; -extern "C" u8 mEmitterMng__13dPa_control_c[4]; -extern "C" u8 mWaterBubblePcallBack__13dPa_control_c[4]; -extern "C" u8 mFsenthPcallBack__13dPa_control_c[4]; -extern "C" u8 mLight8EcallBack__13dPa_control_c[4]; -extern "C" u8 mLight8PcallBack__13dPa_control_c[4]; -extern "C" u8 m_b_Light8EcallBack__13dPa_control_c[4]; -extern "C" u8 m_b_Light8PcallBack__13dPa_control_c[4]; -extern "C" u8 m_d_Light8EcallBack__13dPa_control_c[4]; -extern "C" u8 m_d_Light8PcallBack__13dPa_control_c[4]; -extern "C" u8 mParticleTracePCB__13dPa_control_c[4 + 4 /* padding */]; -extern "C" u8 mStatus__13dPa_control_c; - -static void initiateLighting8(_GXColor& param_0, s16 param_1); -static void drawSecond_light8(JPABaseEmitter* param_0); - -// -// External References: -// - -extern "C" void mDoExt_getArchiveHeap__Fv(); -extern "C" void mDoExt_createSolidHeapFromGame__FUlUl(); -extern "C" void mDoExt_createSolidHeapFromSystem__FUlUl(); -extern "C" void mDoExt_adjustSolidHeap__FP12JKRSolidHeap(); -extern "C" void mDoExt_destroySolidHeap__FP12JKRSolidHeap(); -extern "C" void mDoExt_setCurrentHeap__FP7JKRHeap(); -extern "C" void create__21mDoDvdThd_toMainRam_cFPCcUcP7JKRHeap(); -extern "C" void execute__19JPAParticleCallBackFP14JPABaseEmitterP15JPABaseParticle(); -extern "C" void draw__19JPAParticleCallBackFP14JPABaseEmitterP15JPABaseParticle(); -extern "C" void __ct__11J3DLightObjFv(); -extern "C" void waterCheck__11fopAcM_wt_cFPC4cXyz(); -extern "C" void getHitmarkPosAndAngle__9dJntCol_cCFPC4cXyzPC5csXyzP4cXyzP5csXyzi(); -extern "C" void dKyw_get_AllWind_vec__FP4cXyzP4cXyzPf(); -extern "C" void ChkPolySafe__4cBgSFRC13cBgS_PolyInfo(); -extern "C" void GetTriPla__4cBgSCFRC13cBgS_PolyInfoP8cM3dGPla(); -extern "C" void GetPolyAtt0__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void checkNowWolfEyeUp__9daPy_py_cFv(); -extern "C" void dKy_light_influence_col__FP8_GXColorf(); -extern "C" void dKy_setLight_nowroom__Fc(); -extern "C" void dKy_setLight_nowroom_grass__Fcf(); -extern "C" void dKy_setLight_again__Fv(); -extern "C" void dKy_Global_amb_set__FP12dKy_tevstr_c(); -extern "C" void dKy_SordFlush_set__F4cXyzi(); -extern "C" void dKy_GxFog_set__Fv(); -extern "C" void dKy_GxFog_tevstr_set__FP12dKy_tevstr_c(); -extern "C" void -dKy_ParticleColor_get_actor__FP4cXyzP12dKy_tevstr_cP8_GXColorP8_GXColorP8_GXColorP8_GXColorf(); -extern "C" void -dKy_ParticleColor_get_bg__FP4cXyzP12dKy_tevstr_cP8_GXColorP8_GXColorP8_GXColorP8_GXColorf(); -extern "C" void dKy_camera_water_in_status_check__Fv(); -extern "C" void dKy_pol_efftype_get__FPC13cBgS_PolyInfo(); -extern "C" void dKy_pol_efftype2_get__FPC13cBgS_PolyInfo(); -extern "C" void dKy_pol_eff_prim_get__FPC13cBgS_PolyInfoP8_GXColor(); -extern "C" void dKy_pol_eff_env_get__FPC13cBgS_PolyInfoP8_GXColor(); -extern "C" void dKy_pol_eff2_prim_get__FPC13cBgS_PolyInfoP8_GXColor(); -extern "C" void dKy_pol_eff2_env_get__FPC13cBgS_PolyInfoP8_GXColor(); -extern "C" void dKy_pol_eff_alpha_get__FPC13cBgS_PolyInfo(); -extern "C" void dKy_pol_eff_ratio_get__FPC13cBgS_PolyInfo(); -extern "C" void dKy_pol_eff2_alpha_get__FPC13cBgS_PolyInfo(); -extern "C" void dKy_pol_eff2_ratio_get__FPC13cBgS_PolyInfo(); -extern "C" void __ml__4cXyzCFf(); -extern "C" void atan2sX_Z__4cXyzCFv(); -extern "C" void cM_atan2s__Fff(); -extern "C" void cLib_chaseS__FPsss(); -extern "C" void clip__11J3DUClipperCFPA4_Cf3Vecf(); -extern "C" void __ct__18JPAResourceManagerFPCvP7JKRHeap(); -extern "C" void checkUserIndexDuplication__18JPAResourceManagerCFUs(); -extern "C" void swapTexture__18JPAResourceManagerFPC7ResTIMGPCc(); -extern "C" void getResUserWork__18JPAResourceManagerCFUs(); -extern "C" void __ct__17JPAEmitterManagerFUlUlP7JKRHeapUcUc(); -extern "C" void func_8027DEBC(); -extern "C" void calc__17JPAEmitterManagerFUc(); -extern "C" void draw__17JPAEmitterManagerFPC11JPADrawInfoUc(); -extern "C" void forceDeleteAllEmitter__17JPAEmitterManagerFv(); -extern "C" void entryResourceManager__17JPAEmitterManagerFP18JPAResourceManagerUc(); -extern "C" void clearResourceManager__17JPAEmitterManagerFUc(); -extern "C" void __dt__18JPAEmitterCallBackFv(); -extern "C" void createParticle__14JPABaseEmitterFv(); -extern "C" void getCurrentCreateNumber__14JPABaseEmitterCFv(); -extern "C" void getDrawCount__14JPABaseEmitterCFv(); -extern "C" void loadTexture__14JPABaseEmitterFUc11_GXTexMapID(); -extern "C" void __dt__19JPAParticleCallBackFv(); -extern "C" void getWidth__15JPABaseParticleCFPC14JPABaseEmitter(); -extern "C" void getHeight__15JPABaseParticleCFPC14JPABaseEmitter(); -extern "C" void JPAGetXYZRotateMtx__FsssPA4_f(); -extern "C" void free__7JKRHeapFPvP7JKRHeap(); -extern "C" void* __nw__FUlP7JKRHeapi(); -extern "C" void* __nwa__FUl(); -extern "C" void __dl__FPv(); -extern "C" void create__10JKRExpHeapFUlP7JKRHeapb(); -extern "C" void reinitGX__6J3DSysFv(); -extern "C" void loadGX__10J3DTextureCFUs11_GXTexMapID(); -extern "C" void loadPreDrawSetting__8J3DShapeCFv(); -extern "C" void __as__12J3DLightInfoFRC12J3DLightInfo(); -extern "C" void syncJ3DSysPointers__12J3DModelDataCFv(); -extern "C" void syncJ3DSysFlags__12J3DModelDataCFv(); -extern "C" void searchUpdateMaterialID__16J3DAnmTexPatternFP12J3DModelData(); -extern "C" void searchUpdateMaterialID__15J3DAnmTevRegKeyFP12J3DModelData(); -extern "C" void removeTexNoAnimator__16J3DMaterialTableFP16J3DAnmTexPattern(); -extern "C" void removeTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey(); -extern "C" void entryTexNoAnimator__16J3DMaterialTableFP16J3DAnmTexPattern(); -extern "C" void entryTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey(); -extern "C" void GXInvalidateVtxCache(); -extern "C" void GXFlush(); -extern "C" void __register_global_object(); -extern "C" void __destroy_new_array(); -extern "C" void __construct_array(); -extern "C" void __construct_new_array(); -extern "C" void _savegpr_14(); -extern "C" void _savegpr_17(); -extern "C" void _savegpr_19(); -extern "C" void _savegpr_20(); -extern "C" void _savegpr_22(); -extern "C" void _savegpr_23(); -extern "C" void _savegpr_24(); -extern "C" void _savegpr_25(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_14(); -extern "C" void _restgpr_17(); -extern "C" void _restgpr_19(); -extern "C" void _restgpr_20(); -extern "C" void _restgpr_22(); -extern "C" void _restgpr_23(); -extern "C" void _restgpr_24(); -extern "C" void _restgpr_25(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" extern void* __vt__19JPAParticleCallBack[5]; -extern "C" extern void* __vt__8cM3dGPla[3]; -extern "C" u8 j_o_id__8dPa_name[10 + 2 /* padding */]; -extern "C" u8 s_o_id__8dPa_name[28]; -extern "C" u8 mClipper__14mDoLib_clipper[92]; -extern "C" u8 sincosTable___5JMath[65536]; -extern "C" u8 mFrameBufferTimg__13mDoGph_gInf_c[4]; extern "C" extern u8 JPTracePCB4[4]; -extern "C" f32 mWaterY__11fopAcM_wt_c[1 + 1 /* padding */]; -extern "C" u8 sOldVcdVatCmd__8J3DShape[4]; - -// -// Declarations: -// /* 80049420-80049580 043D60 0160+00 4/4 0/0 0/0 .text dPa_cleanupGX__Fv */ static void dPa_cleanupGX() { @@ -350,239 +46,11 @@ static void dPa_cleanupGX() { GXSetNumChans(0); } -/* ############################################################################################## */ /* 803A8308-803A8314 005428 000C+00 1/1 0/0 0/0 .data l_lifeBallColor */ -SECTION_DATA static u8 l_lifeBallColor[12] = { +static u8 l_lifeBallColor[12] = { 0xEB, 0x20, 0x78, 0xFF, 0x20, 0xF1, 0x9B, 0xFF, 0xEB, 0xD7, 0x2F, 0xFF, }; -/* 803A8314-803A832C 005434 0018+00 1/1 0/0 0/0 .data effectIDTable$5499 */ -SECTION_DATA static u16 effectIDTable[6][2] = { - {0xE6, 0xE7}, {0x143, 0x146}, {0x1AF, 0x1B8}, - {0x881B, 0x881E}, {0x881C, 0x881F}, {0x86AE, 0x86AF}, -}; - -/* 803A832C-803A835C 00544C 0030+00 1/1 0/0 0/0 .data ringID$5531 */ -SECTION_DATA static u16 ringID[6][4] = { - {0x00E7, 0xFFFF, 0xFFFF, 0xFFFF}, {0x0146, 0xFFFF, 0xFFFF, 0xFFFF}, - {0x01AF, 0x01B0, 0x01B1, 0xFFFF}, {0x881E, 0xFFFF, 0xFFFF, 0xFFFF}, - {0x881F, 0x8820, 0xFFFF, 0xFFFF}, {0x86AF, 0xFFFF, 0xFFFF, 0xFFFF}, -}; - -/* 803A835C-803A838C 00547C 0030+00 1/1 0/0 0/0 .data normalID$5532 */ -SECTION_DATA static u16 normalID[6][4] = { - {0x00E6, 0xFFFF, 0xFFFF, 0xFFFF}, {0x0143, 0xFFFF, 0xFFFF, 0xFFFF}, - {0x01B8, 0x01B9, 0x01BA, 0x01BB}, {0x881B, 0xFFFF, 0xFFFF, 0xFFFF}, - {0x881C, 0x881D, 0xFFFF, 0xFFFF}, {0x86AE, 0xFFFF, 0xFFFF, 0xFFFF}, -}; - -/* 803A838C-803A83A0 0054AC 0014+00 1/2 0/0 0/0 .data __vt__28dPa_particleTracePcallBack_c */ -SECTION_DATA extern void* __vt__28dPa_particleTracePcallBack_c[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__28dPa_particleTracePcallBack_cFv, - (void*)execute__28dPa_particleTracePcallBack_cFP14JPABaseEmitterP15JPABaseParticle, - (void*)draw__19JPAParticleCallBackFP14JPABaseEmitterP15JPABaseParticle, -}; - -/* 803A83A0-803A83C4 0054C0 0024+00 1/1 2/2 3/3 .data __vt__22dPa_hermiteEcallBack_c */ -SECTION_DATA extern void* __vt__22dPa_hermiteEcallBack_c[9] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__22dPa_hermiteEcallBack_cFv, - (void*)execute__18JPAEmitterCallBackFP14JPABaseEmitter, - (void*)executeAfter__22dPa_hermiteEcallBack_cFP14JPABaseEmitter, - (void*)draw__18JPAEmitterCallBackFP14JPABaseEmitter, - (void*)drawAfter__18JPAEmitterCallBackFP14JPABaseEmitter, - (void*)setup__22dPa_hermiteEcallBack_cFP14JPABaseEmitterPC4cXyzPC5csXyzSc, - (void*)cleanup__18dPa_levelEcallBackFv, -}; - -/* 803A83C4-803A83D8 0054E4 0014+00 1/2 0/0 0/0 .data __vt__25dPa_gen_d_light8PcallBack - */ -SECTION_DATA extern void* __vt__25dPa_gen_d_light8PcallBack[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__25dPa_gen_d_light8PcallBackFv, - (void*)execute__25dPa_gen_d_light8PcallBackFP14JPABaseEmitterP15JPABaseParticle, - (void*)draw__25dPa_gen_d_light8PcallBackFP14JPABaseEmitterP15JPABaseParticle, -}; - -/* 803A83D8-803A83EC 0054F8 0014+00 1/2 0/0 0/0 .data __vt__25dPa_gen_b_light8PcallBack - */ -SECTION_DATA extern void* __vt__25dPa_gen_b_light8PcallBack[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__25dPa_gen_b_light8PcallBackFv, - (void*)execute__25dPa_gen_b_light8PcallBackFP14JPABaseEmitterP15JPABaseParticle, - (void*)draw__25dPa_gen_b_light8PcallBackFP14JPABaseEmitterP15JPABaseParticle, -}; - -/* 803A83EC-803A8400 00550C 0014+00 1/2 0/0 0/0 .data __vt__19dPa_light8PcallBack */ -SECTION_DATA extern void* __vt__19dPa_light8PcallBack[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__19dPa_light8PcallBackFv, - (void*)execute__19dPa_light8PcallBackFP14JPABaseEmitterP15JPABaseParticle, - (void*)draw__19dPa_light8PcallBackFP14JPABaseEmitterP15JPABaseParticle, -}; - -/* 803A8400-803A8414 005520 0014+00 1/2 0/0 0/0 .data __vt__19dPa_fsenthPcallBack */ -SECTION_DATA extern void* __vt__19dPa_fsenthPcallBack[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__19dPa_fsenthPcallBackFv, - (void*)execute__19dPa_fsenthPcallBackFP14JPABaseEmitterP15JPABaseParticle, - (void*)draw__19dPa_fsenthPcallBackFP14JPABaseEmitterP15JPABaseParticle, -}; - -/* 803A8414-803A8434 005534 0014+0C 1/2 0/0 0/0 .data __vt__17dPa_wbPcallBack_c */ -SECTION_DATA extern void* __vt__17dPa_wbPcallBack_c[5 + 3 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__17dPa_wbPcallBack_cFv, - (void*)execute__17dPa_wbPcallBack_cFP14JPABaseEmitterP15JPABaseParticle, - (void*)draw__19JPAParticleCallBackFP14JPABaseEmitterP15JPABaseParticle, - /* padding */ - NULL, - NULL, - NULL, -}; - -/* 803A8434-803A8448 005554 0014+00 1/1 0/0 0/0 .data __vt__17dPa_windPcallBack */ -SECTION_DATA extern void* __vt__17dPa_windPcallBack[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__17dPa_windPcallBackFv, - (void*)execute__17dPa_windPcallBackFP14JPABaseEmitterP15JPABaseParticle, - (void*)draw__19JPAParticleCallBackFP14JPABaseEmitterP15JPABaseParticle, -}; - -/* 803A8448-803A8464 005568 001C+00 2/2 0/0 0/0 .data __vt__19dPa_simpleEcallBack */ -SECTION_DATA extern void* __vt__19dPa_simpleEcallBack[7] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__19dPa_simpleEcallBackFv, - (void*)execute__18JPAEmitterCallBackFP14JPABaseEmitter, - (void*)executeAfter__19dPa_simpleEcallBackFP14JPABaseEmitter, - (void*)draw__19dPa_simpleEcallBackFP14JPABaseEmitter, - (void*)drawAfter__18JPAEmitterCallBackFP14JPABaseEmitter, -}; - -/* 803A8464-803A8488 005584 0024+00 1/2 0/0 0/0 .data __vt__22dPa_selectTexEcallBack */ -SECTION_DATA extern void* __vt__22dPa_selectTexEcallBack[9] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__22dPa_selectTexEcallBackFv, - (void*)execute__18JPAEmitterCallBackFP14JPABaseEmitter, - (void*)executeAfter__18JPAEmitterCallBackFP14JPABaseEmitter, - (void*)draw__22dPa_selectTexEcallBackFP14JPABaseEmitter, - (void*)drawAfter__18JPAEmitterCallBackFP14JPABaseEmitter, - (void*)setup__22dPa_selectTexEcallBackFP14JPABaseEmitterPC4cXyzPC5csXyzSc, - (void*)cleanup__18dPa_levelEcallBackFv, -}; - -/* 803A8488-803A84AC 0055A8 0024+00 1/2 0/0 0/0 .data __vt__18dPa_modelEcallBack */ -SECTION_DATA extern void* __vt__18dPa_modelEcallBack[9] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__18dPa_modelEcallBackFv, - (void*)execute__18JPAEmitterCallBackFP14JPABaseEmitter, - (void*)executeAfter__18JPAEmitterCallBackFP14JPABaseEmitter, - (void*)draw__18dPa_modelEcallBackFP14JPABaseEmitter, - (void*)drawAfter__18dPa_modelEcallBackFP14JPABaseEmitter, - (void*)setup__18dPa_modelEcallBackFP14JPABaseEmitterPC4cXyzPC5csXyzSc, - (void*)cleanup__18dPa_levelEcallBackFv, -}; - -/* 803A84AC-803A84C0 0055CC 0014+00 1/2 0/0 0/0 .data __vt__18dPa_modelPcallBack */ -SECTION_DATA extern void* __vt__18dPa_modelPcallBack[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__18dPa_modelPcallBackFv, - (void*)execute__19JPAParticleCallBackFP14JPABaseEmitterP15JPABaseParticle, - (void*)draw__18dPa_modelPcallBackFP14JPABaseEmitterP15JPABaseParticle, -}; - -/* 803A84C0-803A84E4 0055E0 0024+00 1/2 0/0 0/0 .data __vt__25dPa_gen_d_light8EcallBack - */ -SECTION_DATA extern void* __vt__25dPa_gen_d_light8EcallBack[9] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__25dPa_gen_d_light8EcallBackFv, - (void*)execute__18JPAEmitterCallBackFP14JPABaseEmitter, - (void*)executeAfter__18JPAEmitterCallBackFP14JPABaseEmitter, - (void*)draw__25dPa_gen_d_light8EcallBackFP14JPABaseEmitter, - (void*)drawAfter__25dPa_gen_d_light8EcallBackFP14JPABaseEmitter, - (void*)setup__25dPa_gen_d_light8EcallBackFP14JPABaseEmitterPC4cXyzPC5csXyzSc, - (void*)cleanup__18dPa_levelEcallBackFv, -}; - -/* 803A84E4-803A8508 005604 0024+00 1/2 0/0 0/0 .data __vt__25dPa_gen_b_light8EcallBack - */ -SECTION_DATA extern void* __vt__25dPa_gen_b_light8EcallBack[9] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__25dPa_gen_b_light8EcallBackFv, - (void*)execute__18JPAEmitterCallBackFP14JPABaseEmitter, - (void*)executeAfter__18JPAEmitterCallBackFP14JPABaseEmitter, - (void*)draw__25dPa_gen_b_light8EcallBackFP14JPABaseEmitter, - (void*)drawAfter__25dPa_gen_b_light8EcallBackFP14JPABaseEmitter, - (void*)setup__25dPa_gen_b_light8EcallBackFP14JPABaseEmitterPC4cXyzPC5csXyzSc, - (void*)cleanup__18dPa_levelEcallBackFv, -}; - -/* 803A8508-803A852C 005628 0024+00 1/2 0/0 0/0 .data __vt__19dPa_light8EcallBack */ -SECTION_DATA extern void* __vt__19dPa_light8EcallBack[9] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__19dPa_light8EcallBackFv, - (void*)execute__18JPAEmitterCallBackFP14JPABaseEmitter, - (void*)executeAfter__18JPAEmitterCallBackFP14JPABaseEmitter, - (void*)draw__19dPa_light8EcallBackFP14JPABaseEmitter, - (void*)drawAfter__19dPa_light8EcallBackFP14JPABaseEmitter, - (void*)setup__19dPa_light8EcallBackFP14JPABaseEmitterPC4cXyzPC5csXyzSc, - (void*)cleanup__18dPa_levelEcallBackFv, -}; - -/* 803A852C-803A8554 00564C 0028+00 2/2 0/0 6/6 .data __vt__19dPa_followEcallBack */ -SECTION_DATA extern void* __vt__19dPa_followEcallBack[10] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__19dPa_followEcallBackFv, - (void*)execute__19dPa_followEcallBackFP14JPABaseEmitter, - (void*)executeAfter__18JPAEmitterCallBackFP14JPABaseEmitter, - (void*)draw__19dPa_followEcallBackFP14JPABaseEmitter, - (void*)drawAfter__18JPAEmitterCallBackFP14JPABaseEmitter, - (void*)setup__19dPa_followEcallBackFP14JPABaseEmitterPC4cXyzPC5csXyzSc, - (void*)cleanup__19dPa_followEcallBackFv, - (void*)end__19dPa_followEcallBackFv, -}; - -/* 803A8554-803A8578 005674 0024+00 11/11 2/2 0/0 .data __vt__18dPa_levelEcallBack */ -SECTION_DATA extern void* __vt__18dPa_levelEcallBack[9] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__18dPa_levelEcallBackFv, - (void*)execute__18JPAEmitterCallBackFP14JPABaseEmitter, - (void*)executeAfter__18JPAEmitterCallBackFP14JPABaseEmitter, - (void*)draw__18JPAEmitterCallBackFP14JPABaseEmitter, - (void*)drawAfter__18JPAEmitterCallBackFP14JPABaseEmitter, - (void*)NULL, - (void*)cleanup__18dPa_levelEcallBackFv, -}; - -/* 803A8578-803A8594 005698 001C+00 3/3 3/3 0/0 .data __vt__18JPAEmitterCallBack */ -SECTION_DATA extern void* __vt__18JPAEmitterCallBack[7] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)NULL, - (void*)execute__18JPAEmitterCallBackFP14JPABaseEmitter, - (void*)executeAfter__18JPAEmitterCallBackFP14JPABaseEmitter, - (void*)draw__18JPAEmitterCallBackFP14JPABaseEmitter, - (void*)drawAfter__18JPAEmitterCallBackFP14JPABaseEmitter, -}; - /* 80049580-800495BC 043EC0 003C+00 0/0 1/1 8/8 .text __ct__19dPa_followEcallBackFUcUc */ dPa_followEcallBack::dPa_followEcallBack(u8 param_0, u8 param_1) { field_0x11 = param_0; @@ -651,7 +119,6 @@ void dPa_followEcallBack::end() { } } -/* ############################################################################################## */ /* 80450E90-80450E94 000390 0004+00 2/2 1/1 11/11 .sbss mEcallback__18dPa_modelEcallBack */ dPa_modelEcallBack* dPa_modelEcallBack::mEcallback; @@ -668,27 +135,6 @@ dPa_modelEcallBack::model_c* dPa_modelEcallBack::mModel; /* 80450E9E 0002+00 data_80450E9E None */ static u8 struct_80450E9C; static u8 struct_80450E9D; -static s8 struct_80450E9E; -static u8 struct_80450E9F; - -/* 80450EA0-80450EA4 0003A0 0004+00 14/14 1/1 0/0 .sbss mEmitterMng__13dPa_control_c */ -JPAEmitterManager* dPa_control_c::mEmitterMng; - -/* 80450EA4-80450EA8 0003A4 0004+00 1/1 1/1 0/0 .sbss mWaterBubblePcallBack__13dPa_control_c */ -u8 dPa_control_c::mWaterBubblePcallBack[4]; - -/* 80450EA8-80450EAC 0003A8 0004+00 3/3 0/0 0/0 .sbss mFsenthPcallBack__13dPa_control_c - */ -u8 dPa_control_c::mFsenthPcallBack[4]; - -/* 80450EAC-80450EB0 0003AC 0004+00 2/2 0/0 1/1 .sbss mLight8EcallBack__13dPa_control_c - */ -u8 dPa_control_c::mLight8EcallBack[4]; - -/* 80450EB0-80450EB4 0003B0 0004+00 2/2 0/0 0/0 .sbss mLight8PcallBack__13dPa_control_c - */ -u8 dPa_control_c::mLight8PcallBack[4]; -//JPAParticleCallBack dPa_control_c::mLight8PcallBack; /* 8004979C-800497B0 0440DC 0014+00 1/0 0/0 0/0 .text * setup__19dPa_light8EcallBackFP14JPABaseEmitterPC4cXyzPC5csXyzSc */ @@ -699,14 +145,6 @@ void dPa_light8EcallBack::setup(JPABaseEmitter* param_0, cXyz const* param_1, param_0->setParticleCallBackPtr(dPa_control_c::getLight8PcallBack()); } -/* ############################################################################################## */ -/* 80450EB4-80450EB8 0003B4 0004+00 3/3 0/0 0/0 .sbss m_b_Light8EcallBack__13dPa_control_c */ -u8 dPa_control_c::m_b_Light8EcallBack[4]; - -/* 80450EB8-80450EBC 0003B8 0004+00 2/2 0/0 0/0 .sbss m_b_Light8PcallBack__13dPa_control_c */ -u8 dPa_control_c::m_b_Light8PcallBack[4]; -//JPAParticleCallBack dPa_control_c::m_b_Light8PcallBack; - /* 800497B0-800497CC 0440F0 001C+00 1/0 0/0 0/0 .text * setup__25dPa_gen_b_light8EcallBackFP14JPABaseEmitterPC4cXyzPC5csXyzSc */ void dPa_gen_b_light8EcallBack::setup(JPABaseEmitter* param_0, cXyz const* param_1, @@ -716,13 +154,6 @@ void dPa_gen_b_light8EcallBack::setup(JPABaseEmitter* param_0, cXyz const* param param_0->setUserWork(param_3); } -/* ############################################################################################## */ -/* 80450EBC-80450EC0 0003BC 0004+00 3/3 0/0 0/0 .sbss m_d_Light8EcallBack__13dPa_control_c */ -u8 dPa_control_c::m_d_Light8EcallBack[4]; - -/* 80450EC0-80450EC4 0003C0 0004+00 2/2 0/0 0/0 .sbss m_d_Light8PcallBack__13dPa_control_c */ -u8 dPa_control_c::m_d_Light8PcallBack[4]; - /* 800497CC-800497E8 04410C 001C+00 1/0 0/0 0/0 .text * setup__25dPa_gen_d_light8EcallBackFP14JPABaseEmitterPC4cXyzPC5csXyzSc */ void dPa_gen_d_light8EcallBack::setup(JPABaseEmitter* param_0, cXyz const* param_1, @@ -784,16 +215,6 @@ static void dPa_group_id_change(u32* param_0, u8* param_1) { } } -/* ############################################################################################## */ -/* 80451F40-80451F44 000540 0004+00 2/2 0/0 0/0 .sdata2 @3880 */ -SECTION_SDATA2 static f32 lit_3880 = 255.0f; - -/* 80451F44-80451F48 000544 0004+00 1/1 0/0 0/0 .sdata2 @3881 */ -SECTION_SDATA2 static f32 lit_3881 = 4.0f; - -/* 80451F48-80451F50 000548 0008+00 2/2 0/0 0/0 .sdata2 @3883 */ -SECTION_SDATA2 static f64 lit_3883 = 4503601774854144.0 /* cast s32 to float */; - /* 80049934-80049B30 044274 01FC+00 1/1 0/0 0/0 .text initiateLighting8__FR8_GXColors */ static void initiateLighting8(_GXColor& param_0, s16 param_1) { GXSetChanCtrl(GX_COLOR0, true, GX_SRC_REG, GX_SRC_VTX, 0xfe, GX_DF_CLAMP, GX_AF_SPOT); @@ -831,7 +252,6 @@ static void initiateLighting8(_GXColor& param_0, s16 param_1) { GXSetChanMatColor(GX_COLOR0A0, g_whiteColor); } - /* 80049B30-80049BC0 044470 0090+00 1/1 0/0 0/0 .text initiate_b_Lighting8__FR8_GXColor */ static void initiate_b_Lighting8(_GXColor& param_0) { @@ -854,15 +274,6 @@ static void drawFirst_l8(JPABaseEmitter* param_0) { GXSetColorUpdate(false); } -/* ############################################################################################## */ -/* 80451F50-80451F54 000550 0004+00 9/9 0/0 0/0 .sdata2 @3964 */ -SECTION_SDATA2 static u8 lit_3964[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - /* 80049C44-80049E40 044584 01FC+00 1/1 0/0 0/0 .text drawSecond_light8__FP14JPABaseEmitter */ static void drawSecond_light8(JPABaseEmitter* param_0) { s16 sVar1 = (param_0->mGlobalPrmClr.r); @@ -896,7 +307,6 @@ static void drawSecond_light8(JPABaseEmitter* param_0) { GXSetTevAlphaOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, true, GX_TEVPREV); } - /* 80049E40-80049FEC 044780 01AC+00 2/2 0/0 0/0 .text drawSecond_b_light8__FP14JPABaseEmitter */ static void drawSecond_b_light8(JPABaseEmitter* param_0) { dScnKy_env_light_c* envLight = dKy_getEnvlight(); @@ -1046,26 +456,6 @@ static void dPa_setWindPower(JPABaseParticle* param_0) { param_0->setOffsetPosition(aTStack_24); } -/* ############################################################################################## */ -/* 8037A108-8037A114 006768 000C+00 1/1 0/0 0/0 .rodata @4065 */ -SECTION_RODATA static Vec const lit_4065 = { - 1.0f, 1.0f, 1.0f, -}; -COMPILER_STRIP_GATE(0x8037A108, &lit_4065); - -/* 80451F5C-80451F60 00055C 0004+00 3/3 0/0 0/0 .sdata2 @4090 */ -SECTION_SDATA2 static f32 lit_4090 = -90.0f / 16384.0f; - -/* 80451F60-80451F68 000560 0004+04 3/3 0/0 0/0 .sdata2 @4091 */ -SECTION_SDATA2 static f32 lit_4091[1 + 1 /* padding */] = { - M_PI / 180.0f, - /* padding */ - 0.0f, -}; - -/* 80451F68-80451F70 000568 0008+00 7/7 0/0 0/0 .sdata2 @4093 */ -SECTION_SDATA2 static f64 lit_4093 = 4503599627370496.0 /* cast u32 to float */; - /* 8004A460-8004A608 044DA0 01A8+00 1/0 0/0 0/0 .text * draw__18dPa_modelPcallBackFP14JPABaseEmitterP15JPABaseParticle */ void dPa_modelPcallBack::draw(JPABaseEmitter* param_0, JPABaseParticle* param_1) { @@ -1109,7 +499,6 @@ void dPa_modelPcallBack::draw(JPABaseEmitter* param_0, JPABaseParticle* param_1) param_1->setInvisibleParticleFlag(); } - /* 8004A608-8004A7AC 044F48 01A4+00 1/1 0/0 0/0 .text * set__Q218dPa_modelEcallBack7model_cFP12J3DModelDataRC12dKy_tevstr_cUcPvUcUc */ bool dPa_modelEcallBack::model_c::set(J3DModelData* param_0, dKy_tevstr_c const& param_1, @@ -1431,9 +820,6 @@ static u8 lit_4053[12]; static u8 lit_4054[12]; #pragma pop -/* 80424728-80424734 051448 000C+00 1/1 0/0 0/0 .bss pos$4424 */ -// static Vec pos; - /* 8004B064-8004B168 0459A4 0104+00 2/2 0/0 0/0 .text * createEmitter__19dPa_simpleEcallBackFP17JPAEmitterManager */ JPABaseEmitter* dPa_simpleEcallBack::createEmitter(JPAEmitterManager* param_0) { @@ -1456,26 +842,6 @@ JPABaseEmitter* dPa_simpleEcallBack::createEmitter(JPAEmitterManager* param_0) { return mEmitter; } - -/* ############################################################################################## */ -/* 80451F74-80451F78 000574 0004+00 1/1 0/0 0/0 .sdata2 @4473 */ -SECTION_SDATA2 static u32 lit_4473 = 0xFFFFFFFF; - -/* 80451F78-80451F7C 000578 0004+00 1/1 0/0 0/0 .sdata2 @4474 */ -SECTION_SDATA2 static u32 lit_4474 = 0xFFFFFFFF; - -/* 80451F7C-80451F80 00057C 0004+00 1/1 0/0 0/0 .sdata2 @4482 */ -SECTION_SDATA2 static u32 lit_4482 = 0xFFFFFFFF; - -/* 80451F80-80451F84 000580 0004+00 1/1 0/0 0/0 .sdata2 @4483 */ -SECTION_SDATA2 static u32 lit_4483 = 0xFFFFFFFF; - -/* 80451F84-80451F88 000584 0004+00 3/3 0/0 0/0 .sdata2 @4518 */ -SECTION_SDATA2 static f32 lit_4518 = 99.0f; - -/* 80451F88-80451F8C 000588 0004+00 10/10 0/0 0/0 .sdata2 @4519 */ -SECTION_SDATA2 static f32 lit_4519 = 1.0f; - /* 8004B168-8004B4E0 045AA8 0378+00 1/1 0/0 0/0 .text * set__19dPa_simpleEcallBackFPC4cXyzPC12dKy_tevstr_cUcRC8_GXColorRC8_GXColorif */ u32 dPa_simpleEcallBack::set(cXyz const* param_1, dKy_tevstr_c const* param_2, u8 param_3, @@ -1602,13 +968,6 @@ void dPa_control_c::level_c::emitter_c::entry(u32 id, u16 name, JPABaseEmitter* mEmitter->becomeImmortalEmitter(); } -/* ############################################################################################## */ -/* 80450EC4-80450EC8 0003C4 0004+00 1/1 2/2 0/0 .sbss None */ -u8 dPa_control_c::mStatus; - -/* 80450EC8-80450ED0 0003C8 0004+04 2/2 1/1 17/17 .sbss mParticleTracePCB__13dPa_control_c */ -u8 dPa_control_c::mParticleTracePCB[4 + 4 /* padding */]; - /* 8004B5AC-8004B688 045EEC 00DC+00 1/1 0/0 0/0 .text * cleanup__Q313dPa_control_c7level_c9emitter_cFv */ void dPa_control_c::level_c::emitter_c::cleanup() { @@ -1795,59 +1154,8 @@ void dPa_control_c::level_c::cutTable(dPa_control_c::level_c::emitter_c* i_emitt i_emitter->cleanup(); } -/* ############################################################################################## */ -/* 80424734-80424740 051454 000C+00 0/1 0/0 0/0 .bss @4723 */ -#pragma push -#pragma force_active on -static u8 lit_4723[12]; -#pragma pop - -/* 80424740-8042474C 051460 000C+00 0/1 0/0 0/0 .bss @4724 */ -#pragma push -#pragma force_active on -static u8 lit_4724[12]; -#pragma pop - -/* 8042474C-80424758 05146C 000C+00 0/1 0/0 0/0 .bss @4725 */ -#pragma push -#pragma force_active on -static u8 lit_4725[12]; -#pragma pop - -/* 80424758-80424764 051478 000C+00 0/1 0/0 0/0 .bss @4726 */ -#pragma push -#pragma force_active on -static u8 lit_4726[12]; -#pragma pop - -/* 80424764-80424770 051484 000C+00 0/1 0/0 0/0 .bss @4727 */ -#pragma push -#pragma force_active on -static u8 lit_4727[12]; -#pragma pop - -/* 80424770-8042477C 051490 000C+00 0/1 0/0 0/0 .bss @4728 */ -#pragma push -#pragma force_active on -static u8 lit_4728[12]; -#pragma pop - -/* 8042477C-80424788 05149C 000C+00 0/1 0/0 0/0 .bss @4729 */ -#pragma push -#pragma force_active on -static u8 lit_4729[12]; -#pragma pop - -/* 80424788-80424794 0514A8 000C+00 0/1 0/0 0/0 .bss @4730 */ -#pragma push -#pragma force_active on -static u8 lit_4730[12]; -#pragma pop - /* 80424794-804247D4 0514B4 0040+00 0/1 1/1 1/1 .bss mTsubo__13dPa_control_c */ -u8 dPa_control_c::mTsubo[64]; - -/* dPa_selectTexEcallBack dPa_control_c::mTsubo[] = { +dPa_selectTexEcallBack dPa_control_c::mTsubo[] = { dPa_selectTexEcallBack(0), dPa_selectTexEcallBack(1), dPa_selectTexEcallBack(2), @@ -1856,7 +1164,7 @@ u8 dPa_control_c::mTsubo[64]; dPa_selectTexEcallBack(5), dPa_selectTexEcallBack(6), dPa_selectTexEcallBack(7), -}; */ +}; /* 804247D4-804247E0 0514F4 000C+00 0/1 0/0 0/0 .bss @4731 */ #pragma push @@ -1882,53 +1190,41 @@ static u8 lit_4733[12]; u8 dPa_control_c::mLifeBall[24]; #pragma pop -/* 80424810-8042481C 051530 000C+00 0/1 0/0 0/0 .bss @4734 */ -#pragma push -#pragma force_active on -static u8 lit_4734[12]; -#pragma pop +/* 80450EA0-80450EA4 0003A0 0004+00 14/14 1/1 0/0 .sbss mEmitterMng__13dPa_control_c */ +JPAEmitterManager* dPa_control_c::mEmitterMng; -/* 8042481C-80424828 05153C 000C+00 0/1 0/0 0/0 .bss @4735 */ -#pragma push -#pragma force_active on -static u8 lit_4735[12]; -#pragma pop +/* 80450EA4-80450EA8 0003A4 0004+00 1/1 1/1 0/0 .sbss mWaterBubblePcallBack__13dPa_control_c */ +u8 dPa_control_c::mWaterBubblePcallBack[4]; -/* 80424828-80424834 051548 000C+00 0/1 0/0 0/0 .bss @4736 */ -#pragma push -#pragma force_active on -static u8 lit_4736[12]; -#pragma pop +/* 80450EA8-80450EAC 0003A8 0004+00 3/3 0/0 0/0 .sbss mFsenthPcallBack__13dPa_control_c + */ +JPAParticleCallBack dPa_control_c::mFsenthPcallBack; -/* 80424834-80424840 051554 000C+00 0/1 0/0 0/0 .bss @4737 */ -#pragma push -#pragma force_active on -static u8 lit_4737[12]; -#pragma pop +/* 80450EAC-80450EB0 0003AC 0004+00 2/2 0/0 1/1 .sbss mLight8EcallBack__13dPa_control_c + */ +dPa_light8EcallBack dPa_control_c::mLight8EcallBack; -/* 80424840-8042484C 051560 000C+00 0/1 0/0 0/0 .bss @4738 */ -#pragma push -#pragma force_active on -static u8 lit_4738[12]; -#pragma pop +/* 80450EB0-80450EB4 0003B0 0004+00 2/2 0/0 0/0 .sbss mLight8PcallBack__13dPa_control_c + */ +JPAParticleCallBack dPa_control_c::mLight8PcallBack; -/* 8042484C-80424858 05156C 000C+00 0/1 0/0 0/0 .bss @4739 */ -#pragma push -#pragma force_active on -static u8 lit_4739[12]; -#pragma pop +/* 80450EB4-80450EB8 0003B4 0004+00 3/3 0/0 0/0 .sbss m_b_Light8EcallBack__13dPa_control_c */ +dPa_gen_b_light8EcallBack dPa_control_c::m_b_Light8EcallBack; -/* 80424858-80424864 051578 000C+00 0/1 0/0 0/0 .bss @4740 */ -#pragma push -#pragma force_active on -static u8 lit_4740[12]; -#pragma pop +/* 80450EB8-80450EBC 0003B8 0004+00 2/2 0/0 0/0 .sbss m_b_Light8PcallBack__13dPa_control_c */ +JPAParticleCallBack dPa_control_c::m_b_Light8PcallBack; -/* 80424864-80424870 051584 000C+00 0/1 0/0 0/0 .bss @4741 */ -#pragma push -#pragma force_active on -static u8 lit_4741[12]; -#pragma pop +/* 80450EBC-80450EC0 0003BC 0004+00 3/3 0/0 0/0 .sbss m_d_Light8EcallBack__13dPa_control_c */ +dPa_gen_d_light8EcallBack dPa_control_c::m_d_Light8EcallBack; + +/* 80450EC0-80450EC4 0003C0 0004+00 2/2 0/0 0/0 .sbss m_d_Light8PcallBack__13dPa_control_c */ +JPAParticleCallBack dPa_control_c::m_d_Light8PcallBack; + +/* 80450EC4-80450EC8 0003C4 0004+00 1/1 2/2 0/0 .sbss None */ +u8 dPa_control_c::mStatus; + +/* 80450EC8-80450ED0 0003C8 0004+04 2/2 1/1 17/17 .sbss mParticleTracePCB__13dPa_control_c */ +JPAParticleCallBack dPa_control_c::mParticleTracePCB; /* 80424870-804248A0 051590 0030+00 1/1 0/0 0/0 .bss mWindViewMatrix__13dPa_control_c */ Mtx dPa_control_c::mWindViewMatrix; @@ -1999,17 +1295,12 @@ void dPa_control_c::createRoomScene() { mDoExt_adjustSolidHeap(m_sceneHeap); } -/* ############################################################################################## */ - /* 804248A0-804248AC 0515C0 000C+00 0/1 0/0 0/0 .bss @4742 */ #pragma push #pragma force_active on static u8 lit_4742[12]; #pragma pop -/* 804248AC-804248D0 0515CC 0020+04 1/1 0/0 0/0 .bss jpcName$4821 */ -static char jpcName[32 + 4 /* padding */]; - /* 8004BDFC-8004BEB0 04673C 00B4+00 0/0 1/1 0/0 .text * readScene__13dPa_control_cFUcPP21mDoDvdThd_toMainRam_c */ bool dPa_control_c::readScene(u8 param_0, mDoDvdThd_toMainRam_c** param_1) { @@ -2022,6 +1313,7 @@ bool dPa_control_c::readScene(u8 param_0, mDoDvdThd_toMainRam_c** param_1) { m_sceneRes = NULL; } field_0x18 = param_0; + static char jpcName[32]; sprintf(jpcName, "/res/Particle/Pscene%03d.jpc", param_0); *param_1 = mDoDvdThd_toMainRam_c::create(jpcName, 0, m_resHeap); return 1; @@ -2124,10 +1416,6 @@ void dPa_control_c::draw(JPADrawInfo* param_0, u8 param_1) { } } -/* ############################################################################################## */ -/* 80451F8C-80451F90 00058C 0004+00 5/5 0/0 0/0 .sdata2 @5066 */ -SECTION_SDATA2 static f32 lit_5066 = 0.5f; - /* 8004C218-8004C838 046B58 0620+00 0/0 7/7 54/54 .text * setHitMark__13dPa_control_cFUsP10fopAc_ac_cPC4cXyzPC5csXyzPC4cXyzUl */ void dPa_control_c::setHitMark(u16 param_1, fopAc_ac_c* param_2, cXyz const* param_3, @@ -2190,40 +1478,12 @@ void dPa_control_c::setHitMark(u16 param_1, fopAc_ac_c* param_2, cXyz const* par } } - -/* ############################################################################################## */ -/* 80451F90-80451F94 000590 0004+00 1/1 0/0 0/0 .sdata2 particleID$5076 */ -SECTION_SDATA2 static u16 particleID[2] = { - 0x01B3, - 0x01B2, -}; - -/* 80451F94-80451F98 000594 0004+00 1/1 0/0 0/0 .sdata2 @5140 */ -SECTION_SDATA2 static f32 lit_5140 = 1.0f / 20.0f; - -/* 80451F98-80451F9C 000598 0004+00 1/1 0/0 0/0 .sdata2 @5141 */ -SECTION_SDATA2 static f32 lit_5141 = 3.0f / 20.0f; - -/* 80451F9C-80451FA0 00059C 0004+00 2/2 0/0 0/0 .sdata2 @5142 */ -SECTION_SDATA2 static f32 lit_5142 = 1.0f / 10.0f; - -/* 80451FA0-80451FA8 0005A0 0008+00 2/2 0/0 0/0 .sdata2 @5143 */ -SECTION_SDATA2 static f64 lit_5143 = 0.5; - -/* 80451FA8-80451FB0 0005A8 0008+00 2/2 0/0 0/0 .sdata2 @5144 */ -SECTION_SDATA2 static f64 lit_5144 = 3.0; - -/* 80451FB0-80451FB8 0005B0 0008+00 2/2 0/0 0/0 .sdata2 @5145 */ -SECTION_SDATA2 static u8 lit_5145[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; - /* 8004C838-8004CA90 047178 0258+00 0/0 2/2 3/3 .text * setWaterRipple__13dPa_control_cFPUlR13cBgS_PolyInfoPC4cXyzfPC12dKy_tevstr_cPC4cXyzSc */ void dPa_control_c::setWaterRipple(u32* param_0, cBgS_PolyInfo& param_1, cXyz const* param_2, f32 param_3, dKy_tevstr_c const* param_4, cXyz const* param_5, s8 param_6) { - f32 rate = 0.05f + 0.15f * (0.01f * param_3); + f32 rate = 0.05f + 0.15f * (0.1f * param_3); if (rate > 1.0f) { rate = 1.0f; } @@ -2236,6 +1496,7 @@ void dPa_control_c::setWaterRipple(u32* param_0, cBgS_PolyInfo& param_1, cXyz co local_50.z = 0; } + static u16 const particleID[2] = {0x01B3, 0x01B2}; for (int i = 0; i < 2; i++, param_0++) { *param_0 = dComIfGp_particle_setPolyColor( *param_0, particleID[i], param_1, param_2, param_4, @@ -2247,20 +1508,6 @@ void dPa_control_c::setWaterRipple(u32* param_0, cBgS_PolyInfo& param_1, cXyz co } } - -/* ############################################################################################## */ -/* 80451FB8-80451FBC 0005B8 0004+00 1/1 0/0 0/0 .sdata2 @5189 */ -SECTION_SDATA2 static u32 lit_5189 = 0xFFFFFFFF; - -/* 80451FBC-80451FC0 0005BC 0004+00 1/1 0/0 0/0 .sdata2 @5190 */ -SECTION_SDATA2 static u32 lit_5190 = 0xFFFFFFFF; - -/* 80451FC0-80451FC4 0005C0 0004+00 1/1 0/0 0/0 .sdata2 @5198 */ -SECTION_SDATA2 static u32 lit_5198 = 0xFFFFFFFF; - -/* 80451FC4-80451FC8 0005C4 0004+00 1/1 0/0 0/0 .sdata2 @5199 */ -SECTION_SDATA2 static u32 lit_5199 = 0xFFFFFFFF; - /* 8004CA90-8004CF90 0473D0 0500+00 3/3 20/20 418/418 .text * set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf */ @@ -2386,7 +1633,6 @@ JPABaseEmitter* dPa_control_c::set(u8 param_0, u16 param_1, cXyz const* param_2, return this_00; } - /* 8004CF90-8004D068 0478D0 00D8+00 4/4 1/1 0/0 .text * getPolyColor__13dPa_control_cFR13cBgS_PolyInfoiP8_GXColorP8_GXColorPUcPf */ s32 dPa_control_c::getPolyColor(cBgS_PolyInfo& param_0, int param_1, _GXColor* param_2, @@ -2468,19 +1714,6 @@ dPa_simpleEcallBack* dPa_control_c::getSimple(u16 param_0) { return NULL; } -/* ############################################################################################## */ -/* 80451FC8-80451FCC 0005C8 0004+00 1/1 0/0 0/0 .sdata2 @5374 */ -SECTION_SDATA2 static u32 lit_5374 = 0xFFFFFFFF; - -/* 80451FCC-80451FD0 0005CC 0004+00 1/1 0/0 0/0 .sdata2 @5375 */ -SECTION_SDATA2 static u32 lit_5375 = 0xFFFFFFFF; - -/* 80451FD0-80451FD4 0005D0 0004+00 1/1 0/0 0/0 .sdata2 @5383 */ -SECTION_SDATA2 static u32 lit_5383 = 0xFFFFFFFF; - -/* 80451FD4-80451FD8 0005D4 0004+00 1/1 0/0 0/0 .sdata2 @5384 */ -SECTION_SDATA2 static u32 lit_5384 = 0xFFFFFFFF; - /* 8004D278-8004D4CC 047BB8 0254+00 1/1 0/0 0/0 .text * dPa_kankyocolor_set__FfP14JPABaseEmitterPC12dKy_tevstr_cUlPC4cXyzPC8_GXColorPC8_GXColor */ static void dPa_kankyocolor_set(f32 param_0, JPABaseEmitter* param_1, @@ -2529,7 +1762,6 @@ static void dPa_kankyocolor_set(f32 param_0, JPABaseEmitter* param_1, } } - /* 8004D4CC-8004D6A4 047E0C 01D8+00 3/3 11/11 364/364 .text * set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf */ @@ -2632,6 +1864,10 @@ u32 dPa_control_c::setSimpleFoot(u32 param_0, u32* param_1, cBgS_PolyInfo& param if (effType >= 6) { return 0; } + static u16 effectIDTable[6][2] = { + {0xE6, 0xE7}, {0x143, 0x146}, {0x1AF, 0x1B8}, + {0x881B, 0x881E}, {0x881C, 0x881F}, {0x86AE, 0x86AF}, + }; u32 rv = setNormal(param_0, effectIDTable[effType][param_5], param_3, param_4, param_6, param_7, local_50, param_8, param_9, &a_Stack_48, &a_Stack_4c, param_10, local_44); @@ -2695,6 +1931,16 @@ u16 dPa_control_c::setCommonPoly(u32* param_0, cBgS_PolyInfo* param_1, cXyz cons { uVar5 |= (0xff << (i << 3)); } else { + static u16 ringID[6][4] = { + {0x00E7, 0xFFFF, 0xFFFF, 0xFFFF}, {0x0146, 0xFFFF, 0xFFFF, 0xFFFF}, + {0x01AF, 0x01B0, 0x01B1, 0xFFFF}, {0x881E, 0xFFFF, 0xFFFF, 0xFFFF}, + {0x881F, 0x8820, 0xFFFF, 0xFFFF}, {0x86AF, 0xFFFF, 0xFFFF, 0xFFFF}, + }; + static u16 normalID[6][4] = { + {0x00E6, 0xFFFF, 0xFFFF, 0xFFFF}, {0x0143, 0xFFFF, 0xFFFF, 0xFFFF}, + {0x01B8, 0x01B9, 0x01BA, 0x01BB}, {0x881B, 0xFFFF, 0xFFFF, 0xFFFF}, + {0x881C, 0x881D, 0xFFFF, 0xFFFF}, {0x86AE, 0xFFFF, 0xFFFF, 0xFFFF}, + }; uVar5 |= bVar3 << (i << 3); if (bVar3 == 2 && ((param_6 & 0x10000) != 0)) { puVar7 = ringID[bVar3]; @@ -2747,7 +1993,6 @@ void dPa_fsenthPcallBack::execute(JPABaseEmitter* param_0, JPABaseParticle* para } } - /* 8004DD0C-8004DD10 04864C 0004+00 1/0 0/0 0/0 .text * draw__19dPa_fsenthPcallBackFP14JPABaseEmitterP15JPABaseParticle */ void dPa_fsenthPcallBack::draw(JPABaseEmitter* param_0, JPABaseParticle* param_1) { @@ -2772,28 +2017,6 @@ void dPa_gen_d_light8PcallBack::execute(JPABaseEmitter* param_0, JPABaseParticle /* empty function */ } -/* ############################################################################################## */ -/* 8037A114-8037A120 006774 000C+00 1/1 0/0 0/0 .rodata @5691 */ -SECTION_RODATA static u8 const lit_5691[12] = { - 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8037A114, &lit_5691); - -/* 80451FD8-80451FDC 0005D8 0004+00 3/3 0/0 0/0 .sdata2 @6075 */ -SECTION_SDATA2 static f32 lit_6075 = 32.0f; - -/* 80451FDC-80451FE0 0005DC 0004+00 4/4 0/0 0/0 .sdata2 @6076 */ -SECTION_SDATA2 static f32 lit_6076 = 3.0f; - -/* 80451FE0-80451FE4 0005E0 0004+00 1/1 0/0 0/0 .sdata2 @6077 */ -SECTION_SDATA2 static f32 lit_6077 = 10.0f; - -/* 80451FE4-80451FE8 0005E4 0004+00 2/2 0/0 0/0 .sdata2 @6078 */ -SECTION_SDATA2 static f32 lit_6078 = 2.0f; - -/* 80451FE8-80451FEC 0005E8 0004+00 3/3 0/0 0/0 .sdata2 @6079 */ -SECTION_SDATA2 static f32 lit_6079 = -1.0f; - /* 8004DD1C-8004E6A8 04865C 098C+00 1/0 0/0 0/0 .text * draw__19dPa_light8PcallBackFP14JPABaseEmitterP15JPABaseParticle */ void dPa_light8PcallBack::draw(JPABaseEmitter* param_1, JPABaseParticle* param_2) { @@ -2918,18 +2141,9 @@ void dPa_light8PcallBack::draw(JPABaseEmitter* param_1, JPABaseParticle* param_2 param_2->setInvisibleParticleFlag(); } - -/* ############################################################################################## */ -/* 80451FEC-80451FF0 0005EC 0004+00 2/2 0/0 0/0 .sdata2 @6350 */ -SECTION_SDATA2 static f32 lit_6350 = 12.5f; - -/* 80451FF0-80451FF4 0005F0 0004+00 2/2 0/0 0/0 .sdata2 @6351 */ -SECTION_SDATA2 static f32 lit_6351 = -12.5f; - /* 8004E6A8-8004ED44 048FE8 069C+00 1/0 0/0 0/0 .text * draw__25dPa_gen_b_light8PcallBackFP14JPABaseEmitterP15JPABaseParticle */ -// regalloc -#ifdef NONMATCHING +// NONMATCHING regalloc void dPa_gen_b_light8PcallBack::draw(JPABaseEmitter* param_1, JPABaseParticle* param_2) { Mtx local_80; JGeometry::TVec3 local_8c; @@ -3020,22 +2234,9 @@ void dPa_gen_b_light8PcallBack::draw(JPABaseEmitter* param_1, JPABaseParticle* p GXEnd(); param_2->setInvisibleParticleFlag(); } -#else -void dPa_gen_b_light8PcallBack::draw(JPABaseEmitter* param_0, JPABaseParticle* param_1) { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ -/* 8037A120-8037A12C 006780 000C+00 1/1 0/0 0/0 .rodata @6363 */ -SECTION_RODATA static u8 const lit_6363[12] = { - 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8037A120, &lit_6363); /* 8004ED44-8004F6B8 049684 0974+00 1/0 0/0 0/0 .text * draw__25dPa_gen_d_light8PcallBackFP14JPABaseEmitterP15JPABaseParticle */ -#ifdef NONMATCHING void dPa_gen_d_light8PcallBack::draw(JPABaseEmitter* param_1, JPABaseParticle* param_2) { Mtx local_60; Mtx auStack_90; @@ -3153,11 +2354,6 @@ void dPa_gen_d_light8PcallBack::draw(JPABaseEmitter* param_1, JPABaseParticle* p GXEnd(); param_2->setInvisibleParticleFlag(); } -#else -void dPa_gen_d_light8PcallBack::draw(JPABaseEmitter* param_0, JPABaseParticle* param_1) { - // NONMATCHING -} -#endif /* 8004F6B8-8004F6C4 049FF8 000C+00 0/0 2/2 3/3 .text * setOldPosP__22dPa_hermiteEcallBack_cFPC4cXyzPC4cXyz */ @@ -3166,10 +2362,6 @@ void dPa_hermiteEcallBack_c::setOldPosP(cXyz const* param_0, cXyz const* param_1 field_0x14 = param_1; } -/* ############################################################################################## */ -/* 80451FF4-80451FF8 0005F4 0004+00 1/1 0/0 0/0 .sdata2 @6846 */ -SECTION_SDATA2 static f32 lit_6846 = -2.0f; - /* 8004F6C4-8004FABC 04A004 03F8+00 1/0 0/0 0/0 .text * executeAfter__22dPa_hermiteEcallBack_cFP14JPABaseEmitter */ void dPa_hermiteEcallBack_c::executeAfter(JPABaseEmitter* param_1) { @@ -3212,7 +2404,6 @@ void dPa_hermiteEcallBack_c::executeAfter(JPABaseEmitter* param_1) { } } - /* 8004FABC-8004FAD4 04A3FC 0018+00 1/0 0/0 0/0 .text * setup__22dPa_hermiteEcallBack_cFP14JPABaseEmitterPC4cXyzPC5csXyzSc */ void dPa_hermiteEcallBack_c::setup(JPABaseEmitter* param_0, cXyz const* param_1, @@ -3222,7 +2413,6 @@ void dPa_hermiteEcallBack_c::setup(JPABaseEmitter* param_0, cXyz const* param_1, mMaxCnt = 0; } - /* 8004FAD4-8004FB18 04A414 0044+00 1/0 0/0 0/0 .text * execute__28dPa_particleTracePcallBack_cFP14JPABaseEmitterP15JPABaseParticle */ void dPa_particleTracePcallBack_c::execute(JPABaseEmitter* param_0, JPABaseParticle* param_1) { @@ -3237,96 +2427,6 @@ void dPa_particleTracePcallBack_c::execute(JPABaseEmitter* param_0, JPABaseParti } } -/* 8004FB18-8004FB8C 04A458 0074+00 1/0 0/0 0/0 .text __dt__18dPa_levelEcallBackFv */ -#ifdef NONMATCHING -dPa_levelEcallBack::~dPa_levelEcallBack() { - cleanup(); -} -#else -// dPa_levelEcallBack::~dPa_levelEcallBack() { -extern "C" void __dt__18dPa_levelEcallBackFv() { - // NONMATCHING -} -#endif - -/* 8004FB8C-8004FB90 04A4CC 0004+00 8/0 0/0 0/0 .text cleanup__18dPa_levelEcallBackFv */ -void dPa_levelEcallBack::cleanup() { - /* empty function */ -} - -/* 8004FB90-8004FBFC 04A4D0 006C+00 1/1 0/0 0/0 .text __ct__Q218dPa_modelEcallBack7model_cFv */ -dPa_modelEcallBack::model_c::model_c() { - field_0x0 = NULL; -} - -/* 8004FBFC-8004FC08 04A53C 000C+00 1/1 0/0 0/0 .text __ct__Q313dPa_control_c7level_c9emitter_cFv - */ -dPa_control_c::level_c::emitter_c::emitter_c() { - mId = 0; -} - -/* 8004FC08-8004FC68 04A548 0060+00 2/1 0/0 0/0 .text __dt__19dPa_simpleEcallBackFv */ -// dPa_simpleEcallBack::~dPa_simpleEcallBack() { -extern "C" void __dt__19dPa_simpleEcallBackFv() { - // NONMATCHING -} - -/* 8004FC68-8004FCC8 04A5A8 0060+00 2/1 0/0 0/0 .text __dt__28dPa_particleTracePcallBack_cFv */ -// dPa_particleTracePcallBack_c::~dPa_particleTracePcallBack_c() { -extern "C" void __dt__28dPa_particleTracePcallBack_cFv() { - // NONMATCHING -} - -/* 8004FCC8-8004FD4C 04A608 0084+00 1/0 0/0 0/0 .text __dt__22dPa_hermiteEcallBack_cFv */ -// dPa_hermiteEcallBack_c::~dPa_hermiteEcallBack_c() { -extern "C" void __dt__22dPa_hermiteEcallBack_cFv() { - // NONMATCHING -} - -/* 8004FD4C-8004FDAC 04A68C 0060+00 2/1 0/0 0/0 .text __dt__25dPa_gen_d_light8PcallBackFv - */ -// dPa_gen_d_light8PcallBack::~dPa_gen_d_light8PcallBack() { -extern "C" void __dt__25dPa_gen_d_light8PcallBackFv() { - // NONMATCHING -} - -/* 8004FDAC-8004FE0C 04A6EC 0060+00 2/1 0/0 0/0 .text __dt__25dPa_gen_b_light8PcallBackFv - */ -// dPa_gen_b_light8PcallBack::~dPa_gen_b_light8PcallBack() { -extern "C" void __dt__25dPa_gen_b_light8PcallBackFv() { - // NONMATCHING -} - -/* 8004FE0C-8004FE6C 04A74C 0060+00 2/1 0/0 0/0 .text __dt__19dPa_light8PcallBackFv */ -// dPa_light8PcallBack::~dPa_light8PcallBack() { -extern "C" void __dt__19dPa_light8PcallBackFv() { - // NONMATCHING -} - -/* 8004FE6C-8004FECC 04A7AC 0060+00 2/1 0/0 0/0 .text __dt__19dPa_fsenthPcallBackFv */ -// dPa_fsenthPcallBack::~dPa_fsenthPcallBack() { -extern "C" void __dt__19dPa_fsenthPcallBackFv() { - // NONMATCHING -} - -/* 8004FECC-8004FF2C 04A80C 0060+00 2/1 0/0 0/0 .text __dt__17dPa_wbPcallBack_cFv */ -// dPa_wbPcallBack_c::~dPa_wbPcallBack_c() { -extern "C" void __dt__17dPa_wbPcallBack_cFv() { - // NONMATCHING -} - -/* 8004FF2C-8004FF8C 04A86C 0060+00 1/0 0/0 0/0 .text __dt__17dPa_windPcallBackFv */ -// dPa_windPcallBack::~dPa_windPcallBack() { -extern "C" void __dt__17dPa_windPcallBackFv() { - // NONMATCHING -} - -/* 8004FF8C-80050010 04A8CC 0084+00 2/1 0/0 0/0 .text __dt__22dPa_selectTexEcallBackFv */ -// dPa_selectTexEcallBack::~dPa_selectTexEcallBack() { -extern "C" void __dt__22dPa_selectTexEcallBackFv() { - // NONMATCHING -} - /* 80050010-80050014 04A950 0004+00 1/0 0/0 0/0 .text * setup__22dPa_selectTexEcallBackFP14JPABaseEmitterPC4cXyzPC5csXyzSc */ void dPa_selectTexEcallBack::setup(JPABaseEmitter* param_0, cXyz const* param_1, @@ -3340,54 +2440,24 @@ void dPa_modelEcallBack::drawAfter(JPABaseEmitter* param_0) { cleanupModel(param_0); } -/* 80050038-80050098 04A978 0060+00 2/1 0/0 0/0 .text __dt__18dPa_modelPcallBackFv */ -// dPa_modelPcallBack::~dPa_modelPcallBack() { -extern "C" void __dt__18dPa_modelPcallBackFv() { - // NONMATCHING -} - /* 80050098-800500B8 04A9D8 0020+00 1/0 0/0 0/0 .text * drawAfter__25dPa_gen_d_light8EcallBackFP14JPABaseEmitter */ void dPa_gen_d_light8EcallBack::drawAfter(JPABaseEmitter* param_0) { dPa_cleanupGX(); } -/* 800500B8-8005013C 04A9F8 0084+00 2/1 0/0 0/0 .text __dt__25dPa_gen_b_light8EcallBackFv - */ -// dPa_gen_b_light8EcallBack::~dPa_gen_b_light8EcallBack() { -extern "C" void __dt__25dPa_gen_b_light8EcallBackFv() { - // NONMATCHING -} - /* 8005013C-8005015C 04AA7C 0020+00 1/0 0/0 0/0 .text * drawAfter__25dPa_gen_b_light8EcallBackFP14JPABaseEmitter */ void dPa_gen_b_light8EcallBack::drawAfter(JPABaseEmitter* param_0) { dPa_cleanupGX(); } -/* 8005015C-800501E0 04AA9C 0084+00 2/1 0/0 0/0 .text __dt__19dPa_light8EcallBackFv */ -// dPa_light8EcallBack::~dPa_light8EcallBack() { -extern "C" void __dt__19dPa_light8EcallBackFv() { - // NONMATCHING -} - /* 800501E0-80050200 04AB20 0020+00 1/0 0/0 0/0 .text * drawAfter__19dPa_light8EcallBackFP14JPABaseEmitter */ void dPa_light8EcallBack::drawAfter(JPABaseEmitter* param_0) { dPa_cleanupGX(); } -/* 80050200-80050284 04AB40 0084+00 1/0 0/0 0/0 .text __dt__19dPa_followEcallBackFv */ -// dPa_followEcallBack::~dPa_followEcallBack() { -extern "C" void __dt__19dPa_followEcallBackFv() { - // NONMATCHING -} - -/* 80050284-800502B0 04ABC4 002C+00 1/0 0/0 0/0 .text cleanup__19dPa_followEcallBackFv */ -void dPa_followEcallBack::cleanup() { - end(); -} - /* 800502B0-800502E0 04ABF0 0030+00 1/0 0/0 0/0 .text * draw__21dPa_setColorEcallBackFP14JPABaseEmitter */ void dPa_setColorEcallBack::draw(JPABaseEmitter* param_0) { @@ -3400,78 +2470,3 @@ void dPa_setColorEcallBack::setup(JPABaseEmitter* param_0, cXyz const* param_1, csXyz const* param_2, s8 param_3) { /* empty function */ } - -/* ############################################################################################## */ -/* 803A8594-803A85D0 0056B4 0024+18 2/2 0/0 0/0 .data __vt__21dPa_setColorEcallBack */ -SECTION_DATA extern void* __vt__21dPa_setColorEcallBack[9 + 6 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__21dPa_setColorEcallBackFv, - (void*)execute__18JPAEmitterCallBackFP14JPABaseEmitter, - (void*)executeAfter__18JPAEmitterCallBackFP14JPABaseEmitter, - (void*)draw__21dPa_setColorEcallBackFP14JPABaseEmitter, - (void*)drawAfter__18JPAEmitterCallBackFP14JPABaseEmitter, - (void*)setup__21dPa_setColorEcallBackFP14JPABaseEmitterPC4cXyzPC5csXyzSc, - (void*)cleanup__18dPa_levelEcallBackFv, - /* padding */ - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, -}; - -/* 800502E4-80050368 04AC24 0084+00 2/1 0/0 0/0 .text __dt__21dPa_setColorEcallBackFv */ -// dPa_setColorEcallBack::~dPa_setColorEcallBack() { -extern "C" void __dt__21dPa_setColorEcallBackFv() { - // NONMATCHING -} - -/* 80050368-8005036C 04ACA8 0004+00 10/0 0/0 0/0 .text - * execute__18JPAEmitterCallBackFP14JPABaseEmitter */ -extern "C" void execute__18JPAEmitterCallBackFP14JPABaseEmitter() { - /* empty function */ -} - -/* 8005036C-80050370 04ACAC 0004+00 3/0 0/0 0/0 .text draw__18JPAEmitterCallBackFP14JPABaseEmitter - */ -void JPAEmitterCallBack::draw(JPABaseEmitter* param_0) { - /* empty function */ -} - -/* 80050370-80050374 04ACB0 0004+00 7/0 0/0 0/0 .text - * drawAfter__18JPAEmitterCallBackFP14JPABaseEmitter */ -void JPAEmitterCallBack::drawAfter(JPABaseEmitter* param_0) { - /* empty function */ -} - -/* 80050374-80050378 04ACB4 0004+00 9/0 0/0 0/0 .text - * executeAfter__18JPAEmitterCallBackFP14JPABaseEmitter */ -void JPAEmitterCallBack::executeAfter(JPABaseEmitter* param_0) { - /* empty function */ -} - -/* 80050378-800503FC 04ACB8 0084+00 2/1 0/0 0/0 .text __dt__18dPa_modelEcallBackFv */ -// dPa_modelEcallBack::~dPa_modelEcallBack() { -extern "C" void __dt__18dPa_modelEcallBackFv() { - // NONMATCHING -} - -/* 800503FC-80050480 04AD3C 0084+00 2/1 0/0 0/0 .text __dt__25dPa_gen_d_light8EcallBackFv - */ -// dPa_gen_d_light8EcallBack::~dPa_gen_d_light8EcallBack() { -extern "C" void __dt__25dPa_gen_d_light8EcallBackFv() { - // NONMATCHING -} - -/* 80050480-80050C9C 04ADC0 081C+00 0/0 1/0 0/0 .text __sinit_d_particle_cpp */ -void __sinit_d_particle_cpp(){// NONMATCHING -} - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x80050480, __sinit_d_particle_cpp); -#pragma pop - -/* 8037A12C-8037A12C 00678C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file