d_a_player_main - 48% Matching. (#739)

Co-authored-by: ‎ ‎ ‎ <‎ ‎ ‎>
This commit is contained in:
123456789758
2025-04-14 17:17:47 -04:00
committed by GitHub
parent 26015238ef
commit 70d9f5df10
29 changed files with 3229 additions and 636 deletions
+21
View File
@@ -29,11 +29,28 @@ class daPy_demo_c {
public:
enum {
DEMO_UNK1_e = 0x01,
DEMO_UNK4_e = 0x04,
DEMO_UNK6_e = 0x06,
DEMO_UNK8_e = 0x08,
DEMO_UNK9_e = 0x09,
DEMO_UNK10_e = 0x10,
DEMO_UNK11_e = 0x11,
DEMO_UNK12_e = 0x12,
DEMO_UNK14_e = 0x14,
DEMO_UNK17_e = 0x17,
DEMO_UNK18_e = 0x18,
DEMO_UNK1B_e = 0x1B,
DEMO_UNK1D_e = 0x1D,
DEMO_UNK1E_e = 0x1E,
DEMO_UNK1F_e = 0x1F,
DEMO_UNK22_e = 0x22,
DEMO_UNK25_e = 0x25,
DEMO_UNK2A_e = 0x2A,
DEMO_UNK2F_e = 0x2F,
DEMO_UNK33_e = 0x33,
DEMO_UNK3D_e = 0x3D,
DEMO_UNK3E_e = 0x3E,
DEMO_UNK40_e = 0x40,
DEMO_UNK44_e = 0x44,
DEMO_UNK48_e = 0x48,
DEMO_UNK4A_e = 0x4A,
@@ -75,6 +92,7 @@ class daPy_py_c : public fopAc_ac_c {
public:
enum daPy_FLG0 {
daPyFlg0_UNK1 = 0x00000001,
daPyFlg0_UNK2 = 0x00000002,
daPyFlg0_UNK4 = 0x00000004,
daPyFlg0_UNK8 = 0x00000008,
daPyFlg0_DEKU_SP_RETURN_FLG = 0x00000010,
@@ -92,6 +110,7 @@ public:
daPyFlg0_NO_FALL_VOICE = 0x00040000,
daPyFlg0_SCOPE_CANCEL = 0x00080000,
daPyFlg0_PHOTO_BOX_CANCEL = 0x00080000, // Same as scope cancel
daPyFlg0_UNK100000 = 0x00100000,
daPyFlg0_UNK200000 = 0x00200000,
daPyFlg0_UNK400000 = 0x00400000,
daPyFlg0_UNK800000 = 0x00800000,
@@ -153,9 +172,11 @@ public:
daPyRFlg0_GRAB_UP_START = 0x00008000,
daPyRFlg0_ATTENTION_LOCK = 0x00010000,
daPyRFlg0_HAMMER_QUAKE = 0x00020000,
daPyRFlg0_UNK40000 = 0x00040000,
daPyRFlg0_UNK80000 = 0x00080000,
daPyRFlg0_POISON_CURSE = 0x00100000,
daPyRFlg0_GRAB_PUT_START = 0x00400000,
daPyRFlg0_UNK800000 = 0x00800000,
daPyRFlg0_TACT_INPUT = 0x01000000,
daPyRFlg0_FAIRY_USE = 0x02000000,
daPyRFlg0_UNK4000000 = 0x04000000,
+5 -2
View File
@@ -599,7 +599,8 @@ public:
class daPy_HIO_slip_c1 {
public:
/* 0x00 */ f32 field_0x0;
/* 0x00 */ s16 field_0x0;
/* 0x02 */ s16 field_0x2;
/* 0x04 */ f32 field_0x4;
/* 0x08 */ f32 field_0x8;
/* 0x0C */ f32 field_0xC;
@@ -961,6 +962,7 @@ public:
class daPy_HIO_guard_c1 {
public:
/* 0x00 */ s16 field_0x0;
/* 0x02 */ s16 field_0x2;
/* 0x04 */ f32 field_0x4;
/* 0x08 */ f32 field_0x8;
/* 0x0C */ f32 field_0xC;
@@ -1212,7 +1214,8 @@ public:
class daPy_HIO_sideStep_c1 {
public:
/* 0x00 */ s16 field_0x0;
/* 0x00 */ u8 field_0x0;
/* 0x01 */ u8 field_0x1;
/* 0x02 */ s16 field_0x2;
/* 0x04 */ s16 field_0x4;
/* 0x06 */ s16 field_0x6;
+17 -6
View File
@@ -310,12 +310,17 @@ public:
daPy_footData_c();
public:
/* 0x000 */ u8 field_0x000[0x018 - 0x000];
/* 0x000 */ u8 field_0x000[0x002 - 0x000];
// TODO: is this right?
/* 0x002 */ s16 field_0x002;
/* 0x004 */ u8 field_0x004[0x008 - 0x004];
/* 0x008 */ s16 field_0x008;
/* 0x00A */ s16 field_0x00A;
/* 0x00C */ u8 field_0x00C[0x018 - 0x00C];
/* 0x018 */ cXyz field_0x018;
/* 0x018 */ u8 field_0x024[0x034 - 0x024];
/* 0x034 */ dBgS_LinkGndChk field_0x034;
/* 0x088 */ u8 field_0x088[0x118 - 0x088];
/* 0x088 */ Mtx field_0x088[3];
};
struct daPy_aura_c {
@@ -924,7 +929,7 @@ public:
J3DAnmTexPattern* loadTextureAnimeResource(u32, BOOL);
BOOL checkBossBgm();
BOOL checkMabaAnimeBtp(int);
BOOL checkNormalFace();
s32 checkNormalFace();
void setTextureAnime(u16, int);
void setPriTextureAnime(u16, int);
void resetPriTextureAnime();
@@ -995,7 +1000,7 @@ public:
BOOL checkNewItemChange(u8);
BOOL checkItemChangeFromButton();
void checkItemAction();
void getSlidePolygon();
cM3dGPla* getSlidePolygon();
BOOL checkJumpCutFromButton();
int orderTalk();
BOOL checkNextActionFromButton();
@@ -1878,7 +1883,7 @@ public:
virtual BOOL checkTactWait() const { return mCurProc == daPyProc_TACT_WAIT_e; }
virtual void setTactZev(fpc_ProcID, int, char*);
virtual void onDekuSpReturnFlg(u8 i_point);
virtual BOOL checkComboCutTurn() const { return mCurProc == daPyProc_CUT_TURN_e && m3570 != 0; }
virtual BOOL checkComboCutTurn() const { return mCurProc == daPyProc_CUT_TURN_e && mProcVar0.m3570 != 0; }
virtual f32 getBaseAnimeFrameRate() { return mFrameCtrlUnder[UNDER_MOVE0_e].getRate(); }
virtual f32 getBaseAnimeFrame() { return mFrameCtrlUnder[UNDER_MOVE0_e].getFrame(); }
virtual fpc_ProcID getItemID() const { return mActorKeepEquip.getID(); }
@@ -2137,7 +2142,13 @@ public:
/* 0x3566 */ s16 m3566;
/* 0x3568 */ s16 m3568;
/* 0x356C */ int mCameraInfoIdx;
/* 0x3570 */ s32 m3570;
// `mProcVar`'s are variables that are context dependent for each `PROC` action.
// (The exact setup may need to be simplified later)
union {
s32 m3570;
daPy_ANM mDamageAnm;
int mBottleItem;
} /* 0x3570 */ mProcVar0;
/* 0x3574 */ s32 m3574;
/* 0x3578 */ int m3578;
/* 0x357C */ int m357C;
+2
View File
@@ -103,6 +103,7 @@ enum dCcG_At_Spl {
/* 0x0 */ dCcG_At_Spl_UNK0 = 0,
/* 0x1 */ dCcG_At_Spl_UNK1 = 1,
/* 0x3 */ dCcG_At_Spl_UNK3 = 3,
/* 0x5 */ dCcG_At_Spl_UNK5 = 5,
/* 0x6 */ dCcG_At_Spl_UNK6 = 6,
/* 0x7 */ dCcG_At_Spl_UNK7 = 7,
/* 0x8 */ dCcG_At_Spl_UNK8 = 8,
@@ -113,6 +114,7 @@ enum dCcG_At_Spl {
enum dCcG_Tg_Spl {
/* 0x0 */ dCcG_Tg_Spl_UNK0 = 0,
/* 0x1 */ dCcG_Tg_Spl_UNK1 = 1,
};
struct dCcD_SrcGAtTgCoCommonBase {
+10
View File
@@ -45,6 +45,7 @@ enum daPy__PlayerStatus0 {
daPyStts0_UNK100_e = 0x00000100,
daPyStts0_UNK200_e = 0x00000200,
daPyStts0_UNK400_e = 0x00000400,
daPyStts0_UNK800_e = 0x00000800,
daPyStts0_BOW_AIM_e = 0x00001000,
daPyStts0_UNK2000_e = 0x00002000,
daPyStts0_HOOKSHOT_AIM_e = 0x00004000,
@@ -76,7 +77,10 @@ enum daPy__PlayerStatus1 {
daPyStts1_DEKU_LEAF_FLY_e = 0x00000020,
daPyStts1_DEKU_LEAF_FAN_e = 0x00000040,
daPyStts1_UNK80_e = 0x00000080,
daPyStts1_UNK100_e = 0x00000100,
daPyStts1_UNK200_e = 0x00000200,
daPyStts1_SAIL_e = 0x00000400,
daPyStts1_UNK800_e = 0x00000800,
daPyStts1_UNK1000_e = 0x00001000,
daPyStts1_UNK2000_e = 0x00002000,
daPyStts1_UNK4000_e = 0x00004000,
@@ -84,6 +88,7 @@ enum daPy__PlayerStatus1 {
daPyStts1_UNK10000_e = 0x00010000,
daPyStts1_UNK20000_e = 0x00020000,
daPyStts1_UNK40000_e = 0x00040000,
daPyStts1_UNK80000_e = 0x00080000,
};
class __d_timer_info_c {
@@ -497,6 +502,7 @@ public:
void setAStatus(u8 status) { mCurrButtonBAction = status; }
u8 getDoStatus() { return mCurrButtonAAction; }
void setDoStatus(u8 status) { mCurrButtonAAction = status; }
u8 getRStatus() { return field_0x492d; }
void setRStatus(u8 status) { field_0x492d = status; }
u8 getRStatusForce() { return field_0x4930; }
void setRStatusForce(u8 status) { field_0x4930 = status; }
@@ -2600,6 +2606,10 @@ inline void dComIfGp_setDoStatus(u8 status) {
g_dComIfG_gameInfo.play.setDoStatus(status);
}
inline u8 dComIfGp_getRStatus() {
return g_dComIfG_gameInfo.play.getRStatus();
}
inline void dComIfGp_setRStatus(u8 status) {
g_dComIfG_gameInfo.play.setRStatus(status);
}
+3 -3
View File
@@ -104,7 +104,7 @@ const daPy_HIO_backJump_c1 daPy_HIO_backJump_c0::m = {
};
const daPy_HIO_slip_c1 daPy_HIO_slip_c0::m = {
0.0f, 0.6f, 1.1f, 0.4f, 1.25f, 0.1875f, 0.6f, 1.7f, 2.5f,
0, 0, 0.6f, 1.1f, 0.4f, 1.25f, 0.1875f, 0.6f, 1.7f, 2.5f,
};
const daPy_HIO_slide_c1 daPy_HIO_slide_c0::m = {
@@ -169,7 +169,7 @@ const daPy_HIO_hang_c1 daPy_HIO_hang_c0::m = {
};
const daPy_HIO_guard_c1 daPy_HIO_guard_c0::m = {
11, 0.85f, 0.0f, 2.0f, 7.5f, 0.02f, 0.5f, 1.125f, 0.3f, 12.5f,
11, 0, 0.85f, 0.0f, 2.0f, 7.5f, 0.02f, 0.5f, 1.125f, 0.3f, 12.5f,
};
const daPy_HIO_nockback_c1 daPy_HIO_nockback_c0::m = {
@@ -213,7 +213,7 @@ const daPy_HIO_slowJump_c1 daPy_HIO_slowJump_c0::m = {
};
const daPy_HIO_sideStep_c1 daPy_HIO_sideStep_c0::m = {
256, 6200, 4, 5, 30.0f, 0.3f, 0.0f, 1.0f, -2.4f, 0.85f, 1.0f, 0.0f, 1.5f, 14.0f, 50.0f,
1, 0, 6200, 4, 5, 30.0f, 0.3f, 0.0f, 1.0f, -2.4f, 0.85f, 1.0f, 0.0f, 1.5f, 14.0f, 50.0f,
};
const daPy_HIO_grab_c1 daPy_HIO_grab_c0::m = {
+14 -14
View File
@@ -111,9 +111,9 @@ BOOL daPy_lk_c::procBtJump_init(fopEn_enemy_c* enemy) {
if (daPy_HIO_b_jump_c0::m.field_0x18 <= 0.0f) {
speed.y = m35A0;
mVelocity = m35A4;
m3570 = 1;
mProcVar0.m3570 = 1;
} else {
m3570 = 0;
mProcVar0.m3570 = 0;
}
voiceStart(6);
offNoResetFlg0(daPyFlg0_NO_FALL_VOICE);
@@ -123,17 +123,17 @@ BOOL daPy_lk_c::procBtJump_init(fopEn_enemy_c* enemy) {
/* 8013E72C-8013E860 .text procBtJump__9daPy_lk_cFv */
BOOL daPy_lk_c::procBtJump() {
if (m3570 == 0) {
if (mProcVar0.m3570 == 0) {
if (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() >= daPy_HIO_b_jump_c0::m.field_0x18) {
speed.y = m35A0;
mVelocity = m35A4;
m3570 = 1;
mProcVar0.m3570 = 1;
}
} else {
if (mAcch.ChkGroundHit()) {
return changeLandProc(daPy_HIO_b_jump_c0::m.field_0xC);
}
if (m3570 == 1) {
if (mProcVar0.m3570 == 1) {
m34D0++;
if (speed.y < -gravity) {
return procBtJumpCut_init(&m370C);
@@ -168,7 +168,7 @@ BOOL daPy_lk_c::procBtJumpCut_init(cXyz* param_0) {
gravity = 0.0f;
speed.y = 0.0f;
m370C = *param_0;
m3570 = 0;
mProcVar0.m3570 = 0;
dComIfGp_setPlayerStatus0(0, (daPyStts0_UNK2_e | daPyStts0_UNK400_e));
voiceStart(1);
setBlurPosResource(LKANM__BTJUMPCUT_POS);
@@ -199,13 +199,13 @@ BOOL daPy_lk_c::procBtJumpCut() {
return changeLandProc(daPy_HIO_b_jump_c0::m.field_0xC);
}
if (m3570 == 0 && mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f) {
if (mProcVar0.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) {
m3570 = 2;
mProcVar0.m3570 = 1;
} else if (mProcVar0.m3570 == 1 && speed.y < -gravity && daPy_HIO_b_jump_c0::m.field_0x0 == 1) {
mProcVar0.m3570 = 2;
setSingleMoveAnime(ANM_JMPEDS, 0.0f, 0.0f, -1, daPy_HIO_b_jump_c0::m.field_0x40);
offModeFlg(ModeFlg_00000400);
setTextureAnime(0x37, 0);
@@ -318,12 +318,12 @@ BOOL daPy_lk_c::procBtRollCut_init(cXyz* param_0) {
s16 angle_y_delta = current.angle.y - shape_angle.y;
if (angle_y_delta > 0) {
dVar4 = ANM_MROLLLC;
m3570 = 1;
mProcVar0.m3570 = 1;
m34EC = 1;
setBlurPosResource(LKANM__BTROTATECUTL_POS);
} else {
dVar4 = ANM_MROLLRC;
m3570 = -1;
mProcVar0.m3570 = -1;
m34EC = -1;
setBlurPosResource(LKANM__BTROTATECUTR_POS);
}
@@ -364,7 +364,7 @@ BOOL daPy_lk_c::procBtRollCut() {
m35EC = mFrameCtrlUnder[UNDER_MOVE0_e].getFrame();
s16 sVar2 = cLib_targetAngleY(&current.pos, &m370C);
cLib_addCalcAngleS(&shape_angle.y, sVar2, 5, 0x5e8, 0x13c);
current.angle.y = shape_angle.y + m3570 * 0x4000;
current.angle.y = shape_angle.y + mProcVar0.m3570 * 0x4000;
if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f) {
if (m34D4 == 0) {
m34D4 = 1;
@@ -377,7 +377,7 @@ BOOL daPy_lk_c::procBtRollCut() {
m34D4 = 2;
}
if (m34D4 > 1) {
int iVar3 = m3570;
int iVar3 = mProcVar0.m3570;
if ((iVar3 > 0 && m34EC < 0) || (iVar3 < 0 && m34EC > 0)) {
cLib_addCalcAngleS(&m34EC, -iVar3, 4, daPy_HIO_b_roll_c0::m.field_0xA, 0x200);
} else {
+13 -13
View File
@@ -114,8 +114,8 @@ BOOL daPy_lk_c::procBottleDrink_init(u16 param_0) {
keepItemData();
setBottleModel(param_0);
dComIfGp_setPlayerStatus1(0, daPyStts1_UNK2000_e);
m3570 = 1;
dCam_getBody()->StartEventCamera(0x12, fopAcM_GetID(this), "Type", &m3570, 0);
mProcVar0.m3570 = 1;
dCam_getBody()->StartEventCamera(0x12, fopAcM_GetID(this), "Type", &mProcVar0.m3570, 0);
initShipRideUseItem(iVar1, 2);
return true;
}
@@ -230,12 +230,12 @@ BOOL daPy_lk_c::procBottleOpen_init(u16 param_0) {
setBottleModel(param_0);
dComIfGp_setPlayerStatus1(0, daPyStts1_UNK4000_e);
if (mEquipItem == dItem_FAIRY_BOTTLE_e) {
m3570 = 3;
mProcVar0.m3570 = 3;
} else {
m3570 = 2;
mProcVar0.m3570 = 2;
}
if (mDemo.getDemoMode() != 0x3d) {
dCam_getBody()->StartEventCamera(0x12, fopAcM_GetID(this), "Type", &m3570, 0);
dCam_getBody()->StartEventCamera(0x12, fopAcM_GetID(this), "Type", &mProcVar0.m3570, 0);
}
initShipRideUseItem(iVar1, 2);
m34D4 = 0;
@@ -295,7 +295,7 @@ BOOL daPy_lk_c::procBottleSwing_init(int param_0) {
);
m35A0 = daPy_HIO_bottle_c0::m.field_0x18;
}
m3570 = 0;
mProcVar0.m3570 = 0;
m3574 = 0;
m34D4 = 0;
voiceStart(7);
@@ -306,15 +306,15 @@ BOOL daPy_lk_c::procBottleSwing_init(int param_0) {
/* 80153064-80153338 .text procBottleSwing__9daPy_lk_cFv */
BOOL daPy_lk_c::procBottleSwing() {
setShipRidePosUseItem();
if (m3570 == 0) {
if (mProcVar0.m3570 == 0) {
if (eventInfo.checkCommandCatch()) {
m3570 = 1;
mProcVar0.m3570 = 1;
u8 bVar5 = dComIfGp_event_getPreItemNo();
if (bVar5 == dItem_WATER_BOTTLE_e) {
seStartOnlyReverb(JA_SE_LK_SCOOP_WATER);
if (!strcmp(dComIfGp_getStartStageName(), "Omori")) {
bVar5 = dItem_FOREST_WATER_e;
if (dComIfGs_checkBottle(89)) {
if (dComIfGs_checkBottle(dItem_FOREST_WATER_e)) {
m3628 = fpcM_ERROR_PROCESS_ID_e;
m3574 = 1;
} else {
@@ -350,7 +350,7 @@ BOOL daPy_lk_c::procBottleSwing() {
endDemoMode();
}
} else {
if (m3570 != 0) {
if (mProcVar0.m3570 != 0) {
procBottleGet_init();
} else {
if (dComIfGp_checkPlayerStatus0(0, daPyStts0_SHIP_RIDE_e)) {
@@ -361,7 +361,7 @@ BOOL daPy_lk_c::procBottleSwing() {
}
}
} else if (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() > m35A0) {
if (m3570 == 0 && !dComIfGp_checkPlayerStatus0(0, daPyStts0_SHIP_RIDE_e)) {
if (mProcVar0.m3570 == 0 && !dComIfGp_checkPlayerStatus0(0, daPyStts0_SHIP_RIDE_e)) {
checkNextMode(1);
}
}
@@ -381,8 +381,8 @@ BOOL daPy_lk_c::procBottleGet_init() {
);
dComIfGp_setPlayerStatus1(0, daPyStts1_UNK1000_e);
m3628 = fpcM_ERROR_PROCESS_ID_e;
m3570 = 0;
dCam_getBody()->StartEventCamera(0x12, fopAcM_GetID(this), "Type", &m3570, 0);
mProcVar0.m3570 = 0;
dCam_getBody()->StartEventCamera(0x12, fopAcM_GetID(this), "Type", &mProcVar0.m3570, 0);
if (mEquipItem == dItem_FOREST_WATER_e) {
m32F0.makeEmitter(dPa_name::ID_COMMON_020D, mpEquipItemModel->getBaseTRMtx(), &current.pos, NULL);
}
-1
View File
@@ -17,7 +17,6 @@
/* 80149ECC-80149F88 .text bowJointCB__9daPy_lk_cFi */
BOOL daPy_lk_c::bowJointCB(int param_0) {
/* Nonmatching - floats */
if (checkBowReadyAnime()) {
return true;
}
+9 -9
View File
@@ -209,7 +209,7 @@ void daPy_lk_c::checkBgClimbMove() {
/* 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);
m3570 = 1;
mProcVar0.m3570 = 1;
m34C2 = 4;
dComIfGp_setPlayerStatus1(0, daPyStts1_UNK10000_e);
}
@@ -229,7 +229,7 @@ BOOL daPy_lk_c::procClimbUpStart_init() {
} else {
setBlendMoveAnime(daPy_HIO_basic_c0::m.field_0xC);
setAnimeUnequip();
m3570 = 0;
mProcVar0.m3570 = 0;
m3598 = 0.0f;
}
f32 fVar2 = cM_ssin(m352C);
@@ -248,7 +248,7 @@ BOOL daPy_lk_c::procClimbUpStart() {
return true;
}
if (m3570 == 0) {
if (mProcVar0.m3570 == 0) {
if (m_anm_heap_upper[UPPER_MOVE2_e].mIdx == 0xffff) {
procLadderUpStart_init_sub();
}
@@ -292,7 +292,7 @@ BOOL daPy_lk_c::procClimbDownStart_init(s16 param_0) {
current.pos.y = current.pos.y - 20.0f;
current.pos.z = current.pos.z - 35.0f * cM_scos(param_0);
m35E0 = 43.67353f;
m3570 = 1;
mProcVar0.m3570 = 1;
return true;
}
@@ -331,14 +331,14 @@ BOOL daPy_lk_c::procClimbMoveUpDown_init(int param_0) {
dVar3 *= -1.0f;
}
if (param_0 != 0) {
m3570 = 0;
mProcVar0.m3570 = 0;
if (mDirection == DIR_FORWARD) {
dVar2 = ANM_LADDERLTOR;
} else {
dVar2 = ANM_LADDERRTOL;
}
} else {
m3570 = 1;
mProcVar0.m3570 = 1;
if (mDirection == DIR_FORWARD) {
dVar2 = ANM_LADDERRTOL;
} else {
@@ -377,7 +377,7 @@ BOOL daPy_lk_c::procClimbMoveUpDown() {
m34D0 = 0;
setLadderFootSe();
} else {
changeClimbMoveProc(m3570);
changeClimbMoveProc(mProcVar0.m3570);
}
} else {
f32 dVar2 = getLadderMoveAnmSpeed();
@@ -399,7 +399,7 @@ BOOL daPy_lk_c::procClimbMoveSide_init(int param_0) {
commonProcInit(daPyProc_CLIMB_MOVE_SIDE_e);
m34D4 = m34E8 - shape_angle.y;
m34C2 = 7;
m3570 = param_0;
mProcVar0.m3570 = param_0;
if (param_0 != 0) {
dVar2 = ANM_FCLIMBSLIDELUP;
if (mDirection == DIR_RIGHT) {
@@ -446,7 +446,7 @@ BOOL daPy_lk_c::procClimbMoveSide() {
m34D0 = 0;
setLadderFootSe();
} else {
changeClimbMoveProc(m3570);
changeClimbMoveProc(mProcVar0.m3570);
}
} else {
f32 dVar5 = getClimbMoveAnmSpeed();
+156 -15
View File
@@ -18,7 +18,7 @@
/* 801387A4-801387EC .text getCrawlMoveAnmSpeed__9daPy_lk_cFv */
f32 daPy_lk_c::getCrawlMoveAnmSpeed() {
if (m3570 != 0) {
if (mProcVar0.m3570 != 0) {
f32 fVar1 = 1.5f;
f32 fVar2 = 0.5f;
return (mStickDistance * fVar1) + fVar2;
@@ -29,7 +29,6 @@ f32 daPy_lk_c::getCrawlMoveAnmSpeed() {
/* 801387EC-80138868 .text getCrawlMoveSpeed__9daPy_lk_cFv */
f32 daPy_lk_c::getCrawlMoveSpeed() {
/* Nonmatching - floats */
float fVar1;
fVar1 = mFrameCtrlUnder[UNDER_MOVE0_e].getFrame();
@@ -45,21 +44,21 @@ 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) {
if (mProcVar0.m3570 & 4) {
if (!bVar) {
direction |= 1;
} else {
direction |= 4;
}
}
if (m3570 & 8) {
if (mProcVar0.m3570 & 8) {
if (!bVar) {
direction |= 4;
} else {
direction |= 1;
}
}
if (m3570 & 1) {
if (mProcVar0.m3570 & 1) {
if (shape_angle.y == current.angle.y) {
if (!bVar) {
direction |= 8;
@@ -93,7 +92,6 @@ void daPy_lk_c::changeCrawlAutoMoveProc(cXyz*) {
/* 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);
@@ -146,8 +144,32 @@ void daPy_lk_c::crawlBgCheck(cXyz* param_0, cXyz* param_1) {
}
/* 801390B8-801392BC .text checkCrawlSideWall__9daPy_lk_cFP4cXyzP4cXyzP4cXyzP4cXyzPsPs */
BOOL daPy_lk_c::checkCrawlSideWall(cXyz*, cXyz*, cXyz*, cXyz*, s16*, s16*) {
/* Nonmatching */
BOOL daPy_lk_c::checkCrawlSideWall(cXyz* param_1, cXyz* param_2, cXyz* param_3, cXyz* param_4, s16* param_5, s16* param_6) {
cXyz local_78;
cXyz local_90;
mLinkLinChk.Set(param_1, param_2, this);
if (dComIfG_Bgsp()->LineCross(&mLinkLinChk)) {
*param_3 = mLinkLinChk.GetCross();
cM3dGPla* pfVar1 = dComIfG_Bgsp()->GetTriPla(mLinkLinChk);
*param_5 = cM_atan2s(pfVar1->GetNP()->x, pfVar1->GetNP()->z);
local_90 = *param_3 + (pfVar1->mNormal * 75.0f);
local_78 = (local_90 + *param_3) * 0.5f;
mLinkLinChk.Set(&local_78, &local_90, this);
if (dComIfG_Bgsp()->LineCross(&mLinkLinChk)) {
*param_4 = mLinkLinChk.GetCross();
pfVar1 = dComIfG_Bgsp()->GetTriPla(mLinkLinChk);
*param_6 = cM_atan2s(pfVar1->GetNP()->x, pfVar1->GetNP()->z);
cXyz local_9c = (*param_3 - *param_4);
f32 temp_f31 = local_9c.abs2XZ();
if (cLib_distanceAngleS(*param_5, *param_6) > 0x7F00 && temp_f31 < 5625.0f &&
temp_f31 > 3600.0f)
{
return true;
}
}
}
return false;
}
/* 801392BC-80139424 .text setDoStatusCrawl__9daPy_lk_cFv */
@@ -201,7 +223,6 @@ BOOL daPy_lk_c::procCrawlStart() {
/* 80139640-801396B0 .text checkNotCrawlStand__9daPy_lk_cFP4cXyz */
BOOL daPy_lk_c::checkNotCrawlStand(cXyz* param_0) {
/* Nonmatching - floats */
mRoofChk.SetPos(*param_0);
return dComIfG_Bgsp()->RoofChk(&mRoofChk) - current.pos.y <= 125.0f;
}
@@ -245,7 +266,7 @@ BOOL daPy_lk_c::procCrawlMove_init(s16 param_0, s16 param_1) {
onResetFlg0(daPyRFlg0_UNK1000);
}
m35A0 = -1.0f;
m3570 = var_r29 ^ 1;
mProcVar0.m3570 = var_r29 ^ 1;
shape_angle.x = param_0;
shape_angle.z = param_1;
m35E4 = 1.0f;
@@ -263,13 +284,11 @@ BOOL daPy_lk_c::procCrawlMove() {
/* 8013A004-8013A0F0 .text procCrawlAutoMove_init__9daPy_lk_cFiP4cXyz */
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);
BOOL uVar1 = dComIfGp_checkPlayerStatus0(0, daPyStts0_UNK2000_e) ? TRUE : FALSE;
commonProcInit(daPyProc_CRAWL_AUTO_MOVE_e);
m370C = *param_1;
m35E4 = 1.0f;
m3570 = param_0;
mProcVar0.m3570 = param_0;
m34D0 = 0x14;
m34D6 = 300;
dComIfGp_setPlayerStatus0(0, daPyStts0_CRAWL_e);
@@ -279,7 +298,7 @@ BOOL daPy_lk_c::procCrawlAutoMove_init(int param_0, cXyz* param_1) {
for (int i = 0; i < 3; i++) {
mAcchCir[i].SetWallR(9.99f);
}
if (uVar1 != 0) {
if (uVar1) {
dComIfGp_setPlayerStatus0(0, daPyStts0_UNK2000_e);
}
return true;
@@ -288,6 +307,128 @@ 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 */
f32 fVar2;
f32 fVar3;
dComIfGp_setRStatus(0xf);
J3DFrameCtrl& frameCtrl = mFrameCtrlUnder[UNDER_MOVE0_e];
onResetFlg0(daPyRFlg0_UNK1000);
s16 sVar4 = shape_angle.y;
s16 sVar5 = current.angle.y;
if (m34D0 > 0) {
if ((frameCtrl.checkPass(0.0f)) || (frameCtrl.checkPass(17.0f))) {
fVar3 = 0.0f;
if (frameCtrl.checkPass(0.0f)) {
fVar2 = 0.0f;
} else {
fVar2 = 17.0f;
}
frameCtrl.setRate(0.0f);
frameCtrl.setFrame(fVar2);
mAnmRatioUnder[UNDER_MOVE0_e].getAnmTransform()->setFrame(fVar2);
mVelocity = fVar3;
} else {
if (std::fabsf(frameCtrl.mRate) < 0.01f) {
mVelocity = 0.0f;
m34D0--;
}
}
setCrawlMoveDirectionArrow();
setDoStatusCrawl();
shape_angle.y = sVar4;
current.angle.y = sVar5;
} else {
if (m34D0 == 0) {
setCrawlMoveDirectionArrow();
if (mStickDistance > 0.05f) {
int iVar10 = getDirectionFromShapeAngle();
f32 fVar2 = cM_ssin(shape_angle.y);
f32 fVar3 = cM_scos(shape_angle.y);
if ((iVar10 == 2) && ((mProcVar0.m3570 & 4))) {
m370C.x += 75.0f * fVar3;
m370C.z -= 75.0f * fVar2;
m34D4 = current.angle.y + 0x4000;
if (current.angle.y == shape_angle.y) {
m35A0 = 1.0f;
} else {
m35A0 = -1.0f;
}
m34D0 = -1;
} else if ((iVar10 == 3) && ((mProcVar0.m3570 & 8))) {
m370C.x -= 75.0f * fVar3;
m370C.z += 75.0f * fVar2;
m34D4 = current.angle.y + -0x4000;
if (current.angle.y == shape_angle.y) {
m35A0 = 1.0f;
} else {
m35A0 = -1.0f;
}
m34D0 = -1;
} else if (((mProcVar0.m3570 & 1)) &&
(((shape_angle.y == current.angle.y && (iVar10 == 0)) ||
((shape_angle.y != current.angle.y && (iVar10 == 1))))))
{
m370C.x += 75.0f * cM_ssin(current.angle.y);
m370C.z += 75.0f * cM_scos(current.angle.y);
m34D4 = shape_angle.y;
m35A0 = 0.0f;
m34D0 = -1;
} else if (((shape_angle.y == current.angle.y) && (iVar10 == 1)) || ((shape_angle.y != current.angle.y && (iVar10 == 0)))) {
current.angle.y += 0x8000;
m370C.x -= 75.0f * cM_ssin(current.angle.y);
m370C.z -= 75.0f * cM_scos(current.angle.y);
m34D4 = shape_angle.y;
m35A0 = 0.0f;
m34D0 = -1;
}
if (m34D0 == -1) {
g_dComIfG_gameInfo.play.mDirection = 0;
if (shape_angle.y == current.angle.y) {
frameCtrl.setRate(2.0f);
frameCtrl.setLoop(0);
} else {
frameCtrl.setRate(-2.0f);
frameCtrl.setLoop(frameCtrl.getEnd());
}
initSeAnime();
}
} else {
setDoStatusCrawl();
shape_angle.y = sVar4;
current.angle.y = sVar5;
}
} else {
BOOL bVar1 = true;
if (m34D6 > 0) {
m34D6--;
}
if (std::fabsf(m35A0) > 0.5f) {
if (cLib_addCalcAngleS(&shape_angle.y, m34D4, 5, 0x480, 0x80)) {
bVar1 = 0;
}
if (m35A0 < -0.5f) {
current.angle.y = shape_angle.y + 0x8000;
} else {
current.angle.y = shape_angle.y;
}
cLib_addCalc(&current.pos.x, m370C.x, 0.5f, 3.0f, 1.0f);
cLib_addCalc(&current.pos.z, m370C.z, 0.5f, 3.0f, 1.0f);
}
cXyz local_28 = m370C - current.pos;
if (cLib_distanceAngleS(cM_atan2s(local_28.x, local_28.z), current.angle.y) < 0x6000) {
bVar1 = false;
}
mVelocity = getCrawlMoveSpeed();
if (mVelocity < 0.0f) {
mVelocity *=-1.0f;
current.angle.y = shape_angle.y + 0x8000;
}
if ((bVar1 != 0) || (m34D6 == 0)) {
procCrawlMove_init(shape_angle.x, shape_angle.z);
}
}
}
return true;
}
/* 8013A630-8013A7C4 .text procCrawlEnd_init__9daPy_lk_cFiss */
+65 -65
View File
@@ -74,7 +74,7 @@ void daPy_lk_c::setLetterModel() {
/* 8012CFE8-8012D010 .text checkCaughtShapeHide__9daPy_lk_cFv */
BOOL daPy_lk_c::checkCaughtShapeHide() {
if (mCurProc == daPyProc_DEMO_CAUGHT_e && m3570 != 0) {
if (mCurProc == daPyProc_DEMO_CAUGHT_e && mProcVar0.m3570 != 0) {
return TRUE;
}
return FALSE;
@@ -165,7 +165,7 @@ BOOL daPy_lk_c::dProcTool_init() {
m_pbCalc[PART_UNDER_e]->setRatio(1, 0.0f);
mAnmRatioUnder[UNDER_MOVE1_e].setAnmTransform(NULL);
mAnmRatioUpper[UNDER_MOVE1_e].setAnmTransform(NULL);
m3570 = 0;
mProcVar0.m3570 = 0;
m3574 = 0;
m34D4 = 0;
m34D6 = 0;
@@ -182,16 +182,16 @@ BOOL daPy_lk_c::dProcTalk_init() {
if (mCurProc == daPyProc_DEMO_TALK_e) {
return true;
}
m3570 = 0;
mProcVar0.m3570 = 0;
int iVar2 = checkShipRideUseItem(1);
commonProcInit(daPyProc_DEMO_TALK_e);
if (iVar2 == 0) {
if ((mDemo.getDemoMode() != 8) && (mEquipItem != daPyItem_NONE_e)) {
setAnimeUnequip();
}
m3570 = setTalkStartBack();
mProcVar0.m3570 = setTalkStartBack();
}
if (m3570 == 0) {
if (mProcVar0.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);
@@ -219,7 +219,7 @@ BOOL daPy_lk_c::dProcTalk() {
setShipRidePos(0);
}
setShapeAngleToTalkActor();
if (m3570 != 0) {
if (mProcVar0.m3570 != 0) {
cXyz local_28 = m370C - current.pos;
int iVar2 = 0;
@@ -236,7 +236,7 @@ BOOL daPy_lk_c::dProcTalk() {
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;
mProcVar0.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);
} else {
@@ -512,13 +512,13 @@ BOOL daPy_lk_c::dProcGetItem_init() {
mVelocity = 0.0f;
if (mEquipItem == daPyItem_NONE_e) {
setSingleMoveAnime(ANM_ITEMGET, 1.0f, 0.0f, -1, 3.0f);
m3570 = 0;
mProcVar0.m3570 = 0;
onModeFlg(ModeFlg_00000400);
} else {
setBlendMoveAnime(daPy_HIO_basic_c0::m.field_0xC);
setAnimeUnequip();
m3598 = 0.0f;
m3570 = 1;
mProcVar0.m3570 = 1;
}
if (mDemo.getParam0() != 0) {
int item_no;
@@ -567,7 +567,7 @@ BOOL daPy_lk_c::dProcGetItem() {
if ((m34D4 == -1) && (item != NULL)) {
m34D4 = item->getItemNo() & 0xff;
}
if ((m3570 == 0) && (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() >= 11.0f)) {
if ((mProcVar0.m3570 == 0) && (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() >= 11.0f)) {
if ((m34D0 == 0) && (m34D4 != -1)) {
m34D0 = 1;
setGetItemSound(m34D4, m34DA);
@@ -585,10 +585,10 @@ BOOL daPy_lk_c::dProcGetItem() {
}
}
}
if (m3570 != 0) {
if (mProcVar0.m3570 != 0) {
if ((m_anm_heap_upper[UPPER_MOVE2_e]).mIdx == 0xffff) {
setSingleMoveAnime(ANM_ITEMGET, 1.0f, 0.0f, -1, 3.0f);
m3570 = 0;
mProcVar0.m3570 = 0;
onModeFlg(ModeFlg_00000400);
}
if ((item != NULL) && (fopAcM_GetName(item) == PROC_ITEM || (fopAcM_GetName(item) == PROC_Demo_Item))) {
@@ -652,7 +652,7 @@ BOOL daPy_lk_c::dProcUnequip() {
/* 8012ED74-8012EE0C .text dProcLavaDamage_init_sub__9daPy_lk_cFv */
void daPy_lk_c::dProcLavaDamage_init_sub() {
speed.y = daPy_HIO_restart_c0::m.field_0x8;
m3570 = 0;
mProcVar0.m3570 = 0;
voiceStart(4);
seStartMapInfo(JA_SE_LK_FALL_MAGMA);
gravity = daPy_HIO_autoJump_c0::m.field_0xC;
@@ -675,14 +675,14 @@ BOOL daPy_lk_c::dProcLavaDamage_init() {
} else {
speed.y = 0.0f;
gravity = 0.0f;
m3570 = 1;
mProcVar0.m3570 = 1;
}
return true;
}
/* 8012EEE4-8012EF78 .text dProcLavaDamage__9daPy_lk_cFv */
BOOL daPy_lk_c::dProcLavaDamage() {
if (m3570 == 1) {
if (mProcVar0.m3570 == 1) {
if (dComIfGp_event_compulsory(this)) {
dProcLavaDamage_init_sub();
}
@@ -705,7 +705,7 @@ void daPy_lk_c::dProcFreezeDamage_init_sub(int param_0) {
};
if (param_0 != 0) {
m3570 = 1;
mProcVar0.m3570 = 1;
mDemo.setDemoType(5);
daPy_py_c::changePlayer(this);
}
@@ -737,14 +737,14 @@ BOOL daPy_lk_c::dProcFreezeDamage_init() {
if (dComIfGp_event_compulsory(this)) {
dProcFreezeDamage_init_sub(1);
} else {
m3570 = 0;
mProcVar0.m3570 = 0;
}
return true;
}
/* 8012F174-8012F210 .text dProcFreezeDamage__9daPy_lk_cFv */
BOOL daPy_lk_c::dProcFreezeDamage() {
if (m3570 == 0) {
if (mProcVar0.m3570 == 0) {
if (dComIfGp_event_compulsory(this)) {
dProcFreezeDamage_init_sub(1);
}
@@ -759,7 +759,7 @@ BOOL daPy_lk_c::dProcFreezeDamage() {
/* 8012F210-8012F288 .text dProcDead_init_sub__9daPy_lk_cFv */
void daPy_lk_c::dProcDead_init_sub() {
m3570 = 0;
mProcVar0.m3570 = 0;
dComIfGp_setPlayerStatus0(0, daPyStts0_UNK20000000_e);
m3628 = fopMsgM_create(PROC_GAMEOVER);
mDemo.setDemoType(5);
@@ -817,7 +817,7 @@ BOOL daPy_lk_c::dProcDead_init() {
dVar8 = daPy_HIO_restart_c0::m.field_0xC;
} else {
dVar8 = 0.0f;
m3570 = 1;
mProcVar0.m3570 = 1;
}
mVelocity = 0.0f;
m34D4 = 0;
@@ -865,7 +865,7 @@ BOOL daPy_lk_c::dProcDead() {
if (dComIfGp_checkPlayerStatus0(0, daPyStts0_SHIP_RIDE_e)) {
setShipRidePos(1);
}
if (m3570 != 0 && dComIfGp_event_compulsory(this)) {
if (mProcVar0.m3570 != 0 && dComIfGp_event_compulsory(this)) {
dProcDead_init_sub();
if (m34D4 == 0) {
dProcDead_init_sub2();
@@ -873,11 +873,11 @@ BOOL daPy_lk_c::dProcDead() {
}
if (m34D4 != 0 && changeSwimUpProc()) {
m34D4 = 0;
if (m3570 == 0) {
if (mProcVar0.m3570 == 0) {
dProcDead_init_sub2();
}
}
if ((m3570 == 0) && (m34D4 == 0)) {
if ((mProcVar0.m3570 == 0) && (m34D4 == 0)) {
if (checkModeFlg(ModeFlg_02000000)) {
m35E4 = 0.1f * (frameCtrl.getFrame() - 120.0f);
}
@@ -1115,7 +1115,7 @@ BOOL daPy_lk_c::dProcSurprised_init() {
commonProcInit(daPyProc_DEMO_SURPRISED_e);
setSingleMoveAnime(ANM_SURPRISED, 1.0f, 0.0f, -1, 3.0f);
mVelocity = 0.0f;
m3570 = 0;
mProcVar0.m3570 = 0;
if (mDemo.getParam0() == 1) {
voiceStart(28);
} else if (mDemo.getParam0() == 2) {
@@ -1135,12 +1135,12 @@ 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 ((mProcVar0.m3570 != 0) || (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f)) {
dComIfGp_evmng_cutEnd(mStaffIdx);
if (m3570 == 0) {
if (mProcVar0.m3570 == 0) {
uVar1 = m3530;
uVar2 = m3532;
m3570 = 1;
mProcVar0.m3570 = 1;
setSingleMoveAnime(ANM_SURPRISEDWAIT, 1.0f, 0.0f, -1, 3.0f);
m3530 = uVar1;
m3532 = uVar2;
@@ -1160,7 +1160,7 @@ BOOL daPy_lk_c::dProcTurnBack_init() {
if (mActorKeepGrab.getActor() != NULL) {
setBlendMoveAnime(daPy_HIO_basic_c0::m.field_0xC);
m_pbCalc[PART_UPPER_e]->setRatio(2, 1.0f);
m3570 = 1;
mProcVar0.m3570 = 1;
} else {
setSingleMoveAnime(
ANM_TURNBACK,
@@ -1169,14 +1169,14 @@ BOOL daPy_lk_c::dProcTurnBack_init() {
daPy_HIO_holdup_c0::m.field_0xA,
daPy_HIO_holdup_c0::m.field_0x54
);
m3570 = 0;
mProcVar0.m3570 = 0;
}
return true;
}
/* 80130278-801302CC .text dProcTurnBack__9daPy_lk_cFv */
BOOL daPy_lk_c::dProcTurnBack() {
if ((m3570 != 0) || (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f)) {
if ((mProcVar0.m3570 != 0) || (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f)) {
dComIfGp_evmng_cutEnd(mStaffIdx);
}
return true;
@@ -1246,10 +1246,10 @@ BOOL daPy_lk_c::dProcCaught_init() {
commonProcInit(daPyProc_DEMO_CAUGHT_e);
if (mDemo.getParam0() == 0) {
dVar2 = ANM_MOGAKU1;
m3570 = 1;
mProcVar0.m3570 = 1;
} else {
dVar2 = ANM_FM_BATA;
m3570 = 0;
mProcVar0.m3570 = 0;
}
setSingleMoveAnime(dVar2, 1.0f, 0.0f, -1, 3.0f);
speed.y = gravity = mVelocity = 0.0f;
@@ -1367,7 +1367,7 @@ BOOL daPy_lk_c::dProcDoorOpen_init() {
mAcch.OnLineCheckNone();
m3700 = cXyz::Zero;
m34C2 = 3;
m3570 = 0;
mProcVar0.m3570 = 0;
return true;
}
@@ -1378,10 +1378,10 @@ BOOL daPy_lk_c::dProcDoorOpen() {
mAcch.OffLineCheckNone();
dComIfGp_evmng_cutEnd(mStaffIdx);
setBlendMoveAnime(daPy_HIO_basic_c0::m.field_0xC);
m3570 = 1;
mProcVar0.m3570 = 1;
m3598 = 0.0f;
} else {
if (m3570 == 0) {
if (mProcVar0.m3570 == 0) {
if (m34C2 != 3) {
m34C2 = 1;
}
@@ -1444,8 +1444,8 @@ BOOL daPy_lk_c::dProcPresent_init() {
return true;
}
commonProcInit(daPyProc_DEMO_PRESENT_e);
m3570 = setTalkStartBack();
if (m3570 == 0) {
mProcVar0.m3570 = setTalkStartBack();
if (mProcVar0.m3570 == 0) {
mVelocity = 0.0f;
dProcPresent_init_sub();
}
@@ -1458,12 +1458,12 @@ BOOL daPy_lk_c::dProcPresent_init() {
/* 80130CA0-80130E88 .text dProcPresent__9daPy_lk_cFv */
BOOL daPy_lk_c::dProcPresent() {
setShapeAngleToTalkActor();
if (m3570 != 0) {
if (mProcVar0.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()) {
current.pos.x = m370C.x;
current.pos.z = m370C.z;
m3570 = 0;
mProcVar0.m3570 = 0;
dProcPresent_init_sub();
mVelocity = 0.0f;
}
@@ -1538,7 +1538,7 @@ BOOL daPy_lk_c::dProcStandItemPut_init() {
commonProcInit(daPyProc_DEMO_STAND_ITEM_PUT_e);
mVelocity = 0.0f;
keepItemData();
m3570 = 0;
mProcVar0.m3570 = 0;
pdVar1 = (daPy_py_c*)fopAcM_getEventPartner(this);
if (pdVar1 != NULL) {
cXyz local_20 = pdVar1->current.pos - current.pos;
@@ -1554,7 +1554,7 @@ BOOL daPy_lk_c::dProcStandItemPut_init() {
m35C8 = 15.0f;
angle = fopAcM_GetShapeAngle_p(this);
}
m3570 = 1;
mProcVar0.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(), &current.pos, -1, angle);
if (pfVar2 != NULL) {
@@ -1568,7 +1568,7 @@ BOOL daPy_lk_c::dProcStandItemPut_init() {
BOOL daPy_lk_c::dProcStandItemPut() {
fopAc_ac_c* pfVar2;
if (m3570 == 1) {
if (mProcVar0.m3570 == 1) {
if (m_old_fdata->getOldFrameRate() < 0.01f) {
setSingleMoveAnime(
ANM_GRABUP,
@@ -1577,7 +1577,7 @@ BOOL daPy_lk_c::dProcStandItemPut() {
daPy_HIO_grab_c0::m.field_0xC,
daPy_HIO_grab_c0::m.field_0x74
);
m3570 = 2;
mProcVar0.m3570 = 2;
voiceStart(7);
}
} else if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() > -0.01f) {
@@ -1622,7 +1622,7 @@ BOOL daPy_lk_c::dProcSlightSurprised_init() {
commonProcInit(daPyProc_DEMO_SLIGHT_SURPRISED_e);
setSingleMoveAnime(ANM_SURPRISEDB, 1.0f, 0.0f, -1, 5.0f);
mVelocity = 0.0f;
m3570 = 0;
mProcVar0.m3570 = 0;
if (mDemo.getParam0() == 1) {
voiceStart(28);
} else if (mDemo.getParam0() == 2) {
@@ -1639,10 +1639,10 @@ BOOL daPy_lk_c::dProcSlightSurprised() {
if (dComIfGp_checkPlayerStatus0(0, daPyStts0_SHIP_RIDE_e)) {
setShipRidePos(0);
}
if ((m3570 != 0) || (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f)) {
if ((mProcVar0.m3570 != 0) || (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f)) {
dComIfGp_evmng_cutEnd(mStaffIdx);
if (m3570 == 0) {
m3570 = 1;
if (mProcVar0.m3570 == 0) {
mProcVar0.m3570 = 1;
setSingleMoveAnime(ANM_SURPRISEDWAIT, 1.0f, 0.0f, -1, 3.0f);
if (mpAnmTexPatternData->getFrameMax() == 0) {
m3530 = 0;
@@ -1670,7 +1670,7 @@ BOOL daPy_lk_c::dProcSmile_init() {
setSingleMoveAnime(ANM_WAITS, 1.0f, 0.0f, -1, 5.0f);
setTextureAnime(143, 0);
mVelocity = 0.0f;
m3570 = 0;
mProcVar0.m3570 = 0;
initShipRideUseItem(iVar2, 1);
return true;
}
@@ -1682,8 +1682,8 @@ BOOL daPy_lk_c::dProcSmile() {
}
m3530++;
if (m3530 >= mpAnmTexPatternData->getFrameMax()) {
if (m3570 == 0) {
m3570 = 1;
if (mProcVar0.m3570 == 0) {
mProcVar0.m3570 = 1;
} else {
dComIfGp_evmng_cutEnd(mStaffIdx);
}
@@ -1699,11 +1699,11 @@ BOOL daPy_lk_c::dProcBossWarp_init() {
commonProcInit(daPyProc_DEMO_BOSS_WARP_e);
if (mDemo.getParam0() == 0) {
setSingleMoveAnime(ANM_WARPOUTFIRST, 1.0f, 0.0f, -1, 3.0f);
m3570 = 1;
mProcVar0.m3570 = 1;
deleteEquipItem(FALSE);
} else {
setSingleMoveAnime(ANM_WARPIN, 1.0f, 0.0f, -1, -1.0f);
m3570 = 0;
mProcVar0.m3570 = 0;
}
mVelocity = 0.0f;
if (mDemo.getParam0() == 2) {
@@ -1723,10 +1723,10 @@ BOOL daPy_lk_c::dProcBossWarp() {
m353E = m353C = 0;
}
if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f) {
if (m3570 == 0) {
if (mProcVar0.m3570 == 0) {
dComIfGp_evmng_cutEnd(mStaffIdx);
} else {
m3570 = 0;
mProcVar0.m3570 = 0;
setSingleMoveAnime(ANM_WARPOUT, 1.0f, 0.0f, -1, 10.0f);
}
}
@@ -1739,7 +1739,7 @@ BOOL daPy_lk_c::dProcAgbUse_init() {
return true;
}
int iVar2 = checkShipRideUseItem(1);
m3570 = 0;
mProcVar0.m3570 = 0;
commonProcInit(daPyProc_DEMO_AGB_USE_e);
keepItemData();
setAnimeEquipItem();
@@ -1772,7 +1772,7 @@ BOOL daPy_lk_c::dProcLookTurn_init() {
dVar2 = ANM_WINDR;
}
setSingleMoveAnime(dVar2, 1.0f, 0.0f, -1, 5.0f);
m3570 = 0;
mProcVar0.m3570 = 0;
return true;
}
@@ -1783,9 +1783,9 @@ BOOL daPy_lk_c::dProcLookTurn() {
shape_angle.y -= -0x8000;
current.angle.y = shape_angle.y;
setOldRootQuaternion(0, -0x8000, 0);
m3570 = 1;
mProcVar0.m3570 = 1;
}
if ((m3570 != 0) && (m_old_fdata->getOldFrameRate() < 0.01f)) {
if ((mProcVar0.m3570 != 0) && (m_old_fdata->getOldFrameRate() < 0.01f)) {
dComIfGp_evmng_cutEnd(mStaffIdx);
}
return true;
@@ -1914,7 +1914,7 @@ BOOL daPy_lk_c::dProcGetDance_init() {
current.angle.y = shape_angle.y;
m3628 = fpcM_ERROR_PROCESS_ID_e;
m34D0 = 0;
m3570 = mDemo.getParam0() + 0xd2;
mProcVar0.m3570 = mDemo.getParam0() + 0xd2;
dComIfGs_onTact(mDemo.getParam0());
initShipRideUseItem(iVar2, 0);
dKy_Itemgetcol_chg_on();
@@ -1952,7 +1952,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(mProcVar0.m3570))) {
shape_angle.y += 0x8000;
current.angle.y = shape_angle.y;
m34DE = shape_angle.y;
@@ -1985,7 +1985,7 @@ BOOL daPy_lk_c::dProcBottleOpenFairy_init() {
keepItemData();
setBottleModel(dItem_FAIRY_BOTTLE_e);
dComIfGp_setPlayerStatus1(0, daPyStts1_UNK4000_e);
m3570 = 0;
mProcVar0.m3570 = 0;
return true;
}
@@ -2139,9 +2139,9 @@ BOOL daPy_lk_c::dProcPowerUp_init() {
m34D0 = 0;
if (mDemo.getParam0() != 0) {
if (mDemo.getParam0() != 0x100) {
m3570 = mDemo.getParam0();
mProcVar0.m3570 = mDemo.getParam0();
} else {
m3570 = dComIfGp_event_getGtItm();
mProcVar0.m3570 = dComIfGp_event_getGtItm();
}
}
m3574 = 0;
@@ -2170,7 +2170,7 @@ BOOL daPy_lk_c::dProcPowerUp() {
dComIfGp_setMesgBgmOn();
} else if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f) {
if (m3624 == 0) {
m3624 = MSG_NO_FOR_ITEM(m3570);
m3624 = MSG_NO_FOR_ITEM(mProcVar0.m3570);
}
if (checkEndMessage(m3624)) {
dComIfGp_evmng_cutEnd(mStaffIdx);
@@ -2234,7 +2234,7 @@ BOOL daPy_lk_c::dProcLastCombo_init() {
m34BE = 4;
offNoResetFlg1(daPyFlg1_LAST_COMBO_WAIT);
setBlurPosResource(LKANM__LASTCOMBO_POS);
m3570 = 1;
mProcVar0.m3570 = 1;
m3574 = 0;
seStartOnlyReverb(JA_SE_LK_V_TURN_INTO_GN);
return true;
+12 -12
View File
@@ -185,7 +185,7 @@ BOOL daPy_lk_c::procFanSwing_init() {
daPy_HIO_fan_c0::m.field_0x14
);
setFanModel();
m3570 = 0;
mProcVar0.m3570 = 0;
voiceStart(7);
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;
@@ -235,7 +235,7 @@ BOOL daPy_lk_c::procFanSwing() {
daPy_HIO_move_c0::m.field_0x1C,
daPy_HIO_move_c0::m.field_0x20
);
} else if (m3570 == 0) {
} else if (mProcVar0.m3570 == 0) {
if (m34D0 != 0) {
if (!checkHeavyStateOn() &&
(!mAcch.ChkGroundHit() || checkNoResetFlg0(daPy_FLG0(daPyFlg0_UNK80000000 | daPyFlg0_UNK20000000)) ||
@@ -294,7 +294,7 @@ BOOL daPy_lk_c::procFanSwing() {
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) {
if (iVar4 == dBgS_Attr_GRASS_e) {
pJVar5->setRate(100.0f);
} else {
pJVar5->setRate(50.0f);
@@ -307,7 +307,7 @@ BOOL daPy_lk_c::procFanSwing() {
seStartSwordCut(JA_SE_LK_SW_KAZEKIRI_S);
}
voiceStart(1);
m3570 = 1;
mProcVar0.m3570 = 1;
} else if (cLib_addCalc(&mVelocity, 0.0f, 0.5f, 1.5f, 0.3f) < 0.5f) {
resetFootEffect();
}
@@ -343,7 +343,7 @@ BOOL daPy_lk_c::procFanGlide_init(int param_0) {
m34D4 = 0;
m34D6 = 0;
m34D8 = 0;
m3570 = 0;
mProcVar0.m3570 = 0;
m34DA = 0;
m3730 = cXyz::Zero;
voiceStart(5);
@@ -373,11 +373,11 @@ BOOL daPy_lk_c::procFanGlide() {
JPASetRMtxTVecfromMtx(mpCLModel->getAnmMtx(0xf), emitter->mGlobalRotation, emitter->mGlobalTranslation);
}
}
if (frameCtrl.getRate() < 0.01f && m3570 == 0 && m32E4.mpEmitter == NULL) {
if (frameCtrl.getRate() < 0.01f && mProcVar0.m3570 == 0 && m32E4.mpEmitter == NULL) {
m32E4.makeEmitter(dPa_name::ID_COMMON_004C, mpCLModel->getAnmMtx(0xf), &current.pos, NULL);
}
if (frameCtrl.getFrame() > 2.0f || m3570 != 0) {
if (frameCtrl.getFrame() > 2.0f || mProcVar0.m3570 != 0) {
if (mAcch.ChkGroundHit()) {
if (checkHeavyStateOn()) {
return changeLandProc(daPy_HIO_fan_c0::m.field_0x50);
@@ -432,7 +432,7 @@ 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) {
if (checkSetItemTrigger(dItem_DEKU_LEAF_e, 1) && frameCtrl.getRate() < 0.01f && mProcVar0.m3570 == 0) {
setSingleMoveAnime(
ANM_USEFANB,
daPy_HIO_fan_c0::m.field_0x20,
@@ -491,8 +491,8 @@ BOOL daPy_lk_c::procFanGlide() {
f32 fVar1 = 1.0f;
dVar13 = 20.0f;
local_64 = 1.0f;
if (m3570 == 0) {
m3570 = 1;
if (mProcVar0.m3570 == 0) {
mProcVar0.m3570 = 1;
setSingleMoveAnime(ANM_USEFANB2, fVar1, 0.0f, -1, daPy_HIO_fan_c0::m.field_0x30);
mpParachuteFanMorf->setAnm(
getItemAnimeResource(LKANM_BCK_FANB2A),
@@ -513,8 +513,8 @@ BOOL daPy_lk_c::procFanGlide() {
local_54.y = 0.5f * local_64 * local_60.y;
local_54.z = local_64 * daPy_HIO_fan_c0::m.field_0x4C * local_60.z;
dVar13 = 3.0f;
if (m3570 != 0) {
m3570 = 0;
if (mProcVar0.m3570 != 0) {
mProcVar0.m3570 = 0;
setSingleMoveAnime(
ANM_USEFANB,
daPy_HIO_fan_c0::m.field_0x20,
+4 -4
View File
@@ -99,8 +99,8 @@ BOOL daPy_lk_c::procFoodThrow_init() {
keepItemData();
if (mDemo.getDemoType() == 5) {
m3570 = 6;
dCam_getBody()->StartEventCamera(0x12, fopAcM_GetID(this), "Type", &m3570, 0);
mProcVar0.m3570 = 6;
dCam_getBody()->StartEventCamera(0x12, fopAcM_GetID(this), "Type", &mProcVar0.m3570, 0);
}
initShipRideUseItem(temp, 2);
@@ -189,8 +189,8 @@ BOOL daPy_lk_c::procFoodSet_init() {
setHyoiModel();
if (mDemo.getDemoType() == 5) {
m3570 = 1;
dCam_getBody()->StartEventCamera(0x12, fopAcM_GetID(this), "Type", &m3570, 0);
mProcVar0.m3570 = 1;
dCam_getBody()->StartEventCamera(0x12, fopAcM_GetID(this), "Type", &mProcVar0.m3570, 0);
}
initShipRideUseItem(temp, 2);
+36 -48
View File
@@ -67,8 +67,6 @@ BOOL daPy_lk_c::checkGrabBarrelSearch(int param_0) {
/* 8013A97C-8013AF84 .text setGrabItemPos__9daPy_lk_cFv */
void daPy_lk_c::setGrabItemPos() {
/* Nonmatching - floats, math around the
"getStart() - getFrame()" section. */
static f32 magtail_offset = 40.0f;
float dVar10;
cXyz cStack_58;
@@ -138,10 +136,10 @@ void daPy_lk_c::setGrabItemPos() {
pfVar8->current.pos.y += field_0x2b0;
f32 fVar1;
if ((m_anm_heap_under[UNDER_MOVE0_e]).mIdx == LKANM_BCK_GRABUP) {
dVar10 =
(1.0f -
(((uint)mFrameCtrlUnder[UNDER_MOVE0_e].getStart() - mFrameCtrlUnder[UNDER_MOVE0_e].getFrame()) /
((int)mFrameCtrlUnder[UNDER_MOVE0_e].getEnd())));
dVar10 = (1.0f - ((mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() -
mFrameCtrlUnder[UNDER_MOVE0_e].getStart()) /
(mFrameCtrlUnder[UNDER_MOVE0_e].getEnd() -
mFrameCtrlUnder[UNDER_MOVE0_e].getStart())));
fVar1 = m35C8 * dVar10;
pfVar8->current.pos.x += fVar1 * cM_ssin(shape_angle.y);
pfVar8->current.pos.z += fVar1 * cM_scos(shape_angle.y);
@@ -213,7 +211,6 @@ void daPy_lk_c::freeGrabItem() {
/* 8013B05C-8013B458 .text checkNextActionGrab__9daPy_lk_cFv */
BOOL daPy_lk_c::checkNextActionGrab() {
/* Nonmatching - branching */
fopAc_ac_c* pfVar7 = mActorKeepGrab.getActor();
if (pfVar7 == NULL) {
@@ -222,10 +219,10 @@ BOOL daPy_lk_c::checkNextActionGrab() {
int iVar3 = checkGrabBarrelSearch(0);
if (fopAcM_CheckStatus(pfVar7, fopAcStts_UNK10000_e) && !checkGrabSpecialHeavyState()) {
g_dComIfG_gameInfo.play.field_0x492d = 14;
dComIfGp_setRStatus(14);
dComIfGp_setDoStatus(14);
} else {
g_dComIfG_gameInfo.play.field_0x492d = 9;
dComIfGp_setRStatus(9);
}
if (mpAttnActorLockOn == NULL && mpAttnEntryA != NULL && iVar3 == 0 &&
mpAttnEntryA->mType == fopAc_Attn_TYPE_DOOR_e && fopAcM_CheckStatus(pfVar7, fopAcStts_UNK2000000_e))
@@ -260,21 +257,21 @@ BOOL daPy_lk_c::checkNextActionGrab() {
} else if ((fopAcM_GetName(pfVar7) == PROC_BOMB) && (checkSetItemTrigger(dItem_BOMB_BAG_e, 0))) {
procGrabThrow_init(0);
} else if ((cancelTrigger()) && (checkSwordEquip()) && (iVar3 == 0)) {
if (g_dComIfG_gameInfo.play.field_0x492d == 14) {
if (dComIfGp_getRStatus() == 14) {
procGrabThrow_init(1);
} else {
freeGrabItem();
setAnimeEquipSword(0);
return true;
}
} else if (((!doTrigger()) || (checkNoResetFlg0(daPy_FLG0(daPyFlg0_UNK20000000 | daPyFlg0_UNK80000000)))) ||
} else if (((doTrigger()) && (!checkNoResetFlg0(daPy_FLG0(daPyFlg0_UNK20000000 | daPyFlg0_UNK80000000)))) &&
(dComIfGp_getDoStatus() == 11))
{
fopAcM_orderDoorEvent(this, mpAttnActorA);
return true;
} else if (((!doTrigger()) || (dComIfGp_getDoStatus() != 14)) &&
(g_dComIfG_gameInfo.play.field_0x492d != 14 ||
((mItemTrigger & 0x1f) == 0 && (spActionTrigger()))))
} else if (((doTrigger()) && (dComIfGp_getDoStatus() == 14)) ||
(dComIfGp_getRStatus() == 14 &&
((mItemTrigger & 0x1f) != 0 || (spActionTrigger()))))
{
if (cancelTrigger()) {
procGrabThrow_init(1);
@@ -328,11 +325,11 @@ BOOL daPy_lk_c::procGrabReady_init() {
daPy_HIO_grab_c0::m.field_0x0,
daPy_HIO_grab_c0::m.field_0x28
);
m3570 = 1;
mProcVar0.m3570 = 1;
} else {
setBlendMoveAnime(daPy_HIO_basic_c0::m.field_0xC);
setAnimeUnequip();
m3570 = 0;
mProcVar0.m3570 = 0;
}
if (((dComIfGs_getSelectEquip(2) == dItem_POWER_BRACELETS_e) ||
(!fopAcM_CheckStatus(mpAttnActorA, fopAcStts_UNK10000_e))) &&
@@ -363,9 +360,9 @@ BOOL daPy_lk_c::procGrabReady() {
if ((pfVar4 == NULL) && (mActorKeepRope.getActor() == NULL)) {
return checkNextMode(0);
} else {
if ((m3570 == 2) && (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f)) {
if ((mProcVar0.m3570 == 2) && (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f)) {
procGrabUp_init();
} else if ((m3570 == 1) && (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f)) {
} else if ((mProcVar0.m3570 == 1) && (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f)) {
if (pfVar4 != NULL) {
if (fopAcM_GetName(pfVar4) == PROC_BOKO) {
mEquipItem = daPyItem_BOKO_e;
@@ -387,7 +384,7 @@ BOOL daPy_lk_c::procGrabReady() {
daPy_HIO_grab_c0::m.field_0x10,
daPy_HIO_grab_c0::m.field_0x44
);
m3570 = 2;
mProcVar0.m3570 = 2;
} else {
procGrabUp_init();
}
@@ -396,7 +393,7 @@ BOOL daPy_lk_c::procGrabReady() {
} else {
checkNextMode(0);
}
} else if ((m3570 == 0) && (m_anm_heap_upper[UPPER_MOVE2_e].mIdx == 0xffff)) {
} else if ((mProcVar0.m3570 == 0) && (m_anm_heap_upper[UPPER_MOVE2_e].mIdx == 0xffff)) {
setSingleMoveAnime(
ANM_GRABP,
daPy_HIO_grab_c0::m.field_0x20,
@@ -404,7 +401,7 @@ BOOL daPy_lk_c::procGrabReady() {
daPy_HIO_grab_c0::m.field_0x0,
daPy_HIO_grab_c0::m.field_0x28
);
m3570 = 1;
mProcVar0.m3570 = 1;
}
return true;
}
@@ -412,7 +409,6 @@ BOOL daPy_lk_c::procGrabReady() {
/* 8013B8A0-8013BA50 .text procGrabUp_init__9daPy_lk_cFv */
BOOL daPy_lk_c::procGrabUp_init() {
/* Nonmatching - floats */
commonProcInit(daPyProc_GRAB_UP_e);
fopAc_ac_c* pfVar5 = mActorKeepGrab.getActor();
s16 sVar1;
@@ -492,7 +488,7 @@ BOOL daPy_lk_c::procGrabMiss_init() {
daPy_HIO_grab_c0::m.field_0x4,
daPy_HIO_grab_c0::m.field_0x44
);
m3570 = 0;
mProcVar0.m3570 = 0;
m34D0 = daPy_HIO_grab_c0::m.field_0x6;
dComIfGs_onEventBit(0x4020);
return true;
@@ -500,11 +496,10 @@ BOOL daPy_lk_c::procGrabMiss_init() {
/* 8013BC40-8013BD30 .text procGrabMiss__9daPy_lk_cFv */
BOOL daPy_lk_c::procGrabMiss() {
/* Nonmatching - floats */
if (mActorKeepRope.getActor() == NULL) {
checkNextMode(0);
}
if (m3570 == 0) {
if (mProcVar0.m3570 == 0) {
if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f) {
if ((int)m34D0 > 0) {
m34D0--;
@@ -516,7 +511,7 @@ BOOL daPy_lk_c::procGrabMiss() {
daPy_HIO_grab_c0::m.field_0x8,
daPy_HIO_grab_c0::m.field_0x54
);
m3570 = 1;
mProcVar0.m3570 = 1;
freeGrabItem();
}
}
@@ -557,7 +552,7 @@ BOOL daPy_lk_c::procGrabThrow_init(int param_0) {
}
m35A0 = mVelocity;
dComIfGp_clearPlayerStatus1(0, daPyStts1_UNK40000_e);
m3570 = param_0;
mProcVar0.m3570 = param_0;
return true;
}
}
@@ -599,15 +594,15 @@ BOOL daPy_lk_c::procGrabThrow() {
}
}
if (frameCtrl.getRate() < 0.01f) {
if (m3570 != 0) {
m3570 = 0;
if (mProcVar0.m3570 != 0) {
mProcVar0.m3570 = 0;
setAnimeEquipSword(0);
}
checkNextMode(0);
} else {
if (frameCtrl.getFrame() > daPy_HIO_grab_c0::m.field_0x60) {
if (m3570 != 0) {
m3570 = 0;
if (mProcVar0.m3570 != 0) {
mProcVar0.m3570 = 0;
setAnimeEquipSword(0);
}
checkNextMode(1);
@@ -623,10 +618,10 @@ BOOL daPy_lk_c::procGrabPut_init() {
} else {
commonProcInit(daPyProc_GRAB_PUT_e);
if (field_0x2b0 < 0.0f) {
m3570 = 1;
mProcVar0.m3570 = 1;
setSingleMoveAnime(ANM_GRABWAIT, daPy_HIO_grab_c0::m.field_0x78, 0.0f, -1, daPy_HIO_grab_c0::m.field_0x7C);
} else {
m3570 = 0;
mProcVar0.m3570 = 0;
setSingleMoveAnime(
ANM_GRABUP,
daPy_HIO_grab_c0::m.field_0x68,
@@ -649,7 +644,6 @@ BOOL daPy_lk_c::procGrabPut_init() {
/* 8013C124-8013C504 .text procGrabPut__9daPy_lk_cFv */
BOOL daPy_lk_c::procGrabPut() {
/* Nonmatching - floats */
fopAc_ac_c* pfVar4 = mActorKeepGrab.getActor();
if (pfVar4 == NULL) {
@@ -660,9 +654,9 @@ BOOL daPy_lk_c::procGrabPut() {
checkNextMode(0);
}
} else {
if (m3570 == 1) {
if (mProcVar0.m3570 == 1) {
if (!(field_0x2b0 < 0.0f)) {
m3570 = 0;
mProcVar0.m3570 = 0;
setSingleMoveAnime(
ANM_GRABUP,
daPy_HIO_grab_c0::m.field_0x68,
@@ -728,7 +722,6 @@ BOOL daPy_lk_c::procGrabPut() {
/* 8013C504-8013C678 .text procGrabWait_init__9daPy_lk_cFv */
BOOL daPy_lk_c::procGrabWait_init() {
/* Nonmatching - floats */
if (mCurProc == daPyProc_GRAB_WAIT_e) {
return false;
} else {
@@ -749,9 +742,9 @@ BOOL daPy_lk_c::procGrabWait_init() {
mVelocity = 0.0f;
m35A0 = 0.0f;
if (m35D8 <= -29.0f) {
m3570 = 1;
mProcVar0.m3570 = 1;
} else {
m3570 = 0;
mProcVar0.m3570 = 0;
}
return true;
}
@@ -759,7 +752,6 @@ BOOL daPy_lk_c::procGrabWait_init() {
/* 8013C678-8013C914 .text procGrabWait__9daPy_lk_cFv */
BOOL daPy_lk_c::procGrabWait() {
/* Nonmatching - floats, branching */
if (mActorKeepGrab.getActor() == NULL) {
resetActAnimeUpper(UPPER_MOVE2_e, -1.0f);
checkNextMode(0);
@@ -770,8 +762,8 @@ BOOL daPy_lk_c::procGrabWait() {
setSpeedAndAngleNormal(daPy_HIO_move_c0::m.field_0x0);
}
if (m35D8 <= -29.0f) {
if (((mFrameCtrlUnder[UNDER_MOVE0_e].getRate() > 0.0f) && (m3570 == 0)) &&
(m3570 = 1, m_anm_heap_under[UNDER_MOVE0_e].mIdx == LKANM_BCK_GRABWAIT))
if (((mFrameCtrlUnder[UNDER_MOVE0_e].getRate() > 0.0f) && (mProcVar0.m3570 == 0)) &&
(mProcVar0.m3570 = 1, m_anm_heap_under[UNDER_MOVE0_e].mIdx == LKANM_BCK_GRABWAIT))
{
seStartMapInfo(JA_SE_LK_BARREL_PUT_ON);
}
@@ -783,9 +775,7 @@ BOOL daPy_lk_c::procGrabWait() {
if (checkGrabAnime()) {
m_pbCalc[PART_UPPER_e]->setRatio(2, 1.0f);
}
} else {
if (shape_angle.y != m34DE) {
if (!mpAttention->Lockon()) {
} else if ((shape_angle.y != m34DE) && (!mpAttention->Lockon())) {
float fVar2;
if (checkNoResetFlg1(daPyFlg1_UNK800000)) {
fVar2 = -1.0f;
@@ -796,8 +786,7 @@ BOOL daPy_lk_c::procGrabWait() {
m_pbCalc[PART_UPPER_e]->setRatio(2, 1.0f);
m35A0 = 0.0049999999f * (short)(shape_angle.y - m34DE);
onNoResetFlg1(daPyFlg1_UNK800000);
}
} else if (checkNoResetFlg1(daPyFlg1_UNK800000)) {
} else if (checkNoResetFlg1(daPyFlg1_UNK800000)) {
if (checkGrabSpecialHeavyState()) {
setSingleMoveAnime(
ANM_GRABWAITB, daPy_HIO_grab_c0::m.field_0x90, 0.0f, -1, daPy_HIO_grab_c0::m.field_0x7C
@@ -811,7 +800,6 @@ BOOL daPy_lk_c::procGrabWait() {
m35A0 = 0.0f;
offNoResetFlg1(daPyFlg1_UNK800000);
}
}
return true;
}
}
-2
View File
@@ -42,7 +42,6 @@ void daPy_lk_c::setHammerWaterSplash() {
/* 80150B60-80150C40 .text procHammerSideSwing_init__9daPy_lk_cFv */
BOOL daPy_lk_c::procHammerSideSwing_init() {
/* Nonmatching - floats */
commonProcInit(daPyProc_HAMMER_SIDE_SWING_e);
setSingleMoveAnime(
ANM_HAMSWINGA,
@@ -115,7 +114,6 @@ BOOL daPy_lk_c::procHammerSideSwing() {
/* 80150DDC-80150F08 .text procHammerFrontSwingReady_init__9daPy_lk_cFv */
BOOL daPy_lk_c::procHammerFrontSwingReady_init() {
/* Nonmatching - floats */
commonProcInit(daPyProc_HAMMER_FRONT_SWING_READY_e);
setSingleMoveAnime(
ANM_HAMSWINGBPRE,
+7 -7
View File
@@ -201,7 +201,7 @@ BOOL daPy_lk_c::procHangStart_init() {
}
}
commonProcInit(daPyProc_HANG_START_e);
m3570 = sVar3;
mProcVar0.m3570 = sVar3;
setSingleMoveAnime(
ANM_VJMPCHA,
daPy_HIO_wallCatch_c0::m.field_0x44,
@@ -227,9 +227,9 @@ BOOL daPy_lk_c::procHangStart() {
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))
(mStickDistance > 0.05f || mProcVar0.m3570 != 0))
{
if (getDirectionFromShapeAngle() == DIR_FORWARD || m3570 != 0) {
if (getDirectionFromShapeAngle() == DIR_FORWARD || mProcVar0.m3570 != 0) {
procHangClimb_init(daPy_HIO_wallCatch_c0::m.field_0x2C);
}
} else {
@@ -366,7 +366,7 @@ BOOL daPy_lk_c::procHangUp_init(int param_0) {
daPy_HIO_hang_c0::m.field_0x20
);
dComIfGp_setPlayerStatus0(0, daPyStts0_UNK100_e);
m3570 = param_0;
mProcVar0.m3570 = param_0;
mVelocity = 0.0f;
return true;
}
@@ -384,10 +384,10 @@ BOOL daPy_lk_c::procHangUp() {
if ((mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f) ||
(mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() > daPy_HIO_hang_c0::m.field_0x1C))
{
if (m3570 == 0) {
if (mProcVar0.m3570 == 0) {
procHangClimb_init(daPy_HIO_wallCatch_c0::m.field_0x2C);
} else if (changeHangMoveProc(m3570)) {
procHangMove_init(m3570);
} else if (changeHangMoveProc(mProcVar0.m3570)) {
procHangMove_init(mProcVar0.m3570);
} else {
procHangWait_init();
}
+10 -10
View File
@@ -94,7 +94,7 @@ int daPy_lk_c::setMoveBGLadderCorrect() {
/* 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);
m3570 = 1;
mProcVar0.m3570 = 1;
m34C2 = 4;
dComIfGp_setPlayerStatus0(0, daPyStts0_UNK2000000_e);
}
@@ -114,7 +114,7 @@ BOOL daPy_lk_c::procLadderUpStart_init() {
} else {
setBlendMoveAnime(daPy_HIO_basic_c0::m.field_0xC);
setAnimeUnequip();
m3570 = 0;
mProcVar0.m3570 = 0;
m3598 = 0.0f;
}
f32 fVar1 = cM_ssin(m352C);
@@ -137,7 +137,7 @@ BOOL daPy_lk_c::procLadderUpStart() {
return true;
}
if (m3570 == 0) {
if (mProcVar0.m3570 == 0) {
if (m_anm_heap_upper[UPPER_MOVE2_e].mIdx == 0xffff) {
procLadderUpStart_init_sub();
}
@@ -207,7 +207,7 @@ BOOL daPy_lk_c::procLadderUpEnd() {
/* 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);
m3570 = 1;
mProcVar0.m3570 = 1;
m34C2 = 4;
dComIfGp_setPlayerStatus0(0, daPyStts0_UNK2000000_e);
setOldRootQuaternion(0, -0x8000, 0);
@@ -232,7 +232,7 @@ BOOL daPy_lk_c::procLadderDownStart_init() {
} else {
setBlendMoveAnime(daPy_HIO_basic_c0::m.field_0xC);
setAnimeUnequip();
m3570 = 0;
mProcVar0.m3570 = 0;
m3598 = 0.0f;
}
f32 fVar1 = cM_ssin(m352C);
@@ -252,7 +252,7 @@ BOOL daPy_lk_c::procLadderDownStart() {
return true;
}
if (m3570 == 0) {
if (mProcVar0.m3570 == 0) {
if (m_anm_heap_upper[UPPER_MOVE2_e].mIdx == 0xffff) {
procLadderDownStart_init_sub();
}
@@ -328,9 +328,9 @@ BOOL daPy_lk_c::procLadderMove_init(int param_0, int direction, cXyz* param_2) {
daPy_ANM anm;
if (param_0 != 0) {
if (uVar3 != 0) {
m3570 = 1;
mProcVar0.m3570 = 1;
} else {
m3570 = 0;
mProcVar0.m3570 = 0;
m370C.x = m370C.x - 2.0f * cM_scos(shape_angle.y);
m370C.z = m370C.z - -2.0f * cM_ssin(shape_angle.y);
}
@@ -340,7 +340,7 @@ BOOL daPy_lk_c::procLadderMove_init(int param_0, int direction, cXyz* param_2) {
anm = ANM_LADDERRTOL;
}
} else {
m3570 = 1;
mProcVar0.m3570 = 1;
if (dVar4 >= 0.0f) {
anm = ANM_LADDERRTOL;
} else {
@@ -383,7 +383,7 @@ BOOL daPy_lk_c::procLadderMove() {
m34D0--;
setLadderFootSe();
} else {
changeLadderMoveProc(m3570);
changeLadderMoveProc(mProcVar0.m3570);
}
} else {
f32 dVar2 = getLadderMoveAnmSpeed();
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -997,9 +997,9 @@ void daPy_lk_c::setFootEffect() {
cXyz sp44 = m370C;
mDoMtx_multVecZero(mpCLModel->getAnmMtx(0x1), &m370C);
if (m3570 != 0) {
if (mProcVar0.m3570 != 0) {
current.angle.y = shape_angle.y - 0x4000;
m3570 = 0;
mProcVar0.m3570 = 0;
} else {
cXyz sp38 = m370C - sp44;
current.angle.y = cM_atan2s(sp38.x, sp38.z);
+13 -15
View File
@@ -19,7 +19,7 @@ int daPy_lk_c::setPushPullKeepData(dBgW::PushPullLabel param_0) {
if (dComIfGs_getSelectEquip(2) == dItem_POWER_BRACELETS_e) {
cLib_onBit<dBgW::PushPullLabel>(param_0, dBgW::PP_UNK8_e);
}
if (m3570) {
if (mProcVar0.m3570) {
cLib_onBit<dBgW::PushPullLabel>(param_0, dBgW::PP_UNK4_e);
}
}
@@ -48,7 +48,7 @@ int daPy_lk_c::setPushPullKeepData(dBgW::PushPullLabel param_0) {
/* 80151644-801517C0 .text procPushPullWait_init__9daPy_lk_cFi */
BOOL daPy_lk_c::procPushPullWait_init(int param_0) {
commonProcInit(daPyProc_PUSH_PULL_WAIT_e);
m3570 = param_0;
mProcVar0.m3570 = param_0;
mVelocity = 0.0f;
if ((param_0 == 0) || (mEquipItem == daPyItem_NONE_e)) {
if (checkEquipAnime()) {
@@ -77,29 +77,28 @@ BOOL daPy_lk_c::procPushPullWait_init(int param_0) {
/* 801517C0-8015198C .text procPushPullWait__9daPy_lk_cFv */
BOOL daPy_lk_c::procPushPullWait() {
/* Nonmatching - "sVar1" if statement */
dComIfGp_setRStatus(0x11);
setFrontWallType();
if (m34D6 != 0) {
if (m_anm_heap_upper[UPPER_MOVE2_e].mIdx == 0xffff) {
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
);
m34D6 = 0;
}
} else if ((spActionButton()) && (checkResetFlg0(daPyRFlg0_UNK8))) {
if (m3570 != 0) {
if (mProcVar0.m3570 != 0) {
s16 sVar1 = cLib_addCalcAngleS(&shape_angle.y, m34D4, 3, 0x800, 0x100);
current.angle.y = shape_angle.y;
f32 dVar2 = cLib_addCalc(&current.pos.x, m370C.x, 0.5f, 10.0f, 1.0f);
dVar2 += cLib_addCalc(&current.pos.z, m370C.z, 0.5f, 10.0f, 1.0f);
if (((!sVar1) && (dVar2 < 5.0f)) && (m_anm_heap_upper[UPPER_MOVE2_e].mIdx == 0xffff)) {
if (((!sVar1) && (dVar2 < 5.0f)) && (m_anm_heap_upper[UPPER_MOVE2_e].mIdx == 0xFFFF)) {
current.pos.x = m370C.x;
current.pos.z = m370C.z;
m3570 = 0;
mProcVar0.m3570 = 0;
}
}
if (m3570 == 0) {
if (mProcVar0.m3570 == 0) {
if (mStickDistance > 0.05f) {
int direction = getDirectionFromShapeAngle();
if (direction == DIR_FORWARD) {
@@ -126,7 +125,7 @@ BOOL daPy_lk_c::procPushMove_init() {
setSingleMoveAnime(
ANM_WALKPUSH, daPy_HIO_pushpull_c0::m.field_0x8, 0.0f, -1, daPy_HIO_pushpull_c0::m.field_0xC
);
m3570 = 1;
mProcVar0.m3570 = 1;
dComIfGp_setPlayerStatus0(0, daPyStts0_UNK4000000_e);
}
return true;
@@ -152,10 +151,10 @@ BOOL daPy_lk_c::procPushMove() {
}
return procPushPullWait_init(0);
}
if (m3570 != 0) {
if (mProcVar0.m3570 != 0) {
voiceStart(19);
}
m3570 = 0;
mProcVar0.m3570 = 0;
setPushPullKeepData(dBgW::PP_UNK1_e);
}
return true;
@@ -170,7 +169,7 @@ BOOL daPy_lk_c::procPullMove_init() {
setSingleMoveAnime(
ANM_WALKPULL, daPy_HIO_pushpull_c0::m.field_0x10, 0.0f, -1, daPy_HIO_pushpull_c0::m.field_0x14
);
m3570 = 1;
mProcVar0.m3570 = 1;
dComIfGp_setPlayerStatus0(0, daPyStts0_UNK4000000_e);
}
return true;
@@ -178,7 +177,6 @@ BOOL daPy_lk_c::procPullMove_init() {
/* 80151BC8-80151E40 .text procPullMove__9daPy_lk_cFv */
BOOL daPy_lk_c::procPullMove() {
/* Nonmatching - floats */
dComIfGp_setRStatus(0x11);
int direction = getDirectionFromShapeAngle();
setFrontWallType();
@@ -223,10 +221,10 @@ BOOL daPy_lk_c::procPullMove() {
}
return procPushPullWait_init(0);
}
if (m3570 == 1) {
if (mProcVar0.m3570 == 1) {
voiceStart(19);
}
m3570 = 0;
mProcVar0.m3570 = 0;
setPushPullKeepData(dBgW::PP_UNK2_e);
}
return true;
+31 -43
View File
@@ -57,7 +57,6 @@ f32 daPy_lk_c::checkRopeRoofHit(s16 param_0) {
/* 80142E98-80142FC8 .text changeRopeSwingProc__9daPy_lk_cFv */
int daPy_lk_c::changeRopeSwingProc() {
/* Nonmatching - floats */
if (mCyl.ChkCoHit() != 0) {
fopAc_ac_c* pfVar2 = mCyl.GetCoHitAc();
if (((pfVar2 != NULL)) && (fopAcM_GetName(pfVar2) == PROC_HIMO3)) {
@@ -101,7 +100,7 @@ BOOL daPy_lk_c::checkSpecialRope() {
/* 80143138-8014327C .text changeRopeToHangProc__9daPy_lk_cFv */
int daPy_lk_c::changeRopeToHangProc() {
if (m3570 == 0) {
if (mProcVar0.m3570 == 0) {
return false;
}
f32 fVar1 = cM_ssin(shape_angle.y);
@@ -135,7 +134,7 @@ BOOL daPy_lk_c::checkRopeSwingWall(cXyz*, cXyz*, s16*, f32*) {
/* 80143694-80143A44 .text setBlendRopeMoveAnime__9daPy_lk_cFi */
void daPy_lk_c::setBlendRopeMoveAnime(int param_0) {
/* Nonmatching - floats, branching */
/* Nonmatching - regalloc */
float fVar1;
u16* puVar3;
daPy_ANM dVar4;
@@ -229,7 +228,6 @@ void daPy_lk_c::setBlendRopeMoveAnime(int param_0) {
/* 80143A44-80143C5C .text throwRope__9daPy_lk_cFv */
int daPy_lk_c::throwRope() {
/* Nonmatching - floats */
himo2_class* rope = (himo2_class*)mActorKeepEquip.getActor();
setActAnimeUpper(LKANM_BCK_ROPETHROW, UPPER_MOVE2_e, daPy_HIO_rope_c0::m.field_0x44,
daPy_HIO_rope_c0::m.field_0x48, daPy_HIO_rope_c0::m.field_0x8, -1.0f);
@@ -271,48 +269,43 @@ int daPy_lk_c::throwRope() {
/* 80143C5C-80143DF4 .text checkNextActionRopeReady__9daPy_lk_cFv */
BOOL daPy_lk_c::checkNextActionRopeReady() {
/* Nonmatching - branching */
himo2_class* pnVar3 = (himo2_class*)mActorKeepEquip.getActor();
u32 uVar2 = fopAcM_GetParam(pnVar3);
if (uVar2 == 2) {
procRopeReady_init();
return procRopeReady_init();
} else if (uVar2 == 0) {
if (m_anm_heap_upper[UPPER_MOVE2_e].mIdx == LKANM_BCK_ROPETHROW) {
if (mFrameCtrlUpper[UPPER_MOVE2_e].getRate() < 0.01f) {
procRopeThrowCatch_init();
return procRopeThrowCatch_init();
} else {
return true;
}
} else if (!mpAttention->Lockon()) {
dComIfGp_setDoStatus(7);
}
if (((itemButton()) && (mEquipItem == getReadyItem())) && (m355C == 0)) {
m355E = 1;
} else {
if (!mpAttention->Lockon()) {
g_dComIfG_gameInfo.play.mCurrButtonAAction = 7;
}
if (((itemButton()) && (mEquipItem == getReadyItem())) && (m355C == 0)) {
m355E = 1;
} else {
if ((!itemButton()) && (m355E != 0)) {
m355E = 0;
if (throwRope()) {
return true;
}
if ((!itemButton()) && (m355E != 0)) {
m355E = 0;
if (throwRope()) {
return true;
}
}
if ((cancelItemUpperReadyAnime())) {
return true;
}
}
} else {
if (((pnVar3->field_0x2DC == 5) || (pnVar3->field_0x2DC == 8)) ||
(pnVar3->field_0x2DC == 9))
{
procRopeThrowCatch_init();
} else {
checkNextRopeMode();
if ((cancelItemUpperReadyAnime())) {
return true;
}
if (0 < m355C) {
m355C--;
}
} else if (((pnVar3->field_0x2DC == 5) || (pnVar3->field_0x2DC == 8)) ||
(pnVar3->field_0x2DC == 9))
{
return procRopeThrowCatch_init();
} else {
checkNextRopeMode();
return true;
}
if (0 < m355C) {
m355C--;
}
return false;
}
@@ -367,7 +360,7 @@ BOOL daPy_lk_c::procRopeSubject_init() {
mDoAud_seStart(JA_SE_CAMERA_L_MOVE);
m3570 = 0;
mProcVar0.m3570 = 0;
m3600 = -1.0f;
m3604 = -1.0f;
@@ -469,7 +462,6 @@ BOOL daPy_lk_c::procRopeReady_init() {
/* 80144464-80144620 .text procRopeReady__9daPy_lk_cFv */
BOOL daPy_lk_c::procRopeReady() {
/* Nonmatching - floats */
if (!checkItemModeActorPointer()) {
return true;
}
@@ -492,7 +484,7 @@ BOOL daPy_lk_c::procRopeReady() {
/* 80144620-80144C58 .text procRopeSwing_init__9daPy_lk_cFP10fopAc_ac_cs */
BOOL daPy_lk_c::procRopeSwing_init(fopAc_ac_c* param_0, s16 param_1) {
/* Nonmatching - floats, regalloc */
/* Nonmatching - regalloc */
float dVar8;
float dVar9;
cXyz local_84;
@@ -591,7 +583,7 @@ BOOL daPy_lk_c::procRopeSwing_init(fopAc_ac_c* param_0, s16 param_1) {
/* 80144C58-801456D8 .text procRopeSwing__9daPy_lk_cFv */
BOOL daPy_lk_c::procRopeSwing() {
/* Nonmatching - floats, regalloc, math */
/* Nonmatching, regalloc, math */
fopAc_ac_c* pfVar5;
short sVar8;
short sVar9;
@@ -858,8 +850,8 @@ BOOL daPy_lk_c::procRopeHangWait() {
/* 80145B38-80145C3C .text specialRopeHangUp__9daPy_lk_cFv */
int daPy_lk_c::specialRopeHangUp() {
/* Nonmatching - floats, shape_angle.y */
uint uVar1;
/* Nonmatching - shape_angle.y */
u32 uVar1;
int iVar2;
if (checkSpecialRope()) {
@@ -887,10 +879,9 @@ int daPy_lk_c::specialRopeHangUp() {
/* 80145C3C-80145DBC .text procRopeUp_init__9daPy_lk_cFv */
BOOL daPy_lk_c::procRopeUp_init() {
/* Nonmatching - floats */
fopAc_ac_c* pfVar3 = mActorKeepRope.getActor();
mRopePos = pfVar3->current.pos;
m3570 = 0;
mProcVar0.m3570 = 0;
f32 dVar4;
if (checkBossGomaStage()) {
dVar4 = (mRopePos.y - 200.0f);
@@ -901,7 +892,7 @@ BOOL daPy_lk_c::procRopeUp_init() {
if (dVar5 < dVar4) {
dVar4 = dVar5;
} else if ((fopAcM_GetName(pfVar3)) == PROC_HIMO2 || (checkSpecialRope())) {
m3570 = 1;
mProcVar0.m3570 = 1;
}
}
if (dVar4 <= current.pos.y) {
@@ -972,7 +963,6 @@ BOOL daPy_lk_c::procRopeUp() {
/* 80145F64-801460EC .text procRopeDown_init__9daPy_lk_cFv */
BOOL daPy_lk_c::procRopeDown_init() {
/* Nonmatching - floats */
fopAc_ac_c* pfVar4 = mActorKeepRope.getActor();
mRopePos = pfVar4->current.pos;
if (mActorKeepEquip.getActor() != NULL) {
@@ -1042,7 +1032,6 @@ BOOL daPy_lk_c::procRopeDown() {
/* 80146240-801463E8 .text procRopeSwingStart_init__9daPy_lk_cFv */
BOOL daPy_lk_c::procRopeSwingStart_init() {
/* Nonmatching - floats */
fopAc_ac_c* pfVar2 = mActorKeepRope.getActor();
mRopePos = pfVar2->current.pos;
commonProcInit(daPyProc_ROPE_SWING_START_e);
@@ -1066,7 +1055,6 @@ BOOL daPy_lk_c::procRopeSwingStart_init() {
/* 801463E8-80146610 .text procRopeSwingStart__9daPy_lk_cFv */
BOOL daPy_lk_c::procRopeSwingStart() {
/* Nonmatching - floats */
dComIfGp_setRStatus(0x13);
cXyz local_28;
local_28.set(0.0f, -m35A0, 0.0f);
+73 -26
View File
@@ -60,10 +60,57 @@ BOOL daPy_lk_c::checkShipNotNormalMode() {
}
/* 8013F9B0-8013FE78 .text setShipRideArmAngle__9daPy_lk_cFiP16J3DTransformInfo */
void daPy_lk_c::setShipRideArmAngle(int, J3DTransformInfo*) {
/* Nonmatching */
static cXyz arm_pos;
static cXyz armA_offset;
void daPy_lk_c::setShipRideArmAngle(int param_1, J3DTransformInfo* param_2) {
/* Nonmatching - regalloc, math */
static cXyz arm_pos(0.0f, 0.0f, 0.0f);
static cXyz armA_offset(17.0f, 0.0f, 0.0f);
cXyz local_74;
cXyz local_68;
s32 uVar3 = (param_1 == 0xA) ? 1 : 0;
if (uVar3 != 0) {
f32 fVar1 = m_old_fdata->getOldFrameRate();
f32 fVar2 = 1.0f / (1.0f - fVar1);
J3DTransformInfo* iVar4 = m_old_fdata->getOldFrameTransInfo(param_1);
param_2->mTranslate.x *= fVar2 - iVar4->mTranslate.x * fVar1;
param_2->mTranslate.y *= fVar2 - iVar4->mTranslate.y * fVar1;
param_2->mTranslate.z *= fVar2 - iVar4->mTranslate.z * fVar1;
local_74.set(param_2->mTranslate.x, param_2->mTranslate.y, param_2->mTranslate.z);
mDoMtx_multVec(J3DSys::mCurrentMtx, &local_74, &arm_pos);
}
local_68 = (dComIfGp_getShipActor()->m0438 - arm_pos);
f32 dVar10 = local_68.absXZ();
u32 uVar5 = cM_atan2s(local_68.y, dVar10);
mDoMtx_stack_c::transS(arm_pos.x, arm_pos.y, arm_pos.z);
f32 dVar12 = (26.299999f * cM_scos((uVar5 & 0xffff)));
f32 dVar8 = local_68.absXZ();
dVar10 = dVar8;
if (uVar3 == 0) {
mDoMtx_stack_c::YrotM(cM_atan2s(local_68.x, local_68.z) + -0x4000);
if (dVar10 >= dVar12) {
mDoMtx_stack_c::scaleM((dVar10 / dVar12), 1.0f, 1.0f);
}
} else {
f32 dVar9 = (17.0f * cM_scos(uVar5 & 0xffff));
f32 dVar11 = (dVar12 + dVar9);
if (dVar10 >= dVar11) {
mDoMtx_stack_c::YrotM(cM_atan2s(local_68.x, local_68.z) + -0x4000);
mDoMtx_stack_c::scaleM((dVar10 / dVar11), 1.0f, 1.0f);
} else {
dVar12 = ((dVar8 + ((dVar9 * dVar9) - (dVar12 * dVar12))) / (2.0f * dVar8));
mDoMtx_stack_c::YrotM(
(cM_atan2s(local_68.x, local_68.z) + -0x4000) -
cM_atan2s(std::sqrtf((dVar9 * dVar9) - (dVar12 * (dVar8 * dVar12))),
(dVar10 * dVar12)));
}
}
mDoMtx_stack_c::ZrotM(uVar5);
mDoMtx_stack_c::XrotM(0x4000);
mDoMtx_copy(mDoMtx_stack_c::now, J3DSys::mCurrentMtx);
if (uVar3 != 0) {
mDoMtx_stack_c::multVec(&armA_offset, &arm_pos);
}
return;
}
/* 8013FE78-8013FEF4 .text checkShipRideUseItem__9daPy_lk_cFi */
@@ -117,7 +164,7 @@ void daPy_lk_c::setShipRidePos(int param_0) {
daShip_c* iVar1 = dComIfGp_getShipActor();
if (iVar1 != 0) {
if (iVar1->mStateFlag & 0x4000) {
g_dComIfG_gameInfo.play.field_0x492d = 0x12;
dComIfGp_setRStatus(0x12);
}
if (param_0 != 0) {
shape_angle.y = iVar1->shape_angle.y;
@@ -130,10 +177,10 @@ void daPy_lk_c::setShipRidePos(int param_0) {
m3542 = 0;
} else {
m353C = m353C + m3540;
m3540 = (s16)(int)((float)m3540 + 0.75f * (int)(short)(iVar1->shape_angle.x - m353C));
m3540 = (s16)(m3540 + 0.75f * (s16)(iVar1->shape_angle.x - m353C));
cLib_addCalcAngleS(&m3540, 0, 5, 0x200, 0x100);
m353E = m353E + m3542;
m3542 = m3542 + ((short)(iVar1->shape_angle.z - m353E) >> 1);
m3542 += ((s16)(iVar1->shape_angle.z - m353E) >> 1);
cLib_addCalcAngleS(&m3542, 0, 5, 0x100, 0x30);
}
if (mCurProc == ANM_WARPOUT) {
@@ -400,11 +447,11 @@ void daPy_lk_c::initShipCraneAnime() {
if ((s16)dComIfGp_getShipActor()->m039A > 0) {
dVar1 = ANM_SALVRWAIT;
m3570 = 3;
mProcVar0.m3570 = 3;
m3574 = 3;
} else {
dVar1 = ANM_SALVLWAIT;
m3570 = 2;
mProcVar0.m3570 = 2;
m3574 = 2;
}
daPy_matAnm_c::offMabaFlg();
@@ -434,7 +481,7 @@ BOOL daPy_lk_c::procShipReady_init() {
m34D0 = 1;
}
current.angle.y = shape_angle.y;
m3570 = 0;
mProcVar0.m3570 = 0;
iVar1->m034D = 3;
dComIfGp_setPlayerStatus0(0, daPyStts0_UNK1000000_e);
swimOutAfter(1);
@@ -454,14 +501,14 @@ BOOL daPy_lk_c::procShipReady() {
return checkNextMode(0);
}
if (m3570 == 0) {
if (mProcVar0.m3570 == 0) {
if (m34D0 == 0) {
mDoMtx_multVec(ship->m0298->getModel()->getBaseTRMtx(), &l_ship_ledge, &current.pos);
} else {
mDoMtx_multVec(ship->m0298->getModel()->getBaseTRMtx(), &l_ship_redge, &current.pos);
}
if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f) {
m3570 = 1;
mProcVar0.m3570 = 1;
mVelocity = 6.0f;
setSingleMoveAnime(ANM_WALK, daPy_HIO_move_c0::m.field_0x40, 0.0f, -1, 5.0f);
m34C2 = 10;
@@ -800,9 +847,9 @@ BOOL daPy_lk_c::procShipHookshot_init() {
setShipRidePos(0);
m34D4 = ship->shape_angle.y;
if (mpAttention->Lockon()) {
m3570 = 1;
mProcVar0.m3570 = 1;
} else {
m3570 = 0;
mProcVar0.m3570 = 0;
}
return true;
@@ -818,7 +865,7 @@ BOOL daPy_lk_c::procShipHookshot() {
dComIfGp_setDoStatus(7);
daHookshot_c* pfVar4 = (daHookshot_c*)mActorKeepEquip.getActor();
if (((doTrigger()) || (pfVar4 == NULL)) ||
((m3570 != 0) && (m355E == 0)) && (!mpAttention->Lockon()))
((mProcVar0.m3570 != 0) && (m355E == 0)) && (!mpAttention->Lockon()))
{
procShipPaddle_init();
deleteEquipItem(TRUE);
@@ -836,11 +883,11 @@ BOOL daPy_lk_c::procShipHookshot() {
} else {
m34DA = 0;
}
m3570 = 1;
mProcVar0.m3570 = 1;
} else {
m34DA = 0;
setBodyAngleToCamera();
m3570 = 0;
mProcVar0.m3570 = 0;
}
if (mpAttnActorLockOn == NULL) {
shape_angle.y += (s16)(ship->shape_angle.y - m34D4);
@@ -884,9 +931,9 @@ BOOL daPy_lk_c::procShipBow_init() {
m34D4 = ship->shape_angle.y;
m34DA = 0;
if (mpAttention->Lockon() && mDemo.getDemoMode() != 0x44) {
m3570 = 1;
mProcVar0.m3570 = 1;
} else {
m3570 = 0;
mProcVar0.m3570 = 0;
}
return true;
@@ -901,7 +948,7 @@ BOOL daPy_lk_c::procShipBow() {
if (mDemo.getDemoMode() != 0x44) {
dComIfGp_setDoStatus(7);
if ((doTrigger()) ||
(((!mpAttention->Lockon()) && (mActorKeepEquip.getActor() == NULL)) && (m3570 != 0)))
(((!mpAttention->Lockon()) && (mActorKeepEquip.getActor() == NULL)) && (mProcVar0.m3570 != 0)))
{
procShipPaddle_init();
deleteEquipItem(TRUE);
@@ -916,11 +963,11 @@ BOOL daPy_lk_c::procShipBow() {
}
if ((mpAttention->Lockon()) && (mDemo.getDemoMode() != 0x44)) {
setShipAttnetionBodyAngle();
m3570 = 1;
mProcVar0.m3570 = 1;
} else {
m34DA = 0;
setBodyAngleToCamera();
m3570 = 0;
mProcVar0.m3570 = 0;
}
if (mpAttnActorLockOn == NULL) {
shape_angle.y += (s16)(iVar1->shape_angle.y - m34D4);
@@ -956,7 +1003,7 @@ BOOL daPy_lk_c::procShipCannon() {
return true;
}
g_dComIfG_gameInfo.play.field_0x492d = 0x2c;
dComIfGp_setRStatus(0x2c);
if (dComIfGp_getDoStatus() == 0 && dComIfGp_getShipActor()->speedF >= 3.0f) {
dComIfGp_setDoStatus(19);
}
@@ -1007,7 +1054,7 @@ BOOL daPy_lk_c::procShipGetOff_init() {
gravity = 0.0f;
shape_angle.y = iVar1->shape_angle.y + -0x4000;
current.angle.y = shape_angle.y;
m3570 = 0;
mProcVar0.m3570 = 0;
m370C.x = current.pos.x + cM_ssin(shape_angle.y) * l_ship_ledge.x;
m370C.y = iVar1->current.pos.y + l_ship_ledge.y;
m370C.z = current.pos.z + cM_scos(shape_angle.y) * l_ship_ledge.x;
@@ -1023,7 +1070,7 @@ BOOL daPy_lk_c::procShipGetOff() {
daShip_c* iVar1 = dComIfGp_getShipActor();
if (iVar1 == 0) {
checkNextMode(0);
} else if (m3570 == 0) {
} else if (mProcVar0.m3570 == 0) {
current.pos.y = current.pos.y + (iVar1->current.pos.y - m35A0);
cLib_chaseF(&current.pos.y, iVar1->current.pos.y + l_ship_ledge.y, 4.0f);
m35A0 = iVar1->current.pos.y;
@@ -1035,7 +1082,7 @@ BOOL daPy_lk_c::procShipGetOff() {
gravity = daPy_HIO_autoJump_c0::m.field_0xC;
mVelocity = daPy_HIO_ship_c0::m.field_0x10;
speed.y = daPy_HIO_ship_c0::m.field_0x14;
m3570 = 1;
mProcVar0.m3570 = 1;
m34C2 = 1;
iVar1->m034D = 6;
onModeFlg(ModeFlg_MIDAIR);
+44 -48
View File
@@ -14,10 +14,6 @@
#include "d/actor/d_a_player_HIO.h"
#include "f_op/f_op_kankyo_mng.h"
daPy_HIO_swim_c0 l_HIO_swim_c0;
daPy_HIO_wallCatch_c0 l_HIO_wallCatch_c0;
daPy_HIO_turn_c0 l_HIO_turn_c0;
/* 8013CC64-8013CF2C .text setSpeedAndAngleSwim__9daPy_lk_cFv */
void daPy_lk_c::setSpeedAndAngleSwim() {
float fVar1;
@@ -38,7 +34,7 @@ void daPy_lk_c::setSpeedAndAngleSwim() {
current.angle.y = m34E8;
}
else {
cLib_addCalcAngleS(&shape_angle.y, m34E8, l_HIO_swim_c0.m.field_0x8, l_HIO_swim_c0.m.field_0x4, l_HIO_swim_c0.m.field_0x6);
cLib_addCalcAngleS(&shape_angle.y, m34E8, daPy_HIO_swim_c0::m.field_0x8, daPy_HIO_swim_c0::m.field_0x4, daPy_HIO_swim_c0::m.field_0x6);
}
fVar1 = mStickDistance * 3.0f * cM_scos(shape_angle.y - oldAngleY);
@@ -49,7 +45,7 @@ void daPy_lk_c::setSpeedAndAngleSwim() {
cLib_addCalcAngleS(&current.angle.y, shape_angle.y, 2, 0x2000, 0x1000);
mMaxNormalSpeed = l_HIO_swim_c0.m.field_0xC;
mMaxNormalSpeed = daPy_HIO_swim_c0::m.field_0xC;
}
else {
setShapeAngleToAtnActor();
@@ -65,7 +61,7 @@ void daPy_lk_c::setSpeedAndAngleSwim() {
bVar3 = TRUE;
}
else {
cLib_addCalcAngleS(&current.angle.y, m34E8, l_HIO_swim_c0.m.field_0x8, l_HIO_swim_c0.m.field_0x4, l_HIO_swim_c0.m.field_0x6);
cLib_addCalcAngleS(&current.angle.y, m34E8, daPy_HIO_swim_c0::m.field_0x8, daPy_HIO_swim_c0::m.field_0x4, daPy_HIO_swim_c0::m.field_0x6);
fVar1 = mStickDistance * 3.0f * cM_scos(current.angle.y - oldAngleY);
}
}
@@ -73,15 +69,15 @@ void daPy_lk_c::setSpeedAndAngleSwim() {
fVar1 = 0.0f;
}
mMaxNormalSpeed = ((cM_scos(current.angle.y - shape_angle.y) + 1.0f) * 0.25f + 0.5f) * l_HIO_swim_c0.m.field_0xC;
mMaxNormalSpeed = ((cM_scos(current.angle.y - shape_angle.y) + 1.0f) * 0.25f + 0.5f) * daPy_HIO_swim_c0::m.field_0xC;
}
}
else {
fVar1 = 0.0f;
mMaxNormalSpeed = l_HIO_swim_c0.m.field_0xC;
mMaxNormalSpeed = daPy_HIO_swim_c0::m.field_0xC;
}
setNormalSpeedF(fVar1, l_HIO_swim_c0.m.field_0x18, l_HIO_swim_c0.m.field_0x1C, l_HIO_swim_c0.m.field_0x20);
setNormalSpeedF(fVar1, daPy_HIO_swim_c0::m.field_0x18, daPy_HIO_swim_c0::m.field_0x1C, daPy_HIO_swim_c0::m.field_0x20);
if (bVar3 && mVelocity < 5.0f) {
current.angle.y = m34E8;
@@ -117,7 +113,7 @@ BOOL daPy_lk_c::changeSwimProc() {
BOOL res;
cXyz local_18;
if (checkNoResetFlg0(daPyFlg0_UNK80) && !checkModeFlg(ModeFlg_IN_SHIP | ModeFlg_SWIM) && !checkNoControll() && mDemo.getDemoMode() != daPy_demo_c::DEMO_UNK11_e && m35D0 - current.pos.y > l_HIO_swim_c0.m.field_0x24) {
if (checkNoResetFlg0(daPyFlg0_UNK80) && !checkModeFlg(ModeFlg_IN_SHIP | ModeFlg_SWIM) && !checkNoControll() && mDemo.getDemoMode() != daPy_demo_c::DEMO_UNK11_e && m35D0 - current.pos.y > daPy_HIO_swim_c0::m.field_0x24) {
dComIfGp_setItemTimeCount(900);
dComIfGp_setItemTimeMax(900);
@@ -128,7 +124,7 @@ BOOL daPy_lk_c::changeSwimProc() {
offNoResetFlg0(daPyFlg0_UNK100);
mMaxNormalSpeed = l_HIO_swim_c0.m.field_0xC;
mMaxNormalSpeed = daPy_HIO_swim_c0::m.field_0xC;
mVelocity *= 0.75f;
if (mVelocity >= mMaxNormalSpeed) {
@@ -140,11 +136,11 @@ BOOL daPy_lk_c::changeSwimProc() {
setSwimTimerStartStop();
if (checkModeFlg(ModeFlg_MIDAIR)) {
current.pos.y += l_HIO_swim_c0.m.field_0x24;
speed.y = mOldSpeed.y * l_HIO_swim_c0.m.field_0x10;
current.pos.y += daPy_HIO_swim_c0::m.field_0x24;
speed.y = mOldSpeed.y * daPy_HIO_swim_c0::m.field_0x10;
if (speed.y < l_HIO_swim_c0.m.field_0x14) {
speed.y = l_HIO_swim_c0.m.field_0x14;
if (speed.y < daPy_HIO_swim_c0::m.field_0x14) {
speed.y = daPy_HIO_swim_c0::m.field_0x14;
}
else if (speed.y > 0.0f) {
speed.y = 0.0f;
@@ -175,16 +171,16 @@ BOOL daPy_lk_c::changeSwimProc() {
/* 8013D1B0-8013D2AC .text changeSwimUpProc__9daPy_lk_cFv */
BOOL daPy_lk_c::changeSwimUpProc() {
if (speed.y < l_HIO_swim_c0.m.field_0x68) {
speed.y += l_HIO_swim_c0.m.field_0x64;
if (speed.y > l_HIO_swim_c0.m.field_0x68) {
speed.y = l_HIO_swim_c0.m.field_0x68;
if (speed.y < daPy_HIO_swim_c0::m.field_0x68) {
speed.y += daPy_HIO_swim_c0::m.field_0x64;
if (speed.y > daPy_HIO_swim_c0::m.field_0x68) {
speed.y = daPy_HIO_swim_c0::m.field_0x68;
}
if (speed.y > 0.0f && mEquipItem != daPyItem_NONE_e) {
deleteEquipItem(TRUE);
}
}
if (m35D0 - current.pos.y < 40.1f + l_HIO_swim_c0.m.field_0x28 && speed.y >= 0.0f) {
if (m35D0 - current.pos.y < 40.1f + daPy_HIO_swim_c0::m.field_0x28 && speed.y >= 0.0f) {
if (mCurProc == daPyProc_DEMO_DEAD_e) {
onNoResetFlg0(daPyFlg0_UNK100);
current.pos.y = m35D0;
@@ -232,10 +228,10 @@ BOOL daPy_lk_c::changeSwimOutProc() {
swimOutAfter(TRUE);
return procFall_init(1, l_HIO_wallCatch_c0.m.field_0x54);
return procFall_init(1, daPy_HIO_wallCatch_c0::m.field_0x54);
}
if (!checkNoResetFlg0(daPyFlg0_UNK80) || (pcVar1 && pcVar1->mNormal.y >= 0.5f && m35D0 - mAcch.GetGroundH() < l_HIO_swim_c0.m.field_0x24 - 5.0f)) {
if (!checkNoResetFlg0(daPyFlg0_UNK80) || (pcVar1 && pcVar1->mNormal.y >= 0.5f && m35D0 - mAcch.GetGroundH() < daPy_HIO_swim_c0::m.field_0x24 - 5.0f)) {
current.pos.y = m35D0;
if (mCurProc == daPyProc_SWIM_MOVE_e && mDirection != DIR_FORWARD) {
@@ -259,10 +255,10 @@ BOOL daPy_lk_c::changeSwimOutProc() {
void daPy_lk_c::setSwimMoveAnime(daPy_ANM swimMoveAnm) {
f32 startFrame = mFrameCtrlUnder[UNDER_MOVE0_e].getFrame();
f32 endFrame = startFrame * mFrameCtrlUnder[UNDER_MOVE0_e].getEnd();
f32 rate = (std::fabsf(mVelocity) * (l_HIO_swim_c0.m.field_0x54 - l_HIO_swim_c0.m.field_0x50) / mMaxNormalSpeed) +
l_HIO_swim_c0.m.field_0x50 +
(getSwimTimerRate() * l_HIO_swim_c0.m.field_0x74);
setSingleMoveAnime(swimMoveAnm, rate, 0.0f, -1, l_HIO_swim_c0.m.field_0x58);
f32 rate = (std::fabsf(mVelocity) * (daPy_HIO_swim_c0::m.field_0x54 - daPy_HIO_swim_c0::m.field_0x50) / mMaxNormalSpeed) +
daPy_HIO_swim_c0::m.field_0x50 +
(getSwimTimerRate() * daPy_HIO_swim_c0::m.field_0x74);
setSingleMoveAnime(swimMoveAnm, rate, 0.0f, -1, daPy_HIO_swim_c0::m.field_0x58);
mFrameCtrlUnder[UNDER_MOVE0_e].setFrame(endFrame * mFrameCtrlUnder[UNDER_MOVE0_e].getEnd());
mAnmRatioUnder[UNDER_MOVE0_e].getAnmTransform()->setFrame(mFrameCtrlUnder[UNDER_MOVE0_e].getFrame());
}
@@ -295,15 +291,15 @@ void daPy_lk_c::setSwimTimerStartStop() {
float swimTimerRate = getSwimTimerRate();
if (swimTimerRate > 0.5f) {
target = cM_scos(cM_rad2s((1.0f - swimTimerRate) * M_PI)) * -l_HIO_swim_c0.m.field_0x78;
target = cM_scos(cM_rad2s((1.0f - swimTimerRate) * M_PI)) * -daPy_HIO_swim_c0::m.field_0x78;
if (mFrameCtrlUnder->checkPass(0.0f) && mCurProc != daPyProc_SWIM_UP_e) {
if (m3570 && !checkNoResetFlg0(daPyFlg0_UNK4000)) {
if (mProcVar0.m3570 && !checkNoResetFlg0(daPyFlg0_UNK4000)) {
voiceStart(0x22);
m3570 = 0;
mProcVar0.m3570 = 0;
}
else {
m3570 = 1;
mProcVar0.m3570 = 1;
}
}
}
@@ -331,11 +327,11 @@ BOOL daPy_lk_c::procSwimUp_init(BOOL param_1) {
current.pos.y = m35D0;
setSingleMoveAnime(ANM_SWIMP, l_HIO_swim_c0.m.field_0x2C, l_HIO_swim_c0.m.field_0x30, l_HIO_swim_c0.m.field_0x0, l_HIO_swim_c0.m.field_0x38);
setSingleMoveAnime(ANM_SWIMP, daPy_HIO_swim_c0::m.field_0x2C, daPy_HIO_swim_c0::m.field_0x30, daPy_HIO_swim_c0::m.field_0x0, daPy_HIO_swim_c0::m.field_0x38);
dComIfGp_setPlayerStatus0(0, daPyStts0_SWIM_e);
m35C4 = l_HIO_swim_c0.m.field_0x3C;
m35C4 = daPy_HIO_swim_c0::m.field_0x3C;
onNoResetFlg0(daPyFlg0_UNK100);
@@ -356,7 +352,7 @@ BOOL daPy_lk_c::procSwimUp_init(BOOL param_1) {
}
}
m3570 = 0;
mProcVar0.m3570 = 0;
return TRUE;
}
@@ -371,7 +367,7 @@ BOOL daPy_lk_c::procSwimUp() {
procSwimWait_init(FALSE);
}
else {
if (mFrameCtrl->getFrame() > l_HIO_swim_c0.m.field_0x34) {
if (mFrameCtrl->getFrame() > daPy_HIO_swim_c0::m.field_0x34) {
if (mStickDistance > 0.05f) {
procSwimMove_init(FALSE);
}
@@ -383,7 +379,7 @@ BOOL daPy_lk_c::procSwimUp() {
seStartOnlyReverb(JA_SE_LK_SWIM);
}
else {
m35C4 = l_HIO_swim_c0.m.field_0x3C;
m35C4 = daPy_HIO_swim_c0::m.field_0x3C;
current.pos.y = m35D0;
}
}
@@ -405,14 +401,14 @@ BOOL daPy_lk_c::procSwimWait_init(BOOL param_1) {
if (param_1) {
fVar2 = mFrameCtrl->getFrame() / (float)mFrameCtrl->getEnd();
uVar3 = cM_rad2s(fVar2 * M_PI);
mVelocity = speedF * (1.0f - l_HIO_swim_c0.m.field_0x60) + speedF * std::fabsf(cM_scos(uVar3)) * l_HIO_swim_c0.m.field_0x60;
mVelocity = speedF * (1.0f - daPy_HIO_swim_c0::m.field_0x60) + speedF * std::fabsf(cM_scos(uVar3)) * daPy_HIO_swim_c0::m.field_0x60;
}
else {
fVar2 = 0.0f;
}
gravity = 0.0f;
setSingleMoveAnime(ANM_SWIMWAIT, (float)(getSwimTimerRate() * l_HIO_swim_c0.m.field_0x70) + l_HIO_swim_c0.m.field_0x40, 0.0f, -1, l_HIO_swim_c0.m.field_0x44);
setSingleMoveAnime(ANM_SWIMWAIT, (float)(getSwimTimerRate() * daPy_HIO_swim_c0::m.field_0x70) + daPy_HIO_swim_c0::m.field_0x40, 0.0f, -1, daPy_HIO_swim_c0::m.field_0x44);
mFrameCtrl->setFrame(fVar2 * mFrameCtrl->getEnd());
mAnmRatioUnder[UNDER_MOVE0_e].getAnmTransform()->setFrame(mFrameCtrl->getFrame());
dComIfGp_setPlayerStatus0(0, daPyStts0_SWIM_e);
@@ -425,17 +421,17 @@ BOOL daPy_lk_c::procSwimWait_init(BOOL param_1) {
speed.y = 0.0f;
}
m35C4 = l_HIO_swim_c0.m.field_0x48;
m35C4 = daPy_HIO_swim_c0::m.field_0x48;
m34D4 = 0;
m3570 = 0;
mProcVar0.m3570 = 0;
return TRUE;
}
/* 8013DCDC-8013DE8C .text procSwimWait__9daPy_lk_cFv */
BOOL daPy_lk_c::procSwimWait() {
setSpeedAndAngleSwim();
m34D4 += (short)((cM_rndF(0.3f) + 0.85f) * l_HIO_swim_c0.m.field_0x2);
m35C4 = cM_ssin(m34D4) * l_HIO_swim_c0.m.field_0x4C + l_HIO_swim_c0.m.field_0x48;
m34D4 += (short)((cM_rndF(0.3f) + 0.85f) * daPy_HIO_swim_c0::m.field_0x2);
m35C4 = cM_ssin(m34D4) * daPy_HIO_swim_c0::m.field_0x4C + daPy_HIO_swim_c0::m.field_0x48;
if (changeSwimOutProc()) {
return TRUE;
@@ -458,12 +454,12 @@ BOOL daPy_lk_c::procSwimWait() {
fopAc_ac_c* talkEventPartner = fopAcM_getTalkEventPartner(this);
if (talkEventPartner) {
short targetAngleY = cLib_targetAngleY(&current.pos, &talkEventPartner->eyePos);
cLib_addCalcAngleS(&shape_angle.y, targetAngleY, l_HIO_turn_c0.m.field_0x6, l_HIO_turn_c0.m.field_0x8, l_HIO_turn_c0.m.field_0xA);
cLib_addCalcAngleS(&shape_angle.y, targetAngleY, daPy_HIO_turn_c0::m.field_0x6, daPy_HIO_turn_c0::m.field_0x8, daPy_HIO_turn_c0::m.field_0xA);
current.angle.y = shape_angle.y;
}
}
mFrameCtrlUnder[UNDER_MOVE0_e].setRate((getSwimTimerRate() * l_HIO_swim_c0.m.field_0x70) + l_HIO_swim_c0.m.field_0x40);
mFrameCtrlUnder[UNDER_MOVE0_e].setRate((getSwimTimerRate() * daPy_HIO_swim_c0::m.field_0x70) + daPy_HIO_swim_c0::m.field_0x40);
if (mStickDistance > 0.05f) {
procSwimMove_init(TRUE);
@@ -501,8 +497,8 @@ BOOL daPy_lk_c::procSwimMove_init(BOOL param_1) {
dComIfGp_setPlayerStatus0(0, daPyStts0_SWIM_e);
m35C4 = l_HIO_swim_c0.m.field_0x5C;
m3570 = 0;
m35C4 = daPy_HIO_swim_c0::m.field_0x5C;
mProcVar0.m3570 = 0;
return TRUE;
}
@@ -532,7 +528,7 @@ BOOL daPy_lk_c::procSwimMove() {
if (mDirection == DIR_FORWARD) {
anm = ANM_SWIMING;
m35C4 = l_HIO_swim_c0.m.field_0x5C;
m35C4 = daPy_HIO_swim_c0::m.field_0x5C;
}
else {
m35C4 = -80.0f;
@@ -563,7 +559,7 @@ BOOL daPy_lk_c::procSwimMove() {
}
}
else {
mFrameCtrl[0].setRate((std::fabsf(mVelocity) * (l_HIO_swim_c0.m.field_0x54 - l_HIO_swim_c0.m.field_0x50)) / mMaxNormalSpeed + l_HIO_swim_c0.m.field_0x50 + (float)(getSwimTimerRate() * l_HIO_swim_c0.m.field_0x74));
mFrameCtrl[0].setRate((std::fabsf(mVelocity) * (daPy_HIO_swim_c0::m.field_0x54 - daPy_HIO_swim_c0::m.field_0x50)) / mMaxNormalSpeed + daPy_HIO_swim_c0::m.field_0x50 + (float)(getSwimTimerRate() * daPy_HIO_swim_c0::m.field_0x74));
}
if (mDirection == DIR_BACKWARD) {
+89 -91
View File
@@ -126,7 +126,6 @@ void daPy_lk_c::setSwordModel(BOOL r28) {
/* 80154FBC-80155490 .text setLightSaver__9daPy_lk_cFv */
void daPy_lk_c::setLightSaver() {
/* Nonmatching - floats, .sdata2, branching */
static JGeometry::TVec3<f32> d_scale(1.4f, 1.4f, 1.4f);
static JGeometry::TVec3<f32> p_scale(1.6f, 1.4f, 1.4f);
static const GXColor g_prm0 = {0x09, 0x14, 0x06, 0xFF};
@@ -142,92 +141,93 @@ void daPy_lk_c::setLightSaver() {
const GXColor* pbVar8;
const GXColor* pbVar9;
if ((((mEquipItem == daPyItem_SWORD_e) && (mpEquipItemBrk != NULL)) && (mpSwordBtk != NULL)) &&
((mpSwordModel1 != NULL && (mpEquipItemModel == NULL))))
if ((((mEquipItem != daPyItem_SWORD_e) || (mpEquipItemBrk == NULL)) || (mpSwordBtk == NULL)) ||
((mpSwordModel1 == NULL || (mpEquipItemModel == NULL))))
{
if (checkChanceMode()) {
mpEquipItemBrk->setFrame(1.0f);
return;
}
if (checkChanceMode()) {
mpEquipItemBrk->setFrame(1.0f);
} else {
if (checkNoResetFlg1(daPyFlg1_UNK8000)) {
mpEquipItemBrk->setFrame(0.0f);
} else {
if (checkNoResetFlg1(daPyFlg1_UNK8000)) {
mpEquipItemBrk->setFrame(0.0f);
} else {
mpEquipItemBrk->setFrame(2.0f);
}
mpEquipItemBrk->setFrame(2.0f);
}
mpSwordModel1->setBaseTRMtx(mpEquipItemModel->getBaseTRMtx());
if ((!checkDemoSwordNoDraw(0)) &&
(((checkChanceMode() || (checkNoResetFlg1(daPyFlg1_UNK8000))) ||
(checkFinalMasterSwordEquip()))))
}
mpSwordModel1->setBaseTRMtx(mpEquipItemModel->getBaseTRMtx());
if ((!checkDemoSwordNoDraw(0)) &&
(((checkChanceMode() || (checkNoResetFlg1(daPyFlg1_UNK8000))) ||
(checkFinalMasterSwordEquip()))))
{
simpleAnmPlay(mpSwordBtk);
if (((m3454).mpEmitter == NULL) &&
((checkChanceMode() || (checkNoResetFlg1(daPyFlg1_UNK8000)))))
{
simpleAnmPlay(mpSwordBtk);
if (((m3454).mpEmitter == NULL) &&
((checkChanceMode() || (checkNoResetFlg1(daPyFlg1_UNK8000)))))
{
pJVar7 = m3454.makeEmitter(dPa_name::ID_COMMON_0309, mpSwordModel1->getAnmMtx(2),
&current.pos, NULL);
if (pJVar7 != 0) {
if (checkMasterSwordEquip()) {
pJVar7->setGlobalDynamicsScale(d_scale);
pJVar7->setGlobalParticleScale(p_scale);
}
}
} else {
if ((!checkChanceMode()) &&
((!checkNoResetFlg1(daPyFlg1_UNK8000) && (checkFinalMasterSwordEquip()))))
{
m3454.end();
}
}
if (checkChanceMode()) {
pbVar8 = &g_prm0;
pbVar9 = &g_env0;
} else {
pbVar8 = &y_prm0;
pbVar9 = &y_env0;
}
pJVar7 = (m3454).mpEmitter;
if (pJVar7 != NULL) {
pJVar7->setGlobalPrmColor(pbVar8->r, pbVar8->g, pbVar8->b);
pJVar7->setGlobalEnvColor(pbVar9->r, pbVar9->g, pbVar9->b);
}
if (((dComIfGp_getDoStatus() == 26) && (m355C == 0)) ||
(((checkNoResetFlg1(daPyFlg1_UNK8000) || (checkFinalMasterSwordEquip())) &&
(!checkNoResetFlg1(daPyFlg1_UNK200000)))))
{
if ((dComIfGp_getDoStatus() == 26) && (m355C == 0)) {
pbVar9 = &g_prm1;
pbVar8 = pbVar9;
dComIfGp_getVibration().StartShock(6, 1, cXyz(0.0f, 1.0f, 0.0f));
} else if (checkNoResetFlg1(daPyFlg1_UNK8000)) {
pbVar9 = &y_prm1;
pbVar8 = &y_env1;
} else {
pbVar9 = &s_prm1;
pbVar8 = &s_env1;
}
pJVar7 = dComIfGp_particle_setP1(dPa_name::ID_COMMON_030A, &current.pos, NULL, NULL,
0xff, NULL, -1, pbVar9, pbVar8, NULL);
if (pJVar7 != 0) {
JPASetRMtxTVecfromMtx(mpEquipItemModel->getAnmMtx(2), pJVar7->mGlobalRotation,
pJVar7->mGlobalTranslation);
if (checkMasterSwordEquip()) {
pJVar7->setGlobalDynamicsScale(d_scale);
pJVar7->setGlobalParticleScale(p_scale);
}
if (pbVar9 == &g_prm1) {
m355C = 0x1e;
} else {
onNoResetFlg1(daPyFlg1_UNK200000);
}
pJVar7 = m3454.makeEmitter(dPa_name::ID_COMMON_0309, mpSwordModel1->getAnmMtx(2),
&current.pos, NULL);
if (pJVar7 != 0) {
if (checkMasterSwordEquip()) {
pJVar7->setGlobalDynamicsScale(d_scale);
pJVar7->setGlobalParticleScale(p_scale);
}
}
} else {
m3454.end();
mpSwordBtk->setFrame(0.0f);
if ((!checkChanceMode()) &&
((!checkNoResetFlg1(daPyFlg1_UNK8000) && (checkFinalMasterSwordEquip()))))
{
m3454.end();
}
}
if ((m355C > 0) && (!checkChanceMode())) {
m355C--;
if (checkChanceMode()) {
pbVar8 = &g_prm0;
pbVar9 = &g_env0;
} else {
pbVar8 = &y_prm0;
pbVar9 = &y_env0;
}
pJVar7 = (m3454).mpEmitter;
if (pJVar7 != NULL) {
pJVar7->setGlobalPrmColor(pbVar8->r, pbVar8->g, pbVar8->b);
pJVar7->setGlobalEnvColor(pbVar9->r, pbVar9->g, pbVar9->b);
}
if (((dComIfGp_getDoStatus() == 26) && (m355C == 0)) ||
(((checkNoResetFlg1(daPyFlg1_UNK8000) || (checkFinalMasterSwordEquip())) &&
(!checkNoResetFlg1(daPyFlg1_UNK200000)))))
{
if ((dComIfGp_getDoStatus() == 26) && (m355C == 0)) {
pbVar9 = &g_prm1;
pbVar8 = pbVar9;
dComIfGp_getVibration().StartShock(6, 1, cXyz(0.0f, 1.0f, 0.0f));
} else if (checkNoResetFlg1(daPyFlg1_UNK8000)) {
pbVar9 = &y_prm1;
pbVar8 = &y_env1;
} else {
pbVar9 = &s_prm1;
pbVar8 = &s_env1;
}
pJVar7 = dComIfGp_particle_setP1(dPa_name::ID_COMMON_030A, &current.pos, NULL, NULL,
0xFF, NULL, -1, pbVar9, pbVar8, NULL);
if (pJVar7 != 0) {
JPASetRMtxTVecfromMtx(mpEquipItemModel->getAnmMtx(2), pJVar7->mGlobalRotation,
pJVar7->mGlobalTranslation);
if (checkMasterSwordEquip()) {
pJVar7->setGlobalDynamicsScale(d_scale);
pJVar7->setGlobalParticleScale(p_scale);
}
if (pbVar9 == &g_prm1) {
m355C = 0x1e;
} else {
onNoResetFlg1(daPyFlg1_UNK200000);
}
}
}
} else {
m3454.end();
mpSwordBtk->setFrame(0.0f);
}
if ((m355C > 0) && (!checkChanceMode())) {
m355C--;
}
}
@@ -454,12 +454,11 @@ int daPy_lk_c::changeCutProc() {
/* 80155C3C-80156034 .text changeCutReverseProc__9daPy_lk_cFQ29daPy_lk_c8daPy_ANM */
int daPy_lk_c::changeCutReverseProc(daPy_ANM param_0) {
/* Nonmatching - floats, branching */
if ((mEquipItem != dItem_SKULL_HAMMER_e) &&
(((mAtCps[0].ChkAtShieldHit() || (mAtCps[1].ChkAtShieldHit())) ||
(mAtCps[2].ChkAtShieldHit()))))
{
procCutReverse_init(param_0);
return procCutReverse_init(param_0);
} else if (checkNoResetFlg0(daPyFlg0_CUT_AT_FLG)) {
cXyz local_24;
local_24.x = current.pos.x;
@@ -525,7 +524,7 @@ int daPy_lk_c::changeCutReverseProc(daPy_ANM param_0) {
}
}
dKy_Sound_set(current.pos, 100, fopAcM_GetID(this), 5);
procCutReverse_init(param_0);
return procCutReverse_init(param_0);
} else if (mCurProc == daPyProc_HAMMER_FRONT_SWING_e) {
return true;
}
@@ -1281,7 +1280,6 @@ BOOL daPy_lk_c::procCutExB() {
/* 80157D3C-80158220 .text procCutTurn_init__9daPy_lk_cFi */
BOOL daPy_lk_c::procCutTurn_init(int param_0) {
/* Nonmatching - floats */
float fVar1;
commonProcInit(daPyProc_CUT_TURN_e);
@@ -1377,10 +1375,10 @@ BOOL daPy_lk_c::procCutTurn_init(int param_0) {
m35A0 = 21.0f;
}
}
m3570 = 0;
mProcVar0.m3570 = 0;
if (m34C4 == 6) {
onNoResetFlg0(daPyFlg0_UNK4);
m3570 = 1;
mProcVar0.m3570 = 1;
} else {
mCutCount = 0;
}
@@ -1394,7 +1392,7 @@ BOOL daPy_lk_c::procCutTurn_init(int param_0) {
BOOL daPy_lk_c::procCutTurn() {
J3DFrameCtrl& frameCtrl = mFrameCtrlUnder[UNDER_MOVE0_e];
m35EC = frameCtrl.getFrame();
if (((m3570 != 0) && (swordButton())) && (m34C5 == 0)) {
if (((mProcVar0.m3570 != 0) && (swordButton())) && (m34C5 == 0)) {
onNoResetFlg0(daPyFlg0_UNK4);
} else {
offNoResetFlg0(daPyFlg0_UNK4);
@@ -1832,7 +1830,7 @@ BOOL daPy_lk_c::procJumpCut_init(int param_0) {
gravity = daPy_HIO_cutJump_c0::m.field_0x1C;
}
current.angle.y = shape_angle.y;
m3570 = 0;
mProcVar0.m3570 = 0;
voiceStart(1);
dComIfGp_setPlayerStatus0(0, daPyStts0_SWORD_SWING_e);
if (mEquipItem == daPyItem_BOKO_e) {
@@ -1896,7 +1894,7 @@ BOOL daPy_lk_c::procJumpCutLand_init() {
daPy_HIO_cutJump_c0::m.field_0x40
);
if (mEquipItem == daPyItem_NONE_e) {
m3570 = 0;
mProcVar0.m3570 = 0;
} else {
onResetFlg0(daPyRFlg0_UNK2);
if (!checkNoResetFlg0(daPyFlg0_CUT_AT_FLG)) {
@@ -1910,7 +1908,7 @@ BOOL daPy_lk_c::procJumpCutLand_init() {
onNoResetFlg0(daPyFlg0_CUT_AT_FLG);
}
setJumpCutAtParam();
m3570 = 1;
mProcVar0.m3570 = 1;
}
m34D0 = daPy_HIO_cutJump_c0::m.field_0x4;
current.angle.y = shape_angle.y + 0x8000;
@@ -1931,7 +1929,7 @@ BOOL daPy_lk_c::procJumpCutLand_init() {
BOOL daPy_lk_c::procJumpCutLand() {
current.angle.y = shape_angle.y;
resetFootEffect();
if (m3570 != 0 && changeCutReverseProc(ANM_CUTRER)) {
if (mProcVar0.m3570 != 0 && changeCutReverseProc(ANM_CUTRER)) {
return true;
}
@@ -1946,8 +1944,8 @@ BOOL daPy_lk_c::procJumpCutLand() {
if (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() > daPy_HIO_cutJump_c0::m.field_0x44) {
checkNextMode(1);
} else {
if (m3570 != 0) {
m3570 = 0;
if (mProcVar0.m3570 != 0) {
mProcVar0.m3570 = 0;
if (abs(m3578) > 0xf800 && (daPy_dmEcallBack_c::m_type != 1) &&
(mEquipItem == daPyItem_SWORD_e || mEquipItem == daPyItem_BOKO_e))
{
+50 -50
View File
@@ -136,7 +136,7 @@ BOOL daPy_lk_c::getTactTopPos(cXyz* out) {
/* 8014DACC-8014DB00 .text getTactNormalWait__9daPy_lk_cCFv */
BOOL daPy_lk_c::getTactNormalWait() const {
if (mCurProc == daPyProc_TACT_WAIT_e && m3570 == -1 && m34D2 == -1) {
if (mCurProc == daPyProc_TACT_WAIT_e && mProcVar0.m3570 == -1 && m34D2 == -1) {
return TRUE;
}
return FALSE;
@@ -145,7 +145,7 @@ BOOL daPy_lk_c::getTactNormalWait() const {
/* 8014DB00-8014DB2C .text getTactMusic__9daPy_lk_cCFv */
s32 daPy_lk_c::getTactMusic() const {
if (mCurProc == daPyProc_TACT_PLAY_e)
return m3570;
return mProcVar0.m3570;
if (mCurProc == daPyProc_TACT_WAIT_e)
return m3574;
return -1;
@@ -185,13 +185,13 @@ void daPy_lk_c::resetTactCount() {
/* 8014DBEC-8014E100 .text procTactWait_init__9daPy_lk_cFi */
BOOL daPy_lk_c::procTactWait_init(int r30) {
if (mCurProc == daPyProc_TACT_WAIT_e) {
if (m3570 != r30) {
if (mProcVar0.m3570 != r30) {
m34D8 = 0;
m34DA = 0;
m34D2 = -1;
}
m3570 = r30;
if (m3570 != -4) {
mProcVar0.m3570 = r30;
if (mProcVar0.m3570 != -4) {
g_dComIfG_gameInfo.play.field_0x4947 = 1;
} else {
g_dComIfG_gameInfo.play.field_0x4947 = 0;
@@ -269,7 +269,7 @@ BOOL daPy_lk_c::procTactWait_init(int r30) {
m34D2 = -1;
m32E4.makeEmitter(dPa_name::ID_COMMON_0050, mpEquipItemModel->getBaseTRMtx(), &current.pos, NULL);
m3570 = r30;
mProcVar0.m3570 = r30;
m34D8 = 0;
m3574 = -1;
m35A0 = 0.0f;
@@ -277,7 +277,7 @@ BOOL daPy_lk_c::procTactWait_init(int r30) {
m3624 = 0;
m35A4 = 0.0f;
m35A8 = 0.0f;
if (m3570 == 6 || m3570 == 7) {
if (mProcVar0.m3570 == 6 || mProcVar0.m3570 == 7) {
m35AC = 600.0f;
} else {
m35AC = 900.0f;
@@ -285,7 +285,7 @@ BOOL daPy_lk_c::procTactWait_init(int r30) {
m34D0 = -1;
setTactZev(-1, -1, NULL);
if (m3570 != -4) {
if (mProcVar0.m3570 != -4) {
g_dComIfG_gameInfo.play.field_0x4947 = 1;
}
mDoAud_taktModeMute();
@@ -297,35 +297,35 @@ BOOL daPy_lk_c::procTactWait_init(int r30) {
BOOL daPy_lk_c::procTactWait() {
setShipRidePosUseItem();
mDoAud_tact_ambientPlay();
if (m3570 == -4) {
if (mProcVar0.m3570 == -4) {
dComIfGp_evmng_cutEnd(mStaffIdx);
return TRUE;
}
if (m34D2 > 0) {
m34D2--;
if (m3570 == -5) {
if (mProcVar0.m3570 == -5) {
m35A0 += 1.0f;
}
if (m34D2 == 0) {
if (m3570 == -5 || m3570 == 6 || m3570 == 7) {
if (mProcVar0.m3570 == -5 || mProcVar0.m3570 == 6 || mProcVar0.m3570 == 7) {
dComIfGp_evmng_cutEnd(mStaffIdx);
g_dComIfG_gameInfo.play.field_0x4947 = 0;
} else if (m3570 == -1 || m3570 == -3 || m3570 >= 0) {
procTactPlay_init(m3574, m3570 == -1, m3570 >= 0);
} else if (mProcVar0.m3570 == -1 || mProcVar0.m3570 == -3 || mProcVar0.m3570 >= 0) {
procTactPlay_init(m3574, mProcVar0.m3570 == -1, mProcVar0.m3570 >= 0);
}
}
return TRUE;
}
if (m3570 == 5 || m3570 == 1 || m3570 == 6 || m3570 == 7) {
if (mProcVar0.m3570 == 5 || mProcVar0.m3570 == 1 || mProcVar0.m3570 == 6 || mProcVar0.m3570 == 7) {
if (m35AC >= 0.0f) {
m35AC -= 1.0f;
}
if (m3570 == 5) {
if (mProcVar0.m3570 == 5) {
dComIfGp_setAStatus(7);
}
} else if (m3570 != -5) {
} else if (mProcVar0.m3570 != -5) {
dComIfGp_setAStatus(7);
}
@@ -338,11 +338,11 @@ BOOL daPy_lk_c::procTactWait() {
g_dComIfG_gameInfo.play.field_0x4947 = 0;
if (cancelTrigger() && m3570 == 5) {
if (cancelTrigger() && mProcVar0.m3570 == 5) {
m35AC = -1000.0f;
}
if (m3570 == -1) {
if (mProcVar0.m3570 == -1) {
dComIfGp_event_reset();
dCam_getBody()->EndEventCamera(fopAcM_GetID(this));
endDemoMode();
@@ -354,7 +354,7 @@ BOOL daPy_lk_c::procTactWait() {
}
int rightDir, leftDir;
if (m3570 != -5) {
if (mProcVar0.m3570 != -5) {
rightDir = mDoAud_getTactDirection(1, m34D4);
leftDir = mDoAud_getTactDirection(0, m34D6);
mDoAud_tact_setVolume(mStickDistance * cM_scos(m34DC));
@@ -457,20 +457,20 @@ BOOL daPy_lk_c::procTactWait() {
onResetFlg0(daPyRFlg0_TACT_INPUT);
m34D0 = -1;
if ((m3570 >= 0 && m3570 == m3574) ||
((m3570 == -1 || m3570 == -3) && (m3574 >= 0 && m3574 != 6 && m3574 != 7 && dComIfGs_isTact(m3574))))
if ((mProcVar0.m3570 >= 0 && mProcVar0.m3570 == m3574) ||
((mProcVar0.m3570 == -1 || mProcVar0.m3570 == -3) && (m3574 >= 0 && m3574 != 6 && m3574 != 7 && dComIfGs_isTact(m3574))))
{
m34D2 = 30;
mDoAud_seStart(JA_SE_WTAKT_MATCH_SIGNAL);
m35A0 = 0.0f;
} else {
m3574 = -1;
if (m3570 == -5) {
if (mProcVar0.m3570 == -5) {
m34D8++;
if (m34D8 == 6) {
m34D2 = 15;
}
} else if (m3570 == -2) {
} else if (mProcVar0.m3570 == -2) {
m34D8++;
if (m34D8 == 5) {
m34D2 = 30;
@@ -508,7 +508,7 @@ BOOL daPy_lk_c::procTactPlay_init(s32 r27, int r30, int r31) {
int r28 = checkShipRideUseItem(0);
commonProcInit(daPyProc_TACT_PLAY_e);
dComIfGp_setPlayerStatus1(0, daPyStts1_WIND_WAKER_CONDUCT_e);
m3570 = r27;
mProcVar0.m3570 = r27;
if (r31 == 0) {
m3628 = fopMsgM_messageSet(0x5AD + r27);
} else {
@@ -537,7 +537,7 @@ BOOL daPy_lk_c::procTactPlay_init(s32 r27, int r30, int r31) {
initShipRideUseItem(r28, 2);
if (r28 != 0 && m3570 == 1) {
if (r28 != 0 && mProcVar0.m3570 == 1) {
stage_stag_info_class* stag_info = dComIfGp_getStageStagInfo();
if (dStage_stagInfo_GetSTType(stag_info) == dStageType_SEA_e && m34CC != 1 && r30 != 0) {
daShip_c* ship = dComIfGp_getShipActor();
@@ -575,7 +575,7 @@ BOOL daPy_lk_c::procTactPlay() {
} else if (m34DA > 0) {
m34DA--;
if (m34DA == 0) {
mDoAud_tact_melodyPlay(m3570);
mDoAud_tact_melodyPlay(mProcVar0.m3570);
}
}
@@ -596,7 +596,7 @@ BOOL daPy_lk_c::procTactPlay() {
m3628 = fpcM_ERROR_PROCESS_ID_e;
}
if (mTactZevPartnerId != fpcM_ERROR_PROCESS_ID_e && m34CC == m3570) {
if (mTactZevPartnerId != fpcM_ERROR_PROCESS_ID_e && m34CC == mProcVar0.m3570) {
tactZevPartner = fopAcM_SearchByID(mTactZevPartnerId);
}
@@ -617,23 +617,23 @@ BOOL daPy_lk_c::procTactPlay() {
}
}
if (m3570 == 0) {
if (mProcVar0.m3570 == 0) {
if (dKyw_gbwind_use_check()) {
return procTactPlayEnd_init(m3570);
return procTactPlayEnd_init(mProcVar0.m3570);
}
m3624 = 0x14A5;
} else if (m3570 == 1) {
} else if (mProcVar0.m3570 == 1) {
daShip_c* ship = dComIfGp_getShipActor();
if (ship != NULL && ship->getTactWarpID() != fpcM_ERROR_PROCESS_ID_e) {
return procTactPlayEnd_init(m3570);
return procTactPlayEnd_init(mProcVar0.m3570);
}
m3624 = 0x14A6;
} else if (m3570 == 2) {
} else if (mProcVar0.m3570 == 2) {
if (checkNpcStatus() && !dComIfGp_checkPlayerStatus0(0, daPyStts1_UNK10000_e)) {
return procTactPlayEnd_init(m3570);
return procTactPlayEnd_init(mProcVar0.m3570);
}
m3624 = 0x14A8;
} else if (m3570 == 5) {
} else if (mProcVar0.m3570 == 5) {
if (dKy_daynighttact_stop_chk()) {
m3624 = 0x14A7;
} else {
@@ -642,7 +642,7 @@ BOOL daPy_lk_c::procTactPlay() {
if (dStage_FileList_dt_GetSongOk(fili_p)) {
m3624 = 0x14AA;
} else {
return procTactPlayEnd_init(m3570);
return procTactPlayEnd_init(mProcVar0.m3570);
}
}
} else {
@@ -670,7 +670,7 @@ BOOL daPy_lk_c::procTactPlayEnd_init(int r30) {
commonProcInit(daPyProc_TACT_PLAY_END_e);
dComIfGp_setPlayerStatus1(0, daPyStts1_WIND_WAKER_CONDUCT_e);
initShipRideUseItem(r28, 2);
m3570 = r30;
mProcVar0.m3570 = r30;
mVelocity = 0.0f;
setBlendMoveAnime(daPy_HIO_basic_c0::m.field_0xC);
@@ -701,16 +701,16 @@ 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) &&
if (mProcVar0.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) {
if (mProcVar0.m3570 == 0) {
dComIfGp_setAStatus(0x07);
} else if (m3570 == 5) {
} else if (mProcVar0.m3570 == 5) {
if (dComIfGp_evmng_endCheck(l_tact_night_event_label) && !checkNoResetFlg0(daPyFlg0_UNK4000)) {
onNoResetFlg0(daPyFlg0_UNK4000);
fopAc_ac_c* ship;
@@ -737,13 +737,13 @@ BOOL daPy_lk_c::procTactPlayEnd() {
dStage_turnRestart();
mDoAud_taktModeMuteOff();
}
} else if (m3570 == 2) {
} else if (mProcVar0.m3570 == 2) {
if (dComIfGp_evmng_endCheck(l_tact_event_label)) {
dComIfGp_event_reset();
changePlayer(dComIfGp_getCb1Player());
endDemoMode();
}
} else if (m3570 == 1) {
} else if (mProcVar0.m3570 == 1) {
if (m3574 == 0) {
if (dComIfGp_getMesgStatus() == 0) {
dComIfGp_fmapOpenOn();
@@ -783,8 +783,8 @@ BOOL daPy_lk_c::procTactPlayOriginal_init() {
daPy_matAnm_c::offMabaFlg();
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);
mProcVar0.m3570 = dComIfGp_event_getTactFreeMStick(m34D0);
setActAnimeUpper(getTactPlayRightArmAnm(mProcVar0.m3570), UPPER_MOVE1_e, 0.0f, 0.0f, -1, -1.0f);
mAnmRatioUpper[UPPER_MOVE1_e].setRatio(0.0f);
m3574 = dComIfGp_event_getTactFreeCStick(m34D0);
@@ -793,8 +793,8 @@ BOOL daPy_lk_c::procTactPlayOriginal_init() {
setTextureAnime(0, 0);
m3530 = 3;
mDoAud_tact_setStickPos(m3570, m3574);
mDoAud_tact_playArmSwing(m3570, m3574);
mDoAud_tact_setStickPos(mProcVar0.m3570, m3574);
mDoAud_tact_playArmSwing(mProcVar0.m3570, m3574);
setTactModel();
m32E4.makeEmitter(dPa_name::ID_COMMON_0051, mpEquipItemModel->getBaseTRMtx(), &current.pos, NULL);
m34D6 = 0xF;
@@ -820,12 +820,12 @@ BOOL daPy_lk_c::procTactPlayOriginal() {
} else {
m34D6 = 0xF;
m3570 = dComIfGp_event_getTactFreeMStick(m34D0);
mProcVar0.m3570 = dComIfGp_event_getTactFreeMStick(m34D0);
setActAnimeUpper(
getTactPlayRightArmAnm(m3570), UPPER_MOVE1_e, daPy_HIO_tact_c0::m.mRightArmAnmRate, 0.0f, -1, 5.0f
getTactPlayRightArmAnm(mProcVar0.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) {
if (mProcVar0.m3570 == 0 || mProcVar0.m3570 == 2 || mProcVar0.m3570 == 4) {
mFrameCtrlUpper[UPPER_MOVE1_e].setRate(daPy_HIO_tact_c0::m.mAnmRate);
mFrameCtrlUpper[UPPER_MOVE1_e].setFrame(mFrameCtrlUnder[UNDER_MOVE0_e].getFrame());
}
@@ -835,8 +835,8 @@ BOOL daPy_lk_c::procTactPlayOriginal() {
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);
mDoAud_tact_setStickPos(mProcVar0.m3570, m3574);
mDoAud_tact_playArmSwing(mProcVar0.m3570, m3574);
}
}
+6 -6
View File
@@ -147,7 +147,7 @@ BOOL daPy_lk_c::procVomitJump_init(int param_0) {
} else {
fVar1 = -1.0f;
}
m3570 = param_0;
mProcVar0.m3570 = param_0;
setSingleMoveAnime(ANM_VOMITJMP, 1.0f, 0.0f, -1, fVar1);
dComIfGp_setPlayerStatus0(0, daPyStts0_UNK80000000_e);
mStts.ClrCcMove();
@@ -171,7 +171,7 @@ BOOL daPy_lk_c::procVomitJump_init(int param_0) {
voiceStart(0);
if (param_0 == 3) {
speed.y = 46.0f;
m3570 = 1;
mProcVar0.m3570 = 1;
} else {
speed.y = daPy_HIO_vomit_c0::m.field_0x1C;
}
@@ -206,7 +206,7 @@ BOOL daPy_lk_c::procVomitJump() {
if (sVar1 < 0 && 0 < shape_angle.x) {
seStartOnlyReverb(JA_SE_LK_JUMP_FLOWER_OUT);
}
if (m3570 == 1) {
if (mProcVar0.m3570 == 1) {
cLib_addCalc(&mVelocity, daPy_HIO_vomit_c0::m.field_0x20, 0.5f, 2.0f, 0.1f);
} else {
f32 fVar2;
@@ -245,7 +245,7 @@ BOOL daPy_lk_c::procVomitLand_init() {
daPy_HIO_vomit_c0::m.field_0x2C
);
m34D0 = daPy_HIO_vomit_c0::m.field_0x6;
m3570 = 0;
mProcVar0.m3570 = 0;
m34BE = 5;
return true;
}
@@ -253,7 +253,7 @@ BOOL daPy_lk_c::procVomitLand_init() {
/* 80150164-8015023C .text procVomitLand__9daPy_lk_cFv */
BOOL daPy_lk_c::procVomitLand() {
resetFootEffect();
if (m3570 != 0) {
if (mProcVar0.m3570 != 0) {
if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f) {
checkNextMode(0);
} else if (mFrameCtrlUnder[UNDER_MOVE0_e].getFrame() > daPy_HIO_vomit_c0::m.field_0x3C) {
@@ -270,7 +270,7 @@ BOOL daPy_lk_c::procVomitLand() {
daPy_HIO_vomit_c0::m.field_0x8,
daPy_HIO_vomit_c0::m.field_0x38
);
m3570 = 1;
mProcVar0.m3570 = 1;
}
}
return true;
-1
View File
@@ -362,7 +362,6 @@ 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.01f) || (mActorKeepEquip.getActor() == NULL)) {
+4 -4
View File
@@ -284,11 +284,11 @@ BOOL daPy_lk_c::procWHideReady_init(cM3dGPla* param_0, cXyz* param_1) {
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);
m3570 = 1;
mProcVar0.m3570 = 1;
} else {
setBlendMoveAnime(daPy_HIO_basic_c0::m.field_0xC);
setAnimeUnequip();
m3570 = 0;
mProcVar0.m3570 = 0;
}
if (uVar1 != 0) {
dComIfGp_setPlayerStatus0(0, daPyStts0_UNK1_e);
@@ -301,10 +301,10 @@ BOOL daPy_lk_c::procWHideReady() {
if (changeWHideEndProc(NULL)) {
return true;
}
if (m3570 == 0) {
if (mProcVar0.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);
m3570 = 1;
mProcVar0.m3570 = 1;
}
return true;
}