mirror of
https://github.com/zeldaret/tww.git
synced 2026-07-30 15:53:50 -04:00
Cleanup
0.0099999998f -> 0.01f 4 space indents Unnecessary parentheses from Ghidra etc
This commit is contained in:
@@ -46,17 +46,17 @@ enum fopAc_Status_e {
|
||||
};
|
||||
|
||||
enum fopAc_Condition_e {
|
||||
fopAcCnd_NOEXEC_e = 0x02,
|
||||
fopAcCnd_NODRAW_e = 0x04,
|
||||
fopAcCnd_INIT_e = 0x08,
|
||||
fopAcCnd_NOEXEC_e = 0x02,
|
||||
fopAcCnd_NODRAW_e = 0x04,
|
||||
fopAcCnd_INIT_e = 0x08,
|
||||
};
|
||||
|
||||
enum fopAc_Group_e {
|
||||
fopAc_ACTOR_e,
|
||||
fopAc_PLAYER_e,
|
||||
fopAc_ENEMY_e,
|
||||
fopAc_ENV_e,
|
||||
fopAc_NPC_e,
|
||||
fopAc_ACTOR_e = 0x0,
|
||||
fopAc_PLAYER_e = 0x1,
|
||||
fopAc_ENEMY_e = 0x2,
|
||||
fopAc_ENV_e = 0x3,
|
||||
fopAc_NPC_e = 0x4,
|
||||
};
|
||||
|
||||
enum fopAc_AttentionType_e {
|
||||
|
||||
@@ -16,26 +16,21 @@
|
||||
|
||||
/* 8013E250-8013E384 .text setSpecialBattle__9daPy_lk_cFi */
|
||||
void daPy_lk_c::setSpecialBattle(int param_0) {
|
||||
fopEn_enemy_c *pfVar3;
|
||||
fopEn_enemy_c* pfVar3;
|
||||
|
||||
if ((param_0 == 0) || (!strcmp(dComIfGp_getStartStageName(), "GTower"))) {
|
||||
if (mpAttnEntryA != NULL &&
|
||||
mpAttnEntryA->mType == fopAc_Attn_TYPE_BATTLE_e) {
|
||||
if (mpAttnActorLockOn != NULL &&
|
||||
mpAttnActorLockOn->group == fopAc_ENEMY_e) {
|
||||
pfVar3 = (fopEn_enemy_c *)mpAttnActorLockOn;
|
||||
if (mpAttnEntryA != NULL && mpAttnEntryA->mType == fopAc_Attn_TYPE_BATTLE_e) {
|
||||
if (mpAttnActorLockOn != NULL && mpAttnActorLockOn->group == fopAc_ENEMY_e) {
|
||||
pfVar3 = (fopEn_enemy_c*)mpAttnActorLockOn;
|
||||
if (!checkPlayerGuard()) {
|
||||
if (!daPy_dmEcallBack_c::checkCurse()) {
|
||||
if (mEquipItem == daPyItem_SWORD_e) {
|
||||
if (pfVar3->getBtAttackType() != 0 &&
|
||||
(pfVar3->getBtStartFrame() -
|
||||
daPy_HIO_battle_c0::m.field_0x4 <=
|
||||
pfVar3->getBtNowFrame())) {
|
||||
if (pfVar3->getBtNowFrame() <
|
||||
pfVar3->getBtEndFrame()) {
|
||||
if (pfVar3->getBtMaxDis() >
|
||||
fopAcM_searchActorDistanceXZ(this,
|
||||
pfVar3)) {
|
||||
(pfVar3->getBtStartFrame() - daPy_HIO_battle_c0::m.field_0x4 <= pfVar3->getBtNowFrame()
|
||||
))
|
||||
{
|
||||
if (pfVar3->getBtNowFrame() < pfVar3->getBtEndFrame()) {
|
||||
if (pfVar3->getBtMaxDis() > fopAcM_searchActorDistanceXZ(this, pfVar3)) {
|
||||
dComIfGp_setDoStatus(0x1a);
|
||||
}
|
||||
}
|
||||
@@ -52,13 +47,12 @@ void daPy_lk_c::setSpecialBattle(int param_0) {
|
||||
/* 8013E384-8013E454 .text changeSpecialBattle__9daPy_lk_cFv */
|
||||
int daPy_lk_c::changeSpecialBattle() {
|
||||
/* Nonmatching - regalloc */
|
||||
fopEn_enemy_c *pfVar3;
|
||||
fopEn_enemy_c* pfVar3;
|
||||
|
||||
pfVar3 = (fopEn_enemy_c *)mpAttnActorLockOn;
|
||||
if (((pfVar3 != NULL) &&
|
||||
((dComIfGp_getDoStatus() == 26 || (m34C5 == 5)))) &&
|
||||
((m34C5 == 5 || ((doTrigger() && (pfVar3->getBtStartFrame() <=
|
||||
pfVar3->getBtNowFrame())))))) {
|
||||
pfVar3 = (fopEn_enemy_c*)mpAttnActorLockOn;
|
||||
if (((pfVar3 != NULL) && (dComIfGp_getDoStatus() == 26 || (m34C5 == 5))) &&
|
||||
(m34C5 == 5 || (doTrigger() && (pfVar3->getBtStartFrame() <= pfVar3->getBtNowFrame()))))
|
||||
{
|
||||
if (pfVar3->getBtAttackType() == 1) {
|
||||
return procBtJump_init(pfVar3);
|
||||
}
|
||||
@@ -77,7 +71,7 @@ int daPy_lk_c::changeSpecialBattle() {
|
||||
}
|
||||
|
||||
/* 8013E454-8013E72C .text procBtJump_init__9daPy_lk_cFP13fopEn_enemy_c */
|
||||
BOOL daPy_lk_c::procBtJump_init(fopEn_enemy_c *param_0) {
|
||||
BOOL daPy_lk_c::procBtJump_init(fopEn_enemy_c* param_0) {
|
||||
/* Nonmatching - math */
|
||||
f32 fVar1;
|
||||
s16 sVar2;
|
||||
@@ -87,9 +81,13 @@ BOOL daPy_lk_c::procBtJump_init(fopEn_enemy_c *param_0) {
|
||||
cXyz local_34 = (param_0->current.pos - current.pos);
|
||||
commonProcInit(daPyProc_BT_JUMP_e);
|
||||
gravity = daPy_HIO_b_jump_c0::m.field_0x20;
|
||||
setSingleMoveAnime(ANM_MJMP, daPy_HIO_b_jump_c0::m.field_0x8,
|
||||
daPy_HIO_b_jump_c0::m.field_0x14, -1,
|
||||
daPy_HIO_b_jump_c0::m.field_0x10);
|
||||
setSingleMoveAnime(
|
||||
ANM_MJMP,
|
||||
daPy_HIO_b_jump_c0::m.field_0x8,
|
||||
daPy_HIO_b_jump_c0::m.field_0x14,
|
||||
-1,
|
||||
daPy_HIO_b_jump_c0::m.field_0x10
|
||||
);
|
||||
fVar1 = local_34.y + param_0->getBtHeight();
|
||||
if (local_34.y + param_0->getBtHeight() < 30.0f) {
|
||||
fVar1 = 30.0f;
|
||||
@@ -103,11 +101,9 @@ BOOL daPy_lk_c::procBtJump_init(fopEn_enemy_c *param_0) {
|
||||
shape_angle.y = current.angle.y;
|
||||
dComIfGp_setPlayerStatus0(0, daPyStts0_UNK2_e);
|
||||
m34D0 = 0;
|
||||
m370C.x = param_0->current.pos.x -
|
||||
param_0->getBtBodyR() * cM_ssin(param_0->shape_angle.y);
|
||||
m370C.x = param_0->current.pos.x - param_0->getBtBodyR() * cM_ssin(param_0->shape_angle.y);
|
||||
m370C.y = param_0->current.pos.y;
|
||||
m370C.z = param_0->current.pos.z -
|
||||
param_0->getBtBodyR() * cM_scos(param_0->shape_angle.y);
|
||||
m370C.z = param_0->current.pos.z - param_0->getBtBodyR() * cM_scos(param_0->shape_angle.y);
|
||||
if (daPy_HIO_b_jump_c0::m.field_0x18 <= 0.0f) {
|
||||
speed.y = m35A0;
|
||||
mVelocity = m35A4;
|
||||
@@ -127,8 +123,7 @@ BOOL daPy_lk_c::procBtJump() {
|
||||
u32 uVar2;
|
||||
|
||||
if (m3570 == 0) {
|
||||
if (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() >=
|
||||
daPy_HIO_b_jump_c0::m.field_0x18) {
|
||||
if (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() >= daPy_HIO_b_jump_c0::m.field_0x18) {
|
||||
speed.y = m35A0;
|
||||
mVelocity = m35A4;
|
||||
m3570 = 1;
|
||||
@@ -144,8 +139,7 @@ BOOL daPy_lk_c::procBtJump() {
|
||||
}
|
||||
} else {
|
||||
uVar2 = cM_atan2s(mVelocity, -speed.y);
|
||||
m34F2 = (s16)(int)(cM_ssin((uVar2 & 0x7fff) << 1) -
|
||||
daPy_HIO_b_jump_c0::m.field_0x6);
|
||||
m34F2 = (s16)(int)(cM_ssin((uVar2 & 0x7fff) << 1) - daPy_HIO_b_jump_c0::m.field_0x6);
|
||||
setFallVoice();
|
||||
}
|
||||
}
|
||||
@@ -153,12 +147,15 @@ BOOL daPy_lk_c::procBtJump() {
|
||||
}
|
||||
|
||||
/* 8013E860-8013E9D4 .text procBtJumpCut_init__9daPy_lk_cFP4cXyz */
|
||||
BOOL daPy_lk_c::procBtJumpCut_init(cXyz *param_0) {
|
||||
BOOL daPy_lk_c::procBtJumpCut_init(cXyz* param_0) {
|
||||
commonProcInit(daPyProc_BT_JUMP_CUT_e);
|
||||
setSingleMoveAnime(ANM_MJMPC, daPy_HIO_b_jump_c0::m.field_0x28,
|
||||
daPy_HIO_b_jump_c0::m.field_0x30,
|
||||
daPy_HIO_b_jump_c0::m.field_0x4,
|
||||
daPy_HIO_b_jump_c0::m.field_0x2C);
|
||||
setSingleMoveAnime(
|
||||
ANM_MJMPC,
|
||||
daPy_HIO_b_jump_c0::m.field_0x28,
|
||||
daPy_HIO_b_jump_c0::m.field_0x30,
|
||||
daPy_HIO_b_jump_c0::m.field_0x4,
|
||||
daPy_HIO_b_jump_c0::m.field_0x2C
|
||||
);
|
||||
if (checkNormalSwordEquip()) {
|
||||
mSwordAnim.changeBckOnly(getItemAnimeResource(LKANM_BCK_MJMPCA));
|
||||
} else {
|
||||
@@ -188,32 +185,27 @@ BOOL daPy_lk_c::procBtJumpCut() {
|
||||
m35EC = mFrameCtrlUnder[UNDER_MOVE0_e].getFrame();
|
||||
if ((speed.y < 0.0f) && (daPy_HIO_b_jump_c0::m.field_0x0 == 1)) {
|
||||
uVar2 = cM_atan2s(mVelocity, -speed.y);
|
||||
m34F2 = (s16)(int)cM_ssin(((uVar2 & 0x7fff) << 1) -
|
||||
daPy_HIO_b_jump_c0::m.field_0x6);
|
||||
m34F2 = (s16)(int)cM_ssin(((uVar2 & 0x7fff) << 1) - daPy_HIO_b_jump_c0::m.field_0x6);
|
||||
}
|
||||
fVar1 = mFrameCtrlUnder[UNDER_MOVE0_e].getFrame();
|
||||
if (((fVar1 >= daPy_HIO_b_jump_c0::m.field_0x44) &&
|
||||
(fVar1 < daPy_HIO_b_jump_c0::m.field_0x48)) &&
|
||||
(onResetFlg0(daPyRFlg0_UNK2),
|
||||
!(checkNoResetFlg0(daPyFlg0_CUT_AT_FLG)))) {
|
||||
if (((fVar1 >= daPy_HIO_b_jump_c0::m.field_0x44) && (fVar1 < daPy_HIO_b_jump_c0::m.field_0x48)) &&
|
||||
(onResetFlg0(daPyRFlg0_UNK2), !(checkNoResetFlg0(daPyFlg0_CUT_AT_FLG))))
|
||||
{
|
||||
onResetFlg0(daPyRFlg0_UNK1);
|
||||
seStartSwordCut(JA_SE_LK_SW_KAZEKIRI_S);
|
||||
}
|
||||
if (mAcch.ChkGroundHit()) {
|
||||
return changeLandProc(daPy_HIO_b_jump_c0::m.field_0xC);
|
||||
} else {
|
||||
if ((m3570 != 0) ||
|
||||
(mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f)) {
|
||||
if ((m3570 != 0) || (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f)) {
|
||||
gravity = daPy_HIO_b_jump_c0::m.field_0x3C;
|
||||
speed.y = daPy_HIO_b_jump_c0::m.field_0x34;
|
||||
mVelocity = daPy_HIO_b_jump_c0::m.field_0x38;
|
||||
m3570 = 1;
|
||||
} else {
|
||||
if ((m3570 == 1) && (speed.y < -gravity) &&
|
||||
daPy_HIO_b_jump_c0::m.field_0x0 == 1) {
|
||||
if ((m3570 == 1) && (speed.y < -gravity) && daPy_HIO_b_jump_c0::m.field_0x0 == 1) {
|
||||
m3570 = 2;
|
||||
setSingleMoveAnime(ANM_JMPEDS, 0.0f, 0.0f, -1,
|
||||
daPy_HIO_b_jump_c0::m.field_0x40);
|
||||
setSingleMoveAnime(ANM_JMPEDS, 0.0f, 0.0f, -1, daPy_HIO_b_jump_c0::m.field_0x40);
|
||||
offModeFlg(ModeFlg_00000400);
|
||||
setTextureAnime(0x37, 0);
|
||||
resetSeAnime();
|
||||
@@ -227,9 +219,13 @@ BOOL daPy_lk_c::procBtJumpCut() {
|
||||
/* 8013EBD0-8013EC50 .text procBtSlide__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procBtSlide() {
|
||||
/* Nonmatching - floats */
|
||||
f32 dVar1 = cLib_addCalc(&mVelocity, 0.0f, daPy_HIO_b_slide_c0::m.field_0x4,
|
||||
daPy_HIO_b_slide_c0::m.field_0x8,
|
||||
daPy_HIO_b_slide_c0::m.field_0xC);
|
||||
f32 dVar1 = cLib_addCalc(
|
||||
&mVelocity,
|
||||
0.0f,
|
||||
daPy_HIO_b_slide_c0::m.field_0x4,
|
||||
daPy_HIO_b_slide_c0::m.field_0x8,
|
||||
daPy_HIO_b_slide_c0::m.field_0xC
|
||||
);
|
||||
if (dVar1 <= 0.001f) {
|
||||
checkNextMode(0);
|
||||
}
|
||||
@@ -240,7 +236,7 @@ BOOL daPy_lk_c::procBtSlide() {
|
||||
}
|
||||
|
||||
/* 8013EC50-8013EE64 .text procBtRoll_init__9daPy_lk_cFP13fopEn_enemy_c */
|
||||
BOOL daPy_lk_c::procBtRoll_init(fopEn_enemy_c *param_0) {
|
||||
BOOL daPy_lk_c::procBtRoll_init(fopEn_enemy_c* param_0) {
|
||||
/* Nonmatching - math */
|
||||
daPy_ANM dVar3;
|
||||
f32 dVar5;
|
||||
@@ -250,12 +246,10 @@ BOOL daPy_lk_c::procBtRoll_init(fopEn_enemy_c *param_0) {
|
||||
commonProcInit(daPyProc_BT_ROLL_e);
|
||||
mVelocity = 0.0f;
|
||||
local_38.x =
|
||||
0.5f * (current.pos.x - param_0->current.pos.x -
|
||||
param_0->getBtBodyR() * cM_ssin(param_0->shape_angle.y));
|
||||
0.5f * (current.pos.x - param_0->current.pos.x - param_0->getBtBodyR() * cM_ssin(param_0->shape_angle.y));
|
||||
local_38.y = 0.5f * param_0->current.pos.y + current.pos.y;
|
||||
local_38.z =
|
||||
0.5f * (current.pos.z - param_0->current.pos.z -
|
||||
param_0->getBtBodyR() * cM_scos(param_0->shape_angle.y));
|
||||
0.5f * (current.pos.z - param_0->current.pos.z - param_0->getBtBodyR() * cM_scos(param_0->shape_angle.y));
|
||||
if (m34B8 == 2) {
|
||||
m34D4 = -0x7ff0;
|
||||
dVar3 = ANM_MROLLL;
|
||||
@@ -263,10 +257,13 @@ BOOL daPy_lk_c::procBtRoll_init(fopEn_enemy_c *param_0) {
|
||||
m34D4 = 0x7ff0;
|
||||
dVar3 = ANM_MROLLR;
|
||||
}
|
||||
setSingleMoveAnime(dVar3, daPy_HIO_b_roll_c0::m.field_0xC,
|
||||
daPy_HIO_b_roll_c0::m.field_0x10,
|
||||
daPy_HIO_b_roll_c0::m.field_0x6,
|
||||
daPy_HIO_b_roll_c0::m.field_0x14);
|
||||
setSingleMoveAnime(
|
||||
dVar3,
|
||||
daPy_HIO_b_roll_c0::m.field_0xC,
|
||||
daPy_HIO_b_roll_c0::m.field_0x10,
|
||||
daPy_HIO_b_roll_c0::m.field_0x6,
|
||||
daPy_HIO_b_roll_c0::m.field_0x14
|
||||
);
|
||||
local_2c = (current.pos - local_38);
|
||||
dVar5 = local_2c.absXZ();
|
||||
m35A0 = dVar5;
|
||||
@@ -282,9 +279,9 @@ BOOL daPy_lk_c::procBtRoll_init(fopEn_enemy_c *param_0) {
|
||||
/* 8013EE64-8013F010 .text procBtRoll__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procBtRoll() {
|
||||
s16 sVar1 = m34D4;
|
||||
cLib_addCalcAngleS(&m34D4, 0, daPy_HIO_b_roll_c0::m.field_0x4,
|
||||
daPy_HIO_b_roll_c0::m.field_0x0,
|
||||
daPy_HIO_b_roll_c0::m.field_0x2);
|
||||
cLib_addCalcAngleS(
|
||||
&m34D4, 0, daPy_HIO_b_roll_c0::m.field_0x4, daPy_HIO_b_roll_c0::m.field_0x0, daPy_HIO_b_roll_c0::m.field_0x2
|
||||
);
|
||||
s16 sVar3 = sVar1 - m34D4;
|
||||
if (sVar1 > 0) {
|
||||
current.angle.y = m34D6 + 0x4000;
|
||||
@@ -302,7 +299,7 @@ BOOL daPy_lk_c::procBtRoll() {
|
||||
if (abs((int)sVar3) < daPy_HIO_b_roll_c0::m.field_0x2) {
|
||||
resetFootEffect();
|
||||
}
|
||||
J3DFrameCtrl &frameCtrl = mFrameCtrlUnder[UNDER_MOVE0_e];
|
||||
J3DFrameCtrl& frameCtrl = mFrameCtrlUnder[UNDER_MOVE0_e];
|
||||
if (frameCtrl.getRate() < 0.01f) {
|
||||
procBtRollCut_init(&local_28);
|
||||
} else {
|
||||
@@ -314,7 +311,7 @@ BOOL daPy_lk_c::procBtRoll() {
|
||||
}
|
||||
|
||||
/* 8013F010-8013F200 .text procBtRollCut_init__9daPy_lk_cFP4cXyz */
|
||||
BOOL daPy_lk_c::procBtRollCut_init(cXyz *param_0) {
|
||||
BOOL daPy_lk_c::procBtRollCut_init(cXyz* param_0) {
|
||||
daPy_ANM dVar4;
|
||||
|
||||
commonProcInit(daPyProc_BT_ROLL_CUT_e);
|
||||
@@ -329,10 +326,13 @@ BOOL daPy_lk_c::procBtRollCut_init(cXyz *param_0) {
|
||||
m34EC = -1;
|
||||
setBlurPosResource(LKANM__BTROTATECUTR_POS);
|
||||
}
|
||||
setSingleMoveAnime(dVar4, daPy_HIO_b_roll_c0::m.field_0x1C,
|
||||
daPy_HIO_b_roll_c0::m.field_0x20,
|
||||
daPy_HIO_b_roll_c0::m.field_0x8,
|
||||
daPy_HIO_b_roll_c0::m.field_0x24);
|
||||
setSingleMoveAnime(
|
||||
dVar4,
|
||||
daPy_HIO_b_roll_c0::m.field_0x1C,
|
||||
daPy_HIO_b_roll_c0::m.field_0x20,
|
||||
daPy_HIO_b_roll_c0::m.field_0x8,
|
||||
daPy_HIO_b_roll_c0::m.field_0x24
|
||||
);
|
||||
if (checkNormalSwordEquip()) {
|
||||
mSwordAnim.changeBckOnly(getItemAnimeResource(LKANM_BCK_MROLLCA));
|
||||
} else {
|
||||
@@ -367,8 +367,7 @@ BOOL daPy_lk_c::procBtRollCut() {
|
||||
m34D4 = 1;
|
||||
onResetFlg0(daPyRFlg0_UNK2);
|
||||
} else if (m34D4 == 1) {
|
||||
setSingleMoveAnime(ANM_JMPEDS, 0.0f, 0.0f, -1,
|
||||
daPy_HIO_b_roll_c0::m.field_0x38);
|
||||
setSingleMoveAnime(ANM_JMPEDS, 0.0f, 0.0f, -1, daPy_HIO_b_roll_c0::m.field_0x38);
|
||||
offModeFlg(ModeFlg_00000400);
|
||||
setTextureAnime(0x37, 0);
|
||||
resetSeAnime();
|
||||
@@ -378,8 +377,7 @@ BOOL daPy_lk_c::procBtRollCut() {
|
||||
int iVar3 = m3570;
|
||||
if (!(iVar3 > 0) || !(m34EC < 0)) {
|
||||
if ((iVar3 < 0) && (m34EC > 0)) {
|
||||
cLib_addCalcAngleS(&m34EC, -iVar3, 4,
|
||||
daPy_HIO_b_roll_c0::m.field_0xA, 0x200);
|
||||
cLib_addCalcAngleS(&m34EC, -iVar3, 4, daPy_HIO_b_roll_c0::m.field_0xA, 0x200);
|
||||
} else {
|
||||
m34EC += iVar3 * daPy_HIO_b_roll_c0::m.field_0xA;
|
||||
}
|
||||
@@ -400,14 +398,16 @@ BOOL daPy_lk_c::procBtRollCut() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 8013F3E8-8013F4A8 .text
|
||||
* procBtVerticalJump_init__9daPy_lk_cFP13fopEn_enemy_c */
|
||||
BOOL daPy_lk_c::procBtVerticalJump_init(fopEn_enemy_c *) {
|
||||
/* 8013F3E8-8013F4A8 .text procBtVerticalJump_init__9daPy_lk_cFP13fopEn_enemy_c */
|
||||
BOOL daPy_lk_c::procBtVerticalJump_init(fopEn_enemy_c*) {
|
||||
commonProcInit(daPyProc_BT_VERTICAL_JUMP_e);
|
||||
setSingleMoveAnime(ANM_MSTEPOVER, daPy_HIO_b_verJump_c0::m.field_0x8,
|
||||
daPy_HIO_b_verJump_c0::m.field_0xC,
|
||||
daPy_HIO_b_verJump_c0::m.field_0x0,
|
||||
daPy_HIO_b_verJump_c0::m.field_0x10);
|
||||
setSingleMoveAnime(
|
||||
ANM_MSTEPOVER,
|
||||
daPy_HIO_b_verJump_c0::m.field_0x8,
|
||||
daPy_HIO_b_verJump_c0::m.field_0xC,
|
||||
daPy_HIO_b_verJump_c0::m.field_0x0,
|
||||
daPy_HIO_b_verJump_c0::m.field_0x10
|
||||
);
|
||||
mVelocity = 0.0f;
|
||||
gravity = daPy_HIO_b_verJump_c0::m.field_0x14;
|
||||
speed.y = daPy_HIO_b_verJump_c0::m.field_0x18;
|
||||
@@ -435,10 +435,13 @@ BOOL daPy_lk_c::procBtVerticalJump() {
|
||||
/* 8013F520-8013F5BC .text procBtVerticalJumpCut_init__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procBtVerticalJumpCut_init() {
|
||||
commonProcInit(daPyProc_BT_VERTICAL_JUMP_CUT_e);
|
||||
setSingleMoveAnime(ANM_MSTEPOVERA, daPy_HIO_b_verJump_c0::m.field_0x1C,
|
||||
daPy_HIO_b_verJump_c0::m.field_0x20,
|
||||
daPy_HIO_b_verJump_c0::m.field_0x2,
|
||||
daPy_HIO_b_verJump_c0::m.field_0x24);
|
||||
setSingleMoveAnime(
|
||||
ANM_MSTEPOVERA,
|
||||
daPy_HIO_b_verJump_c0::m.field_0x1C,
|
||||
daPy_HIO_b_verJump_c0::m.field_0x20,
|
||||
daPy_HIO_b_verJump_c0::m.field_0x2,
|
||||
daPy_HIO_b_verJump_c0::m.field_0x24
|
||||
);
|
||||
mpCutfBpk->setFrame(0.0f);
|
||||
mpCutfBtk->setFrame(0.0f);
|
||||
gravity = daPy_HIO_b_verJump_c0::m.field_0x28;
|
||||
@@ -454,7 +457,7 @@ BOOL daPy_lk_c::procBtVerticalJumpCut() {
|
||||
f32 fVar2 = mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() - 9.0f;
|
||||
if (fVar2 < 0.0f) {
|
||||
fVar2 = 0.0f;
|
||||
} else if ((mpCutfBpk->getFrameMax() >= fVar2)) {
|
||||
} else if (mpCutfBpk->getFrameMax() >= fVar2) {
|
||||
fVar2 = mpCutfBpk->getFrameMax() - 0.001f;
|
||||
}
|
||||
mpCutfBpk->setFrame(fVar2);
|
||||
@@ -489,10 +492,13 @@ BOOL daPy_lk_c::procBtVerticalJumpLand_init() {
|
||||
}
|
||||
}
|
||||
commonProcInit(daPyProc_BT_VERTICAL_JUMP_LAND_e);
|
||||
setSingleMoveAnime(ANM_MSTEPOVERLAND, daPy_HIO_b_verJump_c0::m.field_0x30,
|
||||
daPy_HIO_b_verJump_c0::m.field_0x34,
|
||||
daPy_HIO_b_verJump_c0::m.field_0x4,
|
||||
daPy_HIO_b_verJump_c0::m.field_0x38);
|
||||
setSingleMoveAnime(
|
||||
ANM_MSTEPOVERLAND,
|
||||
daPy_HIO_b_verJump_c0::m.field_0x30,
|
||||
daPy_HIO_b_verJump_c0::m.field_0x34,
|
||||
daPy_HIO_b_verJump_c0::m.field_0x4,
|
||||
daPy_HIO_b_verJump_c0::m.field_0x38
|
||||
);
|
||||
dComIfGp_getVibration().StartShock(6, -0x21, cXyz(0.0f, 1.0f, 0.0f));
|
||||
if (!checkNoResetFlg0(daPyFlg0_UNK10000000)) {
|
||||
seStartOnlyReverb(JA_SE_LK_JUMP_ATTACK);
|
||||
|
||||
@@ -16,12 +16,12 @@
|
||||
|
||||
/* 8014956C-80149590 .text checkBoomerangAnime__9daPy_lk_cCFv */
|
||||
BOOL daPy_lk_c::checkBoomerangAnime() const {
|
||||
return ((checkBoomerangReadyAnime()) || (checkBoomerangThrowAnime()));
|
||||
return (checkBoomerangReadyAnime()) || (checkBoomerangThrowAnime());
|
||||
}
|
||||
|
||||
/* 80149590-80149698 .text throwBoomerang__9daPy_lk_cFv */
|
||||
void daPy_lk_c::throwBoomerang() {
|
||||
daBoomerang_c *boomerang = (daBoomerang_c *)mActorKeepEquip.getActor();
|
||||
daBoomerang_c* boomerang = (daBoomerang_c*)mActorKeepEquip.getActor();
|
||||
|
||||
fopAcM_SetParam(boomerang, 1);
|
||||
if (mpAttnActorLockOn != NULL) {
|
||||
@@ -55,18 +55,16 @@ int daPy_lk_c::returnBoomerang() {
|
||||
if (daPy_getPlayerActorClass() == this) {
|
||||
if (!dComIfGp_event_runCheck()) {
|
||||
if (mDemo.getDemoType() == 0) {
|
||||
if ((m_anm_heap_upper[UPPER_MOVE2_e].mIdx == 0xffff ||
|
||||
(checkPlayerGuard())) ||
|
||||
((m_anm_heap_upper[UPPER_MOVE2_e].mIdx ==
|
||||
LKANM_BCK_DAMDASH ||
|
||||
(checkBoomerangAnime())))) {
|
||||
if ((!(checkModeFlg(ModeFlg_WHIDE | ModeFlg_ROPE |
|
||||
ModeFlg_IN_SHIP | ModeFlg_CLIMB |
|
||||
ModeFlg_SWIM | ModeFlg_00080000 |
|
||||
ModeFlg_GRAB | ModeFlg_PUSHPULL |
|
||||
ModeFlg_LADDER | ModeFlg_CROUCH |
|
||||
ModeFlg_CRAWL)) ||
|
||||
(mCurProc == daPyProc_SHIP_BOOMERANG_e))) {
|
||||
if ((m_anm_heap_upper[UPPER_MOVE2_e].mIdx == 0xffff || (checkPlayerGuard())) ||
|
||||
(m_anm_heap_upper[UPPER_MOVE2_e].mIdx == LKANM_BCK_DAMDASH || (checkBoomerangAnime())))
|
||||
{
|
||||
if (!(checkModeFlg(
|
||||
ModeFlg_WHIDE | ModeFlg_ROPE | ModeFlg_IN_SHIP | ModeFlg_CLIMB | ModeFlg_SWIM |
|
||||
ModeFlg_00080000 | ModeFlg_GRAB | ModeFlg_PUSHPULL | ModeFlg_LADDER | ModeFlg_CROUCH |
|
||||
ModeFlg_CRAWL
|
||||
)) ||
|
||||
(mCurProc == daPyProc_SHIP_BOOMERANG_e))
|
||||
{
|
||||
mActorKeepEquip = mActorKeepThrow;
|
||||
mActorKeepThrow.clearData();
|
||||
mEquipItem = dItem_BOOMERANG_e;
|
||||
@@ -84,13 +82,15 @@ int daPy_lk_c::returnBoomerang() {
|
||||
|
||||
/* 801497A4-8014984C .text checkNextActionBoomerangReady__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::checkNextActionBoomerangReady() {
|
||||
if ((!itemButton()) &&
|
||||
((mpAttnActorLockOn != NULL ||
|
||||
(dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, 0x10))))) {
|
||||
if ((!itemButton()) && (mpAttnActorLockOn != NULL || (dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, 0x10)))) {
|
||||
setActAnimeUpper(
|
||||
LKANM_BCK_BOOMTHROW, UPPER_MOVE2_e, daPy_HIO_boom_c0::m.field_0x4,
|
||||
daPy_HIO_boom_c0::m.field_0x8, daPy_HIO_boom_c0::m.field_0x0,
|
||||
daPy_HIO_boom_c0::m.field_0xC);
|
||||
LKANM_BCK_BOOMTHROW,
|
||||
UPPER_MOVE2_e,
|
||||
daPy_HIO_boom_c0::m.field_0x4,
|
||||
daPy_HIO_boom_c0::m.field_0x8,
|
||||
daPy_HIO_boom_c0::m.field_0x0,
|
||||
daPy_HIO_boom_c0::m.field_0xC
|
||||
);
|
||||
setPriTextureAnime(0x48, 0);
|
||||
return true;
|
||||
}
|
||||
@@ -103,9 +103,14 @@ BOOL daPy_lk_c::checkNextActionBoomerangFly() {
|
||||
checkNextActionBoomerangReady();
|
||||
} else {
|
||||
if ((itemTrigger()) && (mEquipItem == getReadyItem())) {
|
||||
setActAnimeUpper(LKANM_BCK_BOOMWAIT, UPPER_MOVE2_e,
|
||||
daPy_HIO_boom_c0::m.field_0x18, 0.0f, -1,
|
||||
daPy_HIO_basic_c0::m.field_0xC);
|
||||
setActAnimeUpper(
|
||||
LKANM_BCK_BOOMWAIT,
|
||||
UPPER_MOVE2_e,
|
||||
daPy_HIO_boom_c0::m.field_0x18,
|
||||
0.0f,
|
||||
-1,
|
||||
daPy_HIO_basic_c0::m.field_0xC
|
||||
);
|
||||
}
|
||||
}
|
||||
return;
|
||||
@@ -127,14 +132,17 @@ BOOL daPy_lk_c::checkNextBoomerangMode() {
|
||||
/* 80149964-80149A44 .text changeBoomerangCatchProc__9daPy_lk_cFv */
|
||||
int daPy_lk_c::changeBoomerangCatchProc() {
|
||||
if (checkNoResetFlg0(daPyFlg0_UNK20)) {
|
||||
if ((((!dComIfGp_event_runCheck()) && (mDemo.getDemoType() == 0)) &&
|
||||
(checkModeFlg(ModeFlg_00020000))) &&
|
||||
((m_anm_heap_upper[UPPER_MOVE2_e].mIdx == 0xffff ||
|
||||
(checkBoomerangThrowAnime())))) {
|
||||
if ((((!dComIfGp_event_runCheck()) && (mDemo.getDemoType() == 0)) && (checkModeFlg(ModeFlg_00020000))) &&
|
||||
(m_anm_heap_upper[UPPER_MOVE2_e].mIdx == 0xffff || (checkBoomerangThrowAnime())))
|
||||
{
|
||||
setActAnimeUpper(
|
||||
LKANM_BCK_BOOMCATCH, UPPER_MOVE2_e,
|
||||
daPy_HIO_boom_c0::m.field_0x20, daPy_HIO_boom_c0::m.field_0x24,
|
||||
daPy_HIO_boom_c0::m.field_0x2, daPy_HIO_boom_c0::m.field_0x28);
|
||||
LKANM_BCK_BOOMCATCH,
|
||||
UPPER_MOVE2_e,
|
||||
daPy_HIO_boom_c0::m.field_0x20,
|
||||
daPy_HIO_boom_c0::m.field_0x24,
|
||||
daPy_HIO_boom_c0::m.field_0x2,
|
||||
daPy_HIO_boom_c0::m.field_0x28
|
||||
);
|
||||
setPriTextureAnime(0x49, 0);
|
||||
seStartOnlyReverb(JA_SE_LK_BOOM_CATCH);
|
||||
if (checkModeFlg(ModeFlg_00000001)) {
|
||||
@@ -157,8 +165,7 @@ BOOL daPy_lk_c::procBoomerangSubject_init() {
|
||||
mVelocity = 0.0f;
|
||||
|
||||
setActAnimeUpper(LKANM_BCK_BOOMWAIT, UPPER_MOVE2_e, 0.0f, 0.0f, -1, -1.0f);
|
||||
setSingleMoveAnime(ANM_ATNRS, 0.0f, 0.0f, -1,
|
||||
daPy_HIO_basic_c0::m.field_0xC);
|
||||
setSingleMoveAnime(ANM_ATNRS, 0.0f, 0.0f, -1, daPy_HIO_basic_c0::m.field_0xC);
|
||||
|
||||
dComIfGp_setPlayerStatus0(0, daPyStts0_BOOMERANG_AIM_e);
|
||||
|
||||
@@ -185,8 +192,7 @@ BOOL daPy_lk_c::procBoomerangSubject() {
|
||||
|
||||
if (checkNextMode(0) == 0) {
|
||||
if (setBodyAngleToCamera()) {
|
||||
daBoomerang_c *boomerang =
|
||||
(daBoomerang_c *)mActorKeepEquip.getActor();
|
||||
daBoomerang_c* boomerang = (daBoomerang_c*)mActorKeepEquip.getActor();
|
||||
if (boomerang != NULL) {
|
||||
cXyz sight;
|
||||
checkSightLine(boomerang->getFlyMax(), &sight);
|
||||
@@ -213,8 +219,7 @@ BOOL daPy_lk_c::procBoomerangMove_init() {
|
||||
m34B8 = 3;
|
||||
current.angle.y = shape_angle.y + -0x4000;
|
||||
}
|
||||
setActAnimeUpper(LKANM_BCK_BOOMWAIT, UPPER_MOVE2_e,
|
||||
daPy_HIO_boom_c0::m.field_0x18, 0.0f, -1, -1.0f);
|
||||
setActAnimeUpper(LKANM_BCK_BOOMWAIT, UPPER_MOVE2_e, daPy_HIO_boom_c0::m.field_0x18, 0.0f, -1, -1.0f);
|
||||
setBlendAtnMoveAnime(daPy_HIO_basic_c0::m.field_0xC);
|
||||
dComIfGp_setPlayerStatus0(0, daPyStts0_BOOMERANG_AIM_e);
|
||||
return true;
|
||||
@@ -255,10 +260,13 @@ BOOL daPy_lk_c::procBoomerangCatch_init() {
|
||||
return false;
|
||||
} else {
|
||||
commonProcInit(daPyProc_BOOMERANG_CATCH_e);
|
||||
setSingleMoveAnime(ANM_BOOMCATCH, daPy_HIO_boom_c0::m.field_0x20,
|
||||
daPy_HIO_boom_c0::m.field_0x24,
|
||||
daPy_HIO_boom_c0::m.field_0x2,
|
||||
daPy_HIO_boom_c0::m.field_0x28);
|
||||
setSingleMoveAnime(
|
||||
ANM_BOOMCATCH,
|
||||
daPy_HIO_boom_c0::m.field_0x20,
|
||||
daPy_HIO_boom_c0::m.field_0x24,
|
||||
daPy_HIO_boom_c0::m.field_0x2,
|
||||
daPy_HIO_boom_c0::m.field_0x28
|
||||
);
|
||||
offNoResetFlg0(daPyFlg0_UNK20);
|
||||
}
|
||||
return true;
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
int daPy_lk_c::changeBottleDrinkFace(int param_0) {
|
||||
if ((param_0 == 0x55) || (param_0 == 0x54)) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 80151E60-80152128 .text setBottleModel__9daPy_lk_cFUs */
|
||||
@@ -32,8 +32,7 @@ void daPy_lk_c::setBottleModel(u16) {
|
||||
void daPy_lk_c::makeFairy(cXyz* param_0, u32 param_1) {
|
||||
onResetFlg0(daPyRFlg0_FAIRY_USE);
|
||||
resetCurse();
|
||||
fopAcM_fastCreate(PROC_NPC_FA1, param_1, param_0, fopAcM_GetRoomNo(this),
|
||||
&shape_angle);
|
||||
fopAcM_fastCreate(PROC_NPC_FA1, param_1, param_0, fopAcM_GetRoomNo(this), &shape_angle);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -41,27 +40,30 @@ void daPy_lk_c::makeFairy(cXyz* param_0, u32 param_1) {
|
||||
BOOL daPy_lk_c::procBottleDrink_init(u16 param_0) {
|
||||
if (!dComIfGp_event_compulsory(this)) {
|
||||
return false;
|
||||
} else {
|
||||
} else {
|
||||
mDemo.setDemoType(5);
|
||||
int iVar1 = checkShipRideUseItem(1);
|
||||
commonProcInit(daPyProc_BOTTLE_DRINK_e);
|
||||
current.angle.y = shape_angle.y;
|
||||
mVelocity = 0.0f;
|
||||
setSingleMoveAnime(ANM_BINDRINKPRE, 1.0f, daPy_HIO_bottle_c0::m.field_0x5C,
|
||||
daPy_HIO_bottle_c0::m.field_0xC,
|
||||
daPy_HIO_bottle_c0::m.field_0x60);
|
||||
setSingleMoveAnime(
|
||||
ANM_BINDRINKPRE,
|
||||
1.0f,
|
||||
daPy_HIO_bottle_c0::m.field_0x5C,
|
||||
daPy_HIO_bottle_c0::m.field_0xC,
|
||||
daPy_HIO_bottle_c0::m.field_0x60
|
||||
);
|
||||
if (changeBottleDrinkFace(param_0)) {
|
||||
setTextureAnime(0x85, 0);
|
||||
setTextureAnime(0x85, 0);
|
||||
}
|
||||
keepItemData();
|
||||
setBottleModel(param_0);
|
||||
dComIfGp_setPlayerStatus1(0, daPyStts1_UNK2000_e);
|
||||
m3570 = 1;
|
||||
dCam_getBody()->StartEventCamera(0x12, fopAcM_GetID(this), "Type", &m3570,
|
||||
0);
|
||||
dCam_getBody()->StartEventCamera(0x12, fopAcM_GetID(this), "Type", &m3570, 0);
|
||||
initShipRideUseItem(iVar1, 2);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 80152300-80152624 .text procBottleDrink__9daPy_lk_cFv */
|
||||
@@ -73,41 +75,44 @@ BOOL daPy_lk_c::procBottleDrink() {
|
||||
BOOL daPy_lk_c::procBottleOpen_init(u16 param_0) {
|
||||
if (mCurProc == daPyProc_BOTTLE_OPEN_e) {
|
||||
return true;
|
||||
} else {
|
||||
} else {
|
||||
if (mDemo.getDemoMode() != 0x3d) {
|
||||
if (!dComIfGp_event_compulsory(this)) {
|
||||
return false;
|
||||
}
|
||||
mDemo.setDemoType(5);
|
||||
if (!dComIfGp_event_compulsory(this)) {
|
||||
return false;
|
||||
}
|
||||
mDemo.setDemoType(5);
|
||||
} else {
|
||||
param_0 = dComIfGp_event_getPreItemNo();
|
||||
param_0 = dComIfGp_event_getPreItemNo();
|
||||
}
|
||||
int iVar1 = checkShipRideUseItem(1);
|
||||
commonProcInit(daPyProc_BOTTLE_OPEN_e);
|
||||
current.angle.y = shape_angle.y;
|
||||
mVelocity = 0.0f;
|
||||
setSingleMoveAnime(ANM_BINOPENPRE, 1.0f, daPy_HIO_bottle_c0::m.field_0x3C,
|
||||
daPy_HIO_bottle_c0::m.field_0x6,
|
||||
daPy_HIO_bottle_c0::m.field_0x40);
|
||||
setSingleMoveAnime(
|
||||
ANM_BINOPENPRE,
|
||||
1.0f,
|
||||
daPy_HIO_bottle_c0::m.field_0x3C,
|
||||
daPy_HIO_bottle_c0::m.field_0x6,
|
||||
daPy_HIO_bottle_c0::m.field_0x40
|
||||
);
|
||||
keepItemData();
|
||||
setBottleModel(param_0);
|
||||
dComIfGp_setPlayerStatus1(0, daPyStts1_UNK4000_e);
|
||||
if (mEquipItem == dItem_FAIRY_BOTTLE_e) {
|
||||
m3570 = 3;
|
||||
m3570 = 3;
|
||||
} else {
|
||||
m3570 = 2;
|
||||
m3570 = 2;
|
||||
}
|
||||
if (mDemo.getDemoMode() != 0x3d) {
|
||||
dCam_getBody()->StartEventCamera(0x12, fopAcM_GetID(this), "Type", &m3570,
|
||||
0);
|
||||
dCam_getBody()->StartEventCamera(0x12, fopAcM_GetID(this), "Type", &m3570, 0);
|
||||
}
|
||||
initShipRideUseItem(iVar1, 2);
|
||||
m34D4 = 0;
|
||||
m34D6 = 0;
|
||||
m34D0 = -1;
|
||||
m34D8 = 0;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 801527CC-80152ED0 .text procBottleOpen__9daPy_lk_cFv */
|
||||
@@ -122,40 +127,46 @@ BOOL daPy_lk_c::procBottleSwing_init(int param_0) {
|
||||
/* Nonmatching - missing "lwz" instruction */
|
||||
BOOL bVar1;
|
||||
int iVar2;
|
||||
fopAc_ac_c *iVar3;
|
||||
|
||||
fopAc_ac_c* iVar3;
|
||||
|
||||
iVar2 = checkShipRideUseItem(1);
|
||||
commonProcInit(daPyProc_BOTTLE_SWING_e);
|
||||
if ((int)param_0 != 0) {
|
||||
deleteEquipItem(0);
|
||||
setBottleModel(0x50);
|
||||
deleteEquipItem(0);
|
||||
setBottleModel(0x50);
|
||||
}
|
||||
current.angle.y = shape_angle.y;
|
||||
mVelocity = 0.0f;
|
||||
iVar3 = dComIfGp_att_getCatghTarget();
|
||||
if (iVar3 != 0) {
|
||||
if (iVar3->current.pos.y > mpCLModel->getBaseScale()->y) {
|
||||
bVar1 = false;
|
||||
} else {
|
||||
bVar1 = true;
|
||||
}
|
||||
if (iVar3->current.pos.y > mpCLModel->getBaseScale()->y) {
|
||||
bVar1 = false;
|
||||
} else {
|
||||
bVar1 = true;
|
||||
}
|
||||
} else if (m35D0 > 10.0f + current.pos.y) {
|
||||
bVar1 = true;
|
||||
bVar1 = true;
|
||||
} else {
|
||||
bVar1 = false;
|
||||
bVar1 = false;
|
||||
}
|
||||
if (bVar1) {
|
||||
setSingleMoveAnime(ANM_BINSWINGU, daPy_HIO_bottle_c0::m.field_0x20,
|
||||
daPy_HIO_bottle_c0::m.field_0x24,
|
||||
daPy_HIO_bottle_c0::m.field_0x2,
|
||||
daPy_HIO_bottle_c0::m.field_0x2C);
|
||||
m35A0 = daPy_HIO_bottle_c0::m.field_0x28;
|
||||
setSingleMoveAnime(
|
||||
ANM_BINSWINGU,
|
||||
daPy_HIO_bottle_c0::m.field_0x20,
|
||||
daPy_HIO_bottle_c0::m.field_0x24,
|
||||
daPy_HIO_bottle_c0::m.field_0x2,
|
||||
daPy_HIO_bottle_c0::m.field_0x2C
|
||||
);
|
||||
m35A0 = daPy_HIO_bottle_c0::m.field_0x28;
|
||||
} else {
|
||||
setSingleMoveAnime(ANM_BINSWINGS, daPy_HIO_bottle_c0::m.field_0x10,
|
||||
daPy_HIO_bottle_c0::m.field_0x14,
|
||||
daPy_HIO_bottle_c0::m.field_0x0,
|
||||
daPy_HIO_bottle_c0::m.field_0x1C);
|
||||
m35A0 = daPy_HIO_bottle_c0::m.field_0x18;
|
||||
setSingleMoveAnime(
|
||||
ANM_BINSWINGS,
|
||||
daPy_HIO_bottle_c0::m.field_0x10,
|
||||
daPy_HIO_bottle_c0::m.field_0x14,
|
||||
daPy_HIO_bottle_c0::m.field_0x0,
|
||||
daPy_HIO_bottle_c0::m.field_0x1C
|
||||
);
|
||||
m35A0 = daPy_HIO_bottle_c0::m.field_0x18;
|
||||
}
|
||||
m3570 = 0;
|
||||
m3574 = 0;
|
||||
@@ -174,17 +185,19 @@ BOOL daPy_lk_c::procBottleSwing() {
|
||||
BOOL daPy_lk_c::procBottleGet_init() {
|
||||
int iVar1 = checkShipRideUseItem(0);
|
||||
commonProcInit(daPyProc_BOTTLE_GET_e);
|
||||
setSingleMoveAnime(ANM_BINGET, daPy_HIO_bottle_c0::m.field_0x30,
|
||||
daPy_HIO_bottle_c0::m.field_0x34,
|
||||
daPy_HIO_bottle_c0::m.field_0x4,
|
||||
daPy_HIO_bottle_c0::m.field_0x38);
|
||||
setSingleMoveAnime(
|
||||
ANM_BINGET,
|
||||
daPy_HIO_bottle_c0::m.field_0x30,
|
||||
daPy_HIO_bottle_c0::m.field_0x34,
|
||||
daPy_HIO_bottle_c0::m.field_0x4,
|
||||
daPy_HIO_bottle_c0::m.field_0x38
|
||||
);
|
||||
dComIfGp_setPlayerStatus1(0, daPyStts1_UNK1000_e);
|
||||
m3628 = fpcM_ERROR_PROCESS_ID_e;
|
||||
m3570 = 0;
|
||||
dCam_getBody()->StartEventCamera(0x12, fopAcM_GetID(this), "Type", &m3570, 0);
|
||||
if (mEquipItem == dItem_FOREST_WATER_e) {
|
||||
m32F0.makeEmitter(dPa_name::ID_COMMON_020D,
|
||||
mpEquipItemModel->getBaseTRMtx(), ¤t.pos, NULL);
|
||||
m32F0.makeEmitter(dPa_name::ID_COMMON_020D, mpEquipItemModel->getBaseTRMtx(), ¤t.pos, NULL);
|
||||
}
|
||||
initShipRideUseItem(iVar1, 2);
|
||||
return true;
|
||||
@@ -193,23 +206,22 @@ BOOL daPy_lk_c::procBottleGet_init() {
|
||||
/* 80153438-80153554 .text procBottleGet__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procBottleGet() {
|
||||
/* Nonmatching - floats */
|
||||
J3DFrameCtrl &frameCtrl = mFrameCtrlUnder[UNDER_MOVE0_e];
|
||||
J3DFrameCtrl& frameCtrl = mFrameCtrlUnder[UNDER_MOVE0_e];
|
||||
|
||||
setShipRidePosUseItem();
|
||||
if ((frameCtrl.getRate() < 0.0099999998f) &&
|
||||
(checkEndMessage(mEquipItem + 0x65))) {
|
||||
dComIfGp_event_reset();
|
||||
dCam_getBody()->EndEventCamera(fopAcM_GetID(this));
|
||||
deleteEquipItem(0);
|
||||
endDemoMode();
|
||||
if ((frameCtrl.getRate() < 0.01f) && (checkEndMessage(mEquipItem + 0x65))) {
|
||||
dComIfGp_event_reset();
|
||||
dCam_getBody()->EndEventCamera(fopAcM_GetID(this));
|
||||
deleteEquipItem(0);
|
||||
endDemoMode();
|
||||
} else {
|
||||
if (frameCtrl.getFrame() >= 9.0f) {
|
||||
m355E = 1;
|
||||
}
|
||||
if (frameCtrl.getFrame() >= 9.0f) {
|
||||
m355E = 1;
|
||||
}
|
||||
}
|
||||
if (frameCtrl.checkPass(39.0f)) {
|
||||
mDoAud_seStart(JA_SE_ME_ITEM_GET_S);
|
||||
g_dComIfG_gameInfo.play.field_0x4977 = 2;
|
||||
mDoAud_seStart(JA_SE_ME_ITEM_GET_S);
|
||||
g_dComIfG_gameInfo.play.field_0x4977 = 2;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -23,8 +23,7 @@ BOOL daPy_lk_c::bowJointCB(int param_0) {
|
||||
} else {
|
||||
if (param_0 == 6) {
|
||||
mDoMtx_trans(mDoMtx_stack_c::now, 0.0f, 4.5f, 4.5f);
|
||||
mDoMtx_concat(mpEquipItemModel->getAnmMtx(6), mDoMtx_stack_c::now,
|
||||
mDoMtx_stack_c::now);
|
||||
mDoMtx_concat(mpEquipItemModel->getAnmMtx(6), mDoMtx_stack_c::now, mDoMtx_stack_c::now);
|
||||
mpEquipItemModel->setAnmMtx(param_0, mDoMtx_stack_c::now);
|
||||
} else {
|
||||
mpEquipItemModel->setAnmMtx(11, mpEquipItemModel->getAnmMtx(6));
|
||||
@@ -34,12 +33,12 @@ BOOL daPy_lk_c::bowJointCB(int param_0) {
|
||||
}
|
||||
|
||||
/* 80149F88-80149FD0 .text daPy_bowJointCB__FP7J3DNodei */
|
||||
static BOOL daPy_bowJointCB(J3DNode *node, int calcTiming) {
|
||||
static BOOL daPy_bowJointCB(J3DNode* node, int calcTiming) {
|
||||
if (calcTiming == J3DNodeCBCalcTiming_In) {
|
||||
J3DJoint *joint = static_cast<J3DJoint *>(node);
|
||||
J3DJoint* joint = static_cast<J3DJoint*>(node);
|
||||
s32 jntNo = joint->getJntNo();
|
||||
J3DModel *model = j3dSys.getModel();
|
||||
daPy_lk_c *i_this = reinterpret_cast<daPy_lk_c *>(model->getUserArea());
|
||||
J3DModel* model = j3dSys.getModel();
|
||||
daPy_lk_c* i_this = reinterpret_cast<daPy_lk_c*>(model->getUserArea());
|
||||
if (i_this != 0) {
|
||||
i_this->bowJointCB(jntNo);
|
||||
}
|
||||
@@ -64,18 +63,17 @@ BOOL daPy_lk_c::checkBowReadyAnime() const {
|
||||
|
||||
/* 8014A02C-8014A080 .text checkBowAnime__9daPy_lk_cCFv */
|
||||
BOOL daPy_lk_c::checkBowAnime() const {
|
||||
return (checkBowReadyAnime()) ||
|
||||
(m_anm_heap_upper[UPPER_MOVE2_e].mIdx == LKANM_BCK_ARROWSHOOT);
|
||||
return (checkBowReadyAnime()) || (m_anm_heap_upper[UPPER_MOVE2_e].mIdx == LKANM_BCK_ARROWSHOOT);
|
||||
}
|
||||
|
||||
/* 8014A080-8014A180 .text makeArrow__9daPy_lk_cFv */
|
||||
void daPy_lk_c::makeArrow() {
|
||||
/* Nonmatching */
|
||||
void daPy_lk_c::makeArrow() {
|
||||
/* Nonmatching */
|
||||
}
|
||||
|
||||
/* 8014A180-8014A1CC .text deleteArrow__9daPy_lk_cFv */
|
||||
void daPy_lk_c::deleteArrow() {
|
||||
fopAc_ac_c *pfVar1 = mActorKeepEquip.getActor();
|
||||
fopAc_ac_c* pfVar1 = mActorKeepEquip.getActor();
|
||||
|
||||
if ((pfVar1 != NULL) && (fopAcM_GetName(pfVar1) == PROC_ARROW)) {
|
||||
fopAcM_delete(pfVar1);
|
||||
@@ -86,9 +84,14 @@ void daPy_lk_c::deleteArrow() {
|
||||
|
||||
/* 8014A1CC-8014A2A0 .text setBowReadyAnime__9daPy_lk_cFv */
|
||||
void daPy_lk_c::setBowReadyAnime() {
|
||||
setActAnimeUpper(LKANM_BCK_ARROWSHOOT, UPPER_MOVE2_e, 1.0f,
|
||||
daPy_HIO_bow_c0::m.field_0x0 - 0.001f,
|
||||
daPy_HIO_bow_c0::m.field_0x0, 10.0f);
|
||||
setActAnimeUpper(
|
||||
LKANM_BCK_ARROWSHOOT,
|
||||
UPPER_MOVE2_e,
|
||||
1.0f,
|
||||
daPy_HIO_bow_c0::m.field_0x0 - 0.001f,
|
||||
daPy_HIO_bow_c0::m.field_0x0,
|
||||
10.0f
|
||||
);
|
||||
mSwordAnim.changeBckOnly(getItemAnimeResource(LKANM_BCK_ARROWSHOOTA));
|
||||
m35EC = daPy_HIO_bow_c0::m.field_0x0 - 0.001f;
|
||||
setPriTextureAnime(0x70, 0);
|
||||
@@ -100,9 +103,13 @@ void daPy_lk_c::setBowReadyAnime() {
|
||||
/* 8014A2A0-8014A328 .text setBowReloadAnime__9daPy_lk_cFv */
|
||||
void daPy_lk_c::setBowReloadAnime() {
|
||||
setActAnimeUpper(
|
||||
LKANM_BCK_ARROWRELORD, UPPER_MOVE2_e, daPy_HIO_bow_c0::m.field_0x10,
|
||||
daPy_HIO_bow_c0::m.field_0x14, daPy_HIO_bow_c0::m.field_0x2,
|
||||
daPy_HIO_bow_c0::m.field_0x18);
|
||||
LKANM_BCK_ARROWRELORD,
|
||||
UPPER_MOVE2_e,
|
||||
daPy_HIO_bow_c0::m.field_0x10,
|
||||
daPy_HIO_bow_c0::m.field_0x14,
|
||||
daPy_HIO_bow_c0::m.field_0x2,
|
||||
daPy_HIO_bow_c0::m.field_0x18
|
||||
);
|
||||
setPriTextureAnime(0x8d, 0);
|
||||
mSwordAnim.changeBckOnly(getItemAnimeResource(LKANM_BCK_ARROWRELORDA));
|
||||
m35EC = 0.0f;
|
||||
@@ -115,15 +122,18 @@ BOOL daPy_lk_c::checkNextActionBowReady() {
|
||||
/* Nonmatching - branching, regalloc */
|
||||
u16 uVar1 = m_anm_heap_upper[UPPER_MOVE2_e].mIdx;
|
||||
if (uVar1 == LKANM_BCK_BOWWAIT) {
|
||||
daArrow_c *bow = (daArrow_c *)mActorKeepEquip.getActor();
|
||||
daArrow_c* bow = (daArrow_c*)mActorKeepEquip.getActor();
|
||||
if (m355C != 0) {
|
||||
setActAnimeUpper(
|
||||
LKANM_BCK_ARROWSHOOT, UPPER_MOVE2_e,
|
||||
daPy_HIO_bow_c0::m.field_0x4, daPy_HIO_bow_c0::m.field_0x8,
|
||||
daPy_HIO_bow_c0::m.field_0x0, daPy_HIO_bow_c0::m.field_0xC);
|
||||
LKANM_BCK_ARROWSHOOT,
|
||||
UPPER_MOVE2_e,
|
||||
daPy_HIO_bow_c0::m.field_0x4,
|
||||
daPy_HIO_bow_c0::m.field_0x8,
|
||||
daPy_HIO_bow_c0::m.field_0x0,
|
||||
daPy_HIO_bow_c0::m.field_0xC
|
||||
);
|
||||
setPriTextureAnime(0x70, 0);
|
||||
mSwordAnim.changeBckOnly(
|
||||
getItemAnimeResource(LKANM_BCK_ARROWSHOOTA));
|
||||
mSwordAnim.changeBckOnly(getItemAnimeResource(LKANM_BCK_ARROWSHOOTA));
|
||||
m35EC = 0.0f;
|
||||
} else {
|
||||
if (bowButton() == NULL) {
|
||||
@@ -140,9 +150,9 @@ BOOL daPy_lk_c::checkNextActionBowReady() {
|
||||
m355C = 1;
|
||||
} else {
|
||||
if (bow->changeArrowMp()) {
|
||||
if (((mEquipItem != dItem_BOW_e) &&
|
||||
(dComIfGp_setRStatus(0x22), spActionTrigger())) &&
|
||||
(bow != NULL)) {
|
||||
if (((mEquipItem != dItem_BOW_e) && (dComIfGp_setRStatus(0x22), spActionTrigger())) &&
|
||||
(bow != NULL))
|
||||
{
|
||||
bow = bow->changeArrowType();
|
||||
mActorKeepEquip.setData(bow);
|
||||
setBowReloadAnime();
|
||||
@@ -154,8 +164,7 @@ BOOL daPy_lk_c::checkNextActionBowReady() {
|
||||
}
|
||||
if (uVar1 == LKANM_BCK_ARROWRELORD) {
|
||||
if (mFrameCtrlUpper[UPPER_MOVE2_e].getRate() < 0.01f) {
|
||||
setActAnimeUpper(LKANM_BCK_BOWWAIT, UPPER_MOVE2_e, 1.0f, 0.0f, -1,
|
||||
-1.0f);
|
||||
setActAnimeUpper(LKANM_BCK_BOWWAIT, UPPER_MOVE2_e, 1.0f, 0.0f, -1, -1.0f);
|
||||
mSwordAnim.changeBckOnly(getItemAnimeResource(LKANM_BCK_BOWWAITA));
|
||||
m35EC = 0.0f;
|
||||
setPriTextureAnime(0x70, 0);
|
||||
@@ -180,10 +189,9 @@ BOOL daPy_lk_c::checkNextActionBowReady() {
|
||||
}
|
||||
}
|
||||
LAB_8014a5a0:
|
||||
daArrow_c *bow;
|
||||
daArrow_c* bow;
|
||||
if (bow->changeArrowMp()) {
|
||||
if ((mEquipItem != dItem_BOW_e) &&
|
||||
(dComIfGp_setRStatus(0x22), spActionTrigger())) {
|
||||
if ((mEquipItem != dItem_BOW_e) && (dComIfGp_setRStatus(0x22), spActionTrigger())) {
|
||||
bow->changeArrowTypeNotReady();
|
||||
}
|
||||
}
|
||||
@@ -223,21 +231,16 @@ BOOL daPy_lk_c::checkNextBowMode() {
|
||||
/* 8014A6F4-8014A834 .text setBowModel__9daPy_lk_cFv */
|
||||
void daPy_lk_c::setBowModel() {
|
||||
/* Nonmatching - regalloc */
|
||||
J3DAnmTransform *bck = getItemAnimeResource(LKANM_BCK_ARROWRELORDA);
|
||||
JKRHeap *oldHeap = setItemHeap();
|
||||
J3DModelData *tmp_modelData =
|
||||
initModel(&mpEquipItemModel, LINK_BDL_BOW, 0x37221222);
|
||||
int ret = mSwordAnim.init(tmp_modelData, bck, false,
|
||||
J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, false);
|
||||
J3DAnmTransform* bck = getItemAnimeResource(LKANM_BCK_ARROWRELORDA);
|
||||
JKRHeap* oldHeap = setItemHeap();
|
||||
J3DModelData* tmp_modelData = initModel(&mpEquipItemModel, LINK_BDL_BOW, 0x37221222);
|
||||
int ret = mSwordAnim.init(tmp_modelData, bck, false, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, false);
|
||||
if (!ret) {
|
||||
JUT_ASSERT(394, FALSE);
|
||||
}
|
||||
mDoExt_setCurrentHeap(oldHeap);
|
||||
m35EC = 0.0f;
|
||||
J3DMaterial *mesh = mpEquipItemModel->getModelData()
|
||||
->getJointNodePointer(0x00)
|
||||
->getMesh()
|
||||
->getNext();
|
||||
J3DMaterial* mesh = mpEquipItemModel->getModelData()->getJointNodePointer(0x00)->getMesh()->getNext();
|
||||
mesh->getNext()->getShape()->show();
|
||||
mesh->getShape()->hide();
|
||||
tmp_modelData->getJointNodePointer(6)->setCallBack(daPy_bowJointCB);
|
||||
@@ -256,8 +259,7 @@ BOOL daPy_lk_c::procBowSubject_init() {
|
||||
if (!checkBowAnime()) {
|
||||
setBowReadyAnime();
|
||||
}
|
||||
setSingleMoveAnime(ANM_ATNRS, 0.0f, 0.0f, -1,
|
||||
daPy_HIO_basic_c0::m.field_0xC);
|
||||
setSingleMoveAnime(ANM_ATNRS, 0.0f, 0.0f, -1, daPy_HIO_basic_c0::m.field_0xC);
|
||||
|
||||
mVelocity = 0.0f;
|
||||
|
||||
|
||||
+207
-219
@@ -15,9 +15,8 @@
|
||||
|
||||
/* 80135B50-80135B74 .text getClimbMoveAnmSpeed__9daPy_lk_cFv */
|
||||
f32 daPy_lk_c::getClimbMoveAnmSpeed() {
|
||||
return (daPy_HIO_ladder_c0::m.field_0x34 +
|
||||
(mStickDistance * (daPy_HIO_ladder_c0::m.field_0x30 -
|
||||
daPy_HIO_ladder_c0::m.field_0x34)));
|
||||
return daPy_HIO_ladder_c0::m.field_0x34 +
|
||||
(mStickDistance * (daPy_HIO_ladder_c0::m.field_0x30 - daPy_HIO_ladder_c0::m.field_0x34));
|
||||
}
|
||||
|
||||
/* 80135B74-80135DA0 .text setClimbShapeOffset__9daPy_lk_cFv */
|
||||
@@ -27,7 +26,7 @@ void daPy_lk_c::setClimbShapeOffset() {
|
||||
cXyz local_4c;
|
||||
cXyz local_58;
|
||||
cXyz local_64;
|
||||
|
||||
|
||||
s16 uVar3 = m34EC;
|
||||
s16 uVar4 = shape_angle.y;
|
||||
uVar3 += uVar4;
|
||||
@@ -38,10 +37,8 @@ void daPy_lk_c::setClimbShapeOffset() {
|
||||
local_58.y = current.pos.y - 62.5f;
|
||||
f32 fVar1 = cM_scos((int)(uint)uVar4 & 0xffffU);
|
||||
local_58.z = current.pos.z + 20.5f * fVar1;
|
||||
local_40.set(local_58.x - fVar4 * 50.0f, local_58.y,
|
||||
local_58.z - fVar3 * 50.0f);
|
||||
local_4c.set(local_58.x + fVar4 * 50.0f, local_58.y,
|
||||
local_58.z + fVar3 * 50.0f);
|
||||
local_40.set(local_58.x - fVar4 * 50.0f, local_58.y, local_58.z - fVar3 * 50.0f);
|
||||
local_4c.set(local_58.x + fVar4 * 50.0f, local_58.y, local_58.z + fVar3 * 50.0f);
|
||||
f32 dVar10 = fVar3 * 20.0f;
|
||||
f32 dVar9 = fVar4 * -20.0f;
|
||||
local_40.x += dVar10;
|
||||
@@ -50,10 +47,10 @@ void daPy_lk_c::setClimbShapeOffset() {
|
||||
local_4c.z += dVar9;
|
||||
mLinkLinChk.Set(&local_40, &local_4c, this);
|
||||
if (dComIfG_Bgsp()->LineCross(&mLinkLinChk)) {
|
||||
local_64 = mLinkLinChk.GetCross();
|
||||
local_64 = mLinkLinChk.GetCross();
|
||||
} else {
|
||||
m34EC = 0;
|
||||
return;
|
||||
m34EC = 0;
|
||||
return;
|
||||
}
|
||||
local_40.x -= dVar10 * 2.0f;
|
||||
local_40.z -= dVar9 * 2.0f;
|
||||
@@ -61,10 +58,10 @@ void daPy_lk_c::setClimbShapeOffset() {
|
||||
local_4c.z -= dVar9 * 2.0f;
|
||||
mLinkLinChk.Set(&local_40, &local_4c, this);
|
||||
if (!dComIfG_Bgsp()->LineCross(&mLinkLinChk)) {
|
||||
m34EC = 0;
|
||||
m34EC = 0;
|
||||
} else {
|
||||
local_64 -= mLinkLinChk.GetCross();
|
||||
m34EC = (cM_atan2s(local_64.x, local_64.z) - 0x4000 - shape_angle.y);
|
||||
local_64 -= mLinkLinChk.GetCross();
|
||||
m34EC = (cM_atan2s(local_64.x, local_64.z) - 0x4000 - shape_angle.y);
|
||||
}
|
||||
return;
|
||||
}
|
||||
@@ -73,17 +70,17 @@ void daPy_lk_c::setClimbShapeOffset() {
|
||||
int daPy_lk_c::getClimbDirectionFromAngle() {
|
||||
s16 angle = m34E8 - shape_angle.y;
|
||||
if (abs(angle) > 0x7000) {
|
||||
return 1;
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
if (angle >= 0x1000) {
|
||||
return 2;
|
||||
return 2;
|
||||
}
|
||||
|
||||
|
||||
if (angle <= -0x1000) {
|
||||
return 3;
|
||||
return 3;
|
||||
}
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -93,12 +90,12 @@ void daPy_lk_c::changeClimbMoveProc(int param_0) {
|
||||
|
||||
sVar1 = m34EC;
|
||||
if (mStickDistance > 0.05f) {
|
||||
m34B8 = getClimbDirectionFromAngle();
|
||||
if ((m34B8 == 0) || (m34B8 == 1)) {
|
||||
procClimbMoveUpDown_init(param_0);
|
||||
} else {
|
||||
procClimbMoveSide_init(param_0);
|
||||
}
|
||||
m34B8 = getClimbDirectionFromAngle();
|
||||
if ((m34B8 == 0) || (m34B8 == 1)) {
|
||||
procClimbMoveUpDown_init(param_0);
|
||||
} else {
|
||||
procClimbMoveSide_init(param_0);
|
||||
}
|
||||
}
|
||||
m34EC = sVar1;
|
||||
return;
|
||||
@@ -107,60 +104,54 @@ void daPy_lk_c::changeClimbMoveProc(int param_0) {
|
||||
/* 80135E98-80136154 .text setMoveBGCorrectClimb__9daPy_lk_cFv */
|
||||
int daPy_lk_c::setMoveBGCorrectClimb() {
|
||||
/* Nonmatching - floats */
|
||||
if ((dComIfG_Bgsp()->ChkPolySafe(mPolyInfo)) &&
|
||||
(dComIfG_Bgsp()->ChkMoveBG(mPolyInfo))) {
|
||||
dComIfG_Bgsp()->MoveBgTransPos(mPolyInfo, true, ¤t.pos,
|
||||
¤t.angle, &shape_angle);
|
||||
}
|
||||
if (checkNoResetFlg1(daPyFlg1_VINE_CATCH)) {
|
||||
return procFall_init(1, daPy_HIO_wallCatch_c0::m.field_0x54);
|
||||
} else {
|
||||
if ((mCurProc == daPyProc_CLIMB_DOWN_START_e) &&
|
||||
(mFrameCtrlUnder[UNDER_MOVE0_e].getRate() > 0.0099999998f)) {
|
||||
if ((dComIfG_Bgsp()->ChkPolySafe(mPolyInfo)) && (dComIfG_Bgsp()->ChkMoveBG(mPolyInfo))) {
|
||||
dComIfG_Bgsp()->MoveBgTransPos(mPolyInfo, true, ¤t.pos, ¤t.angle, &shape_angle);
|
||||
}
|
||||
if (checkNoResetFlg1(daPyFlg1_VINE_CATCH)) {
|
||||
return procFall_init(1, daPy_HIO_wallCatch_c0::m.field_0x54);
|
||||
} else {
|
||||
if ((mCurProc == daPyProc_CLIMB_DOWN_START_e) && (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() > 0.01f)) {
|
||||
return 0;
|
||||
}
|
||||
cXyz local_1c;
|
||||
cXyz local_28;
|
||||
local_1c.set(current.pos.x, current.pos.y + 30.0f, current.pos.z);
|
||||
local_28.set(current.pos.x + cM_ssin(shape_angle.y) * 80.0f, local_1c.y,
|
||||
current.pos.z + cM_scos(shape_angle.y) * 80.0f);
|
||||
mLinkLinChk.Set(&local_1c, &local_28, this);
|
||||
if ((((!dComIfG_Bgsp()->LineCross(&mLinkLinChk)) ||
|
||||
(dComIfG_Bgsp()->GetWallCode(mLinkLinChk) != 1)) ||
|
||||
(std::fabsf(dComIfG_Bgsp()->GetTriPla(mLinkLinChk)->GetNP()->y) >
|
||||
0.05f)) ||
|
||||
(((mCurProc == daPyProc_CLIMB_MOVE_UP_DOWN_e ||
|
||||
(mCurProc == daPyProc_CLIMB_MOVE_SIDE_e)) &&
|
||||
(current.pos.y - 15.0f < mAcch.GetGroundH())))) {
|
||||
}
|
||||
cXyz local_1c;
|
||||
cXyz local_28;
|
||||
local_1c.set(current.pos.x, current.pos.y + 30.0f, current.pos.z);
|
||||
local_28.set(
|
||||
current.pos.x + cM_ssin(shape_angle.y) * 80.0f, local_1c.y, current.pos.z + cM_scos(shape_angle.y) * 80.0f
|
||||
);
|
||||
mLinkLinChk.Set(&local_1c, &local_28, this);
|
||||
if ((((!dComIfG_Bgsp()->LineCross(&mLinkLinChk)) || (dComIfG_Bgsp()->GetWallCode(mLinkLinChk) != 1)) ||
|
||||
(std::fabsf(dComIfG_Bgsp()->GetTriPla(mLinkLinChk)->GetNP()->y) > 0.05f)) ||
|
||||
((mCurProc == daPyProc_CLIMB_MOVE_UP_DOWN_e || (mCurProc == daPyProc_CLIMB_MOVE_SIDE_e)) &&
|
||||
(current.pos.y - 15.0f < mAcch.GetGroundH())))
|
||||
{
|
||||
return procFall_init(1, daPy_HIO_wallCatch_c0::m.field_0x54);
|
||||
} else {
|
||||
cM3dGPla *triPla = dComIfG_Bgsp()->GetTriPla(mLinkLinChk);
|
||||
} else {
|
||||
cM3dGPla* triPla = dComIfG_Bgsp()->GetTriPla(mLinkLinChk);
|
||||
s16 uVar6 = cM_atan2s(triPla->GetNP()->x, triPla->GetNP()->z);
|
||||
if (cLib_distanceAngleS(uVar6, shape_angle.y) <= 0x549f) {
|
||||
return procFall_init(1, daPy_HIO_wallCatch_c0::m.field_0x54);
|
||||
return procFall_init(1, daPy_HIO_wallCatch_c0::m.field_0x54);
|
||||
} else {
|
||||
current.pos.x = mLinkLinChk.GetCrossP()->x + 20.5f * cM_ssin(uVar6);
|
||||
current.pos.z = mLinkLinChk.GetCrossP()->z + 20.5f * cM_scos(uVar6);
|
||||
s16 sVar1 = shape_angle.y;
|
||||
shape_angle.y = uVar6 + 0x8000;
|
||||
current.angle.y += (s16)(shape_angle.y - sVar1);
|
||||
m34EC += (s16)(sVar1 - shape_angle.y);
|
||||
current.pos.x = mLinkLinChk.GetCrossP()->x + 20.5f * cM_ssin(uVar6);
|
||||
current.pos.z = mLinkLinChk.GetCrossP()->z + 20.5f * cM_scos(uVar6);
|
||||
s16 sVar1 = shape_angle.y;
|
||||
shape_angle.y = uVar6 + 0x8000;
|
||||
current.angle.y += (s16)(shape_angle.y - sVar1);
|
||||
m34EC += (s16)(sVar1 - shape_angle.y);
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* 80136154-80136200 .text checkBgCorrectClimbMove__9daPy_lk_cFP4cXyzP4cXyz */
|
||||
BOOL daPy_lk_c::checkBgCorrectClimbMove(cXyz* i_startPos, cXyz* i_endPos) {
|
||||
mLinkLinChk.Set(i_startPos, i_endPos, this);
|
||||
if (dComIfG_Bgsp()->LineCross(&mLinkLinChk)) {
|
||||
cM3dGPla *tri_plane = dComIfG_Bgsp()->GetTriPla(mLinkLinChk);
|
||||
if (cLib_distanceAngleS(
|
||||
cM_atan2s(tri_plane->GetNP()->x, tri_plane->GetNP()->z),
|
||||
shape_angle.y) < 0x549F) {
|
||||
current.pos += mLinkLinChk.GetCross() - *i_endPos;
|
||||
}
|
||||
cM3dGPla* tri_plane = dComIfG_Bgsp()->GetTriPla(mLinkLinChk);
|
||||
if (cLib_distanceAngleS(cM_atan2s(tri_plane->GetNP()->x, tri_plane->GetNP()->z), shape_angle.y) < 0x549F) {
|
||||
current.pos += mLinkLinChk.GetCross() - *i_endPos;
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
@@ -192,45 +183,43 @@ BOOL daPy_lk_c::checkBgClimbMove() {
|
||||
mRoofChk.SetPos(local_5c);
|
||||
f32 dVar3 = dComIfG_Bgsp()->RoofChk(&mRoofChk);
|
||||
if (dVar3 - 125.0f < current.pos.y) {
|
||||
current.pos.y = dVar3 - 125.0f;
|
||||
current.pos.y = dVar3 - 125.0f;
|
||||
}
|
||||
local_5c.set(current.pos.x - dVar5, current.pos.y, current.pos.z - dVar4);
|
||||
mRoofChk.SetPos(local_5c);
|
||||
dVar3 = dComIfG_Bgsp()->RoofChk(&mRoofChk);
|
||||
if (dVar3 - 125.0f < current.pos.y) {
|
||||
current.pos.y = dVar3 - 125.0f;
|
||||
current.pos.y = dVar3 - 125.0f;
|
||||
}
|
||||
local_5c.x = local_68.x + (100.0f * dVar7);
|
||||
local_5c.y = local_68.y;
|
||||
local_5c.z = local_68.z + (100.0f * dVar6);
|
||||
mLinkLinChk.Set(&local_68, &local_5c, this);
|
||||
if (!dComIfG_Bgsp()->LineCross(&mLinkLinChk)) {
|
||||
local_5c.set(current.pos.x + (25.0f * dVar7), local_68.y + 30.0f,
|
||||
current.pos.z + (25.0f * dVar6));
|
||||
mGndChk.SetPos(&local_5c);
|
||||
dVar3 = dComIfG_Bgsp()->GroundCross(&mGndChk);
|
||||
cM3dGPla *triPla;
|
||||
if (((-1.0E+9f != dVar3) && (triPla = dComIfG_Bgsp()->GetTriPla(mGndChk),
|
||||
triPla->GetNP()->y >= 0.5f)) &&
|
||||
(dVar3 >= (local_68.y - 30.0f))) {
|
||||
dVar4 = 3.0f;
|
||||
current.pos.x = local_5c.x - (dVar4 * dVar7);
|
||||
current.pos.y = dVar3;
|
||||
current.pos.z = local_5c.z - (dVar4 * dVar6);
|
||||
procHangClimb_init(daPy_HIO_wallCatch_c0::m.field_0x2C);
|
||||
} else {
|
||||
procFall_init(1, daPy_HIO_wallCatch_c0::m.field_0x54);
|
||||
}
|
||||
local_5c.set(current.pos.x + (25.0f * dVar7), local_68.y + 30.0f, current.pos.z + (25.0f * dVar6));
|
||||
mGndChk.SetPos(&local_5c);
|
||||
dVar3 = dComIfG_Bgsp()->GroundCross(&mGndChk);
|
||||
cM3dGPla* triPla;
|
||||
if (((-1.0E+9f != dVar3) && (triPla = dComIfG_Bgsp()->GetTriPla(mGndChk), triPla->GetNP()->y >= 0.5f)) &&
|
||||
(dVar3 >= (local_68.y - 30.0f)))
|
||||
{
|
||||
dVar4 = 3.0f;
|
||||
current.pos.x = local_5c.x - (dVar4 * dVar7);
|
||||
current.pos.y = dVar3;
|
||||
current.pos.z = local_5c.z - (dVar4 * dVar6);
|
||||
procHangClimb_init(daPy_HIO_wallCatch_c0::m.field_0x2C);
|
||||
} else {
|
||||
procFall_init(1, daPy_HIO_wallCatch_c0::m.field_0x54);
|
||||
}
|
||||
} else {
|
||||
setClimbShapeOffset();
|
||||
setClimbShapeOffset();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
/* 80136588-801365F4 .text procClimbUpStart_init_sub__9daPy_lk_cFv */
|
||||
void daPy_lk_c::procClimbUpStart_init_sub() {
|
||||
setSingleMoveAnime(ANM_LADDERUPST, daPy_HIO_ladder_c0::m.field_0x4, 0.0f, -1,
|
||||
daPy_HIO_ladder_c0::m.field_0x8);
|
||||
setSingleMoveAnime(ANM_LADDERUPST, daPy_HIO_ladder_c0::m.field_0x4, 0.0f, -1, daPy_HIO_ladder_c0::m.field_0x8);
|
||||
m3570 = 1;
|
||||
m34C2 = 4;
|
||||
dComIfGp_setPlayerStatus1(0, daPyStts1_UNK10000_e);
|
||||
@@ -245,15 +234,15 @@ BOOL daPy_lk_c::procClimbUpStart_init() {
|
||||
mVelocity = 0.0f;
|
||||
speedF = 0.0f;
|
||||
if (mEquipItem == daPyItem_NONE_e) {
|
||||
if (checkEquipAnime()) {
|
||||
resetActAnimeUpper(UPPER_MOVE2_e, -1.0f);
|
||||
}
|
||||
procClimbUpStart_init_sub();
|
||||
if (checkEquipAnime()) {
|
||||
resetActAnimeUpper(UPPER_MOVE2_e, -1.0f);
|
||||
}
|
||||
procClimbUpStart_init_sub();
|
||||
} else {
|
||||
setBlendMoveAnime(daPy_HIO_basic_c0::m.field_0xC);
|
||||
setAnimeUnequip();
|
||||
m3570 = 0;
|
||||
m3598 = 0.0f;
|
||||
setBlendMoveAnime(daPy_HIO_basic_c0::m.field_0xC);
|
||||
setAnimeUnequip();
|
||||
m3570 = 0;
|
||||
m3598 = 0.0f;
|
||||
}
|
||||
f32 fVar2 = cM_ssin(m352C);
|
||||
f32 fVar1 = cM_scos(m352C);
|
||||
@@ -269,33 +258,33 @@ BOOL daPy_lk_c::procClimbUpStart_init() {
|
||||
BOOL daPy_lk_c::procClimbUpStart() {
|
||||
/* Nonmatching - floats */
|
||||
if (setMoveBGCorrectClimb()) {
|
||||
return true;
|
||||
return true;
|
||||
} else {
|
||||
if (m3570 == 0) {
|
||||
if (m_anm_heap_upper[UPPER_MOVE2_e].mIdx == 0xffff) {
|
||||
procLadderUpStart_init_sub();
|
||||
}
|
||||
} else {
|
||||
J3DFrameCtrl &frameCtrl = mFrameCtrlUnder[UNDER_MOVE0_e];
|
||||
m34C2 = 5;
|
||||
if (frameCtrl.getRate() < 0.0099999998f) {
|
||||
dComIfGp_setDoStatus(6);
|
||||
if (m34D4 == 0) {
|
||||
setLadderFootSe();
|
||||
m34D4 = 1;
|
||||
}
|
||||
if (doTrigger()) {
|
||||
m34C2 = 0;
|
||||
procFall_init(1, daPy_HIO_wallCatch_c0::m.field_0x54);
|
||||
} else {
|
||||
changeClimbMoveProc(1);
|
||||
}
|
||||
if (m3570 == 0) {
|
||||
if (m_anm_heap_upper[UPPER_MOVE2_e].mIdx == 0xffff) {
|
||||
procLadderUpStart_init_sub();
|
||||
}
|
||||
} else {
|
||||
if (frameCtrl.checkPass(9.0f)) {
|
||||
setLadderFootSe();
|
||||
}
|
||||
J3DFrameCtrl& frameCtrl = mFrameCtrlUnder[UNDER_MOVE0_e];
|
||||
m34C2 = 5;
|
||||
if (frameCtrl.getRate() < 0.01f) {
|
||||
dComIfGp_setDoStatus(6);
|
||||
if (m34D4 == 0) {
|
||||
setLadderFootSe();
|
||||
m34D4 = 1;
|
||||
}
|
||||
if (doTrigger()) {
|
||||
m34C2 = 0;
|
||||
procFall_init(1, daPy_HIO_wallCatch_c0::m.field_0x54);
|
||||
} else {
|
||||
changeClimbMoveProc(1);
|
||||
}
|
||||
} else {
|
||||
if (frameCtrl.checkPass(9.0f)) {
|
||||
setLadderFootSe();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -309,8 +298,7 @@ BOOL daPy_lk_c::procClimbDownStart_init(s16 param_0) {
|
||||
mVelocity = 0.0f;
|
||||
speedF = 0.0f;
|
||||
deleteEquipItem(TRUE);
|
||||
setSingleMoveAnime(ANM_LADDERDWST, daPy_HIO_ladder_c0::m.field_0x14, 30.0f,
|
||||
-1, 3.0f);
|
||||
setSingleMoveAnime(ANM_LADDERDWST, daPy_HIO_ladder_c0::m.field_0x14, 30.0f, -1, 3.0f);
|
||||
dComIfGp_setPlayerStatus1(0, daPyStts1_UNK10000_e);
|
||||
setOldRootQuaternion(0, -0x8000, 0);
|
||||
shape_angle.y = param_0 + 0x8000;
|
||||
@@ -327,24 +315,23 @@ BOOL daPy_lk_c::procClimbDownStart_init(s16 param_0) {
|
||||
BOOL daPy_lk_c::procClimbDownStart() {
|
||||
/* Nonmatching - floats */
|
||||
if (setMoveBGCorrectClimb()) {
|
||||
return true;
|
||||
return true;
|
||||
} else {
|
||||
J3DFrameCtrl &frameCtrl = mFrameCtrlUnder[UNDER_MOVE0_e];
|
||||
m34C2 = 5;
|
||||
if (frameCtrl.getRate() < 0.0099999998f) {
|
||||
dComIfGp_setDoStatus(6);
|
||||
if (doTrigger()) {
|
||||
m34C2 = 0;
|
||||
procFall_init(1, daPy_HIO_wallCatch_c0::m.field_0x54);
|
||||
J3DFrameCtrl& frameCtrl = mFrameCtrlUnder[UNDER_MOVE0_e];
|
||||
m34C2 = 5;
|
||||
if (frameCtrl.getRate() < 0.01f) {
|
||||
dComIfGp_setDoStatus(6);
|
||||
if (doTrigger()) {
|
||||
m34C2 = 0;
|
||||
procFall_init(1, daPy_HIO_wallCatch_c0::m.field_0x54);
|
||||
} else {
|
||||
changeClimbMoveProc(1);
|
||||
}
|
||||
} else {
|
||||
changeClimbMoveProc(1);
|
||||
if (frameCtrl.checkPass(26.0f) || frameCtrl.checkPass(36.0f) || frameCtrl.checkPass(43.0f)) {
|
||||
setLadderFootSe();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (frameCtrl.checkPass(26.0f) || frameCtrl.checkPass(36.0f) ||
|
||||
frameCtrl.checkPass(43.0f)) {
|
||||
setLadderFootSe();
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -358,28 +345,28 @@ BOOL daPy_lk_c::procClimbMoveUpDown_init(int param_0) {
|
||||
commonProcInit(daPyProc_CLIMB_MOVE_UP_DOWN_e);
|
||||
current.angle.y = shape_angle.y;
|
||||
if (m34B8 == 1) {
|
||||
dVar3 *= -1.0f;
|
||||
dVar3 *= -1.0f;
|
||||
}
|
||||
if (param_0 != 0) {
|
||||
m3570 = 0;
|
||||
if (m34B8 == 0) {
|
||||
dVar2 = ANM_LADDERLTOR;
|
||||
} else {
|
||||
dVar2 = ANM_LADDERRTOL;
|
||||
}
|
||||
m3570 = 0;
|
||||
if (m34B8 == 0) {
|
||||
dVar2 = ANM_LADDERLTOR;
|
||||
} else {
|
||||
dVar2 = ANM_LADDERRTOL;
|
||||
}
|
||||
} else {
|
||||
m3570 = 1;
|
||||
if (m34B8 == 0) {
|
||||
dVar2 = ANM_LADDERRTOL;
|
||||
} else {
|
||||
dVar2 = ANM_LADDERLTOR;
|
||||
}
|
||||
m3570 = 1;
|
||||
if (m34B8 == 0) {
|
||||
dVar2 = ANM_LADDERRTOL;
|
||||
} else {
|
||||
dVar2 = ANM_LADDERLTOR;
|
||||
}
|
||||
}
|
||||
setSingleMoveAnime(dVar2, dVar3, 0.0f, -1, daPy_HIO_ladder_c0::m.field_0x2C);
|
||||
if (m34B8 == 0) {
|
||||
setTextureAnime(10, 0);
|
||||
setTextureAnime(10, 0);
|
||||
} else {
|
||||
setTextureAnime(11, 0);
|
||||
setTextureAnime(11, 0);
|
||||
}
|
||||
m34C2 = 7;
|
||||
gravity = 0.0f;
|
||||
@@ -394,31 +381,30 @@ BOOL daPy_lk_c::procClimbMoveUpDown_init(int param_0) {
|
||||
/* 80136B80-80136C7C .text procClimbMoveUpDown__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procClimbMoveUpDown() {
|
||||
if (setMoveBGCorrectClimb()) {
|
||||
return true;
|
||||
return true;
|
||||
} else {
|
||||
m34C2 = 5;
|
||||
dComIfGp_setDoStatus(6);
|
||||
if (doTrigger()) {
|
||||
m34C2 = 0;
|
||||
procFall_init(1, daPy_HIO_wallCatch_c0::m.field_0x54);
|
||||
} else {
|
||||
if (std::fabsf(mFrameCtrlUnder[UNDER_MOVE0_e].getRate()) <
|
||||
0.0099999998f) {
|
||||
if (m34D0 != 0) {
|
||||
m34D0 = 0;
|
||||
setLadderFootSe();
|
||||
} else {
|
||||
changeClimbMoveProc(m3570);
|
||||
}
|
||||
m34C2 = 5;
|
||||
dComIfGp_setDoStatus(6);
|
||||
if (doTrigger()) {
|
||||
m34C2 = 0;
|
||||
procFall_init(1, daPy_HIO_wallCatch_c0::m.field_0x54);
|
||||
} else {
|
||||
f32 dVar2 = getLadderMoveAnmSpeed();
|
||||
if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.0f) {
|
||||
dVar2 *= -1.0f;
|
||||
}
|
||||
(mFrameCtrlUnder[UNDER_MOVE0_e]).setRate(dVar2);
|
||||
checkBgClimbMove();
|
||||
if (std::fabsf(mFrameCtrlUnder[UNDER_MOVE0_e].getRate()) < 0.01f) {
|
||||
if (m34D0 != 0) {
|
||||
m34D0 = 0;
|
||||
setLadderFootSe();
|
||||
} else {
|
||||
changeClimbMoveProc(m3570);
|
||||
}
|
||||
} else {
|
||||
f32 dVar2 = getLadderMoveAnmSpeed();
|
||||
if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.0f) {
|
||||
dVar2 *= -1.0f;
|
||||
}
|
||||
(mFrameCtrlUnder[UNDER_MOVE0_e]).setRate(dVar2);
|
||||
checkBgClimbMove();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -434,19 +420,23 @@ BOOL daPy_lk_c::procClimbMoveSide_init(int param_0) {
|
||||
m34C2 = 7;
|
||||
m3570 = param_0;
|
||||
if (param_0 != 0) {
|
||||
dVar2 = ANM_FCLIMBSLIDELUP;
|
||||
if (m34B8 == 3) {
|
||||
dVar4 *= -1.0f;
|
||||
}
|
||||
dVar2 = ANM_FCLIMBSLIDELUP;
|
||||
if (m34B8 == 3) {
|
||||
dVar4 *= -1.0f;
|
||||
}
|
||||
} else {
|
||||
dVar2 = ANM_FCLIMBSLIDERUP;
|
||||
if (m34B8 == 2) {
|
||||
dVar4 *= -1.0f;
|
||||
}
|
||||
dVar2 = ANM_FCLIMBSLIDERUP;
|
||||
if (m34B8 == 2) {
|
||||
dVar4 *= -1.0f;
|
||||
}
|
||||
}
|
||||
setSingleMoveAnime(dVar2, dVar4, daPy_HIO_ladder_c0::m.field_0x38,
|
||||
daPy_HIO_ladder_c0::m.field_0x0,
|
||||
daPy_HIO_ladder_c0::m.field_0x3C);
|
||||
setSingleMoveAnime(
|
||||
dVar2,
|
||||
dVar4,
|
||||
daPy_HIO_ladder_c0::m.field_0x38,
|
||||
daPy_HIO_ladder_c0::m.field_0x0,
|
||||
daPy_HIO_ladder_c0::m.field_0x3C
|
||||
);
|
||||
gravity = 0.0f;
|
||||
speed.y = 0.0f;
|
||||
mVelocity = 0.0f;
|
||||
@@ -460,42 +450,40 @@ BOOL daPy_lk_c::procClimbMoveSide_init(int param_0) {
|
||||
}
|
||||
|
||||
/* 80136E28-8013707C .text procClimbMoveSide__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procClimbMoveSide() {
|
||||
if (setMoveBGCorrectClimb()) {
|
||||
return true;
|
||||
} else {
|
||||
m34C2 = 5;
|
||||
dComIfGp_setDoStatus(6);
|
||||
if (doTrigger()) {
|
||||
m34C2 = 0;
|
||||
procFall_init(1, daPy_HIO_wallCatch_c0::m.field_0x54);
|
||||
BOOL daPy_lk_c::procClimbMoveSide() {
|
||||
if (setMoveBGCorrectClimb()) {
|
||||
return true;
|
||||
} else {
|
||||
if (std::fabsf(mFrameCtrlUnder[UNDER_MOVE0_e].getRate()) <
|
||||
0.0099999998f) {
|
||||
if (m34D0 != 0) {
|
||||
m34D0 = 0;
|
||||
setLadderFootSe();
|
||||
m34C2 = 5;
|
||||
dComIfGp_setDoStatus(6);
|
||||
if (doTrigger()) {
|
||||
m34C2 = 0;
|
||||
procFall_init(1, daPy_HIO_wallCatch_c0::m.field_0x54);
|
||||
} else {
|
||||
changeClimbMoveProc(m3570);
|
||||
if (std::fabsf(mFrameCtrlUnder[UNDER_MOVE0_e].getRate()) < 0.01f) {
|
||||
if (m34D0 != 0) {
|
||||
m34D0 = 0;
|
||||
setLadderFootSe();
|
||||
} else {
|
||||
changeClimbMoveProc(m3570);
|
||||
}
|
||||
} else {
|
||||
f32 dVar5 = getClimbMoveAnmSpeed();
|
||||
if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.0f) {
|
||||
dVar5 *= -1.0f;
|
||||
}
|
||||
mFrameCtrlUnder[UNDER_MOVE0_e].setRate(dVar5);
|
||||
cXyz local_28 = (mRightHandPos - mLeftHandPos);
|
||||
dVar5 = local_28.absXZ();
|
||||
f32 fVar1 = std::fabsf(dVar5 - m35A0) * daPy_HIO_ladder_c0::m.field_0x40;
|
||||
f32 fVar2 = fVar1 * cM_ssin(m34D4);
|
||||
current.pos.y += fVar1 * cM_scos(m34D4);
|
||||
current.pos.x += fVar2 * cM_scos(shape_angle.y);
|
||||
current.pos.z -= fVar2 * cM_ssin(shape_angle.y);
|
||||
m35A0 = dVar5;
|
||||
checkBgClimbMove();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
f32 dVar5 = getClimbMoveAnmSpeed();
|
||||
if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.0f) {
|
||||
dVar5 *= -1.0f;
|
||||
}
|
||||
mFrameCtrlUnder[UNDER_MOVE0_e].setRate(dVar5);
|
||||
cXyz local_28 = (mRightHandPos - mLeftHandPos);
|
||||
dVar5 = local_28.absXZ();
|
||||
f32 fVar1 =
|
||||
std::fabsf((dVar5 - m35A0)) * daPy_HIO_ladder_c0::m.field_0x40;
|
||||
f32 fVar2 = fVar1 * cM_ssin(m34D4);
|
||||
current.pos.y += fVar1 * cM_scos(m34D4);
|
||||
current.pos.x += fVar2 * cM_scos(shape_angle.y);
|
||||
current.pos.z -= fVar2 * cM_ssin(shape_angle.y);
|
||||
m35A0 = dVar5;
|
||||
checkBgClimbMove();
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -21,11 +21,10 @@ f32 daPy_lk_c::getCrawlMoveAnmSpeed() {
|
||||
if (m3570 != 0) {
|
||||
f32 fVar1 = 1.5f;
|
||||
f32 fVar2 = 0.5f;
|
||||
return ((mStickDistance * fVar1) + fVar2);
|
||||
return (mStickDistance * fVar1) + fVar2;
|
||||
}
|
||||
return (daPy_HIO_crouch_c0::m.field_0x34 +
|
||||
(mStickDistance * (daPy_HIO_crouch_c0::m.field_0x30 -
|
||||
daPy_HIO_crouch_c0::m.field_0x34)));
|
||||
return daPy_HIO_crouch_c0::m.field_0x34 +
|
||||
(mStickDistance * (daPy_HIO_crouch_c0::m.field_0x30 - daPy_HIO_crouch_c0::m.field_0x34));
|
||||
}
|
||||
|
||||
/* 801387EC-80138868 .text getCrawlMoveSpeed__9daPy_lk_cFv */
|
||||
@@ -37,32 +36,30 @@ f32 daPy_lk_c::getCrawlMoveSpeed() {
|
||||
if (fVar1 >= 17.0f) {
|
||||
fVar1 = fVar1 - 17.0f;
|
||||
}
|
||||
return (daPy_HIO_crouch_c0::m.field_0x3C *
|
||||
mFrameCtrlUnder[UNDER_MOVE0_e].getRate()) *
|
||||
cM_ssin(cM_rad2s((0.18479957f * fVar1)));
|
||||
return (daPy_HIO_crouch_c0::m.field_0x3C * mFrameCtrlUnder[UNDER_MOVE0_e].getRate()) *
|
||||
cM_ssin(cM_rad2s(0.18479957f * fVar1));
|
||||
}
|
||||
|
||||
/* 80138868-801389D0 .text setCrawlMoveDirectionArrow__9daPy_lk_cFv */
|
||||
void daPy_lk_c::setCrawlMoveDirectionArrow() {
|
||||
u8 direction = 0;
|
||||
camera_class *cam = dComIfGp_getCamera(mCameraInfoIdx);
|
||||
BOOL bVar =
|
||||
cLib_distanceAngleS(fopCamM_GetAngleY(cam), shape_angle.y) > 0x4000;
|
||||
if ((m3570 & 4)) {
|
||||
camera_class* cam = dComIfGp_getCamera(mCameraInfoIdx);
|
||||
BOOL bVar = cLib_distanceAngleS(fopCamM_GetAngleY(cam), shape_angle.y) > 0x4000;
|
||||
if (m3570 & 4) {
|
||||
if (!bVar) {
|
||||
direction |= 1;
|
||||
} else {
|
||||
direction |= 4;
|
||||
}
|
||||
}
|
||||
if ((m3570 & 8)) {
|
||||
if (m3570 & 8) {
|
||||
if (!bVar) {
|
||||
direction |= 4;
|
||||
} else {
|
||||
direction |= 1;
|
||||
}
|
||||
}
|
||||
if ((m3570 & 1)) {
|
||||
if (m3570 & 1) {
|
||||
if (shape_angle.y == current.angle.y) {
|
||||
if (!bVar) {
|
||||
direction |= 8;
|
||||
@@ -90,17 +87,16 @@ void daPy_lk_c::setCrawlMoveDirectionArrow() {
|
||||
}
|
||||
|
||||
/* 801389D0-80138D50 .text changeCrawlAutoMoveProc__9daPy_lk_cFP4cXyz */
|
||||
void daPy_lk_c::changeCrawlAutoMoveProc(cXyz *) {
|
||||
/* Nonmatching */
|
||||
void daPy_lk_c::changeCrawlAutoMoveProc(cXyz*) {
|
||||
/* Nonmatching */
|
||||
}
|
||||
|
||||
/* 80138D50-80138F28 .text getCrawlMoveVec__9daPy_lk_cFP4cXyzP4cXyzP4cXyz
|
||||
*/
|
||||
int daPy_lk_c::getCrawlMoveVec(cXyz *param_0, cXyz *param_1, cXyz *param_2) {
|
||||
/* 80138D50-80138F28 .text getCrawlMoveVec__9daPy_lk_cFP4cXyzP4cXyzP4cXyz */
|
||||
int daPy_lk_c::getCrawlMoveVec(cXyz* param_0, cXyz* param_1, cXyz* param_2) {
|
||||
/* Nonmatching - floats */
|
||||
mLinkLinChk.Set(param_0, param_1, this);
|
||||
if (dComIfG_Bgsp()->LineCross(&mLinkLinChk)) {
|
||||
cM3dGPla *triPla = dComIfG_Bgsp()->GetTriPla(mLinkLinChk);
|
||||
cM3dGPla* triPla = dComIfG_Bgsp()->GetTriPla(mLinkLinChk);
|
||||
int iVar4 = dComIfG_Bgsp()->GetSpecialCode(mLinkLinChk);
|
||||
float fVar1 = triPla->GetNP()->y;
|
||||
bool bVar2;
|
||||
@@ -116,7 +112,7 @@ int daPy_lk_c::getCrawlMoveVec(cXyz *param_0, cXyz *param_1, cXyz *param_2) {
|
||||
param_2->y = local_3c.y;
|
||||
param_2->z = (float)(-dVar7 * triPla->GetNP()->z);
|
||||
return true;
|
||||
} else if ((iVar4 == 1) || ((fVar1 < 0.643832f && (iVar4 == 2)))) {
|
||||
} else if ((iVar4 == 1) || (fVar1 < 0.643832f && (iVar4 == 2))) {
|
||||
*param_2 = (*param_1 - mLinkLinChk.GetCross());
|
||||
return true;
|
||||
}
|
||||
@@ -125,7 +121,7 @@ int daPy_lk_c::getCrawlMoveVec(cXyz *param_0, cXyz *param_1, cXyz *param_2) {
|
||||
}
|
||||
|
||||
/* 80138F28-801390B8 .text crawlBgCheck__9daPy_lk_cFP4cXyzP4cXyz */
|
||||
void daPy_lk_c::crawlBgCheck(cXyz *param_0, cXyz *param_1) {
|
||||
void daPy_lk_c::crawlBgCheck(cXyz* param_0, cXyz* param_1) {
|
||||
int iVar1;
|
||||
int iVar2;
|
||||
cXyz cStack_50;
|
||||
@@ -150,16 +146,14 @@ void daPy_lk_c::crawlBgCheck(cXyz *param_0, cXyz *param_1) {
|
||||
return;
|
||||
}
|
||||
|
||||
/* 801390B8-801392BC .text
|
||||
* checkCrawlSideWall__9daPy_lk_cFP4cXyzP4cXyzP4cXyzP4cXyzPsPs */
|
||||
BOOL daPy_lk_c::checkCrawlSideWall(cXyz *, cXyz *, cXyz *, cXyz *, s16 *,
|
||||
s16 *) {
|
||||
/* 801390B8-801392BC .text checkCrawlSideWall__9daPy_lk_cFP4cXyzP4cXyzP4cXyzP4cXyzPsPs */
|
||||
BOOL daPy_lk_c::checkCrawlSideWall(cXyz*, cXyz*, cXyz*, cXyz*, s16*, s16*) {
|
||||
/* Nonmatching */
|
||||
}
|
||||
|
||||
/* 801392BC-80139424 .text setDoStatusCrawl__9daPy_lk_cFv */
|
||||
void daPy_lk_c::setDoStatusCrawl() {
|
||||
/* Nonmatching */
|
||||
void daPy_lk_c::setDoStatusCrawl() {
|
||||
/* Nonmatching */
|
||||
}
|
||||
|
||||
/* 80139424-801394F0 .text procCrawlStart_init__9daPy_lk_cFv */
|
||||
@@ -167,14 +161,16 @@ BOOL daPy_lk_c::procCrawlStart_init() {
|
||||
commonProcInit(daPyProc_CRAWL_START_e);
|
||||
m3700 = cXyz::Zero;
|
||||
m34C2 = 1;
|
||||
setSingleMoveAnime(ANM_LIE, daPy_HIO_crouch_c0::m.field_0x20,
|
||||
daPy_HIO_crouch_c0::m.field_0x24,
|
||||
daPy_HIO_crouch_c0::m.field_0x6,
|
||||
daPy_HIO_crouch_c0::m.field_0x2C);
|
||||
setSingleMoveAnime(
|
||||
ANM_LIE,
|
||||
daPy_HIO_crouch_c0::m.field_0x20,
|
||||
daPy_HIO_crouch_c0::m.field_0x24,
|
||||
daPy_HIO_crouch_c0::m.field_0x6,
|
||||
daPy_HIO_crouch_c0::m.field_0x2C
|
||||
);
|
||||
mVelocity = 0.0f;
|
||||
current.angle.y = shape_angle.y;
|
||||
m35A0 = 1.0f / (daPy_HIO_crouch_c0::m.field_0x28 -
|
||||
daPy_HIO_crouch_c0::m.field_0x24);
|
||||
m35A0 = 1.0f / (daPy_HIO_crouch_c0::m.field_0x28 - daPy_HIO_crouch_c0::m.field_0x24);
|
||||
m35E4 = 0.0f;
|
||||
dComIfGp_setPlayerStatus0(0, daPyStts0_CRAWL_e);
|
||||
return true;
|
||||
@@ -183,10 +179,8 @@ BOOL daPy_lk_c::procCrawlStart_init() {
|
||||
/* 801394F0-80139640 .text procCrawlStart__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procCrawlStart() {
|
||||
setDoStatusCrawl();
|
||||
m35E4 = 1.0f - m35A0 * ((daPy_HIO_crouch_c0::m.field_0x28) -
|
||||
mFrameCtrlUnder[UNDER_MOVE0_e].getFrame());
|
||||
cXyz local_20(l_crawl_front_offset.x, l_crawl_front_offset.y,
|
||||
l_crawl_front_offset.z * m35E4);
|
||||
m35E4 = 1.0f - m35A0 * ((daPy_HIO_crouch_c0::m.field_0x28) - mFrameCtrlUnder[UNDER_MOVE0_e].getFrame());
|
||||
cXyz local_20(l_crawl_front_offset.x, l_crawl_front_offset.y, l_crawl_front_offset.z * m35E4);
|
||||
cXyz afStack_2c;
|
||||
cXyz cStack_38;
|
||||
cMtx_multVec(mpCLModel->getBaseTRMtx(), &local_20, &afStack_2c);
|
||||
@@ -197,8 +191,8 @@ BOOL daPy_lk_c::procCrawlStart() {
|
||||
procCrawlEnd_init(0, shape_angle.x, shape_angle.z);
|
||||
} else if ((mStickDistance > 0.05f) &&
|
||||
((mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f) ||
|
||||
(mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() >
|
||||
daPy_HIO_crouch_c0::m.field_0x28))) {
|
||||
(mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() > daPy_HIO_crouch_c0::m.field_0x28)))
|
||||
{
|
||||
procCrawlMove_init(shape_angle.x, shape_angle.z);
|
||||
} else {
|
||||
m34C2 = 1;
|
||||
@@ -207,14 +201,14 @@ BOOL daPy_lk_c::procCrawlStart() {
|
||||
}
|
||||
|
||||
/* 80139640-801396B0 .text checkNotCrawlStand__9daPy_lk_cFP4cXyz */
|
||||
BOOL daPy_lk_c::checkNotCrawlStand(cXyz *param_0) {
|
||||
BOOL daPy_lk_c::checkNotCrawlStand(cXyz* param_0) {
|
||||
/* Nonmatching - floats */
|
||||
mRoofChk.SetPos(*param_0);
|
||||
return dComIfG_Bgsp()->RoofChk(&mRoofChk) - current.pos.y <= 125.0f;
|
||||
}
|
||||
|
||||
/* 801396B0-80139760 .text checkNotCrawlStand__9daPy_lk_cFP4cXyzP4cXyz */
|
||||
BOOL daPy_lk_c::checkNotCrawlStand(cXyz *param_0, cXyz *param_1) {
|
||||
BOOL daPy_lk_c::checkNotCrawlStand(cXyz* param_0, cXyz* param_1) {
|
||||
cXyz local_2c = (*param_0 + *param_1);
|
||||
if (checkNotCrawlStand(&local_2c)) {
|
||||
return true;
|
||||
@@ -249,8 +243,7 @@ BOOL daPy_lk_c::procCrawlMove_init(s16 param_0, s16 param_1) {
|
||||
dVar4 *= -1.0f;
|
||||
}
|
||||
current.angle.y = shape_angle.y;
|
||||
setSingleMoveAnime(ANM_LIEFORWARD, (float)dVar4, 0.0f, -1,
|
||||
daPy_HIO_crouch_c0::m.field_0x38);
|
||||
setSingleMoveAnime(ANM_LIEFORWARD, (float)dVar4, 0.0f, -1, daPy_HIO_crouch_c0::m.field_0x38);
|
||||
} else {
|
||||
onResetFlg0(daPyRFlg0_UNK1000);
|
||||
}
|
||||
@@ -267,12 +260,12 @@ BOOL daPy_lk_c::procCrawlMove_init(s16 param_0, s16 param_1) {
|
||||
}
|
||||
|
||||
/* 80139878-8013A004 .text procCrawlMove__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procCrawlMove() {
|
||||
/* Nonmatching */
|
||||
BOOL daPy_lk_c::procCrawlMove() {
|
||||
/* Nonmatching */
|
||||
}
|
||||
|
||||
/* 8013A004-8013A0F0 .text procCrawlAutoMove_init__9daPy_lk_cFiP4cXyz */
|
||||
BOOL daPy_lk_c::procCrawlAutoMove_init(int param_0, cXyz *param_1) {
|
||||
BOOL daPy_lk_c::procCrawlAutoMove_init(int param_0, cXyz* param_1) {
|
||||
/* Nonmatching - floats, extrwi
|
||||
at beginning of function. */
|
||||
BOOL uVar1 = dComIfGp_checkPlayerStatus0(0, daPyStts0_UNK2000_e);
|
||||
@@ -296,24 +289,22 @@ BOOL daPy_lk_c::procCrawlAutoMove_init(int param_0, cXyz *param_1) {
|
||||
}
|
||||
|
||||
/* 8013A0F0-8013A630 .text procCrawlAutoMove__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procCrawlAutoMove() {
|
||||
/* Nonmatching */
|
||||
BOOL daPy_lk_c::procCrawlAutoMove() {
|
||||
/* Nonmatching */
|
||||
}
|
||||
|
||||
/* 8013A630-8013A7C4 .text procCrawlEnd_init__9daPy_lk_cFiss */
|
||||
BOOL daPy_lk_c::procCrawlEnd_init(int, s16, s16) {
|
||||
/* Nonmatching */
|
||||
BOOL daPy_lk_c::procCrawlEnd_init(int, s16, s16) {
|
||||
/* Nonmatching */
|
||||
}
|
||||
|
||||
/* 8013A7C4-8013A85C .text procCrawlEnd__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procCrawlEnd() {
|
||||
m35E4 = m35A0 * (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() -
|
||||
daPy_HIO_crouch_c0::m.field_0x48);
|
||||
m35E4 = m35A0 * (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() - daPy_HIO_crouch_c0::m.field_0x48);
|
||||
if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() > -0.01f) {
|
||||
checkNextMode(0);
|
||||
} else {
|
||||
if (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() <
|
||||
daPy_HIO_crouch_c0::m.field_0x48) {
|
||||
if (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() < daPy_HIO_crouch_c0::m.field_0x48) {
|
||||
if (!checkNextMode(1)) {
|
||||
m34C2 = 1;
|
||||
}
|
||||
|
||||
+211
-242
@@ -25,7 +25,7 @@
|
||||
#include "m_Do/m_Do_graphic.h"
|
||||
|
||||
/* 8012CD60-8012CDD4 .text getDemoLookActor__9daPy_lk_cFv */
|
||||
fopAc_ac_c *daPy_lk_c::getDemoLookActor() {
|
||||
fopAc_ac_c* daPy_lk_c::getDemoLookActor() {
|
||||
if (mDemo.getParam0() == 1) {
|
||||
return dComIfGp_event_getPt1();
|
||||
} else if (mDemo.getParam0() == 2) {
|
||||
@@ -39,19 +39,17 @@ fopAc_ac_c *daPy_lk_c::getDemoLookActor() {
|
||||
|
||||
/* 8012CDD4-8012CE2C .text setTinkleCeiverModel__9daPy_lk_cFv */
|
||||
void daPy_lk_c::setTinkleCeiverModel() {
|
||||
JKRHeap *oldHeap = setItemHeap();
|
||||
JKRHeap* oldHeap = setItemHeap();
|
||||
initModel(&mpEquipItemModel, LINK_BDL_TCEIVER, 0x13000022);
|
||||
mDoExt_setCurrentHeap(oldHeap);
|
||||
}
|
||||
|
||||
/* 8012CE2C-8012CEFC .text setTalismanModel__9daPy_lk_cFv */
|
||||
void daPy_lk_c::setTalismanModel() {
|
||||
J3DAnmTransform *bck = getItemAnimeResource(LKANM_BCK_TETOLACH);
|
||||
JKRHeap *oldHeap = setItemHeap();
|
||||
J3DModelData *tmp_modelData =
|
||||
initModel(&mpEquipItemModel, LINK_BDL_TETOLACH, 0x13000022);
|
||||
int ret = mSwordAnim.init(tmp_modelData, bck, true,
|
||||
J3DFrameCtrl::EMode_LOOP, 0.2f, 0, -1, false);
|
||||
J3DAnmTransform* bck = getItemAnimeResource(LKANM_BCK_TETOLACH);
|
||||
JKRHeap* oldHeap = setItemHeap();
|
||||
J3DModelData* tmp_modelData = initModel(&mpEquipItemModel, LINK_BDL_TETOLACH, 0x13000022);
|
||||
int ret = mSwordAnim.init(tmp_modelData, bck, true, J3DFrameCtrl::EMode_LOOP, 0.2f, 0, -1, false);
|
||||
if (!ret) {
|
||||
JUT_ASSERT(82, FALSE);
|
||||
}
|
||||
@@ -61,12 +59,10 @@ void daPy_lk_c::setTalismanModel() {
|
||||
/* 8012CEFC-8012CFE8 .text setLetterModel__9daPy_lk_cFv */
|
||||
void daPy_lk_c::setLetterModel() {
|
||||
if (mEquipItem != daPyItem_UNK104_e) {
|
||||
J3DAnmTransform *bck = getItemAnimeResource(LKANM_BCK_GETLETTERA);
|
||||
JKRHeap *oldHeap = setItemHeap();
|
||||
J3DModelData *tmp_modelData =
|
||||
initModel(&mpEquipItemModel, LINK_BDL_LETTER, 0x13000022);
|
||||
int ret = mSwordAnim.init(tmp_modelData, bck, false,
|
||||
J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, false);
|
||||
J3DAnmTransform* bck = getItemAnimeResource(LKANM_BCK_GETLETTERA);
|
||||
JKRHeap* oldHeap = setItemHeap();
|
||||
J3DModelData* tmp_modelData = initModel(&mpEquipItemModel, LINK_BDL_LETTER, 0x13000022);
|
||||
int ret = mSwordAnim.init(tmp_modelData, bck, false, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, false);
|
||||
if (!ret) {
|
||||
JUT_ASSERT(120, FALSE);
|
||||
}
|
||||
@@ -86,7 +82,7 @@ BOOL daPy_lk_c::checkCaughtShapeHide() {
|
||||
|
||||
/* 8012D010-8012D08C .text setShapeAngleToTalkActor__9daPy_lk_cFv */
|
||||
void daPy_lk_c::setShapeAngleToTalkActor() {
|
||||
fopAc_ac_c *partner_p = fopAcM_getTalkEventPartner(this);
|
||||
fopAc_ac_c* partner_p = fopAcM_getTalkEventPartner(this);
|
||||
|
||||
if (partner_p != NULL) {
|
||||
s16 partner_name = fopAcM_GetName(partner_p);
|
||||
@@ -97,8 +93,12 @@ void daPy_lk_c::setShapeAngleToTalkActor() {
|
||||
target = fopAcM_searchActorAngleY(this, partner_p);
|
||||
}
|
||||
cLib_addCalcAngleS(
|
||||
&shape_angle.y, target, daPy_HIO_turn_c0::m.field_0x6,
|
||||
daPy_HIO_turn_c0::m.field_0x8, daPy_HIO_turn_c0::m.field_0xA);
|
||||
&shape_angle.y,
|
||||
target,
|
||||
daPy_HIO_turn_c0::m.field_0x6,
|
||||
daPy_HIO_turn_c0::m.field_0x8,
|
||||
daPy_HIO_turn_c0::m.field_0xA
|
||||
);
|
||||
}
|
||||
return;
|
||||
}
|
||||
@@ -108,15 +108,14 @@ BOOL daPy_lk_c::checkEndMessage(u32 i_msgNo) {
|
||||
if (m3628 == fpcM_ERROR_PROCESS_ID_e) {
|
||||
m3628 = fopMsgM_messageSet(i_msgNo);
|
||||
} else {
|
||||
msg_class *msg_p = fopMsgM_SearchByID(m3628);
|
||||
msg_class* msg_p = fopMsgM_SearchByID(m3628);
|
||||
if (msg_p != NULL) {
|
||||
if (msg_p->mStatus == fopMsgStts_MSG_DISPLAYED_e) {
|
||||
msg_p->mStatus = fopMsgStts_MSG_ENDS_e;
|
||||
} else if (msg_p->mStatus == fopMsgStts_BOX_CLOSED_e) {
|
||||
msg_p->mStatus = fopMsgStts_MSG_DESTROYED_e;
|
||||
return TRUE;
|
||||
} else if (msg_p->mStatus == fopMsgStts_MSG_PREPARING_e &&
|
||||
i_msgNo == 0x14A2) {
|
||||
} else if (msg_p->mStatus == fopMsgStts_MSG_PREPARING_e && i_msgNo == 0x14A2) {
|
||||
fopMsgM_demoMsgFlagOn();
|
||||
}
|
||||
}
|
||||
@@ -126,7 +125,7 @@ BOOL daPy_lk_c::checkEndMessage(u32 i_msgNo) {
|
||||
|
||||
/* 8012D134-8012D300 .text setTalkStartBack__9daPy_lk_cFv */
|
||||
int daPy_lk_c::setTalkStartBack() {
|
||||
fopAc_ac_c *partner_p = fopAcM_getTalkEventPartner(this);
|
||||
fopAc_ac_c* partner_p = fopAcM_getTalkEventPartner(this);
|
||||
if (partner_p != NULL) {
|
||||
cXyz sp24 = current.pos - partner_p->current.pos;
|
||||
f32 var_f1 = sp24.absXZ();
|
||||
@@ -137,12 +136,10 @@ int daPy_lk_c::setTalkStartBack() {
|
||||
m370C.z = partner_p->current.pos.z + temp_f2_2 * sp24.z;
|
||||
mGndChk.SetPos(&m370C);
|
||||
|
||||
if (dComIfG_Bgsp()->GroundCross(&mGndChk) - current.pos.y >=
|
||||
-30.1f) {
|
||||
if (dComIfG_Bgsp()->GroundCross(&mGndChk) - current.pos.y >= -30.1f) {
|
||||
current.angle.y = cM_atan2s(sp24.x, sp24.z);
|
||||
mVelocity = 5.0f;
|
||||
setSingleMoveAnime(ANM_WALK, -daPy_HIO_move_c0::m.field_0x44,
|
||||
0.0f, -1, daPy_HIO_turn_c0::m.field_0x18);
|
||||
setSingleMoveAnime(ANM_WALK, -daPy_HIO_move_c0::m.field_0x44, 0.0f, -1, daPy_HIO_turn_c0::m.field_0x18);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
@@ -198,11 +195,9 @@ BOOL daPy_lk_c::dProcTalk_init() {
|
||||
if (m3570 == 0) {
|
||||
mVelocity = 0.0f;
|
||||
if (mDemo.getDemoMode() == 8) {
|
||||
setSingleMoveAnime(ANM_WAITS, daPy_HIO_move_c0::m.field_0x38, 0.0f,
|
||||
-1, daPy_HIO_turn_c0::m.field_0x18);
|
||||
setSingleMoveAnime(ANM_WAITS, daPy_HIO_move_c0::m.field_0x38, 0.0f, -1, daPy_HIO_turn_c0::m.field_0x18);
|
||||
} else {
|
||||
setSingleMoveAnime(ANM_TALKA, daPy_HIO_turn_c0::m.field_0x14, 0.0f,
|
||||
-1, daPy_HIO_turn_c0::m.field_0x18);
|
||||
setSingleMoveAnime(ANM_TALKA, daPy_HIO_turn_c0::m.field_0x14, 0.0f, -1, daPy_HIO_turn_c0::m.field_0x18);
|
||||
}
|
||||
m3574 = mDemo.getParam1();
|
||||
if (m3574 == 1) {
|
||||
@@ -230,28 +225,23 @@ BOOL daPy_lk_c::dProcTalk() {
|
||||
int iVar2 = 0;
|
||||
|
||||
if (mAcch.ChkWallHit()) {
|
||||
dBgS_AcchCir *acchCir_p = mAcchCir;
|
||||
dBgS_AcchCir* acchCir_p = mAcchCir;
|
||||
for (int i = 0; i < 3; i++) {
|
||||
if (acchCir_p->ChkWallHit()) {
|
||||
iVar2 = cLib_distanceAngleS(acchCir_p->GetWallAngleY(),
|
||||
current.angle.y);
|
||||
iVar2 = cLib_distanceAngleS(acchCir_p->GetWallAngleY(), current.angle.y);
|
||||
break;
|
||||
}
|
||||
acchCir_p++;
|
||||
}
|
||||
}
|
||||
if ((0x4000 < cLib_distanceAngleS(cM_atan2s(local_28.x, local_28.z),
|
||||
current.angle.y)) ||
|
||||
(0x4000 < iVar2)) {
|
||||
if ((0x4000 < cLib_distanceAngleS(cM_atan2s(local_28.x, local_28.z), current.angle.y)) || (0x4000 < iVar2)) {
|
||||
current.pos.x = m370C.x;
|
||||
current.pos.z = m370C.z;
|
||||
m3570 = 0;
|
||||
if (mDemo.getDemoMode() == 8) {
|
||||
setSingleMoveAnime(ANM_WAITS, daPy_HIO_move_c0::m.field_0x38,
|
||||
0.0f, -1, daPy_HIO_turn_c0::m.field_0x18);
|
||||
setSingleMoveAnime(ANM_WAITS, daPy_HIO_move_c0::m.field_0x38, 0.0f, -1, daPy_HIO_turn_c0::m.field_0x18);
|
||||
} else {
|
||||
setSingleMoveAnime(ANM_TALKA, daPy_HIO_turn_c0::m.field_0x14,
|
||||
0.0f, -1, daPy_HIO_turn_c0::m.field_0x18);
|
||||
setSingleMoveAnime(ANM_TALKA, daPy_HIO_turn_c0::m.field_0x14, 0.0f, -1, daPy_HIO_turn_c0::m.field_0x18);
|
||||
}
|
||||
if (m3574 == 1) {
|
||||
setTextureAnime(145, 0);
|
||||
@@ -281,21 +271,21 @@ BOOL daPy_lk_c::dProcDamage_init() {
|
||||
return false;
|
||||
}
|
||||
commonProcInit(daPyProc_DEMO_DAMAGE_e);
|
||||
setSingleMoveAnime(ANM_DAMF, daPy_HIO_damage_c0::m.field_0x14,
|
||||
daPy_HIO_damage_c0::m.field_0x18,
|
||||
daPy_HIO_damage_c0::m.field_0x0,
|
||||
daPy_HIO_damage_c0::m.field_0x8);
|
||||
setSingleMoveAnime(
|
||||
ANM_DAMF,
|
||||
daPy_HIO_damage_c0::m.field_0x14,
|
||||
daPy_HIO_damage_c0::m.field_0x18,
|
||||
daPy_HIO_damage_c0::m.field_0x0,
|
||||
daPy_HIO_damage_c0::m.field_0x8
|
||||
);
|
||||
mVelocity = 0.0f;
|
||||
m35A0 = M_PI / (daPy_HIO_damage_c0::m.field_0x0 -
|
||||
daPy_HIO_damage_c0::m.field_0x18);
|
||||
m35A0 = M_PI / (daPy_HIO_damage_c0::m.field_0x0 - daPy_HIO_damage_c0::m.field_0x18);
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 8012DEA0-8012DF24 .text dProcDamage__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::dProcDamage() {
|
||||
mVelocity =
|
||||
-2.0f *
|
||||
cM_ssin(cM_rad2s(m35A0 * mFrameCtrlUnder[UNDER_MOVE0_e].getFrame()));
|
||||
mVelocity = -2.0f * cM_ssin(cM_rad2s(m35A0 * mFrameCtrlUnder[UNDER_MOVE0_e].getFrame()));
|
||||
if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f) {
|
||||
dComIfGp_evmng_cutEnd(mStaffIdx);
|
||||
}
|
||||
@@ -357,7 +347,7 @@ BOOL daPy_lk_c::dProcHoldup() {
|
||||
BOOL daPy_lk_c::dProcOpenTreasure_init() {
|
||||
float fVar1;
|
||||
daPy_ANM dVar2;
|
||||
daBoko_c *pfVar4;
|
||||
daBoko_c* pfVar4;
|
||||
|
||||
if (mCurProc == daPyProc_DEMO_OPEN_TREASURE_e) {
|
||||
return true;
|
||||
@@ -373,10 +363,9 @@ BOOL daPy_lk_c::dProcOpenTreasure_init() {
|
||||
setSingleMoveAnime(dVar2, 1.0f, 0.0f, -1, 3.0f);
|
||||
mVelocity = 0.0f;
|
||||
if (mEquipItem == daPyItem_BOKO_e) {
|
||||
pfVar4 = (daBoko_c *)mActorKeepEquip.getActor();
|
||||
pfVar4 = (daBoko_c*)mActorKeepEquip.getActor();
|
||||
if (pfVar4 != NULL) {
|
||||
mDoMtx_trans(mDoMtx_stack_c::now, current.pos.x, current.pos.y,
|
||||
current.pos.z);
|
||||
mDoMtx_trans(mDoMtx_stack_c::now, current.pos.x, current.pos.y, current.pos.z);
|
||||
mDoMtx_YrotM(mDoMtx_stack_c::now, (shape_angle.y + 0x2000));
|
||||
MtxP mtx = mDoMtx_stack_c::now;
|
||||
if (pfVar4->mpModel != NULL) {
|
||||
@@ -384,14 +373,12 @@ BOOL daPy_lk_c::dProcOpenTreasure_init() {
|
||||
}
|
||||
}
|
||||
}
|
||||
fopAc_ac_c *partner_p = fopAcM_getEventPartner(this);
|
||||
fopAc_ac_c* partner_p = fopAcM_getEventPartner(this);
|
||||
if (partner_p != NULL) {
|
||||
shape_angle.y = partner_p->shape_angle.y + 0x8000;
|
||||
current.angle.y = shape_angle.y;
|
||||
current.pos.x =
|
||||
partner_p->current.pos.x - fVar1 * cM_ssin(shape_angle.y);
|
||||
current.pos.z =
|
||||
partner_p->current.pos.z - fVar1 * cM_scos(shape_angle.y);
|
||||
current.pos.x = partner_p->current.pos.x - fVar1 * cM_ssin(shape_angle.y);
|
||||
current.pos.z = partner_p->current.pos.z - fVar1 * cM_scos(shape_angle.y);
|
||||
}
|
||||
deleteEquipItem(FALSE);
|
||||
mAcch.SetWallNone();
|
||||
@@ -409,21 +396,19 @@ BOOL daPy_lk_c::dProcOpenTreasure() {
|
||||
|
||||
/* 8012E28C-8012E418 .text setGetItemSound__9daPy_lk_cFUsi */
|
||||
void daPy_lk_c::setGetItemSound(u16 param_1, int param_2) {
|
||||
if (param_1 == dItem_GREEN_RUPEE_e || param_1 == dItem_BLUE_RUPEE_e ||
|
||||
param_1 == dItem_YELLOW_RUPEE_e || param_1 == dItem_RED_RUPEE_e ||
|
||||
param_1 == dItem_PURPLE_RUPEE_e || param_1 == TINCLE_RUPEE1) {
|
||||
if (param_1 == dItem_GREEN_RUPEE_e || param_1 == dItem_BLUE_RUPEE_e || param_1 == dItem_YELLOW_RUPEE_e ||
|
||||
param_1 == dItem_RED_RUPEE_e || param_1 == dItem_PURPLE_RUPEE_e || param_1 == TINCLE_RUPEE1)
|
||||
{
|
||||
mDoAud_seStart(JA_SE_ME_ITEM_GET_S);
|
||||
g_dComIfG_gameInfo.play.field_0x4977 = 2;
|
||||
} else if ((param_1 == dItem_HEART_CONTAINER_e) ||
|
||||
((param_1 == dItem_HEART_PIECE_e &&
|
||||
((dComIfGs_getMaxLife() % 4) == 3)))) {
|
||||
(param_1 == dItem_HEART_PIECE_e && ((dComIfGs_getMaxLife() % 4) == 3)))
|
||||
{
|
||||
mDoAud_subBgmStart(JA_BGM_GET_HEART);
|
||||
g_dComIfG_gameInfo.play.field_0x4977 = 1;
|
||||
} else if ((param_1 == dItem_HEART_PIECE_e ||
|
||||
param_1 == dItem_JOY_PENDANT_e ||
|
||||
param_1 == dItem_SMALL_KEY_e ||
|
||||
param_1 == dItem_SILVER_RUPEE_e ||
|
||||
param_1 == dItem_ORANGE_RUPEE_e)) {
|
||||
} else if (param_1 == dItem_HEART_PIECE_e || param_1 == dItem_JOY_PENDANT_e || param_1 == dItem_SMALL_KEY_e ||
|
||||
param_1 == dItem_SILVER_RUPEE_e || param_1 == dItem_ORANGE_RUPEE_e)
|
||||
{
|
||||
mDoAud_subBgmStart(JA_BGM_ITEM_GET_S);
|
||||
g_dComIfG_gameInfo.play.field_0x4977 = 1;
|
||||
} else if (param_2 != dItem_HEART_e) {
|
||||
@@ -445,28 +430,25 @@ BOOL daPy_lk_c::setGetDemo() {
|
||||
}
|
||||
|
||||
if (dComIfGp_evmng_startCheck("DEFAULT_GETITEM")) {
|
||||
if (m34CE & 0x01 ||
|
||||
((checkNoResetFlg0(
|
||||
daPy_FLG0(daPyFlg0_UNK80000000 | daPyFlg0_UNK20000000)) ||
|
||||
!mAcch.ChkGroundHit() || daPy_lk_c::checkPlayerFly()) &&
|
||||
!dComIfGp_checkPlayerStatus0(0, daPyStts0_SHIP_RIDE_e))) {
|
||||
if (m34CE & 0x01 || ((checkNoResetFlg0(daPy_FLG0(daPyFlg0_UNK80000000 | daPyFlg0_UNK20000000)) ||
|
||||
!mAcch.ChkGroundHit() || daPy_lk_c::checkPlayerFly()) &&
|
||||
!dComIfGp_checkPlayerStatus0(0, daPyStts0_SHIP_RIDE_e)))
|
||||
{
|
||||
if ((m34CE & 0x01) == 0) {
|
||||
mMsgId = fpcM_ERROR_PROCESS_ID_e;
|
||||
}
|
||||
m34CE |= 0x01;
|
||||
char *cutName =
|
||||
dComIfGp_getPEvtManager()->getMyNowCutName(staffIdx);
|
||||
char* cutName = dComIfGp_getPEvtManager()->getMyNowCutName(staffIdx);
|
||||
if (cutName != NULL) {
|
||||
// TODO: is there an inline for parsing link's cut name -> cut
|
||||
// index?
|
||||
u32 r0 = (cutName[0] - '0') * 100 + (cutName[1] - '0') * 10 +
|
||||
(cutName[2] - '0');
|
||||
u32 r0 = (cutName[0] - '0') * 100 + (cutName[1] - '0') * 10 + (cutName[2] - '0');
|
||||
if (r0 == 0xB) {
|
||||
fopAc_ac_c *itemPartner = fopAcM_getItemEventPartner(this);
|
||||
fopAc_ac_c* itemPartner = fopAcM_getItemEventPartner(this);
|
||||
if (itemPartner != NULL &&
|
||||
(fopAcM_GetName(itemPartner) == PROC_ITEM ||
|
||||
fopAcM_GetName(itemPartner) == PROC_Demo_Item)) {
|
||||
daItemBase_c *item = (daItemBase_c *)itemPartner;
|
||||
(fopAcM_GetName(itemPartner) == PROC_ITEM || fopAcM_GetName(itemPartner) == PROC_Demo_Item))
|
||||
{
|
||||
daItemBase_c* item = (daItemBase_c*)itemPartner;
|
||||
item->hide();
|
||||
u32 itemNo = item->getItemNo();
|
||||
if ((m34CE & 0x02) == 0) {
|
||||
@@ -475,8 +457,7 @@ BOOL daPy_lk_c::setGetDemo() {
|
||||
}
|
||||
|
||||
u32 itemGetMsgNo;
|
||||
if (itemNo == dItem_HEART_PIECE_e &&
|
||||
dComIfGs_getMaxLife() % 4) {
|
||||
if (itemNo == dItem_HEART_PIECE_e && dComIfGs_getMaxLife() % 4) {
|
||||
itemGetMsgNo = 0x7B + dComIfGs_getMaxLife() % 4;
|
||||
} else {
|
||||
itemGetMsgNo = 0x65 + itemNo;
|
||||
@@ -485,19 +466,16 @@ BOOL daPy_lk_c::setGetDemo() {
|
||||
if (mMsgId == fpcM_ERROR_PROCESS_ID_e) {
|
||||
mMsgId = fopMsgM_messageSet(itemGetMsgNo);
|
||||
} else {
|
||||
msg_class *msg_p = fopMsgM_SearchByID(mMsgId);
|
||||
msg_class* msg_p = fopMsgM_SearchByID(mMsgId);
|
||||
if (msg_p != NULL) {
|
||||
if (msg_p->mStatus ==
|
||||
fopMsgStts_MSG_DISPLAYED_e) {
|
||||
if (msg_p->mStatus == fopMsgStts_MSG_DISPLAYED_e) {
|
||||
msg_p->mStatus = fopMsgStts_MSG_ENDS_e;
|
||||
} else if (msg_p->mStatus ==
|
||||
fopMsgStts_BOX_CLOSED_e) {
|
||||
} else if (msg_p->mStatus == fopMsgStts_BOX_CLOSED_e) {
|
||||
msg_p->mStatus = fopMsgStts_MSG_DESTROYED_e;
|
||||
dComIfGp_evmng_cutEnd(staffIdx);
|
||||
item->dead();
|
||||
m34CE |= 0x04;
|
||||
} else if (msg_p->mStatus ==
|
||||
fopMsgStts_MSG_PREPARING_e) {
|
||||
} else if (msg_p->mStatus == fopMsgStts_MSG_PREPARING_e) {
|
||||
fopMsgM_demoMsgFlagOn();
|
||||
}
|
||||
}
|
||||
@@ -552,9 +530,8 @@ BOOL daPy_lk_c::dProcGetItem_init() {
|
||||
} else {
|
||||
item_no = dComIfGp_event_getGtItm();
|
||||
}
|
||||
fpc_ProcID itemID = fopAcM_createItemForPresentDemo(
|
||||
¤t.pos, item_no, 0, 0xffffffff, fopAcM_GetRoomNo(this), NULL,
|
||||
NULL);
|
||||
fpc_ProcID itemID =
|
||||
fopAcM_createItemForPresentDemo(¤t.pos, item_no, 0, 0xffffffff, fopAcM_GetRoomNo(this), NULL, NULL);
|
||||
if (itemID != fpcM_ERROR_PROCESS_ID_e) {
|
||||
dComIfGp_event_setItemPartnerId(itemID);
|
||||
}
|
||||
@@ -562,7 +539,7 @@ BOOL daPy_lk_c::dProcGetItem_init() {
|
||||
} else {
|
||||
m34D4 = -1;
|
||||
}
|
||||
camera_class *cam = dComIfGp_getCamera(mCameraInfoIdx);
|
||||
camera_class* cam = dComIfGp_getCamera(mCameraInfoIdx);
|
||||
m34D6 = shape_angle.y - fopCamM_GetAngleY(cam);
|
||||
current.angle.y = shape_angle.y;
|
||||
m3628 = fpcM_ERROR_PROCESS_ID_e;
|
||||
@@ -586,10 +563,10 @@ BOOL daPy_lk_c::dProcGetItem() {
|
||||
return true;
|
||||
}
|
||||
if (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() < 10.0f) {
|
||||
camera_class *cam = dComIfGp_getCamera(mCameraInfoIdx);
|
||||
camera_class* cam = dComIfGp_getCamera(mCameraInfoIdx);
|
||||
m34D6 = shape_angle.y - fopCamM_GetAngleY(cam);
|
||||
}
|
||||
daItemBase_c *item = (daItemBase_c *)fopAcM_getItemEventPartner(this);
|
||||
daItemBase_c* item = (daItemBase_c*)fopAcM_getItemEventPartner(this);
|
||||
if ((m34D4 == -1) && (item != NULL)) {
|
||||
m34D4 = item->getItemNo() & 0xff;
|
||||
}
|
||||
@@ -601,16 +578,9 @@ BOOL daPy_lk_c::dProcGetItem() {
|
||||
if (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() <= 17.0f) {
|
||||
if (m34D6 > 0x4000) {
|
||||
shape_angle.y =
|
||||
current.angle.y +
|
||||
(((0x10000 - m34D6) *
|
||||
(mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() - 10.0f) /
|
||||
7.0f));
|
||||
current.angle.y + ((0x10000 - m34D6) * (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() - 10.0f) / 7.0f);
|
||||
} else {
|
||||
shape_angle.y =
|
||||
current.angle.y -
|
||||
((m34D6 *
|
||||
(mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() - 10.0f) /
|
||||
7.0f));
|
||||
shape_angle.y = current.angle.y - (m34D6 * (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() - 10.0f) / 7.0f);
|
||||
}
|
||||
} else {
|
||||
if (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() > 17.0f) {
|
||||
@@ -624,17 +594,15 @@ BOOL daPy_lk_c::dProcGetItem() {
|
||||
m3570 = 0;
|
||||
onModeFlg(ModeFlg_00000400);
|
||||
}
|
||||
if ((item != NULL) && ((fopAcM_GetName(item) == PROC_ITEM ||
|
||||
(fopAcM_GetName(item) == PROC_Demo_Item)))) {
|
||||
if ((item != NULL) && (fopAcM_GetName(item) == PROC_ITEM || (fopAcM_GetName(item) == PROC_Demo_Item))) {
|
||||
item->hide();
|
||||
}
|
||||
} else {
|
||||
if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f) {
|
||||
if ((item != NULL) && ((fopAcM_GetName(item) == PROC_ITEM ||
|
||||
fopAcM_GetName(item) == PROC_Demo_Item))) {
|
||||
if ((item != NULL) && (fopAcM_GetName(item) == PROC_ITEM || fopAcM_GetName(item) == PROC_Demo_Item)) {
|
||||
item->show();
|
||||
if ((m3624 == 0) && (m34D4 != -1)) {
|
||||
if ((m34D4 == 7) && ((dComIfGs_getMaxLife() % 4))) {
|
||||
if ((m34D4 == 7) && (dComIfGs_getMaxLife() % 4)) {
|
||||
m3624 = (dComIfGs_getMaxLife() % 4) + 0x7b;
|
||||
} else {
|
||||
m3624 = m34D4 + 0x65;
|
||||
@@ -645,8 +613,7 @@ BOOL daPy_lk_c::dProcGetItem() {
|
||||
current.angle.y = shape_angle.y;
|
||||
m34DE = shape_angle.y;
|
||||
setOldRootQuaternion(0, -0x8000, 0);
|
||||
J3DTransformInfo *pJVar2 =
|
||||
m_old_fdata->getOldFrameTransInfo(0);
|
||||
J3DTransformInfo* pJVar2 = m_old_fdata->getOldFrameTransInfo(0);
|
||||
pJVar2->mTranslate.x *= -1.0f;
|
||||
pJVar2->mTranslate.z *= -1.0f;
|
||||
dComIfGp_evmng_cutEnd(mStaffIdx);
|
||||
@@ -655,9 +622,7 @@ BOOL daPy_lk_c::dProcGetItem() {
|
||||
setBlendMoveAnime(daPy_HIO_basic_c0::m.field_0xC);
|
||||
}
|
||||
}
|
||||
} else if ((item != NULL) &&
|
||||
(fopAcM_GetName(item) == PROC_ITEM ||
|
||||
(fopAcM_GetName(item) == PROC_Demo_Item))) {
|
||||
} else if ((item != NULL) && (fopAcM_GetName(item) == PROC_ITEM || (fopAcM_GetName(item) == PROC_Demo_Item))) {
|
||||
item->hide();
|
||||
}
|
||||
}
|
||||
@@ -707,10 +672,8 @@ BOOL daPy_lk_c::dProcLavaDamage_init() {
|
||||
}
|
||||
commonProcInit(daPyProc_DEMO_LAVA_DAMAGE_e);
|
||||
mVelocity = 0.0f;
|
||||
setSingleMoveAnime(ANM_LAVADAM, daPy_HIO_restart_c0::m.field_0x0, 0.0f, -1,
|
||||
daPy_HIO_restart_c0::m.field_0x4);
|
||||
m32E4.makeEmitter(dPa_name::ID_SCENE_8078, mpCLModel->getAnmMtx(0),
|
||||
¤t.pos, NULL);
|
||||
setSingleMoveAnime(ANM_LAVADAM, daPy_HIO_restart_c0::m.field_0x0, 0.0f, -1, daPy_HIO_restart_c0::m.field_0x4);
|
||||
m32E4.makeEmitter(dPa_name::ID_SCENE_8078, mpCLModel->getAnmMtx(0), ¤t.pos, NULL);
|
||||
if (dComIfGp_event_compulsory(this)) {
|
||||
dProcLavaDamage_init_sub();
|
||||
} else {
|
||||
@@ -738,7 +701,11 @@ extern GXColor l_freeze_fade_color;
|
||||
/* 8012EF78-8012F0DC .text dProcFreezeDamage_init_sub__9daPy_lk_cFi */
|
||||
void daPy_lk_c::dProcFreezeDamage_init_sub(int param_0) {
|
||||
static const u16 eff_joint[] = {
|
||||
0x0007, 0x000B, 0x001A, 0x000E, 0x001E,
|
||||
0x0007,
|
||||
0x000B,
|
||||
0x001A,
|
||||
0x000E,
|
||||
0x001E,
|
||||
};
|
||||
|
||||
if (param_0 != 0) {
|
||||
@@ -752,7 +719,7 @@ void daPy_lk_c::dProcFreezeDamage_init_sub(int param_0) {
|
||||
mDoGph_gInf_c::fadeOut(1.0f, l_freeze_fade_color);
|
||||
seStartMapInfo(0x2878);
|
||||
for (int i = 0; i < 5; i++) {
|
||||
const u16 *uVar1 = eff_joint;
|
||||
const u16* uVar1 = eff_joint;
|
||||
MtxP pMVar2 = mpCLModel->getAnmMtx(uVar1[i]);
|
||||
cXyz local_28;
|
||||
mDoMtx_multVecZero(pMVar2, &local_28);
|
||||
@@ -816,8 +783,14 @@ void daPy_lk_c::dProcDead_init_sub2() {
|
||||
dCam_getBody()->StartEventCamera(9, fopAcM_GetID(this), 0);
|
||||
if (dComIfGp_checkPlayerStatus0(0, daPyStts0_SWIM_e)) {
|
||||
dComIfGp_particle_setShipTail(
|
||||
dPa_name::ID_COMMON_003F, ¤t.pos, NULL, (cXyz *)&ripple_scale,
|
||||
0xff, &dPa_control_c::mSingleRippleEcallBack, -1);
|
||||
dPa_name::ID_COMMON_003F,
|
||||
¤t.pos,
|
||||
NULL,
|
||||
(cXyz*)&ripple_scale,
|
||||
0xff,
|
||||
&dPa_control_c::mSingleRippleEcallBack,
|
||||
-1
|
||||
);
|
||||
m34D6 = 1;
|
||||
}
|
||||
return;
|
||||
@@ -874,8 +847,7 @@ BOOL daPy_lk_c::dProcDead_init() {
|
||||
onModeFlg(ModeFlg_02000000);
|
||||
}
|
||||
}
|
||||
setSingleMoveAnime(dVar6, dVar8, daPy_HIO_restart_c0::m.field_0x10, -1,
|
||||
daPy_HIO_restart_c0::m.field_0x14);
|
||||
setSingleMoveAnime(dVar6, dVar8, daPy_HIO_restart_c0::m.field_0x10, -1, daPy_HIO_restart_c0::m.field_0x14);
|
||||
mDamageWaitTimer = 0;
|
||||
m35E4 = 0.0f;
|
||||
m35A0 = 1.0f;
|
||||
@@ -895,7 +867,7 @@ BOOL daPy_lk_c::dProcDead_init() {
|
||||
|
||||
/* 8012F5A8-8012F928 .text dProcDead__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::dProcDead() {
|
||||
J3DFrameCtrl &frameCtrl = mFrameCtrlUnder[UNDER_MOVE0_e];
|
||||
J3DFrameCtrl& frameCtrl = mFrameCtrlUnder[UNDER_MOVE0_e];
|
||||
|
||||
if (dComIfGp_checkPlayerStatus0(0, daPyStts0_SHIP_RIDE_e)) {
|
||||
setShipRidePos(1);
|
||||
@@ -917,21 +889,21 @@ BOOL daPy_lk_c::dProcDead() {
|
||||
m35E4 = 0.1f * (frameCtrl.getFrame() - 120.0f);
|
||||
}
|
||||
if (frameCtrl.getRate() < 0.01f) {
|
||||
dGameover_c *this_01;
|
||||
dGameover_c* this_01;
|
||||
cLib_chaseF(&m35A0, 0.0f, 0.01f);
|
||||
f32 dVar3 = (1.0f - m35A0);
|
||||
if ((m3628 != fpcM_ERROR_PROCESS_ID_e) &&
|
||||
(this_01 = (dGameover_c *)fopMsgM_SearchByID(m3628), this_01)) {
|
||||
if ((m3628 != fpcM_ERROR_PROCESS_ID_e) && (this_01 = (dGameover_c*)fopMsgM_SearchByID(m3628), this_01)) {
|
||||
this_01->setBackAlpha(dVar3);
|
||||
}
|
||||
if (((m35A0 < 0.38f) && (m3628 != fpcM_ERROR_PROCESS_ID_e)) &&
|
||||
(this_01 = (dGameover_c *)fopMsgM_SearchByID(m3628), this_01)) {
|
||||
(this_01 = (dGameover_c*)fopMsgM_SearchByID(m3628), this_01))
|
||||
{
|
||||
this_01->animeStart();
|
||||
}
|
||||
if (m3574 == 0) {
|
||||
int iVar1;
|
||||
if (m3628 != fpcM_ERROR_PROCESS_ID_e) {
|
||||
this_01 = (dGameover_c *)fopMsgM_SearchByID(m3628);
|
||||
this_01 = (dGameover_c*)fopMsgM_SearchByID(m3628);
|
||||
if (this_01 != NULL) {
|
||||
iVar1 = this_01->deleteCheck();
|
||||
} else {
|
||||
@@ -944,14 +916,12 @@ BOOL daPy_lk_c::dProcDead() {
|
||||
m3574 = 1;
|
||||
}
|
||||
}
|
||||
if ((m3574 != 0) &&
|
||||
(g_dComIfG_gameInfo.play.mGameoverStatus == 2)) {
|
||||
if ((m3574 != 0) && (g_dComIfG_gameInfo.play.mGameoverStatus == 2)) {
|
||||
dComIfGs_setGameStartStage();
|
||||
dComIfGs_gameStart();
|
||||
}
|
||||
} else {
|
||||
if (!dComIfGp_checkPlayerStatus0(
|
||||
0, (daPyStts0_SHIP_RIDE_e | daPyStts0_SWIM_e))) {
|
||||
if (!dComIfGp_checkPlayerStatus0(0, (daPyStts0_SHIP_RIDE_e | daPyStts0_SWIM_e))) {
|
||||
if (frameCtrl.checkPass(129.0f)) {
|
||||
voiceStart(0x17);
|
||||
m34BE = 6;
|
||||
@@ -968,9 +938,9 @@ BOOL daPy_lk_c::dProcDead() {
|
||||
if (frameCtrl.checkPass(15.0f)) {
|
||||
acStack_30.y += 0x8000;
|
||||
}
|
||||
dComIfGp_particle_setP1(dPa_name::ID_COMMON_0314,
|
||||
¤t.pos, &acStack_30, NULL,
|
||||
0xff, NULL, -1, &amb);
|
||||
dComIfGp_particle_setP1(
|
||||
dPa_name::ID_COMMON_0314, ¤t.pos, &acStack_30, NULL, 0xff, NULL, -1, &amb
|
||||
);
|
||||
} else {
|
||||
if (frameCtrl.checkPass(50.0f)) {
|
||||
m34D6 = 0;
|
||||
@@ -992,10 +962,13 @@ BOOL daPy_lk_c::dProcLookAround_init() {
|
||||
return false;
|
||||
}
|
||||
commonProcInit(daPyProc_DEMO_LOOK_AROUND_e);
|
||||
setSingleMoveAnime(ANM_COMEOUT, daPy_HIO_holdup_c0::m.field_0xC,
|
||||
daPy_HIO_holdup_c0::m.field_0x10,
|
||||
daPy_HIO_holdup_c0::m.field_0x0,
|
||||
daPy_HIO_holdup_c0::m.field_0x14);
|
||||
setSingleMoveAnime(
|
||||
ANM_COMEOUT,
|
||||
daPy_HIO_holdup_c0::m.field_0xC,
|
||||
daPy_HIO_holdup_c0::m.field_0x10,
|
||||
daPy_HIO_holdup_c0::m.field_0x0,
|
||||
daPy_HIO_holdup_c0::m.field_0x14
|
||||
);
|
||||
mVelocity = 0.0f;
|
||||
return true;
|
||||
}
|
||||
@@ -1056,10 +1029,13 @@ BOOL daPy_lk_c::dProcTalismanPickup_init() {
|
||||
}
|
||||
int iVar2 = checkShipRideUseItem(1);
|
||||
commonProcInit(daPyProc_DEMO_TALISMAN_PICKUP_e);
|
||||
setSingleMoveAnime(ANM_PICKUP, daPy_HIO_holdup_c0::m.field_0x3C,
|
||||
daPy_HIO_holdup_c0::m.field_0x40,
|
||||
daPy_HIO_holdup_c0::m.field_0x8,
|
||||
daPy_HIO_holdup_c0::m.field_0x44);
|
||||
setSingleMoveAnime(
|
||||
ANM_PICKUP,
|
||||
daPy_HIO_holdup_c0::m.field_0x3C,
|
||||
daPy_HIO_holdup_c0::m.field_0x40,
|
||||
daPy_HIO_holdup_c0::m.field_0x8,
|
||||
daPy_HIO_holdup_c0::m.field_0x44
|
||||
);
|
||||
mVelocity = 0.0f;
|
||||
initShipRideUseItem(iVar2, 1);
|
||||
return true;
|
||||
@@ -1067,7 +1043,7 @@ BOOL daPy_lk_c::dProcTalismanPickup_init() {
|
||||
|
||||
/* 8012FC24-8012FCC0 .text dProcTalismanPickup__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::dProcTalismanPickup() {
|
||||
J3DFrameCtrl &frameCtrl = mFrameCtrlUnder[UNDER_MOVE0_e];
|
||||
J3DFrameCtrl& frameCtrl = mFrameCtrlUnder[UNDER_MOVE0_e];
|
||||
|
||||
if (dComIfGp_checkPlayerStatus0(0, daPyStts0_SHIP_RIDE_e)) {
|
||||
setShipRidePos(1);
|
||||
@@ -1087,31 +1063,28 @@ BOOL daPy_lk_c::dProcTalismanWait_init() {
|
||||
}
|
||||
int iVar2 = checkShipRideUseItem(1);
|
||||
commonProcInit(daPyProc_DEMO_TALISMAN_WAIT_e);
|
||||
setSingleMoveAnime(ANM_WAITPICKUP, 1.0f, 0.0f, -1,
|
||||
daPy_HIO_holdup_c0::m.field_0x48);
|
||||
setSingleMoveAnime(ANM_WAITPICKUP, 1.0f, 0.0f, -1, daPy_HIO_holdup_c0::m.field_0x48);
|
||||
mVelocity = 0.0f;
|
||||
setTalismanModel();
|
||||
m32E4.makeEmitter(dPa_name::ID_COMMON_03E9,
|
||||
mpEquipItemModel->getBaseTRMtx(), ¤t.pos, NULL);
|
||||
m32E4.makeEmitter(dPa_name::ID_COMMON_03E9, mpEquipItemModel->getBaseTRMtx(), ¤t.pos, NULL);
|
||||
MtxP anmMtx = mpCLModel->getAnmMtx(12);
|
||||
MtxP baseMtx = mpEquipItemModel->getBaseTRMtx();
|
||||
MTXCopy(anmMtx, baseMtx);
|
||||
MTXCopy(mpCLModel->getAnmMtx(12), mDoMtx_stack_c::now);
|
||||
f32 adjust = (cM_ssin(g_Counter.mTimer * 1512));
|
||||
mDoMtx_stack_c::transM(7.0f, 0.0f, 15.0f + 3.0f * adjust);
|
||||
cXyz *pcVar1 = &m338C.mPos;
|
||||
cXyz* pcVar1 = &m338C.mPos;
|
||||
pcVar1->x = mDoMtx_stack_c::now[0][3];
|
||||
pcVar1->y = mDoMtx_stack_c::now[1][3];
|
||||
pcVar1->z = mDoMtx_stack_c::now[2][3];
|
||||
dComIfGp_particle_setP1(dPa_name::ID_COMMON_03EA, pcVar1, NULL, NULL, 0xff,
|
||||
&m338C, -1);
|
||||
dComIfGp_particle_setP1(dPa_name::ID_COMMON_03EA, pcVar1, NULL, NULL, 0xff, &m338C, -1);
|
||||
initShipRideUseItem(iVar2, 1);
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 8012FE58-8012FFEC .text dProcTalismanWait__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::dProcTalismanWait() {
|
||||
cXyz *pcVar1;
|
||||
cXyz* pcVar1;
|
||||
|
||||
if (dComIfGp_checkPlayerStatus0(0, daPyStts0_SHIP_RIDE_e)) {
|
||||
setShipRidePos(1);
|
||||
@@ -1127,7 +1100,7 @@ BOOL daPy_lk_c::dProcTalismanWait() {
|
||||
mDoMtx_YrotM(mDoMtx_stack_c::now, (g_Counter.mTimer * 511));
|
||||
mpEquipItemModel->setBaseTRMtx(mDoMtx_stack_c::now);
|
||||
mSwordAnim.play();
|
||||
J3DModelData *modelData = mpEquipItemModel->getModelData();
|
||||
J3DModelData* modelData = mpEquipItemModel->getModelData();
|
||||
f32 frame = mSwordAnim.getFrameCtrl()->getFrame();
|
||||
mSwordAnim.entry(modelData, frame);
|
||||
mDoAud_seStart(JA_SE_OBJ_OMAMORI, pcVar1, 0, mReverb);
|
||||
@@ -1169,7 +1142,7 @@ BOOL daPy_lk_c::dProcSurprised() {
|
||||
if (dComIfGp_checkPlayerStatus0(0, daPyStts0_SHIP_RIDE_e)) {
|
||||
setShipRidePos(1);
|
||||
}
|
||||
if (((m3570 != 0) || (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f))) {
|
||||
if ((m3570 != 0) || (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f)) {
|
||||
dComIfGp_evmng_cutEnd(mStaffIdx);
|
||||
if (m3570 == 0) {
|
||||
uVar1 = m3530;
|
||||
@@ -1196,10 +1169,13 @@ BOOL daPy_lk_c::dProcTurnBack_init() {
|
||||
m_pbCalc[PART_UPPER_e]->setRatio(2, 1.0f);
|
||||
m3570 = 1;
|
||||
} else {
|
||||
setSingleMoveAnime(ANM_TURNBACK, daPy_HIO_holdup_c0::m.field_0x4C,
|
||||
daPy_HIO_holdup_c0::m.field_0x50,
|
||||
daPy_HIO_holdup_c0::m.field_0xA,
|
||||
daPy_HIO_holdup_c0::m.field_0x54);
|
||||
setSingleMoveAnime(
|
||||
ANM_TURNBACK,
|
||||
daPy_HIO_holdup_c0::m.field_0x4C,
|
||||
daPy_HIO_holdup_c0::m.field_0x50,
|
||||
daPy_HIO_holdup_c0::m.field_0xA,
|
||||
daPy_HIO_holdup_c0::m.field_0x54
|
||||
);
|
||||
m3570 = 0;
|
||||
}
|
||||
return true;
|
||||
@@ -1313,15 +1289,14 @@ BOOL daPy_lk_c::dProcLookWait_init() {
|
||||
|
||||
/* 8013065C-80130724 .text dProcLookWait__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::dProcLookWait() {
|
||||
fopAc_ac_c *look_actor_p = getDemoLookActor();
|
||||
fopAc_ac_c* look_actor_p = getDemoLookActor();
|
||||
|
||||
if (dComIfGp_checkPlayerStatus0(0, daPyStts0_SHIP_RIDE_e)) {
|
||||
setShipRidePos(0);
|
||||
}
|
||||
if (look_actor_p != NULL) {
|
||||
s16 target_angle;
|
||||
s16 sVar1 = cLib_targetAngleY(¤t.pos, &look_actor_p->eyePos) -
|
||||
shape_angle.y;
|
||||
s16 sVar1 = cLib_targetAngleY(¤t.pos, &look_actor_p->eyePos) - shape_angle.y;
|
||||
if (sVar1 > 0x6000) {
|
||||
target_angle = shape_angle.y + 0x6000;
|
||||
} else if (sVar1 < -0x6000) {
|
||||
@@ -1341,8 +1316,9 @@ BOOL daPy_lk_c::dProcPushPullWait_init() {
|
||||
return false;
|
||||
}
|
||||
commonProcInit(daPyProc_DEMO_PUSH_PULL_WAIT_e);
|
||||
setSingleMoveAnime(ANM_WAITPUSHPULL, daPy_HIO_pushpull_c0::m.field_0x0,
|
||||
0.0f, -1, daPy_HIO_pushpull_c0::m.field_0x4);
|
||||
setSingleMoveAnime(
|
||||
ANM_WAITPUSHPULL, daPy_HIO_pushpull_c0::m.field_0x0, 0.0f, -1, daPy_HIO_pushpull_c0::m.field_0x4
|
||||
);
|
||||
mVelocity = 0.0f;
|
||||
dComIfGp_setPlayerStatus0(0, daPyStts0_UNK4000000_e);
|
||||
return true;
|
||||
@@ -1360,8 +1336,7 @@ BOOL daPy_lk_c::dProcPushMove_init() {
|
||||
return false;
|
||||
}
|
||||
commonProcInit(daPyProc_DEMO_PUSH_MOVE_e);
|
||||
setSingleMoveAnime(ANM_WALKPUSH, daPy_HIO_pushpull_c0::m.field_0x8, 0.0f,
|
||||
-1, daPy_HIO_pushpull_c0::m.field_0xC);
|
||||
setSingleMoveAnime(ANM_WALKPUSH, daPy_HIO_pushpull_c0::m.field_0x8, 0.0f, -1, daPy_HIO_pushpull_c0::m.field_0xC);
|
||||
mVelocity = 0.0f;
|
||||
dComIfGp_setPlayerStatus0(0, daPyStts0_UNK4000000_e);
|
||||
voiceStart(19);
|
||||
@@ -1431,10 +1406,13 @@ BOOL daPy_lk_c::dProcNod_init() {
|
||||
}
|
||||
commonProcInit(daPyProc_DEMO_NOD_e);
|
||||
mVelocity = 0.0f;
|
||||
setSingleMoveAnime(ANM_SEYYES, daPy_HIO_turn_c0::m.field_0x1C,
|
||||
daPy_HIO_turn_c0::m.field_0x20,
|
||||
daPy_HIO_turn_c0::m.field_0xC,
|
||||
daPy_HIO_turn_c0::m.field_0x24);
|
||||
setSingleMoveAnime(
|
||||
ANM_SEYYES,
|
||||
daPy_HIO_turn_c0::m.field_0x1C,
|
||||
daPy_HIO_turn_c0::m.field_0x20,
|
||||
daPy_HIO_turn_c0::m.field_0xC,
|
||||
daPy_HIO_turn_c0::m.field_0x24
|
||||
);
|
||||
dComIfGp_setPlayerStatus0(0, daPyStts0_UNK10_e);
|
||||
return true;
|
||||
}
|
||||
@@ -1451,15 +1429,18 @@ BOOL daPy_lk_c::dProcNod() {
|
||||
|
||||
/* 80130B38-80130BE8 .text dProcPresent_init_sub__9daPy_lk_cFv */
|
||||
void daPy_lk_c::dProcPresent_init_sub() {
|
||||
setSingleMoveAnime(ANM_PRESENTATIONA, daPy_HIO_turn_c0::m.field_0x28,
|
||||
daPy_HIO_turn_c0::m.field_0x2C,
|
||||
daPy_HIO_turn_c0::m.field_0xE,
|
||||
daPy_HIO_turn_c0::m.field_0x30);
|
||||
setSingleMoveAnime(
|
||||
ANM_PRESENTATIONA,
|
||||
daPy_HIO_turn_c0::m.field_0x28,
|
||||
daPy_HIO_turn_c0::m.field_0x2C,
|
||||
daPy_HIO_turn_c0::m.field_0xE,
|
||||
daPy_HIO_turn_c0::m.field_0x30
|
||||
);
|
||||
onModeFlg(ModeFlg_00000400);
|
||||
if (checkBottleItem(dComIfGp_event_getPreItemNo()) == 0) {
|
||||
dComIfGp_event_setItemPartnerId(fopAcM_createItemForPresentDemo(
|
||||
¤t.pos, dComIfGp_event_getPreItemNo(), 3, -1,
|
||||
fopAcM_GetRoomNo(this), &shape_angle, &scale));
|
||||
¤t.pos, dComIfGp_event_getPreItemNo(), 3, -1, fopAcM_GetRoomNo(this), &shape_angle, &scale
|
||||
));
|
||||
}
|
||||
keepItemData();
|
||||
return;
|
||||
@@ -1487,9 +1468,7 @@ BOOL daPy_lk_c::dProcPresent() {
|
||||
setShapeAngleToTalkActor();
|
||||
if (m3570 != 0) {
|
||||
cXyz local_28 = (m370C - current.pos);
|
||||
if ((0x4000 < cLib_distanceAngleS(cM_atan2s(local_28.x, local_28.z),
|
||||
current.angle.y)) ||
|
||||
mAcch.ChkWallHit()) {
|
||||
if ((0x4000 < cLib_distanceAngleS(cM_atan2s(local_28.x, local_28.z), current.angle.y)) || mAcch.ChkWallHit()) {
|
||||
current.pos.x = m370C.x;
|
||||
current.pos.z = m370C.z;
|
||||
m3570 = 0;
|
||||
@@ -1506,18 +1485,14 @@ BOOL daPy_lk_c::dProcPresent() {
|
||||
setSingleMoveAnime(ANM_PRESENTATIONAWAIT, 1.0f, 0.0f, -1, 3.0f);
|
||||
onModeFlg(ModeFlg_00000080 | ModeFlg_00000100);
|
||||
offModeFlg(ModeFlg_00000400);
|
||||
} else if (mFrameCtrlUnder[UNDER_MOVE0_e].checkPass(
|
||||
daPy_HIO_turn_c0::m.field_0xE - 10.0f)) {
|
||||
} else if (mFrameCtrlUnder[UNDER_MOVE0_e].checkPass(daPy_HIO_turn_c0::m.field_0xE - 10.0f)) {
|
||||
if (checkBottleItem(dComIfGp_event_getPreItemNo())) {
|
||||
if (mEquipItem == daPyItem_NONE_e) {
|
||||
setBottleModel(dComIfGp_event_getPreItemNo());
|
||||
}
|
||||
} else {
|
||||
daItemBase_c *item =
|
||||
(daItemBase_c *)fopAcM_getItemEventPartner(this);
|
||||
if ((item != NULL) &&
|
||||
((fopAcM_GetName(item) == PROC_ITEM ||
|
||||
fopAcM_GetName(item) == PROC_Demo_Item))) {
|
||||
daItemBase_c* item = (daItemBase_c*)fopAcM_getItemEventPartner(this);
|
||||
if ((item != NULL) && (fopAcM_GetName(item) == PROC_ITEM || fopAcM_GetName(item) == PROC_Demo_Item)) {
|
||||
item->show();
|
||||
}
|
||||
}
|
||||
@@ -1559,11 +1534,11 @@ BOOL daPy_lk_c::dProcWindChange() {
|
||||
|
||||
/* 80130F98-8013116C .text dProcStandItemPut_init__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::dProcStandItemPut_init() {
|
||||
daPy_py_c *pdVar1;
|
||||
fopAc_ac_c *pfVar2;
|
||||
daPy_py_c* pdVar1;
|
||||
fopAc_ac_c* pfVar2;
|
||||
f32 dVar5;
|
||||
double in_f4;
|
||||
csXyz *angle;
|
||||
csXyz* angle;
|
||||
|
||||
if (mCurProc == daPyProc_DEMO_STAND_ITEM_PUT_e) {
|
||||
return true;
|
||||
@@ -1572,7 +1547,7 @@ BOOL daPy_lk_c::dProcStandItemPut_init() {
|
||||
mVelocity = 0.0f;
|
||||
keepItemData();
|
||||
m3570 = 0;
|
||||
pdVar1 = (daPy_py_c *)fopAcM_getEventPartner(this);
|
||||
pdVar1 = (daPy_py_c*)fopAcM_getEventPartner(this);
|
||||
if (pdVar1 != NULL) {
|
||||
cXyz local_20 = (pdVar1->current.pos - current.pos);
|
||||
angle = fopAcM_GetShapeAngle_p(this);
|
||||
@@ -1588,10 +1563,8 @@ BOOL daPy_lk_c::dProcStandItemPut_init() {
|
||||
angle = fopAcM_GetShapeAngle_p(this);
|
||||
}
|
||||
m3570 = 1;
|
||||
setSingleMoveAnime(ANM_GRABWAIT, daPy_HIO_grab_c0::m.field_0x78, 0.0f, -1,
|
||||
-1.0f);
|
||||
pfVar2 = (fopAc_ac_c *)fopAcM_fastCreate(
|
||||
PROC_STANDITEM, dComIfGp_event_getPreItemNo(), ¤t.pos, -1, angle);
|
||||
setSingleMoveAnime(ANM_GRABWAIT, daPy_HIO_grab_c0::m.field_0x78, 0.0f, -1, -1.0f);
|
||||
pfVar2 = (fopAc_ac_c*)fopAcM_fastCreate(PROC_STANDITEM, dComIfGp_event_getPreItemNo(), ¤t.pos, -1, angle);
|
||||
if (pfVar2 != NULL) {
|
||||
mActorKeepGrab.setData(pfVar2);
|
||||
fopAcM_setCarryNow(pfVar2, FALSE);
|
||||
@@ -1601,22 +1574,26 @@ BOOL daPy_lk_c::dProcStandItemPut_init() {
|
||||
|
||||
/* 8013116C-80131274 .text dProcStandItemPut__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::dProcStandItemPut() {
|
||||
fopAc_ac_c *pfVar2;
|
||||
fopAc_ac_c* pfVar2;
|
||||
|
||||
if (m3570 == 1) {
|
||||
if (m_old_fdata->getOldFrameRate() < 0.01f) {
|
||||
setSingleMoveAnime(ANM_GRABUP, daPy_HIO_grab_c0::m.field_0x68,
|
||||
daPy_HIO_grab_c0::m.field_0x6C,
|
||||
daPy_HIO_grab_c0::m.field_0xC,
|
||||
daPy_HIO_grab_c0::m.field_0x74);
|
||||
setSingleMoveAnime(
|
||||
ANM_GRABUP,
|
||||
daPy_HIO_grab_c0::m.field_0x68,
|
||||
daPy_HIO_grab_c0::m.field_0x6C,
|
||||
daPy_HIO_grab_c0::m.field_0xC,
|
||||
daPy_HIO_grab_c0::m.field_0x74
|
||||
);
|
||||
m3570 = 2;
|
||||
voiceStart(7);
|
||||
}
|
||||
} else if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() > -0.01f) {
|
||||
pfVar2 = mActorKeepGrab.getActor();
|
||||
if (pfVar2 != NULL) {
|
||||
mDoAud_seStart(JA_SE_LK_W_DAIZA_ATTACH, &pfVar2->current.pos, NULL,
|
||||
dComIfGp_getReverb(pfVar2->current.roomNo));
|
||||
mDoAud_seStart(
|
||||
JA_SE_LK_W_DAIZA_ATTACH, &pfVar2->current.pos, NULL, dComIfGp_getReverb(pfVar2->current.roomNo)
|
||||
);
|
||||
}
|
||||
freeGrabItem();
|
||||
dComIfGp_evmng_cutEnd(mStaffIdx);
|
||||
@@ -1633,10 +1610,8 @@ BOOL daPy_lk_c::dProcVorcanoFail_init() {
|
||||
mVelocity = 0.0f;
|
||||
speed.y = 18.0f;
|
||||
gravity = 0.0f;
|
||||
setSingleMoveAnime(ANM_LAVADAM, daPy_HIO_restart_c0::m.field_0x0, 0.0f, -1,
|
||||
daPy_HIO_restart_c0::m.field_0x4);
|
||||
m32E4.makeEmitter(dPa_name::ID_SCENE_8078, mpCLModel->getAnmMtx(0),
|
||||
¤t.pos, NULL);
|
||||
setSingleMoveAnime(ANM_LAVADAM, daPy_HIO_restart_c0::m.field_0x0, 0.0f, -1, daPy_HIO_restart_c0::m.field_0x4);
|
||||
m32E4.makeEmitter(dPa_name::ID_SCENE_8078, mpCLModel->getAnmMtx(0), ¤t.pos, NULL);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -1777,8 +1752,7 @@ BOOL daPy_lk_c::dProcAgbUse_init() {
|
||||
keepItemData();
|
||||
setAnimeEquipItem();
|
||||
mVelocity = 0.0f;
|
||||
setSingleMoveAnime(ANM_USETCEIVER, 1.0f, 0.0f, -1,
|
||||
daPy_HIO_basic_c0::m.field_0xC);
|
||||
setSingleMoveAnime(ANM_USETCEIVER, 1.0f, 0.0f, -1, daPy_HIO_basic_c0::m.field_0xC);
|
||||
mDoAud_seStart(JA_SE_TALK_START);
|
||||
initShipRideUseItem(iVar2, 2);
|
||||
return true;
|
||||
@@ -1878,8 +1852,7 @@ BOOL daPy_lk_c::dProcLetterRead() {
|
||||
if (checkNoResetFlg1(daPyFlg1_LETTER_READ_EYE_MOVE)) {
|
||||
offNoResetFlg1(daPyFlg1_LETTER_READ_EYE_MOVE);
|
||||
m_tex_scroll_heap.mIdx = LKANM_BTK_TEDL;
|
||||
setTextureScrollResource(loadTextureScrollResource(LKANM_BTK_TEDL, 0),
|
||||
0);
|
||||
setTextureScrollResource(loadTextureScrollResource(LKANM_BTK_TEDL, 0), 0);
|
||||
m34D0 = 4;
|
||||
} else {
|
||||
if (0 < m34D0) {
|
||||
@@ -1888,12 +1861,10 @@ BOOL daPy_lk_c::dProcLetterRead() {
|
||||
if (m_tex_scroll_heap.mIdx == LKANM_BTK_TEDL) {
|
||||
m34D0 = 4;
|
||||
m_tex_scroll_heap.mIdx = LKANM_BTK_TEDR;
|
||||
setTextureScrollResource(
|
||||
loadTextureScrollResource(LKANM_BTK_TEDR, 0), 0);
|
||||
setTextureScrollResource(loadTextureScrollResource(LKANM_BTK_TEDR, 0), 0);
|
||||
} else {
|
||||
m_tex_scroll_heap.mIdx = LKANM_BTK_TEDW;
|
||||
setTextureScrollResource(
|
||||
loadTextureScrollResource(LKANM_BTK_TEDW, 0), 0);
|
||||
setTextureScrollResource(loadTextureScrollResource(LKANM_BTK_TEDW, 0), 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1946,7 +1917,7 @@ BOOL daPy_lk_c::dProcGetDance_init() {
|
||||
mVelocity = 0.0f;
|
||||
setSingleMoveAnime(ANM_TAKTDGE, 1.0f, 0.0f, -1, 3.0f);
|
||||
m34D4 = 0;
|
||||
camera_class *cam = dComIfGp_getCamera(mCameraInfoIdx);
|
||||
camera_class* cam = dComIfGp_getCamera(mCameraInfoIdx);
|
||||
m34D6 = shape_angle.y - fopCamM_GetAngleY(cam);
|
||||
current.angle.y = shape_angle.y;
|
||||
m3628 = fpcM_ERROR_PROCESS_ID_e;
|
||||
@@ -1962,7 +1933,7 @@ BOOL daPy_lk_c::dProcGetDance_init() {
|
||||
|
||||
/* 80131FB0-80132224 .text dProcGetDance__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::dProcGetDance() {
|
||||
J3DTransformInfo *pJVar3;
|
||||
J3DTransformInfo* pJVar3;
|
||||
|
||||
if (dComIfGp_checkPlayerStatus0(0, daPyStts0_SHIP_RIDE_e)) {
|
||||
setShipRidePos(0);
|
||||
@@ -1971,8 +1942,7 @@ BOOL daPy_lk_c::dProcGetDance() {
|
||||
dComIfGp_evmng_cutEnd(mStaffIdx);
|
||||
return true;
|
||||
}
|
||||
if (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() >= 11.0f &&
|
||||
mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() <= 17.0f) {
|
||||
if (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() >= 11.0f && mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() <= 17.0f) {
|
||||
if (m34D0 == 0) {
|
||||
m34D0 = 1;
|
||||
mDoAud_subBgmStart(JA_BGM_GET_SONG);
|
||||
@@ -1980,14 +1950,9 @@ BOOL daPy_lk_c::dProcGetDance() {
|
||||
}
|
||||
if (m34D6 > 0x4000) {
|
||||
shape_angle.y =
|
||||
current.angle.y +
|
||||
(((0x10000 - m34D6) *
|
||||
(mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() - 10.0f) / 7.0f));
|
||||
current.angle.y + ((0x10000 - m34D6) * (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() - 10.0f) / 7.0f);
|
||||
} else {
|
||||
shape_angle.y =
|
||||
current.angle.y -
|
||||
((m34D6 * (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() - 10.0f) /
|
||||
7.0f));
|
||||
shape_angle.y = current.angle.y - (m34D6 * (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() - 10.0f) / 7.0f);
|
||||
}
|
||||
} else {
|
||||
if (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() > 17.0f) {
|
||||
@@ -1995,8 +1960,7 @@ BOOL daPy_lk_c::dProcGetDance() {
|
||||
}
|
||||
}
|
||||
fopAcM_getItemEventPartner(this);
|
||||
if ((mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f) &&
|
||||
(checkEndMessage(m3570))) {
|
||||
if ((mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f) && (checkEndMessage(m3570))) {
|
||||
shape_angle.y += 0x8000;
|
||||
current.angle.y = shape_angle.y;
|
||||
m34DE = shape_angle.y;
|
||||
@@ -2019,9 +1983,13 @@ BOOL daPy_lk_c::dProcBottleOpenFairy_init() {
|
||||
commonProcInit(daPyProc_DEMO_BOTTLE_OPEN_FAIRY_e);
|
||||
current.angle.y = shape_angle.y;
|
||||
mVelocity = 0.0f;
|
||||
setSingleMoveAnime(ANM_BINOPENPRE, 1.0f, daPy_HIO_bottle_c0::m.field_0x3C,
|
||||
daPy_HIO_bottle_c0::m.field_0x6,
|
||||
daPy_HIO_bottle_c0::m.field_0x40);
|
||||
setSingleMoveAnime(
|
||||
ANM_BINOPENPRE,
|
||||
1.0f,
|
||||
daPy_HIO_bottle_c0::m.field_0x3C,
|
||||
daPy_HIO_bottle_c0::m.field_0x6,
|
||||
daPy_HIO_bottle_c0::m.field_0x40
|
||||
);
|
||||
keepItemData();
|
||||
setBottleModel(dItem_FAIRY_BOTTLE_e);
|
||||
dComIfGp_setPlayerStatus1(0, daPyStts1_UNK4000_e);
|
||||
@@ -2031,14 +1999,17 @@ BOOL daPy_lk_c::dProcBottleOpenFairy_init() {
|
||||
|
||||
/* 801322D0-80132438 .text dProcBottleOpenFairy__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::dProcBottleOpenFairy() {
|
||||
J3DFrameCtrl &frameCtrl = mFrameCtrlUnder[UNDER_MOVE0_e];
|
||||
J3DFrameCtrl& frameCtrl = mFrameCtrlUnder[UNDER_MOVE0_e];
|
||||
|
||||
if (m_anm_heap_under[UNDER_MOVE0_e].mIdx == LKANM_BCK_BINOPENPRE) {
|
||||
if (frameCtrl.getRate() < 0.01f) {
|
||||
setSingleMoveAnime(ANM_BINOPENB, 1.0f,
|
||||
daPy_HIO_bottle_c0::m.field_0x50,
|
||||
daPy_HIO_bottle_c0::m.field_0xA,
|
||||
daPy_HIO_bottle_c0::m.field_0x54);
|
||||
setSingleMoveAnime(
|
||||
ANM_BINOPENB,
|
||||
1.0f,
|
||||
daPy_HIO_bottle_c0::m.field_0x50,
|
||||
daPy_HIO_bottle_c0::m.field_0xA,
|
||||
daPy_HIO_bottle_c0::m.field_0x54
|
||||
);
|
||||
} else {
|
||||
if (frameCtrl.checkPass(32.0f)) {
|
||||
m355E = 0;
|
||||
@@ -2235,7 +2206,7 @@ BOOL daPy_lk_c::dProcShipSit_init() {
|
||||
setSingleMoveAnime(ANM_KOSHIKAKE, 1.0f, 0.0f, -1, -1.0f);
|
||||
mVelocity = 0.0f;
|
||||
initShipRideUseItem(iVar1, 1);
|
||||
daShip_c *ship = dComIfGp_getShipActor();
|
||||
daShip_c* ship = dComIfGp_getShipActor();
|
||||
ship->onLinkSit();
|
||||
ship->m034D = 2;
|
||||
return true;
|
||||
@@ -2252,7 +2223,7 @@ BOOL daPy_lk_c::dProcShipSit() {
|
||||
|
||||
/* 80132BC4-80132D00 .text dProcLastCombo_init__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::dProcLastCombo_init() {
|
||||
J3DAnmTransform *bck;
|
||||
J3DAnmTransform* bck;
|
||||
|
||||
if (mCurProc == daPyProc_DEMO_LAST_COMBO_e) {
|
||||
return true;
|
||||
@@ -2267,10 +2238,8 @@ BOOL daPy_lk_c::dProcLastCombo_init() {
|
||||
bck = getItemAnimeResource(LKANM_BCK_COMBO_KEN);
|
||||
mSwordAnim.changeBckOnly(bck);
|
||||
m35E8 = m35EC = 0.0f;
|
||||
bck = (J3DAnmTransform *)(dComIfG_getObjectRes(l_arcName,
|
||||
LINK_BCK_COMBO_TATE));
|
||||
mAtngshaBck.init(mpShmsModel->getModelData(), bck, false,
|
||||
J3DFrameCtrl::EMode_NONE, 0.0f, 0, -1, true);
|
||||
bck = (J3DAnmTransform*)(dComIfG_getObjectRes(l_arcName, LINK_BCK_COMBO_TATE));
|
||||
mAtngshaBck.init(mpShmsModel->getModelData(), bck, false, J3DFrameCtrl::EMode_NONE, 0.0f, 0, -1, true);
|
||||
m34BE = 4;
|
||||
offNoResetFlg1(daPyFlg1_LAST_COMBO_WAIT);
|
||||
setBlurPosResource(LKANM__LASTCOMBO_POS);
|
||||
@@ -2282,7 +2251,7 @@ BOOL daPy_lk_c::dProcLastCombo_init() {
|
||||
|
||||
/* 80132D00-80132DDC .text dProcLastCombo__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::dProcLastCombo() {
|
||||
J3DFrameCtrl &frameCtrl = mFrameCtrlUnder[UNDER_MOVE0_e];
|
||||
J3DFrameCtrl& frameCtrl = mFrameCtrlUnder[UNDER_MOVE0_e];
|
||||
|
||||
m35EC = frameCtrl.getFrame();
|
||||
m35E8 = frameCtrl.getFrame();
|
||||
|
||||
+149
-162
@@ -18,12 +18,12 @@ extern char l_arcName[];
|
||||
|
||||
/* 8014BAA0-8014BAEC .text fanWindEffectDraw__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::fanWindEffectDraw() {
|
||||
return (mpYuchw00Brk->getFrame() <= mpYuchw00Brk->getFrameMax() - 0.5f);
|
||||
return mpYuchw00Brk->getFrame() <= mpYuchw00Brk->getFrameMax() - 0.5f;
|
||||
}
|
||||
|
||||
/* 8014BAEC-8014BB38 .text fanWindCrashEffectDraw__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::fanWindCrashEffectDraw() {
|
||||
return (mpYbafo00Btk->getFrame() <= mpYbafo00Btk->getFrameMax() - 0.5f);
|
||||
return mpYbafo00Btk->getFrame() <= mpYbafo00Btk->getFrameMax() - 0.5f;
|
||||
}
|
||||
|
||||
/* 8014BB38-8014BBE8 .text fanJointCB__9daPy_lk_cFi */
|
||||
@@ -33,20 +33,19 @@ BOOL daPy_lk_c::fanJointCB(int param_0) {
|
||||
} else {
|
||||
mDoMtx_ZrotS(mDoMtx_stack_c::now, m355A);
|
||||
}
|
||||
mDoMtx_concat(mpEquipItemModel->getAnmMtx(param_0), mDoMtx_stack_c::now,
|
||||
mDoMtx_stack_c::now);
|
||||
mDoMtx_concat(mpEquipItemModel->getAnmMtx(param_0), mDoMtx_stack_c::now, mDoMtx_stack_c::now);
|
||||
mpEquipItemModel->setAnmMtx(1 * param_0, mDoMtx_stack_c::now);
|
||||
mDoMtx_copy(mDoMtx_stack_c::now, j3dSys.mCurrentMtx);
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 8014BBE8-8014BC2C .text daPy_fanJointCallback__FP7J3DNodei */
|
||||
BOOL daPy_fanJointCallback(J3DNode *node, int calcTiming) {
|
||||
BOOL daPy_fanJointCallback(J3DNode* node, int calcTiming) {
|
||||
if (calcTiming == J3DNodeCBCalcTiming_In) {
|
||||
J3DJoint *joint = static_cast<J3DJoint *>(node);
|
||||
J3DJoint* joint = static_cast<J3DJoint*>(node);
|
||||
s32 jntNo = joint->getJntNo();
|
||||
J3DModel *model = j3dSys.getModel();
|
||||
daPy_lk_c *i_this = reinterpret_cast<daPy_lk_c *>(model->getUserArea());
|
||||
J3DModel* model = j3dSys.getModel();
|
||||
daPy_lk_c* i_this = reinterpret_cast<daPy_lk_c*>(model->getUserArea());
|
||||
i_this->fanJointCB(jntNo);
|
||||
}
|
||||
return TRUE;
|
||||
@@ -63,20 +62,19 @@ BOOL daPy_lk_c::parachuteJointCB(int param_0) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
mDoMtx_concat(mpEquipItemModel->getAnmMtx(param_0), mDoMtx_stack_c::now,
|
||||
mDoMtx_stack_c::now);
|
||||
mDoMtx_concat(mpEquipItemModel->getAnmMtx(param_0), mDoMtx_stack_c::now, mDoMtx_stack_c::now);
|
||||
mpEquipItemModel->setAnmMtx(1 * param_0, mDoMtx_stack_c::now);
|
||||
mDoMtx_copy(mDoMtx_stack_c::now, j3dSys.mCurrentMtx);
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 8014BD08-8014BD4C .text daPy_parachuteJointCallback__FP7J3DNodei */
|
||||
BOOL daPy_parachuteJointCallback(J3DNode *node, int calcTiming) {
|
||||
BOOL daPy_parachuteJointCallback(J3DNode* node, int calcTiming) {
|
||||
if (calcTiming == J3DNodeCBCalcTiming_In) {
|
||||
J3DJoint *joint = static_cast<J3DJoint *>(node);
|
||||
J3DJoint* joint = static_cast<J3DJoint*>(node);
|
||||
s32 jntNo = joint->getJntNo();
|
||||
J3DModel *model = j3dSys.getModel();
|
||||
daPy_lk_c *i_this = reinterpret_cast<daPy_lk_c *>(model->getUserArea());
|
||||
J3DModel* model = j3dSys.getModel();
|
||||
daPy_lk_c* i_this = reinterpret_cast<daPy_lk_c*>(model->getUserArea());
|
||||
i_this->parachuteJointCB(jntNo);
|
||||
}
|
||||
return TRUE;
|
||||
@@ -85,13 +83,10 @@ BOOL daPy_parachuteJointCallback(J3DNode *node, int calcTiming) {
|
||||
/* 8014BD4C-8014BE50 .text setShapeFanLeaf__9daPy_lk_cFv */
|
||||
int daPy_lk_c::setShapeFanLeaf() {
|
||||
/* Nonmatching - floats */
|
||||
J3DMaterial *mesh;
|
||||
J3DMaterial* mesh;
|
||||
|
||||
if (mpEquipItemModel != NULL) {
|
||||
mesh = mpEquipItemModel->getModelData()
|
||||
->getJointNodePointer(0x00)
|
||||
->getMesh()
|
||||
->getNext();
|
||||
mesh = mpEquipItemModel->getModelData()->getJointNodePointer(0x00)->getMesh()->getNext();
|
||||
}
|
||||
m355C = m355C + 0x82f;
|
||||
m3558 = 1536.0f * cM_ssin(m355C);
|
||||
@@ -122,12 +117,10 @@ BOOL daPy_lk_c::checkFanGlideProc(int param_0) {
|
||||
|
||||
/* 8014BEEC-8014BFBC .text setFanModel__9daPy_lk_cFv */
|
||||
void daPy_lk_c::setFanModel() {
|
||||
J3DAnmTransform *bck = getItemAnimeResource(LKANM_BCK_USEFANAA);
|
||||
JKRHeap *oldHeap = setItemHeap();
|
||||
J3DModelData *tmp_modelData =
|
||||
initModel(&mpEquipItemModel, LINK_BDL_FAN, 0x37221222);
|
||||
int ret = mSwordAnim.init(tmp_modelData, bck, false,
|
||||
J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, false);
|
||||
J3DAnmTransform* bck = getItemAnimeResource(LKANM_BCK_USEFANAA);
|
||||
JKRHeap* oldHeap = setItemHeap();
|
||||
J3DModelData* tmp_modelData = initModel(&mpEquipItemModel, LINK_BDL_FAN, 0x37221222);
|
||||
int ret = mSwordAnim.init(tmp_modelData, bck, false, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, false);
|
||||
if (!ret) {
|
||||
JUT_ASSERT(242, FALSE);
|
||||
}
|
||||
@@ -136,35 +129,41 @@ void daPy_lk_c::setFanModel() {
|
||||
|
||||
/* 8014BFBC-8014C0C0 .text setSmallFanModel__9daPy_lk_cFv */
|
||||
void daPy_lk_c::setSmallFanModel() {
|
||||
J3DModelData *tmp_modelData;
|
||||
J3DAnmTransform *bck = getItemAnimeResource(LKANM_BCK_FANWAIT);
|
||||
JKRHeap *oldHeap = setItemHeap();
|
||||
J3DModelData* tmp_modelData;
|
||||
J3DAnmTransform* bck = getItemAnimeResource(LKANM_BCK_FANWAIT);
|
||||
JKRHeap* oldHeap = setItemHeap();
|
||||
tmp_modelData = initModel(&mpEquipItemModel, LINK_BDL_FANSMALL, 0x37221222);
|
||||
int ret = mSwordAnim.init(tmp_modelData, bck, false,
|
||||
J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, false);
|
||||
int ret = mSwordAnim.init(tmp_modelData, bck, false, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, false);
|
||||
if (!ret) {
|
||||
JUT_ASSERT(275, FALSE);
|
||||
}
|
||||
mDoExt_setCurrentHeap(oldHeap);
|
||||
mpEquipItemModel->setUserArea(reinterpret_cast<u32>(this));
|
||||
tmp_modelData->getJointNodePointer(0x02)->setCallBack(
|
||||
daPy_fanJointCallback);
|
||||
tmp_modelData->getJointNodePointer(0x03)->setCallBack(
|
||||
daPy_fanJointCallback);
|
||||
tmp_modelData->getJointNodePointer(0x02)->setCallBack(daPy_fanJointCallback);
|
||||
tmp_modelData->getJointNodePointer(0x03)->setCallBack(daPy_fanJointCallback);
|
||||
m355C = 0;
|
||||
}
|
||||
|
||||
/* 8014C0C0-8014C254 .text setParachuteFanModel__9daPy_lk_cFf */
|
||||
void daPy_lk_c::setParachuteFanModel(f32 f31) {
|
||||
J3DAnmTransform *bck = getItemAnimeResource(LKANM_BCK_FANBA);
|
||||
JKRHeap *oldHeap = setItemHeap();
|
||||
J3DModelData *modelData = static_cast<J3DModelData *>(
|
||||
dComIfG_getObjectRes(l_arcName, LINK_BDL_FANB));
|
||||
J3DAnmTransform* bck = getItemAnimeResource(LKANM_BCK_FANBA);
|
||||
JKRHeap* oldHeap = setItemHeap();
|
||||
J3DModelData* modelData = static_cast<J3DModelData*>(dComIfG_getObjectRes(l_arcName, LINK_BDL_FANB));
|
||||
|
||||
mpParachuteFanMorf = new mDoExt_McaMorf(
|
||||
modelData, NULL, NULL, bck, J3DFrameCtrl::EMode_NONE,
|
||||
daPy_HIO_fan_c0::m.field_0x20, f31, daPy_HIO_fan_c0::m.field_0x4, 0,
|
||||
NULL, 0x00000000, 0x11020203);
|
||||
modelData,
|
||||
NULL,
|
||||
NULL,
|
||||
bck,
|
||||
J3DFrameCtrl::EMode_NONE,
|
||||
daPy_HIO_fan_c0::m.field_0x20,
|
||||
f31,
|
||||
daPy_HIO_fan_c0::m.field_0x4,
|
||||
0,
|
||||
NULL,
|
||||
0x00000000,
|
||||
0x11020203
|
||||
);
|
||||
if (mpParachuteFanMorf == NULL || mpParachuteFanMorf->getModel() == NULL) {
|
||||
JUT_ASSERT(323, FALSE);
|
||||
}
|
||||
@@ -172,28 +171,26 @@ void daPy_lk_c::setParachuteFanModel(f32 f31) {
|
||||
mpEquipItemModel = mpParachuteFanMorf->getModel();
|
||||
mDoExt_setCurrentHeap(oldHeap);
|
||||
mpEquipItemModel->setUserArea(reinterpret_cast<u32>(this));
|
||||
modelData->getJointNodePointer(0x01)->setCallBack(
|
||||
daPy_parachuteJointCallback); // skeleton_root_Lroot joint
|
||||
modelData->getJointNodePointer(0x07)->setCallBack(
|
||||
daPy_parachuteJointCallback); // skeleton_root_Rroot joint
|
||||
modelData->getJointNodePointer(0x03)->setCallBack(
|
||||
daPy_parachuteJointCallback); // skeleton_root_LarmB joint
|
||||
modelData->getJointNodePointer(0x09)->setCallBack(
|
||||
daPy_parachuteJointCallback); // skeleton_root_RarmB joint
|
||||
modelData->getJointNodePointer(0x01)->setCallBack(daPy_parachuteJointCallback); // skeleton_root_Lroot joint
|
||||
modelData->getJointNodePointer(0x07)->setCallBack(daPy_parachuteJointCallback); // skeleton_root_Rroot joint
|
||||
modelData->getJointNodePointer(0x03)->setCallBack(daPy_parachuteJointCallback); // skeleton_root_LarmB joint
|
||||
modelData->getJointNodePointer(0x09)->setCallBack(daPy_parachuteJointCallback); // skeleton_root_RarmB joint
|
||||
}
|
||||
|
||||
/* 8014C254-8014C34C .text procFanSwing_init__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procFanSwing_init() {
|
||||
commonProcInit(daPyProc_FAN_SWING_e);
|
||||
setSingleMoveAnime(ANM_USEFANA, daPy_HIO_fan_c0::m.field_0xC,
|
||||
daPy_HIO_fan_c0::m.field_0x10,
|
||||
daPy_HIO_fan_c0::m.field_0x2,
|
||||
daPy_HIO_fan_c0::m.field_0x14);
|
||||
setSingleMoveAnime(
|
||||
ANM_USEFANA,
|
||||
daPy_HIO_fan_c0::m.field_0xC,
|
||||
daPy_HIO_fan_c0::m.field_0x10,
|
||||
daPy_HIO_fan_c0::m.field_0x2,
|
||||
daPy_HIO_fan_c0::m.field_0x14
|
||||
);
|
||||
setFanModel();
|
||||
m3570 = 0;
|
||||
voiceStart(7);
|
||||
setAtParam(AT_TYPE_UNK2000000, 1, dCcG_At_Spl_UNK0, dCcG_SE_UNK4,
|
||||
dCcG_AtHitMark_Nrm_e, 0, 50.0f);
|
||||
setAtParam(AT_TYPE_UNK2000000, 1, dCcG_At_Spl_UNK0, dCcG_SE_UNK4, dCcG_AtHitMark_Nrm_e, 0, 50.0f);
|
||||
m35EC = daPy_HIO_fan_c0::m.field_0x10;
|
||||
if (setShapeFanLeaf()) {
|
||||
m34D0 = 1;
|
||||
@@ -208,13 +205,13 @@ BOOL daPy_lk_c::procFanSwing_init() {
|
||||
/* 8014C34C-8014CA1C .text procFanSwing__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procFanSwing() {
|
||||
/* Nonmatching - floats, regalloc */
|
||||
JPABaseEmitter *pJVar5;
|
||||
JPABaseEmitter* pJVar5;
|
||||
cXyz local_6c;
|
||||
cXyz local_60;
|
||||
cXyz local_54;
|
||||
cXyz local_48;
|
||||
cXyz local_3c;
|
||||
J3DFrameCtrl &frameCtrl = mFrameCtrlUnder[UNDER_MOVE0_e];
|
||||
J3DFrameCtrl& frameCtrl = mFrameCtrlUnder[UNDER_MOVE0_e];
|
||||
|
||||
if (mpAttnActorLockOn != NULL) {
|
||||
onModeFlg(ModeFlg_00000080);
|
||||
@@ -233,23 +230,25 @@ BOOL daPy_lk_c::procFanSwing() {
|
||||
mFanSwingCb.mpEmitter = NULL;
|
||||
}
|
||||
mDoMtx_multVecZero(mpCLModel->getAnmMtx(0), &local_6c);
|
||||
dComIfGp_particle_setP1(dPa_name::ID_COMMON_004A, &local_6c,
|
||||
&shape_angle, NULL, 0xff, &mFanSwingCb, -1);
|
||||
dComIfGp_particle_setP1(dPa_name::ID_COMMON_004A, &local_6c, &shape_angle, NULL, 0xff, &mFanSwingCb, -1);
|
||||
}
|
||||
if (frameCtrl.getFrame() < 22.0f) {
|
||||
cLib_addCalc(&mVelocity, 0.0f, daPy_HIO_move_c0::m.field_0x24,
|
||||
daPy_HIO_move_c0::m.field_0x1C,
|
||||
daPy_HIO_move_c0::m.field_0x20);
|
||||
cLib_addCalc(
|
||||
&mVelocity,
|
||||
0.0f,
|
||||
daPy_HIO_move_c0::m.field_0x24,
|
||||
daPy_HIO_move_c0::m.field_0x1C,
|
||||
daPy_HIO_move_c0::m.field_0x20
|
||||
);
|
||||
} else {
|
||||
if (m3570 == 0) {
|
||||
if (m34D0 != 0) {
|
||||
if ((!checkHeavyStateOn()) &&
|
||||
((((!mAcch.ChkGroundHit() ||
|
||||
(checkNoResetFlg0(
|
||||
daPy_FLG0(daPyFlg0_UNK80000000 |
|
||||
daPyFlg0_UNK20000000)))) ||
|
||||
(!dComIfG_Bgsp()->ChkPolySafe(mAcch.m_gnd))) ||
|
||||
(!dComIfG_Bgsp()->ChkMoveBG(mAcch.m_gnd))))) {
|
||||
(((!mAcch.ChkGroundHit() ||
|
||||
(checkNoResetFlg0(daPy_FLG0(daPyFlg0_UNK80000000 | daPyFlg0_UNK20000000)))) ||
|
||||
(!dComIfG_Bgsp()->ChkPolySafe(mAcch.m_gnd))) ||
|
||||
(!dComIfG_Bgsp()->ChkMoveBG(mAcch.m_gnd))))
|
||||
{
|
||||
mVelocity = 10.0f;
|
||||
current.angle.y = shape_angle.y + 0x8000;
|
||||
if (mCurrAttributeCode == dBgS_Attr_ICE_e) {
|
||||
@@ -259,8 +258,7 @@ BOOL daPy_lk_c::procFanSwing() {
|
||||
}
|
||||
m3534 = 10;
|
||||
m353A = 3;
|
||||
local_60.set(current.pos.x, current.pos.y + 70.0f,
|
||||
current.pos.z);
|
||||
local_60.set(current.pos.x, current.pos.y + 70.0f, current.pos.z);
|
||||
m3536 = shape_angle.y;
|
||||
if (mpAttnActorLockOn == NULL) {
|
||||
m3538 = 0;
|
||||
@@ -270,9 +268,7 @@ BOOL daPy_lk_c::procFanSwing() {
|
||||
}
|
||||
mpYuchw00Brk->setFrame(0.0f);
|
||||
m33E8.end();
|
||||
m33E8.makeEmitter(dPa_name::ID_COMMON_0032,
|
||||
mpYuchw00Model->getAnmMtx(2), &local_60,
|
||||
NULL);
|
||||
m33E8.makeEmitter(dPa_name::ID_COMMON_0032, mpYuchw00Model->getAnmMtx(2), &local_60, NULL);
|
||||
pJVar5 = m33E8.getEmitter();
|
||||
if (pJVar5 != NULL) {
|
||||
s16 sVar1 = tevStr.mColorC0.b;
|
||||
@@ -286,37 +282,33 @@ BOOL daPy_lk_c::procFanSwing() {
|
||||
local_48.set(
|
||||
current.pos.x + 100.0f * cM_ssin(shape_angle.y),
|
||||
current.pos.y + 50.0f,
|
||||
current.pos.z + 100.0f * cM_scos(shape_angle.y));
|
||||
current.pos.z + 100.0f * cM_scos(shape_angle.y)
|
||||
);
|
||||
mGndChk.SetPos(&local_48);
|
||||
local_48.y = dComIfG_Bgsp()->GroundCross(&mGndChk);
|
||||
if (local_48.y >= current.pos.y - 50.0f) {
|
||||
int iVar4 = dComIfG_Bgsp()->GetAttributeCode(mGndChk);
|
||||
if (!strcmp(dComIfGp_getStartStageName(), "Adanmae")) {
|
||||
dComIfGp_particle_setP1(dPa_name::ID_SCENE_8236,
|
||||
&local_48, &shape_angle);
|
||||
dComIfGp_particle_setP1(dPa_name::ID_SCENE_8236, &local_48, &shape_angle);
|
||||
}
|
||||
dPa_control_c::mSmokeEcallback.onWindOff();
|
||||
// TODO: Missing inline?
|
||||
dPa_control_c *pParticle =
|
||||
g_dComIfG_gameInfo.play.getParticle();
|
||||
dPa_control_c* pParticle = g_dComIfG_gameInfo.play.getParticle();
|
||||
int iStack_84;
|
||||
pJVar5 = pParticle->setSimpleLand(
|
||||
iVar4, &local_48, NULL, 1.0f, 1.0f, 1.0f, &tevStr,
|
||||
&iStack_84, 0x17);
|
||||
iVar4, &local_48, NULL, 1.0f, 1.0f, 1.0f, &tevStr, &iStack_84, 0x17
|
||||
);
|
||||
dPa_control_c::mSmokeEcallback.offWindOff();
|
||||
if (pJVar5) {
|
||||
csXyz local_80;
|
||||
local_80.y = shape_angle.y + 0x8000;
|
||||
local_80.x = getGroundAngle(&(mGndChk), local_80.y);
|
||||
local_80.z = getGroundAngle(&(mGndChk),
|
||||
local_80.y + -0x4000);
|
||||
mDoMtx_trans(mDoMtx_stack_c::now, local_48.x,
|
||||
local_48.y, local_48.z);
|
||||
mDoMtx_ZXYrotM(mDoMtx_stack_c::now, local_80.x,
|
||||
local_80.y, local_80.z);
|
||||
JPASetRMtxTVecfromMtx(mDoMtx_stack_c::now,
|
||||
pJVar5->mGlobalRotation,
|
||||
(pJVar5->mGlobalTranslation));
|
||||
local_80.z = getGroundAngle(&(mGndChk), local_80.y + -0x4000);
|
||||
mDoMtx_trans(mDoMtx_stack_c::now, local_48.x, local_48.y, local_48.z);
|
||||
mDoMtx_ZXYrotM(mDoMtx_stack_c::now, local_80.x, local_80.y, local_80.z);
|
||||
JPASetRMtxTVecfromMtx(
|
||||
mDoMtx_stack_c::now, pJVar5->mGlobalRotation, (pJVar5->mGlobalTranslation)
|
||||
);
|
||||
pJVar5->setSpread(0.45f);
|
||||
if (iVar4 == 4) {
|
||||
pJVar5->setRate(100.0f);
|
||||
@@ -325,10 +317,8 @@ BOOL daPy_lk_c::procFanSwing() {
|
||||
}
|
||||
}
|
||||
}
|
||||
local_3c.set(current.pos.x, current.pos.y + 50.0f,
|
||||
current.pos.z);
|
||||
dKyw_squal_set(&local_3c, 1000, shape_angle.y, 280.0f,
|
||||
1000.0f, 1.0f, 140.0f, 0.08f);
|
||||
local_3c.set(current.pos.x, current.pos.y + 50.0f, current.pos.z);
|
||||
dKyw_squal_set(&local_3c, 1000, shape_angle.y, 280.0f, 1000.0f, 1.0f, 140.0f, 0.08f);
|
||||
} else {
|
||||
seStartSwordCut(JA_SE_LK_SW_KAZEKIRI_S);
|
||||
}
|
||||
@@ -360,9 +350,9 @@ BOOL daPy_lk_c::procFanGlide_init(int param_0) {
|
||||
} else {
|
||||
fVar1 = daPy_HIO_fan_c0::m.field_0x28;
|
||||
}
|
||||
setSingleMoveAnime(ANM_USEFANB, daPy_HIO_fan_c0::m.field_0x20, fVar1,
|
||||
daPy_HIO_fan_c0::m.field_0x4,
|
||||
daPy_HIO_fan_c0::m.field_0x2C);
|
||||
setSingleMoveAnime(
|
||||
ANM_USEFANB, daPy_HIO_fan_c0::m.field_0x20, fVar1, daPy_HIO_fan_c0::m.field_0x4, daPy_HIO_fan_c0::m.field_0x2C
|
||||
);
|
||||
mEquipItem = daPyItem_UNK102_e;
|
||||
setParachuteFanModel(fVar1);
|
||||
m3600 = 0.0f;
|
||||
@@ -397,21 +387,16 @@ BOOL daPy_lk_c::procFanGlide() {
|
||||
cXyz local_60;
|
||||
cXyz local_54;
|
||||
cXyz local_48;
|
||||
JPABaseEmitter *emitter;
|
||||
J3DFrameCtrl &frameCtrl = mFrameCtrlUnder[UNDER_MOVE0_e];
|
||||
JPABaseEmitter* emitter;
|
||||
J3DFrameCtrl& frameCtrl = mFrameCtrlUnder[UNDER_MOVE0_e];
|
||||
|
||||
if ((int)m34D2 != 0) {
|
||||
m34D2--;
|
||||
}
|
||||
if ((frameCtrl.checkPass(4.0f)) &&
|
||||
(emitter =
|
||||
dComIfGp_particle_setP1(dPa_name::ID_COMMON_004B, ¤t.pos))) {
|
||||
JPASetRMtxTVecfromMtx(mpCLModel->getAnmMtx(0xf),
|
||||
emitter->mGlobalRotation,
|
||||
emitter->mGlobalTranslation);
|
||||
if ((frameCtrl.checkPass(4.0f)) && (emitter = dComIfGp_particle_setP1(dPa_name::ID_COMMON_004B, ¤t.pos))) {
|
||||
JPASetRMtxTVecfromMtx(mpCLModel->getAnmMtx(0xf), emitter->mGlobalRotation, emitter->mGlobalTranslation);
|
||||
}
|
||||
if (((frameCtrl.getRate() < 0.01f) && (m3570 == 0)) &&
|
||||
(m32E4.mpEmitter == NULL)) {
|
||||
if (((frameCtrl.getRate() < 0.01f) && (m3570 == 0)) && (m32E4.mpEmitter == NULL)) {
|
||||
m32E4.makeEmitter(0x4c, mpCLModel->getAnmMtx(0xf), ¤t.pos, NULL);
|
||||
}
|
||||
if ((frameCtrl.getFrame() > 2.0f) || (m3570 != 0)) {
|
||||
@@ -455,9 +440,9 @@ BOOL daPy_lk_c::procFanGlide() {
|
||||
if (m34D2 == 0) {
|
||||
dComIfGp_setDoStatus(0x27);
|
||||
}
|
||||
if (((m34D2 == 0) &&
|
||||
((doTrigger() || (cancelTrigger())))) ||
|
||||
((dComIfGs_getMagic() < 1 && (m3574 == 0)))) {
|
||||
if (((m34D2 == 0) && (doTrigger() || (cancelTrigger()))) ||
|
||||
(dComIfGs_getMagic() < 1 && (m3574 == 0)))
|
||||
{
|
||||
m3688 = current.pos;
|
||||
m35F0 = m3688.y;
|
||||
seStartOnlyReverb(JA_SE_LK_FAN_CHUTE_CLOSE);
|
||||
@@ -470,97 +455,103 @@ BOOL daPy_lk_c::procFanGlide() {
|
||||
gravity = daPy_HIO_fan_c0::m.field_0x3C;
|
||||
maxFallSpeed = daPy_HIO_fan_c0::m.field_0x38;
|
||||
}
|
||||
if (((checkSetItemTrigger(dItem_DEKU_LEAF_e, 1)) &&
|
||||
(frameCtrl.getRate() < 0.01f)) &&
|
||||
(m3570 == 0)) {
|
||||
setSingleMoveAnime(ANM_USEFANB,
|
||||
daPy_HIO_fan_c0::m.field_0x20,
|
||||
daPy_HIO_fan_c0::m.field_0x28,
|
||||
daPy_HIO_fan_c0::m.field_0x4,
|
||||
daPy_HIO_fan_c0::m.field_0x2C);
|
||||
if (((checkSetItemTrigger(dItem_DEKU_LEAF_e, 1)) && (frameCtrl.getRate() < 0.01f)) &&
|
||||
(m3570 == 0))
|
||||
{
|
||||
setSingleMoveAnime(
|
||||
ANM_USEFANB,
|
||||
daPy_HIO_fan_c0::m.field_0x20,
|
||||
daPy_HIO_fan_c0::m.field_0x28,
|
||||
daPy_HIO_fan_c0::m.field_0x4,
|
||||
daPy_HIO_fan_c0::m.field_0x2C
|
||||
);
|
||||
mpParachuteFanMorf->setAnm(
|
||||
getItemAnimeResource(LKANM_BCK_FANBA), 0,
|
||||
getItemAnimeResource(LKANM_BCK_FANBA),
|
||||
0,
|
||||
daPy_HIO_fan_c0::m.field_0x2C,
|
||||
daPy_HIO_fan_c0::m.field_0x20,
|
||||
daPy_HIO_fan_c0::m.field_0x28,
|
||||
daPy_HIO_fan_c0::m.field_0x4, NULL);
|
||||
daPy_HIO_fan_c0::m.field_0x4,
|
||||
NULL
|
||||
);
|
||||
gravity = daPy_HIO_autoJump_c0::m.field_0xC;
|
||||
voiceStart(5);
|
||||
seStartOnlyReverb(JA_SE_LK_FAN_CHUTE_RISE);
|
||||
m353A = 5;
|
||||
}
|
||||
if (mAcch.ChkWallHit()) {
|
||||
dBgS_AcchCir *pdVar11 = &mAcchCir[0];
|
||||
dBgS_AcchCir* pdVar11 = &mAcchCir[0];
|
||||
for (int i = 0; i < 3; i++, pdVar11++) {
|
||||
if ((pdVar11->ChkWallHit()) &&
|
||||
(cLib_distanceAngleS(
|
||||
current.angle.y,
|
||||
pdVar11->GetWallAngleY()) > 0x6000)) {
|
||||
(cLib_distanceAngleS(current.angle.y, pdVar11->GetWallAngleY()) > 0x6000))
|
||||
{
|
||||
mVelocity *= -1.0f;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (checkHeavyStateOn()) {
|
||||
cLib_chaseF(
|
||||
&mVelocity, 0.0f,
|
||||
(0.1f * daPy_HIO_autoJump_c0::m.field_0x3C));
|
||||
cLib_chaseF(&mVelocity, 0.0f, (0.1f * daPy_HIO_autoJump_c0::m.field_0x3C));
|
||||
}
|
||||
dKyw_get_AllWind_vec(&mHeadTopPos, &local_60,
|
||||
&local_64);
|
||||
dKyw_get_AllWind_vec(&mHeadTopPos, &local_60, &local_64);
|
||||
int uVar6 = m34E8 - shape_angle.y;
|
||||
cLib_addCalc(
|
||||
&mVelocity,
|
||||
(daPy_HIO_fan_c0::m.field_0x48 * mStickDistance) *
|
||||
cM_scos(uVar6),
|
||||
0.5f, (0.1f + 0.4f * mStickDistance), 0.01f);
|
||||
cLib_addCalcAngleS(
|
||||
&m34D4, (512.0f * mStickDistance) * cM_ssin(uVar6),
|
||||
5, 0x40, 8);
|
||||
(daPy_HIO_fan_c0::m.field_0x48 * mStickDistance) * cM_scos(uVar6),
|
||||
0.5f,
|
||||
(0.1f + 0.4f * mStickDistance),
|
||||
0.01f
|
||||
);
|
||||
cLib_addCalcAngleS(&m34D4, (512.0f * mStickDistance) * cM_ssin(uVar6), 5, 0x40, 8);
|
||||
if (mWindCyl.ChkTgHit()) {
|
||||
local_54 = *mWindCyl.GetTgRVecP();
|
||||
dVar13 = local_54.abs();
|
||||
if (dVar13 > 50.0f) {
|
||||
local_54 *= ((50.0f / dVar13));
|
||||
local_54 *= (50.0f / dVar13);
|
||||
}
|
||||
fVar1 = 1.0f;
|
||||
dVar13 = 20.0f;
|
||||
local_64 = 1.0f;
|
||||
if (m3570 == 0) {
|
||||
m3570 = 1;
|
||||
setSingleMoveAnime(
|
||||
ANM_USEFANB2, fVar1, 0.0f, -1,
|
||||
daPy_HIO_fan_c0::m.field_0x30);
|
||||
setSingleMoveAnime(ANM_USEFANB2, fVar1, 0.0f, -1, daPy_HIO_fan_c0::m.field_0x30);
|
||||
mpParachuteFanMorf->setAnm(
|
||||
getItemAnimeResource(LKANM_BCK_FANB2A), 0,
|
||||
daPy_HIO_fan_c0::m.field_0x30, 1.0f, 0.0f,
|
||||
-1.0f, NULL);
|
||||
getItemAnimeResource(LKANM_BCK_FANB2A),
|
||||
0,
|
||||
daPy_HIO_fan_c0::m.field_0x30,
|
||||
1.0f,
|
||||
0.0f,
|
||||
-1.0f,
|
||||
NULL
|
||||
);
|
||||
}
|
||||
} else {
|
||||
local_64 *= 1.5f;
|
||||
if (local_64 >= 1.0f) {
|
||||
local_64 = 1.0f;
|
||||
}
|
||||
local_54.x = local_64 *
|
||||
daPy_HIO_fan_c0::m.field_0x4C *
|
||||
local_60.x;
|
||||
local_54.x = local_64 * daPy_HIO_fan_c0::m.field_0x4C * local_60.x;
|
||||
local_54.y = 0.5f * local_64 * local_60.y;
|
||||
local_54.z =
|
||||
local_60.z * daPy_HIO_fan_c0::m.field_0x4C;
|
||||
local_54.z = local_60.z * daPy_HIO_fan_c0::m.field_0x4C;
|
||||
dVar13 = 3.0f;
|
||||
if (m3570 != 0) {
|
||||
m3570 = 0;
|
||||
setSingleMoveAnime(
|
||||
ANM_USEFANB, daPy_HIO_fan_c0::m.field_0x20,
|
||||
ANM_USEFANB,
|
||||
daPy_HIO_fan_c0::m.field_0x20,
|
||||
daPy_HIO_fan_c0::m.field_0x4 - 0.001f,
|
||||
daPy_HIO_fan_c0::m.field_0x4,
|
||||
daPy_HIO_fan_c0::m.field_0x34);
|
||||
daPy_HIO_fan_c0::m.field_0x34
|
||||
);
|
||||
mpParachuteFanMorf->setAnm(
|
||||
getItemAnimeResource(LKANM_BCK_FANBA), 0,
|
||||
getItemAnimeResource(LKANM_BCK_FANBA),
|
||||
0,
|
||||
daPy_HIO_fan_c0::m.field_0x34,
|
||||
daPy_HIO_fan_c0::m.field_0x20,
|
||||
daPy_HIO_fan_c0::m.field_0x4 - 0.001f,
|
||||
daPy_HIO_fan_c0::m.field_0x4, NULL);
|
||||
daPy_HIO_fan_c0::m.field_0x4,
|
||||
NULL
|
||||
);
|
||||
}
|
||||
}
|
||||
cLib_addCalc(&m3730.x, local_54.x, 0.5f, dVar13, 1.0f);
|
||||
@@ -569,11 +560,11 @@ BOOL daPy_lk_c::procFanGlide() {
|
||||
current.pos += m3730;
|
||||
shape_angle.y = shape_angle.y + m34D4;
|
||||
current.angle.y = shape_angle.y;
|
||||
local_48.set(m3730.x * cM_ssin(shape_angle.y) -
|
||||
m3730.z * cM_scos(shape_angle.y),
|
||||
m3730.y,
|
||||
m3730.x * cM_scos(shape_angle.y) +
|
||||
m3730.z * cM_ssin(shape_angle.y));
|
||||
local_48.set(
|
||||
m3730.x * cM_ssin(shape_angle.y) - m3730.z * cM_scos(shape_angle.y),
|
||||
m3730.y,
|
||||
m3730.x * cM_scos(shape_angle.y) + m3730.z * cM_ssin(shape_angle.y)
|
||||
);
|
||||
fVar2 = -local_48.x * 0.02f;
|
||||
fVar1 = local_48.z * 0.02f;
|
||||
fVar3 = 1.0f;
|
||||
@@ -590,9 +581,7 @@ BOOL daPy_lk_c::procFanGlide() {
|
||||
}
|
||||
iVar7 = (-m34D4 + (fVar3 * 6144.0f));
|
||||
s16 sVar5 = m34F2;
|
||||
cLib_addCalcAngleS(
|
||||
&m34F2, (mVelocity * (0.02f + fVar2 * 6144.0f)), 5,
|
||||
0x800, 0x100);
|
||||
cLib_addCalcAngleS(&m34F2, (mVelocity * (0.02f + fVar2 * 6144.0f)), 5, 0x800, 0x100);
|
||||
m34E0 = m34E0 + m34D6;
|
||||
m34E0 -= (s16)(m34F2 - sVar5);
|
||||
m34D6 += ((s16)(m34F2 - sVar5) >> 1);
|
||||
@@ -634,11 +623,9 @@ BOOL daPy_lk_c::procFanGlide() {
|
||||
}
|
||||
}
|
||||
local_64 *= 0.75f;
|
||||
m3600 = (((1.5f + local_64) + cM_rndFX(0.3f)) *
|
||||
cM_ssin(m355C));
|
||||
m3600 = (((1.5f + local_64) + cM_rndFX(0.3f)) * cM_ssin(m355C));
|
||||
m355E = ((600.0f + cM_rndFX(100.0f)) * cM_ssin(m355C));
|
||||
m355C += (6000.0f + (2000.0f * local_64)) +
|
||||
((12000.0f + (3000.0f * local_64)) * cM_rnd());
|
||||
m355C += (6000.0f + (2000.0f * local_64)) + ((12000.0f + (3000.0f * local_64)) * cM_rnd());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,9 +37,9 @@ BOOL daPy_lk_c::procFoodThrow_init() {
|
||||
mDoAud_seStart(JA_SE_ITEM_TARGET_OUT);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
dBgS* bgs = dComIfG_Bgsp(); // This is kinda weird, maybe fakematch
|
||||
|
||||
|
||||
if (dComIfGp_event_runCheck() == FALSE) {
|
||||
if (!dComIfGp_event_compulsory(this)) {
|
||||
return FALSE;
|
||||
@@ -49,26 +49,18 @@ BOOL daPy_lk_c::procFoodThrow_init() {
|
||||
} else {
|
||||
deleteEquipItem(FALSE);
|
||||
}
|
||||
|
||||
|
||||
int temp = checkShipRideUseItem(1);
|
||||
|
||||
|
||||
commonProcInit(daPyProc_FOOD_THROW_e);
|
||||
|
||||
|
||||
if (temp == 0) {
|
||||
f32 offset1 = cM_ssin(shape_angle.y) * 150.0f;
|
||||
f32 offset2 = cM_scos(shape_angle.y) * 150.0f;
|
||||
cXyz start;
|
||||
start.set(
|
||||
attention_info.position.x,
|
||||
attention_info.position.y - 50.0f,
|
||||
attention_info.position.z
|
||||
);
|
||||
start.set(attention_info.position.x, attention_info.position.y - 50.0f, attention_info.position.z);
|
||||
cXyz end;
|
||||
end.set(
|
||||
start.x + offset1,
|
||||
start.y,
|
||||
start.z + offset2
|
||||
);
|
||||
end.set(start.x + offset1, start.y, start.z + offset2);
|
||||
mLinkLinChk.Set(&start, &end, this);
|
||||
if (bgs->LineCross(&mLinkLinChk)) {
|
||||
end.x = start.x - offset1;
|
||||
@@ -95,20 +87,26 @@ BOOL daPy_lk_c::procFoodThrow_init() {
|
||||
}
|
||||
current.angle.y = shape_angle.y;
|
||||
mVelocity = 0.0f;
|
||||
|
||||
|
||||
daPy_matAnm_c::m_maba_flg = 0;
|
||||
daPy_matAnm_c::m_maba_timer = 1;
|
||||
setSingleMoveAnime(ANM_ESAMAKI, daPy_HIO_food_c0::m.field_0x4, daPy_HIO_food_c0::m.field_0x8, daPy_HIO_food_c0::m.field_0x0, daPy_HIO_food_c0::m.field_0xC);
|
||||
setSingleMoveAnime(
|
||||
ANM_ESAMAKI,
|
||||
daPy_HIO_food_c0::m.field_0x4,
|
||||
daPy_HIO_food_c0::m.field_0x8,
|
||||
daPy_HIO_food_c0::m.field_0x0,
|
||||
daPy_HIO_food_c0::m.field_0xC
|
||||
);
|
||||
keepItemData();
|
||||
|
||||
|
||||
if (mDemo.getDemoType() == 5) {
|
||||
m3570 = 6;
|
||||
dCam_getBody()->StartEventCamera(0x12, fopAcM_GetID(this), "Type", &m3570, 0);
|
||||
}
|
||||
|
||||
|
||||
initShipRideUseItem(temp, 2);
|
||||
m3630 = fpcM_ERROR_PROCESS_ID_e;
|
||||
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -161,51 +159,57 @@ BOOL daPy_lk_c::procFoodSet_init() {
|
||||
dComIfGs_setEquipBottleItemEmpty(dItemBtn_Z_e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
deleteEquipItem(FALSE);
|
||||
} else {
|
||||
setHyoiModel();
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
if (dComIfGp_event_runCheck() == FALSE) {
|
||||
if (!dComIfGp_event_compulsory(this)) {
|
||||
return FALSE;
|
||||
}
|
||||
mDemo.setDemoType(5);
|
||||
}
|
||||
|
||||
|
||||
int temp = checkShipRideUseItem(1);
|
||||
commonProcInit(daPyProc_FOOD_SET_e);
|
||||
current.angle.y = shape_angle.y;
|
||||
|
||||
|
||||
mVelocity = 0.0f;
|
||||
setSingleMoveAnime(ANM_SETHYOINOMI, daPy_HIO_food_c0::m.field_0x10, daPy_HIO_food_c0::m.field_0x14, daPy_HIO_food_c0::m.field_0x2, daPy_HIO_food_c0::m.field_0x18);
|
||||
setSingleMoveAnime(
|
||||
ANM_SETHYOINOMI,
|
||||
daPy_HIO_food_c0::m.field_0x10,
|
||||
daPy_HIO_food_c0::m.field_0x14,
|
||||
daPy_HIO_food_c0::m.field_0x2,
|
||||
daPy_HIO_food_c0::m.field_0x18
|
||||
);
|
||||
keepItemData();
|
||||
setHyoiModel();
|
||||
|
||||
|
||||
if (mDemo.getDemoType() == 5) {
|
||||
m3570 = 1;
|
||||
dCam_getBody()->StartEventCamera(0x12, fopAcM_GetID(this), "Type", &m3570, 0);
|
||||
}
|
||||
|
||||
|
||||
initShipRideUseItem(temp, 2);
|
||||
m34D0 = 1*30;
|
||||
|
||||
m34D0 = 1 * 30;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 80154A48-80154B80 .text procFoodSet__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procFoodSet() {
|
||||
J3DFrameCtrl& frameCtrl = mFrameCtrlUnder[UNDER_MOVE0_e];
|
||||
|
||||
|
||||
setShipRidePosUseItem();
|
||||
|
||||
|
||||
if (frameCtrl.getRate() > 0.0f && frameCtrl.checkPass(9.0f)) {
|
||||
seStartOnlyReverb(JA_SE_LK_HYOI_SET);
|
||||
}
|
||||
|
||||
|
||||
if (std::abs(frameCtrl.getRate()) < 0.01f) {
|
||||
if (mDemo.getDemoType() != 5) {
|
||||
dComIfGp_evmng_cutEnd(mStaffIdx);
|
||||
@@ -222,6 +226,6 @@ BOOL daPy_lk_c::procFoodSet() {
|
||||
m34D0--;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
+627
-612
File diff suppressed because it is too large
Load Diff
@@ -15,14 +15,12 @@
|
||||
|
||||
/* 8015023C-80150324 .text setHammerModel__9daPy_lk_cFv */
|
||||
void daPy_lk_c::setHammerModel() {
|
||||
J3DAnmTransform *bck = getItemAnimeResource(LKANM_BCK_HAMMERDAM);
|
||||
JKRHeap *oldHeap = setItemHeap();
|
||||
J3DModelData *tmp_modelData =
|
||||
initModel(&mpEquipItemModel, LINK_BDL_HAMMER, 0x37221222);
|
||||
int ret = mSwordAnim.init(tmp_modelData, bck, false, J3DFrameCtrl::EMode_LOOP,
|
||||
1.0f, 0, -1, false);
|
||||
J3DAnmTransform* bck = getItemAnimeResource(LKANM_BCK_HAMMERDAM);
|
||||
JKRHeap* oldHeap = setItemHeap();
|
||||
J3DModelData* tmp_modelData = initModel(&mpEquipItemModel, LINK_BDL_HAMMER, 0x37221222);
|
||||
int ret = mSwordAnim.init(tmp_modelData, bck, false, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, false);
|
||||
if (!ret) {
|
||||
JUT_ASSERT(32, FALSE);
|
||||
JUT_ASSERT(32, FALSE);
|
||||
}
|
||||
mSwBlur.mpPosBuffer = new (0x20) Vec[2 * 0x300];
|
||||
mDoExt_setCurrentHeap(oldHeap);
|
||||
@@ -46,16 +44,19 @@ void daPy_lk_c::setHammerWaterSplash() {
|
||||
BOOL daPy_lk_c::procHammerSideSwing_init() {
|
||||
/* Nonmatching - floats */
|
||||
commonProcInit(daPyProc_HAMMER_SIDE_SWING_e);
|
||||
setSingleMoveAnime(ANM_HAMSWINGA, daPy_HIO_ham_c0::m.field_0x8,
|
||||
daPy_HIO_ham_c0::m.field_0xC, daPy_HIO_ham_c0::m.field_0x0,
|
||||
daPy_HIO_ham_c0::m.field_0x14);
|
||||
setSingleMoveAnime(
|
||||
ANM_HAMSWINGA,
|
||||
daPy_HIO_ham_c0::m.field_0x8,
|
||||
daPy_HIO_ham_c0::m.field_0xC,
|
||||
daPy_HIO_ham_c0::m.field_0x0,
|
||||
daPy_HIO_ham_c0::m.field_0x14
|
||||
);
|
||||
current.angle.y = shape_angle.y;
|
||||
mVelocity = 0.0f;
|
||||
voiceStart(1);
|
||||
m34D4 = shape_angle.y;
|
||||
setBlurPosResource(LKANM__HAMMERSIDE_POS);
|
||||
setAtParam(AT_TYPE_SKULL_HAMMER, 4, dCcG_At_Spl_UNK0, dCcG_SE_UNK5,
|
||||
dCcG_AtHitMark_Nrm_e, 17, 50.0f);
|
||||
setAtParam(AT_TYPE_SKULL_HAMMER, 4, dCcG_At_Spl_UNK0, dCcG_SE_UNK5, dCcG_AtHitMark_Nrm_e, 17, 50.0f);
|
||||
mSwordAnim.changeBckOnly(getItemAnimeResource(LKANM_BCK_HAMSWINGAA));
|
||||
m35EC = daPy_HIO_ham_c0::m.field_0xC;
|
||||
return true;
|
||||
@@ -64,48 +65,50 @@ BOOL daPy_lk_c::procHammerSideSwing_init() {
|
||||
/* 80150C40-80150DDC .text procHammerSideSwing__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procHammerSideSwing() {
|
||||
m35EC = mFrameCtrlUnder[UNDER_MOVE0_e].getFrame();
|
||||
if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.0099999998f) {
|
||||
mVelocity = 0.0f;
|
||||
m34B8 = 3;
|
||||
checkNextMode(0);
|
||||
return true;
|
||||
} else {
|
||||
if (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() >
|
||||
daPy_HIO_ham_c0::m.field_0x10) {
|
||||
f32 dVar4 = mVelocity;
|
||||
u8 uVar1 = m34B8;
|
||||
if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f) {
|
||||
mVelocity = 0.0f;
|
||||
m34B8 = 3;
|
||||
if (checkNextMode(1)) {
|
||||
return true;
|
||||
}
|
||||
mVelocity = dVar4;
|
||||
m34B8 = uVar1;
|
||||
}
|
||||
if (changeCutReverseProc(ANM_CUTREL)) {
|
||||
setHammerQuake(NULL, NULL, -1);
|
||||
checkNextMode(0);
|
||||
return true;
|
||||
} else {
|
||||
if (mpAttnActorLockOn != NULL) {
|
||||
setShapeAngleToAtnActor();
|
||||
m34D4 = shape_angle.y;
|
||||
} else {
|
||||
if (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() > daPy_HIO_ham_c0::m.field_0x10) {
|
||||
f32 dVar4 = mVelocity;
|
||||
u8 uVar1 = m34B8;
|
||||
mVelocity = 0.0f;
|
||||
m34B8 = 3;
|
||||
if (checkNextMode(1)) {
|
||||
return true;
|
||||
}
|
||||
mVelocity = dVar4;
|
||||
m34B8 = uVar1;
|
||||
}
|
||||
if (changeCutReverseProc(ANM_CUTREL)) {
|
||||
setHammerQuake(NULL, NULL, -1);
|
||||
return true;
|
||||
} else {
|
||||
cLib_addCalcAngleS(&shape_angle.y, m34D4, daPy_HIO_turn_c0::m.field_0x4,
|
||||
daPy_HIO_turn_c0::m.field_0x0,
|
||||
daPy_HIO_turn_c0::m.field_0x2);
|
||||
if (mpAttnActorLockOn != NULL) {
|
||||
setShapeAngleToAtnActor();
|
||||
m34D4 = shape_angle.y;
|
||||
} else {
|
||||
cLib_addCalcAngleS(
|
||||
&shape_angle.y,
|
||||
m34D4,
|
||||
daPy_HIO_turn_c0::m.field_0x4,
|
||||
daPy_HIO_turn_c0::m.field_0x0,
|
||||
daPy_HIO_turn_c0::m.field_0x2
|
||||
);
|
||||
}
|
||||
current.angle.y = shape_angle.y;
|
||||
if ((mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() >= daPy_HIO_ham_c0::m.field_0x18) &&
|
||||
(mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() < daPy_HIO_ham_c0::m.field_0x1C))
|
||||
{
|
||||
if (!checkNoResetFlg0(daPyFlg0_CUT_AT_FLG)) {
|
||||
onResetFlg0(daPyRFlg0_UNK1);
|
||||
seStartSwordCut(JA_SE_LK_HAMMER_SWING);
|
||||
}
|
||||
onResetFlg0(daPyRFlg0_UNK2);
|
||||
}
|
||||
}
|
||||
current.angle.y = shape_angle.y;
|
||||
if ((mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() >=
|
||||
daPy_HIO_ham_c0::m.field_0x18) &&
|
||||
(mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() <
|
||||
daPy_HIO_ham_c0::m.field_0x1C)) {
|
||||
if (!checkNoResetFlg0(daPyFlg0_CUT_AT_FLG)) {
|
||||
onResetFlg0(daPyRFlg0_UNK1);
|
||||
seStartSwordCut(JA_SE_LK_HAMMER_SWING);
|
||||
}
|
||||
onResetFlg0(daPyRFlg0_UNK2);
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -114,19 +117,21 @@ BOOL daPy_lk_c::procHammerSideSwing() {
|
||||
BOOL daPy_lk_c::procHammerFrontSwingReady_init() {
|
||||
/* Nonmatching - floats */
|
||||
commonProcInit(daPyProc_HAMMER_FRONT_SWING_READY_e);
|
||||
setSingleMoveAnime(ANM_HAMSWINGBPRE, daPy_HIO_ham_c0::m.field_0x20,
|
||||
daPy_HIO_ham_c0::m.field_0x24,
|
||||
daPy_HIO_ham_c0::m.field_0x2,
|
||||
daPy_HIO_ham_c0::m.field_0x28);
|
||||
setSingleMoveAnime(
|
||||
ANM_HAMSWINGBPRE,
|
||||
daPy_HIO_ham_c0::m.field_0x20,
|
||||
daPy_HIO_ham_c0::m.field_0x24,
|
||||
daPy_HIO_ham_c0::m.field_0x2,
|
||||
daPy_HIO_ham_c0::m.field_0x28
|
||||
);
|
||||
current.angle.y = shape_angle.y;
|
||||
mVelocity = 0.0f;
|
||||
if (mpAttention->Lockon() || (mStickDistance <= 0.05f)) {
|
||||
m34D4 = shape_angle.y;
|
||||
m34D4 = shape_angle.y;
|
||||
} else {
|
||||
m34D4 = m34E8;
|
||||
m34D4 = m34E8;
|
||||
}
|
||||
setAtParam(AT_TYPE_SKULL_HAMMER, 4, dCcG_At_Spl_UNK0, dCcG_SE_UNK5,
|
||||
dCcG_AtHitMark_Nrm_e, 18, 50.0f);
|
||||
setAtParam(AT_TYPE_SKULL_HAMMER, 4, dCcG_At_Spl_UNK0, dCcG_SE_UNK5, dCcG_AtHitMark_Nrm_e, 18, 50.0f);
|
||||
voiceStart(7);
|
||||
mSwordAnim.changeBckOnly(getItemAnimeResource(LKANM_BCK_HAMSWINGBPREA));
|
||||
m35EC = daPy_HIO_ham_c0::m.field_0x24;
|
||||
@@ -137,35 +142,43 @@ BOOL daPy_lk_c::procHammerFrontSwingReady_init() {
|
||||
/* 80150F08-80150F98 .text procHammerFrontSwingReady__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procHammerFrontSwingReady() {
|
||||
m35EC = mFrameCtrlUnder[UNDER_MOVE0_e].getFrame();
|
||||
if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.0099999998f) {
|
||||
return procHammerFrontSwing_init();
|
||||
if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f) {
|
||||
return procHammerFrontSwing_init();
|
||||
} else {
|
||||
if (mpAttnActorLockOn != NULL) {
|
||||
setShapeAngleToAtnActor();
|
||||
m34D4 = shape_angle.y;
|
||||
} else {
|
||||
cLib_addCalcAngleS(&shape_angle.y, m34D4, daPy_HIO_turn_c0::m.field_0x4,
|
||||
daPy_HIO_turn_c0::m.field_0x0,
|
||||
daPy_HIO_turn_c0::m.field_0x2);
|
||||
}
|
||||
current.angle.y = shape_angle.y;
|
||||
return true;
|
||||
if (mpAttnActorLockOn != NULL) {
|
||||
setShapeAngleToAtnActor();
|
||||
m34D4 = shape_angle.y;
|
||||
} else {
|
||||
cLib_addCalcAngleS(
|
||||
&shape_angle.y,
|
||||
m34D4,
|
||||
daPy_HIO_turn_c0::m.field_0x4,
|
||||
daPy_HIO_turn_c0::m.field_0x0,
|
||||
daPy_HIO_turn_c0::m.field_0x2
|
||||
);
|
||||
}
|
||||
current.angle.y = shape_angle.y;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
/* 80150F98-801510DC .text procHammerFrontSwing_init__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procHammerFrontSwing_init() {
|
||||
commonProcInit(daPyProc_HAMMER_FRONT_SWING_e);
|
||||
setSingleMoveAnime(ANM_HAMSWINGBHIT, 4.0f * daPy_HIO_ham_c0::m.field_0x2C,
|
||||
daPy_HIO_ham_c0::m.field_0x30,
|
||||
daPy_HIO_ham_c0::m.field_0x4, 0.0f);
|
||||
setSingleMoveAnime(
|
||||
ANM_HAMSWINGBHIT,
|
||||
4.0f * daPy_HIO_ham_c0::m.field_0x2C,
|
||||
daPy_HIO_ham_c0::m.field_0x30,
|
||||
daPy_HIO_ham_c0::m.field_0x4,
|
||||
0.0f
|
||||
);
|
||||
current.angle.y = shape_angle.y;
|
||||
mVelocity = 0.0f;
|
||||
voiceStart(1);
|
||||
if (mpAttention->Lockon() || (mStickDistance <= 0.05f)) {
|
||||
m34D4 = shape_angle.y;
|
||||
m34D4 = shape_angle.y;
|
||||
} else {
|
||||
m34D4 = m34E8;
|
||||
m34D4 = m34E8;
|
||||
}
|
||||
m34D4 = shape_angle.y;
|
||||
setBlurPosResource(LKANM__HAMMERFRONT_POS);
|
||||
@@ -186,10 +199,13 @@ BOOL daPy_lk_c::procHammerFrontSwing() {
|
||||
/* 801513D4-80151450 .text procHammerFrontSwingEnd_init__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procHammerFrontSwingEnd_init() {
|
||||
commonProcInit(daPyProc_HAMMER_FRONT_SWING_END_e);
|
||||
setSingleMoveAnime(ANM_HAMSWINGBEND, daPy_HIO_ham_c0::m.field_0x34,
|
||||
daPy_HIO_ham_c0::m.field_0x38,
|
||||
daPy_HIO_ham_c0::m.field_0x6,
|
||||
daPy_HIO_ham_c0::m.field_0x40);
|
||||
setSingleMoveAnime(
|
||||
ANM_HAMSWINGBEND,
|
||||
daPy_HIO_ham_c0::m.field_0x34,
|
||||
daPy_HIO_ham_c0::m.field_0x38,
|
||||
daPy_HIO_ham_c0::m.field_0x6,
|
||||
daPy_HIO_ham_c0::m.field_0x40
|
||||
);
|
||||
current.angle.y = shape_angle.y;
|
||||
mVelocity = 0.0f;
|
||||
mCutType = 18;
|
||||
@@ -199,14 +215,13 @@ BOOL daPy_lk_c::procHammerFrontSwingEnd_init() {
|
||||
|
||||
/* 80151450-801514B0 .text procHammerFrontSwingEnd__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procHammerFrontSwingEnd() {
|
||||
if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.0099999998f) {
|
||||
if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f) {
|
||||
return checkNextMode(0);
|
||||
} else {
|
||||
if (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() >
|
||||
daPy_HIO_ham_c0::m.field_0x3C) {
|
||||
return checkNextMode(1);
|
||||
} else {
|
||||
if (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() > daPy_HIO_ham_c0::m.field_0x3C) {
|
||||
return checkNextMode(1);
|
||||
} else {
|
||||
return true;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,9 +15,8 @@
|
||||
|
||||
/* 80133F1C-80133F40 .text getHangMoveAnmSpeed__9daPy_lk_cFv */
|
||||
f32 daPy_lk_c::getHangMoveAnmSpeed() {
|
||||
return (daPy_HIO_hang_c0::m.field_0x24 +
|
||||
(mStickDistance * (daPy_HIO_hang_c0::m.field_0x28 -
|
||||
daPy_HIO_hang_c0::m.field_0x24)));
|
||||
return daPy_HIO_hang_c0::m.field_0x24 +
|
||||
(mStickDistance * (daPy_HIO_hang_c0::m.field_0x28 - daPy_HIO_hang_c0::m.field_0x24));
|
||||
}
|
||||
|
||||
/* 80133F40-80133FB4 .text getHangDirectionFromAngle__9daPy_lk_cFv */
|
||||
@@ -42,14 +41,12 @@ int daPy_lk_c::getHangDirectionFromAngle() {
|
||||
BOOL daPy_lk_c::changeHangMoveProc(int i_direction) {
|
||||
/* Nonmatching - floats */
|
||||
s16 uVar1;
|
||||
cM3dGPla *triPla;
|
||||
cM3dGPla* triPla;
|
||||
|
||||
if ((!(mAcch.ChkGroundHit())) ||
|
||||
(!dComIfG_Bgsp()->ChkPolySafe(mAcch.m_gnd))) {
|
||||
if ((!(mAcch.ChkGroundHit())) || (!dComIfG_Bgsp()->ChkPolySafe(mAcch.m_gnd))) {
|
||||
return false;
|
||||
}
|
||||
if (triPla = dComIfG_Bgsp()->GetTriPla(mAcch.m_gnd),
|
||||
triPla->GetNP()->y < 0.9986f) {
|
||||
if (triPla = dComIfG_Bgsp()->GetTriPla(mAcch.m_gnd), triPla->GetNP()->y < 0.9986f) {
|
||||
return false;
|
||||
} else {
|
||||
if (i_direction == 2) {
|
||||
@@ -72,8 +69,7 @@ BOOL daPy_lk_c::changeHangMoveProc(int i_direction) {
|
||||
return false;
|
||||
} else {
|
||||
mGndChk.SetPos(&local_34);
|
||||
if (std::fabsf((dComIfG_Bgsp()->GroundCross(&mGndChk) -
|
||||
current.pos.y)) > 5.0f) {
|
||||
if (std::fabsf(dComIfG_Bgsp()->GroundCross(&mGndChk) - current.pos.y) > 5.0f) {
|
||||
cXyz local_40;
|
||||
cXyz local_4c;
|
||||
local_40.x = local_34.x;
|
||||
@@ -87,9 +83,7 @@ BOOL daPy_lk_c::changeHangMoveProc(int i_direction) {
|
||||
return false;
|
||||
}
|
||||
triPla = dComIfG_Bgsp()->GetTriPla(mLinkLinChk);
|
||||
if (cLib_distanceAngleS(
|
||||
cM_atan2s(triPla->GetNP()->x, triPla->GetNP()->z),
|
||||
shape_angle.y) < 0x549f) {
|
||||
if (cLib_distanceAngleS(cM_atan2s(triPla->GetNP()->x, triPla->GetNP()->z), shape_angle.y) < 0x549f) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -102,9 +96,7 @@ BOOL daPy_lk_c::changeHangMoveProc(int i_direction) {
|
||||
mLinkLinChk.Set(&local_28, &local_34, this);
|
||||
if (dComIfG_Bgsp()->LineCross(&mLinkLinChk)) {
|
||||
triPla = dComIfG_Bgsp()->GetTriPla(mLinkLinChk);
|
||||
if (cLib_distanceAngleS(
|
||||
cM_atan2s(triPla->GetNP()->x, triPla->GetNP()->z),
|
||||
shape_angle.y) < 0x549f) {
|
||||
if (cLib_distanceAngleS(cM_atan2s(triPla->GetNP()->x, triPla->GetNP()->z), shape_angle.y) < 0x549f) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -149,10 +141,8 @@ void daPy_lk_c::setHangShapeOffset() {
|
||||
s16 iVar7 = m34EC + shape_angle.y;
|
||||
f32 fVar4 = cM_ssin(iVar7);
|
||||
f32 fVar3 = cM_scos(iVar7);
|
||||
local_40.set(current.pos.x - fVar4 * 50.0f, current.pos.y - 5.0f,
|
||||
current.pos.z - fVar3 * 50.0f);
|
||||
local_4c.set(current.pos.x + fVar4 * 50.0f, current.pos.y - 5.0f,
|
||||
current.pos.z + fVar3 * 50.0f);
|
||||
local_40.set(current.pos.x - fVar4 * 50.0f, current.pos.y - 5.0f, current.pos.z - fVar3 * 50.0f);
|
||||
local_4c.set(current.pos.x + fVar4 * 50.0f, current.pos.y - 5.0f, current.pos.z + fVar3 * 50.0f);
|
||||
f32 dVar10 = fVar3 * 20.0f;
|
||||
f32 dVar9 = fVar4 * -20.0f;
|
||||
local_40.x += dVar10;
|
||||
@@ -187,8 +177,7 @@ BOOL daPy_lk_c::procHangStart_init() {
|
||||
cXyz local_28;
|
||||
cXyz local_34;
|
||||
|
||||
if ((mCurProc != daPyProc_ROPE_UP_HANG_e) &&
|
||||
(mCurProc != daPyProc_ROPE_UP_e)) {
|
||||
if ((mCurProc != daPyProc_ROPE_UP_HANG_e) && (mCurProc != daPyProc_ROPE_UP_e)) {
|
||||
local_34.set(m3724.x, 0.0f, m3724.z);
|
||||
local_28.set(current.pos.x, 0.0f, current.pos.z);
|
||||
if (local_34.abs(local_28) > (mAcchCir[0].GetWallR() + 20.0f)) {
|
||||
@@ -196,8 +185,7 @@ BOOL daPy_lk_c::procHangStart_init() {
|
||||
}
|
||||
}
|
||||
s32 sVar3 = 0;
|
||||
if ((mCurProc != daPyProc_ROPE_UP_HANG_e) &&
|
||||
(mCurProc != daPyProc_ROPE_UP_e)) {
|
||||
if ((mCurProc != daPyProc_ROPE_UP_HANG_e) && (mCurProc != daPyProc_ROPE_UP_e)) {
|
||||
local_1c.x = m3724.x - 1.5f * cM_ssin(m352C);
|
||||
local_1c.y = m3724.y + 10.0f;
|
||||
local_1c.z = m3724.z - 1.5f * cM_scos(m352C);
|
||||
@@ -216,10 +204,13 @@ BOOL daPy_lk_c::procHangStart_init() {
|
||||
}
|
||||
commonProcInit(daPyProc_HANG_START_e);
|
||||
m3570 = sVar3;
|
||||
setSingleMoveAnime(ANM_VJMPCHA, daPy_HIO_wallCatch_c0::m.field_0x44,
|
||||
daPy_HIO_wallCatch_c0::m.field_0x4C,
|
||||
daPy_HIO_wallCatch_c0::m.field_0x2,
|
||||
daPy_HIO_wallCatch_c0::m.field_0x48);
|
||||
setSingleMoveAnime(
|
||||
ANM_VJMPCHA,
|
||||
daPy_HIO_wallCatch_c0::m.field_0x44,
|
||||
daPy_HIO_wallCatch_c0::m.field_0x4C,
|
||||
daPy_HIO_wallCatch_c0::m.field_0x2,
|
||||
daPy_HIO_wallCatch_c0::m.field_0x48
|
||||
);
|
||||
current.pos = local_1c;
|
||||
shape_angle.y = m352C + 0x8000;
|
||||
current.angle.y = shape_angle.y;
|
||||
@@ -236,9 +227,9 @@ BOOL daPy_lk_c::procHangStart() {
|
||||
return true;
|
||||
} else {
|
||||
if (((mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f) ||
|
||||
(mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() >
|
||||
daPy_HIO_wallCatch_c0::m.field_0x50)) &&
|
||||
((mStickDistance > 0.05f || (m3570 != 0)))) {
|
||||
(mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() > daPy_HIO_wallCatch_c0::m.field_0x50)) &&
|
||||
(mStickDistance > 0.05f || (m3570 != 0)))
|
||||
{
|
||||
if ((getDirectionFromShapeAngle() == 0) || (m3570 != 0)) {
|
||||
procHangClimb_init(daPy_HIO_wallCatch_c0::m.field_0x2C);
|
||||
}
|
||||
@@ -251,9 +242,8 @@ BOOL daPy_lk_c::procHangStart() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 801349D8-80134DF8 .text procHangFallStart_init__9daPy_lk_cFP8cM3dGPla
|
||||
*/
|
||||
BOOL daPy_lk_c::procHangFallStart_init(cM3dGPla *param_0) {
|
||||
/* 801349D8-80134DF8 .text procHangFallStart_init__9daPy_lk_cFP8cM3dGPla */
|
||||
BOOL daPy_lk_c::procHangFallStart_init(cM3dGPla* param_0) {
|
||||
/* Nonmatching - floats */
|
||||
cXyz local_40;
|
||||
cXyz local_4c;
|
||||
@@ -264,15 +254,14 @@ BOOL daPy_lk_c::procHangFallStart_init(cM3dGPla *param_0) {
|
||||
s16 iVar7 = uVar5 - 0x4000;
|
||||
f32 dVar11 = cM_ssin(iVar7) * 30.0f;
|
||||
f32 dVar10 = cM_scos(iVar7) * 30.0f;
|
||||
local_40.set(current.pos.x + (cM_ssin(uVar5) * 4.5f), current.pos.y - 62.5f,
|
||||
current.pos.z + (cM_scos(uVar5) * 4.5f));
|
||||
local_40.set(
|
||||
current.pos.x + (cM_ssin(uVar5) * 4.5f), current.pos.y - 62.5f, current.pos.z + (cM_scos(uVar5) * 4.5f)
|
||||
);
|
||||
local_4c.set(local_40.x - dVar11, local_40.y, local_40.z - dVar10);
|
||||
mLinkLinChk.Set(&local_40, &local_4c, this);
|
||||
if (dComIfG_Bgsp()->LineCross(&mLinkLinChk)) {
|
||||
param_0 = dComIfG_Bgsp()->GetTriPla(mLinkLinChk);
|
||||
if (cLib_distanceAngleS(
|
||||
cM_atan2s(param_0->GetNP()->x, param_0->GetNP()->z),
|
||||
shape_angle.y) < 0x549f) {
|
||||
if (cLib_distanceAngleS(cM_atan2s(param_0->GetNP()->x, param_0->GetNP()->z), shape_angle.y) < 0x549f) {
|
||||
current.pos.x += dVar11;
|
||||
current.pos.z += dVar10;
|
||||
local_40.x += dVar11;
|
||||
@@ -285,9 +274,7 @@ BOOL daPy_lk_c::procHangFallStart_init(cM3dGPla *param_0) {
|
||||
mLinkLinChk.Set(&local_40, &local_4c, this);
|
||||
if (dComIfG_Bgsp()->LineCross(&mLinkLinChk)) {
|
||||
param_0 = dComIfG_Bgsp()->GetTriPla(mLinkLinChk);
|
||||
if (cLib_distanceAngleS(
|
||||
cM_atan2s(param_0->GetNP()->x, param_0->GetNP()->z),
|
||||
shape_angle.y) < 0x549f) {
|
||||
if (cLib_distanceAngleS(cM_atan2s(param_0->GetNP()->x, param_0->GetNP()->z), shape_angle.y) < 0x549f) {
|
||||
current.pos.x -= dVar11;
|
||||
current.pos.z -= dVar10;
|
||||
}
|
||||
@@ -330,9 +317,9 @@ BOOL daPy_lk_c::procHangFallStart_init(cM3dGPla *param_0) {
|
||||
morf = daPy_HIO_hang_c0::m.field_0x10;
|
||||
}
|
||||
commonProcInit(daPyProc_HANG_FALL_START_e);
|
||||
setSingleMoveAnime(ANM_HANGING, daPy_HIO_hang_c0::m.field_0x4,
|
||||
daPy_HIO_hang_c0::m.field_0x8,
|
||||
daPy_HIO_hang_c0::m.field_0x0, morf);
|
||||
setSingleMoveAnime(
|
||||
ANM_HANGING, daPy_HIO_hang_c0::m.field_0x4, daPy_HIO_hang_c0::m.field_0x8, daPy_HIO_hang_c0::m.field_0x0, morf
|
||||
);
|
||||
mVelocity = 0.0f;
|
||||
speed.y = 0.0f;
|
||||
dComIfGp_setPlayerStatus0(0, daPyStts0_UNK100_e);
|
||||
@@ -345,8 +332,8 @@ BOOL daPy_lk_c::procHangFallStart() {
|
||||
int iVar2;
|
||||
|
||||
if ((mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f) ||
|
||||
(mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() >
|
||||
daPy_HIO_hang_c0::m.field_0xC)) {
|
||||
(mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() > daPy_HIO_hang_c0::m.field_0xC))
|
||||
{
|
||||
iVar2 = 1;
|
||||
} else {
|
||||
iVar2 = 0;
|
||||
@@ -374,10 +361,13 @@ BOOL daPy_lk_c::procHangFallStart() {
|
||||
/* 80134EF0-80134F74 .text procHangUp_init__9daPy_lk_cFi */
|
||||
BOOL daPy_lk_c::procHangUp_init(int param_0) {
|
||||
commonProcInit(daPyProc_HANG_UP_e);
|
||||
setSingleMoveAnime(ANM_HANGUP, daPy_HIO_hang_c0::m.field_0x14,
|
||||
daPy_HIO_hang_c0::m.field_0x18,
|
||||
daPy_HIO_hang_c0::m.field_0x2,
|
||||
daPy_HIO_hang_c0::m.field_0x20);
|
||||
setSingleMoveAnime(
|
||||
ANM_HANGUP,
|
||||
daPy_HIO_hang_c0::m.field_0x14,
|
||||
daPy_HIO_hang_c0::m.field_0x18,
|
||||
daPy_HIO_hang_c0::m.field_0x2,
|
||||
daPy_HIO_hang_c0::m.field_0x20
|
||||
);
|
||||
dComIfGp_setPlayerStatus0(0, daPyStts0_UNK100_e);
|
||||
m3570 = param_0;
|
||||
mVelocity = 0.0f;
|
||||
@@ -394,8 +384,8 @@ BOOL daPy_lk_c::procHangUp() {
|
||||
return true;
|
||||
} else {
|
||||
if ((mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f) ||
|
||||
(mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() >
|
||||
daPy_HIO_hang_c0::m.field_0x1C)) {
|
||||
(mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() > daPy_HIO_hang_c0::m.field_0x1C))
|
||||
{
|
||||
if (m3570 == 0) {
|
||||
procHangClimb_init(daPy_HIO_wallCatch_c0::m.field_0x2C);
|
||||
} else {
|
||||
@@ -413,8 +403,7 @@ BOOL daPy_lk_c::procHangUp() {
|
||||
/* 80135094-80135140 .text procHangWait_init__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procHangWait_init() {
|
||||
commonProcInit(daPyProc_HANG_WAIT_e);
|
||||
setSingleMoveAnime(ANM_VJMPCHA, 0.0f, daPy_HIO_wallCatch_c0::m.field_0x2,
|
||||
-1, 5.0f);
|
||||
setSingleMoveAnime(ANM_VJMPCHA, 0.0f, daPy_HIO_wallCatch_c0::m.field_0x2, -1, 5.0f);
|
||||
setTextureAnime(9, 0);
|
||||
mpSeAnmFrameCtrl = NULL;
|
||||
mVelocity = 0.0f;
|
||||
@@ -473,12 +462,11 @@ BOOL daPy_lk_c::procHangMove() {
|
||||
if ((iVar7 == 0) && (mStickDistance > 0.05f)) {
|
||||
procHangClimb_init(daPy_HIO_wallCatch_c0::m.field_0x2C);
|
||||
} else {
|
||||
J3DFrameCtrl &frameCtrl = mFrameCtrlUnder[UNDER_MOVE0_e];
|
||||
J3DFrameCtrl& frameCtrl = mFrameCtrlUnder[UNDER_MOVE0_e];
|
||||
frameCtrl.setRate(getHangMoveAnmSpeed());
|
||||
if (frameCtrl.checkPass(0.0f) != 0) {
|
||||
s16 sVar3 = m34EC;
|
||||
if (((mStickDistance > 0.05f) && (iVar7 != 1)) &&
|
||||
(changeHangMoveProc(iVar7))) {
|
||||
if (((mStickDistance > 0.05f) && (iVar7 != 1)) && (changeHangMoveProc(iVar7))) {
|
||||
procHangMove_init(iVar7);
|
||||
} else {
|
||||
procHangWait_init();
|
||||
@@ -488,8 +476,7 @@ BOOL daPy_lk_c::procHangMove() {
|
||||
cXyz local_64 = (mRightHandPos - mLeftHandPos);
|
||||
float dVar12 = local_64.absXZ();
|
||||
if (changeHangMoveProc(4)) {
|
||||
mVelocity = std::fabsf((dVar12 - m35A0)) *
|
||||
daPy_HIO_hang_c0::m.field_0x30;
|
||||
mVelocity = std::fabsf(dVar12 - m35A0) * daPy_HIO_hang_c0::m.field_0x30;
|
||||
float fVar1 = cM_ssin(shape_angle.y);
|
||||
float fVar2 = cM_scos(shape_angle.y);
|
||||
float dVar13 = cM_ssin(current.angle.y);
|
||||
@@ -498,19 +485,16 @@ BOOL daPy_lk_c::procHangMove() {
|
||||
local_70.set(
|
||||
current.pos.x + (mVelocity * dVar13) - 30.0f * fVar1,
|
||||
current.pos.y - 5.0f,
|
||||
current.pos.z + (mVelocity * dVar11) - 30.0f * fVar2);
|
||||
current.pos.z + (mVelocity * dVar11) - 30.0f * fVar2
|
||||
);
|
||||
cXyz local_7c;
|
||||
local_7c.set(local_70.x + 60.0f * fVar1, local_70.y,
|
||||
local_70.z + 60.0f * fVar2);
|
||||
local_7c.set(local_70.x + 60.0f * fVar1, local_70.y, local_70.z + 60.0f * fVar2);
|
||||
mLinkLinChk.Set(&local_70, &local_7c, this);
|
||||
if (!dComIfG_Bgsp()->LineCross(&mLinkLinChk)) {
|
||||
mVelocity = 0.0f;
|
||||
} else {
|
||||
cM3dGPla *triPla =
|
||||
dComIfG_Bgsp()->GetTriPla(mLinkLinChk);
|
||||
s16 sVar6 =
|
||||
cM_atan2s(triPla->GetNP()->x, triPla->GetNP()->z) +
|
||||
0x8000;
|
||||
cM3dGPla* triPla = dComIfG_Bgsp()->GetTriPla(mLinkLinChk);
|
||||
s16 sVar6 = cM_atan2s(triPla->GetNP()->x, triPla->GetNP()->z) + 0x8000;
|
||||
if (sVar6 != shape_angle.y) {
|
||||
if ((short)(current.angle.y - shape_angle.y) > 0) {
|
||||
current.angle.y = sVar6 + 0x4000;
|
||||
@@ -527,19 +511,14 @@ BOOL daPy_lk_c::procHangMove() {
|
||||
local_88.z -= triPla->GetNP()->z * 1.5f;
|
||||
mGndChk.SetPos(&local_88);
|
||||
local_88.y = dComIfG_Bgsp()->GroundCross(&mGndChk);
|
||||
if (std::fabsf(local_88.y - current.pos.y) <=
|
||||
5.0f) {
|
||||
if (std::fabsf(local_88.y - current.pos.y) <= 5.0f) {
|
||||
current.pos = local_88;
|
||||
}
|
||||
} else {
|
||||
current.pos.x =
|
||||
(mLinkLinChk.GetLinP()->GetEndP()->x -
|
||||
1.5f * triPla->GetNP()->x) -
|
||||
(mVelocity * dVar13);
|
||||
current.pos.z =
|
||||
(mLinkLinChk.GetLinP()->GetEndP()->z -
|
||||
1.5f * triPla->GetNP()->z) -
|
||||
(mVelocity * dVar11);
|
||||
current.pos.x = (mLinkLinChk.GetLinP()->GetEndP()->x - 1.5f * triPla->GetNP()->x) -
|
||||
(mVelocity * dVar13);
|
||||
current.pos.z = (mLinkLinChk.GetLinP()->GetEndP()->z - 1.5f * triPla->GetNP()->z) -
|
||||
(mVelocity * dVar11);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@@ -561,9 +540,13 @@ BOOL daPy_lk_c::procHangClimb_init(f32 param_0) {
|
||||
return false;
|
||||
} else {
|
||||
commonProcInit(daPyProc_HANG_CLIMB_e);
|
||||
setSingleMoveAnime(ANM_VJMPCL, daPy_HIO_wallCatch_c0::m.field_0x24,
|
||||
param_0, daPy_HIO_wallCatch_c0::m.field_0x4,
|
||||
daPy_HIO_wallCatch_c0::m.field_0x28);
|
||||
setSingleMoveAnime(
|
||||
ANM_VJMPCL,
|
||||
daPy_HIO_wallCatch_c0::m.field_0x24,
|
||||
param_0,
|
||||
daPy_HIO_wallCatch_c0::m.field_0x4,
|
||||
daPy_HIO_wallCatch_c0::m.field_0x28
|
||||
);
|
||||
dComIfGp_setPlayerStatus0(0, daPyStts0_UNK200_e);
|
||||
mVelocity = 0.0f;
|
||||
voiceStart(32);
|
||||
@@ -576,8 +559,7 @@ BOOL daPy_lk_c::procHangClimb() {
|
||||
if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f) {
|
||||
checkNextMode(0);
|
||||
} else {
|
||||
if (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() >
|
||||
daPy_HIO_wallCatch_c0::m.field_0x38) {
|
||||
if (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() > daPy_HIO_wallCatch_c0::m.field_0x38) {
|
||||
checkNextMode(1);
|
||||
}
|
||||
}
|
||||
@@ -604,10 +586,13 @@ BOOL daPy_lk_c::procHangWallCatch_init() {
|
||||
return false;
|
||||
}
|
||||
commonProcInit(daPyProc_HANG_WALL_CATCH_e);
|
||||
setSingleMoveAnime(ANM_VJMPCHB, daPy_HIO_wallCatch_c0::m.field_0x1C,
|
||||
daPy_HIO_wallCatch_c0::m.field_0x34,
|
||||
daPy_HIO_wallCatch_c0::m.field_0x0,
|
||||
daPy_HIO_wallCatch_c0::m.field_0x20);
|
||||
setSingleMoveAnime(
|
||||
ANM_VJMPCHB,
|
||||
daPy_HIO_wallCatch_c0::m.field_0x1C,
|
||||
daPy_HIO_wallCatch_c0::m.field_0x34,
|
||||
daPy_HIO_wallCatch_c0::m.field_0x0,
|
||||
daPy_HIO_wallCatch_c0::m.field_0x20
|
||||
);
|
||||
current.pos = local_1c;
|
||||
shape_angle.y = m352C + 0x8000;
|
||||
current.angle.y = shape_angle.y;
|
||||
@@ -620,7 +605,8 @@ BOOL daPy_lk_c::procHangWallCatch_init() {
|
||||
/* 80135AE0-80135B50 .text procHangWallCatch__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procHangWallCatch() {
|
||||
if ((mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f) &&
|
||||
(!procHangClimb_init(daPy_HIO_wallCatch_c0::m.field_0x30))) {
|
||||
(!procHangClimb_init(daPy_HIO_wallCatch_c0::m.field_0x30)))
|
||||
{
|
||||
return procFall_init(1, daPy_HIO_wallCatch_c0::m.field_0x54);
|
||||
} else {
|
||||
return true;
|
||||
|
||||
@@ -18,20 +18,18 @@
|
||||
|
||||
/* 8014AB5C-8014ABA0 .text checkHookshotReturn__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::checkHookshotReturn() {
|
||||
daHookshot_c *hookshot = (daHookshot_c *)mActorKeepEquip.getActor();
|
||||
daHookshot_c* hookshot = (daHookshot_c*)mActorKeepEquip.getActor();
|
||||
|
||||
if ((mEquipItem != dItem_HOOKSHOT_e) || (hookshot == NULL)) {
|
||||
return false;
|
||||
} else {
|
||||
return ((fopAcM_GetParam(hookshot) == 3) ||
|
||||
(fopAcM_GetParam(hookshot) == 2));
|
||||
return (fopAcM_GetParam(hookshot) == 3) || (fopAcM_GetParam(hookshot) == 2);
|
||||
}
|
||||
}
|
||||
|
||||
/* 8014ABA0-8014ABF4 .text setHookshotCarryOffset__9daPy_lk_cFUiPC4cXyz */
|
||||
BOOL daPy_lk_c::setHookshotCarryOffset(fpc_ProcID param_0,
|
||||
const cXyz *param_1) {
|
||||
daHookshot_c *hookshot = (daHookshot_c *)mActorKeepEquip.getActor();
|
||||
BOOL daPy_lk_c::setHookshotCarryOffset(fpc_ProcID param_0, const cXyz* param_1) {
|
||||
daHookshot_c* hookshot = (daHookshot_c*)mActorKeepEquip.getActor();
|
||||
|
||||
if ((mEquipItem != dItem_HOOKSHOT_e) || (hookshot == NULL)) {
|
||||
return false;
|
||||
@@ -46,12 +44,10 @@ BOOL daPy_lk_c::setHookshotCarryOffset(fpc_ProcID param_0,
|
||||
|
||||
/* 8014ABF4-8014ACCC .text setHookshotModel__9daPy_lk_cFv */
|
||||
void daPy_lk_c::setHookshotModel() {
|
||||
J3DAnmTransform *bck = getItemAnimeResource(LKANM_BCK_HOOKSHOTA);
|
||||
JKRHeap *oldHeap = setItemHeap();
|
||||
J3DModelData *tmp_modelData =
|
||||
initModel(&mpEquipItemModel, LINK_BDL_HOOKSHOT, 0x37221222);
|
||||
int ret = mSwordAnim.init(tmp_modelData, bck, false,
|
||||
J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, false);
|
||||
J3DAnmTransform* bck = getItemAnimeResource(LKANM_BCK_HOOKSHOTA);
|
||||
JKRHeap* oldHeap = setItemHeap();
|
||||
J3DModelData* tmp_modelData = initModel(&mpEquipItemModel, LINK_BDL_HOOKSHOT, 0x37221222);
|
||||
int ret = mSwordAnim.init(tmp_modelData, bck, false, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, false);
|
||||
if (!ret) {
|
||||
JUT_ASSERT(100, FALSE);
|
||||
}
|
||||
@@ -62,21 +58,22 @@ void daPy_lk_c::setHookshotModel() {
|
||||
/* 8014ACCC-8014B02C .text setHookshotSight__9daPy_lk_cFv */
|
||||
void daPy_lk_c::setHookshotSight() {
|
||||
/* Nonmatching - floats */
|
||||
cXyz sp50(cM_ssin(shape_angle.y) * cM_scos(mBodyAngle.x),
|
||||
-cM_ssin(mBodyAngle.x),
|
||||
cM_scos(shape_angle.y) * cM_scos(mBodyAngle.x));
|
||||
cXyz sp50(
|
||||
cM_ssin(shape_angle.y) * cM_scos(mBodyAngle.x),
|
||||
-cM_ssin(mBodyAngle.x),
|
||||
cM_scos(shape_angle.y) * cM_scos(mBodyAngle.x)
|
||||
);
|
||||
cXyz sp44;
|
||||
cXyz sp38;
|
||||
sp38 = mHookshotRootPos + sp50 * 1500.0f;
|
||||
sp44 = mHookshotRootPos - sp50 * 60.0f;
|
||||
mRopeLinChk.Set(&sp44, &sp38, this);
|
||||
daHookshot_c *hookshot = (daHookshot_c *)mActorKeepEquip.getActor();
|
||||
daHookshot_c* hookshot = (daHookshot_c*)mActorKeepEquip.getActor();
|
||||
BOOL r30 = dComIfG_Bgsp()->LineCross(&mRopeLinChk);
|
||||
mSightPacket.onDrawFlg();
|
||||
if (r30 || hookshot->mCps.ChkAtHit()) {
|
||||
BOOL r3;
|
||||
if (r30 && mHookshotRootPos.abs2(current.pos) >
|
||||
mRopeLinChk.GetCross().abs2(current.pos)) {
|
||||
if (r30 && mHookshotRootPos.abs2(current.pos) > mRopeLinChk.GetCross().abs2(current.pos)) {
|
||||
mSightPacket.setPos(&mHookshotRootPos);
|
||||
r3 = FALSE;
|
||||
} else if (!r30) {
|
||||
@@ -85,8 +82,7 @@ void daPy_lk_c::setHookshotSight() {
|
||||
} else if (!hookshot->mCps.ChkAtHit()) {
|
||||
mSightPacket.setPos(&mRopeLinChk.GetCross());
|
||||
r3 = FALSE;
|
||||
} else if (mRopeLinChk.GetCross().abs2(mHookshotRootPos) >
|
||||
hookshot->m2CC.abs2(mHookshotRootPos)) {
|
||||
} else if (mRopeLinChk.GetCross().abs2(mHookshotRootPos) > hookshot->m2CC.abs2(mHookshotRootPos)) {
|
||||
mSightPacket.setPos(&hookshot->m2CC);
|
||||
r3 = TRUE;
|
||||
} else {
|
||||
@@ -94,8 +90,7 @@ void daPy_lk_c::setHookshotSight() {
|
||||
r3 = FALSE;
|
||||
}
|
||||
|
||||
if ((r3 && hookshot->m2B0) ||
|
||||
(!r3 && dComIfG_Bgsp()->ChkPolyHSStick(mRopeLinChk))) {
|
||||
if ((r3 && hookshot->m2B0) || (!r3 && dComIfG_Bgsp()->ChkPolyHSStick(mRopeLinChk))) {
|
||||
if (mSightPacket.getLockFlg()) {
|
||||
mSightPacket.incFrame();
|
||||
if (mSightPacket.checkSEFrame()) {
|
||||
@@ -119,7 +114,7 @@ void daPy_lk_c::freeHookshotItem() {
|
||||
if (mEquipItem != dItem_HOOKSHOT_e) {
|
||||
return;
|
||||
}
|
||||
daHookshot_c *hookshot = (daHookshot_c *)mActorKeepEquip.getActor();
|
||||
daHookshot_c* hookshot = (daHookshot_c*)mActorKeepEquip.getActor();
|
||||
if (hookshot == NULL) {
|
||||
return;
|
||||
}
|
||||
@@ -136,11 +131,10 @@ BOOL daPy_lk_c::checkNextActionHookshotReady() {
|
||||
static JGeometry::TVec3<f32> eff_scale(1.0f, 1.0f, 0.0f);
|
||||
static JGeometry::TVec3<f32> eff_dscale(0.2f, 0.2f, 0.2f);
|
||||
static JGeometry::TVec3<f32> eff_pscale(0.4f, 0.4f, 0.4f);
|
||||
daHookshot_c *hookshot = (daHookshot_c *)mActorKeepEquip.getActor();
|
||||
daHookshot_c* hookshot = (daHookshot_c*)mActorKeepEquip.getActor();
|
||||
|
||||
if (fopAcM_GetParam(hookshot) == 0) {
|
||||
if (((itemButton()) && (mEquipItem == getReadyItem())) &&
|
||||
(m355C == 0)) {
|
||||
if (((itemButton()) && (mEquipItem == getReadyItem())) && (m355C == 0)) {
|
||||
m355E = 1;
|
||||
} else {
|
||||
if ((!itemButton()) && (m355E != 0)) {
|
||||
@@ -161,8 +155,7 @@ BOOL daPy_lk_c::checkNextActionHookshotReady() {
|
||||
setBlendAtnMoveAnime(daPy_HIO_basic_c0::m.field_0xC);
|
||||
mFrameCtrlUnder[UNDER_MOVE0_e].setRate(0.0f);
|
||||
mFrameCtrlUnder[UNDER_MOVE1_e].setRate(0.0f);
|
||||
mFrameCtrlUpper[UPPER_MOVE0_e].setRate(
|
||||
daPy_HIO_atnMove_c0::m.field_0x24);
|
||||
mFrameCtrlUpper[UPPER_MOVE0_e].setRate(daPy_HIO_atnMove_c0::m.field_0x24);
|
||||
mFrameCtrlUpper[UPPER_MOVE1_e].setRate(0.0f);
|
||||
mFrameCtrlUpper[UPPER_MOVE2_e].setRate(0.0f);
|
||||
return true;
|
||||
@@ -214,10 +207,8 @@ BOOL daPy_lk_c::procHookshotSubject_init() {
|
||||
|
||||
mVelocity = 0.0f;
|
||||
|
||||
setActAnimeUpper(LKANM_BCK_HOOKSHOTWAIT, UPPER_MOVE2_e, 0.0f, 0.0f, -1,
|
||||
-1.0f);
|
||||
setSingleMoveAnime(ANM_ATNLS, 0.0f, 0.0f, -1,
|
||||
daPy_HIO_basic_c0::m.field_0xC);
|
||||
setActAnimeUpper(LKANM_BCK_HOOKSHOTWAIT, UPPER_MOVE2_e, 0.0f, 0.0f, -1, -1.0f);
|
||||
setSingleMoveAnime(ANM_ATNLS, 0.0f, 0.0f, -1, daPy_HIO_basic_c0::m.field_0xC);
|
||||
|
||||
dComIfGp_setPlayerStatus0(0, daPyStts0_HOOKSHOT_AIM_e);
|
||||
|
||||
@@ -230,7 +221,7 @@ BOOL daPy_lk_c::procHookshotSubject() {
|
||||
return true;
|
||||
}
|
||||
|
||||
daHookshot_c *hookshot = (daHookshot_c *)mActorKeepEquip.getActor();
|
||||
daHookshot_c* hookshot = (daHookshot_c*)mActorKeepEquip.getActor();
|
||||
if (fopAcM_GetParam(hookshot) == 0) {
|
||||
dComIfGp_setDoStatus(7);
|
||||
}
|
||||
@@ -241,8 +232,9 @@ BOOL daPy_lk_c::procHookshotSubject() {
|
||||
|
||||
mSightPacket.offDrawFlg();
|
||||
|
||||
if (checkNextMode(0) == 0 && fopAcM_GetParam(hookshot) == 0 &&
|
||||
setBodyAngleToCamera() && fopAcM_GetParam(hookshot) == 0) {
|
||||
if (checkNextMode(0) == 0 && fopAcM_GetParam(hookshot) == 0 && setBodyAngleToCamera() &&
|
||||
fopAcM_GetParam(hookshot) == 0)
|
||||
{
|
||||
setHookshotSight();
|
||||
}
|
||||
|
||||
@@ -267,10 +259,9 @@ BOOL daPy_lk_c::procHookshotMove_init() {
|
||||
m34B8 = 2;
|
||||
current.angle.y = shape_angle.y + 0x4000;
|
||||
}
|
||||
daHookshot_c *hookshot = (daHookshot_c *)mActorKeepEquip.getActor();
|
||||
daHookshot_c* hookshot = (daHookshot_c*)mActorKeepEquip.getActor();
|
||||
if (fopAcM_GetParam(hookshot) == 0) {
|
||||
setActAnimeUpper(LKANM_BCK_HOOKSHOTWAIT, UPPER_MOVE2_e, 1.0f, 0.0f,
|
||||
-1, -1.0f);
|
||||
setActAnimeUpper(LKANM_BCK_HOOKSHOTWAIT, UPPER_MOVE2_e, 1.0f, 0.0f, -1, -1.0f);
|
||||
setBlendAtnMoveAnime(daPy_HIO_basic_c0::m.field_0xC);
|
||||
}
|
||||
dComIfGp_setPlayerStatus0(0, daPyStts0_HOOKSHOT_AIM_e);
|
||||
@@ -283,7 +274,7 @@ BOOL daPy_lk_c::procHookshotMove() {
|
||||
if (!checkItemModeActorPointer()) {
|
||||
return true;
|
||||
}
|
||||
daHookshot_c *hookshot = (daHookshot_c *)mActorKeepEquip.getActor();
|
||||
daHookshot_c* hookshot = (daHookshot_c*)mActorKeepEquip.getActor();
|
||||
mSightPacket.offDrawFlg();
|
||||
if (fopAcM_GetParam(hookshot) == 0) {
|
||||
if (mpAttnActorLockOn != NULL) {
|
||||
@@ -317,7 +308,7 @@ BOOL daPy_lk_c::procHookshotMove() {
|
||||
/* 8014B74C-8014B854 .text procHookshotFly_init__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procHookshotFly_init() {
|
||||
/* Nonmatching - floats */
|
||||
daHookshot_c *hookshot = (daHookshot_c *)mActorKeepEquip.getActor();
|
||||
daHookshot_c* hookshot = (daHookshot_c*)mActorKeepEquip.getActor();
|
||||
commonProcInit(daPyProc_HOOKSHOT_FLY_e);
|
||||
for (int i = 0; i < 3; i++) {
|
||||
mAcchCir[i].SetWallR(70.0f);
|
||||
@@ -344,7 +335,7 @@ BOOL daPy_lk_c::procHookshotFly() {
|
||||
voiceStart(10);
|
||||
return true;
|
||||
} else {
|
||||
daHookshot_c *hookshot = (daHookshot_c *)mActorKeepEquip.getActor();
|
||||
daHookshot_c* hookshot = (daHookshot_c*)mActorKeepEquip.getActor();
|
||||
if (fopAcM_GetParam(hookshot) != 3) {
|
||||
if ((hookshot->m2A2 != 0) && (procShipJumpRide_init())) {
|
||||
return true;
|
||||
@@ -357,10 +348,8 @@ BOOL daPy_lk_c::procHookshotFly() {
|
||||
if (dComIfG_Bgsp()->LineCross(&mLinkLinChk)) {
|
||||
current.pos = mLinkLinChk.GetCross();
|
||||
}
|
||||
current.pos.x =
|
||||
hookshot->current.pos.x - 35.0f * cM_ssin(shape_angle.y);
|
||||
current.pos.z =
|
||||
hookshot->current.pos.z - 35.0f * cM_scos(shape_angle.y);
|
||||
current.pos.x = hookshot->current.pos.x - 35.0f * cM_ssin(shape_angle.y);
|
||||
current.pos.z = hookshot->current.pos.z - 35.0f * cM_scos(shape_angle.y);
|
||||
m3688 = current.pos;
|
||||
m35F0 = m3688.y;
|
||||
m35F4 = m3688.y;
|
||||
|
||||
+166
-180
@@ -15,24 +15,20 @@
|
||||
|
||||
/* 80132F34-80132F58 .text getLadderMoveAnmSpeed__9daPy_lk_cFv */
|
||||
f32 daPy_lk_c::getLadderMoveAnmSpeed() {
|
||||
return (daPy_HIO_ladder_c0::m.field_0x28 +
|
||||
(mStickDistance * (daPy_HIO_ladder_c0::m.field_0x24 -
|
||||
daPy_HIO_ladder_c0::m.field_0x28)));
|
||||
return daPy_HIO_ladder_c0::m.field_0x28 +
|
||||
(mStickDistance * (daPy_HIO_ladder_c0::m.field_0x24 - daPy_HIO_ladder_c0::m.field_0x28));
|
||||
}
|
||||
|
||||
/* 80132F58-80133058 .text setLadderFootSe__9daPy_lk_cFv */
|
||||
void daPy_lk_c::setLadderFootSe() {
|
||||
/* Nonmatching - floats */
|
||||
cXyz local_28(
|
||||
current.pos.x + cM_ssin(shape_angle.y) * 50.0f,
|
||||
current.pos.y,
|
||||
current.pos.z + cM_scos(shape_angle.y) * 50.0f
|
||||
current.pos.x + cM_ssin(shape_angle.y) * 50.0f, current.pos.y, current.pos.z + cM_scos(shape_angle.y) * 50.0f
|
||||
);
|
||||
|
||||
mLinkLinChk.Set(¤t.pos, &local_28, this);
|
||||
if (dComIfG_Bgsp()->LineCross(&mLinkLinChk)) {
|
||||
mDoAud_seStart(JA_SE_FT_LADDER_CLIMB_D, ¤t.pos,
|
||||
dComIfG_Bgsp()->GetMtrlSndId((mLinkLinChk)), mReverb);
|
||||
mDoAud_seStart(JA_SE_FT_LADDER_CLIMB_D, ¤t.pos, dComIfG_Bgsp()->GetMtrlSndId(mLinkLinChk), mReverb);
|
||||
} else {
|
||||
seStartOnlyReverb(JA_SE_FT_LADDER_CLIMB_D);
|
||||
}
|
||||
@@ -45,38 +41,37 @@ int daPy_lk_c::changeLadderMoveProc(int param_0) {
|
||||
cXyz local_2c;
|
||||
cXyz local_38;
|
||||
BOOL iVar5;
|
||||
|
||||
|
||||
cLib_addCalc(¤t.pos.x, m370C.x, 0.5f, 0.5f, 0.05f);
|
||||
cLib_addCalc(¤t.pos.y, m370C.y, 0.5f, 0.5f, 0.05f);
|
||||
cLib_addCalc(¤t.pos.z, m370C.z, 0.5f, 0.5f, 0.05f);
|
||||
if (mStickDistance > 0.05f) {
|
||||
int iVar2 = abs((s16)(m34E8 - shape_angle.y));
|
||||
if ((iVar2 > 0x3c72 && iVar2 < 0x438e)) {
|
||||
return false;
|
||||
}
|
||||
local_2c.x = current.pos.x;
|
||||
local_2c.z = current.pos.z;
|
||||
if (iVar2 < 0x4000) {
|
||||
local_2c.y = 50.0f + (125.0f + current.pos.y);
|
||||
iVar5 = false;
|
||||
} else {
|
||||
local_2c.y = current.pos.y - 50.0f;
|
||||
iVar5 = true;
|
||||
}
|
||||
local_38.x = local_2c.x + cM_ssin(shape_angle.y) * 50.0f;
|
||||
local_38.z = local_2c.z + cM_scos(shape_angle.y) * 50.0f;
|
||||
local_38.y = local_2c.y;
|
||||
mLinkLinChk.Set(&local_2c, &local_38, this);
|
||||
if ((!dComIfG_Bgsp()->LineCross(&mLinkLinChk)) ||
|
||||
(dComIfG_Bgsp()->GetWallCode(mLinkLinChk) != 4)) {
|
||||
if (iVar2 < 0x4000) {
|
||||
procLadderUpEnd_init(param_0);
|
||||
} else {
|
||||
procLadderDownEnd_init(param_0);
|
||||
int iVar2 = abs((s16)(m34E8 - shape_angle.y));
|
||||
if (iVar2 > 0x3c72 && iVar2 < 0x438e) {
|
||||
return false;
|
||||
}
|
||||
local_2c.x = current.pos.x;
|
||||
local_2c.z = current.pos.z;
|
||||
if (iVar2 < 0x4000) {
|
||||
local_2c.y = 50.0f + (125.0f + current.pos.y);
|
||||
iVar5 = false;
|
||||
} else {
|
||||
local_2c.y = current.pos.y - 50.0f;
|
||||
iVar5 = true;
|
||||
}
|
||||
local_38.x = local_2c.x + cM_ssin(shape_angle.y) * 50.0f;
|
||||
local_38.z = local_2c.z + cM_scos(shape_angle.y) * 50.0f;
|
||||
local_38.y = local_2c.y;
|
||||
mLinkLinChk.Set(&local_2c, &local_38, this);
|
||||
if ((!dComIfG_Bgsp()->LineCross(&mLinkLinChk)) || (dComIfG_Bgsp()->GetWallCode(mLinkLinChk) != 4)) {
|
||||
if (iVar2 < 0x4000) {
|
||||
procLadderUpEnd_init(param_0);
|
||||
} else {
|
||||
procLadderDownEnd_init(param_0);
|
||||
}
|
||||
} else {
|
||||
procLadderMove_init(param_0, iVar5, &m370C);
|
||||
}
|
||||
} else {
|
||||
procLadderMove_init(param_0, iVar5, &m370C);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -86,27 +81,23 @@ int daPy_lk_c::setMoveBGLadderCorrect() {
|
||||
/* Nonmatching - floats */
|
||||
if (dComIfG_Bgsp()->ChkPolySafe(mPolyInfo)) {
|
||||
if (dComIfG_Bgsp()->ChkMoveBG(mPolyInfo)) {
|
||||
dComIfG_Bgsp()->MoveBgTransPos(mPolyInfo, true, ¤t.pos,
|
||||
¤t.angle, &shape_angle);
|
||||
dComIfG_Bgsp()->MoveBgTransPos(mPolyInfo, true, &m370C, NULL, NULL);
|
||||
dComIfG_Bgsp()->MoveBgTransPos(mPolyInfo, true, ¤t.pos, ¤t.angle, &shape_angle);
|
||||
dComIfG_Bgsp()->MoveBgTransPos(mPolyInfo, true, &m370C, NULL, NULL);
|
||||
}
|
||||
}
|
||||
cXyz local_18(m370C.x + cM_ssin(current.angle.y) * 50.0f, m370C.y,
|
||||
m370C.z + cM_scos(current.angle.y) * 50.0f);
|
||||
mLinkLinChk.Set(&m370C, (cXyz *)&local_18, this);
|
||||
if ((!dComIfG_Bgsp()->LineCross(&mLinkLinChk)) ||
|
||||
(dComIfG_Bgsp()->GetWallCode(mLinkLinChk) != 4)) {
|
||||
}
|
||||
cXyz local_18(m370C.x + cM_ssin(current.angle.y) * 50.0f, m370C.y, m370C.z + cM_scos(current.angle.y) * 50.0f);
|
||||
mLinkLinChk.Set(&m370C, (cXyz*)&local_18, this);
|
||||
if ((!dComIfG_Bgsp()->LineCross(&mLinkLinChk)) || (dComIfG_Bgsp()->GetWallCode(mLinkLinChk) != 4)) {
|
||||
return procFall_init(1, daPy_HIO_wallCatch_c0::m.field_0x54);
|
||||
} else {
|
||||
} else {
|
||||
mPolyInfo = mLinkLinChk;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* 801333A8-80133414 .text procLadderUpStart_init_sub__9daPy_lk_cFv */
|
||||
void daPy_lk_c::procLadderUpStart_init_sub() {
|
||||
setSingleMoveAnime(ANM_LADDERUPST, daPy_HIO_ladder_c0::m.field_0x4, 0.0f, -1,
|
||||
daPy_HIO_ladder_c0::m.field_0x8);
|
||||
setSingleMoveAnime(ANM_LADDERUPST, daPy_HIO_ladder_c0::m.field_0x4, 0.0f, -1, daPy_HIO_ladder_c0::m.field_0x8);
|
||||
m3570 = 1;
|
||||
m34C2 = 4;
|
||||
dComIfGp_setPlayerStatus0(0, daPyStts0_UNK2000000_e);
|
||||
@@ -122,15 +113,15 @@ BOOL daPy_lk_c::procLadderUpStart_init() {
|
||||
mVelocity = 0.0f;
|
||||
speedF = 0.0f;
|
||||
if (mEquipItem == daPyItem_NONE_e) {
|
||||
if (checkEquipAnime()) {
|
||||
resetActAnimeUpper(UPPER_MOVE2_e, -1.0f);
|
||||
}
|
||||
procLadderUpStart_init_sub();
|
||||
if (checkEquipAnime()) {
|
||||
resetActAnimeUpper(UPPER_MOVE2_e, -1.0f);
|
||||
}
|
||||
procLadderUpStart_init_sub();
|
||||
} else {
|
||||
setBlendMoveAnime(daPy_HIO_basic_c0::m.field_0xC);
|
||||
setAnimeUnequip();
|
||||
m3570 = 0;
|
||||
m3598 = 0.0f;
|
||||
setBlendMoveAnime(daPy_HIO_basic_c0::m.field_0xC);
|
||||
setAnimeUnequip();
|
||||
m3570 = 0;
|
||||
m3598 = 0.0f;
|
||||
}
|
||||
f32 fVar1 = cM_ssin(m352C);
|
||||
f32 fVar2 = cM_scos(m352C);
|
||||
@@ -151,48 +142,47 @@ BOOL daPy_lk_c::procLadderUpStart() {
|
||||
/* Nonmatching - floats */
|
||||
if (setMoveBGLadderCorrect()) {
|
||||
return true;
|
||||
} else {
|
||||
} else {
|
||||
if (m3570 == 0) {
|
||||
if (m_anm_heap_upper[UPPER_MOVE2_e].mIdx == 0xffff) {
|
||||
procLadderUpStart_init_sub();
|
||||
}
|
||||
if (m_anm_heap_upper[UPPER_MOVE2_e].mIdx == 0xffff) {
|
||||
procLadderUpStart_init_sub();
|
||||
}
|
||||
} else {
|
||||
J3DFrameCtrl &frameCtrl = mFrameCtrlUnder[UNDER_MOVE0_e];
|
||||
m34C2 = 5;
|
||||
if (frameCtrl.getRate() < 0.0099999998f) {
|
||||
dComIfGp_setDoStatus(6);
|
||||
if (m34D4 == 0) {
|
||||
setLadderFootSe();
|
||||
m34D4 = 1;
|
||||
}
|
||||
if (doTrigger()) {
|
||||
m34C2 = 0;
|
||||
procFall_init(1, daPy_HIO_wallCatch_c0::m.field_0x54);
|
||||
J3DFrameCtrl& frameCtrl = mFrameCtrlUnder[UNDER_MOVE0_e];
|
||||
m34C2 = 5;
|
||||
if (frameCtrl.getRate() < 0.01f) {
|
||||
dComIfGp_setDoStatus(6);
|
||||
if (m34D4 == 0) {
|
||||
setLadderFootSe();
|
||||
m34D4 = 1;
|
||||
}
|
||||
if (doTrigger()) {
|
||||
m34C2 = 0;
|
||||
procFall_init(1, daPy_HIO_wallCatch_c0::m.field_0x54);
|
||||
} else {
|
||||
changeLadderMoveProc(1);
|
||||
}
|
||||
} else {
|
||||
changeLadderMoveProc(1);
|
||||
if (frameCtrl.checkPass(9.0f)) {
|
||||
setLadderFootSe();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (frameCtrl.checkPass(9.0f)) {
|
||||
setLadderFootSe();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 80133670-80133710 .text procLadderUpEnd_init__9daPy_lk_cFi */
|
||||
BOOL daPy_lk_c::procLadderUpEnd_init(int param_0) {
|
||||
daPy_ANM dVar2;
|
||||
|
||||
|
||||
commonProcInit(daPyProc_LADDER_UP_END_e);
|
||||
if (param_0 != 0) {
|
||||
dVar2 = ANM_LADDERUPEDL;
|
||||
dVar2 = ANM_LADDERUPEDL;
|
||||
} else {
|
||||
dVar2 = ANM_LADDERUPEDR;
|
||||
dVar2 = ANM_LADDERUPEDR;
|
||||
}
|
||||
setSingleMoveAnime(dVar2, daPy_HIO_ladder_c0::m.field_0xC, 0.0f, -1,
|
||||
daPy_HIO_ladder_c0::m.field_0x10);
|
||||
setSingleMoveAnime(dVar2, daPy_HIO_ladder_c0::m.field_0xC, 0.0f, -1, daPy_HIO_ladder_c0::m.field_0x10);
|
||||
m34C2 = 7;
|
||||
gravity = 0.0f;
|
||||
speed.y = 0.0f;
|
||||
@@ -205,27 +195,26 @@ BOOL daPy_lk_c::procLadderUpEnd_init(int param_0) {
|
||||
/* 80133710-801337B4 .text procLadderUpEnd__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procLadderUpEnd() {
|
||||
/* Nonmatching - floats */
|
||||
J3DFrameCtrl &frameCtrl = mFrameCtrlUnder[UNDER_MOVE0_e];
|
||||
J3DFrameCtrl& frameCtrl = mFrameCtrlUnder[UNDER_MOVE0_e];
|
||||
|
||||
if (setMoveBGLadderCorrect()) {
|
||||
return true;
|
||||
return true;
|
||||
} else {
|
||||
if (frameCtrl.getRate() < 0.0099999998f) {
|
||||
checkNextMode(0);
|
||||
} else {
|
||||
if (frameCtrl.checkPass(9.0f) || frameCtrl.checkPass(19.0f)) {
|
||||
setLadderFootSe();
|
||||
if (frameCtrl.getRate() < 0.01f) {
|
||||
checkNextMode(0);
|
||||
} else {
|
||||
if (frameCtrl.checkPass(9.0f) || frameCtrl.checkPass(19.0f)) {
|
||||
setLadderFootSe();
|
||||
}
|
||||
m34C2 = 5;
|
||||
}
|
||||
m34C2 = 5;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 801337B4-8013384C .text procLadderDownStart_init_sub__9daPy_lk_cFv */
|
||||
void daPy_lk_c::procLadderDownStart_init_sub() {
|
||||
setSingleMoveAnime(ANM_LADDERDWST, daPy_HIO_ladder_c0::m.field_0x14, 0.0f, -1,
|
||||
daPy_HIO_ladder_c0::m.field_0x18);
|
||||
setSingleMoveAnime(ANM_LADDERDWST, daPy_HIO_ladder_c0::m.field_0x14, 0.0f, -1, daPy_HIO_ladder_c0::m.field_0x18);
|
||||
m3570 = 1;
|
||||
m34C2 = 4;
|
||||
dComIfGp_setPlayerStatus0(0, daPyStts0_UNK2000000_e);
|
||||
@@ -246,15 +235,15 @@ BOOL daPy_lk_c::procLadderDownStart_init() {
|
||||
shape_angle.y = m352C + 0x8000;
|
||||
current.angle.y = m352C;
|
||||
if (mEquipItem == daPyItem_NONE_e) {
|
||||
if (checkEquipAnime()) {
|
||||
resetActAnimeUpper(UPPER_MOVE2_e, -1.0f);
|
||||
}
|
||||
procLadderDownStart_init_sub();
|
||||
if (checkEquipAnime()) {
|
||||
resetActAnimeUpper(UPPER_MOVE2_e, -1.0f);
|
||||
}
|
||||
procLadderDownStart_init_sub();
|
||||
} else {
|
||||
setBlendMoveAnime(daPy_HIO_basic_c0::m.field_0xC);
|
||||
setAnimeUnequip();
|
||||
m3570 = 0;
|
||||
m3598 = 0.0f;
|
||||
setBlendMoveAnime(daPy_HIO_basic_c0::m.field_0xC);
|
||||
setAnimeUnequip();
|
||||
m3570 = 0;
|
||||
m3598 = 0.0f;
|
||||
}
|
||||
f32 fVar1 = cM_ssin(m352C);
|
||||
f32 fVar2 = cM_scos(m352C);
|
||||
@@ -272,31 +261,30 @@ BOOL daPy_lk_c::procLadderDownStart() {
|
||||
/* Nonmatching - floats */
|
||||
if (setMoveBGLadderCorrect()) {
|
||||
return true;
|
||||
} else {
|
||||
} else {
|
||||
if (m3570 == 0) {
|
||||
if (m_anm_heap_upper[UPPER_MOVE2_e].mIdx == 0xffff) {
|
||||
procLadderDownStart_init_sub();
|
||||
}
|
||||
if (m_anm_heap_upper[UPPER_MOVE2_e].mIdx == 0xffff) {
|
||||
procLadderDownStart_init_sub();
|
||||
}
|
||||
} else {
|
||||
J3DFrameCtrl &frameCtrl = mFrameCtrlUnder[UNDER_MOVE0_e];
|
||||
m34C2 = 5;
|
||||
if (frameCtrl.getRate() < 0.0099999998f) {
|
||||
dComIfGp_setDoStatus(6);
|
||||
if (doTrigger()) {
|
||||
m34C2 = 0;
|
||||
procFall_init(1, daPy_HIO_wallCatch_c0::m.field_0x54);
|
||||
J3DFrameCtrl& frameCtrl = mFrameCtrlUnder[UNDER_MOVE0_e];
|
||||
m34C2 = 5;
|
||||
if (frameCtrl.getRate() < 0.01f) {
|
||||
dComIfGp_setDoStatus(6);
|
||||
if (doTrigger()) {
|
||||
m34C2 = 0;
|
||||
procFall_init(1, daPy_HIO_wallCatch_c0::m.field_0x54);
|
||||
} else {
|
||||
changeLadderMoveProc(1);
|
||||
}
|
||||
} else {
|
||||
changeLadderMoveProc(1);
|
||||
if ((frameCtrl.checkPass(26.0f) || frameCtrl.checkPass(36.0f)) || frameCtrl.checkPass(43.0f)) {
|
||||
setLadderFootSe();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if ((frameCtrl.checkPass(26.0f) || frameCtrl.checkPass(36.0f)) ||
|
||||
frameCtrl.checkPass(43.0f)) {
|
||||
setLadderFootSe();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 80133AB8-80133B4C .text procLadderDownEnd_init__9daPy_lk_cFi */
|
||||
@@ -305,12 +293,11 @@ BOOL daPy_lk_c::procLadderDownEnd_init(int param_0) {
|
||||
|
||||
commonProcInit(daPyProc_LADDER_DOWN_END_e);
|
||||
if (param_0 != 0) {
|
||||
dVar1 = ANM_LADDERDWEDL;
|
||||
dVar1 = ANM_LADDERDWEDL;
|
||||
} else {
|
||||
dVar1 = ANM_LADDERDWEDR;
|
||||
dVar1 = ANM_LADDERDWEDR;
|
||||
}
|
||||
setSingleMoveAnime(dVar1, daPy_HIO_ladder_c0::m.field_0x1C, 0.0f, -1,
|
||||
daPy_HIO_ladder_c0::m.field_0x20);
|
||||
setSingleMoveAnime(dVar1, daPy_HIO_ladder_c0::m.field_0x1C, 0.0f, -1, daPy_HIO_ladder_c0::m.field_0x20);
|
||||
m34C2 = 7;
|
||||
gravity = 0.0f;
|
||||
dComIfGp_setPlayerStatus0(0, daPyStts0_UNK2000000_e);
|
||||
@@ -321,14 +308,14 @@ BOOL daPy_lk_c::procLadderDownEnd_init(int param_0) {
|
||||
BOOL daPy_lk_c::procLadderDownEnd() {
|
||||
if (setMoveBGLadderCorrect()) {
|
||||
return true;
|
||||
} else {
|
||||
if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.0099999998f) {
|
||||
checkNextMode(0);
|
||||
} else {
|
||||
if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f) {
|
||||
checkNextMode(0);
|
||||
} else {
|
||||
m34C2 = 5;
|
||||
m34C2 = 5;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 80133BB4-80133E28 .text procLadderMove_init__9daPy_lk_cFiiP4cXyz */
|
||||
@@ -340,46 +327,46 @@ BOOL daPy_lk_c::procLadderMove_init(int param_0, int param_1, cXyz* param_2) {
|
||||
|
||||
commonProcInit(daPyProc_LADDER_MOVE_e);
|
||||
if (uVar3 == 0) {
|
||||
if (param_1 == 0) {
|
||||
m370C.y = param_2->y + 37.5f;
|
||||
} else {
|
||||
dVar4 *= -1.0f;
|
||||
m370C.y = param_2->y - 37.5f;
|
||||
}
|
||||
if (param_1 == 0) {
|
||||
m370C.y = param_2->y + 37.5f;
|
||||
} else {
|
||||
dVar4 *= -1.0f;
|
||||
m370C.y = param_2->y - 37.5f;
|
||||
}
|
||||
} else {
|
||||
m370C.y = param_2->y;
|
||||
m370C.y = param_2->y;
|
||||
}
|
||||
m370C.x = param_2->x;
|
||||
m370C.z = param_2->z;
|
||||
if (param_0 != 0) {
|
||||
if (uVar3 != 0) {
|
||||
m3570 = 1;
|
||||
} else {
|
||||
m3570 = 0;
|
||||
m370C.x = m370C.x - 2.0f * cM_scos(shape_angle.y);
|
||||
m370C.z = m370C.z - -2.0f * cM_ssin(shape_angle.y);
|
||||
}
|
||||
if (dVar4 >= 0.0f) {
|
||||
dVar2 = ANM_LADDERLTOR;
|
||||
} else {
|
||||
dVar2 = ANM_LADDERRTOL;
|
||||
}
|
||||
if (uVar3 != 0) {
|
||||
m3570 = 1;
|
||||
} else {
|
||||
m3570 = 0;
|
||||
m370C.x = m370C.x - 2.0f * cM_scos(shape_angle.y);
|
||||
m370C.z = m370C.z - -2.0f * cM_ssin(shape_angle.y);
|
||||
}
|
||||
if (dVar4 >= 0.0f) {
|
||||
dVar2 = ANM_LADDERLTOR;
|
||||
} else {
|
||||
dVar2 = ANM_LADDERRTOL;
|
||||
}
|
||||
} else {
|
||||
m3570 = 1;
|
||||
if (dVar4 >= 0.0f) {
|
||||
dVar2 = ANM_LADDERRTOL;
|
||||
} else {
|
||||
dVar2 = ANM_LADDERLTOR;
|
||||
}
|
||||
m370C.x = m370C.x + 2.0f * cM_scos(shape_angle.y);
|
||||
m370C.z = m370C.z + -2.0f * cM_ssin(shape_angle.y);
|
||||
m3570 = 1;
|
||||
if (dVar4 >= 0.0f) {
|
||||
dVar2 = ANM_LADDERRTOL;
|
||||
} else {
|
||||
dVar2 = ANM_LADDERLTOR;
|
||||
}
|
||||
m370C.x = m370C.x + 2.0f * cM_scos(shape_angle.y);
|
||||
m370C.z = m370C.z + -2.0f * cM_ssin(shape_angle.y);
|
||||
}
|
||||
setSingleMoveAnime(dVar2, dVar4, 0.0f, -1, daPy_HIO_ladder_c0::m.field_0x2C);
|
||||
m34B8 = param_1;
|
||||
if (param_1 == 0) {
|
||||
setTextureAnime(10, 0);
|
||||
setTextureAnime(10, 0);
|
||||
} else {
|
||||
setTextureAnime(0xb, 0);
|
||||
setTextureAnime(0xb, 0);
|
||||
}
|
||||
m34C2 = 7;
|
||||
gravity = 0.0f;
|
||||
@@ -395,29 +382,28 @@ BOOL daPy_lk_c::procLadderMove_init(int param_0, int param_1, cXyz* param_2) {
|
||||
BOOL daPy_lk_c::procLadderMove() {
|
||||
if (setMoveBGLadderCorrect()) {
|
||||
return true;
|
||||
} else {
|
||||
} else {
|
||||
m34C2 = 5;
|
||||
dComIfGp_setDoStatus(6);
|
||||
if (doTrigger()) {
|
||||
m34C2 = 0;
|
||||
procFall_init(1, daPy_HIO_wallCatch_c0::m.field_0x54);
|
||||
m34C2 = 0;
|
||||
procFall_init(1, daPy_HIO_wallCatch_c0::m.field_0x54);
|
||||
} else {
|
||||
if (std::fabsf(mFrameCtrlUnder[UNDER_MOVE0_e].getRate()) <
|
||||
0.0099999998f) {
|
||||
if ((int)m34D0 > 0) {
|
||||
m34D0--;
|
||||
setLadderFootSe();
|
||||
if (std::fabsf(mFrameCtrlUnder[UNDER_MOVE0_e].getRate()) < 0.01f) {
|
||||
if ((int)m34D0 > 0) {
|
||||
m34D0--;
|
||||
setLadderFootSe();
|
||||
} else {
|
||||
changeLadderMoveProc(m3570);
|
||||
}
|
||||
} else {
|
||||
changeLadderMoveProc(m3570);
|
||||
f32 dVar2 = getLadderMoveAnmSpeed();
|
||||
if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.0f) {
|
||||
dVar2 *= -1.0f;
|
||||
}
|
||||
mFrameCtrlUnder[UNDER_MOVE0_e].setRate(dVar2);
|
||||
}
|
||||
} else {
|
||||
f32 dVar2 = getLadderMoveAnmSpeed();
|
||||
if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.0f) {
|
||||
dVar2 *= -1.0f;
|
||||
}
|
||||
mFrameCtrlUnder[UNDER_MOVE0_e].setRate(dVar2);
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -589,7 +589,6 @@ void daPy_lk_c::setAuraEffect() {
|
||||
} else {
|
||||
auraEntry->getModel()->setBaseScale((scale * (1.0f - (0.3f * var_f31))) * 2.0f);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -979,7 +978,6 @@ void daPy_lk_c::setFootEffect() {
|
||||
} else {
|
||||
var_r29 = 2;
|
||||
}
|
||||
|
||||
} else {
|
||||
if (mCurProc == daPyProc_JUMP_CUT_LAND_e) {
|
||||
var_r29 = 3;
|
||||
|
||||
@@ -13,8 +13,7 @@
|
||||
#include "d/actor/d_a_player_HIO.h"
|
||||
#include "d/actor/d_a_player_main.h"
|
||||
|
||||
/* 801514B0-80151644 .text
|
||||
* setPushPullKeepData__9daPy_lk_cFQ24dBgW13PushPullLabel */
|
||||
/* 801514B0-80151644 .text setPushPullKeepData__9daPy_lk_cFQ24dBgW13PushPullLabel */
|
||||
int daPy_lk_c::setPushPullKeepData(dBgW::PushPullLabel param_0) {
|
||||
if (param_0 != dBgW::PP_UNK0_e) {
|
||||
if (dComIfGs_getSelectEquip(2) == dItem_POWER_BRACELETS_e) {
|
||||
@@ -24,8 +23,7 @@ int daPy_lk_c::setPushPullKeepData(dBgW::PushPullLabel param_0) {
|
||||
cLib_onBit<dBgW::PushPullLabel>(param_0, dBgW::PP_UNK4_e);
|
||||
}
|
||||
}
|
||||
fopAc_ac_c *pp_actor = dComIfG_Bgsp()->PushPullCallBack(
|
||||
mPolyInfo, this, shape_angle.y, param_0);
|
||||
fopAc_ac_c* pp_actor = dComIfG_Bgsp()->PushPullCallBack(mPolyInfo, this, shape_angle.y, param_0);
|
||||
if (pp_actor == NULL) {
|
||||
return 0;
|
||||
}
|
||||
@@ -58,8 +56,9 @@ BOOL daPy_lk_c::procPushPullWait_init(int param_0) {
|
||||
}
|
||||
daPy_matAnm_c::m_maba_flg = 0;
|
||||
daPy_matAnm_c::m_maba_timer = 1;
|
||||
setSingleMoveAnime(ANM_WAITPUSHPULL, daPy_HIO_pushpull_c0::m.field_0x0,
|
||||
0.0f, -1, daPy_HIO_pushpull_c0::m.field_0x4);
|
||||
setSingleMoveAnime(
|
||||
ANM_WAITPUSHPULL, daPy_HIO_pushpull_c0::m.field_0x0, 0.0f, -1, daPy_HIO_pushpull_c0::m.field_0x4
|
||||
);
|
||||
m34D6 = 0;
|
||||
} else {
|
||||
setBlendMoveAnime(daPy_HIO_basic_c0::m.field_0xC);
|
||||
@@ -84,22 +83,18 @@ BOOL daPy_lk_c::procPushPullWait() {
|
||||
setFrontWallType();
|
||||
if (m34D6 != 0) {
|
||||
if (m_anm_heap_upper[UPPER_MOVE2_e].mIdx == 0xffff) {
|
||||
setSingleMoveAnime(ANM_WAITPUSHPULL,
|
||||
daPy_HIO_pushpull_c0::m.field_0x0, 0.0f, -1,
|
||||
daPy_HIO_pushpull_c0::m.field_0x4);
|
||||
setSingleMoveAnime(
|
||||
ANM_WAITPUSHPULL, daPy_HIO_pushpull_c0::m.field_0x0, 0.0f, -1, daPy_HIO_pushpull_c0::m.field_0x4
|
||||
);
|
||||
m34D6 = 0;
|
||||
}
|
||||
} else if ((spActionButton()) && (checkResetFlg0(daPyRFlg0_UNK8))) {
|
||||
if (m3570 != 0) {
|
||||
s16 sVar1 =
|
||||
cLib_addCalcAngleS(&shape_angle.y, m34D4, 3, 0x800, 0x100);
|
||||
s16 sVar1 = cLib_addCalcAngleS(&shape_angle.y, m34D4, 3, 0x800, 0x100);
|
||||
current.angle.y = shape_angle.y;
|
||||
f32 dVar2 =
|
||||
cLib_addCalc(¤t.pos.x, m370C.x, 0.5f, 10.0f, 1.0f);
|
||||
f32 dVar3 =
|
||||
cLib_addCalc(¤t.pos.z, m370C.z, 0.5f, 10.0f, 1.0f);
|
||||
if (((!sVar1) && ((float)(dVar2 + dVar3) < 5.0f)) &&
|
||||
(m_anm_heap_upper[UPPER_MOVE2_e].mIdx == 0xffff)) {
|
||||
f32 dVar2 = cLib_addCalc(¤t.pos.x, m370C.x, 0.5f, 10.0f, 1.0f);
|
||||
f32 dVar3 = cLib_addCalc(¤t.pos.z, m370C.z, 0.5f, 10.0f, 1.0f);
|
||||
if (((!sVar1) && ((float)(dVar2 + dVar3) < 5.0f)) && (m_anm_heap_upper[UPPER_MOVE2_e].mIdx == 0xffff)) {
|
||||
current.pos.x = m370C.x;
|
||||
current.pos.z = m370C.z;
|
||||
m3570 = 0;
|
||||
@@ -129,8 +124,9 @@ BOOL daPy_lk_c::procPushMove_init() {
|
||||
return false;
|
||||
} else {
|
||||
commonProcInit(daPyProc_PUSH_MOVE_e);
|
||||
setSingleMoveAnime(ANM_WALKPUSH, daPy_HIO_pushpull_c0::m.field_0x8,
|
||||
0.0f, -1, daPy_HIO_pushpull_c0::m.field_0xC);
|
||||
setSingleMoveAnime(
|
||||
ANM_WALKPUSH, daPy_HIO_pushpull_c0::m.field_0x8, 0.0f, -1, daPy_HIO_pushpull_c0::m.field_0xC
|
||||
);
|
||||
m3570 = 1;
|
||||
dComIfGp_setPlayerStatus0(0, daPyStts0_UNK4000000_e);
|
||||
}
|
||||
@@ -142,8 +138,7 @@ BOOL daPy_lk_c::procPushMove() {
|
||||
dComIfGp_setRStatus(0x11);
|
||||
int iVar1 = getDirectionFromShapeAngle();
|
||||
setFrontWallType();
|
||||
if ((!checkResetFlg0(daPyRFlg0_UNK8)) ||
|
||||
((!spActionButton() && (!checkNoResetFlg0(daPyFlg0_PUSH_PULL_KEEP))))) {
|
||||
if ((!checkResetFlg0(daPyRFlg0_UNK8)) || (!spActionButton() && (!checkNoResetFlg0(daPyFlg0_PUSH_PULL_KEEP)))) {
|
||||
checkNextMode(0);
|
||||
} else {
|
||||
if (!checkNoResetFlg0(daPyFlg0_PUSH_PULL_KEEP)) {
|
||||
@@ -173,8 +168,9 @@ BOOL daPy_lk_c::procPullMove_init() {
|
||||
return false;
|
||||
} else {
|
||||
commonProcInit(daPyProc_PULL_MOVE_e);
|
||||
setSingleMoveAnime(ANM_WALKPULL, daPy_HIO_pushpull_c0::m.field_0x10,
|
||||
0.0f, -1, daPy_HIO_pushpull_c0::m.field_0x14);
|
||||
setSingleMoveAnime(
|
||||
ANM_WALKPULL, daPy_HIO_pushpull_c0::m.field_0x10, 0.0f, -1, daPy_HIO_pushpull_c0::m.field_0x14
|
||||
);
|
||||
m3570 = 1;
|
||||
dComIfGp_setPlayerStatus0(0, daPyStts0_UNK4000000_e);
|
||||
}
|
||||
@@ -187,8 +183,7 @@ BOOL daPy_lk_c::procPullMove() {
|
||||
dComIfGp_setRStatus(0x11);
|
||||
int iVar1 = getDirectionFromShapeAngle();
|
||||
setFrontWallType();
|
||||
if ((!checkResetFlg0(daPyRFlg0_UNK8)) ||
|
||||
((!spActionButton() && (!checkNoResetFlg0(daPyFlg0_PUSH_PULL_KEEP))))) {
|
||||
if ((!checkResetFlg0(daPyRFlg0_UNK8)) || (!spActionButton() && (!checkNoResetFlg0(daPyFlg0_PUSH_PULL_KEEP)))) {
|
||||
checkNextMode(0);
|
||||
} else {
|
||||
if (!checkNoResetFlg0(daPyFlg0_PUSH_PULL_KEEP)) {
|
||||
|
||||
+313
-323
@@ -23,32 +23,30 @@ BOOL daPy_lk_c::shipSpecialDemoStart() {
|
||||
if (dComIfGp_event_compulsory(this)) {
|
||||
mDemo.setDemoType(5);
|
||||
return true;
|
||||
} else {
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* 8013F8AC-8013F984 .text checkJumpRideShip__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::checkJumpRideShip() {
|
||||
/* Nonmatching - regalloc related
|
||||
to cXyz. */
|
||||
daShip_c *iVar1;
|
||||
daShip_c* iVar1;
|
||||
cXyz local_38;
|
||||
cXyz local_2c;
|
||||
|
||||
if ((((mCyl.ChkCoHit()) && (mCyl.GetCoHitAc()))) &&
|
||||
(fopAcM_GetName(iVar1) == PROC_SHIP)) {
|
||||
mDoMtx_multVec(iVar1->m0298->getModel()->getBaseTRMtx(), &l_ship_offset,
|
||||
&local_38);
|
||||
cXyz local_2c(iVar1->old.pos - local_38);
|
||||
if (local_2c.y > 5.0f) {
|
||||
local_38.x = local_2c.x;
|
||||
local_38.y = 0.0f;
|
||||
local_38.z = local_2c.z;
|
||||
if (local_2c.abs2() < 10000.0f) {
|
||||
return procShipJumpRide_init();
|
||||
|
||||
if (((mCyl.ChkCoHit()) && (mCyl.GetCoHitAc())) && (fopAcM_GetName(iVar1) == PROC_SHIP)) {
|
||||
mDoMtx_multVec(iVar1->m0298->getModel()->getBaseTRMtx(), &l_ship_offset, &local_38);
|
||||
cXyz local_2c(iVar1->old.pos - local_38);
|
||||
if (local_2c.y > 5.0f) {
|
||||
local_38.x = local_2c.x;
|
||||
local_38.y = 0.0f;
|
||||
local_38.z = local_2c.z;
|
||||
if (local_2c.abs2() < 10000.0f) {
|
||||
return procShipJumpRide_init();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -56,8 +54,9 @@ BOOL daPy_lk_c::checkJumpRideShip() {
|
||||
/* 8013F984-8013F9B0 .text checkShipNotNormalMode__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::checkShipNotNormalMode() {
|
||||
if (((m_anm_heap_under[UNDER_MOVE0_e].mIdx != LKANM_BCK_SHIP_JUMP2) &&
|
||||
(m_anm_heap_under[UNDER_MOVE0_e].mIdx != LKANM_BCK_VOYAGE1)) &&
|
||||
(m_anm_heap_under[UNDER_MOVE0_e].mIdx != LKANM_BCK_SHIP_JUMP1)) {
|
||||
(m_anm_heap_under[UNDER_MOVE0_e].mIdx != LKANM_BCK_VOYAGE1)) &&
|
||||
(m_anm_heap_under[UNDER_MOVE0_e].mIdx != LKANM_BCK_SHIP_JUMP1))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
@@ -113,89 +112,85 @@ void daPy_lk_c::setShipRidePosUseItem() {
|
||||
setShipRidePos(1);
|
||||
shape_angle.y += -0x4000;
|
||||
current.angle.y = shape_angle.y;
|
||||
}
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
/* 80140018-801403E0 .text setShipRidePos__9daPy_lk_cFi */
|
||||
void daPy_lk_c::setShipRidePos(int param_0) {
|
||||
/* Nonmatching - branching, cXyz */
|
||||
daShip_c *iVar1 = dComIfGp_getShipActor();
|
||||
daShip_c* iVar1 = dComIfGp_getShipActor();
|
||||
if (iVar1 != 0) {
|
||||
if ((iVar1->mStateFlag & 0x4000)) {
|
||||
g_dComIfG_gameInfo.play.field_0x492d = 0x12;
|
||||
}
|
||||
if (param_0 != 0) {
|
||||
shape_angle.y = iVar1->shape_angle.y;
|
||||
current.angle.y = shape_angle.y;
|
||||
}
|
||||
if (mCurProc == ANM_MSTEPOVER_JMPED) {
|
||||
m353C = iVar1->shape_angle.x;
|
||||
m353E = iVar1->shape_angle.z;
|
||||
m3540 = 0;
|
||||
m3542 = 0;
|
||||
} else {
|
||||
m353C = m353C + m3540;
|
||||
m3540 = (s16)(int)((float)m3540 +
|
||||
0.75f * (int)(short)(iVar1->shape_angle.x - m353C));
|
||||
cLib_addCalcAngleS(&m3540, 0, 5, 0x200, 0x100);
|
||||
m353E = m353E + m3542;
|
||||
m3542 = m3542 + ((short)(iVar1->shape_angle.z - m353E) >> 1);
|
||||
cLib_addCalcAngleS(&m3542, 0, 5, 0x100, 0x30);
|
||||
}
|
||||
if (mCurProc == ANM_WARPOUT) {
|
||||
mDoMtx_multVec(iVar1->m0298->getModel()->getBaseTRMtx(), &l_ship_offset3,
|
||||
¤t.pos);
|
||||
} else if ((mCurProc == ANM_SETBOOTS) && (m34D8 != 0)) {
|
||||
mDoMtx_multVec(iVar1->m0298->getModel()->getBaseTRMtx(), &l_ship_offset2,
|
||||
¤t.pos);
|
||||
} else {
|
||||
mDoMtx_multVec(iVar1->m0298->getModel()->getBaseTRMtx(), &l_ship_offset,
|
||||
¤t.pos);
|
||||
}
|
||||
if (checkShipNotNormalMode()) {
|
||||
mBodyAngle.y = 0;
|
||||
} else {
|
||||
cXyz local_38;
|
||||
dKyw_get_AllWind_vec(¤t.pos, &local_38, &local_38.y);
|
||||
f32 fVar2 = (30.0f * local_38.x + iVar1->speedF) / 30.0f;
|
||||
if (fVar2 > 1.0f) {
|
||||
fVar2 = 1.0f;
|
||||
if (iVar1->mStateFlag & 0x4000) {
|
||||
g_dComIfG_gameInfo.play.field_0x492d = 0x12;
|
||||
}
|
||||
mFrameCtrlUpper[UPPER_MOVE2_e].setRate(
|
||||
(1.0f - daPy_HIO_ship_c0::m.field_0xC) * fVar2 +
|
||||
daPy_HIO_ship_c0::m.field_0xC);
|
||||
if ((iVar1->mStateFlag & 0x40) != 0) {
|
||||
if (iVar1->m03E4 > 0.6f) {
|
||||
voiceStart(6);
|
||||
} else {
|
||||
if (iVar1->m03E4 > 0.2f) {
|
||||
voiceStart(7);
|
||||
if (param_0 != 0) {
|
||||
shape_angle.y = iVar1->shape_angle.y;
|
||||
current.angle.y = shape_angle.y;
|
||||
}
|
||||
if (mCurProc == ANM_MSTEPOVER_JMPED) {
|
||||
m353C = iVar1->shape_angle.x;
|
||||
m353E = iVar1->shape_angle.z;
|
||||
m3540 = 0;
|
||||
m3542 = 0;
|
||||
} else {
|
||||
m353C = m353C + m3540;
|
||||
m3540 = (s16)(int)((float)m3540 + 0.75f * (int)(short)(iVar1->shape_angle.x - m353C));
|
||||
cLib_addCalcAngleS(&m3540, 0, 5, 0x200, 0x100);
|
||||
m353E = m353E + m3542;
|
||||
m3542 = m3542 + ((short)(iVar1->shape_angle.z - m353E) >> 1);
|
||||
cLib_addCalcAngleS(&m3542, 0, 5, 0x100, 0x30);
|
||||
}
|
||||
if (mCurProc == ANM_WARPOUT) {
|
||||
mDoMtx_multVec(iVar1->m0298->getModel()->getBaseTRMtx(), &l_ship_offset3, ¤t.pos);
|
||||
} else if ((mCurProc == ANM_SETBOOTS) && (m34D8 != 0)) {
|
||||
mDoMtx_multVec(iVar1->m0298->getModel()->getBaseTRMtx(), &l_ship_offset2, ¤t.pos);
|
||||
} else {
|
||||
mDoMtx_multVec(iVar1->m0298->getModel()->getBaseTRMtx(), &l_ship_offset, ¤t.pos);
|
||||
}
|
||||
if (checkShipNotNormalMode()) {
|
||||
mBodyAngle.y = 0;
|
||||
} else {
|
||||
cXyz local_38;
|
||||
dKyw_get_AllWind_vec(¤t.pos, &local_38, &local_38.y);
|
||||
f32 fVar2 = (30.0f * local_38.x + iVar1->speedF) / 30.0f;
|
||||
if (fVar2 > 1.0f) {
|
||||
fVar2 = 1.0f;
|
||||
}
|
||||
}
|
||||
setSingleMoveAnime(ANM_SHIP_JUMP1, 1.0f, 0.0f, -1, 20.0f);
|
||||
mFrameCtrlUpper[UPPER_MOVE2_e].setRate(
|
||||
(1.0f - daPy_HIO_ship_c0::m.field_0xC) * fVar2 + daPy_HIO_ship_c0::m.field_0xC
|
||||
);
|
||||
if ((iVar1->mStateFlag & 0x40) != 0) {
|
||||
if (iVar1->m03E4 > 0.6f) {
|
||||
voiceStart(6);
|
||||
} else {
|
||||
if (iVar1->m03E4 > 0.2f) {
|
||||
voiceStart(7);
|
||||
}
|
||||
}
|
||||
setSingleMoveAnime(ANM_SHIP_JUMP1, 1.0f, 0.0f, -1, 20.0f);
|
||||
}
|
||||
if (iVar1->mStateFlag & 0x80) {
|
||||
setSingleMoveAnime(ANM_SHIP_JUMP2, 1.0f, 3.0f, -1, 3.0f);
|
||||
}
|
||||
if (m_anm_heap_under[UNDER_MOVE0_e].mIdx == LKANM_BCK_SHIP_JUMP2) {
|
||||
if (!(mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f)) {
|
||||
} else if ((iVar1->mStateFlag & 1) != 0) {
|
||||
setSingleMoveAnime(ANM_SHIP_JUMP1, 1.0f, 0.0f, -1, 20.0f);
|
||||
} else {
|
||||
setSingleMoveAnime(ANM_VOYAGE1, 1.0f, 0.0f, -1, 5.0f);
|
||||
}
|
||||
} else {
|
||||
mFrameCtrlUpper[UPPER_MOVE2_e].setRate(0.0f);
|
||||
}
|
||||
s16 sVar4;
|
||||
if (m_anm_heap_under[UNDER_MOVE0_e].mIdx == LKANM_BCK_VOYAGE1) {
|
||||
sVar4 = -daPy_HIO_ship_c0::m.field_0x4 * iVar1->m03DC;
|
||||
} else {
|
||||
sVar4 = 0;
|
||||
}
|
||||
cLib_addCalcAngleS(&mBodyAngle.y, sVar4, 4, 0x400, 0x80);
|
||||
}
|
||||
if (iVar1->mStateFlag & 0x80) {
|
||||
setSingleMoveAnime(ANM_SHIP_JUMP2, 1.0f, 3.0f, -1, 3.0f);
|
||||
}
|
||||
if (m_anm_heap_under[UNDER_MOVE0_e].mIdx == LKANM_BCK_SHIP_JUMP2) {
|
||||
if (!(mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.0099999998f)) {
|
||||
} else if ((iVar1->mStateFlag & 1) != 0) {
|
||||
setSingleMoveAnime(ANM_SHIP_JUMP1, 1.0f, 0.0f, -1, 20.0f);
|
||||
} else {
|
||||
setSingleMoveAnime(ANM_VOYAGE1, 1.0f, 0.0f, -1, 5.0f);
|
||||
}
|
||||
} else {
|
||||
mFrameCtrlUpper[UPPER_MOVE2_e].setRate(0.0f);
|
||||
}
|
||||
s16 sVar4;
|
||||
if (m_anm_heap_under[UNDER_MOVE0_e].mIdx == LKANM_BCK_VOYAGE1) {
|
||||
sVar4 = -daPy_HIO_ship_c0::m.field_0x4 * iVar1->m03DC;
|
||||
} else {
|
||||
sVar4 = 0;
|
||||
}
|
||||
cLib_addCalcAngleS(&mBodyAngle.y, sVar4, 4, 0x400, 0x80);
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
@@ -205,13 +200,13 @@ void daPy_lk_c::setShipAttentionAnmSpeed(f32 param_0) {
|
||||
if (mpAttention->Lockon()) {
|
||||
mFrameCtrlUnder[UNDER_MOVE0_e].setRate(daPy_HIO_atnMove_c0::m.field_0x24);
|
||||
mFrameCtrlUpper[UPPER_MOVE2_e].setRate(param_0);
|
||||
} else {
|
||||
} else {
|
||||
mFrameCtrlUnder[UNDER_MOVE0_e].setRate(0.0f);
|
||||
mFrameCtrlUnder[UNDER_MOVE0_e].setFrame(0.0f);
|
||||
mFrameCtrlUpper[UPPER_MOVE2_e].setRate(0.0f);
|
||||
mFrameCtrlUpper[UPPER_MOVE2_e].setFrame(0.0f);
|
||||
}
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
/* 80140480-801405F0 .text setShipAttnetionBodyAngle__9daPy_lk_cFv */
|
||||
@@ -219,38 +214,38 @@ void daPy_lk_c::setShipAttnetionBodyAngle() {
|
||||
/* Nonmatching - floats, math */
|
||||
int iVar1;
|
||||
s16 sVar2;
|
||||
|
||||
|
||||
setBodyAngleXReadyAnime();
|
||||
sVar2 = 0;
|
||||
if (mpAttnActorLockOn != NULL) {
|
||||
setShapeAngleToAtnActor();
|
||||
setShapeAngleToAtnActor();
|
||||
} else {
|
||||
if (mStickDistance > 0.05f) {
|
||||
iVar1 = getDirectionFromAngle(m34DC);
|
||||
if (iVar1 == 2) {
|
||||
sVar2 = (s16)(int)(512.0f * mStickDistance);
|
||||
if (m34DA > sVar2) {
|
||||
m34DA = m34DA + (short)(int)(64.0f * mStickDistance);
|
||||
if (sVar2 > m34DA) {
|
||||
m34DA = sVar2;
|
||||
} else {
|
||||
sVar2 = m34DA;
|
||||
if (mStickDistance > 0.05f) {
|
||||
iVar1 = getDirectionFromAngle(m34DC);
|
||||
if (iVar1 == 2) {
|
||||
sVar2 = (s16)(int)(512.0f * mStickDistance);
|
||||
if (m34DA > sVar2) {
|
||||
m34DA = m34DA + (short)(int)(64.0f * mStickDistance);
|
||||
if (sVar2 > m34DA) {
|
||||
m34DA = sVar2;
|
||||
} else {
|
||||
sVar2 = m34DA;
|
||||
}
|
||||
}
|
||||
} else if (iVar1 == 3) {
|
||||
sVar2 = (s16)(int)(-512.0f * mStickDistance);
|
||||
if (sVar2 < m34DA) {
|
||||
m34DA = m34DA - (short)(int)(64.0f * mStickDistance);
|
||||
if (m34DA < sVar2) {
|
||||
m34DA = sVar2;
|
||||
} else {
|
||||
sVar2 = m34DA;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (iVar1 == 3) {
|
||||
sVar2 = (s16)(int)(-512.0f * mStickDistance);
|
||||
if (sVar2 < m34DA) {
|
||||
m34DA = m34DA - (short)(int)(64.0f * mStickDistance);
|
||||
if (m34DA < sVar2) {
|
||||
m34DA = sVar2;
|
||||
} else {
|
||||
sVar2 = m34DA;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
cLib_addCalcAngleS(&m34DA, sVar2, 3, 0x40, 0x10);
|
||||
shape_angle.y = shape_angle.y + m34DA;
|
||||
cLib_addCalcAngleS(&m34DA, sVar2, 3, 0x40, 0x10);
|
||||
shape_angle.y = shape_angle.y + m34DA;
|
||||
}
|
||||
current.angle.y = shape_angle.y;
|
||||
return;
|
||||
@@ -265,10 +260,10 @@ int daPy_lk_c::changeShipEndProc() {
|
||||
void daPy_lk_c::initShipBaseAnime() {
|
||||
if (m_anm_heap_under[UNDER_MOVE0_e].mIdx != LKANM_BCK_SHIP_JUMP2) {
|
||||
setSingleMoveAnime(ANM_VOYAGE1, 1.0f, 0.0f, -1, 5.0f);
|
||||
}
|
||||
setActAnimeUpper(LKANM_BCK_FN_HAIR1, UPPER_MOVE2_e, 1.0f, 0.0f, -1, -1.0f);
|
||||
m_pbCalc[PART_UPPER_e]->setRatio(2, 0.0f);
|
||||
return;
|
||||
}
|
||||
setActAnimeUpper(LKANM_BCK_FN_HAIR1, UPPER_MOVE2_e, 1.0f, 0.0f, -1, -1.0f);
|
||||
m_pbCalc[PART_UPPER_e]->setRatio(2, 0.0f);
|
||||
return;
|
||||
}
|
||||
|
||||
/* 80140D04-80140D80 .text initShipCraneAnime__9daPy_lk_cFv */
|
||||
@@ -276,13 +271,13 @@ void daPy_lk_c::initShipCraneAnime() {
|
||||
daPy_ANM dVar1;
|
||||
|
||||
if ((s16)dComIfGp_getShipActor()->m039A > 0) {
|
||||
dVar1 = ANM_SALVRWAIT;
|
||||
m3570 = 3;
|
||||
m3574 = 3;
|
||||
dVar1 = ANM_SALVRWAIT;
|
||||
m3570 = 3;
|
||||
m3574 = 3;
|
||||
} else {
|
||||
dVar1 = ANM_SALVLWAIT;
|
||||
m3570 = 2;
|
||||
m3574 = 2;
|
||||
dVar1 = ANM_SALVLWAIT;
|
||||
m3570 = 2;
|
||||
m3574 = 2;
|
||||
}
|
||||
daPy_matAnm_c::m_maba_flg = 0;
|
||||
daPy_matAnm_c::m_maba_timer = 1;
|
||||
@@ -295,26 +290,27 @@ BOOL daPy_lk_c::procShipReady_init() {
|
||||
/* Nonmatching - regalloc */
|
||||
commonProcInit(daPyProc_SHIP_READY_e);
|
||||
deleteEquipItem(TRUE);
|
||||
daShip_c *iVar1 = dComIfGp_getShipActor();
|
||||
setSingleMoveAnime(ANM_VJMPCL, daPy_HIO_wallCatch_c0::m.field_0x24,
|
||||
daPy_HIO_wallCatch_c0::m.field_0x2C,
|
||||
daPy_HIO_wallCatch_c0::m.field_0x4,
|
||||
daPy_HIO_wallCatch_c0::m.field_0x28);
|
||||
daShip_c* iVar1 = dComIfGp_getShipActor();
|
||||
setSingleMoveAnime(
|
||||
ANM_VJMPCL,
|
||||
daPy_HIO_wallCatch_c0::m.field_0x24,
|
||||
daPy_HIO_wallCatch_c0::m.field_0x2C,
|
||||
daPy_HIO_wallCatch_c0::m.field_0x4,
|
||||
daPy_HIO_wallCatch_c0::m.field_0x28
|
||||
);
|
||||
gravity = 0.0f;
|
||||
mVelocity = 0.0f;
|
||||
s16 sVar3 = fopAcM_searchActorAngleY((fopAc_ac_c *)iVar1, this);
|
||||
s16 sVar3 = fopAcM_searchActorAngleY((fopAc_ac_c*)iVar1, this);
|
||||
if ((sVar3 - iVar1->shape_angle.y) > 0) {
|
||||
mDoMtx_multVec(iVar1->m0298->getModel()->getBaseTRMtx(), &l_ship_ledge,
|
||||
¤t.pos);
|
||||
shape_angle.y = iVar1->shape_angle.y + -0x4000;
|
||||
m34D4 = shape_angle.y;
|
||||
m34D0 = 0;
|
||||
mDoMtx_multVec(iVar1->m0298->getModel()->getBaseTRMtx(), &l_ship_ledge, ¤t.pos);
|
||||
shape_angle.y = iVar1->shape_angle.y + -0x4000;
|
||||
m34D4 = shape_angle.y;
|
||||
m34D0 = 0;
|
||||
} else {
|
||||
mDoMtx_multVec(iVar1->m0298->getModel()->getBaseTRMtx(), &l_ship_redge,
|
||||
¤t.pos);
|
||||
shape_angle.y = iVar1->shape_angle.y + 0x4000;
|
||||
m34D4 = shape_angle.y + 0x8000;
|
||||
m34D0 = 1;
|
||||
mDoMtx_multVec(iVar1->m0298->getModel()->getBaseTRMtx(), &l_ship_redge, ¤t.pos);
|
||||
shape_angle.y = iVar1->shape_angle.y + 0x4000;
|
||||
m34D4 = shape_angle.y + 0x8000;
|
||||
m34D0 = 1;
|
||||
}
|
||||
current.angle.y = shape_angle.y;
|
||||
m3570 = 0;
|
||||
@@ -333,91 +329,91 @@ BOOL daPy_lk_c::procShipReady_init() {
|
||||
BOOL daPy_lk_c::procShipReady() {
|
||||
/* Nonmatching - floats, branching,
|
||||
regalloc */
|
||||
daShip_c *iVar1 = dComIfGp_getShipActor();
|
||||
daShip_c* iVar1 = dComIfGp_getShipActor();
|
||||
|
||||
if (iVar1 == 0) {
|
||||
checkNextMode(0);
|
||||
checkNextMode(0);
|
||||
} else if (m3570 == 0) {
|
||||
if (m34D0 == 0) {
|
||||
mDoMtx_multVec(iVar1->m0298->getModel()->getBaseTRMtx(), &l_ship_ledge,
|
||||
&dComIfGp_getShipActor()->current.pos);
|
||||
} else {
|
||||
mDoMtx_multVec(iVar1->m0298->getModel()->getBaseTRMtx(), &l_ship_redge,
|
||||
&dComIfGp_getShipActor()->current.pos);
|
||||
}
|
||||
if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.0099999998f) {
|
||||
m3570 = 1;
|
||||
mVelocity = 6.0f;
|
||||
setSingleMoveAnime(ANM_WALK, daPy_HIO_move_c0::m.field_0x40, 0.0f, -1,
|
||||
5.0f);
|
||||
m34C2 = 10;
|
||||
offModeFlg(ModeFlg_HANG | ModeFlg_00000400);
|
||||
iVar1->m034D = 4;
|
||||
m35A0 = iVar1->current.pos.y;
|
||||
}
|
||||
if (m34D0 == 0) {
|
||||
mDoMtx_multVec(
|
||||
iVar1->m0298->getModel()->getBaseTRMtx(), &l_ship_ledge, &dComIfGp_getShipActor()->current.pos
|
||||
);
|
||||
} else {
|
||||
mDoMtx_multVec(
|
||||
iVar1->m0298->getModel()->getBaseTRMtx(), &l_ship_redge, &dComIfGp_getShipActor()->current.pos
|
||||
);
|
||||
}
|
||||
if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f) {
|
||||
m3570 = 1;
|
||||
mVelocity = 6.0f;
|
||||
setSingleMoveAnime(ANM_WALK, daPy_HIO_move_c0::m.field_0x40, 0.0f, -1, 5.0f);
|
||||
m34C2 = 10;
|
||||
offModeFlg(ModeFlg_HANG | ModeFlg_00000400);
|
||||
iVar1->m034D = 4;
|
||||
m35A0 = iVar1->current.pos.y;
|
||||
}
|
||||
} else {
|
||||
current.pos.y = current.pos.y + (iVar1->current.pos.y - m35A0);
|
||||
cLib_chaseF(¤t.pos.y, (iVar1->current.pos.y + l_ship_offset.y), 2.0f);
|
||||
m35A0 = iVar1->current.pos.y;
|
||||
if (!(fopAcM_seenActorAngleY(this, (fopAc_ac_c *)iVar1) < 0x4000)) {
|
||||
procShipPaddle_init();
|
||||
}
|
||||
current.pos.y = current.pos.y + (iVar1->current.pos.y - m35A0);
|
||||
cLib_chaseF(¤t.pos.y, (iVar1->current.pos.y + l_ship_offset.y), 2.0f);
|
||||
m35A0 = iVar1->current.pos.y;
|
||||
if (!(fopAcM_seenActorAngleY(this, (fopAc_ac_c*)iVar1) < 0x4000)) {
|
||||
procShipPaddle_init();
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 8014105C-80141140 .text procShipJumpRide_init__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procShipJumpRide_init() {
|
||||
daShip_c *iVar1 = dComIfGp_getShipActor();
|
||||
daShip_c* iVar1 = dComIfGp_getShipActor();
|
||||
|
||||
if ((iVar1 == 0) ||
|
||||
((iVar1->attention_info.flags & fopAc_Attn_ACTION_SHIP_e) == 0)) {
|
||||
return false;
|
||||
if ((iVar1 == 0) || ((iVar1->attention_info.flags & fopAc_Attn_ACTION_SHIP_e) == 0)) {
|
||||
return false;
|
||||
} else {
|
||||
commonProcInit(daPyProc_SHIP_JUMP_RIDE_e);
|
||||
deleteEquipItem(TRUE);
|
||||
gravity = 0.0f;
|
||||
speed.y = 0.0f;
|
||||
mVelocity = 0.0f;
|
||||
iVar1->m034D = 2;
|
||||
iVar1->mStateFlag = iVar1->mStateFlag | 0x2000;
|
||||
setSingleMoveAnime(ANM_SLIPICE, 1.0f, 0.0f, -1, 5.0f);
|
||||
setShipRidePos(0);
|
||||
offNoResetFlg0(daPyFlg0_SHIP_DROP);
|
||||
dComIfGp_setPlayerStatus1(0, daPyStts1_UNK80_e);
|
||||
seStartOnlyReverb(JA_SE_LK_FT_JUMP_SHIP);
|
||||
return true;
|
||||
commonProcInit(daPyProc_SHIP_JUMP_RIDE_e);
|
||||
deleteEquipItem(TRUE);
|
||||
gravity = 0.0f;
|
||||
speed.y = 0.0f;
|
||||
mVelocity = 0.0f;
|
||||
iVar1->m034D = 2;
|
||||
iVar1->mStateFlag = iVar1->mStateFlag | 0x2000;
|
||||
setSingleMoveAnime(ANM_SLIPICE, 1.0f, 0.0f, -1, 5.0f);
|
||||
setShipRidePos(0);
|
||||
offNoResetFlg0(daPyFlg0_SHIP_DROP);
|
||||
dComIfGp_setPlayerStatus1(0, daPyStts1_UNK80_e);
|
||||
seStartOnlyReverb(JA_SE_LK_FT_JUMP_SHIP);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
/* 80141140-80141180 .text procShipJumpRide__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procShipJumpRide() {
|
||||
if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.0099999998f) {
|
||||
if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f) {
|
||||
procShipPaddle_init();
|
||||
} else {
|
||||
} else {
|
||||
setShipRidePos(0);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 80141180-8014123C .text procShipSteer_init__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procShipSteer_init() {
|
||||
/* Nonmatching */
|
||||
offNoResetFlg0(daPyFlg0_UNK1);
|
||||
daShip_c *iVar1 = dComIfGp_getShipActor();
|
||||
daShip_c* iVar1 = dComIfGp_getShipActor();
|
||||
if (mCurProc == daPyProc_SHIP_STEER_e) {
|
||||
iVar1->m034D = 1;
|
||||
return false;
|
||||
iVar1->m034D = 1;
|
||||
return false;
|
||||
} else {
|
||||
commonProcInit(daPyProc_SHIP_STEER_e);
|
||||
deleteEquipItem(1);
|
||||
gravity = 0.0f;
|
||||
mVelocity = 0.0f;
|
||||
speed.y = 0.0f;
|
||||
iVar1->m034D = 1;
|
||||
initShipBaseAnime();
|
||||
setShipRidePos(1);
|
||||
dComIfGp_setPlayerStatus0(0, daPyStts0_SHIP_RIDE_e);
|
||||
commonProcInit(daPyProc_SHIP_STEER_e);
|
||||
deleteEquipItem(1);
|
||||
gravity = 0.0f;
|
||||
mVelocity = 0.0f;
|
||||
speed.y = 0.0f;
|
||||
iVar1->m034D = 1;
|
||||
initShipBaseAnime();
|
||||
setShipRidePos(1);
|
||||
dComIfGp_setPlayerStatus0(0, daPyStts0_SHIP_RIDE_e);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -426,10 +422,10 @@ BOOL daPy_lk_c::procShipSteer_init() {
|
||||
BOOL daPy_lk_c::procShipSteer() {
|
||||
if (changeShipEndProc()) {
|
||||
return true;
|
||||
} else {
|
||||
} else {
|
||||
setShipRidePos(1);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 80141288-801413A4 .text procShipPaddle_init__9daPy_lk_cFv */
|
||||
@@ -437,29 +433,28 @@ BOOL daPy_lk_c::procShipPaddle_init() {
|
||||
/* Nonmatching - floats */
|
||||
offNoResetFlg0(daPyFlg0_UNK800000);
|
||||
if (mCurProc == daPyProc_SHIP_PADDLE_e) {
|
||||
return false;
|
||||
return false;
|
||||
} else {
|
||||
daShip_c *iVar1 = dComIfGp_getShipActor();
|
||||
BOOL bVar1;
|
||||
if ((dComIfGp_checkPlayerStatus0(0, daPyStts0_SHIP_RIDE_e)) &&
|
||||
(!checkShipNotNormalMode())) {
|
||||
bVar1 = true;
|
||||
} else {
|
||||
bVar1 = false;
|
||||
}
|
||||
commonProcInit(daPyProc_SHIP_PADDLE_e);
|
||||
deleteEquipItem(TRUE);
|
||||
gravity = 0.0f;
|
||||
speed.y = 0.0f;
|
||||
mVelocity = 0.0f;
|
||||
iVar1->m034D = 2;
|
||||
initShipBaseAnime();
|
||||
if (!bVar1) {
|
||||
setOldRootQuaternion(0, shape_angle.y - iVar1->shape_angle.y, 0);
|
||||
}
|
||||
setShipRidePos(1);
|
||||
dComIfGp_setPlayerStatus0(0, daPyStts0_SHIP_RIDE_e);
|
||||
m34D0 = (s16)(int)(300.0f + cM_rndF(150.0f));
|
||||
daShip_c* iVar1 = dComIfGp_getShipActor();
|
||||
BOOL bVar1;
|
||||
if ((dComIfGp_checkPlayerStatus0(0, daPyStts0_SHIP_RIDE_e)) && (!checkShipNotNormalMode())) {
|
||||
bVar1 = true;
|
||||
} else {
|
||||
bVar1 = false;
|
||||
}
|
||||
commonProcInit(daPyProc_SHIP_PADDLE_e);
|
||||
deleteEquipItem(TRUE);
|
||||
gravity = 0.0f;
|
||||
speed.y = 0.0f;
|
||||
mVelocity = 0.0f;
|
||||
iVar1->m034D = 2;
|
||||
initShipBaseAnime();
|
||||
if (!bVar1) {
|
||||
setOldRootQuaternion(0, shape_angle.y - iVar1->shape_angle.y, 0);
|
||||
}
|
||||
setShipRidePos(1);
|
||||
dComIfGp_setPlayerStatus0(0, daPyStts0_SHIP_RIDE_e);
|
||||
m34D0 = (s16)(int)(300.0f + cM_rndF(150.0f));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -471,7 +466,7 @@ BOOL daPy_lk_c::procShipPaddle() {
|
||||
|
||||
/* 801416BC-801417EC .text procShipScope_init__9daPy_lk_cFi */
|
||||
BOOL daPy_lk_c::procShipScope_init(int param_0) {
|
||||
daShip_c *iVar1 = dComIfGp_getShipActor();
|
||||
daShip_c* iVar1 = dComIfGp_getShipActor();
|
||||
commonProcInit(daPyProc_SHIP_SCOPE_e);
|
||||
deleteEquipItem(1);
|
||||
gravity = 0.0f;
|
||||
@@ -483,11 +478,11 @@ BOOL daPy_lk_c::procShipScope_init(int param_0) {
|
||||
offNoResetFlg0(daPyFlg0_SCOPE_CANCEL);
|
||||
mEquipItem = dComIfGp_getSelectItem(mReadyItemBtn);
|
||||
if (param_0 != 0) {
|
||||
dComIfGp_setPlayerStatus0(0, daPyStts0_TELESCOPE_LOOK_e);
|
||||
setScopeModel();
|
||||
dComIfGp_setPlayerStatus0(0, daPyStts0_TELESCOPE_LOOK_e);
|
||||
setScopeModel();
|
||||
} else {
|
||||
dComIfGp_setPlayerStatus1(0, daPyStts1_PICTO_BOX_AIM_e);
|
||||
setPhotoBoxModel();
|
||||
dComIfGp_setPlayerStatus1(0, daPyStts1_PICTO_BOX_AIM_e);
|
||||
setPhotoBoxModel();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -499,24 +494,23 @@ BOOL daPy_lk_c::procShipScope() {
|
||||
|
||||
/* 801418B4-801419B4 .text procShipBoomerang_init__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procShipBoomerang_init() {
|
||||
daShip_c *iVar1 = dComIfGp_getShipActor();
|
||||
daShip_c* iVar1 = dComIfGp_getShipActor();
|
||||
if (mCurProc == daPyProc_SHIP_BOOMERANG_e) {
|
||||
return false;
|
||||
return false;
|
||||
} else {
|
||||
commonProcInit(daPyProc_SHIP_BOOMERANG_e);
|
||||
deleteEquipItem(TRUE);
|
||||
gravity = 0.0f;
|
||||
iVar1->m034D = 2;
|
||||
mEquipItem = dItem_BOOMERANG_e;
|
||||
setSingleMoveAnime(ANM_ATNRS, 0.0f, 0.0f, -1, 5.0f);
|
||||
setActAnimeUpper(LKANM_BCK_BOOMWAIT, UPPER_MOVE2_e, 0.0f, 0.0f, -1, -1.0f);
|
||||
setTextureAnime(0, 0);
|
||||
makeItemType();
|
||||
dComIfGp_setPlayerStatus0(0, daPyStts0_SHIP_RIDE_e |
|
||||
daPyStts0_BOOMERANG_AIM_e);
|
||||
setShipRidePos(0);
|
||||
m34D4 = iVar1->shape_angle.y;
|
||||
m34DA = 0;
|
||||
commonProcInit(daPyProc_SHIP_BOOMERANG_e);
|
||||
deleteEquipItem(TRUE);
|
||||
gravity = 0.0f;
|
||||
iVar1->m034D = 2;
|
||||
mEquipItem = dItem_BOOMERANG_e;
|
||||
setSingleMoveAnime(ANM_ATNRS, 0.0f, 0.0f, -1, 5.0f);
|
||||
setActAnimeUpper(LKANM_BCK_BOOMWAIT, UPPER_MOVE2_e, 0.0f, 0.0f, -1, -1.0f);
|
||||
setTextureAnime(0, 0);
|
||||
makeItemType();
|
||||
dComIfGp_setPlayerStatus0(0, daPyStts0_SHIP_RIDE_e | daPyStts0_BOOMERANG_AIM_e);
|
||||
setShipRidePos(0);
|
||||
m34D4 = iVar1->shape_angle.y;
|
||||
m34DA = 0;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -529,30 +523,28 @@ BOOL daPy_lk_c::procShipBoomerang() {
|
||||
/* 80141BB0-80141CF8 .text procShipHookshot_init__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procShipHookshot_init() {
|
||||
/* Nonmatching - regalloc */
|
||||
daShip_c *iVar1 = dComIfGp_getShipActor();
|
||||
daShip_c* iVar1 = dComIfGp_getShipActor();
|
||||
if (mCurProc == daPyProc_SHIP_HOOKSHOT_e) {
|
||||
return false;
|
||||
return false;
|
||||
} else {
|
||||
commonProcInit(daPyProc_SHIP_HOOKSHOT_e);
|
||||
deleteEquipItem(TRUE);
|
||||
gravity = 0.0f;
|
||||
iVar1->m034D = 2;
|
||||
mEquipItem = dItem_HOOKSHOT_e;
|
||||
m355C = 10;
|
||||
setSingleMoveAnime(ANM_ATNLS, 0.0f, 0.0f, -1, 5.0f);
|
||||
setActAnimeUpper(LKANM_BCK_HOOKSHOTWAIT, UPPER_MOVE2_e, 0.0f, 0.0f, -1,
|
||||
-1.0f);
|
||||
setTextureAnime(0, 0);
|
||||
makeItemType();
|
||||
dComIfGp_setPlayerStatus0(0,
|
||||
daPyStts0_HOOKSHOT_AIM_e | daPyStts0_SHIP_RIDE_e);
|
||||
setShipRidePos(0);
|
||||
m34D4 = iVar1->shape_angle.y;
|
||||
if (mpAttention->Lockon()) {
|
||||
m3570 = 1;
|
||||
} else {
|
||||
m3570 = 0;
|
||||
}
|
||||
commonProcInit(daPyProc_SHIP_HOOKSHOT_e);
|
||||
deleteEquipItem(TRUE);
|
||||
gravity = 0.0f;
|
||||
iVar1->m034D = 2;
|
||||
mEquipItem = dItem_HOOKSHOT_e;
|
||||
m355C = 10;
|
||||
setSingleMoveAnime(ANM_ATNLS, 0.0f, 0.0f, -1, 5.0f);
|
||||
setActAnimeUpper(LKANM_BCK_HOOKSHOTWAIT, UPPER_MOVE2_e, 0.0f, 0.0f, -1, -1.0f);
|
||||
setTextureAnime(0, 0);
|
||||
makeItemType();
|
||||
dComIfGp_setPlayerStatus0(0, daPyStts0_HOOKSHOT_AIM_e | daPyStts0_SHIP_RIDE_e);
|
||||
setShipRidePos(0);
|
||||
m34D4 = iVar1->shape_angle.y;
|
||||
if (mpAttention->Lockon()) {
|
||||
m3570 = 1;
|
||||
} else {
|
||||
m3570 = 0;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -565,31 +557,31 @@ BOOL daPy_lk_c::procShipHookshot() {
|
||||
/* 80141F2C-80142084 .text procShipBow_init__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procShipBow_init() {
|
||||
/* Nonmatching - regalloc */
|
||||
daShip_c *iVar1 = dComIfGp_getShipActor();
|
||||
daShip_c* iVar1 = dComIfGp_getShipActor();
|
||||
if (mCurProc == daPyProc_SHIP_BOW_e) {
|
||||
return false;
|
||||
return false;
|
||||
} else {
|
||||
commonProcInit(daPyProc_SHIP_BOW_e);
|
||||
deleteEquipItem(TRUE);
|
||||
gravity = 0.0f;
|
||||
iVar1->m034D = 2;
|
||||
if (mDemo.getDemoMode() == 0x44) {
|
||||
mEquipItem = dItem_BOW_e;
|
||||
} else {
|
||||
mEquipItem = dComIfGp_getSelectItem(mReadyItemBtn);
|
||||
}
|
||||
setSingleMoveAnime(ANM_ATNRS, 0.0f, 0.0f, -1, 5.0f);
|
||||
setBowModel();
|
||||
setBowReadyAnime();
|
||||
dComIfGp_setPlayerStatus0(0, daPyStts0_BOW_AIM_e | daPyStts0_SHIP_RIDE_e);
|
||||
setShipRidePos(0);
|
||||
m34D4 = iVar1->shape_angle.y;
|
||||
m34DA = 0;
|
||||
if ((mpAttention->Lockon()) && (mDemo.getDemoMode() != 0x44)) {
|
||||
m3570 = 1;
|
||||
} else {
|
||||
m3570 = 0;
|
||||
}
|
||||
commonProcInit(daPyProc_SHIP_BOW_e);
|
||||
deleteEquipItem(TRUE);
|
||||
gravity = 0.0f;
|
||||
iVar1->m034D = 2;
|
||||
if (mDemo.getDemoMode() == 0x44) {
|
||||
mEquipItem = dItem_BOW_e;
|
||||
} else {
|
||||
mEquipItem = dComIfGp_getSelectItem(mReadyItemBtn);
|
||||
}
|
||||
setSingleMoveAnime(ANM_ATNRS, 0.0f, 0.0f, -1, 5.0f);
|
||||
setBowModel();
|
||||
setBowReadyAnime();
|
||||
dComIfGp_setPlayerStatus0(0, daPyStts0_BOW_AIM_e | daPyStts0_SHIP_RIDE_e);
|
||||
setShipRidePos(0);
|
||||
m34D4 = iVar1->shape_angle.y;
|
||||
m34DA = 0;
|
||||
if ((mpAttention->Lockon()) && (mDemo.getDemoMode() != 0x44)) {
|
||||
m3570 = 1;
|
||||
} else {
|
||||
m3570 = 0;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -603,8 +595,8 @@ BOOL daPy_lk_c::procShipBow() {
|
||||
BOOL daPy_lk_c::procShipCannon_init() {
|
||||
if (mCurProc == daPyProc_SHIP_CANNON_e) {
|
||||
return false;
|
||||
} else {
|
||||
daShip_c *iVar1 = dComIfGp_getShipActor();
|
||||
} else {
|
||||
daShip_c* iVar1 = dComIfGp_getShipActor();
|
||||
commonProcInit(daPyProc_SHIP_CANNON_e);
|
||||
deleteEquipItem(1);
|
||||
gravity = 0.0f;
|
||||
@@ -614,47 +606,46 @@ BOOL daPy_lk_c::procShipCannon_init() {
|
||||
setShipRidePos(1);
|
||||
dComIfGp_setPlayerStatus0(0, daPyStts0_SHIP_RIDE_e);
|
||||
dComIfGp_setPlayerStatus1(0, daPyStts1_UNK4_e);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 80142300-80142388 .text procShipCannon__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procShipCannon() {
|
||||
if (changeShipEndProc()) {
|
||||
return true;
|
||||
} else {
|
||||
} else {
|
||||
g_dComIfG_gameInfo.play.field_0x492d = 0x2c;
|
||||
if ((dComIfGp_getDoStatus() == 0) &&
|
||||
(dComIfGp_getShipActor()->speedF >= 3.0f)) {
|
||||
dComIfGp_setDoStatus(19);
|
||||
if ((dComIfGp_getDoStatus() == 0) && (dComIfGp_getShipActor()->speedF >= 3.0f)) {
|
||||
dComIfGp_setDoStatus(19);
|
||||
}
|
||||
setShipRidePos(1);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 80142388-80142458 .text procShipCrane_init__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procShipCrane_init() {
|
||||
if (mCurProc == daPyProc_SHIP_CRANE_e) {
|
||||
return false;
|
||||
} else {
|
||||
daShip_c *iVar1 = dComIfGp_getShipActor();
|
||||
} else {
|
||||
daShip_c* iVar1 = dComIfGp_getShipActor();
|
||||
commonProcInit(daPyProc_SHIP_CRANE_e);
|
||||
deleteEquipItem(TRUE);
|
||||
gravity = 0.0f;
|
||||
mVelocity = 0.0f;
|
||||
iVar1->m034D = 10;
|
||||
if ((s16)iVar1->mCurrentRopeSegmentIndex != 0) {
|
||||
initShipCraneAnime();
|
||||
initShipCraneAnime();
|
||||
} else {
|
||||
initShipBaseAnime();
|
||||
initShipBaseAnime();
|
||||
}
|
||||
setShipRidePos(1);
|
||||
dComIfGp_setPlayerStatus0(0, daPyStts0_SHIP_RIDE_e);
|
||||
dComIfGp_setPlayerStatus1(0, daPyStts1_UNK2_e);
|
||||
m34D4 = 0;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* 80142458-80142920 .text procShipCrane__9daPy_lk_cFv */
|
||||
@@ -663,15 +654,14 @@ BOOL daPy_lk_c::procShipCrane() {
|
||||
}
|
||||
|
||||
/* 80142920-80142A5C .text procShipGetOff_init__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procShipGetOff_init() {
|
||||
BOOL daPy_lk_c::procShipGetOff_init() {
|
||||
if (mCurProc == daPyProc_SHIP_GET_OFF_e) {
|
||||
return false;
|
||||
} else {
|
||||
daShip_c *iVar1 = dComIfGp_getShipActor();
|
||||
} else {
|
||||
daShip_c* iVar1 = dComIfGp_getShipActor();
|
||||
commonProcInit(daPyProc_SHIP_GET_OFF_e);
|
||||
deleteEquipItem(TRUE);
|
||||
setSingleMoveAnime(ANM_DASH, daPy_HIO_move_c0::m.field_0x40, 0.0f, -1,
|
||||
5.0f);
|
||||
setSingleMoveAnime(ANM_DASH, daPy_HIO_move_c0::m.field_0x40, 0.0f, -1, 5.0f);
|
||||
mVelocity = 8.0f;
|
||||
gravity = 0.0f;
|
||||
shape_angle.y = iVar1->shape_angle.y + -0x4000;
|
||||
@@ -683,8 +673,8 @@ BOOL daPy_lk_c::procShipGetOff_init() {
|
||||
iVar1->m034D = 5;
|
||||
mBodyAngle.y = 0;
|
||||
m35A0 = iVar1->current.pos.y;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 80142A5C-80142C08 .text procShipGetOff__9daPy_lk_cFv */
|
||||
@@ -694,7 +684,7 @@ BOOL daPy_lk_c::procShipGetOff() {
|
||||
|
||||
/* 80142C08-80142C9C .text procShipRestart_init__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procShipRestart_init() {
|
||||
daShip_c *iVar1 = dComIfGp_getShipActor();
|
||||
daShip_c* iVar1 = dComIfGp_getShipActor();
|
||||
commonProcInit(daPyProc_SHIP_RESTART_e);
|
||||
gravity = 0.0f;
|
||||
iVar1->m034D = 2;
|
||||
@@ -708,11 +698,11 @@ BOOL daPy_lk_c::procShipRestart_init() {
|
||||
BOOL daPy_lk_c::procShipRestart() {
|
||||
if (dComIfGp_getShipActor() == NULL) {
|
||||
return checkNextMode(0);
|
||||
} else {
|
||||
if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.0099999998f) {
|
||||
procShipPaddle_init();
|
||||
} else {
|
||||
if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f) {
|
||||
procShipPaddle_init();
|
||||
}
|
||||
setShipRidePos(1);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+926
-820
File diff suppressed because it is too large
Load Diff
@@ -34,19 +34,19 @@ u32 daPy_lk_c::getDayNightParamData() {
|
||||
void daPy_lk_c::setTactModel() {
|
||||
if (mEquipItem == dItem_WIND_WAKER_e)
|
||||
return;
|
||||
|
||||
|
||||
deleteEquipItem(FALSE);
|
||||
mEquipItem = dItem_WIND_WAKER_e;
|
||||
JKRHeap* oldHeap = setItemHeap();
|
||||
|
||||
|
||||
J3DModelData* modelData = initModel(&mpEquipItemModel, LINK_BDL_TAKT, 0x37221222);
|
||||
u8* buffer = new(0x20) u8[0x400];
|
||||
u8* buffer = new (0x20) u8[0x400];
|
||||
dComIfGp_getAnmArchive()->readIdxResource(buffer, 0x400, LKANM_BRK_TTAKT);
|
||||
mpEquipItemBrk = (J3DAnmTevRegKey*)J3DAnmLoaderDataBase::load(buffer);
|
||||
mpEquipItemBrk->setFrame(0.0f);
|
||||
mpEquipItemBrk->searchUpdateMaterialID(modelData);
|
||||
modelData->entryTevRegAnimator(mpEquipItemBrk);
|
||||
|
||||
|
||||
mDoExt_setCurrentHeap(oldHeap);
|
||||
}
|
||||
|
||||
@@ -203,22 +203,14 @@ BOOL daPy_lk_c::procTactWait_init(int r30) {
|
||||
}
|
||||
mDemo.setDemoType(5);
|
||||
}
|
||||
|
||||
|
||||
int r31 = checkShipRideUseItem(1);
|
||||
if (r31 == 0) {
|
||||
if (r30 == -1) {
|
||||
f32 f31 = 200.0f * cM_ssin(shape_angle.y);
|
||||
f32 f30 = 200.0f * cM_scos(shape_angle.y);
|
||||
cXyz startPos(
|
||||
attention_info.position.x,
|
||||
attention_info.position.y - 50.0f,
|
||||
attention_info.position.z
|
||||
);
|
||||
cXyz endPos(
|
||||
startPos.x + f31,
|
||||
startPos.y,
|
||||
startPos.z + f30
|
||||
);
|
||||
cXyz startPos(attention_info.position.x, attention_info.position.y - 50.0f, attention_info.position.z);
|
||||
cXyz endPos(startPos.x + f31, startPos.y, startPos.z + f30);
|
||||
mLinkLinChk.Set(&startPos, &endPos, this);
|
||||
if (dComIfG_Bgsp()->LineCross(&mLinkLinChk)) {
|
||||
endPos.x = startPos.x - f31;
|
||||
@@ -249,7 +241,7 @@ BOOL daPy_lk_c::procTactWait_init(int r30) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
commonProcInit(daPyProc_TACT_WAIT_e);
|
||||
daPy_matAnm_c::offMabaFlg();
|
||||
daPy_matAnm_c::setMabaTimer(1);
|
||||
@@ -262,20 +254,20 @@ BOOL daPy_lk_c::procTactWait_init(int r30) {
|
||||
m34D4 = 0;
|
||||
m34D6 = 0;
|
||||
dComIfGp_setPlayerStatus1(0, daPyStts1_WIND_WAKER_CONDUCT_e);
|
||||
|
||||
|
||||
if (r30 == -1) {
|
||||
dCam_getBody()->StartEventCamera(0xC, fopAcM_GetID(this), 0);
|
||||
mDoAud_seStart(JA_SE_TAKT_USE_BEGIN);
|
||||
}
|
||||
|
||||
|
||||
mDoAud_tact_reset();
|
||||
mDoAud_tact_setBeat(0);
|
||||
mDoAud_tact_setVolume(0.0f);
|
||||
mDoAud_tact_ambientPlay();
|
||||
|
||||
|
||||
setTactModel();
|
||||
initShipRideUseItem(r31, 2);
|
||||
|
||||
|
||||
m34D2 = -1;
|
||||
m32E4.makeEmitter(dPa_name::ID_COMMON_0050, mpEquipItemModel->getBaseTRMtx(), ¤t.pos, NULL);
|
||||
m3570 = r30;
|
||||
@@ -293,12 +285,12 @@ BOOL daPy_lk_c::procTactWait_init(int r30) {
|
||||
}
|
||||
m34D0 = -1;
|
||||
setTactZev(-1, -1, NULL);
|
||||
|
||||
|
||||
if (m3570 != -4) {
|
||||
g_dComIfG_gameInfo.play.field_0x4947 = 1;
|
||||
}
|
||||
mDoAud_taktModeMute();
|
||||
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -310,7 +302,7 @@ BOOL daPy_lk_c::procTactWait() {
|
||||
dComIfGp_evmng_cutEnd(mStaffIdx);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
if (m34D2 > 0) {
|
||||
m34D2--;
|
||||
if (m3570 == -5) {
|
||||
@@ -326,7 +318,7 @@ BOOL daPy_lk_c::procTactWait() {
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
if (m3570 == 5 || m3570 == 1 || m3570 == 6 || m3570 == 7) {
|
||||
if (m35AC >= 0.0f) {
|
||||
m35AC -= 1.0f;
|
||||
@@ -337,20 +329,20 @@ BOOL daPy_lk_c::procTactWait() {
|
||||
} else if (m3570 != -5) {
|
||||
dComIfGp_setAStatus(7);
|
||||
}
|
||||
|
||||
|
||||
if (m34D2 == 0 || (cancelTrigger() && dComIfGp_getAStatus() == 7) || m35AC <= 0.0f) {
|
||||
if (m34D2 != 0) {
|
||||
resetActAnimeUpper(UPPER_MOVE2_e, -1.0f);
|
||||
resetActAnimeUpper(UPPER_MOVE1_e, -1.0f);
|
||||
mDoAud_seStart(JA_SE_TAKT_USE_CANCEL);
|
||||
}
|
||||
|
||||
|
||||
g_dComIfG_gameInfo.play.field_0x4947 = 0;
|
||||
|
||||
|
||||
if (cancelTrigger() && m3570 == 5) {
|
||||
m35AC = -1000.0f;
|
||||
}
|
||||
|
||||
|
||||
if (m3570 == -1) {
|
||||
dComIfGp_event_reset();
|
||||
dCam_getBody()->EndEventCamera(fopAcM_GetID(this));
|
||||
@@ -361,7 +353,7 @@ BOOL daPy_lk_c::procTactWait() {
|
||||
mDoAud_tact_reset();
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
int rightDir, leftDir;
|
||||
if (m3570 != -5) {
|
||||
rightDir = mDoAud_getTactDirection(1, m34D4);
|
||||
@@ -371,18 +363,25 @@ BOOL daPy_lk_c::procTactWait() {
|
||||
rightDir = m34D4;
|
||||
leftDir = m34D6;
|
||||
}
|
||||
|
||||
|
||||
m35A0 += 1.0f;
|
||||
|
||||
|
||||
if (rightDir != m34D4) {
|
||||
if (m35A4 <= 0.0f || rightDir != 0) {
|
||||
setActAnimeUpper(getTactPlayRightArmAnm(rightDir), UPPER_MOVE1_e, daPy_HIO_tact_c0::m.mRightArmAnmRate, 0.0f, -1, daPy_HIO_tact_c0::m.field_0xC);
|
||||
|
||||
setActAnimeUpper(
|
||||
getTactPlayRightArmAnm(rightDir),
|
||||
UPPER_MOVE1_e,
|
||||
daPy_HIO_tact_c0::m.mRightArmAnmRate,
|
||||
0.0f,
|
||||
-1,
|
||||
daPy_HIO_tact_c0::m.field_0xC
|
||||
);
|
||||
|
||||
if (rightDir == 0 || rightDir == 2 || rightDir == 4) {
|
||||
mFrameCtrlUpper[UPPER_MOVE1_e].setRate(daPy_HIO_tact_c0::m.mAnmRate);
|
||||
mFrameCtrlUpper[UPPER_MOVE1_e].setFrame(mFrameCtrlUnder[UNDER_MOVE0_e].getFrame());
|
||||
}
|
||||
|
||||
|
||||
if (m34D4 == 4 || m34D4 == 2 || rightDir == 4 || rightDir == 2) {
|
||||
mDoAud_tact_reset();
|
||||
mDoAud_tact_setBeat(rightDir);
|
||||
@@ -394,7 +393,7 @@ BOOL daPy_lk_c::procTactWait() {
|
||||
}
|
||||
m34D4 = rightDir;
|
||||
mAnmRatioUpper[UPPER_MOVE1_e].setRatio(0.0f);
|
||||
|
||||
|
||||
if (m34D4 != 0) {
|
||||
m35A4 = 2.0f;
|
||||
}
|
||||
@@ -404,7 +403,7 @@ BOOL daPy_lk_c::procTactWait() {
|
||||
} else if (m34D4 != 0) {
|
||||
m35A4 = 2.0f;
|
||||
}
|
||||
|
||||
|
||||
if (leftDir != m34D6) {
|
||||
if (m35A8 <= 0.0f || leftDir != 0) {
|
||||
f32 rate;
|
||||
@@ -415,7 +414,9 @@ BOOL daPy_lk_c::procTactWait() {
|
||||
} else {
|
||||
rate = daPy_HIO_tact_c0::m.field_0x10;
|
||||
}
|
||||
setActAnimeUpper(getTactPlayLeftArmAnm(leftDir), UPPER_MOVE2_e, rate, 0.0f, -1, daPy_HIO_tact_c0::m.field_0xC);
|
||||
setActAnimeUpper(
|
||||
getTactPlayLeftArmAnm(leftDir), UPPER_MOVE2_e, rate, 0.0f, -1, daPy_HIO_tact_c0::m.field_0xC
|
||||
);
|
||||
m34D6 = leftDir;
|
||||
mAnmRatioUpper[UPPER_MOVE2_e].setRatio(0.0f);
|
||||
mDoAud_tact_armSoundPlay(leftDir);
|
||||
@@ -428,7 +429,7 @@ BOOL daPy_lk_c::procTactWait() {
|
||||
} else if (m34D6 != 0) {
|
||||
m35A8 = 2.0f;
|
||||
}
|
||||
|
||||
|
||||
if (m35A0 >= mDoAud_tact_getBeatFrames()) {
|
||||
mDoAud_tact_metronomePlay(m34DA, m34D6);
|
||||
mpEquipItemBrk->setFrame(mpEquipItemBrk->getFrameMax() - 0.001f);
|
||||
@@ -441,28 +442,25 @@ BOOL daPy_lk_c::procTactWait() {
|
||||
} else {
|
||||
mpEquipItemBrk->setFrame(0.0f);
|
||||
}
|
||||
|
||||
|
||||
if (m34D0 > 0) {
|
||||
m34D0--;
|
||||
}
|
||||
|
||||
|
||||
if (m34D0 == 0) {
|
||||
m3574 = mDoAud_tact_judge(m34DA, m34D6);
|
||||
m34DA++;
|
||||
|
||||
|
||||
if (m34DA >= mDoAud_tact_getBeat()) {
|
||||
m34DA = 0;
|
||||
}
|
||||
|
||||
|
||||
onResetFlg0(daPyRFlg0_TACT_INPUT);
|
||||
m34D0 = -1;
|
||||
|
||||
|
||||
if ((m3570 >= 0 && m3570 == m3574) ||
|
||||
(
|
||||
(m3570 == -1 || m3570 == -3) &&
|
||||
(m3574 >= 0 && m3574 != 6 && m3574 != 7 && dComIfGs_isTact(m3574))
|
||||
)
|
||||
) {
|
||||
((m3570 == -1 || m3570 == -3) && (m3574 >= 0 && m3574 != 6 && m3574 != 7 && dComIfGs_isTact(m3574))))
|
||||
{
|
||||
m34D2 = 30;
|
||||
mDoAud_seStart(JA_SE_WTAKT_MATCH_SIGNAL);
|
||||
m35A0 = 0.0f;
|
||||
@@ -482,7 +480,7 @@ BOOL daPy_lk_c::procTactWait() {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
f32 f0;
|
||||
if (m34D4 == 4) {
|
||||
f0 = daPy_HIO_tact_c0::m.field_0x14;
|
||||
@@ -492,7 +490,7 @@ BOOL daPy_lk_c::procTactWait() {
|
||||
f0 = daPy_HIO_tact_c0::m.field_0x10;
|
||||
}
|
||||
mFrameCtrlUpper[UPPER_MOVE2_e].setRate(f0);
|
||||
|
||||
|
||||
if (m34D2 == -1) {
|
||||
f32 f0 = (m35A0 + m3624 * mDoAud_tact_getBeatFrames()) / (2.0f * mDoAud_tact_getBeatFrames());
|
||||
mFrameCtrlUnder[UPPER_MOVE0_e].setFrame(f0 * mFrameCtrlUnder[UPPER_MOVE0_e].getEnd());
|
||||
@@ -502,7 +500,7 @@ BOOL daPy_lk_c::procTactWait() {
|
||||
getNowAnmPackUpper(UPPER_MOVE1_e)->setFrame(mFrameCtrlUpper[UPPER_MOVE1_e].getFrame());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -521,7 +519,7 @@ BOOL daPy_lk_c::procTactPlay_init(s32 r27, int r30, int r31) {
|
||||
resetActAnimeUpper(UPPER_MOVE2_e, -1.0f);
|
||||
resetActAnimeUpper(UPPER_MOVE1_e, -1.0f);
|
||||
m34DA = 0xA;
|
||||
|
||||
|
||||
daPy_ANM anm;
|
||||
if (r27 == 0) {
|
||||
anm = ANM_TAKTKAZE;
|
||||
@@ -537,9 +535,9 @@ BOOL daPy_lk_c::procTactPlay_init(s32 r27, int r30, int r31) {
|
||||
anm = ANM_TAKTCHISIN;
|
||||
}
|
||||
setSingleMoveAnime(anm, 1.0f, 0.0f, -1, 3.0f);
|
||||
|
||||
|
||||
initShipRideUseItem(r28, 2);
|
||||
|
||||
|
||||
if (r28 != 0 && m3570 == 1) {
|
||||
stage_stag_info_class* stag_info = dComIfGp_getStageStagInfo();
|
||||
if (dStage_stagInfo_GetSTType(stag_info) == dStageType_SEA_e && m34CC != 1 && r30 != 0) {
|
||||
@@ -548,13 +546,13 @@ BOOL daPy_lk_c::procTactPlay_init(s32 r27, int r30, int r31) {
|
||||
ship->setTactWarpID(warpID);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
m32E4.makeEmitter(dPa_name::ID_COMMON_0051, mpEquipItemModel->getBaseTRMtx(), ¤t.pos, NULL);
|
||||
m34D0 = 0;
|
||||
m3574 = r30;
|
||||
m3624 = 0;
|
||||
m34D8 = r31;
|
||||
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -564,9 +562,9 @@ BOOL daPy_lk_c::procTactPlay() {
|
||||
setShipRidePos(1);
|
||||
shape_angle.y -= 0x4000;
|
||||
}
|
||||
|
||||
|
||||
mDoAud_tact_ambientPlay();
|
||||
|
||||
|
||||
if (m3624 != 0) {
|
||||
if (checkEndMessage(m3624)) {
|
||||
resetActAnimeUpper(UPPER_MOVE2_e, -1.0f);
|
||||
@@ -581,34 +579,33 @@ BOOL daPy_lk_c::procTactPlay() {
|
||||
mDoAud_tact_melodyPlay(m3570);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (m34D0 != 0) {
|
||||
if (m34D8 != 0) {
|
||||
g_dComIfG_gameInfo.play.field_0x4947 = 0;
|
||||
dComIfGp_evmng_cutEnd(mStaffIdx);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
msg_class* msg_p = fopMsgM_SearchByID(m3628);
|
||||
if (msg_p == NULL || msg_p->mStatus == fopMsgStts_BOX_CLOSED_e) {
|
||||
fopAc_ac_c* tactZevPartner = NULL;
|
||||
g_dComIfG_gameInfo.play.field_0x4947 = 0;
|
||||
|
||||
|
||||
if (msg_p != NULL) {
|
||||
msg_p->mStatus = fopMsgStts_MSG_DESTROYED_e;
|
||||
m3628 = fpcM_ERROR_PROCESS_ID_e;
|
||||
}
|
||||
|
||||
|
||||
if (mTactZevPartnerPID != fpcM_ERROR_PROCESS_ID_e && m34CC == m3570) {
|
||||
tactZevPartner = fopAcM_SearchByID(mTactZevPartnerPID);
|
||||
}
|
||||
|
||||
|
||||
if (m3574 == 0) {
|
||||
dComIfGp_evmng_cutEnd(mStaffIdx);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
if (tactZevPartner != NULL) {
|
||||
if (m3494 == 0) {
|
||||
resetActAnimeUpper(UPPER_MOVE2_e, -1.0f);
|
||||
@@ -620,7 +617,7 @@ BOOL daPy_lk_c::procTactPlay() {
|
||||
return procTactPlayEnd_init(-1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (m3570 == 0) {
|
||||
if (dKyw_gbwind_use_check()) {
|
||||
return procTactPlayEnd_init(m3570);
|
||||
@@ -641,7 +638,8 @@ BOOL daPy_lk_c::procTactPlay() {
|
||||
if (dKy_daynighttact_stop_chk()) {
|
||||
m3624 = 0x14A7;
|
||||
} else {
|
||||
dStage_FileList_dt_c* fili_p = dComIfGp_roomControl_getStatusRoomDt(current.roomNo)->getFileListInfo();
|
||||
dStage_FileList_dt_c* fili_p =
|
||||
dComIfGp_roomControl_getStatusRoomDt(current.roomNo)->getFileListInfo();
|
||||
if (dStage_FileList_dt_GetSongOk(fili_p)) {
|
||||
m3624 = 0x14AA;
|
||||
} else {
|
||||
@@ -656,14 +654,14 @@ BOOL daPy_lk_c::procTactPlay() {
|
||||
mDoAud_seStart(JA_SE_TAKT_MATCHED);
|
||||
fopMsgM_messageSendOn();
|
||||
m34D0 = 1;
|
||||
|
||||
|
||||
mDoAud_tact_reset();
|
||||
setSingleMoveAnime(ANM_WAITTAKT, daPy_HIO_tact_c0::m.mAnmRate, 0.0f, -1, 10.0f);
|
||||
setTextureAnime(6, 0);
|
||||
onModeFlg(ModeFlg_00000100);
|
||||
offModeFlg(ModeFlg_00000400);
|
||||
}
|
||||
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -676,7 +674,7 @@ BOOL daPy_lk_c::procTactPlayEnd_init(int r30) {
|
||||
m3570 = r30;
|
||||
mVelocity = 0.0f;
|
||||
setBlendMoveAnime(daPy_HIO_basic_c0::m.field_0xC);
|
||||
|
||||
|
||||
if (r30 == -1) {
|
||||
dCam_getBody()->EndEventCamera(fopAcM_GetID(this));
|
||||
fopAcM_orderChangeEvent(this, fopAcM_SearchByID(mTactZevPartnerPID), m3494, 0, -1);
|
||||
@@ -693,10 +691,10 @@ BOOL daPy_lk_c::procTactPlayEnd_init(int r30) {
|
||||
dCam_getBody()->EndEventCamera(fopAcM_GetID(this));
|
||||
fopAcM_orderChangeEvent(this, l_tact_night_event_label, 0, -1);
|
||||
}
|
||||
|
||||
|
||||
m3574 = 0;
|
||||
m34D6 = shape_angle.y + 0x4000;
|
||||
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -704,11 +702,13 @@ BOOL daPy_lk_c::procTactPlayEnd_init(int r30) {
|
||||
BOOL daPy_lk_c::procTactPlayEnd() {
|
||||
if (dComIfGp_checkPlayerStatus0(0, daPyStts1_UNK10000_e)) {
|
||||
setShipRidePos(0);
|
||||
if (m3570 == 0 && !dComIfGp_evmng_startCheck(l_tact_wind_change_event_label) && !dComIfGp_evmng_startCheck(l_tact_wind_change_event_label2)) {
|
||||
if (m3570 == 0 && !dComIfGp_evmng_startCheck(l_tact_wind_change_event_label) &&
|
||||
!dComIfGp_evmng_startCheck(l_tact_wind_change_event_label2))
|
||||
{
|
||||
cLib_addCalcAngleS(&shape_angle.y, m34D6, 5, 0x1000, 0x100);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (m3570 == 0) {
|
||||
dComIfGp_setAStatus(0x07);
|
||||
} else if (m3570 == 5) {
|
||||
@@ -724,8 +724,13 @@ BOOL daPy_lk_c::procTactPlayEnd() {
|
||||
hasShip = FALSE;
|
||||
}
|
||||
dComIfGs_setTurnRestart(
|
||||
current.pos, shape_angle.y, fopAcM_GetRoomNo(this), getDayNightParamData(),
|
||||
ship->current.pos, ship->shape_angle.y, hasShip
|
||||
current.pos,
|
||||
shape_angle.y,
|
||||
fopAcM_GetRoomNo(this),
|
||||
getDayNightParamData(),
|
||||
ship->current.pos,
|
||||
ship->shape_angle.y,
|
||||
hasShip
|
||||
);
|
||||
if (dComIfG_getTimerMode() == 3 && dComIfG_getTimerPtr() != NULL) {
|
||||
dComIfG_getTimerPtr()->deleteRequest();
|
||||
@@ -764,7 +769,7 @@ BOOL daPy_lk_c::procTactPlayEnd() {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -779,15 +784,15 @@ BOOL daPy_lk_c::procTactPlayOriginal_init() {
|
||||
daPy_matAnm_c::offMabaFlg();
|
||||
daPy_matAnm_c::setMabaTimer(1);
|
||||
setSingleMoveAnime(ANM_WAITTAKT, daPy_HIO_tact_c0::m.mAnmRate, 0.0f, -1, daPy_HIO_tact_c0::m.field_0x4);
|
||||
|
||||
|
||||
m3570 = dComIfGp_event_getTactFreeMStick(m34D0);
|
||||
setActAnimeUpper(getTactPlayRightArmAnm(m3570), UPPER_MOVE1_e, 0.0f, 0.0f, -1, -1.0f);
|
||||
mAnmRatioUpper[UPPER_MOVE1_e].setRatio(0.0f);
|
||||
|
||||
|
||||
m3574 = dComIfGp_event_getTactFreeCStick(m34D0);
|
||||
setActAnimeUpper(getTactPlayLeftArmAnm(m3574), UPPER_MOVE2_e, 0.0f, 0.0f, -1, -1.0f);
|
||||
mAnmRatioUpper[UPPER_MOVE2_e].setRatio(0.0f);
|
||||
|
||||
|
||||
setTextureAnime(0, 0);
|
||||
m3530 = 3;
|
||||
mDoAud_tact_setStickPos(m3570, m3574);
|
||||
@@ -797,14 +802,14 @@ BOOL daPy_lk_c::procTactPlayOriginal_init() {
|
||||
m34D6 = 0xF;
|
||||
m34DA = 0;
|
||||
mDoAud_taktModeMute();
|
||||
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 8014F690-8014F8A0 .text procTactPlayOriginal__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procTactPlayOriginal() {
|
||||
mDoAud_seStart(JA_SE_LK_WTAKT_USING);
|
||||
|
||||
|
||||
if (m_old_fdata->getOldFrameRate() < 0.01f) {
|
||||
if (m34D6 > 0) {
|
||||
m34D6--;
|
||||
@@ -816,29 +821,31 @@ BOOL daPy_lk_c::procTactPlayOriginal() {
|
||||
mDoAud_tact_stopArmSwing();
|
||||
} else {
|
||||
m34D6 = 0xF;
|
||||
|
||||
|
||||
m3570 = dComIfGp_event_getTactFreeMStick(m34D0);
|
||||
setActAnimeUpper(getTactPlayRightArmAnm(m3570), UPPER_MOVE1_e, daPy_HIO_tact_c0::m.mRightArmAnmRate, 0.0f, -1, 5.0f);
|
||||
setActAnimeUpper(
|
||||
getTactPlayRightArmAnm(m3570), UPPER_MOVE1_e, daPy_HIO_tact_c0::m.mRightArmAnmRate, 0.0f, -1, 5.0f
|
||||
);
|
||||
mAnmRatioUpper[UPPER_MOVE1_e].setRatio(0.0f);
|
||||
if (m3570 == 0 || m3570 == 2 || m3570 == 4) {
|
||||
mFrameCtrlUpper[UPPER_MOVE1_e].setRate(daPy_HIO_tact_c0::m.mAnmRate);
|
||||
mFrameCtrlUpper[UPPER_MOVE1_e].setFrame(mFrameCtrlUnder[UNDER_MOVE0_e].getFrame());
|
||||
}
|
||||
|
||||
|
||||
m3574 = dComIfGp_event_getTactFreeCStick(m34D0);
|
||||
setActAnimeUpper(getTactPlayLeftArmAnm(m3574), UPPER_MOVE2_e, daPy_HIO_tact_c0::m.mAnmRate, 0.0f, -1, 5.0f);
|
||||
mAnmRatioUpper[UPPER_MOVE2_e].setRatio(0.0f);
|
||||
mFrameCtrlUpper[UPPER_MOVE2_e].setFrame(mFrameCtrlUnder[UNDER_MOVE0_e].getFrame());
|
||||
|
||||
|
||||
mDoAud_tact_setStickPos(m3570, m3574);
|
||||
mDoAud_tact_playArmSwing(m3570, m3574);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (m34D6 != 0 && m34DA != 0) {
|
||||
mDoAud_tact_play();
|
||||
}
|
||||
m34DA = 1;
|
||||
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
+148
-137
@@ -17,38 +17,41 @@
|
||||
/* 8014F8A0-8014F994 .text checkJumpFlower__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::checkJumpFlower() {
|
||||
/* Nonmatching - floats, branching */
|
||||
fopAc_ac_c *iVar1;
|
||||
fopAc_ac_c* iVar1;
|
||||
short sVar3;
|
||||
|
||||
|
||||
iVar1 = mCyl.GetCoHitAc();
|
||||
if (((mCyl.ChkCoHit()) && (iVar1 != 0)) &&
|
||||
(fopAcM_GetName(iVar1) == PROC_JBO)) {
|
||||
if (checkModeFlg(ModeFlg_MIDAIR)) {
|
||||
if ((speed.y <= 0.0f) && (current.pos.y > iVar1->current.pos.y - 50.0f)) {
|
||||
procVomitWait_init();
|
||||
if (((mCyl.ChkCoHit()) && (iVar1 != 0)) && (fopAcM_GetName(iVar1) == PROC_JBO)) {
|
||||
if (checkModeFlg(ModeFlg_MIDAIR)) {
|
||||
if ((speed.y <= 0.0f) && (current.pos.y > iVar1->current.pos.y - 50.0f)) {
|
||||
procVomitWait_init();
|
||||
}
|
||||
} else if ((sVar3 = fopAcM_searchActorAngleY(this, iVar1),
|
||||
cLib_distanceAngleS(sVar3, shape_angle.y) < 0x2000) &&
|
||||
(mStickDistance > 0.2f))
|
||||
{
|
||||
procVomitReady_init(sVar3, fopAcM_searchActorDistanceXZ(this, iVar1));
|
||||
}
|
||||
} else if ((sVar3 = fopAcM_searchActorAngleY(this, iVar1),
|
||||
cLib_distanceAngleS(sVar3, shape_angle.y) < 0x2000) &&
|
||||
(mStickDistance > 0.2f)) {
|
||||
procVomitReady_init(sVar3, fopAcM_searchActorDistanceXZ(this, iVar1));
|
||||
}
|
||||
} else {
|
||||
return false;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/* 8014F994-8014FA88 .text procVomitReady_init__9daPy_lk_cFsf */
|
||||
BOOL daPy_lk_c::procVomitReady_init(s16 param_0, f32 param_1) {
|
||||
commonProcInit(daPyProc_VOMIT_READY_e);
|
||||
setSingleMoveAnime(ANM_MSTEPOVER, daPy_HIO_vomit_c0::m.field_0xC,
|
||||
daPy_HIO_vomit_c0::m.field_0x10,
|
||||
daPy_HIO_vomit_c0::m.field_0x0,
|
||||
daPy_HIO_vomit_c0::m.field_0x14);
|
||||
setSingleMoveAnime(
|
||||
ANM_MSTEPOVER,
|
||||
daPy_HIO_vomit_c0::m.field_0xC,
|
||||
daPy_HIO_vomit_c0::m.field_0x10,
|
||||
daPy_HIO_vomit_c0::m.field_0x0,
|
||||
daPy_HIO_vomit_c0::m.field_0x14
|
||||
);
|
||||
speed.y = daPy_HIO_vomit_c0::m.field_0x18;
|
||||
mVelocity = (param_1 * -gravity) / (2.0f * daPy_HIO_vomit_c0::m.field_0x18);
|
||||
if (checkHeavyStateOn()) {
|
||||
speed.y *= 1.5f;
|
||||
mVelocity *= 1.5f;
|
||||
speed.y *= 1.5f;
|
||||
mVelocity *= 1.5f;
|
||||
}
|
||||
shape_angle.y = param_0;
|
||||
current.angle.y = shape_angle.y;
|
||||
@@ -60,17 +63,16 @@ BOOL daPy_lk_c::procVomitReady_init(s16 param_0, f32 param_1) {
|
||||
BOOL daPy_lk_c::procVomitReady() {
|
||||
setFallVoice();
|
||||
if (!checkJumpFlower()) {
|
||||
if (mAcch.ChkGroundHit()) {
|
||||
changeLandProc(daPy_HIO_autoJump_c0::m.field_0x24);
|
||||
} else if (checkFanGlideProc(0)) {
|
||||
return true;
|
||||
} else if (speed.y < -gravity) {
|
||||
setSingleMoveAnime(ANM_JMPEDS, 0.0f, 0.0f, -1,
|
||||
daPy_HIO_wallCatch_c0::m.field_0x54);
|
||||
offModeFlg(ModeFlg_00000400);
|
||||
setTextureAnime(0x37, 0);
|
||||
resetSeAnime();
|
||||
}
|
||||
if (mAcch.ChkGroundHit()) {
|
||||
changeLandProc(daPy_HIO_autoJump_c0::m.field_0x24);
|
||||
} else if (checkFanGlideProc(0)) {
|
||||
return true;
|
||||
} else if (speed.y < -gravity) {
|
||||
setSingleMoveAnime(ANM_JMPEDS, 0.0f, 0.0f, -1, daPy_HIO_wallCatch_c0::m.field_0x54);
|
||||
offModeFlg(ModeFlg_00000400);
|
||||
setTextureAnime(0x37, 0);
|
||||
resetSeAnime();
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -79,7 +81,7 @@ BOOL daPy_lk_c::procVomitReady() {
|
||||
BOOL daPy_lk_c::procVomitWait_init() {
|
||||
commonProcInit(daPyProc_VOMIT_WAIT_e);
|
||||
setSingleMoveAnime(ANM_VOMITJMP, 1.0f, 0.0f, -1, 5.0f);
|
||||
fopAc_ac_c *iVar1 = mCyl.GetCoHitAc();
|
||||
fopAc_ac_c* iVar1 = mCyl.GetCoHitAc();
|
||||
current.pos = iVar1->current.pos;
|
||||
old.pos = current.pos;
|
||||
m34C2 = 11;
|
||||
@@ -95,39 +97,39 @@ BOOL daPy_lk_c::procVomitWait() {
|
||||
/* Nonmatching - floats, branching */
|
||||
int iVar1;
|
||||
s16 sVar2;
|
||||
|
||||
|
||||
if (checkNoResetFlg1(daPyFlg1_FORCE_VOMIT_JUMP)) {
|
||||
sVar2 = 0;
|
||||
procVomitJump_init(0);
|
||||
} else if (mStickDistance > 0.05f) {
|
||||
iVar1 = getDirectionFromAngle(m34DC);
|
||||
if (iVar1 == 2) {
|
||||
sVar2 = (int)(512.0f * mStickDistance);
|
||||
if (sVar2 > m34D4) {
|
||||
m34D4 += (int)(64.0f * mStickDistance);
|
||||
if (m34D4 > sVar2) {
|
||||
m34D4 = sVar2;
|
||||
}
|
||||
sVar2 = m34D4;
|
||||
}
|
||||
} else if (iVar1 == 3) {
|
||||
sVar2 = (int)(-512.0f * mStickDistance);
|
||||
if (sVar2 < m34D4) {
|
||||
m34D4 -= (int)(64.0f * mStickDistance);
|
||||
if (m34D4 < sVar2) {
|
||||
m34D4 = sVar2;
|
||||
}
|
||||
sVar2 = m34D4;
|
||||
} else {
|
||||
sVar2 = 0;
|
||||
}
|
||||
} else {
|
||||
sVar2 = 0;
|
||||
}
|
||||
|
||||
cLib_addCalcAngleS(&m34D4, sVar2, 3, 0x40, 0x10);
|
||||
shape_angle.y += m34D4;
|
||||
current.angle.y = shape_angle.y;
|
||||
procVomitJump_init(0);
|
||||
} else if (mStickDistance > 0.05f) {
|
||||
iVar1 = getDirectionFromAngle(m34DC);
|
||||
if (iVar1 == 2) {
|
||||
sVar2 = (int)(512.0f * mStickDistance);
|
||||
if (sVar2 > m34D4) {
|
||||
m34D4 += (int)(64.0f * mStickDistance);
|
||||
if (m34D4 > sVar2) {
|
||||
m34D4 = sVar2;
|
||||
}
|
||||
sVar2 = m34D4;
|
||||
}
|
||||
} else if (iVar1 == 3) {
|
||||
sVar2 = (int)(-512.0f * mStickDistance);
|
||||
if (sVar2 < m34D4) {
|
||||
m34D4 -= (int)(64.0f * mStickDistance);
|
||||
if (m34D4 < sVar2) {
|
||||
m34D4 = sVar2;
|
||||
}
|
||||
sVar2 = m34D4;
|
||||
} else {
|
||||
sVar2 = 0;
|
||||
}
|
||||
} else {
|
||||
sVar2 = 0;
|
||||
}
|
||||
|
||||
cLib_addCalcAngleS(&m34D4, sVar2, 3, 0x40, 0x10);
|
||||
shape_angle.y += m34D4;
|
||||
current.angle.y = shape_angle.y;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -140,9 +142,9 @@ BOOL daPy_lk_c::procVomitJump_init(int param_0) {
|
||||
commonProcInit(daPyProc_VOMIT_JUMP_e);
|
||||
m35C4 = 40.0f;
|
||||
if ((param_0 == 2) || (param_0 == 3)) {
|
||||
fVar1 = 3.0f;
|
||||
fVar1 = 3.0f;
|
||||
} else {
|
||||
fVar1 = -1.0f;
|
||||
fVar1 = -1.0f;
|
||||
}
|
||||
m3570 = param_0;
|
||||
setSingleMoveAnime(ANM_VOMITJMP, 1.0f, 0.0f, -1, fVar1);
|
||||
@@ -150,91 +152,98 @@ BOOL daPy_lk_c::procVomitJump_init(int param_0) {
|
||||
mStts.ClrCcMove();
|
||||
m34D4 = 0;
|
||||
m34D0 = 2;
|
||||
m33A8.makeEmitterColor(dPa_name::ID_SCENE_8112, mpCLModel->getAnmMtx(0x12),
|
||||
¤t.pos, (csXyz *)&shape_angle, &tevStr.mColorK0,
|
||||
&tevStr.mColorK0);
|
||||
m33A8.makeEmitterColor(
|
||||
dPa_name::ID_SCENE_8112,
|
||||
mpCLModel->getAnmMtx(0x12),
|
||||
¤t.pos,
|
||||
(csXyz*)&shape_angle,
|
||||
&tevStr.mColorK0,
|
||||
&tevStr.mColorK0
|
||||
);
|
||||
if (param_0 == 0) {
|
||||
dComIfGp_getVibration().StartShock(4, -0x21, cXyz(0.0f, 1.0f, 0.0f));
|
||||
dComIfGp_getVibration().StartShock(4, -0x21, cXyz(0.0f, 1.0f, 0.0f));
|
||||
}
|
||||
if (param_0 == 1) {
|
||||
gravity = 0.0f;
|
||||
m34D2 = 0x14;
|
||||
gravity = 0.0f;
|
||||
m34D2 = 0x14;
|
||||
} else {
|
||||
voiceStart(0);
|
||||
if (param_0 == 3) {
|
||||
speed.y = 46.0f;
|
||||
m3570 = 1;
|
||||
} else {
|
||||
speed.y = daPy_HIO_vomit_c0::m.field_0x1C;
|
||||
}
|
||||
m34D2 = 0;
|
||||
voiceStart(0);
|
||||
if (param_0 == 3) {
|
||||
speed.y = 46.0f;
|
||||
m3570 = 1;
|
||||
} else {
|
||||
speed.y = daPy_HIO_vomit_c0::m.field_0x1C;
|
||||
}
|
||||
m34D2 = 0;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 8014FF0C-801500E4 .text procVomitJump__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procVomitJump() {
|
||||
/* Nonmatching - floats */
|
||||
BOOL daPy_lk_c::procVomitJump() {
|
||||
/* Nonmatching - floats */
|
||||
if ((s32)m34D2 != 0) {
|
||||
m34D2--;
|
||||
if (m34D2 == 0) {
|
||||
voiceStart(0);
|
||||
speed.y = 46.0f;
|
||||
gravity = daPy_HIO_autoJump_c0::m.field_0xC;
|
||||
voiceStart(0);
|
||||
speed.y = 46.0f;
|
||||
gravity = daPy_HIO_autoJump_c0::m.field_0xC;
|
||||
}
|
||||
mStts.ClrCcMove();
|
||||
return true;
|
||||
} else {
|
||||
} else {
|
||||
if (m34D0 != 0) {
|
||||
mStts.ClrCcMove();
|
||||
m34D0--;
|
||||
mStts.ClrCcMove();
|
||||
m34D0--;
|
||||
}
|
||||
if (!checkJumpFlower()) {
|
||||
if (mAcch.ChkGroundHit()) {
|
||||
changeLandProc(daPy_HIO_autoJump_c0::m.field_0x24);
|
||||
} else {
|
||||
s16 sVar1 = shape_angle.x;
|
||||
shape_angle.x = sVar1 + daPy_HIO_vomit_c0::m.field_0x2;
|
||||
if ((sVar1 < 0) && (0 < shape_angle.x)) {
|
||||
seStartOnlyReverb(JA_SE_LK_JUMP_FLOWER_OUT);
|
||||
}
|
||||
if (m3570 == 1) {
|
||||
cLib_addCalc(&mVelocity, daPy_HIO_vomit_c0::m.field_0x20, 0.5f, 2.0f,
|
||||
0.1f);
|
||||
if (mAcch.ChkGroundHit()) {
|
||||
changeLandProc(daPy_HIO_autoJump_c0::m.field_0x24);
|
||||
} else {
|
||||
f32 fVar2;
|
||||
s32 iVar3;
|
||||
if (!checkFanGlideProc(1)) {
|
||||
if (mStickDistance > 0.05f) {
|
||||
if (iVar3 = getDirectionFromShapeAngle(), iVar3 == 0) {
|
||||
fVar2 = 1.0f;
|
||||
} else if (iVar3 == 1) {
|
||||
fVar2 = -1.0f;
|
||||
} else {
|
||||
fVar2 = 0.0f;
|
||||
}
|
||||
} else {
|
||||
fVar2 = 0.0f;
|
||||
s16 sVar1 = shape_angle.x;
|
||||
shape_angle.x = sVar1 + daPy_HIO_vomit_c0::m.field_0x2;
|
||||
if ((sVar1 < 0) && (0 < shape_angle.x)) {
|
||||
seStartOnlyReverb(JA_SE_LK_JUMP_FLOWER_OUT);
|
||||
}
|
||||
if (m3570 == 1) {
|
||||
cLib_addCalc(&mVelocity, daPy_HIO_vomit_c0::m.field_0x20, 0.5f, 2.0f, 0.1f);
|
||||
} else {
|
||||
f32 fVar2;
|
||||
s32 iVar3;
|
||||
if (!checkFanGlideProc(1)) {
|
||||
if (mStickDistance > 0.05f) {
|
||||
if (iVar3 = getDirectionFromShapeAngle(), iVar3 == 0) {
|
||||
fVar2 = 1.0f;
|
||||
} else if (iVar3 == 1) {
|
||||
fVar2 = -1.0f;
|
||||
} else {
|
||||
fVar2 = 0.0f;
|
||||
}
|
||||
} else {
|
||||
fVar2 = 0.0f;
|
||||
}
|
||||
cLib_addCalc(
|
||||
&mVelocity, (daPy_HIO_vomit_c0::m.field_0x20 * mStickDistance * fVar2), 0.5f, 2.0f, 0.1f
|
||||
);
|
||||
}
|
||||
}
|
||||
cLib_addCalc(&mVelocity,
|
||||
(daPy_HIO_vomit_c0::m.field_0x20 * mStickDistance * fVar2),
|
||||
0.5f, 2.0f, 0.1f);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 801500E4-80150164 .text procVomitLand_init__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procVomitLand_init() {
|
||||
commonProcInit(daPyProc_VOMIT_LAND_e);
|
||||
mVelocity = 0.0f;
|
||||
setSingleMoveAnime(ANM_LANDDAMA, daPy_HIO_vomit_c0::m.field_0x24,
|
||||
daPy_HIO_vomit_c0::m.field_0x28,
|
||||
daPy_HIO_vomit_c0::m.field_0x4,
|
||||
daPy_HIO_vomit_c0::m.field_0x2C);
|
||||
setSingleMoveAnime(
|
||||
ANM_LANDDAMA,
|
||||
daPy_HIO_vomit_c0::m.field_0x24,
|
||||
daPy_HIO_vomit_c0::m.field_0x28,
|
||||
daPy_HIO_vomit_c0::m.field_0x4,
|
||||
daPy_HIO_vomit_c0::m.field_0x2C
|
||||
);
|
||||
m34D0 = daPy_HIO_vomit_c0::m.field_0x6;
|
||||
m3570 = 0;
|
||||
m34BE = 5;
|
||||
@@ -245,22 +254,24 @@ BOOL daPy_lk_c::procVomitLand_init() {
|
||||
BOOL daPy_lk_c::procVomitLand() {
|
||||
resetFootEffect();
|
||||
if (m3570 != 0) {
|
||||
if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.0099999998f) {
|
||||
checkNextMode(0);
|
||||
} else if (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() >
|
||||
daPy_HIO_vomit_c0::m.field_0x3C) {
|
||||
checkNextMode(1);
|
||||
}
|
||||
} else if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.0099999998f) {
|
||||
if ((s32)m34D0 > 0) {
|
||||
m34D0--;
|
||||
} else {
|
||||
setSingleMoveAnime(ANM_LANDDAMAST, daPy_HIO_vomit_c0::m.field_0x30,
|
||||
daPy_HIO_vomit_c0::m.field_0x34,
|
||||
daPy_HIO_vomit_c0::m.field_0x8,
|
||||
daPy_HIO_vomit_c0::m.field_0x38);
|
||||
m3570 = 1;
|
||||
}
|
||||
if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f) {
|
||||
checkNextMode(0);
|
||||
} else if (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() > daPy_HIO_vomit_c0::m.field_0x3C) {
|
||||
checkNextMode(1);
|
||||
}
|
||||
} else if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f) {
|
||||
if ((s32)m34D0 > 0) {
|
||||
m34D0--;
|
||||
} else {
|
||||
setSingleMoveAnime(
|
||||
ANM_LANDDAMAST,
|
||||
daPy_HIO_vomit_c0::m.field_0x30,
|
||||
daPy_HIO_vomit_c0::m.field_0x34,
|
||||
daPy_HIO_vomit_c0::m.field_0x8,
|
||||
daPy_HIO_vomit_c0::m.field_0x38
|
||||
);
|
||||
m3570 = 1;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
+189
-160
@@ -43,95 +43,105 @@ void daPy_lk_c::setEnemyWeaponAtParam(BOOL r4) {
|
||||
BOOL daPy_lk_c::procWeaponNormalSwing_init() {
|
||||
if (mActorKeepEquip.getActor() == NULL) {
|
||||
return false;
|
||||
} else {
|
||||
} else {
|
||||
commonProcInit(daPyProc_WEAPON_NORMAL_SWING_e);
|
||||
setSingleMoveAnime(ANM_CUTBOKO, daPy_HIO_cutBoko_c0::m.field_0x10,
|
||||
daPy_HIO_cutBoko_c0::m.field_0x18,
|
||||
daPy_HIO_cutBoko_c0::m.field_0x6,
|
||||
daPy_HIO_cutBoko_c0::m.field_0x34);
|
||||
setSingleMoveAnime(
|
||||
ANM_CUTBOKO,
|
||||
daPy_HIO_cutBoko_c0::m.field_0x10,
|
||||
daPy_HIO_cutBoko_c0::m.field_0x18,
|
||||
daPy_HIO_cutBoko_c0::m.field_0x6,
|
||||
daPy_HIO_cutBoko_c0::m.field_0x34
|
||||
);
|
||||
current.angle.y = shape_angle.y;
|
||||
m3700 = cXyz::Zero;
|
||||
m34C2 = 1;
|
||||
voiceStart(1);
|
||||
if ((mpAttention->Lockon()) || (mStickDistance <= 0.05f)) {
|
||||
m34D4 = shape_angle.y;
|
||||
m34D4 = shape_angle.y;
|
||||
} else {
|
||||
m34D4 = m34E8;
|
||||
m34D4 = m34E8;
|
||||
}
|
||||
dComIfGp_setPlayerStatus0(0, daPyStts0_SWORD_SWING_e);
|
||||
m351E = m34DC;
|
||||
setBlurPosResource(LKANM__CUTBOKO_POS);
|
||||
setEnemyWeaponAtParam(0);
|
||||
m34D0 = daPy_HIO_cutBoko_c0::m.field_0x4;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 8015372C-801539C8 .text procWeaponNormalSwing__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procWeaponNormalSwing() {
|
||||
J3DFrameCtrl &frameCtrl = mFrameCtrlUnder[UNDER_MOVE0_e];
|
||||
J3DFrameCtrl& frameCtrl = mFrameCtrlUnder[UNDER_MOVE0_e];
|
||||
|
||||
if ((swordButton()) && (mActorKeepEquip.getActor() != NULL)) {
|
||||
onNoResetFlg0(daPyFlg0_UNK4);
|
||||
onNoResetFlg0(daPyFlg0_UNK4);
|
||||
} else {
|
||||
offNoResetFlg0(daPyFlg0_UNK4);
|
||||
}
|
||||
if ((frameCtrl.getRate() < 0.0099999998f) ||
|
||||
(mActorKeepEquip.getActor() == NULL)) {
|
||||
if (mActorKeepEquip.getActor() == NULL) {
|
||||
m34D0 = 0;
|
||||
offNoResetFlg0(daPyFlg0_UNK4);
|
||||
}
|
||||
if ((int)m34D0 > 0) {
|
||||
m34D0--;
|
||||
} else {
|
||||
}
|
||||
if ((frameCtrl.getRate() < 0.01f) || (mActorKeepEquip.getActor() == NULL)) {
|
||||
if (mActorKeepEquip.getActor() == NULL) {
|
||||
m34D0 = 0;
|
||||
offNoResetFlg0(daPyFlg0_UNK4);
|
||||
}
|
||||
if ((int)m34D0 > 0) {
|
||||
m34D0--;
|
||||
} else {
|
||||
mVelocity = 0.0f;
|
||||
m34B8 = 3;
|
||||
checkNextMode(0);
|
||||
return true;
|
||||
}
|
||||
} else if (frameCtrl.getFrame() > daPy_HIO_cutBoko_c0::m.field_0x1C) {
|
||||
f32 dVar4 = mVelocity;
|
||||
u8 uVar1 = m34B8;
|
||||
mVelocity = 0.0f;
|
||||
m34B8 = 3;
|
||||
checkNextMode(0);
|
||||
return true;
|
||||
}
|
||||
} else if (frameCtrl.getFrame() > daPy_HIO_cutBoko_c0::m.field_0x1C) {
|
||||
f32 dVar4 = mVelocity;
|
||||
u8 uVar1 = m34B8;
|
||||
mVelocity = 0.0f;
|
||||
m34B8 = 3;
|
||||
if (checkNextMode(1)) {
|
||||
return true;
|
||||
}
|
||||
mVelocity = dVar4;
|
||||
m34B8 = uVar1;
|
||||
if (checkNextMode(1)) {
|
||||
return true;
|
||||
}
|
||||
mVelocity = dVar4;
|
||||
m34B8 = uVar1;
|
||||
}
|
||||
if (changeCutReverseProc(ANM_CUTRER)) {
|
||||
return true;
|
||||
return true;
|
||||
} else {
|
||||
m34C2 = 1;
|
||||
if (mpAttnActorLockOn != NULL) {
|
||||
setShapeAngleToAtnActor();
|
||||
m34D4 = shape_angle.y;
|
||||
} else {
|
||||
cLib_addCalcAngleS(&shape_angle.y, m34D4, daPy_HIO_turn_c0::m.field_0x4,
|
||||
daPy_HIO_turn_c0::m.field_0x0,
|
||||
daPy_HIO_turn_c0::m.field_0x2);
|
||||
}
|
||||
current.angle.y = shape_angle.y;
|
||||
if (frameCtrl.checkPass(daPy_HIO_cutBoko_c0::m.field_0x38)) {
|
||||
mVelocity = std::fabsf(speedF) * daPy_HIO_cutBoko_c0::m.field_0x20 +
|
||||
daPy_HIO_cutBoko_c0::m.field_0x24;
|
||||
}
|
||||
if (frameCtrl.checkPass(daPy_HIO_cutBoko_c0::m.field_0x3C)) {
|
||||
frameCtrl.setRate(daPy_HIO_cutBoko_c0::m.field_0x14);
|
||||
}
|
||||
if ((frameCtrl.getFrame() >= daPy_HIO_cutBoko_c0::m.field_0x40) &&
|
||||
(frameCtrl.getFrame() < daPy_HIO_cutBoko_c0::m.field_0x44)) {
|
||||
if (!checkNoResetFlg0(daPyFlg0_CUT_AT_FLG)) {
|
||||
onResetFlg0(daPyRFlg0_UNK1);
|
||||
seStartSwordCut(JA_SE_LK_SW_KAZEKIRI_S);
|
||||
m34C2 = 1;
|
||||
if (mpAttnActorLockOn != NULL) {
|
||||
setShapeAngleToAtnActor();
|
||||
m34D4 = shape_angle.y;
|
||||
} else {
|
||||
cLib_addCalcAngleS(
|
||||
&shape_angle.y,
|
||||
m34D4,
|
||||
daPy_HIO_turn_c0::m.field_0x4,
|
||||
daPy_HIO_turn_c0::m.field_0x0,
|
||||
daPy_HIO_turn_c0::m.field_0x2
|
||||
);
|
||||
}
|
||||
onResetFlg0(daPyRFlg0_UNK2);
|
||||
}
|
||||
cLib_addCalc(&mVelocity, 0.0f, daPy_HIO_cutBoko_c0::m.field_0x30,
|
||||
daPy_HIO_cutBoko_c0::m.field_0x28,
|
||||
daPy_HIO_cutBoko_c0::m.field_0x2C);
|
||||
current.angle.y = shape_angle.y;
|
||||
if (frameCtrl.checkPass(daPy_HIO_cutBoko_c0::m.field_0x38)) {
|
||||
mVelocity = std::fabsf(speedF) * daPy_HIO_cutBoko_c0::m.field_0x20 + daPy_HIO_cutBoko_c0::m.field_0x24;
|
||||
}
|
||||
if (frameCtrl.checkPass(daPy_HIO_cutBoko_c0::m.field_0x3C)) {
|
||||
frameCtrl.setRate(daPy_HIO_cutBoko_c0::m.field_0x14);
|
||||
}
|
||||
if ((frameCtrl.getFrame() >= daPy_HIO_cutBoko_c0::m.field_0x40) &&
|
||||
(frameCtrl.getFrame() < daPy_HIO_cutBoko_c0::m.field_0x44))
|
||||
{
|
||||
if (!checkNoResetFlg0(daPyFlg0_CUT_AT_FLG)) {
|
||||
onResetFlg0(daPyRFlg0_UNK1);
|
||||
seStartSwordCut(JA_SE_LK_SW_KAZEKIRI_S);
|
||||
}
|
||||
onResetFlg0(daPyRFlg0_UNK2);
|
||||
}
|
||||
cLib_addCalc(
|
||||
&mVelocity,
|
||||
0.0f,
|
||||
daPy_HIO_cutBoko_c0::m.field_0x30,
|
||||
daPy_HIO_cutBoko_c0::m.field_0x28,
|
||||
daPy_HIO_cutBoko_c0::m.field_0x2C
|
||||
);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -139,10 +149,13 @@ BOOL daPy_lk_c::procWeaponNormalSwing() {
|
||||
/* 801539C8-80153A68 .text procWeaponSideSwing_init__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procWeaponSideSwing_init() {
|
||||
commonProcInit(daPyProc_WEAPON_SIDE_SWING_e);
|
||||
setSingleMoveAnime(ANM_HAMSWINGA, daPy_HIO_cutBoko_c0::m.field_0x48,
|
||||
daPy_HIO_cutBoko_c0::m.field_0x4C,
|
||||
daPy_HIO_cutBoko_c0::m.field_0x8,
|
||||
daPy_HIO_cutBoko_c0::m.field_0x54);
|
||||
setSingleMoveAnime(
|
||||
ANM_HAMSWINGA,
|
||||
daPy_HIO_cutBoko_c0::m.field_0x48,
|
||||
daPy_HIO_cutBoko_c0::m.field_0x4C,
|
||||
daPy_HIO_cutBoko_c0::m.field_0x8,
|
||||
daPy_HIO_cutBoko_c0::m.field_0x54
|
||||
);
|
||||
current.angle.y = shape_angle.y;
|
||||
mVelocity = 0.0f;
|
||||
voiceStart(1);
|
||||
@@ -156,66 +169,70 @@ BOOL daPy_lk_c::procWeaponSideSwing_init() {
|
||||
BOOL daPy_lk_c::procWeaponSideSwing() {
|
||||
if ((swordButton()) && (mActorKeepEquip.getActor() != NULL)) {
|
||||
onNoResetFlg0(daPyFlg0_UNK4);
|
||||
} else {
|
||||
} else {
|
||||
offNoResetFlg0(daPyFlg0_UNK4);
|
||||
}
|
||||
if ((mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.0099999998f) ||
|
||||
(mActorKeepEquip.getActor() == NULL)) {
|
||||
}
|
||||
if ((mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f) || (mActorKeepEquip.getActor() == NULL)) {
|
||||
mVelocity = 0.0f;
|
||||
m34B8 = 3;
|
||||
checkNextMode(0);
|
||||
return true;
|
||||
} else if (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() >
|
||||
daPy_HIO_cutBoko_c0::m.field_0x50) {
|
||||
} else if (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() > daPy_HIO_cutBoko_c0::m.field_0x50) {
|
||||
f32 dVar4 = mVelocity;
|
||||
u8 uVar1 = m34B8;
|
||||
mVelocity = 0.0f;
|
||||
m34B8 = 3;
|
||||
if (checkNextMode(1)) {
|
||||
return true;
|
||||
return true;
|
||||
}
|
||||
mVelocity = dVar4;
|
||||
m34B8 = uVar1;
|
||||
}
|
||||
if (changeCutReverseProc(ANM_CUTREL)) {
|
||||
}
|
||||
if (changeCutReverseProc(ANM_CUTREL)) {
|
||||
return true;
|
||||
} else {
|
||||
} else {
|
||||
if (mpAttnActorLockOn != NULL) {
|
||||
setShapeAngleToAtnActor();
|
||||
m34D4 = shape_angle.y;
|
||||
setShapeAngleToAtnActor();
|
||||
m34D4 = shape_angle.y;
|
||||
} else {
|
||||
cLib_addCalcAngleS(&shape_angle.y, m34D4, daPy_HIO_turn_c0::m.field_0x4,
|
||||
daPy_HIO_turn_c0::m.field_0x0,
|
||||
daPy_HIO_turn_c0::m.field_0x2);
|
||||
cLib_addCalcAngleS(
|
||||
&shape_angle.y,
|
||||
m34D4,
|
||||
daPy_HIO_turn_c0::m.field_0x4,
|
||||
daPy_HIO_turn_c0::m.field_0x0,
|
||||
daPy_HIO_turn_c0::m.field_0x2
|
||||
);
|
||||
}
|
||||
current.angle.y = shape_angle.y;
|
||||
if ((mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() >=
|
||||
daPy_HIO_cutBoko_c0::m.field_0x58) &&
|
||||
(mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() <
|
||||
daPy_HIO_cutBoko_c0::m.field_0x5C)) {
|
||||
if (!checkNoResetFlg0(daPyFlg0_CUT_AT_FLG)) {
|
||||
onResetFlg0(daPyRFlg0_UNK1);
|
||||
seStartSwordCut(JA_SE_LK_SW_KAZEKIRI_S);
|
||||
}
|
||||
onResetFlg0(daPyRFlg0_UNK2);
|
||||
if ((mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() >= daPy_HIO_cutBoko_c0::m.field_0x58) &&
|
||||
(mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() < daPy_HIO_cutBoko_c0::m.field_0x5C))
|
||||
{
|
||||
if (!checkNoResetFlg0(daPyFlg0_CUT_AT_FLG)) {
|
||||
onResetFlg0(daPyRFlg0_UNK1);
|
||||
seStartSwordCut(JA_SE_LK_SW_KAZEKIRI_S);
|
||||
}
|
||||
onResetFlg0(daPyRFlg0_UNK2);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 80153C30-80153D1C .text procWeaponFrontSwingReady_init__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procWeaponFrontSwingReady_init() {
|
||||
commonProcInit(daPyProc_WEAPON_FRONT_SWING_READY_e);
|
||||
setSingleMoveAnime(ANM_HAMSWINGBPRE, daPy_HIO_cutBoko_c0::m.field_0x60,
|
||||
daPy_HIO_cutBoko_c0::m.field_0x64,
|
||||
daPy_HIO_cutBoko_c0::m.field_0xA,
|
||||
daPy_HIO_cutBoko_c0::m.field_0x68);
|
||||
setSingleMoveAnime(
|
||||
ANM_HAMSWINGBPRE,
|
||||
daPy_HIO_cutBoko_c0::m.field_0x60,
|
||||
daPy_HIO_cutBoko_c0::m.field_0x64,
|
||||
daPy_HIO_cutBoko_c0::m.field_0xA,
|
||||
daPy_HIO_cutBoko_c0::m.field_0x68
|
||||
);
|
||||
current.angle.y = shape_angle.y;
|
||||
mVelocity = 0.0f;
|
||||
if ((mpAttention->Lockon()) || (mStickDistance <= 0.05f)) {
|
||||
m34D4 = shape_angle.y;
|
||||
m34D4 = shape_angle.y;
|
||||
} else {
|
||||
m34D4 = m34E8;
|
||||
m34D4 = m34E8;
|
||||
}
|
||||
setEnemyWeaponAtParam(0);
|
||||
voiceStart(7);
|
||||
@@ -226,35 +243,43 @@ BOOL daPy_lk_c::procWeaponFrontSwingReady_init() {
|
||||
BOOL daPy_lk_c::procWeaponFrontSwingReady() {
|
||||
if (mActorKeepEquip.getActor() == NULL) {
|
||||
return checkNextMode(0);
|
||||
} else if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.0099999998f) {
|
||||
} else if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f) {
|
||||
return procWeaponFrontSwing_init();
|
||||
} else {
|
||||
} else {
|
||||
if (mpAttnActorLockOn != NULL) {
|
||||
setShapeAngleToAtnActor();
|
||||
m34D4 = shape_angle.y;
|
||||
setShapeAngleToAtnActor();
|
||||
m34D4 = shape_angle.y;
|
||||
} else {
|
||||
cLib_addCalcAngleS(&shape_angle.y, m34D4, daPy_HIO_turn_c0::m.field_0x4,
|
||||
daPy_HIO_turn_c0::m.field_0x0,
|
||||
daPy_HIO_turn_c0::m.field_0x2);
|
||||
cLib_addCalcAngleS(
|
||||
&shape_angle.y,
|
||||
m34D4,
|
||||
daPy_HIO_turn_c0::m.field_0x4,
|
||||
daPy_HIO_turn_c0::m.field_0x0,
|
||||
daPy_HIO_turn_c0::m.field_0x2
|
||||
);
|
||||
}
|
||||
current.angle.y = shape_angle.y;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* 80153DBC-80153ED8 .text procWeaponFrontSwing_init__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procWeaponFrontSwing_init() {
|
||||
commonProcInit(daPyProc_WEAPON_FRONT_SWING_e);
|
||||
setSingleMoveAnime(ANM_HAMSWINGBHIT, 4.0f * daPy_HIO_cutBoko_c0::m.field_0x6C,
|
||||
daPy_HIO_cutBoko_c0::m.field_0x70,
|
||||
daPy_HIO_cutBoko_c0::m.field_0xC, 0.0f);
|
||||
setSingleMoveAnime(
|
||||
ANM_HAMSWINGBHIT,
|
||||
4.0f * daPy_HIO_cutBoko_c0::m.field_0x6C,
|
||||
daPy_HIO_cutBoko_c0::m.field_0x70,
|
||||
daPy_HIO_cutBoko_c0::m.field_0xC,
|
||||
0.0f
|
||||
);
|
||||
current.angle.y = shape_angle.y;
|
||||
mVelocity = 0.0f;
|
||||
voiceStart(1);
|
||||
if (mpAttention->Lockon() || (mStickDistance <= 0.05f)) {
|
||||
m34D4 = shape_angle.y;
|
||||
m34D4 = shape_angle.y;
|
||||
} else {
|
||||
m34D4 = m34E8;
|
||||
m34D4 = m34E8;
|
||||
}
|
||||
m34D4 = shape_angle.y;
|
||||
setBlurPosResource(LKANM__HAMMERFRONT_POS);
|
||||
@@ -268,34 +293,41 @@ BOOL daPy_lk_c::procWeaponFrontSwing_init() {
|
||||
BOOL daPy_lk_c::procWeaponFrontSwing() {
|
||||
if (mActorKeepEquip.getActor() == NULL) {
|
||||
return checkNextMode(0);
|
||||
} else if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.0099999998f) {
|
||||
} else if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f) {
|
||||
return procWeaponFrontSwingEnd_init();
|
||||
} else {
|
||||
} else {
|
||||
if (changeCutReverseProc(ANM_CUTREL)) {
|
||||
return true;
|
||||
return true;
|
||||
} else {
|
||||
if (mpAttnActorLockOn != NULL) {
|
||||
setShapeAngleToAtnActor();
|
||||
m34D4 = shape_angle.y;
|
||||
} else {
|
||||
cLib_addCalcAngleS(&shape_angle.y, m34D4, daPy_HIO_turn_c0::m.field_0x4,
|
||||
daPy_HIO_turn_c0::m.field_0x0,
|
||||
daPy_HIO_turn_c0::m.field_0x2);
|
||||
}
|
||||
current.angle.y = shape_angle.y;
|
||||
onResetFlg0(daPyRFlg0_UNK2);
|
||||
return true;
|
||||
if (mpAttnActorLockOn != NULL) {
|
||||
setShapeAngleToAtnActor();
|
||||
m34D4 = shape_angle.y;
|
||||
} else {
|
||||
cLib_addCalcAngleS(
|
||||
&shape_angle.y,
|
||||
m34D4,
|
||||
daPy_HIO_turn_c0::m.field_0x4,
|
||||
daPy_HIO_turn_c0::m.field_0x0,
|
||||
daPy_HIO_turn_c0::m.field_0x2
|
||||
);
|
||||
}
|
||||
current.angle.y = shape_angle.y;
|
||||
onResetFlg0(daPyRFlg0_UNK2);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* 80153FA0-80154014 .text procWeaponFrontSwingEnd_init__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procWeaponFrontSwingEnd_init() {
|
||||
commonProcInit(daPyProc_WEAPON_FRONT_SWING_END_e);
|
||||
setSingleMoveAnime(ANM_HAMSWINGBEND, daPy_HIO_cutBoko_c0::m.field_0x74,
|
||||
daPy_HIO_cutBoko_c0::m.field_0x78,
|
||||
daPy_HIO_cutBoko_c0::m.field_0xE,
|
||||
daPy_HIO_cutBoko_c0::m.field_0x80);
|
||||
setSingleMoveAnime(
|
||||
ANM_HAMSWINGBEND,
|
||||
daPy_HIO_cutBoko_c0::m.field_0x74,
|
||||
daPy_HIO_cutBoko_c0::m.field_0x78,
|
||||
daPy_HIO_cutBoko_c0::m.field_0xE,
|
||||
daPy_HIO_cutBoko_c0::m.field_0x80
|
||||
);
|
||||
current.angle.y = shape_angle.y;
|
||||
mVelocity = 0.0f;
|
||||
setEnemyWeaponAtParam(0);
|
||||
@@ -306,18 +338,16 @@ BOOL daPy_lk_c::procWeaponFrontSwingEnd_init() {
|
||||
BOOL daPy_lk_c::procWeaponFrontSwingEnd() {
|
||||
if ((swordButton()) && (mActorKeepEquip.getActor() != NULL)) {
|
||||
onNoResetFlg0(daPyFlg0_UNK4);
|
||||
} else {
|
||||
} else {
|
||||
offNoResetFlg0(daPyFlg0_UNK4);
|
||||
}
|
||||
if ((mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.0099999998f) ||
|
||||
(mActorKeepEquip.getActor() == NULL)) {
|
||||
}
|
||||
if ((mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f) || (mActorKeepEquip.getActor() == NULL)) {
|
||||
return checkNextMode(0);
|
||||
} else if (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() >
|
||||
daPy_HIO_cutBoko_c0::m.field_0x7C) {
|
||||
} else if (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() > daPy_HIO_cutBoko_c0::m.field_0x7C) {
|
||||
return checkNextMode(1);
|
||||
} else {
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* 801540B4-8015411C .text procWeaponThrow_init__9daPy_lk_cFv */
|
||||
@@ -333,30 +363,29 @@ BOOL daPy_lk_c::procWeaponThrow_init() {
|
||||
/* 8015411C-80154334 .text procWeaponThrow__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procWeaponThrow() {
|
||||
/* Nonmatching - floats */
|
||||
J3DFrameCtrl &frameCtrl = mFrameCtrlUnder[UNDER_MOVE0_e];
|
||||
|
||||
if ((frameCtrl.getRate() < 0.0099999998f) ||
|
||||
(mActorKeepEquip.getActor() == NULL)) {
|
||||
checkNextMode(0);
|
||||
J3DFrameCtrl& frameCtrl = mFrameCtrlUnder[UNDER_MOVE0_e];
|
||||
|
||||
if ((frameCtrl.getRate() < 0.01f) || (mActorKeepEquip.getActor() == NULL)) {
|
||||
checkNextMode(0);
|
||||
} else if (frameCtrl.getFrame() > 100.0f) {
|
||||
checkNextMode(1);
|
||||
checkNextMode(1);
|
||||
} else {
|
||||
if (frameCtrl.checkPass(10.0f)) {
|
||||
daBoko_c *boko = static_cast<daBoko_c *>(mActorKeepEquip.getActor());
|
||||
s16 uVar2 = 0xf400;
|
||||
if (mpAttnActorLockOn != NULL) {
|
||||
cXyz local_34 = (mpAttnActorLockOn->eyePos - boko->current.pos);
|
||||
f32 dVar5 = local_34.abs();
|
||||
if (dVar5 >= 1.0f) {
|
||||
dVar5 = local_34.absXZ();
|
||||
uVar2 = cM_atan2s(-local_34.y, dVar5);
|
||||
}
|
||||
if (frameCtrl.checkPass(10.0f)) {
|
||||
daBoko_c* boko = static_cast<daBoko_c*>(mActorKeepEquip.getActor());
|
||||
s16 uVar2 = 0xf400;
|
||||
if (mpAttnActorLockOn != NULL) {
|
||||
cXyz local_34 = (mpAttnActorLockOn->eyePos - boko->current.pos);
|
||||
f32 dVar5 = local_34.abs();
|
||||
if (dVar5 >= 1.0f) {
|
||||
dVar5 = local_34.absXZ();
|
||||
uVar2 = cM_atan2s(-local_34.y, dVar5);
|
||||
}
|
||||
}
|
||||
boko->m2BA = 1;
|
||||
boko->m2CA = uVar2;
|
||||
voiceStart(0);
|
||||
deleteEquipItem(0);
|
||||
}
|
||||
boko->m2BA = 1;
|
||||
boko->m2CA = uVar2;
|
||||
voiceStart(0);
|
||||
deleteEquipItem(0);
|
||||
}
|
||||
return true;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -67,18 +67,14 @@ void daPy_lk_c::setBlendWHideMoveAnime(f32 param_0) {
|
||||
}
|
||||
setMoveAnime(fVar4, fVar1, 0.0f, dVar5, dVar6, 5, fVar5);
|
||||
mFrameCtrlUnder[UNDER_MOVE0_e].setEnd(sVar1);
|
||||
mFrameCtrlUnder[UNDER_MOVE1_e].setFrame(
|
||||
mFrameCtrlUnder[UNDER_MOVE1_e].getEnd() - 0.001f);
|
||||
mFrameCtrlUnder[UNDER_MOVE1_e].setFrame(mFrameCtrlUnder[UNDER_MOVE1_e].getEnd() - 0.001f);
|
||||
mFrameCtrlUnder[UNDER_MOVE1_e].setRate(0.0f);
|
||||
mAnmRatioUnder[UNDER_MOVE1_e].getAnmTransform()->setFrame(
|
||||
mFrameCtrlUnder[UNDER_MOVE1_e].getFrame());
|
||||
mAnmRatioUnder[UNDER_MOVE1_e].getAnmTransform()->setFrame(mFrameCtrlUnder[UNDER_MOVE1_e].getFrame());
|
||||
return;
|
||||
}
|
||||
|
||||
/* 801371E0-80137608 .text
|
||||
* getWHideModePolygon__9daPy_lk_cFP4cXyzP4cXyzP4cXyzi */
|
||||
int daPy_lk_c::getWHideModePolygon(cXyz *param_0, cXyz *param_1, cXyz *param_2,
|
||||
int param_3) {
|
||||
/* 801371E0-80137608 .text getWHideModePolygon__9daPy_lk_cFP4cXyzP4cXyzP4cXyzi */
|
||||
int daPy_lk_c::getWHideModePolygon(cXyz* param_0, cXyz* param_1, cXyz* param_2, int param_3) {
|
||||
/* Nonmatching - floats, branching, regalloc */
|
||||
int iVar4;
|
||||
float dVar11;
|
||||
@@ -91,28 +87,24 @@ int daPy_lk_c::getWHideModePolygon(cXyz *param_0, cXyz *param_1, cXyz *param_2,
|
||||
return false;
|
||||
}
|
||||
}
|
||||
cM3dGPla *pfVar2 = dComIfG_Bgsp()->GetTriPla(mLinkLinChk);
|
||||
cM3dGPla* pfVar2 = dComIfG_Bgsp()->GetTriPla(mLinkLinChk);
|
||||
s16 uVar3 = cM_atan2s(pfVar2->GetNP()->x, pfVar2->GetNP()->z);
|
||||
if (std::fabsf(pfVar2->GetNP()->y) > 0.05f) {
|
||||
return false;
|
||||
} else if (iVar4 = dComIfG_Bgsp()->GetSpecialCode(mLinkLinChk),
|
||||
iVar4 == 3) {
|
||||
} else if (iVar4 = dComIfG_Bgsp()->GetSpecialCode(mLinkLinChk), iVar4 == 3) {
|
||||
return false;
|
||||
} else {
|
||||
param_2->x = mLinkLinChk.GetCrossP()->x;
|
||||
param_2->y = mLinkLinChk.GetCrossP()->y;
|
||||
param_2->z = mLinkLinChk.GetCrossP()->z;
|
||||
cXyz local_3c;
|
||||
local_3c.x =
|
||||
param_2->x + cM_ssin(uVar3) * daPy_HIO_wall_c0::m.field_0x50;
|
||||
local_3c.x = param_2->x + cM_ssin(uVar3) * daPy_HIO_wall_c0::m.field_0x50;
|
||||
local_3c.y = param_2->y;
|
||||
local_3c.z =
|
||||
param_2->z + cM_ssin(uVar3) * daPy_HIO_wall_c0::m.field_0x50;
|
||||
local_3c.z = param_2->z + cM_ssin(uVar3) * daPy_HIO_wall_c0::m.field_0x50;
|
||||
mGndChk.SetPos(&local_3c);
|
||||
float dVar8 = dComIfG_Bgsp()->GroundCross(&mGndChk);
|
||||
float fVar1;
|
||||
if ((C_BG_MIN_HEIGHT != dVar8) &&
|
||||
(!(dComIfG_Bgsp()->GetTriPla(mGndChk)->GetNP()->y >= 0.5f))) {
|
||||
if ((C_BG_MIN_HEIGHT != dVar8) && (!(dComIfG_Bgsp()->GetTriPla(mGndChk)->GetNP()->y >= 0.5f))) {
|
||||
return false;
|
||||
} else {
|
||||
if (param_3 == 4) {
|
||||
@@ -123,16 +115,15 @@ int daPy_lk_c::getWHideModePolygon(cXyz *param_0, cXyz *param_1, cXyz *param_2,
|
||||
dVar8 = fVar1;
|
||||
s16 sVar7 = uVar3;
|
||||
cXyz local_48;
|
||||
cM3dGPla *pfVar5;
|
||||
cM3dGPla* pfVar5;
|
||||
if (param_3 != 3) {
|
||||
dVar10 = param_2->z;
|
||||
dVar9 = pfVar2->GetNP()->x;
|
||||
dVar11 = dVar10 - (dVar8 * dVar9);
|
||||
local_3c.set(param_2->x + (dVar9 * 1.25f) + (dVar8 * dVar10),
|
||||
param_2->y,
|
||||
(dVar11 + (pfVar2->GetNP()->z * 1.25f)));
|
||||
local_48.set(local_3c.x - (2.5f * dVar9) - (2.5f * dVar10),
|
||||
local_3c.y, local_3c.z);
|
||||
local_3c.set(
|
||||
param_2->x + (dVar9 * 1.25f) + (dVar8 * dVar10), param_2->y, (dVar11 + (pfVar2->GetNP()->z * 1.25f))
|
||||
);
|
||||
local_48.set(local_3c.x - (2.5f * dVar9) - (2.5f * dVar10), local_3c.y, local_3c.z);
|
||||
mLinkLinChk.Set(&local_3c, &local_48, this);
|
||||
if (!dComIfG_Bgsp()->LineCross(&mLinkLinChk)) {
|
||||
return false;
|
||||
@@ -147,11 +138,10 @@ int daPy_lk_c::getWHideModePolygon(cXyz *param_0, cXyz *param_1, cXyz *param_2,
|
||||
dVar10 = param_2->z;
|
||||
dVar9 = pfVar2->GetNP()->x;
|
||||
dVar11 = dVar10 + (dVar8 * dVar9);
|
||||
local_3c.set(param_2->x - (dVar9 * 1.25f) + (dVar8 * dVar10),
|
||||
param_2->y,
|
||||
(dVar11 + (pfVar2->GetNP()->z * 1.25f)));
|
||||
local_48.set(local_3c.x - (2.5f * dVar9) - (2.5f * dVar10),
|
||||
local_3c.y, local_3c.z);
|
||||
local_3c.set(
|
||||
param_2->x - (dVar9 * 1.25f) + (dVar8 * dVar10), param_2->y, (dVar11 + (pfVar2->GetNP()->z * 1.25f))
|
||||
);
|
||||
local_48.set(local_3c.x - (2.5f * dVar9) - (2.5f * dVar10), local_3c.y, local_3c.z);
|
||||
mLinkLinChk.Set(&local_3c, &local_48, this);
|
||||
if (!dComIfG_Bgsp()->LineCross(&mLinkLinChk)) {
|
||||
return false;
|
||||
@@ -165,22 +155,17 @@ int daPy_lk_c::getWHideModePolygon(cXyz *param_0, cXyz *param_1, cXyz *param_2,
|
||||
if (param_3 != 4) {
|
||||
if (param_3 == 2) {
|
||||
sVar7 = sVar7 - shape_angle.y;
|
||||
param_2->x +=
|
||||
daPy_HIO_wall_c0::m.field_0x54 * pfVar2->GetNP()->z;
|
||||
param_2->z -=
|
||||
daPy_HIO_wall_c0::m.field_0x54 * pfVar2->GetNP()->x;
|
||||
param_2->x += daPy_HIO_wall_c0::m.field_0x54 * pfVar2->GetNP()->z;
|
||||
param_2->z -= daPy_HIO_wall_c0::m.field_0x54 * pfVar2->GetNP()->x;
|
||||
} else {
|
||||
sVar7 = sVar7 - shape_angle.y;
|
||||
param_2->x -=
|
||||
daPy_HIO_wall_c0::m.field_0x54 * pfVar2->GetNP()->z;
|
||||
param_2->z +=
|
||||
daPy_HIO_wall_c0::m.field_0x54 * pfVar2->GetNP()->x;
|
||||
param_2->x -= daPy_HIO_wall_c0::m.field_0x54 * pfVar2->GetNP()->z;
|
||||
param_2->z += daPy_HIO_wall_c0::m.field_0x54 * pfVar2->GetNP()->x;
|
||||
}
|
||||
}
|
||||
if (sVar7 > 0x2aaa) {
|
||||
return false;
|
||||
} else if (abs((int)(s16)((sVar7 + -0x8000) - (current.angle.y))) >
|
||||
0x1555) {
|
||||
} else if (abs((int)(s16)((sVar7 + -0x8000) - (current.angle.y))) > 0x1555) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -188,7 +173,7 @@ int daPy_lk_c::getWHideModePolygon(cXyz *param_0, cXyz *param_1, cXyz *param_2,
|
||||
}
|
||||
|
||||
/* 80137608-80137640 .text getWHideBasePos__9daPy_lk_cFP4cXyz */
|
||||
void daPy_lk_c::getWHideBasePos(cXyz *param_0) {
|
||||
void daPy_lk_c::getWHideBasePos(cXyz* param_0) {
|
||||
/* Nonmatching - floats */
|
||||
f32 fVar3;
|
||||
|
||||
@@ -202,23 +187,25 @@ void daPy_lk_c::getWHideBasePos(cXyz *param_0) {
|
||||
}
|
||||
|
||||
/* 80137640-8013769C .text getWHideNextPos__9daPy_lk_cFP4cXyzP4cXyz */
|
||||
void daPy_lk_c::getWHideNextPos(cXyz *param_0, cXyz *param_1) {
|
||||
void daPy_lk_c::getWHideNextPos(cXyz* param_0, cXyz* param_1) {
|
||||
param_1->set(
|
||||
param_0->x + cM_ssin(current.angle.y) * daPy_HIO_wall_c0::m.field_0x54,
|
||||
param_0->y,
|
||||
param_0->z + cM_scos(current.angle.y) * daPy_HIO_wall_c0::m.field_0x54);
|
||||
param_0->z + cM_scos(current.angle.y) * daPy_HIO_wall_c0::m.field_0x54
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
/* 8013769C-80137754 .text checkWHideBackWall__9daPy_lk_cFP4cXyz */
|
||||
BOOL daPy_lk_c::checkWHideBackWall(cXyz *param_0) {
|
||||
BOOL daPy_lk_c::checkWHideBackWall(cXyz* param_0) {
|
||||
if (param_0 == NULL) {
|
||||
return true;
|
||||
} else {
|
||||
cXyz local_18;
|
||||
local_18.set(param_0->x - 25.0f * cM_ssin(shape_angle.y), param_0->y,
|
||||
param_0->z - 25.0f * cM_scos(shape_angle.y));
|
||||
mLinkLinChk.Set(param_0, &local_18, (fopAc_ac_c *)this);
|
||||
local_18.set(
|
||||
param_0->x - 25.0f * cM_ssin(shape_angle.y), param_0->y, param_0->z - 25.0f * cM_scos(shape_angle.y)
|
||||
);
|
||||
mLinkLinChk.Set(param_0, &local_18, (fopAc_ac_c*)this);
|
||||
if (dComIfG_Bgsp()->LineCross(&mLinkLinChk)) {
|
||||
return true;
|
||||
}
|
||||
@@ -227,24 +214,22 @@ BOOL daPy_lk_c::checkWHideBackWall(cXyz *param_0) {
|
||||
}
|
||||
|
||||
/* 80137754-80137828 .text checkWHideFrontFloor__9daPy_lk_cFP4cXyz */
|
||||
BOOL daPy_lk_c::checkWHideFrontFloor(cXyz *param_0) {
|
||||
BOOL daPy_lk_c::checkWHideFrontFloor(cXyz* param_0) {
|
||||
float dVar5;
|
||||
float dVar6;
|
||||
cXyz local_10;
|
||||
|
||||
local_10.set(param_0->x + 40.0f * cM_ssin(shape_angle.y), param_0->y,
|
||||
param_0->z + 40.0f * cM_scos(shape_angle.y));
|
||||
local_10.set(param_0->x + 40.0f * cM_ssin(shape_angle.y), param_0->y, param_0->z + 40.0f * cM_scos(shape_angle.y));
|
||||
mGndChk.SetPos(&local_10);
|
||||
dVar6 = dComIfG_Bgsp()->GroundCross(&mGndChk);
|
||||
if ((checkNoResetFlg0(daPyFlg0_UNK80000000)) &&
|
||||
(dVar5 = current.pos.y, dVar5 > dVar6)) {
|
||||
if ((checkNoResetFlg0(daPyFlg0_UNK80000000)) && (dVar5 = current.pos.y, dVar5 > dVar6)) {
|
||||
dVar6 = dVar5;
|
||||
}
|
||||
return (std::fabsf(dVar6 - current.pos.y) < 5.0f);
|
||||
return std::fabsf(dVar6 - current.pos.y) < 5.0f;
|
||||
}
|
||||
|
||||
/* 80137828-80137914 .text checkWHideModeChange__9daPy_lk_cFP4cXyz */
|
||||
BOOL daPy_lk_c::checkWHideModeChange(cXyz *param_0) {
|
||||
BOOL daPy_lk_c::checkWHideModeChange(cXyz* param_0) {
|
||||
/* Nonmatching - floats */
|
||||
if (!checkNoResetFlg0(daPyFlg0_UNK10000)) {
|
||||
if (!checkWHideFrontFloor(param_0)) {
|
||||
@@ -255,28 +240,25 @@ BOOL daPy_lk_c::checkWHideModeChange(cXyz *param_0) {
|
||||
} else {
|
||||
cXyz local_18;
|
||||
local_18.set(param_0->x, current.pos.y + 125.0f, param_0->z);
|
||||
if (((!spActionButton()) && (!mAcch.ChkRoofHit())) &&
|
||||
(checkWHideBackWall(&local_18))) {
|
||||
if (((!spActionButton()) && (!mAcch.ChkRoofHit())) && (checkWHideBackWall(&local_18))) {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
if ((checkModeFlg(ModeFlg_00000001)) &&
|
||||
(mCurProc != daPyProc_WHIDE_PEEP_e)) {
|
||||
if ((checkModeFlg(ModeFlg_00000001)) && (mCurProc != daPyProc_WHIDE_PEEP_e)) {
|
||||
setTextureAnime(mAnmDataTable[ANM_WALL].mTexAnmIdx, 0);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 80137914-80137A00 .text changeWHideEndProc__9daPy_lk_cFP4cXyz */
|
||||
int daPy_lk_c::changeWHideEndProc(cXyz *param_0) {
|
||||
int daPy_lk_c::changeWHideEndProc(cXyz* param_0) {
|
||||
/* Nonmatching - floats */
|
||||
dComIfGp_setDoStatus(16);
|
||||
dComIfGp_setRStatus(15);
|
||||
if (((!doButton() &&
|
||||
((!checkNoResetFlg0(daPyFlg0_UNK10000) || !mAcch.ChkRoofHit()))) ||
|
||||
((m_anm_heap_upper[UPPER_MOVE2_e].mIdx != LKANM_BCK_REST &&
|
||||
swordTrigger()))) ||
|
||||
!checkWHideBackWall(param_0)) {
|
||||
if (((!doButton() && (!checkNoResetFlg0(daPyFlg0_UNK10000) || !mAcch.ChkRoofHit())) ||
|
||||
(m_anm_heap_upper[UPPER_MOVE2_e].mIdx != LKANM_BCK_REST && swordTrigger())) ||
|
||||
!checkWHideBackWall(param_0))
|
||||
{
|
||||
mVelocity = 0.7f * mMaxNormalSpeed;
|
||||
current.angle.y = shape_angle.y;
|
||||
return checkNextMode(0);
|
||||
@@ -289,9 +271,8 @@ int daPy_lk_c::changeWHideEndProc(cXyz *param_0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 80137A00-80137BD8 .text
|
||||
* procWHideReady_init__9daPy_lk_cFP8cM3dGPlaP4cXyz */
|
||||
BOOL daPy_lk_c::procWHideReady_init(cM3dGPla *param_0, cXyz *param_1) {
|
||||
/* 80137A00-80137BD8 .text procWHideReady_init__9daPy_lk_cFP8cM3dGPlaP4cXyz */
|
||||
BOOL daPy_lk_c::procWHideReady_init(cM3dGPla* param_0, cXyz* param_1) {
|
||||
s32 uVar1 = mModeFlg >> 4 & 1;
|
||||
offNoResetFlg0(daPyFlg0_UNK10000);
|
||||
commonProcInit(daPyProc_WHIDE_READY_e);
|
||||
@@ -313,8 +294,7 @@ BOOL daPy_lk_c::procWHideReady_init(cM3dGPla *param_0, cXyz *param_1) {
|
||||
if (checkEquipAnime()) {
|
||||
resetActAnimeUpper(UPPER_MOVE2_e, -1.0f);
|
||||
}
|
||||
setSingleMoveAnime(ANM_WALL, 0.0f, daPy_HIO_wall_c0::m.field_0x24, -1,
|
||||
daPy_HIO_wall_c0::m.field_0x34);
|
||||
setSingleMoveAnime(ANM_WALL, 0.0f, daPy_HIO_wall_c0::m.field_0x24, -1, daPy_HIO_wall_c0::m.field_0x34);
|
||||
m3570 = 1;
|
||||
} else {
|
||||
setBlendMoveAnime(daPy_HIO_basic_c0::m.field_0xC);
|
||||
@@ -334,9 +314,7 @@ BOOL daPy_lk_c::procWHideReady() {
|
||||
} else {
|
||||
if (m3570 == 0) {
|
||||
if (m_anm_heap_upper[UPPER_MOVE2_e].mIdx == 0xffff) {
|
||||
setSingleMoveAnime(ANM_WALL, 0.0f,
|
||||
daPy_HIO_wall_c0::m.field_0x24, -1,
|
||||
daPy_HIO_wall_c0::m.field_0x34);
|
||||
setSingleMoveAnime(ANM_WALL, 0.0f, daPy_HIO_wall_c0::m.field_0x24, -1, daPy_HIO_wall_c0::m.field_0x34);
|
||||
m3570 = 1;
|
||||
}
|
||||
return true;
|
||||
@@ -378,8 +356,7 @@ BOOL daPy_lk_c::procWHideWait_init() {
|
||||
dVar5 = fVar1;
|
||||
commonProcInit(daPyProc_WHIDE_WAIT_e);
|
||||
mVelocity = 0.0f;
|
||||
setSingleMoveAnime(dVar3, daPy_HIO_wall_c0::m.field_0xC, dVar5, sVar2,
|
||||
dVar4);
|
||||
setSingleMoveAnime(dVar3, daPy_HIO_wall_c0::m.field_0xC, dVar5, sVar2, dVar4);
|
||||
current.angle.y = shape_angle.y;
|
||||
dComIfGp_setPlayerStatus0(0, daPyStts0_UNK1_e);
|
||||
return true;
|
||||
@@ -397,30 +374,34 @@ BOOL daPy_lk_c::procWHideWait() {
|
||||
if (changeWHideEndProc(&cStack_3c)) {
|
||||
return true;
|
||||
} else if (iVar1 = checkWHideModeChange(&cStack_3c), iVar1 == 1) {
|
||||
setSingleMoveAnime(ANM_WALLDW, daPy_HIO_wall_c0::m.field_0x10,
|
||||
daPy_HIO_wall_c0::m.field_0x28,
|
||||
daPy_HIO_wall_c0::m.field_0x2,
|
||||
daPy_HIO_wall_c0::m.field_0x3C);
|
||||
setSingleMoveAnime(
|
||||
ANM_WALLDW,
|
||||
daPy_HIO_wall_c0::m.field_0x10,
|
||||
daPy_HIO_wall_c0::m.field_0x28,
|
||||
daPy_HIO_wall_c0::m.field_0x2,
|
||||
daPy_HIO_wall_c0::m.field_0x3C
|
||||
);
|
||||
onNoResetFlg0(daPyFlg0_UNK10000);
|
||||
mAcchCir[2].SetWallH(89.9f);
|
||||
} else if (iVar1 == -1) {
|
||||
setSingleMoveAnime(ANM_WALLDW, -daPy_HIO_wall_c0::m.field_0x10,
|
||||
daPy_HIO_wall_c0::m.field_0x28,
|
||||
daPy_HIO_wall_c0::m.field_0x2,
|
||||
daPy_HIO_wall_c0::m.field_0x3C);
|
||||
mFrameCtrlUnder[UNDER_MOVE0_e].setFrame(daPy_HIO_wall_c0::m.field_0x2 -
|
||||
0.001f);
|
||||
mAnmRatioUnder[UNDER_MOVE0_e].getAnmTransform()->setFrame(
|
||||
mFrameCtrlUnder[UNDER_MOVE0_e].getFrame());
|
||||
setSingleMoveAnime(
|
||||
ANM_WALLDW,
|
||||
-daPy_HIO_wall_c0::m.field_0x10,
|
||||
daPy_HIO_wall_c0::m.field_0x28,
|
||||
daPy_HIO_wall_c0::m.field_0x2,
|
||||
daPy_HIO_wall_c0::m.field_0x3C
|
||||
);
|
||||
mFrameCtrlUnder[UNDER_MOVE0_e].setFrame(daPy_HIO_wall_c0::m.field_0x2 - 0.001f);
|
||||
mAnmRatioUnder[UNDER_MOVE0_e].getAnmTransform()->setFrame(mFrameCtrlUnder[UNDER_MOVE0_e].getFrame());
|
||||
offNoResetFlg0(daPyFlg0_UNK10000);
|
||||
mAcchCir[2].SetWallH(125.0f);
|
||||
}
|
||||
cM3dGPla *triPla;
|
||||
cM3dGPla* triPla;
|
||||
if (((mStickDistance > 0.05f) && (C_BG_MIN_HEIGHT != mAcch.GetGroundH())) &&
|
||||
(triPla = dComIfG_Bgsp()->GetTriPla(mAcch.m_gnd),
|
||||
triPla->GetNP()->y >= 0.5f)) {
|
||||
(triPla = dComIfG_Bgsp()->GetTriPla(mAcch.m_gnd), triPla->GetNP()->y >= 0.5f))
|
||||
{
|
||||
iVar1 = getDirectionFromCurrentAngle();
|
||||
if ((iVar1 == 3 || (iVar1 == 2))) {
|
||||
if (iVar1 == 3 || (iVar1 == 2)) {
|
||||
if (iVar1 == 3) {
|
||||
current.angle.y = shape_angle.y + -0x4000;
|
||||
m34B8 = 3;
|
||||
@@ -431,8 +412,7 @@ BOOL daPy_lk_c::procWHideWait() {
|
||||
|
||||
getWHideNextPos(&cStack_3c, &cStack_48);
|
||||
iVar1 = checkWHideBackWall(&cStack_48);
|
||||
if ((iVar1 != 0) && ((!checkNoResetFlg0(daPyFlg0_UNK10000) ||
|
||||
(checkWHideFrontFloor(&cStack_48))))) {
|
||||
if ((iVar1 != 0) && (!checkNoResetFlg0(daPyFlg0_UNK10000) || (checkWHideFrontFloor(&cStack_48)))) {
|
||||
procWHideMove_init();
|
||||
} else if (iVar1 == 0) {
|
||||
cStack_48 += (cStack_48 - cStack_3c) * 0.25f;
|
||||
@@ -477,16 +457,15 @@ BOOL daPy_lk_c::procWHideMove() {
|
||||
}
|
||||
return true;
|
||||
} else {
|
||||
cM3dGPla *triPla = dComIfG_Bgsp()->GetTriPla(mLinkLinChk);
|
||||
cM3dGPla* triPla = dComIfG_Bgsp()->GetTriPla(mLinkLinChk);
|
||||
s16 sVar8 = cM_atan2s(triPla->GetNP()->x, triPla->GetNP()->z);
|
||||
f32 fVar2;
|
||||
if ((checkWHideModeChange(&acStack_24))) {
|
||||
if (checkWHideModeChange(&acStack_24)) {
|
||||
fVar2 = 0.0f;
|
||||
} else {
|
||||
if ((mStickDistance > 0.05f) &&
|
||||
(C_BG_MIN_HEIGHT != mAcch.GetGroundH()) &&
|
||||
(triPla = dComIfG_Bgsp()->GetTriPla(mAcch.m_gnd),
|
||||
triPla->GetNP()->y >= 0.5f)) {
|
||||
if ((mStickDistance > 0.05f) && (C_BG_MIN_HEIGHT != mAcch.GetGroundH()) &&
|
||||
(triPla = dComIfG_Bgsp()->GetTriPla(mAcch.m_gnd), triPla->GetNP()->y >= 0.5f))
|
||||
{
|
||||
int iVar6 = getDirectionFromCurrentAngle();
|
||||
if (iVar6 == 1) {
|
||||
current.angle.y -= -0x8000;
|
||||
@@ -511,14 +490,12 @@ BOOL daPy_lk_c::procWHideMove() {
|
||||
cXyz cStack_30;
|
||||
setNormalSpeedF(fVar2, 0.5f, 2.0f, 0.25f);
|
||||
getWHideNextPos(&acStack_24, &cStack_30);
|
||||
if ((checkNoResetFlg0(daPyFlg0_UNK10000)) &&
|
||||
(!checkWHideFrontFloor(&cStack_30))) {
|
||||
if ((checkNoResetFlg0(daPyFlg0_UNK10000)) && (!checkWHideFrontFloor(&cStack_30))) {
|
||||
mVelocity = 0.0f;
|
||||
procWHideWait_init();
|
||||
} else {
|
||||
cXyz cStack_3c;
|
||||
triPla = (cM3dGPla *)getWHideModePolygon(
|
||||
&acStack_24, &cStack_30, &cStack_3c, m34B8);
|
||||
triPla = (cM3dGPla*)getWHideModePolygon(&acStack_24, &cStack_30, &cStack_3c, m34B8);
|
||||
if (triPla != NULL) {
|
||||
procWHideReady_init(triPla, &cStack_3c);
|
||||
} else {
|
||||
@@ -526,37 +503,27 @@ BOOL daPy_lk_c::procWHideMove() {
|
||||
procWHideWait_init();
|
||||
} else {
|
||||
if (((C_BG_MIN_HEIGHT == mAcch.GetGroundH()) ||
|
||||
(!(dComIfG_Bgsp()
|
||||
->GetTriPla(mAcch.m_gnd)
|
||||
->GetNP()
|
||||
->y >= 0.5f))) ||
|
||||
(!checkWHideBackWall(&cStack_30))) {
|
||||
(!(dComIfG_Bgsp()->GetTriPla(mAcch.m_gnd)->GetNP()->y >= 0.5f))) ||
|
||||
(!checkWHideBackWall(&cStack_30)))
|
||||
{
|
||||
mVelocity = 0.0f;
|
||||
procWHideWait_init();
|
||||
} else {
|
||||
cXyz cStack_48;
|
||||
if ((sVar8 != shape_angle.y) &&
|
||||
(triPla = (cM3dGPla *)getWHideModePolygon(
|
||||
NULL, NULL, &cStack_48, m34B8),
|
||||
triPla != 0)) {
|
||||
if ((s16)(current.angle.y - shape_angle.y) >
|
||||
0) {
|
||||
(triPla = (cM3dGPla*)getWHideModePolygon(NULL, NULL, &cStack_48, m34B8), triPla != 0))
|
||||
{
|
||||
if ((s16)(current.angle.y - shape_angle.y) > 0) {
|
||||
current.angle.y = sVar8 + 0x4000;
|
||||
} else {
|
||||
current.angle.y = sVar8 - 0x4000;
|
||||
}
|
||||
shape_angle.y = sVar8;
|
||||
current.pos.x +=
|
||||
8.0f * cM_ssin(current.angle.y);
|
||||
current.pos.z +=
|
||||
8.0f * cM_scos(current.angle.y);
|
||||
current.pos.x += 8.0f * cM_ssin(current.angle.y);
|
||||
current.pos.z += 8.0f * cM_scos(current.angle.y);
|
||||
}
|
||||
current.pos.x -= 0.8f *
|
||||
daPy_HIO_wall_c0::m.field_0x50 *
|
||||
cM_ssin(shape_angle.y);
|
||||
current.pos.z -= 0.8f *
|
||||
daPy_HIO_wall_c0::m.field_0x50 *
|
||||
cM_scos(shape_angle.y);
|
||||
current.pos.x -= 0.8f * daPy_HIO_wall_c0::m.field_0x50 * cM_ssin(shape_angle.y);
|
||||
current.pos.z -= 0.8f * daPy_HIO_wall_c0::m.field_0x50 * cM_scos(shape_angle.y);
|
||||
setBlendWHideMoveAnime(-1.0f);
|
||||
return true;
|
||||
}
|
||||
@@ -612,8 +579,7 @@ BOOL daPy_lk_c::procWHidePeep() {
|
||||
} else {
|
||||
f32 dVar3 = mFrameCtrlUnder[UNDER_MOVE0_e].getRate();
|
||||
if (std::fabsf(dVar3) < 0.01f) {
|
||||
if (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() <
|
||||
(mFrameCtrlUnder[UNDER_MOVE0_e].getStart() + 1)) {
|
||||
if (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() < (mFrameCtrlUnder[UNDER_MOVE0_e].getStart() + 1)) {
|
||||
return procWHideWait_init();
|
||||
}
|
||||
}
|
||||
@@ -635,8 +601,7 @@ BOOL daPy_lk_c::procWHidePeep() {
|
||||
}
|
||||
} else if (mStickDistance > 0.05f) {
|
||||
int iVar1 = getDirectionFromCurrentAngle();
|
||||
if (((iVar1 != 0) && (dVar3 > 0.0f)) ||
|
||||
((iVar1 == 0 && (dVar3 < 0.0f)))) {
|
||||
if (((iVar1 != 0) && (dVar3 > 0.0f)) || (iVar1 == 0 && (dVar3 < 0.0f))) {
|
||||
mFrameCtrlUnder[UNDER_MOVE0_e].setRate(-dVar3);
|
||||
}
|
||||
} else if (dVar3 > 0.0f) {
|
||||
|
||||
@@ -561,8 +561,7 @@ s8 dComIfGp_getReverb(int param_0) {
|
||||
return dStage_roomRead_dt_c_GetReverbStage(*dComIfGp_getStageRoom(), param_0);
|
||||
}
|
||||
|
||||
/* 800534C4-800535B8 .text dComIfGd_setSimpleShadow2__FP4cXyzffR13cBgS_PolyInfosfP9_GXTexObj
|
||||
*/
|
||||
/* 800534C4-800535B8 .text dComIfGd_setSimpleShadow2__FP4cXyzffR13cBgS_PolyInfosfP9_GXTexObj */
|
||||
int dComIfGd_setSimpleShadow2(cXyz* i_pos, f32 groundY, f32 param_2, cBgS_PolyInfo& i_floorPoly,
|
||||
s16 i_angle, f32 param_5, GXTexObj* i_tex) {
|
||||
if (i_floorPoly.ChkSetInfo() && C_BG_MIN_HEIGHT != groundY) {
|
||||
|
||||
+1
-2
@@ -1296,8 +1296,7 @@ const char* dStage_getName2(s16 i_procName, s8 i_subtype) {
|
||||
return dStage_getName(i_procName, i_subtype);
|
||||
}
|
||||
|
||||
/* 80041628-8004169C .text dStage_actorCreate__FP22stage_actor_data_classP16fopAcM_prm_class
|
||||
*/
|
||||
/* 80041628-8004169C .text dStage_actorCreate__FP22stage_actor_data_classP16fopAcM_prm_class */
|
||||
void dStage_actorCreate(stage_actor_data_class* i_actorData, fopAcM_prm_class* i_actorPrm) {
|
||||
dStage_objectNameInf* nameinf_p = dStage_searchName(i_actorData->mName);
|
||||
|
||||
|
||||
+1
-2
@@ -351,8 +351,7 @@ void dWood::Anm_c::copy_angamp(const dWood::Anm_c *other) {
|
||||
}
|
||||
}
|
||||
|
||||
/* 800BD848-800BD8BC .text mode_cut_init__Q25dWood5Anm_cFPCQ25dWood5Anm_cs
|
||||
*/
|
||||
/* 800BD848-800BD8BC .text mode_cut_init__Q25dWood5Anm_cFPCQ25dWood5Anm_cs */
|
||||
void dWood::Anm_c::mode_cut_init(const dWood::Anm_c *, s16 targetAngle) {
|
||||
for (u32 i = 0; i < 2; i++) {
|
||||
mPhaseY[i] = 0;
|
||||
|
||||
Reference in New Issue
Block a user