summaryrefslogtreecommitdiff
path: root/src/d/actor/d_a_ship.cpp
diff options
context:
space:
mode:
authorLagoLunatic <LagoLunatic@users.noreply.github.com>2025-04-04 13:19:42 -0400
committerLagoLunatic <LagoLunatic@users.noreply.github.com>2025-04-04 13:19:42 -0400
commit924e87029d95bd9e5802c0a56439318635e29be1 (patch)
treeacfd981599d5d2c768bd08f57c6de9c6613350ac /src/d/actor/d_a_ship.cpp
parentcda3f0c3022bc9679bdd206e4c66504dc80dc7e9 (diff)
d_a_player_sword cleanup and small match fixes
Diffstat (limited to 'src/d/actor/d_a_ship.cpp')
-rw-r--r--src/d/actor/d_a_ship.cpp99
1 files changed, 52 insertions, 47 deletions
diff --git a/src/d/actor/d_a_ship.cpp b/src/d/actor/d_a_ship.cpp
index b840413c..c0f04ab4 100644
--- a/src/d/actor/d_a_ship.cpp
+++ b/src/d/actor/d_a_ship.cpp
@@ -769,7 +769,7 @@ void daShip_c::getMaxWaterY(cXyz* shipPos) {
}
}
else {
- if (m03F8 != -1e+09f) {
+ if (m03F8 != C_BG_MIN_HEIGHT) {
shipPos->y = m03F8;
}
else {
@@ -3023,7 +3023,7 @@ void daShip_c::setEffectData(float param_1, short param_2) {
/* 000085D8-00008688 .text setRoomInfo__8daShip_cFv */
void daShip_c::setRoomInfo() {
int roomId;
- if (mAcch.GetGroundH() != -1e+09f) {
+ if (mAcch.GetGroundH() != C_BG_MIN_HEIGHT) {
roomId = dComIfG_Bgsp()->GetRoomId(mAcch.m_gnd);
tevStr.mEnvrIdxOverride = dComIfG_Bgsp()->GetPolyColor(mAcch.m_gnd);
m03C4 = dComIfG_Bgsp()->GetGroundCode(mAcch.m_gnd);
@@ -3094,13 +3094,16 @@ void daShip_c::setRopePos() {
float fVar2;
float fVar17;
- MtxP pMVar5;
+ cXyz* r4;
+ int iVar11;
short sVar14;
int sVar12;
+ JPABaseEmitter* emitter;
+ cXyz* r3;
cXyz* ropeSegments;
cXyz* currentRopeSegment;
short currentRopeSegmentIndex;
- JPABaseEmitter* emitter;
+ MtxP pMVar5;
cXyz spF8;
cXyz spEC;
@@ -3177,7 +3180,7 @@ void daShip_c::setRopePos() {
*ropeSegments += (*currentRopeSegment - spF8) * 0.05f;
}
if (mCurrentRopeSegmentIndex == 20 && checkStateFlg(daSFLG_UNK10000000_e)) {
- cXyz* r4 = mRopeLine.getPos(0);;
+ r4 = mRopeLine.getPos(0);;
mDoMtx_multVecZero(mpSalvageArmModel->getAnmMtx(1), &spE0);
spE0 -= *r4;
@@ -3220,7 +3223,7 @@ void daShip_c::setRopePos() {
currentRopeSegment->z - pMVar5[2][3]
);
sVar14 = 0x7fff;
- int iVar11 = 0x8000 - (m0398 * 2);
+ iVar11 = 0x8000 - (m0398 * 2);
sVar12 = iVar11 - (0x8000 - m039A) * ((float)m0398 / (float)m039A);
}
@@ -3259,7 +3262,7 @@ void daShip_c::setRopePos() {
if (fVar2 > currentRopeSegment->y) {
ropeSegments = currentRopeSegment;
- cXyz* r3 = currentRopeSegment;
+ r3 = currentRopeSegment;
for (int i = 0; i < mCurrentRopeSegmentIndex; i++, ropeSegments++) {
if (ropeSegments->y <= fVar2) {
r3 = ropeSegments;
@@ -3485,30 +3488,12 @@ void daShip_c::setHeadAnm() {
/* 00009B4C-0000B978 .text execute__8daShip_cFv */
BOOL daShip_c::execute() {
/* Nonmatching */
- float fVar2;
- float fVar3;
- float dVar27;
-
- int iVar23;
- int sp18;
- s16 sp12;
- s16 sp10;
- short sVar16;
- short sVar5;
- int iVar6;
- J3DModel* mModel1;
- J3DModel* mModel2;
- short sVar26;
- dDemo_actor_c* demoActor;
- daPy_lk_c* link;
- MtxP jnt_mtx;
-
static cXyz sail_offset(0.5f, 155.0f, 50.0f);
static cXyz sph_offset(-5.0f, 0.0f, 0.0f);
static f32 cyl_offset[] = {100.0f, -20.0f, -100.0f};
- fVar2 = mFwdVel;
- fVar3 = speedF;
+ f32 prev_fwdvel = mFwdVel;
+ f32 prev_speedF = speedF;
m0351 = 0xFF;
m0404 = 0.0f;
m0428 = NULL;
@@ -3602,6 +3587,7 @@ BOOL daShip_c::execute() {
mpGrid = NULL;
mpGrid = (daGrid_c*)fopAcM_SearchByID(mGridID);
+ dDemo_actor_c* demoActor;
demoActor = dComIfGp_demo_getActor(demoActorID);
if (demoActor) {
@@ -3614,6 +3600,7 @@ BOOL daShip_c::execute() {
procCraneUp_init();
}
+ short sVar26;
sVar26 = m0366;
if (mAnmTransform) {
@@ -3648,6 +3635,7 @@ BOOL daShip_c::execute() {
if (!checkStateFlg(daSFLG_UNK1_e)) {
if (m034C != 12 && m034C != 15 && m034C != 7 && m034C != 11 && m034C != 13 && m034C != 16 && !dComIfGp_event_runCheck()) {
if (mTornadoActor) {
+ short sVar16;
sVar16 = shape_angle.y;
cLib_addCalcAngleS(&shape_angle.y, m040C * 10430.378f + 20480.0f, 5, 0x2000, 0x200);
setControllAngle(getAimControllAngle(sVar16));
@@ -3655,7 +3643,9 @@ BOOL daShip_c::execute() {
}
else {
if (mWhirlActor) {
+ short sVar16;
sVar16 = shape_angle.y;
+ short sVar5;
if (m0352) {
sVar5 = m040C * 10430.378f + 20480.0f;
}
@@ -3668,7 +3658,9 @@ BOOL daShip_c::execute() {
}
}
}
+ short sVar16;
sVar16 = -m0384;
+ short sVar5;
sVar5 = sVar16 * 0.05f;
if (sVar5 == 0) {
if (sVar16 > 0) {
@@ -3715,7 +3707,7 @@ BOOL daShip_c::execute() {
}
}
if (!dComIfGp_event_runCheck() && !checkStateFlg(daSFLG_UNK1_e) && checkForceMove()) {
- speedF = fVar3;
+ speedF = prev_speedF;
if (mTornadoActor) {
fVar4 = m0404 * 40.0f + 30.0f;
if (!dComIfGp_checkPlayerStatus0(0, daPyStts0_BOW_AIM_e) || !dComIfGp_checkCameraAttentionStatus(0, 0x20)) {
@@ -3738,7 +3730,7 @@ BOOL daShip_c::execute() {
if (checkStateFlg(daSFLG_UNK1_e)) {
if (checkStateFlg(daSFLG_UNK2000000_e)) {
cLib_chaseF(&speed.y, 20.0f, 1.0f - gravity);
- speedF = fVar3;
+ speedF = prev_speedF;
cLib_chaseF(&speedF, 55.0f, 3.0f);
offStateFlg(daSFLG_UNK2000000_e);
}
@@ -3755,23 +3747,23 @@ BOOL daShip_c::execute() {
if (checkForceMove() && !dComIfGp_event_runCheck()) {
if (mTornadoActor) {
if (!dComIfGp_checkPlayerStatus0(0, daPyStts0_BOW_AIM_e) || !dComIfGp_checkCameraAttentionStatus(0, 0x20)) {
- fVar3 = 25.0f;
+ prev_speedF = 25.0f;
}
else {
- fVar3 = 5.0f;
+ prev_speedF = 5.0f;
}
}
else {
// Bug? This room check assumes we're on the sea without checking?
if (dComIfGs_getBombNum() == 0 && fopAcM_GetRoomNo(this) == dIsleRoom_OutsetIsland_e) {
- fVar3 = 10.0f;
+ prev_speedF = 10.0f;
}
else {
- fVar3 = 0.6f;
+ prev_speedF = 0.6f;
}
}
- cLib_chaseF(&m0400, 0.0f, fVar3);
+ cLib_chaseF(&m0400, 0.0f, prev_speedF);
m0408 = std::fabsf(speedF) / m0400;
@@ -3789,17 +3781,18 @@ BOOL daShip_c::execute() {
r23 = TRUE;
}
else {
- fVar3 = current.pos.y;
+ prev_speedF = current.pos.y;
fopAcM_posMoveF(this, (cXyz *)&mStts);
- current.pos.y = fVar3;
+ current.pos.y = prev_speedF;
}
if (r23) {
cXyz sp114(current.pos - old.pos);
+ float dVar27;
dVar27 = sp114.absXZ();
if (dVar27 > 1.0f) {
- fVar3 = speedF / dVar27;
- current.pos.x = old.pos.x + sp114.x * fVar3;
- current.pos.z = old.pos.z + sp114.z * fVar3;
+ prev_speedF = speedF / dVar27;
+ current.pos.x = old.pos.x + sp114.x * prev_speedF;
+ current.pos.z = old.pos.z + sp114.z * prev_speedF;
}
}
}
@@ -3814,7 +3807,8 @@ BOOL daShip_c::execute() {
}
else {
cXyz sp108;
- if (mAcch.GetGroundH() != -1e+09f && dPath_GetPolyRoomPathVec(mAcch.m_gnd, &sp108, &sp18)) {
+ int sp18;
+ if (mAcch.GetGroundH() != C_BG_MIN_HEIGHT && dPath_GetPolyRoomPathVec(mAcch.m_gnd, &sp108, &sp18)) {
sp108.normalizeZP();
sp108 *= sp18 >> 1;
cLib_addCalcPosXZ(&m1044, sp108, 0.5f, 5.0f, 1.0f);
@@ -3875,6 +3869,8 @@ BOOL daShip_c::execute() {
mTrack.mBaseY = m03F4;
mTrack.mMinY = m03F8;
+ s16 sp12;
+ s16 sp10;
if (!checkStateFlg(daSFLG_UNK1_e)) {
setWaveAngle(&sp12, &sp10);
}
@@ -3908,6 +3904,8 @@ BOOL daShip_c::execute() {
mDoMtx_ZXYrotM(mDoMtx_stack_c::get(), shape_angle.x, shape_angle.y, shape_angle.z);
+ J3DModel* mModel1;
+ J3DModel* mModel2;
mModel1 = m0298->getModel();
mModel2 = m029C->getModel();
@@ -4017,7 +4015,9 @@ BOOL daShip_c::execute() {
}
}
+ int iVar23;
iVar23 = (s16)(m0366 - sVar26);
+ int iVar6;
iVar6 = abs(iVar23);
iVar23 *= m0366;
@@ -4041,11 +4041,13 @@ BOOL daShip_c::execute() {
// This should probably use the mDoMtx_multVecZero inline, but it's not getting inlined
// mDoMtx_multVecZero(mModel2->getAnmMtx(16), &eyePos);
+ MtxP jnt_mtx;
jnt_mtx = mModel2->getAnmMtx(16);
eyePos.x = jnt_mtx[0][3];
eyePos.y = jnt_mtx[1][3];
eyePos.z = jnt_mtx[2][3];
+ daPy_lk_c* link;
link = daPy_getPlayerLinkActorClass();
cXyz spCC;
spCC = link->current.pos - current.pos;
@@ -4096,6 +4098,8 @@ BOOL daShip_c::execute() {
}
}
+ short sVar16;
+ short sVar5;
if (bVar21) {
sVar16 = cM_atan2s(-spC0.y, spC0.absXZ()) - shape_angle.x;
@@ -4157,6 +4161,7 @@ BOOL daShip_c::execute() {
attention_info.flags &= ~fopAc_Attn_ACTION_SHIP_e;
}
if (m034C != 8 && dComIfGp_checkPlayerStatus0(0, daPyStts0_SHIP_RIDE_e)) {
+ BOOL r24;
r24 = TRUE;
if (dComIfGs_isEventBit(0x1E40) && !dComIfGs_isEventBit(0x3840)) {
mNextMessageNo = 0x168c;
@@ -4186,16 +4191,16 @@ BOOL daShip_c::execute() {
m03DC = m0366 * 0.00012207031f;
- fVar3 = (speedF * 0.1f) / 55.0f;
+ prev_speedF = (speedF * 0.1f) / 55.0f;
- if (fVar3 > 0.05f) {
- fVar3 = 0.05f;
+ if (prev_speedF > 0.05f) {
+ prev_speedF = 0.05f;
}
- else if (fVar3 < -0.05f) {
- fVar3 = -0.05;
+ else if (prev_speedF < -0.05f) {
+ prev_speedF = -0.05;
}
- m03D4 += fVar3;
+ m03D4 += prev_speedF;
if (m03D4 > 1.0f) {
m03D4 -= 1.0f;
@@ -4215,7 +4220,7 @@ BOOL daShip_c::execute() {
mFwdVel += (m1044.x * cM_ssin(current.angle.y) + m1044.z * cM_scos(current.angle.y));
- if (std::fabsf(mFwdVel) <= 0.01f || fVar2 * mFwdVel < 0.0f || mFwdVel * speedF < 0.0f) {
+ if (std::fabsf(mFwdVel) <= 0.01f || prev_fwdvel * mFwdVel < 0.0f || mFwdVel * speedF < 0.0f) {
mWaveL.mState = 1;
mWaveR.mState = 1;
mSplash.mState = 1;