mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-09 04:27:42 +00:00
Various Implementations
This commit is contained in:
@@ -2,8 +2,7 @@
|
||||
#define __URDE_CSCRIPTWATER_HPP__
|
||||
|
||||
#include "CScriptTrigger.hpp"
|
||||
#include "CFluidPlane.hpp"
|
||||
|
||||
#include "CFluidPlaneCPU.hpp"
|
||||
namespace urde
|
||||
{
|
||||
|
||||
@@ -12,17 +11,69 @@ class CFluidUVMotion;
|
||||
|
||||
class CScriptWater : public CScriptTrigger
|
||||
{
|
||||
private:
|
||||
static const float kSplashScales[6];
|
||||
u32 x150_ = 0;
|
||||
std::unique_ptr<CFluidPlaneCPU> x1b4_;
|
||||
zeus::CVector3f x1b8_;
|
||||
float x1f4_;
|
||||
float x1f8_ = 0.f;
|
||||
zeus::CVector3f x1d4_;
|
||||
std::vector<std::pair<TUniqueId, bool>> x200_waterInhabitants;
|
||||
u32 x210_;
|
||||
float x214_;
|
||||
float x218_;
|
||||
float x21c_;
|
||||
float x220_;
|
||||
float x224_;
|
||||
zeus::CColor x228_;
|
||||
u32 x22c_;
|
||||
u32 x230_;
|
||||
u32 x234_;
|
||||
u32 x238_;
|
||||
u32 x248_;
|
||||
u32 x24c_;
|
||||
bool x25c_;
|
||||
s16 x260_;
|
||||
s16 x262_;
|
||||
u32 x264_ = 0;
|
||||
TLockedToken<CParticleGen> x268_splashEffects[5];
|
||||
s16 x29c_splashSounds[5];
|
||||
public:
|
||||
CScriptWater(CStateManager &,TUniqueId, const std::string& name, const CEntityInfo&, const zeus::CVector3f&,
|
||||
const zeus::CAABox&, CDamageInfo const &, zeus::CVector3f&, u32, bool, bool,
|
||||
ResId, ResId, ResId, ResId, ResId, ResId, ResId,
|
||||
const zeus::CVector3f&, float, float, float, bool, CFluidPlane::EFluidType, bool, float, const CFluidUVMotion&,
|
||||
float, float, float, float, float, float, float, float, const zeus::CColor&, const zeus::CColor&,
|
||||
ResId, ResId, ResId, ResId, ResId, s32, s32, s32, s32, s32,
|
||||
float, u32, float, float, float, float, float, float, float, float,
|
||||
const zeus::CColor&, ResId, float, float, float, u32, u32, bool, s32, s32, const u32*);
|
||||
};
|
||||
CScriptWater(CStateManager&, TUniqueId, const std::string& name, const CEntityInfo&, const zeus::CVector3f&,
|
||||
const zeus::CAABox&, CDamageInfo const&, zeus::CVector3f&, ETriggerFlags, bool, bool, ResId, ResId, ResId, ResId,
|
||||
ResId, ResId, ResId, const zeus::CVector3f&, float, float, float, bool, CFluidPlane::EFluidType, bool,
|
||||
float, const CFluidUVMotion&, float, float, float, float, float, float, float, float,
|
||||
const zeus::CColor&, const zeus::CColor&, ResId, ResId, ResId, ResId, ResId, s32, s32, s32, s32, s32,
|
||||
float, u32, float, float, float, float, float, float, float, float, const zeus::CColor&, ResId, float,
|
||||
float, float, u32, u32, bool, s32, s32, const u32*);
|
||||
|
||||
void Think(float, CStateManager&);
|
||||
void AcceptScriptMsg(EScriptObjectMessage, TUniqueId, CStateManager&);
|
||||
void PreRender(const zeus::CFrustum&, const CStateManager&);
|
||||
void AddToRenderer(const zeus::CFrustum&, const CStateManager&) const;
|
||||
void Render(const CStateManager&) const;
|
||||
void Touch(CActor &, CStateManager &);
|
||||
void CalculateRenderBounds();
|
||||
zeus::CAABox GetSortingBounds(const CStateManager&) const;
|
||||
void RenderSurface();
|
||||
EWeaponCollisionResponseTypes GetCollisionResponseType(const zeus::CVector3f&, const zeus::CVector3f&, CWeaponMode&,
|
||||
int);
|
||||
|
||||
void UpdateSplashInhabitants(CStateManager&);
|
||||
s16 GetSplashSound(float) const;
|
||||
const TLockedToken<CParticleGen>& GetSplashEffect(float) const;
|
||||
float GetSplashEffectScale(float) const;
|
||||
u32 GetSplashIndex(float) const;
|
||||
void FluidPlane();
|
||||
zeus::CPlane GetWRSurfacePlane() const;
|
||||
float GetSurfaceZ() const;
|
||||
bool IsMorphing() const;
|
||||
void SetMorphing(bool);
|
||||
zeus::CColor GetSplashColor() const;
|
||||
void SetFrustumPlanes(const zeus::CFrustum& frustum);
|
||||
const zeus::CFrustum& GetFrustumPlanes() const;
|
||||
};
|
||||
}
|
||||
|
||||
#endif // __URDE_CSCRIPTWATER_HPP__
|
||||
|
||||
Reference in New Issue
Block a user