2016-04-20 05:44:08 +00:00
|
|
|
#ifndef __URDE_CFLUIDPLANE_HPP__
|
|
|
|
#define __URDE_CFLUIDPLANE_HPP__
|
|
|
|
|
2016-11-20 21:53:15 +00:00
|
|
|
#include "RetroTypes.hpp"
|
2016-04-20 05:44:08 +00:00
|
|
|
namespace urde
|
|
|
|
{
|
2016-11-20 21:53:15 +00:00
|
|
|
class CFluidUVMotion;
|
|
|
|
class CRippleManager;
|
2017-03-30 22:36:18 +00:00
|
|
|
class CScriptWater;
|
|
|
|
class CStateManager;
|
2016-04-20 05:44:08 +00:00
|
|
|
class CFluidPlane
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
enum class EFluidType
|
2016-11-20 21:53:15 +00:00
|
|
|
{
|
|
|
|
Zero,
|
|
|
|
One,
|
|
|
|
Two,
|
|
|
|
Three,
|
|
|
|
Four,
|
|
|
|
Five
|
|
|
|
};
|
|
|
|
|
|
|
|
private:
|
|
|
|
u32 x4_;
|
|
|
|
u32 x8_;
|
|
|
|
u32 xc_;
|
|
|
|
float x40_;
|
2017-06-12 04:23:34 +00:00
|
|
|
EFluidType x44_fluidType;
|
2016-11-20 21:53:15 +00:00
|
|
|
float x48_;
|
|
|
|
public:
|
|
|
|
CFluidPlane(u32, u32, u32, EFluidType, float, const CFluidUVMotion&, float);
|
|
|
|
|
2017-03-30 22:36:18 +00:00
|
|
|
virtual void Ripple(float mag, TUniqueId rippler, const zeus::CVector3f& pos,
|
|
|
|
CScriptWater& water, CStateManager& mgr);
|
2016-11-20 21:53:15 +00:00
|
|
|
virtual void Update();
|
|
|
|
float GetAlpha() const;
|
2017-06-12 04:23:34 +00:00
|
|
|
EFluidType GetFluidType() const { return x44_fluidType; }
|
2016-11-20 21:53:15 +00:00
|
|
|
const CFluidUVMotion& GetUVMotion() const;
|
|
|
|
void GetColorTexture() const;
|
|
|
|
bool HasColorTexture() const;
|
|
|
|
void GetTexturePattern1() const;
|
|
|
|
bool HasTexturePattern1() const;
|
|
|
|
void GetTexturePattern2() const;
|
|
|
|
bool HasTexturePattern2() const;
|
2016-04-20 05:44:08 +00:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif // __URDE_CFLUIDPLANE_HPP__
|