diff --git a/configure.py b/configure.py index 5c97518748..6595502427 100755 --- a/configure.py +++ b/configure.py @@ -1942,7 +1942,7 @@ config.libs = [ ActorRel(MatchingFor(ALL_GCN), "d_a_formation_mng"), ActorRel(MatchingFor(ALL_GCN), "d_a_guard_mng"), ActorRel(NonMatching, "d_a_horse"), - ActorRel(NonMatching, "d_a_hozelda"), + ActorRel(Equivalent, "d_a_hozelda"), # weak func order ActorRel(MatchingFor(ALL_GCN), "d_a_izumi_gate"), ActorRel(MatchingFor(ALL_GCN), "d_a_kago"), ActorRel(MatchingFor(ALL_GCN), "d_a_kytag01"), diff --git a/include/d/actor/d_a_alink.h b/include/d/actor/d_a_alink.h index 4677b0b5b5..2bd37b5d86 100644 --- a/include/d/actor/d_a_alink.h +++ b/include/d/actor/d_a_alink.h @@ -45,7 +45,7 @@ public: mPosY = i_posY; } -private: +public: /* 0x04 */ u8 field_0x4; /* 0x05 */ u8 field_0x5[3]; /* 0x08 */ J2DScreen* mScrn; @@ -211,6 +211,7 @@ struct daAlink_WlAnmData { class daAlinkHIO_data_c : public JORReflexible { public: +#ifdef DEBUG daAlinkHIO_data_c(); ~daAlinkHIO_data_c(); @@ -219,9 +220,13 @@ public: void baseCopy(); void update(); +#ifdef DEBUG virtual void listenPropertyEvent(const JORPropertyEvent* event); +#endif +#endif public: +#ifdef DEBUG /* 0x04 */ int m_anm_num; /* 0x08 */ int m_u8_num; /* 0x0C */ int m_s16_num; @@ -234,6 +239,7 @@ public: /* 0x28 */ void* mp_data; /* 0x2C */ const char* m_name_string; /* 0x30 */ daAlinkHIO_data_c* mpNext; +#endif }; struct daAlinkHIO_basic_c1 { @@ -272,13 +278,17 @@ public: class daAlinkHIO_basic_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_basic_c(); - ~daAlinkHIO_basic_c() {}; + ~daAlinkHIO_basic_c() {} virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x34 */ daAlinkHIO_basic_c1 m; +#endif }; struct daAlinkHIO_anm_c { @@ -319,13 +329,17 @@ public: class daAlinkHIO_move_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_move_c(); - ~daAlinkHIO_move_c() {}; + ~daAlinkHIO_move_c() {} virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x34 */ daAlinkHIO_move_c1 m; +#endif }; class daAlinkHIO_noActAtnMove_c1 { @@ -361,13 +375,17 @@ public: class daAlinkHIO_noActAtnMove_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_noActAtnMove_c(); - ~daAlinkHIO_noActAtnMove_c() {}; + ~daAlinkHIO_noActAtnMove_c() {} virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x34 */ daAlinkHIO_noActAtnMove_c1 m; +#endif }; class daAlinkHIO_frontRoll_c1 { @@ -399,13 +417,17 @@ public: class daAlinkHIO_frontRoll_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_frontRoll_c(); - ~daAlinkHIO_frontRoll_c() {}; + ~daAlinkHIO_frontRoll_c() {} virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x34 */ daAlinkHIO_frontRoll_c1 m; +#endif }; class daAlinkHIO_backJump_c1 { @@ -425,13 +447,17 @@ public: class daAlinkHIO_backJump_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_backJump_c(); - ~daAlinkHIO_backJump_c() {}; + ~daAlinkHIO_backJump_c() {} virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x34 */ daAlinkHIO_backJump_c1 m; +#endif }; class daAlinkHIO_sideStep_c1 { @@ -455,13 +481,17 @@ public: class daAlinkHIO_sideStep_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_sideStep_c(); - ~daAlinkHIO_sideStep_c() {}; + ~daAlinkHIO_sideStep_c() {} virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x34 */ daAlinkHIO_sideStep_c1 m; +#endif }; class daAlinkHIO_slide_c1 { @@ -489,13 +519,17 @@ public: class daAlinkHIO_slide_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_slide_c(); - ~daAlinkHIO_slide_c() {}; + ~daAlinkHIO_slide_c() {} virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x34 */ daAlinkHIO_slide_c1 m; +#endif }; class daAlinkHIO_atnMove_c1 { @@ -531,13 +565,17 @@ public: class daAlinkHIO_atnMove_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_atnMove_c(); ~daAlinkHIO_atnMove_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x34 */ daAlinkHIO_atnMove_c1 m; +#endif }; class daAlinkHIO_cutNormal_c1 { @@ -575,12 +613,14 @@ public: class daAlinkHIO_cutNormal_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_cutNormal_c(int, float); ~daAlinkHIO_cutNormal_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: /* 0x34 */ f32 field_0x34; /* 0x38 */ daAlinkHIO_cutNormal_c1 m; }; // Size: 0x58 @@ -629,12 +669,14 @@ public: class daAlinkHIO_cutFinish_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_cutFinish_c(int, float); ~daAlinkHIO_cutFinish_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: /* 0x34 */ f32 field_0x34; /* 0x38 */ daAlinkHIO_cutFinish_c1 m; }; @@ -664,13 +706,17 @@ public: class daAlinkHIO_cutFnJU_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_cutFnJU_c(); ~daAlinkHIO_cutFnJU_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x34 */ daAlinkHIO_cutFnJU_c1 m; +#endif }; // Size: 0x88 class daAlinkHIO_cutDash_c1 { @@ -697,12 +743,14 @@ public: class daAlinkHIO_cutDash_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_cutDash_c(int, float); ~daAlinkHIO_cutDash_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: /* 0x34 */ f32 field_0x34; /* 0x38 */ daAlinkHIO_cutDash_c1 m; }; @@ -727,13 +775,17 @@ public: class daAlinkHIO_cutJump_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_cutJump_c(); ~daAlinkHIO_cutJump_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x34 */ daAlinkHIO_cutJump_c1 m; +#endif }; // Size: 0x78 class daAlinkHIO_cutTurn_c1 { @@ -774,13 +826,17 @@ public: class daAlinkHIO_cutTurn_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_cutTurn_c(); ~daAlinkHIO_cutTurn_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x34 */ daAlinkHIO_cutTurn_c1 m; +#endif }; // Size: 0xCC class daAlinkHIO_hoCut_c1 { @@ -813,12 +869,14 @@ public: class daAlinkHIO_hoCut_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_hoCut_c(int, float); ~daAlinkHIO_hoCut_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: /* 0x34 */ f32 field_0x34; /* 0x38 */ daAlinkHIO_hoCut_c1 m; }; // Size: 0x58 @@ -844,13 +902,17 @@ public: class daAlinkHIO_hoCutCharge_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_hoCutCharge_c(); ~daAlinkHIO_hoCutCharge_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x34 */ daAlinkHIO_hoCutCharge_c1 m; +#endif }; // Size: 0x88 class daAlinkHIO_cutDown_c1 { @@ -874,13 +936,17 @@ public: class daAlinkHIO_cutDown_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_cutDown_c(); ~daAlinkHIO_cutDown_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x34 */ daAlinkHIO_cutDown_c1 m; +#endif }; // Size: 0xA8 class daAlinkHIO_cutHead_c1 { @@ -906,13 +972,17 @@ public: class daAlinkHIO_cutHead_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_cutHead_c(); ~daAlinkHIO_cutHead_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x34 */ daAlinkHIO_cutHead_c1 m; +#endif }; // Size: 0x94 class daAlinkHIO_cutLargeJump_c1 { @@ -939,13 +1009,17 @@ public: class daAlinkHIO_cutLargeJump_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_cutLargeJump_c(); ~daAlinkHIO_cutLargeJump_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x34 */ daAlinkHIO_cutLargeJump_c1 m; +#endif }; // Size: 0xA8 class daAlinkHIO_cut_c1 { @@ -982,24 +1056,47 @@ public: class daAlinkHIO_cut_c0 { public: + static daAlinkHIO_cutNmV_c0 const mCutVertical; + static daAlinkHIO_cutNmL_c0 const mCutLeft; + static daAlinkHIO_cutNmR_c0 const mCutRight; + static daAlinkHIO_cutNmSL_c0 const mCutLeftStab; + static daAlinkHIO_cutNmSR_c0 const mCutRightStab; + static daAlinkHIO_cutFnL_c0 const mCutFinishLeft; + static daAlinkHIO_cutFnV_c0 const mCutFinishVertical; + static daAlinkHIO_cutFnS_c0 const mCutFinishStab; + static daAlinkHIO_cutFnSl_c0 const mCutFinishSweep; + static daAlinkHIO_cutFnSm_c0 const mCutFinishSlash; + static daAlinkHIO_cutFnR_c0 const mCutFinishRight; + static daAlinkHIO_cutFnJU_c0 const mCutFinishJumpUppercut; + static daAlinkHIO_cutJump_c0 const mCutJump; + static daAlinkHIO_cutTurn_c0 const mCutTurn; + static daAlinkHIO_hoCutLA_c0 const mHorseCutLeftA; + static daAlinkHIO_hoCutLB_c0 const mHorseCutLeftB; + static daAlinkHIO_hoCutRA_c0 const mHorseCutRightA; + static daAlinkHIO_hoCutRB_c0 const mHorseCutRightB; + static daAlinkHIO_hoCutCharge_c0 const mHorseCutCharge; + static daAlinkHIO_cutDaL_c0 const mCutDashLeft; + static daAlinkHIO_cutDaR_c0 const mCutDashRight; + static daAlinkHIO_cutDaCharge_c0 const mCutDashCharge; + static daAlinkHIO_cutDown_c0 const mCutDown; + static daAlinkHIO_cutHead_c0 const mCutHead; + static daAlinkHIO_cutLargeJump_c0 const mCutLargeJump; static daAlinkHIO_cut_c1 const m; }; -class daAlinkHIO_cut_c -#ifdef DEBUG - : public daAlinkHIO_data_c -#endif -{ +class daAlinkHIO_cut_c : public daAlinkHIO_data_c { public: #ifdef DEBUG daAlinkHIO_cut_c(); -#endif ~daAlinkHIO_cut_c(); -#ifdef DEBUG virtual void genMessage(JORMContext*); +#else + ~daAlinkHIO_cut_c(); +#endif -private: +public: +#ifdef DEBUG /* 0x034 */ daAlinkHIO_cutNormal_c mCutVertical; /* 0x08C */ daAlinkHIO_cutNormal_c mCutLeft; /* 0x0E4 */ daAlinkHIO_cutNormal_c mCutRight; @@ -1050,12 +1147,14 @@ public: class daAlinkHIO_guardAttack_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_guardAttack_c(int, float); ~daAlinkHIO_guardAttack_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: /* 0x34 */ f32 field_0x34; /* 0x38 */ daAlinkHIO_guardAttack_c1 m; }; @@ -1080,13 +1179,17 @@ public: class daAlinkHIO_turnMove_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_turnMove_c(); ~daAlinkHIO_turnMove_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x34 */ daAlinkHIO_turnMove_c1 m; +#endif }; class daAlinkHIO_guard_c1 { @@ -1113,21 +1216,28 @@ public: class daAlinkHIO_guard_c0 { public: + static daAlinkHIO_gAtPush_c0 const mAtPush; + static daAlinkHIO_gAtKick_c0 const mAtKick; + static daAlinkHIO_turnMove_c0 const mTurnMove; static daAlinkHIO_guard_c1 const m; }; class daAlinkHIO_guard_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_guard_c(); ~daAlinkHIO_guard_c(); virtual void genMessage(JORMContext*); +#endif -private: - /* 0x034 */ daAlinkHIO_guardAttack_c mGuardAttack1; - /* 0x090 */ daAlinkHIO_guardAttack_c mGuardAttack2; +public: +#ifdef DEBUG + /* 0x034 */ daAlinkHIO_guardAttack_c mAtPush; + /* 0x090 */ daAlinkHIO_guardAttack_c mAtKick; /* 0x0EC */ daAlinkHIO_turnMove_c mTurnMove; /* 0x14C */ daAlinkHIO_guard_c1 m; +#endif }; class daAlinkHIO_crouch_c1 { @@ -1153,13 +1263,17 @@ public: class daAlinkHIO_crouch_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_crouch_c(); ~daAlinkHIO_crouch_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x34 */ daAlinkHIO_crouch_c1 m; +#endif }; class daAlinkHIO_autoJump_c1 { @@ -1204,13 +1318,17 @@ public: class daAlinkHIO_autoJump_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_autoJump_c(); ~daAlinkHIO_autoJump_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG daAlinkHIO_autoJump_c1 m; +#endif }; class daAlinkHIO_smallJump_c1 { @@ -1230,13 +1348,17 @@ public: class daAlinkHIO_smallJump_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_smallJump_c(); ~daAlinkHIO_smallJump_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG daAlinkHIO_smallJump_c1 m; +#endif }; class daAlinkHIO_wallCatch_c1 { @@ -1255,13 +1377,17 @@ public: class daAlinkHIO_wallCatch_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_wallCatch_c(); ~daAlinkHIO_wallCatch_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG daAlinkHIO_wallCatch_c1 m; +#endif }; class daAlinkHIO_wallFall_c1 { @@ -1277,13 +1403,17 @@ public: class daAlinkHIO_wallFall_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_wallFall_c(); ~daAlinkHIO_wallFall_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG daAlinkHIO_wallFall_c1 m; +#endif }; class daAlinkHIO_wallMove_c1 { @@ -1302,13 +1432,17 @@ public: class daAlinkHIO_wallMove_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_wallMove_c(); ~daAlinkHIO_wallMove_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG daAlinkHIO_wallMove_c1 m; +#endif }; class daAlinkHIO_wallHang_c1 { @@ -1325,22 +1459,30 @@ public: class daAlinkHIO_wallHang_c0 { public: + static daAlinkHIO_smallJump_c0 const mSmallJump; + static daAlinkHIO_wallCatch_c0 const mWallCatch; + static daAlinkHIO_wallFall_c0 const mWallFall; + static daAlinkHIO_wallMove_c0 const mWallMove; static daAlinkHIO_wallHang_c1 const m; }; class daAlinkHIO_wallHang_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_wallHang_c(); ~daAlinkHIO_wallHang_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x34 */ daAlinkHIO_smallJump_c mSmallJump; /* 0x00 */ daAlinkHIO_wallCatch_c mWallCatch; /* 0x00 */ daAlinkHIO_wallFall_c mWallFall; /* 0x00 */ daAlinkHIO_wallMove_c mWallMove; /* 0x00 */ daAlinkHIO_wallHang_c1 m; +#endif }; class daAlinkHIO_pushpull_c1 { @@ -1373,13 +1515,17 @@ public: class daAlinkHIO_pushpull_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_pushpull_c(); ~daAlinkHIO_pushpull_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG daAlinkHIO_pushpull_c1 m; +#endif }; class daAlinkHIO_damNormal_c1 { @@ -1403,13 +1549,17 @@ public: class daAlinkHIO_damNormal_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_damNormal_c(); ~daAlinkHIO_damNormal_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG daAlinkHIO_damNormal_c1 m; +#endif }; class daAlinkHIO_damLaHu_c1 { @@ -1443,13 +1593,17 @@ public: class daAlinkHIO_damLaHu_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_damLaHu_c(int); ~daAlinkHIO_damLaHu_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG daAlinkHIO_damLaHu_c1 m; +#endif }; class daAlinkHIO_damHorse_c1 { @@ -1467,13 +1621,17 @@ public: class daAlinkHIO_damHorse_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_damHorse_c(); ~daAlinkHIO_damHorse_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x34 */ daAlinkHIO_damHorse_c1 m; +#endif }; class daAlinkHIO_damFall_c1 { @@ -1498,13 +1656,17 @@ public: class daAlinkHIO_damFall_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_damFall_c(); ~daAlinkHIO_damFall_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x34 */ daAlinkHIO_damFall_c1 m; +#endif }; class daAlinkHIO_damCaught_c1 { @@ -1524,13 +1686,17 @@ public: class daAlinkHIO_damCaught_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_damCaught_c(); ~daAlinkHIO_damCaught_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x34 */ daAlinkHIO_damCaught_c1 m; +#endif }; class daAlinkHIO_damSwim_c1 { @@ -1556,13 +1722,17 @@ public: class daAlinkHIO_damSwim_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_damSwim_c(); ~daAlinkHIO_damSwim_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x34 */ daAlinkHIO_damSwim_c1 m; +#endif }; class daAlinkHIO_damage_c1 { @@ -1595,24 +1765,35 @@ public: class daAlinkHIO_damage_c0 { public: static daAlinkHIO_damage_c1 const m; + static daAlinkHIO_damNormal_c0 const mDamNormal; + static daAlinkHIO_damLarge_c0 const mDamLarge; + static daAlinkHIO_damHuge_c0 const mDamHuge; + static daAlinkHIO_damHorse_c0 const mDamHorse; + static daAlinkHIO_damFall_c0 const mDamFall; + static daAlinkHIO_damCaught_c0 const mDamCaught; + static daAlinkHIO_damSwim_c0 const mDamSwim; }; class daAlinkHIO_damage_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_damage_c(); ~daAlinkHIO_damage_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x00 */ daAlinkHIO_damage_c1 m; /* 0x34 */ daAlinkHIO_damNormal_c mDamNormal; - /* 0x00 */ daAlinkHIO_damLaHu_c mDamLaHu0; - /* 0x00 */ daAlinkHIO_damLaHu_c mDamLaHu1; + /* 0x00 */ daAlinkHIO_damLaHu_c mDamLarge; + /* 0x00 */ daAlinkHIO_damLaHu_c mDamHuge; /* 0x00 */ daAlinkHIO_damHorse_c mDamHorse; /* 0x00 */ daAlinkHIO_damFall_c mDamFall; /* 0x00 */ daAlinkHIO_damCaught_c mDamCaught; /* 0x00 */ daAlinkHIO_damSwim_c mDamSwim; +#endif }; class daAlinkHIO_horse_c1 { @@ -1640,13 +1821,17 @@ public: class daAlinkHIO_horse_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_horse_c(); ~daAlinkHIO_horse_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x00 */ daAlinkHIO_horse_c1 m; +#endif }; class daAlinkHIO_canoe_c1 { @@ -1675,13 +1860,17 @@ public: class daAlinkHIO_canoe_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_canoe_c(); ~daAlinkHIO_canoe_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x00 */ daAlinkHIO_canoe_c1 m; +#endif }; class daAlinkHIO_bow_c1 { @@ -1716,13 +1905,17 @@ public: class daAlinkHIO_bow_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_bow_c(); ~daAlinkHIO_bow_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x00 */ daAlinkHIO_bow_c1 m; +#endif }; class daAlinkHIO_boom_c1 { @@ -1748,13 +1941,17 @@ public: class daAlinkHIO_boom_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_boom_c(); ~daAlinkHIO_boom_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x00 */ daAlinkHIO_boom_c1 m; +#endif }; class daAlinkHIO_bomb_c1 { @@ -1788,13 +1985,17 @@ public: class daAlinkHIO_bomb_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_bomb_c(); ~daAlinkHIO_bomb_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x00 */ daAlinkHIO_bomb_c1 m; +#endif }; class daAlinkHIO_huLight_c1 { @@ -1857,13 +2058,17 @@ public: class daAlinkHIO_light_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_light_c(int); ~daAlinkHIO_light_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x00 */ daAlinkHIO_huLight_c1 m; +#endif }; class daAlinkHIO_kandelaar_c1 { @@ -1889,13 +2094,17 @@ public: class daAlinkHIO_kandelaar_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_kandelaar_c(); ~daAlinkHIO_kandelaar_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x00 */ daAlinkHIO_kandelaar_c1 m; +#endif }; class daAlinkHIO_magneBoots_c1 { @@ -1924,13 +2133,17 @@ public: class daAlinkHIO_magneBoots_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_magneBoots_c(); ~daAlinkHIO_magneBoots_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x00 */ daAlinkHIO_magneBoots_c1 m; +#endif }; class daAlinkHIO_fmChain_c1 { @@ -1946,13 +2159,17 @@ public: class daAlinkHIO_fmChain_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_fmChain_c(); ~daAlinkHIO_fmChain_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x00 */ daAlinkHIO_fmChain_c1 m; +#endif }; class daAlinkHIO_hookshot_c1 { @@ -1982,13 +2199,17 @@ public: class daAlinkHIO_hookshot_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_hookshot_c(); ~daAlinkHIO_hookshot_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x00 */ daAlinkHIO_hookshot_c1 m; +#endif }; class daAlinkHIO_spinner_c1 { @@ -2016,13 +2237,17 @@ public: class daAlinkHIO_spinner_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_spinner_c(); ~daAlinkHIO_spinner_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x00 */ daAlinkHIO_spinner_c1 m; +#endif }; class daAlinkHIO_ironBall_c1 { @@ -2068,13 +2293,17 @@ public: class daAlinkHIO_ironBall_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_ironBall_c(); ~daAlinkHIO_ironBall_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x00 */ daAlinkHIO_ironBall_c1 m; +#endif }; class daAlinkHIO_copyRod_c1 { @@ -2094,13 +2323,17 @@ public: class daAlinkHIO_copyRod_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_copyRod_c(); ~daAlinkHIO_copyRod_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x00 */ daAlinkHIO_copyRod_c1 m; +#endif }; class daAlinkHIO_pickUp_c1 { @@ -2118,13 +2351,17 @@ public: class daAlinkHIO_pickUp_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_pickUp_c(); ~daAlinkHIO_pickUp_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x00 */ daAlinkHIO_pickUp_c1 m; +#endif }; class daAlinkHIO_board_c1 { @@ -2161,13 +2398,17 @@ public: class daAlinkHIO_board_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_board_c(); ~daAlinkHIO_board_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x00 */ daAlinkHIO_board_c1 m; +#endif }; class daAlinkHIO_bottle_c1 { @@ -2190,13 +2431,17 @@ public: class daAlinkHIO_bottle_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_bottle_c(); ~daAlinkHIO_bottle_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x00 */ daAlinkHIO_bottle_c1 m; +#endif }; class daAlinkHIO_item_c1 { @@ -2214,17 +2459,35 @@ public: class daAlinkHIO_item_c0 { public: + static daAlinkHIO_bow_c0 const mBow; + static daAlinkHIO_boom_c0 const mBoomerang; + static daAlinkHIO_bomb_c0 const mBomb; + static daAlinkHIO_huLight_c0 const mLanternPL; + static daAlinkHIO_kandelaar_c0 const mLantern; + static daAlinkHIO_fmChain_c0 const mFmChain; + static daAlinkHIO_magneBoots_c0 const mIronBoots; + static daAlinkHIO_pickUp_c0 const mPickUp; + static daAlinkHIO_board_c0 const mBoard; + static daAlinkHIO_bottle_c0 const mBottle; + static daAlinkHIO_hookshot_c0 const mHookshot; + static daAlinkHIO_spinner_c0 const mSpinner; + static daAlinkHIO_ironBall_c0 const mIronBall; + static daAlinkHIO_copyRod_c0 const mCopyRod; + static daAlinkHIO_zwLight_c0 const mZoraArmorPL; static daAlinkHIO_item_c1 const m; }; class daAlinkHIO_item_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_item_c(); ~daAlinkHIO_item_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x00 */ daAlinkHIO_bow_c mBow; /* 0x00 */ daAlinkHIO_boom_c mBoomerang; /* 0x00 */ daAlinkHIO_bomb_c mBomb; @@ -2241,6 +2504,7 @@ private: /* 0x00 */ daAlinkHIO_copyRod_c mCopyRod; /* 0x00 */ daAlinkHIO_light_c mZoraArmorPL; /* 0x00 */ daAlinkHIO_item_c1 m; +#endif }; class daAlinkHIO_ladder_c1 { @@ -2274,13 +2538,17 @@ public: class daAlinkHIO_ladder_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_ladder_c(); ~daAlinkHIO_ladder_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x00 */ daAlinkHIO_ladder_c1 m; +#endif }; class daAlinkHIO_roofHang_c1 { @@ -2310,13 +2578,17 @@ public: class daAlinkHIO_roofHang_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_roofHang_c(); ~daAlinkHIO_roofHang_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x00 */ daAlinkHIO_roofHang_c1 m; +#endif }; class daAlinkHIO_grab_c1 { @@ -2344,13 +2616,17 @@ public: class daAlinkHIO_grab_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_grab_c(); ~daAlinkHIO_grab_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x00 */ daAlinkHIO_grab_c1 m; +#endif }; class daAlinkHIO_swim_c1 { @@ -2415,13 +2691,17 @@ public: class daAlinkHIO_swim_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_swim_c(); ~daAlinkHIO_swim_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x00 */ daAlinkHIO_swim_c1 m; +#endif }; class daAlinkHIO_wlMove_c1 { @@ -2487,13 +2767,17 @@ public: class daAlinkHIO_wlMove_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_wlMove_c(); ~daAlinkHIO_wlMove_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x34 */ daAlinkHIO_wlMove_c1 m; +#endif }; class daAlinkHIO_wlMoveNoP_c1 { @@ -2526,13 +2810,17 @@ public: class daAlinkHIO_wlMoveNoP_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_wlMoveNoP_c(); ~daAlinkHIO_wlMoveNoP_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x00 */ daAlinkHIO_wlMoveNoP_c1 m; +#endif }; class daAlinkHIO_wlAtnMove_c1 { @@ -2561,13 +2849,17 @@ public: class daAlinkHIO_wlAtnMove_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_wlAtnMove_c(); ~daAlinkHIO_wlAtnMove_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x00 */ daAlinkHIO_wlAtnMove_c1 m; +#endif }; class daAlinkHIO_wlHowl_c1 { @@ -2589,13 +2881,17 @@ public: class daAlinkHIO_wlHowl_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_wlHowl_c(); ~daAlinkHIO_wlHowl_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x00 */ daAlinkHIO_wlHowl_c1 m; +#endif }; class daAlinkHIO_wlSideStep_c1 { @@ -2619,13 +2915,17 @@ public: class daAlinkHIO_wlSideStep_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_wlSideStep_c(); ~daAlinkHIO_wlSideStep_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x00 */ daAlinkHIO_wlSideStep_c1 m; +#endif }; class daAlinkHIO_wlBackJump_c1 { @@ -2645,13 +2945,17 @@ public: class daAlinkHIO_wlBackJump_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_wlBackJump_c(); ~daAlinkHIO_wlBackJump_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x00 */ daAlinkHIO_wlBackJump_c1 m; +#endif }; class daAlinkHIO_wlAutoJump_c1 { @@ -2686,13 +2990,17 @@ public: class daAlinkHIO_wlAutoJump_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_wlAutoJump_c(); ~daAlinkHIO_wlAutoJump_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x00 */ daAlinkHIO_wlAutoJump_c1 m; +#endif }; class daAlinkHIO_wlPush_c1 { @@ -2711,13 +3019,17 @@ public: class daAlinkHIO_wlPush_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_wlPush_c(); ~daAlinkHIO_wlPush_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x00 */ daAlinkHIO_wlPush_c1 m; +#endif }; class daAlinkHIO_wlLie_c1 { @@ -2743,13 +3055,17 @@ public: class daAlinkHIO_wlLie_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_wlLie_c(); ~daAlinkHIO_wlLie_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x00 */ daAlinkHIO_wlLie_c1 m; +#endif }; class daAlinkHIO_wlWallHang_c1 { @@ -2778,13 +3094,17 @@ public: class daAlinkHIO_wlWallHang_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_wlWallHang_c(); ~daAlinkHIO_wlWallHang_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x00 */ daAlinkHIO_wlWallHang_c1 m; +#endif }; class daAlinkHIO_wlDamNormal_c1 { @@ -2806,13 +3126,17 @@ public: class daAlinkHIO_wlDamNormal_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_wlDamNormal_c(); ~daAlinkHIO_wlDamNormal_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x00 */ daAlinkHIO_wlDamNormal_c1 m; +#endif }; class daAlinkHIO_wlDamLaHu_c1 { @@ -2842,13 +3166,17 @@ public: class daAlinkHIO_wlDamLaHu_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_wlDamLaHu_c(int); ~daAlinkHIO_wlDamLaHu_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x00 */ daAlinkHIO_wlDamLaHu_c1 m; +#endif }; class daAlinkHIO_wlDamCaught_c1 { @@ -2867,13 +3195,17 @@ public: class daAlinkHIO_wlDamCaught_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_wlDamCaught_c(); ~daAlinkHIO_wlDamCaught_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x00 */ daAlinkHIO_wlDamCaught_c1 m; +#endif }; class daAlinkHIO_wlDamFall_c1 { @@ -2896,13 +3228,17 @@ public: class daAlinkHIO_wlDamFall_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_wlDamFall_c(); ~daAlinkHIO_wlDamFall_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x00 */ daAlinkHIO_wlDamFall_c1 m; +#endif }; class daAlinkHIO_wlDamage_c1 { @@ -2915,20 +3251,29 @@ public: class daAlinkHIO_wlDamage_c0 { public: static daAlinkHIO_wlDamage_c1 const m; + static daAlinkHIO_wlDamNormal_c0 const mNormal; + static daAlinkHIO_wlDamLarge_c0 const mLarge; + static daAlinkHIO_wlDamHuge_c0 const mHuge; + static daAlinkHIO_wlDamFall_c0 const mFall; + static daAlinkHIO_wlDamCaught_c0 const mCapture; }; class daAlinkHIO_wlDamage_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_wlDamage_c(); ~daAlinkHIO_wlDamage_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x34 */ daAlinkHIO_wlDamage_c1 m; +#endif /* 0x00 */ daAlinkHIO_wlDamNormal_c mNormal; /* 0x00 */ daAlinkHIO_wlDamLaHu_c mLarge; - /* 0x00 */ daAlinkHIO_wlDamLaHu_c mStrongLarge; + /* 0x00 */ daAlinkHIO_wlDamLaHu_c mHuge; /* 0x00 */ daAlinkHIO_wlDamFall_c mFall; /* 0x00 */ daAlinkHIO_wlDamCaught_c mCapture; }; @@ -2960,13 +3305,17 @@ public: class daAlinkHIO_wlSlide_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_wlSlide_c(); ~daAlinkHIO_wlSlide_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x00 */ daAlinkHIO_wlSlide_c1 m; +#endif }; class daAlinkHIO_wlRope_c1 { @@ -2991,13 +3340,17 @@ public: class daAlinkHIO_wlRope_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_wlRope_c(); ~daAlinkHIO_wlRope_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x00 */ daAlinkHIO_wlRope_c1 m; +#endif }; class daAlinkHIO_wlAtWait_c1 { @@ -3033,12 +3386,14 @@ public: class daAlinkHIO_wlAtWait_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_wlAtWait_c(int, float); ~daAlinkHIO_wlAtWait_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: /* 0x34 */ f32 field_0x34; /* 0x38 */ daAlinkHIO_wlAtWait_c1 m; }; // Size: 0x74 @@ -3058,13 +3413,17 @@ public: class daAlinkHIO_wlAtRoll_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_wlAtRoll_c(); ~daAlinkHIO_wlAtRoll_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x34 */ daAlinkHIO_wlAtRoll_c1 m; +#endif }; // Size: 0x54 class daAlinkHIO_wlAtNjump_c1 { @@ -3089,13 +3448,17 @@ public: class daAlinkHIO_wlAtNjump_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_wlAtNjump_c(); ~daAlinkHIO_wlAtNjump_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x34 */ daAlinkHIO_wlAtNjump_c1 m; +#endif }; // Size: 0x70 class daAlinkHIO_wlAtCjump_c1 { @@ -3126,13 +3489,17 @@ public: class daAlinkHIO_wlAtCjump_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_wlAtCjump_c(); ~daAlinkHIO_wlAtCjump_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x34 */ daAlinkHIO_wlAtCjump_c1 m; +#endif }; // Size: 0x98 class daAlinkHIO_wlAtLand_c1 { @@ -3150,13 +3517,17 @@ public: class daAlinkHIO_wlAtLand_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_wlAtLand_c(); ~daAlinkHIO_wlAtLand_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x34 */ daAlinkHIO_wlAtLand_c1 m; +#endif }; // Size: 0x74 class daAlinkHIO_wlAtDown_c1 { @@ -3182,13 +3553,17 @@ public: class daAlinkHIO_wlAtDown_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_wlAtDown_c(); ~daAlinkHIO_wlAtDown_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x34 */ daAlinkHIO_wlAtDown_c1 m; +#endif }; // Size: 0xD0 class daAlinkHIO_wlAtLock_c1 { @@ -3215,13 +3590,17 @@ public: class daAlinkHIO_wlAtLock_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_wlAtLock_c(); ~daAlinkHIO_wlAtLock_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x34 */ daAlinkHIO_wlAtLock_c1 m; +#endif }; // Size: 0x88 class daAlinkHIO_wlAtBite_c1 { @@ -3251,13 +3630,17 @@ public: class daAlinkHIO_wlAtBite_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_wlAtBite_c(); ~daAlinkHIO_wlAtBite_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x34 */ daAlinkHIO_wlAtBite_c1 m; +#endif }; // Size: 0x90 class daAlinkHIO_wlAttack_c1 { @@ -3277,17 +3660,29 @@ public: class daAlinkHIO_wlAttack_c0 { public: - static daAlinkHIO_wlAttack_c1 const m; + static daAlinkHIO_wlAtWaLr_c0 const mHorizontalAttack; + static daAlinkHIO_wlAtWaSc_c0 const mScratchAttack; + static daAlinkHIO_wlAtWaTl_c0 const mTailAttack; + static daAlinkHIO_wlAtRoll_c0 const mAtRoll; + static daAlinkHIO_wlAtNjump_c0 const mWlAtNjump; + static daAlinkHIO_wlAtCjump_c0 const mWlAtCjump; + static daAlinkHIO_wlAtLand_c0 const mWlAtLand; + static daAlinkHIO_wlAtDown_c0 const mWlAtDown; + static daAlinkHIO_wlAtLock_c0 const mWlAtLock; + static daAlinkHIO_wlAtBite_c0 const mWlAtBite; + static daAlinkHIO_wlAttack_c1 const m; }; class daAlinkHIO_wlAttack_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_wlAttack_c(); ~daAlinkHIO_wlAttack_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: /* 0x034 */ daAlinkHIO_wlAtWait_c mHorizontalAttack; /* 0x0A8 */ daAlinkHIO_wlAtWait_c mScratchAttack; /* 0x11C */ daAlinkHIO_wlAtWait_c mTailAttack; @@ -3327,13 +3722,17 @@ public: class daAlinkHIO_wlPoint_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_wlPoint_c(); ~daAlinkHIO_wlPoint_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x00 */ daAlinkHIO_wlPoint_c1 m; +#endif }; class daAlinkHIO_wlChain_c1 { @@ -3359,13 +3758,17 @@ public: class daAlinkHIO_wlChain_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_wlChain_c(); ~daAlinkHIO_wlChain_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x00 */ daAlinkHIO_wlChain_c1 m; +#endif }; class daAlinkHIO_wlSwim_c1 { @@ -3412,13 +3815,17 @@ public: class daAlinkHIO_wlSwim_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_wlSwim_c(); ~daAlinkHIO_wlSwim_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x00 */ daAlinkHIO_wlSwim_c1 m; +#endif }; class daAlinkHIO_wlGrab_c1 { @@ -3437,13 +3844,17 @@ public: class daAlinkHIO_wlGrab_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_wlGrab_c(); ~daAlinkHIO_wlGrab_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x00 */ daAlinkHIO_wlGrab_c1 m; +#endif }; class daAlinkHIO_wlBall_c1 { @@ -3463,13 +3874,17 @@ public: class daAlinkHIO_wlBall_c : public daAlinkHIO_data_c { public: +#ifdef DEBUG daAlinkHIO_wlBall_c(); ~daAlinkHIO_wlBall_c(); virtual void genMessage(JORMContext*); +#endif -private: +public: +#ifdef DEBUG /* 0x00 */ daAlinkHIO_wlBall_c1 m; +#endif }; class daAlinkHIO_wolf_c1 { @@ -3489,24 +3904,42 @@ public: class daAlinkHIO_wolf_c0 { public: + static daAlinkHIO_wlMove_c0 const mWlMove; + static daAlinkHIO_wlMoveNoP_c0 const mWlMoveNoP; + static daAlinkHIO_wlAtnMove_c0 const mWlAtnMove; + static daAlinkHIO_wlSideStep_c0 const mWlSideStep; + static daAlinkHIO_wlBackJump_c0 const mWlBackJump; + static daAlinkHIO_wlHowl_c0 const mWlHowl; + static daAlinkHIO_wlAutoJump_c0 const mWlAutoJump; + static daAlinkHIO_wlPush_c0 const mWlPush; + static daAlinkHIO_wlLie_c0 const mWlLie; + static daAlinkHIO_wlLight_c0 const mLight; + static daAlinkHIO_wlWallHang_c0 const mWlWallHang; + static daAlinkHIO_wlDamage_c0 const mWlDamage; + static daAlinkHIO_wlSlide_c0 const mWlSlide; + static daAlinkHIO_wlRope_c0 const mWlRope; + static daAlinkHIO_wlAttack_c0 const mWlAttack; + static daAlinkHIO_wlPoint_c0 const mWlPoint; + static daAlinkHIO_wlChain_c0 const mWlChain; + static daAlinkHIO_wlSwim_c0 const mWlSwim; + static daAlinkHIO_wlGrab_c0 const mWlGrab; + static daAlinkHIO_wlBall_c0 const mWlBall; static daAlinkHIO_wolf_c1 const m; }; -class daAlinkHIO_wolf_c -#ifdef DEBUG - : public daAlinkHIO_data_c -#endif -{ +class daAlinkHIO_wolf_c : public daAlinkHIO_data_c { public: #ifdef DEBUG daAlinkHIO_wolf_c(); -#endif ~daAlinkHIO_wolf_c(); -#ifdef DEBUG virtual void genMessage(JORMContext*); +#else + ~daAlinkHIO_wolf_c(); +#endif -private: +public: +#ifdef DEBUG /* 0x34 */ daAlinkHIO_wlMove_c mWlMove; /* 0x00 */ daAlinkHIO_wlMoveNoP_c mWlMoveNoP; /* 0x00 */ daAlinkHIO_wlAtnMove_c mWlAtnMove; @@ -3547,35 +3980,64 @@ public: size_t makeFileOutData(char*, char*); void listenPropertyEvent(const JORPropertyEvent*); - daAlinkHIO_basic_c mBasic; - daAlinkHIO_move_c mMove; - daAlinkHIO_atnMove_c mAtnMove; - daAlinkHIO_noActAtnMove_c mNoActAtnMove; - daAlinkHIO_frontRoll_c mFrontRoll; - daAlinkHIO_backJump_c mBackJump; - daAlinkHIO_sideStep_c mSideStep; - daAlinkHIO_slide_c mSlide; - daAlinkHIO_cut_c mCut; - daAlinkHIO_guard_c mGuard; - daAlinkHIO_crouch_c mCrouch; - daAlinkHIO_autoJump_c mAutoJump; - daAlinkHIO_wallHang_c mWallHang; - daAlinkHIO_pushpull_c mPushpull; - daAlinkHIO_damage_c mDamage; - daAlinkHIO_horse_c mHorse; - daAlinkHIO_canoe_c mCanoe; - daAlinkHIO_item_c mItem; - daAlinkHIO_ladder_c mLadder; - daAlinkHIO_roofHang_c mRoofHang; - daAlinkHIO_grab_c mGrab; - daAlinkHIO_swim_c mSwim; - daAlinkHIO_wolf_c mWolf; + /* 0x0008 */ daAlinkHIO_basic_c mBasic; + /* 0x0094 */ daAlinkHIO_move_c mMove; + /* 0x0120 */ daAlinkHIO_atnMove_c mAtnMove; + /* 0x01A8 */ daAlinkHIO_noActAtnMove_c mNoActAtnMove; + /* 0x0230 */ daAlinkHIO_frontRoll_c mFrontRoll; + /* 0x02D4 */ daAlinkHIO_backJump_c mBackJump; + /* 0x0340 */ daAlinkHIO_sideStep_c mSideStep; + /* 0x03DC */ daAlinkHIO_slide_c mSlide; + /* 0x0488 */ daAlinkHIO_cut_c mCut; + /* 0x0FFC */ daAlinkHIO_guard_c mGuard; + /* 0x11C8 */ daAlinkHIO_crouch_c mCrouch; + /* 0x1248 */ daAlinkHIO_autoJump_c mAutoJump; + /* 0x1330 */ daAlinkHIO_wallHang_c mWallHang; + /* 0x1528 */ daAlinkHIO_pushpull_c mPushpull; + /* 0x1598 */ daAlinkHIO_damage_c mDamage; + /* 0x1A90 */ daAlinkHIO_horse_c mHorse; + /* 0x1B30 */ daAlinkHIO_canoe_c mCanoe; + /* 0x1BAC */ daAlinkHIO_item_c mItem; + /* 0x2420 */ daAlinkHIO_ladder_c mLadder; + /* 0x24C4 */ daAlinkHIO_roofHang_c mRoofHang; + /* 0x2544 */ daAlinkHIO_grab_c mGrab; + /* 0x265C */ daAlinkHIO_swim_c mSwim; + /* 0x278C */ daAlinkHIO_wolf_c mWolf; #else + // TODO: What's with these first few members on retail? + // The individual HIO members (e.g. mCut) have their class changed on retail compared to debug (_c -> _c0). + // But it seems like the debug _c members might also exist on retail based on the dtor. + // But they can't have the same name as they do on debug since those names are reserved for the _c0 version. /* 0x04 */ u8 field_0x4[0xC - 0x4]; - /* 0x0C */ daAlinkHIO_cut_c mCut; + /* 0x0C */ daAlinkHIO_cut_c mCut_2; /* 0x0D */ u8 field_0xD[0x4B - 0xD]; - /* 0x4B */ daAlinkHIO_wolf_c mWolf; - /* 0x4C */ u8 field_0x4C[0x6C - 0x4C]; + /* 0x4B */ daAlinkHIO_wolf_c mWolf_2; + + daAlinkHIO_basic_c0 mBasic; + daAlinkHIO_move_c0 mMove; + daAlinkHIO_atnMove_c0 mAtnMove; + daAlinkHIO_noActAtnMove_c0 mNoActAtnMove; + daAlinkHIO_frontRoll_c0 mFrontRoll; + daAlinkHIO_backJump_c0 mBackJump; + daAlinkHIO_sideStep_c0 mSideStep; + daAlinkHIO_slide_c0 mSlide; + daAlinkHIO_cut_c0 mCut; + daAlinkHIO_guard_c0 mGuard; + daAlinkHIO_crouch_c0 mCrouch; + daAlinkHIO_autoJump_c0 mAutoJump; + daAlinkHIO_wallHang_c0 mWallHang; + daAlinkHIO_pushpull_c0 mPushpull; + daAlinkHIO_damage_c0 mDamage; + daAlinkHIO_horse_c0 mHorse; + daAlinkHIO_canoe_c0 mCanoe; + daAlinkHIO_item_c0 mItem; + daAlinkHIO_ladder_c0 mLadder; + daAlinkHIO_roofHang_c0 mRoofHang; + daAlinkHIO_grab_c0 mGrab; + daAlinkHIO_swim_c0 mSwim; + daAlinkHIO_wolf_c0 mWolf; + + u8 padding[0x6C - 0x64]; #endif }; diff --git a/include/d/actor/d_a_hozelda.h b/include/d/actor/d_a_hozelda.h index 7ed33de864..0c640e779c 100644 --- a/include/d/actor/d_a_hozelda.h +++ b/include/d/actor/d_a_hozelda.h @@ -48,6 +48,8 @@ struct daHoZelda_hio_c1 { }; struct daHoZelda_hio_c0 { + daHoZelda_hio_c0() {} + static daHoZelda_hio_c1 const m; }; @@ -55,7 +57,7 @@ class daHoZelda_hio_c : public JORReflexible { public: daHoZelda_hio_c() { #if DEBUG - mParameters = daHoZelda_hio_c0::m; + m = daHoZelda_hio_c0::m; #endif } @@ -64,10 +66,16 @@ public: #if DEBUG void genMessage(JORMContext*); virtual ~daHoZelda_hio_c() {} - /* 0x8 */ daHoZelda_hio_c1 mParameters; + /* 0x8 */ daHoZelda_hio_c1 m; #endif }; +#if DEBUG +#define HOZELDA_HIO_CLASS daHoZelda_hio_c +#else +#define HOZELDA_HIO_CLASS daHoZelda_hio_c0 +#endif + /** * @ingroup actors-unsorted * @class daHoZelda_c @@ -125,7 +133,7 @@ public: /* 0x6A8 */ mDoExt_bckAnm mBowBck; /* 0x6C4 */ daPy_actorKeep_c mArrowAcKeep; /* 0x6CC */ daPy_actorKeep_c mGndAcKeep; - /* 0x6D4 */ daHoZelda_hio_c* mpHIO; + /* 0x6D4 */ HOZELDA_HIO_CLASS* mpHIO; /* 0x6D8 */ u8 mBowMode; /* 0x6D9 */ u8 mAnmTimer; /* 0x6DA */ u8 field_0x6da; diff --git a/include/d/actor/d_a_npc_ykw.h b/include/d/actor/d_a_npc_ykw.h index 6e6f15c8d2..cc53c2a0dc 100644 --- a/include/d/actor/d_a_npc_ykw.h +++ b/include/d/actor/d_a_npc_ykw.h @@ -4,6 +4,13 @@ #include "d/actor/d_a_npc.h" class daNpc_ykW_HIO_c; +class daNpc_ykW_Param_c; + +#if DEBUG +#define NPC_YKW_HIO_CLASS daNpc_ykW_HIO_c +#else +#define NPC_YKW_HIO_CLASS daNpc_ykW_Param_c +#endif /** * @ingroup actors-npcs @@ -139,7 +146,7 @@ public: field_0x101c = 10; } - /* 0x0E40 */ daNpc_ykW_HIO_c* mpHIO; + /* 0x0E40 */ NPC_YKW_HIO_CLASS* mpHIO; /* 0x0E44 */ dCcD_Cyl mCyl; /* 0x0F80 */ u8 field_0xf80; /* 0x0F84 */ daNpcT_ActorMngr_c mActorMngrs[5]; diff --git a/src/d/actor/d_a_alink.cpp b/src/d/actor/d_a_alink.cpp index 0b5e6371bd..ec533cb3bf 100644 --- a/src/d/actor/d_a_alink.cpp +++ b/src/d/actor/d_a_alink.cpp @@ -1684,8 +1684,40 @@ static dJntColData_c l_wolfJntColData[] = { daAlinkHIO_c::daAlinkHIO_c() {} +// TODO: these dtors are probably supposed to be weak functions from the header + daAlinkHIO_wolf_c::~daAlinkHIO_wolf_c() {} +#ifdef DEBUG +daAlinkHIO_swim_c::~daAlinkHIO_swim_c() {} + +daAlinkHIO_grab_c::~daAlinkHIO_grab_c() {} + +daAlinkHIO_roofHang_c::~daAlinkHIO_roofHang_c() {} + +daAlinkHIO_ladder_c::~daAlinkHIO_ladder_c() {} + +daAlinkHIO_item_c::~daAlinkHIO_item_c() {} + +daAlinkHIO_canoe_c::~daAlinkHIO_canoe_c() {} + +daAlinkHIO_horse_c::~daAlinkHIO_horse_c() {} + +daAlinkHIO_damage_c::~daAlinkHIO_damage_c() {} + +daAlinkHIO_pushpull_c::~daAlinkHIO_pushpull_c() {} + +daAlinkHIO_wallHang_c::~daAlinkHIO_wallHang_c() {} + +daAlinkHIO_autoJump_c::~daAlinkHIO_autoJump_c() {} + +daAlinkHIO_crouch_c::~daAlinkHIO_crouch_c() {} + +daAlinkHIO_guard_c::~daAlinkHIO_guard_c() {} + +daAlinkHIO_atnMove_c::~daAlinkHIO_atnMove_c() {} +#endif + daAlinkHIO_cut_c::~daAlinkHIO_cut_c() {} daAlinkHIO_c::~daAlinkHIO_c() {} @@ -2565,7 +2597,7 @@ bool daAlink_c::checkAttentionPosAngle(cXyz* param_0) { int tmp; if (checkModeFlg(MODE_RIDING) || checkEndResetFlg0(ERFLG0_UNK_400)) { - tmp = daAlinkHIO_horse_c0::m.mSearchRangeAngle; + tmp = mpHIO->mHorse.m.mSearchRangeAngle; } else { tmp = 0x6000; } @@ -2810,7 +2842,6 @@ cXyz* daAlink_c::getNeckAimPos(cXyz* param_0, int* param_1, int param_2) { return NULL; } -// NONMATCHING - regalloc / one clib_minMaxLimit instance with issues s16 daAlink_c::getNeckAimAngle(cXyz* param_0, s16* param_1, s16* param_2, s16* param_3, s16* param_4) { s16 sp1A; @@ -2850,32 +2881,32 @@ s16 daAlink_c::getNeckAimAngle(cXyz* param_0, s16* param_1, s16* param_2, s16* p if (checkWolf()) { if (mProcID == PROC_WOLF_TIRED_WAIT) { - temp_r24 = cLib_minMaxLimit((s16)temp_r24, daAlinkHIO_wolf_c0::m.mMaxTiredNeckTurnUp, daAlinkHIO_wolf_c0::m.mMaxTiredNeckTurnDown); - var_r28 = cLib_minMaxLimit((s16)var_r28, -daAlinkHIO_wolf_c0::m.mMaxTiredNeckTurnH, daAlinkHIO_wolf_c0::m.mMaxTiredNeckTurnH); + temp_r24 = cLib_minMaxLimit((s16)temp_r24, mpHIO->mWolf.m.mMaxTiredNeckTurnUp, mpHIO->mWolf.m.mMaxTiredNeckTurnDown); + var_r28 = cLib_minMaxLimit((s16)var_r28, -mpHIO->mWolf.m.mMaxTiredNeckTurnH, mpHIO->mWolf.m.mMaxTiredNeckTurnH); } else { - temp_r24 = cLib_minMaxLimit((s16)temp_r24, daAlinkHIO_wolf_c0::m.mMaxNeckTurnUp, daAlinkHIO_wolf_c0::m.mMaxNeckTurnDown); - var_r28 = cLib_minMaxLimit((s16)var_r28, -daAlinkHIO_wolf_c0::m.mMaxNeckTurnH, daAlinkHIO_wolf_c0::m.mMaxNeckTurnH); + temp_r24 = cLib_minMaxLimit((s16)temp_r24, mpHIO->mWolf.m.mMaxNeckTurnUp, mpHIO->mWolf.m.mMaxNeckTurnDown); + var_r28 = cLib_minMaxLimit((s16)var_r28, -mpHIO->mWolf.m.mMaxNeckTurnH, mpHIO->mWolf.m.mMaxNeckTurnH); } } else { - temp_r24 = cLib_minMaxLimit((s16)temp_r24, daAlinkHIO_basic_c0::m.mHeadMaxTurnUp, daAlinkHIO_basic_c0::m.mHeadMaxTurnDown); + temp_r24 = cLib_minMaxLimit((s16)temp_r24, mpHIO->mBasic.m.mHeadMaxTurnUp, mpHIO->mBasic.m.mHeadMaxTurnDown); s16 spC; s16 spA; if (dComIfGp_checkPlayerStatus1(0, 0x02000000)) { if (field_0x3020 == 1) { spC = -0x1000; - spA = daAlinkHIO_basic_c0::m.mHeadMaxTurnHorizontal; + spA = mpHIO->mBasic.m.mHeadMaxTurnHorizontal; } else { - spC = -daAlinkHIO_basic_c0::m.mHeadMaxTurnHorizontal; + spC = -mpHIO->mBasic.m.mHeadMaxTurnHorizontal; spA = 0x1000; } } else { if (checkGrabAnimeCarry()) { spC = 0; } else { - spC = -daAlinkHIO_basic_c0::m.mHeadMaxTurnHorizontal; + spC = -mpHIO->mBasic.m.mHeadMaxTurnHorizontal; } - spA = daAlinkHIO_basic_c0::m.mHeadMaxTurnHorizontal; + spA = mpHIO->mBasic.m.mHeadMaxTurnHorizontal; } var_r28 = cLib_minMaxLimit((s16)var_r28, spC, spA); @@ -3136,7 +3167,7 @@ void daAlink_c::setMoveSlantAngle() { s16 var_r29; s16 var_r28; - if ((mProcID == PROC_MOVE && temp_f31 > daAlinkHIO_move_c0::m.mRunChangeRate) || (mProcID == PROC_WOLF_MOVE && temp_f31 > daAlinkHIO_wlMove_c0::m.mIdleToWalkRate)) { + if ((mProcID == PROC_MOVE && temp_f31 > mpHIO->mMove.m.mRunChangeRate) || (mProcID == PROC_WOLF_MOVE && temp_f31 > mpHIO->mWolf.mWlMove.m.mIdleToWalkRate)) { var_r28 = cLib_minMaxLimit((s16)(field_0x2fe6 - shape_angle.y) * 2, -0xC00, 0xC00); if (abs(var_r28) > 0x800) { int var_r27; @@ -3151,7 +3182,7 @@ void daAlink_c::setMoveSlantAngle() { var_r29 = 0; } - if ((mProcID == PROC_WOLF_MOVE && checkAttentionState()) || temp_f31 < daAlinkHIO_wlMove_c0::m.mStandbyRunToRunRate) { + if ((mProcID == PROC_WOLF_MOVE && checkAttentionState()) || temp_f31 < mpHIO->mWolf.mWlMove.m.mStandbyRunToRunRate) { var_r28 = 0; } } else if ((mProcID == PROC_WOLF_WAIT || mProcID == PROC_WOLF_SWIM_MOVE) && shape_angle.y != field_0x2fe6) { @@ -4255,7 +4286,7 @@ void daAlink_c::playerInit() { field_0x28f8 = -1; field_0x28fc = -1; - field_0x2e54.init(&mLinkAcch, daAlinkHIO_basic_c0::m.mWaterSurfaceEffectHeight, field_0x598); + field_0x2e54.init(&mLinkAcch, mpHIO->mBasic.m.mWaterSurfaceEffectHeight, field_0x598); field_0x3108 = shape_angle.y; field_0x2f20.setOldPosP(&field_0x3624, &field_0x3630); @@ -4402,9 +4433,9 @@ int daAlink_c::setStartProcInit() { } else if (checkSwimAction(1)) { if (start_mode == 1) { if (checkWolf()) { - mNormalSpeed = 0.5f * daAlinkHIO_wlSwim_c0::m.mMaxSpeed; + mNormalSpeed = 0.5f * mpHIO->mWolf.mWlSwim.m.mMaxSpeed; } else { - mNormalSpeed = 0.5f * daAlinkHIO_swim_c0::m.mForwardMaxSpeed; + mNormalSpeed = 0.5f * mpHIO->mSwim.m.mForwardMaxSpeed; } } @@ -4412,7 +4443,7 @@ int daAlink_c::setStartProcInit() { if (checkWolf()) { procWolfSwimMoveInit(); - } else if (mNormalSpeed < daAlinkHIO_swim_c0::m.mForwardMinSpeed) { + } else if (mNormalSpeed < mpHIO->mSwim.m.mForwardMinSpeed) { procSwimWaitInit(0); } else { procSwimMoveInit(); @@ -4421,11 +4452,11 @@ int daAlink_c::setStartProcInit() { field_0x2f99 = 0; } else if (start_mode == 1) { if (checkWolf()) { - mNormalSpeed = daAlinkHIO_wlMove_c0::m.mIdleToWalkRate * daAlinkHIO_wlMove_c0::m.mMaxSpeed; + mNormalSpeed = mpHIO->mWolf.mWlMove.m.mIdleToWalkRate * mpHIO->mWolf.mWlMove.m.mMaxSpeed; speedF = mNormalSpeed; procWolfMoveInit(); } else { - mNormalSpeed = daAlinkHIO_move_c0::m.mWalkChangeRate * daAlinkHIO_move_c0::m.mMaxSpeed; + mNormalSpeed = mpHIO->mMove.m.mWalkChangeRate * mpHIO->mMove.m.mMaxSpeed; speedF = mNormalSpeed; procMoveInit(); } @@ -4447,14 +4478,14 @@ int daAlink_c::setStartProcInit() { procCrawlMoveInit(0, 0); } } else if (checkWolf()) { - if (mNormalSpeed > daAlinkHIO_wlMove_c0::m.mMaxSpeed) { - mNormalSpeed = daAlinkHIO_wlMove_c0::m.mMaxSpeed; + if (mNormalSpeed > mpHIO->mWolf.mWlMove.m.mMaxSpeed) { + mNormalSpeed = mpHIO->mWolf.mWlMove.m.mMaxSpeed; } speedF = mNormalSpeed; procWolfMoveInit(); } else { - if (mNormalSpeed > daAlinkHIO_move_c0::m.mMaxSpeed) { - mNormalSpeed = daAlinkHIO_move_c0::m.mMaxSpeed; + if (mNormalSpeed > mpHIO->mMove.m.mMaxSpeed) { + mNormalSpeed = mpHIO->mMove.m.mMaxSpeed; } speedF = mNormalSpeed; procMoveInit(); @@ -4902,7 +4933,7 @@ void daAlink_c::setPolygonSpeed() { } else if (!checkModeFlg(0x40000)) { onNoResetFlg3(FLG3_UNK_1000); - var_f31 = fabsf(mNormalSpeed / daAlinkHIO_move_c0::m.mMaxSpeed); + var_f31 = fabsf(mNormalSpeed / mpHIO->mMove.m.mMaxSpeed); if (var_f31 > 1.0f) { var_f31 = 1.0f; } @@ -4945,14 +4976,14 @@ void daAlink_c::setPolygonSpeed() { f32 var_f29; if (temp_f27 < sp3C - 29.9f) { if (checkWolf()) { - var_f29 = daAlinkHIO_wlMoveNoP_c0::m.mMaxSpeed; + var_f29 = mpHIO->mWolf.mWlMoveNoP.m.mMaxSpeed; } else { - var_f29 = daAlinkHIO_move_c0::m.mMaxSpeed; + var_f29 = mpHIO->mMove.m.mMaxSpeed; } } else if (checkWolf()) { - var_f29 = daAlinkHIO_wlSlide_c0::m.mClimbingMaxSpeedWeak; + var_f29 = mpHIO->mWolf.mWlSlide.m.mClimbingMaxSpeedWeak; } else { - var_f29 = daAlinkHIO_slide_c0::m.mMaxClimbSpeed; + var_f29 = mpHIO->mSlide.m.mMaxClimbSpeed; } f32 var_f28 = 0.016887419f * (temp_f27 * temp_f26); @@ -4990,11 +5021,11 @@ bool daAlink_c::checkDashAnime() const { f32 daAlink_c::checkWindWallRate(cXyz const& param_0) { cXyz sp24(current.pos.x, current.pos.y + (0.5f * field_0x598), current.pos.z); - cXyz sp18 = sp24 - (param_0 * daAlinkHIO_basic_c0::m.mMaxWindInfluenceDist); + cXyz sp18 = sp24 - (param_0 * mpHIO->mBasic.m.mMaxWindInfluenceDist); f32 var_f31; if (commonLineCheck(&sp24, &sp18) && dComIfG_Bgsp().GetWallCode(mLinkLinChk) != 0xA) { - var_f31 = (1.0f / (daAlinkHIO_basic_c0::m.mMaxWindInfluenceDist - daAlinkHIO_basic_c0::m.mNoWindInfluenceDist)) * (sp24.abs(mLinkLinChk.GetCross()) - daAlinkHIO_basic_c0::m.mNoWindInfluenceDist); + var_f31 = (1.0f / (mpHIO->mBasic.m.mMaxWindInfluenceDist - mpHIO->mBasic.m.mNoWindInfluenceDist)) * (sp24.abs(mLinkLinChk.GetCross()) - mpHIO->mBasic.m.mNoWindInfluenceDist); if (var_f31 < 0.0f) { var_f31 = 0.0f; } @@ -5056,7 +5087,7 @@ void daAlink_c::setWindSpeed() { sp8 *= checkWindWallRate(sp3C); } - sp8 *= daAlinkHIO_basic_c0::m.mMaxWindSpeed; + sp8 *= mpHIO->mBasic.m.mMaxWindSpeed; sp3C *= sp8; if (mWindSpeed.abs2() > sp8 * sp8) { @@ -5680,9 +5711,9 @@ void daAlink_c::setSwordAtCollision(int param_0) { } if (mProcID == PROC_CUT_FINISH_JUMP_UP) { - sp74.set(current.pos.x + daAlinkHIO_cutFnJU_c0::m.mAttackOffset * cM_ssin(shape_angle.y), + sp74.set(current.pos.x + mpHIO->mCut.mCutFinishJumpUppercut.m.mAttackOffset * cM_ssin(shape_angle.y), field_0x3478, - current.pos.z + daAlinkHIO_cutFnJU_c0::m.mAttackOffset * cM_scos(shape_angle.y)); + current.pos.z + mpHIO->mCut.mCutFinishJumpUppercut.m.mAttackOffset * cM_scos(shape_angle.y)); f32 height = mSwordTopPos.y - field_0x3478; if (height < 10.0f) { @@ -5905,7 +5936,7 @@ void daAlink_c::setAtCollision() { mDoMtx_stack_c::multVecSR(&cXyz::BaseZ, &spA4); - spBC = current.pos + (spA4 * daAlinkHIO_guard_c0::m.mAttackPosOffset); + spBC = current.pos + (spA4 * mpHIO->mGuard.m.mAttackPosOffset); mDoMtx_stack_c::multVecSR(&cXyz::BaseY, &spC8); spB0 = spBC + (spC8 * 130.0f); @@ -5920,7 +5951,7 @@ void daAlink_c::setAtCollision() { mGuardAtCps.ResetAtHit(); } } else if (mProcID == PROC_FRONT_ROLL) { - if (checkEquipHeavyBoots() && temp_r29->getFrame() >= daAlinkHIO_frontRoll_c0::m.mBootsAttackInitF && temp_r29->getFrame() < daAlinkHIO_frontRoll_c0::m.mBootsAttackEndF) { + if (checkEquipHeavyBoots() && temp_r29->getFrame() >= mpHIO->mFrontRoll.m.mBootsAttackInitF && temp_r29->getFrame() < mpHIO->mFrontRoll.m.mBootsAttackEndF) { cXyz sp98 = (mLeftFootPos + mRightFootPos) * 0.5f; field_0xFB8.SetC(sp98); sp98.set(mNormalSpeed * cM_ssin(shape_angle.y), 0.0f, mNormalSpeed * cM_scos(shape_angle.y)); @@ -5935,11 +5966,11 @@ void daAlink_c::setAtCollision() { f32 var_f30; f32 var_f29; if (checkLv7BossRoom()) { - var_f29 = daAlinkHIO_hookshot_c0::m.mBossShootSpeed; - var_f30 = daAlinkHIO_hookshot_c0::m.mBossMaxLength; + var_f29 = mpHIO->mItem.mHookshot.m.mBossShootSpeed; + var_f30 = mpHIO->mItem.mHookshot.m.mBossMaxLength; } else { - var_f29 = daAlinkHIO_hookshot_c0::m.mShootSpeed; - var_f30 = daAlinkHIO_hookshot_c0::m.mMaxLength; + var_f29 = mpHIO->mItem.mHookshot.m.mShootSpeed; + var_f30 = mpHIO->mItem.mHookshot.m.mMaxLength; } f32 var_f31; @@ -6026,10 +6057,10 @@ void daAlink_c::setAtCollision() { } if (checkCutDashAnime()) { - m_swordBlur.field_0x20 = daAlinkHIO_cut_c0::m.mDashBlurAlpha; + m_swordBlur.field_0x20 = mpHIO->mCut.m.mDashBlurAlpha; spC8.set(current.pos.x + (50.0f * cM_ssin(shape_angle.y)), 20.0f + current.pos.y, current.pos.z + (50.0f * cM_scos(shape_angle.y))); } else { - m_swordBlur.field_0x20 = daAlinkHIO_cut_c0::m.mBlurAlpha; + m_swordBlur.field_0x20 = mpHIO->mCut.m.mBlurAlpha; spC8.set(current.pos.x + (50.0f * cM_ssin(shape_angle.y)), field_0x3478, current.pos.z + (50.0f * cM_scos(shape_angle.y))); } @@ -6378,9 +6409,9 @@ void daAlink_c::setFrameCtrl(daPy_frameCtrl_c* i_ctrl, u8 i_attr, s16 i_start, s f32 i_rate, f32 i_frame) { if (checkNoResetFlg0(FLG0_UNDERWATER)) { if (checkZoraWearAbility()) { - i_rate *= daAlinkHIO_magneBoots_c0::m.mZoraWaterAnmSpeed; + i_rate *= mpHIO->mItem.mIronBoots.m.mZoraWaterAnmSpeed; } else { - i_rate *= daAlinkHIO_magneBoots_c0::m.mWaterStartWalkAnmRate; + i_rate *= mpHIO->mItem.mIronBoots.m.mWaterStartWalkAnmRate; } } @@ -6558,26 +6589,26 @@ int daAlink_c::setDoubleAnime(f32 i_blendRate, f32 i_anmSpeedA, f32 i_anmSpeedB, if ((temp_r3 | temp_r0) != 0 && i_morf < 0.0f) { if (i_anmA == ANM_WAIT_B && checkModeFlg(1)) { - i_morf = daAlinkHIO_move_c0::m.mWaitBInterpolation; + i_morf = mpHIO->mMove.m.mWaitBInterpolation; } else { - i_morf = daAlinkHIO_basic_c0::m.mBasicInterpolation; + i_morf = mpHIO->mBasic.m.mBasicInterpolation; } if (checkNoResetFlg0(FLG0_UNDERWATER)) { if (checkZoraWearAbility()) { - i_morf *= (1.0f / daAlinkHIO_magneBoots_c0::m.mZoraWaterAnmSpeed); + i_morf *= (1.0f / mpHIO->mItem.mIronBoots.m.mZoraWaterAnmSpeed); } else { - i_morf *= (1.0f / daAlinkHIO_magneBoots_c0::m.mWaterWalkAnmRate); + i_morf *= (1.0f / mpHIO->mItem.mIronBoots.m.mWaterWalkAnmRate); } } } else if (i_anmA == ANM_WAIT_B && checkModeFlg(1) && i_morf > 0.0f) { - i_morf = daAlinkHIO_move_c0::m.mWaitBInterpolation; + i_morf = mpHIO->mMove.m.mWaitBInterpolation; if (checkNoResetFlg0(FLG0_UNDERWATER)) { if (checkZoraWearAbility()) { - i_morf *= (1.0f / daAlinkHIO_magneBoots_c0::m.mZoraWaterAnmSpeed); + i_morf *= (1.0f / mpHIO->mItem.mIronBoots.m.mZoraWaterAnmSpeed); } else { - i_morf *= (1.0f / daAlinkHIO_magneBoots_c0::m.mWaterWalkAnmRate); + i_morf *= (1.0f / mpHIO->mItem.mIronBoots.m.mWaterWalkAnmRate); } } } @@ -6596,7 +6627,7 @@ int daAlink_c::setDoubleAnime(f32 i_blendRate, f32 i_anmSpeedA, f32 i_anmSpeedB, checkUnderMove0BckNoArc(ANM_HORSE_WALK_B))) { if (checkNoUpperAnime()) { - setUpperAnimeBaseMorf(0x263, daAlinkHIO_horse_c0::m.mTiredWaitInterpolation); + setUpperAnimeBaseMorf(0x263, mpHIO->mHorse.m.mTiredWaitInterpolation); } setFaceBasicAnime(ANM_WAIT_TIRED); @@ -6642,9 +6673,9 @@ void daAlink_c::commonSingleAnime(J3DAnmTransform* param_0, J3DAnmTransform* par if (checkNoResetFlg0(FLG0_UNDERWATER) && checkModeFlg(0x200)) { if (checkZoraWearAbility() && mProcID != PROC_FRONT_ROLL && mEquipItem == 0x103) { - param_2 *= daAlinkHIO_magneBoots_c0::m.mWaterVelRateSword * (1.0f / daAlinkHIO_magneBoots_c0::m.mZoraWaterAnmSpeed); + param_2 *= mpHIO->mItem.mIronBoots.m.mWaterVelRateSword * (1.0f / mpHIO->mItem.mIronBoots.m.mZoraWaterAnmSpeed); } else if (!checkZoraWearAbility()) { - param_2 *= daAlinkHIO_magneBoots_c0::m.mWaterWalkAnmRate * (1.0f / daAlinkHIO_magneBoots_c0::m.mWaterStartWalkAnmRate); + param_2 *= mpHIO->mItem.mIronBoots.m.mWaterWalkAnmRate * (1.0f / mpHIO->mItem.mIronBoots.m.mWaterStartWalkAnmRate); } } @@ -6844,7 +6875,7 @@ int daAlink_c::setUpperAnime(u16 i_anmResID, daAlink_c::daAlink_UPPER param_1, f } if (!checkZoraWearAbility() && (checkEquipAnime() || checkCutDashAnime()) && (checkNoResetFlg0(FLG0_UNDERWATER) || !checkNoResetFlg0(FLG0_SWIM_UP))) { - i_speed *= daAlinkHIO_magneBoots_c0::m.mWaterWalkAnmRate * (1.0f / daAlinkHIO_magneBoots_c0::m.mWaterStartWalkAnmRate); + i_speed *= mpHIO->mItem.mIronBoots.m.mWaterWalkAnmRate * (1.0f / mpHIO->mItem.mIronBoots.m.mWaterStartWalkAnmRate); } setFrameCtrl(&mUpperFrameCtrl[param_1], var_r30->getAttribute(), i_startFrame, i_endFrame, i_speed, var_f31); @@ -7026,7 +7057,7 @@ void daAlink_c::setBlendMoveAnime(f32 param_0) { f32 var_f31 = getMoveGroundAngleSpeedRate(); f32 sp2C; - f32 sp28 = daAlinkHIO_move_c0::m.mFootPositionRatio; + f32 sp28 = mpHIO->mMove.m.mFootPositionRatio; BOOL sp24 = checkEventRun(); BOOL sp20 = checkBootsMoveAnime(1); @@ -7036,8 +7067,8 @@ void daAlink_c::setBlendMoveAnime(f32 param_0) { var_f29 = 1.0f; sp2C = 1.0f; } else { - var_f29 = daAlinkHIO_move_c0::m.mWalkAnmSpeed; - sp2C = daAlinkHIO_move_c0::m.mRunAnmSpeed; + var_f29 = mpHIO->mMove.m.mWalkAnmSpeed; + sp2C = mpHIO->mMove.m.mRunAnmSpeed; } if (field_0x2fb3 != 0) { @@ -7077,37 +7108,37 @@ void daAlink_c::setBlendMoveAnime(f32 param_0) { if (sp20) { if (checkBootsMoveAnime(0)) { var_r28 = ANM_WALK_HEAVY; - sp28 = daAlinkHIO_magneBoots_c0::m.mFeetPositionRatio; + sp28 = mpHIO->mItem.mIronBoots.m.mFeetPositionRatio; var_f31 *= 1.0f / (mHeavySpeedMultiplier * mHeavySpeedMultiplier); f32 sp14; if (checkHeavyStateOn(1, 0) && mSinkShapeOffset < -30.0f) { - sp14 = 0.5f * daAlinkHIO_magneBoots_c0::m.mWalkAnmSpeedMax; + sp14 = 0.5f * mpHIO->mItem.mIronBoots.m.mWalkAnmSpeedMax; } else { - sp14 = daAlinkHIO_magneBoots_c0::m.mWalkAnmSpeedMax; + sp14 = mpHIO->mItem.mIronBoots.m.mWalkAnmSpeedMax; } - var_f29 = daAlinkHIO_magneBoots_c0::m.mWalkAnmSpeedMin + (var_f31 * (sp14 - daAlinkHIO_magneBoots_c0::m.mWalkAnmSpeedMin)); + var_f29 = mpHIO->mItem.mIronBoots.m.mWalkAnmSpeedMin + (var_f31 * (sp14 - mpHIO->mItem.mIronBoots.m.mWalkAnmSpeedMin)); var_f27 = 0.0f; var_f26 = 23.0f; } else { var_r29 = ANM_IRONBALL_WAIT; var_r28 = ANM_IRONBALL_WALK; - sp28 = daAlinkHIO_ironBall_c0::m.mFeetPosRatio; + sp28 = mpHIO->mItem.mIronBall.m.mFeetPosRatio; var_f31 = var_f31 * (1.0f / (mHeavySpeedMultiplier * mHeavySpeedMultiplier)); - var_f29 = daAlinkHIO_ironBall_c0::m.mWalkAnmSpeedMin + (var_f31 * (daAlinkHIO_ironBall_c0::m.mWalkAnmSpeedMax - daAlinkHIO_ironBall_c0::m.mWalkAnmSpeedMin)); + var_f29 = mpHIO->mItem.mIronBall.m.mWalkAnmSpeedMin + (var_f31 * (mpHIO->mItem.mIronBall.m.mWalkAnmSpeedMax - mpHIO->mItem.mIronBall.m.mWalkAnmSpeedMin)); var_f27 = 18.0f; var_f26 = 3.0f; } - var_f31 = var_f31 * daAlinkHIO_move_c0::m.mWalkChangeRate; - if (var_f31 >= daAlinkHIO_move_c0::m.mWalkChangeRate) { - var_f31 = daAlinkHIO_move_c0::m.mWalkChangeRate - 0.001f; + var_f31 = var_f31 * mpHIO->mMove.m.mWalkChangeRate; + if (var_f31 >= mpHIO->mMove.m.mWalkChangeRate) { + var_f31 = mpHIO->mMove.m.mWalkChangeRate - 0.001f; } } else if (checkSlope()) { var_r28 = ANM_WALK_SLOPE; sp18 = ANM_WALK_SLOPE; - var_f29 = daAlinkHIO_slide_c0::m.mClimbAnmMinSpeed + (var_f31 * (daAlinkHIO_slide_c0::m.mMaxClimbAnmSpeed - daAlinkHIO_slide_c0::m.mClimbAnmMinSpeed)); + var_f29 = mpHIO->mSlide.m.mClimbAnmMinSpeed + (var_f31 * (mpHIO->mSlide.m.mMaxClimbAnmSpeed - mpHIO->mSlide.m.mClimbAnmMinSpeed)); sp2C = var_f29; } @@ -7115,8 +7146,8 @@ void daAlink_c::setBlendMoveAnime(f32 param_0) { f32 var_f28; f32 var_f30; - if (var_f31 < daAlinkHIO_move_c0::m.mWalkChangeRate) { - var_f28 = var_f31 / daAlinkHIO_move_c0::m.mWalkChangeRate; + if (var_f31 < mpHIO->mMove.m.mWalkChangeRate) { + var_f28 = var_f31 / mpHIO->mMove.m.mWalkChangeRate; if (checkModeFlg(1) || checkZeroSpeedF()) { mSpeedModifier = 0.0f; @@ -7139,15 +7170,15 @@ void daAlink_c::setBlendMoveAnime(f32 param_0) { } if (mTargetedActor != NULL) { - var_f30 = daAlinkHIO_atnMove_c0::m.mWaitAnmSpeed; - var_f29 = daAlinkHIO_atnMove_c0::m.mWalkAnmSpeed; + var_f30 = mpHIO->mAtnMove.m.mWaitAnmSpeed; + var_f29 = mpHIO->mAtnMove.m.mWalkAnmSpeed; } else { - var_f30 = daAlinkHIO_noActAtnMove_c0::m.mWaitAnmSpeed; - var_f29 = daAlinkHIO_noActAtnMove_c0::m.mWalkAnmSpeed; + var_f30 = mpHIO->mNoActAtnMove.m.mWaitAnmSpeed; + var_f29 = mpHIO->mNoActAtnMove.m.mWalkAnmSpeed; } if (var_r29 == ANM_IRONBALL_WAIT) { - var_f30 = daAlinkHIO_ironBall_c0::m.mWaitAnmSpeed; + var_f30 = mpHIO->mItem.mIronBall.m.mWaitAnmSpeed; } setDoubleAnime(0.0f, var_f30, var_f29, var_r29, var_r28, 2, param_0); @@ -7177,7 +7208,7 @@ void daAlink_c::setBlendMoveAnime(f32 param_0) { var_r28 = ANM_SMALL_GUARD; } - var_f30 = daAlinkHIO_move_c0::m.mWaitAnmSpeed; + var_f30 = mpHIO->mMove.m.mWaitAnmSpeed; } if (sp8 > 0) { @@ -7188,7 +7219,7 @@ void daAlink_c::setBlendMoveAnime(f32 param_0) { var_f27 = 19.0f; } - var_f29 = daAlinkHIO_basic_c0::m.mRotationASpeed; + var_f29 = mpHIO->mBasic.m.mRotationASpeed; var_f28 = 0.85f + (0.001f * abs(sp8)); if (var_f28 > 1.0f) { var_f28 = 1.0f; @@ -7202,7 +7233,7 @@ void daAlink_c::setBlendMoveAnime(f32 param_0) { voiceStartLevel(Z2SE_AL_V_INSECT_LOOP); var_f30 = 1.0f; } else { - var_f30 = daAlinkHIO_move_c0::m.mWaitAnmSpeed; + var_f30 = mpHIO->mMove.m.mWaitAnmSpeed; if (var_r29 == ANM_WAIT_TIRED) { if (checkUnderMove1BckNoArc(ANM_STEP_TURN)) { var_r28 = ANM_STEP_TURN_TIRED; @@ -7216,19 +7247,19 @@ void daAlink_c::setBlendMoveAnime(f32 param_0) { } else { f32 spC; if (var_r29 == ANM_WAIT_TIRED) { - spC = daAlinkHIO_move_c0::m.mMinTiredWalkRate; + spC = mpHIO->mMove.m.mMinTiredWalkRate; } else { - spC = daAlinkHIO_move_c0::m.mMinWalkRate; + spC = mpHIO->mMove.m.mMinWalkRate; } var_f28 = spC + (var_f28 * (1.0f - spC)); mSpeedModifier = 1.0f - ((1.0f - sp28) * var_f28); sp10 = 1; - var_f30 = daAlinkHIO_move_c0::m.mWaitAnmSpeed; + var_f30 = mpHIO->mMove.m.mWaitAnmSpeed; } if (var_r29 == ANM_IRONBALL_WAIT) { - var_f30 = daAlinkHIO_ironBall_c0::m.mWaitAnmSpeed; + var_f30 = mpHIO->mItem.mIronBall.m.mWaitAnmSpeed; } else if (var_r29 == ANM_HORSE_WAIT_D_B || var_r29 == ANM_WAIT_TIRED) { var_f30 = 1.0f; } @@ -7244,8 +7275,8 @@ void daAlink_c::setBlendMoveAnime(f32 param_0) { field_0x2f97 = 6; } } - } else if (var_f31 < daAlinkHIO_move_c0::m.mRunChangeRate) { - var_f28 = (var_f31 - daAlinkHIO_move_c0::m.mWalkChangeRate) / (daAlinkHIO_move_c0::m.mRunChangeRate - daAlinkHIO_move_c0::m.mWalkChangeRate); + } else if (var_f31 < mpHIO->mMove.m.mRunChangeRate) { + var_f28 = (var_f31 - mpHIO->mMove.m.mWalkChangeRate) / (mpHIO->mMove.m.mRunChangeRate - mpHIO->mMove.m.mWalkChangeRate); setDoubleAnime(var_f28, var_f29, sp2C, var_r28, sp18, 1, param_0); mSpeedModifier = sp28 * (1.0f - var_f28); @@ -7329,9 +7360,9 @@ void daAlink_c::setBlendAtnMoveAnime(f32 param_0) { if (checkFmChainGrabAnime()) { field_0x594 = 13.0f; } else if (mTargetedActor != 0) { - field_0x594 = daAlinkHIO_atnMove_c0::m.mMaxSpeed; + field_0x594 = mpHIO->mAtnMove.m.mMaxSpeed; } else { - field_0x594 = daAlinkHIO_noActAtnMove_c0::m.mMaxSpeed; + field_0x594 = mpHIO->mNoActAtnMove.m.mMaxSpeed; } if (mTargetedActor != NULL && sp40 >= 0.866f) { @@ -7380,7 +7411,7 @@ void daAlink_c::setBlendAtnMoveAnime(f32 param_0) { } if (sp3C) { - field_0x594 = daAlinkHIO_move_c0::m.mMaxSpeed; + field_0x594 = mpHIO->mMove.m.mMaxSpeed; setBlendMoveAnime(param_0); return; } @@ -7396,19 +7427,19 @@ void daAlink_c::setBlendAtnMoveAnime(f32 param_0) { f32 var_f30; if (mTargetedActor != NULL) { - sp30 = daAlinkHIO_atnMove_c0::m.mMinWalkFrame; - sp2C = daAlinkHIO_atnMove_c0::m.mWalkChangeRate; - sp28 = daAlinkHIO_atnMove_c0::m.mRunChangeRate; - sp24 = daAlinkHIO_atnMove_c0::m.mWaitAnmSpeed; - sp20 = daAlinkHIO_atnMove_c0::m.mWalkAnmSpeed; - var_f30 = daAlinkHIO_atnMove_c0::m.mRunAnmSpeed; + sp30 = mpHIO->mAtnMove.m.mMinWalkFrame; + sp2C = mpHIO->mAtnMove.m.mWalkChangeRate; + sp28 = mpHIO->mAtnMove.m.mRunChangeRate; + sp24 = mpHIO->mAtnMove.m.mWaitAnmSpeed; + sp20 = mpHIO->mAtnMove.m.mWalkAnmSpeed; + var_f30 = mpHIO->mAtnMove.m.mRunAnmSpeed; } else { - sp30 = daAlinkHIO_noActAtnMove_c0::m.mMinWalkFrame; - sp2C = daAlinkHIO_noActAtnMove_c0::m.mWalkChangeRate; - sp28 = daAlinkHIO_noActAtnMove_c0::m.mRunChangeRate; - sp24 = daAlinkHIO_noActAtnMove_c0::m.mWaitAnmSpeed; - sp20 = daAlinkHIO_noActAtnMove_c0::m.mWalkAnmSpeed; - var_f30 = daAlinkHIO_noActAtnMove_c0::m.mRunAnmSpeed; + sp30 = mpHIO->mNoActAtnMove.m.mMinWalkFrame; + sp2C = mpHIO->mNoActAtnMove.m.mWalkChangeRate; + sp28 = mpHIO->mNoActAtnMove.m.mRunChangeRate; + sp24 = mpHIO->mNoActAtnMove.m.mWaitAnmSpeed; + sp20 = mpHIO->mNoActAtnMove.m.mWalkAnmSpeed; + var_f30 = mpHIO->mNoActAtnMove.m.mRunAnmSpeed; } if (sp34 < sp2C) { @@ -7417,7 +7448,7 @@ void daAlink_c::setBlendAtnMoveAnime(f32 param_0) { if (field_0x2f98 == 0) { var_r28 = ANM_ATN_WAIT_RIGHT; var_r29 = ANM_ATN_RETURN_FROM_WALK; - sp20 = daAlinkHIO_atnMove_c0::m.mWalkForwardAnmSpeed; + sp20 = mpHIO->mAtnMove.m.mWalkForwardAnmSpeed; } else if (field_0x2f98 == 2) { var_r28 = ANM_ATN_WAIT_LEFT; if (mTargetedActor != NULL) { @@ -7451,8 +7482,8 @@ void daAlink_c::setBlendAtnMoveAnime(f32 param_0) { if (field_0x2f98 == 0) { var_r28 = ANM_ATN_RETURN_FROM_WALK; var_r29 = ANM_ATN_RETURN_FROM_RUN; - sp20 = daAlinkHIO_atnMove_c0::m.mWalkForwardAnmSpeed; - var_f30 = daAlinkHIO_atnMove_c0::m.mRunForwardAnmSpeed; + sp20 = mpHIO->mAtnMove.m.mWalkForwardAnmSpeed; + var_f30 = mpHIO->mAtnMove.m.mRunForwardAnmSpeed; } else if (field_0x2f98 == 2) { if (mTargetedActor != NULL) { var_r28 = ANM_ATN_LOCK_WALK_LEFT; @@ -7474,7 +7505,7 @@ void daAlink_c::setBlendAtnMoveAnime(f32 param_0) { } else { if (field_0x2f98 == 0) { var_r29 = ANM_ATN_RETURN_FROM_RUN; - var_f30 = daAlinkHIO_atnMove_c0::m.mRunForwardAnmSpeed; + var_f30 = mpHIO->mAtnMove.m.mRunForwardAnmSpeed; } else if (field_0x2f98 == 2) { if (mTargetedActor != NULL) { var_r29 = ANM_ATN_LOCK_RUN_LEFT; @@ -7540,35 +7571,35 @@ void daAlink_c::setBlendAtnBackMoveAnime(f32 param_0) { daAlink_ANM var_r29; if (checkBootsMoveAnime(1)) { - field_0x594 = daAlinkHIO_atnMove_c0::m.mMaxBackwardsSpeed; - var_f27 = daAlinkHIO_atnMove_c0::m.mMinBackWalkFrame; - var_f31 = daAlinkHIO_atnMove_c0::m.mBackWalkChangeRate; - var_f26 = daAlinkHIO_atnMove_c0::m.mBackRunChangeRate; - var_f24 = daAlinkHIO_atnMove_c0::m.mWaitAnmSpeed; + field_0x594 = mpHIO->mAtnMove.m.mMaxBackwardsSpeed; + var_f27 = mpHIO->mAtnMove.m.mMinBackWalkFrame; + var_f31 = mpHIO->mAtnMove.m.mBackWalkChangeRate; + var_f26 = mpHIO->mAtnMove.m.mBackRunChangeRate; + var_f24 = mpHIO->mAtnMove.m.mWaitAnmSpeed; var_f25 = 1.0f; var_f29 = 1.0f; var_r26 = ANM_ATN_WAIT_RIGHT; var_r27 = ANM_ATN_BACK_WALK_HEAVY; var_r29 = ANM_ATN_BACK_WALK_HEAVY; } else if (mTargetedActor != NULL) { - field_0x594 = daAlinkHIO_atnMove_c0::m.mMaxBackwardsSpeed; - var_f27 = daAlinkHIO_atnMove_c0::m.mMinBackWalkFrame; - var_f31 = daAlinkHIO_atnMove_c0::m.mBackWalkChangeRate; - var_f26 = daAlinkHIO_atnMove_c0::m.mBackRunChangeRate; - var_f24 = daAlinkHIO_atnMove_c0::m.mWaitAnmSpeed; - var_f25 = daAlinkHIO_atnMove_c0::m.mBackWalkAnmSpeed; - var_f29 = daAlinkHIO_atnMove_c0::m.mBackRunAnmSpeed; + field_0x594 = mpHIO->mAtnMove.m.mMaxBackwardsSpeed; + var_f27 = mpHIO->mAtnMove.m.mMinBackWalkFrame; + var_f31 = mpHIO->mAtnMove.m.mBackWalkChangeRate; + var_f26 = mpHIO->mAtnMove.m.mBackRunChangeRate; + var_f24 = mpHIO->mAtnMove.m.mWaitAnmSpeed; + var_f25 = mpHIO->mAtnMove.m.mBackWalkAnmSpeed; + var_f29 = mpHIO->mAtnMove.m.mBackRunAnmSpeed; var_r26 = ANM_ATN_WAIT_RIGHT; var_r27 = ANM_ATN_LOCK_BACK_WALK; var_r29 = ANM_ATN_LOCK_BACK_RUN; } else { - field_0x594 = daAlinkHIO_noActAtnMove_c0::m.mMaxBackwardsSpeed; - var_f27 = daAlinkHIO_noActAtnMove_c0::m.mMinBackWalkFrame; - var_f31 = daAlinkHIO_noActAtnMove_c0::m.mBackWalkChangeRate; - var_f26 = daAlinkHIO_noActAtnMove_c0::m.mBackRunChangeRate; - var_f24 = daAlinkHIO_move_c0::m.mWaitAnmSpeed; - var_f25 = daAlinkHIO_noActAtnMove_c0::m.mBackWalkAnmSpeed; - var_f29 = daAlinkHIO_noActAtnMove_c0::m.mBackRunAnmSpeed; + field_0x594 = mpHIO->mNoActAtnMove.m.mMaxBackwardsSpeed; + var_f27 = mpHIO->mNoActAtnMove.m.mMinBackWalkFrame; + var_f31 = mpHIO->mNoActAtnMove.m.mBackWalkChangeRate; + var_f26 = mpHIO->mNoActAtnMove.m.mBackRunChangeRate; + var_f24 = mpHIO->mMove.m.mWaitAnmSpeed; + var_f25 = mpHIO->mNoActAtnMove.m.mBackWalkAnmSpeed; + var_f29 = mpHIO->mNoActAtnMove.m.mBackRunAnmSpeed; var_r26 = ANM_WAIT; var_r27 = ANM_ATN_BACK_WALK; var_r29 = ANM_ATN_BACK_RUN; @@ -8240,20 +8271,20 @@ void daAlink_c::setFrontWallType() { if (checkWolf()) { if (checkModeFlg(2)) { - hang_height = daAlinkHIO_wlAutoJump_c0::m.mHangLimitHeight; + hang_height = mpHIO->mWolf.mWlAutoJump.m.mHangLimitHeight; } else { - hang_height = daAlinkHIO_wlWallHang_c0::m.mClimbHeight; + hang_height = mpHIO->mWolf.mWlWallHang.m.mClimbHeight; } - small_jump_height = daAlinkHIO_wlWallHang_c0::m.mSmallJumpHeight; - climb_height = daAlinkHIO_wlWallHang_c0::m.mWallGrabHeight; + small_jump_height = mpHIO->mWolf.mWlWallHang.m.mSmallJumpHeight; + climb_height = mpHIO->mWolf.mWlWallHang.m.mWallGrabHeight; } else { if (checkModeFlg(2)) { - hang_height = daAlinkHIO_autoJump_c0::m.mHangHeightLimit; + hang_height = mpHIO->mAutoJump.m.mHangHeightLimit; } else { - hang_height = daAlinkHIO_wallHang_c0::m.jump_hang_height; + hang_height = mpHIO->mWallHang.m.jump_hang_height; } - small_jump_height = daAlinkHIO_wallHang_c0::m.small_jump_height; - climb_height = daAlinkHIO_wallHang_c0::m.climb_height; + small_jump_height = mpHIO->mWallHang.m.small_jump_height; + climb_height = mpHIO->mWallHang.m.climb_height; } body_height = current.pos.y + mSinkShapeOffset; @@ -8328,11 +8359,11 @@ void daAlink_c::setFrontWallType() { f32 sp14; f32 sp10; if (checkWolf()) { - sp14 = 0.01f + daAlinkHIO_wlSwim_c0::m.mClimbHeight; - sp10 = daAlinkHIO_wlSwim_c0::m.mClimbBelowWaterSurface; + sp14 = 0.01f + mpHIO->mWolf.mWlSwim.m.mClimbHeight; + sp10 = mpHIO->mWolf.mWlSwim.m.mClimbBelowWaterSurface; } else { - sp14 = 0.01f + daAlinkHIO_swim_c0::m.mClimbHeight; - sp10 = daAlinkHIO_swim_c0::m.mClimbWaterSurfaceUnder; + sp14 = 0.01f + mpHIO->mSwim.m.mClimbHeight; + sp10 = mpHIO->mSwim.m.mClimbWaterSurfaceUnder; } if (checkNoResetFlg0(FLG0_SWIM_UP)) { @@ -8344,7 +8375,7 @@ void daAlink_c::setFrontWallType() { } } else if (checkModeFlg(2)) { if (sp38 - mLinkAcch.GetGroundH() > field_0x598 && temp_f29 < hang_height) { - if (!checkWolf() && mProcID != PROC_HOOKSHOT_FLY && temp_f29 < daAlinkHIO_autoJump_c0::m.mGrabHeightLimit) { + if (!checkWolf() && mProcID != PROC_HOOKSHOT_FLY && temp_f29 < mpHIO->mAutoJump.m.mGrabHeightLimit) { field_0x2f91 = 0xB; } else { field_0x2f91 = 0xA; @@ -8355,7 +8386,7 @@ void daAlink_c::setFrontWallType() { field_0x2f91 = 6; } else if (temp_f29 < 0.01f + climb_height) { field_0x2f91 = 7; - } else if (checkWolf() || (temp_f29 < 0.01f + daAlinkHIO_wallHang_c0::m.jump_climb_height)) { + } else if (checkWolf() || (temp_f29 < 0.01f + mpHIO->mWallHang.m.jump_climb_height)) { field_0x2f91 = 8; } else { field_0x2f91 = 9; @@ -8576,7 +8607,7 @@ void daAlink_c::setSandShapeOffset() { if (mSinkShapeOffset > -15.0f) { var_f31 = 10.0f; } else { - var_f31 = daAlinkHIO_basic_c0::m.mSandSinkSpeed; + var_f31 = mpHIO->mBasic.m.mSandSinkSpeed; } } else if (field_0x2fbd == 2) { var_f30 = field_0x345c; @@ -8586,7 +8617,7 @@ void daAlink_c::setSandShapeOffset() { if (mSinkShapeOffset > -15.0f) { var_f31 = 10.0f; } else { - var_f31 = daAlinkHIO_basic_c0::m.mSandSinkSpeed; + var_f31 = mpHIO->mBasic.m.mSandSinkSpeed; if (checkWolf()) { var_f31 *= 0.42857143f; } @@ -8597,7 +8628,7 @@ void daAlink_c::setSandShapeOffset() { if (mSinkShapeOffset > -15.0f) { var_f31 = 10.0f; } else { - var_f31 = daAlinkHIO_basic_c0::m.mSandSinkSpeed; + var_f31 = mpHIO->mBasic.m.mSandSinkSpeed; } if (checkWolf()) { @@ -8605,14 +8636,14 @@ void daAlink_c::setSandShapeOffset() { } } else { var_f30 = -15.0f; - var_f31 = daAlinkHIO_basic_c0::m.mSandSurfaceSpeed; + var_f31 = mpHIO->mBasic.m.mSandSurfaceSpeed; } } else if (!(mNormalSpeed < 2.0f) || !(mSinkShapeOffset < -15.0f)) { var_f30 = -15.0f; if (mSinkShapeOffset < -15.0f) { - var_f31 = daAlinkHIO_basic_c0::m.mSandSurfaceSpeed; + var_f31 = mpHIO->mBasic.m.mSandSurfaceSpeed; } else { - var_f31 = daAlinkHIO_basic_c0::m.mSandSinkSpeed; + var_f31 = mpHIO->mBasic.m.mSandSinkSpeed; } } } @@ -8675,7 +8706,7 @@ bool daAlink_c::getSlidePolygon(cM3dGPla* param_0) { ((field_0x3174 != 8 && (mGndPolySpecialCode == 1 || (param_0->mNormal.y < field_0x3470 && mGndPolySpecialCode != 2))) || (mGndPolySpecialCode == 5 && !checkWolf() && (!checkInputOnR() || mProcID == PROC_SLIDE) && (param_0->mNormal.y < cM_scos(field_0x3122))) || (!checkEquipHeavyBoots() && !dComIfGp_checkPlayerStatus0(0, 0x100) && checkLv2MiddleBossBgRide(temp_r28) && - (param_0->mNormal.y < cM_scos(cM_deg2s(daAlinkHIO_slide_c0::m.mLV2MinibossFloorSlideAngle)))))) + (param_0->mNormal.y < cM_scos(cM_deg2s(mpHIO->mSlide.m.mLV2MinibossFloorSlideAngle)))))) { return 1; } @@ -8953,24 +8984,24 @@ void daAlink_c::setStickData() { (!checkBootsOrArmorHeavy() || !checkNoResetFlg0(FLG0_UNDERWATER))) { if (checkWolf() && checkHeavyStateOn(1, 0) && mSinkShapeOffset < -30.0f) { - mHeavySpeedMultiplier = daAlinkHIO_magneBoots_c0::m.mInputFactor * 0.7f; + mHeavySpeedMultiplier = mpHIO->mItem.mIronBoots.m.mInputFactor * 0.7f; } else { - mHeavySpeedMultiplier = daAlinkHIO_magneBoots_c0::m.mInputFactor; + mHeavySpeedMultiplier = mpHIO->mItem.mIronBoots.m.mInputFactor; } field_0x33a8 *= mHeavySpeedMultiplier; } else if (checkBootsOrArmorHeavy()) { if (checkZoraWearAbility()) { - mHeavySpeedMultiplier = daAlinkHIO_magneBoots_c0::m.mZoraWaterInputFactor; + mHeavySpeedMultiplier = mpHIO->mItem.mIronBoots.m.mZoraWaterInputFactor; } else { - mHeavySpeedMultiplier = daAlinkHIO_magneBoots_c0::m.mWaterInputFactor; + mHeavySpeedMultiplier = mpHIO->mItem.mIronBoots.m.mWaterInputFactor; } field_0x33a8 *= mHeavySpeedMultiplier; } else if ((checkWolf() && field_0x2fbc == 11 && checkWaterPolygonUnder()) || field_0x2fbb == 11) { onNoResetFlg0(FLG0_UNK_40000000); - field_0x33a8 *= daAlinkHIO_wolf_c0::m.mUnderwaterInputRate; - mHeavySpeedMultiplier = daAlinkHIO_wolf_c0::m.mUnderwaterInputRate; + field_0x33a8 *= mpHIO->mWolf.m.mUnderwaterInputRate; + mHeavySpeedMultiplier = mpHIO->mWolf.m.mUnderwaterInputRate; } } @@ -9253,7 +9284,7 @@ void daAlink_c::setNormalSpeedF(f32 i_incSpeed, f32 param_1) { } if ((checkUpperReadyThrowAnime() && mLinkAcch.ChkGroundHit() && field_0x2f8c == 1) || ((checkRoomOnly() || checkCopyRodControllAnime() || checkGrabSlowMoveActor() || (checkUpperGuardAnime() && field_0x2f8c == 1) || (field_0x2fbd == 4 && mSinkShapeOffset < -15.0f)) && (mProcID == PROC_MOVE || mProcID == PROC_ATN_MOVE || mProcID == PROC_ATN_ACTOR_MOVE || mProcID == PROC_WOLF_MOVE || mProcID == PROC_WOLF_ATN_AC_MOVE || mProcID == PROC_MOVE_TURN))) { - f32 temp_f30 = field_0x594 * daAlinkHIO_basic_c0::m.mIndoorSpeedFactor; + f32 temp_f30 = field_0x594 * mpHIO->mBasic.m.mIndoorSpeedFactor; if (var_f31 > temp_f30) { var_f31 = temp_f30; } @@ -9269,9 +9300,9 @@ void daAlink_c::setNormalSpeedF(f32 i_incSpeed, f32 param_1) { if (checkNoResetFlg3(FLG3_UNK_1000)) { f32 sp18; if (checkWolf()) { - sp18 = daAlinkHIO_wlSwim_c0::m.mStartHeight; + sp18 = mpHIO->mWolf.mWlSwim.m.mStartHeight; } else { - sp18 = daAlinkHIO_swim_c0::m.mStartHeight; + sp18 = mpHIO->mSwim.m.mStartHeight; } f32 sp14 = cLib_minMaxLimit((mWaterY - (30.0f + current.pos.y)) / (sp18 - 30.0f), 0.0f, 1.0f); @@ -9411,46 +9442,46 @@ void daAlink_c::setSpeedAndAngleNormal() { } if (mProcID == PROC_MOVE) { - if ((speedF / field_0x594) > daAlinkHIO_move_c0::m.mSlideThresholdSpeed) { + if ((speedF / field_0x594) > mpHIO->mMove.m.mSlideThresholdSpeed) { if (getDirectionFromAngle(mPrevStickAngle - mStickAngle) == DIR_BACKWARD) { return; } } - if ((speedF / field_0x594) <= daAlinkHIO_move_c0::m.mSlideThresholdSpeed) { - cLib_addCalcAngleS(¤t.angle.y, field_0x2fe2, daAlinkHIO_move_c0::m.mTurnAngleRate, daAlinkHIO_move_c0::m.mMaxTurnAngle, daAlinkHIO_move_c0::m.mMinTurnAngle); + if ((speedF / field_0x594) <= mpHIO->mMove.m.mSlideThresholdSpeed) { + cLib_addCalcAngleS(¤t.angle.y, field_0x2fe2, mpHIO->mMove.m.mTurnAngleRate, mpHIO->mMove.m.mMaxTurnAngle, mpHIO->mMove.m.mMinTurnAngle); return; } var_r24 = true; } else { - cLib_addCalcAngleS(¤t.angle.y, field_0x2fe2, daAlinkHIO_move_c0::m.mTurnAngleRate, daAlinkHIO_move_c0::m.mMaxTurnAngle, daAlinkHIO_move_c0::m.mMinTurnAngle); + cLib_addCalcAngleS(¤t.angle.y, field_0x2fe2, mpHIO->mMove.m.mTurnAngleRate, mpHIO->mMove.m.mMaxTurnAngle, mpHIO->mMove.m.mMinTurnAngle); } } else { s16 var_r28; s16 var_r27; if (checkEventRun()) { - var_r28 = daAlinkHIO_move_c0::m.mMaxTurnAngle; - var_r27 = daAlinkHIO_move_c0::m.mMinTurnAngle; + var_r28 = mpHIO->mMove.m.mMaxTurnAngle; + var_r27 = mpHIO->mMove.m.mMinTurnAngle; } else { - var_r28 = daAlinkHIO_move_c0::m.mMaxTurnAngle * temp_f30; + var_r28 = mpHIO->mMove.m.mMaxTurnAngle * temp_f30; if (var_r28 < 10) { var_r28 = 10; } - var_r27 = daAlinkHIO_move_c0::m.mMinTurnAngle * temp_f30; + var_r27 = mpHIO->mMove.m.mMinTurnAngle * temp_f30; if (var_r27 < 1) { var_r27 = 1; } } - cLib_addCalcAngleS(¤t.angle.y, field_0x2fe2, daAlinkHIO_move_c0::m.mTurnAngleRate, var_r28, var_r27); + cLib_addCalcAngleS(¤t.angle.y, field_0x2fe2, mpHIO->mMove.m.mTurnAngleRate, var_r28, var_r27); } if (!var_r24) { f32 temp_f28 = getStickAngleDistanceRate(); if (checkEventRun()) { - var_f31 = temp_f28 * (daAlinkHIO_move_c0::m.mAcceleration * field_0x33a8); + var_f31 = temp_f28 * (mpHIO->mMove.m.mAcceleration * field_0x33a8); } else { f32 var_f29 = 0.3f * (1.0f - fabsf(mNormalSpeed / field_0x594)); if (checkHeavyStateOn(1, 1)) { @@ -9458,7 +9489,7 @@ void daAlink_c::setSpeedAndAngleNormal() { } if (field_0x33a8 > var_f29) { - var_f31 = temp_f28 * (daAlinkHIO_move_c0::m.mAcceleration * temp_f30); + var_f31 = temp_f28 * (mpHIO->mMove.m.mAcceleration * temp_f30); } else { var_f31 = 0.0f; } @@ -9472,7 +9503,7 @@ void daAlink_c::setSpeedAndAngleNormal() { if (!checkAttentionLock() && mProcID != PROC_MOVE_TURN && checkInputOnR()) { s16 sp8 = shape_angle.y; - cLib_addCalcAngleS(&shape_angle.y, field_0x2fe2, daAlinkHIO_move_c0::m.mTurnAngleRate, daAlinkHIO_move_c0::m.mMaxTurnAngle * 2, daAlinkHIO_move_c0::m.mMinTurnAngle * 2); + cLib_addCalcAngleS(&shape_angle.y, field_0x2fe2, mpHIO->mMove.m.mTurnAngleRate, mpHIO->mMove.m.mMaxTurnAngle * 2, mpHIO->mMove.m.mMinTurnAngle * 2); int temp_r23 = (s16)(sp8 - current.angle.y) * (s16)(shape_angle.y - current.angle.y); if (temp_r23 <= 0 && temp_r23 >= -0x1000000) { @@ -9480,7 +9511,7 @@ void daAlink_c::setSpeedAndAngleNormal() { } } - setNormalSpeedF(var_f31, daAlinkHIO_move_c0::m.mDeceleration); + setNormalSpeedF(var_f31, mpHIO->mMove.m.mDeceleration); } void daAlink_c::setSpeedAndAngleAtn() { @@ -9515,16 +9546,16 @@ void daAlink_c::setSpeedAndAngleAtn() { f32 var_f28; if (mTargetedActor != NULL) { - var_r27 = daAlinkHIO_atnMove_c0::m.mTurnAngleRate; - var_r26 = daAlinkHIO_atnMove_c0::m.mMaxTurnAngle; - var_r25 = daAlinkHIO_atnMove_c0::m.mMinTurnAngle; + var_r27 = mpHIO->mAtnMove.m.mTurnAngleRate; + var_r26 = mpHIO->mAtnMove.m.mMaxTurnAngle; + var_r25 = mpHIO->mAtnMove.m.mMinTurnAngle; if (var_r29 == 1) { - var_f31 = daAlinkHIO_atnMove_c0::m.mBackAcceleration; - var_f30 = daAlinkHIO_atnMove_c0::m.mBackDeceleration; + var_f31 = mpHIO->mAtnMove.m.mBackAcceleration; + var_f30 = mpHIO->mAtnMove.m.mBackDeceleration; } else { - var_f31 = daAlinkHIO_atnMove_c0::m.mAcceleration; - var_f30 = daAlinkHIO_atnMove_c0::m.mDeceleration; + var_f31 = mpHIO->mAtnMove.m.mAcceleration; + var_f30 = mpHIO->mAtnMove.m.mDeceleration; } } else { if (var_r29 == 0) { @@ -9542,16 +9573,16 @@ void daAlink_c::setSpeedAndAngleAtn() { return; } - var_r27 = daAlinkHIO_noActAtnMove_c0::m.mTurnAngleRate; - var_r26 = daAlinkHIO_noActAtnMove_c0::m.mMaxTurnAngle; - var_r25 = daAlinkHIO_noActAtnMove_c0::m.mMinTurnAngle; + var_r27 = mpHIO->mNoActAtnMove.m.mTurnAngleRate; + var_r26 = mpHIO->mNoActAtnMove.m.mMaxTurnAngle; + var_r25 = mpHIO->mNoActAtnMove.m.mMinTurnAngle; if (var_r29 == 1) { - var_f31 = daAlinkHIO_noActAtnMove_c0::m.mBackAcceleration; - var_f30 = daAlinkHIO_noActAtnMove_c0::m.mBackDeceleration; + var_f31 = mpHIO->mNoActAtnMove.m.mBackAcceleration; + var_f30 = mpHIO->mNoActAtnMove.m.mBackDeceleration; } else { - var_f31 = daAlinkHIO_noActAtnMove_c0::m.mAcceleration; - var_f30 = daAlinkHIO_noActAtnMove_c0::m.mDeceleration; + var_f31 = mpHIO->mNoActAtnMove.m.mAcceleration; + var_f30 = mpHIO->mNoActAtnMove.m.mDeceleration; } } @@ -9623,15 +9654,15 @@ void daAlink_c::setJumpMode() { } f32 daAlink_c::getMetamorphoseNearDis() const { - return daAlinkHIO_basic_c0::m.mTransformBlockNearDis; + return mpHIO->mBasic.m.mTransformBlockNearDis; } f32 daAlink_c::getMetamorphoseFarDis() const { - return daAlinkHIO_basic_c0::m.mTransformBlockFarDis; + return mpHIO->mBasic.m.mTransformBlockFarDis; } s16 daAlink_c::getMetamorphoseFarAngle() const { - return daAlinkHIO_basic_c0::m.mTransformBlockFarAngle; + return mpHIO->mBasic.m.mTransformBlockFarAngle; } void daAlink_c::setMidnaMsg() { @@ -10083,8 +10114,8 @@ BOOL daAlink_c::checkLandAction(int param_0) { BOOL var_r29 = field_0x33a8 > 0.8f && temp_r27 != 1 && !checkGrabAnime() && mProcID != PROC_CUT_HEAD && temp_r3 == DIR_FORWARD; - if ((param_0 || temp_f31 >= daAlinkHIO_damFall_c0::m.mMinRollHeight) && - temp_f31 < daAlinkHIO_damFall_c0::m.mMaxRollHeight && var_r29) + if ((param_0 || temp_f31 >= mpHIO->mDamage.mDamFall.m.mMinRollHeight) && + temp_f31 < mpHIO->mDamage.mDamFall.m.mMaxRollHeight && var_r29) { if (temp_r27 == DIR_FORWARD) { procFrontRollInit(); @@ -10092,7 +10123,7 @@ BOOL daAlink_c::checkLandAction(int param_0) { procSideRollInit(temp_r27); } } else if (checkNoLandDamageSlidePolygon() || - temp_f31 < daAlinkHIO_damFall_c0::m.mSmallDmgHeight) + temp_f31 < mpHIO->mDamage.mDamFall.m.mSmallDmgHeight) { if (param_0) { procLandDamageInit(0); @@ -10105,8 +10136,8 @@ BOOL daAlink_c::checkLandAction(int param_0) { } else if (checkInputOnR() && temp_r27 == DIR_FORWARD && temp_r3 == DIR_FORWARD && mNormalSpeed > 5.0f) { - if (mNormalSpeed > daAlinkHIO_move_c0::m.mMaxSpeed) { - mNormalSpeed = daAlinkHIO_move_c0::m.mMaxSpeed; + if (mNormalSpeed > mpHIO->mMove.m.mMaxSpeed) { + mNormalSpeed = mpHIO->mMove.m.mMaxSpeed; } mNormalSpeed *= 0.6f; current.angle.y = shape_angle.y; @@ -10123,7 +10154,7 @@ BOOL daAlink_c::checkLandAction(int param_0) { } } else { int var_r4; - if (temp_f31 < daAlinkHIO_damFall_c0::m.mBigDmgHeight) { + if (temp_f31 < mpHIO->mDamage.mDamFall.m.mBigDmgHeight) { var_r4 = 1; } else { var_r4 = 2; @@ -10248,16 +10279,16 @@ BOOL daAlink_c::checkAutoJumpAction() { f32 sp10; if (checkWolf()) { if (checkWolfDashMode()) { - sp10 = daAlinkHIO_wlAutoJump_c0::m.mJumpLimitSpeed; + sp10 = mpHIO->mWolf.mWlAutoJump.m.mJumpLimitSpeed; } else { - sp10 = daAlinkHIO_wlAutoJump_c0::m.mWeakJumpLimitSpeed; + sp10 = mpHIO->mWolf.mWlAutoJump.m.mWeakJumpLimitSpeed; } sp18 = 0.0f; } else { if (checkIronBallWaitAnime()) { sp10 = 3.0f; } else { - sp10 = daAlinkHIO_autoJump_c0::m.mJumpSpeedLimit; + sp10 = mpHIO->mAutoJump.m.mJumpSpeedLimit; } sp18 = 60.0f; } @@ -10283,7 +10314,7 @@ BOOL daAlink_c::checkAutoJumpAction() { } } - if (!checkEndResetFlg0(ERFLG0_NOT_HANG) && mSpecialMode != 0x2B && var_r29 && dComIfG_Bgsp().GetWallCode(mLinkLinChk) != 2 && sp28 < -daAlinkHIO_wallHang_c0::m.hang_foot_pos_height && current.pos.y - mWaterY > sp18 && (fabsf(sp44.mNormal.y) <= 0.05f || (sp44.mNormal.y < 0.05f && var_r27 && getWallEdgePos(mLinkLinChk.GetCross(), &sp44, &sp58, mLinkLinChk.GetCrossP(), 0)))) { + if (!checkEndResetFlg0(ERFLG0_NOT_HANG) && mSpecialMode != 0x2B && var_r29 && dComIfG_Bgsp().GetWallCode(mLinkLinChk) != 2 && sp28 < -mpHIO->mWallHang.m.hang_foot_pos_height && current.pos.y - mWaterY > sp18 && (fabsf(sp44.mNormal.y) <= 0.05f || (sp44.mNormal.y < 0.05f && var_r27 && getWallEdgePos(mLinkLinChk.GetCross(), &sp44, &sp58, mLinkLinChk.GetCrossP(), 0)))) { current.pos.x = mLinkLinChk.GetCross().x; current.pos.z = mLinkLinChk.GetCross().z; @@ -10302,7 +10333,7 @@ BOOL daAlink_c::checkAutoJumpAction() { if (mProcID == PROC_FRONT_ROLL) { sp24 = 0.0f; } else { - sp24 = daAlinkHIO_autoJump_c0::m.mFallInterpolation; + sp24 = mpHIO->mAutoJump.m.mFallInterpolation; } f32 spC, sp8; @@ -10322,11 +10353,11 @@ BOOL daAlink_c::checkAutoJumpAction() { current.pos.z -= 75.0f * cM_scos(shape_angle.y); } } else { - sp24 = daAlinkHIO_autoJump_c0::m.mFallInterpolation; + sp24 = mpHIO->mAutoJump.m.mFallInterpolation; } if (checkWolf()) { - return procWolfFallInit(1, daAlinkHIO_wlAutoJump_c0::m.mNormalFallInterp); + return procWolfFallInit(1, mpHIO->mWolf.mWlAutoJump.m.mNormalFallInterp); } else { return procFallInit(1, sp24); } @@ -10437,7 +10468,7 @@ BOOL daAlink_c::checkFrontWallTypeAction() { field_0x3078 = var_r27 + 1; if (field_0x2f91 == 6) { - if (field_0x3078 > daAlinkHIO_wallHang_c0::m.small_jump_input_time) { + if (field_0x3078 > mpHIO->mWallHang.m.small_jump_input_time) { if (checkWolf()) { return procWolfStepMoveInit(); } else { @@ -10445,7 +10476,7 @@ BOOL daAlink_c::checkFrontWallTypeAction() { } } } else if (field_0x2f91 == 7 || field_0x2f91 == 8 || field_0x2f91 == 9) { - if (field_0x3078 > daAlinkHIO_wallHang_c0::m.grab_input_time) { + if (field_0x3078 > mpHIO->mWallHang.m.grab_input_time) { if (checkWolf()) { if (field_0x2f91 == 7 || field_0x2f91 == 8) { if (checkModeFlg(0x40000)) { @@ -10532,7 +10563,7 @@ int daAlink_c::checkItemChangeAutoAction() { void daAlink_c::setFastShotTimer() { if (!dComIfGp_checkPlayerStatus0(0, 0x2000)) { - mFastShotTime = daAlinkHIO_item_c0::m.mItemFPTransitionTimer; + mFastShotTime = mpHIO->mItem.m.mItemFPTransitionTimer; } } @@ -10607,7 +10638,7 @@ bool daAlink_c::checkSwordTwirlAction() { anm = 0x40; } - setUpperAnimeBaseSpeed(anm, daAlinkHIO_atnMove_c0::m.mWaitAnmSpeed, 3.0f); + setUpperAnimeBaseSpeed(anm, mpHIO->mAtnMove.m.mWaitAnmSpeed, 3.0f); seStartSwordCut(Z2SE_AL_WAIT_SWORD_SWING); } } @@ -10715,11 +10746,11 @@ BOOL daAlink_c::checkUpperItemAction() { field_0x30f6--; if (swordTrigger() || doTrigger()) { - field_0x30f6 -= daAlinkHIO_damCaught_c0::m.mInputFadeTime; + field_0x30f6 -= mpHIO->mDamage.mDamCaught.m.mInputFadeTime; } if (checkInputOnR() && abs((s16)(mStickAngle - mPrevStickAngle)) > 0x1000) { - field_0x30f6 -= daAlinkHIO_damCaught_c0::m.mInputFadeTime; + field_0x30f6 -= mpHIO->mDamage.mDamCaught.m.mInputFadeTime; } if (field_0x30f6 < 0 || !checkNoResetFlg0(FLG0_DK_CAUGHT)) { @@ -11098,9 +11129,9 @@ BOOL daAlink_c::checkItemAction() { if (mEquipItem == 0x103) { daPy_frameCtrl_c* frame_ctrl = &mUpperFrameCtrl[2]; - if ((checkUpperAnime(0x80) && frame_ctrl->getFrame() <= daAlinkHIO_cutDaL_c0::m.mCutAnm.mCancelFrame) || - (checkUpperAnime(0x81) && frame_ctrl->getFrame() <= daAlinkHIO_cutDaR_c0::m.mCutAnm.mCancelFrame) || - (checkUpperAnime(0x82) && frame_ctrl->getFrame() <= daAlinkHIO_cutDaCharge_c0::m.mCutAnm.mCancelFrame) || + if ((checkUpperAnime(0x80) && frame_ctrl->getFrame() <= mpHIO->mCut.mCutDashLeft.m.mCutAnm.mCancelFrame) || + (checkUpperAnime(0x81) && frame_ctrl->getFrame() <= mpHIO->mCut.mCutDashRight.m.mCutAnm.mCancelFrame) || + (checkUpperAnime(0x82) && frame_ctrl->getFrame() <= mpHIO->mCut.mCutDashCharge.m.mCutAnm.mCancelFrame) || checkModeFlg(0x40000)) { return false; @@ -11305,11 +11336,11 @@ void daAlink_c::swordEquip(int param_0) { field_0x2fde = 0x103; if (checkReinRide()) { - setUpperAnimeParam(0x261, UPPER_2, &daAlinkHIO_cut_c0::m.mEquipAnm); + setUpperAnimeParam(0x261, UPPER_2, &mpHIO->mCut.m.mEquipAnm); offNoResetFlg3(FLG3_UNK_8000); } else { u32 var_r29 = checkNoResetFlg0(FLG0_UNK_1000000); - setUpperAnimeParam(0x255, UPPER_2, &daAlinkHIO_cut_c0::m.mEquipAnm); + setUpperAnimeParam(0x255, UPPER_2, &mpHIO->mCut.m.mEquipAnm); if (var_r29) { mUpperFrameCtrl[2].setFrame(12); @@ -11342,16 +11373,16 @@ void daAlink_c::swordEquip(int param_0) { void daAlink_c::swordUnequip() { f32 anm_speed; if (checkFastUnequip()) { - anm_speed = daAlinkHIO_cut_c0::m.mFastUnequipAnmSpeed; + anm_speed = mpHIO->mCut.m.mFastUnequipAnmSpeed; } else { - anm_speed = daAlinkHIO_cut_c0::m.mUnequipAnm.mSpeed; + anm_speed = mpHIO->mCut.m.mUnequipAnm.mSpeed; } u16 anm_id = checkReinRide() ? (u16)0x261 : (u16)0x255; - setUpperAnime(anm_id, UPPER_2, anm_speed, daAlinkHIO_cut_c0::m.mUnequipAnm.mStartFrame, - daAlinkHIO_cut_c0::m.mUnequipAnm.mEndFrame, - daAlinkHIO_cut_c0::m.mUnequipAnm.mInterpolation); + setUpperAnime(anm_id, UPPER_2, anm_speed, mpHIO->mCut.m.mUnequipAnm.mStartFrame, + mpHIO->mCut.m.mUnequipAnm.mEndFrame, + mpHIO->mCut.m.mUnequipAnm.mInterpolation); setFacePriTexture(FTANM_UNK_2D); setFaceBck(0x15E, 1, 0xFFFF); } @@ -11379,21 +11410,21 @@ void daAlink_c::itemUnequip(u16 i_itemID, f32 i_playSpeed) { i_itemID == fpcNm_ITEM_HOOKSHOT || checkBottleItem(i_itemID)) { anm_id = 0x247; - anm_data = &daAlinkHIO_item_c0::m.mOneHandEquipAnm; + anm_data = &mpHIO->mItem.m.mOneHandEquipAnm; } else if (checkBowAndSlingItem(i_itemID)) { anm_id = checkBowGrabLeftHand() ? (u16)0x247 : (u16)0x248; - anm_data = &daAlinkHIO_item_c0::m.mOneHandEquipAnm; + anm_data = &mpHIO->mItem.m.mOneHandEquipAnm; } else { anm_id = 0x245; - anm_data = &daAlinkHIO_item_c0::m.mTwoHandEquipAnm; + anm_data = &mpHIO->mItem.m.mTwoHandEquipAnm; } f32 anm_speed; if (i_playSpeed > 0.0f && checkFastUnequip()) { if (anm_id == 0x245) { - anm_speed = daAlinkHIO_item_c0::m.mTwoHandReleaseAnmSpeed; + anm_speed = mpHIO->mItem.m.mTwoHandReleaseAnmSpeed; } else { - anm_speed = daAlinkHIO_item_c0::m.mOneHandReleaseAnmSpeed; + anm_speed = mpHIO->mItem.m.mOneHandReleaseAnmSpeed; } } else { anm_speed = anm_data->mSpeed * i_playSpeed; @@ -11641,14 +11672,14 @@ int daAlink_c::checkNextAction(int param_0) { if (checkFmChainGrabAnime()) { field_0x594 = 13.0f; } else if (mTargetedActor != NULL) { - field_0x594 = daAlinkHIO_atnMove_c0::m.mMaxSpeed; + field_0x594 = mpHIO->mAtnMove.m.mMaxSpeed; } else { - field_0x594 = daAlinkHIO_noActAtnMove_c0::m.mMaxSpeed; + field_0x594 = mpHIO->mNoActAtnMove.m.mMaxSpeed; } } else if (checkSlope()) { - field_0x594 = daAlinkHIO_slide_c0::m.mMaxClimbSpeed; + field_0x594 = mpHIO->mSlide.m.mMaxClimbSpeed; } else { - field_0x594 = daAlinkHIO_move_c0::m.mMaxSpeed; + field_0x594 = mpHIO->mMove.m.mMaxSpeed; } if (checkEndResetFlg0(ERFLG0_UNK_100000) && mLinkAcch.ChkGroundHit() && @@ -11708,7 +11739,7 @@ int daAlink_c::checkNextAction(int param_0) { } else if (mProcID == PROC_MOVE_TURN && current.angle.y != shape_angle.y) { ret = procMoveTurnInit(0); } else if (checkInputOnR() && cLib_distanceAngleS(field_0x2fe2, current.angle.y) > 0x7800) { - if (speedF / field_0x594 > daAlinkHIO_move_c0::m.mSlideThresholdSpeed && + if (speedF / field_0x594 > mpHIO->mMove.m.mSlideThresholdSpeed && mGndPolySpecialCode != dBgW_SPCODE_ICE && !checkGrabAnime() && getDirectionFromAngle(mPrevStickAngle - mStickAngle) == DIR_BACKWARD) { @@ -11819,25 +11850,25 @@ void daAlink_c::setItemAction() { setCopyRodControllUpperSpeedRate(); } } else if (checkBoomerangCatchAnime()) { - if (checkAnmEnd(frame_ctrl) || (checkInputOnR() && frame_ctrl->getFrame() > daAlinkHIO_boom_c0::m.mCatchAnm.mCancelFrame)) { + if (checkAnmEnd(frame_ctrl) || (checkInputOnR() && frame_ctrl->getFrame() > mpHIO->mItem.mBoomerang.m.mCatchAnm.mCancelFrame)) { resetUpperAnime(UPPER_2, 3.0f); } else if (frame_ctrl->getFrame() >= 20.0f) { field_0x2f97 = 6; } } else if (checkBoomerangThrowAnime()) { - if (checkAnmEnd(frame_ctrl) || (checkInputOnR() && frame_ctrl->getFrame() > daAlinkHIO_boom_c0::m.mThrowAnm.mCancelFrame)) { + if (checkAnmEnd(frame_ctrl) || (checkInputOnR() && frame_ctrl->getFrame() > mpHIO->mItem.mBoomerang.m.mThrowAnm.mCancelFrame)) { resetUpperAnime(UPPER_2, 3.0f); } else if (frame_ctrl->checkPass(5.5f)) { throwBoomerang(); } } else if (checkCopyRodThrowAnime()) { - if (checkAnmEnd(frame_ctrl) || (checkInputOnR() && frame_ctrl->getFrame() > daAlinkHIO_boom_c0::m.mThrowAnm.mCancelFrame)) { + if (checkAnmEnd(frame_ctrl) || (checkInputOnR() && frame_ctrl->getFrame() > mpHIO->mItem.mBoomerang.m.mThrowAnm.mCancelFrame)) { resetUpperAnime(UPPER_2, 3.0f); } else if (frame_ctrl->checkPass(6.5f)) { throwCopyRod(); } } else if (checkKandelaarSwingAnime()) { - if (checkAnmEnd(frame_ctrl) || (checkInputOnR() && frame_ctrl->getFrame() > daAlinkHIO_kandelaar_c0::m.mShakeAnm.mCancelFrame)) { + if (checkAnmEnd(frame_ctrl) || (checkInputOnR() && frame_ctrl->getFrame() > mpHIO->mItem.mLantern.m.mShakeAnm.mCancelFrame)) { resetUpperAnime(UPPER_2, 3.0f); } } else if (checkEquipAnime()) { @@ -11872,7 +11903,7 @@ void daAlink_c::setItemAction() { commonChangeItem(); } } else if (checkCutDashAnime()) { - field_0x307e = daAlinkHIO_cut_c0::m.mComboDuration; + field_0x307e = mpHIO->mCut.m.mComboDuration; if (checkAnmEnd(frame_ctrl)) { resetUpperAnime(UPPER_2, 3.0f); @@ -11881,11 +11912,11 @@ void daAlink_c::setItemAction() { const daAlinkHIO_cutDash_c1* cut_hio; if (checkUpperAnime(0x80)) { - cut_hio = &daAlinkHIO_cutDaL_c0::m; + cut_hio = &mpHIO->mCut.mCutDashLeft.m; } else if (checkUpperAnime(0x81)) { - cut_hio = &daAlinkHIO_cutDaR_c0::m; + cut_hio = &mpHIO->mCut.mCutDashRight.m; } else { - cut_hio = &daAlinkHIO_cutDaCharge_c0::m; + cut_hio = &mpHIO->mCut.mCutDashCharge.m; } if (frame_ctrl->getFrame() >= cut_hio->mAttackStartFrame && frame_ctrl->getFrame() < cut_hio->mAttackEndFrame) { @@ -11922,7 +11953,7 @@ void daAlink_c::setItemAction() { BOOL daAlink_c::checkNextActionFromCrouch(int param_0) { if (checkNextAction(param_0)) { if (field_0x2f8c == 1 || field_0x2f8c == 2 || field_0x2f8c == 3) { - field_0x2060->initOldFrameMorf(daAlinkHIO_crouch_c0::m.mStandInterpolation, 0, 0x23); + field_0x2060->initOldFrameMorf(mpHIO->mCrouch.m.mStandInterpolation, 0, 0x23); } return true; @@ -11969,7 +12000,7 @@ s16 daAlink_c::getBodyAngleXAtnActor(int param_0) { } else { var_r30 = spC.atan2sY_XZ(); if (param_0 != 0) { - var_r30 = cLib_minMaxLimit((s16)var_r30, daAlinkHIO_cut_c0::m.mUnkBodyUpwards, daAlinkHIO_cut_c0::m.mUnkBodyDownwards); + var_r30 = cLib_minMaxLimit((s16)var_r30, mpHIO->mCut.m.mUnkBodyUpwards, mpHIO->mCut.m.mUnkBodyDownwards); } else { var_r30 = cLib_minMaxLimit((s16)var_r30, -0x2000, 0x2000); } @@ -12065,26 +12096,26 @@ void daAlink_c::initGravity() { if (checkWolf()) { if (checkModeFlg(MODE_SWIMMING)) { if (checkHeavyStateOn(1, 1)) { - gravity = -daAlinkHIO_wlSwim_c0::m.mHeavyBuoyancy; - max_fall_speed = daAlinkHIO_wlSwim_c0::m.mHeavyMaxFallSpeed; + gravity = -mpHIO->mWolf.mWlSwim.m.mHeavyBuoyancy; + max_fall_speed = mpHIO->mWolf.mWlSwim.m.mHeavyMaxFallSpeed; } else { - gravity = -daAlinkHIO_wlSwim_c0::m.mBuoyancy; - max_fall_speed = daAlinkHIO_wlSwim_c0::m.mMaxFallSpeed; + gravity = -mpHIO->mWolf.mWlSwim.m.mBuoyancy; + max_fall_speed = mpHIO->mWolf.mWlSwim.m.mMaxFallSpeed; } } else { - gravity = daAlinkHIO_wlAutoJump_c0::m.mGravity; - max_fall_speed = daAlinkHIO_wlAutoJump_c0::m.mMaxFallSpeed; + gravity = mpHIO->mWolf.mWlAutoJump.m.mGravity; + max_fall_speed = mpHIO->mWolf.mWlAutoJump.m.mMaxFallSpeed; } } else if (checkModeFlg(MODE_SWIMMING) || checkNoResetFlg0(FLG0_UNDERWATER)) { max_fall_speed = getSwimMaxFallSpeed(); if (checkHeavyStateOn(1, 1) && mProcID != PROC_OCTAIEAL_SPIT) { - gravity = daAlinkHIO_swim_c0::m.mBootsGravity; + gravity = mpHIO->mSwim.m.mBootsGravity; } else { - gravity = -daAlinkHIO_swim_c0::m.mBuoyancy; + gravity = -mpHIO->mSwim.m.mBuoyancy; } } else { - gravity = daAlinkHIO_autoJump_c0::m.mGravity; - max_fall_speed = daAlinkHIO_autoJump_c0::m.mMaxFallSpeed; + gravity = mpHIO->mAutoJump.m.mGravity; + max_fall_speed = mpHIO->mAutoJump.m.mMaxFallSpeed; } setSpecialGravity(gravity, max_fall_speed, 1); @@ -12308,7 +12339,7 @@ void daAlink_c::posMove() { } if (getZoraSwim() && !checkZoraWearAbility()) { - speedF *= daAlinkHIO_swim_c0::m.mFloatUpSwimSpeedRate; + speedF *= mpHIO->mSwim.m.mFloatUpSwimSpeedRate; } f32 var_f31 = speedF; @@ -12342,13 +12373,13 @@ void daAlink_c::posMove() { f32 temp_f0 = cM_sht2d(cM_atan2s(plane.mNormal.absXZ(), plane.mNormal.y)); - if (temp_f0 >= daAlinkHIO_slide_c0::m.mLV2MinibossFloorWeakSlideAngle && - temp_f0 <= daAlinkHIO_slide_c0::m.mLV2MinibossFloorSlideAngle) + if (temp_f0 >= mpHIO->mSlide.m.mLV2MinibossFloorWeakSlideAngle && + temp_f0 <= mpHIO->mSlide.m.mLV2MinibossFloorSlideAngle) { - temp_f0 = ((temp_f0 - daAlinkHIO_slide_c0::m.mLV2MinibossFloorWeakSlideAngle) * - daAlinkHIO_slide_c0::m.mLV2MinibossFloorWeakSlideSpeed) / - (daAlinkHIO_slide_c0::m.mLV2MinibossFloorSlideAngle - - daAlinkHIO_slide_c0::m.mLV2MinibossFloorWeakSlideAngle); + temp_f0 = ((temp_f0 - mpHIO->mSlide.m.mLV2MinibossFloorWeakSlideAngle) * + mpHIO->mSlide.m.mLV2MinibossFloorWeakSlideSpeed) / + (mpHIO->mSlide.m.mLV2MinibossFloorSlideAngle - + mpHIO->mSlide.m.mLV2MinibossFloorWeakSlideAngle); plane.mNormal.y = 0.0f; plane.mNormal.normalizeZP(); @@ -12359,7 +12390,7 @@ void daAlink_c::posMove() { } if (checkModeFlg(MODE_SWIMMING)) { - cLib_chasePos(&field_0x3750, cXyz::Zero, daAlinkHIO_damSwim_c0::m.mDeceleration); + cLib_chasePos(&field_0x3750, cXyz::Zero, mpHIO->mDamage.mDamSwim.m.mDeceleration); current.pos += field_0x3750; if (checkNoResetFlg0(FLG0_SWIM_UP) && mProcID != PROC_SWIM_DIVE) { @@ -12370,16 +12401,16 @@ void daAlink_c::posMove() { speed.y = 0.0f; } else if (checkWolf()) { if (checkHeavyStateOn(1, 1)) { - speed.y += daAlinkHIO_wlSwim_c0::m.mHeavyBuoyancy; + speed.y += mpHIO->mWolf.mWlSwim.m.mHeavyBuoyancy; - if (speed.y > daAlinkHIO_wlSwim_c0::m.mHeavyMaxSurfacingSpeed) { - speed.y = daAlinkHIO_wlSwim_c0::m.mHeavyMaxSurfacingSpeed; + if (speed.y > mpHIO->mWolf.mWlSwim.m.mHeavyMaxSurfacingSpeed) { + speed.y = mpHIO->mWolf.mWlSwim.m.mHeavyMaxSurfacingSpeed; } } else { - speed.y += daAlinkHIO_wlSwim_c0::m.mBuoyancy; + speed.y += mpHIO->mWolf.mWlSwim.m.mBuoyancy; - if (speed.y > daAlinkHIO_wlSwim_c0::m.mMaxSurfacingSpeed) { - speed.y = daAlinkHIO_wlSwim_c0::m.mMaxSurfacingSpeed; + if (speed.y > mpHIO->mWolf.mWlSwim.m.mMaxSurfacingSpeed) { + speed.y = mpHIO->mWolf.mWlSwim.m.mMaxSurfacingSpeed; } } } else if (!checkEquipHeavyBoots() && getZoraSwim()) { @@ -12391,25 +12422,25 @@ void daAlink_c::posMove() { if (speed.y < maxFallSpeed) { speed.y = maxFallSpeed; } - } else if (speed.y > daAlinkHIO_swim_c0::m.mMaxFloatUpSpeed) { + } else if (speed.y > mpHIO->mSwim.m.mMaxFloatUpSpeed) { speed.y += gravity; } else if (speed.y < maxFallSpeed) { speed.y += 1.0f; } else { if (checkZoraWearAbility() && - mWaterY > current.pos.y + daAlinkHIO_swim_c0::m.mNormalBuoyancyWaterDepth) + mWaterY > current.pos.y + mpHIO->mSwim.m.mNormalBuoyancyWaterDepth) { - speed.y += daAlinkHIO_swim_c0::m.mZoraClothesBuoyancy; + speed.y += mpHIO->mSwim.m.mZoraClothesBuoyancy; if (speed.y < 0.0f) { speed.y = 0.0f; } } else { - speed.y += daAlinkHIO_swim_c0::m.mBuoyancy; + speed.y += mpHIO->mSwim.m.mBuoyancy; } - if (speed.y > daAlinkHIO_swim_c0::m.mMaxFloatUpSpeed) { - speed.y = daAlinkHIO_swim_c0::m.mMaxFloatUpSpeed; + if (speed.y > mpHIO->mSwim.m.mMaxFloatUpSpeed) { + speed.y = mpHIO->mSwim.m.mMaxFloatUpSpeed; } } } else if (!checkModeFlg(0x400)) { @@ -12920,7 +12951,7 @@ BOOL daAlink_c::checkRestartRoom() { } } else if (mLinkAcch.ChkGroundHit() && field_0x2fbd == 2) { return procCoLavaReturnInit(1); - } else if ((checkModeFlg(0x40000) || (checkNoResetFlg0(FLG0_UNK_80) && mWaterY - current.pos.y > daAlinkHIO_swim_c0::m.mStartHeight)) && fopAcM_GetRoomNo(this) == 0 && checkStageName("F_SP114")) { + } else if ((checkModeFlg(0x40000) || (checkNoResetFlg0(FLG0_UNK_80) && mWaterY - current.pos.y > mpHIO->mSwim.m.mStartHeight)) && fopAcM_GetRoomNo(this) == 0 && checkStageName("F_SP114")) { return procCoSwimFreezeReturnInit(); } else if (!checkCargoCarry() && (field_0x3174 == 4 || field_0x3174 == 10 || (-G_CM3D_F_INF == mLinkAcch.GetGroundH() && !checkModeFlg(0x40000)))) { BOOL temp_r28 = mWaterY > mLinkAcch.GetGroundH(); @@ -12990,7 +13021,7 @@ BOOL daAlink_c::checkRestartRoom() { return true; } - } else if ((mLinkAcch.ChkGroundHit() && (dKy_pol_argument_get(&mLinkAcch.m_gnd) & 0x80)) || (checkWaterPolygonUnder() && checkNoResetFlg0(FLG0_UNK_80) && (dKy_pol_argument_get(&mLinkAcch.m_wtr) & 0x80)) || (checkModeFlg(0x40) && field_0x33bc < field_0x33b8 && -G_CM3D_F_INF != field_0x33b8 && (field_0x2fc6 & 0x80)) || (field_0x2fbc == 6 && checkNoResetFlg0(FLG0_UNK_80) && checkWaterPolygonUnder() && mWaterY > (daAlinkHIO_basic_c0::m.mLavaDeathDepth + mLinkAcch.GetGroundH())) || (field_0x2fc5 == 6 && -G_CM3D_F_INF != field_0x33b8 && field_0x33bc < field_0x33b8 && checkModeFlg(0x40) && field_0x33b8 > (field_0x33d8 + daAlinkHIO_basic_c0::m.mLavaDeathDepth))) { + } else if ((mLinkAcch.ChkGroundHit() && (dKy_pol_argument_get(&mLinkAcch.m_gnd) & 0x80)) || (checkWaterPolygonUnder() && checkNoResetFlg0(FLG0_UNK_80) && (dKy_pol_argument_get(&mLinkAcch.m_wtr) & 0x80)) || (checkModeFlg(0x40) && field_0x33bc < field_0x33b8 && -G_CM3D_F_INF != field_0x33b8 && (field_0x2fc6 & 0x80)) || (field_0x2fbc == 6 && checkNoResetFlg0(FLG0_UNK_80) && checkWaterPolygonUnder() && mWaterY > (mpHIO->mBasic.m.mLavaDeathDepth + mLinkAcch.GetGroundH())) || (field_0x2fc5 == 6 && -G_CM3D_F_INF != field_0x33b8 && field_0x33bc < field_0x33b8 && checkModeFlg(0x40) && field_0x33b8 > (field_0x33d8 + mpHIO->mBasic.m.mLavaDeathDepth))) { if (field_0x2fbc == 6 || (checkModeFlg(0x40) && field_0x2fc5 == 6)) { return procCoLavaReturnInit(0); } @@ -13095,14 +13126,14 @@ int daAlink_c::checkSceneChange(int exitID) { exit_speed = 10.0f; demo_stick = 0.6f; } else { - exit_speed = daAlinkHIO_wlMoveNoP_c0::m.mMaxSpeed; + exit_speed = mpHIO->mWolf.mWlMoveNoP.m.mMaxSpeed; demo_stick = 1.0f; } } else if (mNormalSpeed < 10.0f || var_r3) { exit_speed = 10.0f; demo_stick = 0.65f; } else { - exit_speed = daAlinkHIO_move_c0::m.mMaxSpeed; + exit_speed = mpHIO->mMove.m.mMaxSpeed; demo_stick = 1.0f; } @@ -13505,7 +13536,7 @@ BOOL daAlink_c::setItemActor() { setGrabItemActor(actor); dComIfGp_addSelectItemNum(mSelectItemId, -1); field_0x33e4 = 38.0f; - setGrabUpperAnime(daAlinkHIO_basic_c0::m.mBasicInterpolation); + setGrabUpperAnime(mpHIO->mBasic.m.mBasicInterpolation); } } mEquipItem = fpcNm_ITEM_NONE; @@ -14061,7 +14092,7 @@ void daAlink_c::setLight() { onNoResetFlg1(FLG1_UNK_80); if (!checkEventRun() && !checkEndResetFlg1(ERFLG1_UNK_4)) { - dComIfGp_setItemOilCount(-daAlinkHIO_kandelaar_c0::m.mNormalOilLoss); + dComIfGp_setItemOilCount(-mpHIO->mItem.mLantern.m.mNormalOilLoss); } u16 ptcl_id; @@ -14512,7 +14543,7 @@ void daAlink_c::commonProcInit(daAlink_c::daAlink_PROC i_procID) { if (((!checkEquipAnime() || !checkModeFlg(4)) && (!checkModeFlg(0x40000) || !checkWolfEnemyThrowAnime()) && !checkModeFlg(0x1000)) || (checkSwordTwirlAnime() && mProcID != PROC_ATN_ACTOR_WAIT && mProcID != PROC_ATN_ACTOR_MOVE) || (checkWolf() && checkFmChainGrabAnime() && checkModeFlg(0x40)) || checkNoResetFlg1(FLG1_UNK_10000000)) { if ((!checkDkCaught2Anime() || mProcID != PROC_DAMAGE) && !checkNoSetUpperAnime()) { - resetUpperAnime(UPPER_2, daAlinkHIO_basic_c0::m.mBasicInterpolation); + resetUpperAnime(UPPER_2, mpHIO->mBasic.m.mBasicInterpolation); } if (checkBombItem(mEquipItem)) { @@ -14632,7 +14663,7 @@ BOOL daAlink_c::commonProcInitNotSameProc(daAlink_PROC procID) { int daAlink_c::procPreActionUnequipInit(int i_procAfter, fopAc_ac_c* param_1) { commonProcInit(PROC_PREACTION_UNEQUIP); mNormalSpeed = 0.0f; - setBlendMoveAnime(daAlinkHIO_basic_c0::m.mBasicInterpolation); + setBlendMoveAnime(mpHIO->mBasic.m.mBasicInterpolation); allUnequip(0); mProcVar4.field_0x3010 = 0; @@ -14801,7 +14832,7 @@ int daAlink_c::procWaitInit() { commonProcInit(PROC_WAIT); mNormalSpeed = 0.0f; - setBlendMoveAnime(daAlinkHIO_basic_c0::m.mBasicInterpolation); + setBlendMoveAnime(mpHIO->mBasic.m.mBasicInterpolation); current.angle.y = shape_angle.y; if (var_r30) { @@ -14863,7 +14894,7 @@ int daAlink_c::procMoveInit() { return 0; } - setBlendMoveAnime(daAlinkHIO_basic_c0::m.mBasicInterpolation); + setBlendMoveAnime(mpHIO->mBasic.m.mBasicInterpolation); setFootEffectProcType(3); return 1; } @@ -14872,16 +14903,16 @@ int daAlink_c::procMove() { setFootEffectProcType(3); if (!checkNextAction(0) && !checkFrontWallTypeAction()) { if (mDemo.getDemoMode() == 2 && - mNormalSpeed > field_0x594 * daAlinkHIO_move_c0::m.mWalkChangeRate) + mNormalSpeed > field_0x594 * mpHIO->mMove.m.mWalkChangeRate) { - mNormalSpeed = field_0x594 * daAlinkHIO_move_c0::m.mWalkChangeRate; + mNormalSpeed = field_0x594 * mpHIO->mMove.m.mWalkChangeRate; } setBlendMoveAnime(-1.0f); if (field_0x3174 != 8) { field_0x30a0 = - cLib_minMaxLimit((s16)(field_0x2ff0 >> 1), daAlinkHIO_basic_c0::m.mHeadMaxTurnUp, - daAlinkHIO_basic_c0::m.mHeadMaxTurnDown); + cLib_minMaxLimit((s16)(field_0x2ff0 >> 1), mpHIO->mBasic.m.mHeadMaxTurnUp, + mpHIO->mBasic.m.mHeadMaxTurnDown); } } @@ -14893,7 +14924,7 @@ int daAlink_c::procAtnMoveInit() { return 0; } - setBlendAtnMoveAnime(daAlinkHIO_basic_c0::m.mBasicInterpolation); + setBlendAtnMoveAnime(mpHIO->mBasic.m.mBasicInterpolation); return 1; } @@ -14922,9 +14953,9 @@ int daAlink_c::procAtnActorWaitInit() { } if (checkAtnWaitAnime()) { - setBlendAtnMoveAnime(daAlinkHIO_basic_c0::m.mBasicInterpolation); + setBlendAtnMoveAnime(mpHIO->mBasic.m.mBasicInterpolation); } else { - setBlendMoveAnime(daAlinkHIO_basic_c0::m.mBasicInterpolation); + setBlendMoveAnime(mpHIO->mBasic.m.mBasicInterpolation); } return 1; @@ -14948,7 +14979,7 @@ int daAlink_c::procAtnActorMoveInit() { return 0; } - setBlendAtnMoveAnime(daAlinkHIO_basic_c0::m.mBasicInterpolation); + setBlendAtnMoveAnime(mpHIO->mBasic.m.mBasicInterpolation); return 1; } @@ -14966,8 +14997,8 @@ int daAlink_c::procWaitTurnInit() { return 0; } - setSingleAnimeBaseSpeed(ANM_STEP_TURN, daAlinkHIO_basic_c0::m.mRotationASpeed, - daAlinkHIO_basic_c0::m.mBasicInterpolation); + setSingleAnimeBaseSpeed(ANM_STEP_TURN, mpHIO->mBasic.m.mRotationASpeed, + mpHIO->mBasic.m.mBasicInterpolation); if (checkEventRun()) { mNormalSpeed = 0.0f; } @@ -14978,7 +15009,7 @@ int daAlink_c::procWaitTurnInit() { } int daAlink_c::procWaitTurn() { - cLib_chaseF(&mNormalSpeed, 0.0f, daAlinkHIO_move_c0::m.mDeceleration); + cLib_chaseF(&mNormalSpeed, 0.0f, mpHIO->mMove.m.mDeceleration); if (checkGroundSpecialMode()) { return 1; @@ -15011,23 +15042,23 @@ int daAlink_c::procMoveTurnInit(int param_0) { return 0; } - setBlendMoveAnime(daAlinkHIO_basic_c0::m.mBasicInterpolation); + setBlendMoveAnime(mpHIO->mBasic.m.mBasicInterpolation); dComIfGp_setPlayerStatus0(0, 0x800); if (param_0 != 0) { - mProcVar3.field_0x300e = (daAlinkHIO_move_c0::m.mMaxTurnAngle * 4) + 19030; - mProcVar4.field_0x3010 = daAlinkHIO_move_c0::m.mMaxTurnAngle * 2; + mProcVar3.field_0x300e = (mpHIO->mMove.m.mMaxTurnAngle * 4) + 19030; + mProcVar4.field_0x3010 = mpHIO->mMove.m.mMaxTurnAngle * 2; mProcVar1.field_0x300a = 2; current.angle.y = field_0x2fe2; mNormalSpeed *= 0.5f; } else { - mProcVar3.field_0x300e = daAlinkHIO_move_c0::m.mMaxTurnAngle * 2; - mProcVar4.field_0x3010 = daAlinkHIO_move_c0::m.mMaxTurnAngle; + mProcVar3.field_0x300e = mpHIO->mMove.m.mMaxTurnAngle * 2; + mProcVar4.field_0x3010 = mpHIO->mMove.m.mMaxTurnAngle; mProcVar1.field_0x300a = 3; } - mProcVar3.field_0x300e = daAlinkHIO_move_c0::m.mMaxTurnAngle * 2; - mProcVar4.field_0x3010 = daAlinkHIO_move_c0::m.mMaxTurnAngle; + mProcVar3.field_0x300e = mpHIO->mMove.m.mMaxTurnAngle * 2; + mProcVar4.field_0x3010 = mpHIO->mMove.m.mMaxTurnAngle; return 1; } @@ -15054,9 +15085,9 @@ int daAlink_c::procSideStepInit(int jump_type) { if (field_0x2f98 == 1) { current.angle.y = shape_angle.y + 0x8000; - setSingleAnimeParam(ANM_BACK_JUMP, &daAlinkHIO_sideStep_c0::m.mBackJumpAnm); - mNormalSpeed = daAlinkHIO_sideStep_c0::m.mBackJumpSpeedH; - speed.y = daAlinkHIO_sideStep_c0::m.mBackJumpSpeedV; + setSingleAnimeParam(ANM_BACK_JUMP, &mpHIO->mSideStep.m.mBackJumpAnm); + mNormalSpeed = mpHIO->mSideStep.m.mBackJumpSpeedH; + speed.y = mpHIO->mSideStep.m.mBackJumpSpeedV; mProcVar1.field_0x300a = 0; } else { daAlink_ANM anm_id; @@ -15068,15 +15099,15 @@ int daAlink_c::procSideStepInit(int jump_type) { current.angle.y = shape_angle.y - 0x4000; } - setSingleAnimeParam(anm_id, &daAlinkHIO_sideStep_c0::m.mSideJumpAnm); - mNormalSpeed = daAlinkHIO_sideStep_c0::m.mSideJumpSpeedH; - speed.y = daAlinkHIO_sideStep_c0::m.mSideJumpSpeedV; + setSingleAnimeParam(anm_id, &mpHIO->mSideStep.m.mSideJumpAnm); + mNormalSpeed = mpHIO->mSideStep.m.mSideJumpSpeedH; + speed.y = mpHIO->mSideStep.m.mSideJumpSpeedV; mProcVar1.field_0x300a = 1; } if (checkNoResetFlg0(FLG0_UNDERWATER)) { - mNormalSpeed *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityX; - speed.y *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityY; + mNormalSpeed *= mpHIO->mItem.mIronBoots.m.mWaterVelocityX; + speed.y *= mpHIO->mItem.mIronBoots.m.mWaterVelocityY; } voiceStart(Z2SE_AL_V_JUMP_S); @@ -15112,9 +15143,9 @@ int daAlink_c::procSideStep() { } else if (checkNoUpperAnime() && checkForceSwordSwing()) { setCutDash(1, 0); } else if (mDemo.getDemoMode() != 16 && - current.pos.y < mLastJumpPos.y - daAlinkHIO_sideStep_c0::m.mFallHeight) + current.pos.y < mLastJumpPos.y - mpHIO->mSideStep.m.mFallHeight) { - return procFallInit(2, daAlinkHIO_sideStep_c0::m.mFallInterpolation); + return procFallInit(2, mpHIO->mSideStep.m.mFallInterpolation); } mProcVar3.field_0x300e = 1; @@ -15127,8 +15158,8 @@ int daAlink_c::procSideStepLandInit() { if (field_0x2f98 == 1) { field_0x2f9d = 4; - setSingleAnimeParam(ANM_BACK_JUMP_LAND, &daAlinkHIO_sideStep_c0::m.mBackLandAnm); - field_0x3478 = daAlinkHIO_sideStep_c0::m.mBackLandAnm.mCancelFrame; + setSingleAnimeParam(ANM_BACK_JUMP_LAND, &mpHIO->mSideStep.m.mBackLandAnm); + field_0x3478 = mpHIO->mSideStep.m.mBackLandAnm.mCancelFrame; field_0x2f98 = 2; mProcVar1.field_0x300a = 0; field_0x2fb0 = 0; @@ -15144,14 +15175,14 @@ int daAlink_c::procSideStepLandInit() { uvar3 = 0x40; } - setSingleAnimeParam(anm_id, &daAlinkHIO_sideStep_c0::m.mSideLandAnm); - field_0x3478 = daAlinkHIO_sideStep_c0::m.mSideLandAnm.mCancelFrame; + setSingleAnimeParam(anm_id, &mpHIO->mSideStep.m.mSideLandAnm); + field_0x3478 = mpHIO->mSideStep.m.mSideLandAnm.mCancelFrame; mProcVar1.field_0x300a = 1; field_0x2fb0 = 8; field_0x2fcc = 0; if (checkEnemyGroup(mTargetedActor) && mEquipItem == 0x103 && checkNoUpperAnime()) { - setUpperAnimeBaseSpeed(uvar3, daAlinkHIO_atnMove_c0::m.mWaitAnmSpeed, -1.0f); + setUpperAnimeBaseSpeed(uvar3, mpHIO->mAtnMove.m.mWaitAnmSpeed, -1.0f); seStartSwordCut(Z2SE_AL_WAIT_SWORD_SWING); } } @@ -15209,7 +15240,7 @@ int daAlink_c::procSlideInit(s16 param_0) { if (cLib_distanceAngleS(param_0, shape_angle.y) < 0x3800 || mProcVar3.field_0x300e != 0) { field_0x3198 = 1; - setSingleAnimeParam(ANM_SLIDE_FORWARD, &daAlinkHIO_slide_c0::m.mForwardSlideAnm); + setSingleAnimeParam(ANM_SLIDE_FORWARD, &mpHIO->mSlide.m.mForwardSlideAnm); dComIfGp_setPlayerStatus1(0, 0x100); onModeFlg(MODE_UNK_8000); onModeFlg(MODE_UNK_2000000); @@ -15221,13 +15252,13 @@ int daAlink_c::procSlideInit(s16 param_0) { setFootEffectProcType(0); } else { field_0x3198 = 0; - setSingleAnimeParam(ANM_SLIDE_BACKWARD, &daAlinkHIO_slide_c0::m.mBackwardSlideAnm); + setSingleAnimeParam(ANM_SLIDE_BACKWARD, &mpHIO->mSlide.m.mBackwardSlideAnm); dComIfGp_setPlayerStatus1(0, 0x200); field_0x2f9d = 0x60; setFootEffectProcType(1); } - field_0x594 = daAlinkHIO_slide_c0::m.mMaxSpeed; + field_0x594 = mpHIO->mSlide.m.mMaxSpeed; field_0x33cc = 0.0f; mProcVar2.field_0x300c = 0; mProcVar4.field_0x3010 = 0; @@ -15267,7 +15298,7 @@ int daAlink_c::procSlide() { cLib_addCalcAngleS(&shape_angle.y, shape_angleY, 4, 0x1000, 0x400); if (field_0x3198 == 0 || mUnderFrameCtrl[0].getFrame() > 6.0f) { - f32 accel = daAlinkHIO_slide_c0::m.mAcceleration; + f32 accel = mpHIO->mSlide.m.mAcceleration; f32 var_f6 = field_0x594; if (checkNoResetFlg0(FLG0_UNDERWATER)) { @@ -15299,14 +15330,14 @@ int daAlink_c::procSlideLandInit(int param_0) { commonProcInit(PROC_SLIDE_LAND); if (param_0 != 0) { - setSingleAnimeParam(ANM_SLIDE_FORWARD_END, &daAlinkHIO_slide_c0::m.mForwardLandAnm); - field_0x3478 = daAlinkHIO_slide_c0::m.mForwardLandAnm.mCancelFrame; + setSingleAnimeParam(ANM_SLIDE_FORWARD_END, &mpHIO->mSlide.m.mForwardLandAnm); + field_0x3478 = mpHIO->mSlide.m.mForwardLandAnm.mCancelFrame; field_0x3198 = 1; field_0x2f99 = 4; field_0x3588 = l_waitBaseAnime; } else { - setSingleAnimeParam(ANM_SLIDE_BACKWARD_END, &daAlinkHIO_slide_c0::m.mBackwardLandAnm); - field_0x3478 = daAlinkHIO_slide_c0::m.mBackwardLandAnm.mCancelFrame; + setSingleAnimeParam(ANM_SLIDE_BACKWARD_END, &mpHIO->mSlide.m.mBackwardLandAnm); + field_0x3478 = mpHIO->mSlide.m.mBackwardLandAnm.mCancelFrame; field_0x3198 = 0; } @@ -15348,26 +15379,26 @@ int daAlink_c::procFrontRollInit() { BOOL is_dive_jump = mProcID == PROC_DIVE_JUMP; commonProcInit(PROC_FRONT_ROLL); - f32 roll_anm_speed = is_dive_jump ? 6.0f : daAlinkHIO_frontRoll_c0::m.mRollAnm.mStartFrame; + f32 roll_anm_speed = is_dive_jump ? 6.0f : mpHIO->mFrontRoll.m.mRollAnm.mStartFrame; - setSingleAnime(ANM_FRONT_ROLL, daAlinkHIO_frontRoll_c0::m.mRollAnm.mSpeed, roll_anm_speed, - daAlinkHIO_frontRoll_c0::m.mRollAnm.mEndFrame, - daAlinkHIO_frontRoll_c0::m.mRollAnm.mInterpolation); + setSingleAnime(ANM_FRONT_ROLL, mpHIO->mFrontRoll.m.mRollAnm.mSpeed, roll_anm_speed, + mpHIO->mFrontRoll.m.mRollAnm.mEndFrame, + mpHIO->mFrontRoll.m.mRollAnm.mInterpolation); mNormalSpeed = - speedF * daAlinkHIO_frontRoll_c0::m.mSpeedRate + daAlinkHIO_frontRoll_c0::m.mInitSpeed; + speedF * mpHIO->mFrontRoll.m.mSpeedRate + mpHIO->mFrontRoll.m.mInitSpeed; - f32 var_f30 = daAlinkHIO_frontRoll_c0::m.mInitSpeed + daAlinkHIO_move_c0::m.mMaxSpeed * daAlinkHIO_frontRoll_c0::m.mSpeedRate; + f32 var_f30 = mpHIO->mFrontRoll.m.mInitSpeed + mpHIO->mMove.m.mMaxSpeed * mpHIO->mFrontRoll.m.mSpeedRate; if (mNormalSpeed > var_f30) { mNormalSpeed = var_f30; } - if (mNormalSpeed < daAlinkHIO_frontRoll_c0::m.mMinSpeed) { - mNormalSpeed = daAlinkHIO_frontRoll_c0::m.mMinSpeed; + if (mNormalSpeed < mpHIO->mFrontRoll.m.mMinSpeed) { + mNormalSpeed = mpHIO->mFrontRoll.m.mMinSpeed; } if (checkNoResetFlg0(FLG0_UNDERWATER)) { - mNormalSpeed *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityX; + mNormalSpeed *= mpHIO->mItem.mIronBoots.m.mWaterVelocityX; } else if (checkHeavyStateOn(1, 1)) { mNormalSpeed *= mHeavySpeedMultiplier; } @@ -15388,7 +15419,7 @@ int daAlink_c::procFrontRollInit() { field_0xFB8.SetAtAtp(2); field_0xFB8.SetAtMtrl(dCcD_MTRL_NONE); field_0xFB8.ResetAtHit(); - field_0xFB8.SetR(daAlinkHIO_frontRoll_c0::m.mBootsAttackRadius); + field_0xFB8.SetR(mpHIO->mFrontRoll.m.mBootsAttackRadius); field_0xFB8.OnAtSetBit(); } @@ -15405,9 +15436,9 @@ int daAlink_c::procFrontRoll() { } if (checkInputOnR()) { - cLib_addCalcAngleS(¤t.angle.y, field_0x2fe2, daAlinkHIO_frontRoll_c0::m.mTurnRate, - daAlinkHIO_frontRoll_c0::m.mMaxTurnAngle, - daAlinkHIO_frontRoll_c0::m.mTurnMinAngle); + cLib_addCalcAngleS(¤t.angle.y, field_0x2fe2, mpHIO->mFrontRoll.m.mTurnRate, + mpHIO->mFrontRoll.m.mMaxTurnAngle, + mpHIO->mFrontRoll.m.mTurnMinAngle); shape_angle.y = current.angle.y; } @@ -15420,7 +15451,7 @@ int daAlink_c::procFrontRoll() { dComIfGp_evmng_cutEnd(mAlinkStaffId); } else { if (!checkInputOnR()) { - mNormalSpeed -= daAlinkHIO_frontRoll_c0::m.mMinSpeed; + mNormalSpeed -= mpHIO->mFrontRoll.m.mMinSpeed; if (mNormalSpeed < 0.0f) { mNormalSpeed = 0.0f; } @@ -15428,7 +15459,7 @@ int daAlink_c::procFrontRoll() { checkNextAction(0); } - } else if (frameCtrl_p->getFrame() > daAlinkHIO_frontRoll_c0::m.mRollAnm.mCancelFrame) { + } else if (frameCtrl_p->getFrame() > mpHIO->mFrontRoll.m.mRollAnm.mCancelFrame) { onModeFlg(4); cLib_chaseF(&mNormalSpeed, 0.0f, 2.5f); @@ -15442,16 +15473,16 @@ int daAlink_c::procFrontRoll() { cLib_chaseF(&mNormalSpeed, 0.0f, 2.5f); } } else if (mDemo.getDemoMode() != 0x28 && - speedF >= daAlinkHIO_frontRoll_c0::m.mCrashSpeedThreshold && + speedF >= mpHIO->mFrontRoll.m.mCrashSpeedThreshold && (checkNoResetFlg0(FLG0_UNK_18) || (mAcchCir[0].ChkWallHit() && !dComIfG_Bgsp().GetPolyAttackThrough(mAcchCir[0])) && dComIfG_Bgsp().GetWallCode(mAcchCir[0]) != 7 && cLib_distanceAngleS(current.angle.y + 0x8000, mAcchCir[0].GetWallAngleY()) <= - daAlinkHIO_frontRoll_c0::m.mCrashAngleThreshold && - frameCtrl_p->getFrame() >= daAlinkHIO_frontRoll_c0::m.mCrashInitF && - frameCtrl_p->getFrame() <= daAlinkHIO_frontRoll_c0::m.mCrashEndF)) + mpHIO->mFrontRoll.m.mCrashAngleThreshold && + frameCtrl_p->getFrame() >= mpHIO->mFrontRoll.m.mCrashInitF && + frameCtrl_p->getFrame() <= mpHIO->mFrontRoll.m.mCrashEndF)) { if (!checkNoResetFlg0(FLG0_UNK_18)) { mRollCrashFlg = dKy_pol_sound_get(&mAcchCir[0]); @@ -15493,16 +15524,16 @@ int daAlink_c::procFrontRoll() { int daAlink_c::procFrontRollCrashInit() { commonProcInit(PROC_FRONT_ROLL_CRASH); setSingleAnime(ANM_ROLL_CRASH, 0.0f, - daAlinkHIO_frontRoll_c0::m.mCrashAnm.mStartFrame, - daAlinkHIO_frontRoll_c0::m.mCrashAnm.mEndFrame, - daAlinkHIO_frontRoll_c0::m.mCrashAnm.mInterpolation); + mpHIO->mFrontRoll.m.mCrashAnm.mStartFrame, + mpHIO->mFrontRoll.m.mCrashAnm.mEndFrame, + mpHIO->mFrontRoll.m.mCrashAnm.mInterpolation); - mNormalSpeed = daAlinkHIO_frontRoll_c0::m.mCrashSpeedH; - speed.y = daAlinkHIO_frontRoll_c0::m.mCrashSpeedV; + mNormalSpeed = mpHIO->mFrontRoll.m.mCrashSpeedH; + speed.y = mpHIO->mFrontRoll.m.mCrashSpeedV; if (checkNoResetFlg0(FLG0_UNDERWATER)) { - mNormalSpeed *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityX; - speed.y *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityY; + mNormalSpeed *= mpHIO->mItem.mIronBoots.m.mWaterVelocityX; + speed.y *= mpHIO->mItem.mIronBoots.m.mWaterVelocityY; } current.angle.y -= -0x8000; @@ -15519,7 +15550,7 @@ int daAlink_c::procFrontRollCrash() { if (!checkModeFlg(2)) { if (frameCtrl->checkAnmEnd()) { checkNextAction(0); - } else if (frameCtrl->getFrame() > daAlinkHIO_frontRoll_c0::m.mCrashAnm.mCancelFrame) { + } else if (frameCtrl->getFrame() > mpHIO->mFrontRoll.m.mCrashAnm.mCancelFrame) { onModeFlg(4); checkNextAction(1); } else if (frameCtrl->getFrame() >= 18.0f) { @@ -15532,7 +15563,7 @@ int daAlink_c::procFrontRollCrash() { checkModeFlg(2)) { mNormalSpeed = 0.0f; - setWaterInAnmRate(frameCtrl, daAlinkHIO_frontRoll_c0::m.mCrashAnm.mSpeed); + setWaterInAnmRate(frameCtrl, mpHIO->mFrontRoll.m.mCrashAnm.mSpeed); frameCtrl->offEndFlg(); current.angle.y = shape_angle.y; voiceStart(Z2SE_AL_V_ZENTEN_FAIL_2); @@ -15547,7 +15578,7 @@ int daAlink_c::procFrontRollSuccessInit() { BOOL dk_caught = mProcID == PROC_DK_CAUGHT; commonProcInit(PROC_FRONT_ROLL_SUCCESS); - setSingleAnimeParam(ANM_BARRIER_RECOIL, &daAlinkHIO_frontRoll_c0::m.mCrashHitAnm); + setSingleAnimeParam(ANM_BARRIER_RECOIL, &mpHIO->mFrontRoll.m.mCrashHitAnm); mNormalSpeed = 0.0f; if (!dk_caught) { @@ -15576,7 +15607,7 @@ int daAlink_c::procFrontRollSuccess() { if (frameCtrl->checkAnmEnd()) { current.angle.y = shape_angle.y; checkNextAction(0); - } else if (frameCtrl->getFrame() > daAlinkHIO_frontRoll_c0::m.mCrashHitAnm.mCancelFrame) { + } else if (frameCtrl->getFrame() > mpHIO->mFrontRoll.m.mCrashHitAnm.mCancelFrame) { onModeFlg(4); current.angle.y = shape_angle.y; checkNextAction(1); @@ -15608,14 +15639,14 @@ int daAlink_c::procSideRollInit(int param_0) { current.angle.y = shape_angle.y + -0x4000; } - setSingleAnime(anmID, daAlinkHIO_turnMove_c0::m.mSideRollAnmSpeed, - daAlinkHIO_turnMove_c0::m.mTurnAnm.mStartFrame, - daAlinkHIO_turnMove_c0::m.mTurnAnm.mEndFrame, - daAlinkHIO_turnMove_c0::m.mTurnAnm.mInterpolation); - mNormalSpeed = daAlinkHIO_turnMove_c0::m.mSideRollSpeed; + setSingleAnime(anmID, mpHIO->mGuard.mTurnMove.m.mSideRollAnmSpeed, + mpHIO->mGuard.mTurnMove.m.mTurnAnm.mStartFrame, + mpHIO->mGuard.mTurnMove.m.mTurnAnm.mEndFrame, + mpHIO->mGuard.mTurnMove.m.mTurnAnm.mInterpolation); + mNormalSpeed = mpHIO->mGuard.mTurnMove.m.mSideRollSpeed; if (checkNoResetFlg0(FLG0_UNDERWATER)) { - mNormalSpeed *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityX; + mNormalSpeed *= mpHIO->mItem.mIronBoots.m.mWaterVelocityX; } else if (checkHeavyStateOn(1, 1)) { mNormalSpeed *= mHeavySpeedMultiplier; } @@ -15669,10 +15700,10 @@ int daAlink_c::procSideRoll() { checkNextAction(0); } } else if (mProcVar2.field_0x300c != 0 && !checkNotJumpSinkLimit() && - frameCtrl_p->getFrame() > daAlinkHIO_turnMove_c0::m.mTurnAnm.mCancelFrame) + frameCtrl_p->getFrame() > mpHIO->mGuard.mTurnMove.m.mTurnAnm.mCancelFrame) { procCutFinishJumpUpInit(); - } else if (frameCtrl_p->getFrame() > daAlinkHIO_turnMove_c0::m.mTurnAnm.mCancelFrame) { + } else if (frameCtrl_p->getFrame() > mpHIO->mGuard.mTurnMove.m.mTurnAnm.mCancelFrame) { onModeFlg(4); if (!checkNextAction(1)) { cLib_chaseF(&mNormalSpeed, 0.0f, 7.5f); @@ -15720,14 +15751,14 @@ int daAlink_c::procBackJumpInit(int param_0) { commonProcInit(PROC_BACK_JUMP); if (param_0) { - setSingleAnimeParam(ANM_BACKFLIP, &daAlinkHIO_cutDown_c0::m.mRecoverAnm); - mNormalSpeed = daAlinkHIO_cutDown_c0::m.mRecoverSpeedV; - speed.y = daAlinkHIO_cutDown_c0::m.mSpeedV; + setSingleAnimeParam(ANM_BACKFLIP, &mpHIO->mCut.mCutDown.m.mRecoverAnm); + mNormalSpeed = mpHIO->mCut.mCutDown.m.mRecoverSpeedV; + speed.y = mpHIO->mCut.mCutDown.m.mSpeedV; voiceStart(Z2SE_AL_V_TODOME_RETURN); } else { - setSingleAnimeParam(ANM_BACKFLIP, &daAlinkHIO_backJump_c0::m.mBackflipAnm); - mNormalSpeed = daAlinkHIO_backJump_c0::m.mBackflipSpeedH; - speed.y = daAlinkHIO_backJump_c0::m.mBackflipSpeedV; + setSingleAnimeParam(ANM_BACKFLIP, &mpHIO->mBackJump.m.mBackflipAnm); + mNormalSpeed = mpHIO->mBackJump.m.mBackflipSpeedH; + speed.y = mpHIO->mBackJump.m.mBackflipSpeedV; voiceStart(Z2SE_AL_V_BACKTEN); } @@ -15773,9 +15804,9 @@ int daAlink_c::procBackJump() { if (mLinkAcch.ChkGroundHit() && mUnderFrameCtrl[0].checkAnmEnd()) { procBackJumpLandInit(field_0x3198); } else if (mDemo.getDemoMode() != 0x10 && - current.pos.y < mLastJumpPos.y - daAlinkHIO_backJump_c0::m.mFallHeight) + current.pos.y < mLastJumpPos.y - mpHIO->mBackJump.m.mFallHeight) { - procFallInit(2, daAlinkHIO_backJump_c0::m.mFallInterpolation); + procFallInit(2, mpHIO->mBackJump.m.mFallInterpolation); } checkItemChangeFromButton(); @@ -15784,7 +15815,7 @@ int daAlink_c::procBackJump() { int daAlink_c::procBackJumpLandInit(int i_cutDirection) { commonProcInit(PROC_BACK_JUMP_LAND); - setSingleAnimeParam(ANM_BACKFLIP_LAND, &daAlinkHIO_backJump_c0::m.mLandAnm); + setSingleAnimeParam(ANM_BACKFLIP_LAND, &mpHIO->mBackJump.m.mLandAnm); mNormalSpeed = 0.0f; field_0x2f9d = 4; @@ -15817,7 +15848,7 @@ int daAlink_c::procBackJumpLand() { } checkNextAction(0); } - } else if (frameCtrl->getFrame() > daAlinkHIO_backJump_c0::m.mLandAnm.mCancelFrame) { + } else if (frameCtrl->getFrame() > mpHIO->mBackJump.m.mLandAnm.mCancelFrame) { if (mEquipItem == 0x103 && (field_0x3198 != 2 || checkCutTurnInput())) { return procCutTurnInit(1, field_0x3198); } @@ -15830,8 +15861,8 @@ int daAlink_c::procBackJumpLand() { int daAlink_c::procSlipInit() { commonProcInit(PROC_SLIP); - setSingleAnimeParam(ANM_SLIP, &daAlinkHIO_move_c0::m.mSlideAnm); - mNormalSpeed = speedF * daAlinkHIO_move_c0::m.mSlideSpeed; + setSingleAnimeParam(ANM_SLIP, &mpHIO->mMove.m.mSlideAnm); + mNormalSpeed = speedF * mpHIO->mMove.m.mSlideSpeed; field_0x2f9d = 0x40; setFootEffectProcType(1); @@ -15841,7 +15872,7 @@ int daAlink_c::procSlipInit() { } int daAlink_c::procSlip() { - cLib_chaseF(&mNormalSpeed, 0.0f, daAlinkHIO_move_c0::m.mSlideDeceleration); + cLib_chaseF(&mNormalSpeed, 0.0f, mpHIO->mMove.m.mSlideDeceleration); if (checkZeroSpeedF()) { if (checkInputOnR()) { @@ -15918,11 +15949,11 @@ int daAlink_c::procAutoJumpInit(int param_0) { } setSingleAnimeBaseSpeed(ANM_JUMP_LAND, 0.0f, - daAlinkHIO_autoJump_c0::m.mJumpFallInterpolation); + mpHIO->mAutoJump.m.mJumpFallInterpolation); field_0x3198 = 0x33; current.angle.y = shape_angle.y + 0x8000; } else { - setSingleAnimeParam(ANM_JUMP_START, &daAlinkHIO_autoJump_c0::m.mJumpAnm); + setSingleAnimeParam(ANM_JUMP_START, &mpHIO->mAutoJump.m.mJumpAnm); if (!not_front_roll) { field_0x2060->initOldFrameMorf(0.0f, 0, 35); } @@ -15938,7 +15969,7 @@ int daAlink_c::procAutoJumpInit(int param_0) { grab_actor_name = PROC_ALINK; } - s16 angle = daAlinkHIO_autoJump_c0::m.mJumpAngle; + s16 angle = mpHIO->mAutoJump.m.mJumpAngle; BOOL cucco_jump = false; field_0x3478 = -10.0f; if (grab_actor_name == PROC_NI || grab_actor_name == PROC_NPC_TKJ2) { @@ -15951,15 +15982,15 @@ int daAlink_c::procAutoJumpInit(int param_0) { field_0x594 = 27.0f; field_0x3478 = -10.0f; } else { - field_0x594 = daAlinkHIO_autoJump_c0::m.mCuccoJumpMaxSpeed; - field_0x3478 = daAlinkHIO_autoJump_c0::m.mCuccoFallMaxSpeed; + field_0x594 = mpHIO->mAutoJump.m.mCuccoJumpMaxSpeed; + field_0x3478 = mpHIO->mAutoJump.m.mCuccoFallMaxSpeed; } - angle = daAlinkHIO_autoJump_c0::m.mCuccoJumpAngle; + angle = mpHIO->mAutoJump.m.mCuccoJumpAngle; cucco_jump = true; } } else { - field_0x594 = daAlinkHIO_autoJump_c0::m.mMaxJumpSpeed; + field_0x594 = mpHIO->mAutoJump.m.mMaxJumpSpeed; } if (checkGrabGlide()) { @@ -15970,20 +16001,20 @@ int daAlink_c::procAutoJumpInit(int param_0) { speedF = field_0x594 * 0.75f; } else { if (speedF > field_0x594 || param_0 || - daAlinkHIO_autoJump_c0::m.mAlwaysMaxSpeedJump == true) + mpHIO->mAutoJump.m.mAlwaysMaxSpeedJump == true) { speedF = field_0x594; - } else if (speedF < daAlinkHIO_autoJump_c0::m.mMinJumpSpeed) { - speedF = daAlinkHIO_autoJump_c0::m.mMinJumpSpeed; + } else if (speedF < mpHIO->mAutoJump.m.mMinJumpSpeed) { + speedF = mpHIO->mAutoJump.m.mMinJumpSpeed; } } - mNormalSpeed = speedF * daAlinkHIO_autoJump_c0::m.mJumpSpeedRate; + mNormalSpeed = speedF * mpHIO->mAutoJump.m.mJumpSpeedRate; speed.y = mNormalSpeed * cM_ssin(angle); mNormalSpeed *= cM_scos(angle); if (cucco_jump) { - mNormalSpeed = daAlinkHIO_autoJump_c0::m.mCuccoStartSpeed; + mNormalSpeed = mpHIO->mAutoJump.m.mCuccoStartSpeed; } field_0x3588 = l_waitBaseAnime; @@ -16058,8 +16089,8 @@ int daAlink_c::procAutoJump() { } if (!checkGrabGlide()) { - setSpecialGravity(daAlinkHIO_autoJump_c0::m.mGravity, - daAlinkHIO_autoJump_c0::m.mMaxFallSpeed, 1); + setSpecialGravity(mpHIO->mAutoJump.m.mGravity, + mpHIO->mAutoJump.m.mMaxFallSpeed, 1); mProcVar2.field_0x300c = 0; resetUpperAnime(UPPER_1, 3.0f); field_0x30a0 = 0; @@ -16071,8 +16102,8 @@ int daAlink_c::procAutoJump() { mFallHeight = current.pos.y; setSpecialGravity(-1.0f, field_0x3478, 0); } else { - setSpecialGravity(daAlinkHIO_autoJump_c0::m.mGravity, - daAlinkHIO_autoJump_c0::m.mMaxFallSpeed * 0.6666667f, 0); + setSpecialGravity(mpHIO->mAutoJump.m.mGravity, + mpHIO->mAutoJump.m.mMaxFallSpeed * 0.6666667f, 0); } s16 diff; @@ -16092,8 +16123,8 @@ int daAlink_c::procAutoJump() { setFallVoice(); f32 temp_f1 = (mFallHeight - current.pos.y) * 0.01f; - if (field_0x3198 != 0x8C && temp_f1 > daAlinkHIO_damFall_c0::m.mFallAnmTransitionHeight) { - setSingleAnimeBaseSpeed(ANM_DMG_FALL, 0.0f, daAlinkHIO_damFall_c0::m.mFallAnmMorf); + if (field_0x3198 != 0x8C && temp_f1 > mpHIO->mDamage.mDamFall.m.mFallAnmTransitionHeight) { + setSingleAnimeBaseSpeed(ANM_DMG_FALL, 0.0f, mpHIO->mDamage.mDamFall.m.mFallAnmMorf); field_0x3198 = 0x8C; } else if (speed.y < -gravity && field_0x2f99 == 4) { if (checkGrabGlide()) { @@ -16102,7 +16133,7 @@ int daAlink_c::procAutoJump() { } setSingleAnimeBaseSpeed(ANM_JUMP_LAND, 0.0f, - daAlinkHIO_autoJump_c0::m.mJumpFallInterpolation); + mpHIO->mAutoJump.m.mJumpFallInterpolation); if (mProcVar2.field_0x300c != 0) { setUpperAnime(0x276, UPPER_1, 1.0f, 0.0f, -1, 3.0f); @@ -16111,7 +16142,7 @@ int daAlink_c::procAutoJump() { field_0x2f99 = 0x20; field_0x3198 = 0x33; } else if (field_0x3198 == 0x31 && mUnderFrameCtrl[0].checkAnmEnd()) { - setSingleAnimeBaseSpeed(ANM_JUMP, 0.0f, daAlinkHIO_autoJump_c0::m.mAirborneInterpolation); + setSingleAnimeBaseSpeed(ANM_JUMP, 0.0f, mpHIO->mAutoJump.m.mAirborneInterpolation); field_0x3198 = 0x32; } @@ -16126,13 +16157,13 @@ int daAlink_c::procAutoJump() { int daAlink_c::procDiveJumpInit() { commonProcInit(PROC_DIVE_JUMP); - setSingleAnimeParam(ANM_DIVE_START, &daAlinkHIO_autoJump_c0::m.mDiveAnm); + setSingleAnimeParam(ANM_DIVE_START, &mpHIO->mAutoJump.m.mDiveAnm); deleteEquipItem(TRUE, TRUE); setHeavyBoots(0); - speed.y = daAlinkHIO_autoJump_c0::m.mDiveSpeedV; - mNormalSpeed = daAlinkHIO_autoJump_c0::m.mDiveSpeedH; - gravity = daAlinkHIO_autoJump_c0::m.mDiveGravity; + speed.y = mpHIO->mAutoJump.m.mDiveSpeedV; + mNormalSpeed = mpHIO->mAutoJump.m.mDiveSpeedH; + gravity = mpHIO->mAutoJump.m.mDiveGravity; mProcVar2.field_0x300c = 0; current.angle.y = shape_angle.y; @@ -16151,7 +16182,7 @@ int daAlink_c::procDiveJump() { if (mProcVar2.field_0x300c == 0) { if (frameCtrl->checkAnmEnd()) { - setSingleAnimeParam(ANM_DIVE, &daAlinkHIO_autoJump_c0::m.mDiveConnectAnm); + setSingleAnimeParam(ANM_DIVE, &mpHIO->mAutoJump.m.mDiveConnectAnm); mProcVar2.field_0x300c = 1; field_0x2f99 = 2; } @@ -16169,7 +16200,7 @@ int daAlink_c::procDiveJump() { int daAlink_c::procRollJumpInit() { commonProcInit(PROC_ROLL_JUMP); setSingleAnimeBaseSpeed(ANM_ROLL_JUMP, 0.0f, - daAlinkHIO_autoJump_c0::m.mSpinJumpInterpolation); + mpHIO->mAutoJump.m.mSpinJumpInterpolation); field_0x3478 = field_0x3410; mNormalSpeed = field_0x3410; @@ -16196,10 +16227,10 @@ int daAlink_c::procRollJump() { } if (speed.y < 0.0f) { - procFallInit(3, daAlinkHIO_autoJump_c0::m.mSpinJumpFallInterpolation); + procFallInit(3, mpHIO->mAutoJump.m.mSpinJumpFallInterpolation); } else { s16 old_angle = shape_angle.x; - shape_angle.x += daAlinkHIO_autoJump_c0::m.mSpinJumpRotateSpeed; + shape_angle.x += mpHIO->mAutoJump.m.mSpinJumpRotateSpeed; if (shape_angle.x * old_angle <= 0) { if (mProcVar2.field_0x300c != 0) { @@ -16212,8 +16243,8 @@ int daAlink_c::procRollJump() { cLib_chaseF(&field_0x347c, field_0x33a8 * cM_scos(field_0x2fe2 - shape_angle.y) * - daAlinkHIO_autoJump_c0::m.mSpinJumpAddSpeed, - daAlinkHIO_autoJump_c0::m.mSpinJumpAccel); + mpHIO->mAutoJump.m.mSpinJumpAddSpeed, + mpHIO->mAutoJump.m.mSpinJumpAccel); mNormalSpeed = field_0x3478 + field_0x347c; } @@ -16337,9 +16368,9 @@ int daAlink_c::procFall() { setFallVoice(); f32 tmp_f1 = (mFallHeight - current.pos.y) * 0.0099999998f; - if (mProcVar2.field_0x300c == 0 && tmp_f1 > daAlinkHIO_damFall_c0::m.mFallAnmTransitionHeight) { + if (mProcVar2.field_0x300c == 0 && tmp_f1 > mpHIO->mDamage.mDamFall.m.mFallAnmTransitionHeight) { setSingleAnimeBaseSpeed(ANM_DMG_FALL, 0.0f, - daAlinkHIO_damFall_c0::m.mFallAnmMorf); + mpHIO->mDamage.mDamFall.m.mFallAnmMorf); mProcVar2.field_0x300c = 1; } @@ -16359,7 +16390,7 @@ int daAlink_c::procLandInit(f32 param_0) { commonProcInit(PROC_LAND); mNormalSpeed = 0.0f; - setSingleAnimeParam(ANM_JUMP_LAND, &daAlinkHIO_autoJump_c0::m.mLandAnm); + setSingleAnimeParam(ANM_JUMP_LAND, &mpHIO->mAutoJump.m.mLandAnm); if (checkGrabGlide()) { mUnderFrameCtrl[0].setRate(0.5f); @@ -16383,14 +16414,14 @@ int daAlink_c::procLand() { if (frameCtrl->checkAnmEnd()) { checkNextAction(0); - } else if (frameCtrl->getFrame() > daAlinkHIO_autoJump_c0::m.mLandAnm.mCancelFrame) { + } else if (frameCtrl->getFrame() > mpHIO->mAutoJump.m.mLandAnm.mCancelFrame) { checkNextAction(1); } else if (frameCtrl->checkPass(4.0f)) { int var_r4; if (checkBootsOrArmorHeavy()) { var_r4 = 3; } else if (checkNoResetFlg0(FLG0_UNDERWATER) || - field_0x3478 < daAlinkHIO_damFall_c0::m.mMinRollHeight) + field_0x3478 < mpHIO->mDamage.mDamFall.m.mMinRollHeight) { var_r4 = 1; } else { @@ -16408,9 +16439,9 @@ int daAlink_c::procSmallJumpInit(int param_0) { commonProcInit(PROC_SMALL_JUMP); if (param_0 == 2) { - setSingleAnime(ANM_VJUMP_START, daAlinkHIO_smallJump_c0::m.mSmallJumpAnm.mSpeed, 6.0f, - daAlinkHIO_smallJump_c0::m.mSmallJumpAnm.mEndFrame, - daAlinkHIO_smallJump_c0::m.mSmallJumpAnm.mInterpolation); + setSingleAnime(ANM_VJUMP_START, mpHIO->mWallHang.mSmallJump.m.mSmallJumpAnm.mSpeed, 6.0f, + mpHIO->mWallHang.mSmallJump.m.mSmallJumpAnm.mEndFrame, + mpHIO->mWallHang.mSmallJump.m.mSmallJumpAnm.mInterpolation); setJumpMode(); speed.y = 24.0f; voiceStart(Z2SE_AL_V_JUMP_S); @@ -16418,7 +16449,7 @@ int daAlink_c::procSmallJumpInit(int param_0) { field_0x33b0 = field_0x3588.y; field_0x34d4 = l_waitBaseAnime; } else { - setSingleAnimeParam(ANM_VJUMP_START, &daAlinkHIO_smallJump_c0::m.mSmallJumpAnm); + setSingleAnimeParam(ANM_VJUMP_START, &mpHIO->mWallHang.mSmallJump.m.mSmallJumpAnm); if (param_0 == 1) { field_0x3478 = field_0x27f4->current.pos.y + 20.0f; @@ -16457,21 +16488,21 @@ int daAlink_c::procSmallJump() { if (mLinkAcch.ChkGroundHit()) { checkLandAction(0); } else if (speed.y < -gravity) { - procFallInit(2, daAlinkHIO_smallJump_c0::m.mFallInterpolation); + procFallInit(2, mpHIO->mWallHang.mSmallJump.m.mFallInterpolation); } else { field_0x2f99 = 7; } } else if (mUnderFrameCtrl[0].checkPass(6.0f)) { setJumpMode(); - mNormalSpeed = daAlinkHIO_smallJump_c0::m.mSpeedH; + mNormalSpeed = mpHIO->mWallHang.mSmallJump.m.mSpeedH; if (checkHeavyStateOn(1, 1) && !checkNoResetFlg0(FLG0_UNDERWATER)) { - f32 temp = daAlinkHIO_smallJump_c0::m.mTargetHeightOffset + + f32 temp = mpHIO->mWallHang.mSmallJump.m.mTargetHeightOffset + (field_0x3478 - current.pos.y); speed.y = JMAFastSqrt(2.0f * (temp * -(gravity * 2.25f))); } else { speed.y = - JMAFastSqrt(2.0f * (-gravity * (daAlinkHIO_smallJump_c0::m.mTargetHeightOffset + + JMAFastSqrt(2.0f * (-gravity * (mpHIO->mWallHang.mSmallJump.m.mTargetHeightOffset + (field_0x3478 - current.pos.y)))); } @@ -16492,7 +16523,7 @@ int daAlink_c::procSmallJump() { int daAlink_c::procStepMoveInit() { commonProcInit(PROC_STEP_MOVE); - setSingleAnimeParam(ANM_S_JUMP_START, &daAlinkHIO_smallJump_c0::m.mStepClimbAnm); + setSingleAnimeParam(ANM_S_JUMP_START, &mpHIO->mWallHang.mSmallJump.m.mStepClimbAnm); field_0x3478 = 0.5f * mNormalSpeed; mNormalSpeed = 0.0f; @@ -16512,7 +16543,7 @@ int daAlink_c::procStepMove() { return checkNextAction(0); } - if (frameCtrl->getFrame() > daAlinkHIO_smallJump_c0::m.mStepLandAnm.mCancelFrame) { + if (frameCtrl->getFrame() > mpHIO->mWallHang.mSmallJump.m.mStepLandAnm.mCancelFrame) { mNormalSpeed = field_0x3478; if (checkNextAction(1)) { @@ -16522,7 +16553,7 @@ int daAlink_c::procStepMove() { mNormalSpeed = 0.0f; } } else if (frameCtrl->checkAnmEnd()) { - setSingleAnimeParam(ANM_S_JUMP_END, &daAlinkHIO_smallJump_c0::m.mStepLandAnm); + setSingleAnimeParam(ANM_S_JUMP_END, &mpHIO->mWallHang.mSmallJump.m.mStepLandAnm); current.pos.set(field_0x34ec.x + cM_ssin(shape_angle.y) * 2.0f, field_0x34ec.y, field_0x34ec.z + cM_scos(shape_angle.y) * 2.0f); field_0x2f99 = 80; @@ -16537,14 +16568,14 @@ int daAlink_c::procCrouchInit() { return 0; } - setSingleAnimeBaseSpeed(ANM_CROUCH, daAlinkHIO_crouch_c0::m.mCrouchAnmSpeed, - daAlinkHIO_crouch_c0::m.mCrouchInterpolation); + setSingleAnimeBaseSpeed(ANM_CROUCH, mpHIO->mCrouch.m.mCrouchAnmSpeed, + mpHIO->mCrouch.m.mCrouchInterpolation); current.angle.y = shape_angle.y; return 1; } int daAlink_c::procCrouch() { - cLib_chaseF(&mNormalSpeed, 0.0f, daAlinkHIO_move_c0::m.mDeceleration); + cLib_chaseF(&mNormalSpeed, 0.0f, mpHIO->mMove.m.mDeceleration); if (checkAttentionState()) { setFaceBasicBck(0xE8); @@ -16607,7 +16638,7 @@ int daAlink_c::procCoMetamorphoseInit() { setSingleAnimeWolfBase(WANM_TRANSFORM_TO_HUMAN); field_0x3588 = l_wolfBaseAnime; field_0x347c = 0.5f; - field_0x3480 = daAlinkHIO_basic_c0::m.mWolfToLinkCancelFrame; + field_0x3480 = mpHIO->mBasic.m.mWolfToLinkCancelFrame; mProcVar2.field_0x300c = shape_angle.x; daMidna_c* midna = (daMidna_c*)getMidnaActor(); @@ -16625,7 +16656,7 @@ int daAlink_c::procCoMetamorphoseInit() { setSingleAnimeBase(ANM_TRANSFORM_TO_WOLF); setMetamorphoseModel(1); field_0x3588 = l_waitBaseAnime; - field_0x3480 = daAlinkHIO_basic_c0::m.mLinkToWolfCancelFrame; + field_0x3480 = mpHIO->mBasic.m.mLinkToWolfCancelFrame; cXyz pos(current.pos.x + (cM_ssin(shape_angle.y) * 100.0f), current.pos.y + 300.0f, current.pos.z + (cM_scos(shape_angle.y) * 100.0f)); @@ -16706,9 +16737,9 @@ int daAlink_c::procCoMetamorphose() { dComIfGp_evmng_cutEnd(mAlinkStaffId); if (checkWolf()) { - setSingleAnimeWolfBaseSpeed(WANM_WAIT, daAlinkHIO_wlMoveNoP_c0::m.mIdleAnmSpeed, -1.0f); + setSingleAnimeWolfBaseSpeed(WANM_WAIT, mpHIO->mWolf.mWlMoveNoP.m.mIdleAnmSpeed, -1.0f); } else { - setSingleAnimeBaseSpeed(ANM_WAIT, daAlinkHIO_move_c0::m.mWaitAnmSpeed, -1.0f); + setSingleAnimeBaseSpeed(ANM_WAIT, mpHIO->mMove.m.mWaitAnmSpeed, -1.0f); } field_0x2f99 = 0xC; @@ -16752,9 +16783,9 @@ int daAlink_c::procCoMetamorphose() { dComIfGp_evmng_cutEnd(mAlinkStaffId); if (checkWolf()) { - setSingleAnimeWolfBaseSpeed(WANM_WAIT, daAlinkHIO_wlMoveNoP_c0::m.mIdleAnmSpeed, -1.0f); + setSingleAnimeWolfBaseSpeed(WANM_WAIT, mpHIO->mWolf.mWlMoveNoP.m.mIdleAnmSpeed, -1.0f); } else { - setSingleAnimeBaseSpeed(ANM_WAIT, daAlinkHIO_move_c0::m.mWaitAnmSpeed, -1.0f); + setSingleAnimeBaseSpeed(ANM_WAIT, mpHIO->mMove.m.mWaitAnmSpeed, -1.0f); } field_0x2f99 = 0xC; @@ -16867,10 +16898,10 @@ int daAlink_c::procCoMetamorphoseOnly() { mProcVar3.field_0x300e = 1; if (checkWolf()) { - setSingleAnimeWolfBaseSpeed(WANM_WAIT, daAlinkHIO_wlMoveNoP_c0::m.mIdleAnmSpeed, + setSingleAnimeWolfBaseSpeed(WANM_WAIT, mpHIO->mWolf.mWlMoveNoP.m.mIdleAnmSpeed, -1.0f); } else { - setSingleAnimeBaseSpeed(ANM_WAIT, daAlinkHIO_move_c0::m.mWaitAnmSpeed, -1.0f); + setSingleAnimeBaseSpeed(ANM_WAIT, mpHIO->mMove.m.mWaitAnmSpeed, -1.0f); } } @@ -16882,8 +16913,8 @@ int daAlink_c::procCoMetamorphoseOnly() { int daAlink_c::procFloorDownReboundInit() { commonProcInit(PROC_FLOOR_DOWN_REBOUND); - setSingleAnime(ANM_JUMP_LAND, 0.69999999f, daAlinkHIO_autoJump_c0::m.mLandAnm.mStartFrame, - daAlinkHIO_autoJump_c0::m.mLandAnm.mEndFrame, 10.0f); + setSingleAnime(ANM_JUMP_LAND, 0.69999999f, mpHIO->mAutoJump.m.mLandAnm.mStartFrame, + mpHIO->mAutoJump.m.mLandAnm.mEndFrame, 10.0f); mNormalSpeed = 0.0f; current.angle.y = shape_angle.y; field_0x2f98 = 4; @@ -16896,7 +16927,7 @@ int daAlink_c::procFloorDownRebound() { if (frameCtrl->checkAnmEnd()) { checkNextAction(0); - } else if (frameCtrl->getFrame() > daAlinkHIO_autoJump_c0::m.mLandAnm.mCancelFrame) { + } else if (frameCtrl->getFrame() > mpHIO->mAutoJump.m.mLandAnm.mCancelFrame) { checkNextAction(1); } @@ -16913,7 +16944,7 @@ int daAlink_c::procGoronRideWaitInit(fopAc_ac_c* param_0) { current.pos.z = param_0->current.pos.z; field_0x2f99 = 0x50; current.angle.y = shape_angle.y; - setBlendMoveAnime(daAlinkHIO_basic_c0::m.mBasicInterpolation); + setBlendMoveAnime(mpHIO->mBasic.m.mBasicInterpolation); return 1; } @@ -16943,7 +16974,7 @@ int daAlink_c::procGoronRideWait() { var_f31 = 1.0f - var_f31; - setDoubleAnime(var_f31, daAlinkHIO_basic_c0::m.mRotationASpeed, daAlinkHIO_move_c0::m.mWaitAnmSpeed, var_r28, ANM_WAIT, 2, -1.0f); + setDoubleAnime(var_f31, mpHIO->mBasic.m.mRotationASpeed, mpHIO->mMove.m.mWaitAnmSpeed, var_r28, ANM_WAIT, 2, -1.0f); current.angle.y = shape_angle.y; } @@ -17231,7 +17262,7 @@ int daAlink_c::execute() { !strcmp(event_name, "MapToolCamera19") || !strcmp(event_name, "fire_insect"))) || (checkStageName("F_SP115") && !strcmp(event_name, "MapToolCamera23")))) { - mWolfEyeUp = daAlinkHIO_wolf_c0::m.mSensesLingerTime + 1; + mWolfEyeUp = mpHIO->mWolf.m.mSensesLingerTime + 1; } else if (checkEndResetFlg1(ERFLG1_WOLF_EYE_KEEP) || (checkDungeon() && eventInfo.checkCommandDoor()) || mProcID == PROC_WOLF_GET_SMELL || mProcID == PROC_WOLF_DIG || mProcID == PROC_WOLF_DIG_THROUGH || checkNoResetFlg0(FLG0_UNK_4000) || @@ -17239,11 +17270,11 @@ int daAlink_c::execute() { (checkEventRun() && partner != NULL && (partner->attention_info.flags & fopAc_AttnFlag_UNK_0x400000)) || !strcmp(dComIfGp_getEventManager().getRunEventName(), l_defaultGetEventName)) { - mWolfEyeUp = daAlinkHIO_wolf_c0::m.mSensesLingerTime; + mWolfEyeUp = mpHIO->mWolf.m.mSensesLingerTime; } else if (mTargetedActor != NULL || dComIfGp_checkPlayerStatus0(0, 0x2000)) { - mWolfEyeUp = daAlinkHIO_wolf_c0::m.mSensesLingerTime - 1; + mWolfEyeUp = mpHIO->mWolf.m.mSensesLingerTime - 1; } else if (!dComIfGp_getEvent().isOrderOK() && mProcID != PROC_GET_ITEM && - mWolfEyeUp <= daAlinkHIO_wolf_c0::m.mSensesLingerTime) + mWolfEyeUp <= mpHIO->mWolf.m.mSensesLingerTime) { offWolfEyeUp(); } else { @@ -17252,7 +17283,7 @@ int daAlink_c::execute() { } if (checkEndResetFlg0(ERFLG0_ENEMY_DEAD) && mEquipItem == 0x103) { - mSwordFlourishTimer = daAlinkHIO_cut_c0::m.mFlourishTime; + mSwordFlourishTimer = mpHIO->mCut.m.mFlourishTime; } if ((checkWolf() && field_0x2fbc == 11 && checkWaterPolygonUnder()) || field_0x2fbb == 11) { @@ -17317,9 +17348,9 @@ int daAlink_c::execute() { if (checkCutFastReady()) { if (checkNoUpperAnime()) { - setUpperAnime(0x255, UPPER_2, daAlinkHIO_cut_c0::m.mEquipAnm.mSpeed, 12.0f, - daAlinkHIO_cut_c0::m.mEquipAnm.mEndFrame, - daAlinkHIO_cut_c0::m.mEquipAnm.mInterpolation); + setUpperAnime(0x255, UPPER_2, mpHIO->mCut.m.mEquipAnm.mSpeed, 12.0f, + mpHIO->mCut.m.mEquipAnm.mEndFrame, + mpHIO->mCut.m.mEquipAnm.mInterpolation); onNoResetFlg0(FLG0_UNK_1000000); } } else if (checkNoResetFlg0(FLG0_UNK_1000000)) { @@ -17383,13 +17414,13 @@ int daAlink_c::execute() { if (mProcID == PROC_HOOKSHOT_FLY) { var_f31 = current.pos.y - (field_0x598 * 0.5f); } else if (dComIfGp_checkPlayerStatus1(0, 0x2000000)) { - var_f31 = (current.pos.y + -65.0f) - (daAlinkHIO_swim_c0::m.mStartHeight - 5.0f); + var_f31 = (current.pos.y + -65.0f) - (mpHIO->mSwim.m.mStartHeight - 5.0f); } else { var_f31 = current.pos.y; } if (!checkNoResetFlg0(FLG0_UNK_80) || - mWaterY - var_f31 <= daAlinkHIO_swim_c0::m.mStartHeight - 5.0f) + mWaterY - var_f31 <= mpHIO->mSwim.m.mStartHeight - 5.0f) { swimOutAfter(0); } @@ -17709,11 +17740,11 @@ int daAlink_c::execute() { if (mHotspringRecoverTimer != 0) { mHotspringRecoverTimer--; } else { - mHotspringRecoverTimer = daAlinkHIO_basic_c0::m.mHotspringRecoverTime; + mHotspringRecoverTimer = mpHIO->mBasic.m.mHotspringRecoverTime; dComIfGp_setItemLifeCount(1.0f, 1); } } else { - mHotspringRecoverTimer = daAlinkHIO_basic_c0::m.mHotspringRecoverTime; + mHotspringRecoverTimer = mpHIO->mBasic.m.mHotspringRecoverTime; } if (checkAttentionLock() || (!checkUpperReadyThrowAnime() && @@ -18503,30 +18534,30 @@ int daAlink_c::draw() { tevStr.TevColor.b = mProcVar3.field_0x300e; } else if (field_0x346c != 0.0f) { f32 var_f2 = fabsf(field_0x346c); - tevStr.TevColor.r = var_f2 * daAlinkHIO_wolf_c0::m.mLightDropR; - tevStr.TevColor.g = var_f2 * daAlinkHIO_wolf_c0::m.mLightDropG; - tevStr.TevColor.b = var_f2 * daAlinkHIO_wolf_c0::m.mLightDropB; + tevStr.TevColor.r = var_f2 * mpHIO->mWolf.m.mLightDropR; + tevStr.TevColor.g = var_f2 * mpHIO->mWolf.m.mLightDropG; + tevStr.TevColor.b = var_f2 * mpHIO->mWolf.m.mLightDropB; } else if (checkFreezeDamage()) { - tevStr.TevColor.r = daAlinkHIO_damage_c0::m.mFreezeR; - tevStr.TevColor.g = daAlinkHIO_damage_c0::m.mFreezeG; - tevStr.TevColor.b = daAlinkHIO_damage_c0::m.mFreezeB; + tevStr.TevColor.r = mpHIO->mDamage.m.mFreezeR; + tevStr.TevColor.g = mpHIO->mDamage.m.mFreezeG; + tevStr.TevColor.b = mpHIO->mDamage.m.mFreezeB; } else if (mDamageTimer != 0) { if (!checkMagicArmorNoDamage()) { int color_timer = mDamageTimer + mDamageColorTime; int r, g, b; if (color_timer > 32) { - r = daAlinkHIO_damage_c0::m.mDamageR0; - g = daAlinkHIO_damage_c0::m.mDamageG0; - b = daAlinkHIO_damage_c0::m.mDamageB0; + r = mpHIO->mDamage.m.mDamageR0; + g = mpHIO->mDamage.m.mDamageG0; + b = mpHIO->mDamage.m.mDamageB0; } else if (color_timer > 16) { - r = daAlinkHIO_damage_c0::m.mDamageR1; - g = daAlinkHIO_damage_c0::m.mDamageG1; - b = daAlinkHIO_damage_c0::m.mDamageB1; + r = mpHIO->mDamage.m.mDamageR1; + g = mpHIO->mDamage.m.mDamageG1; + b = mpHIO->mDamage.m.mDamageB1; } else { - r = daAlinkHIO_damage_c0::m.mDamageR2; - g = daAlinkHIO_damage_c0::m.mDamageG2; - b = daAlinkHIO_damage_c0::m.mDamageB2; + r = mpHIO->mDamage.m.mDamageR2; + g = mpHIO->mDamage.m.mDamageG2; + b = mpHIO->mDamage.m.mDamageB2; } f32 var_f2 = fabsf(cM_ssin(color_timer * 0x800)); @@ -18536,15 +18567,15 @@ int daAlink_c::draw() { var_r31 = 0; } } else if (mIceDamageWaitTimer != 0) { - f32 temp_f4 = 1.0f - (mIceDamageWaitTimer * (1.0f / daAlinkHIO_damage_c0::m.mFreezeTime)); + f32 temp_f4 = 1.0f - (mIceDamageWaitTimer * (1.0f / mpHIO->mDamage.m.mFreezeTime)); f32 temp_f3 = 1.0f - temp_f4; - tevStr.TevColor.r = (temp_f4 * daAlinkHIO_damage_c0::m.mFreezeInitR) + - (temp_f3 * daAlinkHIO_damage_c0::m.mFreezeR); - tevStr.TevColor.g = (temp_f4 * daAlinkHIO_damage_c0::m.mFreezeInitG) + - (temp_f3 * daAlinkHIO_damage_c0::m.mFreezeG); - tevStr.TevColor.b = (temp_f4 * daAlinkHIO_damage_c0::m.mFreezeInitB) + - (temp_f3 * daAlinkHIO_damage_c0::m.mFreezeB); + tevStr.TevColor.r = (temp_f4 * mpHIO->mDamage.m.mFreezeInitR) + + (temp_f3 * mpHIO->mDamage.m.mFreezeR); + tevStr.TevColor.g = (temp_f4 * mpHIO->mDamage.m.mFreezeInitG) + + (temp_f3 * mpHIO->mDamage.m.mFreezeG); + tevStr.TevColor.b = (temp_f4 * mpHIO->mDamage.m.mFreezeInitB) + + (temp_f3 * mpHIO->mDamage.m.mFreezeB); } else if (field_0x32b0[0].r != 0) { tevStr.TevColor.r = field_0x32b0[0].r; tevStr.TevColor.g = field_0x32b0[0].g; diff --git a/src/d/actor/d_a_alink_HIO.inc b/src/d/actor/d_a_alink_HIO.inc index ab34289138..45a476364e 100644 --- a/src/d/actor/d_a_alink_HIO.inc +++ b/src/d/actor/d_a_alink_HIO.inc @@ -1601,7 +1601,7 @@ void daAlinkHIO_guard_c::genMessage(JORMContext* ctx) { // Reset ctx->genButton("リセット", 0x4000003, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); // Shield - ctx->genNode("盾", &mGuardAttack1, 0, 0); + ctx->genNode("盾", &mAtPush, 0, 0); // Sidestep ctx->genNode("回り込み", &mTurnMove, 0, 0); // Crouch guard anm speed @@ -1657,7 +1657,7 @@ void daAlinkHIO_guard_c::genMessage(JORMContext* ctx) { } daAlinkHIO_guard_c::daAlinkHIO_guard_c() - : mGuardAttack1(0, 17.0f), mGuardAttack2(1, 21.0f), mTurnMove() { + : mAtPush(0, 17.0f), mAtKick(1, 21.0f), mTurnMove() { static const char plabel[] = "const daAlinkHIO_guard_c1 daAlinkHIO_guard_c0::m = {\n"; m_len = 128; mp_src_data = (void*)&daAlinkHIO_guard_c0::m; @@ -2388,9 +2388,9 @@ void daAlinkHIO_damage_c::genMessage(JORMContext* ctx) { // Normal ctx->genNode("通常", &mDamNormal, 0, 0); // Large - ctx->genNode("大", &mDamLaHu0, 0, 0); + ctx->genNode("大", &mDamLarge, 0, 0); // Heavy large - ctx->genNode("強大", &mDamLaHu1, 0, 0); + ctx->genNode("強大", &mDamHuge, 0, 0); // On horse ctx->genNode("馬上", &mDamHorse, 0, 0); // Fall @@ -2454,7 +2454,7 @@ void daAlinkHIO_damage_c::genMessage(JORMContext* ctx) { } daAlinkHIO_damage_c::daAlinkHIO_damage_c() - : mDamNormal(), mDamLaHu0(0), mDamLaHu1(1), mDamHorse(), mDamFall(), mDamCaught(), mDamSwim() { + : mDamNormal(), mDamLarge(0), mDamHuge(1), mDamHorse(), mDamFall(), mDamCaught(), mDamSwim() { static const char plabel[] = "const daAlinkHIO_damage_c1 daAlinkHIO_damage_c0::m = {\n"; m_len = 88; mp_src_data = (void*)&daAlinkHIO_damage_c0::m; @@ -4740,8 +4740,8 @@ void daAlinkHIO_wlDamage_c::genMessage(JORMContext* ctx) { ctx->genNode("通常", &mNormal, 0, 0); // Large ctx->genNode("大", &mLarge, 0, 0); - // Strong large - ctx->genNode("強大", &mStrongLarge, 0, 0); + // Huge + ctx->genNode("強大", &mHuge, 0, 0); // Fall ctx->genNode("落下", &mFall, 0, 0); // Capture @@ -4756,7 +4756,7 @@ void daAlinkHIO_wlDamage_c::genMessage(JORMContext* ctx) { } daAlinkHIO_wlDamage_c::daAlinkHIO_wlDamage_c() - : mNormal(), mLarge(0), mStrongLarge(1), mFall(), mCapture() { + : mNormal(), mLarge(0), mHuge(1), mFall(), mCapture() { static const char plabel[] = "const daAlinkHIO_wlDamage_c1 daAlinkHIO_wlDamage_c0::m = {\n"; m_len = 44; mp_src_data = (void*)&daAlinkHIO_wlDamage_c0::m; diff --git a/src/d/actor/d_a_alink_bomb.inc b/src/d/actor/d_a_alink_bomb.inc index b0d1a9a3ba..e80219b16d 100644 --- a/src/d/actor/d_a_alink_bomb.inc +++ b/src/d/actor/d_a_alink_bomb.inc @@ -6,53 +6,53 @@ #include "d/actor/d_a_alink.h" s16 daAlink_c::getBombExplodeTime() const { - return daAlinkHIO_bomb_c0::m.mExplodeTime; + return mpHIO->mItem.mBomb.m.mExplodeTime; } f32 daAlink_c::getBombGravity() const { - return daAlinkHIO_bomb_c0::m.mGravity; + return mpHIO->mItem.mBomb.m.mGravity; } f32 daAlink_c::getBombMaxFallSpeed() const { - return daAlinkHIO_bomb_c0::m.mMaxFallSpeed; + return mpHIO->mItem.mBomb.m.mMaxFallSpeed; } f32 daAlink_c::getBombBoundRate() const { - return daAlinkHIO_bomb_c0::m.mBoundRate; + return mpHIO->mItem.mBomb.m.mBoundRate; } f32 daAlink_c::getBombStopSpeedY() const { - return daAlinkHIO_bomb_c0::m.mStopSpeedY; + return mpHIO->mItem.mBomb.m.mStopSpeedY; } f32 daAlink_c::getBombMaxSpeedY() const { - return daAlinkHIO_bomb_c0::m.mMaxSpeedY; + return mpHIO->mItem.mBomb.m.mMaxSpeedY; } f32 daAlink_c::getBombEffScale() const { - return daAlinkHIO_bomb_c0::m.mEffScale; + return mpHIO->mItem.mBomb.m.mEffScale; } f32 daAlink_c::getBombAtR() const { - return daAlinkHIO_bomb_c0::m.mAttackRadius; + return mpHIO->mItem.mBomb.m.mAttackRadius; } s16 daAlink_c::getEnemyBombColorR() const { - return daAlinkHIO_bomb_c0::m.mEnemyBombColorR; + return mpHIO->mItem.mBomb.m.mEnemyBombColorR; } f32 daAlink_c::getBombWaterGravity() const { - return daAlinkHIO_bomb_c0::m.mWaterGravity; + return mpHIO->mItem.mBomb.m.mWaterGravity; } f32 daAlink_c::getBombWaterMaxFallSpeed() const { - return daAlinkHIO_bomb_c0::m.mWaterMaxFallSpeed; + return mpHIO->mItem.mBomb.m.mWaterMaxFallSpeed; } f32 daAlink_c::getBombExplodeWaterEffectLimit() const { - return daAlinkHIO_bomb_c0::m.mExplodeWaterEffectLimit; + return mpHIO->mItem.mBomb.m.mExplodeWaterEffectLimit; } s16 daAlink_c::getBombInsectLimitAngle() const { - return daAlinkHIO_bomb_c0::m.mBombInsectLimitAngle; + return mpHIO->mItem.mBomb.m.mBombInsectLimitAngle; } diff --git a/src/d/actor/d_a_alink_boom.inc b/src/d/actor/d_a_alink_boom.inc index ec1409db3e..47b92eac7e 100644 --- a/src/d/actor/d_a_alink_boom.inc +++ b/src/d/actor/d_a_alink_boom.inc @@ -13,9 +13,9 @@ BOOL daAlink_c::checkBoomerangLockAccept() { f32 daAlink_c::getBoomSpeed() { f32 speed; if (checkBoomerangChargeEndWait()) { - speed = daAlinkHIO_boom_c0::m.mChargeFlySpeed; + speed = mpHIO->mItem.mBoomerang.m.mChargeFlySpeed; } else { - speed = daAlinkHIO_boom_c0::m.mFlySpeed; + speed = mpHIO->mItem.mBoomerang.m.mFlySpeed; } if (checkModeFlg(0x400)) { @@ -29,14 +29,14 @@ f32 daAlink_c::getBoomSpeed() { } f32 daAlink_c::getBoomCatchSpeed() const { - return daAlinkHIO_boom_c0::m.mCatchSpeed; + return mpHIO->mItem.mBoomerang.m.mCatchSpeed; } f32 daAlink_c::getBoomFlyMax() const { if (checkModeFlg(0x400) && !checkCanoeRide()) { - return daAlinkHIO_boom_c0::m.mHorsebackFlyDistMax; + return mpHIO->mItem.mBoomerang.m.mHorsebackFlyDistMax; } else { - return daAlinkHIO_boom_c0::m.mFlyDistMax; + return mpHIO->mItem.mBoomerang.m.mFlyDistMax; } } @@ -45,15 +45,15 @@ f32 daAlink_c::getBoomLockMax() { if (checkBossBabaRoom()) { return 2600.0f; - } else if (daAlinkHIO_boom_c0::m.mLockDistMax > fly_max) { - return daAlinkHIO_boom_c0::m.mLockDistMax; + } else if (mpHIO->mItem.mBoomerang.m.mLockDistMax > fly_max) { + return mpHIO->mItem.mBoomerang.m.mLockDistMax; } else { return fly_max; } } s16 daAlink_c::getBoomBgThroughTime() const { - return daAlinkHIO_boom_c0::m.mBgThroughTime; + return mpHIO->mItem.mBoomerang.m.mBgThroughTime; } bool daAlink_c::checkBossBabaRoom() { @@ -103,7 +103,7 @@ BOOL daAlink_c::checkBoomerangCarry(fopAc_ac_c* i_grabActor) { setGrabItemActor(i_grabActor); field_0x33e4 = 38.0f; - setGrabUpperAnime(daAlinkHIO_basic_c0::m.mBasicInterpolation); + setGrabUpperAnime(mpHIO->mBasic.m.mBasicInterpolation); return 1; } @@ -118,7 +118,7 @@ void daAlink_c::initBoomerangUpperAnimeSpeed(int param_0) { mUpperFrameCtrl[2].setFrame(tmp); getNowAnmPackUpper(UPPER_2)->setFrame(tmp); } else { - mUpperFrameCtrl[2].setRate(daAlinkHIO_boom_c0::m.mIdleAnmSpeed); + mUpperFrameCtrl[2].setRate(mpHIO->mItem.mBoomerang.m.mIdleAnmSpeed); } } } @@ -137,13 +137,13 @@ void daAlink_c::setBoomerangReadyQuake() { dComIfGp_getVibration().StartQuake(1, 1, cXyz(tmp_0, 1.0f, tmp_0)); onNoResetFlg3(FLG3_UNK_4); - mItemVar0.field_0x3018 = daAlinkHIO_boom_c0::m.mChargeTime; + mItemVar0.field_0x3018 = mpHIO->mItem.mBoomerang.m.mChargeTime; } void daAlink_c::setBoomerangReadyAnime() { f32 var_f31; if (checkAttentionLock()) { - var_f31 = daAlinkHIO_boom_c0::m.mIdleAnmSpeed; + var_f31 = mpHIO->mItem.mBoomerang.m.mIdleAnmSpeed; } else { var_f31 = 0.0f; } @@ -153,12 +153,12 @@ void daAlink_c::setBoomerangReadyAnime() { } void daAlink_c::setThrowBoomerangAnime() { - setUpperAnimeParam(0x53, UPPER_2, &daAlinkHIO_boom_c0::m.mThrowAnm); + setUpperAnimeParam(0x53, UPPER_2, &mpHIO->mItem.mBoomerang.m.mThrowAnm); cancelItemUseQuake(0); } void daAlink_c::setBoomerangCatchAnime() { - setUpperAnimeParam(0x52, UPPER_2, &daAlinkHIO_boom_c0::m.mCatchAnm); + setUpperAnimeParam(0x52, UPPER_2, &mpHIO->mItem.mBoomerang.m.mCatchAnm); setFacePriBck(0xE8); field_0x2f97 = 254; @@ -190,8 +190,8 @@ void daAlink_c::throwBoomerang() { mFastShotTime = -1; daPy_boomerangMove_c::offEventKeepFlg(); } else { - item->speedF = daAlinkHIO_pickUp_c0::m.field_0x28; - item->speed.y = daAlinkHIO_pickUp_c0::m.field_0x2C; + item->speedF = mpHIO->mItem.mPickUp.m.field_0x28; + item->speed.y = mpHIO->mItem.mPickUp.m.field_0x2C; item->current.angle.y = shape_angle.y; fopAcM_cancelCarryNow(item); @@ -283,7 +283,7 @@ void daAlink_c::checkUpperItemActionBoomerangFly() { int daAlink_c::checkNextActionBoomerang() { if ((checkBoomerangCatchAnime() && - mUpperFrameCtrl[2].getFrame() <= daAlinkHIO_boom_c0::m.mCatchAnm.mCancelFrame) || + mUpperFrameCtrl[2].getFrame() <= mpHIO->mItem.mBoomerang.m.mCatchAnm.mCancelFrame) || checkNoResetFlg1(FLG1_UNK_2)) { return 0; } @@ -363,7 +363,7 @@ int daAlink_c::procBoomerangSubjectInit() { mNormalSpeed = 0.0f; initBoomerangUpperAnimeSpeed(1); setSingleAnimeBaseSpeed(ANM_ATN_WAIT_RIGHT, 0.0f, - daAlinkHIO_boom_c0::m.mStartInterpolation); + mpHIO->mItem.mBoomerang.m.mStartInterpolation); dComIfGp_setPlayerStatus0(0, 0x80000); current.angle.y = shape_angle.y; @@ -402,7 +402,7 @@ int daAlink_c::procBoomerangMoveInit() { } initBoomerangUpperAnimeSpeed(0); - setBlendAtnMoveAnime(daAlinkHIO_boom_c0::m.mStartInterpolation); + setBlendAtnMoveAnime(mpHIO->mItem.mBoomerang.m.mStartInterpolation); dComIfGp_setPlayerStatus0(0, 0x80000); return 1; @@ -421,7 +421,7 @@ int daAlink_c::procBoomerangMove() { if (field_0x2f98 != 3) { field_0x2f98 = 3; - var_f31 = daAlinkHIO_basic_c0::m.mBasicInterpolation; + var_f31 = mpHIO->mBasic.m.mBasicInterpolation; } } else { offModeFlg(1); @@ -444,7 +444,7 @@ int daAlink_c::procBoomerangCatchInit() { return 0; } - setSingleAnimeParam(ANM_BOOMERANG_CATCH, &daAlinkHIO_boom_c0::m.mCatchAnm); + setSingleAnimeParam(ANM_BOOMERANG_CATCH, &mpHIO->mItem.mBoomerang.m.mCatchAnm); setBoomerangCatchAnime(); offNoResetFlg0(FLG0_UNK_20); @@ -455,7 +455,7 @@ int daAlink_c::procBoomerangCatch() { daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; onEndResetFlg0(ERFLG0_UNK_8000000); - if (frameCtrl->getFrame() > daAlinkHIO_boom_c0::m.mCatchAnm.mCancelFrame) { + if (frameCtrl->getFrame() > mpHIO->mItem.mBoomerang.m.mCatchAnm.mCancelFrame) { onModeFlg(4); } diff --git a/src/d/actor/d_a_alink_bottle.inc b/src/d/actor/d_a_alink_bottle.inc index 6e3de0e917..c120591690 100644 --- a/src/d/actor/d_a_alink_bottle.inc +++ b/src/d/actor/d_a_alink_bottle.inc @@ -203,11 +203,11 @@ int daAlink_c::commonBottleDrink(int param_0) { if (mEquipItem == fpcNm_ITEM_MILK_BOTTLE) { if (param_0) { setUpperAnimeParam(getMainBckData(ANM_BOTTLE_DRINK_END)->m_upperID, UPPER_2, - &daAlinkHIO_bottle_c0::m.mEndDrinkAnm); + &mpHIO->mItem.mBottle.m.mEndDrinkAnm); setFacePriAnime(ANM_BOTTLE_DRINK_END); } else { setSingleAnimeParam(ANM_BOTTLE_DRINK_END, - &daAlinkHIO_bottle_c0::m.mEndDrinkAnm); + &mpHIO->mItem.mBottle.m.mEndDrinkAnm); } field_0x072c->setFrame(1.0f); @@ -253,19 +253,19 @@ int daAlink_c::commonBottleDrink(int param_0) { if (mItemVar0.mBottleItemHealAmount < 0 || mEquipItem == fpcNm_ITEM_BEE_CHILD) { if (param_0) { setUpperAnimeParam(getMainBckData(ANM_BOTTLE_DRINK_NASTY)->m_upperID, - UPPER_2, &daAlinkHIO_bottle_c0::m.mDrinkNastyAnm); + UPPER_2, &mpHIO->mItem.mBottle.m.mDrinkNastyAnm); setFacePriAnime(ANM_BOTTLE_DRINK_NASTY); } else { setSingleAnimeParam(ANM_BOTTLE_DRINK_NASTY, - &daAlinkHIO_bottle_c0::m.mDrinkNastyAnm); + &mpHIO->mItem.mBottle.m.mDrinkNastyAnm); } } else if (param_0) { setUpperAnimeParam(getMainBckData(ANM_BOTTLE_DRINK_END)->m_upperID, UPPER_2, - &daAlinkHIO_bottle_c0::m.mEndDrinkAnm); + &mpHIO->mItem.mBottle.m.mEndDrinkAnm); setFacePriAnime(ANM_BOTTLE_DRINK_END); } else { setSingleAnimeParam(ANM_BOTTLE_DRINK_END, - &daAlinkHIO_bottle_c0::m.mEndDrinkAnm); + &mpHIO->mItem.mBottle.m.mEndDrinkAnm); } field_0x072c->setFrame(2.0f); @@ -283,7 +283,7 @@ int daAlink_c::commonBottleDrink(int param_0) { { if (checkAnmEnd(frameCtrl_p)) { if (mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_42_e) { - setSingleAnimeParam(ANM_PICK_UP, &daAlinkHIO_pickUp_c0::m.mPlaceAnm); + setSingleAnimeParam(ANM_PICK_UP, &mpHIO->mItem.mPickUp.m.mPlaceAnm); } else { allUnequip(mKeepItem == fpcNm_ITEM_KANTERA); } @@ -377,7 +377,7 @@ int daAlink_c::procBottleDrinkInit(u16 i_itemNo) { mNormalSpeed = 0.0f; field_0x2f98 = 4; - setSingleAnimeParam(ANM_BOTTLE_DRINK_START, &daAlinkHIO_bottle_c0::m.mStartDrinkAnm); + setSingleAnimeParam(ANM_BOTTLE_DRINK_START, &mpHIO->mItem.mBottle.m.mStartDrinkAnm); keepItemData(); setBottleModel(i_itemNo); dComIfGp_setPlayerStatus1(0, 0x2000); @@ -412,7 +412,7 @@ int daAlink_c::procBottleOpenInit(u16 param_0) { mNormalSpeed = 0.0f; field_0x2f98 = 4; - setSingleAnimeParam(ANM_BOTTLE_OPEN, &daAlinkHIO_bottle_c0::m.mOpenBottleAnm); + setSingleAnimeParam(ANM_BOTTLE_OPEN, &mpHIO->mItem.mBottle.m.mOpenBottleAnm); keepItemData(); setBottleModel(param_0); dComIfGp_setPlayerStatus1(0, 0x4000); @@ -470,7 +470,7 @@ int daAlink_c::procBottleOpen() { if (mEquipItem == fpcNm_ITEM_FAIRY) { setSingleAnimeBaseMorf(ANM_BOTTLE_FAIRY, -1.0f); } else { - setSingleAnimeParam(ANM_BOTTLE_POUR, &daAlinkHIO_bottle_c0::m.mPourAnm); + setSingleAnimeParam(ANM_BOTTLE_POUR, &mpHIO->mItem.mBottle.m.mPourAnm); if (mEquipItem == fpcNm_ITEM_WATER_BOTTLE) { if (mWaterY > mLeftHandPos.y) { @@ -580,7 +580,7 @@ int daAlink_c::procBottleSwingInit(fopAc_ac_c* param_0, int param_1) { if (temp_r30 == PROC_OBJ_OILTUBO || temp_r30 == PROC_TAG_SSDRINK || temp_r30 == PROC_TAG_BTLITM || mEquipItem == fpcNm_ITEM_KANTERA) { - setSingleAnimeParam(ANM_BOTTLE_SCOOP, &daAlinkHIO_bottle_c0::m.mScoopAnm); + setSingleAnimeParam(ANM_BOTTLE_SCOOP, &mpHIO->mItem.mBottle.m.mScoopAnm); if (mEquipItem == fpcNm_ITEM_KANTERA) { onNoResetFlg2(FLG2_UNK_10000000); @@ -591,7 +591,7 @@ int daAlink_c::procBottleSwingInit(fopAc_ac_c* param_0, int param_1) { } } - field_0x3478 = daAlinkHIO_bottle_c0::m.mScoopAnm.mCancelFrame; + field_0x3478 = mpHIO->mItem.mBottle.m.mScoopAnm.mCancelFrame; field_0x347c = 14.0f; if (var_r31 != NULL) { @@ -606,12 +606,12 @@ int daAlink_c::procBottleSwingInit(fopAc_ac_c* param_0, int param_1) { onModeFlg(0x2000); } } else if (temp_r3) { - setSingleAnimeParam(ANM_BOTTLE_SWING_DOWN, &daAlinkHIO_bottle_c0::m.mSwingDownAnm); - field_0x3478 = daAlinkHIO_bottle_c0::m.mSwingDownAnm.mCancelFrame; + setSingleAnimeParam(ANM_BOTTLE_SWING_DOWN, &mpHIO->mItem.mBottle.m.mSwingDownAnm); + field_0x3478 = mpHIO->mItem.mBottle.m.mSwingDownAnm.mCancelFrame; field_0x347c = 8.0f; } else { - setSingleAnimeParam(ANM_BOTTLE_SWING, &daAlinkHIO_bottle_c0::m.mSwingSideAnm); - field_0x3478 = daAlinkHIO_bottle_c0::m.mSwingSideAnm.mCancelFrame; + setSingleAnimeParam(ANM_BOTTLE_SWING, &mpHIO->mItem.mBottle.m.mSwingSideAnm); + field_0x3478 = mpHIO->mItem.mBottle.m.mSwingSideAnm.mCancelFrame; field_0x347c = 4.0f; } @@ -709,9 +709,9 @@ int daAlink_c::procBottleGetInit(int param_0) { int var_r30; if (mEquipItem == fpcNm_ITEM_KANTERA) { - setSingleAnime(ANM_BOTTLE_GET, daAlinkHIO_bottle_c0::m.mGetAnm.mSpeed, 40.0f, - daAlinkHIO_bottle_c0::m.mGetAnm.mEndFrame, - daAlinkHIO_bottle_c0::m.mGetAnm.mInterpolation); + setSingleAnime(ANM_BOTTLE_GET, mpHIO->mItem.mBottle.m.mGetAnm.mSpeed, 40.0f, + mpHIO->mItem.mBottle.m.mGetAnm.mEndFrame, + mpHIO->mItem.mBottle.m.mGetAnm.mInterpolation); field_0x2f93 = 0xFE; if (proc_pickup) { @@ -730,7 +730,7 @@ int daAlink_c::procBottleGetInit(int param_0) { setGetSubBgm(var_r30); } else { - setSingleAnimeParam(ANM_BOTTLE_GET, &daAlinkHIO_bottle_c0::m.mGetAnm); + setSingleAnimeParam(ANM_BOTTLE_GET, &mpHIO->mItem.mBottle.m.mGetAnm); var_r30 = mEquipItem; } diff --git a/src/d/actor/d_a_alink_bow.inc b/src/d/actor/d_a_alink_bow.inc index c4fa78568c..621e2cc6ad 100644 --- a/src/d/actor/d_a_alink_bow.inc +++ b/src/d/actor/d_a_alink_bow.inc @@ -10,42 +10,42 @@ void daAlink_c::getArrowFlyData(f32* o_distance, f32* o_speed, int i_forceCharge) const { if (mEquipItem == fpcNm_ITEM_PACHINKO) { - *o_distance = daAlinkHIO_bow_c0::m.mSlingshotDistance; - *o_speed = daAlinkHIO_bow_c0::m.mSlingshotSpeed; + *o_distance = mpHIO->mItem.mBow.m.mSlingshotDistance; + *o_speed = mpHIO->mItem.mBow.m.mSlingshotSpeed; } else if (dComIfGp_checkPlayerStatus0(0, 0x200000)) { - *o_distance = daAlinkHIO_bow_c0::m.mScopeArrowDistance; - *o_speed = daAlinkHIO_bow_c0::m.mScopeArrowSpeed; + *o_distance = mpHIO->mItem.mBow.m.mScopeArrowDistance; + *o_speed = mpHIO->mItem.mBow.m.mScopeArrowSpeed; } else if (field_0x301c == 0 || i_forceCharge) { if (field_0x301e == 1) { - *o_distance = daAlinkHIO_bow_c0::m.mChargeBombArrowDistance; - *o_speed = daAlinkHIO_bow_c0::m.mChargeBombArrowSpeed; + *o_distance = mpHIO->mItem.mBow.m.mChargeBombArrowDistance; + *o_speed = mpHIO->mItem.mBow.m.mChargeBombArrowSpeed; } else { - *o_distance = daAlinkHIO_bow_c0::m.mChargeArrowDistance; - *o_speed = daAlinkHIO_bow_c0::m.mChargeArrowSpeed; + *o_distance = mpHIO->mItem.mBow.m.mChargeArrowDistance; + *o_speed = mpHIO->mItem.mBow.m.mChargeArrowSpeed; } } else if (field_0x301e == 1) { - *o_distance = daAlinkHIO_bow_c0::m.mBombArrowDistance; - *o_speed = daAlinkHIO_bow_c0::m.mBombArrowSpeed; + *o_distance = mpHIO->mItem.mBow.m.mBombArrowDistance; + *o_speed = mpHIO->mItem.mBow.m.mBombArrowSpeed; } else { - *o_distance = daAlinkHIO_bow_c0::m.mArrowDistance; - *o_speed = daAlinkHIO_bow_c0::m.mArrowSpeed; + *o_distance = mpHIO->mItem.mBow.m.mArrowDistance; + *o_speed = mpHIO->mItem.mBow.m.mArrowSpeed; } } f32 daAlink_c::getArrowIncAtR() const { - return daAlinkHIO_bow_c0::m.mArrowAttackRadius; + return mpHIO->mItem.mBow.m.mArrowAttackRadius; } s16 daAlink_c::getBombArrowFlyExplodeTime() const { - return daAlinkHIO_bow_c0::m.mBombArrowFlyExplodeTime; + return mpHIO->mItem.mBow.m.mBombArrowFlyExplodeTime; } f32 daAlink_c::getArrowIncAtMaxStart() const { - return daAlinkHIO_bow_c0::m.mArrowIncAttackMaxStart; + return mpHIO->mItem.mBow.m.mArrowIncAttackMaxStart; } f32 daAlink_c::getArrowIncAtMax() const { - return daAlinkHIO_bow_c0::m.mArrowIncAttackMax; + return mpHIO->mItem.mBow.m.mArrowIncAttackMax; } BOOL daAlink_c::checkBowAndSlingItem(int i_itemNo) { @@ -123,7 +123,7 @@ void daAlink_c::deleteArrow() { if (arrow_p != NULL && fopAcM_GetName(arrow_p) == PROC_ARROW) { if (arrow_p->checkBombArrow() && - (mDamageTimer == daAlinkHIO_damage_c0::m.mInvincibleTime || checkModeFlg(8))) + (mDamageTimer == mpHIO->mDamage.m.mInvincibleTime || checkModeFlg(8))) { arrow_p->setBombArrowExplode(); dComIfGp_addSelectItemNum(mSelectItemId, -1); @@ -227,22 +227,22 @@ void daAlink_c::setBowReadyAnime() { } void daAlink_c::setBowReloadAnime() { - setUpperAnimeParam(9, UPPER_2, &daAlinkHIO_bow_c0::m.mLoadAnm); + setUpperAnimeParam(9, UPPER_2, &mpHIO->mItem.mBow.m.mLoadAnm); setFacePriTexture(FTANM_UNK_8); setFacePriBck(0xE5); if (mEquipItem == fpcNm_ITEM_PACHINKO) { - changeItemBck(0x1F0, daAlinkHIO_bow_c0::m.mLoadAnm.mStartFrame); + changeItemBck(0x1F0, mpHIO->mItem.mBow.m.mLoadAnm.mStartFrame); field_0x2f97 = 5; seStartOnlyReverb(Z2SE_AL_PACHINKO_DRAW); } else { - changeItemBck(0x41, daAlinkHIO_bow_c0::m.mLoadAnm.mStartFrame); + changeItemBck(0x41, mpHIO->mItem.mBow.m.mLoadAnm.mStartFrame); field_0x2f97 = 7; seStartOnlyReverb(Z2SE_AL_DRAW_BOW); } field_0x2f96 = 0; - field_0x301c = daAlinkHIO_bow_c0::m.mChargeArrowTime; + field_0x301c = mpHIO->mItem.mBow.m.mChargeArrowTime; } BOOL daAlink_c::checkUpperItemActionBow() { @@ -273,7 +273,7 @@ BOOL daAlink_c::checkUpperItemActionBow() { if (checkReadyItem()) { if (mItemVar0.field_0x3018 != 0) { - setUpperAnimeParam(0xC, UPPER_2, &daAlinkHIO_bow_c0::m.mShootAnm); + setUpperAnimeParam(0xC, UPPER_2, &mpHIO->mItem.mBow.m.mShootAnm); setFacePriBck(0xE8); field_0x2f96 = 0; @@ -291,7 +291,7 @@ BOOL daAlink_c::checkUpperItemActionBow() { var_r29 = 0x44; } - changeItemBck(var_r29, daAlinkHIO_bow_c0::m.mShootAnm.mStartFrame); + changeItemBck(var_r29, mpHIO->mItem.mBow.m.mShootAnm.mStartFrame); mItemVar0.field_0x3018 = 0; } else if (mEquipItem == fpcNm_ITEM_PACHINKO) { if (!itemButton()) { @@ -335,7 +335,7 @@ BOOL daAlink_c::checkUpperItemActionBow() { dComIfGp_setItemArrowNumCount(-1); mItemAcKeep.clearData(); onResetFlg0(RFLG0_UNK_20000000); - field_0x30a4 = daAlinkHIO_bow_c0::m.mBombArrowHoldTime; + field_0x30a4 = mpHIO->mItem.mBow.m.mBombArrowHoldTime; } else { seStartOnlyReverb(Z2SE_AL_ARROW_EMPTY); } @@ -403,7 +403,7 @@ BOOL daAlink_c::checkUpperItemActionBow() { } if (checkAnmEnd(&mUpperFrameCtrl[2]) || - (mUpperFrameCtrl[2].getFrame() > daAlinkHIO_bow_c0::m.mShootAnm.mCancelFrame && + (mUpperFrameCtrl[2].getFrame() > mpHIO->mItem.mBow.m.mShootAnm.mCancelFrame && itemButton())) { setBowReadyAnime(); @@ -415,7 +415,7 @@ BOOL daAlink_c::checkUpperItemActionBow() { } if (checkBowWaitAnime() || (mEquipItem == fpcNm_ITEM_PACHINKO && checkBowChargeWaitAnime())) { - field_0x33dc += daAlinkHIO_bow_c0::m.mShootAnm.mSpeed; + field_0x33dc += mpHIO->mItem.mBow.m.mShootAnm.mSpeed; } else { field_0x33dc = mUpperFrameCtrl[2].getFrame(); } @@ -556,7 +556,7 @@ int daAlink_c::procBowSubjectInit() { } setSingleAnimeBaseSpeed(ANM_ATN_WAIT_RIGHT, 0.0f, - daAlinkHIO_bow_c0::m.mStartInterpolation); + mpHIO->mItem.mBow.m.mStartInterpolation); mNormalSpeed = 0.0f; setBowOrSlingStatus(); return 1; @@ -580,7 +580,7 @@ int daAlink_c::procBowMoveInit() { onModeFlg(1); } - setBlendAtnMoveAnime(daAlinkHIO_bow_c0::m.mStartInterpolation); + setBlendAtnMoveAnime(mpHIO->mItem.mBow.m.mStartInterpolation); mProcVar2.field_0x300c = 0; setBowOrSlingStatus(); return 1; @@ -604,7 +604,7 @@ int daAlink_c::procBowMove() { if (field_0x2f98 != 3) { field_0x2f98 = 3; - var_f31 = daAlinkHIO_basic_c0::m.mBasicInterpolation; + var_f31 = mpHIO->mBasic.m.mBasicInterpolation; } current.angle.y = shape_angle.y - 0x4000; } else { diff --git a/src/d/actor/d_a_alink_canoe.inc b/src/d/actor/d_a_alink_canoe.inc index 38472f1b46..e2bbd910e3 100644 --- a/src/d/actor/d_a_alink_canoe.inc +++ b/src/d/actor/d_a_alink_canoe.inc @@ -10,41 +10,41 @@ f32 daAlink_c::getCanoeMaxSpeed() const { if (checkCanoeSlider()) { - return daAlinkHIO_canoe_c0::m.mMaxSpeed_RiverRide; + return mpHIO->mCanoe.m.mMaxSpeed_RiverRide; } else { - return daAlinkHIO_canoe_c0::m.mMaxSpeed; + return mpHIO->mCanoe.m.mMaxSpeed; } } f32 daAlink_c::getCanoeBackMaxSpeed() const { - return daAlinkHIO_canoe_c0::m.mBackMaxSpeed; + return mpHIO->mCanoe.m.mBackMaxSpeed; } f32 daAlink_c::getCanoeCres() const { if (checkCanoeSlider()) { - return daAlinkHIO_canoe_c0::m.mDeceleration_RiverRide; + return mpHIO->mCanoe.m.mDeceleration_RiverRide; } else { - return daAlinkHIO_canoe_c0::m.mDeceleration; + return mpHIO->mCanoe.m.mDeceleration; } } f32 daAlink_c::getCanoeSpeedRate() const { if (checkCanoeSlider()) { - return daAlinkHIO_canoe_c0::m.mSpeedRate_RiverRide; + return mpHIO->mCanoe.m.mSpeedRate_RiverRide; } else { - return daAlinkHIO_canoe_c0::m.mSpeedRate; + return mpHIO->mCanoe.m.mSpeedRate; } } s16 daAlink_c::getCanoeMaxRotSpeed() const { s16 var_r30; if (checkCanoeSlider()) { - var_r30 = daAlinkHIO_canoe_c0::m.mMaxTurnAngle_RiverRide; + var_r30 = mpHIO->mCanoe.m.mMaxTurnAngle_RiverRide; } else { - var_r30 = daAlinkHIO_canoe_c0::m.mMaxTurnAngle; + var_r30 = mpHIO->mCanoe.m.mMaxTurnAngle; } - return var_r30 * (((mUnderFrameCtrl[0].getRate() - daAlinkHIO_canoe_c0::m.mStickRowAnmSpeed) * 0.5f) + 1.0f); + return var_r30 * (((mUnderFrameCtrl[0].getRate() - mpHIO->mCanoe.m.mStickRowAnmSpeed) * 0.5f) + 1.0f); } cXyz* daAlink_c::getCanoeLocalPaddleTop() { @@ -299,7 +299,7 @@ int daAlink_c::canoeCommon() { var_r29 = 0x20021; } - int var_r27 = cLib_minMaxLimit(((fabsf(var_f31) - daAlinkHIO_canoe_c0::m.mStickRowAnmSpeed) / (daAlinkHIO_canoe_c0::m.mBtnRowStartAnmSpeed - daAlinkHIO_canoe_c0::m.mStickRowAnmSpeed)) * 127.0f, 0, 0x7F); + int var_r27 = cLib_minMaxLimit(((fabsf(var_f31) - mpHIO->mCanoe.m.mStickRowAnmSpeed) / (mpHIO->mCanoe.m.mBtnRowStartAnmSpeed - mpHIO->mCanoe.m.mStickRowAnmSpeed)) * 127.0f, 0, 0x7F); mZ2Link.startLinkSwordSound(var_r29, var_r27, mVoiceReverbIntensity); } @@ -335,10 +335,10 @@ int daAlink_c::procCanoeRideInit() { deleteEquipItem(0, 0); daCanoe_c* canoe = (daCanoe_c*)field_0x27f4; - setSingleAnime(ANM_HANG_CLIMB_TOP, daAlinkHIO_wallCatch_c0::m.mClimbAnm.mSpeed, - daAlinkHIO_wallCatch_c0::m.mClimbStartFrame, - daAlinkHIO_wallCatch_c0::m.mClimbAnm.mEndFrame, - daAlinkHIO_wallCatch_c0::m.mClimbAnm.mInterpolation); + setSingleAnime(ANM_HANG_CLIMB_TOP, mpHIO->mWallHang.mWallCatch.m.mClimbAnm.mSpeed, + mpHIO->mWallHang.mWallCatch.m.mClimbStartFrame, + mpHIO->mWallHang.mWallCatch.m.mClimbAnm.mEndFrame, + mpHIO->mWallHang.mWallCatch.m.mClimbAnm.mInterpolation); setSpecialGravity(0.0f, maxFallSpeed, 0); mNormalSpeed = 0.0f; @@ -403,7 +403,7 @@ int daAlink_c::procCanoeJumpRideInit(fopAc_ac_c* param_0) { } setHeavyBoots(0); - setSingleAnimeParam(ANM_JUMP_LAND, &daAlinkHIO_autoJump_c0::m.mLandAnm); + setSingleAnimeParam(ANM_JUMP_LAND, &mpHIO->mAutoJump.m.mLandAnm); deleteEquipItem(0, 0); mRideAcKeep.setData(canoe); @@ -445,7 +445,7 @@ int daAlink_c::procCanoeGetOffInit() { field_0x2f99 = 0; mNormalSpeed = 0.0f; - setSingleAnimeBaseSpeed(ANM_WAIT, daAlinkHIO_move_c0::m.mWaitAnmSpeed, 6.0f); + setSingleAnimeBaseSpeed(ANM_WAIT, mpHIO->mMove.m.mWaitAnmSpeed, 6.0f); setSpecialGravity(0.0f, maxFallSpeed, 0); mNormalSpeed = 0.0f; speed.y = 0.0f; @@ -509,7 +509,7 @@ int daAlink_c::procCanoeGetOff() { if (mLinkAcch.ChkGroundHit()) { checkLandAction(0); } else if (speed.y < -gravity) { - procFallInit(2, daAlinkHIO_smallJump_c0::m.mFallInterpolation); + procFallInit(2, mpHIO->mWallHang.mSmallJump.m.mFallInterpolation); } else { field_0x2f99 = 7; } @@ -517,7 +517,7 @@ int daAlink_c::procCanoeGetOff() { if (mProcVar3.field_0x300e == 0) { if (field_0x2060->getOldFrameRate() < 0.01f) { mProcVar3.field_0x300e = 1; - setSingleAnimeParam(ANM_VJUMP_START, &daAlinkHIO_smallJump_c0::m.mSmallJumpAnm); + setSingleAnimeParam(ANM_VJUMP_START, &mpHIO->mWallHang.mSmallJump.m.mSmallJumpAnm); field_0x33b0 = l_waitBaseAnime.y; field_0x3588 = l_waitBaseAnime; } @@ -525,7 +525,7 @@ int daAlink_c::procCanoeGetOff() { rideGetOff(); offModeFlg(0x400); setJumpMode(); - setSpecialGravity(daAlinkHIO_autoJump_c0::m.mGravity, maxFallSpeed, 0); + setSpecialGravity(mpHIO->mAutoJump.m.mGravity, maxFallSpeed, 0); mNormalSpeed = 15.0f; speed.y = 20.0f; } @@ -756,12 +756,12 @@ int daAlink_c::procCanoeRowInit(int param_0) { } commonProcInit(PROC_CANOE_ROW); - f32 var_f31 = daAlinkHIO_canoe_c0::m.mBtnRowAnmSpeed; + f32 var_f31 = mpHIO->mCanoe.m.mBtnRowAnmSpeed; BOOL var_r24 = 0; if (var_r29 == ANM_CANOE_ROW_LEFT_BACK || var_r29 == ANM_CANOE_ROW_RIGHT_BACK) { mProcVar3.field_0x300e = 1; - if (temp_r26->speedF > 0.5f * (-var_f31 * daAlinkHIO_canoe_c0::m.mBackSpeedRate)) { + if (temp_r26->speedF > 0.5f * (-var_f31 * mpHIO->mCanoe.m.mBackSpeedRate)) { var_r24 = 1; } @@ -783,7 +783,7 @@ int daAlink_c::procCanoeRowInit(int param_0) { } if (var_r24 != 0) { - var_f31 = daAlinkHIO_canoe_c0::m.mBtnRowStartAnmSpeed; + var_f31 = mpHIO->mCanoe.m.mBtnRowStartAnmSpeed; } setSingleAnime((daAlink_ANM)var_r29, var_f31, 0.0f, 35, 3.0f); @@ -809,9 +809,9 @@ int daAlink_c::procCanoeRow() { procCanoeWaitInit(0); } } else { - f32 var_f30 = daAlinkHIO_canoe_c0::m.mBtnRowAnmSpeed; - if ((mProcVar3.field_0x300e == 1 && temp_r29->speedF > 0.5f * (-var_f30 * daAlinkHIO_canoe_c0::m.mBackSpeedRate)) || (mProcVar3.field_0x300e == 0 && temp_r29->speedF < 0.5f * (var_f30 * getCanoeSpeedRate()))) { - var_f30 = daAlinkHIO_canoe_c0::m.mBtnRowStartAnmSpeed; + f32 var_f30 = mpHIO->mCanoe.m.mBtnRowAnmSpeed; + if ((mProcVar3.field_0x300e == 1 && temp_r29->speedF > 0.5f * (-var_f30 * mpHIO->mCanoe.m.mBackSpeedRate)) || (mProcVar3.field_0x300e == 0 && temp_r29->speedF < 0.5f * (var_f30 * getCanoeSpeedRate()))) { + var_f30 = mpHIO->mCanoe.m.mBtnRowStartAnmSpeed; } f32 sp8 = temp_r27->getRate(); @@ -851,7 +851,7 @@ int daAlink_c::procCanoeRow() { if (mProcVar3.field_0x300e == 0) { temp_r29->setAimSpeed(var_f31 * getCanoeSpeedRate()); } else { - temp_r29->setAimSpeed(-var_f31 * daAlinkHIO_canoe_c0::m.mBackSpeedRate); + temp_r29->setAimSpeed(-var_f31 * mpHIO->mCanoe.m.mBackSpeedRate); } } @@ -873,12 +873,12 @@ int daAlink_c::procCanoePaddleShiftInit(int param_0) { f32 speed; if (mProcVar5.field_0x3012 == 0) { - speed = daAlinkHIO_canoe_c0::m.mLeftRightChangeAnm.mSpeed; + speed = mpHIO->mCanoe.m.mLeftRightChangeAnm.mSpeed; } else { - speed = -daAlinkHIO_canoe_c0::m.mLeftRightChangeAnm.mSpeed; + speed = -mpHIO->mCanoe.m.mLeftRightChangeAnm.mSpeed; } - setSingleAnime(ANM_CANOE_CHANGE_HAND, speed, daAlinkHIO_canoe_c0::m.mLeftRightChangeAnm.mStartFrame, daAlinkHIO_canoe_c0::m.mLeftRightChangeAnm.mEndFrame, daAlinkHIO_canoe_c0::m.mLeftRightChangeAnm.mInterpolation); + setSingleAnime(ANM_CANOE_CHANGE_HAND, speed, mpHIO->mCanoe.m.mLeftRightChangeAnm.mStartFrame, mpHIO->mCanoe.m.mLeftRightChangeAnm.mEndFrame, mpHIO->mCanoe.m.mLeftRightChangeAnm.mInterpolation); if (mProcVar5.field_0x3012 == 1) { field_0x2f92 = 0; @@ -932,12 +932,12 @@ int daAlink_c::procCanoePaddlePutInit(int param_0) { f32 var_f31; if (mProcVar5.field_0x3012 == 0) { - var_f31 = daAlinkHIO_canoe_c0::m.mLeftRightChangeAnm.mSpeed; + var_f31 = mpHIO->mCanoe.m.mLeftRightChangeAnm.mSpeed; } else { - var_f31 = -daAlinkHIO_canoe_c0::m.mLeftRightChangeAnm.mSpeed; + var_f31 = -mpHIO->mCanoe.m.mLeftRightChangeAnm.mSpeed; } - setSingleAnime(ANM_CANOE_CHANGE_HAND, var_f31, daAlinkHIO_canoe_c0::m.mLeftRightChangeAnm.mStartFrame, daAlinkHIO_canoe_c0::m.mLeftRightChangeAnm.mEndFrame, daAlinkHIO_canoe_c0::m.mLeftRightChangeAnm.mInterpolation); + setSingleAnime(ANM_CANOE_CHANGE_HAND, var_f31, mpHIO->mCanoe.m.mLeftRightChangeAnm.mStartFrame, mpHIO->mCanoe.m.mLeftRightChangeAnm.mEndFrame, mpHIO->mCanoe.m.mLeftRightChangeAnm.mInterpolation); if (mProcVar5.field_0x3012 == 1) { field_0x2f92 = 0; @@ -1017,12 +1017,12 @@ int daAlink_c::procCanoePaddleGrab() { if (checkAnmEnd(temp_r29) != 0) { f32 var_f31; if (mProcVar5.field_0x3012 == 0) { - var_f31 = -daAlinkHIO_canoe_c0::m.mLeftRightChangeAnm.mSpeed; + var_f31 = -mpHIO->mCanoe.m.mLeftRightChangeAnm.mSpeed; } else { - var_f31 = daAlinkHIO_canoe_c0::m.mLeftRightChangeAnm.mSpeed; + var_f31 = mpHIO->mCanoe.m.mLeftRightChangeAnm.mSpeed; } - setSingleAnime(ANM_CANOE_CHANGE_HAND, var_f31, daAlinkHIO_canoe_c0::m.mLeftRightChangeAnm.mStartFrame, daAlinkHIO_canoe_c0::m.mLeftRightChangeAnm.mEndFrame, daAlinkHIO_canoe_c0::m.mLeftRightChangeAnm.mInterpolation); + setSingleAnime(ANM_CANOE_CHANGE_HAND, var_f31, mpHIO->mCanoe.m.mLeftRightChangeAnm.mStartFrame, mpHIO->mCanoe.m.mLeftRightChangeAnm.mEndFrame, mpHIO->mCanoe.m.mLeftRightChangeAnm.mInterpolation); mUpperFrameCtrl[0].setFrame(11.0f); getNowAnmPackUpper(UPPER_0)->setFrame(11.0f); @@ -1545,7 +1545,7 @@ int daAlink_c::procCanoeBottleDrinkInit(u16 param_0) { temp_r3->setAimSpeed(0.0f); temp_r3->setAimAngle(shape_angle.y); - setUpperAnimeParam(getMainBckData(ANM_BOTTLE_DRINK_START)->m_upperID, UPPER_2, &daAlinkHIO_bottle_c0::m.mStartDrinkAnm); + setUpperAnimeParam(getMainBckData(ANM_BOTTLE_DRINK_START)->m_upperID, UPPER_2, &mpHIO->mItem.mBottle.m.mStartDrinkAnm); setFacePriAnime(ANM_BOTTLE_DRINK_START); keepItemData(); setBottleModel(param_0); @@ -1583,7 +1583,7 @@ int daAlink_c::procCanoeKandelaarPourInit() { canoe->setAimSpeed(0.0f); canoe->setAimAngle(shape_angle.y); - setUpperAnimeParam(getMainBckData(ANM_OIL_BOTTLE_POUR_START)->m_upperID, UPPER_2, &daAlinkHIO_kandelaar_c0::m.mBeginUnkAnm); + setUpperAnimeParam(getMainBckData(ANM_OIL_BOTTLE_POUR_START)->m_upperID, UPPER_2, &mpHIO->mItem.mLantern.m.mBeginUnkAnm); commonKandelaarPourInit(); return 1; } @@ -1613,7 +1613,7 @@ int daAlink_c::procFishingCastInit() { return 1; } - setSingleAnimeBaseSpeed(ANM_WAIT, daAlinkHIO_move_c0::m.mWaitAnmSpeed, 3.0f); + setSingleAnimeBaseSpeed(ANM_WAIT, mpHIO->mMove.m.mWaitAnmSpeed, 3.0f); setUpperAnimeBase(0x260); field_0x2f96 = 0xFE; field_0x2f97 = 8; @@ -1656,7 +1656,7 @@ int daAlink_c::procFishingCast() { } if (checkInputOnR()) { - cLib_addCalcAngleS(&shape_angle.y, field_0x2fe2, daAlinkHIO_move_c0::m.mTurnAngleRate, daAlinkHIO_move_c0::m.mMaxTurnAngle, daAlinkHIO_move_c0::m.mMinTurnAngle); + cLib_addCalcAngleS(&shape_angle.y, field_0x2fe2, mpHIO->mMove.m.mTurnAngleRate, mpHIO->mMove.m.mMaxTurnAngle, mpHIO->mMove.m.mMinTurnAngle); current.angle.y = shape_angle.y; } @@ -1669,7 +1669,7 @@ int daAlink_c::procFishingCast() { mUnderFrameCtrl[0].setFrame(0.0f); getNowAnmPackUnder(UNDER_0)->setFrame(0.0f); } else if (mUnderFrameCtrl[0].getRate() < 0.01f) { - mUnderFrameCtrl[0].setRate(daAlinkHIO_move_c0::m.mWaitAnmSpeed); + mUnderFrameCtrl[0].setRate(mpHIO->mMove.m.mWaitAnmSpeed); mUpperFrameCtrl[2].setRate(1.0f); } diff --git a/src/d/actor/d_a_alink_copyrod.inc b/src/d/actor/d_a_alink_copyrod.inc index 7cc9e5fd7d..0490a62087 100644 --- a/src/d/actor/d_a_alink_copyrod.inc +++ b/src/d/actor/d_a_alink_copyrod.inc @@ -12,19 +12,19 @@ BOOL daAlink_c::checkLv6BossRoom() { } f32 daAlink_c::getCopyRodBallSpeed() const { - return daAlinkHIO_copyRod_c0::m.mBallSpeed; + return mpHIO->mItem.mCopyRod.m.mBallSpeed; } f32 daAlink_c::getCopyRodBallReturnSpeed() const { - return daAlinkHIO_copyRod_c0::m.mBallReturnSpeed; + return mpHIO->mItem.mCopyRod.m.mBallReturnSpeed; } f32 daAlink_c::getCopyRodBallDisMax() const { if (checkLv6BossRoom()) { - return daAlinkHIO_copyRod_c0::m.mBossBallMaxDistance; + return mpHIO->mItem.mCopyRod.m.mBossBallMaxDistance; } - return daAlinkHIO_copyRod_c0::m.mBallMaxDistance; + return mpHIO->mItem.mCopyRod.m.mBallMaxDistance; } fopAc_ac_c* daAlink_c::getCopyRodControllActor() { @@ -50,7 +50,7 @@ void daAlink_c::initCopyRodUpperAnimeSpeed(int param_0) { mUpperFrameCtrl[2].setFrame(0.0f); getNowAnmPackUpper(UPPER_2)->setFrame(0.0f); } else { - mUpperFrameCtrl[2].setRate(daAlinkHIO_boom_c0::m.mIdleAnmSpeed); + mUpperFrameCtrl[2].setRate(mpHIO->mItem.mBoomerang.m.mIdleAnmSpeed); } } } @@ -86,9 +86,9 @@ void daAlink_c::setCopyRodControllUpperSpeedRate() { var_f31 = 1.0f; } else { if (mProcID == PROC_STEP_MOVE) { - var_f31 = fabsf(field_0x3478 / daAlinkHIO_move_c0::m.mMaxSpeed); + var_f31 = fabsf(field_0x3478 / mpHIO->mMove.m.mMaxSpeed); } else { - var_f31 = fabsf(mNormalSpeed / daAlinkHIO_move_c0::m.mMaxSpeed); + var_f31 = fabsf(mNormalSpeed / mpHIO->mMove.m.mMaxSpeed); } if (checkHeavyStateOn(1, 1)) { @@ -132,7 +132,7 @@ void daAlink_c::setCopyRodModel() { void daAlink_c::setCopyRodReadyAnime() { f32 speed; if (checkAttentionLock()) { - speed = daAlinkHIO_boom_c0::m.mIdleAnmSpeed; + speed = mpHIO->mItem.mBoomerang.m.mIdleAnmSpeed; } else { speed = 0.0f; } @@ -201,7 +201,7 @@ BOOL daAlink_c::checkUpperItemActionCopyRod() { } if (checkReadyItem() && !itemButton() && checkCopyRodReadyAnime()) { - setUpperAnimeParam(0x53, UPPER_2, &daAlinkHIO_boom_c0::m.mThrowAnm); + setUpperAnimeParam(0x53, UPPER_2, &mpHIO->mItem.mBoomerang.m.mThrowAnm); mSearchBallScale = getCopyRodBallDisMax(); if (!mSight.getLockFlg()) { @@ -226,7 +226,7 @@ void daAlink_c::checkUpperItemActionCopyRodFly() { int daAlink_c::checkNextActionCopyRod() { if ((checkBoomerangCatchAnime() && - mUpperFrameCtrl[2].getFrame() <= daAlinkHIO_boom_c0::m.mCatchAnm.mCancelFrame) || + mUpperFrameCtrl[2].getFrame() <= mpHIO->mItem.mBoomerang.m.mCatchAnm.mCancelFrame) || checkNoResetFlg1(FLG1_UNK_10000)) { return 0; @@ -275,7 +275,7 @@ int daAlink_c::procCopyRodSubjectInit() { mNormalSpeed = 0.0f; initCopyRodUpperAnimeSpeed(1); - setSingleAnimeBaseSpeed(ANM_ATN_WAIT_RIGHT, 0.0f, daAlinkHIO_boom_c0::m.mStartInterpolation); + setSingleAnimeBaseSpeed(ANM_ATN_WAIT_RIGHT, 0.0f, mpHIO->mItem.mBoomerang.m.mStartInterpolation); dComIfGp_setPlayerStatus0(0, 0x80); current.angle.y = shape_angle.y; @@ -314,7 +314,7 @@ int daAlink_c::procCopyRodMoveInit() { } initCopyRodUpperAnimeSpeed(0); - setBlendAtnMoveAnime(daAlinkHIO_boom_c0::m.mStartInterpolation); + setBlendAtnMoveAnime(mpHIO->mItem.mBoomerang.m.mStartInterpolation); dComIfGp_setPlayerStatus0(0, 0x80); return 1; @@ -333,7 +333,7 @@ int daAlink_c::procCopyRodMove() { if (field_0x2f98 != 3) { field_0x2f98 = 3; - var_f31 = daAlinkHIO_basic_c0::m.mBasicInterpolation; + var_f31 = mpHIO->mBasic.m.mBasicInterpolation; } } else { offModeFlg(1); @@ -354,16 +354,16 @@ int daAlink_c::procCopyRodSwingInit() { ((fopAcM_GetName(statue) == PROC_CSTATUE && statue->checkNotSmallType()) || fopAcM_GetName(statue) != PROC_CSTATUE)) { - setSingleAnimeParam(ANM_COPYROD_SWING_LARGE, &daAlinkHIO_copyRod_c0::m.mBigSwingAnm); + setSingleAnimeParam(ANM_COPYROD_SWING_LARGE, &mpHIO->mItem.mCopyRod.m.mBigSwingAnm); field_0x3478 = 13.0f; field_0x347c = 21.0f; - field_0x3480 = daAlinkHIO_copyRod_c0::m.mBigSwingAnm.mCancelFrame; + field_0x3480 = mpHIO->mItem.mCopyRod.m.mBigSwingAnm.mCancelFrame; field_0x3484 = 27.0f; } else { - setSingleAnimeParam(ANM_COPYROD_SWING, &daAlinkHIO_copyRod_c0::m.mSwingAnm); + setSingleAnimeParam(ANM_COPYROD_SWING, &mpHIO->mItem.mCopyRod.m.mSwingAnm); field_0x3478 = 4.0f; field_0x347c = 8.0f; - field_0x3480 = daAlinkHIO_copyRod_c0::m.mSwingAnm.mCancelFrame; + field_0x3480 = mpHIO->mItem.mCopyRod.m.mSwingAnm.mCancelFrame; field_0x3484 = 14.0f; } diff --git a/src/d/actor/d_a_alink_crawl.inc b/src/d/actor/d_a_alink_crawl.inc index 3d8407fb4a..5a5ebd7880 100644 --- a/src/d/actor/d_a_alink_crawl.inc +++ b/src/d/actor/d_a_alink_crawl.inc @@ -6,8 +6,8 @@ #include "d/actor/d_a_alink.h" f32 daAlink_c::getCrawlMoveAnmSpeed() { - return getAnmSpeedStickRate(daAlinkHIO_crouch_c0::m.mCrawlAnmSpeedMin, - daAlinkHIO_crouch_c0::m.mCrawlAnmSpeedMax); + return getAnmSpeedStickRate(mpHIO->mCrouch.m.mCrawlAnmSpeedMin, + mpHIO->mCrouch.m.mCrawlAnmSpeedMax); } f32 daAlink_c::getCrawlMoveSpeed() { @@ -20,7 +20,7 @@ f32 daAlink_c::getCrawlMoveSpeed() { frame = frame_ctrl->getFrame(); } - return (daAlinkHIO_crouch_c0::m.mCrawlMoveRate * frame_ctrl->getRate()) * cM_fsin(frame * 0.18479956686496735f); + return (mpHIO->mCrouch.m.mCrawlMoveRate * frame_ctrl->getRate()) * cM_fsin(frame * 0.18479956686496735f); } void daAlink_c::setCrawlMoveDirectionArrow() { @@ -357,9 +357,9 @@ void daAlink_c::setCrawlMoveAngle() { cXyz sp2C; cXyz sp38; - cLib_addCalcAngleS(&shape_angle.y, field_0x2fe2, daAlinkHIO_crouch_c0::m.mCrawlTurnRate, - daAlinkHIO_crouch_c0::m.mCrawlTurnMax, - daAlinkHIO_crouch_c0::m.mCrawlTurnMin); + cLib_addCalcAngleS(&shape_angle.y, field_0x2fe2, mpHIO->mCrouch.m.mCrawlTurnRate, + mpHIO->mCrouch.m.mCrawlTurnMax, + mpHIO->mCrouch.m.mCrawlTurnMin); if (shape_angle.y != current.angle.y) { if ((s16)(shape_angle.y - current.angle.y) > 0) { @@ -457,7 +457,7 @@ int daAlink_c::procCrawlStartInit() { commonProcInit(PROC_CRAWL_START); field_0x3588 = l_waitBaseAnime; - setSingleAnimeParam(ANM_CRAWL_START, &daAlinkHIO_crouch_c0::m.mCrawlStartAnm); + setSingleAnimeParam(ANM_CRAWL_START, &mpHIO->mCrouch.m.mCrawlStartAnm); mNormalSpeed = 0.0f; shape_angle.y = field_0x306e + 0x8000; @@ -465,13 +465,13 @@ int daAlink_c::procCrawlStartInit() { current.pos.x = field_0x34ec.x + (35.0f * cM_ssin(field_0x306e)); current.pos.z = field_0x34ec.z + (35.0f * cM_scos(field_0x306e)); - if (daAlinkHIO_crouch_c0::m.mCrawlStartAnm.mCancelFrame > daAlinkHIO_crouch_c0::m.mCrawlStartAnm.mEndFrame) { - field_0x347c = daAlinkHIO_crouch_c0::m.mCrawlStartAnm.mEndFrame; + if (mpHIO->mCrouch.m.mCrawlStartAnm.mCancelFrame > mpHIO->mCrouch.m.mCrawlStartAnm.mEndFrame) { + field_0x347c = mpHIO->mCrouch.m.mCrawlStartAnm.mEndFrame; } else { - field_0x347c = daAlinkHIO_crouch_c0::m.mCrawlStartAnm.mCancelFrame; + field_0x347c = mpHIO->mCrouch.m.mCrawlStartAnm.mCancelFrame; } - field_0x3478 = 1.0f / (field_0x347c - daAlinkHIO_crouch_c0::m.mCrawlStartAnm.mStartFrame); + field_0x3478 = 1.0f / (field_0x347c - mpHIO->mCrouch.m.mCrawlStartAnm.mStartFrame); field_0x33cc = 0.0f; dComIfGp_setPlayerStatus0(0, 0x08000000); @@ -534,7 +534,7 @@ int daAlink_c::procCrawlMoveInit(s16 param_0, s16 param_1) { } current.angle.y = shape_angle.y; - setSingleAnimeBaseSpeed(ANM_CRAWL, var_f31, daAlinkHIO_crouch_c0::m.mCrawlInterpolation); + setSingleAnimeBaseSpeed(ANM_CRAWL, var_f31, mpHIO->mCrouch.m.mCrawlInterpolation); } field_0x3198 = var_r29 ^ 1; @@ -762,7 +762,7 @@ int daAlink_c::procCrawlEndInit(int param_0, s16 param_1, s16 param_2) { current.angle.y = shape_angle.y; field_0x2f99 = 0xC; - const daAlinkHIO_anm_c* temp_r30 = &daAlinkHIO_crouch_c0::m.mCrawlEndAnm; + const daAlinkHIO_anm_c* temp_r30 = &mpHIO->mCrouch.m.mCrawlEndAnm; f32 var_f30; if (param_0 != 0) { @@ -816,7 +816,7 @@ int daAlink_c::procCrawlEnd() { if (!checkNextActionFromCrouch(0)) { procWaitInit(); } - } else if (frame_ctrl->getFrame() < daAlinkHIO_crouch_c0::m.mCrawlEndAnm.mCancelFrame) { + } else if (frame_ctrl->getFrame() < mpHIO->mCrouch.m.mCrawlEndAnm.mCancelFrame) { checkNextActionFromCrouch(1); } diff --git a/src/d/actor/d_a_alink_cut.inc b/src/d/actor/d_a_alink_cut.inc index 3c0fbcfcdc..553144c2e8 100644 --- a/src/d/actor/d_a_alink_cut.inc +++ b/src/d/actor/d_a_alink_cut.inc @@ -412,13 +412,13 @@ void daAlink_c::setCutDash(int param_0, int param_1) { resetCombo(0); offNoResetFlg2(FLG2_UNK_2); - setSwordAtParam(dCcG_At_Spl_UNK_0, 7, 16, 1, daAlinkHIO_cut_c0::m.mRunCutLength, - daAlinkHIO_cut_c0::m.mRunCutRadius); + setSwordAtParam(dCcG_At_Spl_UNK_0, 7, 16, 1, mpHIO->mCut.m.mRunCutLength, + mpHIO->mCut.m.mRunCutRadius); field_0x2fd0 = 2; mRunCutComboCount++; if (param_1) { - setUpperAnimeParam(0x82, UPPER_2, &daAlinkHIO_cutDaCharge_c0::m.mCutAnm); + setUpperAnimeParam(0x82, UPPER_2, &mpHIO->mCut.mCutDashCharge.m.mCutAnm); if (checkBoardRide()) { setCutType(13); @@ -430,7 +430,7 @@ void daAlink_c::setCutDash(int param_0, int param_1) { mRunCutComboCount = 1; } } else if (mRunCutComboCount == 1 || mRunCutComboCount == 3) { - setUpperAnimeParam(0x80, UPPER_2, &daAlinkHIO_cutDaL_c0::m.mCutAnm); + setUpperAnimeParam(0x80, UPPER_2, &mpHIO->mCut.mCutDashLeft.m.mCutAnm); if (checkBoardRide()) { setCutType(11); @@ -443,7 +443,7 @@ void daAlink_c::setCutDash(int param_0, int param_1) { mRunCutComboCount = 1; setFacePriTexture(FTANM_UNK_13); } else { - setUpperAnimeParam(0x81, UPPER_2, &daAlinkHIO_cutDaR_c0::m.mCutAnm); + setUpperAnimeParam(0x81, UPPER_2, &mpHIO->mCut.mCutDashRight.m.mCutAnm); if (checkBoardRide()) { setCutType(12); @@ -458,7 +458,7 @@ void daAlink_c::setCutDash(int param_0, int param_1) { setFacePriBck(0x104); field_0x2f96 = 2; - field_0x307e = daAlinkHIO_cut_c0::m.mComboDuration; + field_0x307e = mpHIO->mCut.m.mComboDuration; setSwordVoiceSe(Z2SE_AL_V_ATTACK_RUN); setCylAtParam(getSwordAtType(), dCcG_At_Spl_UNK_0, 7, 16, 1, 50.0f, 130.0f); @@ -473,9 +473,9 @@ BOOL daAlink_c::checkForceSwordSwing() { void daAlink_c::setComboReserb() { if (checkWolf()) { - field_0x307e = daAlinkHIO_wlAttack_c0::m.mComboDuration; + field_0x307e = mpHIO->mWolf.mWlAttack.m.mComboDuration; } else { - field_0x307e = daAlinkHIO_cut_c0::m.mComboDuration; + field_0x307e = mpHIO->mCut.m.mComboDuration; } if (mComboCutCount != 4 && field_0x2fce == 0 && swordSwingTrigger()) { @@ -735,8 +735,8 @@ void daAlink_c::checkCutAtnActorChange() { void daAlink_c::setCutJumpSpeed(int i_airAt) { if (checkNoResetFlg0(FLG0_UNDERWATER)) { - mNormalSpeed *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityX; - speed.y *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityY; + mNormalSpeed *= mpHIO->mItem.mIronBoots.m.mWaterVelocityX; + speed.y *= mpHIO->mItem.mIronBoots.m.mWaterVelocityY; } else if (checkHeavyStateOn(1, 1)) { speed.y *= 1.35f; } @@ -828,15 +828,15 @@ int daAlink_c::procCutNormalInit(int i_type) { const daAlinkHIO_cutNormal_c1* cutData; if (i_type == 1) { - cutData = &daAlinkHIO_cutNmL_c0::m; + cutData = &mpHIO->mCut.mCutLeft.m; } else if (i_type == 2) { - cutData = &daAlinkHIO_cutNmR_c0::m; + cutData = &mpHIO->mCut.mCutRight.m; } else if (i_type == 4) { - cutData = &daAlinkHIO_cutNmSR_c0::m; + cutData = &mpHIO->mCut.mCutRightStab.m; } else if (i_type == 3) { - cutData = &daAlinkHIO_cutNmSL_c0::m; + cutData = &mpHIO->mCut.mCutLeftStab.m; } else { - cutData = &daAlinkHIO_cutNmV_c0::m; + cutData = &mpHIO->mCut.mCutVertical.m; } field_0x3478 = cutData->mAttackStartFrame; @@ -871,10 +871,10 @@ int daAlink_c::procCutNormalInit(int i_type) { } field_0x3588 = l_halfAtnWaitBaseAnime; - field_0x307e = daAlinkHIO_cut_c0::m.mComboDuration; + field_0x307e = mpHIO->mCut.m.mComboDuration; - setSwordAtParam(dCcG_At_Spl_UNK_0, 1, cutParams->m_atSe, 2, daAlinkHIO_cut_c0::m.mSwordLength, - daAlinkHIO_cut_c0::m.mSwordRadius); + setSwordAtParam(dCcG_At_Spl_UNK_0, 1, cutParams->m_atSe, 2, mpHIO->mCut.m.mSwordLength, + mpHIO->mCut.m.mSwordRadius); setSwordComboVoice(); mProcVar5.field_0x3012 = 0; @@ -904,7 +904,7 @@ int daAlink_c::procCutNormal() { checkCutTurnCharge(); checkCutAtnActorChange(); - cLib_chaseF(&mNormalSpeed, 0.0f, daAlinkHIO_move_c0::m.mDeceleration); + cLib_chaseF(&mNormalSpeed, 0.0f, mpHIO->mMove.m.mDeceleration); onEndResetFlg0(ERFLG0_UNK_8000000); field_0x2f99 = 4; @@ -1049,19 +1049,19 @@ int daAlink_c::procCutFinishInit(int i_type) { BOOL var_r30 = FALSE; if (i_type == 0) { - cutData = &daAlinkHIO_cutFnL_c0::m; + cutData = &mpHIO->mCut.mCutFinishLeft.m; } else if (i_type == 1) { - cutData = &daAlinkHIO_cutFnV_c0::m; + cutData = &mpHIO->mCut.mCutFinishVertical.m; } else if (i_type == 2) { - cutData = &daAlinkHIO_cutFnS_c0::m; + cutData = &mpHIO->mCut.mCutFinishStab.m; } else if (i_type == 3) { - cutData = &daAlinkHIO_cutFnSl_c0::m; + cutData = &mpHIO->mCut.mCutFinishSweep.m; var_r30 = TRUE; } else if (i_type == 4) { - cutData = &daAlinkHIO_cutFnSm_c0::m; + cutData = &mpHIO->mCut.mCutFinishSlash.m; var_r30 = TRUE; } else { - cutData = &daAlinkHIO_cutFnR_c0::m; + cutData = &mpHIO->mCut.mCutFinishRight.m; } f32 var_f31; @@ -1092,19 +1092,19 @@ int daAlink_c::procCutFinishInit(int i_type) { } current.angle.y = shape_angle.y; - field_0x307e = daAlinkHIO_cut_c0::m.mComboDuration; + field_0x307e = mpHIO->mCut.m.mComboDuration; if (mComboCutCount == 3) { field_0x3484 = cutData->mComboCheckFrame; mProcVar0.field_0x3008 = cutData->mComboStopTime; setSwordAtParam(dCcG_At_Spl_UNK_0, 1, cutParams->m_atSe, 2, - daAlinkHIO_cut_c0::m.mSwordLength, daAlinkHIO_cut_c0::m.mSwordRadius); + mpHIO->mCut.m.mSwordLength, mpHIO->mCut.m.mSwordRadius); field_0x32d0 = Z2SE_AL_SWORD_SWING_S; } else { field_0x3484 = cutData->mCutAnm.mCancelFrame; mProcVar0.field_0x3008 = cutData->mStopTime; setSwordAtParam(dCcG_At_Spl_UNK_1, 3, cutParams->m_atSe, (var_r30 ? TRUE : FALSE) + 3, - daAlinkHIO_cut_c0::m.mSwordLength, daAlinkHIO_cut_c0::m.mSwordRadius); + mpHIO->mCut.m.mSwordLength, mpHIO->mCut.m.mSwordRadius); if (i_type == 2) { field_0x32d0 = Z2SE_AL_SWORD_THRUST; @@ -1154,7 +1154,7 @@ int daAlink_c::procCutFinish() { daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl; setBodyAngleXReadyAnime(1); - cLib_chaseF(&mNormalSpeed, 0.0f, daAlinkHIO_move_c0::m.mDeceleration); + cLib_chaseF(&mNormalSpeed, 0.0f, mpHIO->mMove.m.mDeceleration); onEndResetFlg0(ERFLG0_UNK_8000000); setComboReserb(); @@ -1229,12 +1229,12 @@ int daAlink_c::procCutFinishJumpUpInit() { } setCutType(CUT_TYPE_TWIRL); - speed.y = daAlinkHIO_cutFnJU_c0::m.mSpeedV; - mNormalSpeed = daAlinkHIO_cutFnJU_c0::m.mSpeedH; + speed.y = mpHIO->mCut.mCutFinishJumpUppercut.m.mSpeedV; + mNormalSpeed = mpHIO->mCut.mCutFinishJumpUppercut.m.mSpeedH; if (checkNoResetFlg0(FLG0_UNDERWATER)) { - mNormalSpeed *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityX; - speed.y *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityY; + mNormalSpeed *= mpHIO->mItem.mIronBoots.m.mWaterVelocityX; + speed.y *= mpHIO->mItem.mIronBoots.m.mWaterVelocityY; } else if (checkHeavyStateOn(1, 1)) { speed.y *= 1.5f; } @@ -1249,16 +1249,16 @@ int daAlink_c::procCutFinishJumpUpInit() { current.angle.y = shape_angle.y; } - field_0x307e = daAlinkHIO_cut_c0::m.mComboDuration; - f32 var_f31 = daAlinkHIO_cutFnJU_c0::m.mCutAnm.mStartFrame; + field_0x307e = mpHIO->mCut.m.mComboDuration; + f32 var_f31 = mpHIO->mCut.mCutFinishJumpUppercut.m.mCutAnm.mStartFrame; setCylAtParam(getSwordAtType(), dCcG_At_Spl_UNK_1, 3, 1, 3, - daAlinkHIO_cutFnJU_c0::m.mAttackRadius, 10.0f); + mpHIO->mCut.mCutFinishJumpUppercut.m.mAttackRadius, 10.0f); field_0x32cc = Z2SE_AL_SWORD_SWING_L; - setSingleAnime(ANM_CUT_TWIRL, daAlinkHIO_cutFnJU_c0::m.mCutAnm.mSpeed, var_f31, - daAlinkHIO_cutFnJU_c0::m.mCutAnm.mEndFrame, - daAlinkHIO_cutFnJU_c0::m.mCutAnm.mInterpolation); + setSingleAnime(ANM_CUT_TWIRL, mpHIO->mCut.mCutFinishJumpUppercut.m.mCutAnm.mSpeed, var_f31, + mpHIO->mCut.mCutFinishJumpUppercut.m.mCutAnm.mEndFrame, + mpHIO->mCut.mCutFinishJumpUppercut.m.mCutAnm.mInterpolation); setSwordVoiceSe(Z2SE_AL_V_SOTOMO_ATK); mProcVar5.field_0x3012 = 0; field_0x3478 = current.pos.y; @@ -1284,13 +1284,13 @@ int daAlink_c::procCutFinishJumpUp() { } if (mDemo.getDemoMode() != 0x52 && - current.pos.y < mLastJumpPos.y - daAlinkHIO_cutFnJU_c0::m.mFallHeight) + current.pos.y < mLastJumpPos.y - mpHIO->mCut.mCutFinishJumpUppercut.m.mFallHeight) { - return procFallInit(2, daAlinkHIO_cutFnJU_c0::m.mFallInterpolation); + return procFallInit(2, mpHIO->mCut.mCutFinishJumpUppercut.m.mFallInterpolation); } - if (frameCtrl->getFrame() >= daAlinkHIO_cutFnJU_c0::m.mAttackStartFrame && - frameCtrl->getFrame() < daAlinkHIO_cutFnJU_c0::m.mAttackEndFrame) + if (frameCtrl->getFrame() >= mpHIO->mCut.mCutFinishJumpUppercut.m.mAttackStartFrame && + frameCtrl->getFrame() < mpHIO->mCut.mCutFinishJumpUppercut.m.mAttackEndFrame) { if (!checkNoResetFlg0(FLG0_UNK_40)) { seStartSwordCut(field_0x32cc); @@ -1306,7 +1306,7 @@ int daAlink_c::procCutFinishJumpUpLandInit() { commonProcInit(PROC_CUT_FINISH_JUMP_UP_LAND); checkCutLandDamage(); - setSingleAnimeParam(ANM_CUT_TWIRL_LAND, &daAlinkHIO_cutFnJU_c0::m.mLandAnm); + setSingleAnimeParam(ANM_CUT_TWIRL_LAND, &mpHIO->mCut.mCutFinishJumpUppercut.m.mLandAnm); mNormalSpeed = 0.0f; setCutType(CUT_TYPE_TWIRL); @@ -1315,11 +1315,11 @@ int daAlink_c::procCutFinishJumpUpLandInit() { onResetFlg1(RFLG1_UNK_30); if (mComboCutCount == 3) { - field_0x3484 = daAlinkHIO_cutFnJU_c0::m.mComboCheckFrame; - mProcVar0.field_0x3008 = daAlinkHIO_cutFnJU_c0::m.mComboStopTime; + field_0x3484 = mpHIO->mCut.mCutFinishJumpUppercut.m.mComboCheckFrame; + mProcVar0.field_0x3008 = mpHIO->mCut.mCutFinishJumpUppercut.m.mComboStopTime; } else { - field_0x3484 = daAlinkHIO_cutFnJU_c0::m.mLandAnm.mCancelFrame; - mProcVar0.field_0x3008 = daAlinkHIO_cutFnJU_c0::m.mStopTime; + field_0x3484 = mpHIO->mCut.mCutFinishJumpUppercut.m.mLandAnm.mCancelFrame; + mProcVar0.field_0x3008 = mpHIO->mCut.mCutFinishJumpUppercut.m.mStopTime; } mProcVar5.field_0x3012 = 0; @@ -1384,19 +1384,19 @@ int daAlink_c::procCutReverseInit(daAlink_c::daAlink_ANM i_anmID) { commonProcInit(PROC_CUT_REVERSE); if (i_anmID == ANM_SHIELD_ATTACK_RECOIL) { - setSingleAnimeParam(i_anmID, &daAlinkHIO_guard_c0::m.mRecoilAnm); + setSingleAnimeParam(i_anmID, &mpHIO->mGuard.m.mRecoilAnm); mProcVar2.field_0x300c = 1; - field_0x3478 = daAlinkHIO_guard_c0::m.mRecoilAnm.mCancelFrame; + field_0x3478 = mpHIO->mGuard.m.mRecoilAnm.mCancelFrame; field_0x2f98 = 2; setUpperGuardAnime(-1.0f); } else { - setSingleAnimeParam(i_anmID, &daAlinkHIO_cut_c0::m.mRecoilAnm); + setSingleAnimeParam(i_anmID, &mpHIO->mCut.m.mRecoilAnm); mProcVar2.field_0x300c = 0; - field_0x3478 = daAlinkHIO_cut_c0::m.mRecoilAnm.mCancelFrame; + field_0x3478 = mpHIO->mCut.m.mRecoilAnm.mCancelFrame; field_0x2f98 = 4; } - mNormalSpeed = daAlinkHIO_cut_c0::m.mRecoilSpeed; + mNormalSpeed = mpHIO->mCut.m.mRecoilSpeed; current.angle.y = shape_angle.y - -0x8000; field_0x307e = 0; mProcVar5.field_0x3012 = 0; @@ -1421,7 +1421,7 @@ int daAlink_c::procCutReverse() { } daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; - cLib_chaseF(&mNormalSpeed, 0.0f, daAlinkHIO_cut_c0::m.mRecoilDeceleration); + cLib_chaseF(&mNormalSpeed, 0.0f, mpHIO->mCut.m.mRecoilDeceleration); if (mProcVar2.field_0x300c == 0) { checkCutTurnCharge(); @@ -1448,20 +1448,20 @@ int daAlink_c::procCutReverse() { int daAlink_c::procCutJumpInit(int i_airCut) { commonProcInit(PROC_CUT_JUMP); - setSingleAnimeParam(ANM_CUT_JUMP, &daAlinkHIO_cutJump_c0::m.mCutAnm); + setSingleAnimeParam(ANM_CUT_JUMP, &mpHIO->mCut.mCutJump.m.mCutAnm); if (i_airCut) { - mNormalSpeed = daAlinkHIO_cutJump_c0::m.mAirJumpSpeedH; - speed.y = daAlinkHIO_cutJump_c0::m.mAirJumpSpeedV; + mNormalSpeed = mpHIO->mCut.mCutJump.m.mAirJumpSpeedH; + speed.y = mpHIO->mCut.mCutJump.m.mAirJumpSpeedV; } else { - mNormalSpeed = daAlinkHIO_cutJump_c0::m.mBaseJumpSpeedH; - speed.y = daAlinkHIO_cutJump_c0::m.mBaseJumpSpeedV; + mNormalSpeed = mpHIO->mCut.mCutJump.m.mBaseJumpSpeedH; + speed.y = mpHIO->mCut.mCutJump.m.mBaseJumpSpeedV; } setCutJumpSpeed(i_airCut); current.angle.y = shape_angle.y; - setSwordAtParam(dCcG_At_Spl_UNK_1, 3, 1, 3, daAlinkHIO_cut_c0::m.mSwordLength, - daAlinkHIO_cut_c0::m.mSwordRadius); + setSwordAtParam(dCcG_At_Spl_UNK_1, 3, 1, 3, mpHIO->mCut.m.mSwordLength, + mpHIO->mCut.m.mSwordRadius); setCutType(CUT_TYPE_JUMP); setSwordComboVoice(); dComIfGp_setPlayerStatus0(0, 0x8000); @@ -1486,7 +1486,7 @@ int daAlink_c::procCutJump() { if (mLinkAcch.ChkGroundHit()) { procCutJumpLandInit(field_0x3198); - } else if (mUnderFrameCtrl[0].getFrame() >= daAlinkHIO_cutJump_c0::m.mStartAttackFrame) { + } else if (mUnderFrameCtrl[0].getFrame() >= mpHIO->mCut.mCutJump.m.mStartAttackFrame) { if (!checkNoResetFlg0(FLG0_UNK_40)) { seStartSwordCut(Z2SE_AL_SWORD_SWING_L); } @@ -1500,18 +1500,18 @@ int daAlink_c::procCutJump() { int daAlink_c::procCutJumpLandInit(int param_0) { commonProcInit(PROC_CUT_JUMP_LAND); checkCutLandDamage(); - setSingleAnimeParam(ANM_CUT_JUMP_LAND, &daAlinkHIO_cutJump_c0::m.mLandAnm); + setSingleAnimeParam(ANM_CUT_JUMP_LAND, &mpHIO->mCut.mCutJump.m.mLandAnm); if (checkNoResetFlg0(FLG0_UNDERWATER)) { - field_0x2060->initOldFrameMorf(5.0f * daAlinkHIO_cutJump_c0::m.mLandAnm.mInterpolation, + field_0x2060->initOldFrameMorf(5.0f * mpHIO->mCut.mCutJump.m.mLandAnm.mInterpolation, 0, 0x23); } if (!checkNoResetFlg0(FLG0_UNK_40)) { seStartSwordCut(Z2SE_AL_SWORD_SWING_L); m_swordBlur.initBlur(0.0f, 0, &mSwordTopPos, &field_0x3498, &field_0x34a4); - setSwordAtParam(dCcG_At_Spl_UNK_1, 3, 1, 3, daAlinkHIO_cut_c0::m.mSwordLength, - daAlinkHIO_cut_c0::m.mSwordRadius); + setSwordAtParam(dCcG_At_Spl_UNK_1, 3, 1, 3, mpHIO->mCut.m.mSwordLength, + mpHIO->mCut.m.mSwordRadius); } onResetFlg0(RFLG0_UNK_2); @@ -1547,11 +1547,11 @@ int daAlink_c::procCutJumpLand() { if (frameCtrl->checkAnmEnd()) { checkNextAction(0); - } else if (frameCtrl->getFrame() > daAlinkHIO_cutJump_c0::m.mJumpSpinDelay && field_0x3198 != 2) + } else if (frameCtrl->getFrame() > mpHIO->mCut.mCutJump.m.mJumpSpinDelay && field_0x3198 != 2) { procCutTurnInit(1, field_0x3198); } else { - if (frameCtrl->getFrame() > daAlinkHIO_cutJump_c0::m.mLandAnm.mCancelFrame) { + if (frameCtrl->getFrame() > mpHIO->mCut.mCutJump.m.mLandAnm.mCancelFrame) { onModeFlg(4); if (checkNextAction(1)) { @@ -1559,7 +1559,7 @@ int daAlink_c::procCutJumpLand() { } } - if (frameCtrl->getFrame() < daAlinkHIO_cutJump_c0::m.mEndAttackFrame) { + if (frameCtrl->getFrame() < mpHIO->mCut.mCutJump.m.mEndAttackFrame) { onResetFlg0(RFLG0_UNK_2); } } @@ -1567,9 +1567,8 @@ int daAlink_c::procCutJumpLand() { return 1; } -// NONMATCHING - regalloc int daAlink_c::procCutTurnInit(int param_0, int param_1) { - const daAlinkHIO_cutTurn_c1* cutData = &daAlinkHIO_cutTurn_c0::m; + const daAlinkHIO_cutTurn_c1* cutData = &mpHIO->mCut.mCutTurn.m; const daAlinkHIO_anm_c* anm_data; daAlink_ANM anmID; @@ -1622,8 +1621,9 @@ int daAlink_c::procCutTurnInit(int param_0, int param_1) { setSingleAnime(anmID, anm_data->mSpeed, var_f31, anm_data->mEndFrame, morf); + int sp08; if (checkCutLargeTurnState()) { - param_1 = 4; + sp08 = 4; field_0x32cc = Z2SE_AL_KAITEN_L_SLASH; setSwordVoiceSe(Z2SE_AL_V_KAITENGIRI_L); field_0x3478 = cutData->mLargeAttackRadius; @@ -1635,7 +1635,7 @@ int daAlink_c::procCutTurnInit(int param_0, int param_1) { setCutType(CUT_TYPE_LARGE_TURN_LEFT); } } else { - param_1 = 3; + sp08 = 3; field_0x32cc = Z2SE_AL_KAITENGIRI; setSwordVoiceSe(Z2SE_AL_V_KAITEN); @@ -1663,7 +1663,7 @@ int daAlink_c::procCutTurnInit(int param_0, int param_1) { mNormalSpeed = 0.0f; mProcVar5.field_0x3012 = 0; setCutWaterDropEffect(); - initCutTurnAt(field_0x347c, param_1); + initCutTurnAt(field_0x347c, sp08); return 1; } @@ -1674,11 +1674,11 @@ int daAlink_c::procCutTurn() { daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; field_0x2f99 = 4; - cLib_chaseF(&mNormalSpeed, 0.0f, daAlinkHIO_move_c0::m.mDeceleration); + cLib_chaseF(&mNormalSpeed, 0.0f, mpHIO->mMove.m.mDeceleration); onEndResetFlg0(ERFLG0_UNK_8000000); if (mComboCutCount != 0) { - field_0x307e = daAlinkHIO_cut_c0::m.mComboDuration; + field_0x307e = mpHIO->mCut.m.mComboDuration; } if (frameCtrl->getFrame() >= 44.0f) { @@ -1700,7 +1700,7 @@ int daAlink_c::procCutTurn() { if (frameCtrl->getFrame() >= field_0x3484 && frameCtrl->getFrame() < field_0x3488) { if (!checkNoResetFlg0(FLG0_UNK_40)) { seStartSwordCut(field_0x32cc); - mNormalSpeed = daAlinkHIO_cutTurn_c0::m.mSpeed; + mNormalSpeed = mpHIO->mCut.mCutTurn.m.mSpeed; if (checkHeavyStateOn(1, 1)) { mNormalSpeed *= mHeavySpeedMultiplier; @@ -1723,10 +1723,10 @@ int daAlink_c::procCutTurnChargeInit() { } commonProcInit(PROC_CUT_TURN_CHARGE); - setSingleAnimeParam(ANM_CUT_TURN_CHARGE_START, &daAlinkHIO_cutTurn_c0::m.mChargeAnm); + setSingleAnimeParam(ANM_CUT_TURN_CHARGE_START, &mpHIO->mCut.mCutTurn.m.mChargeAnm); mNormalSpeed = 0.0f; current.angle.y = shape_angle.y; - mProcVar2.field_0x300c = daAlinkHIO_cut_c0::m.mNormalSwingDuration; + mProcVar2.field_0x300c = mpHIO->mCut.m.mNormalSwingDuration; return 1; } @@ -1736,7 +1736,7 @@ int daAlink_c::procCutTurnCharge() { } setSwordChargeVoiceSe(); - field_0x307e = daAlinkHIO_cut_c0::m.mComboDuration; + field_0x307e = mpHIO->mCut.m.mComboDuration; if (!swordButton() && mDemo.getDemoMode() != 0x5B) { if (mProcVar2.field_0x300c != 0) { @@ -1771,9 +1771,9 @@ int daAlink_c::procCutTurnMoveInit(int param_0) { } setSingleAnimeBaseSpeed(ANM_CUT_TURN_CHARGE, 0.0f, - daAlinkHIO_cutTurn_c0::m.mMoveFBInterpolation); + mpHIO->mCut.mCutTurn.m.mMoveFBInterpolation); field_0x2f98 = 0; - field_0x594 = daAlinkHIO_cutTurn_c0::m.mMaxSpeed; + field_0x594 = mpHIO->mCut.mCutTurn.m.mMaxSpeed; if (!checkWoodSwordEquip()) { simpleAnmPlay(m_nSwordBtk); @@ -1817,7 +1817,7 @@ int daAlink_c::procCutTurnMove() { setDoStatus(0x86); } } else { - field_0x307e = daAlinkHIO_cut_c0::m.mComboDuration; + field_0x307e = mpHIO->mCut.m.mComboDuration; } if (mDemo.getDemoMode() == 0x5B || mDemo.getDemoMode() == 0x5C) { @@ -1838,7 +1838,7 @@ int daAlink_c::procCutTurnMove() { if (field_0x2f98 == 0 || field_0x2f98 == 1) { if (direction == DIR_LEFT || direction == DIR_RIGHT) { anm = ANM_CUT_TURN_CHARGE_MOVE; - var_f31 = daAlinkHIO_cutTurn_c0::m.mMoveLRInterpolation; + var_f31 = mpHIO->mCut.mCutTurn.m.mMoveLRInterpolation; mNormalSpeed *= 0.5f; } else if (field_0x2f98 != direction) { mNormalSpeed *= -0.5f; @@ -1846,7 +1846,7 @@ int daAlink_c::procCutTurnMove() { } } else if (direction == DIR_FORWARD || direction == DIR_BACKWARD) { anm = ANM_CUT_TURN_CHARGE; - var_f31 = daAlinkHIO_cutTurn_c0::m.mMoveFBInterpolation; + var_f31 = mpHIO->mCut.mCutTurn.m.mMoveFBInterpolation; mNormalSpeed *= 0.5f; } else if (field_0x2f98 != direction) { mNormalSpeed *= -0.5f; @@ -1854,7 +1854,7 @@ int daAlink_c::procCutTurnMove() { } if (field_0x2f98 == direction) { - var_f30 = daAlinkHIO_cutTurn_c0::m.mChargeMoveAccel * field_0x33ac; + var_f30 = mpHIO->mCut.mCutTurn.m.mChargeMoveAccel * field_0x33ac; } else { field_0x2f98 = direction; } @@ -1864,17 +1864,17 @@ int daAlink_c::procCutTurnMove() { } } - setNormalSpeedF(var_f30, daAlinkHIO_cutTurn_c0::m.mChargeMoveDecel); + setNormalSpeedF(var_f30, mpHIO->mCut.mCutTurn.m.mChargeMoveDecel); f32 var_f31_2; if (field_0x2f98 == DIR_FORWARD) { - var_f31_2 = daAlinkHIO_cutTurn_c0::m.mMoveFBAnmSpeed; + var_f31_2 = mpHIO->mCut.mCutTurn.m.mMoveFBAnmSpeed; } else if (field_0x2f98 == DIR_BACKWARD) { - var_f31_2 = -daAlinkHIO_cutTurn_c0::m.mMoveFBAnmSpeed; + var_f31_2 = -mpHIO->mCut.mCutTurn.m.mMoveFBAnmSpeed; } else if (field_0x2f98 == DIR_RIGHT) { - var_f31_2 = -daAlinkHIO_cutTurn_c0::m.mMoveLRAnmSpeed; + var_f31_2 = -mpHIO->mCut.mCutTurn.m.mMoveLRAnmSpeed; } else { - var_f31_2 = daAlinkHIO_cutTurn_c0::m.mMoveLRAnmSpeed; + var_f31_2 = mpHIO->mCut.mCutTurn.m.mMoveLRAnmSpeed; } daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl; @@ -1943,7 +1943,7 @@ int daAlink_c::procCutDownInit() { speed.y = 0.0f; offModeFlg(2); } else { - setSingleAnimeParam(ANM_CUT_FINISHING_BLOW_JUMP, &daAlinkHIO_cutDown_c0::m.mJumpAnm); + setSingleAnimeParam(ANM_CUT_FINISHING_BLOW_JUMP, &mpHIO->mCut.mCutDown.m.mJumpAnm); sp2C.y += 50.0f; if (fopAcM_gc_c::gndCheck(&sp2C)) { @@ -1963,11 +1963,11 @@ int daAlink_c::procCutDownInit() { var_f31 = 800.0f; } - speed.y = daAlinkHIO_cutDown_c0::m.mRecoverSpeedH; + speed.y = mpHIO->mCut.mCutDown.m.mRecoverSpeedH; if (checkNoResetFlg0(FLG0_UNDERWATER)) { - mNormalSpeed *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityX; - speed.y *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityY; + mNormalSpeed *= mpHIO->mItem.mIronBoots.m.mWaterVelocityX; + speed.y *= mpHIO->mItem.mIronBoots.m.mWaterVelocityY; } else if (checkHeavyStateOn(1, 1)) { speed.y *= 1.5f; } @@ -2001,7 +2001,7 @@ int daAlink_c::procCutDown() { procCutDownLandInit((fopEn_enemy_c*)field_0x280c.getActor()); } else if (mUnderFrameCtrl[0].checkAnmEnd() && mProcVar2.field_0x300c == 0) { mProcVar2.field_0x300c = 1; - setSingleAnimeParam(ANM_CUT_FINISHING_BLOW_FALL, &daAlinkHIO_cutDown_c0::m.mFallAnm); + setSingleAnimeParam(ANM_CUT_FINISHING_BLOW_FALL, &mpHIO->mCut.mCutDown.m.mFallAnm); } return 1; @@ -2010,7 +2010,7 @@ int daAlink_c::procCutDown() { int daAlink_c::procCutDownLandInit(fopEn_enemy_c* i_enemy) { commonProcInit(PROC_CUT_DOWN_LAND); checkCutLandDamage(); - setSingleAnimeParam(ANM_CUT_FINISHING_BLOW_STAB, &daAlinkHIO_cutDown_c0::m.mLandAnm); + setSingleAnimeParam(ANM_CUT_FINISHING_BLOW_STAB, &mpHIO->mCut.mCutDown.m.mLandAnm); u32 var_r30; if (mDemo.getDemoMode() == 0x51 || (i_enemy != NULL && i_enemy->checkDownFlg() && @@ -2026,12 +2026,12 @@ int daAlink_c::procCutDownLandInit(fopEn_enemy_c* i_enemy) { } var_r30 = 0x20; - mProcVar0.field_0x3008 = daAlinkHIO_cutDown_c0::m.mSuccessStopTime; + mProcVar0.field_0x3008 = mpHIO->mCut.mCutDown.m.mSuccessStopTime; dComIfGp_getVibration().StartShock(4, 31, cXyz(0.0f, 1.0f, 0.0f)); } else { var_r30 = mPolySound; mProcVar3.field_0x300e = 0; - mProcVar0.field_0x3008 = daAlinkHIO_cutDown_c0::m.mFailStopTime; + mProcVar0.field_0x3008 = mpHIO->mCut.mCutDown.m.mFailStopTime; } mZ2Link.startCollisionSE(Z2SE_HIT_SWORD_STAB, var_r30); @@ -2076,7 +2076,7 @@ int daAlink_c::procCutDownLand() { } } else { setSingleAnimeParam(ANM_CUT_FINISHING_BLOW_MISS, - &daAlinkHIO_cutDown_c0::m.mMissAnm); + &mpHIO->mCut.mCutDown.m.mMissAnm); mProcVar2.field_0x300c = 1; } } else { @@ -2093,7 +2093,7 @@ int daAlink_c::procCutDownLand() { seStartSwordCut(Z2SE_SWORD_STICK_PULLOUT); } - if (frameCtrl_p->getFrame() > daAlinkHIO_cutDown_c0::m.mMissAnm.mCancelFrame) { + if (frameCtrl_p->getFrame() > mpHIO->mCut.mCutDown.m.mMissAnm.mCancelFrame) { onModeFlg(4); checkNextAction(1); } @@ -2113,8 +2113,8 @@ int daAlink_c::procCutHeadInit() { commonProcInit(PROC_CUT_HEAD); resetCombo(1); - setSingleAnimeParam(ANM_CUT_HEAD_JUMP, &daAlinkHIO_cutHead_c0::m.mJumpAnm); - setSpecialGravity(daAlinkHIO_cutHead_c0::m.mGravity, maxFallSpeed, 0); + setSingleAnimeParam(ANM_CUT_HEAD_JUMP, &mpHIO->mCut.mCutHead.m.mJumpAnm); + setSpecialGravity(mpHIO->mCut.mCutHead.m.mGravity, maxFallSpeed, 0); cXyz sp2C; if (enemy_p != NULL) { @@ -2125,13 +2125,13 @@ int daAlink_c::procCutHeadInit() { field_0x280c.clearData(); } - f32 fvar9 = cLib_minMaxLimit(sp2C.y, 30.0f, daAlinkHIO_cutHead_c0::m.mMaxHeight); + f32 fvar9 = cLib_minMaxLimit(sp2C.y, 30.0f, mpHIO->mCut.mCutHead.m.mMaxHeight); f32 fvar10 = JMAFastSqrt((fvar9 * -2.0f) / gravity); speed.y = fvar10 * -gravity; f32 fvar5 = sp2C.absXZ(); - if (fvar5 > daAlinkHIO_cutHead_c0::m.mMaxDistance) { - fvar5 = daAlinkHIO_cutHead_c0::m.mMaxDistance; + if (fvar5 > mpHIO->mCut.mCutHead.m.mMaxDistance) { + fvar5 = mpHIO->mCut.mCutHead.m.mMaxDistance; } field_0x3478 = (fvar5 * 2.0f) / (fvar10 * 3.0f * fvar10); @@ -2142,8 +2142,8 @@ int daAlink_c::procCutHeadInit() { shape_angle.y = current.angle.y; setSwordVoiceSe(Z2SE_AL_V_KABUTO_JUMP); - setSwordAtParam(dCcG_At_Spl_UNK_1, 3, 1, 3, daAlinkHIO_cutHead_c0::m.mSwordLength, - daAlinkHIO_cutHead_c0::m.mSwordRadius); + setSwordAtParam(dCcG_At_Spl_UNK_1, 3, 1, 3, mpHIO->mCut.mCutHead.m.mSwordLength, + mpHIO->mCut.mCutHead.m.mSwordRadius); setCutType(5); return 1; @@ -2154,7 +2154,7 @@ int daAlink_c::procCutHead() { cLib_chaseF(&mNormalSpeed, 0.0f, field_0x3478); if (speed.y <= 0.0f) { - setSingleAnimeParam(ANM_CUT_HEAD, &daAlinkHIO_cutHead_c0::m.mCutAnm); + setSingleAnimeParam(ANM_CUT_HEAD, &mpHIO->mCut.mCutHead.m.mCutAnm); f32 tmp_0 = 0.0f; mNormalSpeed = tmp_0; speed.y = tmp_0; @@ -2168,13 +2168,13 @@ int daAlink_c::procCutHead() { mNormalSpeed *= 0.99f; if (frameCtrl->checkPass(7.0f)) { - speed.y = daAlinkHIO_cutHead_c0::m.mAddSpeedV; - mNormalSpeed = daAlinkHIO_cutHead_c0::m.mAddSpeedH; + speed.y = mpHIO->mCut.mCutHead.m.mAddSpeedV; + mNormalSpeed = mpHIO->mCut.mCutHead.m.mAddSpeedH; initGravity(); } - if (frameCtrl->getFrame() >= daAlinkHIO_cutHead_c0::m.mAttackStartFrame && - frameCtrl->getFrame() < daAlinkHIO_cutHead_c0::m.mAttackEndFrame) + if (frameCtrl->getFrame() >= mpHIO->mCut.mCutHead.m.mAttackStartFrame && + frameCtrl->getFrame() < mpHIO->mCut.mCutHead.m.mAttackEndFrame) { if (!checkNoResetFlg0(FLG0_UNK_40)) { seStartSwordCut(Z2SE_AL_SWORD_SWING_L); @@ -2194,7 +2194,7 @@ int daAlink_c::procCutHead() { int daAlink_c::procCutHeadLandInit() { commonProcInit(PROC_CUT_HEAD_LAND); checkCutLandDamage(); - setSingleAnimeParam(ANM_CUT_HEAD_LAND, &daAlinkHIO_cutHead_c0::m.mLandAnm); + setSingleAnimeParam(ANM_CUT_HEAD_LAND, &mpHIO->mCut.mCutHead.m.mLandAnm); mNormalSpeed = 0.0f; return 1; } @@ -2209,7 +2209,7 @@ int daAlink_c::procCutHeadLand() { } else { checkNextAction(0); } - } else if (frameCtrl->getFrame() > daAlinkHIO_cutHead_c0::m.mLandAnm.mCancelFrame) { + } else if (frameCtrl->getFrame() > mpHIO->mCut.mCutHead.m.mLandAnm.mCancelFrame) { checkNextAction(1); } @@ -2218,10 +2218,10 @@ int daAlink_c::procCutHeadLand() { int daAlink_c::procCutLargeJumpChargeInit() { commonProcInit(PROC_CUT_LARGE_JUMP_CHARGE); - setSingleAnimeParam(ANM_CUT_JUMP_LARGE_CHARGE, &daAlinkHIO_cutLargeJump_c0::m.mChargeAnm); + setSingleAnimeParam(ANM_CUT_JUMP_LARGE_CHARGE, &mpHIO->mCut.mCutLargeJump.m.mChargeAnm); mNormalSpeed = 0.0f; current.angle.y = shape_angle.y; - mProcVar2.field_0x300c = daAlinkHIO_cut_c0::m.mNormalSwingDuration; + mProcVar2.field_0x300c = mpHIO->mCut.m.mNormalSwingDuration; return 1; } @@ -2257,14 +2257,14 @@ int daAlink_c::procCutLargeJumpInit() { } commonProcInit(PROC_CUT_LARGE_JUMP); - setSingleAnimeParam(ANM_CUT_JUMP_LARGE_START, &daAlinkHIO_cutLargeJump_c0::m.mChargeMoveAnm); + setSingleAnimeParam(ANM_CUT_JUMP_LARGE_START, &mpHIO->mCut.mCutLargeJump.m.mChargeMoveAnm); field_0x3588 = l_halfAtnWaitBaseAnime; mNormalSpeed = 0.0f; current.angle.y = shape_angle.y; mProcVar2.field_0x300c = 0; - setSwordAtParam(dCcG_At_Spl_UNK_0, 1, 1, 2, daAlinkHIO_cut_c0::m.mSwordLength, - daAlinkHIO_cut_c0::m.mSwordRadius); + setSwordAtParam(dCcG_At_Spl_UNK_0, 1, 1, 2, mpHIO->mCut.m.mSwordLength, + mpHIO->mCut.m.mSwordRadius); setCutType(CUT_TYPE_LARGE_JUMP_INIT); setSwordVoiceSe(Z2SE_AL_V_JUMP_ATTACK_L_1); setCutWaterDropEffect(); @@ -2288,7 +2288,7 @@ int daAlink_c::procCutLargeJump() { if (mProcVar2.field_0x300c == 0) { if (frameCtrl->checkAnmEnd()) { field_0x2f99 = 12; - setSingleAnimeParam(ANM_CUT_JUMP_LARGE, &daAlinkHIO_cutLargeJump_c0::m.mCutAnm); + setSingleAnimeParam(ANM_CUT_JUMP_LARGE, &mpHIO->mCut.mCutLargeJump.m.mCutAnm); mProcVar2.field_0x300c = 1; setSwordVoiceSe(Z2SE_AL_V_JUMP_ATTACK_L_2); } else { @@ -2298,13 +2298,13 @@ int daAlink_c::procCutLargeJump() { if (!checkModeFlg(2) && frameCtrl->getFrame() >= 5.0f) { setJumpMode(); - mNormalSpeed = daAlinkHIO_cutLargeJump_c0::m.mCutSpeedH; - speed.y = daAlinkHIO_cutLargeJump_c0::m.mCutSpeedV; + mNormalSpeed = mpHIO->mCut.mCutLargeJump.m.mCutSpeedH; + speed.y = mpHIO->mCut.mCutLargeJump.m.mCutSpeedV; setCutJumpSpeed(0); } - if (frameCtrl->getFrame() >= daAlinkHIO_cutLargeJump_c0::m.mJumpAttackStartFrame && - frameCtrl->getFrame() < daAlinkHIO_cutLargeJump_c0::m.mJumpAttackEndFrame) + if (frameCtrl->getFrame() >= mpHIO->mCut.mCutLargeJump.m.mJumpAttackStartFrame && + frameCtrl->getFrame() < mpHIO->mCut.mCutLargeJump.m.mJumpAttackEndFrame) { if (!checkNoResetFlg0(FLG0_UNK_40)) { seStartSwordCut(Z2SE_AL_SWORD_SWING_S); @@ -2317,15 +2317,15 @@ int daAlink_c::procCutLargeJump() { mProcVar3.field_0x300e--; if (mProcVar3.field_0x300e == 0) { - setSwordAtParam(dCcG_At_Spl_UNK_1, 3, 1, 4, daAlinkHIO_cut_c0::m.mSwordLength, - daAlinkHIO_cut_c0::m.mSwordRadius); + setSwordAtParam(dCcG_At_Spl_UNK_1, 3, 1, 4, mpHIO->mCut.m.mSwordLength, + mpHIO->mCut.m.mSwordRadius); setCutType(CUT_TYPE_LARGE_JUMP); } } if (mLinkAcch.ChkGroundHit()) { procCutLargeJumpLandInit(field_0x3198); - } else if (frameCtrl->getFrame() >= daAlinkHIO_cutLargeJump_c0::m.mCutInitFrame) { + } else if (frameCtrl->getFrame() >= mpHIO->mCut.mCutLargeJump.m.mCutInitFrame) { if (!checkNoResetFlg0(FLG0_UNK_40)) { seStartSwordCut(Z2SE_AL_SWORD_SWING_S); } @@ -2340,7 +2340,7 @@ int daAlink_c::procCutLargeJump() { int daAlink_c::procCutLargeJumpLandInit(int param_0) { commonProcInit(PROC_CUT_LARGE_JUMP_LAND); checkCutLandDamage(); - setSingleAnimeParam(ANM_CUT_JUMP_LARGE_LAND, &daAlinkHIO_cutLargeJump_c0::m.mLandAnm); + setSingleAnimeParam(ANM_CUT_JUMP_LARGE_LAND, &mpHIO->mCut.mCutLargeJump.m.mLandAnm); mNormalSpeed = 0.0f; field_0x2f99 = 12; field_0x3588 = l_halfAtnWaitBaseAnime; @@ -2349,7 +2349,7 @@ int daAlink_c::procCutLargeJumpLandInit(int param_0) { onResetFlg1(RFLG1_UNK_30); onResetFlg0(RFLG0_UNK_2); setCutType(CUT_TYPE_LARGE_JUMP); - field_0x3478 = daAlinkHIO_cutLargeJump_c0::m.mLandAttackRadius; + field_0x3478 = mpHIO->mCut.mCutLargeJump.m.mLandAttackRadius; field_0x347c = 130.0f; mProcVar2.field_0x300c = 0; field_0x3198 = param_0; @@ -2377,16 +2377,16 @@ int daAlink_c::procCutLargeJumpLand() { } else { checkNextAction(0); } - } else if (frameCtrl->getFrame() > daAlinkHIO_cutLargeJump_c0::m.mSpinSlashCheckFrame && + } else if (frameCtrl->getFrame() > mpHIO->mCut.mCutLargeJump.m.mSpinSlashCheckFrame && field_0x3198 != 2) { procCutTurnInit(1, field_0x3198); - } else if (frameCtrl->getFrame() > daAlinkHIO_cutLargeJump_c0::m.mLandAnm.mCancelFrame) { + } else if (frameCtrl->getFrame() > mpHIO->mCut.mCutLargeJump.m.mLandAnm.mCancelFrame) { checkNextAction(1); - } else if (frameCtrl->getFrame() < daAlinkHIO_cutLargeJump_c0::m.mLandAttackEndFrame) { + } else if (frameCtrl->getFrame() < mpHIO->mCut.mCutLargeJump.m.mLandAttackEndFrame) { onResetFlg0(RFLG0_UNK_2); - if (frameCtrl->getFrame() >= daAlinkHIO_cutLargeJump_c0::m.mLandAttackInitFrame) { + if (frameCtrl->getFrame() >= mpHIO->mCut.mCutLargeJump.m.mLandAttackInitFrame) { if (mProcVar2.field_0x300c == 0) { resetAtCollision(0); mProcVar2.field_0x300c = 1; @@ -2407,7 +2407,7 @@ int daAlink_c::procSwordUnequipSpInit() { return 0; } - setSingleAnimeBaseSpeed(ANM_FINISH, daAlinkHIO_cut_c0::m.mFlourishAnmSpeed, 3.0f); + setSingleAnimeBaseSpeed(ANM_FINISH, mpHIO->mCut.m.mFlourishAnmSpeed, 3.0f); mNormalSpeed = 0.0f; field_0x3588 = l_halfAtnWaitBaseAnime; field_0x3198 = 0; @@ -2452,11 +2452,11 @@ int daAlink_c::procSwordUnequipSp() { } } else { field_0x3198 = 1; - setSingleAnimeBaseSpeed(ANM_FINISH_END, daAlinkHIO_cut_c0::m.mFlourishEndAnmSpeed, + setSingleAnimeBaseSpeed(ANM_FINISH_END, mpHIO->mCut.m.mFlourishEndAnmSpeed, 3.0f); } } else if (field_0x3198 != 0) { - if (!(frameCtrl->getFrame() > daAlinkHIO_cut_c0::m.mFlourishControlStartFrame) || + if (!(frameCtrl->getFrame() > mpHIO->mCut.m.mFlourishControlStartFrame) || !checkNextAction(1)) { if (frameCtrl->getFrame() >= 39.0f) { @@ -2472,7 +2472,7 @@ int daAlink_c::procSwordUnequipSp() { frameCtrl->setRate(0.0f); dComIfGp_evmng_cutEnd(mAlinkStaffId); } else if (frameCtrl->getRate() < 0.0099999998f) { - setWaterInAnmRate(frameCtrl, daAlinkHIO_cut_c0::m.mFlourishEndAnmSpeed); + setWaterInAnmRate(frameCtrl, mpHIO->mCut.m.mFlourishEndAnmSpeed); } } deleteEquipItem(0, 1); diff --git a/src/d/actor/d_a_alink_damage.inc b/src/d/actor/d_a_alink_damage.inc index 553fd37d9c..d7e0018f58 100644 --- a/src/d/actor/d_a_alink_damage.inc +++ b/src/d/actor/d_a_alink_damage.inc @@ -10,15 +10,15 @@ #include "d/d_msg_object.h" s16 daAlink_c::getFreezeR() const { - return daAlinkHIO_damage_c0::m.mFreezeR; + return mpHIO->mDamage.m.mFreezeR; } s16 daAlink_c::getFreezeG() const { - return daAlinkHIO_damage_c0::m.mFreezeG; + return mpHIO->mDamage.m.mFreezeG; } s16 daAlink_c::getFreezeB() const { - return daAlinkHIO_damage_c0::m.mFreezeB; + return mpHIO->mDamage.m.mFreezeB; } bool daAlink_c::checkMiddleBossGoronRoom() { @@ -81,9 +81,9 @@ void daAlink_c::checkCutLandDamage() { if (!checkEventRun()) { f32 var_f31 = (mFallHeight - current.pos.y) * 0.0099999998f; - if (var_f31 >= daAlinkHIO_damFall_c0::m.mSmallDmgHeight && !checkNoLandDamageSlidePolygon()) + if (var_f31 >= mpHIO->mDamage.mDamFall.m.mSmallDmgHeight && !checkNoLandDamageSlidePolygon()) { - if (var_f31 >= daAlinkHIO_damFall_c0::m.mBigDmgHeight) { + if (var_f31 >= mpHIO->mDamage.mDamFall.m.mBigDmgHeight) { setLandDamagePoint(8); } else { setLandDamagePoint(4); @@ -187,7 +187,7 @@ int daAlink_c::setDamagePoint(int i_dmgAmount, int i_checkZoraMag, int i_setDmgT mSwordUpTimer = 0; if (i_setDmgTimer) { - mDamageTimer = daAlinkHIO_damage_c0::m.mInvincibleTime; + mDamageTimer = mpHIO->mDamage.m.mInvincibleTime; setDamageColorTime(); } @@ -238,7 +238,7 @@ cXyz* daAlink_c::getDamageVec(dCcD_GObjInf* i_hitObj) { } void daAlink_c::setDashDamage() { - setUpperAnimeParam(0xAD, UPPER_2, &daAlinkHIO_damage_c0::m.mDashDmgAnm); + setUpperAnimeParam(0xAD, UPPER_2, &mpHIO->mDamage.m.mDashDmgAnm); setFacePriBck(0x121); setFacePriTexture(FTANM_UNK_27); voiceStart(Z2SE_AL_V_DAMAGE_S); @@ -282,7 +282,7 @@ int daAlink_c::checkPolyDamage() { } } - if (!checkBoardRide() && ((checkWaterPolygonUnder() && dComIfG_Bgsp().ChkPolySafe(mLinkAcch.m_wtr) && ((dKy_pol_argument_get(&mLinkAcch.m_wtr) & 0x60) || field_0x2fbc == 6)) || (checkModeFlg(0x40) && field_0x33bc < field_0x33b8 && -G_CM3D_F_INF != field_0x33b8 && ((field_0x2fc6 & 0x60) || field_0x2fc5 == 6) && (field_0x2fc5 != 6 || !(field_0x33b8 > field_0x33d8 + daAlinkHIO_basic_c0::m.mLavaDeathDepth))))) { + if (!checkBoardRide() && ((checkWaterPolygonUnder() && dComIfG_Bgsp().ChkPolySafe(mLinkAcch.m_wtr) && ((dKy_pol_argument_get(&mLinkAcch.m_wtr) & 0x60) || field_0x2fbc == 6)) || (checkModeFlg(0x40) && field_0x33bc < field_0x33b8 && -G_CM3D_F_INF != field_0x33b8 && ((field_0x2fc6 & 0x60) || field_0x2fc5 == 6) && (field_0x2fc5 != 6 || !(field_0x33b8 > field_0x33d8 + mpHIO->mBasic.m.mLavaDeathDepth))))) { return 2; } @@ -366,7 +366,7 @@ BOOL daAlink_c::checkDamageAction() { if (checkAnmEnd(&mUpperFrameCtrl[2])) { if (checkDashDamageAnime()) { - resetUpperAnime(UPPER_2, daAlinkHIO_damage_c0::m.mDashDmgAnm.mInterpolation); + resetUpperAnime(UPPER_2, mpHIO->mDamage.m.mDashDmgAnm.mInterpolation); } else if (checkWolfHeadDamageAnime()) { resetUpperAnime(UPPER_2, 3.0f); } else if (checkSmallUpperGuardAnime()) { @@ -417,7 +417,7 @@ BOOL daAlink_c::checkDamageAction() { if ((!checkModeFlg(0x70C52)) && (!checkWolf()) && (!checkDkCaught2Anime())) { setUpperAnimeBase(getMainBckData(ANM_HORSE_WAIT_D_B)->m_underID); setFacePriAnime(ANM_HORSE_WAIT_D_B); - field_0x30f6 = daAlinkHIO_damCaught_c0::m.mGrabDuration; + field_0x30f6 = mpHIO->mDamage.mDamCaught.m.mGrabDuration; field_0x2f96 = 1; field_0x2f97 = 6; onNoResetFlg1(FLG1_UNK_100000); @@ -484,7 +484,7 @@ BOOL daAlink_c::checkDamageAction() { if (sp2C & 0x80) { mIceDamageWaitTimer++; - if (mIceDamageWaitTimer < daAlinkHIO_damage_c0::m.mFreezeTime) { + if (mIceDamageWaitTimer < mpHIO->mDamage.m.mFreezeTime) { sp2C = 0; } } else if (mIceDamageWaitTimer > 3) { @@ -498,7 +498,7 @@ BOOL daAlink_c::checkDamageAction() { setDamagePoint(1, sp2C & 0x80, TRUE, 0); if (checkWolf()) { - mDamageTimer = daAlinkHIO_damage_c0::m.mWolfFloorInvincibleTime; + mDamageTimer = mpHIO->mDamage.m.mWolfFloorInvincibleTime; setDamageColorTime(); } @@ -705,7 +705,7 @@ BOOL daAlink_c::checkDamageAction() { if (checkModeFlg(0x10000) && !checkLargeAttack(at_spl)) { voiceStart(Z2SE_AL_V_DAMAGE_S); seStartOnlyReverb(Z2SE_AL_DAMAGE_NORMAL); - procFallInit(1, daAlinkHIO_autoJump_c0::m.mFallInterpolation); + procFallInit(1, mpHIO->mAutoJump.m.mFallInterpolation); onModeFlg(8); return 1; } @@ -797,15 +797,15 @@ int daAlink_c::procDamageInit(dCcD_GObjInf* param_0, int param_1) { var_r29->y, var_r29->z * var_f29 + var_r29->x * var_f30); - mProcVar2.field_0x300c = cLib_minMaxLimit(cM_atan2s(sp88.z, sp88.y), -daAlinkHIO_damNormal_c0::m.mFrontBackBodyMaxAngle, daAlinkHIO_damNormal_c0::m.mFrontBackBodyMaxAngle); - mProcVar3.field_0x300e = cLib_minMaxLimit(cM_atan2s(sp88.x, -JMAFastSqrt(sp88.y * sp88.y + sp88.z * sp88.z)), -daAlinkHIO_damNormal_c0::m.mLeftRightBodyMaxAngle, daAlinkHIO_damNormal_c0::m.mLeftRightBodyMaxAngle); + mProcVar2.field_0x300c = cLib_minMaxLimit(cM_atan2s(sp88.z, sp88.y), -mpHIO->mDamage.mDamNormal.m.mFrontBackBodyMaxAngle, mpHIO->mDamage.mDamNormal.m.mFrontBackBodyMaxAngle); + mProcVar3.field_0x300e = cLib_minMaxLimit(cM_atan2s(sp88.x, -JMAFastSqrt(sp88.y * sp88.y + sp88.z * sp88.z)), -mpHIO->mDamage.mDamNormal.m.mLeftRightBodyMaxAngle, mpHIO->mDamage.mDamNormal.m.mLeftRightBodyMaxAngle); if (freeze_player) { var_f31 = 0.0f; } else if (mTargetedActor != NULL) { - var_f31 = daAlinkHIO_atnMove_c0::m.mWaitAnmSpeed; + var_f31 = mpHIO->mAtnMove.m.mWaitAnmSpeed; } else { - var_f31 = daAlinkHIO_noActAtnMove_c0::m.mWaitAnmSpeed; + var_f31 = mpHIO->mNoActAtnMove.m.mWaitAnmSpeed; } if (checkAtnLeftAnime()) { @@ -816,32 +816,32 @@ int daAlink_c::procDamageInit(dCcD_GObjInf* param_0, int param_1) { int direction = getDirectionFromAngle(cM_atan2s(-sp88.x, -sp88.z)); if (direction == DIR_FORWARD) { - setSingleAnimeParam(ANM_DMG_SMALL_A, &daAlinkHIO_damNormal_c0::m.mFrontAnm); - field_0x3478 = daAlinkHIO_damNormal_c0::m.mFrontAnm.mCancelFrame; + setSingleAnimeParam(ANM_DMG_SMALL_A, &mpHIO->mDamage.mDamNormal.m.mFrontAnm); + field_0x3478 = mpHIO->mDamage.mDamNormal.m.mFrontAnm.mCancelFrame; } else if (direction == DIR_BACKWARD) { - setSingleAnimeParam(ANM_DMG_SMALL_B, &daAlinkHIO_damNormal_c0::m.mRearAnm); - field_0x3478 = daAlinkHIO_damNormal_c0::m.mRearAnm.mCancelFrame; + setSingleAnimeParam(ANM_DMG_SMALL_B, &mpHIO->mDamage.mDamNormal.m.mRearAnm); + field_0x3478 = mpHIO->mDamage.mDamNormal.m.mRearAnm.mCancelFrame; } else if (direction == DIR_LEFT) { - setSingleAnimeParam(ANM_DMG_SMALL_LEFT, &daAlinkHIO_damNormal_c0::m.mLeftAnm); - field_0x3478 = daAlinkHIO_damNormal_c0::m.mLeftAnm.mCancelFrame; + setSingleAnimeParam(ANM_DMG_SMALL_LEFT, &mpHIO->mDamage.mDamNormal.m.mLeftAnm); + field_0x3478 = mpHIO->mDamage.mDamNormal.m.mLeftAnm.mCancelFrame; } else { - setSingleAnimeParam(ANM_DMG_SMALL_RIGHT, &daAlinkHIO_damNormal_c0::m.mRightAnm); - field_0x3478 = daAlinkHIO_damNormal_c0::m.mRightAnm.mCancelFrame; + setSingleAnimeParam(ANM_DMG_SMALL_RIGHT, &mpHIO->mDamage.mDamNormal.m.mRightAnm); + field_0x3478 = mpHIO->mDamage.mDamNormal.m.mRightAnm.mCancelFrame; } current.angle.y = var_r29->atan2sX_Z(); mProcVar4.field_0x3010 = current.angle.y; - mNormalSpeed = var_r29->absXZ() * daAlinkHIO_damNormal_c0::m.mAttackSpeedRate + daAlinkHIO_damNormal_c0::m.mInitialSpeed; - if (mNormalSpeed > daAlinkHIO_move_c0::m.mMaxSpeed) { - mNormalSpeed = daAlinkHIO_move_c0::m.mMaxSpeed; + mNormalSpeed = var_r29->absXZ() * mpHIO->mDamage.mDamNormal.m.mAttackSpeedRate + mpHIO->mDamage.mDamNormal.m.mInitialSpeed; + if (mNormalSpeed > mpHIO->mMove.m.mMaxSpeed) { + mNormalSpeed = mpHIO->mMove.m.mMaxSpeed; } daPy_frameCtrl_c* frame_ctrl = mUnderFrameCtrl; field_0x347c = M_PI / (frame_ctrl->getEnd() - frame_ctrl->getStart()); if (freeze_player) { - frame_ctrl->setRate(daAlinkHIO_damNormal_c0::m.mIceDamageASpeed); + frame_ctrl->setRate(mpHIO->mDamage.mDamNormal.m.mIceDamageASpeed); frame_ctrl->setEnd(7); mNormalSpeed = 0.0f; mProcVar0.mIceFreezeTimer = 90; @@ -863,7 +863,7 @@ int daAlink_c::procDamage() { mBodyAngle.z = -mProcVar3.field_0x300e * var_f31; mBodyAngle.y = 0; - cLib_chaseF(&mNormalSpeed, 0.0f, daAlinkHIO_damNormal_c0::m.mDeceleration); + cLib_chaseF(&mNormalSpeed, 0.0f, mpHIO->mDamage.mDamNormal.m.mDeceleration); if (checkFreezeDamage()) { freezeTimerDamage(); @@ -1028,9 +1028,9 @@ int daAlink_c::procCoLargeDamageInit(int param_0, int param_1, s16 param_2, s16 const daAlinkHIO_damLaHu_c1* var_r28; if (checkWolf()) { if (param_1 != 0) { - var_r29 = &daAlinkHIO_wlDamLarge_c0::m; + var_r29 = &mpHIO->mWolf.mWlDamage.mLarge.m; } else { - var_r29 = &daAlinkHIO_wlDamHuge_c0::m; + var_r29 = &mpHIO->mWolf.mWlDamage.mHuge.m; } setSpecialGravity(var_r29->mGravity, maxFallSpeed, 0); @@ -1176,7 +1176,7 @@ int daAlink_c::procCoLargeDamage() { mProcVar5.field_0x3012--; } else { voiceStart(Z2SE_AL_V_FALL); - setSingleAnimeBaseMorf(ANM_FALL, daAlinkHIO_damage_c0::m.mInvertedFallInterpolation); + setSingleAnimeBaseMorf(ANM_FALL, mpHIO->mDamage.m.mInvertedFallInterpolation); setOldRootQuaternion(field_0x3080, 0, field_0x3082); field_0x3080 = 0; field_0x3082 = 0; @@ -1257,7 +1257,7 @@ int daAlink_c::procLargeDamageUpInit(int param_0, int param_1, s16 param_2, s16 if (param_0 == -2) { var_f30 = 0.0f; } else { - var_f30 = daAlinkHIO_damLarge_c0::m.mBackGetUpAnm.mInterpolation; + var_f30 = mpHIO->mDamage.mDamLarge.m.mBackGetUpAnm.mInterpolation; } field_0x3484 = 9.0f; @@ -1274,7 +1274,7 @@ int daAlink_c::procLargeDamageUpInit(int param_0, int param_1, s16 param_2, s16 var_f31 = 0.0f; } else { mProcVar0.field_0x3008 = -1; - var_f31 = daAlinkHIO_damage_c0::m.mRecoverStandAnmSpeed; + var_f31 = mpHIO->mDamage.m.mRecoverStandAnmSpeed; } mProcVar1.field_0x300a = 1; @@ -1343,7 +1343,7 @@ int daAlink_c::procLargeDamageUp() { return 1; } - setSingleAnime(ANM_DMG_LARGE_LAND, daAlinkHIO_damLarge_c0::m.mBackGetUpAnm.mSpeed, 9.0f, -1, daAlinkHIO_damLarge_c0::m.mBackGetUpAnm.mInterpolation); + setSingleAnime(ANM_DMG_LARGE_LAND, mpHIO->mDamage.mDamLarge.m.mBackGetUpAnm.mSpeed, 9.0f, -1, mpHIO->mDamage.mDamLarge.m.mBackGetUpAnm.mInterpolation); field_0x3198 = -3; field_0x347c = 2.0f / (field_0x3478 - 9.0f); } @@ -1353,7 +1353,7 @@ int daAlink_c::procLargeDamageUp() { if (mProcVar0.field_0x3008 == 0) { mProcVar0.field_0x3008 = -1; - setWaterInAnmRate(temp_r30, daAlinkHIO_damage_c0::m.mRecoverStandAnmSpeed); + setWaterInAnmRate(temp_r30, mpHIO->mDamage.m.mRecoverStandAnmSpeed); temp_r30->offEndFlg(); } } else { @@ -1498,12 +1498,12 @@ int daAlink_c::procCoPolyDamageInit() { commonProcInit(PROC_POLY_DAMAGE); if (checkWolf()) { - setSingleAnimeWolfParam(WANM_DMG_SMALL, &daAlinkHIO_wlDamage_c0::m.mPolygonAnm); + setSingleAnimeWolfParam(WANM_DMG_SMALL, &mpHIO->mWolf.mWlDamage.m.mPolygonAnm); voiceStart(Z2SE_WL_V_DAMAGE); - field_0x3478 = daAlinkHIO_wlDamage_c0::m.mPolygonAnm.mCancelFrame; + field_0x3478 = mpHIO->mWolf.mWlDamage.m.mPolygonAnm.mCancelFrame; } else { - setSingleAnimeParam(ANM_DMG, &daAlinkHIO_damage_c0::m.mFloorDmgAnm); - field_0x3478 = daAlinkHIO_damage_c0::m.mFloorDmgAnm.mCancelFrame; + setSingleAnimeParam(ANM_DMG, &mpHIO->mDamage.m.mFloorDmgAnm); + field_0x3478 = mpHIO->mDamage.m.mFloorDmgAnm.mCancelFrame; } mNormalSpeed = 0.0f; @@ -1527,8 +1527,8 @@ int daAlink_c::procCoPolyDamage() { int daAlink_c::procLandDamageInit(int param_0) { f32 var_f31; if (param_0 == 0) { - var_f31 = daAlinkHIO_damFall_c0::m.mSmallDmgLandStartFrame; - mProcVar0.field_0x3008 = daAlinkHIO_autoJump_c0::m.mSpinJumpLandStopTime; + var_f31 = mpHIO->mDamage.mDamFall.m.mSmallDmgLandStartFrame; + mProcVar0.field_0x3008 = mpHIO->mAutoJump.m.mSpinJumpLandStopTime; if (mProcID == PROC_MAGNE_BOOTS_FLY) { dComIfGp_getVibration().StartShock(6, 0x1F, cXyz(0.0f, 1.0f, 0.0f)); @@ -1540,16 +1540,16 @@ int daAlink_c::procLandDamageInit(int param_0) { setLandDamagePoint(4); } - var_f31 = daAlinkHIO_damFall_c0::m.mSmallDmgLandStartFrame; - mProcVar0.field_0x3008 = daAlinkHIO_damFall_c0::m.mSmallStopTime; + var_f31 = mpHIO->mDamage.mDamFall.m.mSmallDmgLandStartFrame; + mProcVar0.field_0x3008 = mpHIO->mDamage.mDamFall.m.mSmallStopTime; dComIfGp_getVibration().StartShock(4, 0x1F, cXyz(0.0f, 1.0f, 0.0f)); } else { if (!checkEventRun()) { setLandDamagePoint(8); } - var_f31 = daAlinkHIO_damFall_c0::m.mLandAnm.mStartFrame; - mProcVar0.field_0x3008 = daAlinkHIO_damFall_c0::m.mBigStopTime; + var_f31 = mpHIO->mDamage.mDamFall.m.mLandAnm.mStartFrame; + mProcVar0.field_0x3008 = mpHIO->mDamage.mDamFall.m.mBigStopTime; dComIfGp_getVibration().StartShock(5, 0x1F, cXyz(0.0f, 1.0f, 0.0f)); } @@ -1563,7 +1563,7 @@ int daAlink_c::procLandDamageInit(int param_0) { voiceStart(Z2SE_AL_V_LANDING_FAIL); } - setSingleAnime(ANM_DMG_FALL, daAlinkHIO_damFall_c0::m.mLandAnm.mSpeed, var_f31, daAlinkHIO_damFall_c0::m.mLandAnm.mEndFrame, daAlinkHIO_damFall_c0::m.mLandAnm.mInterpolation); + setSingleAnime(ANM_DMG_FALL, mpHIO->mDamage.mDamFall.m.mLandAnm.mSpeed, var_f31, mpHIO->mDamage.mDamFall.m.mLandAnm.mEndFrame, mpHIO->mDamage.mDamFall.m.mLandAnm.mInterpolation); field_0x3198 = 0; field_0x2f9d = 4; setFootEffectProcType(4); @@ -1577,7 +1577,7 @@ int daAlink_c::procLandDamage() { if (field_0x3198 != 0) { if (frameCtrl->checkAnmEnd()) { checkNextAction(0); - } else if (frameCtrl->getFrame() > daAlinkHIO_damFall_c0::m.mStandAnm.mCancelFrame) { + } else if (frameCtrl->getFrame() > mpHIO->mDamage.mDamFall.m.mStandAnm.mCancelFrame) { onModeFlg(4); checkNextAction(1); } @@ -1586,7 +1586,7 @@ int daAlink_c::procLandDamage() { if (mProcVar0.field_0x3008 > 0) { mProcVar0.field_0x3008--; } else { - setSingleAnimeParam(ANM_DMG_FALL_RECOVER, &daAlinkHIO_damFall_c0::m.mStandAnm); + setSingleAnimeParam(ANM_DMG_FALL_RECOVER, &mpHIO->mDamage.mDamFall.m.mStandAnm); field_0x3198 = 1; } } @@ -1716,7 +1716,7 @@ int daAlink_c::procCoElecDamage() { int daAlink_c::procStEscapeInit() { commonProcInit(PROC_HUMAN_ST_ESCAPE); - setSingleAnimeParam(ANM_FROZEN_FREE, &daAlinkHIO_damCaught_c0::m.mEscapeAnm); + setSingleAnimeParam(ANM_FROZEN_FREE, &mpHIO->mDamage.mDamCaught.m.mEscapeAnm); mUnderFrameCtrl[0].setFrame(7.0f); getNowAnmPackUnder(UNDER_0)->setFrame(7.0f); @@ -1731,7 +1731,7 @@ int daAlink_c::procStEscape() { if (frameCtrl->checkAnmEnd()) { checkNextAction(0); - } else if (frameCtrl->getFrame() > daAlinkHIO_damCaught_c0::m.mEscapeAnm.mCancelFrame) { + } else if (frameCtrl->getFrame() > mpHIO->mDamage.mDamCaught.m.mEscapeAnm.mCancelFrame) { onModeFlg(4); checkNextAction(1); } @@ -1753,7 +1753,7 @@ int daAlink_c::procDkCaughtInit(fpc_ProcID param_0) { field_0x28f8 = param_0; mNormalSpeed = 0.0f; - mProcVar0.field_0x3008 = daAlinkHIO_damCaught_c0::m.mGrabDuration; + mProcVar0.field_0x3008 = mpHIO->mDamage.mDamCaught.m.mGrabDuration; fopAc_ac_c* temp_r3 = fopAcM_SearchByID(field_0x28f8); if (temp_r3 != NULL) { @@ -1797,13 +1797,13 @@ int daAlink_c::procDkCaught() { } s16 temp_r28 = current.angle.y; - cLib_addCalcAngleS(¤t.angle.y, field_0x2fe2, daAlinkHIO_atnMove_c0::m.mTurnAngleRate, daAlinkHIO_atnMove_c0::m.mMaxTurnAngle, daAlinkHIO_atnMove_c0::m.mMinTurnAngle); - var_f30 = daAlinkHIO_atnMove_c0::m.mAcceleration * field_0x33a8 * cM_scos((current.angle.y - temp_r28)); + cLib_addCalcAngleS(¤t.angle.y, field_0x2fe2, mpHIO->mAtnMove.m.mTurnAngleRate, mpHIO->mAtnMove.m.mMaxTurnAngle, mpHIO->mAtnMove.m.mMinTurnAngle); + var_f30 = mpHIO->mAtnMove.m.mAcceleration * field_0x33a8 * cM_scos((current.angle.y - temp_r28)); } else { var_f30 = 0.0f; } - setNormalSpeedF(var_f30, daAlinkHIO_atnMove_c0::m.mDeceleration); + setNormalSpeedF(var_f30, mpHIO->mAtnMove.m.mDeceleration); if (checkZeroSpeedF()) { onModeFlg(1); @@ -1814,11 +1814,11 @@ int daAlink_c::procDkCaught() { mProcVar0.field_0x3008--; if (escapeTrigger()) { - mProcVar0.field_0x3008 -= daAlinkHIO_damCaught_c0::m.mInputFadeTime; + mProcVar0.field_0x3008 -= mpHIO->mDamage.mDamCaught.m.mInputFadeTime; } if (checkInputOnR() && abs((s16)(mStickAngle - mPrevStickAngle)) > 0x1000) { - mProcVar0.field_0x3008 -= daAlinkHIO_damCaught_c0::m.mInputFadeTime; + mProcVar0.field_0x3008 -= mpHIO->mDamage.mDamCaught.m.mInputFadeTime; } if (mProcVar0.field_0x3008 < 0) { @@ -1846,8 +1846,8 @@ int daAlink_c::procScreamWaitInit() { if (checkEndResetFlg1(ERFLG1_UNK_2)) { setScreamWaitAnime(); } else { - setSingleAnimeBaseSpeed(ANM_WAIT, daAlinkHIO_move_c0::m.mWaitAnmSpeed, - daAlinkHIO_basic_c0::m.mBasicInterpolation); + setSingleAnimeBaseSpeed(ANM_WAIT, mpHIO->mMove.m.mWaitAnmSpeed, + mpHIO->mBasic.m.mBasicInterpolation); mProcVar2.field_0x300c = 0; } @@ -1996,18 +1996,18 @@ int daAlink_c::procCoSwimFreezeReturnInit() { f32 var_f31; if (checkWolf()) { - setSingleAnimeWolfBaseSpeed(WANM_SWIM_WAIT, daAlinkHIO_wlDamNormal_c0::m.mIceDamageAnmSpeed, + setSingleAnimeWolfBaseSpeed(WANM_SWIM_WAIT, mpHIO->mWolf.mWlDamage.mNormal.m.mIceDamageAnmSpeed, 10.0f); mUnderFrameCtrl[0].setEnd(3); mUnderFrameCtrl[0].setAttribute(0); setFaceBasicTexture(FTANM_UNK_90); mMidnaAnm = 1; - var_f31 = daAlinkHIO_wlSwim_c0::m.mStartHeight; + var_f31 = mpHIO->mWolf.mWlSwim.m.mStartHeight; } else { - setSingleAnime(ANM_SWIM_DMG_FREEZE, daAlinkHIO_damNormal_c0::m.mIceDamageASpeed, + setSingleAnime(ANM_SWIM_DMG_FREEZE, mpHIO->mDamage.mDamNormal.m.mIceDamageASpeed, 0.0f, 5, 10.0f); voiceStart(Z2SE_AL_V_DAMAGE_FREEZE); - var_f31 = daAlinkHIO_swim_c0::m.mStartHeight; + var_f31 = mpHIO->mSwim.m.mStartHeight; } seStartOnlyReverb(Z2SE_AL_FREEZE); diff --git a/src/d/actor/d_a_alink_demo.inc b/src/d/actor/d_a_alink_demo.inc index afec347a5e..8892cf5fd8 100644 --- a/src/d/actor/d_a_alink_demo.inc +++ b/src/d/actor/d_a_alink_demo.inc @@ -146,7 +146,7 @@ int daAlink_c::checkDemoAction() { } if (mProcID == PROC_SPINNER_WAIT) { - return procFallInit(1, daAlinkHIO_autoJump_c0::m.mFallInterpolation); + return procFallInit(1, mpHIO->mAutoJump.m.mFallInterpolation); } if (checkModeFlg(0x4000000) || checkModeFlg(0x40000) || checkHorseRide() || @@ -463,7 +463,7 @@ int daAlink_c::checkDemoAction() { } else if (checkBoardRide()) { return checkNextActionBoard(); } else if (checkSpinnerRide()) { - return procFallInit(1, daAlinkHIO_autoJump_c0::m.mFallInterpolation); + return procFallInit(1, mpHIO->mAutoJump.m.mFallInterpolation); } return commonCheckNextAction(0); @@ -486,7 +486,7 @@ void daAlink_c::setDemoMoveData(u32* o_mode, cXyz const* i_goal) { f32 temp_f28; f32 var_f27; if (checkWolf()) { - var_f27 = daAlinkHIO_wlMoveNoP_c0::m.mMaxSpeed / daAlinkHIO_move_c0::m.mMaxSpeed; + var_f27 = mpHIO->mWolf.mWlMoveNoP.m.mMaxSpeed / mpHIO->mMove.m.mMaxSpeed; var_f27 *= var_f27; } else { var_f27 = 1.0f; @@ -850,12 +850,12 @@ void daAlink_c::resetDemoBck() { mFaceBtkHeap.resetIdx(); if (checkWolf()) { - setSingleAnimeWolfBaseSpeed(WANM_WAIT, daAlinkHIO_wlMoveNoP_c0::m.mIdleAnmSpeed, - daAlinkHIO_wlMove_c0::m.mNormalInterpolation); + setSingleAnimeWolfBaseSpeed(WANM_WAIT, mpHIO->mWolf.mWlMoveNoP.m.mIdleAnmSpeed, + mpHIO->mWolf.mWlMove.m.mNormalInterpolation); setFaceBasicAnime(ANM_WAIT); } else { - setSingleAnimeBaseSpeed(ANM_WAIT, daAlinkHIO_move_c0::m.mWaitAnmSpeed, - daAlinkHIO_basic_c0::m.mBasicInterpolation); + setSingleAnimeBaseSpeed(ANM_WAIT, mpHIO->mMove.m.mWaitAnmSpeed, + mpHIO->mBasic.m.mBasicInterpolation); } } @@ -960,7 +960,7 @@ void daAlink_c::endDemoMode() { checkWaitAction(); } } else if (mProcID == PROC_MONKEY_MOVE) { - procFallInit(1, daAlinkHIO_autoJump_c0::m.mFallInterpolation); + procFallInit(1, mpHIO->mAutoJump.m.mFallInterpolation); } else if (checkCanoeRide()) { procCanoeWaitInit(0); } @@ -1029,7 +1029,7 @@ int daAlink_c::setTalkStartBack(cXyz* param_0) { if (dComIfG_Bgsp().GroundCross(&mLinkGndChk) - current.pos.y >= l_autoDownHeight) { current.angle.y = sp24.atan2sX_Z(); mNormalSpeed = 5.0f; - setSingleAnimeBaseSpeed(ANM_WALK, -daAlinkHIO_move_c0::m.mWalkAnmSpeed, 3.0f); + setSingleAnimeBaseSpeed(ANM_WALK, -mpHIO->mMove.m.mWalkAnmSpeed, 3.0f); return 1; } } @@ -1069,8 +1069,8 @@ void daAlink_c::setTalkAnime() { if (mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_8_e || mEquipItem == fpcNm_ITEM_KANTERA || (checkNoResetFlg2(FLG2_UNK_1) && field_0x2fde == 0x48)) { - setDoubleAnime(0.0f, daAlinkHIO_move_c0::m.mWaitAnmSpeed, - daAlinkHIO_move_c0::m.mWaitAnmSpeed, ANM_WAIT, ANM_WAIT, 2, 3.0f); + setDoubleAnime(0.0f, mpHIO->mMove.m.mWaitAnmSpeed, + mpHIO->mMove.m.mWaitAnmSpeed, ANM_WAIT, ANM_WAIT, 2, 3.0f); } else { setSingleAnimeBase(ANM_TALK); } @@ -1688,12 +1688,12 @@ int daAlink_c::procCoTalkInit() { mNormalSpeed = 0.0f; if (var_r30 == 0) { - setBlendWolfMoveAnime(daAlinkHIO_wlMove_c0::m.mIdleInterpolation); + setBlendWolfMoveAnime(mpHIO->mWolf.mWlMove.m.mIdleInterpolation); } else { if (var_r30 == 1) { field_0x2f99 = 13; setSingleAnimeWolfBaseSpeed(WANM_CROUCH_WALK, 0.0f, - daAlinkHIO_wlLie_c0::m.mProneMoveInterp); + mpHIO->mWolf.mWlLie.m.mProneMoveInterp); } else { field_0x2f99 = 13; daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl; @@ -1765,7 +1765,7 @@ int daAlink_c::procCoTalk() { } else { if (mEquipItem == fpcNm_ITEM_KANTERA) { if (mUpperAnmHeap[0].getIdx() != getMainBckData(ANM_WAIT)->m_upperID) { - setSingleAnimeBaseSpeed(ANM_WAIT, daAlinkHIO_move_c0::m.mWaitAnmSpeed, 3.0f); + setSingleAnimeBaseSpeed(ANM_WAIT, mpHIO->mMove.m.mWaitAnmSpeed, 3.0f); } } @@ -1866,9 +1866,9 @@ int daAlink_c::procCoUnequipInit() { mProcVar3.field_0x300e = 0; if (checkWolf()) { - setBlendWolfMoveAnime(daAlinkHIO_wlMove_c0::m.mNormalInterpolation); + setBlendWolfMoveAnime(mpHIO->mWolf.mWlMove.m.mNormalInterpolation); } else { - setBlendMoveAnime(daAlinkHIO_basic_c0::m.mBasicInterpolation); + setBlendMoveAnime(mpHIO->mBasic.m.mBasicInterpolation); if (mDemo.getParam1() == 0) { if (mEquipItem != fpcNm_ITEM_NONE) { @@ -2277,7 +2277,7 @@ int daAlink_c::procCoGetItem() { field_0x2f99 = 12; if (checkWolf()) { - setBlendWolfMoveAnime(daAlinkHIO_wlMove_c0::m.mNormalInterpolation); + setBlendWolfMoveAnime(mpHIO->mWolf.mWlMove.m.mNormalInterpolation); } else { if (mEquipItem == fpcNm_ITEM_KANTERA) { field_0x2f94 = 0; @@ -2289,7 +2289,7 @@ int daAlink_c::procCoGetItem() { 3.0f); field_0x2f99 = 0x60; } else { - setBlendMoveAnime(daAlinkHIO_basic_c0::m.mBasicInterpolation); + setBlendMoveAnime(mpHIO->mBasic.m.mBasicInterpolation); } } } @@ -2327,8 +2327,8 @@ int daAlink_c::procCoTurnBack() { if (checkWolf()) { setBlendWolfMoveAnime(5.0f); } else { - setDoubleAnime(0.0f, daAlinkHIO_noActAtnMove_c0::m.mWaitAnmSpeed, - daAlinkHIO_noActAtnMove_c0::m.mWaitAnmSpeed, ANM_WAIT_B, ANM_WAIT_B, + setDoubleAnime(0.0f, mpHIO->mNoActAtnMove.m.mWaitAnmSpeed, + mpHIO->mNoActAtnMove.m.mWaitAnmSpeed, ANM_WAIT_B, ANM_WAIT_B, 2, 3.0f); } @@ -2356,7 +2356,7 @@ int daAlink_c::procDoorOpenInit() { f32 start_f = 0.0f; s16 end_f = -1; - field_0x3478 = daAlinkHIO_basic_c0::m.mBasicInterpolation; + field_0x3478 = mpHIO->mBasic.m.mBasicInterpolation; mProcVar0.field_0x3008 = 0; if (mDemo.getParam0() == 4) { @@ -2487,9 +2487,9 @@ int daAlink_c::procCoLookWaitInit() { mNormalSpeed = 0.0f; if (checkWolf()) { - setBlendWolfMoveAnime(daAlinkHIO_wlMove_c0::m.mNormalInterpolation); + setBlendWolfMoveAnime(mpHIO->mWolf.mWlMove.m.mNormalInterpolation); } else { - setBlendMoveAnime(daAlinkHIO_basic_c0::m.mBasicInterpolation); + setBlendMoveAnime(mpHIO->mBasic.m.mBasicInterpolation); } current.angle.y = shape_angle.y; @@ -2528,8 +2528,8 @@ int daAlink_c::procCoDemoPushPullWaitInit() { if (checkWolf()) { setSingleAnimeWolfBase(WANM_WAIT_PP); } else { - setSingleAnimeBaseSpeed(ANM_WAIT_PUSH_PULL, daAlinkHIO_pushpull_c0::m.mStandbyASpeed, - daAlinkHIO_pushpull_c0::m.mStandbyInterpolation); + setSingleAnimeBaseSpeed(ANM_WAIT_PUSH_PULL, mpHIO->mPushpull.m.mStandbyASpeed, + mpHIO->mPushpull.m.mStandbyInterpolation); } mNormalSpeed = 0.0f; @@ -2545,15 +2545,15 @@ int daAlink_c::procCoDemoPushMoveInit() { if (mDemo.getParam0() != 0) { setSingleAnimeWolfBase(WANM_PUSH); } else { - setSingleAnimeWolf(WANM_PUSH_LIGHT, daAlinkHIO_wlPush_c0::m.mPushAnmSpeed, - 0.0f, 24, daAlinkHIO_wlPush_c0::m.mPushInterp); + setSingleAnimeWolf(WANM_PUSH_LIGHT, mpHIO->mWolf.mWlPush.m.mPushAnmSpeed, + 0.0f, 24, mpHIO->mWolf.mWlPush.m.mPushInterp); } } else { if (mDemo.getParam0() != 0) { setSingleAnimeBase(ANM_PUSH); } else { - setSingleAnimeBaseSpeed(ANM_PUSH_LIGHT, daAlinkHIO_pushpull_c0::m.mPushASpeed, - daAlinkHIO_pushpull_c0::m.mPushInterpolation); + setSingleAnimeBaseSpeed(ANM_PUSH_LIGHT, mpHIO->mPushpull.m.mPushASpeed, + mpHIO->mPushpull.m.mPushInterpolation); } } @@ -2617,7 +2617,7 @@ int daAlink_c::procDemoBoomerangCatchInit() { deleteEquipItem(FALSE, FALSE); mEquipItem = fpcNm_ITEM_BOOMERANG; setItemActor(); - setSingleAnimeParam(ANM_BOOMERANG_CATCH, &daAlinkHIO_boom_c0::m.mCatchAnm); + setSingleAnimeParam(ANM_BOOMERANG_CATCH, &mpHIO->mItem.mBoomerang.m.mCatchAnm); return 1; } @@ -2625,7 +2625,7 @@ int daAlink_c::procDemoBoomerangCatch() { dComIfGp_evmng_cutEnd(mAlinkStaffId); if (checkAnmEnd(mUnderFrameCtrl)) { - setBlendMoveAnime(daAlinkHIO_basic_c0::m.mBasicInterpolation); + setBlendMoveAnime(mpHIO->mBasic.m.mBasicInterpolation); } return 1; } @@ -2651,9 +2651,9 @@ int daAlink_c::procCoDeadInit(int param_0) { if (checkNoResetFlg2(FLG2_FORCE_GAMEOVER)) { if (param_0) { if (checkWolf()) { - setSingleAnimeWolfBaseSpeed(WANM_WAIT, daAlinkHIO_wlMove_c0::m.mIdleAnmSpeed, 3.0f); + setSingleAnimeWolfBaseSpeed(WANM_WAIT, mpHIO->mWolf.mWlMove.m.mIdleAnmSpeed, 3.0f); } else { - setSingleAnimeBaseSpeed(ANM_WAIT, daAlinkHIO_move_c0::m.mWaitAnmSpeed, 3.0f); + setSingleAnimeBaseSpeed(ANM_WAIT, mpHIO->mMove.m.mWaitAnmSpeed, 3.0f); } } @@ -2904,9 +2904,9 @@ int daAlink_c::procCoCaughtInit() { } if (checkWolf()) { - setSingleAnimeWolfBaseMorf(WANM_WAIT_START, daAlinkHIO_wlDamCaught_c0::m.mWaitInterp); + setSingleAnimeWolfBaseMorf(WANM_WAIT_START, mpHIO->mWolf.mWlDamage.mCapture.m.mWaitInterp); } else { - setSingleAnimeBaseMorf(ANM_WAIT_START, daAlinkHIO_damCaught_c0::m.mStandbyInterp); + setSingleAnimeBaseMorf(ANM_WAIT_START, mpHIO->mDamage.mDamCaught.m.mStandbyInterp); } if (chk_40000) { @@ -2999,7 +2999,7 @@ int daAlink_c::procHandPat() { dComIfGp_evmng_cutEnd(mAlinkStaffId); if (mProcVar3.field_0x300e == 0) { - setSingleAnimeBaseSpeed(ANM_WAIT, daAlinkHIO_move_c0::m.mWaitAnmSpeed, 3.0f); + setSingleAnimeBaseSpeed(ANM_WAIT, mpHIO->mMove.m.mWaitAnmSpeed, 3.0f); mProcVar3.field_0x300e = 1; } } @@ -3048,10 +3048,10 @@ int daAlink_c::procCoFogDeadInit() { if (checkWolf()) { setSingleAnimeWolfBaseSpeed(WANM_FALL_LAND, 0.0f, - daAlinkHIO_wlDamFall_c0::m.mAirAnmInterp); + mpHIO->mWolf.mWlDamage.mFall.m.mAirAnmInterp); } else { setSingleAnimeBaseSpeed(ANM_DMG_FALL, 0.0f, - daAlinkHIO_damFall_c0::m.mFallAnmMorf); + mpHIO->mDamage.mDamFall.m.mFallAnmMorf); } } @@ -3097,8 +3097,8 @@ int daAlink_c::procWolfSmellWaitInit() { return 1; } - setSingleAnimeWolfBaseSpeed(WANM_SMELL, daAlinkHIO_wlChain_c0::m.mSniffAnmSpeed, - daAlinkHIO_wlChain_c0::m.mSniffInterp); + setSingleAnimeWolfBaseSpeed(WANM_SMELL, mpHIO->mWolf.mWlChain.m.mSniffAnmSpeed, + mpHIO->mWolf.mWlChain.m.mSniffInterp); current.angle.y = shape_angle.y; mNormalSpeed = 0.0f; return 1; @@ -3245,7 +3245,7 @@ int daAlink_c::procCoGetReadySitInit() { commonProcInit(PROC_GET_READY_SIT); if (checkWolf()) { - setSingleAnimeWolfBaseSpeed(WANM_WAIT, daAlinkHIO_wlMove_c0::m.mIdleAnmSpeed, 3.0f); + setSingleAnimeWolfBaseSpeed(WANM_WAIT, mpHIO->mWolf.mWlMove.m.mIdleAnmSpeed, 3.0f); mProcVar2.field_0x300c = 1; } else { setSingleAnime(ANM_TRES_OPEN_SMALL, 1.0f, 36.0f, -1, 3.0f); @@ -3350,13 +3350,13 @@ int daAlink_c::procWolfSnowEscape() { if (mProcVar2.field_0x300c == 0) { mProcVar2.field_0x300c = 1; - setSingleAnimeWolfParam(WANM_SLIDE_FORWARD_START, &daAlinkHIO_wlSlide_c0::m.mFrontSlideAnm); + setSingleAnimeWolfParam(WANM_SLIDE_FORWARD_START, &mpHIO->mWolf.mWlSlide.m.mFrontSlideAnm); field_0x3588 = l_wolfBaseAnime; field_0x3478 = 1.0f / (f32)frameCtrl_p->getEnd(); field_0x2f99 = 13; voiceStart(Z2SE_WL_V_SLIP_ROLL); } else { - setSingleAnimeWolfBaseSpeed(WANM_WAIT, daAlinkHIO_wlMove_c0::m.mIdleAnmSpeed, 3.0f); + setSingleAnimeWolfBaseSpeed(WANM_WAIT, mpHIO->mWolf.mWlMove.m.mIdleAnmSpeed, 3.0f); field_0x2f99 = 0x30; mProcVar3.field_0x300e = 1; } @@ -3658,8 +3658,8 @@ int daAlink_c::procSwordReady() { if (checkAnmEnd(frame_ctrl)) { if (mProcVar2.field_0x300c == 0) { - setDoubleAnime(0.0f, daAlinkHIO_noActAtnMove_c0::m.mWaitAnmSpeed, - daAlinkHIO_noActAtnMove_c0::m.mWaitAnmSpeed, ANM_WAIT_B, ANM_WAIT_B, 2, + setDoubleAnime(0.0f, mpHIO->mNoActAtnMove.m.mWaitAnmSpeed, + mpHIO->mNoActAtnMove.m.mWaitAnmSpeed, ANM_WAIT_B, ANM_WAIT_B, 2, 3.0f); } @@ -3751,10 +3751,10 @@ int daAlink_c::procCutFastReadyInit() { mNormalSpeed = 0.0f; current.angle.y = shape_angle.y; - setSingleAnimeBaseSpeed(ANM_WAIT, daAlinkHIO_move_c0::m.mWaitAnmSpeed, 3.0f); - setUpperAnime(0x255, UPPER_2, daAlinkHIO_cut_c0::m.mEquipAnm.mSpeed, 12.0f, - daAlinkHIO_cut_c0::m.mEquipAnm.mEndFrame, - daAlinkHIO_cut_c0::m.mEquipAnm.mInterpolation); + setSingleAnimeBaseSpeed(ANM_WAIT, mpHIO->mMove.m.mWaitAnmSpeed, 3.0f); + setUpperAnime(0x255, UPPER_2, mpHIO->mCut.m.mEquipAnm.mSpeed, 12.0f, + mpHIO->mCut.m.mEquipAnm.mEndFrame, + mpHIO->mCut.m.mEquipAnm.mInterpolation); onNoResetFlg0(FLG0_UNK_1000000); return 1; } @@ -3953,8 +3953,8 @@ int daAlink_c::procDungeonWarpSceneStartInit() { commonProcInit(PROC_DUNGEON_WARP_SCN_START); setSpecialGravity(0.0f, maxFallSpeed, 0); - setSingleAnimeBaseSpeed(ANM_WAIT, daAlinkHIO_move_c0::m.mWaitAnmSpeed, - daAlinkHIO_basic_c0::m.mBasicInterpolation); + setSingleAnimeBaseSpeed(ANM_WAIT, mpHIO->mMove.m.mWaitAnmSpeed, + mpHIO->mBasic.m.mBasicInterpolation); if (checkDungeon() && !checkLv7DungeonShop()) { createNpcTks(¤t.pos, fopAcM_GetRoomNo(this), 4); @@ -4184,9 +4184,9 @@ int daAlink_c::procCoWarpInit(int param_0, int param_1) { deleteEquipItem(FALSE, TRUE); if (checkWolf()) { - setSingleAnimeWolfBaseSpeed(WANM_WAIT, daAlinkHIO_wlMove_c0::m.mIdleAnmSpeed, 3.0f); + setSingleAnimeWolfBaseSpeed(WANM_WAIT, mpHIO->mWolf.mWlMove.m.mIdleAnmSpeed, 3.0f); } else { - setSingleAnimeBaseSpeed(ANM_WAIT, daAlinkHIO_move_c0::m.mWaitAnmSpeed, 3.0f); + setSingleAnimeBaseSpeed(ANM_WAIT, mpHIO->mMove.m.mWaitAnmSpeed, 3.0f); } u32 var_r29; @@ -4305,9 +4305,9 @@ int daAlink_c::procCoWarp() { f32 var_f1; if (checkWolf()) { - var_f1 = daAlinkHIO_wlAutoJump_c0::m.mGravity; + var_f1 = mpHIO->mWolf.mWlAutoJump.m.mGravity; } else { - var_f1 = daAlinkHIO_autoJump_c0::m.mGravity; + var_f1 = mpHIO->mAutoJump.m.mGravity; } setSpecialGravity(var_f1, maxFallSpeed, 1); @@ -4409,8 +4409,8 @@ int daAlink_c::commonLargeDamageUpInit(int param_0, int param_1, s16 param_2, s1 int daAlink_c::commonFallInit(int param_0) { if (checkWolf()) { - return procWolfFallInit(param_0, daAlinkHIO_wlAutoJump_c0::m.mNormalFallInterp); + return procWolfFallInit(param_0, mpHIO->mWolf.mWlAutoJump.m.mNormalFallInterp); } else { - return procFallInit(param_0, daAlinkHIO_autoJump_c0::m.mFallInterpolation); + return procFallInit(param_0, mpHIO->mAutoJump.m.mFallInterpolation); } } diff --git a/src/d/actor/d_a_alink_effect.inc b/src/d/actor/d_a_alink_effect.inc index d7364c8301..7ad7c2f4df 100644 --- a/src/d/actor/d_a_alink_effect.inc +++ b/src/d/actor/d_a_alink_effect.inc @@ -420,9 +420,9 @@ void daAlink_c::setEffect() { if (checkWolf()) { spB8.x += 40.0f * cM_ssin(current.angle.y); spB8.z += 40.0f * cM_scos(current.angle.y); - spAC.y -= daAlinkHIO_wlSwim_c0::m.mStartHeight; + spAC.y -= mpHIO->mWolf.mWlSwim.m.mStartHeight; } else { - spAC.y -= daAlinkHIO_swim_c0::m.mStartHeight; + spAC.y -= mpHIO->mSwim.m.mStartHeight; } spB8.y = mWaterY; @@ -562,7 +562,7 @@ void daAlink_c::setEffect() { ¤t.pos, &shape_angle); if (sp38 != NULL) { cXyz sp58; - f32 var_f31 = temp_f30 / daAlinkHIO_board_c0::m.mEffectMaxSpeed; + f32 var_f31 = temp_f30 / mpHIO->mItem.mBoard.m.mEffectMaxSpeed; if (var_f31 > 1.0f) { var_f31 = 1.0f; } @@ -1494,7 +1494,7 @@ void daAlink_c::setMetamorphoseEffect() { void daAlink_c::setRunSplash() { if (mProcID == PROC_MOVE && checkNoResetFlg0(FLG0_UNK_80) && checkDashAnime()) { f32 temp_f31 = mWaterY - current.pos.y; - if (temp_f31 >= daAlinkHIO_basic_c0::m.mWaterSurfaceEffectHeight && temp_f31 < field_0x598 && dKy_pol_efftype_get(&mLinkAcch.m_wtr) == 2) { + if (temp_f31 >= mpHIO->mBasic.m.mWaterSurfaceEffectHeight && temp_f31 < field_0x598 && dKy_pol_efftype_get(&mLinkAcch.m_wtr) == 2) { cXyz sp8(current.pos.x, mWaterY, current.pos.z); JPABaseEmitter* temp_r3 = setEmitterPolyColor(&field_0x31f8, 0x1AF, mLinkAcch.m_wtr, &sp8, ¤t.angle); diff --git a/src/d/actor/d_a_alink_grab.inc b/src/d/actor/d_a_alink_grab.inc index 86536e654c..7058fcd063 100644 --- a/src/d/actor/d_a_alink_grab.inc +++ b/src/d/actor/d_a_alink_grab.inc @@ -84,7 +84,7 @@ BOOL daAlink_c::setForceGrab(fopAc_ac_c* p_actor, int param_1, int param_2) { deleteEquipItem(TRUE, FALSE); setGrabItemActor(p_actor); field_0x33e4 = 38.0f; - setGrabUpperAnime(daAlinkHIO_basic_c0::m.mBasicInterpolation); + setGrabUpperAnime(mpHIO->mBasic.m.mBasicInterpolation); return true; } @@ -136,9 +136,9 @@ BOOL daAlink_c::checkGrabSideActor() { void daAlink_c::setGrabUpperAnime(f32 param_0) { if (param_0 > 0.0f && checkNoResetFlg0(FLG0_UNDERWATER)) { if (checkZoraWearAbility()) { - param_0 *= 1.0f / daAlinkHIO_magneBoots_c0::m.mZoraWaterAnmSpeed; + param_0 *= 1.0f / mpHIO->mItem.mIronBoots.m.mZoraWaterAnmSpeed; } else { - param_0 *= 1.0f / daAlinkHIO_magneBoots_c0::m.mWaterWalkAnmRate; + param_0 *= 1.0f / mpHIO->mItem.mIronBoots.m.mWaterWalkAnmRate; } } @@ -444,9 +444,9 @@ void daAlink_c::setGrabUpperSpeedRate() { var_f31 = 1.0f; } else { if (mProcID == PROC_STEP_MOVE) { - var_f31 = fabsf(field_0x3478 / daAlinkHIO_move_c0::m.mMaxSpeed); + var_f31 = fabsf(field_0x3478 / mpHIO->mMove.m.mMaxSpeed); } else { - var_f31 = fabsf(mNormalSpeed / daAlinkHIO_move_c0::m.mMaxSpeed); + var_f31 = fabsf(mNormalSpeed / mpHIO->mMove.m.mMaxSpeed); } if (checkHeavyStateOn(1, 1)) { @@ -550,17 +550,17 @@ void daAlink_c::setGrabItemThrow() { temp_r3->current.angle.y = shape_angle.y; if (checkWolf()) { - temp_r3->speedF = daAlinkHIO_bomb_c0::m.mWolfThrowSpeedH; - temp_r3->speed.y = daAlinkHIO_bomb_c0::m.mWolfThrowSpeedV; + temp_r3->speedF = mpHIO->mItem.mBomb.m.mWolfThrowSpeedH; + temp_r3->speed.y = mpHIO->mItem.mBomb.m.mWolfThrowSpeedV; } else { f32 var_f31; f32 var_f30; if (checkNoResetFlg0(FLG0_UNDERWATER)) { - var_f31 = daAlinkHIO_bomb_c0::m.mWaterThrowSpeedH; - var_f30 = daAlinkHIO_bomb_c0::m.mWaterThrowSpeedV; + var_f31 = mpHIO->mItem.mBomb.m.mWaterThrowSpeedH; + var_f30 = mpHIO->mItem.mBomb.m.mWaterThrowSpeedV; } else { - var_f31 = daAlinkHIO_bomb_c0::m.mThrowSpeedH; - var_f30 = daAlinkHIO_bomb_c0::m.mThrowSpeedV; + var_f31 = mpHIO->mItem.mBomb.m.mThrowSpeedH; + var_f30 = mpHIO->mItem.mBomb.m.mThrowSpeedV; } if (checkMagneBootsOn()) { @@ -706,9 +706,9 @@ int daAlink_c::procGrabReadyInit() { } if (checkGrabCarryActor()) { - setSingleAnime(ANM_CARRY, daAlinkHIO_grab_c0::m.mFailAnm.mSpeed, daAlinkHIO_grab_c0::m.mFailAnm.mStartFrame, 9, daAlinkHIO_grab_c0::m.mFailAnm.mInterpolation); + setSingleAnime(ANM_CARRY, mpHIO->mGrab.m.mFailAnm.mSpeed, mpHIO->mGrab.m.mFailAnm.mStartFrame, 9, mpHIO->mGrab.m.mFailAnm.mInterpolation); mProcVar3.field_0x300e = 1; - field_0x347c = 1.0f / (9.0f - daAlinkHIO_grab_c0::m.mFailAnm.mStartFrame); + field_0x347c = 1.0f / (9.0f - mpHIO->mGrab.m.mFailAnm.mStartFrame); f32 var_f31; if (fopAcM_GetName(mGrabItemAcKeep.getActor()) == PROC_DO) { @@ -720,8 +720,8 @@ int daAlink_c::procGrabReadyInit() { field_0x33ec = 4.0f * ((var_f31 * mGrabItemAcKeep.getActor()->scale.x) - 1.0f); } else { field_0x33ec = 0.0f; - setSingleAnimeParam(ANM_GRAB_UP_START, &daAlinkHIO_grab_c0::m.mPrepareAnm); - field_0x347c = 1.0f / (daAlinkHIO_grab_c0::m.mPrepareAnm.mEndFrame - daAlinkHIO_grab_c0::m.mPrepareAnm.mStartFrame); + setSingleAnimeParam(ANM_GRAB_UP_START, &mpHIO->mGrab.m.mPrepareAnm); + field_0x347c = 1.0f / (mpHIO->mGrab.m.mPrepareAnm.mEndFrame - mpHIO->mGrab.m.mPrepareAnm.mStartFrame); mProcVar3.field_0x300e = 0; } @@ -741,15 +741,15 @@ int daAlink_c::procGrabReady() { if (checkAnmEnd(&mUnderFrameCtrl[0])) { if (field_0x3198 != 0) { - setSingleAnime(ANM_PICK_UP_LARGE_START, daAlinkHIO_grab_c0::m.mRecoilAnm.mSpeed, daAlinkHIO_grab_c0::m.mRecoilAnm.mStartFrame, daAlinkHIO_grab_c0::m.mRecoilAnm.mCancelFrame, daAlinkHIO_grab_c0::m.mRecoilAnm.mInterpolation); + setSingleAnime(ANM_PICK_UP_LARGE_START, mpHIO->mGrab.m.mRecoilAnm.mSpeed, mpHIO->mGrab.m.mRecoilAnm.mStartFrame, mpHIO->mGrab.m.mRecoilAnm.mCancelFrame, mpHIO->mGrab.m.mRecoilAnm.mInterpolation); field_0x3198 = 0; } else { procGrabUpInit(); } } else if (mProcVar3.field_0x300e != 0) { - setCarryArmAngle(field_0x347c * (mUnderFrameCtrl[0].getFrame() - daAlinkHIO_grab_c0::m.mFailAnm.mStartFrame), 0.0f); + setCarryArmAngle(field_0x347c * (mUnderFrameCtrl[0].getFrame() - mpHIO->mGrab.m.mFailAnm.mStartFrame), 0.0f); } else { - setCarryArmAngle(0.0f, field_0x347c * (mUnderFrameCtrl[0].getFrame() - daAlinkHIO_grab_c0::m.mPrepareAnm.mStartFrame)); + setCarryArmAngle(0.0f, field_0x347c * (mUnderFrameCtrl[0].getFrame() - mpHIO->mGrab.m.mPrepareAnm.mStartFrame)); } return 1; @@ -760,11 +760,11 @@ int daAlink_c::procGrabUpInit() { commonProcInit(PROC_GRAB_UP); if (checkGrabCarryActor()) { - setSingleAnime(ANM_CARRY, daAlinkHIO_grab_c0::m.mFailAnm.mSpeed, 9.0f + daAlinkHIO_grab_c0::m.mFailAnm.mSpeed, daAlinkHIO_grab_c0::m.mFailAnm.mEndFrame, 0.0f); + setSingleAnime(ANM_CARRY, mpHIO->mGrab.m.mFailAnm.mSpeed, 9.0f + mpHIO->mGrab.m.mFailAnm.mSpeed, mpHIO->mGrab.m.mFailAnm.mEndFrame, 0.0f); mProcVar3.field_0x300e = 1; setCarryArmAngle(1.0f, 0.0f); } else { - setSingleAnimeParam(ANM_GRAB_UP, &daAlinkHIO_grab_c0::m.mLiftBackAnm); + setSingleAnimeParam(ANM_GRAB_UP, &mpHIO->mGrab.m.mLiftBackAnm); mProcVar3.field_0x300e = 0; setCarryArmAngle(0.0f, 1.0f); } @@ -792,7 +792,7 @@ int daAlink_c::procGrabUp() { return checkNextAction(0); } - if (checkAnmEnd(temp_r29) || (checkInputOnR() && (temp_r29->getFrame() > daAlinkHIO_grab_c0::m.mLiftBackAnm.mCancelFrame))) { + if (checkAnmEnd(temp_r29) || (checkInputOnR() && (temp_r29->getFrame() > mpHIO->mGrab.m.mLiftBackAnm.mCancelFrame))) { onResetFlg0(RFLG0_GRAB_UP_END); if (fopAcM_CheckCarryType(temp_r3, fopAcM_CARRY(fopAcM_CARRY_UNK_40 | fopAcM_CARRY_HEAVY | fopAcM_CARRY_TYPE_1))) { @@ -831,13 +831,13 @@ int daAlink_c::procGrabMiss() { int daAlink_c::procGrabThrowInit(int param_0) { if (checkModeFlg(0x400)) { if (checkGrabHeavyActor()) { - setUpperAnimeParam(0x17B, UPPER_2, &daAlinkHIO_grab_c0::m.mIronBallThrowAnm); + setUpperAnimeParam(0x17B, UPPER_2, &mpHIO->mGrab.m.mIronBallThrowAnm); field_0x343c = 14.0f; } else if (checkGrabAnimeSide()) { - setUpperAnimeParam(0x51, UPPER_2, &daAlinkHIO_grab_c0::m.mCarryPlaceReverseAnm); + setUpperAnimeParam(0x51, UPPER_2, &mpHIO->mGrab.m.mCarryPlaceReverseAnm); field_0x343c = 4.0f; } else { - setUpperAnimeParam(0x170, UPPER_2, &daAlinkHIO_grab_c0::m.mLiftAnm); + setUpperAnimeParam(0x170, UPPER_2, &mpHIO->mGrab.m.mLiftAnm); field_0x343c = 5.0f; } @@ -850,27 +850,27 @@ int daAlink_c::procGrabThrowInit(int param_0) { } if (checkGrabHeavyActor()) { - setSingleAnimeParam(ANM_THROW_HEAVY, &daAlinkHIO_grab_c0::m.mIronBallThrowAnm); + setSingleAnimeParam(ANM_THROW_HEAVY, &mpHIO->mGrab.m.mIronBallThrowAnm); field_0x343c = 14.0f; - field_0x347c = daAlinkHIO_grab_c0::m.mIronBallThrowAnm.mCancelFrame; + field_0x347c = mpHIO->mGrab.m.mIronBallThrowAnm.mCancelFrame; mProcVar2.field_0x300c = 2; } else if (checkGrabSideActor()) { f32 var_f31; if (mTargetedActor != NULL) { - var_f31 = daAlinkHIO_atnMove_c0::m.mWaitAnmSpeed; + var_f31 = mpHIO->mAtnMove.m.mWaitAnmSpeed; } else { - var_f31 = daAlinkHIO_noActAtnMove_c0::m.mWaitAnmSpeed; + var_f31 = mpHIO->mNoActAtnMove.m.mWaitAnmSpeed; } - setSingleAnimeBaseSpeed(ANM_ATN_WAIT_RIGHT, var_f31, daAlinkHIO_basic_c0::m.mBasicInterpolation); - setUpperAnimeParam(0x51, UPPER_0, &daAlinkHIO_grab_c0::m.mCarryPlaceReverseAnm); + setSingleAnimeBaseSpeed(ANM_ATN_WAIT_RIGHT, var_f31, mpHIO->mBasic.m.mBasicInterpolation); + setUpperAnimeParam(0x51, UPPER_0, &mpHIO->mGrab.m.mCarryPlaceReverseAnm); field_0x343c = 4.0f; - field_0x347c = daAlinkHIO_grab_c0::m.mCarryPlaceReverseAnm.mCancelFrame; + field_0x347c = mpHIO->mGrab.m.mCarryPlaceReverseAnm.mCancelFrame; mProcVar2.field_0x300c = 1; } else { - setSingleAnimeParam(ANM_THROW, &daAlinkHIO_grab_c0::m.mLiftAnm); + setSingleAnimeParam(ANM_THROW, &mpHIO->mGrab.m.mLiftAnm); field_0x343c = 5.0f; - field_0x347c = daAlinkHIO_grab_c0::m.mLiftAnm.mCancelFrame; + field_0x347c = mpHIO->mGrab.m.mLiftAnm.mCancelFrame; mProcVar2.field_0x300c = 0; } @@ -891,7 +891,7 @@ int daAlink_c::procGrabThrow() { var_r30 = &mUnderFrameCtrl[0]; } - cLib_chaseF(&mNormalSpeed, 0.0f, daAlinkHIO_move_c0::m.mDeceleration); + cLib_chaseF(&mNormalSpeed, 0.0f, mpHIO->mMove.m.mDeceleration); if (var_r30->checkPass(field_0x343c)) { setGrabItemThrow(); @@ -934,15 +934,15 @@ int daAlink_c::procGrabPutInit() { if (checkGrabCarryActor()) { field_0x3198 = 0; - setSingleAnime(ANM_CARRY, daAlinkHIO_grab_c0::m.mCarryLiftAnm.mSpeed, 9.0f, daAlinkHIO_grab_c0::m.mCarryLiftAnm.mEndFrame, daAlinkHIO_grab_c0::m.mCarryLiftAnm.mInterpolation); + setSingleAnime(ANM_CARRY, mpHIO->mGrab.m.mCarryLiftAnm.mSpeed, 9.0f, mpHIO->mGrab.m.mCarryLiftAnm.mEndFrame, mpHIO->mGrab.m.mCarryLiftAnm.mInterpolation); mProcVar3.field_0x300e = 1; - field_0x347c = 1.0f / (daAlinkHIO_grab_c0::m.mCarryLiftAnm.mEndFrame - 9.0f); - field_0x3480 = 1.0f / (daAlinkHIO_grab_c0::m.mCarryLiftAnm.mEndFrame - field_0x3478); + field_0x347c = 1.0f / (mpHIO->mGrab.m.mCarryLiftAnm.mEndFrame - 9.0f); + field_0x3480 = 1.0f / (mpHIO->mGrab.m.mCarryLiftAnm.mEndFrame - field_0x3478); } else { mProcVar3.field_0x300e = 0; field_0x3198 = 0; - setSingleAnimeParam(ANM_GRAB_UP, &daAlinkHIO_grab_c0::m.mThrowAnm); - field_0x347c = 1.0f / (daAlinkHIO_grab_c0::m.mThrowAnm.mEndFrame - daAlinkHIO_grab_c0::m.mThrowAnm.mStartFrame); + setSingleAnimeParam(ANM_GRAB_UP, &mpHIO->mGrab.m.mThrowAnm); + field_0x347c = 1.0f / (mpHIO->mGrab.m.mThrowAnm.mEndFrame - mpHIO->mGrab.m.mThrowAnm.mStartFrame); } if (mGrabItemAcKeep.getActor() != NULL) { @@ -990,7 +990,7 @@ int daAlink_c::procGrabPut() { } setCarryArmAngle(1.0f - (field_0x347c * (temp_r28->getFrame() - 9.0f)), var_f31); } else { - setCarryArmAngle(0.0f, field_0x347c * (temp_r28->getFrame() - daAlinkHIO_grab_c0::m.mThrowAnm.mStartFrame)); + setCarryArmAngle(0.0f, field_0x347c * (temp_r28->getFrame() - mpHIO->mGrab.m.mThrowAnm.mStartFrame)); } return 1; @@ -1012,7 +1012,7 @@ int daAlink_c::procGrabWaitInit() { return 0; } - f32 var_f31 = daAlinkHIO_basic_c0::m.mBasicInterpolation; + f32 var_f31 = mpHIO->mBasic.m.mBasicInterpolation; if (!checkGrabAnime()) { setGrabUpperAnime(-1.0f); } else { @@ -1021,14 +1021,14 @@ int daAlink_c::procGrabWaitInit() { if (var_r30) { if (checkZoraWearAbility() ) { - var_f31 *= 1.0f / daAlinkHIO_magneBoots_c0::m.mZoraWaterAnmSpeed; + var_f31 *= 1.0f / mpHIO->mItem.mIronBoots.m.mZoraWaterAnmSpeed; } else { - var_f31 *= 1.0f / daAlinkHIO_magneBoots_c0::m.mWaterWalkAnmRate; + var_f31 *= 1.0f / mpHIO->mItem.mIronBoots.m.mWaterWalkAnmRate; } } if (checkAttentionLock() && (checkGrabAnimeUp() || checkGrabAnimeSide())) { - setBlendAtnMoveAnime(daAlinkHIO_basic_c0::m.mBasicInterpolation); + setBlendAtnMoveAnime(mpHIO->mBasic.m.mBasicInterpolation); } else { setBlendMoveAnime(var_f31); } @@ -1066,7 +1066,7 @@ int daAlink_c::procGrabWait() { int daAlink_c::procGrabReboundInit(int param_0) { commonProcInit(PROC_GRAB_REBOUND); - setSingleAnimeParam(ANM_PICK_UP_LARGE, &daAlinkHIO_grab_c0::m.mCarryAnm); + setSingleAnimeParam(ANM_PICK_UP_LARGE, &mpHIO->mGrab.m.mCarryAnm); mNormalSpeed = 0.0f; field_0x3198 = param_0; @@ -1089,10 +1089,10 @@ int daAlink_c::procGrabRebound() { if (field_0x3198 != 0) { if (field_0x2060->getOldFrameRate() < 0.1f) { - setWaterInAnmRate(temp_r30, daAlinkHIO_grab_c0::m.mCarryAnm.mSpeed); + setWaterInAnmRate(temp_r30, mpHIO->mGrab.m.mCarryAnm.mSpeed); field_0x3198 = 0; } - } else if (checkAnmEnd(temp_r30) || (checkInputOnR() && (temp_r30->getFrame() > daAlinkHIO_grab_c0::m.mCarryAnm.mCancelFrame))) { + } else if (checkAnmEnd(temp_r30) || (checkInputOnR() && (temp_r30->getFrame() > mpHIO->mGrab.m.mCarryAnm.mCancelFrame))) { initGrabNextMode(); } @@ -1103,14 +1103,14 @@ int daAlink_c::procGrabStandInit() { commonProcInit(PROC_GRAB_STAND); if (checkUnderMove0BckNoArc(ANM_CARRY)) { - setSingleAnime(ANM_CARRY, daAlinkHIO_grab_c0::m.mCarryLiftAnm.mSpeed, daAlinkHIO_grab_c0::m.mCarryLiftAnm.mStartFrame, (9.0f + daAlinkHIO_grab_c0::m.mCarryLiftAnm.mSpeed), 0.0f); - field_0x3478 = daAlinkHIO_grab_c0::m.mCarryLiftAnm.mCancelFrame; - field_0x347c = 1.0f / (9.0f - daAlinkHIO_grab_c0::m.mCarryLiftAnm.mStartFrame); + setSingleAnime(ANM_CARRY, mpHIO->mGrab.m.mCarryLiftAnm.mSpeed, mpHIO->mGrab.m.mCarryLiftAnm.mStartFrame, (9.0f + mpHIO->mGrab.m.mCarryLiftAnm.mSpeed), 0.0f); + field_0x3478 = mpHIO->mGrab.m.mCarryLiftAnm.mCancelFrame; + field_0x347c = 1.0f / (9.0f - mpHIO->mGrab.m.mCarryLiftAnm.mStartFrame); mProcVar3.field_0x300e = 1; setCarryArmAngle(1.0f, 0.0f); } else { - setSingleAnimeParam(ANM_GRAB_UP_START, &daAlinkHIO_grab_c0::m.mStandReverseAnm); - field_0x3478 = daAlinkHIO_grab_c0::m.mStandReverseAnm.mCancelFrame; + setSingleAnimeParam(ANM_GRAB_UP_START, &mpHIO->mGrab.m.mStandReverseAnm); + field_0x3478 = mpHIO->mGrab.m.mStandReverseAnm.mCancelFrame; mProcVar3.field_0x300e = 0; } @@ -1130,7 +1130,7 @@ int daAlink_c::procGrabStand() { onModeFlg(4); if (!checkNextAction(1) && mProcVar3.field_0x300e != 0) { - setCarryArmAngle(field_0x347c * (mUnderFrameCtrl[0].getFrame() - daAlinkHIO_grab_c0::m.mCarryLiftAnm.mStartFrame), 0.0f); + setCarryArmAngle(field_0x347c * (mUnderFrameCtrl[0].getFrame() - mpHIO->mGrab.m.mCarryLiftAnm.mStartFrame), 0.0f); } } @@ -1161,10 +1161,10 @@ int daAlink_c::procInsectCatchInit() { mNormalSpeed = 0.0f; if (field_0x27f4->attention_info.position.y > field_0x3834.y - 30.0f) { - setSingleAnimeParam(ANM_BOTTLE_SWING, &daAlinkHIO_bottle_c0::m.mSwingSideAnm); + setSingleAnimeParam(ANM_BOTTLE_SWING, &mpHIO->mItem.mBottle.m.mSwingSideAnm); field_0x3478 = 4.0f; } else { - setSingleAnimeParam(ANM_BOTTLE_SWING_DOWN, &daAlinkHIO_bottle_c0::m.mSwingDownAnm); + setSingleAnimeParam(ANM_BOTTLE_SWING_DOWN, &mpHIO->mItem.mBottle.m.mSwingDownAnm); field_0x3478 = 8.0f; } @@ -1222,20 +1222,20 @@ int daAlink_c::procPickUpInit() { int var_r29; if (temp_r3 == PROC_Obj_Kantera) { - setSingleAnimeParam(ANM_BOTTLE_SWING, &daAlinkHIO_bottle_c0::m.mSwingSideAnm); + setSingleAnimeParam(ANM_BOTTLE_SWING, &mpHIO->mItem.mBottle.m.mSwingSideAnm); mProcVar3.field_0x300e = 1; field_0x3478 = 7.0f; mProcVar4.field_0x3010 = 0; var_r29 = 0; } else if (temp_r3 == PROC_NPC_KS) { - setSingleAnimeParam(ANM_BOTTLE_SWING_DOWN, &daAlinkHIO_bottle_c0::m.mSwingDownAnm); + setSingleAnimeParam(ANM_BOTTLE_SWING_DOWN, &mpHIO->mItem.mBottle.m.mSwingDownAnm); mProcVar3.field_0x300e = 1; field_0x3478 = 7.0f; mProcVar4.field_0x3010 = 1; fopAcM_onSwitch(field_0x27f4, 0x3F); var_r29 = 0; } else { - setSingleAnimeParam(ANM_PICK_UP, &daAlinkHIO_pickUp_c0::m.mGrabAnm); + setSingleAnimeParam(ANM_PICK_UP, &mpHIO->mItem.mPickUp.m.mGrabAnm); mProcVar3.field_0x300e = 0; mProcVar4.field_0x3010 = 0; var_r29 = 1; @@ -1269,7 +1269,7 @@ int daAlink_c::procPickUp() { } } else if (checkAnmEnd(temp_r30)) { checkNextAction(0); - } else if (temp_r30->getFrame() > daAlinkHIO_pickUp_c0::m.mGrabAnm.mCancelFrame) { + } else if (temp_r30->getFrame() > mpHIO->mItem.mPickUp.m.mGrabAnm.mCancelFrame) { onModeFlg(4); checkNextAction(1); } else if (temp_r30->checkPass(9.0f)) { @@ -1290,7 +1290,7 @@ int daAlink_c::procPickPutInit(int param_0) { commonProcInit(PROC_PICK_PUT); mNormalSpeed = 0.0f; - setSingleAnimeParam(ANM_PICK_UP, &daAlinkHIO_pickUp_c0::m.mPlaceAnm); + setSingleAnimeParam(ANM_PICK_UP, &mpHIO->mItem.mPickUp.m.mPlaceAnm); if (mItemAcKeep.getActor() != NULL) { field_0x37c8 = mItemAcKeep.getActor()->current.pos; @@ -1326,7 +1326,7 @@ int daAlink_c::procPickPut() { if (checkAnmEnd(temp_r28)) { checkNextAction(0); - } else if (temp_r28->getFrame() < daAlinkHIO_pickUp_c0::m.mPlaceAnm.mCancelFrame) { + } else if (temp_r28->getFrame() < mpHIO->mItem.mPickUp.m.mPlaceAnm.mCancelFrame) { onModeFlg(4); checkNextAction(1); } else if (temp_r28->checkPass(9.0f)) { @@ -1430,7 +1430,7 @@ int daAlink_c::procFmChainUpInit() { } commonProcInit(PROC_CHAIN_UP); - setSingleAnimeParam(ANM_CHAIN_PICK_UP, &daAlinkHIO_fmChain_c0::m.mGripAnm); + setSingleAnimeParam(ANM_CHAIN_PICK_UP, &mpHIO->mItem.mFmChain.m.mGripAnm); mNormalSpeed = 0.0f; return 1; } @@ -1441,7 +1441,7 @@ int daAlink_c::procFmChainUp() { setGrabStatus(0x96, 2); setShapeAngleToAtnActor(0); - if (checkAnmEnd(temp_r29) || (checkInputOnR() && temp_r29->getFrame() > daAlinkHIO_fmChain_c0::m.mGripAnm.mCancelFrame)) { + if (checkAnmEnd(temp_r29) || (checkInputOnR() && temp_r29->getFrame() > mpHIO->mItem.mFmChain.m.mGripAnm.mCancelFrame)) { u8 temp_r27 = field_0x2fa3; fopAc_ac_c* temp_r28 = field_0x2844.getActor(); @@ -1614,14 +1614,14 @@ f32 daAlink_c::getPushPullAnimeSpeed() { getMoveBGActorName(mPolyInfo1, 0) == PROC_Obj_Bemos) { if (checkWolf()) { - var_f31 = daAlinkHIO_wlPush_c0::m.mHeavyPushAnmSpeed; + var_f31 = mpHIO->mWolf.mWlPush.m.mHeavyPushAnmSpeed; } else { - var_f31 = daAlinkHIO_pushpull_c0::m.mPushASpeedHeavy; + var_f31 = mpHIO->mPushpull.m.mPushASpeedHeavy; } } else if (checkWolf()) { - var_f31 = daAlinkHIO_wlPush_c0::m.mPushAnmSpeed; + var_f31 = mpHIO->mWolf.mWlPush.m.mPushAnmSpeed; } else { - var_f31 = daAlinkHIO_pushpull_c0::m.mPushASpeed; + var_f31 = mpHIO->mPushpull.m.mPushASpeed; } return var_f31; @@ -1639,14 +1639,14 @@ int daAlink_c::procCoPushPullWaitInit(int param_0) { f32 var_f31; if (checkWolf()) { - setSingleAnimeWolfBaseSpeed(WANM_WAIT_PP, daAlinkHIO_wlPush_c0::m.mIdleAnmSpeed, daAlinkHIO_wlPush_c0::m.mIdleInterp); + setSingleAnimeWolfBaseSpeed(WANM_WAIT_PP, mpHIO->mWolf.mWlPush.m.mIdleAnmSpeed, mpHIO->mWolf.mWlPush.m.mIdleInterp); var_f31 = 50.0f; } else { if (checkEquipAnime()) { resetUpperAnime(UPPER_2, -1.0f); } - setSingleAnimeBaseSpeed(ANM_WAIT_PUSH_PULL, daAlinkHIO_pushpull_c0::m.mStandbyASpeed, daAlinkHIO_pushpull_c0::m.mStandbyInterpolation); + setSingleAnimeBaseSpeed(ANM_WAIT_PUSH_PULL, mpHIO->mPushpull.m.mStandbyASpeed, mpHIO->mPushpull.m.mStandbyInterpolation); var_f31 = 50.0f; } @@ -1717,7 +1717,7 @@ int daAlink_c::procCoPushMoveInit(int param_0, int param_1) { setSingleAnimeWolfBase(WANM_PUSH_START); var_f31 = 1.0f; } else { - setSingleAnimeWolf(WANM_PUSH_LIGHT, var_f31, 0.0f, 24, daAlinkHIO_wlPush_c0::m.mPushInterp); + setSingleAnimeWolf(WANM_PUSH_LIGHT, var_f31, 0.0f, 24, mpHIO->mWolf.mWlPush.m.mPushInterp); } field_0x3478 = 17.0f; @@ -1726,7 +1726,7 @@ int daAlink_c::procCoPushMoveInit(int param_0, int param_1) { setSingleAnimeBase(ANM_PUSH_START); var_f31 = 1.0f; } else { - setSingleAnimeBaseSpeed(ANM_PUSH_LIGHT, var_f31, daAlinkHIO_pushpull_c0::m.mPushInterpolation); + setSingleAnimeBaseSpeed(ANM_PUSH_LIGHT, var_f31, mpHIO->mPushpull.m.mPushInterpolation); } field_0x3478 = 15.0f; @@ -1853,7 +1853,7 @@ int daAlink_c::procPullMoveInit(int param_0) { setSingleAnimeBase(ANM_PULL_START); } else { var_f31 = getPushPullAnimeSpeed(); - setSingleAnimeBaseSpeed(ANM_PULL_LIGHT, var_f31, daAlinkHIO_pushpull_c0::m.mPullInterpolation); + setSingleAnimeBaseSpeed(ANM_PULL_LIGHT, var_f31, mpHIO->mPushpull.m.mPullInterpolation); } mUnderFrameCtrl[0].setRate(var_f31); @@ -2000,7 +2000,7 @@ int daAlink_c::procGoatMoveInit() { field_0x37c8 = current.pos; field_0x2f98 = 3; current.angle.y = shape_angle.y + -0x4000; - field_0x594 = daAlinkHIO_atnMove_c0::m.mMaxSpeed; + field_0x594 = mpHIO->mAtnMove.m.mMaxSpeed; setSingleAnimeBase(ANM_ATN_COW); mProcVar2.field_0x300c = 0; @@ -2085,7 +2085,7 @@ int daAlink_c::procGoatMove() { } if (field_0x33a8 > (0.3f * (1.0f - fabsf(mNormalSpeed / field_0x594)))) { - var_f31 = daAlinkHIO_atnMove_c0::m.mAcceleration * field_0x33a8; + var_f31 = mpHIO->mAtnMove.m.mAcceleration * field_0x33a8; } else { var_f31 = 0.0f; } @@ -2093,7 +2093,7 @@ int daAlink_c::procGoatMove() { var_f31 = 0.0f; } - setNormalSpeedF(var_f31, daAlinkHIO_atnMove_c0::m.mDeceleration); + setNormalSpeedF(var_f31, mpHIO->mAtnMove.m.mDeceleration); if (checkZeroSpeedF()) { onModeFlg(1); @@ -2272,7 +2272,7 @@ int daAlink_c::procGoatCatch() { if (temp_r27 == PROC_OBJ_GRA) { field_0x2f99 = 0x30; - setSingleAnimeBaseSpeed(ANM_WAIT_B, daAlinkHIO_move_c0::m.mWaitAnmSpeed, 3.0f); + setSingleAnimeBaseSpeed(ANM_WAIT_B, mpHIO->mMove.m.mWaitAnmSpeed, 3.0f); offModeFlg(0x8000); mProcVar1.field_0x300a = 0x1E; return 1; @@ -2457,7 +2457,7 @@ int daAlink_c::procGoronMoveInit() { mNormalSpeed = 0.0f; field_0x2f98 = 3; current.angle.y = shape_angle.y + -0x4000; - field_0x594 = daAlinkHIO_atnMove_c0::m.mMaxSpeed; + field_0x594 = mpHIO->mAtnMove.m.mMaxSpeed; setSingleAnimeBase(ANM_ATN_RIGHT); mProcVar2.field_0x300c = 1; mProcVar3.field_0x300e = 0; @@ -2518,7 +2518,7 @@ int daAlink_c::procGoronMove() { } if (field_0x33a8 > (0.3f * (1.0f - fabsf(mNormalSpeed / field_0x594)))) { - var_f31 = daAlinkHIO_atnMove_c0::m.mAcceleration * field_0x33a8; + var_f31 = mpHIO->mAtnMove.m.mAcceleration * field_0x33a8; } else { var_f31 = 0.0f; } @@ -2526,7 +2526,7 @@ int daAlink_c::procGoronMove() { var_f31 = 0.0f; } - setNormalSpeedF(var_f31, daAlinkHIO_atnMove_c0::m.mDeceleration); + setNormalSpeedF(var_f31, mpHIO->mAtnMove.m.mDeceleration); if (checkZeroSpeedF()) { onModeFlg(1); diff --git a/src/d/actor/d_a_alink_guard.inc b/src/d/actor/d_a_alink_guard.inc index edc20df0e2..084103d8ff 100644 --- a/src/d/actor/d_a_alink_guard.inc +++ b/src/d/actor/d_a_alink_guard.inc @@ -220,14 +220,13 @@ void daAlink_c::setSmallGuard(dCcD_GObjInf* i_objinf) { mBodyAngle.y = 0; } else { mBodyAngle.y = - cLib_minMaxLimit((s16)mBodyAngle.y, -daAlinkHIO_guard_c0::m.mSmallGuardLRAngleMax, - daAlinkHIO_guard_c0::m.mSmallGuardLRAngleMax); + cLib_minMaxLimit((s16)mBodyAngle.y, -mpHIO->mGuard.m.mSmallGuardLRAngleMax, + mpHIO->mGuard.m.mSmallGuardLRAngleMax); } - mBodyAngle.x = cLib_minMaxLimit(cM_atan2s(dmg_vec->y, dmg_vec->absXZ()), -daAlinkHIO_guard_c0::m.mSmallGuardFBAngleMax, daAlinkHIO_guard_c0::m.mSmallGuardFBAngleMax); + mBodyAngle.x = cLib_minMaxLimit(cM_atan2s(dmg_vec->y, dmg_vec->absXZ()), -mpHIO->mGuard.m.mSmallGuardFBAngleMax, mpHIO->mGuard.m.mSmallGuardFBAngleMax); } -// NONMATCHING - extra useless mr int daAlink_c::procGuardSlipInit(int param_0, dCcD_GObjInf* param_1) { if (mProcID == PROC_GUARD_SLIP) { return 0; @@ -254,7 +253,7 @@ int daAlink_c::procGuardSlipInit(int param_0, dCcD_GObjInf* param_1) { mProcVar2.field_0x300c = 0; mProcVar3.field_0x300e = 0; } else { - const daAlinkHIO_anm_c* var_r27 = &daAlinkHIO_guard_c0::m.mGuardHitAnm; + const daAlinkHIO_anm_c* var_r27 = &mpHIO->mGuard.m.mGuardHitAnm; daAlink_ANM var_r28; if (field_0x2f98 == 2) { var_r28 = ANM_GUARD_LEFT; @@ -269,11 +268,11 @@ int daAlink_c::procGuardSlipInit(int param_0, dCcD_GObjInf* param_1) { if (abs(mProcVar2.field_0x300c) > 0x7000) { mProcVar2.field_0x300c = 0; } else { - mProcVar2.field_0x300c = cLib_minMaxLimit((s16)mProcVar2.field_0x300c, -daAlinkHIO_guard_c0::m.mGuardLRAngleMax, daAlinkHIO_guard_c0::m.mGuardLRAngleMax); + mProcVar2.field_0x300c = cLib_minMaxLimit((s16)mProcVar2.field_0x300c, -mpHIO->mGuard.m.mGuardLRAngleMax, mpHIO->mGuard.m.mGuardLRAngleMax); } - mProcVar3.field_0x300e = cLib_minMaxLimit(cM_atan2s(temp_r3->y, temp_r3->absXZ()), -daAlinkHIO_guard_c0::m.mGuardFBAngleMax, daAlinkHIO_guard_c0::m.mGuardFBAngleMax); - mProcVar1.field_0x300a = daAlinkHIO_guard_c0::m.mGuardBodyInterpolation + 1; + mProcVar3.field_0x300e = cLib_minMaxLimit(cM_atan2s(temp_r3->y, temp_r3->absXZ()), -mpHIO->mGuard.m.mGuardFBAngleMax, mpHIO->mGuard.m.mGuardFBAngleMax); + mProcVar1.field_0x300a = mpHIO->mGuard.m.mGuardBodyInterpolation + 1; mProcVar2.field_0x300c = (mProcVar2.field_0x300c - mBodyAngle.y) / mProcVar1.field_0x300a; mProcVar3.field_0x300e = (mProcVar3.field_0x300e - mBodyAngle.x) / mProcVar1.field_0x300a; mProcVar1.field_0x300a--; @@ -287,10 +286,10 @@ int daAlink_c::procGuardSlipInit(int param_0, dCcD_GObjInf* param_1) { if (param_1 != NULL && param_1->GetTgHitAc() != NULL && fopAcM_GetName(param_1->GetTgHitAc()) == PROC_E_MM_MT && param_1->GetTgHitAc()->argument == 1) { if (checkBootsOrArmorHeavy()) { - mNormalSpeed = daAlinkHIO_guard_c0::m.mMagneHvyGuardSpeed; + mNormalSpeed = mpHIO->mGuard.m.mMagneHvyGuardSpeed; mProcVar5.field_0x3012 = 1; } else { - mNormalSpeed = daAlinkHIO_guard_c0::m.mMagneGuardSpeed; + mNormalSpeed = mpHIO->mGuard.m.mMagneGuardSpeed; mProcVar5.field_0x3012 = 0; } @@ -299,12 +298,12 @@ int daAlink_c::procGuardSlipInit(int param_0, dCcD_GObjInf* param_1) { if ((!checkBootsOrArmorHeavy() && checkMiddleBossGoronRoom()) || checkStageName("D_MN07B")) { mNormalSpeed = 40.0f; } else { - mNormalSpeed = daAlinkHIO_guard_c0::m.mGuardSpeedHuge; + mNormalSpeed = mpHIO->mGuard.m.mGuardSpeedHuge; } } else if (checkLargeAttack(param_0)) { - mNormalSpeed = daAlinkHIO_guard_c0::m.mGuardSpeedLarge; + mNormalSpeed = mpHIO->mGuard.m.mGuardSpeedLarge; } else { - mNormalSpeed = daAlinkHIO_guard_c0::m.mGuardSpeedNormal; + mNormalSpeed = mpHIO->mGuard.m.mGuardSpeedNormal; } field_0x2f9d = 0x60; @@ -363,7 +362,7 @@ int daAlink_c::procGuardAttackInit() { } commonProcInit(PROC_GUARD_ATTACK); - const daAlinkHIO_guardAttack_c1* temp_r30 = &daAlinkHIO_gAtPush_c0::m; + const daAlinkHIO_guardAttack_c1* temp_r30 = &mpHIO->mGuard.mAtPush.m; field_0x2f98 = 3; field_0x34d4 = l_rWaitBaseAnime; @@ -393,7 +392,7 @@ int daAlink_c::procGuardAttackInit() { mGuardAtCps.ResetAtHit(); mGuardAtCps.SetAtSe(2); - mGuardAtCps.SetR(daAlinkHIO_guard_c0::m.mAttackRadius); + mGuardAtCps.SetR(mpHIO->mGuard.m.mAttackRadius); current.angle.y = shape_angle.y; @@ -410,7 +409,7 @@ int daAlink_c::procGuardAttack() { setUpperGuardAnime(-1.0f); field_0x2f99 = 4; - cLib_chaseF(&mNormalSpeed, 0.0f, daAlinkHIO_move_c0::m.mDeceleration); + cLib_chaseF(&mNormalSpeed, 0.0f, mpHIO->mMove.m.mDeceleration); setShapeAngleToAtnActor(1); current.angle.y = shape_angle.y; @@ -481,7 +480,7 @@ int daAlink_c::procGuardAttack() { int daAlink_c::procGuardBreakInit() { commonProcInit(PROC_GUARD_BREAK); - setSingleAnimeParam(ANM_GUARD_BREAK, &daAlinkHIO_guard_c0::m.mGuardBreakAnm); + setSingleAnimeParam(ANM_GUARD_BREAK, &mpHIO->mGuard.m.mGuardBreakAnm); if (mEquipItem == fpcNm_ITEM_IRONBALL) { deleteEquipItem(0, 0); @@ -506,7 +505,7 @@ int daAlink_c::procGuardBreak() { onEndResetFlg1(ERFLG1_UNK_20); } checkNextAction(0); - } else if (temp_r30->getFrame() > daAlinkHIO_guard_c0::m.mGuardBreakAnm.mCancelFrame) { + } else if (temp_r30->getFrame() > mpHIO->mGuard.m.mGuardBreakAnm.mCancelFrame) { if (!checkGuardActionChange()) { onEndResetFlg1(ERFLG1_UNK_20); } @@ -540,14 +539,14 @@ int daAlink_c::procTurnMoveInit(int param_0) { var_r29 = ANM_SIDE_ROLL_LEFT; } - f32 temp_f31 = daAlinkHIO_turnMove_c0::m.mTurnAnm.mSpeed; - mProcVar1.field_0x300a = daAlinkHIO_turnMove_c0::m.mMaxTurnSpeed; + f32 temp_f31 = mpHIO->mGuard.mTurnMove.m.mTurnAnm.mSpeed; + mProcVar1.field_0x300a = mpHIO->mGuard.mTurnMove.m.mMaxTurnSpeed; if (checkNoResetFlg0(FLG0_UNDERWATER)) { - mProcVar1.field_0x300a = mProcVar1.field_0x300a * daAlinkHIO_magneBoots_c0::m.mWaterVelocityX; + mProcVar1.field_0x300a = mProcVar1.field_0x300a * mpHIO->mItem.mIronBoots.m.mWaterVelocityX; } - setSingleAnime(var_r29, temp_f31, daAlinkHIO_turnMove_c0::m.mTurnAnm.mStartFrame, daAlinkHIO_turnMove_c0::m.mTurnAnm.mEndFrame, daAlinkHIO_turnMove_c0::m.mTurnAnm.mInterpolation); + setSingleAnime(var_r29, temp_f31, mpHIO->mGuard.mTurnMove.m.mTurnAnm.mStartFrame, mpHIO->mGuard.mTurnMove.m.mTurnAnm.mEndFrame, mpHIO->mGuard.mTurnMove.m.mTurnAnm.mInterpolation); if (var_r29 == ANM_SIDE_ROLL_LEFT) { mProcVar2.field_0x300c = -0x7FF0; @@ -591,7 +590,7 @@ int daAlink_c::procTurnMove() { onEndResetFlg0(ERFLG0_UNK_8000000); s16 temp_r28 = mProcVar2.field_0x300c; - cLib_addCalcAngleS(&mProcVar2.field_0x300c, 0, daAlinkHIO_turnMove_c0::m.mTurnSpeedRate, mProcVar1.field_0x300a, daAlinkHIO_turnMove_c0::m.mMinTurnSpeed); + cLib_addCalcAngleS(&mProcVar2.field_0x300c, 0, mpHIO->mGuard.mTurnMove.m.mTurnSpeedRate, mProcVar1.field_0x300a, mpHIO->mGuard.mTurnMove.m.mMinTurnSpeed); s16 temp_r29 = temp_r28 - mProcVar2.field_0x300c; if (temp_r28 > 0) { @@ -623,11 +622,11 @@ int daAlink_c::procTurnMove() { offNoResetFlg2(FLG2_UNK_8000000); } checkNextAction(0); - } else if (mProcVar0.field_0x3008 != 0 && !checkNotJumpSinkLimit() && temp_r30->getFrame() > daAlinkHIO_turnMove_c0::m.mTwirlCutDelayF) { + } else if (mProcVar0.field_0x3008 != 0 && !checkNotJumpSinkLimit() && temp_r30->getFrame() > mpHIO->mGuard.mTurnMove.m.mTwirlCutDelayF) { procCutFinishJumpUpInit(); dComIfGp_setPlayerStatus0(0, 4); } else { - if (temp_r30->getFrame() > daAlinkHIO_turnMove_c0::m.mTurnAnm.mCancelFrame) { + if (temp_r30->getFrame() > mpHIO->mGuard.mTurnMove.m.mTurnAnm.mCancelFrame) { onModeFlg(4); if (checkNextAction(1)) { diff --git a/src/d/actor/d_a_alink_hang.inc b/src/d/actor/d_a_alink_hang.inc index 414792af90..6633b830f7 100644 --- a/src/d/actor/d_a_alink_hang.inc +++ b/src/d/actor/d_a_alink_hang.inc @@ -13,8 +13,8 @@ #include "d/actor/d_a_obj_swhang.h" f32 daAlink_c::getHangMoveAnmSpeed() { - return getAnmSpeedStickRate(daAlinkHIO_wallMove_c0::m.mMinAnmSpeed, - daAlinkHIO_wallMove_c0::m.mMaxAnmSpeed); + return getAnmSpeedStickRate(mpHIO->mWallHang.mWallMove.m.mMinAnmSpeed, + mpHIO->mWallHang.mWallMove.m.mMaxAnmSpeed); } int daAlink_c::getHangDirectionFromAngle() { @@ -189,7 +189,7 @@ void daAlink_c::setHangGroundY() { int daAlink_c::changeHangEndProc() { setHangGroundY(); - if (current.pos.y < field_0x33d8 + daAlinkHIO_wallHang_c0::m.hang_foot_pos_height - 1.0f && + if (current.pos.y < field_0x33d8 + mpHIO->mWallHang.m.hang_foot_pos_height - 1.0f && (mProcID != PROC_HANG_FALL_START || !(mUnderFrameCtrl->getFrame() < 3.0f)) && field_0x33d8 < current.pos.y - 5.0f) { @@ -200,7 +200,7 @@ int daAlink_c::changeHangEndProc() { if (doTrigger()) { speed.y = 0.0f; - return procFallInit(1, daAlinkHIO_autoJump_c0::m.mFallInterpolation); + return procFallInit(1, mpHIO->mAutoJump.m.mFallInterpolation); } return 0; @@ -280,20 +280,20 @@ int daAlink_c::procHangStartInit() { if (checkHangFootWall()) { if (!hang_ready && cM_rnd() < 0.7f) { - setSingleAnimeParam(ANM_CLIMB_HANG_MISS, &daAlinkHIO_ladder_c0::m.mWallAttachMissAnm); - field_0x3478 = daAlinkHIO_ladder_c0::m.mWallAttachMissAnm.mCancelFrame; + setSingleAnimeParam(ANM_CLIMB_HANG_MISS, &mpHIO->mLadder.m.mWallAttachMissAnm); + field_0x3478 = mpHIO->mLadder.m.mWallAttachMissAnm.mCancelFrame; voiceStart(Z2SE_AL_V_FOOT_MISS); } else { - setSingleAnimeParam(ANM_CLIMB_HANG, &daAlinkHIO_ladder_c0::m.mWallAttachAnm); - field_0x3478 = daAlinkHIO_ladder_c0::m.mWallAttachAnm.mCancelFrame; + setSingleAnimeParam(ANM_CLIMB_HANG, &mpHIO->mLadder.m.mWallAttachAnm); + field_0x3478 = mpHIO->mLadder.m.mWallAttachAnm.mCancelFrame; voiceStart(Z2SE_AL_V_JUMP_HANG); } field_0x2f92 = 0xFE; field_0x2f93 = 0xFE; } else { - setSingleAnimeParam(ANM_HANG_READY, &daAlinkHIO_wallCatch_c0::m.mGrabAAnm); - field_0x3478 = daAlinkHIO_wallCatch_c0::m.mGrabAAnm.mCancelFrame; + setSingleAnimeParam(ANM_HANG_READY, &mpHIO->mWallHang.mWallCatch.m.mGrabAAnm); + field_0x3478 = mpHIO->mWallHang.mWallCatch.m.mGrabAAnm.mCancelFrame; voiceStart(Z2SE_AL_V_JUMP_HANG); } @@ -322,7 +322,7 @@ int daAlink_c::procHangStart() { } else if (frame_ctrl->getFrame() > field_0x3478 && checkInputOnR() && getDirectionFromShapeAngle() == DIR_FORWARD) { - procHangClimbInit(daAlinkHIO_wallCatch_c0::m.mClimbAnm.mStartFrame); + procHangClimbInit(mpHIO->mWallHang.mWallCatch.m.mClimbAnm.mStartFrame); } return 1; @@ -379,14 +379,14 @@ int daAlink_c::procHangFallStartInit(cM3dGPla* param_0) { if (mProcID == PROC_FRONT_ROLL) { morf = 0.0f; } else { - morf = daAlinkHIO_wallFall_c0::m.mOneHandGrabAnm.mInterpolation; + morf = mpHIO->mWallHang.mWallFall.m.mOneHandGrabAnm.mInterpolation; } commonProcInit(PROC_HANG_FALL_START); offNoResetFlg2(FLG2_UNK_2000); - setSingleAnime(ANM_HANG_ONE_HAND, daAlinkHIO_wallFall_c0::m.mOneHandGrabAnm.mSpeed, - daAlinkHIO_wallFall_c0::m.mOneHandGrabAnm.mStartFrame, - daAlinkHIO_wallFall_c0::m.mOneHandGrabAnm.mEndFrame, morf); + setSingleAnime(ANM_HANG_ONE_HAND, mpHIO->mWallHang.mWallFall.m.mOneHandGrabAnm.mSpeed, + mpHIO->mWallHang.mWallFall.m.mOneHandGrabAnm.mStartFrame, + mpHIO->mWallHang.mWallFall.m.mOneHandGrabAnm.mEndFrame, morf); mNormalSpeed = 0.0f; speed.y = 0.0f; @@ -403,7 +403,7 @@ int daAlink_c::procHangFallStart() { BOOL bvar; if (checkAnmEnd(frame_ctrl) || - frame_ctrl->getFrame() > daAlinkHIO_wallFall_c0::m.mOneHandGrabAnm.mCancelFrame) + frame_ctrl->getFrame() > mpHIO->mWallHang.mWallFall.m.mOneHandGrabAnm.mCancelFrame) { bvar = true; } else { @@ -431,7 +431,7 @@ int daAlink_c::procHangFallStart() { int daAlink_c::procHangUpInit(int param_0) { commonProcInit(PROC_HANG_UP); - setSingleAnimeParam(ANM_HANG_ONE_HAND_MOVE, &daAlinkHIO_wallFall_c0::m.mTwoHandGrabAnm); + setSingleAnimeParam(ANM_HANG_ONE_HAND_MOVE, &mpHIO->mWallHang.mWallFall.m.mTwoHandGrabAnm); dComIfGp_setPlayerStatus0(0, 0x100); setBowHangAnime(); field_0x3198 = param_0; @@ -451,10 +451,10 @@ int daAlink_c::procHangUp() { } return 1; } else if (checkAnmEnd(frame_ctrl) || - frame_ctrl->getFrame() > daAlinkHIO_wallFall_c0::m.mTwoHandGrabAnm.mCancelFrame) + frame_ctrl->getFrame() > mpHIO->mWallHang.mWallFall.m.mTwoHandGrabAnm.mCancelFrame) { if (field_0x3198 == 0) { - procHangClimbInit(daAlinkHIO_wallCatch_c0::m.mClimbAnm.mStartFrame); + procHangClimbInit(mpHIO->mWallHang.mWallCatch.m.mClimbAnm.mStartFrame); } else if (changeHangMoveProc(field_0x3198)) { procHangMoveInit(field_0x3198); } else { @@ -470,13 +470,13 @@ int daAlink_c::procHangWaitInit() { commonProcInit(PROC_HANG_WAIT); if (checkNoResetFlg2(FLG2_UNK_2000) && checkHangFootWall()) { - setSingleAnime(ANM_CLIMB_HANG, 0.0f, daAlinkHIO_ladder_c0::m.mWallAttachAnm.mEndFrame, - daAlinkHIO_ladder_c0::m.mWallAttachAnm.mEndFrame, 5.0f); + setSingleAnime(ANM_CLIMB_HANG, 0.0f, mpHIO->mLadder.m.mWallAttachAnm.mEndFrame, + mpHIO->mLadder.m.mWallAttachAnm.mEndFrame, 5.0f); field_0x2f92 = 0xFE; field_0x2f93 = 0xFE; } else { - setSingleAnime(ANM_HANG_READY, 0.0f, daAlinkHIO_wallCatch_c0::m.mGrabAAnm.mEndFrame, - daAlinkHIO_wallCatch_c0::m.mGrabAAnm.mEndFrame, 5.0f); + setSingleAnime(ANM_HANG_READY, 0.0f, mpHIO->mWallHang.mWallCatch.m.mGrabAAnm.mEndFrame, + mpHIO->mWallHang.mWallCatch.m.mGrabAAnm.mEndFrame, 5.0f); } setBowHangAnime(); @@ -497,14 +497,14 @@ int daAlink_c::procHangWait() { setClimbShapeOffset(); if (checkNoResetFlg2(FLG2_UNK_2000) && !checkHangFootWall()) { - setSingleAnime(ANM_HANG_READY, 0.0f, daAlinkHIO_wallCatch_c0::m.mGrabAAnm.mEndFrame, - daAlinkHIO_wallCatch_c0::m.mGrabAAnm.mEndFrame, 10.0f); + setSingleAnime(ANM_HANG_READY, 0.0f, mpHIO->mWallHang.mWallCatch.m.mGrabAAnm.mEndFrame, + mpHIO->mWallHang.mWallCatch.m.mGrabAAnm.mEndFrame, 10.0f); } if (checkInputOnR()) { int direction = getHangDirectionFromAngle(); if (direction == DIR_FORWARD) { - return procHangClimbInit(daAlinkHIO_wallCatch_c0::m.mClimbAnm.mStartFrame); + return procHangClimbInit(mpHIO->mWallHang.mWallCatch.m.mClimbAnm.mStartFrame); } if (direction != DIR_BACKWARD && changeHangMoveProc(direction)) { @@ -547,7 +547,7 @@ int daAlink_c::procHangMoveInit(int param_0) { } setSingleAnimeBaseSpeed(anm, getHangMoveAnmSpeed(), - daAlinkHIO_wallMove_c0::m.mInterpolation); + mpHIO->mWallHang.mWallMove.m.mInterpolation); } if (param_0 == 2) { @@ -571,7 +571,7 @@ int daAlink_c::procHangMove() { if (!changeHangEndProc()) { if (direction == DIR_FORWARD && checkInputOnR()) { - procHangClimbInit(daAlinkHIO_wallCatch_c0::m.mClimbAnm.mStartFrame); + procHangClimbInit(mpHIO->mWallHang.mWallCatch.m.mClimbAnm.mStartFrame); } else { daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; @@ -680,9 +680,9 @@ int daAlink_c::procHangClimbInit(f32 param_0) { BOOL wall_catch = mProcID == PROC_HANG_WALL_CATCH; commonProcInit(PROC_HANG_CLIMB); - setSingleAnime(ANM_HANG_CLIMB_TOP, daAlinkHIO_wallCatch_c0::m.mClimbAnm.mSpeed, param_0, - daAlinkHIO_wallCatch_c0::m.mClimbAnm.mEndFrame, - daAlinkHIO_wallCatch_c0::m.mClimbAnm.mInterpolation); + setSingleAnime(ANM_HANG_CLIMB_TOP, mpHIO->mWallHang.mWallCatch.m.mClimbAnm.mSpeed, param_0, + mpHIO->mWallHang.mWallCatch.m.mClimbAnm.mEndFrame, + mpHIO->mWallHang.mWallCatch.m.mClimbAnm.mInterpolation); if (checkBowItem(mEquipItem)) { field_0x33dc = mUnderFrameCtrl[0].getFrame(); @@ -730,7 +730,7 @@ int daAlink_c::procHangClimb() { if (checkAnmEnd(frameCtrl)) { checkNextAction(0); - } else if (frameCtrl->getFrame() > daAlinkHIO_wallCatch_c0::m.mClimbAnm.mCancelFrame) { + } else if (frameCtrl->getFrame() > mpHIO->mWallHang.mWallCatch.m.mClimbAnm.mCancelFrame) { onModeFlg(4); checkNextAction(1); } @@ -760,7 +760,7 @@ int daAlink_c::procHangWallCatchInit() { } commonProcInit(PROC_HANG_WALL_CATCH); - setSingleAnimeParam(ANM_CLIMB_TOP_SMALL, &daAlinkHIO_wallCatch_c0::m.mGrabBAnm); + setSingleAnimeParam(ANM_CLIMB_TOP_SMALL, &mpHIO->mWallHang.mWallCatch.m.mGrabBAnm); setBowHangAnime(); current.pos.x = sp38.x; current.pos.y = sp38.y; @@ -785,9 +785,9 @@ int daAlink_c::procHangWallCatch() { } if (checkAnmEnd(mUnderFrameCtrl) && - !procHangClimbInit(daAlinkHIO_wallCatch_c0::m.mClimbStartFrame)) + !procHangClimbInit(mpHIO->mWallHang.mWallCatch.m.mClimbStartFrame)) { - return procFallInit(1, daAlinkHIO_autoJump_c0::m.mFallInterpolation); + return procFallInit(1, mpHIO->mAutoJump.m.mFallInterpolation); } return 1; @@ -805,7 +805,7 @@ int daAlink_c::procHangReadyInit() { } commonProcInit(PROC_HANG_READY); - setSingleAnimeParam(ANM_CLIMB_JUMP, &daAlinkHIO_wallCatch_c0::m.mJumpAnm); + setSingleAnimeParam(ANM_CLIMB_JUMP, &mpHIO->mWallHang.mWallCatch.m.mJumpAnm); mProcVar2.field_0x300c = field_0x306e + 0x8000; field_0x3198 = field_0x2f91; @@ -847,7 +847,7 @@ int daAlink_c::procHangLeverDownInit() { commonProcInit(PROC_HANG_LEVER_DOWN); field_0x280c.setData(field_0x27f4); - setSingleAnimeParam(ANM_CLIMB_JUMP, &daAlinkHIO_wallCatch_c0::m.mJumpAnm); + setSingleAnimeParam(ANM_CLIMB_JUMP, &mpHIO->mWallHang.mWallCatch.m.mJumpAnm); mProcVar2.field_0x300c = field_0x27f4->shape_angle.y + 0x8000; field_0x3198 = ANM_CLIMB_JUMP; @@ -875,7 +875,7 @@ int daAlink_c::procHangLeverDown() { offModeFlg(1); onModeFlg(0x6042); - setSingleAnimeParam(ANM_HANG_READY, &daAlinkHIO_wallCatch_c0::m.mGrabAAnm); + setSingleAnimeParam(ANM_HANG_READY, &mpHIO->mWallHang.mWallCatch.m.mGrabAAnm); voiceStart(Z2SE_AL_V_JUMP_HANG); field_0x2f99 = 0x50; field_0x3198 = ANM_HANG_READY; @@ -1090,13 +1090,13 @@ int daAlink_c::procBossBodyHang() { mProcVar1.field_0x300a = 3; } else { if (field_0x32cc != 0) { - setSingleAnimeParam(ANM_DRAGON_CUT, &daAlinkHIO_cut_c0::m.mStabAnm); + setSingleAnimeParam(ANM_DRAGON_CUT, &mpHIO->mCut.m.mStabAnm); } else { - setSingleAnimeParam(ANM_MORPHEEL_CUT, &daAlinkHIO_cut_c0::m.mStabAnm); + setSingleAnimeParam(ANM_MORPHEEL_CUT, &mpHIO->mCut.m.mStabAnm); } field_0x3198 = 0x16C; - field_0x3478 = daAlinkHIO_cut_c0::m.mStabAnm.mCancelFrame; + field_0x3478 = mpHIO->mCut.m.mStabAnm.mCancelFrame; field_0x347c = 10.0f; mProcVar4.field_0x3010 = 0; mProcVar1.field_0x300a = 1; @@ -1161,7 +1161,7 @@ int daAlink_c::setLadderInit() { if (checkModeFlg(0x40000)) { setLadderPos(getLadderUnitCount() - 2); - while (mWaterY - current.pos.y > daAlinkHIO_swim_c0::m.mStartHeight) { + while (mWaterY - current.pos.y > mpHIO->mSwim.m.mStartHeight) { current.pos.y += 37.5f; } @@ -1235,8 +1235,8 @@ void daAlink_c::setLadderPos(int param_0) { f32 daAlink_c::getLadderMoveAnmSpeed() { - return getAnmSpeedStickRate(daAlinkHIO_ladder_c0::m.mMoveMinASpeed, - daAlinkHIO_ladder_c0::m.mMoveMaxSpeed); + return getAnmSpeedStickRate(mpHIO->mLadder.m.mMoveMinASpeed, + mpHIO->mLadder.m.mMoveMaxSpeed); } int daAlink_c::changeLadderMoveProc(int param_0) { @@ -1302,7 +1302,7 @@ int daAlink_c::setMoveBGLadderCorrect() { field_0x37c8.z + cM_scos(current.angle.y) * 50.0f); if (!commonLineCheck(&field_0x37c8, &sp28) || dComIfG_Bgsp().GetWallCode(mLinkLinChk) != 4) { - return procFallInit(1, daAlinkHIO_autoJump_c0::m.mFallInterpolation); + return procFallInit(1, mpHIO->mAutoJump.m.mFallInterpolation); } mPolyInfo1.SetPolyInfo(mLinkLinChk); @@ -1315,7 +1315,7 @@ int daAlink_c::checkLadderFall() { if (doTrigger()) { field_0x2f99 = 0; - return procFallInit(1, daAlinkHIO_autoJump_c0::m.mFallInterpolation); + return procFallInit(1, mpHIO->mAutoJump.m.mFallInterpolation); } return 0; @@ -1332,8 +1332,8 @@ int daAlink_c::procLadderUpStartInit() { mNormalSpeed = 0.0f; speedF = 0.0f; - setSingleAnimeBaseSpeed(ANM_LADDER_UP_START, daAlinkHIO_ladder_c0::m.mClimbUpStartASpeed, - daAlinkHIO_ladder_c0::m.mClimbUpStartInterp); + setSingleAnimeBaseSpeed(ANM_LADDER_UP_START, mpHIO->mLadder.m.mClimbUpStartASpeed, + mpHIO->mLadder.m.mClimbUpStartInterp); field_0x2f99 = 0x10; field_0x3588 = l_waitBaseAnime; dComIfGp_setPlayerStatus0(0, 0x2000000); @@ -1376,8 +1376,8 @@ int daAlink_c::procLadderUpEndInit(int param_0) { commonProcInit(PROC_LADDER_UP_END); daAlink_ANM anm_id = param_0 != 0 ? ANM_LADDER_UP_END_LEFT : ANM_LADDER_UP_END_RIGHT; - setSingleAnimeBaseSpeed(anm_id, daAlinkHIO_ladder_c0::m.mClimbUpEndASpeed, - daAlinkHIO_ladder_c0::m.mClimbUpEndInterp); + setSingleAnimeBaseSpeed(anm_id, mpHIO->mLadder.m.mClimbUpEndASpeed, + mpHIO->mLadder.m.mClimbUpEndInterp); field_0x2f99 = 14; setSpecialGravity(0.0f, maxFallSpeed, 0); @@ -1403,7 +1403,7 @@ int daAlink_c::procLadderUpEnd() { if (checkAnmEnd(frame_ctrl)) { checkNextAction(0); - } else if (!(frame_ctrl->getFrame() > daAlinkHIO_ladder_c0::m.mClimbUpEndCF) || + } else if (!(frame_ctrl->getFrame() > mpHIO->mLadder.m.mClimbUpEndCF) || !checkNextAction(1)) { if (frame_ctrl->getFrame() >= 23.0f) { @@ -1436,8 +1436,8 @@ int daAlink_c::procLadderDownStartInit() { shape_angle.y = field_0x306e + 0x8000; current.angle.y = field_0x306e; - setSingleAnimeBaseSpeed(ANM_LADDER_DOWN_START, daAlinkHIO_ladder_c0::m.mClimbDownStartASpeed, - daAlinkHIO_ladder_c0::m.mClimbDownStartInterp); + setSingleAnimeBaseSpeed(ANM_LADDER_DOWN_START, mpHIO->mLadder.m.mClimbDownStartASpeed, + mpHIO->mLadder.m.mClimbDownStartInterp); field_0x2f99 = 0x10; field_0x3588 = l_waitBaseAnime; dComIfGp_setPlayerStatus0(0, 0x2000000); @@ -1487,8 +1487,8 @@ int daAlink_c::procLadderDownEndInit(int param_0) { commonProcInit(PROC_LADDER_DOWN_END); daAlink_ANM anm_id = param_0 != 0 ? ANM_LADDER_DOWN_END_LEFT : ANM_LADDER_DOWN_END_RIGHT; - setSingleAnimeBaseSpeed(anm_id, daAlinkHIO_ladder_c0::m.mClimbDownEndASpeed, - daAlinkHIO_ladder_c0::m.mClimbDownEndInterp); + setSingleAnimeBaseSpeed(anm_id, mpHIO->mLadder.m.mClimbDownEndASpeed, + mpHIO->mLadder.m.mClimbDownEndInterp); field_0x2f99 = 14; setSpecialGravity(0.0f, maxFallSpeed, 0); @@ -1509,7 +1509,7 @@ int daAlink_c::procLadderDownEnd() { if (checkAnmEnd(frame_ctrl)) { checkNextAction(0); - } else if (!(frame_ctrl->getFrame() > daAlinkHIO_ladder_c0::m.mClimbDownEndCF) || + } else if (!(frame_ctrl->getFrame() > mpHIO->mLadder.m.mClimbDownEndCF) || !checkNextAction(1)) { if (frame_ctrl->getFrame() >= 11.0f) { @@ -1566,7 +1566,7 @@ int daAlink_c::procLadderMoveInit(int param_0, int param_1, cXyz* param_2) { } } - setSingleAnimeBaseSpeed(anm, anm_speed, daAlinkHIO_ladder_c0::m.mMoveInterp); + setSingleAnimeBaseSpeed(anm, anm_speed, mpHIO->mLadder.m.mMoveInterp); field_0x2f98 = param_1; if (!param_1) { @@ -1614,13 +1614,13 @@ int daAlink_c::procLadderMove() { } f32 daAlink_c::getClimbMoveUpDownAnmSpeed() { - return getAnmSpeedStickRate(daAlinkHIO_ladder_c0::m.mWallVerticalMinAnmSpeed, - daAlinkHIO_ladder_c0::m.mWallVerticalMaxAnmSpeed); + return getAnmSpeedStickRate(mpHIO->mLadder.m.mWallVerticalMinAnmSpeed, + mpHIO->mLadder.m.mWallVerticalMaxAnmSpeed); } f32 daAlink_c::getClimbMoveSideAnmSpeed() { - return getAnmSpeedStickRate(daAlinkHIO_ladder_c0::m.mWallHorizontalMinAnmSpeed, - daAlinkHIO_ladder_c0::m.mWallHorizontalMaxAnmSpeed); + return getAnmSpeedStickRate(mpHIO->mLadder.m.mWallHorizontalMinAnmSpeed, + mpHIO->mLadder.m.mWallHorizontalMaxAnmSpeed); } BOOL daAlink_c::checkClimbCode(cBgS_PolyInfo& i_poly) { @@ -1810,7 +1810,7 @@ int daAlink_c::setMoveBGClimbCorrect() { } if (mLinkAcch.ChkGroundHit()) { - return procFallInit(1, daAlinkHIO_autoJump_c0::m.mFallInterpolation); + return procFallInit(1, mpHIO->mAutoJump.m.mFallInterpolation); } f32 var_f31 = cM_ssin(shape_angle.y); @@ -1837,7 +1837,7 @@ int daAlink_c::setMoveBGClimbCorrect() { ((mProcID == PROC_CLIMB_MOVE_UPDOWN || mProcID == PROC_CLIMB_MOVE_SIDE) && current.pos.y - 15.0f < dComIfG_Bgsp().GroundCross(&mLinkGndChk))) { - return procFallInit(1, daAlinkHIO_autoJump_c0::m.mFallInterpolation); + return procFallInit(1, mpHIO->mAutoJump.m.mFallInterpolation); } cM3dGPla sp44; @@ -1845,7 +1845,7 @@ int daAlink_c::setMoveBGClimbCorrect() { s16 temp_r29 = sp44.mNormal.atan2sX_Z(); if (cLib_distanceAngleS(temp_r29, shape_angle.y) <= 0x549F) { - return procFallInit(1, daAlinkHIO_autoJump_c0::m.mFallInterpolation); + return procFallInit(1, mpHIO->mAutoJump.m.mFallInterpolation); } s16 temp_r28 = shape_angle.y; @@ -1993,7 +1993,7 @@ BOOL daAlink_c::checkBgClimbMove(int i_direction) { if (checkClimbGround(&sp8C, sp98.y)) { current.pos = sp8C; onResetFlg0(RFLG0_UNK_40000); - return procHangClimbInit(daAlinkHIO_wallCatch_c0::m.mClimbAnm.mStartFrame); + return procHangClimbInit(mpHIO->mWallHang.mWallCatch.m.mClimbAnm.mStartFrame); } else { current.pos.y -= 30.0f; return procClimbWaitInit(1, 1); @@ -2059,12 +2059,12 @@ int daAlink_c::procClimbUpStartInit(int param_0) { mNormalSpeed = 0.0f; if (param_0 || var_r29 || cM_rnd() < 0.3f) { - setSingleAnimeParam(ANM_CLIMB_HANG, &daAlinkHIO_ladder_c0::m.mWallAttachAnm); - field_0x3478 = daAlinkHIO_ladder_c0::m.mWallAttachAnm.mCancelFrame; + setSingleAnimeParam(ANM_CLIMB_HANG, &mpHIO->mLadder.m.mWallAttachAnm); + field_0x3478 = mpHIO->mLadder.m.mWallAttachAnm.mCancelFrame; voiceStart(Z2SE_AL_V_JUMP_HANG); } else { - setSingleAnimeParam(ANM_CLIMB_HANG_MISS, &daAlinkHIO_ladder_c0::m.mWallAttachMissAnm); - field_0x3478 = daAlinkHIO_ladder_c0::m.mWallAttachMissAnm.mCancelFrame; + setSingleAnimeParam(ANM_CLIMB_HANG_MISS, &mpHIO->mLadder.m.mWallAttachMissAnm); + field_0x3478 = mpHIO->mLadder.m.mWallAttachMissAnm.mCancelFrame; voiceStart(Z2SE_AL_V_FOOT_MISS); } @@ -2072,7 +2072,7 @@ int daAlink_c::procClimbUpStartInit(int param_0) { dComIfGp_setPlayerStatus0(0, 8); if (param_0) { - current.pos.y = field_0x34ec.y + daAlinkHIO_ladder_c0::m.mWallApproachOffset; + current.pos.y = field_0x34ec.y + mpHIO->mLadder.m.mWallApproachOffset; } field_0x2f99 = 2; @@ -2138,12 +2138,12 @@ int daAlink_c::procClimbDownStartInit(s16 param_0) { deleteEquipItem(TRUE, FALSE); if (cM_rnd() < 0.7f) { - setSingleAnimeParam(ANM_CLIMB_HANG, &daAlinkHIO_ladder_c0::m.mWallAttachAnm); - field_0x3478 = daAlinkHIO_ladder_c0::m.mWallAttachAnm.mCancelFrame; + setSingleAnimeParam(ANM_CLIMB_HANG, &mpHIO->mLadder.m.mWallAttachAnm); + field_0x3478 = mpHIO->mLadder.m.mWallAttachAnm.mCancelFrame; mProcVar0.field_0x3008 = 0; } else { - setSingleAnimeParam(ANM_CLIMB_HANG_MISS, &daAlinkHIO_ladder_c0::m.mWallAttachMissAnm); - field_0x3478 = daAlinkHIO_ladder_c0::m.mWallAttachMissAnm.mCancelFrame; + setSingleAnimeParam(ANM_CLIMB_HANG_MISS, &mpHIO->mLadder.m.mWallAttachMissAnm); + field_0x3478 = mpHIO->mLadder.m.mWallAttachMissAnm.mCancelFrame; mProcVar0.field_0x3008 = 1; voiceStart(Z2SE_AL_V_FOOT_MISS); } @@ -2504,7 +2504,7 @@ int daAlink_c::procClimbToRoof() { if (sp38.y < current.pos.y + 214.0f + 110.0f) { procRoofHangStartInit(mLinkRoofChk, sp38, 1); } else { - procFallInit(1, daAlinkHIO_autoJump_c0::m.mFallInterpolation); + procFallInit(1, mpHIO->mAutoJump.m.mFallInterpolation); } } @@ -2513,13 +2513,13 @@ int daAlink_c::procClimbToRoof() { f32 daAlink_c::getRoofHangFMoveAnmSpeed() const { - return getAnmSpeedStickRate(daAlinkHIO_roofHang_c0::m.mVertMoveMinASpeed, - daAlinkHIO_roofHang_c0::m.mVertMoveMaxASpeed); + return getAnmSpeedStickRate(mpHIO->mRoofHang.m.mVertMoveMinASpeed, + mpHIO->mRoofHang.m.mVertMoveMaxASpeed); } f32 daAlink_c::getRoofHangSMoveAnmSpeed() const { - return getAnmSpeedStickRate(daAlinkHIO_roofHang_c0::m.mHorizMoveMinASpeed, - daAlinkHIO_roofHang_c0::m.mHorizMoveMaxASpeed); + return getAnmSpeedStickRate(mpHIO->mRoofHang.m.mHorizMoveMinASpeed, + mpHIO->mRoofHang.m.mHorizMoveMaxASpeed); } void daAlink_c::setRoofHangHandOnSE(cBgS_PolyInfo* unused) { @@ -2566,7 +2566,7 @@ int daAlink_c::commonRoofHangProc() { setDoStatus(0x33); if (doTrigger()) { - return procFallInit(1, daAlinkHIO_autoJump_c0::m.mFallInterpolation); + return procFallInit(1, mpHIO->mAutoJump.m.mFallInterpolation); } cXyz sp28(current.pos.x, (current.pos.y + 214.0f) - 10.0f, current.pos.z); @@ -2579,7 +2579,7 @@ int daAlink_c::commonRoofHangProc() { current.pos.y = roof_y - 214.0f; mPolyInfo2.SetPolyInfo(mLinkRoofChk); } else { - return procFallInit(1, daAlinkHIO_autoJump_c0::m.mFallInterpolation); + return procFallInit(1, mpHIO->mAutoJump.m.mFallInterpolation); } return 0; @@ -2624,7 +2624,7 @@ int daAlink_c::checkNextActionRoofHang() { int daAlink_c::procRoofHangStartInit(cBgS_PolyInfo const& param_0, cXyz const& param_1, int param_2) { commonProcInit(PROC_ROOF_HANG_START); - setSingleAnimeParam(ANM_ROOF_HANG, &daAlinkHIO_roofHang_c0::m.mRoofHangAnm); + setSingleAnimeParam(ANM_ROOF_HANG, &mpHIO->mRoofHang.m.mRoofHangAnm); mPolyInfo2.SetPolyInfo(param_0); current.pos = param_1; @@ -2655,7 +2655,7 @@ int daAlink_c::procRoofHangStart() { if (mProcVar0.field_0x3008 == 0 && (checkAnmEnd(frame_ctrl) || (checkInputOnR() && - frame_ctrl->getFrame() > daAlinkHIO_roofHang_c0::m.mRoofHangAnm.mCancelFrame))) + frame_ctrl->getFrame() > mpHIO->mRoofHang.m.mRoofHangAnm.mCancelFrame))) { checkNextActionRoofHang(); } else if (checkAnmEnd(frame_ctrl)) { @@ -2684,7 +2684,7 @@ int daAlink_c::procRoofHangWaitInit(int param_0) { } } - setSingleAnimeBaseSpeed(ANM_ROOF_HANG_WAIT, daAlinkHIO_roofHang_c0::m.mStandbyASpeed, daAlinkHIO_roofHang_c0::m.mStandbyInterp); + setSingleAnimeBaseSpeed(ANM_ROOF_HANG_WAIT, mpHIO->mRoofHang.m.mStandbyASpeed, mpHIO->mRoofHang.m.mStandbyInterp); current.angle.y = shape_angle.y; setSpecialGravity(0.0f, maxFallSpeed, 0); @@ -2731,7 +2731,7 @@ int daAlink_c::procRoofHangFrontMoveInit() { frame = mUnderFrameCtrl[0].getFrame(); } - setSingleAnimeBaseSpeed(ANM_ROOF_HANG_MOVE, anm_speed, daAlinkHIO_roofHang_c0::m.mVertMoveInterp); + setSingleAnimeBaseSpeed(ANM_ROOF_HANG_MOVE, anm_speed, mpHIO->mRoofHang.m.mVertMoveInterp); if (frame >= 0) { mUnderFrameCtrl[0].setFrame(frame); @@ -2758,9 +2758,9 @@ int daAlink_c::procRoofHangFrontMove() { checkNextActionRoofHang(); } else { if (!checkAttentionLock()) { - cLib_addCalcAngleS(¤t.angle.y, field_0x2fe2, daAlinkHIO_roofHang_c0::m.mTurnAngleRate, - daAlinkHIO_roofHang_c0::m.mMaxTurnAngle, - daAlinkHIO_roofHang_c0::m.mMinTurnAngle); + cLib_addCalcAngleS(¤t.angle.y, field_0x2fe2, mpHIO->mRoofHang.m.mTurnAngleRate, + mpHIO->mRoofHang.m.mMaxTurnAngle, + mpHIO->mRoofHang.m.mMinTurnAngle); if (field_0x2f98 == 0) { shape_angle.y = current.angle.y; @@ -2776,8 +2776,8 @@ int daAlink_c::procRoofHangFrontMove() { frame = frameCtrl->getFrame(); } - mNormalSpeed = getAnmSpeedStickRate(daAlinkHIO_roofHang_c0::m.mVertMoveMinSpeed, - daAlinkHIO_roofHang_c0::m.mVertMoveMaxSpeed) * + mNormalSpeed = getAnmSpeedStickRate(mpHIO->mRoofHang.m.mVertMoveMinSpeed, + mpHIO->mRoofHang.m.mVertMoveMaxSpeed) * cM_fsin((frame * M_PI) * 0.083333336f); if (mNormalSpeed < 0.0f) { mNormalSpeed = 0.0f; @@ -2804,7 +2804,7 @@ int daAlink_c::procRoofHangFrontMove() { if (cLib_distanceAngleS(sp70.mNormal.atan2sX_Z(), shape_angle.y) > 0x6000) { current.pos.x = sp70.mNormal.x * 15.0f + mLinkLinChk.GetCross().x; current.pos.z = sp70.mNormal.z * 15.0f + mLinkLinChk.GetCross().z; - return procFallInit(1, daAlinkHIO_autoJump_c0::m.mFallInterpolation); + return procFallInit(1, mpHIO->mAutoJump.m.mFallInterpolation); } } } @@ -2833,7 +2833,7 @@ int daAlink_c::procRoofHangSideMoveInit() { } setSingleAnimeBaseSpeed(anm_id, getRoofHangSMoveAnmSpeed(), - daAlinkHIO_roofHang_c0::m.mHorizMoveInterp); + mpHIO->mRoofHang.m.mHorizMoveInterp); setSpecialGravity(0.0f, maxFallSpeed, 0); f32 tmp_0 = 0.0f; @@ -2874,7 +2874,7 @@ int daAlink_c::procRoofHangTurnInit() { f32 anm_speed; if ((s16)(field_0x2fe2 - shape_angle.y) < 0) { - anm_speed = -daAlinkHIO_roofHang_c0::m.mInvertASpeed; + anm_speed = -mpHIO->mRoofHang.m.mInvertASpeed; mProcVar0.field_0x3008 = 1; shape_angle.y += 0x8000; setOldRootQuaternion(0, -0x8000, 0); @@ -2883,7 +2883,7 @@ int daAlink_c::procRoofHangTurnInit() { field_0x3478 = 0.0f; field_0x347c = 10.0f; } else { - anm_speed = daAlinkHIO_roofHang_c0::m.mInvertASpeed; + anm_speed = mpHIO->mRoofHang.m.mInvertASpeed; mProcVar0.field_0x3008 = 0; mProcVar2.field_0x300c = field_0x2fe2 + 0x8000; field_0x3478 = 10.0f; @@ -2891,7 +2891,7 @@ int daAlink_c::procRoofHangTurnInit() { } current.angle.y = shape_angle.y; - setSingleAnimeBaseSpeed(ANM_ROOF_HANG_TURN, anm_speed, daAlinkHIO_roofHang_c0::m.mInvertInterp); + setSingleAnimeBaseSpeed(ANM_ROOF_HANG_TURN, anm_speed, mpHIO->mRoofHang.m.mInvertInterp); if (mProcVar0.field_0x3008 != 0) { setFaceBasicTexture(FTANM_UNK_4); @@ -2945,7 +2945,7 @@ void daAlink_c::setRoofHangSwitch() { int daAlink_c::procRoofSwitchHangInit(fopAc_ac_c* param_0) { commonProcInit(PROC_ROOF_SWITCH_HANG); deleteEquipItem(TRUE, FALSE); - setSingleAnimeParam(ANM_ROOF_HANG, &daAlinkHIO_roofHang_c0::m.mRoofHangAnm); + setSingleAnimeParam(ANM_ROOF_HANG, &mpHIO->mRoofHang.m.mRoofHangAnm); setSpecialGravity(0.0f, maxFallSpeed, 0); f32 tmp_0 = 0.0f; @@ -2970,20 +2970,20 @@ int daAlink_c::procRoofSwitchHangInit(fopAc_ac_c* param_0) { int daAlink_c::procRoofSwitchHang() { if (field_0x280c.getActor() == NULL) { - return procFallInit(1, daAlinkHIO_autoJump_c0::m.mFallInterpolation); + return procFallInit(1, mpHIO->mAutoJump.m.mFallInterpolation); } setRoofHangSwitch(); if (checkAnmEnd(mUnderFrameCtrl)) { - setSingleAnimeBaseSpeed(ANM_ROOF_HANG_WAIT, daAlinkHIO_roofHang_c0::m.mStandbyASpeed, - daAlinkHIO_roofHang_c0::m.mStandbyInterp); + setSingleAnimeBaseSpeed(ANM_ROOF_HANG_WAIT, mpHIO->mRoofHang.m.mStandbyASpeed, + mpHIO->mRoofHang.m.mStandbyInterp); mProcVar2.field_0x300c = 1; } else if (mProcVar2.field_0x300c != 0) { setDoStatus(0x33); if (doTrigger()) { - procFallInit(1, daAlinkHIO_autoJump_c0::m.mFallInterpolation); + procFallInit(1, mpHIO->mAutoJump.m.mFallInterpolation); } } diff --git a/src/d/actor/d_a_alink_hook.inc b/src/d/actor/d_a_alink_hook.inc index 5648f66296..00a6cf4ce6 100644 --- a/src/d/actor/d_a_alink_hook.inc +++ b/src/d/actor/d_a_alink_hook.inc @@ -426,9 +426,9 @@ void daAlink_c::setHookshotSight() { cXyz sight_pos; f32 length; if (checkLv7BossRoom()) { - length = daAlinkHIO_hookshot_c0::m.mBossMaxLength; + length = mpHIO->mItem.mHookshot.m.mBossMaxLength; } else { - length = daAlinkHIO_hookshot_c0::m.mMaxLength; + length = mpHIO->mItem.mHookshot.m.mMaxLength; } BOOL line_cross = checkSightLine(length, &sight_pos); @@ -519,7 +519,7 @@ int daAlink_c::initHookshotUpperAnimeSpeed(int param_0) { mUpperFrameCtrl[2].setFrame(tmp_0); getNowAnmPackUpper(UPPER_2)->setFrame(tmp_0); } else { - setWaterInAnmRate(&mUpperFrameCtrl[2], daAlinkHIO_hookshot_c0::m.mWaitAnmSpeed); + setWaterInAnmRate(&mUpperFrameCtrl[2], mpHIO->mItem.mHookshot.m.mWaitAnmSpeed); } return 1; @@ -545,7 +545,7 @@ void daAlink_c::setHookshotReadyAnime() { if (!checkAttentionLock() && mFastShotTime == 0) { speed = 0.0f; } else { - speed = daAlinkHIO_hookshot_c0::m.mWaitAnmSpeed; + speed = mpHIO->mItem.mHookshot.m.mWaitAnmSpeed; } setUpperAnimeBaseSpeed(dRes_INDEX_ALANM_BCK_HSWAIT_e, speed, 3.0f); @@ -583,7 +583,7 @@ int daAlink_c::checkUpperItemActionHookshot() { setSingleAnimeBaseMorf(anmID, 0.0f); } else if (checkModeFlg(0x40400)) { - setUpperAnimeParam(0x18C, UPPER_2, &daAlinkHIO_hookshot_c0::m.mShootAnm); + setUpperAnimeParam(0x18C, UPPER_2, &mpHIO->mItem.mHookshot.m.mShootAnm); if (checkModeFlg(0x40000)) { mNormalSpeed = 0.0f; @@ -599,7 +599,7 @@ int daAlink_c::checkUpperItemActionHookshot() { mSpeedModifier = tmp_0; mNowAnmPackUpper[2].setRatio(tmp_0); - setSingleAnimeParam(ANM_HOOKSHOT_SHOOT, &daAlinkHIO_hookshot_c0::m.mShootAnm); + setSingleAnimeParam(ANM_HOOKSHOT_SHOOT, &mpHIO->mItem.mHookshot.m.mShootAnm); } if (!checkNoResetFlg3(FLG3_UNK_4)) { @@ -701,7 +701,7 @@ void daAlink_c::setHookshotReturnEnd() { field_0x2060->initOldFrameMorf(3.0f, field_0x30a8, field_0x30aa); } else if (checkHookshotShootAnime()) { setUpperAnimeBaseSpeed( - 0x18D, checkAttentionLock() ? daAlinkHIO_hookshot_c0::m.mWaitAnmSpeed : 0.0f, 3.0f); + 0x18D, checkAttentionLock() ? mpHIO->mItem.mHookshot.m.mWaitAnmSpeed : 0.0f, 3.0f); } mFastShotTime = 0; @@ -863,21 +863,21 @@ void daAlink_c::setHookshotPos() { f32 shoot_speed; f32 length; if (checkLv7BossRoom()) { - return_speed = daAlinkHIO_hookshot_c0::m.mBossReturnSpeed; - shoot_speed = daAlinkHIO_hookshot_c0::m.mBossShootSpeed; - length = daAlinkHIO_hookshot_c0::m.mBossMaxLength; + return_speed = mpHIO->mItem.mHookshot.m.mBossReturnSpeed; + shoot_speed = mpHIO->mItem.mHookshot.m.mBossShootSpeed; + length = mpHIO->mItem.mHookshot.m.mBossMaxLength; } else { - return_speed = daAlinkHIO_hookshot_c0::m.mReturnSpeed; - shoot_speed = daAlinkHIO_hookshot_c0::m.mShootSpeed; - length = daAlinkHIO_hookshot_c0::m.mMaxLength; + return_speed = mpHIO->mItem.mHookshot.m.mReturnSpeed; + shoot_speed = mpHIO->mItem.mHookshot.m.mShootSpeed; + length = mpHIO->mItem.mHookshot.m.mMaxLength; } if (mItemMode == HS_MODE_RETURN_e) { if (targetAc_p != NULL) { if (checkLv7BossRoom()) { - return_speed = daAlinkHIO_hookshot_c0::m.mBossStickReturnSpeed; + return_speed = mpHIO->mItem.mHookshot.m.mBossStickReturnSpeed; } else { - return_speed = daAlinkHIO_hookshot_c0::m.mStickReturnSpeed; + return_speed = mpHIO->mItem.mHookshot.m.mStickReturnSpeed; } } @@ -1209,7 +1209,7 @@ void daAlink_c::hookshotRoofTurn() { BOOL play_sound = false; if (!dComIfGp_checkPlayerStatus0(0, 0x2000)) { f32 max_rise_y = (mIronBallBgChkPos.y + 15.0f) - 1.5f; - f32 min_descend_y = mIronBallBgChkPos.y - daAlinkHIO_hookshot_c0::m.mMaxLength; + f32 min_descend_y = mIronBallBgChkPos.y - mpHIO->mItem.mHookshot.m.mMaxLength; if (checkInputOnR()) { int stick_direction = getDirectionFromAngle(mStickAngle); @@ -1223,7 +1223,7 @@ void daAlink_c::hookshotRoofTurn() { current.angle.y = shape_angle.y; if (stick_direction == DIR_FORWARD) { - current.pos.y += daAlinkHIO_hookshot_c0::m.mRoofHangRiseSpeed * field_0x33a8; + current.pos.y += mpHIO->mItem.mHookshot.m.mRoofHangRiseSpeed * field_0x33a8; if (current.pos.y > max_rise_y) { current.pos.y = max_rise_y; } else { @@ -1231,7 +1231,7 @@ void daAlink_c::hookshotRoofTurn() { play_sound = true; } } else if (stick_direction == DIR_BACKWARD) { - f32 descend_speed = daAlinkHIO_hookshot_c0::m.mRoofHangDecendSpeed * field_0x33ac; + f32 descend_speed = mpHIO->mItem.mHookshot.m.mRoofHangDecendSpeed * field_0x33ac; if (checkBootsOrArmorHeavy()) { descend_speed *= 1.5f; } @@ -1379,7 +1379,7 @@ int daAlink_c::procHookshotSubjectInit() { if (initHookshotUpperAnimeSpeed(1)) { setSingleAnimeBaseSpeed(ANM_ATN_WAIT_LEFT, 0.0f, - daAlinkHIO_hookshot_c0::m.mStartInterpolation); + mpHIO->mItem.mHookshot.m.mStartInterpolation); } dComIfGp_setPlayerStatus0(0, 0x4000); @@ -1422,7 +1422,7 @@ int daAlink_c::procHookshotMoveInit() { } if (initHookshotUpperAnimeSpeed(0)) { - setBlendAtnMoveAnime(daAlinkHIO_hookshot_c0::m.mStartInterpolation); + setBlendAtnMoveAnime(mpHIO->mItem.mHookshot.m.mStartInterpolation); } dComIfGp_setPlayerStatus0(0, 0x4000); @@ -1440,7 +1440,7 @@ int daAlink_c::procHookshotMove() { if (field_0x2f98 != 2) { field_0x2f98 = 2; - blend = daAlinkHIO_basic_c0::m.mBasicInterpolation; + blend = mpHIO->mBasic.m.mBasicInterpolation; } } else { offModeFlg(1); @@ -1529,7 +1529,7 @@ int daAlink_c::procHookshotFly() { } else { mProcVar0.field_0x3008 = 0; f32 temp_f31 = field_0x37d4.abs(); - f32 temp_f30 = daAlinkHIO_hookshot_c0::m.mStickReturnSpeed + spAC.abs(mHookshotTopPos); + f32 temp_f30 = mpHIO->mItem.mHookshot.m.mStickReturnSpeed + spAC.abs(mHookshotTopPos); if (temp_f31 < temp_f30 || mProcVar1.field_0x300a == 0) { setHookshotReturnEnd(); @@ -1665,7 +1665,7 @@ int daAlink_c::procHookshotRoofWaitInit(int param_0, fopAc_ac_c* param_1, int pa } mProcVar2.field_0x300c = 0; - setSingleAnimeParam(anm, &daAlinkHIO_hookshot_c0::m.mRoofHangAnm); + setSingleAnimeParam(anm, &mpHIO->mItem.mHookshot.m.mRoofHangAnm); } else { setHookshotRoofWaitAnime(); mProcVar2.field_0x300c = 1; @@ -1737,7 +1737,7 @@ int daAlink_c::procHookshotRoofWait() { daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl; if (frameCtrl_p->checkAnmEnd() || ((checkInputOnR() || mProcVar5.field_0x3012 != 0 || checkHookshotRoofLv7Boss()) && - frameCtrl_p->getFrame() > daAlinkHIO_hookshot_c0::m.mRoofHangAnm.mCancelFrame)) + frameCtrl_p->getFrame() > mpHIO->mItem.mHookshot.m.mRoofHangAnm.mCancelFrame)) { setHookshotRoofWaitAnime(); mProcVar2.field_0x300c = 1; @@ -1930,7 +1930,7 @@ int daAlink_c::procHookshotWallWaitInit(int param_0, s16 param_1, int param_2) { } mProcVar2.field_0x300c = 0; - setSingleAnimeParam(anm, &daAlinkHIO_hookshot_c0::m.mWallHangAnm); + setSingleAnimeParam(anm, &mpHIO->mItem.mHookshot.m.mWallHangAnm); } else { setHookshotWallWaitAnime(); mProcVar2.field_0x300c = 1; @@ -2003,7 +2003,7 @@ int daAlink_c::procHookshotWallWait() { daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl; if (frameCtrl_p->checkAnmEnd() || ((checkInputOnR() || mProcVar5.field_0x3012 != 0) && - frameCtrl_p->getFrame() > daAlinkHIO_hookshot_c0::m.mWallHangAnm.mCancelFrame)) + frameCtrl_p->getFrame() > mpHIO->mItem.mHookshot.m.mWallHangAnm.mCancelFrame)) { setHookshotWallWaitAnime(); mProcVar2.field_0x300c = 1; diff --git a/src/d/actor/d_a_alink_horse.inc b/src/d/actor/d_a_alink_horse.inc index b965b6e9b5..431ee62947 100644 --- a/src/d/actor/d_a_alink_horse.inc +++ b/src/d/actor/d_a_alink_horse.inc @@ -270,8 +270,8 @@ BOOL daAlink_c::checkHorseSubjectivity() const { } void daAlink_c::setHorseSwordUpAnime() { - setUpperAnimeBaseSpeed(0xCC, daAlinkHIO_horse_c0::m.mSwordUpAnmSpeed, - daAlinkHIO_horse_c0::m.mSwordUpInterpolation); + setUpperAnimeBaseSpeed(0xCC, mpHIO->mHorse.m.mSwordUpAnmSpeed, + mpHIO->mHorse.m.mSwordUpInterpolation); setFaceBck(0xE8, 1, 0xFFFF); } @@ -661,8 +661,8 @@ int daAlink_c::setSyncHorse(int param_0) { s32 dir = getDirectionFromShapeAngle(); if (dir == DIR_FORWARD) { - field_0x3004 = daAlinkHIO_horse_c0::m.mWalkOutProhibitionTime; - setSingleAnimeParam(ANM_WSTARTH, &daAlinkHIO_horse_c0::m.mWalkOutAnm); + field_0x3004 = mpHIO->mHorse.m.mWalkOutProhibitionTime; + setSingleAnimeParam(ANM_WSTARTH, &mpHIO->mHorse.m.mWalkOutAnm); offNoResetFlg1(FLG1_UNK_1000); } } @@ -697,18 +697,18 @@ int daAlink_c::setSyncHorse(int param_0) { if (doTrigger()) { onResetFlg0(RFLG0_COW_GAME_LEASH); voiceStart(Z2SE_AL_V_RUSH_HORSE); - field_0x30a6 = daAlinkHIO_horse_c0::m.mWhipWaitTime; + field_0x30a6 = mpHIO->mHorse.m.mWhipWaitTime; setHorseSwordUpAnime(); - field_0x3002 = -daAlinkHIO_horse_c0::m.mWhipWaitTime; + field_0x3002 = -mpHIO->mHorse.m.mWhipWaitTime; } } } else if (checkHorseDashAccept()) { setDoStatus(9); if (doTrigger()) { - field_0x3004 = daAlinkHIO_horse_c0::m.mWalkOutProhibitionTime; + field_0x3004 = mpHIO->mHorse.m.mWalkOutProhibitionTime; daAlink_ANM anm; - const daAlinkHIO_anm_c* anmparam_p = &daAlinkHIO_horse_c0::m.mWhipAnm; + const daAlinkHIO_anm_c* anmparam_p = &mpHIO->mHorse.m.mWhipAnm; anm = ANM_HORSE_LASH; if (mProcID != PROC_HORSE_CUT && mProcID != PROC_HORSE_CUT_TURN && @@ -718,7 +718,7 @@ int daAlink_c::setSyncHorse(int param_0) { } setUnderAnimeParam(getMainBckData(anm)->m_underID, UNDER_2, - &daAlinkHIO_horse_c0::m.mWhipAnm); + &mpHIO->mHorse.m.mWhipAnm); onNoResetFlg1(FLG1_UNK_1000); horse_p->offPlayerBackRideLash(); voiceStart(Z2SE_AL_V_RUSH_HORSE); @@ -727,13 +727,13 @@ int daAlink_c::setSyncHorse(int param_0) { onNoResetFlg1(FLG1_UNK_800); } - field_0x30a6 = daAlinkHIO_horse_c0::m.mWhipWaitTime; + field_0x30a6 = mpHIO->mHorse.m.mWhipWaitTime; } } } if ((checkHorseWalkStartAnm() && - sp24->getFrame() > daAlinkHIO_horse_c0::m.mHorseWalkStartFrame) || + sp24->getFrame() > mpHIO->mHorse.m.mHorseWalkStartFrame) || (checkHorseWaitLashAnime() && sp20->getFrame() > 13.0f)) { horse_p->onMoveAccept(); @@ -749,22 +749,22 @@ int daAlink_c::setSyncHorse(int param_0) { if (checkHorseSwordUpAnime()) { if (checkHorseZeldaBowMode()) { - resetUpperAnime(UPPER_2, daAlinkHIO_horse_c0::m.mSwordUpInterpolation); + resetUpperAnime(UPPER_2, mpHIO->mHorse.m.mSwordUpInterpolation); field_0x3002 = 0; } else if (field_0x3002 > 0) { field_0x3002--; if (field_0x3002 == 0 || horse_p->speedF < horse_p->getNormalMaxSpeedF()) { - resetUpperAnime(UPPER_2, daAlinkHIO_horse_c0::m.mSwordUpInterpolation); + resetUpperAnime(UPPER_2, mpHIO->mHorse.m.mSwordUpInterpolation); field_0x3002 = 0; } } else { - field_0x30ec = daAlinkHIO_horse_c0::m.mSwordUpInterpolation; + field_0x30ec = mpHIO->mHorse.m.mSwordUpInterpolation; field_0x3002++; if (field_0x3002 == 0) { - resetUpperAnime(UPPER_2, daAlinkHIO_horse_c0::m.mSwordUpInterpolation); - field_0x30ec = daAlinkHIO_horse_c0::m.mSwordUpInterpolation; + resetUpperAnime(UPPER_2, mpHIO->mHorse.m.mSwordUpInterpolation); + field_0x30ec = mpHIO->mHorse.m.mSwordUpInterpolation; } } } @@ -780,7 +780,7 @@ int daAlink_c::setSyncHorse(int param_0) { mProcID != PROC_HORSE_CUT_TURN) || field_0x2f8c == 10) { - if ((var_r28 || field_0x3004 != daAlinkHIO_horse_c0::m.mWalkOutProhibitionTime) && field_0x3004 != 0) { + if ((var_r28 || field_0x3004 != mpHIO->mHorse.m.mWalkOutProhibitionTime) && field_0x3004 != 0) { field_0x3004--; } @@ -828,8 +828,8 @@ int daAlink_c::setSyncBoar(int param_0) { { int direction = getDirectionFromShapeAngle(); if (direction == DIR_FORWARD || direction == DIR_BACKWARD) { - field_0x3004 = daAlinkHIO_horse_c0::m.mWalkOutProhibitionTime; - setSingleAnimeParam(ANM_WSTARTH, &daAlinkHIO_horse_c0::m.mWalkOutAnm); + field_0x3004 = mpHIO->mHorse.m.mWalkOutProhibitionTime; + setSingleAnimeParam(ANM_WSTARTH, &mpHIO->mHorse.m.mWalkOutAnm); } } @@ -995,7 +995,7 @@ void daAlink_c::setHorseSwordUp(int param_0) { (!param_0 && checkEnemyGroup(mTargetedActor) && checkNoResetFlg1(FLG1_UNK_800)))) { setHorseSwordUpAnime(); - field_0x3002 = daAlinkHIO_horse_c0::m.mSwordUpTime; + field_0x3002 = mpHIO->mHorse.m.mSwordUpTime; } offNoResetFlg1(FLG1_UNK_800); @@ -1009,10 +1009,10 @@ int daAlink_c::setRideSubjectAngle(s16 param_0) { if (mTargetedActor != NULL) { var_r30 = 10000; } else { - var_r30 = daAlinkHIO_horse_c0::m.mSubjectiveDownwardMaxAngle; + var_r30 = mpHIO->mHorse.m.mSubjectiveDownwardMaxAngle; } - mBodyAngle.x = cLib_minMaxLimit((s16)mBodyAngle.x, daAlinkHIO_horse_c0::m.mSubjectiveUpwardMaxAngle, var_r30); + mBodyAngle.x = cLib_minMaxLimit((s16)mBodyAngle.x, mpHIO->mHorse.m.mSubjectiveUpwardMaxAngle, var_r30); s16 temp_r29 = shape_angle.y - param_0; if (checkHorseZelda()) { @@ -1057,7 +1057,7 @@ BOOL daAlink_c::checkHorseGetOffWallCheck(cXyz* i_lineStartPos, cXyz* i_lineEndP return TRUE; } - if (getGroundAngle(&mLinkLinChk, param_2) < -cM_deg2s(daAlinkHIO_wlSlide_c0::m.mSlidingAngle)) { + if (getGroundAngle(&mLinkLinChk, param_2) < -cM_deg2s(mpHIO->mWolf.mWlSlide.m.mSlidingAngle)) { return TRUE; } @@ -1222,7 +1222,7 @@ int daAlink_c::setHorseGetOff(int param_0) { if ((checkHorseRide() && horse_p->checkEnemySearch()) || checkHorseLieAnime()) { resetUpperAnime(UPPER_2, -1.0f); procBackJumpInit(0); - current.pos.y += daAlinkHIO_backJump_c0::m.mBackflipSpeedV; + current.pos.y += mpHIO->mBackJump.m.mBackflipSpeedV; } else { return procHorseGetOffInit(param_0); } @@ -1461,13 +1461,13 @@ int daAlink_c::procHorseRide() { field_0x2fc0 = 0; if (checkHorseDashAccept()) { - setSingleAnimeParam(ANM_HORSE_LASH, &daAlinkHIO_horse_c0::m.mWhipAnm); - setUnderAnimeParam(getMainBckData(ANM_HORSE_LASH)->m_underID, UNDER_2, &daAlinkHIO_horse_c0::m.mWhipAnm); + setSingleAnimeParam(ANM_HORSE_LASH, &mpHIO->mHorse.m.mWhipAnm); + setUnderAnimeParam(getMainBckData(ANM_HORSE_LASH)->m_underID, UNDER_2, &mpHIO->mHorse.m.mWhipAnm); onNoResetFlg1(FLG1_UNK_1000); voiceStart(Z2SE_AL_V_RUSH_HORSE); - field_0x30a6 = daAlinkHIO_horse_c0::m.mWhipWaitTime; - field_0x3004 = daAlinkHIO_horse_c0::m.mWalkOutProhibitionTime; + field_0x30a6 = mpHIO->mHorse.m.mWhipWaitTime; + field_0x3004 = mpHIO->mHorse.m.mWalkOutProhibitionTime; var_r26->onPlayerBackRideLash(); } } else if (mProcVar2.field_0x300c == 0 && checkHorseRide()) { @@ -1996,14 +1996,14 @@ int daAlink_c::procHorseCutInit() { field_0x3484 = var_r29->mCutAnm.mCancelFrame; if (checkBoarSingleBattle()) { - setSwordAtParam(dCcG_At_Spl_UNK_0, 1, 1, 2, daAlinkHIO_cut_c0::m.mSwordLengthHorsebackFight, daAlinkHIO_cut_c0::m.mSwordRadiusHorsebackFight); + setSwordAtParam(dCcG_At_Spl_UNK_0, 1, 1, 2, mpHIO->mCut.m.mSwordLengthHorsebackFight, mpHIO->mCut.m.mSwordRadiusHorsebackFight); } else { - setSwordAtParam(dCcG_At_Spl_UNK_0, 1, 1, 2, daAlinkHIO_cut_c0::m.mSwordLengthHorseback, daAlinkHIO_cut_c0::m.mSwordRadiusHorseback); + setSwordAtParam(dCcG_At_Spl_UNK_0, 1, 1, 2, mpHIO->mCut.m.mSwordLengthHorseback, mpHIO->mCut.m.mSwordRadiusHorseback); } voiceStart(Z2SE_AL_V_ATTACK_S); - field_0x307e = daAlinkHIO_cut_c0::m.mComboDuration; + field_0x307e = mpHIO->mCut.m.mComboDuration; mProcVar5.field_0x3012 = 0; field_0x3004 = 0; @@ -2069,7 +2069,7 @@ int daAlink_c::procHorseCut() { int daAlink_c::procHorseCutChargeReadyInit() { commonProcInit(PROC_HORSE_CUT_CHARGE_READY); - setUpperAnimeParam(0x96, UPPER_2, &daAlinkHIO_hoCutCharge_c0::m.mChargeAnm); + setUpperAnimeParam(0x96, UPPER_2, &mpHIO->mCut.mHorseCutCharge.m.mChargeAnm); setFacePriBck(0xE8); field_0x2f96 = 2; @@ -2078,7 +2078,7 @@ int daAlink_c::procHorseCutChargeReadyInit() { resetUnderAnime(UNDER_2, -1.0f); } - mProcVar2.field_0x300c = daAlinkHIO_cut_c0::m.mNormalSwingDuration; + mProcVar2.field_0x300c = mpHIO->mCut.m.mNormalSwingDuration; field_0x3004 = 0; onNoResetFlg1(FLG1_UNK_10000000); return 1; @@ -2130,12 +2130,12 @@ int daAlink_c::procHorseCutTurnInit() { resetUnderAnime(UNDER_2, -1.0f); } - setSingleAnimeParam(ANM_HORSE_CUT_TURN, &daAlinkHIO_hoCutCharge_c0::m.mSpinAnm); + setSingleAnimeParam(ANM_HORSE_CUT_TURN, &mpHIO->mCut.mHorseCutCharge.m.mSpinAnm); setCutType(43); setSyncRide(1); - field_0x3478 = daAlinkHIO_hoCutCharge_c0::m.mSpinAttackRadius; + field_0x3478 = mpHIO->mCut.mHorseCutCharge.m.mSpinAttackRadius; setCylAtParam(getSwordAtType(), dCcG_At_Spl_UNK_1, 3, 1, 3, field_0x3478 * 0.5f, 200.0f); - mProcVar4.field_0x3010 = daAlinkHIO_hoCutCharge_c0::m.mSpinStopTime; + mProcVar4.field_0x3010 = mpHIO->mCut.mHorseCutCharge.m.mSpinStopTime; voiceStart(Z2SE_AL_V_KAITEN); setCutWaterDropEffect(); setHorseZeldaDamage(); @@ -2153,7 +2153,7 @@ int daAlink_c::procHorseCutTurn() { procHorseWaitInit(); field_0x2060->initOldFrameMorf(4.0f, 0, 0x23); } else { - if (temp_r30->getFrame() > daAlinkHIO_hoCutCharge_c0::m.mSpinAnm.mCancelFrame) { + if (temp_r30->getFrame() > mpHIO->mCut.mHorseCutCharge.m.mSpinAnm.mCancelFrame) { if (orderTalk(1)) { return 1; } @@ -2168,7 +2168,7 @@ int daAlink_c::procHorseCutTurn() { } } - if (temp_r30->getFrame() >= daAlinkHIO_hoCutCharge_c0::m.mSpinAttackStartFrame && temp_r30->getFrame() < daAlinkHIO_hoCutCharge_c0::m.mSpinAttackEndFrame) { + if (temp_r30->getFrame() >= mpHIO->mCut.mHorseCutCharge.m.mSpinAttackStartFrame && temp_r30->getFrame() < mpHIO->mCut.mHorseCutCharge.m.mSpinAttackEndFrame) { if (!checkNoResetFlg0(FLG0_UNK_40)) { seStartSwordCut(Z2SE_AL_KAITENGIRI); } @@ -2201,7 +2201,7 @@ int daAlink_c::procHorseDamageInit(dCcD_GObjInf* param_0) { if (checkUnderMove0BckNoArc(ANM_HORSE_STOP) || checkUnderMove0BckNoArc(ANM_HORSE_STOP_TO_STAND) || checkUnderMove0BckNoArc(ANM_HORSE_STAND) || checkUnderMove0BckNoArc(ANM_HORSE_DASH_B) || checkUnderMove0BckNoArc(ANM_HORSE_DASH_A) || checkUnderMove0BckNoArc(ANM_HORSE_DASH_START)) { mProcVar4.field_0x3010 = 0; mProcVar5.field_0x3012 = 0; - setUpperAnimeParam(anmIdx[4], UPPER_2, &daAlinkHIO_damHorse_c0::m.mNoDirectionAnm); + setUpperAnimeParam(anmIdx[4], UPPER_2, &mpHIO->mDamage.mDamHorse.m.mNoDirectionAnm); } else { cXyz* temp_r29 = getDamageVec(param_0); @@ -2209,11 +2209,11 @@ int daAlink_c::procHorseDamageInit(dCcD_GObjInf* param_0) { f32 temp_f1 = cM_scos(shape_angle.y); cXyz spC((temp_r29->z * -temp_f31) + (temp_r29->x * temp_f1), temp_r29->y, (temp_r29->z * temp_f1) + (temp_r29->x * temp_f31)); - mProcVar4.field_0x3010 = cLib_minMaxLimit(cM_atan2s(spC.z, spC.y), -daAlinkHIO_damHorse_c0::m.mFrontBackBodyMaxAngle, daAlinkHIO_damHorse_c0::m.mFrontBackBodyMaxAngle); - mProcVar5.field_0x3012 = cLib_minMaxLimit(cM_atan2s(spC.x, -JMAFastSqrt((spC.y * spC.y) + (spC.z * spC.z))), -daAlinkHIO_damHorse_c0::m.mLeftRightBodyMaxAngle, daAlinkHIO_damHorse_c0::m.mLeftRightBodyMaxAngle); + mProcVar4.field_0x3010 = cLib_minMaxLimit(cM_atan2s(spC.z, spC.y), -mpHIO->mDamage.mDamHorse.m.mFrontBackBodyMaxAngle, mpHIO->mDamage.mDamHorse.m.mFrontBackBodyMaxAngle); + mProcVar5.field_0x3012 = cLib_minMaxLimit(cM_atan2s(spC.x, -JMAFastSqrt((spC.y * spC.y) + (spC.z * spC.z))), -mpHIO->mDamage.mDamHorse.m.mLeftRightBodyMaxAngle, mpHIO->mDamage.mDamHorse.m.mLeftRightBodyMaxAngle); int direction = getDirectionFromAngle(cM_atan2s(-spC.x, -spC.z)); - setUpperAnimeParam(anmIdx[direction], UPPER_2, &daAlinkHIO_damHorse_c0::m.mWithDirectionAnm); + setUpperAnimeParam(anmIdx[direction], UPPER_2, &mpHIO->mDamage.mDamHorse.m.mWithDirectionAnm); } setFacePriBck(0xEA); @@ -2526,7 +2526,7 @@ int daAlink_c::procHorseBottleDrinkInit(u16 param_0) { mRideAcKeep.getActor()->speedF = 0.0f; } - setUpperAnimeParam(getMainBckData(ANM_BOTTLE_DRINK_START)->m_upperID, UPPER_2, &daAlinkHIO_bottle_c0::m.mStartDrinkAnm); + setUpperAnimeParam(getMainBckData(ANM_BOTTLE_DRINK_START)->m_upperID, UPPER_2, &mpHIO->mItem.mBottle.m.mStartDrinkAnm); setFacePriAnime(ANM_BOTTLE_DRINK_START); keepItemData(); @@ -2579,7 +2579,7 @@ int daAlink_c::procHorseKandelaarPourInit() { mRideAcKeep.getActor()->speedF = 0.0f; } - setUpperAnimeParam(getMainBckData(ANM_OIL_BOTTLE_POUR_START)->m_upperID, UPPER_2, &daAlinkHIO_kandelaar_c0::m.mBeginUnkAnm); + setUpperAnimeParam(getMainBckData(ANM_OIL_BOTTLE_POUR_START)->m_upperID, UPPER_2, &mpHIO->mItem.mLantern.m.mBeginUnkAnm); commonKandelaarPourInit(); return 1; } diff --git a/src/d/actor/d_a_alink_hvyboots.inc b/src/d/actor/d_a_alink_hvyboots.inc index 9465d66435..a1fc4f7680 100644 --- a/src/d/actor/d_a_alink_hvyboots.inc +++ b/src/d/actor/d_a_alink_hvyboots.inc @@ -260,7 +260,7 @@ int daAlink_c::checkMagneBootsFly() { int daAlink_c::procBootsEquipInit() { commonProcInit(PROC_BOOTS_EQUIP); - setSingleAnimeParam(ANM_HVY_BOOTS_PUT_ON, &daAlinkHIO_magneBoots_c0::m.mEquipAnm); + setSingleAnimeParam(ANM_HVY_BOOTS_PUT_ON, &mpHIO->mItem.mIronBoots.m.mEquipAnm); if (checkUpperReadyThrowAnime()) { resetUpperAnime(UPPER_2, -1.0f); @@ -287,7 +287,7 @@ int daAlink_c::procBootsEquip() { } offModeFlg(2); - } else if (frameCtrl_p->getFrame() > daAlinkHIO_magneBoots_c0::m.mEquipAnm.mCancelFrame) { + } else if (frameCtrl_p->getFrame() > mpHIO->mItem.mIronBoots.m.mEquipAnm.mCancelFrame) { onModeFlg(4); checkNextAction(1); } else if (frameCtrl_p->getFrame() >= 5.0f) { @@ -338,7 +338,7 @@ int daAlink_c::procMagneBootsFlyInit() { } field_0x3478 = 0.0f; - field_0x594 = daAlinkHIO_magneBoots_c0::m.mMaxMagneFlySpeed; + field_0x594 = mpHIO->mItem.mIronBoots.m.mMaxMagneFlySpeed; mProcVar2.field_0x300c = 0; voiceStart(Z2SE_AL_V_MAGNET_CAUGHT); return 1; @@ -346,7 +346,7 @@ int daAlink_c::procMagneBootsFlyInit() { int daAlink_c::procMagneBootsFly() { - field_0x3478 += daAlinkHIO_magneBoots_c0::m.mMagneFlyAccelRate; + field_0x3478 += mpHIO->mItem.mIronBoots.m.mMagneFlyAccelRate; if (field_0x3478 > field_0x594) { field_0x3478 = field_0x594; } diff --git a/src/d/actor/d_a_alink_iceleaf.inc b/src/d/actor/d_a_alink_iceleaf.inc index a9582b1edb..b65645f7ef 100644 --- a/src/d/actor/d_a_alink_iceleaf.inc +++ b/src/d/actor/d_a_alink_iceleaf.inc @@ -114,7 +114,7 @@ int daAlink_c::boardCommon(BOOL i_canMove) { } } } else if (temp_r26 < 0x2000 && field_0x2f8c == 0xB && mProcID == PROC_BOARD_WAIT && !checkModeFlg(2) && mLinkAcch.ChkGroundHit() && (mProcVar3.field_0x300e < field_0x3122) && (checkUnderMove0BckNoArc(ANM_RIDE_WAIT) || checkUnderMove0BckNoArc(ANM_RIDE_FRONT))) { - if (mNormalSpeed <= daAlinkHIO_board_c0::m.mMaxPushSpeed) { + if (mNormalSpeed <= mpHIO->mItem.mBoard.m.mMaxPushSpeed) { return procBoardRowInit(); } } @@ -228,9 +228,18 @@ int daAlink_c::boardCommon(BOOL i_canMove) { } void daAlink_c::setCommonBoardAnime(BOOL i_is_ride_front) { - setDoubleAnime(0.0f, daAlinkHIO_board_c0::m.mStandAnmSpeed, 1.0f, - i_is_ride_front ? ANM_RIDE_FRONT : ANM_RIDE_WAIT, ANM_RIDE_STOP, - 11, daAlinkHIO_board_c0::m.mStandInterpolation); + setDoubleAnime( + 0.0f, + // Fakematch, should be + // mpHIO->mItem.mBoard.m.mStandAnmSpeed, + daAlinkHIO_board_c0::m.mStandAnmSpeed, + 1.0f, + i_is_ride_front ? ANM_RIDE_FRONT : ANM_RIDE_WAIT, ANM_RIDE_STOP, + 11, + // Fakematch, should be + // mpHIO->mItem.mBoard.m.mStandInterpolation + daAlinkHIO_board_c0::m.mStandInterpolation + ); } int daAlink_c::checkNextActionBoard() { @@ -270,20 +279,20 @@ int daAlink_c::commonProcBoardInit(daAlink_c::daAlink_PROC i_procID) { } f32 daAlink_c::getBoardRowAnmSpeed() { - return daAlinkHIO_board_c0::m.mPushAnmMinSpeed + - ((daAlinkHIO_board_c0::m.mPushAnmMaxSpeed - daAlinkHIO_board_c0::m.mPushAnmMinSpeed) * - (1.0f - (mNormalSpeed / daAlinkHIO_board_c0::m.mFastPushSwitchSpeed))); + return mpHIO->mItem.mBoard.m.mPushAnmMinSpeed + + ((mpHIO->mItem.mBoard.m.mPushAnmMaxSpeed - mpHIO->mItem.mBoard.m.mPushAnmMinSpeed) * + (1.0f - (mNormalSpeed / mpHIO->mItem.mBoard.m.mFastPushSwitchSpeed))); } void daAlink_c::setBoardLandAnime() { - setSingleAnimeParam(ANM_RIDE_JUMP_LAND, &daAlinkHIO_board_c0::m.mLandAnm); + setSingleAnimeParam(ANM_RIDE_JUMP_LAND, &mpHIO->mItem.mBoard.m.mLandAnm); seStartOnlyReverb(Z2SE_AL_SNOBO_LAND); dComIfGp_getVibration().StartShock(2, 15, cXyz(0.0f, 1.0f, 0.0f)); } int daAlink_c::procBoardRideInit() { commonProcInit(PROC_BOARD_RIDE); - setSingleAnime(ANM_VJUMP_START, daAlinkHIO_smallJump_c0::m.mSmallJumpAnm.mSpeed, 6.0f, daAlinkHIO_smallJump_c0::m.mSmallJumpAnm.mEndFrame, daAlinkHIO_smallJump_c0::m.mSmallJumpAnm.mInterpolation); + setSingleAnime(ANM_VJUMP_START, mpHIO->mWallHang.mSmallJump.m.mSmallJumpAnm.mSpeed, 6.0f, mpHIO->mWallHang.mSmallJump.m.mSmallJumpAnm.mEndFrame, mpHIO->mWallHang.mSmallJump.m.mSmallJumpAnm.mInterpolation); setHeavyBoots(0); if (mEquipItem != 0x103) { @@ -355,17 +364,17 @@ int daAlink_c::procBoardWaitInit(fopAc_ac_c* i_board) { ((daObjIceLeaf_c*)i_board)->onRide(); if (prev_ride) { - f32 speed_ratio = mNormalSpeed / daAlinkHIO_move_c0::m.mMaxSpeed; + f32 speed_ratio = mNormalSpeed / mpHIO->mMove.m.mMaxSpeed; if (speed_ratio > 1.0f) { speed_ratio = 1.0f; } - mNormalSpeed = daAlinkHIO_board_c0::m.mStartMinSpeed + (daAlinkHIO_board_c0::m.mStartAddSpeed * speed_ratio); + mNormalSpeed = mpHIO->mItem.mBoard.m.mStartMinSpeed + (mpHIO->mItem.mBoard.m.mStartAddSpeed * speed_ratio); } else { mNormalSpeed = 0.0f; } - field_0x594 = daAlinkHIO_board_c0::m.mMaxSpeed; + field_0x594 = mpHIO->mItem.mBoard.m.mMaxSpeed; mProcVar2.field_0x300c = 0; mProcVar3.field_0x300e = 0; setCommonBoardAnime(FALSE); @@ -394,7 +403,7 @@ int daAlink_c::procBoardWait() { mProcVar1.mBoardSwordChargeTime++; - if (mProcVar1.mBoardSwordChargeTime == daAlinkHIO_cut_c0::m.mNormalSwingDuration) { + if (mProcVar1.mBoardSwordChargeTime == mpHIO->mCut.m.mNormalSwingDuration) { setSwordVoiceSe(Z2SE_AL_V_TAME); } @@ -424,7 +433,7 @@ int daAlink_c::procBoardWait() { blend_ratio = 0.0f; } - setDoubleAnime(0.0f, daAlinkHIO_board_c0::m.mSitAnmSpeed, 1.0f, ANM_RIDE_CROUCH, ANM_RIDE_STOP, 0xB, daAlinkHIO_board_c0::m.mSitInterpolation); + setDoubleAnime(0.0f, mpHIO->mItem.mBoard.m.mSitAnmSpeed, 1.0f, ANM_RIDE_CROUCH, ANM_RIDE_STOP, 0xB, mpHIO->mItem.mBoard.m.mSitInterpolation); setDoubleAnimeBlendRatio(blend_ratio); mProcVar5.field_0x3012 = 1; } @@ -453,7 +462,7 @@ int daAlink_c::procBoardWait() { int daAlink_c::procBoardRowInit() { commonProcInit(PROC_BOARD_ROW); - setSingleAnimeBaseSpeed(ANM_RIDE_KICK, getBoardRowAnmSpeed(), daAlinkHIO_board_c0::m.mPushInterpolation); + setSingleAnimeBaseSpeed(ANM_RIDE_KICK, getBoardRowAnmSpeed(), mpHIO->mItem.mBoard.m.mPushInterpolation); onResetFlg1(RFLG1_UNK_40); mProcVar0.field_0x3008 = 4; mProcVar4.field_0x3010 = 1; @@ -475,17 +484,17 @@ int daAlink_c::procBoardRow() { daPy_frameCtrl_c* frame_ctrl = &mUnderFrameCtrl[0]; if (frame_ctrl->checkPass(0.0f)) { - if (checkInputOnR() && abs(mStickAngle) < 0x2000 && !checkModeFlg(2) && mLinkAcch.ChkGroundHit() && mProcVar3.field_0x300e < field_0x3122 && mNormalSpeed <= daAlinkHIO_board_c0::m.mMaxPushSpeed) { + if (checkInputOnR() && abs(mStickAngle) < 0x2000 && !checkModeFlg(2) && mLinkAcch.ChkGroundHit() && mProcVar3.field_0x300e < field_0x3122 && mNormalSpeed <= mpHIO->mItem.mBoard.m.mMaxPushSpeed) { mProcVar5.field_0x3012 = 0; } else { setCommonBoardAnime(FALSE); procBoardWaitInit(NULL); } } else if (frame_ctrl->checkPass(7.0f)) { - mNormalSpeed += daAlinkHIO_board_c0::m.mPushAccel; + mNormalSpeed += mpHIO->mItem.mBoard.m.mPushAccel; - if (mNormalSpeed > daAlinkHIO_board_c0::m.mMaxPushSpeed) { - mNormalSpeed = daAlinkHIO_board_c0::m.mMaxPushSpeed; + if (mNormalSpeed > mpHIO->mItem.mBoard.m.mMaxPushSpeed) { + mNormalSpeed = mpHIO->mItem.mBoard.m.mMaxPushSpeed; } } } @@ -495,7 +504,7 @@ int daAlink_c::procBoardRow() { int daAlink_c::procBoardTurnInit() { commonProcInit(PROC_BOARD_TURN); - setSingleAnime(ANM_RIDE_JUMP, 0.0f, 1.0f, daAlinkHIO_board_c0::m.mAirborneAnm.mEndFrame, 3.0f); + setSingleAnime(ANM_RIDE_JUMP, 0.0f, 1.0f, mpHIO->mItem.mBoard.m.mAirborneAnm.mEndFrame, 3.0f); mNormalSpeed = 0.0f; mProcVar4.field_0x3010 = shape_angle.y + 0x8000; @@ -512,7 +521,7 @@ int daAlink_c::procBoardTurn() { if (mProcVar5.field_0x3012 == 0) { if (field_0x2060->getOldFrameRate() < 0.01f) { mProcVar5.field_0x3012 = 1; - setSingleAnime(ANM_RIDE_JUMP, 1.5f, 1.5f + mUnderFrameCtrl[0].getStart(), daAlinkHIO_board_c0::m.mAirborneAnm.mEndFrame, -1.0f); + setSingleAnime(ANM_RIDE_JUMP, 1.5f, 1.5f + mUnderFrameCtrl[0].getStart(), mpHIO->mItem.mBoard.m.mAirborneAnm.mEndFrame, -1.0f); } } else if (mProcVar1.field_0x300a == 0) { if (mUnderFrameCtrl[0].checkPass(6.0f)) { @@ -541,12 +550,12 @@ int daAlink_c::procBoardJumpInit(f32 i_jump_speed, BOOL i_no_speed_set) { mProcVar5.field_0x3012 = 1; setSingleAnime(ANM_RIDE_JUMP, 0.0f, - daAlinkHIO_board_c0::m.mAirborneAnm.mStartFrame, - daAlinkHIO_board_c0::m.mAirborneAnm.mEndFrame, - daAlinkHIO_board_c0::m.mAirborneAnm.mInterpolation); + mpHIO->mItem.mBoard.m.mAirborneAnm.mStartFrame, + mpHIO->mItem.mBoard.m.mAirborneAnm.mEndFrame, + mpHIO->mItem.mBoard.m.mAirborneAnm.mInterpolation); if (!i_no_speed_set) { - speed.y = cLib_minMaxLimit(i_jump_speed, daAlinkHIO_board_c0::m.mMinJumpSpeedY, daAlinkHIO_board_c0::m.mMaxJumpSpeedY); + speed.y = cLib_minMaxLimit(i_jump_speed, mpHIO->mItem.mBoard.m.mMinJumpSpeedY, mpHIO->mItem.mBoard.m.mMaxJumpSpeedY); } mProcVar4.field_0x3010 = 0; @@ -564,9 +573,9 @@ int daAlink_c::procBoardJump() { setBoardLandAnime(); procBoardWaitInit(NULL); } else if (mProcVar5.field_0x3012 != 0 && mProcVar4.field_0x3010 == 0 && field_0x2060->getOldFrameRate() < 0.0099999998f) { - setSingleAnime(ANM_RIDE_JUMP, daAlinkHIO_board_c0::m.mAirborneAnm.mSpeed, - daAlinkHIO_board_c0::m.mAirborneAnm.mStartFrame, - daAlinkHIO_board_c0::m.mAirborneAnm.mEndFrame, + setSingleAnime(ANM_RIDE_JUMP, mpHIO->mItem.mBoard.m.mAirborneAnm.mSpeed, + mpHIO->mItem.mBoard.m.mAirborneAnm.mStartFrame, + mpHIO->mItem.mBoard.m.mAirborneAnm.mEndFrame, -1.0f); mProcVar4.field_0x3010 = 1; } @@ -608,7 +617,7 @@ int daAlink_c::procBoardCutInit() { bool cut_charge = false; if (checkUnderMove0BckNoArc(ANM_RIDE_CUT_TURN_CHARGE)) { - if (mUnderFrameCtrl[0].getFrame() > daAlinkHIO_cut_c0::m.mNormalSwingDuration) { + if (mUnderFrameCtrl[0].getFrame() > mpHIO->mCut.m.mNormalSwingDuration) { cut_charge = true; } } @@ -635,10 +644,10 @@ int daAlink_c::procBoardCut() { int daAlink_c::procBoardCutTurnInit() { commonProcBoardInit(PROC_BOARD_CUT_TURN); - setSingleAnimeParam(ANM_RIDE_CUT_TURN, &daAlinkHIO_board_c0::m.mSpinAnm); + setSingleAnimeParam(ANM_RIDE_CUT_TURN, &mpHIO->mItem.mBoard.m.mSpinAnm); - if (daAlinkHIO_board_c0::m.mSpinAnm.mStartFrame >= 3.0f) { - speed.y = cLib_minMaxLimit(mNormalSpeed * -cM_ssin(shape_angle.x), daAlinkHIO_board_c0::m.mSpinMinJumpSpeedY, daAlinkHIO_board_c0::m.mSpinMaxJumpSpeedY); + if (mpHIO->mItem.mBoard.m.mSpinAnm.mStartFrame >= 3.0f) { + speed.y = cLib_minMaxLimit(mNormalSpeed * -cM_ssin(shape_angle.x), mpHIO->mItem.mBoard.m.mSpinMinJumpSpeedY, mpHIO->mItem.mBoard.m.mSpinMaxJumpSpeedY); if (!checkModeFlg(2)) { seStartOnlyReverb(Z2SE_AL_SNOBO_JUMP); } @@ -653,7 +662,7 @@ int daAlink_c::procBoardCutTurnInit() { mProcVar5.field_0x3012 = 0; resetCombo(1); - field_0x3478 = daAlinkHIO_cutTurn_c0::m.mAttackRadius; + field_0x3478 = mpHIO->mCut.mCutTurn.m.mAttackRadius; field_0x347c = 0.5f * field_0x3478; initCutTurnAt(field_0x347c, 3); @@ -691,10 +700,10 @@ int daAlink_c::procBoardCutTurn() { if (frame_ctrl->getFrame() >= 3.0f) { speed.y = mNormalSpeed * -cM_ssin(shape_angle.x); - if (speed.y < daAlinkHIO_board_c0::m.mSpinMinJumpSpeedY) { - speed.y = daAlinkHIO_board_c0::m.mSpinMinJumpSpeedY; - } else if (speed.y > daAlinkHIO_board_c0::m.mSpinMaxJumpSpeedY) { - speed.y = daAlinkHIO_board_c0::m.mSpinMaxJumpSpeedY; + if (speed.y < mpHIO->mItem.mBoard.m.mSpinMinJumpSpeedY) { + speed.y = mpHIO->mItem.mBoard.m.mSpinMinJumpSpeedY; + } else if (speed.y > mpHIO->mItem.mBoard.m.mSpinMaxJumpSpeedY) { + speed.y = mpHIO->mItem.mBoard.m.mSpinMaxJumpSpeedY; } setJumpMode(); diff --git a/src/d/actor/d_a_alink_ironball.inc b/src/d/actor/d_a_alink_ironball.inc index 58ac7642b1..a716b8587e 100644 --- a/src/d/actor/d_a_alink_ironball.inc +++ b/src/d/actor/d_a_alink_ironball.inc @@ -43,8 +43,8 @@ bool daAlink_c::checkIronBallGroundStop() const { void daAlink_c::setIronBallWaitUpperAnime(int param_0) { if (!checkIronBallWaitAnime() && !checkIronBallPreSwingAnime() && (mItemVar0.field_0x3018 == 0 || mItemVar0.field_0x3018 == 8) && (param_0 || checkNoUpperAnime())) { - setUpperAnimeBaseSpeed(0x19C, daAlinkHIO_ironBall_c0::m.mWaitAnmSpeed, - daAlinkHIO_basic_c0::m.mBasicInterpolation); + setUpperAnimeBaseSpeed(0x19C, mpHIO->mItem.mIronBall.m.mWaitAnmSpeed, + mpHIO->mBasic.m.mBasicInterpolation); setFacePriBck(0xE8); field_0x2f96 = 254; field_0x2f97 = 5; @@ -118,7 +118,7 @@ void daAlink_c::setIronBallModel() { field_0xFB8.SetAtSe(dCcD_SE_HAMMER); field_0xFB8.SetAtAtp(2); field_0xFB8.SetAtMtrl(dCcD_MTRL_NONE); - field_0xFB8.SetR(daAlinkHIO_ironBall_c0::m.mAttackRadius); + field_0xFB8.SetR(mpHIO->mItem.mIronBall.m.mAttackRadius); csXyz* var_r28 = mIronBallChainAngle; for (int i = 0; i < 102; i++, var_r28++) { @@ -224,7 +224,7 @@ void daAlink_c::setIronBallChainPos() { sp28C = *var_r29; *var_r29 = *var_r27 + (sp2A4 * 10.0f); - *var_r26 = (*var_r29 - sp28C) * daAlinkHIO_ironBall_c0::m.mChainSpeedRate; + *var_r26 = (*var_r29 - sp28C) * mpHIO->mItem.mIronBall.m.mChainSpeedRate; var_r27 = var_r29; } } else if (mItemVar0.field_0x3018 == 7) { @@ -232,20 +232,20 @@ void daAlink_c::setIronBallChainPos() { var_r26 = &field_0x3848[mItemMode]; var_r27 = var_r29 + 1; - sp38 = mItemMode * daAlinkHIO_ironBall_c0::m.mReturnChainRate; + sp38 = mItemMode * mpHIO->mItem.mIronBall.m.mReturnChainRate; sp34 = sp38; for (i = mItemMode; i >= 0; i--, var_r29--, var_r26--) { sp2A4 = (*var_r29 - *var_r27) + *var_r26; if (i == 0) { - sp2A4.y += daAlinkHIO_ironBall_c0::m.mReturnBallGravity; + sp2A4.y += mpHIO->mItem.mIronBall.m.mReturnBallGravity; } else { - sp2A4.y += daAlinkHIO_ironBall_c0::m.mChainGravity; + sp2A4.y += mpHIO->mItem.mIronBall.m.mChainGravity; } if (sp38 >= 0) { - sp2A4.y += daAlinkHIO_ironBall_c0::m.mReturnChainAccelY; + sp2A4.y += mpHIO->mItem.mIronBall.m.mReturnChainAccelY; sp38--; } @@ -271,9 +271,9 @@ void daAlink_c::setIronBallChainPos() { for (i = 0; i < mItemMode; i++, var_r29++, var_r26++) { sp28C = *var_r29; sp2A4 = (*var_r29 - *var_r27) + *var_r26; - sp2A4.y += daAlinkHIO_ironBall_c0::m.mChainGravity; + sp2A4.y += mpHIO->mItem.mIronBall.m.mChainGravity; if (i >= mItemMode - sp34) { - sp2A4.y += daAlinkHIO_ironBall_c0::m.mReturnChainAccelY; + sp2A4.y += mpHIO->mItem.mIronBall.m.mReturnChainAccelY; } sp280 = sp2A4; @@ -286,7 +286,7 @@ void daAlink_c::setIronBallChainPos() { } var_r27 = var_r29; - *var_r26 = (*var_r29 - sp28C) * daAlinkHIO_ironBall_c0::m.mChainSpeedRate; + *var_r26 = (*var_r29 - sp28C) * mpHIO->mItem.mIronBall.m.mChainSpeedRate; } } else if (mItemVar0.field_0x3018 == 1 || mItemVar0.field_0x3018 == 3 || mItemVar0.field_0x3018 == 4) { daPy_frameCtrl_c* sp30 = &mUnderFrameCtrl[0]; @@ -304,8 +304,8 @@ void daAlink_c::setIronBallChainPos() { sp38 = 1000; } else if (mItemVar0.field_0x3018 == 4) { Vec sp268 = {0.0f, 0.0f, 0.0f}; - sp268.y = daAlinkHIO_ironBall_c0::m.mThrowChainAccelY; - sp268.z = daAlinkHIO_ironBall_c0::m.mThrowChainAccelZ; + sp268.y = mpHIO->mItem.mIronBall.m.mThrowChainAccelY; + sp268.z = mpHIO->mItem.mIronBall.m.mThrowChainAccelZ; mDoMtx_stack_c::ZXYrotS(mBodyAngle.x, shape_angle.y, 0); mDoMtx_stack_c::multVec(&sp268, &sp298); @@ -324,9 +324,9 @@ void daAlink_c::setIronBallChainPos() { sp2A4 = (*var_r29 - *var_r27) + *var_r26; if (i == 0) { - sp2A4.y += daAlinkHIO_ironBall_c0::m.mBallGravity; + sp2A4.y += mpHIO->mItem.mIronBall.m.mBallGravity; } else { - sp2A4.y += daAlinkHIO_ironBall_c0::m.mChainGravity; + sp2A4.y += mpHIO->mItem.mIronBall.m.mChainGravity; } if (sp38 >= 0) { @@ -343,12 +343,12 @@ void daAlink_c::setIronBallChainPos() { *var_r29 = *var_r27 + (sp280 * 10.0f); } - *var_r26 = (*var_r29 - sp28C) * daAlinkHIO_ironBall_c0::m.mChainSpeedRate; + *var_r26 = (*var_r29 - sp28C) * mpHIO->mItem.mIronBall.m.mChainSpeedRate; var_r27 = var_r29; } sp2A4 = mIronBallCenterPos - *mIronBallChainPos; - sp2A4.y += daAlinkHIO_ironBall_c0::m.mBallGravity; + sp2A4.y += mpHIO->mItem.mIronBall.m.mBallGravity; if (sp38 >= 0) { sp2A4 += sp298; @@ -359,9 +359,9 @@ void daAlink_c::setIronBallChainPos() { } else { f32 var_f30; if (mItemVar0.field_0x3018 == 4 || mItemVar0.field_0x3018 == 5) { - var_f30 = daAlinkHIO_ironBall_c0::m.mThrowChainGravity; + var_f30 = mpHIO->mItem.mIronBall.m.mThrowChainGravity; } else { - var_f30 = daAlinkHIO_ironBall_c0::m.mChainGravity; + var_f30 = mpHIO->mItem.mIronBall.m.mChainGravity; } var_r29 = mIronBallChainPos + 1; @@ -410,7 +410,7 @@ void daAlink_c::setIronBallChainPos() { } var_r27 = var_r29; - *var_r26 = (*var_r29 - sp28C) * daAlinkHIO_ironBall_c0::m.mChainSpeedRate; + *var_r26 = (*var_r29 - sp28C) * mpHIO->mItem.mIronBall.m.mChainSpeedRate; } } @@ -534,10 +534,10 @@ void daAlink_c::setIronBallPos() { if (!checkIronBallReturnChange()) { f32 var_f29; - f32 var_f28 = daAlinkHIO_ironBall_c0::m.mBallMaxFallSpeed; + f32 var_f28 = mpHIO->mItem.mIronBall.m.mBallMaxFallSpeed; if (mItemVar0.field_0x3018 == 5) { - var_f29 = daAlinkHIO_ironBall_c0::m.mThrowBallGravity; + var_f29 = mpHIO->mItem.mIronBall.m.mThrowBallGravity; f32 sp1C; if (fopAcM_getWaterY(mIronBallChainPos, &sp1C) && sp1C > mIronBallChainPos->y) { @@ -549,12 +549,12 @@ void daAlink_c::setIronBallPos() { var_f28 *= 0.5f; } } else { - var_f29 = daAlinkHIO_ironBall_c0::m.mBallGravity; + var_f29 = mpHIO->mItem.mIronBall.m.mBallGravity; } sp10C = mIronBallCenterPos + (*field_0x3848 * 1.25f); - s16 temp_r27 = daAlinkHIO_ironBall_c0::m.mThrowChainNum + 0.1f * mIronBallChainPos->abs(mHookshotTopPos); + s16 temp_r27 = mpHIO->mItem.mIronBall.m.mThrowChainNum + 0.1f * mIronBallChainPos->abs(mHookshotTopPos); if (temp_r27 > 100) { mItemMode = 100; } else if (mItemMode < temp_r27) { @@ -700,7 +700,7 @@ void daAlink_c::setIronBallPos() { mItemVar0.field_0x3018 = 6; } else if (field_0x3494 < 0.0f) { setIronBallReturn(0); - } else if (field_0x3848->y < daAlinkHIO_ironBall_c0::m.field_0x6C) { + } else if (field_0x3848->y < mpHIO->mItem.mIronBall.m.field_0x6C) { setIronBallReturn(1); } } else if (mItemVar0.field_0x3018 == 6 && var_r26 != 0) { @@ -713,9 +713,9 @@ void daAlink_c::setIronBallPos() { f32 sp18; int var_r22; if (fopAcM_getWaterY(mIronBallChainPos, &sp18) && sp18 > mIronBallChainPos->y) { - var_r22 = daAlinkHIO_ironBall_c0::m.mReturnChainRemoveNum - 1; + var_r22 = mpHIO->mItem.mIronBall.m.mReturnChainRemoveNum - 1; } else { - var_r22 = daAlinkHIO_ironBall_c0::m.mReturnChainRemoveNum; + var_r22 = mpHIO->mItem.mIronBall.m.mReturnChainRemoveNum; } if (mItemMode > 6) { @@ -810,9 +810,9 @@ BOOL daAlink_c::checkIronBallAnime() const { void daAlink_c::setIronBallReadyAnime() { resetUpperAnime(UPPER_2, -1.0f); - setSingleAnime(ANM_IRONBALL_ATTACK, daAlinkHIO_ironBall_c0::m.mPrepareAnmSpeed, 0.0f, - 0x15, daAlinkHIO_ironBall_c0::m.mPrepareInterpolation); - setUpperAnimeBaseSpeed(0x19A, daAlinkHIO_ironBall_c0::m.mPrepareAnmSpeed, -1.0f); + setSingleAnime(ANM_IRONBALL_ATTACK, mpHIO->mItem.mIronBall.m.mPrepareAnmSpeed, 0.0f, + 0x15, mpHIO->mItem.mIronBall.m.mPrepareInterpolation); + setUpperAnimeBaseSpeed(0x19A, mpHIO->mItem.mIronBall.m.mPrepareAnmSpeed, -1.0f); mNowAnmPackUpper[2].setRatio(0.0f); voiceStart(Z2SE_AL_V_SWING_IB); @@ -828,7 +828,7 @@ void daAlink_c::setIronBallReadyAnime() { void daAlink_c::setIronBallBaseAnime() { if (checkIronBallSwingAnime() && !checkUnderMove0BckNoArc(ANM_IRONBALL_TURN)) { - setSingleAnimeBaseSpeed(ANM_IRONBALL_TURN, daAlinkHIO_ironBall_c0::m.mTurnAnmSpeed, daAlinkHIO_ironBall_c0::m.mTurnInterpolation); + setSingleAnimeBaseSpeed(ANM_IRONBALL_TURN, mpHIO->mItem.mIronBall.m.mTurnAnmSpeed, mpHIO->mItem.mIronBall.m.mTurnInterpolation); mUnderFrameCtrl[0].setFrame(mUpperFrameCtrl[2].getFrame()); getNowAnmPackUnder(UNDER_0)->setFrame(mUpperFrameCtrl[2].getFrame()); } @@ -847,11 +847,11 @@ BOOL daAlink_c::checkUpperItemActionIronBall() { if (frameCtrl->checkAnmEnd()) { if (checkModeFlg(1)) { - setSingleAnimeBaseSpeed(ANM_IRONBALL_TURN, daAlinkHIO_ironBall_c0::m.mTurnAnmSpeed, daAlinkHIO_ironBall_c0::m.mTurnInterpolation); + setSingleAnimeBaseSpeed(ANM_IRONBALL_TURN, mpHIO->mItem.mIronBall.m.mTurnAnmSpeed, mpHIO->mItem.mIronBall.m.mTurnInterpolation); } u16 upperId = getMainBckData(ANM_IRONBALL_TURN)->m_upperID; - setUpperAnimeBaseSpeed(upperId, daAlinkHIO_ironBall_c0::m.mTurnAnmSpeed, daAlinkHIO_ironBall_c0::m.mTurnInterpolation); + setUpperAnimeBaseSpeed(upperId, mpHIO->mItem.mIronBall.m.mTurnAnmSpeed, mpHIO->mItem.mIronBall.m.mTurnInterpolation); mItemVar0.field_0x3018 = 2; seStartOnlyReverb(Z2SE_AL_IB_SWING); return 1; @@ -960,7 +960,7 @@ int daAlink_c::procIronBallMove() { if (field_0x2f98 != 2) { field_0x2f98 = 2; - var_f31 = daAlinkHIO_basic_c0::m.mBasicInterpolation; + var_f31 = mpHIO->mBasic.m.mBasicInterpolation; } } else { offModeFlg(1); @@ -980,7 +980,7 @@ int daAlink_c::procIronBallMove() { int daAlink_c::procIronBallThrowInit() { commonProcInit(PROC_IRON_BALL_THROW); - setSingleAnime(ANM_IRONBALL_ATTACK, daAlinkHIO_ironBall_c0::m.mPreThrowAnmSpeed, 22.0f, 30, daAlinkHIO_ironBall_c0::m.mPreThrowAnmInterpolation); + setSingleAnime(ANM_IRONBALL_ATTACK, mpHIO->mItem.mIronBall.m.mPreThrowAnmSpeed, 22.0f, 30, mpHIO->mItem.mIronBall.m.mPreThrowAnmInterpolation); field_0x2f99 = 12; field_0x3588 = l_ironBallBaseAnime; mNormalSpeed = 0.0f; @@ -1013,7 +1013,7 @@ int daAlink_c::procIronBallThrow() { mItemVar0.field_0x3018 = 5; mDoMtx_stack_c::ZXYrotS(mBodyAngle.x, shape_angle.y, 0); - Vec sp8 = {0.0f, daAlinkHIO_ironBall_c0::m.mThrowSpeedY, daAlinkHIO_ironBall_c0::m.mThrowSpeedZ}; + Vec sp8 = {0.0f, mpHIO->mItem.mIronBall.m.mThrowSpeedY, mpHIO->mItem.mIronBall.m.mThrowSpeedZ}; mDoMtx_stack_c::multVec(&sp8, field_0x3848); field_0x3022 = 0; } @@ -1021,7 +1021,7 @@ int daAlink_c::procIronBallThrow() { if (checkAnmEnd(temp_r29)) { if (mProcVar2.field_0x300c == 0) { mProcVar2.field_0x300c = 1; - setSingleAnimeBaseSpeed(ANM_IRONBALL_THROW, daAlinkHIO_ironBall_c0::m.mThrowAnmSpeed, daAlinkHIO_ironBall_c0::m.mThrowInterpolation); + setSingleAnimeBaseSpeed(ANM_IRONBALL_THROW, mpHIO->mItem.mIronBall.m.mThrowAnmSpeed, mpHIO->mItem.mIronBall.m.mThrowInterpolation); field_0x2f99 = 0xC; mItemVar0.field_0x3018 = 4; } else if (mItemVar0.field_0x3018 == 7) { @@ -1042,10 +1042,10 @@ int daAlink_c::procIronBallReturnInit() { if (mItemVar0.field_0x3018 == 8) { mProcVar2.field_0x300c = 1; - setSingleAnimeParam(ANM_IRONBALL_CATCH, &daAlinkHIO_ironBall_c0::m.mCatchAnm); + setSingleAnimeParam(ANM_IRONBALL_CATCH, &mpHIO->mItem.mIronBall.m.mCatchAnm); field_0x2f99 = 12; } else { - setSingleAnimeBaseSpeed(ANM_IRONBALL_PULL, daAlinkHIO_ironBall_c0::m.mPullAnmSpeed, daAlinkHIO_ironBall_c0::m.mPullInterpolation); + setSingleAnimeBaseSpeed(ANM_IRONBALL_PULL, mpHIO->mItem.mIronBall.m.mPullAnmSpeed, mpHIO->mItem.mIronBall.m.mPullInterpolation); field_0x2f99 = 12; mProcVar2.field_0x300c = 0; } @@ -1065,7 +1065,7 @@ int daAlink_c::procIronBallReturn() { if (mItemVar0.field_0x3018 == 8 && mProcVar2.field_0x300c == 0) { mProcVar2.field_0x300c = 1; - setSingleAnimeParam(ANM_IRONBALL_CATCH, &daAlinkHIO_ironBall_c0::m.mCatchAnm); + setSingleAnimeParam(ANM_IRONBALL_CATCH, &mpHIO->mItem.mIronBall.m.mCatchAnm); field_0x2f99 = 12; seStartOnlyReverb(Z2SE_AL_IB_CATCH); @@ -1076,7 +1076,7 @@ int daAlink_c::procIronBallReturn() { setIronBallWaitUpperAnime(1); checkNextAction(0); } - } else if (mItemVar0.field_0x3018 == 8 && frameCtrl->getFrame() > daAlinkHIO_ironBall_c0::m.mCatchAnm.mCancelFrame) { + } else if (mItemVar0.field_0x3018 == 8 && frameCtrl->getFrame() > mpHIO->mItem.mIronBall.m.mCatchAnm.mCancelFrame) { mItemVar0.field_0x3018 = 0; setIronBallWaitUpperAnime(1); diff --git a/src/d/actor/d_a_alink_kandelaar.inc b/src/d/actor/d_a_alink_kandelaar.inc index a9529caf36..2f4a7ff867 100644 --- a/src/d/actor/d_a_alink_kandelaar.inc +++ b/src/d/actor/d_a_alink_kandelaar.inc @@ -164,15 +164,15 @@ void daAlink_c::preKandelaarDraw() { J3DMaterial* mat_p = mpKanteraGlowModel->getModelData()->getMaterialNodePointer(0); J3DGXColorS10 color; - color.r = daAlinkHIO_kandelaar_c0::m.mColorReg1R; - color.g = daAlinkHIO_kandelaar_c0::m.mColorReg1G; - color.b = daAlinkHIO_kandelaar_c0::m.mColorReg1B; + color.r = mpHIO->mItem.mLantern.m.mColorReg1R; + color.g = mpHIO->mItem.mLantern.m.mColorReg1G; + color.b = mpHIO->mItem.mLantern.m.mColorReg1B; color.a = 255; mat_p->setTevColor(1, &color); - color.r = daAlinkHIO_kandelaar_c0::m.mColorReg2R; - color.g = daAlinkHIO_kandelaar_c0::m.mColorReg2G; - color.b = daAlinkHIO_kandelaar_c0::m.mColorReg2B; + color.r = mpHIO->mItem.mLantern.m.mColorReg2R; + color.g = mpHIO->mItem.mLantern.m.mColorReg2G; + color.b = mpHIO->mItem.mLantern.m.mColorReg2B; mat_p->setTevColor(2, &color); cXyz proj; @@ -293,10 +293,10 @@ int daAlink_c::commonKandelaarPour(int param_0) { } else if (simpleAnmPlay(field_0x0720)) { if (param_0) { setUpperAnimeParam(getMainBckData(ANM_OIL_BOTTLE_POUR_END)->m_upperID, UPPER_2, - &daAlinkHIO_kandelaar_c0::m.mEndUnkAnm); + &mpHIO->mItem.mLantern.m.mEndUnkAnm); } else { setSingleAnimeParam(ANM_OIL_BOTTLE_POUR_END, - &daAlinkHIO_kandelaar_c0::m.mEndUnkAnm); + &mpHIO->mItem.mLantern.m.mEndUnkAnm); } field_0x072c->setFrame(2.0f); @@ -331,7 +331,7 @@ void daAlink_c::initKandelaarSwing() { field_0xFB8.ResetAtHit(); if (!checkEventRun()) { - dComIfGp_setItemOilCount(-daAlinkHIO_kandelaar_c0::m.mShakeOilLoss); + dComIfGp_setItemOilCount(-mpHIO->mItem.mLantern.m.mShakeOilLoss); } field_0xFB8.OffAtSetBit(); @@ -368,13 +368,13 @@ int daAlink_c::procKandelaarSwingInit() { (checkStageName("F_SP108") && fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchTagKtOnFire, NULL) != NULL)) { - setSingleAnimeParam(ANM_BOTTLE_SWING_DOWN, &daAlinkHIO_bottle_c0::m.mSwingDownAnm); - field_0x3478 = daAlinkHIO_bottle_c0::m.mSwingDownAnm.mCancelFrame; + setSingleAnimeParam(ANM_BOTTLE_SWING_DOWN, &mpHIO->mItem.mBottle.m.mSwingDownAnm); + field_0x3478 = mpHIO->mItem.mBottle.m.mSwingDownAnm.mCancelFrame; field_0x347c = 5.0f; field_0x3480 = 12.0f; } else { - setSingleAnimeParam(ANM_LANTERN_SWING, &daAlinkHIO_kandelaar_c0::m.mShakeAnm); - field_0x3478 = daAlinkHIO_kandelaar_c0::m.mShakeAnm.mCancelFrame; + setSingleAnimeParam(ANM_LANTERN_SWING, &mpHIO->mItem.mLantern.m.mShakeAnm); + field_0x3478 = mpHIO->mItem.mLantern.m.mShakeAnm.mCancelFrame; field_0x347c = 4.0f; field_0x3480 = 11.0f; } @@ -411,7 +411,7 @@ int daAlink_c::procKandelaarPourInit() { current.angle.y = shape_angle.y; mNormalSpeed = 0.0f; field_0x2f98 = 4; - setSingleAnimeParam(ANM_OIL_BOTTLE_POUR_START, &daAlinkHIO_kandelaar_c0::m.mBeginUnkAnm); + setSingleAnimeParam(ANM_OIL_BOTTLE_POUR_START, &mpHIO->mItem.mLantern.m.mBeginUnkAnm); commonKandelaarPourInit(); return 1; } diff --git a/src/d/actor/d_a_alink_link.inc b/src/d/actor/d_a_alink_link.inc index 629ac2381f..d6db8966e1 100644 --- a/src/d/actor/d_a_alink_link.inc +++ b/src/d/actor/d_a_alink_link.inc @@ -6,6 +6,7 @@ #include "JSystem/J3DGraphBase/J3DDrawBuffer.h" #include "d/actor/d_a_alink.h" #include "d/actor/d_a_canoe.h" +#include "d/actor/d_a_kytag05.h" #include "d/actor/d_a_tag_mstop.h" #include "d/actor/d_a_tag_mhint.h" @@ -131,10 +132,10 @@ BOOL daAlink_c::setBodyAngleToCamera() { if (!dComIfGp_checkPlayerStatus0(0, 0x202000) && mEquipItem == fpcNm_ITEM_IRONBALL) { var_r29 = -10000; } else { - var_r29 = daAlinkHIO_item_c0::m.mItemFPUpMaxUnk; + var_r29 = mpHIO->mItem.m.mItemFPUpMaxUnk; } - mBodyAngle.x = cLib_minMaxLimit((s16)sp8, var_r29, daAlinkHIO_item_c0::m.mItemFPMaxUnk); + mBodyAngle.x = cLib_minMaxLimit((s16)sp8, var_r29, mpHIO->mItem.m.mItemFPMaxUnk); checkBodyAngleX(mBodyAngle.x); field_0x310a = mBodyAngle.x; field_0x310c = shape_angle.y; @@ -240,11 +241,11 @@ int daAlink_c::procCoSwimSubjectivityInit() { setSubjectMode(); if (checkWolf()) { - setSingleAnimeWolfBaseSpeed(WANM_SWIM_WAIT, daAlinkHIO_wlSwim_c0::m.mIdleAnmSpeedWeak, - daAlinkHIO_wlSwim_c0::m.mIdleInterp); + setSingleAnimeWolfBaseSpeed(WANM_SWIM_WAIT, mpHIO->mWolf.mWlSwim.m.mIdleAnmSpeedWeak, + mpHIO->mWolf.mWlSwim.m.mIdleInterp); } else { - setSingleAnimeBaseSpeed(ANM_SWIM_WAIT, daAlinkHIO_swim_c0::m.mWaitAnmSpeed, - daAlinkHIO_swim_c0::m.mWaitInterpolation); + setSingleAnimeBaseSpeed(ANM_SWIM_WAIT, mpHIO->mSwim.m.mWaitAnmSpeed, + mpHIO->mSwim.m.mWaitInterpolation); } dComIfGp_setPlayerStatus0(0, 0x100000); diff --git a/src/d/actor/d_a_alink_spinner.inc b/src/d/actor/d_a_alink_spinner.inc index b4ceeb4c23..398d4e0408 100644 --- a/src/d/actor/d_a_alink_spinner.inc +++ b/src/d/actor/d_a_alink_spinner.inc @@ -7,51 +7,51 @@ #include "d/actor/d_a_spinner.h" f32 daAlink_c::getSpinnerGravity() const { - return daAlinkHIO_spinner_c0::m.mGravity; + return mpHIO->mItem.mSpinner.m.mGravity; } f32 daAlink_c::getSpinnerMaxFallSpeed() const { - return daAlinkHIO_spinner_c0::m.mMaxFallSpeed; + return mpHIO->mItem.mSpinner.m.mMaxFallSpeed; } f32 daAlink_c::getSpinnerJumpRate() const { - return daAlinkHIO_spinner_c0::m.mJumpRate; + return mpHIO->mItem.mSpinner.m.mJumpRate; } s16 daAlink_c::getSpinnerRideMoveTime() { if (checkLv4BossRoom()) { - return daAlinkHIO_spinner_c0::m.mBossRideMoveTime; + return mpHIO->mItem.mSpinner.m.mBossRideMoveTime; } - return daAlinkHIO_spinner_c0::m.mRideMoveTime; + return mpHIO->mItem.mSpinner.m.mRideMoveTime; } f32 daAlink_c::getSpinnerRideSpeedF() { if (checkLv4BossRoom()) { - return daAlinkHIO_spinner_c0::m.mBossRideSpeed; + return mpHIO->mItem.mSpinner.m.mBossRideSpeed; } - return daAlinkHIO_spinner_c0::m.mRideSpeed; + return mpHIO->mItem.mSpinner.m.mRideSpeed; } f32 daAlink_c::getSpinnerRideDecSpeedMax() const { - return daAlinkHIO_spinner_c0::m.mDecelSpeedMax; + return mpHIO->mItem.mSpinner.m.mDecelSpeedMax; } f32 daAlink_c::getSpinnerRideDecSpeedMin() const { - return daAlinkHIO_spinner_c0::m.mDecelSpeedMin; + return mpHIO->mItem.mSpinner.m.mDecelSpeedMin; } f32 daAlink_c::getSpinnerRideDecSpeedRate() const { - return daAlinkHIO_spinner_c0::m.mDecelRate; + return mpHIO->mItem.mSpinner.m.mDecelRate; } s16 daAlink_c::getSpinnerRideRotAngleMax() const { - return daAlinkHIO_spinner_c0::m.mRideRotAngleMax; + return mpHIO->mItem.mSpinner.m.mRideRotAngleMax; } s16 daAlink_c::getSpinnerRideRotAngleMin() const { - return daAlinkHIO_spinner_c0::m.mRideRotAngleMin; + return mpHIO->mItem.mSpinner.m.mRideRotAngleMin; } void daAlink_c::onSpinnerPathForceRemove() { @@ -106,9 +106,9 @@ int daAlink_c::procSpinnerReadyInit() { commonProcInit(PROC_SPINNER_READY); mRideAcKeep.setData(spinner); - setSingleAnime(ANM_VJUMP_START, daAlinkHIO_smallJump_c0::m.mSmallJumpAnm.mSpeed, 6.0f, - daAlinkHIO_smallJump_c0::m.mSmallJumpAnm.mEndFrame, - daAlinkHIO_smallJump_c0::m.mSmallJumpAnm.mInterpolation); + setSingleAnime(ANM_VJUMP_START, mpHIO->mWallHang.mSmallJump.m.mSmallJumpAnm.mSpeed, 6.0f, + mpHIO->mWallHang.mSmallJump.m.mSmallJumpAnm.mEndFrame, + mpHIO->mWallHang.mSmallJump.m.mSmallJumpAnm.mInterpolation); mNormalSpeed = 0.0f; setHeavyBoots(0); @@ -161,7 +161,7 @@ int daAlink_c::procSpinnerWaitInit() { mRideStatus = 5; setBgCheckParam(); - setSingleAnimeBaseSpeed(ANM_RIDE_CROUCH, daAlinkHIO_board_c0::m.mSitAnmSpeed, 4.0f); + setSingleAnimeBaseSpeed(ANM_RIDE_CROUCH, mpHIO->mItem.mBoard.m.mSitAnmSpeed, 4.0f); speed.y = 0.0f; setSpecialGravity(0.0f, maxFallSpeed, 0); mNormalSpeed = 0.0f; @@ -185,7 +185,7 @@ int daAlink_c::procSpinnerWait() { checkEndResetFlg1(ERFLG1_UNK_1) || checkEndResetFlg0(ERFLG0_UNK_2)) { mNormalSpeed = 0.0f; setJumpMode(); - return procFallInit(1, daAlinkHIO_autoJump_c0::m.mFallInterpolation); + return procFallInit(1, mpHIO->mAutoJump.m.mFallInterpolation); } if (spinner->checkSpinnerTagEnd()) { @@ -218,7 +218,7 @@ int daAlink_c::procSpinnerWait() { } setJumpMode(); mNormalSpeed = 0.0f; - return procFallInit(1, daAlinkHIO_autoJump_c0::m.mFallInterpolation); + return procFallInit(1, mpHIO->mAutoJump.m.mFallInterpolation); } daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; @@ -240,8 +240,8 @@ int daAlink_c::procSpinnerWait() { setSpinnerStatus(ACTION_STR_SPIN, ACTION_FLG_CONTINUATION); if (field_0x3198 != ANM_RIDE_KICK && field_0x2060->getOldFrameRate() < 0.01f) { - setSingleAnimeBaseSpeed(ANM_RIDE_CROUCH, daAlinkHIO_board_c0::m.mSitAnmSpeed, - daAlinkHIO_board_c0::m.mFastPushInterpolation); + setSingleAnimeBaseSpeed(ANM_RIDE_CROUCH, mpHIO->mItem.mBoard.m.mSitAnmSpeed, + mpHIO->mItem.mBoard.m.mFastPushInterpolation); field_0x3198 = ANM_RIDE_KICK; fopAcM_seStartCurrent(spinner, Z2SE_OBJ_SPNR_SW_PUSH, 0); } @@ -254,32 +254,32 @@ int daAlink_c::procSpinnerWait() { if ((field_0x3198 == ANM_RIDE_KICK && field_0x2060->getOldFrameRate() < 0.01f) || (field_0x3198 != ANM_RIDE_KICK && field_0x3198 != ANM_RIDE_WAIT)) { - setSingleAnimeBaseSpeed(ANM_RIDE_WAIT, daAlinkHIO_board_c0::m.mStandAnmSpeed, - daAlinkHIO_board_c0::m.mStandInterpolation); + setSingleAnimeBaseSpeed(ANM_RIDE_WAIT, mpHIO->mItem.mBoard.m.mStandAnmSpeed, + mpHIO->mItem.mBoard.m.mStandInterpolation); field_0x3198 = ANM_RIDE_WAIT; } } else if (spinner->getButtonJump() && field_0x3198 != ANM_RIDE_JUMP) { field_0x3198 = ANM_RIDE_JUMP; - setSingleAnime(ANM_RIDE_JUMP, 0.0f, daAlinkHIO_board_c0::m.mAirborneAnm.mStartFrame, - daAlinkHIO_board_c0::m.mAirborneAnm.mEndFrame, - daAlinkHIO_board_c0::m.mAirborneAnm.mInterpolation); + setSingleAnime(ANM_RIDE_JUMP, 0.0f, mpHIO->mItem.mBoard.m.mAirborneAnm.mStartFrame, + mpHIO->mItem.mBoard.m.mAirborneAnm.mEndFrame, + mpHIO->mItem.mBoard.m.mAirborneAnm.mInterpolation); mProcVar4.field_0x3010 = 0; } else if (field_0x3198 == ANM_RIDE_JUMP) { if (!spinner->getJumpFlg()) { - setSingleAnime(ANM_RIDE_JUMP_LAND, daAlinkHIO_board_c0::m.mLandAnm.mSpeed, - daAlinkHIO_board_c0::m.mLandAnm.mStartFrame, 16, - daAlinkHIO_board_c0::m.mLandAnm.mInterpolation); + setSingleAnime(ANM_RIDE_JUMP_LAND, mpHIO->mItem.mBoard.m.mLandAnm.mSpeed, + mpHIO->mItem.mBoard.m.mLandAnm.mStartFrame, 16, + mpHIO->mItem.mBoard.m.mLandAnm.mInterpolation); field_0x3198 = ANM_RIDE_JUMP_LAND; } else if (mProcVar4.field_0x3010 == 0 && field_0x2060->getOldFrameRate() < 0.01f) { - setSingleAnime(ANM_RIDE_JUMP, daAlinkHIO_board_c0::m.mAirborneAnm.mSpeed, - daAlinkHIO_board_c0::m.mAirborneAnm.mStartFrame, - daAlinkHIO_board_c0::m.mAirborneAnm.mEndFrame, -1.0f); + setSingleAnime(ANM_RIDE_JUMP, mpHIO->mItem.mBoard.m.mAirborneAnm.mSpeed, + mpHIO->mItem.mBoard.m.mAirborneAnm.mStartFrame, + mpHIO->mItem.mBoard.m.mAirborneAnm.mEndFrame, -1.0f); mProcVar4.field_0x3010 = 1; } } else if ((field_0x3198 == ANM_RIDE_JUMP_LAND && frameCtrl->checkAnmEnd()) || (field_0x3198 != ANM_RIDE_JUMP_LAND && field_0x3198 != ANM_RIDE_CROUCH)) { - setSingleAnimeBaseSpeed(ANM_RIDE_CROUCH, daAlinkHIO_board_c0::m.mSitAnmSpeed, - daAlinkHIO_board_c0::m.mSitInterpolation); + setSingleAnimeBaseSpeed(ANM_RIDE_CROUCH, mpHIO->mItem.mBoard.m.mSitAnmSpeed, + mpHIO->mItem.mBoard.m.mSitInterpolation); field_0x3198 = ANM_RIDE_CROUCH; } } diff --git a/src/d/actor/d_a_alink_sumou.inc b/src/d/actor/d_a_alink_sumou.inc index 506b16c5c9..4c9b9ffe79 100644 --- a/src/d/actor/d_a_alink_sumou.inc +++ b/src/d/actor/d_a_alink_sumou.inc @@ -272,7 +272,7 @@ int daAlink_c::procSumouMove() { if (mSpeedModifier > 0.0f && checkInputOnR()) { int direction = getDirectionFromAngle(mStickAngle); if (direction == DIR_LEFT || direction == DIR_RIGHT) { - var_r31 = field_0x33ac * (daAlinkHIO_pushpull_c0::m.mSumoRotationAngle * field_0x33ac); + var_r31 = field_0x33ac * (mpHIO->mPushpull.m.mSumoRotationAngle * field_0x33ac); if (direction == DIR_RIGHT) { var_r31 = -var_r31; @@ -317,7 +317,7 @@ int daAlink_c::procSumouSideMoveInit() { mSpecialMode = 0x16; field_0x2f98 = 3; current.angle.y = shape_angle.y + -0x4000; - field_0x594 = daAlinkHIO_atnMove_c0::m.mMaxSpeed; + field_0x594 = mpHIO->mAtnMove.m.mMaxSpeed; setSingleAnimeBase(ANM_SUMOU_FIGHT_WAIT); field_0x3198 = 0x141; @@ -379,7 +379,7 @@ int daAlink_c::procSumouSideMove() { } if (field_0x33ac > (1.0f - fabsf(mNormalSpeed / field_0x594)) * 0.3f) { - var_f1 = daAlinkHIO_atnMove_c0::m.mAcceleration * field_0x33ac; + var_f1 = mpHIO->mAtnMove.m.mAcceleration * field_0x33ac; } else { var_f1 = 0.0f; } @@ -387,7 +387,7 @@ int daAlink_c::procSumouSideMove() { var_f1 = 0.0f; } - setNormalSpeedF(var_f1, daAlinkHIO_atnMove_c0::m.mDeceleration); + setNormalSpeedF(var_f1, mpHIO->mAtnMove.m.mDeceleration); if (checkZeroSpeedF()) { onModeFlg(1); diff --git a/src/d/actor/d_a_alink_swim.inc b/src/d/actor/d_a_alink_swim.inc index 9d4ceb63cd..4cd7a0c15b 100644 --- a/src/d/actor/d_a_alink_swim.inc +++ b/src/d/actor/d_a_alink_swim.inc @@ -31,25 +31,25 @@ bool daAlink_c::getZoraSwim() const { f32 daAlink_c::getSwimFrontMaxSpeed() const { if (checkBootsOrArmorHeavy()) { - return daAlinkHIO_swim_c0::m.mUnderwaterFallMaxSpeed; + return mpHIO->mSwim.m.mUnderwaterFallMaxSpeed; } else if (checkZoraWearAbility()) { return 14.0f; } else if (checkSwimDashMode()) { - return daAlinkHIO_swim_c0::m.mDashMaxSpeed; + return mpHIO->mSwim.m.mDashMaxSpeed; } else { - return daAlinkHIO_swim_c0::m.mForwardMaxSpeed; + return mpHIO->mSwim.m.mForwardMaxSpeed; } } f32 daAlink_c::getSwimMaxFallSpeed() const { if (mProcID == PROC_DIVE_JUMP) { - return -daAlinkHIO_swim_c0::m.mUnderwaterMaxSpeed; + return -mpHIO->mSwim.m.mUnderwaterMaxSpeed; } else if (checkBootsOrArmorHeavy()) { - return daAlinkHIO_swim_c0::m.mBootsMaxFallSpeed; + return mpHIO->mSwim.m.mBootsMaxFallSpeed; } else if (getZoraSwim()) { - return daAlinkHIO_swim_c0::m.mMaxFallSpeed; + return mpHIO->mSwim.m.mMaxFallSpeed; } else { - return daAlinkHIO_swim_c0::m.mStandingMaxFallSpeed; + return mpHIO->mSwim.m.mStandingMaxFallSpeed; } } @@ -105,9 +105,9 @@ BOOL daAlink_c::checkPossibleWaterInMode() const { void daAlink_c::setWaterInAnmRate(daPy_frameCtrl_c* i_frameCtrl, f32 i_rate) { if (checkNoResetFlg0(FLG0_UNDERWATER)) { if (checkZoraWearAbility()) { - i_rate *= daAlinkHIO_magneBoots_c0::m.mZoraWaterAnmSpeed; + i_rate *= mpHIO->mItem.mIronBoots.m.mZoraWaterAnmSpeed; } else { - i_rate *= daAlinkHIO_magneBoots_c0::m.mWaterStartWalkAnmRate; + i_rate *= mpHIO->mItem.mIronBoots.m.mWaterStartWalkAnmRate; } } @@ -129,7 +129,7 @@ void daAlink_c::swimBgCheck(f32 param_0) { var_r29 = field_0x3080; } else { var_r29 = mProcVar2.field_0x300c; - start_pos.y += daAlinkHIO_wlWallHang_c0::m.mAutoWalkHeight; + start_pos.y += mpHIO->mWolf.mWlWallHang.m.mAutoWalkHeight; } f32 var_f28 = param_0 * cM_scos(var_r29); @@ -226,7 +226,7 @@ void daAlink_c::setSpeedAndAngleSwim() { var_r28 = shape_angle.y + (16384.0f * cM_ssin(mStickAngle)); } - cLib_addCalcAngleS(&shape_angle.y, var_r28, daAlinkHIO_swim_c0::m.mUnderwaterTurnRate, daAlinkHIO_swim_c0::m.mUnderwaterMaxTurn, daAlinkHIO_swim_c0::m.mUnderwaterMinTurn); + cLib_addCalcAngleS(&shape_angle.y, var_r28, mpHIO->mSwim.m.mUnderwaterTurnRate, mpHIO->mSwim.m.mUnderwaterMaxTurn, mpHIO->mSwim.m.mUnderwaterMinTurn); } current.angle.y = shape_angle.y; @@ -235,9 +235,9 @@ void daAlink_c::setSpeedAndAngleSwim() { if (checkInputOnR()) { s16 temp_r29_2 = shape_angle.y; if (checkNoResetFlg0(FLG0_SWIM_UP)) { - cLib_addCalcAngleS(&shape_angle.y, field_0x2fe2, daAlinkHIO_swim_c0::m.mTurnRate, daAlinkHIO_swim_c0::m.mMaxTurn, daAlinkHIO_swim_c0::m.mMinTurn); + cLib_addCalcAngleS(&shape_angle.y, field_0x2fe2, mpHIO->mSwim.m.mTurnRate, mpHIO->mSwim.m.mMaxTurn, mpHIO->mSwim.m.mMinTurn); } else { - cLib_addCalcAngleS(&shape_angle.y, field_0x2fe2, daAlinkHIO_swim_c0::m.mUnderwaterTurnRate, daAlinkHIO_swim_c0::m.mUnderwaterMaxTurn, daAlinkHIO_swim_c0::m.mUnderwaterMinTurn); + cLib_addCalcAngleS(&shape_angle.y, field_0x2fe2, mpHIO->mSwim.m.mUnderwaterTurnRate, mpHIO->mSwim.m.mUnderwaterMaxTurn, mpHIO->mSwim.m.mUnderwaterMinTurn); } f32 var_f29; @@ -271,22 +271,22 @@ void daAlink_c::setSpeedAndAngleSwim() { s16 temp_r29_3 = current.angle.y; if (checkNoResetFlg0(FLG0_SWIM_UP)) { - cLib_addCalcAngleS(¤t.angle.y, field_0x2fe2, daAlinkHIO_swim_c0::m.mTurnRate, daAlinkHIO_swim_c0::m.mMaxTurn, daAlinkHIO_swim_c0::m.mMinTurn); + cLib_addCalcAngleS(¤t.angle.y, field_0x2fe2, mpHIO->mSwim.m.mTurnRate, mpHIO->mSwim.m.mMaxTurn, mpHIO->mSwim.m.mMinTurn); } else { - cLib_addCalcAngleS(¤t.angle.y, field_0x2fe2, daAlinkHIO_swim_c0::m.mUnderwaterTurnRate, daAlinkHIO_swim_c0::m.mUnderwaterMaxTurn, daAlinkHIO_swim_c0::m.mUnderwaterMinTurn); + cLib_addCalcAngleS(¤t.angle.y, field_0x2fe2, mpHIO->mSwim.m.mUnderwaterTurnRate, mpHIO->mSwim.m.mUnderwaterMaxTurn, mpHIO->mSwim.m.mUnderwaterMinTurn); } - var_f30 = daAlinkHIO_swim_c0::m.mAcceleration * field_0x33a8 * cM_scos((s16)(current.angle.y - temp_r29_3)); + var_f30 = mpHIO->mSwim.m.mAcceleration * field_0x33a8 * cM_scos((s16)(current.angle.y - temp_r29_3)); } else { var_f30 = 0.0f; } } f32 var_f28; - if (daAlinkHIO_swim_c0::m.mForwardMaxSpeed < mNormalSpeed && !checkZoraWearAbility()) { - var_f28 = daAlinkHIO_swim_c0::m.mDashDeceleration; + if (mpHIO->mSwim.m.mForwardMaxSpeed < mNormalSpeed && !checkZoraWearAbility()) { + var_f28 = mpHIO->mSwim.m.mDashDeceleration; } else { - var_f28 = daAlinkHIO_swim_c0::m.mDeceleration; + var_f28 = mpHIO->mSwim.m.mDeceleration; } setNormalSpeedF(var_f30, var_f28); @@ -298,7 +298,7 @@ void daAlink_c::setSpeedAndAngleSwim() { if (checkSwimNeckUpDown()) { s16 sp14; if (speed.y >= 0.0f) { - var_f31 = -speed.y / daAlinkHIO_swim_c0::m.mMaxFloatUpSpeed; + var_f31 = -speed.y / mpHIO->mSwim.m.mMaxFloatUpSpeed; if (var_f31 < -1.0f) { var_f31 = -1.0f; } @@ -356,10 +356,10 @@ int daAlink_c::checkSwimAction(int param_0) { if (getMoveBGActorName(mLinkAcch.m_gnd, NULL) == PROC_Obj_ITA) { var_f31 = 200.0f; } else { - var_f31 = daAlinkHIO_wlSwim_c0::m.mStartHeight; + var_f31 = mpHIO->mWolf.mWlSwim.m.mStartHeight; } } else { - var_f31 = daAlinkHIO_swim_c0::m.mStartHeight; + var_f31 = mpHIO->mSwim.m.mStartHeight; } if (checkNoResetFlg0(FLG0_UNK_80) && !checkNoResetFlg0(FLG0_UNDERWATER) && !checkModeFlg(0x40000) && mProcID != PROC_MAGNE_BOOTS_FLY && ((mProcID != PROC_WOLF_LOCK_ATTACK && mProcID != PROC_WOLF_LOCK_ATTACK_TURN) || mProcVar5.field_0x3012 == 0) && mDemo.getDemoMode() != 0x11) { @@ -369,12 +369,12 @@ int daAlink_c::checkSwimAction(int param_0) { if (checkWolf()) { if (checkWolfDashMode()) { - var_f29 = daAlinkHIO_wlSwim_c0::m.mMaxSpeed; + var_f29 = mpHIO->mWolf.mWlSwim.m.mMaxSpeed; } else { - var_f29 = daAlinkHIO_wlSwim_c0::m.mMaxSpeedWeak; + var_f29 = mpHIO->mWolf.mWlSwim.m.mMaxSpeedWeak; } - var_f28 = daAlinkHIO_wlSwim_c0::m.mMaxFallSpeed; + var_f28 = mpHIO->mWolf.mWlSwim.m.mMaxFallSpeed; } else { var_f29 = getSwimFrontMaxSpeed(); var_f28 = getSwimMaxFallSpeed(); @@ -503,9 +503,9 @@ int daAlink_c::checkSwimUpAction() { if (!getZoraSwim()) { if (checkWolf()) { - field_0x3480 = daAlinkHIO_wlSwim_c0::m.mStartHeight; + field_0x3480 = mpHIO->mWolf.mWlSwim.m.mStartHeight; } else { - cLib_addCalc(&field_0x3480, daAlinkHIO_swim_c0::m.mStartHeight, 0.5f, 15.0f, 1.0f); + cLib_addCalc(&field_0x3480, mpHIO->mSwim.m.mStartHeight, 0.5f, 15.0f, 1.0f); } } else { field_0x3480 = 65.0f; @@ -513,9 +513,9 @@ int daAlink_c::checkSwimUpAction() { f32 var_f31; if (checkWolf()) { - var_f31 = daAlinkHIO_wlSwim_c0::m.mSurfacingHeight; + var_f31 = mpHIO->mWolf.mWlSwim.m.mSurfacingHeight; } else { - var_f31 = daAlinkHIO_swim_c0::m.mFloatUpHeight; + var_f31 = mpHIO->mSwim.m.mFloatUpHeight; } if (!checkBootsOrArmorHeavy() && !checkNoResetFlg0(FLG0_SWIM_UP)) { @@ -590,9 +590,9 @@ BOOL daAlink_c::checkSwimFall() { int daAlink_c::checkSwimOutAction() { f32 var_f31; if (checkWolf()) { - var_f31 = daAlinkHIO_wlSwim_c0::m.mStartHeight; + var_f31 = mpHIO->mWolf.mWlSwim.m.mStartHeight; } else { - var_f31 = daAlinkHIO_swim_c0::m.mStartHeight; + var_f31 = mpHIO->mSwim.m.mStartHeight; } if (checkSwimFall()) { @@ -603,15 +603,15 @@ int daAlink_c::checkSwimOutAction() { current.angle.y = sp8.atan2sX_Z(); if (checkWolf()) { - if (mNormalSpeed > daAlinkHIO_wlAutoJump_c0::m.mWeakJumpMaxSpeed) { - mNormalSpeed = daAlinkHIO_wlAutoJump_c0::m.mWeakJumpMaxSpeed; + if (mNormalSpeed > mpHIO->mWolf.mWlAutoJump.m.mWeakJumpMaxSpeed) { + mNormalSpeed = mpHIO->mWolf.mWlAutoJump.m.mWeakJumpMaxSpeed; } - return procWolfFallInit(2, daAlinkHIO_wlAutoJump_c0::m.mNormalFallInterp); + return procWolfFallInit(2, mpHIO->mWolf.mWlAutoJump.m.mNormalFallInterp); } else { - if (mNormalSpeed > daAlinkHIO_autoJump_c0::m.mMaxJumpSpeed) { - mNormalSpeed = daAlinkHIO_autoJump_c0::m.mMaxJumpSpeed; + if (mNormalSpeed > mpHIO->mAutoJump.m.mMaxJumpSpeed) { + mNormalSpeed = mpHIO->mAutoJump.m.mMaxJumpSpeed; } - return procFallInit(2, daAlinkHIO_autoJump_c0::m.mFallInterpolation); + return procFallInit(2, mpHIO->mAutoJump.m.mFallInterpolation); } } @@ -655,13 +655,13 @@ void daAlink_c::setSwimMoveAnime() { BOOL var_r25 = 0; if (field_0x2f98 == 4) { - f32 temp_f29 = daAlinkHIO_swim_c0::m.mUnderwaterMaxSpeed + daAlinkHIO_swim_c0::m.mUnderwaterButtonAdditionalSpeed; + f32 temp_f29 = mpHIO->mSwim.m.mUnderwaterMaxSpeed + mpHIO->mSwim.m.mUnderwaterButtonAdditionalSpeed; - field_0x3478 = daAlinkHIO_swim_c0::m.mUnderwaterMinAnmSpeed; - field_0x347c = daAlinkHIO_swim_c0::m.mUnderwaterMaxAnmSpeed; + field_0x3478 = mpHIO->mSwim.m.mUnderwaterMinAnmSpeed; + field_0x347c = mpHIO->mSwim.m.mUnderwaterMaxAnmSpeed; - if (field_0x594 < daAlinkHIO_swim_c0::m.mUnderwaterMaxSpeed) { - field_0x594 = daAlinkHIO_swim_c0::m.mUnderwaterMaxSpeed; + if (field_0x594 < mpHIO->mSwim.m.mUnderwaterMaxSpeed) { + field_0x594 = mpHIO->mSwim.m.mUnderwaterMaxSpeed; } else if (doTrigger()) { field_0x594 += 0.75f; if (field_0x594 > temp_f29) { @@ -683,10 +683,10 @@ void daAlink_c::setSwimMoveAnime() { mProcVar5.field_0x3012 = 1; } } else if (!checkSwimMoveHandAnime()) { - cLib_chaseF(&field_0x594, daAlinkHIO_swim_c0::m.mUnderwaterMaxSpeed, 0.4f); + cLib_chaseF(&field_0x594, mpHIO->mSwim.m.mUnderwaterMaxSpeed, 0.4f); } - var_f31 = 1.0f / daAlinkHIO_swim_c0::m.mUnderwaterMaxSpeed; + var_f31 = 1.0f / mpHIO->mSwim.m.mUnderwaterMaxSpeed; if (checkZoraWearAbility() && (field_0x3198 == ANM_SWIM_DIVE || (field_0x3198 == ANM_SWIM_ZORA_START && !checkAnmEnd(temp_r28)))) { var_r29 = ANM_SWIM_ZORA_START; @@ -711,25 +711,25 @@ void daAlink_c::setSwimMoveAnime() { } if (checkSwimDashMode()) { - field_0x3478 = daAlinkHIO_swim_c0::m.mDashMinAnmSpeed; - field_0x347c = daAlinkHIO_swim_c0::m.mDashMaxAnmSpeed; - field_0x594 = daAlinkHIO_swim_c0::m.mDashMaxSpeed; + field_0x3478 = mpHIO->mSwim.m.mDashMinAnmSpeed; + field_0x347c = mpHIO->mSwim.m.mDashMaxAnmSpeed; + field_0x594 = mpHIO->mSwim.m.mDashMaxSpeed; } else { - field_0x3478 = daAlinkHIO_swim_c0::m.mForwardMinAnmSpeed; - field_0x347c = daAlinkHIO_swim_c0::m.mForwardMaxAnmSpeed; + field_0x3478 = mpHIO->mSwim.m.mForwardMinAnmSpeed; + field_0x347c = mpHIO->mSwim.m.mForwardMaxAnmSpeed; field_0x594 = getSwimFrontMaxSpeed(); } var_f31 = 1.0f / field_0x594; } else if (field_0x2f98 == 1) { var_r29 = ANM_ATN_SWIM_BACK; - field_0x3478 = daAlinkHIO_swim_c0::m.mBackwardMinAnmSpeed; - field_0x347c = daAlinkHIO_swim_c0::m.mBackwardMaxAnmSpeed; + field_0x3478 = mpHIO->mSwim.m.mBackwardMinAnmSpeed; + field_0x347c = mpHIO->mSwim.m.mBackwardMaxAnmSpeed; if (checkZoraWearAbility()) { field_0x594 = 10.0f; } else { - field_0x594 = daAlinkHIO_swim_c0::m.mBackwardMaxSpeed; + field_0x594 = mpHIO->mSwim.m.mBackwardMaxSpeed; } var_f31 = 1.0f / field_0x594; @@ -740,13 +740,13 @@ void daAlink_c::setSwimMoveAnime() { var_r29 = ANM_ATN_SWIM_RIGHT; } - field_0x3478 = daAlinkHIO_swim_c0::m.mStrafeMinAnmSpeed; - field_0x347c = daAlinkHIO_swim_c0::m.mStrafeMaxAnmSpeed; + field_0x3478 = mpHIO->mSwim.m.mStrafeMinAnmSpeed; + field_0x347c = mpHIO->mSwim.m.mStrafeMaxAnmSpeed; if (checkZoraWearAbility()) { field_0x594 = 12.0f; } else { - field_0x594 = daAlinkHIO_swim_c0::m.mStrafeMaxSpeed; + field_0x594 = mpHIO->mSwim.m.mStrafeMaxSpeed; } var_f31 = 1.0f / field_0x594; @@ -760,7 +760,7 @@ void daAlink_c::setSwimMoveAnime() { if (checkBootsOrArmorHeavy()) { var_r29 = ANM_SWIM_WAIT; - field_0x594 = daAlinkHIO_swim_c0::m.mUnderwaterFallMaxSpeed; + field_0x594 = mpHIO->mSwim.m.mUnderwaterFallMaxSpeed; if (mEquipItem != fpcNm_ITEM_NONE && !checkHookshotAnime()) { setDoStatus(4); } @@ -774,15 +774,15 @@ void daAlink_c::setSwimMoveAnime() { field_0x3198 = var_r29; if (checkUnderMove0BckNoArc(ANM_SWIM_DASH)) { - field_0x30d2 = daAlinkHIO_swim_c0::m.field_0x5e; + field_0x30d2 = mpHIO->mSwim.m.field_0x5e; } if (var_r29 == ANM_SWIM_WAIT) { - setSingleAnimeBaseSpeed(ANM_SWIM_WAIT, daAlinkHIO_swim_c0::m.mWaitAnmSpeed, daAlinkHIO_swim_c0::m.mWaitInterpolation); + setSingleAnimeBaseSpeed(ANM_SWIM_WAIT, mpHIO->mSwim.m.mWaitAnmSpeed, mpHIO->mSwim.m.mWaitInterpolation); } else { f32 var_f27; if (var_r26 != 0) { - var_f27 = daAlinkHIO_swim_c0::m.mMoveInterpolation; + var_f27 = mpHIO->mSwim.m.mMoveInterpolation; } else { var_f27 = 0.0f; } @@ -793,7 +793,7 @@ void daAlink_c::setSwimMoveAnime() { if (var_r29 != ANM_SWIM_WAIT && var_r29 != ANM_SWIM_DASH) { f32 temp_f30 = var_f31 * fabsf(mNormalSpeed); if (temp_f30 > 1.0f && field_0x2f98 == 4) { - temp_r28->setRate(daAlinkHIO_swim_c0::m.mUnderwaterMaxAnmSpeed + ((temp_f30 - 1.0f) * daAlinkHIO_swim_c0::m.mUnderwaterAdditionalAnmSpeed)); + temp_r28->setRate(mpHIO->mSwim.m.mUnderwaterMaxAnmSpeed + ((temp_f30 - 1.0f) * mpHIO->mSwim.m.mUnderwaterAdditionalAnmSpeed)); } else { temp_r28->setRate(field_0x3478 + (field_0x347c * temp_f30)); } @@ -880,12 +880,12 @@ void daAlink_c::setSwimUpDownOffset() { f32 var_f1; if (checkWolf()) { if (checkHeavyStateOn(1, 1)) { - var_f1 = daAlinkHIO_wlSwim_c0::m.mHeavyIdleUpDownSwayAmount; + var_f1 = mpHIO->mWolf.mWlSwim.m.mHeavyIdleUpDownSwayAmount; } else { - var_f1 = daAlinkHIO_wlSwim_c0::m.mIdleUpDownSwayAmount; + var_f1 = mpHIO->mWolf.mWlSwim.m.mIdleUpDownSwayAmount; } } else { - var_f1 = daAlinkHIO_swim_c0::m.mWaitUpDownShakeAmount; + var_f1 = mpHIO->mSwim.m.mWaitUpDownShakeAmount; } field_0x2b98 = var_f1 * cM_ssin(mProcVar2.field_0x300c); @@ -903,11 +903,11 @@ int daAlink_c::procSwimUpInit() { field_0x3080 = 0; onNoResetFlg0(FLG0_SWIM_UP); mZ2Link.setInWater(false); - setSingleAnimeParam(ANM_SWIM_RESURFACE, &daAlinkHIO_swim_c0::m.mFloatUpAnm); + setSingleAnimeParam(ANM_SWIM_RESURFACE, &mpHIO->mSwim.m.mFloatUpAnm); dComIfGp_setPlayerStatus0(0, 0x100000); mProcVar0.field_0x3008 = 0; mProcVar4.field_0x3010 = 0; - field_0x3480 = daAlinkHIO_swim_c0::m.mStartHeight; + field_0x3480 = mpHIO->mSwim.m.mStartHeight; field_0x3000 = 0; seStartMapInfo(Z2SE_AL_OUTOF_WATER); @@ -919,7 +919,7 @@ int daAlink_c::procSwimUpInit() { int daAlink_c::procSwimUp() { daPy_frameCtrl_c* frame_ctrl = mUnderFrameCtrl; - setNormalSpeedF(0.0f, daAlinkHIO_swim_c0::m.mDeceleration); + setNormalSpeedF(0.0f, mpHIO->mSwim.m.mDeceleration); if (checkSetItemTrigger(fpcNm_ITEM_HVY_BOOTS)) { setHeavyBoots(1); @@ -933,7 +933,7 @@ int daAlink_c::procSwimUp() { } } else if (checkAnmEnd(frame_ctrl)) { procSwimWaitInit(0); - } else if (frame_ctrl->getFrame() > daAlinkHIO_swim_c0::m.mFloatUpAnm.mCancelFrame && + } else if (frame_ctrl->getFrame() > mpHIO->mSwim.m.mFloatUpAnm.mCancelFrame && checkInputOnR()) { procSwimMoveInit(); @@ -950,7 +950,7 @@ int daAlink_c::procSwimWaitInit(int param_0) { if (checkNoResetFlg0(FLG0_UNDERWATER)) { offNoResetFlg0(FLG0_UNDERWATER); - current.pos.y += daAlinkHIO_swim_c0::m.mStartHeight; + current.pos.y += mpHIO->mSwim.m.mStartHeight; } commonProcInit(PROC_SWIM_WAIT); @@ -958,19 +958,19 @@ int daAlink_c::procSwimWaitInit(int param_0) { if (param_0) { seStartMapInfo(Z2SE_AL_INTO_WATER); mProcVar4.field_0x3010 = 0; - field_0x3480 = daAlinkHIO_swim_c0::m.mStartHeight; + field_0x3480 = mpHIO->mSwim.m.mStartHeight; } else if (!mode_40000) { mProcVar4.field_0x3010 = 0; - field_0x3480 = daAlinkHIO_swim_c0::m.mStartHeight; + field_0x3480 = mpHIO->mSwim.m.mStartHeight; } swimDeleteItem(); if (!checkUnderMove0BckNoArc(ANM_SWIM_WAIT)) { - setSingleAnimeBaseSpeed(ANM_SWIM_WAIT, daAlinkHIO_swim_c0::m.mWaitAnmSpeed, - daAlinkHIO_swim_c0::m.mWaitInterpolation); + setSingleAnimeBaseSpeed(ANM_SWIM_WAIT, mpHIO->mSwim.m.mWaitAnmSpeed, + mpHIO->mSwim.m.mWaitInterpolation); } else if (frame_ctrl->getRate() < 0.1f) { - setSingleAnimeBaseSpeed(ANM_SWIM_WAIT, daAlinkHIO_swim_c0::m.mWaitAnmSpeed, -1.0f); + setSingleAnimeBaseSpeed(ANM_SWIM_WAIT, mpHIO->mSwim.m.mWaitAnmSpeed, -1.0f); } field_0x30d0 = 0; @@ -1008,8 +1008,8 @@ int daAlink_c::procSwimWait() { if (mEquipItem != field_0x32cc) { field_0x32cc = mEquipItem; - setSingleAnimeBaseSpeed(ANM_SWIM_WAIT, daAlinkHIO_swim_c0::m.mWaitAnmSpeed, - daAlinkHIO_swim_c0::m.mWaitInterpolation); + setSingleAnimeBaseSpeed(ANM_SWIM_WAIT, mpHIO->mSwim.m.mWaitAnmSpeed, + mpHIO->mSwim.m.mWaitInterpolation); } setSwimUpDownOffset(); @@ -1033,7 +1033,7 @@ int daAlink_c::procSwimWait() { if (checkSwimButtonAccept() && doTrigger()) { procSwimDiveInit(); - } else if ((checkInputOnR() && mNormalSpeed >= daAlinkHIO_swim_c0::m.mForwardMinSpeed) || + } else if ((checkInputOnR() && mNormalSpeed >= mpHIO->mSwim.m.mForwardMinSpeed) || (checkUpSwimButtonAccept() && doButton())) { if (checkUpSwimButtonAccept() && doButton()) { @@ -1058,7 +1058,7 @@ int daAlink_c::procSwimMoveInit() { } if (!mode_40000) { - field_0x3480 = daAlinkHIO_swim_c0::m.mStartHeight; + field_0x3480 = mpHIO->mSwim.m.mStartHeight; mProcVar4.field_0x3010 = 0; } @@ -1115,11 +1115,11 @@ int daAlink_c::procSwimMove() { procSwimDiveInit(); } else if (dComIfGp_getDoStatus() == 9 && doTrigger()) { onNoResetFlg1(FLG1_DASH_MODE); - field_0x30d0 = daAlinkHIO_swim_c0::m.field_0x5c; - setSingleAnimeParam(ANM_SWIM_DASH, &daAlinkHIO_swim_c0::m.mDashAnm); + field_0x30d0 = mpHIO->mSwim.m.field_0x5c; + setSingleAnimeParam(ANM_SWIM_DASH, &mpHIO->mSwim.m.mDashAnm); field_0x3198 = ANM_SWIM_DASH; } else if (!checkZoraSwimMove() && (!checkUpSwimButtonAccept() || !doButton()) && - mNormalSpeed < daAlinkHIO_swim_c0::m.mForwardMinSpeed) + mNormalSpeed < mpHIO->mSwim.m.mForwardMinSpeed) { procSwimWaitInit(0); } @@ -1134,22 +1134,22 @@ int daAlink_c::procSwimDiveInit() { if (checkNoResetFlg0(FLG0_SWIM_UP)) { mProcVar2.field_0x300c = 1; - setSingleAnimeParam(ANM_SWIM_DIVE, &daAlinkHIO_swim_c0::m.mDiveAnm); + setSingleAnimeParam(ANM_SWIM_DIVE, &mpHIO->mSwim.m.mDiveAnm); voiceStart(Z2SE_AL_V_DIVING); } else { mProcVar2.field_0x300c = 0; - setSingleAnimeParam(ANM_SWIM_DIVE, &daAlinkHIO_swim_c0::m.mUnderwaterDiveAnm); + setSingleAnimeParam(ANM_SWIM_DIVE, &mpHIO->mSwim.m.mUnderwaterDiveAnm); } field_0x2f99 = 0x10; field_0x3588 = l_waitBaseAnime; - field_0x3480 = daAlinkHIO_swim_c0::m.mStartHeight; + field_0x3480 = mpHIO->mSwim.m.mStartHeight; mProcVar4.field_0x3010 = 0; dComIfGp_setPlayerStatus0(0, 0x100000); field_0x3000 = 30; field_0x3478 = 0.0f; - field_0x347c = 1.0f / daAlinkHIO_swim_c0::m.mUnderwaterDiveAnm.mEndFrame; + field_0x347c = 1.0f / mpHIO->mSwim.m.mUnderwaterDiveAnm.mEndFrame; return 1; } @@ -1166,7 +1166,7 @@ int daAlink_c::procSwimDive() { field_0x2f99 = 7; field_0x3000 = 30; - setNormalSpeedF(0.0f, daAlinkHIO_swim_c0::m.mDeceleration); + setNormalSpeedF(0.0f, mpHIO->mSwim.m.mDeceleration); field_0x3478 = field_0x347c * frame_ctrl->getFrame(); if (field_0x3478 > 1.0f) { @@ -1183,7 +1183,7 @@ int daAlink_c::procSwimDive() { } if (checkAnmEnd(frame_ctrl)) { - speed.y = daAlinkHIO_swim_c0::m.mMaxFallSpeed; + speed.y = mpHIO->mSwim.m.mMaxFallSpeed; if (mProcVar2.field_0x300c != 0) { field_0x3080 = 0x2800; @@ -1207,8 +1207,8 @@ int daAlink_c::procSwimHookshotSubjectInit() { initHookshotUpperAnimeSpeed(1); if (!checkUnderMove0BckNoArc(ANM_SWIM_WAIT)) { - setSingleAnimeBaseSpeed(ANM_SWIM_WAIT, daAlinkHIO_swim_c0::m.mWaitAnmSpeed, - daAlinkHIO_hookshot_c0::m.mStartInterpolation); + setSingleAnimeBaseSpeed(ANM_SWIM_WAIT, mpHIO->mSwim.m.mWaitAnmSpeed, + mpHIO->mItem.mHookshot.m.mStartInterpolation); } mNormalSpeed = 0.0f; @@ -1228,7 +1228,7 @@ int daAlink_c::procSwimHookshotSubjectInit() { mProcVar0.field_0x3008 = 0; field_0x594 = getSwimFrontMaxSpeed(); - field_0x3480 = daAlinkHIO_swim_c0::m.mStartHeight; + field_0x3480 = mpHIO->mSwim.m.mStartHeight; mProcVar4.field_0x3010 = 0; field_0x30d0 = 0; @@ -1304,7 +1304,7 @@ int daAlink_c::procSwimHookshotMoveInit() { field_0x3080 = 0; } - field_0x3480 = daAlinkHIO_swim_c0::m.mStartHeight; + field_0x3480 = mpHIO->mSwim.m.mStartHeight; mProcVar4.field_0x3010 = 0; field_0x30d0 = 0; @@ -1387,16 +1387,16 @@ int daAlink_c::procSwimDamageInit(dCcD_GObjInf* param_0) { } f32 scale = - temp_r30->abs() * daAlinkHIO_damSwim_c0::m.mAttackSpeedRate + daAlinkHIO_damSwim_c0::m.mInitialSpeed; - if (scale > daAlinkHIO_damSwim_c0::m.mMaxSpeed) { - scale = daAlinkHIO_damSwim_c0::m.mMaxSpeed; + temp_r30->abs() * mpHIO->mDamage.mDamSwim.m.mAttackSpeedRate + mpHIO->mDamage.mDamSwim.m.mInitialSpeed; + if (scale > mpHIO->mDamage.mDamSwim.m.mMaxSpeed) { + scale = mpHIO->mDamage.mDamSwim.m.mMaxSpeed; } field_0x3750 = temp_r30->normZP(); field_0x3750 *= scale; if (getZoraSwim()) { - setUpperAnimeParam(0xBF, UPPER_2, &daAlinkHIO_damSwim_c0::m.mSinkAnm); + setUpperAnimeParam(0xBF, UPPER_2, &mpHIO->mDamage.mDamSwim.m.mSinkAnm); setFacePriBck(0xEA); setFacePriTexture(FTANM_UNK_27); return 1; @@ -1408,36 +1408,36 @@ int daAlink_c::procSwimDamageInit(dCcD_GObjInf* param_0) { temp_r30->z * cM_scos(shape_angle.y) + temp_r30->x * cM_ssin(shape_angle.y)); mProcVar0.field_0x3008 = - cLib_minMaxLimit(cM_atan2s(sp24.z, sp24.y), (s16)-daAlinkHIO_damSwim_c0::m.mFrontBackBodyMaxAngle, - (s16)daAlinkHIO_damSwim_c0::m.mFrontBackBodyMaxAngle); + cLib_minMaxLimit(cM_atan2s(sp24.z, sp24.y), (s16)-mpHIO->mDamage.mDamSwim.m.mFrontBackBodyMaxAngle, + (s16)mpHIO->mDamage.mDamSwim.m.mFrontBackBodyMaxAngle); mProcVar1.field_0x300a = cLib_minMaxLimit( cM_atan2s(sp24.x, -JMAFastSqrt(sp24.y * sp24.y + sp24.z * sp24.z)), - (s16)-daAlinkHIO_damSwim_c0::m.mLeftRightBodyMaxAngle, (s16)daAlinkHIO_damSwim_c0::m.mLeftRightBodyMaxAngle); + (s16)-mpHIO->mDamage.mDamSwim.m.mLeftRightBodyMaxAngle, (s16)mpHIO->mDamage.mDamSwim.m.mLeftRightBodyMaxAngle); int dir = getDirectionFromAngle(cM_atan2s(-sp24.x, -sp24.z)); if (bvar4) { - setSingleAnimeParam(ANM_SWIM_DMG_FREEZE, &daAlinkHIO_damSwim_c0::m.mSurfaceAnm); - field_0x3478 = daAlinkHIO_damSwim_c0::m.mSurfaceAnm.mCancelFrame; + setSingleAnimeParam(ANM_SWIM_DMG_FREEZE, &mpHIO->mDamage.mDamSwim.m.mSurfaceAnm); + field_0x3478 = mpHIO->mDamage.mDamSwim.m.mSurfaceAnm.mCancelFrame; mProcVar0.field_0x3008 = 0; mProcVar1.field_0x300a = 0; } else if (dir == DIR_FORWARD) { - setSingleAnimeParam(ANM_SWIM_DMG_FRONT, &daAlinkHIO_damSwim_c0::m.mFrontAnm); - field_0x3478 = daAlinkHIO_damSwim_c0::m.mFrontAnm.mCancelFrame; + setSingleAnimeParam(ANM_SWIM_DMG_FRONT, &mpHIO->mDamage.mDamSwim.m.mFrontAnm); + field_0x3478 = mpHIO->mDamage.mDamSwim.m.mFrontAnm.mCancelFrame; } else if (dir == DIR_BACKWARD) { - setSingleAnimeParam(ANM_SWIM_DMG_BACK, &daAlinkHIO_damSwim_c0::m.mRearAnm); - field_0x3478 = daAlinkHIO_damSwim_c0::m.mRearAnm.mCancelFrame; + setSingleAnimeParam(ANM_SWIM_DMG_BACK, &mpHIO->mDamage.mDamSwim.m.mRearAnm); + field_0x3478 = mpHIO->mDamage.mDamSwim.m.mRearAnm.mCancelFrame; } else if (dir == DIR_LEFT) { - setSingleAnimeParam(ANM_SWIM_DMG_LEFT, &daAlinkHIO_damSwim_c0::m.mLeftAnm); - field_0x3478 = daAlinkHIO_damSwim_c0::m.mLeftAnm.mCancelFrame; + setSingleAnimeParam(ANM_SWIM_DMG_LEFT, &mpHIO->mDamage.mDamSwim.m.mLeftAnm); + field_0x3478 = mpHIO->mDamage.mDamSwim.m.mLeftAnm.mCancelFrame; } else { - setSingleAnimeParam(ANM_SWIM_DMG_RIGHT, &daAlinkHIO_damSwim_c0::m.mRightAnm); - field_0x3478 = daAlinkHIO_damSwim_c0::m.mRightAnm.mCancelFrame; + setSingleAnimeParam(ANM_SWIM_DMG_RIGHT, &mpHIO->mDamage.mDamSwim.m.mRightAnm); + field_0x3478 = mpHIO->mDamage.mDamSwim.m.mRightAnm.mCancelFrame; } mNormalSpeed = 0.0f; field_0x347c = M_PI / (mUnderFrameCtrl->getEnd() - mUnderFrameCtrl->getStart()); - field_0x3480 = daAlinkHIO_swim_c0::m.mStartHeight; + field_0x3480 = mpHIO->mSwim.m.mStartHeight; current.angle.y = shape_angle.y; return 1; diff --git a/src/d/actor/d_a_alink_whistle.inc b/src/d/actor/d_a_alink_whistle.inc index f96a9af975..ea07c1d6e9 100644 --- a/src/d/actor/d_a_alink_whistle.inc +++ b/src/d/actor/d_a_alink_whistle.inc @@ -67,7 +67,7 @@ int daAlink_c::procGrassWhistleGetInit() { current.angle.y = shape_angle.y; field_0x2f98 = 4; - setSingleAnimeParam(ANM_BOTTLE_SWING_DOWN, &daAlinkHIO_bottle_c0::m.mSwingDownAnm); + setSingleAnimeParam(ANM_BOTTLE_SWING_DOWN, &mpHIO->mItem.mBottle.m.mSwingDownAnm); field_0x2f92 = 0xFE; field_0x280c.setData(field_0x27f4); @@ -276,9 +276,9 @@ int daAlink_c::procCoHorseCallWaitInit(int param_0) { } if (checkWolf()) { - setSingleAnimeWolfBaseSpeed(WANM_WAIT, daAlinkHIO_wlMove_c0::m.mIdleAnmSpeed, 3.0f); + setSingleAnimeWolfBaseSpeed(WANM_WAIT, mpHIO->mWolf.mWlMove.m.mIdleAnmSpeed, 3.0f); } else { - setSingleAnimeBaseSpeed(ANM_WAIT, daAlinkHIO_move_c0::m.mWaitAnmSpeed, 3.0f); + setSingleAnimeBaseSpeed(ANM_WAIT, mpHIO->mMove.m.mWaitAnmSpeed, 3.0f); } setGrassCancelStatus(0); diff --git a/src/d/actor/d_a_alink_wolf.inc b/src/d/actor/d_a_alink_wolf.inc index 3c2be85cb8..8095f93a0a 100644 --- a/src/d/actor/d_a_alink_wolf.inc +++ b/src/d/actor/d_a_alink_wolf.inc @@ -131,7 +131,7 @@ void daAlink_c::changeCommon() { field_0x32a0[1].b = 0; field_0x2fc4 = 0; - mHotspringRecoverTimer = daAlinkHIO_basic_c0::m.mHotspringRecoverTime; + mHotspringRecoverTimer = mpHIO->mBasic.m.mHotspringRecoverTime; field_0x2fc9 = 0x10; for (; i < 4; i++) { @@ -200,12 +200,12 @@ void daAlink_c::changeWolf() { field_0x598 = 115.0f; mLinkAcch.SetRoofCrrHeight(field_0x598); - field_0x594 = daAlinkHIO_wlMove_c0::m.mMaxSpeed; + field_0x594 = mpHIO->mWolf.mWlMove.m.mMaxSpeed; - l_autoUpHeight = daAlinkHIO_wlWallHang_c0::m.mAutoWalkHeight + 0.01f; + l_autoUpHeight = mpHIO->mWolf.mWlWallHang.m.mAutoWalkHeight + 0.01f; l_autoDownHeight = -l_autoUpHeight; - field_0x3470 = cM_scos(cM_deg2s(daAlinkHIO_wlSlide_c0::m.mSlidingAngle)); - field_0x3122 = cM_deg2s(daAlinkHIO_wlSlide_c0::m.mClimbingAngle); + field_0x3470 = cM_scos(cM_deg2s(mpHIO->mWolf.mWlSlide.m.mSlidingAngle)); + field_0x3122 = cM_deg2s(mpHIO->mWolf.mWlSlide.m.mClimbingAngle); field_0x3458 = -60.0f; field_0x345c = -130.0f; @@ -223,7 +223,7 @@ void daAlink_c::changeWolf() { mZ2Link.setLinkState(1); field_0x30d6 = 0; field_0x2fa6 = 0; - field_0x2e54.changeWaterOffset(daAlinkHIO_basic_c0::m.mWolfWaterSurfaceEffectHeight); + field_0x2e54.changeWaterOffset(mpHIO->mBasic.m.mWolfWaterSurfaceEffectHeight); field_0x2e54.changeRippleOffset(field_0x598); mWoodSwordModel = NULL; field_0x3420 = 1.25f; @@ -466,16 +466,16 @@ void daAlink_c::changeLink(int param_0) { field_0x598 = 180.0f; mLinkAcch.SetRoofCrrHeight(field_0x598); - field_0x594 = daAlinkHIO_move_c0::m.mMaxSpeed; + field_0x594 = mpHIO->mMove.m.mMaxSpeed; - l_autoUpHeight = daAlinkHIO_wallHang_c0::m.auto_walk_height + 0.01f; + l_autoUpHeight = mpHIO->mWallHang.m.auto_walk_height + 0.01f; l_autoDownHeight = -l_autoUpHeight; - field_0x3470 = cM_scos(cM_deg2s(daAlinkHIO_slide_c0::m.mSlideAngle)); - field_0x3122 = cM_deg2s(daAlinkHIO_slide_c0::m.mClimbAngle); + field_0x3470 = cM_scos(cM_deg2s(mpHIO->mSlide.m.mSlideAngle)); + field_0x3122 = cM_deg2s(mpHIO->mSlide.m.mClimbAngle); field_0x3458 = -120.0f; field_0x345c = -200.0f; - field_0x2e54.changeWaterOffset(daAlinkHIO_basic_c0::m.mWaterSurfaceEffectHeight); + field_0x2e54.changeWaterOffset(mpHIO->mBasic.m.mWaterSurfaceEffectHeight); field_0x2e54.changeRippleOffset(field_0x598); offWolfEyeUp(); @@ -534,7 +534,7 @@ void daAlink_c::changeLink(int param_0) { void daAlink_c::onWolfEyeUp() { if (mWolfEyeUp == 0) { mZ2Link.setWolfEyeOpen(true); - mWolfEyeUp = daAlinkHIO_wolf_c0::m.mSensesLingerTime; + mWolfEyeUp = mpHIO->mWolf.m.mSensesLingerTime; field_0x2fd2 = 20; } } @@ -617,23 +617,23 @@ void daAlink_c::setSpeedAndAngleWolf() { s16 var_r29; s16 var_r28; if (checkWolfDashMode()) { - var_r30 = daAlinkHIO_wlMove_c0::m.mTurnAngleRate; - var_r29 = daAlinkHIO_wlMove_c0::m.mTurnMax; - var_r28 = daAlinkHIO_wlMove_c0::m.mTurnMin; + var_r30 = mpHIO->mWolf.mWlMove.m.mTurnAngleRate; + var_r29 = mpHIO->mWolf.mWlMove.m.mTurnMax; + var_r28 = mpHIO->mWolf.mWlMove.m.mTurnMin; if (checkWolfSlowDash()) { - var_f30 = daAlinkHIO_wlMove_c0::m.mADashAccelerationSlow; + var_f30 = mpHIO->mWolf.mWlMove.m.mADashAccelerationSlow; } else if (field_0x2fc7 == 2) { - var_f30 = daAlinkHIO_wlMove_c0::m.mADashAccelerationSlow2; + var_f30 = mpHIO->mWolf.mWlMove.m.mADashAccelerationSlow2; } else { - var_f30 = daAlinkHIO_wlMove_c0::m.mADashAcceleration; + var_f30 = mpHIO->mWolf.mWlMove.m.mADashAcceleration; } - var_f29 = daAlinkHIO_wlMove_c0::m.mDeceleration; + var_f29 = mpHIO->mWolf.mWlMove.m.mDeceleration; } else { - var_r30 = daAlinkHIO_wlMoveNoP_c0::m.mTurnAngleRate; - var_r29 = daAlinkHIO_wlMoveNoP_c0::m.mTurnMax; - var_r28 = daAlinkHIO_wlMoveNoP_c0::m.mTurnMin; - var_f30 = daAlinkHIO_wlMoveNoP_c0::m.mAcceleration; - var_f29 = daAlinkHIO_wlMoveNoP_c0::m.mDeceleration; + var_r30 = mpHIO->mWolf.mWlMoveNoP.m.mTurnAngleRate; + var_r29 = mpHIO->mWolf.mWlMoveNoP.m.mTurnMax; + var_r28 = mpHIO->mWolf.mWlMoveNoP.m.mTurnMin; + var_f30 = mpHIO->mWolf.mWlMoveNoP.m.mAcceleration; + var_f29 = mpHIO->mWolf.mWlMoveNoP.m.mDeceleration; } BOOL temp_r31 = checkEventRun(); @@ -655,8 +655,8 @@ void daAlink_c::setSpeedAndAngleWolf() { var_r26 = 1; } } else if (mProcID == PROC_WOLF_MOVE && - ((checkWolfDashMode() && temp_f27 > daAlinkHIO_wlMove_c0::m.mSlipStartRate) || - (!checkWolfDashMode() && temp_f27 > daAlinkHIO_wlMoveNoP_c0::m.mSlideStartRate))) + ((checkWolfDashMode() && temp_f27 > mpHIO->mWolf.mWlMove.m.mSlipStartRate) || + (!checkWolfDashMode() && temp_f27 > mpHIO->mWolf.mWlMoveNoP.m.mSlideStartRate))) { return; } else { @@ -745,18 +745,18 @@ void daAlink_c::setSpeedAndAngleWolfAtn() { f32 var_f30; f32 var_f29; if (field_0x2f98 == 1) { - var_f30 = daAlinkHIO_wlAtnMove_c0::m.mRearAcceleration; - var_f29 = daAlinkHIO_wlAtnMove_c0::m.mRearDeceleration; + var_f30 = mpHIO->mWolf.mWlAtnMove.m.mRearAcceleration; + var_f29 = mpHIO->mWolf.mWlAtnMove.m.mRearDeceleration; } else { - var_f30 = daAlinkHIO_wlAtnMove_c0::m.mAcceleration; - var_f29 = daAlinkHIO_wlAtnMove_c0::m.mDeceleration; + var_f30 = mpHIO->mWolf.mWlAtnMove.m.mAcceleration; + var_f29 = mpHIO->mWolf.mWlAtnMove.m.mDeceleration; } s16 var_r29; if (checkFmChainGrabAnime()) { var_r29 = 1000; } else { - var_r29 = daAlinkHIO_wlAtnMove_c0::m.mTurnAngleMax; + var_r29 = mpHIO->mWolf.mWlAtnMove.m.mTurnAngleMax; } s16 var_r27; @@ -781,8 +781,8 @@ void daAlink_c::setSpeedAndAngleWolfAtn() { } s16 temp_r28 = current.angle.y; - cLib_addCalcAngleS(¤t.angle.y, var_r27, daAlinkHIO_wlAtnMove_c0::m.mTurnAngleRate, var_r29, - daAlinkHIO_wlAtnMove_c0::m.mTurnAngleMin); + cLib_addCalcAngleS(¤t.angle.y, var_r27, mpHIO->mWolf.mWlAtnMove.m.mTurnAngleRate, var_r29, + mpHIO->mWolf.mWlAtnMove.m.mTurnAngleMin); if (wolfSideBgCheck(temp_r28)) { current.angle.y = temp_r28; @@ -819,8 +819,8 @@ void daAlink_c::setSpeedAndAngleWolfAtn() { var_r26 = current.angle.y; } - cLib_addCalcAngleS(&shape_angle.y, var_r26, daAlinkHIO_wlAtnMove_c0::m.mTurnAngleRate, - var_r29 * 2, daAlinkHIO_wlAtnMove_c0::m.mTurnAngleMin * 2); + cLib_addCalcAngleS(&shape_angle.y, var_r26, mpHIO->mWolf.mWlAtnMove.m.mTurnAngleRate, + var_r29 * 2, mpHIO->mWolf.mWlAtnMove.m.mTurnAngleMin * 2); } setNormalSpeedF(var_f31, var_f29); @@ -858,27 +858,27 @@ void daAlink_c::setBlendWolfMoveAnime(f32 param_0) { f32 sp34, sp30, sp2C, sp28, sp24, sp20, sp1C, sp18, sp14, sp10; if (checkWolfDashMode()) { - sp20 = daAlinkHIO_wlMove_c0::m.mWalkToBriskWalkRate; - sp14 = daAlinkHIO_wlMove_c0::m.mWalkRunInterpolation; - sp1C = daAlinkHIO_wlMove_c0::m.mIdleToWalkRate; - sp18 = daAlinkHIO_wlMove_c0::m.mStandbyRunToRunRate; - sp34 = daAlinkHIO_wlMove_c0::m.mIdleAnmSpeed; - sp30 = daAlinkHIO_wlMove_c0::m.mWalkAnmSpeed; - sp2C = daAlinkHIO_wlMove_c0::m.mBriskWalkAnmSpeed; - sp28 = daAlinkHIO_wlMove_c0::m.mRunAnmSpeed; - sp24 = daAlinkHIO_wlSlide_c0::m.mClimbingAnmSpeed; - sp10 = daAlinkHIO_wlMove_c0::m.mRunAnmMinBlendRate; + sp20 = mpHIO->mWolf.mWlMove.m.mWalkToBriskWalkRate; + sp14 = mpHIO->mWolf.mWlMove.m.mWalkRunInterpolation; + sp1C = mpHIO->mWolf.mWlMove.m.mIdleToWalkRate; + sp18 = mpHIO->mWolf.mWlMove.m.mStandbyRunToRunRate; + sp34 = mpHIO->mWolf.mWlMove.m.mIdleAnmSpeed; + sp30 = mpHIO->mWolf.mWlMove.m.mWalkAnmSpeed; + sp2C = mpHIO->mWolf.mWlMove.m.mBriskWalkAnmSpeed; + sp28 = mpHIO->mWolf.mWlMove.m.mRunAnmSpeed; + sp24 = mpHIO->mWolf.mWlSlide.m.mClimbingAnmSpeed; + sp10 = mpHIO->mWolf.mWlMove.m.mRunAnmMinBlendRate; } else { - sp20 = daAlinkHIO_wlMoveNoP_c0::m.mWalkToJogRate; - sp14 = daAlinkHIO_wlMoveNoP_c0::m.mWalkRunInterpolation; - sp1C = daAlinkHIO_wlMoveNoP_c0::m.mIdleToWalkRate; - sp18 = daAlinkHIO_wlMoveNoP_c0::m.mJogToRunRate; - sp34 = daAlinkHIO_wlMoveNoP_c0::m.mIdleAnmSpeed; - sp30 = daAlinkHIO_wlMoveNoP_c0::m.mWalkAnmSpeed; - sp2C = daAlinkHIO_wlMoveNoP_c0::m.mJogAnmSpeed; - sp28 = daAlinkHIO_wlMoveNoP_c0::m.mRunAnmSpeed; - sp24 = daAlinkHIO_wlSlide_c0::m.mClimbingAnmSpeedWeak; - sp10 = daAlinkHIO_wlMoveNoP_c0::m.mRunAnmMinBlendRate; + sp20 = mpHIO->mWolf.mWlMoveNoP.m.mWalkToJogRate; + sp14 = mpHIO->mWolf.mWlMoveNoP.m.mWalkRunInterpolation; + sp1C = mpHIO->mWolf.mWlMoveNoP.m.mIdleToWalkRate; + sp18 = mpHIO->mWolf.mWlMoveNoP.m.mJogToRunRate; + sp34 = mpHIO->mWolf.mWlMoveNoP.m.mIdleAnmSpeed; + sp30 = mpHIO->mWolf.mWlMoveNoP.m.mWalkAnmSpeed; + sp2C = mpHIO->mWolf.mWlMoveNoP.m.mJogAnmSpeed; + sp28 = mpHIO->mWolf.mWlMoveNoP.m.mRunAnmSpeed; + sp24 = mpHIO->mWolf.mWlSlide.m.mClimbingAnmSpeedWeak; + sp10 = mpHIO->mWolf.mWlMoveNoP.m.mRunAnmMinBlendRate; } if (temp_f30 < sp20 || checkAttentionState() || checkHeavyStateOn(1, 1) || checkSlope()) { @@ -928,7 +928,7 @@ void daAlink_c::setBlendWolfMoveAnime(f32 param_0) { if (checkAttentionState()) { var_r27 = WANM_ATN; - sp34 = daAlinkHIO_wlMove_c0::m.mGazeIdleAnmSpeed; + sp34 = mpHIO->mWolf.mWlMove.m.mGazeIdleAnmSpeed; } else if (checkWindSpeedOnXZ() && !checkEventRun()) { var_r27 = WANM_WAIT_WIND; sp34 = 1.0f; @@ -976,7 +976,7 @@ void daAlink_c::setBlendWolfMoveAnime(f32 param_0) { if (!checkWolfDashMode()) { setDoubleAnimeWolf(1.0f, sp28, sp28, WANM_DASH_A, WANM_DASH_A, 1, param_0); } else { - var_f31 = (temp_f30 - sp18) / (daAlinkHIO_wlMove_c0::m.mRunToQuickRunRate - sp18); + var_f31 = (temp_f30 - sp18) / (mpHIO->mWolf.mWlMove.m.mRunToQuickRunRate - sp18); if (var_f31 > 1.0f) { var_f31 = 1.0f; } @@ -984,14 +984,14 @@ void daAlink_c::setBlendWolfMoveAnime(f32 param_0) { f32 spC; if (checkNoResetFlg1(FLG1_DASH_MODE)) { if (checkWolfSlowDash() != 0) { - spC = daAlinkHIO_wlMove_c0::m.mADashQuickRunASpeedSlow; + spC = mpHIO->mWolf.mWlMove.m.mADashQuickRunASpeedSlow; } else if (field_0x2fc7 == 2) { - spC = daAlinkHIO_wlMove_c0::m.mADashQuickRunASpeedSlow2; + spC = mpHIO->mWolf.mWlMove.m.mADashQuickRunASpeedSlow2; } else { - spC = daAlinkHIO_wlMove_c0::m.mADashQuickRunAnmSpeed; + spC = mpHIO->mWolf.mWlMove.m.mADashQuickRunAnmSpeed; } } else { - spC = daAlinkHIO_wlMove_c0::m.mQuickRunAnmSpeed; + spC = mpHIO->mWolf.mWlMove.m.mQuickRunAnmSpeed; } setDoubleAnimeWolf(var_f31, sp28, spC, WANM_DASH_A, WANM_DASH_B, 1, param_0); @@ -1111,8 +1111,8 @@ void daAlink_c::setBlendWolfAtnMoveAnime(f32 param_0) { f32 var_f31 = fabsf((mNormalSpeed * cM_scos(var_r28)) / field_0x594); f32 var_f30; - if (var_f31 < daAlinkHIO_wlAtnMove_c0::m.mWalkChangeRate) { - var_f30 = var_f31 / daAlinkHIO_wlAtnMove_c0::m.mWalkChangeRate; + if (var_f31 < mpHIO->mWolf.mWlAtnMove.m.mWalkChangeRate) { + var_f30 = var_f31 / mpHIO->mWolf.mWlAtnMove.m.mWalkChangeRate; int var_r27; if (checkModeFlg(1)) { var_r27 = 2; @@ -1124,31 +1124,31 @@ void daAlink_c::setBlendWolfAtnMoveAnime(f32 param_0) { f32 var_f28; if (checkWolfAtnWait()) { var_r26 = WANM_ATN; - var_f28 = daAlinkHIO_wlMove_c0::m.mGazeIdleAnmSpeed; + var_f28 = mpHIO->mWolf.mWlMove.m.mGazeIdleAnmSpeed; } else { var_r26 = WANM_WAIT; - var_f28 = daAlinkHIO_wlMoveNoP_c0::m.mIdleAnmSpeed; + var_f28 = mpHIO->mWolf.mWlMoveNoP.m.mIdleAnmSpeed; } - setDoubleAnimeWolf(var_f30, var_f28, daAlinkHIO_wlAtnMove_c0::m.mWalkAnmSpeed, var_r26, + setDoubleAnimeWolf(var_f30, var_f28, mpHIO->mWolf.mWlAtnMove.m.mWalkAnmSpeed, var_r26, WANM_ATN_LOCK_WALK_FRONT, var_r27, param_0); - } else if (var_f31 < daAlinkHIO_wlAtnMove_c0::m.mRunChangeRate) { + } else if (var_f31 < mpHIO->mWolf.mWlAtnMove.m.mRunChangeRate) { var_f30 = - (var_f31 - daAlinkHIO_wlAtnMove_c0::m.mWalkChangeRate) / - (daAlinkHIO_wlAtnMove_c0::m.mRunChangeRate - daAlinkHIO_wlAtnMove_c0::m.mWalkChangeRate); - setDoubleAnimeWolf(var_f30, daAlinkHIO_wlAtnMove_c0::m.mWalkAnmSpeed, - daAlinkHIO_wlAtnMove_c0::m.mRunAnmSpeed, WANM_ATN_LOCK_WALK_FRONT, + (var_f31 - mpHIO->mWolf.mWlAtnMove.m.mWalkChangeRate) / + (mpHIO->mWolf.mWlAtnMove.m.mRunChangeRate - mpHIO->mWolf.mWlAtnMove.m.mWalkChangeRate); + setDoubleAnimeWolf(var_f30, mpHIO->mWolf.mWlAtnMove.m.mWalkAnmSpeed, + mpHIO->mWolf.mWlAtnMove.m.mRunAnmSpeed, WANM_ATN_LOCK_WALK_FRONT, WANM_ATN_LOCK_RUN, 3, param_0); } else { - setDoubleAnimeWolf(1.0f, daAlinkHIO_wlAtnMove_c0::m.mRunAnmSpeed, - daAlinkHIO_wlAtnMove_c0::m.mRunAnmSpeed, WANM_ATN_LOCK_RUN, + setDoubleAnimeWolf(1.0f, mpHIO->mWolf.mWlAtnMove.m.mRunAnmSpeed, + mpHIO->mWolf.mWlAtnMove.m.mRunAnmSpeed, WANM_ATN_LOCK_RUN, WANM_ATN_LOCK_RUN, 3, param_0); } } } void daAlink_c::setBlendWolfAtnBackMoveAnime(f32 param_0) { - field_0x594 = daAlinkHIO_wlAtnMove_c0::m.mRearMaxSpeed; + field_0x594 = mpHIO->mWolf.mWlAtnMove.m.mRearMaxSpeed; f32 var_f28; if (field_0x3174 == 8) { @@ -1162,8 +1162,8 @@ void daAlink_c::setBlendWolfAtnBackMoveAnime(f32 param_0) { field_0x2fc1 = 3; - if (temp_f31 < daAlinkHIO_wlAtnMove_c0::m.mRearWalkChangeRate) { - f32 temp_f29 = temp_f31 / daAlinkHIO_wlAtnMove_c0::m.mRearWalkChangeRate; + if (temp_f31 < mpHIO->mWolf.mWlAtnMove.m.mRearWalkChangeRate) { + f32 temp_f29 = temp_f31 / mpHIO->mWolf.mWlAtnMove.m.mRearWalkChangeRate; int var_r29; if (checkModeFlg(1)) { @@ -1175,17 +1175,17 @@ void daAlink_c::setBlendWolfAtnBackMoveAnime(f32 param_0) { daAlink_WANM var_r28; if (checkWolfAtnWait()) { var_r28 = WANM_ATN; - var_f30 = daAlinkHIO_wlMove_c0::m.mGazeIdleAnmSpeed; + var_f30 = mpHIO->mWolf.mWlMove.m.mGazeIdleAnmSpeed; } else { var_r28 = WANM_WAIT; - var_f30 = daAlinkHIO_wlMoveNoP_c0::m.mIdleAnmSpeed; + var_f30 = mpHIO->mWolf.mWlMoveNoP.m.mIdleAnmSpeed; } - setDoubleAnimeWolf(temp_f29, var_f30, daAlinkHIO_wlAtnMove_c0::m.mRearWalkAnmSpeed, var_r28, + setDoubleAnimeWolf(temp_f29, var_f30, mpHIO->mWolf.mWlAtnMove.m.mRearWalkAnmSpeed, var_r28, WANM_ATN_LOCK_WALK_BACK, var_r29, param_0); } else { - setDoubleAnimeWolf(1.0f, daAlinkHIO_wlAtnMove_c0::m.mRearWalkAnmSpeed, - daAlinkHIO_wlAtnMove_c0::m.mRearWalkAnmSpeed, WANM_ATN_LOCK_WALK_BACK, + setDoubleAnimeWolf(1.0f, mpHIO->mWolf.mWlAtnMove.m.mRearWalkAnmSpeed, + mpHIO->mWolf.mWlAtnMove.m.mRearWalkAnmSpeed, WANM_ATN_LOCK_WALK_BACK, WANM_ATN_LOCK_WALK_BACK, 3, param_0); } } @@ -1217,7 +1217,7 @@ int daAlink_c::setDoubleAnimeWolf(f32 param_0, f32 param_1, f32 param_2, } if (var_r30 != 0 && param_6 < 0.0f) { - param_6 = daAlinkHIO_wlMove_c0::m.mNormalInterpolation; + param_6 = mpHIO->mWolf.mWlMove.m.mNormalInterpolation; } commonDoubleAnime(var_r29, NULL, var_r28, NULL, param_0, param_1, param_2, param_5); @@ -1303,7 +1303,7 @@ void daAlink_c::setSingleAnimeWolfParam(daAlink_c::daAlink_WANM i_anmID, int daAlink_c::checkWolfLandAction(int param_0) { f32 temp_f31 = 0.0099999998f * (mFallHeight - current.pos.y); - if (checkNoLandDamageSlidePolygon() || temp_f31 < daAlinkHIO_wlDamFall_c0::m.mSmallDamageHeight) { + if (checkNoLandDamageSlidePolygon() || temp_f31 < mpHIO->mWolf.mWlDamage.mFall.m.mSmallDamageHeight) { if (param_0 != 0) { procWolfLandDamageInit(0); } else if (mProcID == PROC_WOLF_JUMP_ATTACK || mProcID == PROC_WOLF_DASH_REVERSE) { @@ -1313,7 +1313,7 @@ int daAlink_c::checkWolfLandAction(int param_0) { } } else { int var_r4; - if (temp_f31 < daAlinkHIO_wlDamFall_c0::m.mLargeDamageHeight) { + if (temp_f31 < mpHIO->mWolf.mWlDamage.mFall.m.mLargeDamageHeight) { var_r4 = 1; } else { var_r4 = 2; @@ -1339,7 +1339,7 @@ void daAlink_c::checkWolfUseAbility() { } else { // event flag 0x4308: senses ability unlocked if (dComIfGs_isEventBit(0x4308) && field_0x2fd2 == 0 && !checkEventRun() && - mWolfEyeUp < daAlinkHIO_wolf_c0::m.mSensesLingerTime && wolfSenseTrigger()) + mWolfEyeUp < mpHIO->mWolf.m.mSensesLingerTime && wolfSenseTrigger()) { if (mWolfEyeUp == 0) { onWolfEyeUp(); @@ -1396,28 +1396,28 @@ int daAlink_c::checkNextActionWolf(int param_0) { if (checkSlope()) { if (checkWolfDashMode()) { - field_0x594 = daAlinkHIO_wlSlide_c0::m.mClimbingMaxSpeed; + field_0x594 = mpHIO->mWolf.mWlSlide.m.mClimbingMaxSpeed; } else { - field_0x594 = daAlinkHIO_wlSlide_c0::m.mClimbingMaxSpeedWeak; + field_0x594 = mpHIO->mWolf.mWlSlide.m.mClimbingMaxSpeedWeak; } } else if (checkFmChainGrabAnime()) { field_0x594 = 13.0f; } else if (mTargetedActor != NULL) { - field_0x594 = daAlinkHIO_wlAtnMove_c0::m.mMaxSpeed; + field_0x594 = mpHIO->mWolf.mWlAtnMove.m.mMaxSpeed; } else if (checkAttentionState()) { - field_0x594 = daAlinkHIO_wlMove_c0::m.mGazeMaxSpeed; + field_0x594 = mpHIO->mWolf.mWlMove.m.mGazeMaxSpeed; } else if (checkNoResetFlg1(FLG1_DASH_MODE)) { if (checkWolfSlowDash()) { - field_0x594 = daAlinkHIO_wlMove_c0::m.mADashMaxSpeedSlow; + field_0x594 = mpHIO->mWolf.mWlMove.m.mADashMaxSpeedSlow; } else if (field_0x2fc7 == 2) { - field_0x594 = daAlinkHIO_wlMove_c0::m.mADashMaxSpeedSlow2; + field_0x594 = mpHIO->mWolf.mWlMove.m.mADashMaxSpeedSlow2; } else { - field_0x594 = daAlinkHIO_wlMove_c0::m.mADashMaxSpeed; + field_0x594 = mpHIO->mWolf.mWlMove.m.mADashMaxSpeed; } } else if (checkWolfDashMode()) { - field_0x594 = daAlinkHIO_wlMove_c0::m.mMaxSpeed; + field_0x594 = mpHIO->mWolf.mWlMove.m.mMaxSpeed; } else { - field_0x594 = daAlinkHIO_wlMoveNoP_c0::m.mMaxSpeed; + field_0x594 = mpHIO->mWolf.mWlMoveNoP.m.mMaxSpeed; } if (checkWolfGroundSpecialMode()) { @@ -1475,9 +1475,9 @@ int daAlink_c::checkNextActionWolf(int param_0) { abs(field_0x3180) < 0x5000 && cLib_distanceAngleS(field_0x2fe2, current.angle.y) > 0x7000 && ((checkWolfDashMode() && - speedF / field_0x594 > daAlinkHIO_wlMove_c0::m.mSlipStartRate) || + speedF / field_0x594 > mpHIO->mWolf.mWlMove.m.mSlipStartRate) || (!checkWolfDashMode() && - speedF / field_0x594 > daAlinkHIO_wlMoveNoP_c0::m.mSlideStartRate))) + speedF / field_0x594 > mpHIO->mWolf.mWlMoveNoP.m.mSlideStartRate))) { var_r30 = procWolfSlipInit(); } else { @@ -2144,7 +2144,7 @@ BOOL daAlink_c::checkWolfWaitSlipPolygon() { return 0; } - if (mGndPolySpecialCode == dBgW_SPCODE_LIGHT_SNOW && sp8.mNormal.y < cM_scos(cM_deg2s(daAlinkHIO_slide_c0::m.mClimbAngle))) { + if (mGndPolySpecialCode == dBgW_SPCODE_LIGHT_SNOW && sp8.mNormal.y < cM_scos(cM_deg2s(mpHIO->mSlide.m.mClimbAngle))) { return 1; } @@ -2353,9 +2353,9 @@ int daAlink_c::procWolfServiceWaitInit(int param_0) { field_0x3198 = 0; mProcVar2.field_0x300c = 0; } else { - setSingleAnimeWolf(WANM_SIT, 1.0f, daAlinkHIO_wlLie_c0::m.mSittingAnm.mStartFrame, - daAlinkHIO_wlLie_c0::m.mSittingAnm.mEndFrame, - daAlinkHIO_wlLie_c0::m.mSittingAnm.mInterpolation); + setSingleAnimeWolf(WANM_SIT, 1.0f, mpHIO->mWolf.mWlLie.m.mSittingAnm.mStartFrame, + mpHIO->mWolf.mWlLie.m.mSittingAnm.mEndFrame, + mpHIO->mWolf.mWlLie.m.mSittingAnm.mInterpolation); field_0x3198 = 0; mProcVar2.field_0x300c = 1; } @@ -2386,7 +2386,7 @@ int daAlink_c::procWolfServiceWait() { field_0x3198 = 0; mProcVar2.field_0x300c = 0; } else if (mProcVar2.field_0x300c != 0) { - setSingleAnimeWolfBaseSpeed(WANM_WAIT_SIT, daAlinkHIO_wlLie_c0::m.mSittingIdleAnmSpeed, daAlinkHIO_wlLie_c0::m.mSittingIdleInterp); + setSingleAnimeWolfBaseSpeed(WANM_WAIT_SIT, mpHIO->mWolf.mWlLie.m.mSittingIdleAnmSpeed, mpHIO->mWolf.mWlLie.m.mSittingIdleInterp); } else if (mProcVar4.field_0x3010 == 0) { setSingleAnimeWolfBase(WANM_SERVICE_WAIT_D); } else { @@ -2490,7 +2490,7 @@ int daAlink_c::procWolfWaitInit() { } commonProcInit(PROC_WOLF_WAIT); - setBlendWolfMoveAnime(daAlinkHIO_wlMove_c0::m.mIdleInterpolation); + setBlendWolfMoveAnime(mpHIO->mWolf.mWlMove.m.mIdleInterpolation); current.angle.y = shape_angle.y; field_0x2f98 = 4; mNormalSpeed = 0.0f; @@ -2524,7 +2524,7 @@ int daAlink_c::procWolfMoveInit() { return 0; } - setBlendWolfMoveAnime(daAlinkHIO_wlMove_c0::m.mNormalInterpolation); + setBlendWolfMoveAnime(mpHIO->mWolf.mWlMove.m.mNormalInterpolation); setFootEffectProcType(3); return 1; @@ -2533,8 +2533,8 @@ int daAlink_c::procWolfMoveInit() { int daAlink_c::procWolfMove() { if (!checkNextActionWolf(0) && !checkFrontWallTypeAction()) { if (mDemo.getDemoMode() == 2) { - if (mNormalSpeed > field_0x594 * daAlinkHIO_wlMoveNoP_c0::m.mWalkToJogRate) { - mNormalSpeed = field_0x594 * daAlinkHIO_wlMoveNoP_c0::m.mWalkToJogRate; + if (mNormalSpeed > field_0x594 * mpHIO->mWolf.mWlMoveNoP.m.mWalkToJogRate) { + mNormalSpeed = field_0x594 * mpHIO->mWolf.mWlMoveNoP.m.mWalkToJogRate; } } @@ -2547,7 +2547,7 @@ int daAlink_c::procWolfMove() { int daAlink_c::procWolfDashInit() { commonProcInit(PROC_WOLF_DASH); - setSingleAnimeWolfParam(WANM_DASH_START, &daAlinkHIO_wlMove_c0::m.mADashAnm); + setSingleAnimeWolfParam(WANM_DASH_START, &mpHIO->mWolf.mWlMove.m.mADashAnm); setFootEffectProcType(3); current.angle.y = shape_angle.y; @@ -2556,25 +2556,25 @@ int daAlink_c::procWolfDashInit() { mProcVar3.field_0x300e = 0; if (checkWolfSlowDash()) { - field_0x30d0 = daAlinkHIO_wlMove_c0::m.mADashDurationSlow; - field_0x594 = daAlinkHIO_wlMove_c0::m.mADashMaxSpeedSlow; + field_0x30d0 = mpHIO->mWolf.mWlMove.m.mADashDurationSlow; + field_0x594 = mpHIO->mWolf.mWlMove.m.mADashMaxSpeedSlow; - if (mNormalSpeed < daAlinkHIO_wlMove_c0::m.mADashInitSpeedSlow) { - mNormalSpeed = daAlinkHIO_wlMove_c0::m.mADashInitSpeedSlow; + if (mNormalSpeed < mpHIO->mWolf.mWlMove.m.mADashInitSpeedSlow) { + mNormalSpeed = mpHIO->mWolf.mWlMove.m.mADashInitSpeedSlow; } } else if (field_0x2fc7 == 2) { - field_0x594 = daAlinkHIO_wlMove_c0::m.mADashMaxSpeedSlow2; - field_0x594 = daAlinkHIO_wlMove_c0::m.mADashMaxSpeedSlow2; + field_0x594 = mpHIO->mWolf.mWlMove.m.mADashMaxSpeedSlow2; + field_0x594 = mpHIO->mWolf.mWlMove.m.mADashMaxSpeedSlow2; - if (mNormalSpeed < daAlinkHIO_wlMove_c0::m.mADashInitSpeedSlow2) { - mNormalSpeed = daAlinkHIO_wlMove_c0::m.mADashInitSpeedSlow2; + if (mNormalSpeed < mpHIO->mWolf.mWlMove.m.mADashInitSpeedSlow2) { + mNormalSpeed = mpHIO->mWolf.mWlMove.m.mADashInitSpeedSlow2; } } else { - field_0x30d0 = daAlinkHIO_wlMove_c0::m.mADashDuration; - field_0x594 = daAlinkHIO_wlMove_c0::m.mADashMaxSpeed; + field_0x30d0 = mpHIO->mWolf.mWlMove.m.mADashDuration; + field_0x594 = mpHIO->mWolf.mWlMove.m.mADashMaxSpeed; - if (mNormalSpeed < daAlinkHIO_wlMove_c0::m.mADashInitSpeed) { - mNormalSpeed = daAlinkHIO_wlMove_c0::m.mADashInitSpeed; + if (mNormalSpeed < mpHIO->mWolf.mWlMove.m.mADashInitSpeed) { + mNormalSpeed = mpHIO->mWolf.mWlMove.m.mADashInitSpeed; } } @@ -2591,17 +2591,17 @@ int daAlink_c::procWolfDash() { f32 step_amount; if (checkWolfSlowDash()) { - step_amount = daAlinkHIO_wlMove_c0::m.mADashAccelerationSlow; + step_amount = mpHIO->mWolf.mWlMove.m.mADashAccelerationSlow; } else if (field_0x2fc7 == 2) { - step_amount = daAlinkHIO_wlMove_c0::m.mADashAccelerationSlow2; + step_amount = mpHIO->mWolf.mWlMove.m.mADashAccelerationSlow2; } else { - step_amount = daAlinkHIO_wlMove_c0::m.mADashAcceleration; + step_amount = mpHIO->mWolf.mWlMove.m.mADashAcceleration; } cLib_chaseF(&mNormalSpeed, field_0x594, step_amount); if (checkInputOnR()) { - cLib_addCalcAngleS(¤t.angle.y, field_0x2fe2, daAlinkHIO_wlMove_c0::m.mTurnAngleRate, - daAlinkHIO_wlMove_c0::m.mTurnMax, daAlinkHIO_wlMove_c0::m.mTurnMin); + cLib_addCalcAngleS(¤t.angle.y, field_0x2fe2, mpHIO->mWolf.mWlMove.m.mTurnAngleRate, + mpHIO->mWolf.mWlMove.m.mTurnMax, mpHIO->mWolf.mWlMove.m.mTurnMin); shape_angle.y = current.angle.y; } @@ -2619,25 +2619,25 @@ int daAlink_c::procWolfDash() { } if (checkWolfSlowDash()) { - field_0x30d2 = daAlinkHIO_wlMove_c0::m.mADashCooldownTimeSlow; + field_0x30d2 = mpHIO->mWolf.mWlMove.m.mADashCooldownTimeSlow; } else if (field_0x2fc7 == 2) { - field_0x30d2 = daAlinkHIO_wlMove_c0::m.mADashCooldownTimeSlow2; + field_0x30d2 = mpHIO->mWolf.mWlMove.m.mADashCooldownTimeSlow2; } else { - field_0x30d2 = daAlinkHIO_wlMove_c0::m.mADashCooldownTime; + field_0x30d2 = mpHIO->mWolf.mWlMove.m.mADashCooldownTime; } return checkNextActionWolf(0); - } else if (frameCtrl_p->getFrame() > daAlinkHIO_wlMove_c0::m.mADashAnm.mCancelFrame) { + } else if (frameCtrl_p->getFrame() > mpHIO->mWolf.mWlMove.m.mADashAnm.mCancelFrame) { if (mProcVar3.field_0x300e != 0) { return checkWolfAttackAction(); } if (checkWolfSlowDash()) { - field_0x30d2 = daAlinkHIO_wlMove_c0::m.mADashCooldownTimeSlow; + field_0x30d2 = mpHIO->mWolf.mWlMove.m.mADashCooldownTimeSlow; } else if (field_0x2fc7 == 2) { - field_0x30d2 = daAlinkHIO_wlMove_c0::m.mADashCooldownTimeSlow2; + field_0x30d2 = mpHIO->mWolf.mWlMove.m.mADashCooldownTimeSlow2; } else { - field_0x30d2 = daAlinkHIO_wlMove_c0::m.mADashCooldownTime; + field_0x30d2 = mpHIO->mWolf.mWlMove.m.mADashCooldownTime; } checkNextActionWolf(1); @@ -2656,9 +2656,9 @@ int daAlink_c::procWolfDash() { int daAlink_c::procWolfDashReverseInit(int param_0) { commonProcInit(PROC_WOLF_DASH_REVERSE); - setSingleAnimeWolf(WANM_ATTACK_RECOIL_GROUND, daAlinkHIO_wlMove_c0::m.mDashReboundAnm.mSpeed, - daAlinkHIO_wlMove_c0::m.mDashReboundAnm.mStartFrame, 5, - daAlinkHIO_wlMove_c0::m.mDashReboundAnm.mInterpolation); + setSingleAnimeWolf(WANM_ATTACK_RECOIL_GROUND, mpHIO->mWolf.mWlMove.m.mDashReboundAnm.mSpeed, + mpHIO->mWolf.mWlMove.m.mDashReboundAnm.mStartFrame, 5, + mpHIO->mWolf.mWlMove.m.mDashReboundAnm.mInterpolation); if (param_0) { current.angle.y = field_0x3102 + 0x8000; @@ -2672,8 +2672,8 @@ int daAlink_c::procWolfDashReverseInit(int param_0) { mProcVar2.field_0x300c = 1; } else { - mNormalSpeed = daAlinkHIO_wlMove_c0::m.mDashReboundHorizontalSpeed; - speed.y = daAlinkHIO_wlMove_c0::m.mDashReboundVerticalSpeed; + mNormalSpeed = mpHIO->mWolf.mWlMove.m.mDashReboundHorizontalSpeed; + speed.y = mpHIO->mWolf.mWlMove.m.mDashReboundVerticalSpeed; current.angle.y += 0x8000; mProcVar2.field_0x300c = 0; } @@ -2696,7 +2696,7 @@ int daAlink_c::procWolfDashReverse() { if (!checkModeFlg(0x2)) { if (checkAnmEnd(frameCtrl_p)) { checkNextActionWolf(0); - } else if (frameCtrl_p->getFrame() > daAlinkHIO_wlMove_c0::m.mDashReboundAnm.mCancelFrame) { + } else if (frameCtrl_p->getFrame() > mpHIO->mWolf.mWlMove.m.mDashReboundAnm.mCancelFrame) { checkNextActionWolf(1); } } else if (mProcVar2.field_0x300c != 0) { @@ -2709,10 +2709,10 @@ int daAlink_c::procWolfDashReverse() { } mNormalSpeed = 0.0f; - frameCtrl_p->setFrame(daAlinkHIO_wlMove_c0::m.mDashReboundAnm.mSpeed + frameCtrl_p->getFrame()); + frameCtrl_p->setFrame(mpHIO->mWolf.mWlMove.m.mDashReboundAnm.mSpeed + frameCtrl_p->getFrame()); getNowAnmPackUnder(UNDER_0)->setFrame(frameCtrl_p->getFrame()); - frameCtrl_p->setRate(daAlinkHIO_wlMove_c0::m.mDashReboundAnm.mSpeed); - frameCtrl_p->setEnd(daAlinkHIO_wlMove_c0::m.mDashReboundAnm.mEndFrame); + frameCtrl_p->setRate(mpHIO->mWolf.mWlMove.m.mDashReboundAnm.mSpeed); + frameCtrl_p->setEnd(mpHIO->mWolf.mWlMove.m.mDashReboundAnm.mEndFrame); current.angle.y = shape_angle.y; offModeFlg(0x2); @@ -2732,7 +2732,7 @@ int daAlink_c::procWolfAtnActorMoveInit() { } setWolfAtnMoveDirection(); - setBlendWolfAtnMoveAnime(daAlinkHIO_wlMove_c0::m.mNormalInterpolation); + setBlendWolfAtnMoveAnime(mpHIO->mWolf.mWlMove.m.mNormalInterpolation); if (checkWolfAtnWait()) { voiceStartLevel(Z2SE_WL_V_ROAR); @@ -2772,12 +2772,12 @@ int daAlink_c::procWolfWaitTurnInit() { f32 anm_speed; if (checkWolfDashMode()) { - anm_speed = daAlinkHIO_wlMove_c0::m.mWalkAnmSpeed; + anm_speed = mpHIO->mWolf.mWlMove.m.mWalkAnmSpeed; } else { - anm_speed = daAlinkHIO_wlMoveNoP_c0::m.mWalkAnmSpeed; + anm_speed = mpHIO->mWolf.mWlMoveNoP.m.mWalkAnmSpeed; } - setSingleAnimeWolfBaseSpeed(WANM_WALK_A, anm_speed, daAlinkHIO_wlMove_c0::m.mNormalInterpolation); + setSingleAnimeWolfBaseSpeed(WANM_WALK_A, anm_speed, mpHIO->mWolf.mWlMove.m.mNormalInterpolation); if (checkEventRun()) { mNormalSpeed = 0.0f; @@ -2791,9 +2791,9 @@ int daAlink_c::procWolfWaitTurnInit() { int daAlink_c::procWolfWaitTurn() { f32 step_amount; if (checkWolfDashMode()) { - step_amount = daAlinkHIO_wlMove_c0::m.mDeceleration; + step_amount = mpHIO->mWolf.mWlMove.m.mDeceleration; } else { - step_amount = daAlinkHIO_wlMoveNoP_c0::m.mDeceleration; + step_amount = mpHIO->mWolf.mWlMoveNoP.m.mDeceleration; } cLib_chaseF(&mNormalSpeed, 0.0f, step_amount); @@ -2844,9 +2844,9 @@ int daAlink_c::procWolfSideStepInit(int param_0) { } current.angle.y = shape_angle.y + 0x8000; - setSingleAnimeWolfParam(WANM_BACK_JUMP_START, &daAlinkHIO_wlSideStep_c0::m.mBackJumpAnm); - mNormalSpeed = daAlinkHIO_wlSideStep_c0::m.mBackJumpHorizSpeed; - speed.y = daAlinkHIO_wlSideStep_c0::m.mBackJumpVertSpeed; + setSingleAnimeWolfParam(WANM_BACK_JUMP_START, &mpHIO->mWolf.mWlSideStep.m.mBackJumpAnm); + mNormalSpeed = mpHIO->mWolf.mWlSideStep.m.mBackJumpHorizSpeed; + speed.y = mpHIO->mWolf.mWlSideStep.m.mBackJumpVertSpeed; mProcVar1.field_0x300a = 0; } else { shape_angle.y = field_0x2fe4; @@ -2860,9 +2860,9 @@ int daAlink_c::procWolfSideStepInit(int param_0) { current.angle.y = shape_angle.y - 0x4000; } - setSingleAnimeWolfParam(jump_anm, &daAlinkHIO_wlSideStep_c0::m.mSideJumpAnm); - mNormalSpeed = daAlinkHIO_wlSideStep_c0::m.mSideJumpHorizSpeed; - speed.y = daAlinkHIO_wlSideStep_c0::m.mSideJumpVertSpeed; + setSingleAnimeWolfParam(jump_anm, &mpHIO->mWolf.mWlSideStep.m.mSideJumpAnm); + mNormalSpeed = mpHIO->mWolf.mWlSideStep.m.mSideJumpHorizSpeed; + speed.y = mpHIO->mWolf.mWlSideStep.m.mSideJumpVertSpeed; mProcVar1.field_0x300a = 1; } @@ -2875,8 +2875,8 @@ int daAlink_c::procWolfSideStepInit(int param_0) { int daAlink_c::procWolfSideStep() { if (mProcVar1.field_0x300a == 0) { cLib_addCalcAngleS( - &shape_angle.y, mProcVar2.field_0x300c, daAlinkHIO_wlAtnMove_c0::m.mTurnAngleRate, - daAlinkHIO_wlAtnMove_c0::m.mTurnAngleMax, daAlinkHIO_wlAtnMove_c0::m.mTurnAngleMin); + &shape_angle.y, mProcVar2.field_0x300c, mpHIO->mWolf.mWlAtnMove.m.mTurnAngleRate, + mpHIO->mWolf.mWlAtnMove.m.mTurnAngleMax, mpHIO->mWolf.mWlAtnMove.m.mTurnAngleMin); current.angle.y = shape_angle.y + 0x8000; } else if (mTargetedActor != NULL) { cLib_addCalcAngleS(&shape_angle.y, fopAcM_searchActorAngleY(this, mTargetedActor), 5, 0x5E8, @@ -2896,10 +2896,10 @@ int daAlink_c::procWolfSideStep() { } if (mDemo.getDemoMode() != 0x10 && - current.pos.y < mLastJumpPos.y - daAlinkHIO_wlSideStep_c0::m.mFallHeight) + current.pos.y < mLastJumpPos.y - mpHIO->mWolf.mWlSideStep.m.mFallHeight) { field_0x2f98 = 0; - return procWolfFallInit(2, daAlinkHIO_wlSideStep_c0::m.mFallInterp); + return procWolfFallInit(2, mpHIO->mWolf.mWlSideStep.m.mFallInterp); } mProcVar3.field_0x300e = 1; @@ -2910,15 +2910,18 @@ int daAlink_c::procWolfSideStepLandInit(s16 param_0) { commonProcInit(PROC_WOLF_SIDESTEP_LAND); if (field_0x2f98 == 1) { - setSingleAnimeWolfParam(WANM_BACK_JUMP_END, &daAlinkHIO_wlSideStep_c0::m.mBackLandAnm); - field_0x3478 = daAlinkHIO_wlSideStep_c0::m.mBackLandAnm.mCancelFrame; + setSingleAnimeWolfParam(WANM_BACK_JUMP_END, &mpHIO->mWolf.mWlSideStep.m.mBackLandAnm); + field_0x3478 = mpHIO->mWolf.mWlSideStep.m.mBackLandAnm.mCancelFrame; field_0x2fcc = 10; } else { field_0x2fcc = 0; - setSingleAnimeWolfParam(field_0x2f98 == 2 ? WANM_SIDE_JUMP_LEFT_END : - WANM_SIDE_JUMP_RIGHT_END, - &daAlinkHIO_wlSideStep_c0::m.mSideLandAnm); - field_0x3478 = daAlinkHIO_wlSideStep_c0::m.mSideLandAnm.mCancelFrame; + setSingleAnimeWolfParam( + field_0x2f98 == 2 ? WANM_SIDE_JUMP_LEFT_END : WANM_SIDE_JUMP_RIGHT_END, + // Fakematch, should be + // &mpHIO->mWolf.mWlSideStep.m.mSideLandAnm + &daAlinkHIO_wlSideStep_c0::m.mSideLandAnm + ); + field_0x3478 = mpHIO->mWolf.mWlSideStep.m.mSideLandAnm.mCancelFrame; } mProcVar5.field_0x3012 = param_0; @@ -2958,23 +2961,23 @@ int daAlink_c::procWolfBackJumpInit(int param_0) { commonProcInit(PROC_WOLF_BACKJUMP); if (param_0 == 1) { - setSingleAnimeWolfParam(WANM_BACKFLIP_START, &daAlinkHIO_wlAtDown_c0::m.mBackRollAnm); - mNormalSpeed = daAlinkHIO_wlAtDown_c0::m.mLandingSideRollMovementWidth; - speed.y = daAlinkHIO_wlAtDown_c0::m.mLandingFrontBackMovementWidth; + setSingleAnimeWolfParam(WANM_BACKFLIP_START, &mpHIO->mWolf.mWlAttack.mWlAtDown.m.mBackRollAnm); + mNormalSpeed = mpHIO->mWolf.mWlAttack.mWlAtDown.m.mLandingSideRollMovementWidth; + speed.y = mpHIO->mWolf.mWlAttack.mWlAtDown.m.mLandingFrontBackMovementWidth; voiceStart(Z2SE_WL_V_BREATH_JUMP); } else { if (param_0 == 2) { - setSingleAnimeWolf(WANM_BACKFLIP_START, daAlinkHIO_wlAtCjump_c0::m.mFlipKickPostAnmSpeed, - daAlinkHIO_wlAtCjump_c0::m.mFlipKickPostStartF, - daAlinkHIO_wlBackJump_c0::m.mBackJumpAnm.mEndFrame, - daAlinkHIO_wlBackJump_c0::m.mBackJumpAnm.mInterpolation); + setSingleAnimeWolf(WANM_BACKFLIP_START, mpHIO->mWolf.mWlAttack.mWlAtCjump.m.mFlipKickPostAnmSpeed, + mpHIO->mWolf.mWlAttack.mWlAtCjump.m.mFlipKickPostStartF, + mpHIO->mWolf.mWlBackJump.m.mBackJumpAnm.mEndFrame, + mpHIO->mWolf.mWlBackJump.m.mBackJumpAnm.mInterpolation); } else { - setSingleAnimeWolfParam(WANM_BACKFLIP_START, &daAlinkHIO_wlBackJump_c0::m.mBackJumpAnm); + setSingleAnimeWolfParam(WANM_BACKFLIP_START, &mpHIO->mWolf.mWlBackJump.m.mBackJumpAnm); voiceStart(Z2SE_WL_V_BREATH_JUMP); } - mNormalSpeed = daAlinkHIO_wlBackJump_c0::m.mBackJumpHorizSpeed; - speed.y = daAlinkHIO_wlBackJump_c0::m.mBackJumpVertSpeed; + mNormalSpeed = mpHIO->mWolf.mWlBackJump.m.mBackJumpHorizSpeed; + speed.y = mpHIO->mWolf.mWlBackJump.m.mBackJumpVertSpeed; } if (mTargetedActor != NULL && param_0 == 0) { @@ -2997,8 +3000,8 @@ int daAlink_c::procWolfBackJumpInit(int param_0) { } int daAlink_c::procWolfBackJump() { - cLib_addCalcAngleS(&shape_angle.y, mProcVar2.field_0x300c, daAlinkHIO_wlAtnMove_c0::m.mTurnAngleRate, - daAlinkHIO_wlAtnMove_c0::m.mTurnAngleMax, daAlinkHIO_wlAtnMove_c0::m.mTurnAngleMin); + cLib_addCalcAngleS(&shape_angle.y, mProcVar2.field_0x300c, mpHIO->mWolf.mWlAtnMove.m.mTurnAngleRate, + mpHIO->mWolf.mWlAtnMove.m.mTurnAngleMax, mpHIO->mWolf.mWlAtnMove.m.mTurnAngleMin); current.angle.y = shape_angle.y - -0x8000; if (mProcVar4.field_0x3010 != 0) { @@ -3010,10 +3013,10 @@ int daAlink_c::procWolfBackJump() { if (mUnderFrameCtrl[0].checkAnmEnd() && mLinkAcch.ChkGroundHit()) { procWolfBackJumpLandInit(mProcVar5.field_0x3012, mProcVar4.field_0x3010); } else if (mDemo.getDemoMode() != 0x10 && - current.pos.y < mLastJumpPos.y - daAlinkHIO_wlBackJump_c0::m.mFallHeight) + current.pos.y < mLastJumpPos.y - mpHIO->mWolf.mWlBackJump.m.mFallHeight) { field_0x2f98 = 0; - procWolfFallInit(2, daAlinkHIO_wlBackJump_c0::m.mFallInterp); + procWolfFallInit(2, mpHIO->mWolf.mWlBackJump.m.mFallInterp); } return 1; @@ -3021,7 +3024,7 @@ int daAlink_c::procWolfBackJump() { int daAlink_c::procWolfBackJumpLandInit(s16 param_0, s16 param_1) { commonProcInit(PROC_WOLF_BACKJUMP_LAND); - setSingleAnimeWolfParam(WANM_BACKFLIP_END, &daAlinkHIO_wlBackJump_c0::m.mBackLandAnm); + setSingleAnimeWolfParam(WANM_BACKFLIP_END, &mpHIO->mWolf.mWlBackJump.m.mBackLandAnm); mNormalSpeed = 0.0f; field_0x2f9d = 4; setFootEffectProcType(2); @@ -3052,7 +3055,7 @@ int daAlink_c::procWolfBackJumpLand() { } else { checkNextActionWolf(0); } - } else if (frameCtrl->getFrame() > daAlinkHIO_wlBackJump_c0::m.mBackLandAnm.mCancelFrame) { + } else if (frameCtrl->getFrame() > mpHIO->mWolf.mWlBackJump.m.mBackLandAnm.mCancelFrame) { checkNextActionWolf(1); } @@ -3067,13 +3070,13 @@ int daAlink_c::procWolfHowlInit(int param_0) { commonProcInit(PROC_WOLF_HOWL); if (param_0 != 0) { - setSingleAnimeWolfParam(WANM_HOWL_SIT, &daAlinkHIO_wlHowl_c0::m.mSittingHowlAnm); + setSingleAnimeWolfParam(WANM_HOWL_SIT, &mpHIO->mWolf.mWlHowl.m.mSittingHowlAnm); onModeFlg(0x800000); - field_0x3478 = daAlinkHIO_wlHowl_c0::m.mSittingHowlAnm.mCancelFrame; + field_0x3478 = mpHIO->mWolf.mWlHowl.m.mSittingHowlAnm.mCancelFrame; mProcVar3.field_0x300e = 1; } else { - setSingleAnimeWolfParam(WANM_HOWL, &daAlinkHIO_wlHowl_c0::m.mHowlAnm); - field_0x3478 = daAlinkHIO_wlHowl_c0::m.mHowlAnm.mCancelFrame; + setSingleAnimeWolfParam(WANM_HOWL, &mpHIO->mWolf.mWlHowl.m.mHowlAnm); + field_0x3478 = mpHIO->mWolf.mWlHowl.m.mHowlAnm.mCancelFrame; mProcVar3.field_0x300e = 0; } @@ -3128,25 +3131,25 @@ int daAlink_c::procWolfAutoJumpInit(int param_0) { s16 var_r30; if (checkWolfDashMode() && field_0x2fc7 != 3) { - var_f1 = daAlinkHIO_wlAutoJump_c0::m.mJumpAnm.mSpeed; - field_0x594 = daAlinkHIO_wlAutoJump_c0::m.mJumpMaxSpeed; - var_f31 = daAlinkHIO_wlAutoJump_c0::m.mJumpMinSpeed; - var_f30 = daAlinkHIO_wlAutoJump_c0::m.mJumpSpeedRate; - var_r30 = daAlinkHIO_wlAutoJump_c0::m.mJumpAngle; + var_f1 = mpHIO->mWolf.mWlAutoJump.m.mJumpAnm.mSpeed; + field_0x594 = mpHIO->mWolf.mWlAutoJump.m.mJumpMaxSpeed; + var_f31 = mpHIO->mWolf.mWlAutoJump.m.mJumpMinSpeed; + var_f30 = mpHIO->mWolf.mWlAutoJump.m.mJumpSpeedRate; + var_r30 = mpHIO->mWolf.mWlAutoJump.m.mJumpAngle; onNoResetFlg2(FLG2_WOLF_DASH_AUTO_JUMP); } else { - var_f1 = daAlinkHIO_wlAutoJump_c0::m.mWeakJumpAnmSpeed; - field_0x594 = daAlinkHIO_wlAutoJump_c0::m.mWeakJumpMaxSpeed; - var_f31 = daAlinkHIO_wlAutoJump_c0::m.mWeakJumpMinSpeed; - var_f30 = daAlinkHIO_wlAutoJump_c0::m.mWeakJumpSpeedRate; - var_r30 = daAlinkHIO_wlAutoJump_c0::m.mWeakJumpAngle; + var_f1 = mpHIO->mWolf.mWlAutoJump.m.mWeakJumpAnmSpeed; + field_0x594 = mpHIO->mWolf.mWlAutoJump.m.mWeakJumpMaxSpeed; + var_f31 = mpHIO->mWolf.mWlAutoJump.m.mWeakJumpMinSpeed; + var_f30 = mpHIO->mWolf.mWlAutoJump.m.mWeakJumpSpeedRate; + var_r30 = mpHIO->mWolf.mWlAutoJump.m.mWeakJumpAngle; } setSingleAnimeWolf(WANM_JUMP_ATTACK_START, var_f1, - daAlinkHIO_wlAutoJump_c0::m.mJumpAnm.mStartFrame, - daAlinkHIO_wlAutoJump_c0::m.mJumpAnm.mEndFrame, - daAlinkHIO_wlAutoJump_c0::m.mJumpAnm.mInterpolation); - if (speedF > field_0x594 || param_0 || daAlinkHIO_wlAutoJump_c0::m.mAlwaysMaxSpeedJump == true) { + mpHIO->mWolf.mWlAutoJump.m.mJumpAnm.mStartFrame, + mpHIO->mWolf.mWlAutoJump.m.mJumpAnm.mEndFrame, + mpHIO->mWolf.mWlAutoJump.m.mJumpAnm.mInterpolation); + if (speedF > field_0x594 || param_0 || mpHIO->mWolf.mWlAutoJump.m.mAlwaysMaxSpeedJump == true) { speedF = field_0x594; } else if (speedF < var_f31) { speedF = var_f31; @@ -3193,27 +3196,27 @@ int daAlink_c::procWolfAutoJump() { daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl; if (!checkUnderMove0BckNoArcWolf(WANM_FALL_LAND) && - (mFallHeight - current.pos.y) * 0.01f > daAlinkHIO_wlDamFall_c0::m.mAirAnmTransitionHeight) + (mFallHeight - current.pos.y) * 0.01f > mpHIO->mWolf.mWlDamage.mFall.m.mAirAnmTransitionHeight) { field_0x2f99 = 12; - setSingleAnimeWolfBaseSpeed(WANM_FALL_LAND, 0.0f, daAlinkHIO_wlDamFall_c0::m.mAirAnmInterp); + setSingleAnimeWolfBaseSpeed(WANM_FALL_LAND, 0.0f, mpHIO->mWolf.mWlDamage.mFall.m.mAirAnmInterp); } else if (checkUnderMove0BckNoArcWolf(WANM_JUMP_ATTACK_START)) { if (speed.y < -gravity) { field_0x2f99 = 12; - setSingleAnimeWolfParam(WANM_JUMP_ATTACK, &daAlinkHIO_wlAutoJump_c0::m.mClimbAnm); + setSingleAnimeWolfParam(WANM_JUMP_ATTACK, &mpHIO->mWolf.mWlAutoJump.m.mClimbAnm); } else if (checkAnmEnd(frameCtrl_p)) { field_0x2f99 = 12; setSingleAnimeWolf(WANM_JUMP_ATTACK, 0.0f, - daAlinkHIO_wlAutoJump_c0::m.mClimbAnm.mStartFrame, - daAlinkHIO_wlAutoJump_c0::m.mClimbAnm.mEndFrame, - daAlinkHIO_wlAutoJump_c0::m.mClimbAnm.mInterpolation); + mpHIO->mWolf.mWlAutoJump.m.mClimbAnm.mStartFrame, + mpHIO->mWolf.mWlAutoJump.m.mClimbAnm.mEndFrame, + mpHIO->mWolf.mWlAutoJump.m.mClimbAnm.mInterpolation); mProcVar2.field_0x300c = 0; } } else if (mProcVar2.field_0x300c == 0 && checkUnderMove0BckNoArcWolf(WANM_JUMP_ATTACK) && speed.y < -gravity) { mProcVar2.field_0x300c = 1; - frameCtrl_p->setRate(daAlinkHIO_wlAutoJump_c0::m.mClimbAnm.mSpeed); + frameCtrl_p->setRate(mpHIO->mWolf.mWlAutoJump.m.mClimbAnm.mSpeed); } return 1; @@ -3301,10 +3304,10 @@ int daAlink_c::procWolfFall() { } if (!checkUnderMove0BckNoArcWolf(WANM_FALL_LAND) && - (mFallHeight - current.pos.y) * 0.01f > daAlinkHIO_wlDamFall_c0::m.mAirAnmTransitionHeight) + (mFallHeight - current.pos.y) * 0.01f > mpHIO->mWolf.mWlDamage.mFall.m.mAirAnmTransitionHeight) { field_0x2f99 = 12; - setSingleAnimeWolfBaseSpeed(WANM_FALL_LAND, 0.0f, daAlinkHIO_wlDamFall_c0::m.mAirAnmInterp); + setSingleAnimeWolfBaseSpeed(WANM_FALL_LAND, 0.0f, mpHIO->mWolf.mWlDamage.mFall.m.mAirAnmInterp); } return 1; @@ -3315,8 +3318,8 @@ int daAlink_c::procWolfLandInit() { mNormalSpeed = 0.0f; field_0x2f99 = 12; - setSingleAnimeWolfParam(WANM_JUMP_ATTACK_END, &daAlinkHIO_wlAutoJump_c0::m.mLandingAnm); - field_0x3478 = daAlinkHIO_wlAutoJump_c0::m.mLandingAnm.mCancelFrame; + setSingleAnimeWolfParam(WANM_JUMP_ATTACK_END, &mpHIO->mWolf.mWlAutoJump.m.mLandingAnm); + field_0x3478 = mpHIO->mWolf.mWlAutoJump.m.mLandingAnm.mCancelFrame; mProcVar2.field_0x300c = 1; field_0x2f9d = 4; @@ -3350,14 +3353,14 @@ int daAlink_c::procWolfSitInit(int param_0) { if (param_0 != 0 && !checkUnderMove0BckNoArcWolf(WANM_WAIT_SIT) && !checkUnderMove0BckNoArcWolf(WANM_HOWL_SIT)) { - setSingleAnimeWolfParam(WANM_SIT, &daAlinkHIO_wlLie_c0::m.mSittingAnm); + setSingleAnimeWolfParam(WANM_SIT, &mpHIO->mWolf.mWlLie.m.mSittingAnm); field_0x3198 = 0; } else { field_0x3198 = 1; if (!checkUnderMove0BckNoArcWolf(WANM_WAIT_SIT)) { - setSingleAnimeWolfBaseSpeed(WANM_WAIT_SIT, daAlinkHIO_wlLie_c0::m.mSittingIdleAnmSpeed, - daAlinkHIO_wlLie_c0::m.mSittingIdleInterp); + setSingleAnimeWolfBaseSpeed(WANM_WAIT_SIT, mpHIO->mWolf.mWlLie.m.mSittingIdleAnmSpeed, + mpHIO->mWolf.mWlLie.m.mSittingIdleInterp); } } @@ -3369,14 +3372,14 @@ int daAlink_c::procWolfSit() { daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; cLib_chaseF(&mNormalSpeed, 0.0f, - checkWolfDashMode() ? daAlinkHIO_wlMove_c0::m.mDeceleration : - daAlinkHIO_wlMoveNoP_c0::m.mDeceleration); + checkWolfDashMode() ? mpHIO->mWolf.mWlMove.m.mDeceleration : + mpHIO->mWolf.mWlMoveNoP.m.mDeceleration); if (!spActionButton() && mDemo.getDemoMode() != 0xF) { checkNextActionWolfFromLie(); } else if (frameCtrl->checkAnmEnd()) { - setSingleAnimeWolfBaseSpeed(WANM_WAIT_SIT, daAlinkHIO_wlLie_c0::m.mSittingIdleAnmSpeed, - daAlinkHIO_wlLie_c0::m.mSittingIdleInterp); + setSingleAnimeWolfBaseSpeed(WANM_WAIT_SIT, mpHIO->mWolf.mWlLie.m.mSittingIdleAnmSpeed, + mpHIO->mWolf.mWlLie.m.mSittingIdleInterp); field_0x3198 = 1; } @@ -3385,7 +3388,7 @@ int daAlink_c::procWolfSit() { int daAlink_c::procWolfStepMoveInit() { commonProcInit(PROC_WOLF_STEP_MOVE); - setSingleAnimeWolfParam(WANM_BUMP_START, &daAlinkHIO_wlWallHang_c0::m.mLedgeClimbAnm); + setSingleAnimeWolfParam(WANM_BUMP_START, &mpHIO->mWolf.mWlWallHang.m.mLedgeClimbAnm); field_0x3478 = 0.5f * mNormalSpeed; mNormalSpeed = 0.0f; mProcVar2.field_0x300c = 0; @@ -3408,7 +3411,7 @@ int daAlink_c::procWolfStepMove() { return checkNextActionWolf(0); } - if (frameCtrl_p->getFrame() > daAlinkHIO_wlWallHang_c0::m.mLedgeLandAnm.mCancelFrame) { + if (frameCtrl_p->getFrame() > mpHIO->mWolf.mWlWallHang.m.mLedgeLandAnm.mCancelFrame) { mNormalSpeed = field_0x3478; if (checkNextActionWolf(1)) { @@ -3418,7 +3421,7 @@ int daAlink_c::procWolfStepMove() { mNormalSpeed = 0.0f; } } else if (checkAnmEnd(frameCtrl_p)) { - setSingleAnimeWolfParam(WANM_BUMP_END, &daAlinkHIO_wlWallHang_c0::m.mLedgeLandAnm); + setSingleAnimeWolfParam(WANM_BUMP_END, &mpHIO->mWolf.mWlWallHang.m.mLedgeLandAnm); current.pos.set(field_0x34ec.x + cM_ssin(shape_angle.y) * 2.0f, field_0x34ec.y, field_0x34ec.z + cM_scos(shape_angle.y) * 2.0f); field_0x2f99 = 0x50; @@ -3430,12 +3433,12 @@ int daAlink_c::procWolfStepMove() { int daAlink_c::procWolfSlipInit() { commonProcInit(PROC_WOLF_SLIP); - setSingleAnimeWolfParam(WANM_SLIP, &daAlinkHIO_wlMove_c0::m.mSlipAnm); + setSingleAnimeWolfParam(WANM_SLIP, &mpHIO->mWolf.mWlMove.m.mSlipAnm); if (checkWolfDashMode()) { - mNormalSpeed = speedF * daAlinkHIO_wlMove_c0::m.mSlipInitSpeedRate; + mNormalSpeed = speedF * mpHIO->mWolf.mWlMove.m.mSlipInitSpeedRate; } else { - mNormalSpeed = speedF * daAlinkHIO_wlMoveNoP_c0::m.mSlideInitSpeed; + mNormalSpeed = speedF * mpHIO->mWolf.mWlMoveNoP.m.mSlideInitSpeed; } current.angle.y = shape_angle.y; @@ -3451,9 +3454,9 @@ int daAlink_c::procWolfSlip() { f32 var_f2; if (checkWolfDashMode()) { - var_f2 = daAlinkHIO_wlMove_c0::m.mSlipDeceleration; + var_f2 = mpHIO->mWolf.mWlMove.m.mSlipDeceleration; } else { - var_f2 = daAlinkHIO_wlMoveNoP_c0::m.mSlideDeceleration; + var_f2 = mpHIO->mWolf.mWlMoveNoP.m.mSlideDeceleration; } cLib_chaseF(&mNormalSpeed, 0.0f, var_f2); @@ -3487,24 +3490,24 @@ int daAlink_c::procWolfSlipTurnInit(int param_0) { f32 var_f31; if (param_0) { - var_f31 = daAlinkHIO_wlMove_c0::m.mReverseAnm.mStartFrame; + var_f31 = mpHIO->mWolf.mWlMove.m.mReverseAnm.mStartFrame; current.angle.y = shape_angle.y + 0x8000; if (checkWolfDashMode()) { - field_0x347c = daAlinkHIO_wlMove_c0::m.mReverseSpeed; + field_0x347c = mpHIO->mWolf.mWlMove.m.mReverseSpeed; } else { - field_0x347c = daAlinkHIO_wlMoveNoP_c0::m.mReverseSpeed; + field_0x347c = mpHIO->mWolf.mWlMoveNoP.m.mReverseSpeed; } } else { - var_f31 = daAlinkHIO_wlMove_c0::m.mIdleReverseStartFrame; + var_f31 = mpHIO->mWolf.mWlMove.m.mIdleReverseStartFrame; current.angle.y = field_0x2fe2; setOldRootQuaternion(0, (shape_angle.y - current.angle.y) - 0x8000, 0); shape_angle.y = current.angle.y + 0x8000; field_0x347c = 10.0f; } - setSingleAnimeWolf(WANM_TURN, daAlinkHIO_wlMove_c0::m.mReverseAnm.mSpeed, var_f31, 12, - daAlinkHIO_wlMove_c0::m.mReverseAnm.mInterpolation); + setSingleAnimeWolf(WANM_TURN, mpHIO->mWolf.mWlMove.m.mReverseAnm.mSpeed, var_f31, 12, + mpHIO->mWolf.mWlMove.m.mReverseAnm.mInterpolation); voiceStart(Z2SE_WL_V_BREATH_JUMP); mNormalSpeed = 0.0f; @@ -3531,12 +3534,12 @@ int daAlink_c::procWolfSlipTurn() { mNormalSpeed = field_0x347c; setJumpMode(); } else if (checkModeFlg(2) && - current.pos.y < mLastJumpPos.y - daAlinkHIO_wlMove_c0::m.mReverseFallHeight) + current.pos.y < mLastJumpPos.y - mpHIO->mWolf.mWlMove.m.mReverseFallHeight) { setOldRootQuaternion(0, -0x8000, 0); shape_angle.y = current.angle.y; field_0x2fe6 = shape_angle.y; - procWolfFallInit(2, daAlinkHIO_wlMove_c0::m.mReverseFallInterpolation); + procWolfFallInit(2, mpHIO->mWolf.mWlMove.m.mReverseFallInterpolation); } return 1; @@ -3546,11 +3549,11 @@ int daAlink_c::procWolfSlipTurnLandInit() { commonProcInit(PROC_WOLF_SLIP_TURN_LAND); daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; - setFrameCtrl(frameCtrl, 0, 0, daAlinkHIO_wlMove_c0::m.mReverseAnm.mEndFrame, - daAlinkHIO_wlMove_c0::m.mReverseAnm.mSpeed, - frameCtrl->getFrame() + daAlinkHIO_wlMove_c0::m.mReverseAnm.mSpeed); + setFrameCtrl(frameCtrl, 0, 0, mpHIO->mWolf.mWlMove.m.mReverseAnm.mEndFrame, + mpHIO->mWolf.mWlMove.m.mReverseAnm.mSpeed, + frameCtrl->getFrame() + mpHIO->mWolf.mWlMove.m.mReverseAnm.mSpeed); - mNormalSpeed = 0.25f * daAlinkHIO_wlMoveNoP_c0::m.mMaxSpeed; + mNormalSpeed = 0.25f * mpHIO->mWolf.mWlMoveNoP.m.mMaxSpeed; field_0x2f99 = 5; setFootEffectProcType(2); field_0x2f9d = 8; @@ -3565,7 +3568,7 @@ int daAlink_c::procWolfSlipTurnLand() { if (frameCtrl->checkAnmEnd()) { checkNextActionWolf(0); - } else if (frameCtrl->getFrame() > daAlinkHIO_wlMove_c0::m.mReverseAnm.mCancelFrame) { + } else if (frameCtrl->getFrame() > mpHIO->mWolf.mWlMove.m.mReverseAnm.mCancelFrame) { checkNextActionWolf(1); } @@ -3576,11 +3579,11 @@ int daAlink_c::procWolfSlideReadyInit(s16 i_angle, int param_1) { commonProcInit(PROC_WOLF_SLIDE_READY); field_0x3090 = 8; current.angle.y = i_angle; - setSingleAnimeWolfParam(WANM_SLIDE_FORWARD_START, &daAlinkHIO_wlSlide_c0::m.mFrontSlideAnm); + setSingleAnimeWolfParam(WANM_SLIDE_FORWARD_START, &mpHIO->mWolf.mWlSlide.m.mFrontSlideAnm); voiceStart(Z2SE_WL_V_SLIP_ROLL); mNormalSpeed = 0.0f; - field_0x594 = daAlinkHIO_wlSlide_c0::m.mMaxSpeed; + field_0x594 = mpHIO->mWolf.mWlSlide.m.mMaxSpeed; field_0x3588 = l_wolfBaseAnime; field_0x3478 = 1.0f / mUnderFrameCtrl[0].getEnd(); mProcVar2.field_0x300c = 0; @@ -3629,17 +3632,17 @@ int daAlink_c::procWolfSlideInit(s16 i_angle, int param_1) { field_0x814.SetWeight(0xFF); field_0x3090 = 8; current.angle.y = i_angle; - setSingleAnimeWolfParam(WANM_SLIDE_BACKWARD, &daAlinkHIO_wlSlide_c0::m.mBackSlideAnm); + setSingleAnimeWolfParam(WANM_SLIDE_BACKWARD, &mpHIO->mWolf.mWlSlide.m.mBackSlideAnm); if (param_1) { - mUnderFrameCtrl[0].setFrame(daAlinkHIO_wlSlide_c0::m.mBackSlideAnm.mEndFrame); - getNowAnmPackUnder(UNDER_0)->setFrame(daAlinkHIO_wlSlide_c0::m.mBackSlideAnm.mEndFrame); + mUnderFrameCtrl[0].setFrame(mpHIO->mWolf.mWlSlide.m.mBackSlideAnm.mEndFrame); + getNowAnmPackUnder(UNDER_0)->setFrame(mpHIO->mWolf.mWlSlide.m.mBackSlideAnm.mEndFrame); } dComIfGp_setPlayerStatus1(0, 0x200); field_0x2f9d = 0x78; setFootEffectProcType(1); - field_0x594 = daAlinkHIO_wlSlide_c0::m.mMaxSpeed; + field_0x594 = mpHIO->mWolf.mWlSlide.m.mMaxSpeed; return 1; } @@ -3651,7 +3654,7 @@ int daAlink_c::procWolfSlide() { cLib_addCalcAngleS(¤t.angle.y, var_r30, 4, 0x1000, 0x400); cLib_addCalcAngleS(&shape_angle.y, current.angle.y + 0x8000, 4, 0x1000, 0x400); - mNormalSpeed += daAlinkHIO_wlSlide_c0::m.mAcceleration * + mNormalSpeed += mpHIO->mWolf.mWlSlide.m.mAcceleration * ((1.0f - slide_poly.mNormal.y) * 0.5f + 1.0f) * cM_scos(current.angle.y - var_r30); if (mNormalSpeed > field_0x594) { @@ -3669,7 +3672,7 @@ int daAlink_c::procWolfSlide() { int daAlink_c::procWolfSlideLandInit() { commonProcInit(PROC_WOLF_SLIDE_LAND); - setSingleAnimeWolfParam(WANM_SLIDE_BACKWARD_END, &daAlinkHIO_wlSlide_c0::m.mLandingAnm); + setSingleAnimeWolfParam(WANM_SLIDE_BACKWARD_END, &mpHIO->mWolf.mWlSlide.m.mLandingAnm); mNormalSpeed *= 0.5f; field_0x814.SetWeight(0xFF); @@ -3684,7 +3687,7 @@ int daAlink_c::procWolfSlideLand() { if (frameCtrl->checkAnmEnd()) { current.angle.y = shape_angle.y; checkNextActionWolf(0); - } else if (frameCtrl->getFrame() > daAlinkHIO_wlSlide_c0::m.mLandingAnm.mCancelFrame) { + } else if (frameCtrl->getFrame() > mpHIO->mWolf.mWlSlide.m.mLandingAnm.mCancelFrame) { s16 old_angle = current.angle.y; current.angle.y = shape_angle.y; @@ -3701,8 +3704,8 @@ int daAlink_c::procWolfWaitSlipInit() { return 0; } - setSingleAnimeWolfBaseSpeed(WANM_ATN, daAlinkHIO_wlMove_c0::m.mGazeIdleAnmSpeed, - daAlinkHIO_wlMove_c0::m.mIdleInterpolation); + setSingleAnimeWolfBaseSpeed(WANM_ATN, mpHIO->mWolf.mWlMove.m.mGazeIdleAnmSpeed, + mpHIO->mWolf.mWlMove.m.mIdleInterpolation); mNormalSpeed = 0.0f; setWolfWaitSlip(); field_0x2f9d = 120; @@ -3734,9 +3737,9 @@ int daAlink_c::procWolfWaitSlip() { if (!checkNextActionWolf(0)) { f32 temp_f1 = setWolfWaitSlip(); - mNormalSpeed = var_f31 + (daAlinkHIO_wlSlide_c0::m.mSlipDownAcceleration * (temp_f1 + 1.0f)); - if (mNormalSpeed > daAlinkHIO_wlSlide_c0::m.mSlipDownMaxSpeed) { - mNormalSpeed = daAlinkHIO_wlSlide_c0::m.mSlipDownMaxSpeed; + mNormalSpeed = var_f31 + (mpHIO->mWolf.mWlSlide.m.mSlipDownAcceleration * (temp_f1 + 1.0f)); + if (mNormalSpeed > mpHIO->mWolf.mWlSlide.m.mSlipDownMaxSpeed) { + mNormalSpeed = mpHIO->mWolf.mWlSlide.m.mSlipDownMaxSpeed; } field_0x2f9d = 0x78; @@ -3748,8 +3751,8 @@ int daAlink_c::procWolfWaitSlip() { var_r4 = current.angle.y; } - cLib_addCalcAngleS(&shape_angle.y, var_r4, 4, daAlinkHIO_wlSlide_c0::m.mSlipDownRotationMax, - daAlinkHIO_wlSlide_c0::m.mSlipDownRotationMin); + cLib_addCalcAngleS(&shape_angle.y, var_r4, 4, mpHIO->mWolf.mWlSlide.m.mSlipDownRotationMax, + mpHIO->mWolf.mWlSlide.m.mSlipDownRotationMin); seStartMapInfoLevel(Z2SE_FN_WOLF_SLIP); } @@ -3758,7 +3761,7 @@ int daAlink_c::procWolfWaitSlip() { int daAlink_c::procWolfSlopeStartInit(int param_0) { commonProcInit(PROC_WOLF_SLOPE_START); - setSingleAnimeWolfParam(WANM_SLIDE_W, &daAlinkHIO_wlSlide_c0::m.mSlipDownRecoveryAnm); + setSingleAnimeWolfParam(WANM_SLIDE_W, &mpHIO->mWolf.mWlSlide.m.mSlipDownRecoveryAnm); field_0x3588 = l_wolfBaseAnime; mNormalSpeed = 0.0f; current.angle.y = shape_angle.y; @@ -3775,7 +3778,7 @@ int daAlink_c::procWolfSlopeStart() { if (frameCtrl->checkAnmEnd()) { checkNextActionWolf(0); - } else if (frameCtrl->getFrame() > daAlinkHIO_wlSlide_c0::m.mSlipDownRecoveryAnm.mCancelFrame) { + } else if (frameCtrl->getFrame() > mpHIO->mWolf.mWlSlide.m.mSlipDownRecoveryAnm.mCancelFrame) { if (!checkNextActionWolf(1)) { field_0x2f99 = 5; } @@ -3823,8 +3826,8 @@ void daAlink_c::setWolfHowlNotHappen(int param_0) { if (!checkUnderMove0BckNoArcWolf(WANM_HOWL_END)) { if (param_0 != 0) { - setSingleAnimeWolfBaseSpeed(WANM_WAIT_SIT, daAlinkHIO_wlLie_c0::m.mSittingIdleAnmSpeed, - daAlinkHIO_wlLie_c0::m.mSittingIdleInterp); + setSingleAnimeWolfBaseSpeed(WANM_WAIT_SIT, mpHIO->mWolf.mWlLie.m.mSittingIdleAnmSpeed, + mpHIO->mWolf.mWlLie.m.mSittingIdleInterp); } else { setSingleAnimeWolfBase(WANM_SERVICE_WAIT_D); } @@ -3926,14 +3929,14 @@ int daAlink_c::procWolfHowlDemoInit() { if (!checkUnderMove0BckNoArcWolf(WANM_WAIT_SIT) && !checkUnderMove0BckNoArcWolf(WANM_LISTEN) && !checkUnderMove0BckNoArcWolf(WANM_HOWL_SIT)) { - setSingleAnimeWolfParam(WANM_SIT, &daAlinkHIO_wlLie_c0::m.mSittingAnm); + setSingleAnimeWolfParam(WANM_SIT, &mpHIO->mWolf.mWlLie.m.mSittingAnm); field_0x347c = -1.0f; } else { field_0x347c = 10.0f; if (mProcVar4.field_0x3010 == 0) { - setSingleAnimeWolfBaseSpeed(WANM_WAIT_SIT, daAlinkHIO_wlLie_c0::m.mSittingIdleAnmSpeed, - daAlinkHIO_wlLie_c0::m.mSittingIdleInterp); + setSingleAnimeWolfBaseSpeed(WANM_WAIT_SIT, mpHIO->mWolf.mWlLie.m.mSittingIdleAnmSpeed, + mpHIO->mWolf.mWlLie.m.mSittingIdleInterp); } else { setSingleAnimeWolfBase(WANM_LISTEN); setFaceBasicTexture(FTANM_UNK_A2); @@ -3993,8 +3996,8 @@ int daAlink_c::procWolfHowlDemo() { setSingleAnimeWolfBase(WANM_LISTEN); setFaceBasicTexture(FTANM_UNK_A2); } else { - setSingleAnimeWolfBaseSpeed(WANM_WAIT_SIT, daAlinkHIO_wlLie_c0::m.mSittingIdleAnmSpeed, - daAlinkHIO_wlLie_c0::m.mSittingIdleInterp); + setSingleAnimeWolfBaseSpeed(WANM_WAIT_SIT, mpHIO->mWolf.mWlLie.m.mSittingIdleAnmSpeed, + mpHIO->mWolf.mWlLie.m.mSittingIdleInterp); } field_0x347c = 1.0f; @@ -4020,7 +4023,7 @@ int daAlink_c::procWolfHowlDemo() { { if (!checkUnderMove0BckNoArcWolf(WANM_HOWL_SIT) || mProcVar1.field_0x300a == 0) { mProcVar1.field_0x300a = 1; - setSingleAnimeWolfParam(WANM_HOWL_SIT, &daAlinkHIO_wlHowl_c0::m.mSittingHowlAnm); + setSingleAnimeWolfParam(WANM_HOWL_SIT, &mpHIO->mWolf.mWlHowl.m.mSittingHowlAnm); } else { if (frameCtrl_p->getFrame() > 56.0f) { frameCtrl_p->setFrame((frameCtrl_p->getFrame() - 56.0f) + 38.0f); @@ -4044,8 +4047,8 @@ int daAlink_c::procWolfHowlDemo() { setSingleAnimeWolfBase(WANM_LISTEN); setFaceBasicTexture(FTANM_UNK_A2); } else if (checkAnmEnd(frameCtrl_p)) { - setSingleAnimeWolfBaseSpeed(WANM_WAIT_SIT, daAlinkHIO_wlLie_c0::m.mSittingIdleAnmSpeed, - daAlinkHIO_wlLie_c0::m.mSittingIdleInterp); + setSingleAnimeWolfBaseSpeed(WANM_WAIT_SIT, mpHIO->mWolf.mWlLie.m.mSittingIdleAnmSpeed, + mpHIO->mWolf.mWlLie.m.mSittingIdleInterp); } } @@ -4207,7 +4210,7 @@ f32 daAlink_c::getWolfRopeMoveSpeed() { frame -= 13.5f; } - return daAlinkHIO_wlRope_c0::m.mMovementRate * frameCtrl->getRate() * cM_fsin(0.23271057f * frame); + return mpHIO->mWolf.mWlRope.m.mMovementRate * frameCtrl->getRate() * cM_fsin(0.23271057f * frame); } int daAlink_c::setWolfRopePosY() { @@ -4319,7 +4322,7 @@ int daAlink_c::procWolfRopeMoveInit(int param_0, int param_1) { mProcVar2.field_0x300c = initWolfRopeShapeAngle(); current.angle.y = shape_angle.y; - setSingleAnimeWolfBaseSpeed(WANM_ROPE_WALK, 0.0f, daAlinkHIO_wlRope_c0::m.mMovementInterpolation); + setSingleAnimeWolfBaseSpeed(WANM_ROPE_WALK, 0.0f, mpHIO->mWolf.mWlRope.m.mMovementInterpolation); if (param_0) { mUnderFrameCtrl[0].setFrame(13.5f); getNowAnmPackUnder(UNDER_0)->setFrame(13.5f); @@ -4349,8 +4352,8 @@ int daAlink_c::procWolfRopeMove() { daObjCrope_c* temp_r29 = (daObjCrope_c*)field_0x280c.getActor(); int var_r27 = 0; - f32 temp_f26 = getAnmSpeedStickRate(daAlinkHIO_wlRope_c0::m.mMovementMinAnmSpeed, daAlinkHIO_wlRope_c0::m.mMovementMaxAnmSpeed); - f32 temp_f25 = -1.0f * getAnmSpeedStickRate(daAlinkHIO_wlRope_c0::m.mMovementMinAnmSpeed, daAlinkHIO_wlRope_c0::m.mBackMovementMaxAnmSpeed); + f32 temp_f26 = getAnmSpeedStickRate(mpHIO->mWolf.mWlRope.m.mMovementMinAnmSpeed, mpHIO->mWolf.mWlRope.m.mMovementMaxAnmSpeed); + f32 temp_f25 = -1.0f * getAnmSpeedStickRate(mpHIO->mWolf.mWlRope.m.mMovementMinAnmSpeed, mpHIO->mWolf.mWlRope.m.mBackMovementMaxAnmSpeed); if (temp_r28->getRate() > 0.0f) { temp_r28->setRate(temp_f26); @@ -4513,8 +4516,8 @@ int daAlink_c::procWolfRopeHangInit(int param_0) { if (param_0 != 4) { mProcVar3.field_0x300e = 0; - setSingleAnimeWolf(WANM_HANG, daAlinkHIO_wlRope_c0::m.mTwistClimbAnmSpeed, 0.0f, 16, - daAlinkHIO_wlRope_c0::m.mFallInterpolation); + setSingleAnimeWolf(WANM_HANG, mpHIO->mWolf.mWlRope.m.mTwistClimbAnmSpeed, 0.0f, 16, + mpHIO->mWolf.mWlRope.m.mFallInterpolation); rope_p->rideKeep(); } else { mProcVar3.field_0x300e = 1; @@ -4529,8 +4532,8 @@ int daAlink_c::procWolfRopeHangInit(int param_0) { climb_anm = WANM_ROPE_CLIMB_LEFT; } - setSingleAnimeWolfBaseSpeed(climb_anm, daAlinkHIO_wlRope_c0::m.mTwistClimbAnmSpeed, - daAlinkHIO_wlRope_c0::m.mTwistClimbInterpolation); + setSingleAnimeWolfBaseSpeed(climb_anm, mpHIO->mWolf.mWlRope.m.mTwistClimbAnmSpeed, + mpHIO->mWolf.mWlRope.m.mTwistClimbInterpolation); rope_p->setFrontJoint(19); rope_p->setBackJoint(23); current.pos = rope_p->getPlayerNearPos(); @@ -4595,7 +4598,7 @@ int daAlink_c::procWolfRopeHang() { var_r27 = WANM_ROPE_CLIMB_RIGHT; } - setSingleAnimeWolfBaseSpeed(var_r27, daAlinkHIO_wlRope_c0::m.mTwistClimbAnmSpeed, daAlinkHIO_wlRope_c0::m.mTwistClimbInterpolation); + setSingleAnimeWolfBaseSpeed(var_r27, mpHIO->mWolf.mWlRope.m.mTwistClimbAnmSpeed, mpHIO->mWolf.mWlRope.m.mTwistClimbInterpolation); } f32 temp_f31 = temp_r28->getFrame(); @@ -4609,7 +4612,7 @@ int daAlink_c::procWolfRopeHang() { current.pos.z -= 80.0f * cM_scos(shape_angle.y); field_0x2060->getOldFrameTransInfo(0)->mTranslate.z += 80.0f; - return procWolfFallInit(2, daAlinkHIO_wlAutoJump_c0::m.mNormalFallInterp); + return procWolfFallInit(2, mpHIO->mWolf.mWlAutoJump.m.mNormalFallInterp); } } @@ -4681,7 +4684,7 @@ int daAlink_c::procWolfRopeHang() { int daAlink_c::procWolfRopeTurnInit() { commonProcInit(PROC_WOLF_ROPE_TURN); - setSingleAnimeWolfParam(WANM_ROPE_TURN, &daAlinkHIO_wlRope_c0::m.mFlipAnm); + setSingleAnimeWolfParam(WANM_ROPE_TURN, &mpHIO->mWolf.mWlRope.m.mFlipAnm); voiceStart(Z2SE_WL_V_BREATH_JUMP); setSpecialGravity(0.0f, maxFallSpeed, 0); speed.y = 0.0f; @@ -4857,7 +4860,7 @@ int daAlink_c::procWolfRopeSubjectivityInit() { commonProcInit(PROC_WOLF_ROPE_SUBJECTIVITY); if (!checkUnderMove0BckNoArcWolf(WANM_ROPE_WALK)) { - setSingleAnimeWolfBaseSpeed(WANM_ROPE_WALK, 0.0f, daAlinkHIO_wlRope_c0::m.mMovementInterpolation); + setSingleAnimeWolfBaseSpeed(WANM_ROPE_WALK, 0.0f, mpHIO->mWolf.mWlRope.m.mMovementInterpolation); } mProcVar2.field_0x300c = initWolfRopeShapeAngle(); @@ -4928,12 +4931,12 @@ int daAlink_c::procWolfRopeSubjectivity() { int daAlink_c::getWolfTagJumpTime() const { int time; if (mProcID == PROC_WOLF_TAG_JUMP) { - time = mProcVar0.field_0x3008 + (int)((daAlinkHIO_wlPoint_c0::m.mLandingAnm.mCancelFrame - - daAlinkHIO_wlPoint_c0::m.mLandingAnm.mStartFrame) / - daAlinkHIO_wlPoint_c0::m.mLandingAnm.mSpeed); + time = mProcVar0.field_0x3008 + (int)((mpHIO->mWolf.mWlPoint.m.mLandingAnm.mCancelFrame - + mpHIO->mWolf.mWlPoint.m.mLandingAnm.mStartFrame) / + mpHIO->mWolf.mWlPoint.m.mLandingAnm.mSpeed); } else { time = (int)(checkMidnaLockJumpPoint()->abs(current.pos) / - daAlinkHIO_wlPoint_c0::m.mTagJumpSpeed); + mpHIO->mWolf.mWlPoint.m.mTagJumpSpeed); } time -= 2; @@ -4977,7 +4980,7 @@ const cXyz* daAlink_c::checkMidnaLockJumpPoint() const { int daAlink_c::procWolfTagJumpInit(fopAc_ac_c* param_0) { commonProcInit(PROC_WOLF_TAG_JUMP); - field_0x3480 = daAlinkHIO_wlPoint_c0::m.mTagJumpSpeed; + field_0x3480 = mpHIO->mWolf.mWlPoint.m.mTagJumpSpeed; field_0x3198 = 0; if (param_0 == NULL) { @@ -5000,7 +5003,7 @@ int daAlink_c::procWolfTagJumpInit(fopAc_ac_c* param_0) { mProcVar1.field_0x300a = ((daTagWljump_c*)param_0)->getNotSlideFlg(); } - setSingleAnimeWolf(WANM_JUMP_ATTACK_START, daAlinkHIO_wlAutoJump_c0::m.mWeakJumpAnmSpeed, daAlinkHIO_wlAutoJump_c0::m.mJumpAnm.mStartFrame, daAlinkHIO_wlAutoJump_c0::m.mJumpAnm.mEndFrame, daAlinkHIO_wlAutoJump_c0::m.mJumpAnm.mInterpolation); + setSingleAnimeWolf(WANM_JUMP_ATTACK_START, mpHIO->mWolf.mWlAutoJump.m.mWeakJumpAnmSpeed, mpHIO->mWolf.mWlAutoJump.m.mJumpAnm.mStartFrame, mpHIO->mWolf.mWlAutoJump.m.mJumpAnm.mEndFrame, mpHIO->mWolf.mWlAutoJump.m.mJumpAnm.mInterpolation); field_0x3588 = l_wolfBaseAnime; cXyz sp8 = field_0x37c8 - current.pos; @@ -5046,7 +5049,7 @@ int daAlink_c::procWolfTagJump() { mProcVar0.field_0x3008--; if (mProcVar0.field_0x3008 < 0) { - if (temp_r29 == NULL || temp_r29->getLockPos() == NULL || mProcVar0.field_0x3008 < -daAlinkHIO_wlPoint_c0::m.mLockJumpStopTime) { + if (temp_r29 == NULL || temp_r29->getLockPos() == NULL || mProcVar0.field_0x3008 < -mpHIO->mWolf.mWlPoint.m.mLockJumpStopTime) { procWolfWaitInit(); } else { if (field_0x3198 == 0) { @@ -5063,11 +5066,11 @@ int daAlink_c::procWolfTagJump() { mProcVar5.field_0x3012 = 1; } - if (mProcVar5.field_0x3012 && (checkModeFlg(0x100) || checkAnmEnd(temp_r28) || temp_r28->getFrame() > daAlinkHIO_wlPoint_c0::m.mLandingAnm.mCancelFrame)) { + if (mProcVar5.field_0x3012 && (checkModeFlg(0x100) || checkAnmEnd(temp_r28) || temp_r28->getFrame() > mpHIO->mWolf.mWlPoint.m.mLandingAnm.mCancelFrame)) { procWolfTagJumpInit(temp_r29); } else if (checkAnmEnd(temp_r28)) { onModeFlg(0x100); - setSingleAnimeWolfBaseSpeed(WANM_WAIT_B, daAlinkHIO_wlPoint_c0::m.mIdleAnmSpeed, daAlinkHIO_wlPoint_c0::m.mIdleInterpolation); + setSingleAnimeWolfBaseSpeed(WANM_WAIT_B, mpHIO->mWolf.mWlPoint.m.mIdleAnmSpeed, mpHIO->mWolf.mWlPoint.m.mIdleInterpolation); } } @@ -5085,7 +5088,7 @@ int daAlink_c::procWolfTagJump() { if (checkUnderMove0BckNoArcWolf(WANM_JUMP_ATTACK_START) && checkAnmEnd(temp_r28)) { field_0x2f99 = 0xC; - setSingleAnimeWolfBaseSpeed(WANM_JUMP_ATTACK, 0.0f, daAlinkHIO_wlAutoJump_c0::m.mClimbAnm.mInterpolation); + setSingleAnimeWolfBaseSpeed(WANM_JUMP_ATTACK, 0.0f, mpHIO->mWolf.mWlAutoJump.m.mClimbAnm.mInterpolation); } if (mProcVar0.field_0x3008 == 0) { @@ -5102,7 +5105,7 @@ int daAlink_c::procWolfTagJump() { if (mProcVar1.field_0x300a != 0) { field_0x2f99 = 0x50; - setSingleAnimeWolfParam(WANM_JUMP_B_END, &daAlinkHIO_wlPoint_c0::m.mLandingAnm); + setSingleAnimeWolfParam(WANM_JUMP_B_END, &mpHIO->mWolf.mWlPoint.m.mLandingAnm); mNormalSpeed = 0.0f; speed = cXyz::Zero; @@ -5118,14 +5121,14 @@ int daAlink_c::procWolfTagJump() { procWolfTagJumpLandInit(NULL); } } else if (field_0x3198 != 0) { - procWolfFallInit(2, daAlinkHIO_wlAutoJump_c0::m.mNormalFallInterp); + procWolfFallInit(2, mpHIO->mWolf.mWlAutoJump.m.mNormalFallInterp); } else { current.pos.x -= 50.0f * cM_ssin(shape_angle.y); current.pos.z -= 50.0f * cM_scos(shape_angle.y); procWolfTagJumpLandInit(NULL); } } else { - procWolfFallInit(2, daAlinkHIO_wlAutoJump_c0::m.mNormalFallInterp); + procWolfFallInit(2, mpHIO->mWolf.mWlAutoJump.m.mNormalFallInterp); } } @@ -5134,10 +5137,10 @@ int daAlink_c::procWolfTagJump() { int daAlink_c::procWolfTagJumpLandInit(fopAc_ac_c* param_0) { commonProcInit(PROC_WOLF_TAG_JUMP_LAND); - setSingleAnimeWolfParam(WANM_ATTACK_A_END_FRONT, &daAlinkHIO_wlPoint_c0::m.mTagLandingAnm); + setSingleAnimeWolfParam(WANM_ATTACK_A_END_FRONT, &mpHIO->mWolf.mWlPoint.m.mTagLandingAnm); if (mGndPolySpecialCode == dBgW_SPCODE_ICE) { - mNormalSpeed = daAlinkHIO_wlPoint_c0::m.mLockLandingIceInitSpeed; + mNormalSpeed = mpHIO->mWolf.mWlPoint.m.mLockLandingIceInitSpeed; } else { mNormalSpeed = 0.0f; } @@ -5165,7 +5168,7 @@ int daAlink_c::procWolfTagJumpLand() { onResetFlg0(RFLG0_UNK_20000); field_0x3738 = *wljump_p->getLockPos(); - if (frameCtrl_p->getFrame() > daAlinkHIO_wlPoint_c0::m.mTagLandingAnm.mCancelFrame) { + if (frameCtrl_p->getFrame() > mpHIO->mWolf.mWlPoint.m.mTagLandingAnm.mCancelFrame) { setDoStatus(0x93); if (doTrigger()) { @@ -5175,13 +5178,13 @@ int daAlink_c::procWolfTagJumpLand() { } field_0x2f99 = 4; - if (cLib_addCalc(&mNormalSpeed, 0.0f, daAlinkHIO_wlPoint_c0::m.mLockLandingIceDecelRate, - daAlinkHIO_wlPoint_c0::m.mLockLandingIceMaxDecel, - daAlinkHIO_wlPoint_c0::m.mLockLandingIceMinDecel) < 3.0f) + if (cLib_addCalc(&mNormalSpeed, 0.0f, mpHIO->mWolf.mWlPoint.m.mLockLandingIceDecelRate, + mpHIO->mWolf.mWlPoint.m.mLockLandingIceMaxDecel, + mpHIO->mWolf.mWlPoint.m.mLockLandingIceMinDecel) < 3.0f) { if (checkAnmEnd(frameCtrl_p)) { checkNextActionWolf(0); - } else if (!(frameCtrl_p->getFrame() > daAlinkHIO_wlPoint_c0::m.mTagLandingAnm.mCancelFrame) || + } else if (!(frameCtrl_p->getFrame() > mpHIO->mWolf.mWlPoint.m.mTagLandingAnm.mCancelFrame) || !checkNextActionWolf(1)) { field_0x2f9d = 0x78; @@ -5222,14 +5225,14 @@ int daAlink_c::procWolfGiantPuzzleInit() { return 0; } - setBlendWolfMoveAnime(daAlinkHIO_wlMove_c0::m.mIdleInterpolation); + setBlendWolfMoveAnime(mpHIO->mWolf.mWlMove.m.mIdleInterpolation); current.angle.y = shape_angle.y; field_0x2f98 = 4; mProcVar2.mPuzzleAimAngle = shape_angle.y; field_0x3478 = 0.0f; - field_0x347c = daAlinkHIO_wlMoveNoP_c0::m.mDeceleration; - field_0x594 = daAlinkHIO_wlMoveNoP_c0::m.mMaxSpeed; + field_0x347c = mpHIO->mWolf.mWlMoveNoP.m.mDeceleration; + field_0x594 = mpHIO->mWolf.mWlMoveNoP.m.mMaxSpeed; offWolfEyeUp(); return 1; @@ -5262,7 +5265,7 @@ int daAlink_c::procWolfGiantPuzzle() { if (fabsf(dComIfG_Bgsp().GroundCross(&mLinkGndChk) - current.pos.y) < 0.1f && fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchGiant, &gnd_chk_pos) == NULL) { - field_0x347c = daAlinkHIO_wlMoveNoP_c0::m.mAcceleration; + field_0x347c = mpHIO->mWolf.mWlMoveNoP.m.mAcceleration; field_0x3478 = field_0x594; } } else if (direction == DIR_LEFT) { @@ -5279,8 +5282,8 @@ int daAlink_c::procWolfGiantPuzzle() { if (mProcVar2.mPuzzleAimAngle != shape_angle.y) { cLib_addCalcAngleS( - &shape_angle.y, mProcVar2.mPuzzleAimAngle, daAlinkHIO_wlMoveNoP_c0::m.mTurnAngleRate, - daAlinkHIO_wlMoveNoP_c0::m.mTurnMax, daAlinkHIO_wlMoveNoP_c0::m.mTurnMin); + &shape_angle.y, mProcVar2.mPuzzleAimAngle, mpHIO->mWolf.mWlMoveNoP.m.mTurnAngleRate, + mpHIO->mWolf.mWlMoveNoP.m.mTurnMax, mpHIO->mWolf.mWlMoveNoP.m.mTurnMin); current.angle.y = shape_angle.y; } @@ -5307,9 +5310,9 @@ int daAlink_c::changeWolfHangEndProc() { f32 var_f1; if (checkNoResetFlg0(FLG0_UNK_80) && mWaterY > field_0x33d8) { - var_f1 = daAlinkHIO_wlSwim_c0::m.mStartHeight + daAlinkHIO_wlSwim_c0::m.mClimbBelowWaterSurface; + var_f1 = mpHIO->mWolf.mWlSwim.m.mStartHeight + mpHIO->mWolf.mWlSwim.m.mClimbBelowWaterSurface; } else { - var_f1 = daAlinkHIO_wlWallHang_c0::m.mHangingFootHeight; + var_f1 = mpHIO->mWolf.mWlWallHang.m.mHangingFootHeight; } if (current.pos.y < (field_0x33d8 + var_f1) - 1.0f) { @@ -5322,7 +5325,7 @@ int daAlink_c::changeWolfHangEndProc() { current.pos.z -= cM_scos(shape_angle.y) * 50.0f; onNoResetFlg2(FLG2_UNK_200); - procWolfFallInit(2, daAlinkHIO_wlWallHang_c0::m.mHangingFallInterp); + procWolfFallInit(2, mpHIO->mWolf.mWlWallHang.m.mHangingFallInterp); return 1; } } @@ -5332,9 +5335,9 @@ int daAlink_c::changeWolfHangEndProc() { int daAlink_c::procWolfHangReadyInit() { commonProcInit(PROC_WOLF_HANG_READY); - setSingleAnimeWolf(WANM_VJMP_START, daAlinkHIO_wlWallHang_c0::m.mPreGrabJumpAnm.mSpeed, - daAlinkHIO_wlWallHang_c0::m.mPreGrabJumpAnm.mStartFrame, 12, - daAlinkHIO_wlWallHang_c0::m.mPreGrabJumpAnm.mInterpolation); + setSingleAnimeWolf(WANM_VJMP_START, mpHIO->mWolf.mWlWallHang.m.mPreGrabJumpAnm.mSpeed, + mpHIO->mWolf.mWlWallHang.m.mPreGrabJumpAnm.mStartFrame, 12, + mpHIO->mWolf.mWlWallHang.m.mPreGrabJumpAnm.mInterpolation); field_0x3198 = field_0x2f91; mProcVar2.field_0x300c = field_0x306e + 0x8000; @@ -5408,10 +5411,10 @@ int daAlink_c::procWolfHangWallCatchInit(int param_0) { commonProcInit(PROC_WOLF_HANG_WALL_CATCH); if (param_0 == 8 && var_r29 != 6) { - setSingleAnimeWolfParam(WANM_VJMP_CLIMB, &daAlinkHIO_wlWallHang_c0::m.mClimbAnm); + setSingleAnimeWolfParam(WANM_VJMP_CLIMB, &mpHIO->mWolf.mWlWallHang.m.mClimbAnm); mProcVar3.field_0x300e = 1; } else { - setSingleAnimeWolfParam(WANM_VJMP_CLIMB_HANG, &daAlinkHIO_wlWallHang_c0::m.mWallGrabAnm); + setSingleAnimeWolfParam(WANM_VJMP_CLIMB_HANG, &mpHIO->mWolf.mWlWallHang.m.mWallGrabAnm); mProcVar3.field_0x300e = 0; } @@ -5454,14 +5457,14 @@ int daAlink_c::procWolfHangWallCatch() { if (mProcVar3.field_0x300e == 0) { if (field_0x3174 == 6) { if (mProcVar4.field_0x3010 == 0) { - setSingleAnimeWolf(WANM_HANG, daAlinkHIO_wlWallHang_c0::m.mFallGrabAnm.mSpeed, - 35.0f, daAlinkHIO_wlWallHang_c0::m.mFallGrabAnm.mEndFrame, + setSingleAnimeWolf(WANM_HANG, mpHIO->mWolf.mWlWallHang.m.mFallGrabAnm.mSpeed, + 35.0f, mpHIO->mWolf.mWlWallHang.m.mFallGrabAnm.mEndFrame, 5.0f); mProcVar4.field_0x3010 = 1; } } else { - setSingleAnimeWolf(WANM_VJMP_CLIMB, daAlinkHIO_wlWallHang_c0::m.mClimbAnm.mSpeed, - 17.0f, daAlinkHIO_wlWallHang_c0::m.mClimbAnm.mEndFrame, 2.0f); + setSingleAnimeWolf(WANM_VJMP_CLIMB, mpHIO->mWolf.mWlWallHang.m.mClimbAnm.mSpeed, + 17.0f, mpHIO->mWolf.mWlWallHang.m.mClimbAnm.mEndFrame, 2.0f); mProcVar3.field_0x300e = 1; } } else { @@ -5475,7 +5478,7 @@ int daAlink_c::procWolfHangWallCatch() { onNoResetFlg1(FLG1_UNK_20); } } else if (mProcVar3.field_0x300e != 0 && - frameCtrl_p->getFrame() > daAlinkHIO_wlWallHang_c0::m.mClimbAnm.mCancelFrame && + frameCtrl_p->getFrame() > mpHIO->mWolf.mWlWallHang.m.mClimbAnm.mCancelFrame && checkNextActionWolf(1)) { onNoResetFlg1(FLG1_UNK_20); @@ -5512,7 +5515,7 @@ int daAlink_c::procWolfHangFallStartInit(cM3dGPla* param_0) { shape_angle.y = var_r30 + 0x8000; current.angle.y = shape_angle.y; - setSingleAnimeWolfParam(WANM_HANG, &daAlinkHIO_wlWallHang_c0::m.mFallGrabAnm); + setSingleAnimeWolfParam(WANM_HANG, &mpHIO->mWolf.mWlWallHang.m.mFallGrabAnm); f32 sin = cM_ssin(shape_angle.y); f32 cos = cM_scos(shape_angle.y); @@ -5565,7 +5568,7 @@ int daAlink_c::procWolfHangFallStart() { } void daAlink_c::setWolfHeadDamage() { - setUpperAnimeParam(0x2A7, UPPER_2, &daAlinkHIO_wlDamage_c0::m.mRunningAnm); + setUpperAnimeParam(0x2A7, UPPER_2, &mpHIO->mWolf.mWlDamage.m.mRunningAnm); seStartOnlyReverb(Z2SE_AL_DAMAGE_NORMAL); freeGrabItem(); setFacePriTexture(FTANM_UNK_90); @@ -5591,17 +5594,17 @@ int daAlink_c::procWolfDamageInit(dCcD_GObjInf* param_0) { int temp_r3 = getDirectionFromAngle(cM_atan2s(-sp8.x, -sp8.z)); if (temp_r3 == DIR_FORWARD) { - setSingleAnimeWolfParam(WANM_DMG_FRONT, &daAlinkHIO_wlDamNormal_c0::m.mForwardAnm); - field_0x3478 = daAlinkHIO_wlDamNormal_c0::m.mForwardAnm.mCancelFrame; + setSingleAnimeWolfParam(WANM_DMG_FRONT, &mpHIO->mWolf.mWlDamage.mNormal.m.mForwardAnm); + field_0x3478 = mpHIO->mWolf.mWlDamage.mNormal.m.mForwardAnm.mCancelFrame; } else if (temp_r3 == DIR_BACKWARD) { - setSingleAnimeWolfParam(WANM_DMG_BACK, &daAlinkHIO_wlDamNormal_c0::m.mBackwardAnm); - field_0x3478 = daAlinkHIO_wlDamNormal_c0::m.mBackwardAnm.mCancelFrame; + setSingleAnimeWolfParam(WANM_DMG_BACK, &mpHIO->mWolf.mWlDamage.mNormal.m.mBackwardAnm); + field_0x3478 = mpHIO->mWolf.mWlDamage.mNormal.m.mBackwardAnm.mCancelFrame; } else if (temp_r3 == DIR_LEFT) { - setSingleAnimeWolfParam(WANM_DMG_LEFT, &daAlinkHIO_wlDamNormal_c0::m.mLeftAnm); - field_0x3478 = daAlinkHIO_wlDamNormal_c0::m.mLeftAnm.mCancelFrame; + setSingleAnimeWolfParam(WANM_DMG_LEFT, &mpHIO->mWolf.mWlDamage.mNormal.m.mLeftAnm); + field_0x3478 = mpHIO->mWolf.mWlDamage.mNormal.m.mLeftAnm.mCancelFrame; } else { - setSingleAnimeWolfParam(WANM_DMG_RIGHT, &daAlinkHIO_wlDamNormal_c0::m.mRightAnm); - field_0x3478 = daAlinkHIO_wlDamNormal_c0::m.mRightAnm.mCancelFrame; + setSingleAnimeWolfParam(WANM_DMG_RIGHT, &mpHIO->mWolf.mWlDamage.mNormal.m.mRightAnm); + field_0x3478 = mpHIO->mWolf.mWlDamage.mNormal.m.mRightAnm.mCancelFrame; } setFaceBasicTexture(FTANM_UNK_90); @@ -5609,15 +5612,15 @@ int daAlink_c::procWolfDamageInit(dCcD_GObjInf* param_0) { current.angle.y = var_r30->atan2sX_Z(); mProcVar4.field_0x3010 = current.angle.y; - mNormalSpeed = daAlinkHIO_wlDamNormal_c0::m.mInitSpeed + (daAlinkHIO_wlDamNormal_c0::m.mAttackSpeedRate * var_r30->absXZ()); - if (mNormalSpeed > daAlinkHIO_wlMove_c0::m.mMaxSpeed) { - mNormalSpeed = daAlinkHIO_wlMove_c0::m.mMaxSpeed; + mNormalSpeed = mpHIO->mWolf.mWlDamage.mNormal.m.mInitSpeed + (mpHIO->mWolf.mWlDamage.mNormal.m.mAttackSpeedRate * var_r30->absXZ()); + if (mNormalSpeed > mpHIO->mWolf.mWlMove.m.mMaxSpeed) { + mNormalSpeed = mpHIO->mWolf.mWlMove.m.mMaxSpeed; } field_0x3588 = l_wolfBaseAnime; if (param_0 == NULL || (param_0->GetTgHitGObj() != NULL && param_0->GetTgHitGObj()->GetAtMtrl() == dCcD_MTRL_ICE)) { - mUnderFrameCtrl[0].setRate(daAlinkHIO_wlDamNormal_c0::m.mIceDamageAnmSpeed); + mUnderFrameCtrl[0].setRate(mpHIO->mWolf.mWlDamage.mNormal.m.mIceDamageAnmSpeed); mUnderFrameCtrl[0].setEnd(3); mNormalSpeed = 0.0f; mProcVar0.field_0x3008 = 90; @@ -5639,7 +5642,7 @@ int daAlink_c::procWolfDamageInit(dCcD_GObjInf* param_0) { int daAlink_c::procWolfDamage() { daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl; - cLib_chaseF(&mNormalSpeed, 0.0f, daAlinkHIO_wlDamNormal_c0::m.mDeceleration); + cLib_chaseF(&mNormalSpeed, 0.0f, mpHIO->mWolf.mWlDamage.mNormal.m.mDeceleration); field_0x2f99 = 5; if (checkFreezeDamage()) { @@ -5674,9 +5677,9 @@ int daAlink_c::procWolfLargeDamageUpInit(int param_0, int param_1, s16 param_2, const daAlinkHIO_wlDamLaHu_c1* var_r30; if (param_1 != 0) { - var_r30 = &daAlinkHIO_wlDamLarge_c0::m; + var_r30 = &mpHIO->mWolf.mWlDamage.mLarge.m; } else { - var_r30 = &daAlinkHIO_wlDamHuge_c0::m; + var_r30 = &mpHIO->mWolf.mWlDamage.mHuge.m; } field_0x3198 = 0; @@ -5711,14 +5714,14 @@ int daAlink_c::procWolfLargeDamageUpInit(int param_0, int param_1, s16 param_2, mProcVar5.field_0x3012 = 1; } } else { - var_f30 = daAlinkHIO_wlDamLarge_c0::m.mFrontRiseAnm.mInterpolation; + var_f30 = mpHIO->mWolf.mWlDamage.mLarge.m.mFrontRiseAnm.mInterpolation; } var_r28 = WANM_DMG_AIR_FRONT_GETUP; var_f29 = 16.0f; var_r27 = -1; - field_0x3478 = daAlinkHIO_wlDamLarge_c0::m.mFrontRiseAnm.mCancelFrame; + field_0x3478 = mpHIO->mWolf.mWlDamage.mLarge.m.mFrontRiseAnm.mCancelFrame; if (param_0 == -4) { onNoResetFlg2(FLG2_PRESSED_DAMAGE); @@ -5732,7 +5735,7 @@ int daAlink_c::procWolfLargeDamageUpInit(int param_0, int param_1, s16 param_2, var_f31 = 0.0f; } else { mProcVar0.field_0x3008 = 1; - var_f31 = daAlinkHIO_wlDamage_c0::m.mReturnWakeupAnmSpeed; + var_f31 = mpHIO->mWolf.mWlDamage.m.mReturnWakeupAnmSpeed; } offModeFlg(0x10008000); @@ -5812,7 +5815,7 @@ int daAlink_c::procWolfLargeDamageUp() { if (checkNoResetFlg2(FLG2_PRESSED_DAMAGE)) { return 1; } - temp_r29->setRate(daAlinkHIO_wlDamLarge_c0::m.mFrontRiseAnm.mSpeed); + temp_r29->setRate(mpHIO->mWolf.mWlDamage.mLarge.m.mFrontRiseAnm.mSpeed); } if (mProcVar0.field_0x3008 > 0) { @@ -5820,7 +5823,7 @@ int daAlink_c::procWolfLargeDamageUp() { if (mProcVar0.field_0x3008 == 0) { mProcVar0.field_0x3008 = -1; - temp_r29->setRate(daAlinkHIO_wlDamage_c0::m.mReturnWakeupAnmSpeed); + temp_r29->setRate(mpHIO->mWolf.mWlDamage.m.mReturnWakeupAnmSpeed); temp_r29->offEndFlg(); } } else { @@ -5865,12 +5868,12 @@ int daAlink_c::procWolfLandDamageInit(int param_0) { setLandDamagePoint(8); } - var_f31 = daAlinkHIO_wlDamFall_c0::m.mLandingAnm.mStartFrame; - mProcVar0.field_0x3008 = daAlinkHIO_damFall_c0::m.mBigStopTime; + var_f31 = mpHIO->mWolf.mWlDamage.mFall.m.mLandingAnm.mStartFrame; + mProcVar0.field_0x3008 = mpHIO->mDamage.mDamFall.m.mBigStopTime; dComIfGp_getVibration().StartShock(5, 31, cXyz(0.0f, 1.0f, 0.0f)); } else { - var_f31 = daAlinkHIO_wlDamFall_c0::m.mSmallDamageLandingStartFrame; - mProcVar0.field_0x3008 = daAlinkHIO_wlDamFall_c0::m.mSmallStopTime; + var_f31 = mpHIO->mWolf.mWlDamage.mFall.m.mSmallDamageLandingStartFrame; + mProcVar0.field_0x3008 = mpHIO->mWolf.mWlDamage.mFall.m.mSmallStopTime; if (param_0 == 1) { if (!checkEventRun()) { @@ -5891,9 +5894,9 @@ int daAlink_c::procWolfLandDamageInit(int param_0) { voiceStart(Z2SE_WL_V_LAND_DAMAGE); } - setSingleAnimeWolf(WANM_FALL_LAND, daAlinkHIO_wlDamFall_c0::m.mLandingAnm.mSpeed, var_f31, - daAlinkHIO_wlDamFall_c0::m.mLandingAnm.mEndFrame, - daAlinkHIO_wlDamFall_c0::m.mLandingAnm.mInterpolation); + setSingleAnimeWolf(WANM_FALL_LAND, mpHIO->mWolf.mWlDamage.mFall.m.mLandingAnm.mSpeed, var_f31, + mpHIO->mWolf.mWlDamage.mFall.m.mLandingAnm.mEndFrame, + mpHIO->mWolf.mWlDamage.mFall.m.mLandingAnm.mInterpolation); setFaceBasicTexture(FTANM_UNK_95); field_0x3198 = 0; field_0x2f9d = 4; @@ -5907,14 +5910,14 @@ int daAlink_c::procWolfLandDamage() { if (field_0x3198 != 0) { if (frameCtrl->checkAnmEnd()) { checkNextActionWolf(0); - } else if (frameCtrl->getFrame() > daAlinkHIO_wlDamFall_c0::m.mRightRiseAnm.mCancelFrame) { + } else if (frameCtrl->getFrame() > mpHIO->mWolf.mWlDamage.mFall.m.mRightRiseAnm.mCancelFrame) { checkNextActionWolf(1); } } else if (frameCtrl->checkAnmEnd()) { if (mProcVar0.field_0x3008 > 0) { mProcVar0.field_0x3008--; } else { - setSingleAnimeWolfParam(WANM_FALL_LAND_START, &daAlinkHIO_wlDamFall_c0::m.mRightRiseAnm); + setSingleAnimeWolfParam(WANM_FALL_LAND_START, &mpHIO->mWolf.mWlDamage.mFall.m.mRightRiseAnm); setFaceBasicTexture(FTANM_UNK_96); field_0x3198 = 1; } @@ -5937,8 +5940,8 @@ int daAlink_c::procWolfScreamWaitInit() { if (checkEndResetFlg1(ERFLG1_UNK_2)) { setWolfScreamWaitAnime(); } else { - setSingleAnimeWolfBaseSpeed(WANM_WAIT, daAlinkHIO_wlMoveNoP_c0::m.mIdleAnmSpeed, - daAlinkHIO_wlMove_c0::m.mIdleInterpolation); + setSingleAnimeWolfBaseSpeed(WANM_WAIT, mpHIO->mWolf.mWlMoveNoP.m.mIdleAnmSpeed, + mpHIO->mWolf.mWlMove.m.mIdleInterpolation); mProcVar2.field_0x300c = 0; } @@ -5958,15 +5961,15 @@ int daAlink_c::procWolfScreamWait() { if (frameCtrl->checkAnmEnd()) { checkNextActionWolf(0); - } else if (frameCtrl->getFrame() > daAlinkHIO_wlDamLarge_c0::m.mFrontRiseAnm.mCancelFrame) { + } else if (frameCtrl->getFrame() > mpHIO->mWolf.mWlDamage.mLarge.m.mFrontRiseAnm.mCancelFrame) { checkNextActionWolf(1); } } else { mProcVar3.field_0x300e = 1; setSingleAnimeWolf(WANM_DMG_AIR_FRONT_GETUP, - daAlinkHIO_wlDamLarge_c0::m.mFrontRiseAnm.mSpeed, 20.0f, - daAlinkHIO_wlDamLarge_c0::m.mFrontRiseAnm.mEndFrame, - daAlinkHIO_wlDamLarge_c0::m.mFrontRiseAnm.mInterpolation); + mpHIO->mWolf.mWlDamage.mLarge.m.mFrontRiseAnm.mSpeed, 20.0f, + mpHIO->mWolf.mWlDamage.mLarge.m.mFrontRiseAnm.mEndFrame, + mpHIO->mWolf.mWlDamage.mLarge.m.mFrontRiseAnm.mInterpolation); field_0x2f99 = 13; } } else if (mProcVar2.field_0x300c == 0 && checkEndResetFlg1(ERFLG1_UNK_2)) { @@ -5981,8 +5984,8 @@ f32 daAlink_c::getWolfLieMoveAnmSpeed() { return getAnmSpeedStickRate(0.5f, 2.0f); } - return getAnmSpeedStickRate(daAlinkHIO_wlLie_c0::m.mProneMinAnmSpeed, - daAlinkHIO_wlLie_c0::m.mProneMaxAnmSpeed); + return getAnmSpeedStickRate(mpHIO->mWolf.mWlLie.m.mProneMinAnmSpeed, + mpHIO->mWolf.mWlLie.m.mProneMaxAnmSpeed); } f32 daAlink_c::getWolfLieMoveSpeed() { @@ -5995,7 +5998,7 @@ f32 daAlink_c::getWolfLieMoveSpeed() { var_f1 = frameCtrl_p->getFrame(); } - return daAlinkHIO_wlLie_c0::m.mProneMoveRate * frameCtrl_p->getRate() * + return mpHIO->mWolf.mWlLie.m.mProneMoveRate * frameCtrl_p->getRate() * cM_fsin(var_f1 * 0.20943952f); } @@ -6024,7 +6027,7 @@ BOOL daAlink_c::checkWolfLieContinue(int param_0) { int daAlink_c::checkNextActionWolfFromLie() { if (checkNextActionWolf(0)) { if (field_0x2f8c == 1 || field_0x2f8c == 2 || field_0x2f8c == 3) { - field_0x2060->initOldFrameMorf(daAlinkHIO_wlLie_c0::m.mStandUpInterp, 0, 40); + field_0x2060->initOldFrameMorf(mpHIO->mWolf.mWlLie.m.mStandUpInterp, 0, 40); } return true; } @@ -6058,7 +6061,7 @@ bool daAlink_c::checkWolfLieCode() { int daAlink_c::procWolfLieStartInit(int param_0) { commonProcInit(PROC_WOLF_LIE_START); field_0x3588 = l_wolfBaseAnime; - setSingleAnimeWolfParam(WANM_CROUCH, &daAlinkHIO_wlLie_c0::m.mProneStartAnm); + setSingleAnimeWolfParam(WANM_CROUCH, &mpHIO->mWolf.mWlLie.m.mProneStartAnm); if (param_0) { shape_angle.y = field_0x306e + 0x8000; @@ -6089,7 +6092,7 @@ int daAlink_c::procWolfLieStart() { checkNextActionWolfFromLie(); } else if (checkInputOnR() && (checkAnmEnd(frameCtrl_p) || - frameCtrl_p->getFrame() > daAlinkHIO_wlLie_c0::m.mProneStartAnm.mCancelFrame)) + frameCtrl_p->getFrame() > mpHIO->mWolf.mWlLie.m.mProneStartAnm.mCancelFrame)) { procWolfLieMoveInit(0); } else { @@ -6137,7 +6140,7 @@ int daAlink_c::procWolfLieMoveInit(int param_0) { } current.angle.y = shape_angle.y; - setSingleAnimeWolfBaseSpeed(WANM_CROUCH_WALK, anm_speed, daAlinkHIO_wlLie_c0::m.mProneMoveInterp); + setSingleAnimeWolfBaseSpeed(WANM_CROUCH_WALK, anm_speed, mpHIO->mWolf.mWlLie.m.mProneMoveInterp); } field_0x3198 = var_r29 ^ 1; @@ -6247,7 +6250,7 @@ int daAlink_c::procWolfLieMove() { spA = field_0x2fe2 + 0x8000; } - cLib_addCalcAngleS(&shape_angle.y, spA, daAlinkHIO_wlLie_c0::m.mProneTurnRate, daAlinkHIO_wlLie_c0::m.mProneTurnMax, daAlinkHIO_wlLie_c0::m.mProneTurnMin); + cLib_addCalcAngleS(&shape_angle.y, spA, mpHIO->mWolf.mWlLie.m.mProneTurnRate, mpHIO->mWolf.mWlLie.m.mProneTurnMax, mpHIO->mWolf.mWlLie.m.mProneTurnMin); } mNormalSpeed = getWolfLieMoveSpeed(); @@ -6388,16 +6391,16 @@ int daAlink_c::procWolfLieAutoMove() { void daAlink_c::setSpeedAndAngleSwimWolf() { if (checkWolfDashMode()) { - field_0x594 = daAlinkHIO_wlSwim_c0::m.mMaxSpeed; + field_0x594 = mpHIO->mWolf.mWlSwim.m.mMaxSpeed; } else { - field_0x594 = daAlinkHIO_wlSwim_c0::m.mMaxSpeedWeak; + field_0x594 = mpHIO->mWolf.mWlSwim.m.mMaxSpeedWeak; } f32 var_f31; if (checkInputOnR()) { s16 prev_angle = current.angle.y; - cLib_addCalcAngleS(¤t.angle.y, field_0x2fe2, daAlinkHIO_wlSwim_c0::m.mTurnRate, - daAlinkHIO_wlSwim_c0::m.mTurnMax, daAlinkHIO_wlSwim_c0::m.mTurnMin); + cLib_addCalcAngleS(¤t.angle.y, field_0x2fe2, mpHIO->mWolf.mWlSwim.m.mTurnRate, + mpHIO->mWolf.mWlSwim.m.mTurnMax, mpHIO->mWolf.mWlSwim.m.mTurnMin); var_f31 = field_0x33a8 * 3.0f * cM_scos(current.angle.y - prev_angle); shape_angle.y = current.angle.y; @@ -6413,15 +6416,15 @@ void daAlink_c::setSpeedAndAngleSwimWolf() { if (mTargetedActor != NULL) { setShapeAngleToAtnActor(0); } else { - cLib_addCalcAngleS(&shape_angle.y, field_0x2fe4, daAlinkHIO_wlSwim_c0::m.mIdleTurnRate, - daAlinkHIO_wlSwim_c0::m.mIdleTurnMax, - daAlinkHIO_wlSwim_c0::m.mIdleTurnMin); + cLib_addCalcAngleS(&shape_angle.y, field_0x2fe4, mpHIO->mWolf.mWlSwim.m.mIdleTurnRate, + mpHIO->mWolf.mWlSwim.m.mIdleTurnMax, + mpHIO->mWolf.mWlSwim.m.mIdleTurnMin); } current.angle.y = shape_angle.y; } - setNormalSpeedF(var_f31, daAlinkHIO_wlSwim_c0::m.mDeceleration); + setNormalSpeedF(var_f31, mpHIO->mWolf.mWlSwim.m.mDeceleration); if (dComIfGp_checkPlayerStatus0(0, 0x10)) { mNormalSpeed = 0.0f; @@ -6436,12 +6439,12 @@ f32 daAlink_c::getWolfSwimMoveAnmSpeed() { if (checkWolfDashMode()) { anm_speed = - daAlinkHIO_wlSwim_c0::m.mMoveMinAnmSpeed + - anm_speed * (daAlinkHIO_wlSwim_c0::m.mMoveMaxAnmSpeed - daAlinkHIO_wlSwim_c0::m.mMoveMinAnmSpeed); + mpHIO->mWolf.mWlSwim.m.mMoveMinAnmSpeed + + anm_speed * (mpHIO->mWolf.mWlSwim.m.mMoveMaxAnmSpeed - mpHIO->mWolf.mWlSwim.m.mMoveMinAnmSpeed); } else { anm_speed = - daAlinkHIO_wlSwim_c0::m.mMoveMinAnmSpeedWeak + - anm_speed * (daAlinkHIO_wlSwim_c0::m.mMoveMaxAnmSpeedWeak - daAlinkHIO_wlSwim_c0::m.mMoveMinAnmSpeedWeak); + mpHIO->mWolf.mWlSwim.m.mMoveMinAnmSpeedWeak + + anm_speed * (mpHIO->mWolf.mWlSwim.m.mMoveMaxAnmSpeedWeak - mpHIO->mWolf.mWlSwim.m.mMoveMinAnmSpeedWeak); } return anm_speed; @@ -6469,14 +6472,14 @@ int daAlink_c::decideDoStatusSwimWolf() { onNoResetFlg1(FLG1_DASH_MODE); if (field_0x2fc7 == 1 || field_0x2fc7 == 3) { - field_0x30d0 = daAlinkHIO_wlMove_c0::m.mADashDurationSlow; + field_0x30d0 = mpHIO->mWolf.mWlMove.m.mADashDurationSlow; } else if (field_0x2fc7 == 2) { - field_0x30d0 = daAlinkHIO_wlMove_c0::m.mADashDurationSlow2; + field_0x30d0 = mpHIO->mWolf.mWlMove.m.mADashDurationSlow2; } else { - field_0x30d0 = daAlinkHIO_wlMove_c0::m.mADashDuration; + field_0x30d0 = mpHIO->mWolf.mWlMove.m.mADashDuration; } - setSingleAnimeWolfParam(WANM_SWIM_DASH, &daAlinkHIO_wlSwim_c0::m.mDashAnm); + setSingleAnimeWolfParam(WANM_SWIM_DASH, &mpHIO->mWolf.mWlSwim.m.mDashAnm); } } @@ -6496,7 +6499,7 @@ int daAlink_c::procWolfSwimUpInit() { onNoResetFlg0(FLG0_SWIM_UP); mZ2Link.setInWater(false); - setSingleAnimeWolfParam(WANM_SWIM_RESURFACE, &daAlinkHIO_wlSwim_c0::m.mSurfacingAnm); + setSingleAnimeWolfParam(WANM_SWIM_RESURFACE, &mpHIO->mWolf.mWlSwim.m.mSurfacingAnm); setFaceBasicTexture(FTANM_UNK_8E); dComIfGp_setPlayerStatus0(0, 0x100000); seStartMapInfo(Z2SE_WL_OUTOF_WATER); @@ -6506,12 +6509,12 @@ int daAlink_c::procWolfSwimUpInit() { int daAlink_c::procWolfSwimUp() { daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; - setNormalSpeedF(0.0f, daAlinkHIO_wlSwim_c0::m.mDeceleration); + setNormalSpeedF(0.0f, mpHIO->mWolf.mWlSwim.m.mDeceleration); if (frameCtrl->checkAnmEnd()) { procWolfSwimWaitInit(0); } else if (checkInputOnR() && - frameCtrl->getFrame() > daAlinkHIO_wlSwim_c0::m.mSurfacingAnm.mCancelFrame) + frameCtrl->getFrame() > mpHIO->mWolf.mWlSwim.m.mSurfacingAnm.mCancelFrame) { procWolfSwimMoveInit(); } else { @@ -6526,7 +6529,7 @@ int daAlink_c::procWolfSwimWaitInit(int param_0) { if (mProcID == PROC_WOLF_SWIM_UP) { morf = 0.0f; } else { - morf = daAlinkHIO_wlSwim_c0::m.mIdleInterp; + morf = mpHIO->mWolf.mWlSwim.m.mIdleInterp; } commonProcInit(PROC_WOLF_SWIM_WAIT); @@ -6541,9 +6544,9 @@ int daAlink_c::procWolfSwimWaitInit(int param_0) { f32 anm_speed; if (checkWolfDashMode()) { - anm_speed = daAlinkHIO_wlSwim_c0::m.mIdleAnmSpeed; + anm_speed = mpHIO->mWolf.mWlSwim.m.mIdleAnmSpeed; } else { - anm_speed = daAlinkHIO_wlSwim_c0::m.mIdleAnmSpeedWeak; + anm_speed = mpHIO->mWolf.mWlSwim.m.mIdleAnmSpeedWeak; } setSingleAnimeWolfBaseSpeed(WANM_SWIM_WAIT, anm_speed, morf); @@ -6568,9 +6571,9 @@ int daAlink_c::procWolfSwimWait() { setSwimUpDownOffset(); if (checkWolfDashMode()) { - mUnderFrameCtrl[0].setRate(daAlinkHIO_wlSwim_c0::m.mIdleAnmSpeed); + mUnderFrameCtrl[0].setRate(mpHIO->mWolf.mWlSwim.m.mIdleAnmSpeed); } else { - mUnderFrameCtrl[0].setRate(daAlinkHIO_wlSwim_c0::m.mIdleAnmSpeedWeak); + mUnderFrameCtrl[0].setRate(mpHIO->mWolf.mWlSwim.m.mIdleAnmSpeedWeak); } if (checkSwimUpAction()) { @@ -6591,7 +6594,7 @@ int daAlink_c::procWolfSwimWait() { int daAlink_c::procWolfSwimMoveInit() { commonProcInit(PROC_WOLF_SWIM_MOVE); setSingleAnimeWolfBaseSpeed(WANM_SWIM, getWolfSwimMoveAnmSpeed(), - daAlinkHIO_wlSwim_c0::m.mMoveInterp); + mpHIO->mWolf.mWlSwim.m.mMoveInterp); if (checkNoResetFlg0(FLG0_SWIM_UP)) { current.pos.y = mWaterY; @@ -6619,14 +6622,14 @@ int daAlink_c::procWolfSwimMove() { if (checkAnmEnd(mUnderFrameCtrl) && checkWolfSwimDashAnime()) { setSingleAnimeWolfBaseSpeed(WANM_SWIM, getWolfSwimMoveAnmSpeed(), - daAlinkHIO_wlSwim_c0::m.mMoveInterp); + mpHIO->mWolf.mWlSwim.m.mMoveInterp); if (field_0x2fc7 == 1 || field_0x2fc7 == 3) { - field_0x30d2 = daAlinkHIO_wlMove_c0::m.mADashCooldownTimeSlow; + field_0x30d2 = mpHIO->mWolf.mWlMove.m.mADashCooldownTimeSlow; } else if (field_0x2fc7 == 2) { - field_0x30d2 = daAlinkHIO_wlMove_c0::m.mADashCooldownTimeSlow2; + field_0x30d2 = mpHIO->mWolf.mWlMove.m.mADashCooldownTimeSlow2; } else { - field_0x30d2 = daAlinkHIO_wlMove_c0::m.mADashCooldownTime; + field_0x30d2 = mpHIO->mWolf.mWlMove.m.mADashCooldownTime; } } @@ -6644,7 +6647,7 @@ int daAlink_c::procWolfSwimMove() { int daAlink_c::procWolfSwimEndWaitInit(int param_0) { commonProcInit(PROC_WOLF_SWIM_END_WAIT); - setSingleAnimeWolfParam(WANM_WAIT_SHAKE, &daAlinkHIO_wlSwim_c0::m.mWaterSplashIdleAnm); + setSingleAnimeWolfParam(WANM_WAIT_SHAKE, &mpHIO->mWolf.mWlSwim.m.mWaterSplashIdleAnm); setFaceBasicTexture(FTANM_UNK_8F); mDoMtx_multVecZero(mpLinkModel->getAnmMtx(3), &field_0x37c8); @@ -6692,7 +6695,7 @@ int daAlink_c::procWolfSwimEndWait() { if (checkAnmEnd(frameCtrl_p)) { checkNextActionWolf(0); - } else if (frameCtrl_p->getFrame() > daAlinkHIO_wlSwim_c0::m.mWaterSplashIdleAnm.mCancelFrame) { + } else if (frameCtrl_p->getFrame() > mpHIO->mWolf.mWlSwim.m.mWaterSplashIdleAnm.mCancelFrame) { checkNextActionWolf(1); } @@ -6755,7 +6758,7 @@ void daAlink_c::setWolfLockDomeModel() { mEquipItem = 0x109; mItemVar0.field_0x3018 = 0; - mSearchBallScale = daAlinkHIO_wlAtLock_c0::m.mStartRadius; + mSearchBallScale = mpHIO->mWolf.mWlAttack.mWlAtLock.m.mStartRadius; dComIfGp_setPlayerStatus1(0, 0x800000); seStartOnlyReverb(Z2SE_MIDNA_BIND_AREA_OPEN); @@ -6945,8 +6948,16 @@ BOOL daAlink_c::checkWolfAttackAction() { } void daAlink_c::setWolfEnemyThrowUpperAnime(daAlink_c::daAlink_WANM i_anmID, f32 param_1) { - setUpperAnime(i_anmID == WANM_FLING_LEFT ? (u16)0x2BD : (u16)0x2BE, UPPER_2, - daAlinkHIO_wlAtBite_c0::m.mEnemyBiteThrowAnmSpeed, param_1, -1, -1.0f); + setUpperAnime( + i_anmID == WANM_FLING_LEFT ? (u16)0x2BD : (u16)0x2BE, + UPPER_2, + // Fakematch, should be + // mpHIO->mWolf.mWlAttack.mWlAtBite.m.mEnemyBiteThrowAnmSpeed, + daAlinkHIO_wlAtBite_c0::m.mEnemyBiteThrowAnmSpeed, + param_1, + -1, + -1.0f + ); } BOOL daAlink_c::setWolfEnemyHangBitePos(fopEn_enemy_c* i_enemy) { @@ -6992,7 +7003,7 @@ BOOL daAlink_c::checkWolfLockAttackChargeState() { int daAlink_c::procWolfRollAttackChargeInit() { commonProcInit(PROC_WOLF_ROLL_ATTACK_CHARGE); setSingleAnimeWolfBaseSpeed(WANM_CUT_TURN_CHARGE, 0.0f, - daAlinkHIO_wlAttack_c0::m.mReadyInterpolation); + mpHIO->mWolf.mWlAttack.m.mReadyInterpolation); voiceStartLevel(Z2SE_WL_V_ROAR); return 1; } @@ -7007,7 +7018,7 @@ int daAlink_c::procWolfRollAttackCharge() { } else if (field_0x2060->getOldFrameRate() < 0.1f) { procWolfRollAttackMoveInit(); } else { - cLib_chaseF(&mNormalSpeed, 0.0f, daAlinkHIO_wlMoveNoP_c0::m.mDeceleration); + cLib_chaseF(&mNormalSpeed, 0.0f, mpHIO->mWolf.mWlMoveNoP.m.mDeceleration); setShapeAngleToAtnActor(0); current.angle.y = shape_angle.y; voiceStartLevel(Z2SE_WL_V_ROAR); @@ -7022,8 +7033,8 @@ int daAlink_c::procWolfRollAttackMoveInit() { onModeFlg(1); } - mProcVar0.field_0x3008 = daAlinkHIO_wlAttack_c0::m.mChargeTime; - mProcVar1.field_0x300a = daAlinkHIO_wlAtLock_c0::m.mAutoActivationTime; + mProcVar0.field_0x3008 = mpHIO->mWolf.mWlAttack.m.mChargeTime; + mProcVar1.field_0x300a = mpHIO->mWolf.mWlAttack.mWlAtLock.m.mAutoActivationTime; mProcVar5.field_0x3012 = 30; field_0x3198 = 0; field_0x2fe4 = shape_angle.y; @@ -7070,9 +7081,9 @@ int daAlink_c::procWolfRollAttackMove() { seStartOnlyReverbLevel(Z2SE_MIDNA_BIND_AREA_SUS); mProcVar1.field_0x300a--; - if (mSearchBallScale < daAlinkHIO_wlAtLock_c0::m.mMaxRadius && - cLib_chaseF(&mSearchBallScale, daAlinkHIO_wlAtLock_c0::m.mMaxRadius, - daAlinkHIO_wlAtLock_c0::m.mRadiusAcceleration)) + if (mSearchBallScale < mpHIO->mWolf.mWlAttack.mWlAtLock.m.mMaxRadius && + cLib_chaseF(&mSearchBallScale, mpHIO->mWolf.mWlAttack.mWlAtLock.m.mMaxRadius, + mpHIO->mWolf.mWlAttack.mWlAtLock.m.mRadiusAcceleration)) { mItemVar0.field_0x3018 = 1; } @@ -7154,20 +7165,20 @@ int daAlink_c::procWolfJumpAttackInit(int param_0) { if (param_0 == 1) { setCutType(0x39); - setCylAtParam(0x80000000, dCcG_At_Spl_UNK_1, 3, 4, 3, daAlinkHIO_wlAtCjump_c0::m.mAttackRadius, daAlinkHIO_wlAtCjump_c0::m.mAttackHeight); - field_0x594 = daAlinkHIO_wlAtCjump_c0::m.mMaxHorizontalSpeed; - var_f26 = daAlinkHIO_wlAtCjump_c0::m.mMaxVerticalSpeed; + setCylAtParam(0x80000000, dCcG_At_Spl_UNK_1, 3, 4, 3, mpHIO->mWolf.mWlAttack.mWlAtCjump.m.mAttackRadius, mpHIO->mWolf.mWlAttack.mWlAtCjump.m.mAttackHeight); + field_0x594 = mpHIO->mWolf.mWlAttack.mWlAtCjump.m.mMaxHorizontalSpeed; + var_f26 = mpHIO->mWolf.mWlAttack.mWlAtCjump.m.mMaxVerticalSpeed; if (mTargetedActor != NULL) { - var_f31 = daAlinkHIO_wlAtCjump_c0::m.mMinVerticalSpeed; - var_f28 = daAlinkHIO_wlAtCjump_c0::m.mAttackInitSpeed; + var_f31 = mpHIO->mWolf.mWlAttack.mWlAtCjump.m.mMinVerticalSpeed; + var_f28 = mpHIO->mWolf.mWlAttack.mWlAtCjump.m.mAttackInitSpeed; } else { var_f31 = 25.0f; var_f28 = 26.0f; } - var_f27 = daAlinkHIO_wlAtCjump_c0::m.mMinHorizontalSpeed; - field_0x3438 = daAlinkHIO_wlAtCjump_c0::m.mAttackRadiusOffset; + var_f27 = mpHIO->mWolf.mWlAttack.mWlAtCjump.m.mMinHorizontalSpeed; + field_0x3438 = mpHIO->mWolf.mWlAttack.mWlAtCjump.m.mAttackRadiusOffset; voiceStart(Z2SE_WL_V_ATTACK_L); seStartOnlyReverb(Z2SE_WOLFATTACK_WIND_SCREW); @@ -7185,28 +7196,28 @@ int daAlink_c::procWolfJumpAttackInit(int param_0) { } else { if (mComboCutCount == 4) { setCutType(0x32); - setCylAtParam(0x80000000, dCcG_At_Spl_UNK_1, 3, 4, 3, daAlinkHIO_wlAtNjump_c0::m.mAttackRadius, daAlinkHIO_wlAtNjump_c0::m.mAttackHeight); + setCylAtParam(0x80000000, dCcG_At_Spl_UNK_1, 3, 4, 3, mpHIO->mWolf.mWlAttack.mWlAtNjump.m.mAttackRadius, mpHIO->mWolf.mWlAttack.mWlAtNjump.m.mAttackHeight); voiceStart(Z2SE_WL_V_ATTACK_L); seStartOnlyReverb(Z2SE_WOLFATTACK_WIND_SCREW); mProcVar5.field_0x3012 = 1; } else { setCutType(0x31); - setCylAtParam(0x80000000, dCcG_At_Spl_UNK_0, 1, 4, 2, daAlinkHIO_wlAtNjump_c0::m.mAttackRadius, daAlinkHIO_wlAtNjump_c0::m.mAttackHeight); + setCylAtParam(0x80000000, dCcG_At_Spl_UNK_0, 1, 4, 2, mpHIO->mWolf.mWlAttack.mWlAtNjump.m.mAttackRadius, mpHIO->mWolf.mWlAttack.mWlAtNjump.m.mAttackHeight); voiceStart(Z2SE_WL_V_ATTACK_S); seStartOnlyReverb(Z2SE_WOLFATTACK_WIND_S); mProcVar5.field_0x3012 = 0; } - field_0x594 = daAlinkHIO_wlAtNjump_c0::m.mMaxHorizontalSpeed; - var_f27 = daAlinkHIO_wlAtNjump_c0::m.mMinHorizontalSpeed; - var_f26 = daAlinkHIO_wlAtNjump_c0::m.mMaxVerticalSpeed; - var_f31 = daAlinkHIO_wlAtNjump_c0::m.mMinVerticalSpeed; - field_0x3438 = daAlinkHIO_wlAtNjump_c0::m.mAttackRadiusOffset; - var_f28 = daAlinkHIO_wlAtNjump_c0::m.mAttackInitSpeed; + field_0x594 = mpHIO->mWolf.mWlAttack.mWlAtNjump.m.mMaxHorizontalSpeed; + var_f27 = mpHIO->mWolf.mWlAttack.mWlAtNjump.m.mMinHorizontalSpeed; + var_f26 = mpHIO->mWolf.mWlAttack.mWlAtNjump.m.mMaxVerticalSpeed; + var_f31 = mpHIO->mWolf.mWlAttack.mWlAtNjump.m.mMinVerticalSpeed; + field_0x3438 = mpHIO->mWolf.mWlAttack.mWlAtNjump.m.mAttackRadiusOffset; + var_f28 = mpHIO->mWolf.mWlAttack.mWlAtNjump.m.mAttackInitSpeed; mProcVar4.field_0x3010 = 0; } - setSingleAnimeWolfParam(WANM_ATTACK_A_START, &daAlinkHIO_wlAtNjump_c0::m.mAerialAttackAnm); + setSingleAnimeWolfParam(WANM_ATTACK_A_START, &mpHIO->mWolf.mWlAttack.mWlAtNjump.m.mAerialAttackAnm); if (mTargetedActor != NULL) { shape_angle.y = cLib_targetAngleY(¤t.pos, &mTargetedActor->eyePos); @@ -7265,7 +7276,7 @@ int daAlink_c::procWolfJumpAttackInit(int param_0) { current.angle.y = shape_angle.y; if (param_0 != 1) { - field_0x307e = daAlinkHIO_wlAttack_c0::m.mComboDuration; + field_0x307e = mpHIO->mWolf.mWlAttack.m.mComboDuration; } return 1; @@ -7274,16 +7285,16 @@ int daAlink_c::procWolfJumpAttackInit(int param_0) { int daAlink_c::procWolfJumpAttack() { daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl; - if (mProcVar3.field_0x300e != 0 && mNormalSpeed > daAlinkHIO_wlAtCjump_c0::m.mHitMinSpeed) { - cLib_chaseF(&mNormalSpeed, daAlinkHIO_wlAtCjump_c0::m.mHitMinSpeed, - daAlinkHIO_wlAtCjump_c0::m.mHitDecel); + if (mProcVar3.field_0x300e != 0 && mNormalSpeed > mpHIO->mWolf.mWlAttack.mWlAtCjump.m.mHitMinSpeed) { + cLib_chaseF(&mNormalSpeed, mpHIO->mWolf.mWlAttack.mWlAtCjump.m.mHitMinSpeed, + mpHIO->mWolf.mWlAttack.mWlAtCjump.m.mHitDecel); } if (mAtCyl.ChkAtHit()) { field_0x3198 = 1; if (mProcVar4.field_0x3010 != 0 && mProcVar3.field_0x300e == 0) { - mNormalSpeed *= daAlinkHIO_wlAtCjump_c0::m.mHitDecelRate; + mNormalSpeed *= mpHIO->mWolf.mWlAttack.mWlAtCjump.m.mHitDecelRate; mProcVar3.field_0x300e = 1; } } @@ -7304,7 +7315,7 @@ int daAlink_c::procWolfJumpAttack() { field_0x32cc = 1; if (mProcVar1.field_0x300a != 1) { - field_0x307e = daAlinkHIO_wlAttack_c0::m.mComboDuration; + field_0x307e = mpHIO->mWolf.mWlAttack.m.mComboDuration; } if (mProcVar0.field_0x3008 != 0 && checkFrontWallTypeAction()) { @@ -7335,8 +7346,8 @@ int daAlink_c::procWolfJumpAttack() { if (checkAnmEnd(frameCtrl_p)) { if (mProcVar2.field_0x300c == 0) { mProcVar2.field_0x300c = 1; - setSingleAnimeWolfBaseSpeed(WANM_ATTACK_A, daAlinkHIO_wlAtNjump_c0::m.mAerialAnmSpeed, - daAlinkHIO_wlAtNjump_c0::m.mAerialInterpolation); + setSingleAnimeWolfBaseSpeed(WANM_ATTACK_A, mpHIO->mWolf.mWlAttack.mWlAtNjump.m.mAerialAnmSpeed, + mpHIO->mWolf.mWlAttack.mWlAtNjump.m.mAerialInterpolation); onResetFlg0(RFLG0_UNK_2); } else { onResetFlg0(RFLG0_UNK_2); @@ -7344,8 +7355,8 @@ int daAlink_c::procWolfJumpAttack() { } else { onResetFlg0(RFLG0_UNK_2); - if (current.pos.y < mLastJumpPos.y - daAlinkHIO_wlAttack_c0::m.mFallHeight) { - procWolfFallInit(2, daAlinkHIO_wlAttack_c0::m.mFallInterpolation); + if (current.pos.y < mLastJumpPos.y - mpHIO->mWolf.mWlAttack.m.mFallHeight) { + procWolfFallInit(2, mpHIO->mWolf.mWlAttack.m.mFallInterpolation); } } @@ -7354,7 +7365,7 @@ int daAlink_c::procWolfJumpAttack() { int daAlink_c::procWolfJumpAttackKickInit() { commonProcInit(PROC_WOLF_JUMP_AT_KICK); - setSingleAnimeWolfParam(WANM_JUMP_KICK, &daAlinkHIO_wlAtCjump_c0::m.mFlipKickAnm); + setSingleAnimeWolfParam(WANM_JUMP_KICK, &mpHIO->mWolf.mWlAttack.mWlAtCjump.m.mFlipKickAnm); f32 tmp_0 = 0.0f; speed.y = tmp_0; @@ -7393,15 +7404,15 @@ int daAlink_c::procWolfJumpAttackSlideLandInit(int param_0, int param_1, int par fopAcM_seenActorAngleY(this, mTargetedActor) > 0x5000) || param_2) { - setSingleAnimeWolfParam(WANM_ATTACK_A_END_BACK, &daAlinkHIO_wlAtLand_c0::m.mBackSlideAnm); + setSingleAnimeWolfParam(WANM_ATTACK_A_END_BACK, &mpHIO->mWolf.mWlAttack.mWlAtLand.m.mBackSlideAnm); mProcVar2.field_0x300c = 1; field_0x3588.set(-l_wolfBaseAnime.x, l_wolfBaseAnime.y, -l_wolfBaseAnime.z); - field_0x3478 = daAlinkHIO_wlAtLand_c0::m.mBackSlideAnm.mCancelFrame; + field_0x3478 = mpHIO->mWolf.mWlAttack.mWlAtLand.m.mBackSlideAnm.mCancelFrame; } else { - setSingleAnimeWolfParam(WANM_ATTACK_A_END_FRONT, &daAlinkHIO_wlAtLand_c0::m.mFrontSlideAnm); + setSingleAnimeWolfParam(WANM_ATTACK_A_END_FRONT, &mpHIO->mWolf.mWlAttack.mWlAtLand.m.mFrontSlideAnm); mProcVar2.field_0x300c = 0; field_0x3588 = l_wolfBaseAnime; - field_0x3478 = daAlinkHIO_wlAtLand_c0::m.mFrontSlideAnm.mCancelFrame; + field_0x3478 = mpHIO->mWolf.mWlAttack.mWlAtLand.m.mFrontSlideAnm.mCancelFrame; } field_0x2f9d = 4; @@ -7414,7 +7425,7 @@ int daAlink_c::procWolfJumpAttackSlideLandInit(int param_0, int param_1, int par } mProcVar5.field_0x3012 = 0; - field_0x307e = daAlinkHIO_wlAttack_c0::m.mComboDuration; + field_0x307e = mpHIO->mWolf.mWlAttack.m.mComboDuration; field_0x2f98 = 0; return 1; } @@ -7427,7 +7438,7 @@ int daAlink_c::procWolfJumpAttackSlideLand() { daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl; field_0x2f99 = 4; - cLib_addCalc(&mNormalSpeed, 0.0f, 0.3f, daAlinkHIO_wlAtLand_c0::m.mSlideDeceleration, 0.5f); + cLib_addCalc(&mNormalSpeed, 0.0f, 0.3f, mpHIO->mWolf.mWlAttack.mWlAtLand.m.mSlideDeceleration, 0.5f); if (mProcVar4.field_0x3010 != 0) { setShapeAngleToAtnActor(0); @@ -7465,7 +7476,7 @@ int daAlink_c::procWolfJumpAttackSlideLand() { int daAlink_c::procWolfJumpAttackNormalLandInit(int param_0) { commonProcInit(PROC_WOLF_JUMP_AT_NORMAL_LAND); - setSingleAnimeWolfParam(WANM_ATTACK_A_END, &daAlinkHIO_wlAtLand_c0::m.mNormalLandingAnm); + setSingleAnimeWolfParam(WANM_ATTACK_A_END, &mpHIO->mWolf.mWlAttack.mWlAtLand.m.mNormalLandingAnm); setFootEffectProcType(2); field_0x2f9d = 0x18; @@ -7473,7 +7484,7 @@ int daAlink_c::procWolfJumpAttackNormalLandInit(int param_0) { mProcVar5.field_0x3012 = 0; mProcVar2.field_0x300c = param_0; field_0x2f99 = 12; - field_0x307e = daAlinkHIO_wlAttack_c0::m.mComboDuration; + field_0x307e = mpHIO->mWolf.mWlAttack.m.mComboDuration; if (param_0 != 0) { dComIfGp_setPlayerStatus1(0, 0x200000); @@ -7490,13 +7501,13 @@ int daAlink_c::procWolfJumpAttackNormalLand() { daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; field_0x2f99 = 4; - cLib_chaseF(&mNormalSpeed, 0.0f, daAlinkHIO_wlMoveNoP_c0::m.mDeceleration); + cLib_chaseF(&mNormalSpeed, 0.0f, mpHIO->mWolf.mWlMoveNoP.m.mDeceleration); setComboReserb(); checkCutTurnCharge(); if (frameCtrl->checkAnmEnd()) { checkNextActionWolf(0); - } else if (frameCtrl->getFrame() > daAlinkHIO_wlAtLand_c0::m.mNormalLandingAnm.mCancelFrame) { + } else if (frameCtrl->getFrame() > mpHIO->mWolf.mWlAttack.mWlAtLand.m.mNormalLandingAnm.mCancelFrame) { if (mProcVar2.field_0x300c != 0) { shape_angle.y -= -0x8000; return procWolfJumpAttackInit(3); @@ -7543,13 +7554,13 @@ int daAlink_c::procWolfWaitAttackInit(int i_attackType) { mProcVar2.field_0x300c = 0; if (i_attackType == 2) { - atk_hio = &daAlinkHIO_wlAtWaTl_c0::m; + atk_hio = &mpHIO->mWolf.mWlAttack.mTailAttack.m; mProcVar3.field_0x300e = 0; } else if (i_attackType == 1) { - atk_hio = &daAlinkHIO_wlAtWaSc_c0::m; + atk_hio = &mpHIO->mWolf.mWlAttack.mScratchAttack.m; mProcVar3.field_0x300e = 1; } else { - atk_hio = &daAlinkHIO_wlAtWaLr_c0::m; + atk_hio = &mpHIO->mWolf.mWlAttack.mHorizontalAttack.m; mProcVar3.field_0x300e = 1; } @@ -7583,7 +7594,7 @@ int daAlink_c::procWolfWaitAttackInit(int i_attackType) { field_0x3484 = atk_hio->mSpeedAddForward; field_0x3488 = atk_hio->mSpeed; field_0x3438 = atk_hio->mAttackRadiusOffset; - field_0x307e = daAlinkHIO_wlAttack_c0::m.mComboDuration; + field_0x307e = mpHIO->mWolf.mWlAttack.m.mComboDuration; field_0x3588 = l_wolfBaseAnime; if (mComboCutCount != 1) { @@ -7601,7 +7612,7 @@ int daAlink_c::procWolfWaitAttack() { daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl; field_0x2f99 = 5; - cLib_chaseF(&mNormalSpeed, 0.0f, daAlinkHIO_wlMoveNoP_c0::m.mDeceleration); + cLib_chaseF(&mNormalSpeed, 0.0f, mpHIO->mWolf.mWlMoveNoP.m.mDeceleration); setComboReserb(); checkCutTurnCharge(); @@ -7684,14 +7695,14 @@ int daAlink_c::procWolfRollAttackInit(int param_0, int param_1) { setCutType(CUT_TYPE_WOLF_TURN_LEFT); } - setSingleAnimeWolfParam(anm, &daAlinkHIO_wlAtRoll_c0::m.mAttackAnm); - field_0x3478 = daAlinkHIO_wlAtRoll_c0::m.mAttackRadius; + setSingleAnimeWolfParam(anm, &mpHIO->mWolf.mWlAttack.mAtRoll.m.mAttackAnm); + field_0x3478 = mpHIO->mWolf.mWlAttack.mAtRoll.m.mAttackRadius; setCylAtParam(0x40000000, dCcG_At_Spl_UNK_1, 3, 4, 3, field_0x3478 * 0.5f, 155.0f); mNormalSpeed = 0.0f; mProcVar3.field_0x300e = param_1; if (param_1 != 0) { - mUnderFrameCtrl[0].setStart(daAlinkHIO_wlAtRoll_c0::m.mSpiderThreadEscapeStartF); + mUnderFrameCtrl[0].setStart(mpHIO->mWolf.mWlAttack.mAtRoll.m.mSpiderThreadEscapeStartF); } else { seStartOnlyReverb(Z2SE_WOLFATTACK_WIND_L); voiceStart(Z2SE_WL_V_ATTACK_SPIN); @@ -7714,17 +7725,17 @@ int daAlink_c::procWolfRollAttack() { } daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl; - cLib_chaseF(&mNormalSpeed, 0.0f, daAlinkHIO_wlMoveNoP_c0::m.mDeceleration); + cLib_chaseF(&mNormalSpeed, 0.0f, mpHIO->mWolf.mWlMoveNoP.m.mDeceleration); if (checkAnmEnd(frameCtrl_p)) { checkNextActionWolf(0); - } else if (frameCtrl_p->getFrame() > daAlinkHIO_wlAtRoll_c0::m.mAttackAnm.mCancelFrame) { + } else if (frameCtrl_p->getFrame() > mpHIO->mWolf.mWlAttack.mAtRoll.m.mAttackAnm.mCancelFrame) { checkNextActionWolf(1); } else if (mProcVar3.field_0x300e == 0 && frameCtrl_p->getFrame() >= 4.0f && frameCtrl_p->getFrame() < 13.0f) { if (!checkNoResetFlg0(FLG0_UNK_40)) { - mNormalSpeed = daAlinkHIO_wlAtRoll_c0::m.mAttackSpeed; + mNormalSpeed = mpHIO->mWolf.mWlAttack.mAtRoll.m.mAttackSpeed; } onResetFlg0(RFLG0_UNK_2); @@ -7736,7 +7747,7 @@ int daAlink_c::procWolfRollAttack() { int daAlink_c::procWolfDownAttackInit() { commonProcInit(PROC_WOLF_DOWN_ATTACK); - setSingleAnimeWolfParam(WANM_ATTACK_POE_START, &daAlinkHIO_wlAtDown_c0::m.mLowStanceAnm); + setSingleAnimeWolfParam(WANM_ATTACK_POE_START, &mpHIO->mWolf.mWlAttack.mWlAtDown.m.mLowStanceAnm); cXyz sp24(static_cast(mTargetedActor)->getDownPos()); sp24.y += 50.0f; @@ -7757,7 +7768,7 @@ int daAlink_c::procWolfDownAttackInit() { var_f1 = 800.0f; } - speed.y = daAlinkHIO_wlAtDown_c0::m.mSideRollMovementWidth; + speed.y = mpHIO->mWolf.mWlAttack.mWlAtDown.m.mSideRollMovementWidth; f32 temp_f3 = speed.y + gravity; f32 var_f0 = temp_f3 * temp_f3 + gravity * 2.0f * (sp24.y - current.pos.y); @@ -7788,7 +7799,7 @@ int daAlink_c::procWolfDownAttack() { } } else if (checkAnmEnd(mUnderFrameCtrl)) { if (checkUnderMove0BckNoArcWolf(WANM_ATTACK_POE_START)) { - setSingleAnimeWolfParam(WANM_ATTACK_POE, &daAlinkHIO_wlAtDown_c0::m.mPushDownAnm); + setSingleAnimeWolfParam(WANM_ATTACK_POE, &mpHIO->mWolf.mWlAttack.mWlAtDown.m.mPushDownAnm); shape_angle.y = current.angle.y; } } else if (checkUnderMove0BckNoArcWolf(WANM_ATTACK_POE_START)) { @@ -7801,7 +7812,7 @@ int daAlink_c::procWolfDownAttack() { int daAlink_c::procWolfDownAtLandInit(fopEn_enemy_c* i_enemy) { commonProcInit(PROC_WOLF_DOWN_AT_LAND); field_0x280c.setData(i_enemy); - setSingleAnimeWolfParam(WANM_ATTACK_POE_END, &daAlinkHIO_wlAtDown_c0::m.mFrontRollAnm); + setSingleAnimeWolfParam(WANM_ATTACK_POE_END, &mpHIO->mWolf.mWlAttack.mWlAtDown.m.mFrontRollAnm); field_0x2f9d = 4; setFootEffectProcType(2); @@ -7840,7 +7851,7 @@ int daAlink_c::procWolfDownAtLand() { return procWolfBackJumpInit(1); } - setSingleAnimeWolfParam(WANM_PULL_OUT, &daAlinkHIO_wlAtDown_c0::m.mProneGetUpAnm); + setSingleAnimeWolfParam(WANM_PULL_OUT, &mpHIO->mWolf.mWlAttack.mWlAtDown.m.mProneGetUpAnm); dComIfGp_getVibration().StartShock(2, 15, cXyz(0.0f, 1.0f, 0.0f)); } else if (checkUnderMove0BckNoArcWolf(WANM_ATTACK_POE_END) && (frameCtrl_p->checkPass(9.0f) || frameCtrl_p->checkPass(16.0f))) @@ -7853,7 +7864,7 @@ int daAlink_c::procWolfDownAtLand() { int daAlink_c::procWolfDownAtMissLandInit() { commonProcInit(PROC_WOLF_DOWN_AT_MISS_LAND); - setSingleAnimeWolfParam(WANM_ATTACK_POE_MISS, &daAlinkHIO_wlAtDown_c0::m.mRollOverAnm); + setSingleAnimeWolfParam(WANM_ATTACK_POE_MISS, &mpHIO->mWolf.mWlAttack.mWlAtDown.m.mRollOverAnm); setFaceBasicTexture(FTANM_UNK_97); mNormalSpeed = 0.0f; @@ -7876,7 +7887,7 @@ int daAlink_c::procWolfDownAtMissLand() { if (frameCtrl->checkAnmEnd()) { checkNextActionWolf(0); - } else if (frameCtrl->getFrame() > daAlinkHIO_wlAtDown_c0::m.mRollOverAnm.mCancelFrame) { + } else if (frameCtrl->getFrame() > mpHIO->mWolf.mWlAttack.mWlAtDown.m.mRollOverAnm.mCancelFrame) { checkNextActionWolf(1); } else if (frameCtrl->getFrame() >= 3.0f && frameCtrl->getFrame() < 8.0f) { seStartMapInfoLevel(Z2SE_FN_WOLF_SLIP); @@ -7888,7 +7899,7 @@ int daAlink_c::procWolfDownAtMissLand() { int daAlink_c::procWolfLockAttackInit(int param_0) { commonProcInit(PROC_WOLF_LOCK_ATTACK); - setSingleAnimeWolfParam(WANM_ATTACK_A_START, &daAlinkHIO_wlAtNjump_c0::m.mAerialAttackAnm); + setSingleAnimeWolfParam(WANM_ATTACK_A_START, &mpHIO->mWolf.mWlAttack.mWlAtNjump.m.mAerialAttackAnm); if (fopAcM_GetName(mWolfLockAcKeep[0].getActor()) == PROC_E_YMB) { mProcVar5.field_0x3012 = 1; @@ -7917,31 +7928,31 @@ int daAlink_c::procWolfLockAttackInit(int param_0) { if (l_eyePosDelta.y < 10.0f) { l_eyePosDelta.y = 10.0f; - } else if (l_eyePosDelta.y > daAlinkHIO_wlAtLock_c0::m.mMaxJumpHeight) { - l_eyePosDelta.y = daAlinkHIO_wlAtLock_c0::m.mMaxJumpHeight; + } else if (l_eyePosDelta.y > mpHIO->mWolf.mWlAttack.mWlAtLock.m.mMaxJumpHeight) { + l_eyePosDelta.y = mpHIO->mWolf.mWlAttack.mWlAtLock.m.mMaxJumpHeight; } f32 var_f30 = l_eyePosDelta.absXZ(); - if (var_f30 > daAlinkHIO_wlAtLock_c0::m.mMaxJumpDistance) { - var_f30 = daAlinkHIO_wlAtLock_c0::m.mMaxJumpDistance / var_f30; + if (var_f30 > mpHIO->mWolf.mWlAttack.mWlAtLock.m.mMaxJumpDistance) { + var_f30 = mpHIO->mWolf.mWlAttack.mWlAtLock.m.mMaxJumpDistance / var_f30; l_eyePosDelta.x *= var_f30; l_eyePosDelta.z *= var_f30; } f32 var_f29 = l_eyePosDelta.abs(); - f32 var_f31 = var_f29 / daAlinkHIO_wlAtLock_c0::m.mAttackSpeed; + f32 var_f31 = var_f29 / mpHIO->mWolf.mWlAttack.mWlAtLock.m.mAttackSpeed; if (var_f31 < 1.0f) var_f31 = 1.0f; - f32 var_f28 = daAlinkHIO_wlAtLock_c0::m.mAttackSpeed / var_f29; + f32 var_f28 = mpHIO->mWolf.mWlAttack.mWlAtLock.m.mAttackSpeed / var_f29; mNormalSpeed = var_f28 * l_eyePosDelta.absXZ(); setSpecialGravity((l_eyePosDelta.y * -2.0f) / (var_f31 * var_f31), maxFallSpeed, 0); speed.y = -gravity * var_f31; mProcVar0.field_0x3008 = var_f31; - setCylAtParam(0x8000000, dCcG_At_Spl_UNK_0, 1, 4, 6, daAlinkHIO_wlAtLock_c0::m.mAttackRadius, - daAlinkHIO_wlAtLock_c0::m.mAttackHeight); - field_0x3438 = daAlinkHIO_wlAtLock_c0::m.mAttackRadiusOffset; + setCylAtParam(0x8000000, dCcG_At_Spl_UNK_0, 1, 4, 6, mpHIO->mWolf.mWlAttack.mWlAtLock.m.mAttackRadius, + mpHIO->mWolf.mWlAttack.mWlAtLock.m.mAttackHeight); + field_0x3438 = mpHIO->mWolf.mWlAttack.mWlAtLock.m.mAttackRadiusOffset; setCutType(CUT_TYPE_WOLF_LOCK); voiceStart(Z2SE_WL_V_ATTACK_THRUST); @@ -7977,15 +7988,15 @@ int daAlink_c::procWolfLockAttack() { mProcVar0.field_0x3008--; if (mProcVar0.field_0x3008 == 0) { - setSpecialGravity(daAlinkHIO_wlAtLock_c0::m.mGravity, maxFallSpeed, 0); + setSpecialGravity(mpHIO->mWolf.mWlAttack.mWlAtLock.m.mGravity, maxFallSpeed, 0); } } else if (mNormalSpeed > 30.0f) { cLib_addCalc(&mNormalSpeed, 30.0f, 0.3f, 5.0f, 1.0f); } if (checkAnmEnd(mUnderFrameCtrl) && checkUnderMove0BckNoArcWolf(WANM_ATTACK_A_START)) { - setSingleAnimeWolfBaseSpeed(WANM_ATTACK_A, daAlinkHIO_wlAtNjump_c0::m.mAerialAnmSpeed, - daAlinkHIO_wlAtNjump_c0::m.mAerialInterpolation); + setSingleAnimeWolfBaseSpeed(WANM_ATTACK_A, mpHIO->mWolf.mWlAttack.mWlAtNjump.m.mAerialAnmSpeed, + mpHIO->mWolf.mWlAttack.mWlAtNjump.m.mAerialInterpolation); } if (mLinkAcch.ChkGroundHit() || (mProcVar5.field_0x3012 != 0 && current.pos.y < mWaterY)) { @@ -7996,8 +8007,8 @@ int daAlink_c::procWolfLockAttack() { if (mWolfLockNum != 0) { procWolfLockAttackTurnInit(mProcVar1.field_0x300a); } else { - if (mNormalSpeed > daAlinkHIO_wlAtNjump_c0::m.mMaxHorizontalSpeed) { - mNormalSpeed = daAlinkHIO_wlAtNjump_c0::m.mMaxHorizontalSpeed; + if (mNormalSpeed > mpHIO->mWolf.mWlAttack.mWlAtNjump.m.mMaxHorizontalSpeed) { + mNormalSpeed = mpHIO->mWolf.mWlAttack.mWlAtNjump.m.mMaxHorizontalSpeed; } procWolfJumpAttackSlideLandInit(0, 0, 0); @@ -8017,11 +8028,11 @@ int daAlink_c::procWolfLockAttackTurnInit(int param_0) { if (abs((s16)(cLib_targetAngleY(¤t.pos, &mWolfLockAcKeep[0].getActor()->eyePos) - shape_angle.y)) > 0x4000) { - setSingleAnimeWolfParam(WANM_ATTACK_A_END_BACK, &daAlinkHIO_wlAtLock_c0::m.mRearLandingAnm); + setSingleAnimeWolfParam(WANM_ATTACK_A_END_BACK, &mpHIO->mWolf.mWlAttack.mWlAtLock.m.mRearLandingAnm); mProcVar2.field_0x300c = 1; field_0x3588.set(-l_wolfBaseAnime.x, l_wolfBaseAnime.y, -l_wolfBaseAnime.z); } else { - setSingleAnimeWolfParam(WANM_ATTACK_A_END_FRONT, &daAlinkHIO_wlAtLock_c0::m.mFrontLandingAnm); + setSingleAnimeWolfParam(WANM_ATTACK_A_END_FRONT, &mpHIO->mWolf.mWlAttack.mWlAtLock.m.mFrontLandingAnm); mProcVar2.field_0x300c = 0; field_0x3588 = l_wolfBaseAnime; } @@ -8083,8 +8094,8 @@ int daAlink_c::procWolfAttackReverseInit() { setSingleAnimeWolfBase(WANM_ATTACK_RECOIL_START); setFaceBasicTexture(FTANM_UNK_9A); - mNormalSpeed = daAlinkHIO_wlAttack_c0::m.mJumpBackSpeedH; - speed.y = daAlinkHIO_wlAttack_c0::m.mJumpBackSpeedV; + mNormalSpeed = mpHIO->mWolf.mWlAttack.m.mJumpBackSpeedH; + speed.y = mpHIO->mWolf.mWlAttack.m.mJumpBackSpeedV; current.angle.y += 0x8000; dComIfGp_getVibration().StartShock(5, 15, cXyz(0.0f, 1.0f, 0.0f)); @@ -8111,7 +8122,7 @@ int daAlink_c::procWolfAttackReverse() { if (checkAnmEnd(frameCtrl_p)) { checkNextActionWolf(0); - } else if (frameCtrl_p->getFrame() > daAlinkHIO_wlAttack_c0::m.mJumpBackLandAnm.mCancelFrame) { + } else if (frameCtrl_p->getFrame() > mpHIO->mWolf.mWlAttack.m.mJumpBackLandAnm.mCancelFrame) { checkNextActionWolf(1); } } else if ((mLinkAcch.ChkGroundHit() || checkEndResetFlg2(ERFLG2_UNK_100)) && checkModeFlg(2)) { @@ -8120,7 +8131,7 @@ int daAlink_c::procWolfAttackReverse() { } mNormalSpeed = 0.0f; - setSingleAnimeWolfParam(WANM_ATTACK_RECOIL_END, &daAlinkHIO_wlAttack_c0::m.mJumpBackLandAnm); + setSingleAnimeWolfParam(WANM_ATTACK_RECOIL_END, &mpHIO->mWolf.mWlAttack.m.mJumpBackLandAnm); setFaceBasicTexture(FTANM_UNK_9B); current.angle.y = shape_angle.y; offModeFlg(2); @@ -8149,8 +8160,8 @@ int daAlink_c::procWolfEnemyThrowInit(int param_0) { var_f31 = 3.0f; } - setSingleAnimeWolf(anm, daAlinkHIO_wlAtBite_c0::m.mEnemyBiteThrowAnmSpeed, var_f31, -1, - daAlinkHIO_wlAtBite_c0::m.mEnemyBiteThrowInterpolation); + setSingleAnimeWolf(anm, mpHIO->mWolf.mWlAttack.mWlAtBite.m.mEnemyBiteThrowAnmSpeed, var_f31, -1, + mpHIO->mWolf.mWlAttack.mWlAtBite.m.mEnemyBiteThrowInterpolation); setWolfEnemyThrowUpperAnime(anm, var_f31); field_0x3588 = l_wolfBaseAnime; mNormalSpeed = 0.0f; @@ -8170,7 +8181,7 @@ int daAlink_c::procWolfEnemyThrow() { if (frameCtrl->checkAnmEnd()) { checkNextActionWolf(0); - } else if (frameCtrl->getFrame() > daAlinkHIO_wlAtBite_c0::m.mEnemyBiteThrowCF) { + } else if (frameCtrl->getFrame() > mpHIO->mWolf.mWlAttack.mWlAtBite.m.mEnemyBiteThrowCF) { checkNextActionWolf(1); } @@ -8179,7 +8190,7 @@ int daAlink_c::procWolfEnemyThrow() { int daAlink_c::procWolfEnemyHangBiteInit() { commonProcInit(PROC_WOLF_ENEMY_HANG_BITE); - setSingleAnimeWolfParam(WANM_CATCH_START, &daAlinkHIO_wlAtBite_c0::m.mHangingBitePreparationAnm); + setSingleAnimeWolfParam(WANM_CATCH_START, &mpHIO->mWolf.mWlAttack.mWlAtBite.m.mHangingBitePreparationAnm); f32 tmp_0 = 0.0f; mNormalSpeed = tmp_0; @@ -8191,11 +8202,11 @@ int daAlink_c::procWolfEnemyHangBiteInit() { } else { current.angle.y = shape_angle.y; field_0x2f99 = 0x50; - mProcVar0.field_0x3008 = daAlinkHIO_wlAtBite_c0::m.mBiteAttachTime; + mProcVar0.field_0x3008 = mpHIO->mWolf.mWlAttack.mWlAtBite.m.mBiteAttachTime; mProcVar1.field_0x300a = 0; mProcVar2.field_0x300c = 0; mProcVar3.field_0x300e = 0; - field_0x3478 = daAlinkHIO_wlAtBite_c0::m.mHangingBiteMidAnmSpeedMin; + field_0x3478 = mpHIO->mWolf.mWlAttack.mWlAtBite.m.mHangingBiteMidAnmSpeedMin; mProcVar4.field_0x3010 = shape_angle.y; voiceStart(Z2SE_WL_V_BITE_ATTACK); dComIfGp_setPlayerStatus1(0, 0x200000); @@ -8218,7 +8229,7 @@ int daAlink_c::procWolfEnemyHangBite() { if (doTrigger()) { mProcVar3.field_0x300e = 1; - mProcVar0.field_0x3008 = daAlinkHIO_wlAtBite_c0::m.mBiteAttachTime; + mProcVar0.field_0x3008 = mpHIO->mWolf.mWlAttack.mWlAtBite.m.mBiteAttachTime; } else if (mProcVar0.field_0x3008 != 0) { mProcVar0.field_0x3008--; } @@ -8239,11 +8250,11 @@ int daAlink_c::procWolfEnemyHangBite() { } if (doTrigger()) { - cLib_chaseF(&field_0x3478, daAlinkHIO_wlAtBite_c0::m.mHangingBiteMidAnmSpeedMax, - daAlinkHIO_wlAtBite_c0::m.mHangingBiteMidAnmSpeedAcceleration); + cLib_chaseF(&field_0x3478, mpHIO->mWolf.mWlAttack.mWlAtBite.m.mHangingBiteMidAnmSpeedMax, + mpHIO->mWolf.mWlAttack.mWlAtBite.m.mHangingBiteMidAnmSpeedAcceleration); } else { - cLib_chaseF(&field_0x3478, daAlinkHIO_wlAtBite_c0::m.mHangingBiteMidAnmSpeedMin, - daAlinkHIO_wlAtBite_c0::m.mHangingBiteMidAnmSpeedDeceleration); + cLib_chaseF(&field_0x3478, mpHIO->mWolf.mWlAttack.mWlAtBite.m.mHangingBiteMidAnmSpeedMin, + mpHIO->mWolf.mWlAttack.mWlAtBite.m.mHangingBiteMidAnmSpeedDeceleration); } if (frameCtrl_p->getRate() < 0.1f) { @@ -8294,15 +8305,15 @@ int daAlink_c::procWolfGrabUpInit() { f32 var_f31; if (!fopAcM_CheckCarryType(field_0x27f4, fopAcM_CARRY_ITEM)) { - setSingleAnimeWolfParam(WANM_PICKUP_A, &daAlinkHIO_wlGrab_c0::m.mPotGrabAnm); + setSingleAnimeWolfParam(WANM_PICKUP_A, &mpHIO->mWolf.mWlGrab.m.mPotGrabAnm); var_f31 = 120.0f; field_0x3478 = 10.0f; - field_0x347c = daAlinkHIO_wlGrab_c0::m.mPotGrabAnm.mCancelFrame; + field_0x347c = mpHIO->mWolf.mWlGrab.m.mPotGrabAnm.mCancelFrame; } else { - setSingleAnimeWolfParam(WANM_PICKUP_B, &daAlinkHIO_wlGrab_c0::m.mBoneGrabAnm); + setSingleAnimeWolfParam(WANM_PICKUP_B, &mpHIO->mWolf.mWlGrab.m.mBoneGrabAnm); var_f31 = 80.0f; field_0x3478 = 7.0f; - field_0x347c = daAlinkHIO_wlGrab_c0::m.mBoneGrabAnm.mCancelFrame; + field_0x347c = mpHIO->mWolf.mWlGrab.m.mBoneGrabAnm.mCancelFrame; } setGrabItemActor(field_0x27f4); @@ -8376,13 +8387,13 @@ int daAlink_c::procWolfGrabPutInit() { commonProcInit(PROC_WOLF_GRAB_PUT); if (grab_obj) { - setSingleAnimeWolfParam(WANM_PICKUP_A, &daAlinkHIO_wlGrab_c0::m.mPotReleaseAnm); + setSingleAnimeWolfParam(WANM_PICKUP_A, &mpHIO->mWolf.mWlGrab.m.mPotReleaseAnm); field_0x3478 = 10.0f; - field_0x347c = daAlinkHIO_wlGrab_c0::m.mPotReleaseAnm.mCancelFrame; + field_0x347c = mpHIO->mWolf.mWlGrab.m.mPotReleaseAnm.mCancelFrame; } else { - setSingleAnimeWolfParam(WANM_PICKUP_B, &daAlinkHIO_wlGrab_c0::m.mBoneReleaseAnm); + setSingleAnimeWolfParam(WANM_PICKUP_B, &mpHIO->mWolf.mWlGrab.m.mBoneReleaseAnm); field_0x3478 = 7.0f; - field_0x347c = daAlinkHIO_wlGrab_c0::m.mBoneReleaseAnm.mCancelFrame; + field_0x347c = mpHIO->mWolf.mWlGrab.m.mBoneReleaseAnm.mCancelFrame; } mNormalSpeed = 0.0f; @@ -8433,7 +8444,7 @@ int daAlink_c::procWolfGrabPut() { int daAlink_c::procWolfGrabThrowInit() { commonProcInit(PROC_WOLF_GRAB_THROW); - setSingleAnimeWolfParam(WANM_PICKUP_THROW, &daAlinkHIO_wlGrab_c0::m.mThrowAnm); + setSingleAnimeWolfParam(WANM_PICKUP_THROW, &mpHIO->mWolf.mWlGrab.m.mThrowAnm); current.angle.y = shape_angle.y; return 1; @@ -8442,7 +8453,7 @@ int daAlink_c::procWolfGrabThrowInit() { int daAlink_c::procWolfGrabThrow() { daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; - cLib_chaseF(&mNormalSpeed, 0.0f, daAlinkHIO_wlMoveNoP_c0::m.mDeceleration); + cLib_chaseF(&mNormalSpeed, 0.0f, mpHIO->mWolf.mWlMoveNoP.m.mDeceleration); setShapeAngleToAtnActor(0); current.angle.y = shape_angle.y; @@ -8452,7 +8463,7 @@ int daAlink_c::procWolfGrabThrow() { if (frameCtrl->checkAnmEnd()) { checkNextActionWolf(0); - } else if (frameCtrl->getFrame() > daAlinkHIO_wlGrab_c0::m.mThrowAnm.mCancelFrame) { + } else if (frameCtrl->getFrame() > mpHIO->mWolf.mWlGrab.m.mThrowAnm.mCancelFrame) { checkNextActionWolf(1); } @@ -8605,7 +8616,7 @@ int daAlink_c::procWolfChainUpInit() { } commonProcInit(PROC_WOLF_CHAIN_UP); - setSingleAnimeWolfParam(WANM_PICKUP_B, &daAlinkHIO_wlGrab_c0::m.mBoneGrabAnm); + setSingleAnimeWolfParam(WANM_PICKUP_B, &mpHIO->mWolf.mWlGrab.m.mBoneGrabAnm); mNormalSpeed = 0.0f; return 1; @@ -8617,7 +8628,7 @@ int daAlink_c::procWolfChainUp() { setWallGrabStatus(0x96, 2); if (frameCtrl->checkAnmEnd() || - (checkInputOnR() && frameCtrl->getFrame() > daAlinkHIO_wlGrab_c0::m.mBoneGrabAnm.mCancelFrame)) + (checkInputOnR() && frameCtrl->getFrame() > mpHIO->mWolf.mWlGrab.m.mBoneGrabAnm.mCancelFrame)) { u8 old_2fa3 = field_0x2fa3; fopAc_ac_c* old_actor = field_0x2844.getActor(); @@ -8733,7 +8744,7 @@ int daAlink_c::procWolfGanonCatch() { int daAlink_c::procWolfChainReadyInit() { commonProcInit(PROC_WOLF_CHAIN_READY); field_0x280c.setData(field_0x27f4); - setSingleAnimeWolfParam(WANM_ATTACK_A_START, &daAlinkHIO_wlAtNjump_c0::m.mAerialAttackAnm); + setSingleAnimeWolfParam(WANM_ATTACK_A_START, &mpHIO->mWolf.mWlAttack.mWlAtNjump.m.mAerialAttackAnm); mNormalSpeed = 0.0f; mProcVar2.field_0x300c = 0; mProcVar3.field_0x300e = 0; @@ -8744,7 +8755,7 @@ int daAlink_c::procWolfChainReadyInit() { int daAlink_c::procWolfChainReady() { daObjWchain_c* chain = static_cast(field_0x280c.getActor()); if (chain == NULL || mLinkAcch.ChkWallHit()) { - return procWolfFallInit(2, daAlinkHIO_wlAutoJump_c0::m.mNormalFallInterp); + return procWolfFallInit(2, mpHIO->mWolf.mWlAutoJump.m.mNormalFallInterp); } else if (mUnderFrameCtrl[0].getFrame() < 3.0f) { s16 target_angle_y = cLib_targetAngleY(¤t.pos, &chain->getJumpAimPos()); cLib_addCalcAngleS(&shape_angle.y, target_angle_y, 2, 0x2000, 0x800); @@ -8767,7 +8778,7 @@ int daAlink_c::procWolfChainReady() { if (chain->getJumpAimPos().abs2(field_0x34e0) < 10000.0f) { procWolfChainWaitInit(); } else if (mProcVar0.field_0x3008 == 0) { - procWolfFallInit(2, daAlinkHIO_wlAutoJump_c0::m.mNormalFallInterp); + procWolfFallInit(2, mpHIO->mWolf.mWlAutoJump.m.mNormalFallInterp); } } return 1; @@ -8776,7 +8787,7 @@ int daAlink_c::procWolfChainReady() { int daAlink_c::procWolfChainWaitInit() { daObjWchain_c* chain = static_cast(field_0x280c.getActor()); commonProcInit(PROC_WOLF_CHAIN_WAIT); - setSingleAnimeWolfParam(WANM_HANDLE_HANG, &daAlinkHIO_wlChain_c0::m.mLoweringStartAnm); + setSingleAnimeWolfParam(WANM_HANDLE_HANG, &mpHIO->mWolf.mWlChain.m.mLoweringStartAnm); mProcVar1.field_0x300a = 0; chain->onRide(); field_0x2f99 = 0x50; @@ -8784,7 +8795,7 @@ int daAlink_c::procWolfChainWaitInit() { setSpecialGravity(0.0f, maxFallSpeed, 0); speed.y = 0.0f; mProcVar4.field_0x3010 = 0; - mProcVar0.field_0x3008 = daAlinkHIO_wlChain_c0::m.mTensionWaitTime + 20; + mProcVar0.field_0x3008 = mpHIO->mWolf.mWlChain.m.mTensionWaitTime + 20; field_0x3478 = chain->getPullLength(); current.angle.y = shape_angle.y; if (mNormalSpeed > 30.0f) { @@ -8801,18 +8812,18 @@ int daAlink_c::procWolfChainWaitInit() { int daAlink_c::procWolfChainWait() { daObjWchain_c* chain = static_cast(field_0x280c.getActor()); - if (chain == NULL || mProcVar0.field_0x3008 <= -daAlinkHIO_wlChain_c0::m.mReleaseWaitTime) { + if (chain == NULL || mProcVar0.field_0x3008 <= -mpHIO->mWolf.mWlChain.m.mReleaseWaitTime) { mNormalSpeed = field_0x37c8.absXZ(); current.angle.y = field_0x37c8.atan2sX_Z(); onNoResetFlg2(FLG2_UNK_200); - return procWolfFallInit(2, daAlinkHIO_wlWallHang_c0::m.mHangingFallInterp); + return procWolfFallInit(2, mpHIO->mWolf.mWlWallHang.m.mHangingFallInterp); } if (mProcVar4.field_0x3010 == 0) { if (mProcVar0.field_0x3008 > 20) { mProcVar0.field_0x3008--; } else { - field_0x3478 += daAlinkHIO_wlChain_c0::m.mFallSpeed; + field_0x3478 += mpHIO->mWolf.mWlChain.m.mFallSpeed; if (field_0x3478 > chain->getSwitchOffset()) { chain->onNowSwitchFlg(); mProcVar4.field_0x3010 = 1; @@ -8855,12 +8866,12 @@ int daAlink_c::procWolfChainWait() { f32 f1, f2, f3; if (checkInputOnR()) { anm = WANM_HANDLE_HANG_SW; - f1 = daAlinkHIO_wlChain_c0::m.mWaitAnmSpeed; - f2 = daAlinkHIO_wlChain_c0::m.mWaitInterp; + f1 = mpHIO->mWolf.mWlChain.m.mWaitAnmSpeed; + f2 = mpHIO->mWolf.mWlChain.m.mWaitInterp; } else { anm = WANM_HANDLE_HANG_WAIT; - f1 = daAlinkHIO_wlChain_c0::m.mSwingAnmSpeed; - f2 = daAlinkHIO_wlChain_c0::m.mSwingInterp; + f1 = mpHIO->mWolf.mWlChain.m.mSwingAnmSpeed; + f2 = mpHIO->mWolf.mWlChain.m.mSwingInterp; } if (anm != mUnderAnmHeap[0].getIdx()) { if (mProcVar1.field_0x300a == 0) { @@ -8966,7 +8977,7 @@ int daAlink_c::procWolfDigInit() { field_0x3478 = 100.0f; dCam_getBody()->SetTrimTypeForce(3); } else { - var_r26 = daAlinkHIO_wlChain_c0::m.mDigAnm.mEndFrame; + var_r26 = mpHIO->mWolf.mWlChain.m.mDigAnm.mEndFrame; field_0x3478 = 66.0f; } @@ -8978,7 +8989,7 @@ int daAlink_c::procWolfDigInit() { var_r26 = 59; } - setSingleAnimeWolf(WANM_DIG, daAlinkHIO_wlChain_c0::m.mDigAnm.mSpeed, var_f31, var_r26, daAlinkHIO_wlChain_c0::m.mDigAnm.mInterpolation); + setSingleAnimeWolf(WANM_DIG, mpHIO->mWolf.mWlChain.m.mDigAnm.mSpeed, var_f31, var_r26, mpHIO->mWolf.mWlChain.m.mDigAnm.mInterpolation); mNormalSpeed = 0.0f; field_0x3588 = l_wolfBaseAnime; mProcVar3.mDigChangeArea = false; @@ -9042,7 +9053,7 @@ int daAlink_c::procWolfDig() { setWolfDigEffect(); } else if (checkAnmEnd(frame_ctrl)) { if (mProcVar2.mDigType == 1) { - setSingleAnimeWolfParam(WANM_DIG_IN, &daAlinkHIO_wlChain_c0::m.mDigFallAnm); + setSingleAnimeWolfParam(WANM_DIG_IN, &mpHIO->mWolf.mWlChain.m.mDigFallAnm); mProcVar3.mDigChangeArea = true; setWolfDigEffect(); } else { @@ -9226,8 +9237,8 @@ int daAlink_c::procWolfGetSmellInit() { mDemo.setSpecialDemoType(); commonProcInit(PROC_WOLF_GET_SMELL); - setSingleAnimeWolfBaseSpeed(WANM_SMELL, daAlinkHIO_wlChain_c0::m.mSniffAnmSpeed, - daAlinkHIO_wlChain_c0::m.mSniffInterp); + setSingleAnimeWolfBaseSpeed(WANM_SMELL, mpHIO->mWolf.mWlChain.m.mSniffAnmSpeed, + mpHIO->mWolf.mWlChain.m.mSniffInterp); voiceStartLevel(Z2SE_WL_V_SNIFF); shape_angle.y = fopAcM_searchActorAngleY(this, field_0x27f4); diff --git a/src/d/actor/d_a_hozelda.cpp b/src/d/actor/d_a_hozelda.cpp index 9a9a706d05..654007dd94 100644 --- a/src/d/actor/d_a_hozelda.cpp +++ b/src/d/actor/d_a_hozelda.cpp @@ -10,22 +10,15 @@ #include "d/actor/d_a_b_gnd.h" #include "d/actor/d_a_arrow.h" - -#if DEBUG -#define HIO mpHIO->mParameters -#else -#define HIO daHoZelda_hio_c0::m -#endif - static const char l_arcName[] = "HoZelda"; #if DEBUG void daHoZelda_hio_c::genMessage(JORMContext* context) { - context->genSlider("弓サーチY角度", &mParameters.bow_search_y_angle, 0, 0x7fff, 0, NULL, -1, -1, 0x200, 0x18); - context->genSlider("弓開始角度", &mParameters.bow_start_angle, 0, 0x7fff, 0, NULL, -1, -1, 0x200, 0x18); - context->genSlider("弓開始距離", &mParameters.bow_start_distance, 0.0f, 10000.0f, 0, NULL, -1, -1, 0x200, 0x18); - context->genSlider("弓終了角度", &mParameters.bow_end_angle, 0, 0x7fff, 0, NULL, -1, -1, 0x200, 0x18); - context->genSlider("弓終了距離", &mParameters.bow_end_distance, 0.0f, 10000.0f, 0, NULL, -1, -1, 0x200, 0x18); + context->genSlider("弓サーチY角度", &m.bow_search_y_angle, 0, 0x7fff, 0, NULL, -1, -1, 0x200, 0x18); + context->genSlider("弓開始角度", &m.bow_start_angle, 0, 0x7fff, 0, NULL, -1, -1, 0x200, 0x18); + context->genSlider("弓開始距離", &m.bow_start_distance, 0.0f, 10000.0f, 0, NULL, -1, -1, 0x200, 0x18); + context->genSlider("弓終了角度", &m.bow_end_angle, 0, 0x7fff, 0, NULL, -1, -1, 0x200, 0x18); + context->genSlider("弓終了距離", &m.bow_end_distance, 0.0f, 10000.0f, 0, NULL, -1, -1, 0x200, 0x18); } #endif @@ -134,7 +127,7 @@ BOOL daHoZelda_c::createHeap() { return FALSE; } - mpHIO = new daHoZelda_hio_c(); + mpHIO = new HOZELDA_HIO_CLASS(); if (mpHIO == NULL) { return FALSE; } @@ -482,7 +475,7 @@ void daHoZelda_c::setAnm() { } if (anm_idx[0] == 0xE && field_0x6da == 0 && !mDamageInit && field_0x6dd == 0 && player->checkHorseRide() && ganondorf != NULL && ganondorf->checkPiyo() != 1 && - ((gnd_seen_angleY < HIO.bow_start_angle && gnd_lockon) || (mBowMode != 0 && gnd_seen_angleY < HIO.bow_end_angle && (gnd_lockon || mArrowAcKeep.getActor() != NULL)))) + ((gnd_seen_angleY < mpHIO->m.bow_start_angle && gnd_lockon) || (mBowMode != 0 && gnd_seen_angleY < mpHIO->m.bow_end_angle && (gnd_lockon || mArrowAcKeep.getActor() != NULL)))) { mBowMode = 1; } else { @@ -848,7 +841,6 @@ void daHoZelda_c::setNeckAngle() { } } -// NONMATCHING - load order with cLib_minMaxLimit void daHoZelda_c::searchBodyAngle() { fopAc_ac_c* gnd_actor = mGndAcKeep.getActor(); s16 angle_x_target = 0; @@ -863,16 +855,9 @@ void daHoZelda_c::searchBodyAngle() { if (sp8.abs() >= 1.0f) { angle_x_target = cLib_minMaxLimit(sp8.atan2sY_XZ(), -0x800, 0x2000); -#if PLATFORM_SHIELD || PLATFORM_WII angle_y_target = - cLib_minMaxLimit(sp8.atan2sX_Z() - shape_angle.y, -HIO.bow_search_y_angle, - (s16)HIO.bow_search_y_angle); -#else - // needs to load HIO.bow_search_y_angle before calling sp8.atan2sX_Z() - int ang1 = (s16)-HIO.bow_search_y_angle; - int ang2 = (s16)HIO.bow_search_y_angle; - angle_y_target = cLib_minMaxLimit(sp8.atan2sX_Z() - shape_angle.y, ang1, ang2); -#endif + cLib_minMaxLimit(sp8.atan2sX_Z() - shape_angle.y, -mpHIO->m.bow_search_y_angle, + (s16)mpHIO->m.bow_search_y_angle); } } diff --git a/src/d/actor/d_a_npc_ykm.cpp b/src/d/actor/d_a_npc_ykm.cpp index 7f78100b8b..3f9132e817 100644 --- a/src/d/actor/d_a_npc_ykm.cpp +++ b/src/d/actor/d_a_npc_ykm.cpp @@ -1393,7 +1393,6 @@ void daNpc_ykM_c::afterMoved() { } } -// NONMATCHING - HIO load issue void daNpc_ykM_c::setAttnPos() { fopAc_ac_c* otherYkmP = NULL; cXyz sp104(80.0f, 30.0f, 0.0f); diff --git a/src/d/actor/d_a_npc_ykw.cpp b/src/d/actor/d_a_npc_ykw.cpp index b9aab172ae..e058e31865 100644 --- a/src/d/actor/d_a_npc_ykw.cpp +++ b/src/d/actor/d_a_npc_ykw.cpp @@ -35,12 +35,6 @@ public: }; #endif -#if DEBUG -#define HIO_PARAM(i_this) (&i_this->mpHIO->m) -#else -#define HIO_PARAM(i_this) (&daNpc_ykW_Param_c::m) -#endif - static int l_bmdData[1][2] = { {11, 1}, }; @@ -359,7 +353,7 @@ int daNpc_ykW_c::create() { 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(HIO_PARAM(this)->common.weight, 0, this); + mCcStts.Init(mpHIO->m.common.weight, 0, this); mCyl.Set(mCcDCyl); mCyl.SetStts(&mCcStts); @@ -716,10 +710,10 @@ void daNpc_ykW_c::setParam() { if (field_0xf80 != 5 && field_0xf80 != 6) { u32 newAttnFlags = fopAc_AttnFlag_SPEAK_e | fopAc_AttnFlag_TALK_e; - s16 talkDist = HIO_PARAM(this)->common.talk_distance; - s16 talkAngle = HIO_PARAM(this)->common.talk_angle; - s16 attnDist = HIO_PARAM(this)->common.attention_distance; - s16 attnAngle = HIO_PARAM(this)->common.attention_angle; + s16 talkDist = mpHIO->m.common.talk_distance; + s16 talkAngle = mpHIO->m.common.talk_angle; + s16 attnDist = mpHIO->m.common.attention_distance; + s16 attnAngle = mpHIO->m.common.attention_angle; if (field_0xf80 == 1) { talkAngle = 4; @@ -731,11 +725,7 @@ void daNpc_ykW_c::setParam() { attention_info.distances[fopAc_attn_LOCK_e] = daNpcT_getDistTableIdx(attnDist, attnAngle); attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[fopAc_attn_LOCK_e]; -#if DEBUG - attention_info.distances[fopAc_attn_JUEL_e] = daNpcT_getDistTableIdx(talkDist, talkAngle); -#else attention_info.distances[fopAc_attn_SPEAK_e] = daNpcT_getDistTableIdx(talkDist, talkAngle); -#endif if (daPy_py_c::checkNowWolf()) { newAttnFlags |= fopAc_AttnFlag_UNK_0x800000; @@ -746,27 +736,27 @@ void daNpc_ykW_c::setParam() { attention_info.flags = 0; } - scale.set(HIO_PARAM(this)->common.scale, - HIO_PARAM(this)->common.scale, - HIO_PARAM(this)->common.scale); - mCcStts.SetWeight(HIO_PARAM(this)->common.weight); - mCylH = HIO_PARAM(this)->common.height; - mWallR = HIO_PARAM(this)->common.width; - mAttnFovY = HIO_PARAM(this)->common.fov; + scale.set(mpHIO->m.common.scale, + mpHIO->m.common.scale, + mpHIO->m.common.scale); + mCcStts.SetWeight(mpHIO->m.common.weight); + mCylH = mpHIO->m.common.height; + mWallR = mpHIO->m.common.width; + mAttnFovY = mpHIO->m.common.fov; mAcchCir.SetWallR(mWallR); - mAcchCir.SetWallH(HIO_PARAM(this)->common.knee_length); + mAcchCir.SetWallH(mpHIO->m.common.knee_length); - mRealShadowSize = HIO_PARAM(this)->common.real_shadow_size; + mRealShadowSize = mpHIO->m.common.real_shadow_size; if (field_0xf80 == 4) { fopAcM_OffStatus(this, fopAcM_STATUS_UNK_0x100); mRealShadowSize = 1500.0f; } - mExpressionMorfFrame = HIO_PARAM(this)->common.expression_morf_frame; - mMorfFrames = HIO_PARAM(this)->common.morf_frame; - gravity = HIO_PARAM(this)->common.gravity; + mExpressionMorfFrame = mpHIO->m.common.expression_morf_frame; + mMorfFrames = mpHIO->m.common.morf_frame; + gravity = mpHIO->m.common.gravity; field_0x1060 = 0; field_0x1061 = 0; } @@ -923,7 +913,7 @@ void daNpc_ykW_c::afterMoved() { JPABaseEmitter* emitter = dComIfGp_particle_getEmitter(field_0x105c); if (emitter != NULL) { cXyz unkXyz2; - f32 unkFloat1 = speedF / HIO_PARAM(this)->mSlidingSpeed; + f32 unkFloat1 = speedF / mpHIO->m.mSlidingSpeed; if (unkFloat1 > 1.0f) { unkFloat1 = 1.0f; } @@ -952,7 +942,6 @@ void daNpc_ykW_c::afterMoved() { } } -// NONMATCHING - HIO load issue, regalloc void daNpc_ykW_c::setAttnPos() { cXyz unkXyz1(0.0f, 50.0f, 0.0f); if (field_0x106a != 0) { @@ -969,22 +958,22 @@ void daNpc_ykW_c::setAttnPos() { if (&daNpc_ykW_c::sitWait == field_0xfd8) { mJntAnm.setParam( this, mpMorf[0]->getModel(), &unkXyz1, getBackboneJointNo(), getNeckJointNo(), - getHeadJointNo(), 0.0f, 0.0f, 0.0f, 0.0f, HIO_PARAM(this)->common.head_angleX_min, - HIO_PARAM(this)->common.head_angleX_max, HIO_PARAM(this)->common.head_angleY_min, - HIO_PARAM(this)->common.head_angleY_max, HIO_PARAM(this)->common.neck_rotation_ratio, + getHeadJointNo(), 0.0f, 0.0f, 0.0f, 0.0f, mpHIO->m.common.head_angleX_min, + mpHIO->m.common.head_angleX_max, mpHIO->m.common.head_angleY_min, + mpHIO->m.common.head_angleY_max, mpHIO->m.common.neck_rotation_ratio, unkFloat1, NULL); } else { mJntAnm.setParam(this, mpMorf[0]->getModel(), &unkXyz1, getBackboneJointNo(), getNeckJointNo(), getHeadJointNo(), - field_0x1061 != 0 ? 0.0f : HIO_PARAM(this)->common.body_angleX_min, - field_0x1061 != 0 ? 0.0f : HIO_PARAM(this)->common.body_angleX_max, - field_0x1061 != 0 ? 0.0f : HIO_PARAM(this)->common.body_angleY_min, - field_0x1061 != 0 ? 0.0f : HIO_PARAM(this)->common.body_angleY_max, - field_0x1060 != 0 ? 0.0f : HIO_PARAM(this)->common.head_angleX_min, - field_0x1060 != 0 ? 0.0f : HIO_PARAM(this)->common.head_angleX_max, - field_0x1060 != 0 ? 0.0f : HIO_PARAM(this)->common.head_angleY_min, - field_0x1060 != 0 ? 0.0f : HIO_PARAM(this)->common.head_angleY_max, - HIO_PARAM(this)->common.neck_rotation_ratio, unkFloat1, NULL); + field_0x1061 != 0 ? 0.0f : mpHIO->m.common.body_angleX_min, + field_0x1061 != 0 ? 0.0f : mpHIO->m.common.body_angleX_max, + field_0x1061 != 0 ? 0.0f : mpHIO->m.common.body_angleY_min, + field_0x1061 != 0 ? 0.0f : mpHIO->m.common.body_angleY_max, + field_0x1060 != 0 ? 0.0f : mpHIO->m.common.head_angleX_min, + field_0x1060 != 0 ? 0.0f : mpHIO->m.common.head_angleX_max, + field_0x1060 != 0 ? 0.0f : mpHIO->m.common.head_angleY_min, + field_0x1060 != 0 ? 0.0f : mpHIO->m.common.head_angleY_max, + mpHIO->m.common.neck_rotation_ratio, unkFloat1, NULL); } mJntAnm.calcJntRad(0.2f, 1.0f, unkFloat1); @@ -996,7 +985,7 @@ void daNpc_ykW_c::setAttnPos() { mJntAnm.setEyeAngleY(eyePos, mCurAngle.y, 1, 1.0f, 0); unkXyz1.set(0.0f, 0.0f, 0.0f); - unkXyz1.y = HIO_PARAM(this)->common.attention_offset; + unkXyz1.y = mpHIO->m.common.attention_offset; if (&daNpc_ykW_c::sitWait == field_0xfd8) { unkXyz1.y -= 50.0f; @@ -1083,7 +1072,7 @@ void daNpc_ykW_c::setCollision() { int daNpc_ykW_c::drawDbgInfo() { #if DEBUG - if (HIO_PARAM(this)->common.debug_info_ON != 0) { + if (mpHIO->m.common.debug_info_ON != 0) { f32 juelDist = dComIfGp_getAttention() ->getDistTable(attention_info.distances[fopAc_attn_JUEL_e]) .mDistMax; @@ -1118,7 +1107,7 @@ int daNpc_ykW_c::selectAction() { field_0xfd8 = NULL; #if DEBUG - if (HIO_PARAM(this)->common.debug_mode_ON != 0) { + if (mpHIO->m.common.debug_mode_ON != 0) { field_0xfd8 = &daNpc_ykW_c::test; return 1; } @@ -1452,7 +1441,7 @@ int daNpc_ykW_c::cutGoIntoBossRoom(int param_0) { pathPntPos1 = mPath.getPntPos(mPath.getNumPnts() - 1); targetAngleY = cLib_targetAngleY(fopAcM_GetPosition_p(this), &pathPntPos1); if (targetAngleY != mCurAngle.y) { - step(targetAngleY, 13, 22, HIO_PARAM(this)->mStepSpeed, 0); + step(targetAngleY, 13, 22, mpHIO->m.mStepSpeed, 0); break; } @@ -1964,7 +1953,7 @@ int daNpc_ykW_c::cutFindWolf(int param_0) { mJntAnm.lookPlayer(0); if (mPlayerAngle != mCurAngle.y) { - if (step(mPlayerAngle, 0xd, 0x16, HIO_PARAM(this)->mStepSpeed, 0)) { + if (step(mPlayerAngle, 0xd, 0x16, mpHIO->m.mStepSpeed, 0)) { mFaceMotionSeqMngr.setNo(13, -1.0, 0, 0); mMotionSeqMngr.setNo(0, -1.0, 0, 0); } @@ -2512,7 +2501,7 @@ int daNpc_ykW_c::wait(void* param_0) { mJntAnm.lookNone(0); if (home.angle.y != mCurAngle.y) { if (field_0xe34 != 0) { - if (step(home.angle.y, 13, 22, HIO_PARAM(this)->mStepSpeed, 0) != 0) + if (step(home.angle.y, 13, 22, mpHIO->m.mStepSpeed, 0) != 0) { mMode = 1; } @@ -2632,8 +2621,8 @@ int daNpc_ykW_c::walk(void* param_0) { int dstPos; int dstPos2; - s16 downTime = HIO_PARAM(this)->mWalkingTime; - s16 walkingTime = HIO_PARAM(this)->mDownTime; + s16 downTime = mpHIO->m.mWalkingTime; + s16 walkingTime = mpHIO->m.mDownTime; switch (mMode) { case 0: @@ -2873,17 +2862,17 @@ int daNpc_ykW_c::race(void* param_0) { cLib_addCalcAngleS2(&mCurAngle.x, mGroundAngle, 6, 0x200); cLib_addCalcAngleS2(&mCurAngle.z, targetAngleY, 6, 0x200); int unkInt2 = field_0x104c - field_0x1044.field_0x0; - unkFloat1 = HIO_PARAM(this)->mSlidingSpeed * cM_scos(mGroundAngle); + unkFloat1 = mpHIO->m.mSlidingSpeed * cM_scos(mGroundAngle); if (mStagger.checkStagger()) { unkFloat1 *= 0.0f; } else { - unkInt2 += HIO_PARAM(this)->mCompetParamA; - unkInt2 = cLib_minMaxLimit(unkInt2, 0, HIO_PARAM(this)->mCompetParamB); + unkInt2 += mpHIO->m.mCompetParamA; + unkInt2 = cLib_minMaxLimit(unkInt2, 0, mpHIO->m.mCompetParamB); if (unkInt2 > 0) { - unkFloat1 *= (f32)abs(unkInt2) * 0.1f * HIO_PARAM(this)->mCompetParamC + 1.0f; + unkFloat1 *= (f32)abs(unkInt2) * 0.1f * mpHIO->m.mCompetParamC + 1.0f; } } - cLib_chaseF(&speedF, unkFloat1, HIO_PARAM(this)->mSlidingAccel); + cLib_chaseF(&speedF, unkFloat1, mpHIO->m.mSlidingAccel); mSound.startCreatureSoundLevel(Z2SE_YW_SNOBO_RIDE, speedF, -1); mSound.startCreatureVoiceLevel(Z2SE_YW_V_SNOBO_RIDING, -1); } @@ -2982,7 +2971,7 @@ int daNpc_ykW_c::talk(void* param_0) { } } else { mJntAnm.lookPlayer(0); - step(mPlayerAngle, 13, 22, HIO_PARAM(this)->mStepSpeed, 0); + step(mPlayerAngle, 13, 22, mpHIO->m.mStepSpeed, 0); break; } } @@ -3006,8 +2995,8 @@ int daNpc_ykW_c::test(void* param_0) { mMode = 2; case 2: - mFaceMotionSeqMngr.setNo(HIO_PARAM(this)->common.face_expression, -1.0f, 0, 0); - mMotionSeqMngr.setNo(HIO_PARAM(this)->common.motion, -1.0f, 0, 0); + mFaceMotionSeqMngr.setNo(mpHIO->m.common.face_expression, -1.0f, 0, 0); + mMotionSeqMngr.setNo(mpHIO->m.common.motion, -1.0f, 0, 0); mJntAnm.lookNone(0);