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:
@@ -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());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user