mirror of
https://github.com/zeldaret/tww.git
synced 2026-07-02 03:40:15 -04:00
d_a_player_swim near complete (#711)
* initial progress * more progress * added `dComIfGp_clearItemTimeCount` inline * more progress * more progress * more progress * more progress * more progress * more progress, all code matching except for `setSwimMoveAnime` * resolving symbols, forgot to mention `changeSwimOutProc` is not matching as well * PR changes made, only `setSwimMoveAnime` nonmatching * fixed reference to old member name for `mItemTimeMax`
This commit is contained in:
@@ -40,6 +40,7 @@ class daPy_demo_c {
|
||||
public:
|
||||
enum {
|
||||
DEMO_UNK1_e = 0x01,
|
||||
DEMO_UNK11_e = 0x11,
|
||||
DEMO_UNK14_e = 0x14,
|
||||
DEMO_UNK18_e = 0x18,
|
||||
DEMO_UNK1D_e = 0x1D,
|
||||
|
||||
@@ -56,7 +56,7 @@ public:
|
||||
/* 0x68 */ f32 field_0x68;
|
||||
/* 0x6C */ f32 field_0x6C;
|
||||
/* 0x70 */ f32 field_0x70;
|
||||
/* 0x74 */ f32 field_0x74;
|
||||
/* 0x74 */ f32 field_0x74;
|
||||
/* 0x78 */ f32 field_0x78;
|
||||
/* 0x7C */ f32 field_0x7C;
|
||||
/* 0x80 */ f32 field_0x80;
|
||||
@@ -118,9 +118,9 @@ public:
|
||||
/* 0x00 */ s16 field_0x0;
|
||||
/* 0x02 */ s16 field_0x2;
|
||||
/* 0x04 */ s16 field_0x4;
|
||||
/* 0x06 */ s16 field_0x6;
|
||||
/* 0x08 */ s16 field_0x8;
|
||||
/* 0x0A */ s16 field_0xA;
|
||||
/* 0x06 */ s16 field_0x6; // 0x4
|
||||
/* 0x08 */ s16 field_0x8; // 0x1000
|
||||
/* 0x0A */ s16 field_0xA; // 0x200
|
||||
/* 0x0C */ s16 field_0xC;
|
||||
/* 0x0E */ s16 field_0xE;
|
||||
/* 0x10 */ s16 field_0x10;
|
||||
@@ -705,39 +705,39 @@ public:
|
||||
|
||||
class daPy_HIO_swim_c1 {
|
||||
public:
|
||||
/* 0x00 */ s16 field_0x0;
|
||||
/* 0x02 */ s16 field_0x2;
|
||||
/* 0x04 */ s16 field_0x4;
|
||||
/* 0x06 */ s16 field_0x6;
|
||||
/* 0x08 */ s16 field_0x8;
|
||||
/* 0x0C */ f32 field_0xC;
|
||||
/* 0x10 */ f32 field_0x10;
|
||||
/* 0x14 */ f32 field_0x14;
|
||||
/* 0x18 */ f32 field_0x18;
|
||||
/* 0x1C */ f32 field_0x1C;
|
||||
/* 0x20 */ f32 field_0x20;
|
||||
/* 0x24 */ f32 field_0x24;
|
||||
/* 0x28 */ f32 field_0x28;
|
||||
/* 0x2C */ f32 field_0x2C;
|
||||
/* 0x30 */ f32 field_0x30;
|
||||
/* 0x34 */ f32 field_0x34;
|
||||
/* 0x38 */ f32 field_0x38;
|
||||
/* 0x3C */ f32 field_0x3C;
|
||||
/* 0x40 */ f32 field_0x40;
|
||||
/* 0x44 */ f32 field_0x44;
|
||||
/* 0x48 */ f32 field_0x48;
|
||||
/* 0x4C */ f32 field_0x4C;
|
||||
/* 0x50 */ f32 field_0x50;
|
||||
/* 0x54 */ f32 field_0x54;
|
||||
/* 0x58 */ f32 field_0x58;
|
||||
/* 0x5C */ f32 field_0x5C;
|
||||
/* 0x60 */ f32 field_0x60;
|
||||
/* 0x64 */ f32 field_0x64;
|
||||
/* 0x68 */ f32 field_0x68;
|
||||
/* 0x00 */ s16 field_0x0; // 0x18
|
||||
/* 0x02 */ s16 field_0x2; // 0x91A
|
||||
/* 0x04 */ s16 field_0x4; // 0x1388
|
||||
/* 0x06 */ s16 field_0x6; // 0x4B0
|
||||
/* 0x08 */ s16 field_0x8; // 0x11
|
||||
/* 0x0C */ f32 field_0xC; // 18.0f
|
||||
/* 0x10 */ f32 field_0x10; // 1.0f
|
||||
/* 0x14 */ f32 field_0x14; // -50.0f
|
||||
/* 0x18 */ f32 field_0x18; // 0.02f
|
||||
/* 0x1C */ f32 field_0x1C; // 2.0f
|
||||
/* 0x20 */ f32 field_0x20; // 0.5f
|
||||
/* 0x24 */ f32 field_0x24; // 90.0f
|
||||
/* 0x28 */ f32 field_0x28; // 15.0f
|
||||
/* 0x2C */ f32 field_0x2C; // 0.7f
|
||||
/* 0x30 */ f32 field_0x30; // 0.0f
|
||||
/* 0x34 */ f32 field_0x34; // 19.0f
|
||||
/* 0x38 */ f32 field_0x38; // 3.0f
|
||||
/* 0x3C */ f32 field_0x3C; // 0.0f
|
||||
/* 0x40 */ f32 field_0x40; // 0.5f
|
||||
/* 0x44 */ f32 field_0x44; // 18.0f
|
||||
/* 0x48 */ f32 field_0x48; // 1.0f
|
||||
/* 0x4C */ f32 field_0x4C; // 5.0f
|
||||
/* 0x50 */ f32 field_0x50; // 0.6f
|
||||
/* 0x54 */ f32 field_0x54; // 1.1f
|
||||
/* 0x58 */ f32 field_0x58; // 5.3f
|
||||
/* 0x5C */ f32 field_0x5C; // 0.0f
|
||||
/* 0x60 */ f32 field_0x60; // 0.4f
|
||||
/* 0x64 */ f32 field_0x64; // 6.0f
|
||||
/* 0x68 */ f32 field_0x68; // 9.5f
|
||||
/* 0x6C */ f32 field_0x6C;
|
||||
/* 0x70 */ f32 field_0x70;
|
||||
/* 0x74 */ f32 field_0x74;
|
||||
/* 0x78 */ f32 field_0x78;
|
||||
/* 0x70 */ f32 field_0x70; // 2.5f
|
||||
/* 0x74 */ f32 field_0x74; // 1.0f
|
||||
/* 0x78 */ f32 field_0x78; // 30.0f
|
||||
/* 0x7C */ f32 field_0x7C;
|
||||
}; // Size: 0x80
|
||||
|
||||
@@ -923,7 +923,7 @@ public:
|
||||
/* 0x48 */ f32 field_0x48;
|
||||
/* 0x4C */ f32 field_0x4C;
|
||||
/* 0x50 */ f32 field_0x50;
|
||||
/* 0x54 */ f32 field_0x54;
|
||||
/* 0x54 */ f32 field_0x54; // 6.0f
|
||||
}; // Size: 0x58
|
||||
|
||||
class daPy_HIO_wallCatch_c0 {
|
||||
|
||||
@@ -809,37 +809,37 @@ public:
|
||||
|
||||
enum {
|
||||
ModeFlg_00000001 = 0x00000001,
|
||||
ModeFlg_MIDAIR = 0x00000002,
|
||||
ModeFlg_MIDAIR = 0x00000002,
|
||||
ModeFlg_00000004 = 0x00000004,
|
||||
ModeFlg_DAMAGE = 0x00000008,
|
||||
ModeFlg_WHIDE = 0x00000010,
|
||||
ModeFlg_HANG = 0x00000020,
|
||||
ModeFlg_DAMAGE = 0x00000008,
|
||||
ModeFlg_WHIDE = 0x00000010,
|
||||
ModeFlg_HANG = 0x00000020,
|
||||
ModeFlg_00000040 = 0x00000040,
|
||||
ModeFlg_00000080 = 0x00000080,
|
||||
ModeFlg_00000100 = 0x00000100,
|
||||
ModeFlg_HOOKSHOT = 0x00000200,
|
||||
ModeFlg_00000400 = 0x00000400,
|
||||
ModeFlg_ROPE = 0x00000800,
|
||||
ModeFlg_ROPE = 0x00000800,
|
||||
ModeFlg_00001000 = 0x00001000,
|
||||
ModeFlg_IN_SHIP = 0x00002000,
|
||||
ModeFlg_IN_SHIP = 0x00002000,
|
||||
ModeFlg_00004000 = 0x00004000,
|
||||
ModeFlg_00008000 = 0x00008000,
|
||||
ModeFlg_CLIMB = 0x00010000,
|
||||
ModeFlg_CLIMB = 0x00010000,
|
||||
ModeFlg_00020000 = 0x00020000,
|
||||
ModeFlg_SWIM = 0x00040000,
|
||||
ModeFlg_SWIM = 0x00040000,
|
||||
ModeFlg_00080000 = 0x00080000,
|
||||
ModeFlg_GRAB = 0x00100000,
|
||||
ModeFlg_GRAB = 0x00100000,
|
||||
ModeFlg_PUSHPULL = 0x00200000,
|
||||
ModeFlg_LADDER = 0x00400000,
|
||||
ModeFlg_CROUCH = 0x00800000,
|
||||
ModeFlg_CRAWL = 0x01000000,
|
||||
ModeFlg_LADDER = 0x00400000,
|
||||
ModeFlg_CROUCH = 0x00800000,
|
||||
ModeFlg_CRAWL = 0x01000000,
|
||||
ModeFlg_02000000 = 0x02000000,
|
||||
ModeFlg_04000000 = 0x04000000,
|
||||
ModeFlg_08000000 = 0x08000000,
|
||||
ModeFlg_CAUGHT = 0x10000000,
|
||||
ModeFlg_SUBJECT = 0x20000000,
|
||||
ModeFlg_CAUGHT = 0x10000000,
|
||||
ModeFlg_SUBJECT = 0x20000000,
|
||||
ModeFlg_40000000 = 0x40000000,
|
||||
ModeFlg_PARRY = 0x80000000,
|
||||
ModeFlg_PARRY = 0x80000000,
|
||||
};
|
||||
|
||||
enum {
|
||||
@@ -918,7 +918,7 @@ public:
|
||||
BOOL draw();
|
||||
void setAtnList();
|
||||
void setActorPointer();
|
||||
void setTalkStatus();
|
||||
BOOL setTalkStatus();
|
||||
void setHintActor();
|
||||
void setDoStatusBasic();
|
||||
void setDoStatus();
|
||||
@@ -973,7 +973,7 @@ public:
|
||||
BOOL checkNextMode(int);
|
||||
BOOL checkIceSlipFall();
|
||||
void setFrontWallType();
|
||||
void changeFrontWallTypeProc();
|
||||
BOOL changeFrontWallTypeProc();
|
||||
void changeSlideProc();
|
||||
void changeWaitProc();
|
||||
void changeLandProc(f32);
|
||||
@@ -1401,13 +1401,13 @@ public:
|
||||
BOOL procGrabRebound();
|
||||
void setSpeedAndAngleSwim();
|
||||
BOOL checkNextModeSwim();
|
||||
void changeSwimProc();
|
||||
void changeSwimUpProc();
|
||||
BOOL changeSwimProc();
|
||||
BOOL changeSwimUpProc();
|
||||
void swimOutAfter(int);
|
||||
BOOL checkSwimFallCheck();
|
||||
void changeSwimOutProc();
|
||||
BOOL changeSwimOutProc();
|
||||
void setSwimMoveAnime(daPy_ANM);
|
||||
void getSwimTimerRate();
|
||||
f32 getSwimTimerRate();
|
||||
void setSwimTimerStartStop();
|
||||
BOOL procSwimUp_init(int);
|
||||
BOOL procSwimUp();
|
||||
@@ -1782,7 +1782,7 @@ public:
|
||||
void otherWeaponTrigger() const {}
|
||||
void spBattleTrigger() const {}
|
||||
|
||||
void checkPlayerDemoMode() const {}
|
||||
BOOL checkPlayerDemoMode() const { return mDemo.getDemoType(); }
|
||||
void checkSpecialDemoMode() const {}
|
||||
|
||||
void checkAttentionLock() {}
|
||||
@@ -2122,7 +2122,7 @@ public:
|
||||
/* 0x35A4 */ f32 m35A4;
|
||||
/* 0x35A8 */ f32 m35A8;
|
||||
/* 0x35AC */ f32 m35AC;
|
||||
/* 0x35B0 */ f32 m35B0;
|
||||
/* 0x35B0 */ f32 mStickDistance; //
|
||||
/* 0x35B4 */ f32 m35B4;
|
||||
/* 0x35B8 */ f32 m35B8;
|
||||
/* 0x35BC */ f32 mVelocity;
|
||||
|
||||
@@ -377,11 +377,15 @@ public:
|
||||
s16 getItemKeyNumCount() { return mItemKeyNumCount; }
|
||||
void setItemKeyNumCount(s16 num) { mItemKeyNumCount += num; }
|
||||
|
||||
void setItemBeastNumCount(int i_idx, s16 num) { mItemBeastNumCounts[i_idx] += num; }
|
||||
s16 getItemBeastNumCount(int i_idx) { return mItemBeastNumCounts[i_idx]; }
|
||||
void setItemBeastNumCount(int i_idx, s16 num) { mItemBeastNumCounts[i_idx] += num; }
|
||||
|
||||
s32 getItemTimeCount() { return mAirMeter; }
|
||||
void setItemTimeCount(s32 time) { mAirMeter = time; }
|
||||
void setItemTimeMax(s32 time) { field_0x4928 = time; }
|
||||
void clearItemTimeCount() { mAirMeter = 0; }
|
||||
|
||||
s32 getItemTimeMax() { return mItemTimeMax; }
|
||||
void setItemTimeMax(s32 time) { mItemTimeMax = time; }
|
||||
|
||||
u8 getScopeType() { return mScopeType; }
|
||||
void setScopeType(u8 type) { mScopeType = type; }
|
||||
@@ -657,7 +661,7 @@ public:
|
||||
/* 0x4922 */ s16 mItemTimer;
|
||||
/* 0x4924 */ s16 mItemNowLife;
|
||||
/* 0x4926 */ s16 mItemNowRupee;
|
||||
/* 0x4928 */ u8 field_0x4928;
|
||||
/* 0x4928 */ u8 mItemTimeMax;
|
||||
/* 0x4929 */ u8 field_0x4929;
|
||||
/* 0x492A */ u8 mMesgStatus;
|
||||
/* 0x492B */ u8 mbCamOverrideFarPlane;
|
||||
@@ -2228,14 +2232,26 @@ inline void dComIfGp_setItemKeyNumCount(s16 num) {
|
||||
g_dComIfG_gameInfo.play.setItemKeyNumCount(num);
|
||||
}
|
||||
|
||||
inline s32 dComIfGp_getItemTimeCount() {
|
||||
return g_dComIfG_gameInfo.play.getItemTimeCount();
|
||||
}
|
||||
|
||||
inline void dComIfGp_setItemTimeCount(s32 time) {
|
||||
g_dComIfG_gameInfo.play.setItemTimeCount(time);
|
||||
}
|
||||
|
||||
inline void dComIfGp_clearItemTimeCount() {
|
||||
g_dComIfG_gameInfo.play.clearItemTimeCount();
|
||||
}
|
||||
|
||||
inline void dComIfGp_setItemTimeMax(s32 time) {
|
||||
g_dComIfG_gameInfo.play.setItemTimeMax(time);
|
||||
}
|
||||
|
||||
inline u32 dComIfGp_getItemTimeMax() {
|
||||
return g_dComIfG_gameInfo.play.getItemTimeMax();
|
||||
}
|
||||
|
||||
inline void dComIfGp_setMessageCountNumber(s16 num) {
|
||||
g_dComIfG_gameInfo.play.setMessageCountNumber(num);
|
||||
}
|
||||
|
||||
@@ -1116,7 +1116,7 @@ void daPy_lk_c::setActorPointer() {
|
||||
}
|
||||
|
||||
/* 80108564-80108634 .text setTalkStatus__9daPy_lk_cFv */
|
||||
void daPy_lk_c::setTalkStatus() {
|
||||
BOOL daPy_lk_c::setTalkStatus() {
|
||||
/* Nonmatching */
|
||||
}
|
||||
|
||||
@@ -1217,7 +1217,7 @@ void daPy_lk_c::setSpeedAndAngleAtn() {
|
||||
/* 8010AA90-8010AB84 .text setSpeedAndAngleAtnBack__9daPy_lk_cFv */
|
||||
void daPy_lk_c::setSpeedAndAngleAtnBack() {
|
||||
f32 f1;
|
||||
if (m35B0 > 0.05f) {
|
||||
if (mStickDistance > 0.05f) {
|
||||
if (getDirectionFromCurrentAngle() == 1) {
|
||||
current.angle.y += 0x8000;
|
||||
mVelocity *= -1.0f;
|
||||
@@ -1229,7 +1229,7 @@ void daPy_lk_c::setSpeedAndAngleAtnBack() {
|
||||
daPy_HIO_atnMoveB_c0::m.field_0x0,
|
||||
daPy_HIO_atnMoveB_c0::m.field_0x2
|
||||
);
|
||||
f1 = (daPy_HIO_atnMoveB_c0::m.field_0x8 * m35B0) * cM_scos(current.angle.y - origAngleY);
|
||||
f1 = (daPy_HIO_atnMoveB_c0::m.field_0x8 * mStickDistance) * cM_scos(current.angle.y - origAngleY);
|
||||
} else {
|
||||
f1 = 0.0f;
|
||||
}
|
||||
@@ -1728,7 +1728,7 @@ void daPy_lk_c::setFrontWallType() {
|
||||
}
|
||||
|
||||
/* 8010F9AC-8010FEC4 .text changeFrontWallTypeProc__9daPy_lk_cFv */
|
||||
void daPy_lk_c::changeFrontWallTypeProc() {
|
||||
BOOL daPy_lk_c::changeFrontWallTypeProc() {
|
||||
/* Nonmatching */
|
||||
}
|
||||
|
||||
@@ -3348,7 +3348,7 @@ BOOL daPy_lk_c::execute() {
|
||||
|
||||
cXyz oldPos = old.pos;
|
||||
m34DE = shape_angle.y;
|
||||
m35B4 = m35B0;
|
||||
m35B4 = mStickDistance;
|
||||
m34EA = m34DC;
|
||||
|
||||
dComIfGp_setDoStatus(0);
|
||||
|
||||
+547
-26
@@ -11,85 +11,606 @@
|
||||
*/
|
||||
|
||||
#include "d/actor/d_a_player_main.h"
|
||||
#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() {
|
||||
/* Nonmatching */
|
||||
float fVar1;
|
||||
short oldAngleY;
|
||||
|
||||
BOOL bVar3 = false;
|
||||
|
||||
if (mCurProc != daPyProc_SWIM_UP_e) {
|
||||
if (!mpAttention->Lockon()) {
|
||||
if (mStickDistance > 0.05f) {
|
||||
oldAngleY = shape_angle.y;
|
||||
|
||||
if (getDirectionFromShapeAngle() == 1) {
|
||||
mSwimTailEcallBack[0].onEnd();
|
||||
mSwimTailEcallBack[1].onEnd();
|
||||
|
||||
shape_angle.y = m34E8;
|
||||
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);
|
||||
}
|
||||
|
||||
fVar1 = mStickDistance * 3.0f * cM_scos(shape_angle.y - oldAngleY);
|
||||
}
|
||||
else {
|
||||
fVar1 = 0.0f;
|
||||
}
|
||||
|
||||
cLib_addCalcAngleS(¤t.angle.y, shape_angle.y, 2, 0x2000, 0x1000);
|
||||
|
||||
mMaxNormalSpeed = l_HIO_swim_c0.m.field_0xC;
|
||||
}
|
||||
else {
|
||||
setShapeAngleToAtnActor();
|
||||
|
||||
if (mStickDistance > 0.05f) {
|
||||
oldAngleY = current.angle.y;
|
||||
|
||||
if (getDirectionFromCurrentAngle() == 1) {
|
||||
mSwimTailEcallBack[0].onEnd();
|
||||
mSwimTailEcallBack[1].onEnd();
|
||||
|
||||
fVar1 = 0.0f;
|
||||
bVar3 = TRUE;
|
||||
}
|
||||
else {
|
||||
cLib_addCalcAngleS(¤t.angle.y, m34E8, l_HIO_swim_c0.m.field_0x8, l_HIO_swim_c0.m.field_0x4, l_HIO_swim_c0.m.field_0x6);
|
||||
fVar1 = mStickDistance * 3.0f * cM_scos(current.angle.y - oldAngleY);
|
||||
}
|
||||
}
|
||||
else {
|
||||
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;
|
||||
}
|
||||
}
|
||||
else {
|
||||
fVar1 = 0.0f;
|
||||
mMaxNormalSpeed = l_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);
|
||||
|
||||
if (bVar3 && mVelocity < 5.0f) {
|
||||
current.angle.y = m34E8;
|
||||
mVelocity = 0.0f;
|
||||
}
|
||||
if (dComIfGp_checkPlayerStatus0(0, daPyStts0_UNK10_e)) {
|
||||
mVelocity = 0.0f;
|
||||
}
|
||||
}
|
||||
|
||||
/* 8013CF2C-8013CFC0 .text checkNextModeSwim__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::checkNextModeSwim() {
|
||||
/* Nonmatching */
|
||||
BOOL res;
|
||||
|
||||
if (mpAttnEntryA && mpAttnEntryA->mType == 7) { //Action_Ship? fopAc_Attn_ACTION_SHIP_e is 0x80 so not sure why Ghidra is saying this
|
||||
dComIfGp_setDoStatus(0x1C); // Show `Get In` on the A Button? Ghidra says `GetInShip` is the symbol
|
||||
if (doTrigger()) {
|
||||
return procShipReady_init();
|
||||
}
|
||||
}
|
||||
|
||||
if (setTalkStatus() && doTrigger()) {
|
||||
res = fopAcM_orderTalkEvent(this, mpAttnActorA);
|
||||
}
|
||||
else {
|
||||
res = FALSE;
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
/* 8013CFC0-8013D1B0 .text changeSwimProc__9daPy_lk_cFv */
|
||||
void daPy_lk_c::changeSwimProc() {
|
||||
/* Nonmatching */
|
||||
BOOL daPy_lk_c::changeSwimProc() {
|
||||
float fVar1;
|
||||
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) {
|
||||
dComIfGp_setItemTimeCount(900);
|
||||
dComIfGp_setItemTimeMax(1);
|
||||
g_dComIfG_gameInfo.play.field_0x48c8 = 900; // Some inline? Debug maps make no mention of this function but perhaps it was used earlier?
|
||||
|
||||
offNoResetFlg0(daPyFlg0_EQUIP_HEAVY_BOOTS);
|
||||
offNoResetFlg1(daPyFlg1_EQUIP_DRAGON_SHIELD);
|
||||
|
||||
endFlameDamageEmitter();
|
||||
|
||||
offNoResetFlg0(daPyFlg0_UNK100);
|
||||
|
||||
mMaxNormalSpeed = l_HIO_swim_c0.m.field_0xC;
|
||||
mVelocity *= 0.75f;
|
||||
|
||||
if (mVelocity >= mMaxNormalSpeed) {
|
||||
mVelocity = mMaxNormalSpeed;
|
||||
}
|
||||
|
||||
m35C4 = 0.0f;
|
||||
|
||||
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;
|
||||
|
||||
if (speed.y < l_HIO_swim_c0.m.field_0x14) {
|
||||
speed.y = l_HIO_swim_c0.m.field_0x14;
|
||||
}
|
||||
else if (speed.y > 0.0f) {
|
||||
speed.y = 0.0f;
|
||||
}
|
||||
|
||||
float oldSpeedY = mOldSpeed.y * mOldSpeed.y * 0.0004f + 0.2f;
|
||||
|
||||
if (oldSpeedY > 1.0f) {
|
||||
oldSpeedY = 1.0f;
|
||||
}
|
||||
|
||||
local_18.x = current.pos.x;
|
||||
local_18.y = m35D0;
|
||||
local_18.z = current.pos.z;
|
||||
fopKyM_createWpillar(&local_18, 1.0f, oldSpeedY, 0);
|
||||
seStartOnlyReverb(JA_SE_LK_INTO_WATER);
|
||||
res = procSwimWait_init(0);
|
||||
}
|
||||
else {
|
||||
res = procSwimUp_init(0);
|
||||
}
|
||||
}
|
||||
else {
|
||||
res = 0;
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
/* 8013D1B0-8013D2AC .text changeSwimUpProc__9daPy_lk_cFv */
|
||||
void daPy_lk_c::changeSwimUpProc() {
|
||||
/* Nonmatching */
|
||||
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 > 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 (mCurProc == daPyProc_DEMO_DEAD_e) {
|
||||
onNoResetFlg0(daPyFlg0_UNK100);
|
||||
current.pos.y = m35D0;
|
||||
return TRUE;
|
||||
}
|
||||
return procSwimUp_init(1);
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* 8013D2AC-8013D314 .text swimOutAfter__9daPy_lk_cFi */
|
||||
void daPy_lk_c::swimOutAfter(int) {
|
||||
/* Nonmatching */
|
||||
void daPy_lk_c::swimOutAfter(int param_1) {
|
||||
onNoResetFlg0(daPyFlg0_UNK100);
|
||||
m35C4 = 0.0f;
|
||||
if (param_1) {
|
||||
seStartOnlyReverb(JA_SE_LK_OUTOF_WATER);
|
||||
}
|
||||
dComIfGp_clearItemTimeCount();
|
||||
dComIfGp_setItemTimeMax(0);
|
||||
resetPriTextureAnime();
|
||||
}
|
||||
|
||||
/* 8013D314-8013D354 .text checkSwimFallCheck__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::checkSwimFallCheck() {
|
||||
/* Nonmatching */
|
||||
if (!checkNoResetFlg0(daPyFlg0_UNK80) || current.pos.y > m35D0 + 30.1f && !dPa_control_c::isStatus(1)) {
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* 8013D354-8013D530 .text changeSwimOutProc__9daPy_lk_cFv */
|
||||
void daPy_lk_c::changeSwimOutProc() {
|
||||
/* Nonmatching */
|
||||
BOOL daPy_lk_c::changeSwimOutProc() {
|
||||
cM3dGPla* pcVar1;
|
||||
|
||||
if (mAcch.GetGroundH() != -1e+09f && dComIfG_Bgsp()->ChkPolySafe(mAcch.m_gnd)) {
|
||||
pcVar1 = dComIfG_Bgsp()->GetTriPla(mAcch.m_gnd);
|
||||
}
|
||||
else {
|
||||
pcVar1 = NULL;
|
||||
}
|
||||
|
||||
if (checkSwimFallCheck()) {
|
||||
if (mCurProc == daPyProc_SWIM_MOVE_e && m34B8) {
|
||||
current.pos.y += m35C4;
|
||||
}
|
||||
|
||||
swimOutAfter(1);
|
||||
|
||||
return procFall_init(1, l_HIO_wallCatch_c0.m.field_0x54);
|
||||
}
|
||||
else {
|
||||
if (!checkNoResetFlg0(daPyFlg0_UNK80) || pcVar1 && pcVar1->mNormal.y >= 0.5f && m35D0 - mAcch.GetGroundH() < l_HIO_swim_c0.m.field_0x24 - 5.0f) {
|
||||
current.pos.y = m35D0;
|
||||
|
||||
if (mCurProc == daPyProc_SWIM_MOVE_e && m34B8) {
|
||||
current.pos.y += m35C4;
|
||||
}
|
||||
|
||||
swimOutAfter(1);
|
||||
|
||||
return checkNextMode(0);
|
||||
}
|
||||
else {
|
||||
if (dComIfGp_getItemTimeCount() <= 0 && startRestartRoom(5, 0xC9, -1.0f, 0)) {
|
||||
voiceStart(0x21);
|
||||
mFrameCtrlUnder[0].mRate = 0.0f;
|
||||
onNoResetFlg1(daPyFlg1_UNK40000000);
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* 8013D530-8013D638 .text setSwimMoveAnime__9daPy_lk_cFQ29daPy_lk_c8daPy_ANM */
|
||||
void daPy_lk_c::setSwimMoveAnime(daPy_ANM) {
|
||||
void daPy_lk_c::setSwimMoveAnime(daPy_ANM swimMoveAnm) {
|
||||
/* Nonmatching */
|
||||
//float startFrame = mFrameCtrlUnder[0].getFrame();
|
||||
float endFrame = mFrameCtrlUnder[0].getEnd();
|
||||
setSingleMoveAnime(swimMoveAnm, (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), 0.0f, -1, l_HIO_swim_c0.m.field_0x58); // Missing a `* currentFrame` in here?
|
||||
mFrameCtrlUnder[0].setFrame(endFrame * mFrameCtrlUnder[0].getEnd());
|
||||
mAnmRatioUnder[0].getAnmTransform()->setFrame(mFrameCtrlUnder[0].getFrame());
|
||||
}
|
||||
|
||||
/* 8013D638-8013D6B8 .text getSwimTimerRate__9daPy_lk_cFv */
|
||||
void daPy_lk_c::getSwimTimerRate() {
|
||||
/* Nonmatching */
|
||||
f32 daPy_lk_c::getSwimTimerRate() {
|
||||
f32 swimTimerRate;
|
||||
if (dComIfGp_getItemTimeMax() != 0 && dComIfGp_event_getMode() == dEvtMode_NONE_e) {
|
||||
swimTimerRate = (1.0f - dComIfGp_getItemTimeCount() * 0.0011111111f);
|
||||
}
|
||||
else {
|
||||
if (dComIfGp_getItemTimeCount() <= 0) {
|
||||
swimTimerRate = 1.0f;
|
||||
}
|
||||
else {
|
||||
swimTimerRate = 0.0f;
|
||||
}
|
||||
}
|
||||
return swimTimerRate;
|
||||
}
|
||||
|
||||
/* 8013D6B8-8013D814 .text setSwimTimerStartStop__9daPy_lk_cFv */
|
||||
void daPy_lk_c::setSwimTimerStartStop() {
|
||||
/* Nonmatching */
|
||||
float target = 0.0f;
|
||||
|
||||
if (mAcch.GetGroundH() <= m35D0 - 175.0f) {
|
||||
dComIfGp_setItemTimeMax(1);
|
||||
|
||||
if (checkNoResetFlg0(daPyFlg0_UNK100)) {
|
||||
float swimTimerRate = getSwimTimerRate();
|
||||
|
||||
if (swimTimerRate > 0.5f) {
|
||||
target = cM_scos(cM_rad2s((1.0f - swimTimerRate) * M_PI)) * -l_HIO_swim_c0.m.field_0x78;
|
||||
|
||||
if (mFrameCtrlUnder->checkPass(0.0f) && mCurProc != daPyProc_SWIM_UP_e) {
|
||||
if (m3570 && !checkNoResetFlg0(daPyFlg0_UNK4000)) {
|
||||
voiceStart(0x22);
|
||||
m3570 = 0;
|
||||
}
|
||||
else {
|
||||
m3570 = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
dComIfGp_setItemTimeCount(900);
|
||||
dComIfGp_setItemTimeMax(1);
|
||||
dComIfGp_setItemTimeMax(0); //Fakematch? Seems nonsensical to set it to 1 then immediately to 0, also could be `dComIfGp_stopItemSwimTimer` and `dComIfGp_startItemSwimTimer` inlines mentioned in the debug maps
|
||||
}
|
||||
|
||||
cLib_chaseF(&m3608, target, 3.0f);
|
||||
}
|
||||
|
||||
/* 8013D814-8013DA18 .text procSwimUp_init__9daPy_lk_cFi */
|
||||
BOOL daPy_lk_c::procSwimUp_init(int) {
|
||||
/* Nonmatching */
|
||||
static JGeometry::TVec3<f32> splash_scale;
|
||||
static JGeometry::TVec3<f32> ripple_scale;
|
||||
BOOL daPy_lk_c::procSwimUp_init(int param_1) {
|
||||
JPABaseEmitter* mEmitter;
|
||||
|
||||
static JGeometry::TVec3<f32> splash_scale(0.4f, 0.4f, 0.4f);
|
||||
static JGeometry::TVec3<f32> ripple_scale(0.3f, 0.3f, 0.3f);
|
||||
|
||||
commonProcInit(daPyProc_SWIM_UP_e);
|
||||
|
||||
gravity = 0.0f;
|
||||
speed.y = 0.0f;
|
||||
|
||||
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);
|
||||
|
||||
dComIfGp_setPlayerStatus0(0, daPyStts0_SWIM_e);
|
||||
|
||||
m35C4 = l_HIO_swim_c0.m.field_0x3C;
|
||||
|
||||
onNoResetFlg0(daPyFlg0_UNK100);
|
||||
|
||||
if (param_1) {
|
||||
mEmitter = dComIfGp_particle_setP1(dPa_name::ID_COMMON_0040, ¤t.pos);
|
||||
|
||||
if (mEmitter) {
|
||||
mEmitter->setRate(15.0f);
|
||||
mEmitter->setGlobalDynamicsScale(splash_scale);
|
||||
mEmitter->setGlobalParticleScale(splash_scale);
|
||||
}
|
||||
|
||||
mEmitter = dComIfGp_particle_setShipTail(dPa_name::ID_COMMON_003D, ¤t.pos, NULL, NULL, 0xFF, &dPa_control_c::mSingleRippleEcallBack);
|
||||
|
||||
if (mEmitter) {
|
||||
mEmitter->setGlobalDynamicsScale(ripple_scale);
|
||||
mEmitter->setGlobalParticleScale(ripple_scale);
|
||||
}
|
||||
}
|
||||
m3570 = 0;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 8013DA18-8013DB24 .text procSwimUp__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procSwimUp() {
|
||||
/* Nonmatching */
|
||||
int iVar1;
|
||||
|
||||
J3DFrameCtrl* mFrameCtrl = mFrameCtrlUnder;
|
||||
|
||||
setSpeedAndAngleSwim();
|
||||
|
||||
if (!changeSwimOutProc()) {
|
||||
if (mFrameCtrl->getRate() < 0.01f) {
|
||||
procSwimWait_init(0);
|
||||
}
|
||||
else {
|
||||
if (mFrameCtrl->getFrame() > l_HIO_swim_c0.m.field_0x34) {
|
||||
if (mStickDistance > 0.05f) {
|
||||
procSwimMove_init(0);
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (mFrameCtrl->checkPass(4.0f)) {
|
||||
voiceStart(0x1A);
|
||||
seStartOnlyReverb(JA_SE_LK_WALK_IN_WATER);
|
||||
seStartOnlyReverb(JA_SE_LK_SWIM);
|
||||
}
|
||||
else {
|
||||
m35C4 = l_HIO_swim_c0.m.field_0x3C;
|
||||
current.pos.y = m35D0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
setSwimTimerStartStop();
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 8013DB24-8013DCDC .text procSwimWait_init__9daPy_lk_cFi */
|
||||
BOOL daPy_lk_c::procSwimWait_init(int) {
|
||||
/* Nonmatching */
|
||||
BOOL daPy_lk_c::procSwimWait_init(int param_1) {
|
||||
float fVar2;
|
||||
u32 uVar3;
|
||||
|
||||
J3DFrameCtrl* mFrameCtrl = mFrameCtrlUnder;
|
||||
|
||||
commonProcInit(daPyProc_SWIM_WAIT_e);
|
||||
|
||||
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;
|
||||
}
|
||||
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);
|
||||
mFrameCtrl->setFrame(fVar2 * mFrameCtrl->getEnd());
|
||||
mAnmRatioUnder[0].getAnmTransform()->setFrame(mFrameCtrl->getFrame());
|
||||
dComIfGp_setPlayerStatus0(0, daPyStts0_SWIM_e);
|
||||
|
||||
if (checkNoResetFlg0(daPyFlg0_UNK100)) {
|
||||
if (mEquipItem != daPyItem_NONE_e) {
|
||||
deleteEquipItem(TRUE);
|
||||
}
|
||||
current.pos.y = m35D0;
|
||||
speed.y = 0.0f;
|
||||
}
|
||||
|
||||
m35C4 = l_HIO_swim_c0.m.field_0x48;
|
||||
m34D4 = 0;
|
||||
m3570 = 0;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 8013DCDC-8013DE8C .text procSwimWait__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procSwimWait() {
|
||||
/* Nonmatching */
|
||||
fopAc_ac_c* talkEventPartner;
|
||||
short targetAngleY;
|
||||
|
||||
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;
|
||||
|
||||
if (changeSwimOutProc()) {
|
||||
return TRUE;
|
||||
}
|
||||
else {
|
||||
if (!checkNoResetFlg0(daPyFlg0_UNK100)) {
|
||||
if (changeSwimUpProc()) {
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
else {
|
||||
current.pos.y = m35D0;
|
||||
}
|
||||
if (checkNextModeSwim()) {
|
||||
return TRUE;
|
||||
}
|
||||
else {
|
||||
if (dComIfGp_checkPlayerStatus0(0, daPyStts0_UNK10_e)) {
|
||||
talkEventPartner = fopAcM_getTalkEventPartner(this);
|
||||
if (talkEventPartner) {
|
||||
targetAngleY = cLib_targetAngleY(¤t.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);
|
||||
current.angle.y = shape_angle.y;
|
||||
}
|
||||
}
|
||||
|
||||
mFrameCtrlUnder[0].setRate((float)(getSwimTimerRate() * l_HIO_swim_c0.m.field_0x70) + l_HIO_swim_c0.m.field_0x40);
|
||||
|
||||
if (mStickDistance > 0.05f) {
|
||||
procSwimMove_init(1);
|
||||
}
|
||||
|
||||
setSwimTimerStartStop();
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 8013DE8C-8013DF60 .text procSwimMove_init__9daPy_lk_cFi */
|
||||
BOOL daPy_lk_c::procSwimMove_init(int) {
|
||||
/* Nonmatching */
|
||||
BOOL daPy_lk_c::procSwimMove_init(int param_1) {
|
||||
commonProcInit(daPyProc_SWIM_MOVE_e);
|
||||
|
||||
if (param_1 == 0) {
|
||||
mFrameCtrlUnder[0].setFrame(0.0f);
|
||||
}
|
||||
|
||||
gravity = 0.0f;
|
||||
|
||||
setSwimMoveAnime(ANM_SWIMING);
|
||||
|
||||
m34B8 = 0;
|
||||
|
||||
if (checkNoResetFlg0(daPyFlg0_UNK100)) {
|
||||
if (mEquipItem != daPyItem_NONE_e) {
|
||||
deleteEquipItem(TRUE);
|
||||
}
|
||||
|
||||
current.pos.y = m35D0;
|
||||
speed.y = 0.0f;
|
||||
|
||||
setSwimTail();
|
||||
}
|
||||
|
||||
dComIfGp_setPlayerStatus0(0, daPyStts0_SWIM_e);
|
||||
|
||||
m35C4 = l_HIO_swim_c0.m.field_0x5C;
|
||||
m3570 = 0;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 8013DF60-8013E250 .text procSwimMove__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procSwimMove() {
|
||||
/* Nonmatching */
|
||||
int iVar1;
|
||||
daPy_ANM anm;
|
||||
|
||||
setSpeedAndAngleSwim();
|
||||
|
||||
J3DFrameCtrl* mFrameCtrl = mFrameCtrlUnder;
|
||||
|
||||
if (!mpAttention->Lockon()) {
|
||||
iVar1 = 0;
|
||||
}
|
||||
else {
|
||||
if (mStickDistance > 0.05f) {
|
||||
iVar1 = getDirectionFromShapeAngle();
|
||||
}
|
||||
else {
|
||||
iVar1 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (m34B8 != iVar1) {
|
||||
m34B8 = iVar1;
|
||||
float fVar1 = m35C4;
|
||||
|
||||
if (m34B8 == 0) {
|
||||
anm = ANM_SWIMING;
|
||||
m35C4 = l_HIO_swim_c0.m.field_0x5C;
|
||||
}
|
||||
else {
|
||||
m35C4 = -80.0f;
|
||||
|
||||
if (m34B8 == 2) {
|
||||
anm = ANM_ATNDLS;
|
||||
}
|
||||
else if (m34B8 == 3) {
|
||||
anm = ANM_ATNDRS;
|
||||
}
|
||||
else {
|
||||
anm = ANM_ATNWB;
|
||||
}
|
||||
}
|
||||
|
||||
m_old_fdata->getOldFrameTransInfo(0)->mTranslate.y -= m35C4 - fVar1;
|
||||
setSwimMoveAnime(anm);
|
||||
|
||||
if (m34B8) {
|
||||
setTextureAnime(3, 0);
|
||||
onModeFlg(ModeFlg_00000100);
|
||||
offModeFlg(ModeFlg_00000400);
|
||||
mpSeAnmFrameCtrl = NULL;
|
||||
}
|
||||
else {
|
||||
offModeFlg(ModeFlg_00000100);
|
||||
onModeFlg(ModeFlg_00000400);
|
||||
}
|
||||
}
|
||||
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));
|
||||
}
|
||||
|
||||
if (m34B8 == 1) {
|
||||
mFrameCtrl[0].setRate(mFrameCtrl[0].getRate() * 0.5f);
|
||||
}
|
||||
|
||||
if (changeSwimOutProc()) {
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (!checkNoResetFlg0(daPyFlg0_UNK100)) {
|
||||
if (changeSwimUpProc()) {
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
else {
|
||||
current.pos.y = m35D0;
|
||||
setSwimTail();
|
||||
}
|
||||
|
||||
if (checkNextModeSwim()) {
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (changeFrontWallTypeProc()) {
|
||||
swimOutAfter(1);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (mStickDistance <= 0.05f) {
|
||||
procSwimWait_init(1);
|
||||
}
|
||||
else if ((!m34B8 && mFrameCtrl->checkPass(20.0f)) || (m34B8 && mFrameCtrl->checkPass(0.0f))) {
|
||||
seStartOnlyReverb(JA_SE_LK_SWIM);
|
||||
}
|
||||
|
||||
setSwimTimerStartStop();
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -246,7 +246,7 @@ int daPy_lk_c::getCutDirection(){
|
||||
int iVar1;
|
||||
s16 sVar2;
|
||||
|
||||
if (m35B0 <= 0.05f) {
|
||||
if (mStickDistance <= 0.05f) {
|
||||
iVar1 = 4;
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -366,7 +366,7 @@ BOOL daPy_lk_c::procTactWait() {
|
||||
if (m3570 != -5) {
|
||||
rightDir = mDoAud_getTactDirection(1, m34D4);
|
||||
leftDir = mDoAud_getTactDirection(0, m34D6);
|
||||
mDoAud_tact_setVolume(m35B0 * cM_scos(m34DC));
|
||||
mDoAud_tact_setVolume(mStickDistance * cM_scos(m34DC));
|
||||
} else {
|
||||
rightDir = m34D4;
|
||||
leftDir = m34D6;
|
||||
|
||||
@@ -99,7 +99,7 @@ void dComIfG_play_c::itemInit() {
|
||||
mItemTimer = 0;
|
||||
mItemNowLife = 0;
|
||||
mItemNowRupee = 0;
|
||||
field_0x4928 = 0;
|
||||
mItemTimeMax = 0;
|
||||
field_0x4929 = 0;
|
||||
mMesgStatus = 0;
|
||||
mbCamOverrideFarPlane = 0;
|
||||
|
||||
Reference in New Issue
Block a user