2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-08 21:07:42 +00:00

Implement water rippling and fix CFluidPlane memory access errors

This commit is contained in:
Jack Andersen
2018-06-03 15:56:21 -10:00
parent 40fdfde691
commit e63102e180
12 changed files with 86 additions and 81 deletions

View File

@@ -3,8 +3,8 @@
namespace urde
{
CRippleManager::CRippleManager(int maxRipples, float f1)
: x14_(f1)
CRippleManager::CRippleManager(int maxRipples, float alpha)
: x14_alpha(alpha)
{
Init(maxRipples);
}
@@ -16,11 +16,6 @@ void CRippleManager::Init(int maxRipples)
r.SetTime(9999.f);
}
void CRippleManager::SetTime(float)
{
}
void CRippleManager::Update(float dt)
{
for (CRipple& ripple : x4_ripples)
@@ -43,17 +38,20 @@ float CRippleManager::GetLastRippleDeltaTime(TUniqueId rippler) const
void CRippleManager::AddRipple(const CRipple& ripple)
{
float maxTime = 0.f;
auto oldestRipple = x4_ripples.end();
for (auto it = x4_ripples.begin() ; it != x4_ripples.end() ; ++it)
if (it->GetTime() > maxTime)
{
oldestRipple = it;
maxTime = it->GetTime();
}
}
void CRippleManager::SetMaxTimeFalloff(float time)
{
}
float CRippleManager::GetMaxTimeFalloff() const
{
return 0.f;
if (oldestRipple != x4_ripples.end())
{
*oldestRipple = ripple;
x0_maxTimeFalloff = std::max(x0_maxTimeFalloff, ripple.GetTimeFalloff());
}
}
}