Fix boost ball and other collision issues

This commit is contained in:
Jack Andersen 2018-06-21 19:11:20 -10:00
parent f4b01e9c3f
commit bc9d225c89
2 changed files with 4 additions and 3 deletions

View File

@ -93,7 +93,7 @@ public:
ETreeType GetChildType(int idx) const
{
u16 flags = *reinterpret_cast<const u16*>(x18_ptr);
return ETreeType((flags << (2 * idx)) & 0x3);
return ETreeType((flags >> (2 * idx)) & 0x3);
}
ETreeType GetTreeType() const { return x20_nodeType; }

View File

@ -1274,7 +1274,7 @@ void CMorphBall::UpdateEffects(float dt, CStateManager& mgr)
else
{
x1c34_boostLightFactor = std::max(x1de8_boostChargeTime / g_tweakBall->GetBoostBallMaxChargeTime(),
x1c34_boostLightFactor);
x1c34_boostLightFactor);
x1c34_boostLightFactor = std::min(x1c34_boostLightFactor, 1.f);
}
UpdateMorphBallTransitionFlash(dt);
@ -1735,7 +1735,8 @@ void CMorphBall::Render(const CStateManager& mgr, const CActorLights* lights) co
}
else
{
x58_ballModel->Render(mgr, ballToWorld, nullptr, flags);
// Lights used to be nullptr here, but we keep it due to PC's increased dynamic lighting range
x58_ballModel->Render(mgr, ballToWorld, lights, flags);
}
if (x1c1c_rainSplashGen && x1c1c_rainSplashGen->IsRaining())