mirror of
https://github.com/zeldaret/ss
synced 2026-10-27 12:31:23 -04:00
d_a_b_girahimu - finished naming
This commit is contained in:
@@ -71,8 +71,8 @@ finalizeState_G_SwordPiyori__14dAcGirahimu2_cFv = .text:0x00003CE0; // type:func
|
||||
initializeState_Death__14dAcGirahimu2_cFv = .text:0x00003CF0; // type:function size:0xD0
|
||||
executeState_Death__14dAcGirahimu2_cFv = .text:0x00003DC0; // type:function size:0x76C
|
||||
finalizeState_Death__14dAcGirahimu2_cFv = .text:0x00004530; // type:function size:0x18
|
||||
fn_228_4550__14dAcGirahimu2_cFii = .text:0x00004550; // type:function size:0x2A0
|
||||
fn_228_47F0__14dAcGirahimu2_cFb = .text:0x000047F0; // type:function size:0x100
|
||||
spawnKnifeVolley__14dAcGirahimu2_cFii = .text:0x00004550; // type:function size:0x2A0
|
||||
spawnKnifeSurrond__14dAcGirahimu2_cFb = .text:0x000047F0; // type:function size:0x100
|
||||
initializeState_DeathMiniGame__14dAcGirahimu2_cFv = .text:0x000048F0; // type:function size:0x98
|
||||
executeState_DeathMiniGame__14dAcGirahimu2_cFv = .text:0x00004990; // type:function size:0x7C
|
||||
finalizeState_DeathMiniGame__14dAcGirahimu2_cFv = .text:0x00004A10; // type:function size:0x18
|
||||
@@ -86,8 +86,8 @@ fn_228_5110__14dAcGirahimu2_cFv = .text:0x00005110; // type:function size:0x2E4
|
||||
fn_228_5400__14dAcGirahimu2_cFv = .text:0x00005400; // type:function size:0x340
|
||||
fn_228_5740__14dAcGirahimu2_cFv = .text:0x00005740; // type:function size:0x24
|
||||
fn_228_5770__14dAcGirahimu2_cFl = .text:0x00005770; // type:function size:0x720
|
||||
fn_228_5E90__14dAcGirahimu2_cFv = .text:0x00005E90; // type:function size:0x28
|
||||
fn_228_5EC0__14dAcGirahimu2_cFv = .text:0x00005EC0; // type:function size:0x28
|
||||
isRightArmPose__14dAcGirahimu2_cFv = .text:0x00005E90; // type:function size:0x28
|
||||
isLeftArmPose__14dAcGirahimu2_cFv = .text:0x00005EC0; // type:function size:0x28
|
||||
vt_0x1F4__14dAcGirahimu2_cFv = .text:0x00005EF0; // type:function size:0x9C
|
||||
vt_0x1F8__14dAcGirahimu2_cFv = .text:0x00005F90; // type:function size:0x324
|
||||
vt_0x20C__14dAcGirahimu2_cFv = .text:0x000062C0; // type:function size:0x3C
|
||||
|
||||
@@ -65,31 +65,31 @@ public:
|
||||
virtual void vt_0x230() override;
|
||||
virtual void vt_0x234();
|
||||
|
||||
void fn_228_4550(int idxStart, int idxEnd);
|
||||
void fn_228_47F0(bool);
|
||||
void spawnKnifeVolley(int idxStart, int idxEnd);
|
||||
void spawnKnifeSurrond(bool);
|
||||
void fn_228_4A30();
|
||||
void fn_228_4C20();
|
||||
bool fn_228_4CD0(s32 cutDir);
|
||||
bool fn_228_5110();
|
||||
void fn_228_5400();
|
||||
void fn_228_5740();
|
||||
void fn_228_5740(); // Related to setting link to be hit by sword?
|
||||
bool fn_228_5770(s32 cutDir);
|
||||
bool fn_228_5E90();
|
||||
bool fn_228_5EC0();
|
||||
bool isRightArmPose();
|
||||
bool isLeftArmPose();
|
||||
void fn_228_80A0();
|
||||
void fn_228_80E0();
|
||||
void fn_228_82C0();
|
||||
|
||||
private:
|
||||
/* 0x220C */ u8 field_0x220C;
|
||||
/* 0x2210 */ s32 field_0x2210;
|
||||
/* 0x2214 */ s32 field_0x2214;
|
||||
/* 0x2218 */ s32 field_0x2218;
|
||||
/* 0x221C */ u8 field_0x221C;
|
||||
/* 0x221D */ bool field_0x221D;
|
||||
/* 0x221E */ bool field_0x221E;
|
||||
/* 0x2220 */ s16 field_0x2220;
|
||||
/* 0x2222 */ s16 field_0x2222;
|
||||
/* 0x2210 */ s32 field_0x2210; // no clue
|
||||
/* 0x2214 */ s32 mKnifeVolleyState;
|
||||
/* 0x2218 */ s32 mKnifeVolleyIdx;
|
||||
/* 0x221C */ u8 mConsecutiveSwordHitCount;
|
||||
/* 0x221D */ bool mbPoseFreeRequest;
|
||||
/* 0x221E */ bool field_0x221E; // Set, Never used
|
||||
/* 0x2220 */ s16 field_0x2220; // Set, Never used
|
||||
/* 0x2222 */ s16 field_0x2222; // Timer, Unused
|
||||
/* 0x2224 */ dAcRef_c<dAcObjGirahimuKnife_c> mKnives[15];
|
||||
};
|
||||
|
||||
|
||||
@@ -31,8 +31,6 @@
|
||||
#include "toBeSorted/d_emitter.h"
|
||||
#include "toBeSorted/d_enemy_sword_mdl.h"
|
||||
#include "toBeSorted/d_flow_mgr.h"
|
||||
#include "toBeSorted/event.h"
|
||||
#include "toBeSorted/event_manager.h"
|
||||
|
||||
class dAcObjGirahimuSwordLink_c;
|
||||
|
||||
|
||||
@@ -190,16 +190,16 @@ void dAcGirahimu2_c::executeState_CreateKnife() {
|
||||
int rnd = cM::rndInt(100);
|
||||
if (rnd >= 60) {
|
||||
startSound(SE_OGhKf_GROUP_APPEAR);
|
||||
field_0x2214 = 2;
|
||||
fn_228_4550(0, 5);
|
||||
fn_228_4550(5, 10);
|
||||
fn_228_4550(10, 15);
|
||||
mKnifeVolleyState = 2;
|
||||
spawnKnifeVolley(0, 5);
|
||||
spawnKnifeVolley(5, 10);
|
||||
spawnKnifeVolley(10, 15);
|
||||
} else if (rnd >= 30) {
|
||||
field_0x2214 = 3;
|
||||
fn_228_47F0(false);
|
||||
mKnifeVolleyState = 3;
|
||||
spawnKnifeSurrond(false);
|
||||
} else {
|
||||
field_0x2214 = 3;
|
||||
fn_228_47F0(true);
|
||||
mKnifeVolleyState = 3;
|
||||
spawnKnifeSurrond(true);
|
||||
}
|
||||
}
|
||||
if (mAnmChrs[ANMIDX_Body].isStop()) {
|
||||
@@ -229,27 +229,27 @@ void dAcGirahimu2_c::initializeState_KnifePreAttack() {
|
||||
|
||||
mSubstate = 0;
|
||||
field_0xD6C = 6;
|
||||
if (field_0x2218 > 10) {
|
||||
field_0x2218 = 0;
|
||||
if (mKnifeVolleyIdx > 10) {
|
||||
mKnifeVolleyIdx = 0;
|
||||
}
|
||||
|
||||
for (int i = field_0x2218; i < field_0x2218 + 5; ++i) {
|
||||
for (int i = mKnifeVolleyIdx; i < mKnifeVolleyIdx + 5; ++i) {
|
||||
if (mKnives[i].isLinked() && mKnives[i].get()->isWaiting()) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
field_0x2218 += 5;
|
||||
if (field_0x2218 > 10) {
|
||||
field_0x2218 = 0;
|
||||
mKnifeVolleyIdx += 5;
|
||||
if (mKnifeVolleyIdx > 10) {
|
||||
mKnifeVolleyIdx = 0;
|
||||
}
|
||||
for (int i = field_0x2218; i < field_0x2218 + 5; ++i) {
|
||||
for (int i = mKnifeVolleyIdx; i < mKnifeVolleyIdx + 5; ++i) {
|
||||
if (mKnives[i].isLinked() && mKnives[i].get()->isWaiting()) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
field_0x2218 += 5;
|
||||
if (field_0x2218 > 10) {
|
||||
field_0x2218 = 0;
|
||||
mKnifeVolleyIdx += 5;
|
||||
if (mKnifeVolleyIdx > 10) {
|
||||
mKnifeVolleyIdx = 0;
|
||||
}
|
||||
mSubstate = 0;
|
||||
}
|
||||
@@ -280,17 +280,17 @@ void dAcGirahimu2_c::executeState_KnifePreAttack() {
|
||||
switch (mSubstate) {
|
||||
case 0: {
|
||||
if (mAnmChrs[ANMIDX_Body].checkFrame(15.0f)) {
|
||||
if (field_0x2214 == 3) {
|
||||
if (mKnifeVolleyState == 3) {
|
||||
for (int i = 0; i < 15; ++i) {
|
||||
if (mKnives[i].isLinked()) {
|
||||
mKnives[i].get()->field_0x792 = false;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (field_0x2218 > 10) {
|
||||
field_0x2218 = 0;
|
||||
if (mKnifeVolleyIdx > 10) {
|
||||
mKnifeVolleyIdx = 0;
|
||||
}
|
||||
for (int i = field_0x2218; i < field_0x2218 + 5; i++) {
|
||||
for (int i = mKnifeVolleyIdx; i < mKnifeVolleyIdx + 5; i++) {
|
||||
if (mKnives[i].isLinked() && mKnives[i].get()->isWaiting()) {
|
||||
mKnives[i].get()->setWait();
|
||||
}
|
||||
@@ -310,7 +310,7 @@ void dAcGirahimu2_c::executeState_KnifePreAttack() {
|
||||
setAnm("WalkBt", ANM_Walk, m3d::PLAY_MODE_2, 15.0f, 1.0f);
|
||||
}
|
||||
if (mAnmIDHip != ANM_Walk || mSubstateTimer <= 0) {
|
||||
if (field_0x2214 == 3) {
|
||||
if (mKnifeVolleyState == 3) {
|
||||
for (int i = 0; i < 15; ++i) {
|
||||
if (mKnives[i].isLinked() && !mKnives[i].get()->isWaiting()) {
|
||||
vt_0x220();
|
||||
@@ -342,7 +342,7 @@ void dAcGirahimu2_c::executeState_KnifeAttack() {
|
||||
sLib::chaseAngle(mRotation.y.ref(), mAngleToPlayer, 0x500);
|
||||
|
||||
if (mAnmChrs[ANMIDX_Body].checkFrame(15.0f)) {
|
||||
if (field_0x2214 == 3) {
|
||||
if (mKnifeVolleyState == 3) {
|
||||
startSound(SE_OGhKf_GROUP_SHOT);
|
||||
for (int i = 0; i < 15; ++i) {
|
||||
if (mKnives[i].isLinked()) {
|
||||
@@ -350,23 +350,23 @@ void dAcGirahimu2_c::executeState_KnifeAttack() {
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for (int i = field_0x2218; i < field_0x2218 + 5; ++i) {
|
||||
for (int i = mKnifeVolleyIdx; i < mKnifeVolleyIdx + 5; ++i) {
|
||||
if (mKnives[i].isLinked()) {
|
||||
startSound(SE_OGhKf_SHOT);
|
||||
mKnives[i].get()->fn_239_2360(true, true, 50.0f);
|
||||
}
|
||||
}
|
||||
field_0x2218 += 5;
|
||||
mKnifeVolleyIdx += 5;
|
||||
}
|
||||
field_0xD6C = 6;
|
||||
}
|
||||
|
||||
if (mAnmChrs[ANMIDX_Body].isStop()) {
|
||||
if (field_0x2214 == 3) {
|
||||
if (mKnifeVolleyState == 3) {
|
||||
vt_0x220();
|
||||
return;
|
||||
}
|
||||
if (field_0x2218 >= 15) {
|
||||
if (mKnifeVolleyIdx >= 15) {
|
||||
vt_0x220();
|
||||
return;
|
||||
}
|
||||
@@ -390,7 +390,7 @@ void dAcGirahimu2_c::initializeState_HitAction() {
|
||||
setAnm("PoseFree", ANM_PoseFree, m3d::PLAY_MODE_4, 5.0f, 1.0f);
|
||||
field_0xD6C = 9;
|
||||
mCallback.field_0x088 = false;
|
||||
field_0x221C = 0;
|
||||
mConsecutiveSwordHitCount = 0;
|
||||
}
|
||||
void dAcGirahimu2_c::executeState_HitAction() {
|
||||
mCallback.field_0x088 = false;
|
||||
@@ -410,7 +410,7 @@ void dAcGirahimu2_c::finalizeState_HitAction() {
|
||||
}
|
||||
|
||||
void dAcGirahimu2_c::initializeState_ComeOn() {
|
||||
field_0x221C = 0;
|
||||
mConsecutiveSwordHitCount = 0;
|
||||
mSpeedTarget = 0.0f;
|
||||
mSpeed = 0.0f;
|
||||
clearAnms();
|
||||
@@ -448,15 +448,15 @@ void dAcGirahimu2_c::initializeState_ComeOnGuard() {
|
||||
f32 f0 = 1.0f;
|
||||
setAnmHead("RarmU", ANM_PoseC, m3d::PLAY_MODE_4, f0, 1.0f);
|
||||
setAnmBody("RarmU", ANM_PoseC, m3d::PLAY_MODE_4, f0, 1.0f);
|
||||
if (!fn_228_5E90()) {
|
||||
if (!isRightArmPose()) {
|
||||
setAnmShoulderR("WaitBtD", ANM_WaitBtC, m3d::PLAY_MODE_4, f0, 1.0f);
|
||||
} else if (!fn_228_5EC0()) {
|
||||
} else if (!isLeftArmPose()) {
|
||||
setAnmShoulderL("WaitBtD", ANM_WaitBtC, m3d::PLAY_MODE_4, f0, 1.0f);
|
||||
}
|
||||
setAnmHip("WalkBt", ANM_Walk, m3d::PLAY_MODE_4, 5.0f, 1.0f);
|
||||
mMdlBody.play();
|
||||
if (fn_228_5E90()) {
|
||||
fn_228_5EC0();
|
||||
if (isRightArmPose()) {
|
||||
isLeftArmPose();
|
||||
}
|
||||
}
|
||||
void dAcGirahimu2_c::executeState_ComeOnGuard() {
|
||||
@@ -1145,7 +1145,7 @@ void dAcGirahimu2_c::finalizeState_Death() {
|
||||
mSubstate = 0;
|
||||
}
|
||||
|
||||
void dAcGirahimu2_c::fn_228_4550(int idxStart, int idxEnd) {
|
||||
void dAcGirahimu2_c::spawnKnifeVolley(int idxStart, int idxEnd) {
|
||||
startSound(SE_OGhKf_GROUP_APPEAR);
|
||||
dAcObjGirahimuKnife_c::Pattern_e pattern;
|
||||
mVec3_c knifeOffset;
|
||||
@@ -1195,7 +1195,7 @@ void dAcGirahimu2_c::fn_228_4550(int idxStart, int idxEnd) {
|
||||
}
|
||||
}
|
||||
|
||||
void dAcGirahimu2_c::fn_228_47F0(bool bVertical) {
|
||||
void dAcGirahimu2_c::spawnKnifeSurrond(bool bVertical) {
|
||||
dAcObjGirahimuKnife_c::Pattern_e pattern = dAcObjGirahimuKnife_c::PATTERN_SURROUND_H;
|
||||
dAcPy_c::GetLinkM()->startSound(SE_OGhKf_GROUP_APPEAR);
|
||||
if (bVertical) {
|
||||
@@ -1326,7 +1326,7 @@ bool dAcGirahimu2_c::fn_228_4CD0(s32 cutDir) {
|
||||
}
|
||||
|
||||
void dAcGirahimu2_c::vt_0x220() {
|
||||
field_0x221D = false;
|
||||
mbPoseFreeRequest = false;
|
||||
if (mbSpawnedSwords) {
|
||||
for (int i = 0; i < 15; ++i) {
|
||||
if (mKnives[i].isLinked() && mKnives[i].get()->isCircleWait()) {
|
||||
@@ -1393,7 +1393,7 @@ void dAcGirahimu2_c::vt_0x220() {
|
||||
}
|
||||
|
||||
bool dAcGirahimu2_c::fn_228_5110() {
|
||||
field_0x221D = false;
|
||||
mbPoseFreeRequest = false;
|
||||
int rnd = cM::rndInt(100);
|
||||
|
||||
if (mDistanceToPlayer >= 400.0f) {
|
||||
@@ -1431,7 +1431,7 @@ bool dAcGirahimu2_c::fn_228_5110() {
|
||||
if (rnd >= 75 && mCurrentAttack != 2) {
|
||||
mCurrentAttack = 2;
|
||||
if (cM::rndInt(100) > 50) {
|
||||
field_0x221D = true;
|
||||
mbPoseFreeRequest = true;
|
||||
changeState(StateID_ComeOn);
|
||||
|
||||
} else {
|
||||
@@ -1457,7 +1457,7 @@ bool dAcGirahimu2_c::fn_228_5110() {
|
||||
}
|
||||
|
||||
void dAcGirahimu2_c::fn_228_5400() {
|
||||
if (field_0x221C >= 2) {
|
||||
if (mConsecutiveSwordHitCount >= 2) {
|
||||
mCcBody.SetR(15.0f);
|
||||
} else {
|
||||
mCcBody.SetR(45.0f);
|
||||
@@ -1471,7 +1471,7 @@ void dAcGirahimu2_c::fn_228_5400() {
|
||||
if (pCc != nullptr && pCc->GetTgAtHitType() == AT_TYPE_SWORD) {
|
||||
if (pCc->GetTgAtCutDir() == CUT_DIR_STAB) {
|
||||
changeState(StateID_TwoSwordAttack);
|
||||
} else if (field_0x221C >= 2) {
|
||||
} else if (mConsecutiveSwordHitCount >= 2) {
|
||||
if (pCc == &mCcSwordR || pCc == &mCcSwordL) {
|
||||
getSoundSource()->startSoundAtPosition(SE_Girahim_SWORD_HIT_SWORD, pCc->GetTgHitPos());
|
||||
changeState(StateID_Counter);
|
||||
@@ -1479,7 +1479,7 @@ void dAcGirahimu2_c::fn_228_5400() {
|
||||
adjustSpineHitRotation(pCc);
|
||||
changeState(StateID_G_SwordDamage);
|
||||
}
|
||||
} else if (field_0x221C == 1) {
|
||||
} else if (mConsecutiveSwordHitCount == 1) {
|
||||
if (pCc == &mCcSwordR || pCc == &mCcSwordL) {
|
||||
getSoundSource()->startSoundAtPosition(SE_Girahim_SWORD_HIT_SWORD, pCc->GetTgHitPos());
|
||||
changeState(StateID_Counter);
|
||||
@@ -1487,7 +1487,7 @@ void dAcGirahimu2_c::fn_228_5400() {
|
||||
getSoundSource()->startSoundAtPosition(SE_Girahim_SWORD_HIT_SWORD, pCc->GetTgHitPos());
|
||||
fn_228_5770(pCc->GetTgAtCutDir());
|
||||
changeState(StateID_ComeOnGuard);
|
||||
field_0x221C++;
|
||||
mConsecutiveSwordHitCount++;
|
||||
} else {
|
||||
adjustSpineHitRotation(pCc);
|
||||
changeState(StateID_G_SwordDamage);
|
||||
@@ -1496,7 +1496,7 @@ void dAcGirahimu2_c::fn_228_5400() {
|
||||
getSoundSource()->startSoundAtPosition(SE_Girahim_SWORD_HIT_SWORD, pCc->GetTgHitPos());
|
||||
fn_228_5770(pCc->GetTgAtCutDir());
|
||||
changeState(StateID_ComeOnGuard);
|
||||
field_0x221C++;
|
||||
mConsecutiveSwordHitCount++;
|
||||
} else {
|
||||
adjustSpineHitRotation(pCc);
|
||||
changeState(StateID_G_SwordDamage);
|
||||
@@ -1506,7 +1506,7 @@ void dAcGirahimu2_c::fn_228_5400() {
|
||||
|
||||
void dAcGirahimu2_c::fn_228_5740() {
|
||||
s32 cutDir = mPlayerAttackDir;
|
||||
if (field_0x221C < 2 && cutDir != CUT_DIR_STAB) {
|
||||
if (mConsecutiveSwordHitCount < 2 && cutDir != CUT_DIR_STAB) {
|
||||
mCcBody.SetTgShieldType(~AT_TYPE_DAMAGE);
|
||||
}
|
||||
}
|
||||
@@ -1519,7 +1519,7 @@ bool dAcGirahimu2_c::fn_228_5770(s32 cutDir) {
|
||||
if (mAnmIDShoulderR == ANM_PoseC || mAnmIDShoulderL == ANM_PoseC) {
|
||||
return false;
|
||||
}
|
||||
if (!fn_228_5E90()) {
|
||||
if (!isRightArmPose()) {
|
||||
bRightArm = true;
|
||||
setAnmShoulderR("RarmU", ANM_PoseC, m3d::PLAY_MODE_4, rate, rate);
|
||||
mAnmChrs[ANMIDX_ShoulderR].play();
|
||||
@@ -1532,7 +1532,7 @@ bool dAcGirahimu2_c::fn_228_5770(s32 cutDir) {
|
||||
if (mAnmIDShoulderR == ANM_PoseC2 || mAnmIDShoulderL == ANM_PoseC2) {
|
||||
return false;
|
||||
}
|
||||
if (!fn_228_5E90()) {
|
||||
if (!isRightArmPose()) {
|
||||
bRightArm = true;
|
||||
setAnmShoulderR("RarmD", ANM_PoseC2, m3d::PLAY_MODE_4, rate, rate);
|
||||
mAnmChrs[ANMIDX_ShoulderR].play();
|
||||
@@ -1548,7 +1548,7 @@ bool dAcGirahimu2_c::fn_228_5770(s32 cutDir) {
|
||||
if (mAnmIDShoulderR == ANM_PoseR || mAnmIDShoulderL == ANM_PoseR) {
|
||||
return false;
|
||||
}
|
||||
if (!fn_228_5E90()) {
|
||||
if (!isRightArmPose()) {
|
||||
bRightArm = true;
|
||||
setAnmShoulderR("RarmR", ANM_PoseR, m3d::PLAY_MODE_4, rate, rate);
|
||||
mAnmChrs[ANMIDX_ShoulderR].play();
|
||||
@@ -1564,7 +1564,7 @@ bool dAcGirahimu2_c::fn_228_5770(s32 cutDir) {
|
||||
if (mAnmIDShoulderR == ANM_PoseL || mAnmIDShoulderL == ANM_PoseL) {
|
||||
return false;
|
||||
}
|
||||
if (!fn_228_5E90()) {
|
||||
if (!isRightArmPose()) {
|
||||
setAnmShoulderL("LarmL", ANM_PoseL, m3d::PLAY_MODE_4, rate, rate);
|
||||
mAnmChrs[ANMIDX_ShoulderL].play();
|
||||
} else {
|
||||
@@ -1576,7 +1576,7 @@ bool dAcGirahimu2_c::fn_228_5770(s32 cutDir) {
|
||||
if (mAnmIDShoulderR == ANM_PoseR || mAnmIDShoulderL == ANM_PoseR) {
|
||||
return false;
|
||||
}
|
||||
if (!fn_228_5E90()) {
|
||||
if (!isRightArmPose()) {
|
||||
bRightArm = true;
|
||||
setAnmShoulderR("RarmR", ANM_PoseR, m3d::PLAY_MODE_4, rate, rate);
|
||||
mAnmChrs[ANMIDX_ShoulderR].play();
|
||||
@@ -1589,7 +1589,7 @@ bool dAcGirahimu2_c::fn_228_5770(s32 cutDir) {
|
||||
if (mAnmIDShoulderR == ANM_PoseL || mAnmIDShoulderL == ANM_PoseL) {
|
||||
return false;
|
||||
}
|
||||
if (!fn_228_5E90()) {
|
||||
if (!isRightArmPose()) {
|
||||
setAnmShoulderL("LarmL", ANM_PoseL, m3d::PLAY_MODE_4, rate, rate);
|
||||
mAnmChrs[ANMIDX_ShoulderL].play();
|
||||
} else {
|
||||
@@ -1604,7 +1604,7 @@ bool dAcGirahimu2_c::fn_228_5770(s32 cutDir) {
|
||||
if (mAnmIDShoulderR == ANM_PoseR || mAnmIDShoulderL == ANM_PoseR) {
|
||||
return false;
|
||||
}
|
||||
if (!fn_228_5E90()) {
|
||||
if (!isRightArmPose()) {
|
||||
bRightArm = true;
|
||||
setAnmShoulderR("RarmR", ANM_PoseR, m3d::PLAY_MODE_4, rate, rate);
|
||||
mAnmChrs[ANMIDX_ShoulderR].play();
|
||||
@@ -1620,7 +1620,7 @@ bool dAcGirahimu2_c::fn_228_5770(s32 cutDir) {
|
||||
if (mAnmIDShoulderR == ANM_PoseL || mAnmIDShoulderL == ANM_PoseL) {
|
||||
return false;
|
||||
}
|
||||
if (!fn_228_5E90()) {
|
||||
if (!isRightArmPose()) {
|
||||
setAnmShoulderL("LarmL", ANM_PoseL, m3d::PLAY_MODE_4, rate, rate);
|
||||
mAnmChrs[ANMIDX_ShoulderL].play();
|
||||
} else {
|
||||
@@ -1682,7 +1682,7 @@ bool dAcGirahimu2_c::fn_228_5770(s32 cutDir) {
|
||||
return true;
|
||||
}
|
||||
|
||||
bool dAcGirahimu2_c::fn_228_5E90() {
|
||||
bool dAcGirahimu2_c::isRightArmPose() {
|
||||
if (mAnmIDShoulderR == ANM_PoseL || mAnmIDShoulderR == ANM_PoseR || mAnmIDShoulderR == ANM_PoseC ||
|
||||
mAnmIDShoulderR == ANM_PoseC2) {
|
||||
return true;
|
||||
@@ -1690,7 +1690,7 @@ bool dAcGirahimu2_c::fn_228_5E90() {
|
||||
return false;
|
||||
}
|
||||
|
||||
bool dAcGirahimu2_c::fn_228_5EC0() {
|
||||
bool dAcGirahimu2_c::isLeftArmPose() {
|
||||
if (mAnmIDShoulderL == ANM_PoseL || mAnmIDShoulderL == ANM_PoseR || mAnmIDShoulderL == ANM_PoseC ||
|
||||
mAnmIDShoulderL == ANM_PoseC2) {
|
||||
return true;
|
||||
@@ -1716,9 +1716,9 @@ void dAcGirahimu2_c::vt_0x1F4() {
|
||||
}
|
||||
|
||||
void dAcGirahimu2_c::vt_0x1F8() {
|
||||
if (field_0x221D) {
|
||||
if (mbPoseFreeRequest) {
|
||||
setAnm("PoseFree", ANM_PoseFree, nullptr, m3d::PLAY_MODE_4, 5.0f, 1.0f);
|
||||
field_0x221D = false;
|
||||
mbPoseFreeRequest = false;
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -2421,13 +2421,13 @@ void dAcGirahimu2_c::fn_228_82C0() {
|
||||
case 0: {
|
||||
mAng a0;
|
||||
a1 = 0x8000;
|
||||
if (rnd >= 60 && field_0x2214 == 2) {
|
||||
if (rnd >= 60 && mKnifeVolleyState == 2) {
|
||||
a0 = 0;
|
||||
spacing.set(100.0f, 65.0f, 0.0f);
|
||||
pattern = dAcObjGirahimuKnife_c::PATTERN_U_D;
|
||||
field_0x2210 = 8;
|
||||
field_0x2214 = 2;
|
||||
} else if (rnd >= 30 && field_0x2214 == 1) {
|
||||
mKnifeVolleyState = 2;
|
||||
} else if (rnd >= 30 && mKnifeVolleyState == 1) {
|
||||
if (cM::rndInt(100) >= 50) {
|
||||
a0 = 0x2000;
|
||||
spacing.set(100.0f, 65.0f, 0.0f);
|
||||
@@ -2439,19 +2439,19 @@ void dAcGirahimu2_c::fn_228_82C0() {
|
||||
pattern = dAcObjGirahimuKnife_c::PATTERN_RU_LD;
|
||||
field_0x2210 = 2;
|
||||
}
|
||||
field_0x2214 = 1;
|
||||
} else if (field_0x2214 != 0) {
|
||||
mKnifeVolleyState = 1;
|
||||
} else if (mKnifeVolleyState != 0) {
|
||||
a0 = 0x4000;
|
||||
spacing.set(100.0f, 65.0f, 0.0f);
|
||||
pattern = dAcObjGirahimuKnife_c::PATTERN_R_L;
|
||||
field_0x2210 = 1;
|
||||
field_0x2214 = 0;
|
||||
mKnifeVolleyState = 0;
|
||||
} else {
|
||||
a0 = 0;
|
||||
spacing.set(100.0f, 65.0f, 0.0f);
|
||||
pattern = dAcObjGirahimuKnife_c::PATTERN_U_D;
|
||||
field_0x2210 = 8;
|
||||
field_0x2214 = 2;
|
||||
mKnifeVolleyState = 2;
|
||||
}
|
||||
startSound(SE_Girahim_MAGIC_KNIFE_APPEAR);
|
||||
|
||||
@@ -2485,21 +2485,21 @@ void dAcGirahimu2_c::fn_228_82C0() {
|
||||
case 1: {
|
||||
mAng a0, a1;
|
||||
a1 = 0x4000;
|
||||
if (rnd >= 50 && field_0x2214 != 2) {
|
||||
if (rnd >= 50 && mKnifeVolleyState != 2) {
|
||||
field_0x2210 = 9;
|
||||
a0 = 0;
|
||||
spacing.set(0.0f, 65.0f, 100.0f);
|
||||
field_0x2214 = 2;
|
||||
} else if (field_0x2214 != 1) {
|
||||
mKnifeVolleyState = 2;
|
||||
} else if (mKnifeVolleyState != 1) {
|
||||
field_0x2210 = 6;
|
||||
a0 = 0x2000;
|
||||
spacing.set(0.0f, 65.0f, 100.0f);
|
||||
field_0x2214 = 1;
|
||||
mKnifeVolleyState = 1;
|
||||
} else {
|
||||
field_0x2210 = 9;
|
||||
a0 = 0;
|
||||
spacing.set(0.0f, 65.0f, 100.0f);
|
||||
field_0x2214 = 2;
|
||||
mKnifeVolleyState = 2;
|
||||
}
|
||||
startSound(SE_Girahim_MAGIC_KNIFE_APPEAR);
|
||||
|
||||
@@ -2524,7 +2524,7 @@ void dAcGirahimu2_c::fn_228_82C0() {
|
||||
if (pKnife != nullptr) {
|
||||
spawnPos.y += v0.y;
|
||||
mKnives[i].get()->setTarget(spawnPos);
|
||||
if (field_0x2214 != 1) {
|
||||
if (mKnifeVolleyState != 1) {
|
||||
if (i % 2 == 0) {
|
||||
pKnife->setPattern(dAcObjGirahimuKnife_c::PATTERN_U_D);
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user