mirror of
https://github.com/PrimeDecomp/prime.git
synced 2025-12-12 02:55:05 +00:00
46
include/MetroidPrime/CExplosion.hpp
Normal file
46
include/MetroidPrime/CExplosion.hpp
Normal file
@@ -0,0 +1,46 @@
|
||||
#ifndef _CEXPLOSION_HPP
|
||||
#define _CEXPLOSION_HPP
|
||||
|
||||
#include "types.h"
|
||||
|
||||
#include "MetroidPrime/CEffect.hpp"
|
||||
|
||||
#include "rstl/single_ptr.hpp"
|
||||
|
||||
class CParticleGen;
|
||||
class CGenDescription;
|
||||
class CElectricDescription;
|
||||
|
||||
class CExplosion : public CEffect {
|
||||
public:
|
||||
CExplosion(const TLockedToken< CGenDescription >& particle, TUniqueId uid, bool active,
|
||||
const CEntityInfo& info, const rstl::string& name, const CTransform4f& xf, uint flags,
|
||||
const CVector3f& scale, const CColor& color);
|
||||
|
||||
// CEntity
|
||||
~CExplosion();
|
||||
void Accept(IVisitor& visitor) override;
|
||||
void Think(f32 dt, CStateManager& mgr) override;
|
||||
void AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId uid, CStateManager& mgr) override;
|
||||
|
||||
// CActor
|
||||
void PreRender(CStateManager&, const CFrustumPlanes&) override;
|
||||
void AddToRenderer(const CFrustumPlanes&, const CStateManager&) const override;
|
||||
void Render(const CStateManager&) const override;
|
||||
void CalculateRenderBounds() override;
|
||||
|
||||
public:
|
||||
rstl::single_ptr< CParticleGen > xe8_particleGen;
|
||||
TUniqueId xec_explosionLight;
|
||||
union {
|
||||
const CGenDescription* xf0_particleDesc;
|
||||
const CElectricDescription* xf0_electricDesc;
|
||||
};
|
||||
bool xf4_24_renderThermalHot : 1;
|
||||
bool xf4_25_ : 1;
|
||||
bool xf4_26_renderXray : 1;
|
||||
float xf8_time;
|
||||
};
|
||||
CHECK_SIZEOF(CExplosion, 0x100)
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user