2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-09 17:07:41 +00:00

Initial CFluidPlane implementation

This commit is contained in:
Jack Andersen
2017-08-07 20:03:57 -10:00
parent 5590e2f27a
commit 3650a58a1e
27 changed files with 1801 additions and 99 deletions

View File

@@ -11,23 +11,43 @@ class CScriptWater;
class CFluidPlaneManager
{
class CSplashRecord
{
public:
CSplashRecord(TUniqueId id);
void SetTime(float t);
float GetTime() const;
TUniqueId GetUniqueId() const;
};
CRippleManager x0_rippleManager;
bool x121_;
rstl::reserved_vector<CSplashRecord, 32> x18_splashes;
float x11c_uvT = 0.f;
bool x120_ = false;
bool x121_ = false;
class CFluidProfile
{
public:
void Clear();
};
static CFluidProfile sProfile;
static void SetupRippleMap();
public:
static u8 RippleValues[64][64];
static u8 RippleMins[64];
static u8 RippleMaxs[64];
CFluidPlaneManager();
void StartFrame(bool);
void EndFrame() { x121_ = false; }
void Update(float dt);
float GetUVT() const { return x11c_uvT; }
float GetLastRippleDeltaTime(TUniqueId rippler) const;
float GetLastSplashDeltaTime(TUniqueId splasher) const;
void CreateSplash(TUniqueId splasher, CStateManager& mgr, const CScriptWater& water,
const zeus::CVector3f& pos, float factor, bool);
rstl::reserved_vector<CSplashRecord, 32>& SplashRecords() { return x18_splashes; }
};
}