metaforce/Runtime/World/CFluidPlane.hpp

50 lines
1.1 KiB
C++
Raw Normal View History

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;
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);
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__