mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-05-13 10:31:20 +00:00
Various minor fixes from decomp
This commit is contained in:
parent
aa26577400
commit
c18b69be88
@ -315,13 +315,7 @@ void CCubeRenderer::AddStaticGeometry(const std::vector<CMetroidModelInstance>*
|
||||
}
|
||||
|
||||
void CCubeRenderer::EnablePVS(const CPVSVisSet& set, u32 areaIdx) {
|
||||
if (!xdc_) {
|
||||
xc8_pvs.emplace(set);
|
||||
xdc_ = true;
|
||||
} else {
|
||||
xc8_pvs.emplace(set);
|
||||
}
|
||||
|
||||
xc8_pvs.emplace(set);
|
||||
xe0_pvsAreaIdx = areaIdx;
|
||||
}
|
||||
|
||||
|
@ -61,8 +61,8 @@ private:
|
||||
void* xac_drawableCallbackUserData = nullptr;
|
||||
zeus::CPlane xb0_viewPlane{0.f, 1.f, 0.f, 0.f};
|
||||
enum class EPVSMode : u8 { Mask, PVS, PVSAndMask } xc0_pvsMode = EPVSMode::Mask;
|
||||
int xc4_; // ?
|
||||
std::optional<CPVSVisSet> xc8_pvs;
|
||||
bool xdc_{};
|
||||
u32 xe0_pvsAreaIdx = UINT32_MAX;
|
||||
CTexture xe4_blackTex{ETexelFormat::RGB565, 4, 4, 1, "Black Texture"};
|
||||
std::unique_ptr<CTexture> x14c_reflectionTex;
|
||||
|
@ -256,6 +256,9 @@ void CDecal::RenderMdl() {
|
||||
desc.x38_DMDL->Draw(flags);
|
||||
}
|
||||
}
|
||||
|
||||
CGraphics::SetCullMode(ERglCullMode::Front);
|
||||
CTevCombiners::ResetStates();
|
||||
}
|
||||
|
||||
void CDecal::Render() {
|
||||
|
@ -976,7 +976,9 @@ void CPlayer::FluidFXThink(EFluidState state, CScriptWater& water, CStateManager
|
||||
case EFluidState::EnteredFluid: {
|
||||
bool doSplash = true;
|
||||
if (x4fc_flatMoveSpeed > 12.5f) {
|
||||
const zeus::CVector3f lookDir = x34_transform.basis[1].normalized();
|
||||
zeus::CVector3f lookDir = x34_transform.basis[1];
|
||||
lookDir.z() = 0.f;
|
||||
lookDir.normalize();
|
||||
zeus::CVector3f dcVel = GetDampedClampedVelocityWR();
|
||||
dcVel.z() = 0.f;
|
||||
if (lookDir.dot(dcVel.normalized()) > 0.75f) {
|
||||
@ -1806,23 +1808,23 @@ void CPlayer::ProcessInput(const CFinalInput& input, CStateManager& mgr) {
|
||||
|
||||
if (GetFrozenState()) {
|
||||
UpdateFrozenState(input, mgr);
|
||||
}
|
||||
|
||||
if (GetFrozenState()) {
|
||||
if (x258_movementState == EPlayerMovementState::OnGround ||
|
||||
x258_movementState == EPlayerMovementState::FallingMorphed) {
|
||||
if (GetFrozenState()) {
|
||||
if (x258_movementState == EPlayerMovementState::OnGround ||
|
||||
x258_movementState == EPlayerMovementState::FallingMorphed) {
|
||||
return;
|
||||
}
|
||||
|
||||
const CFinalInput dummyInput;
|
||||
if (x2f8_morphBallState == EPlayerMorphBallState::Morphed) {
|
||||
x768_morphball->ComputeBallMovement(dummyInput, mgr, input.DeltaTime());
|
||||
x768_morphball->UpdateBallDynamics(mgr, input.DeltaTime());
|
||||
} else {
|
||||
ComputeMovement(dummyInput, mgr, input.DeltaTime());
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
const CFinalInput dummyInput;
|
||||
if (x2f8_morphBallState == EPlayerMorphBallState::Morphed) {
|
||||
x768_morphball->ComputeBallMovement(dummyInput, mgr, input.DeltaTime());
|
||||
x768_morphball->UpdateBallDynamics(mgr, input.DeltaTime());
|
||||
} else {
|
||||
ComputeMovement(dummyInput, mgr, input.DeltaTime());
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (x760_controlsFrozen) {
|
||||
@ -2125,7 +2127,7 @@ void CPlayer::Freeze(CStateManager& stateMgr, CAssetId steamTxtr, u16 sfx, CAsse
|
||||
}
|
||||
|
||||
if (showMsg) {
|
||||
const char16_t* msg = g_MainStringTable->GetString(int(x2f8_morphBallState >= EPlayerMorphBallState::Morphed) + 19);
|
||||
const char16_t* msg = g_MainStringTable->GetString(x2f8_morphBallState != EPlayerMorphBallState::Morphed ? 19 : 20);
|
||||
const CHUDMemoParms parms(5.f, true, false, false);
|
||||
MP1::CSamusHud::DisplayHudMemo(msg, parms);
|
||||
}
|
||||
@ -2610,7 +2612,7 @@ void CPlayer::Think(float dt, CStateManager& mgr) {
|
||||
x2b0_outOfWaterTicks += 1;
|
||||
}
|
||||
|
||||
x9c5_24_ = x9c4_24_visorChangeRequested;
|
||||
x9c5_24_ = x9c4_31_inWaterMovement;
|
||||
x9c4_31_inWaterMovement = x9c5_25_splashUpdated;
|
||||
x9c5_25_splashUpdated = false;
|
||||
UpdateBombJumpStuff();
|
||||
@ -3060,15 +3062,16 @@ void CPlayer::UpdateGunState(const CFinalInput& input, CStateManager& mgr) {
|
||||
bool needsDraw = false;
|
||||
if (ControlMapper::GetDigitalInput(ControlMapper::ECommands::FireOrBomb, input) ||
|
||||
ControlMapper::GetDigitalInput(ControlMapper::ECommands::MissileOrPowerBomb, input) ||
|
||||
x3b8_grappleState == EGrappleState::None ||
|
||||
(g_tweakPlayer->GetGunButtonTogglesHolster() &&
|
||||
ControlMapper::GetPressInput(ControlMapper::ECommands::ToggleHolster, input))) {
|
||||
x3b8_grappleState == EGrappleState::None) {
|
||||
needsDraw = true;
|
||||
} else if (g_tweakPlayer->GetGunButtonTogglesHolster() &&
|
||||
ControlMapper::GetPressInput(ControlMapper::ECommands::ToggleHolster, input)) {
|
||||
needsDraw = true;
|
||||
}
|
||||
|
||||
if (x3b8_grappleState == EGrappleState::None &&
|
||||
(mgr.GetPlayerState()->GetCurrentVisor() == CPlayerState::EPlayerVisor::Scan ||
|
||||
mgr.GetPlayerState()->GetTransitioningVisor() == CPlayerState::EPlayerVisor::Scan)) {
|
||||
if (x3b8_grappleState != EGrappleState::None ||
|
||||
mgr.GetPlayerState()->GetCurrentVisor() == CPlayerState::EPlayerVisor::Scan ||
|
||||
mgr.GetPlayerState()->GetTransitioningVisor() == CPlayerState::EPlayerVisor::Scan) {
|
||||
needsDraw = false;
|
||||
}
|
||||
|
||||
@ -3205,7 +3208,7 @@ void CPlayer::UpdateGunTransform(const zeus::CVector3f& gunPos, CStateManager& m
|
||||
viewGunPos = camXf.rotate(gunPos - zeus::CVector3f(0.f, 0.f, eyeHeight)) + GetEyePosition();
|
||||
}
|
||||
|
||||
const zeus::CUnitVector3f rightDir(gunXf.basis[0]);
|
||||
const zeus::CUnitVector3f rightDir(camXf.basis[0]);
|
||||
gunXf.origin = viewGunPos;
|
||||
|
||||
switch (x498_gunHolsterState) {
|
||||
@ -5500,11 +5503,11 @@ zeus::CVector3f CPlayer::CalculateLeftStickEdgePosition(float strafeInput, float
|
||||
}
|
||||
|
||||
if (forwardInput < 0.f) {
|
||||
f29 = -0.555f;
|
||||
f29 = -f29;
|
||||
}
|
||||
|
||||
const float f4 = zeus::clamp(-1.f, std::atan(std::fabs(forwardInput) / std::fabs(strafeInput)) / (M_PIF / 4.f), 1.f);
|
||||
return zeus::CVector3f(f30 - f31, f29, 0.f) * f4 + zeus::CVector3f(f31, 0.f, 0.f);
|
||||
return zeus::CVector3f(f31, 0.f, 0.f) + f4 * (zeus::CVector3f(f30, f29, 0.f) - zeus::CVector3f(f31, 0.f, 0.f));
|
||||
}
|
||||
|
||||
bool CPlayer::SidewaysDashAllowed(float strafeInput, float forwardInput, const CFinalInput& input,
|
||||
@ -6204,11 +6207,10 @@ void CPlayer::DecrementEnvironmentDamage() {
|
||||
}
|
||||
|
||||
void CPlayer::IncrementEnvironmentDamage() {
|
||||
if (xa10_envDmgCounter != 0) {
|
||||
xa10_envDmgCounter++;
|
||||
} else {
|
||||
if (xa10_envDmgCounter == 0) {
|
||||
xa14_envDmgCameraShakeTimer = 0.f;
|
||||
}
|
||||
xa10_envDmgCounter++;
|
||||
}
|
||||
|
||||
bool CPlayer::CheckSubmerged() const {
|
||||
|
@ -154,7 +154,7 @@ private:
|
||||
u32 x2d0_curAcceleration = 1;
|
||||
float x2d4_accelerationChangeTimer = 0.f;
|
||||
zeus::CAABox x2d8_fpBounds;
|
||||
float x2f0_ballTransHeight = 0.f;
|
||||
float x2f0_ballTransHeight = 1.f;
|
||||
EPlayerCameraState x2f4_cameraState = EPlayerCameraState::FirstPerson;
|
||||
EPlayerMorphBallState x2f8_morphBallState = EPlayerMorphBallState::Unmorphed;
|
||||
EPlayerMorphBallState x2fc_spawnedMorphBallState = EPlayerMorphBallState::Unmorphed;
|
||||
@ -223,7 +223,7 @@ private:
|
||||
zeus::CVector3f x500_lookDir = x34_transform.basis[1];
|
||||
zeus::CVector3f x50c_moveDir = x34_transform.basis[1];
|
||||
zeus::CVector3f x518_leaveMorphDir = x34_transform.basis[1];
|
||||
zeus::CVector3f x524_lastPosForDirCalc = x34_transform.basis[1];
|
||||
zeus::CVector3f x524_lastPosForDirCalc = x34_transform.origin;
|
||||
zeus::CVector3f x530_gunDir = x34_transform.basis[1];
|
||||
float x53c_timeMoving = 0.f;
|
||||
zeus::CVector3f x540_controlDir = x34_transform.basis[1];
|
||||
|
Loading…
x
Reference in New Issue
Block a user