From c8d81e2d2300403170e1e4de4842578eb8d93192 Mon Sep 17 00:00:00 2001 From: elijah-thomas774 Date: Sun, 11 Oct 2026 21:59:32 -0400 Subject: [PATCH] d_a_b_girahimu - first naming pass --- .../SOUE01/rels/d_a_b_girahimu2NP/symbols.txt | 2 +- .../rels/d_a_b_girahimu_baseNP/symbols.txt | 26 +- include/d/a/b/d_a_b_girahimu2.h | 2 +- include/d/a/b/d_a_b_girahimu_base.h | 152 ++--- src/REL/d/a/b/d_a_b_girahimu.cpp | 36 +- src/REL/d/a/b/d_a_b_girahimu2.cpp | 106 ++-- src/REL/d/a/b/d_a_b_girahimu_base.cpp | 556 +++++++++--------- 7 files changed, 440 insertions(+), 440 deletions(-) diff --git a/config/SOUE01/rels/d_a_b_girahimu2NP/symbols.txt b/config/SOUE01/rels/d_a_b_girahimu2NP/symbols.txt index 4ef9bc78..6cddc680 100644 --- a/config/SOUE01/rels/d_a_b_girahimu2NP/symbols.txt +++ b/config/SOUE01/rels/d_a_b_girahimu2NP/symbols.txt @@ -117,7 +117,7 @@ fn_228_80A0__14dAcGirahimu2_cFv = .text:0x000080A0; // type:function size:0x38 fn_228_80E0__14dAcGirahimu2_cFv = .text:0x000080E0; // type:function size:0x1DC fn_228_82C0__14dAcGirahimu2_cFv = .text:0x000082C0; // type:function size:0x61C vt_0x1FC__14dAcGirahimu2_cFv = .text:0x000088E0; // type:function size:0x70 -vt_0x200__14dAcGirahimu2_cFv = .text:0x00008950; // type:function size:0x38 +loadMainResFile__14dAcGirahimu2_cFv = .text:0x00008950; // type:function size:0x38 vt_0x204__14dAcGirahimu2_cFv = .text:0x00008990; // type:function size:0x18 vt_0x228__14dAcGirahimu2_cFv = .text:0x000089B0; // type:function size:0xF4 vt_0x22C__14dAcGirahimu2_cFv = .text:0x00008AB0; // type:function size:0x18 diff --git a/config/SOUE01/rels/d_a_b_girahimu_baseNP/symbols.txt b/config/SOUE01/rels/d_a_b_girahimu_baseNP/symbols.txt index 982a61de..e4c1c43a 100644 --- a/config/SOUE01/rels/d_a_b_girahimu_baseNP/symbols.txt +++ b/config/SOUE01/rels/d_a_b_girahimu_baseNP/symbols.txt @@ -181,7 +181,7 @@ fn_226_A070__17dAcGirahimuBase_cF4mAng = .text:0x0000A070; // type:function size fn_226_A120__17dAcGirahimuBase_cF4mAngf = .text:0x0000A120; // type:function size:0x160 fn_226_A280__17dAcGirahimuBase_cF4mAng = .text:0x0000A280; // type:function size:0x8C turn__17dAcGirahimuBase_cF4mAng = .text:0x0000A310; // type:function size:0xE4 -fn_226_A400__17dAcGirahimuBase_cFP8cCcD_Obj = .text:0x0000A400; // type:function size:0x16C +adjustSpineHitRotation__17dAcGirahimuBase_cFP8cCcD_Obj = .text:0x0000A400; // type:function size:0x16C fn_226_A570__17dAcGirahimuBase_cFv = .text:0x0000A570; // type:function size:0x34C getPlayerHeadOffset__17dAcGirahimuBase_cFv = .text:0x0000A8C0; // type:function size:0x64 executeEarringTransform__17dAcGirahimuBase_cFv = .text:0x0000A930; // type:function size:0x198 @@ -202,34 +202,34 @@ fn_226_B960__17dAcGirahimuBase_cFf = .text:0x0000B960; // type:function size:0x1 vt_0x21C__17dAcGirahimuBase_cFb = .text:0x0000BAC0; // type:function size:0x134 fn_226_BC00__17dAcGirahimuBase_cFv = .text:0x0000BC00; // type:function size:0x200 setFrame__17dAcGirahimuBase_cFf = .text:0x0000BE00; // type:function size:0x90 -fn_226_BE90__17dAcGirahimuBase_cFPCc = .text:0x0000BE90; // type:function size:0xF4 +setSound__17dAcGirahimuBase_cFPCc = .text:0x0000BE90; // type:function size:0xF4 sprintf__15SizedString<64>FPCce = .text:0x0000BF90; // type:function size:0xD0 fn_226_C060__17dAcGirahimuBase_cFv = .text:0x0000C060; // type:function size:0x158 fn_226_C1C0__17dAcGirahimuBase_cFv = .text:0x0000C1C0; // type:function size:0x160 fn_226_C320__17dAcGirahimuBase_cFv = .text:0x0000C320; // type:function size:0x238 fn_226_C560__17dAcGirahimuBase_cFv = .text:0x0000C560; // type:function size:0x134 -fn_226_C6A0__17dAcGirahimuBase_cFv = .text:0x0000C6A0; // type:function size:0xEC -fn_226_C790__17dAcGirahimuBase_cFR8cCcD_Objs = .text:0x0000C790; // type:function size:0x1F4 +configureBodyShield__17dAcGirahimuBase_cFv = .text:0x0000C6A0; // type:function size:0xEC +configureSwordShield__17dAcGirahimuBase_cFR8cCcD_Objs = .text:0x0000C790; // type:function size:0x1F4 vt_0x1F4__17dAcGirahimuBase_cFv = .text:0x0000C990; // type:function size:0x7C vt_0x1F8__17dAcGirahimuBase_cFv = .text:0x0000CA10; // type:function size:0x224 -fn_226_CC40__17dAcGirahimuBase_cFv = .text:0x0000CC40; // type:function size:0x10 -fn_226_CC50__17dAcGirahimuBase_cFv = .text:0x0000CC50; // type:function size:0x10 +setTgVulnerable__17dAcGirahimuBase_cFv = .text:0x0000CC40; // type:function size:0x10 +setTgInvulnerable__17dAcGirahimuBase_cFv = .text:0x0000CC50; // type:function size:0x10 vt_0x220__17dAcGirahimuBase_cFv = .text:0x0000CC60; // type:function size:0x18 -fn_226_CC80__17dAcGirahimuBase_cFv = .text:0x0000CC80; // type:function size:0x28 -vt_0x200__17dAcGirahimuBase_cFv = .text:0x0000CCB0; // type:function size:0x38 +isAttackingLeft__17dAcGirahimuBase_cFv = .text:0x0000CC80; // type:function size:0x28 +loadMainResFile__17dAcGirahimuBase_cFv = .text:0x0000CCB0; // type:function size:0x38 vt_0x204__17dAcGirahimuBase_cFv = .text:0x0000CCF0; // type:function size:0x24 vt_0x228__17dAcGirahimuBase_cFv = .text:0x0000CD20; // type:function size:0x7C -fn_226_CDA0__17dAcGirahimuBase_cFv = .text:0x0000CDA0; // type:function size:0x58 -fn_226_CE00__17dAcGirahimuBase_cFv = .text:0x0000CE00; // type:function size:0x58 +simplifyShoulderLAnmID__17dAcGirahimuBase_cFv = .text:0x0000CDA0; // type:function size:0x58 +simplifyShoulderRAnmID__17dAcGirahimuBase_cFv = .text:0x0000CE00; // type:function size:0x58 vt_0x208__17dAcGirahimuBase_cFv = .text:0x0000CE60; // type:function size:0x1D0 vt_0x20C__17dAcGirahimuBase_cFv = .text:0x0000D030; // type:function size:0x18 vt_0x22C__17dAcGirahimuBase_cFv = .text:0x0000D050; // type:function size:0x18 -fn_226_D070__17dAcGirahimuBase_cFv = .text:0x0000D070; // type:function size:0x18 -fn_226_D090__17dAcGirahimuBase_cFv = .text:0x0000D090; // type:function size:0x20C +clearAnms__17dAcGirahimuBase_cFv = .text:0x0000D070; // type:function size:0x18 +handleEnterExitEffect__17dAcGirahimuBase_cFv = .text:0x0000D090; // type:function size:0x20C vt_0x214__17dAcGirahimuBase_cFv = .text:0x0000D2A0; // type:function size:0x18 fn_226_D2C0__17dAcGirahimuBase_cFv = .text:0x0000D2C0; // type:function size:0x4 fn_226_D2D0__17dAcGirahimuBase_cFv = .text:0x0000D2D0; // type:function size:0x2C8 -fn_226_D5A0__17dAcGirahimuBase_cFv = .text:0x0000D5A0; // type:function size:0x58 +notifyTgSwordBattleGame__17dAcGirahimuBase_cFv = .text:0x0000D5A0; // type:function size:0x58 vt_0x88__11dAcEnBase_cFi = .text:0x0000D600; // type:function size:0x8 vt_0x84__11dAcEnBase_cFv = .text:0x0000D610; // type:function size:0x4 vt_0x80__11dAcEnBase_cFv = .text:0x0000D620; // type:function size:0x4 diff --git a/include/d/a/b/d_a_b_girahimu2.h b/include/d/a/b/d_a_b_girahimu2.h index 45b60ab6..fbae86c2 100644 --- a/include/d/a/b/d_a_b_girahimu2.h +++ b/include/d/a/b/d_a_b_girahimu2.h @@ -50,7 +50,7 @@ public: virtual void vt_0x1F4() override; virtual void vt_0x1F8() override; virtual void vt_0x1FC() override; - virtual void vt_0x200() override; + virtual void loadMainResFile() override; virtual void vt_0x204() override; virtual void vt_0x20C() override; virtual bool vt_0x210() override; diff --git a/include/d/a/b/d_a_b_girahimu_base.h b/include/d/a/b/d_a_b_girahimu_base.h index 200ea337..f416efd1 100644 --- a/include/d/a/b/d_a_b_girahimu_base.h +++ b/include/d/a/b/d_a_b_girahimu_base.h @@ -70,8 +70,8 @@ public: void fn_226_3130(); void fn_226_3150(mMtx_c &); - /* 0x004 */ mQuat_c field_0x004; - /* 0x014 */ f32 field_0x014; + /* 0x004 */ mQuat_c field_0x004; // Set, never used + /* 0x014 */ f32 field_0x014; // Set, never used /* 0x018 */ u16 mNodeID_ShoulderR; /* 0x01A */ u16 mNodeID_ShoulderL; /* 0x01C */ u16 mNodeID_Hip; @@ -100,96 +100,96 @@ public: /* 0x04A */ u16 mNodeID_KneeR; /* 0x04C */ u16 mNodeID_KneeL; /* 0x04E */ bool field_0x04E; - /* 0x04F */ bool field_0x04F; - /* 0x050 */ bool field_0x050; - /* 0x052 */ mAng field_0x052; - /* 0x054 */ mAng field_0x054; - /* 0x056 */ mAng field_0x056; - /* 0x058 */ mAng field_0x058; - /* 0x05A */ mAng field_0x05A; - /* 0x05C */ mAng field_0x05C; - /* 0x05E */ mAng field_0x05E; - /* 0x060 */ mAng field_0x060; - /* 0x062 */ mAng3_c field_0x062; - /* 0x068 */ mAng field_0x068; - /* 0x06A */ mAng field_0x06A; - /* 0x06C */ mAng field_0x06C; - /* 0x06E */ mAng field_0x06E; - /* 0x070 */ mVec3_c field_0x070; - /* 0x07C */ mAng field_0x07C; - /* 0x07E */ mAng field_0x07E; - /* 0x080 */ mAng field_0x080; - /* 0x082 */ mAng field_0x082; - /* 0x084 */ mAng field_0x084; + /* 0x04F */ bool field_0x04F; // ?? + /* 0x050 */ bool field_0x050; // ?? + /* 0x052 */ mAng field_0x052; // unused + /* 0x054 */ mAng mLegRotationY; // Leg RotY + /* 0x056 */ mAng mLegRotationYTarget; // Leg RotY Target + /* 0x058 */ mAng mSpineRotationY; // Spine RotY + /* 0x05A */ mAng mSpineRotationX; // Spine RotX + /* 0x05C */ mAng mSpineRotationYTarget; // Spine RotY Target + /* 0x05E */ mAng mSpineRotationXTarget; // Spine RotX Target + /* 0x060 */ mAng mSpineRotationYCorrection; // Spine RotY Correction? + /* 0x062 */ mAng3_c field_0x062; // Used on Hair and Spine rots + /* 0x068 */ mAng field_0x068; // field_0x062 Y Target Adjusted + /* 0x06A */ mAng field_0x06A; // field_0x062 Z Target Adjusted + /* 0x06C */ mAng field_0x06C; // field_0x062 Z Target + /* 0x06E */ mAng field_0x06E; // field_0x062 Y Target + /* 0x070 */ mVec3_c mHairTranslation; // Hair translation + /* 0x07C */ mAng mHeadRotationY; // Head RotY + /* 0x07E */ mAng mHeadRotationX; // Head RotX + /* 0x080 */ mAng mHeadRotationYTarget; // Head RotY Target + /* 0x082 */ mAng mHeadRotationXTarget; // Head RotX Target + /* 0x084 */ mAng mHeadRotationYCorrection; // Head RotY Correction? /* 0x086*/ u8 _0x086[0x088 - 0x086]; /* 0x088 */ bool field_0x088; - /* 0x08C */ mVec3_c field_0x08C; // Head Translation - /* 0x098 */ f32 field_0x098; + /* 0x08C */ mVec3_c mHeadTranslation; // Head Translation + /* 0x098 */ f32 field_0x098; // ?? /* 0x09C*/ u8 _0x09C[0x0A8 - 0x09C]; - /* 0x0A8 */ mVec3_c field_0x0A8; - /* 0x0B4 */ mAng field_0x0B4; + /* 0x0A8 */ mVec3_c field_0x0A8; // Set, never used + /* 0x0B4 */ mAng field_0x0B4; // Set, never used /* 0x0B6*/ u8 _0x0B6[0x0E8 - 0x0B6]; - /* 0x0E8 */ mMtx_c field_0x0E8; // ElbowR Transform - /* 0x118 */ mQuat_c field_0x118; // EbowR Rotation - /* 0x128 */ mVec3_c field_0x128; + /* 0x0E8 */ mMtx_c mElbowRTransform; // ElbowR Transform + /* 0x118 */ mQuat_c mElbowRRotation; // EbowR Rotation + /* 0x128 */ mVec3_c field_0x128; // Set, never used /* 0x134*/ u8 _0x134[0x164 - 0x134]; - /* 0x164 */ mVec3_c field_0x164; // ElbowR Translation + /* 0x164 */ mVec3_c mElblowRTranslation; // ElbowR Translation /* 0x170*/ u8 _0x170[0x17C - 0x170]; - /* 0x17C */ mVec3_c field_0x17C; // ElbowR Scale - /* 0x18C */ f32 field_0x188; // ElbowR distance to HandR? - /* 0x18C */ mVec3_c field_0x18C; // ElbowR Translation from ArmR? - /* 0x198 */ bool field_0x198; // ElbowR first Retrieve - /* 0x19C */ mMtx_c field_0x19C; // ArmR Transform - /* 0x1CC */ mQuat_c field_0x1CC; // ArmR Rotation + /* 0x17C */ mVec3_c mElbowRScale; // ElbowR Scale + /* 0x18C */ f32 mArmRForearmLength; // ElbowR distance to HandR? + /* 0x18C */ mVec3_c mArmRUpperArmVector; // ElbowR Translation from ArmR? + /* 0x198 */ bool mbElbowRTransformGet; // ElbowR first Retrieve + /* 0x19C */ mMtx_c mArmRTransform; // ArmR Transform + /* 0x1CC */ mQuat_c mArmRRotation; // ArmR Rotation /* 0x1DC*/ u8 _0x1DC[0x1E8 - 0x1DC]; - /* 0x1E8 */ bool field_0x1E8; // ArmR first Retrieve + /* 0x1E8 */ bool mbArmRTransformGet; // ArmR first Retrieve /* 0x1E9*/ u8 _0x1E9[0x21C - 0x1E9]; - /* 0x21C */ mVec3_c field_0x21C; // ArmR Translation - /* 0x228*/ mVec3_c field_0x228; // ArmR Scale - /* 0x234 */ f32 field_0x234; // ArmR Distance to Elbow? - /* 0x238 */ mAng field_0x238; - /* 0x23A */ mAng field_0x23A; - /* 0x23C */ mAng field_0x23C; - /* 0x23E */ mAng field_0x23E; - /* 0x240 */ mAng field_0x240; - /* 0x242 */ mAng field_0x242; - /* 0x244 */ bool field_0x244; - /* 0x244 */ bool field_0x245; + /* 0x21C */ mVec3_c mArmRTranslation; // ArmR Translation + /* 0x228*/ mVec3_c mArmRScale; // ArmR Scale + /* 0x234 */ f32 mArmRUpperArmLength; // ArmR Distance to Elbow? + /* 0x238 */ mAng mElbowRRotationY; // ElbowR Y Rot + /* 0x23A */ mAng mElbowLRotation; // ElbowL Y Rot + /* 0x23C */ mAng mElbowRRotationYAmplitude; // ElbowR Y Rot Amp + /* 0x23E */ mAng mElbowLRotationYAmplitude; // ElbowL Y Rot Amp + /* 0x240 */ mAng mElbowRRotationYPhase; // ElbowR Y Rot Phase + /* 0x242 */ mAng mElbowLRotationYPhase; // ElbowL Y Rot Phase + /* 0x244 */ bool field_0x244; // Set, never used + /* 0x244 */ bool field_0x245; // Set, never used /* 0x246*/ u8 _0x246[0x254 - 0x246]; - /* 0x254 */ mVec3_c field_0x254; - /* 0x260 */ mVec3_c field_0x260; // HandR Translation + /* 0x254 */ mVec3_c mHandRAdjustedPosition; + /* 0x260 */ mVec3_c mHandRTranslation; // HandR Translation /* 0x26C */ mVec3_c field_0x26C; - /* 0x278 */ mMtx_c field_0x278; // HandR Transform - /* 0x2A8 */ mQuat_c field_0x2A8; // HandR Rotation - /* 0x2B8 */ bool field_0x2B8; // HandR First Retrieve - /* 0x2BA */ mAng field_0x2BA; // HandR Pitch + /* 0x278 */ mMtx_c mHandRTransform; // HandR Transform + /* 0x2A8 */ mQuat_c mHandRRotation; // HandR Rotation + /* 0x2B8 */ bool mbHandRTransformGet; // HandR First Retrieve + /* 0x2BA */ mAng mHandRRotationY; // HandR Rot Y /* 0x2BC */ s16 field_0x2BC; - /* 0x2C0 */ nw4r::g3d::WorldMtxManip *field_0x2C0; - /* 0x2C4 */ nw4r::g3d::WorldMtxManip *field_0x2C4; + /* 0x2C0 */ nw4r::g3d::WorldMtxManip *mpArmRManip; // ArmR Manip + /* 0x2C4 */ nw4r::g3d::WorldMtxManip *mpElbowRManip; // ElbowR Manip /* 0x2C8 */ dAcGirahimuBase_c *mpGhirahim; - /* 0x2CC */ f32 field_0x2CC; - /* 0x2D0 */ f32 field_0x2D0; // slerp interpolation - /* 0x2D4 */ f32 field_0x2D4; + /* 0x2CC */ f32 mHandRPositionMaxStep; + /* 0x2D0 */ f32 mSlerpFactor; // slerp interpolation + /* 0x2D4 */ f32 mSlerpFactorTarget; /* 0x2D8 */ f32 field_0x2D8; - /* 0x2DC */ f32 field_0x2DC; + /* 0x2DC */ f32 field_0x2DC; // unused /* 0x2E0 */ mVec3_c field_0x2E0; - /* 0x2EC */ mVec3_c field_0x2EC; + /* 0x2EC */ mVec3_c field_0x2EC; // Set, never used }; enum AnmID_e { @@ -322,7 +322,7 @@ public: /* vt 0x1F4 */ virtual void vt_0x1F4(); /* vt 0x1F8 */ virtual void vt_0x1F8(); /* vt 0x1FC */ virtual void vt_0x1FC() {} - /* vt 0x200 */ virtual void vt_0x200(); + /* vt 0x200 */ virtual void loadMainResFile(); /* vt 0x204 */ virtual void vt_0x204(); /* vt 0x208 */ virtual bool vt_0x208(); /* vt 0x20C */ virtual void vt_0x20C(); @@ -392,7 +392,7 @@ public: bool fn_226_A120(mAng, f32); bool fn_226_A280(mAng); bool turn(mAng); - void fn_226_A400(cCcD_Obj *pObj); + void adjustSpineHitRotation(cCcD_Obj *pObj); bool fn_226_A570(); mVec3_c getPlayerHeadOffset(); void executeEarringTransform(); @@ -406,24 +406,24 @@ public: void fn_226_BC00(); void setFrame(f32); - bool fn_226_BE90(const char *soundName); + bool setSound(const char *soundName); void fn_226_C060(); void fn_226_C1C0(); void fn_226_C320(); void fn_226_C560(); - void fn_226_C6A0(); - void fn_226_C790(cCcD_Obj &cc, s16 anm); - void fn_226_CC40(); - void fn_226_CC50(); - bool fn_226_CC80(); - void fn_226_CDA0(); - void fn_226_CE00(); + void configureBodyShield(); + void configureSwordShield(cCcD_Obj &cc, s16 anm); + void setTgVulnerable(); + void setTgInvulnerable(); + bool isAttackingLeft(); + void simplifyShoulderLAnmID(); + void simplifyShoulderRAnmID(); - void fn_226_D070(); - void fn_226_D090(); + void clearAnms(); + void handleEnterExitEffect(); void fn_226_D2C0(); void fn_226_D2D0(); - void fn_226_D5A0(); + void notifyTgSwordBattleGame(); protected: /* 0x0378 */ STATE_MGR_DECLARE(dAcGirahimuBase_c); @@ -432,7 +432,7 @@ protected: /* 0x0400 */ nw4r::g3d::ResFile mResAnmChr0; /* 0x0404 */ nw4r::g3d::ResFile mResAnmChr1; /* 0x0408 */ m3d::anmChr_c mAnmChrs[5]; - /* 0x0520 */ dSoundSourceIf_c *pSoundIface; + /* 0x0520 */ dSoundSourceIf_c *mpSound; /* 0x0524 */ void *mpSoundBrasd; /* 0x0528 */ m3d::anmTexPat_c mAnmTexPatWink; /* 0x0554 */ dNpcMdlCallbackEye_c mEyeMdlCallback; diff --git a/src/REL/d/a/b/d_a_b_girahimu.cpp b/src/REL/d/a/b/d_a_b_girahimu.cpp index 8cf0b179..d48460e6 100644 --- a/src/REL/d/a/b/d_a_b_girahimu.cpp +++ b/src/REL/d/a/b/d_a_b_girahimu.cpp @@ -72,9 +72,9 @@ void dAcGirahimu_c::initializeState_G_SwordDemo() { SceneflagManager::sInstance->setFlag(mRoomID, getFromParams(8, 0xFF)); } - mCallback.field_0x2D4 = 1.0f; + mCallback.mSlerpFactorTarget = 1.0f; field_0xD44 = 0; - mCallback.field_0x2D0 = 1.0f; + mCallback.mSlerpFactor = 1.0f; mCyl0.SetR(50.0f); mCyl2.OnTgSet(); mSph0.ClrTgSet(); @@ -151,7 +151,7 @@ void dAcGirahimu_c::executeState_G_SwordDemo() { pCamera->setEventCamView(field_0x20F8, field_0x20EC, 35.0f, 0.0f); if (field_0xD46 <= 0) { - fn_226_D070(); + clearAnms(); setAnm("WaitA", ANM_WaitA, "WaitA", ANM_WaitA, "FaceTongue", ANM_NONE, m3d::PLAY_MODE_4, 15.0f, 1.0f); field_0xD46 = 50; field_0xD44++; @@ -423,7 +423,7 @@ void dAcGirahimu_c::fn_227_1EA0() { cCcD_Obj *pCc = mMdlSwordA.mCcList.findAtHit(); if (pCc != nullptr && pCc->ChkAtShieldReflect()) { changeState(StateID_G_SwordDamage); - fn_226_D070(); + clearAnms(); setAnm("GuardLSwordA", ANM_DamageHit, nullptr, m3d::PLAY_MODE_4, 5.0f, 1.0f); field_0xD62 = 40; mCallback.field_0x088 = true; @@ -485,8 +485,8 @@ void dAcGirahimu_c::initializeState_Knife() { if (mAnmChrs[ANMIDX_Body].getPlayMode() == m3d::PLAY_MODE_2) { rate = -rate; } - if (pSoundIface != nullptr) { - pSoundIface->setRate(rate); + if (mpSound != nullptr) { + mpSound->setRate(rate); } mSpeed = 0.0f; field_0x1834 = -8.0f * mAnmChrs[ANMIDX_Body].getRate(); @@ -588,7 +588,7 @@ void dAcGirahimu_c::finalizeState_Knife() {} void dAcGirahimu_c::initializeState_Death() { field_0xD44 = 0; - mCallback.field_0x2D4 = 1.0f; + mCallback.mSlerpFactorTarget = 1.0f; field_0x1834 = 0.0f; mSpeed = 0.0f; field_0x1830 = 200.0f; @@ -740,13 +740,13 @@ void dAcGirahimu_c::finalizeState_Death() { void dAcGirahimu_c::initializeState_DeathMiniGame() { mCollider.ClrTg(); - mCallback.field_0x2D4 = 1.0f; + mCallback.mSlerpFactorTarget = 1.0f; field_0xD44 = 0; field_0x1834 = 0.0f; mSpeed = 0.0f; field_0x1830 = 200.0f; mCallback.field_0x088 = false; - fn_226_D5A0(); + notifyTgSwordBattleGame(); setAnm("DamageHit", ANM_DamageHit, nullptr, m3d::PLAY_MODE_4, 5.0f, 1.0f); field_0xD6C = 0; } @@ -822,8 +822,8 @@ int dAcGirahimu_c::actorExecute() { } mMdlBody.play(); - if (pSoundIface != nullptr) { - pSoundIface->setFrame(mAnmChrs[ANMIDX_Body].getFrame()); + if (mpSound != nullptr) { + mpSound->setFrame(mAnmChrs[ANMIDX_Body].getFrame()); } mWorldMtx.transS(mPosition.x, mPosition.y + getYOffset(), mPosition.z); mWorldMtx.ZXYrotM(mRotation); @@ -860,7 +860,7 @@ int dAcGirahimu_c::actorExecute() { mCallback.field_0x0A8.set(1.0f, 0.0f, 0.0f); mCallback.field_0x0A8.rotY(mRotation.y); - mCallback.field_0x084 = mRotation.y; + mCallback.mHeadRotationYCorrection = mRotation.y; mCallback.fn_226_3130(); mSwordLink.get()->setAngleCopy(mRotation); @@ -900,15 +900,15 @@ int dAcGirahimu_c::actorExecute() { } mMdlBody.play(); - if (pSoundIface != nullptr) { - pSoundIface->setFrame(mAnmChrs[ANMIDX_Body].getFrame()); + if (mpSound != nullptr) { + mpSound->setFrame(mAnmChrs[ANMIDX_Body].getFrame()); } mWorldMtx.transS(mPosition.x, mPosition.y + getYOffset(), mPosition.z); mWorldMtx.ZXYrotM(mRotation); mWorldMtx.scaleM(field_0x8B0.x, field_0x8B0.y, field_0x8B0.z); mMdlBody.setLocalMtx(mWorldMtx); mMdlBody.calc(false); - fn_226_D090(); + handleEnterExitEffect(); fn_226_D2D0(); mAnmTexPatWink.play(); fn_226_9690(); @@ -986,8 +986,8 @@ int dAcGirahimu_c::actorExecute() { } void dAcGirahimu_c::initializeState_CatchDamage() { - mCallback.field_0x2D4 = 0.5f; - fn_226_D070(); + mCallback.mSlerpFactorTarget = 0.5f; + clearAnms(); setAnm("Damage", ANM_Damage, nullptr, m3d::PLAY_MODE_4, 5.0f, 0.5f); field_0xD6C = 1; mCallback.field_0x088 = false; @@ -1006,7 +1006,7 @@ void dAcGirahimu_c::executeState_CatchDamage() { if (field_0xD81) { mCyl2.ClrTgSet(); mSph0.ClrTgSet(); - fn_226_CC40(); + setTgVulnerable(); } if (mAnmChrs[ANMIDX_Body].isStop()) { diff --git a/src/REL/d/a/b/d_a_b_girahimu2.cpp b/src/REL/d/a/b/d_a_b_girahimu2.cpp index 65586fae..8e9b4186 100644 --- a/src/REL/d/a/b/d_a_b_girahimu2.cpp +++ b/src/REL/d/a/b/d_a_b_girahimu2.cpp @@ -216,7 +216,7 @@ void dAcGirahimu2_c::finalizeState_CreateKnife() {} void dAcGirahimu2_c::initializeState_KnifePreAttack() { mCallback.field_0x088 = true; - fn_226_D070(); + clearAnms(); if (field_0x1838 <= 1000.0f) { setAnm("CallWalk", ANM_Call, nullptr, m3d::PLAY_MODE_4, 5.0f, 1.5f); setAnmHip("Walk", ANM_Walk, m3d::PLAY_MODE_2, 15.0f, 1.2f); @@ -413,7 +413,7 @@ void dAcGirahimu2_c::initializeState_ComeOn() { field_0x221C = 0; field_0x1834 = 0.0f; mSpeed = 0.0f; - fn_226_D070(); + clearAnms(); setAnm("WalkBt", ANM_Walk, nullptr, m3d::PLAY_MODE_4, 15.0f, 1.0f); setAnm("PoseFree", ANM_PoseFree, m3d::PLAY_MODE_4, 5.0f, 1.0f); field_0xD6C = 9; @@ -483,9 +483,9 @@ void dAcGirahimu2_c::initializeState_G_SwordDemo() { SceneflagManager::sInstance->setFlag(mRoomID, getFromParams(8, 0xFF)); } - mCallback.field_0x2D4 = 1.0f; + mCallback.mSlerpFactorTarget = 1.0f; field_0xD44 = 0; - mCallback.field_0x2D0 = 1.0f; + mCallback.mSlerpFactor = 1.0f; mCyl0.SetR(30.0f); mCyl2.OnTgSet(); mSph0.ClrTgSet(); @@ -986,7 +986,7 @@ void dAcGirahimu2_c::finalizeState_G_SwordPiyori() { void dAcGirahimu2_c::initializeState_Death() { field_0xD44 = 0; - mCallback.field_0x2D4 = 1.0f; + mCallback.mSlerpFactorTarget = 1.0f; field_0x1834 = 0.0f; mSpeed = 0.0f; field_0x1830 = 200.0f; @@ -1220,14 +1220,14 @@ void dAcGirahimu2_c::fn_228_47F0(bool bVertical) { void dAcGirahimu2_c::initializeState_DeathMiniGame() { field_0xD44 = 0; - mCallback.field_0x2D4 = 1.0f; + mCallback.mSlerpFactorTarget = 1.0f; field_0x1834 = 0.0f; mSpeed = 0.0f; field_0x1830 = 200.0f; mCallback.field_0x088 = false; field_0xD6C = 0; mCollider.ClrTg(); - fn_226_D5A0(); + notifyTgSwordBattleGame(); setAnm("End2A", ANM_EndA, nullptr, m3d::PLAY_MODE_4, 5.0f, 1.0f); } void dAcGirahimu2_c::executeState_DeathMiniGame() { @@ -1274,7 +1274,7 @@ void dAcGirahimu2_c::fn_228_4A30() { pCc = mCollider.findTgHit(); if (pCc != nullptr) { if (pCc->GetTgAtHitType() == AT_TYPE_SWORD) { - fn_226_A400(pCc); + adjustSpineHitRotation(pCc); } } } @@ -1476,7 +1476,7 @@ void dAcGirahimu2_c::fn_228_5400() { getSoundSource()->startSoundAtPosition(SE_Girahim_SWORD_HIT_SWORD, pCc->GetTgHitPos()); changeState(StateID_Counter); } else { - fn_226_A400(pCc); + adjustSpineHitRotation(pCc); changeState(StateID_G_SwordDamage); } } else if (field_0x221C == 1) { @@ -1489,7 +1489,7 @@ void dAcGirahimu2_c::fn_228_5400() { changeState(StateID_ComeOnGuard); field_0x221C++; } else { - fn_226_A400(pCc); + adjustSpineHitRotation(pCc); changeState(StateID_G_SwordDamage); } } else if (pCc->GetTgShieldType() != AT_TYPE_NONE) { @@ -1498,7 +1498,7 @@ void dAcGirahimu2_c::fn_228_5400() { changeState(StateID_ComeOnGuard); field_0x221C++; } else { - fn_226_A400(pCc); + adjustSpineHitRotation(pCc); changeState(StateID_G_SwordDamage); } } @@ -1634,46 +1634,46 @@ bool dAcGirahimu2_c::fn_228_5770(s32 cutDir) { switch (mAnmIDShoulderR) { case ANM_PoseC: mCallback.field_0x245 = true; - mCallback.field_0x23C = mAng(0x1000); - mCallback.field_0x240 = 0; + mCallback.mElbowRRotationYAmplitude = mAng(0x1000); + mCallback.mElbowRRotationYPhase = 0; break; case ANM_PoseL: mCallback.field_0x245 = true; - mCallback.field_0x23C = mAng(0x1000); - mCallback.field_0x240 = 0; + mCallback.mElbowRRotationYAmplitude = mAng(0x1000); + mCallback.mElbowRRotationYPhase = 0; break; case ANM_PoseR: mCallback.field_0x245 = false; - mCallback.field_0x23C = mAng(0x1000); - mCallback.field_0x240 = 0; + mCallback.mElbowRRotationYAmplitude = mAng(0x1000); + mCallback.mElbowRRotationYPhase = 0; break; case ANM_PoseC2: mCallback.field_0x245 = true; - mCallback.field_0x23C = mAng(0x1000); - mCallback.field_0x240 = 0; + mCallback.mElbowRRotationYAmplitude = mAng(0x1000); + mCallback.mElbowRRotationYPhase = 0; break; } } else { switch (mAnmIDShoulderL) { case ANM_PoseC: mCallback.field_0x244 = true; - mCallback.field_0x23E = -0x1000; - mCallback.field_0x242 = 0; + mCallback.mElbowLRotationYAmplitude = -0x1000; + mCallback.mElbowLRotationYPhase = 0; break; case ANM_PoseL: mCallback.field_0x244 = false; - mCallback.field_0x23E = -0x1000; - mCallback.field_0x242 = 0; + mCallback.mElbowLRotationYAmplitude = -0x1000; + mCallback.mElbowLRotationYPhase = 0; break; case ANM_PoseR: mCallback.field_0x244 = true; - mCallback.field_0x23E = -0x1000; - mCallback.field_0x242 = 0; + mCallback.mElbowLRotationYAmplitude = -0x1000; + mCallback.mElbowLRotationYPhase = 0; break; case ANM_PoseC2: mCallback.field_0x244 = true; - mCallback.field_0x23E = -0x1000; - mCallback.field_0x242 = 0; + mCallback.mElbowLRotationYAmplitude = -0x1000; + mCallback.mElbowLRotationYPhase = 0; break; } } @@ -1704,8 +1704,8 @@ void dAcGirahimu2_c::vt_0x1F4() { mCps1.ClrTgSet(); } else { - fn_226_C790(mCps0, mAnmIDShoulderR); - fn_226_C790(mCps1, mAnmIDShoulderL); + configureSwordShield(mCps0, mAnmIDShoulderR); + configureSwordShield(mCps1, mAnmIDShoulderL); if (mCps0.ChkTgSet()) { mCyl2.ClrTgSet(); } @@ -1778,7 +1778,7 @@ bool dAcGirahimu2_c::createHeap() { nw4r::g3d::ResFile bodyRes; void *rawRes = getOarcResFile("GirahimBt02"); mResAnmChr0 = nw4r::g3d::ResFile(rawRes); - vt_0x200(); + loadMainResFile(); nw4r::g3d::ResMdl resMdl = mResAnmChr0.GetResMdl("GirahimBt02"); if (!mMdlBody.create(resMdl, &mAllocator, 0x137, 1, nullptr)) { return false; @@ -1826,7 +1826,7 @@ bool dAcGirahimu2_c::createHeap() { int id = m3d::getMatID(mMdlBody.getResMdl(), "m_Eyeball"); mEyeMdlCallback.create(mMdlBody, id, id, 1, 1, nullptr); mEyeMdlCallback.mBlendWeight = 1; - pSoundIface = getSoundSource(); + mpSound = getSoundSource(); return true; } @@ -1902,8 +1902,8 @@ int dAcGirahimu2_c::actorExecute() { mAnmChrs[i].play(); } mMdlBody.play(); - if (pSoundIface != nullptr) { - pSoundIface->setFrame(mAnmChrs[ANMIDX_Body].getFrame()); + if (mpSound != nullptr) { + mpSound->setFrame(mAnmChrs[ANMIDX_Body].getFrame()); } mWorldMtx.transS(mPosition.x, mPosition.y + getYOffset(), mPosition.z); mWorldMtx.ZXYrotM(mRotation); @@ -1940,7 +1940,7 @@ int dAcGirahimu2_c::actorExecute() { mCallback.field_0x0A8.set(1.0f, 0.0f, 0.0f); mCallback.field_0x0A8.rotY(mRotation.y); - mCallback.field_0x084 = mRotation.y; + mCallback.mHeadRotationYCorrection = mRotation.y; mCallback.fn_226_3130(); mSwordLink.get()->setAngleCopy(mRotation); @@ -1971,12 +1971,12 @@ int dAcGirahimu2_c::actorExecute() { } mMdlBody.play(); - if (pSoundIface != nullptr) { - pSoundIface->setFrame(mAnmChrs[ANMIDX_Body].getFrame()); + if (mpSound != nullptr) { + mpSound->setFrame(mAnmChrs[ANMIDX_Body].getFrame()); } mMdlBody.calc(false); if (!isState(StateID_UpWarp)) { - fn_226_D090(); + handleEnterExitEffect(); } fn_226_D2D0(); mAnmTexPatWink.play(); @@ -2018,7 +2018,7 @@ int dAcGirahimu2_c::actorExecute() { mKnives[i].get()->field_0x6F0.set(mRotation.x, mRotation.y, mRotation.z); mKnives[i].get()->field_0x6D8.set(mPosition); - mKnives[i].get()->field_0x6E4.set(mCallback.field_0x260); + mKnives[i].get()->field_0x6E4.set(mCallback.mHandRTranslation); if (mKnives[i].get()->isWaiting()) { playerSound1 = true; @@ -2053,15 +2053,15 @@ void dAcGirahimu2_c::initializeState_Walk() { setAnm("Walk", ANM_Walk, nullptr, m3d::PLAY_MODE_4, 15.0f, 1.0f); mCallback.field_0x088 = true; mCallback.field_0x04E = false; - mCallback.field_0x2D4 = 1.0f; + mCallback.mSlerpFactorTarget = 1.0f; if (dAcPy_c::GetLinkM()->isUsingSword()) { mCallback.field_0x04E = true; - mCallback.field_0x2D4 = 0.5f; - mCallback.field_0x2D0 = 0.0f; + mCallback.mSlerpFactorTarget = 0.5f; + mCallback.mSlerpFactor = 0.0f; } else { mCallback.field_0x04E = false; - mCallback.field_0x2D4 = 1.0f; + mCallback.mSlerpFactorTarget = 1.0f; } field_0xD46 = 100; } @@ -2145,11 +2145,11 @@ void dAcGirahimu2_c::initializeState_CreateSpinKnife() { field_0xD81 = true; if (dAcPy_c::GetLinkM()->isUsingSword()) { mCallback.field_0x04E = true; - mCallback.field_0x2D4 = 0.2f; - mCallback.field_0x2D0 = 0.2f; + mCallback.mSlerpFactorTarget = 0.2f; + mCallback.mSlerpFactor = 0.2f; } else { mCallback.field_0x04E = false; - mCallback.field_0x2D4 = 1.0f; + mCallback.mSlerpFactorTarget = 1.0f; } } void dAcGirahimu2_c::executeState_CreateSpinKnife() { @@ -2177,8 +2177,8 @@ void dAcGirahimu2_c::finalizeState_CreateSpinKnife() { } void dAcGirahimu2_c::initializeState_CatchDamage() { - mCallback.field_0x2D4 = 0.5f; - fn_226_D070(); + mCallback.mSlerpFactorTarget = 0.5f; + clearAnms(); setAnm("Damage", ANM_Damage, nullptr, m3d::PLAY_MODE_4, 5.0f, 0.5f); field_0xD6C = 1; mCallback.field_0x088 = false; @@ -2197,7 +2197,7 @@ void dAcGirahimu2_c::executeState_CatchDamage() { if (field_0xD81) { mCyl2.ClrTgSet(); mSph0.ClrTgSet(); - fn_226_CC40(); + setTgVulnerable(); } if (mAnmChrs[ANMIDX_Body].isStop()) { if (getHealth() > 0) { @@ -2264,7 +2264,7 @@ void dAcGirahimu2_c::initializeState_Catch() { mCallback.field_0x088 = true; dAcPy_c::GetLinkM()->set0x439F(this, 7); mCallback.field_0x014 = 1.0f; - mCallback.field_0x2D4 = 0.5f; + mCallback.mSlerpFactorTarget = 0.5f; field_0xD46 = 4; field_0xD5E = 100; } @@ -2350,7 +2350,7 @@ void dAcGirahimu2_c::finalizeState_Catch() { mCallback.field_0x04E = false; field_0xD71 = false; mCollider.CoSet(); - mCallback.field_0x2D4 = 1.0f; + mCallback.mSlerpFactorTarget = 1.0f; if ((s32)getFromParams(0, 0xFF) != 0xFF) { SceneflagManager::sInstance->unsetFlag(mRoomID, getFromParams(0, 0xFF)); } @@ -2410,7 +2410,7 @@ void dAcGirahimu2_c::fn_228_82C0() { mVec3_c v1(0.0f, 100.0f, 200.0f); v1.rotY(mRotation.y); v0 += v1; - v0.y = mCallback.field_0x21C.y; + v0.y = mCallback.mArmRTranslation.y; int rnd = cM::rndInt(90); mAng a0; @@ -2552,7 +2552,7 @@ void dAcGirahimu2_c::vt_0x1FC() { } } -void dAcGirahimu2_c::vt_0x200() { +void dAcGirahimu2_c::loadMainResFile() { mResAnmChr1 = nw4r::g3d::ResFile(getOarcResFile("GirahimBt")); } @@ -2629,7 +2629,7 @@ void dAcGirahimu2_c::vt_0x234() { return; } } else if (pCc == &mCyl2) { - fn_226_A400(pCc); + adjustSpineHitRotation(pCc); if (pCc->GetTgAtCutDir() == CUT_DIR_STAB) { changeState(StateID_BackStep); } else { diff --git a/src/REL/d/a/b/d_a_b_girahimu_base.cpp b/src/REL/d/a/b/d_a_b_girahimu_base.cpp index 72ec0124..08fa3c5f 100644 --- a/src/REL/d/a/b/d_a_b_girahimu_base.cpp +++ b/src/REL/d/a/b/d_a_b_girahimu_base.cpp @@ -163,15 +163,15 @@ void dAcGirahimuBase_c::callback_c::fn_226_DC0(mMtx_c &out, const mAng3_c &rot, } void dAcGirahimuBase_c::callback_c::fn_226_E80() { - mVec3_c v0 = field_0x164; + mVec3_c v0 = mElblowRTranslation; - mVec3_c v1 = v0 - field_0x21C; + mVec3_c v1 = v0 - mArmRTranslation; v1.normalizeRS(); - mVec3_c v2 = field_0x260 - v0; + mVec3_c v2 = mHandRTranslation - v0; v2.normalizeRS(); - mVec3_c v3 = field_0x21C - v0; + mVec3_c v3 = mArmRTranslation - v0; v3.normalizeRS(); mVec3_c v4; @@ -193,24 +193,24 @@ void dAcGirahimuBase_c::callback_c::fn_226_E80() { mQuat_c q0; m0.toQuat(q0); - field_0x1CC.slerpTo(q0, 1.0f, field_0x1CC); - field_0x19C.fromQuat(field_0x1CC); - field_0x19C.setTranslation(field_0x21C); + mArmRRotation.slerpTo(q0, 1.0f, mArmRRotation); + mArmRTransform.fromQuat(mArmRRotation); + mArmRTransform.setTranslation(mArmRTranslation); - field_0x19C.scaleM(mpGhirahim->field_0x8BC); + mArmRTransform.scaleM(mpGhirahim->field_0x8BC); } void dAcGirahimuBase_c::callback_c::fn_226_1160() { - mVec3_c v0 = field_0x164; + mVec3_c v0 = mElblowRTranslation; - mVec3_c v1 = field_0x260 - v0; + mVec3_c v1 = mHandRTranslation - v0; v1.normalizeRS(); - mVec3_c v2 = field_0x260 - v0; + mVec3_c v2 = mHandRTranslation - v0; v2.normalizeRS(); mVec3_c v3; - v3 = field_0x21C - v0; + v3 = mArmRTranslation - v0; v3.normalizeRS(); mVec3_c v4; @@ -232,19 +232,19 @@ void dAcGirahimuBase_c::callback_c::fn_226_1160() { mQuat_c q0; m0.toQuat(q0); - field_0x118.slerpTo(q0, 1.0f, field_0x118); - field_0x0E8.fromQuat(field_0x118); + mElbowRRotation.slerpTo(q0, 1.0f, mElbowRRotation); + mElbowRTransform.fromQuat(mElbowRRotation); if (mpGhirahim != nullptr && mpGhirahim->field_0xD71) { - mVec3_c diff = field_0x260 - field_0x21C; + mVec3_c diff = mHandRTranslation - mArmRTranslation; mAng ang = (s32)diff.atan2sX_Z(); - ang = ang - field_0x084; + ang = ang - mHeadRotationYCorrection; if (ang > 0) { - field_0x0E8.XrotM(-ang); + mElbowRTransform.XrotM(-ang); } } - field_0x0E8.setTranslation(field_0x164); - field_0x0E8.scaleM(mpGhirahim->field_0x8BC); + mElbowRTransform.setTranslation(mElblowRTranslation); + mElbowRTransform.scaleM(mpGhirahim->field_0x8BC); } void dAcGirahimuBase_c::callback_c::init(dAcGirahimuBase_c *pGhirahim) { @@ -255,24 +255,24 @@ void dAcGirahimuBase_c::callback_c::init(dAcGirahimuBase_c *pGhirahim) { (void)mVec3_c(0.0f, 0.0f, -1.0f); (void)mVec3_c(0.0f, 1.0f, 0.0f); m0.toQuat(field_0x004); - m0.toQuat(field_0x118); - m0.toQuat(field_0x1CC); + m0.toQuat(mElbowRRotation); + m0.toQuat(mArmRRotation); mpGhirahim = pGhirahim; - field_0x2D4 = 1.0f; - field_0x2D0 = 1.0f; + mSlerpFactorTarget = 1.0f; + mSlerpFactor = 1.0f; } void dAcGirahimuBase_c::callback_c::fn_226_1580(u32 node, nw4r::g3d::WorldMtxManip *result, nw4r::g3d::ResMdl) { if (node == mNodeID_ArmR) { - field_0x2C0 = result; - result->GetMtx(field_0x19C); - field_0x19C.getTranslation(field_0x21C); + mpArmRManip = result; + result->GetMtx(mArmRTransform); + mArmRTransform.getTranslation(mArmRTranslation); mVec3_c v0(-40.0f, -20.0f, -15.0f); - v0.rotY(field_0x084); - v0 += field_0x21C; - field_0x18C.set(v0); - if (!field_0x1E8) { - field_0x1E8 = true; + v0.rotY(mHeadRotationYCorrection); + v0 += mArmRTranslation; + mArmRUpperArmVector.set(v0); + if (!mbArmRTransformGet) { + mbArmRTransformGet = true; } else { if (field_0x04E) { fn_226_1DD0(); @@ -281,29 +281,29 @@ void dAcGirahimuBase_c::callback_c::fn_226_1580(u32 node, nw4r::g3d::WorldMtxMan fn_226_1160(); fn_226_E80(); } else { - field_0x2BA = 0; + mHandRRotationY = 0; sLib::chaseAngle(field_0x0B4.ref(), 0, 0x1000); mQuat_c q0; - field_0x19C.toQuat(q0); - field_0x1CC.slerpTo(q0, field_0x2D0, field_0x1CC); - if (field_0x2D0 < 1.0f) { + mArmRTransform.toQuat(q0); + mArmRRotation.slerpTo(q0, mSlerpFactor, mArmRRotation); + if (mSlerpFactor < 1.0f) { mMtx_c m0; - field_0x19C.fromQuat(field_0x1CC); + mArmRTransform.fromQuat(mArmRRotation); m0.scaleS(mpGhirahim->field_0x8BC); - MTXConcat(m0, field_0x19C, field_0x19C); - field_0x19C.setTranslation(field_0x21C); + MTXConcat(m0, mArmRTransform, mArmRTransform); + mArmRTransform.setTranslation(mArmRTranslation); } } - result->SetMtx(field_0x19C); + result->SetMtx(mArmRTransform); } } else if (node == mNodeID_ElbowR) { - field_0x2C4 = result; - if (!field_0x198) { - result->GetMtx(field_0x0E8); - field_0x0E8.getTranslation(field_0x164); + mpElbowRManip = result; + if (!mbElbowRTransformGet) { + result->GetMtx(mElbowRTransform); + mElbowRTransform.getTranslation(mElblowRTranslation); field_0x128.set(1.0f, 0.0f, 0.0f); - field_0x198 = true; - field_0x0E8.getTranslation(field_0x18C); + mbElbowRTransformGet = true; + mElbowRTransform.getTranslation(mArmRUpperArmVector); } if (!field_0x04E) { @@ -312,70 +312,70 @@ void dAcGirahimuBase_c::callback_c::fn_226_1580(u32 node, nw4r::g3d::WorldMtxMan result->GetMtx(m0); m0.toQuat(q0); - if (field_0x2D0 < 1.0f) { - field_0x118.slerpTo(q0, field_0x2D0, field_0x118); - field_0x0E8.fromQuat(field_0x118); + if (mSlerpFactor < 1.0f) { + mElbowRRotation.slerpTo(q0, mSlerpFactor, mElbowRRotation); + mElbowRTransform.fromQuat(mElbowRRotation); mMtx_c m1; m1.scaleS(mpGhirahim->field_0x8BC); - MTXConcat(m1, field_0x0E8, field_0x0E8); - mVec3_c v0(field_0x234, 0.0f, 0.0f); - field_0x19C.multVec(v0, v0); - field_0x164.set(v0); - field_0x0E8.setTranslation(field_0x164); + MTXConcat(m1, mElbowRTransform, mElbowRTransform); + mVec3_c v0(mArmRUpperArmLength, 0.0f, 0.0f); + mArmRTransform.multVec(v0, v0); + mElblowRTranslation.set(v0); + mElbowRTransform.setTranslation(mElblowRTranslation); } else { - field_0x118.slerpTo(q0, field_0x2D0, field_0x118); - result->GetMtx(field_0x0E8); - field_0x0E8.getTranslation(field_0x164); + mElbowRRotation.slerpTo(q0, mSlerpFactor, mElbowRRotation); + result->GetMtx(mElbowRTransform); + mElbowRTransform.getTranslation(mElblowRTranslation); } } - result->SetMtx(field_0x0E8); + result->SetMtx(mElbowRTransform); } else if (node == mNodeID_HandR) { - if (!field_0x2B8) { - field_0x2B8 = true; - result->GetMtx(field_0x278); + if (!mbHandRTransformGet) { + mbHandRTransformGet = true; + result->GetMtx(mHandRTransform); } if (field_0x04E) { if (mpGhirahim && !mpGhirahim->field_0xD71) { mMtx_c m0; result->GetMtx(m0); - m0.setTranslation(field_0x260); - sLib::chaseAngle(field_0x2BA.ref(), 0x2000, 0x200); - m0.YrotM(field_0x2BA); + m0.setTranslation(mHandRTranslation); + sLib::chaseAngle(mHandRRotationY.ref(), 0x2000, 0x200); + m0.YrotM(mHandRRotationY); mQuat_c q0; m0.toQuat(q0); - field_0x2A8.slerpTo(q0, field_0x2D0, field_0x2A8); - field_0x278.fromQuat(field_0x2A8); - field_0x278.setTranslation(field_0x260); + mHandRRotation.slerpTo(q0, mSlerpFactor, mHandRRotation); + mHandRTransform.fromQuat(mHandRRotation); + mHandRTransform.setTranslation(mHandRTranslation); } } else { - field_0x2BA = 0; - if (field_0x2D0 < 1.0f) { + mHandRRotationY = 0; + if (mSlerpFactor < 1.0f) { mMtx_c m0; mQuat_c q0; result->GetMtx(m0); m0.toQuat(q0); - field_0x2A8.slerpTo(q0, 1.0f, field_0x2A8); - field_0x278.fromQuat(field_0x2A8); + mHandRRotation.slerpTo(q0, 1.0f, mHandRRotation); + mHandRTransform.fromQuat(mHandRRotation); mMtx_c scale; scale.scaleS(mpGhirahim->field_0x8BC); - MTXConcat(scale, field_0x278, field_0x278); - mVec3_c v0(field_0x188, 0.0f, 0.0f); - field_0x0E8.multVec(v0, v0); - field_0x260.set(v0); - field_0x278.setTranslation(field_0x260); + MTXConcat(scale, mHandRTransform, mHandRTransform); + mVec3_c v0(mArmRForearmLength, 0.0f, 0.0f); + mElbowRTransform.multVec(v0, v0); + mHandRTranslation.set(v0); + mHandRTransform.setTranslation(mHandRTranslation); } else { - result->GetMtx(field_0x278); - field_0x278.getTranslation(field_0x260); - field_0x278.toQuat(field_0x2A8); + result->GetMtx(mHandRTransform); + mHandRTransform.getTranslation(mHandRTranslation); + mHandRTransform.toQuat(mHandRRotation); } if (mpGhirahim) { - field_0x254 = field_0x260 - field_0x21C; - field_0x254.rotY(-mpGhirahim->mRotation.y); + mHandRAdjustedPosition = mHandRTranslation - mArmRTranslation; + mHandRAdjustedPosition.rotY(-mpGhirahim->mRotation.y); } } - result->SetMtx(field_0x278); + result->SetMtx(mHandRTransform); } } @@ -438,9 +438,9 @@ void dAcGirahimuBase_c::callback_c::fn_226_1DD0() { mVec3_c v4 = v3; mVec3_c v5; - v5 = v3 - field_0x21C; + v5 = v3 - mArmRTranslation; - if (v5.mag() >= (field_0x234 + field_0x188) * 0.9f) { + if (v5.mag() >= (mArmRUpperArmLength + mArmRForearmLength) * 0.9f) { field_0x050 = true; } else { field_0x050 = false; @@ -448,12 +448,12 @@ void dAcGirahimuBase_c::callback_c::fn_226_1DD0() { field_0x0B4.set(0); if (mpGhirahim != nullptr && !mpGhirahim->field_0xD71) { if (field_0x050) { - v3 -= field_0x21C; + v3 -= mArmRTranslation; v3.normalizeRS(); - v3 *= (field_0x234 + field_0x188) * 0.9f; - v3 += field_0x21C; + v3 *= (mArmRUpperArmLength + mArmRForearmLength) * 0.9f; + v3 += mArmRTranslation; } - mVec3_c v6 = v3 - field_0x21C; + mVec3_c v6 = v3 - mArmRTranslation; dAcGirahimuBase_c *pAc = mpGhirahim; mAng ang = mAng((s32)v6.atan2sX_Z()); @@ -463,7 +463,7 @@ void dAcGirahimuBase_c::callback_c::fn_226_1DD0() { case 0x2000 ... INT32_MAX: { a = 0x2000 - ang; v6.rotY(a); - v6 += field_0x21C; + v6 += mArmRTranslation; v3 = v6; } break; case -0x1FFF ... 0x1FFF: { @@ -472,12 +472,12 @@ void dAcGirahimuBase_c::callback_c::fn_226_1DD0() { default: { a = -0x2000 - ang; v6.rotY(a); - v6 += field_0x21C; + v6 += mArmRTranslation; v3 = v6; } break; } - mVec3_c v7 = v3 - field_0x21C; + mVec3_c v7 = v3 - mArmRTranslation; v7.rotY(-mpGhirahim->mRotation.y); if (mpGhirahim->mHealth >= 100) { @@ -493,15 +493,15 @@ void dAcGirahimuBase_c::callback_c::fn_226_1DD0() { v7.set(field_0x26C); } if (mpGhirahim->field_0xD50 > 0) { - cLib::addCalcPos2(&field_0x254, v7, 0.2f, 1000.0f); + cLib::addCalcPos2(&mHandRAdjustedPosition, v7, 0.2f, 1000.0f); } else { - cLib::addCalcPos2(&field_0x254, v7, 0.2f, field_0x2CC); + cLib::addCalcPos2(&mHandRAdjustedPosition, v7, 0.2f, mHandRPositionMaxStep); } - mVec3_c v8 = v7 - field_0x254; + mVec3_c v8 = v7 - mHandRAdjustedPosition; f32 magV8 = v8.mag(); - mVec3_c v9 = field_0x21C; + mVec3_c v9 = mArmRTranslation; v9.y -= 10.0f; field_0x098 = magV8; @@ -511,30 +511,30 @@ void dAcGirahimuBase_c::callback_c::fn_226_1DD0() { m0.YrotM(mpGhirahim->mRotation.y); m0.inverse(); - mVec3_c v10 = field_0x260; + mVec3_c v10 = mHandRTranslation; m0.multVec(v10, v10); v10.z = 0.0f; field_0x2E0.set(v10); field_0x2D8 = v10.mag(); - m0.transS(field_0x260); + m0.transS(mHandRTranslation); m0.YrotM(mpGhirahim->mRotation.y); m0.inverse(); m0.multVec(v4, v4); v4.z = 0.0f; field_0x2EC.set(v4); - mVec3_c v11 = field_0x254; + mVec3_c v11 = mHandRAdjustedPosition; v11.rotY(mpGhirahim->mRotation.y); - v11 += field_0x21C; - cLib::addCalcPos2(&field_0x260, v11, 0.5f, 100.0f); + v11 += mArmRTranslation; + cLib::addCalcPos2(&mHandRTranslation, v11, 0.5f, 100.0f); } else { - field_0x2BA = 0; - field_0x260.set(v3); + mHandRRotationY = 0; + mHandRTranslation.set(v3); if (mpGhirahim != nullptr) { - field_0x254.set(field_0x260 - field_0x21C); - field_0x254.rotY(-mpGhirahim->mRotation.y); + mHandRAdjustedPosition.set(mHandRTranslation - mArmRTranslation); + mHandRAdjustedPosition.rotY(-mpGhirahim->mRotation.y); } mMtx_c m1; m1.setBase(0, v2); @@ -544,10 +544,10 @@ void dAcGirahimuBase_c::callback_c::fn_226_1DD0() { mQuat_c q0; m1.toQuat(q0); - field_0x2A8.slerpTo(q0, field_0x2D0, field_0x2A8); - field_0x278.fromQuat(field_0x2A8); - field_0x278.setTranslation(field_0x260); - field_0x278.scaleM(1.05f, 1.05f, 1.05f); + mHandRRotation.slerpTo(q0, mSlerpFactor, mHandRRotation); + mHandRTransform.fromQuat(mHandRRotation); + mHandRTransform.setTranslation(mHandRTranslation); + mHandRTransform.scaleM(1.05f, 1.05f, 1.05f); } } @@ -558,29 +558,29 @@ void dAcGirahimuBase_c::callback_c::fn_226_24E0() { void dAcGirahimuBase_c::callback_c::fn_226_24F0() { mVec3_c v1; mVec3_c v2; - mVec3_c v3 = field_0x260; - mVec3_c v4 = field_0x18C; + mVec3_c v3 = mHandRTranslation; + mVec3_c v4 = mArmRUpperArmVector; mVec3_c v5 = v4 - v3; v5.normalizeRS(); - v5 *= field_0x188; + v5 *= mArmRForearmLength; v5 += v3; v4 = v5; - v1 = field_0x21C - v3; + v1 = mArmRTranslation - v3; v1.normalizeRS(); - v1 *= field_0x188; + v1 *= mArmRForearmLength; v1 += v3; if (v1.y <= v4.y) { f32 f = v1.y - v4.y; v4.y += f; } - mVec3_c v6 = field_0x21C - v4; + mVec3_c v6 = mArmRTranslation - v4; v6.normalizeRS(); - v6 *= field_0x234; + v6 *= mArmRUpperArmLength; v6 += v4; v1 = v6 - v3; - v2 = field_0x21C - v3; + v2 = mArmRTranslation - v3; v1.angle(v2); @@ -595,20 +595,20 @@ void dAcGirahimuBase_c::callback_c::fn_226_24F0() { v4 = v7; - v1 = v4 - field_0x21C; + v1 = v4 - mArmRTranslation; v1.normalizeRS(); - v1 *= field_0x234; - v1 += field_0x21C; + v1 *= mArmRUpperArmLength; + v1 += mArmRTranslation; v4 = v1; - v1 = v4 - field_0x260; + v1 = v4 - mHandRTranslation; v1.normalizeRS(); - v1 *= field_0x188; - v1 += field_0x260; + v1 *= mArmRForearmLength; + v1 += mHandRTranslation; v4 = v1; - cLib::addCalcPos2(&field_0x164, v4, 0.5f, 100.0f); + cLib::addCalcPos2(&mElblowRTranslation, v4, 0.5f, 100.0f); } void dAcGirahimuBase_c::callback_c::timingB(u32 node, nw4r::g3d::WorldMtxManip *result, nw4r::g3d::ResMdl i_mdl) { @@ -617,14 +617,14 @@ void dAcGirahimuBase_c::callback_c::timingB(u32 node, nw4r::g3d::WorldMtxManip * mMtx_c m0; if (node == mNodeID_Head) { result->GetMtx(m0); - m0.getTranslation(field_0x08C); + m0.getTranslation(mHeadTranslation); mMtx_c m1; result->GetMtx(m1); fn_226_3150(m1); - mAng3_c a0(field_0x07E, field_0x07C, 0); - fn_226_DC0(m0, a0, field_0x084); + mAng3_c a0(mHeadRotationX, mHeadRotationY, 0); + fn_226_DC0(m0, a0, mHeadRotationYCorrection); result->SetMtx(m0); } else if (node == mNodeID_Hair1) { mMtx_c m1; @@ -663,63 +663,63 @@ void dAcGirahimuBase_c::callback_c::timingB(u32 node, nw4r::g3d::WorldMtxManip * sLib::chaseAngle(field_0x062.x.ref(), 0, 0x80); } result->GetMtx(m0); - mAng3_c a0(field_0x05A, field_0x058, 0); - fn_226_DC0(m0, a0, field_0x060); + mAng3_c a0(mSpineRotationX, mSpineRotationY, 0); + fn_226_DC0(m0, a0, mSpineRotationYCorrection); m0.XrotM(field_0x062.x); result->SetMtx(m0); } else if (node == mNodeID_Spine2) { result->GetMtx(m0); - mAng3_c a0(field_0x05A, field_0x058, 0); - fn_226_DC0(m0, a0, field_0x060); + mAng3_c a0(mSpineRotationX, mSpineRotationY, 0); + fn_226_DC0(m0, a0, mSpineRotationYCorrection); m0.XrotM(field_0x062.x); result->SetMtx(m0); } else if (node == mNodeID_ElbowR) { fn_226_2FD0(); result->GetMtx(m0); - m0.YrotM(field_0x238); + m0.YrotM(mElbowRRotationY); result->SetMtx(m0); } else if (node == mNodeID_ElbowL) { fn_226_3080(); result->GetMtx(m0); - m0.YrotM(field_0x23A); + m0.YrotM(mElbowLRotation); result->SetMtx(m0); } else if (node == mNodeID_KneeL) { result->GetMtx(m0); - mAng3_c a0(0, field_0x054 / 2, 0); + mAng3_c a0(0, mLegRotationY / 2, 0); fn_226_DC0(m0, a0, mpGhirahim->mRotation.y); result->SetMtx(m0); } else if (node == mNodeID_KneeR) { result->GetMtx(m0); - mAng3_c a0(0, field_0x054 / 2, 0); + mAng3_c a0(0, mLegRotationY / 2, 0); fn_226_DC0(m0, a0, mpGhirahim->mRotation.y); result->SetMtx(m0); } else if (node == mNodeID_LegL) { result->GetMtx(m0); - mAng3_c a0(0, field_0x054 / 2, 0); + mAng3_c a0(0, mLegRotationY / 2, 0); fn_226_DC0(m0, a0, mpGhirahim->mRotation.y); result->SetMtx(m0); } else if (node == mNodeID_LegR) { result->GetMtx(m0); - mAng3_c a0(0, field_0x054 / 2, 0); + mAng3_c a0(0, mLegRotationY / 2, 0); fn_226_DC0(m0, a0, mpGhirahim->mRotation.y); result->SetMtx(m0); } } void dAcGirahimuBase_c::callback_c::fn_226_2FD0() { - sLib::chaseAngle(field_0x23C.ref(), 0, 0x150); - field_0x240 += 0x3500; - field_0x238 = field_0x23C * field_0x240.sin(); + sLib::chaseAngle(mElbowRRotationYAmplitude.ref(), 0, 0x150); + mElbowRRotationYPhase += 0x3500; + mElbowRRotationY = mElbowRRotationYAmplitude * mElbowRRotationYPhase.sin(); } void dAcGirahimuBase_c::callback_c::fn_226_3080() { - sLib::chaseAngle(field_0x23E.ref(), 0, 0x150); - field_0x242 += 0x3500; - field_0x23A = field_0x23E * field_0x242.sin(); + sLib::chaseAngle(mElbowLRotationYAmplitude.ref(), 0, 0x150); + mElbowLRotationYPhase += 0x3500; + mElbowLRotation = mElbowLRotationYAmplitude * mElbowLRotationYPhase.sin(); } void dAcGirahimuBase_c::callback_c::fn_226_3130() { - sLib::chase(&field_0x2D0, field_0x2D4, 0.05f); + sLib::chase(&mSlerpFactor, mSlerpFactorTarget, 0.05f); } void dAcGirahimuBase_c::callback_c::fn_226_3150(mMtx_c &m) { @@ -731,28 +731,28 @@ void dAcGirahimuBase_c::callback_c::fn_226_3150(mMtx_c &m) { m.multVec(v1, v1); s16 a0 = v1.atan2sX_Z(); s16 a1 = v1.atan2sY_XZ(); - field_0x080 = cLib::targetAngleY(v0, mpGhirahim->field_0x88C) - a0; - field_0x082 = -(cLib::targetAngleX(v0, mpGhirahim->field_0x88C) - a1); + mHeadRotationYTarget = cLib::targetAngleY(v0, mpGhirahim->field_0x88C) - a0; + mHeadRotationXTarget = -(cLib::targetAngleX(v0, mpGhirahim->field_0x88C) - a1); } else { - field_0x080 = 0; - field_0x082 = 0; + mHeadRotationYTarget = 0; + mHeadRotationXTarget = 0; } - if (field_0x080 > 0x3000) { - field_0x080.set(0x3000); - } else if (field_0x080 < -0x3000) { - field_0x080 = -0x3000; + if (mHeadRotationYTarget > 0x3000) { + mHeadRotationYTarget.set(0x3000); + } else if (mHeadRotationYTarget < -0x3000) { + mHeadRotationYTarget = -0x3000; } - sLib::addCalcAngle(field_0x07C.ref(), field_0x080, 2, 0x500); - sLib::addCalcAngle(field_0x07E.ref(), field_0x082, 2, 0x500); + sLib::addCalcAngle(mHeadRotationY.ref(), mHeadRotationYTarget, 2, 0x500); + sLib::addCalcAngle(mHeadRotationX.ref(), mHeadRotationXTarget, 2, 0x500); - if (field_0x07E < 0x2000) { - if (field_0x07E + 0x1FFF > 0x3FFEu) { - field_0x07E = -0x2000; + if (mHeadRotationX < 0x2000) { + if (mHeadRotationX + 0x1FFF > 0x3FFEu) { + mHeadRotationX = -0x2000; } } else { - field_0x07E.set(0x2000); + mHeadRotationX.set(0x2000); } } @@ -769,11 +769,11 @@ void dAcGirahimuBase_c::initializeState_Wait() { mSpeed = 0.0f; if (dAcPy_c::GetLinkM()->isUsingSword()) { mCallback.field_0x04E = true; - mCallback.field_0x2D4 = 0.2f; - mCallback.field_0x2D0 = 0.2f; + mCallback.mSlerpFactorTarget = 0.2f; + mCallback.mSlerpFactor = 0.2f; } else { mCallback.field_0x04E = false; - mCallback.field_0x2D4 = 1.0f; + mCallback.mSlerpFactorTarget = 1.0f; } } void dAcGirahimuBase_c::executeState_Wait() { @@ -849,7 +849,7 @@ void dAcGirahimuBase_c::executeState_Wait() { void dAcGirahimuBase_c::finalizeState_Wait() { field_0xD44 = 0; mCallback.field_0x04E = false; - mCallback.field_0x2D4 = 1.0f; + mCallback.mSlerpFactorTarget = 1.0f; } void dAcGirahimuBase_c::initializeState_Walk() { @@ -863,17 +863,17 @@ void dAcGirahimuBase_c::initializeState_Walk() { mCallback.field_0x088 = true; mCallback.field_0x04E = false; - mCallback.field_0x2D4 = 1.0f; + mCallback.mSlerpFactorTarget = 1.0f; if (dAcPy_c::GetLinkM()->isUsingSword()) { mCallback.field_0x04E = true; - mCallback.field_0x2D4 = 0.5f; - mCallback.field_0x2D0 = 0.0f; + mCallback.mSlerpFactorTarget = 0.5f; + mCallback.mSlerpFactor = 0.0f; } else { mCallback.field_0x04E = false; - mCallback.field_0x2D4 = 1.0f; + mCallback.mSlerpFactorTarget = 1.0f; } - mCallback.field_0x2CC = 0.0f; + mCallback.mHandRPositionMaxStep = 0.0f; } void dAcGirahimuBase_c::executeState_Walk() { if (mSwordLink.get()->isStick()) { @@ -967,7 +967,7 @@ void dAcGirahimuBase_c::initializeState_Catch() { mCallback.field_0x088 = true; dAcPy_c::GetLinkM()->set0x439F(this, 7); mCallback.field_0x014 = 1.0f; - mCallback.field_0x2D4 = 0.5f; + mCallback.mSlerpFactorTarget = 0.5f; field_0xD46 = 4; field_0xD5E = 300; if (!field_0x1872) { @@ -1016,7 +1016,7 @@ void dAcGirahimuBase_c::finalizeState_Catch() { mCallback.field_0x04E = false; field_0xD71 = false; mCollider.CoSet(); - mCallback.field_0x2D4 = 1.0f; + mCallback.mSlerpFactorTarget = 1.0f; s32 flag = getFromParams(0, 0xFF); if (flag != 0xFF) { // 0xC0 -> zone temp flag: 0x1 01 @@ -1038,7 +1038,7 @@ void dAcGirahimuBase_c::initializeState_ReleaseSword() { } void dAcGirahimuBase_c::executeState_ReleaseSword() { field_0xD81 = true; - fn_226_CC40(); + setTgVulnerable(); mSph0.ClrTgSet(); sLib::chaseAngle(mRotation.y.ref(), field_0x183E, 0x500); @@ -1096,7 +1096,7 @@ void dAcGirahimuBase_c::finalizeState_CatchDamage() {} void dAcGirahimuBase_c::initializeState_LinkSwordGuardJust() { field_0xD6C = 1; - mCallback.field_0x2D4 = 1.0f; + mCallback.mSlerpFactorTarget = 1.0f; if (mAnmIDBody == ANM_AttackLSwordA) { setAnm("GuardLSwordA", ANM_GuardLSwordA, nullptr, m3d::PLAY_MODE_4, 5.0f, 1.0f); } else { @@ -1126,7 +1126,7 @@ void dAcGirahimuBase_c::initializeState_GetSword() { mCallback.field_0x014 = 1.0f; mCallback.field_0x088 = true; - mCallback.field_0x2D4 = 1.0f; + mCallback.mSlerpFactorTarget = 1.0f; mCallback.field_0x04E = true; s32 flag = getFromParams(0, 0xFF); @@ -1153,21 +1153,21 @@ void dAcGirahimuBase_c::executeState_GetSword() { setSwordLinkTransformPlayer(); mSwordLink.get()->setGetSword(); } else { - fn_226_D070(); + clearAnms(); setAnm("FreeUp", ANM_FreeUp, nullptr, m3d::PLAY_MODE_4, 2.0f, 1.0f); changeState(StateID_ReleaseSword); return; } } else if (mAnmChrs[ANMIDX_Body].getFrame() < 8.0f && !dAcPy_c::GetLinkM()->IfCurrentActionToActor(this, 0xA9 /* ??? */)) { - fn_226_D070(); + clearAnms(); setAnm("FreeUp", ANM_FreeUp, nullptr, m3d::PLAY_MODE_4, 2.0f, 1.0f); changeState(StateID_ReleaseSword); return; } if (mAnmChrs[ANMIDX_Body].checkFrame(36.0f)) { - mVec3_c unused = mCallback.field_0x260 - mPosition; + mVec3_c unused = mCallback.mHandRTranslation - mPosition; unused.rotY(-mRotation.y); field_0xD72 = true; @@ -1356,7 +1356,7 @@ void dAcGirahimuBase_c::executeState_Link_SwordWait() { return; } - if (mCallback.field_0x07C.abs() < 0x1500 && field_0x1838 < 200.0f) { + if (mCallback.mHeadRotationY.abs() < 0x1500 && field_0x1838 < 200.0f) { changeState(StateID_Link_SwordAttack); } } @@ -1391,7 +1391,7 @@ void dAcGirahimuBase_c::executeState_Link_SwordWalk() { } field_0x1834 = f0 * 8.0f * mAnmChrs[ANMIDX_Body].getRate(); - if (mCallback.field_0x07C.abs() < 0x1500 && field_0x1838 < 200.0f) { + if (mCallback.mHeadRotationY.abs() < 0x1500 && field_0x1838 < 200.0f) { changeState(StateID_Link_SwordAttack); } } @@ -1409,8 +1409,8 @@ void dAcGirahimuBase_c::initializeState_Link_SwordAttack() { mCallback.field_0x088 = true; field_0xD72 = true; mSwordLink.get()->setEquip(); - mCallback.field_0x2D4 = 1.0f; - mCallback.field_0x2D0 = 1.0f; + mCallback.mSlerpFactorTarget = 1.0f; + mCallback.mSlerpFactor = 1.0f; mSpeed = 0.0f; field_0x1834 = 0.0f; } @@ -1461,7 +1461,7 @@ void dAcGirahimuBase_c::executeState_ReturnSword() { mVec3_c playerOffs(0.0f, 100.0f, 0.0f); playerOffs.rotY(dAcPy_c::GetLink()->mRotation.y); playerOffs += dAcPy_c::GetLink()->mPosition; - mVec3_c throwForce = playerOffs - mCallback.field_0x260; + mVec3_c throwForce = playerOffs - mCallback.mHandRTranslation; throwForce.normalizeRS(); throwForce *= 100.0f; mSwordLink.get()->setAtThrow(throwForce); @@ -1502,7 +1502,7 @@ void dAcGirahimuBase_c::executeState_BackStep() { case 0: { field_0xD7D = false; if (mAng(mRotation.y - field_0x183E).abs() < 0x4000 && field_0xD46 <= 0) { - fn_226_D070(); + clearAnms(); setAnm("StepStart", ANM_StepStart, nullptr, m3d::PLAY_MODE_4, 2.0f, 1.0f); field_0xD44++; } @@ -1548,15 +1548,15 @@ void dAcGirahimuBase_c::finalizeState_BackStep() { void dAcGirahimuBase_c::initializeState_Escape() { mSpeed = 0.0f; field_0x1834 = 0.0f; - fn_226_D070(); + clearAnms(); setAnm("StepEnd", ANM_StepEnd, nullptr, m3d::PLAY_MODE_4, 2.0f, 1.0f); mCyl2.ClrTgSet(); mSph0.ClrTgSet(); mCallback.field_0x04E = true; - mCallback.field_0x2D4 = 0.8f; - mCallback.field_0x2D0 = 0.8f; + mCallback.mSlerpFactorTarget = 0.8f; + mCallback.mSlerpFactor = 0.8f; field_0xD44 = 0; field_0xD4E = 0; @@ -1566,16 +1566,16 @@ void dAcGirahimuBase_c::initializeState_Escape() { void dAcGirahimuBase_c::executeState_Escape() { field_0xD81 = true; field_0xD60 = 2; - fn_226_CC40(); + setTgVulnerable(); mCyl2.ClrTgSet(); mSph0.ClrTgSet(); mCallback.field_0x04E = false; if (mAnmChrs[ANMIDX_Body].getFrame() >= 15.0f) { if (dAcPy_c::GetLinkM()->isUsingSword()) { - mCallback.field_0x2D4 = 0.8f; - mCallback.field_0x2D0 = 0.8f; + mCallback.mSlerpFactorTarget = 0.8f; + mCallback.mSlerpFactor = 0.8f; } else { - mCallback.field_0x2D4 = 1.0f; + mCallback.mSlerpFactorTarget = 1.0f; } } @@ -1608,14 +1608,14 @@ void dAcGirahimuBase_c::initializeState_EscapeBack() { mCyl2.ClrTgSet(); mSph0.ClrTgSet(); mCallback.field_0x04E = true; - mCallback.field_0x2D4 = 0.8f; - mCallback.field_0x2D0 = 0.8f; + mCallback.mSlerpFactorTarget = 0.8f; + mCallback.mSlerpFactor = 0.8f; field_0xD44 = 0; field_0xD4E = 0; field_0xD6C = 1; field_0xD46 = 15; - mCallback.field_0x05E = 0xA80; + mCallback.mSpineRotationXTarget = 0xA80; } void dAcGirahimuBase_c::executeState_EscapeBack() { mCyl2.ClrTgSet(); @@ -1901,7 +1901,7 @@ void dAcGirahimuBase_c::initializeState_Run() { void dAcGirahimuBase_c::executeState_Run() { s32 _weird_zero = 0; - fn_226_CC40(); + setTgVulnerable(); switch (field_0xD44) { case 0: { field_0xD81 = true; @@ -1915,7 +1915,7 @@ void dAcGirahimuBase_c::executeState_Run() { } break; case 1: { if (field_0xD46 <= 0 || field_0x1838 <= 500.0f) { - if (fn_226_CC80()) { + if (isAttackingLeft()) { setAnm("AttackLRun", ANM_AttackLRun, nullptr, m3d::PLAY_MODE_4, 5.0f, 1.0f); } else { @@ -1938,7 +1938,7 @@ void dAcGirahimuBase_c::executeState_Run() { case 2: { mVec3_c v1; mVec3_c v0 = dAcPy_c::GetLink()->mPosition - field_0x1840; - if (fn_226_CC80()) { + if (isAttackingLeft()) { v1.set(-100.0f, 0.0f, 50.0f); v1.rotY(v0.atan2sX_Z()); v1 += dAcPy_c::GetLink()->mPosition; @@ -1965,7 +1965,7 @@ void dAcGirahimuBase_c::executeState_Run() { case 3: { mVec3_c v1; mVec3_c v0 = field_0x184C - field_0x1840; - if (fn_226_CC80()) { + if (isAttackingLeft()) { v1.set(-100.0f, 0.0f, 50.0f); v1.rotY(v0.atan2sX_Z()); v1 += field_0x184C; @@ -1993,7 +1993,7 @@ void dAcGirahimuBase_c::finalizeState_Run() { void dAcGirahimuBase_c::initializeState_RunAttack() { field_0xD6C = 4; - if (fn_226_CC80()) { + if (isAttackingLeft()) { setAnm("AttackSwordL", ANM_AttackSwordL, nullptr, m3d::PLAY_MODE_4, 5.0f, 1.0f); } else { setAnm("AttackSwordR", ANM_AttackSwordR, nullptr, m3d::PLAY_MODE_4, 5.0f, 1.0f); @@ -2045,11 +2045,11 @@ void dAcGirahimuBase_c::executeState_BackWalk() { void dAcGirahimuBase_c::finalizeState_BackWalk() {} dAcGirahimuBase_c::~dAcGirahimuBase_c() { - if (pSoundIface != nullptr) { - if (pSoundIface->hasPlayingSounds()) { + if (mpSound != nullptr) { + if (mpSound->hasPlayingSounds()) { do { VIWaitForRetrace(); - } while (pSoundIface->hasPlayingSounds()); + } while (mpSound->hasPlayingSounds()); } } } @@ -2085,19 +2085,19 @@ void dAcGirahimuBase_c::initNodeData() { mCallback.mNodeID_LegL = mdl.GetResNode("LegL").GetID(); mVec3_c nodeTranslation = mdl.GetResNode("ElbowR").GetTranslate(); - mCallback.field_0x234 = nodeTranslation.mag() * 1.05f; - mCallback.field_0x17C = mdl.GetResNode("ElbowR").GetScale(); + mCallback.mArmRUpperArmLength = nodeTranslation.mag() * 1.05f; + mCallback.mElbowRScale = mdl.GetResNode("ElbowR").GetScale(); nodeTranslation = mdl.GetResNode("HandR").GetTranslate(); - mCallback.field_0x188 = nodeTranslation.mag() * 1.05f; - mCallback.field_0x228 = mdl.GetResNode("ArmR").GetScale(); + mCallback.mArmRForearmLength = nodeTranslation.mag() * 1.05f; + mCallback.mArmRScale = mdl.GetResNode("ArmR").GetScale(); } bool dAcGirahimuBase_c::createHeap() { nw4r::g3d::ResFile bodyRes; void *rawRes = getOarcResFile("GirahimBt"); mResAnmChr0 = nw4r::g3d::ResFile(rawRes); - vt_0x200(); + loadMainResFile(); nw4r::g3d::ResMdl resMdl = mResAnmChr0.GetResMdl("GirahimBt"); if (!mMdlBody.create(resMdl, &mAllocator, 0x137, 1, nullptr)) { return false; @@ -2144,7 +2144,7 @@ bool dAcGirahimuBase_c::createHeap() { int id = m3d::getMatID(mMdlBody.getResMdl(), "m_Eyeball"); mEyeMdlCallback.create(mMdlBody, id, id, 1, 1, nullptr); mEyeMdlCallback.mBlendWeight = 1; - pSoundIface = getSoundSource(); + mpSound = getSoundSource(); return true; } @@ -2282,7 +2282,7 @@ void dAcGirahimuBase_c::vt_0x1DC() { mCyl2.SetTgType(~AT_TYPE_COMMON0); mCyl0.SetR(200.0f); - mCyl2.SetH(mCallback.field_0x08C.y - mPosition.y); + mCyl2.SetH(mCallback.mHeadTranslation.y - mPosition.y); mCps0.ClrTgSet(); mCps1.ClrTgSet(); @@ -2296,7 +2296,7 @@ void dAcGirahimuBase_c::vt_0x1DC() { } if (!dAcPy_c::GetLinkM()->isAttacking()) { - field_0x898 = mCallback.field_0x260 - mCallback.field_0x21C; + field_0x898 = mCallback.mHandRTranslation - mCallback.mArmRTranslation; field_0x898.rotY(-mRotation.y); field_0x898.z = 0.0f; } @@ -2324,8 +2324,8 @@ void dAcGirahimuBase_c::vt_0x1DC() { if (dAcPy_c::GetLink()->isAttacking()) { field_0xD54 = 20; } - sLib::chaseAngle(mCallback.field_0x056.ref(), 0, 0x200); - sLib::addCalcAngle(mCallback.field_0x054.ref(), mCallback.field_0x056, 2, 0x20C); + sLib::chaseAngle(mCallback.mLegRotationYTarget.ref(), 0, 0x200); + sLib::addCalcAngle(mCallback.mLegRotationY.ref(), mCallback.mLegRotationYTarget, 2, 0x20C); } s32 dAcGirahimuBase_c::getPlayerSwordType() { @@ -2404,7 +2404,7 @@ bool dAcGirahimuBase_c::setAnmBody(const char *anmName, s32 anmId, m3d::playMode mMdlBody.setAnm(mAnmChrBlend, f0); ret = true; - fn_226_BE90(anmName); + setSound(anmName); for (int i = 0; i < 5; ++i) { mAnmChrs[i].setRate(rate); @@ -2414,8 +2414,8 @@ bool dAcGirahimuBase_c::setAnmBody(const char *anmName, s32 anmId, m3d::playMode rate = -rate; } - if (pSoundIface != nullptr) { - pSoundIface->setRate(rate); + if (mpSound != nullptr) { + mpSound->setRate(rate); } } return ret; @@ -2439,7 +2439,7 @@ bool dAcGirahimuBase_c::setAnmHip(const char *anmName, s32 anmId, m3d::playMode_ bool dAcGirahimuBase_c::setAnmShoulderR(const char *anmName, s32 anmId, m3d::playMode_e playMode, f32 f0, f32 rate) { if (mAnmIDShoulderR != anmId) { mAnmIDShoulderR = anmId; - fn_226_CE00(); + simplifyShoulderRAnmID(); nw4r::g3d::ResAnmChr resAnm = mResAnmChr1.GetResAnmChr(anmName); if (!resAnm.IsValid()) { resAnm = mResAnmChr0.GetResAnmChr(anmName); @@ -2455,7 +2455,7 @@ bool dAcGirahimuBase_c::setAnmShoulderR(const char *anmName, s32 anmId, m3d::pla bool dAcGirahimuBase_c::setAnmShoulderL(const char *anmName, s32 anmId, m3d::playMode_e playMode, f32 f0, f32 rate) { if (mAnmIDShoulderL != anmId) { mAnmIDShoulderL = anmId; - fn_226_CDA0(); + simplifyShoulderLAnmID(); nw4r::g3d::ResAnmChr resAnm = mResAnmChr1.GetResAnmChr(anmName); if (!resAnm.IsValid()) { resAnm = mResAnmChr0.GetResAnmChr(anmName); @@ -2517,10 +2517,10 @@ void dAcGirahimuBase_c::bindAnmShoulderL() { } void dAcGirahimuBase_c::fn_226_9620() { - sLib::addCalcAngle(mCallback.field_0x058.ref(), mCallback.field_0x05C, 2, 0x1000); - sLib::chaseAngle(mCallback.field_0x05C.ref(), 0, 0x100); - sLib::addCalcAngle(mCallback.field_0x05A.ref(), mCallback.field_0x05E, 2, 0x1000); - sLib::chaseAngle(mCallback.field_0x05E.ref(), 0, 0x100); + sLib::addCalcAngle(mCallback.mSpineRotationY.ref(), mCallback.mSpineRotationYTarget, 2, 0x1000); + sLib::chaseAngle(mCallback.mSpineRotationYTarget.ref(), 0, 0x100); + sLib::addCalcAngle(mCallback.mSpineRotationX.ref(), mCallback.mSpineRotationXTarget, 2, 0x1000); + sLib::chaseAngle(mCallback.mSpineRotationXTarget.ref(), 0, 0x100); } void dAcGirahimuBase_c::fn_226_9690() { @@ -2540,7 +2540,7 @@ void dAcGirahimuBase_c::fn_226_9690() { mMdlBody.getNodeWorldMtx(mdl.GetResNode("Hair1").GetID(), transform); transform.getTranslation(hairTranslation); - mVec3_c v1 = mCallback.field_0x070 - headTranslation; + mVec3_c v1 = mCallback.mHairTranslation - headTranslation; mVec3_c v0 = hairTranslation - headTranslation; s16 a1 = (s32)(v1.atan2sX_Z() - v0.atan2sX_Z()); @@ -2573,7 +2573,7 @@ void dAcGirahimuBase_c::fn_226_9690() { sLib::addCalcAngle(mCallback.field_0x062.y.ref(), mCallback.field_0x06E + mCallback.field_0x068, 2, 0x1000); sLib::addCalcAngle(mCallback.field_0x062.z.ref(), mCallback.field_0x06C + mCallback.field_0x06A, 2, 0x1000); - mCallback.field_0x070.set(hairTranslation); + mCallback.mHairTranslation.set(hairTranslation); } void dAcGirahimuBase_c::fn_256_99F0() { @@ -2617,9 +2617,9 @@ void dAcGirahimuBase_c::fn_256_99F0() { void dAcGirahimuBase_c::fn_256_9C90() { if (field_0xD81) { - fn_226_CC40(); + setTgVulnerable(); } else { - fn_226_CC50(); + setTgInvulnerable(); } mVec3_c v0(0.0f, 0.0f, 40.0f); v0.rotY(mRotation.y); @@ -2631,7 +2631,7 @@ void dAcGirahimuBase_c::fn_256_9C90() { mCyl0.SetC(mPosition); mCyl2.SetC(mPosition); - mVec3_c v1 = mCallback.field_0x260; + mVec3_c v1 = mCallback.mHandRTranslation; if (dAcPy_c::GetLink()->isAttackingSpin()) { if (v1.y > mPosition.y + 150.0f) { v1.y = mPosition.y + 150.0f; @@ -2736,16 +2736,16 @@ bool dAcGirahimuBase_c::fn_226_A280(mAng rot) { mAng roty = mRotation.y; s32 diff = rot - mRotation.y; mAng diff0 = roty - field_0x183E; - if (mCallback.field_0x056 == 0) { + if (mCallback.mLegRotationYTarget == 0) { if (diff0.abs() != 0) { if ((s16)diff > 0) { - mCallback.field_0x056 = mAng(0x3000); + mCallback.mLegRotationYTarget = mAng(0x3000); } else { - mCallback.field_0x056 = mAng(-0x3000); + mCallback.mLegRotationYTarget = mAng(-0x3000); } } } - return mCallback.field_0x056 != 0; + return mCallback.mLegRotationYTarget != 0; } bool dAcGirahimuBase_c::turn(mAng rotTarget) { @@ -2775,48 +2775,48 @@ bool dAcGirahimuBase_c::turn(mAng rotTarget) { return true; } -void dAcGirahimuBase_c::fn_226_A400(cCcD_Obj *pObj) { +void dAcGirahimuBase_c::adjustSpineHitRotation(cCcD_Obj *pObj) { switch (pObj->GetTgAtCutDir()) { case CUT_DIR_U: { - mCallback.field_0x05E = mAng(0x1500); - mCallback.field_0x05C = 0; + mCallback.mSpineRotationXTarget = mAng(0x1500); + mCallback.mSpineRotationYTarget = 0; } break; case CUT_DIR_D: { - mCallback.field_0x05E = -0x1500; - mCallback.field_0x05C = 0; + mCallback.mSpineRotationXTarget = -0x1500; + mCallback.mSpineRotationYTarget = 0; } break; case CUT_DIR_LU: { - mCallback.field_0x05E = mAng(0x1500); - mCallback.field_0x05C = mAng(0x1500); + mCallback.mSpineRotationXTarget = mAng(0x1500); + mCallback.mSpineRotationYTarget = mAng(0x1500); } break; case CUT_DIR_RD: { - mCallback.field_0x05E = -0x1500; - mCallback.field_0x05C = -0x1500; + mCallback.mSpineRotationXTarget = -0x1500; + mCallback.mSpineRotationYTarget = -0x1500; } break; case CUT_DIR_L: { - mCallback.field_0x05C = mAng(0x1500); + mCallback.mSpineRotationYTarget = mAng(0x1500); } break; case CUT_DIR_R: { - mCallback.field_0x05C = -0x1500; + mCallback.mSpineRotationYTarget = -0x1500; } break; case CUT_DIR_LD: { - mCallback.field_0x05E = -0x1500; - mCallback.field_0x05C = mAng(0x1500); + mCallback.mSpineRotationXTarget = -0x1500; + mCallback.mSpineRotationYTarget = mAng(0x1500); } break; case CUT_DIR_RU: { - mCallback.field_0x05E = mAng(0x1500); - mCallback.field_0x05C = -0x1500; + mCallback.mSpineRotationXTarget = mAng(0x1500); + mCallback.mSpineRotationYTarget = -0x1500; } break; default: { - mCallback.field_0x05E = 0xA80; - mCallback.field_0x05C = 0; + mCallback.mSpineRotationXTarget = 0xA80; + mCallback.mSpineRotationYTarget = 0; } break; } if (mAng(mRotation.y - field_0x183E).abs() > 0x4000) { - mCallback.field_0x05C = -mCallback.field_0x05C; + mCallback.mSpineRotationYTarget = -mCallback.mSpineRotationYTarget; } - mCallback.field_0x060 = mRotation.y; + mCallback.mSpineRotationYCorrection = mRotation.y; } bool dAcGirahimuBase_c::fn_226_A570() { @@ -3049,7 +3049,7 @@ void dAcGirahimuBase_c::vt_0x1E4() { if (pCc->GetTgShieldType() != 0) { changeState(StateID_Catch); } else { - fn_226_A400(pCc); + adjustSpineHitRotation(pCc); changeState(StateID_CatchDamage); field_0xD68 = 0; } @@ -3126,9 +3126,9 @@ void dAcGirahimuBase_c::vt_0x1EC() { switch (hitType) { case AT_TYPE_SWORD: { startSound(SE_BGh_V_DAMAGE); - fn_226_A400(pCc); + adjustSpineHitRotation(pCc); fn_226_ADC0(pCc); - fn_226_D070(); + clearAnms(); setAnm("DamageHit", ANM_DamageHit, nullptr, m3d::PLAY_MODE_4, 5.0f, 1.0f); } break; case AT_TYPE_DAMAGE: { @@ -3208,7 +3208,7 @@ void dAcGirahimuBase_c::fn_226_BC00() { b = false; } if (!b) { - mCallback.field_0x2CC = 0.0f; + mCallback.mHandRPositionMaxStep = 0.0f; field_0xD66 = 90; if (mHealth >= 100) { field_0xD66 = 120; @@ -3219,7 +3219,7 @@ void dAcGirahimuBase_c::fn_226_BC00() { } } else if (--field_0xD66 <= 0) { field_0xD66 = 0; - sLib::chase(&mCallback.field_0x2CC, 30.0f, 5.0f); + sLib::chase(&mCallback.mHandRPositionMaxStep, 30.0f, 5.0f); } if (dAcPy_c::GetLinkM()->isUsingSword() && field_0x1838 <= 500.0f && @@ -3234,13 +3234,13 @@ void dAcGirahimuBase_c::fn_226_BC00() { field_0x88C += dAcPy_c::GetLink()->getSwordPos(); field_0x88C *= 0.5f; field_0x88C.y = getPlayerHeadOffset().y; - mCallback.field_0x2D4 = 0.2f; + mCallback.mSlerpFactorTarget = 0.2f; return; } mCallback.field_0x04F = false; mCallback.field_0x04E = false; - mCallback.field_0x2D4 = 1.0f; + mCallback.mSlerpFactorTarget = 1.0f; } void dAcGirahimuBase_c::setFrame(f32 frame) { @@ -3248,13 +3248,13 @@ void dAcGirahimuBase_c::setFrame(f32 frame) { mAnmChrs[i].setFrameOnly(frame); } - if (pSoundIface != nullptr) { - pSoundIface->setFrame(mAnmChrs[ANMIDX_Body].getFrame()); + if (mpSound != nullptr) { + mpSound->setFrame(mAnmChrs[ANMIDX_Body].getFrame()); } } -bool dAcGirahimuBase_c::fn_226_BE90(const char *soundName) { - if (pSoundIface == nullptr || !pSoundIface->hasAnimSound()) { +bool dAcGirahimuBase_c::setSound(const char *soundName) { + if (mpSound == nullptr || !mpSound->hasAnimSound()) { return true; } SizedString<64> str; @@ -3264,9 +3264,9 @@ bool dAcGirahimuBase_c::fn_226_BE90(const char *soundName) { mpSoundBrasd = mResAnmChr0.GetExternalData(str); } - pSoundIface->load(mpSoundBrasd, soundName); - if (pSoundIface != nullptr) { - pSoundIface->setFrame(mAnmChrs[ANMIDX_Body].getFrame()); + mpSound->load(mpSoundBrasd, soundName); + if (mpSound != nullptr) { + mpSound->setFrame(mAnmChrs[ANMIDX_Body].getFrame()); } return true; } @@ -3288,7 +3288,7 @@ void dAcGirahimuBase_c::fn_226_C060() { } else { cCcD_Obj *pCc = mCollider.findTgHit(); if (pCc != nullptr && pCc->GetTgAtHitType() == AT_TYPE_SWORD) { - fn_226_A400(pCc); + adjustSpineHitRotation(pCc); changeState(StateID_G_SwordDamage); } } @@ -3296,18 +3296,18 @@ void dAcGirahimuBase_c::fn_226_C060() { void dAcGirahimuBase_c::fn_226_C1C0() { if (dAcPy_c::GetLink()->isAttacking()) { - fn_226_C6A0(); + configureBodyShield(); } cCcD_Obj *pCc = mCollider.findTgHit(); if (pCc != nullptr && pCc->GetTgAtHitType() == AT_TYPE_SWORD) { - fn_226_A400(pCc); + adjustSpineHitRotation(pCc); changeState(StateID_G_SwordDamage); } pCc = mMdlSwordA.mCcList.findAtHit(); if (pCc != nullptr && pCc->ChkAtShieldReflect()) { changeState(StateID_G_SwordDamage); - fn_226_D070(); + clearAnms(); setAnm("GuardLSwordA", ANM_DamageHit, nullptr, m3d::PLAY_MODE_4, 5.0f, 1.0f); field_0xD62 = 40; mCallback.field_0x088 = true; @@ -3320,7 +3320,7 @@ void dAcGirahimuBase_c::fn_226_C320() { cCcD_Obj *pCc = mMdlSwordA.mCcList.findAtHit(); if (pCc != nullptr && pCc->ChkAtShieldReflect()) { changeState(StateID_G_SwordDamage); - fn_226_D070(); + clearAnms(); setAnm("GuardLSwordA", ANM_DamageHit, nullptr, m3d::PLAY_MODE_4, 5.0f, 1.0f); field_0xD62 = 40; mCallback.field_0x088 = true; @@ -3337,7 +3337,7 @@ void dAcGirahimuBase_c::fn_226_C320() { setFrame(8.0f); } } else if (pTgCc == &mCyl2) { - fn_226_A400(pTgCc); + adjustSpineHitRotation(pTgCc); if (pTgCc->GetTgAtCutDir() == CUT_DIR_STAB) { changeState(StateID_BackStep); } else { @@ -3357,7 +3357,7 @@ void dAcGirahimuBase_c::fn_226_C560() { mCyl2.SetTgShieldType(~AT_TYPE_SWORD); mCyl0.ClrTgSet(); } - if (fn_226_CC80()) { + if (isAttackingLeft()) { if (cutDir == CUT_DIR_LU || cutDir == CUT_DIR_L || cutDir == CUT_DIR_LD || cutDir == CUT_DIR_RU || cutDir == CUT_DIR_U || cutDir == CUT_DIR_D) { mCyl2.SetTgShieldType(~AT_TYPE_SWORD); @@ -3378,9 +3378,9 @@ void dAcGirahimuBase_c::fn_226_C560() { } } -void dAcGirahimuBase_c::fn_226_C6A0() { +void dAcGirahimuBase_c::configureBodyShield() { s32 cutDir = mPlayerAttackDir; - if (fn_226_CC80()) { + if (isAttackingLeft()) { if (cutDir == CUT_DIR_NONE || cutDir == CUT_DIR_U || cutDir == CUT_DIR_LU || cutDir == CUT_DIR_L || cutDir == CUT_DIR_LD || cutDir == CUT_DIR_RU || cutDir == CUT_DIR_D) { mCyl0.ClrTgSet(); @@ -3401,7 +3401,7 @@ void dAcGirahimuBase_c::fn_226_C6A0() { } } -void dAcGirahimuBase_c::fn_226_C790(cCcD_Obj &cc, s16 anm) { +void dAcGirahimuBase_c::configureSwordShield(cCcD_Obj &cc, s16 anm) { if (field_0xD54 <= 0) { cc.ClrTgSet(); return; @@ -3489,7 +3489,7 @@ void dAcGirahimuBase_c::vt_0x1F4() { mAnmIDBody = ANM_PoseC; } - fn_226_C790(mCps0, mAnmIDBody); + configureSwordShield(mCps0, mAnmIDBody); if (mCps0.ChkTgSet()) { mCyl2.ClrTgSet(); @@ -3523,14 +3523,14 @@ void dAcGirahimuBase_c::vt_0x1F8() { } } -void dAcGirahimuBase_c::fn_226_CC40() { +void dAcGirahimuBase_c::setTgVulnerable() { mCyl0.SetTgType( ~(AT_TYPE_PHYSICS | AT_TYPE_0x40 | AT_TYPE_SLINGSHOT | AT_TYPE_WIND | AT_TYPE_DAMAGE | AT_TYPE_WHIP | AT_TYPE_0x8000 | AT_TYPE_BELLOWS | AT_TYPE_GLITTERING_SPORES | AT_TYPE_BEETLE | AT_TYPE_BUGNET) ); } -void dAcGirahimuBase_c::fn_226_CC50() { +void dAcGirahimuBase_c::setTgInvulnerable() { mCyl0.SetTgType(~( AT_TYPE_PHYSICS | AT_TYPE_0x40 | AT_TYPE_SLINGSHOT | AT_TYPE_WIND | AT_TYPE_DAMAGE | AT_TYPE_WHIP | AT_TYPE_0x8000 | AT_TYPE_BELLOWS | AT_TYPE_GLITTERING_SPORES | AT_TYPE_BEETLE | AT_TYPE_BUGNET | AT_TYPE_SWORD @@ -3541,14 +3541,14 @@ void dAcGirahimuBase_c::vt_0x220() { changeState(StateID_Wait); } -bool dAcGirahimuBase_c::fn_226_CC80() { +bool dAcGirahimuBase_c::isAttackingLeft() { if (mAnmIDBody == ANM_AttackPoseL || mAnmIDBody == ANM_AttackLRun || mAnmIDBody == ANM_AttackSwordL) { return true; } return false; } -void dAcGirahimuBase_c::vt_0x200() { +void dAcGirahimuBase_c::loadMainResFile() { mResAnmChr1 = nw4r::g3d::ResFile(getOarcResFile("GirahimBt")); } @@ -3567,7 +3567,7 @@ void dAcGirahimuBase_c::vt_0x228() { } } -void dAcGirahimuBase_c::fn_226_CDA0() { +void dAcGirahimuBase_c::simplifyShoulderLAnmID() { switch (mAnmIDShoulderL) { case ANM_PoseLR: mAnmIDShoulderL = ANM_PoseL; break; case ANM_PoseUD: mAnmIDShoulderL = ANM_PoseC2; break; @@ -3576,7 +3576,7 @@ void dAcGirahimuBase_c::fn_226_CDA0() { } } -void dAcGirahimuBase_c::fn_226_CE00() { +void dAcGirahimuBase_c::simplifyShoulderRAnmID() { switch (mAnmIDShoulderR) { case ANM_PoseLR: mAnmIDShoulderR = ANM_PoseR; break; case ANM_PoseUD: mAnmIDShoulderR = ANM_PoseC; break; @@ -3617,14 +3617,14 @@ void dAcGirahimuBase_c::vt_0x22C() { changeState(StateID_GetSword); } -void dAcGirahimuBase_c::fn_226_D070() { +void dAcGirahimuBase_c::clearAnms() { mAnmIDShoulderL = ANM_NONE; mAnmIDShoulderR = ANM_NONE; mAnmIDHip = ANM_NONE; mAnmIDBody = ANM_NONE; } -void dAcGirahimuBase_c::fn_226_D090() { +void dAcGirahimuBase_c::handleEnterExitEffect() { mVec3_c v0(1.05f, 1.05f, 1.05f); mMtx_c hipTransform; mMdlBody.getNodeWorldMtx(mMdlBody.getResMdl().GetResNode("Hip").GetID(), hipTransform); @@ -3699,7 +3699,7 @@ void dAcGirahimuBase_c::fn_226_D2D0() { mEyeMdlCallback.mTargetOffset[1].x = -field_0x58C; } -void dAcGirahimuBase_c::fn_226_D5A0() { +void dAcGirahimuBase_c::notifyTgSwordBattleGame() { StoryflagManager::sInstance->setFlagOrCounterToValue(STORYFLAG_692, 0); dTgSwordBattleGame_c *pSwordBattleGame = static_cast(fManager_c::searchBaseByProfName(fProfile::TAG_SWORD_BATTLE_GAME));