2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-06-05 21:13:28 +00:00
metaforce/Runtime/World/CEnvFxManager.hpp
2017-03-23 19:30:16 -10:00

56 lines
975 B
C++

#ifndef __URDE_CENVFXMANAGER_HPP__
#define __URDE_CENVFXMANAGER_HPP__
#include "RetroTypes.hpp"
#include "CToken.hpp"
#include "zeus/CAABox.hpp"
namespace urde
{
class CStateManager;
class CTexture;
enum class EEnvFxType
{
None,
Rain,
Snow
};
enum class EPhazonType
{
None,
Blue,
Orange
};
class CEnvFxManager
{
zeus::CAABox x0_ = zeus::CAABox(-63.5, 63.5);
zeus::CVector3f x18_ = zeus::CVector3f::skZero;
u8 x24_ = 0;
float x28_ = 0.f;
u32 x2c_ = -1;
float x30_ = 0.f;
float x34_fxDensity = 0.f;
float x38_ = 0.f;
u8 x3c = 0;
void SetupSnowTevs();
void SetupRainTevs();
public:
CEnvFxManager();
void AsyncLoadResources(CStateManager& mgr);
void Update(float, const CStateManager&);
void Render(const CStateManager& mgr);
void SetFxDensity(s32, float);
void MoveWrapCells(s32, s32);
void GetParticleBoundsToWorldScale() const;
};
}
#endif // __URDE_CENVFXMANAGER_HPP__