2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-09 12:27:43 +00:00

CParticleGen inheritance fix

This commit is contained in:
Jack Andersen
2016-02-12 19:49:59 -10:00
parent 5f4eee538d
commit acf65c561a
14 changed files with 367 additions and 72 deletions

View File

@@ -0,0 +1,51 @@
#ifndef __RETRO_CPARTICLEGEN_HPP__
#define __RETRO_CPARTICLEGEN_HPP__
#include "RetroTypes.hpp"
#include "CLight.hpp"
#include "CWarp.hpp"
#include "CColor.hpp"
#include "CVector3f.hpp"
#include "CTransform.hpp"
#include "CAABox.hpp"
#include <list>
namespace Retro
{
class CParticleGen
{
std::list<CWarp*> x8_modifierList;
public:
virtual ~CParticleGen() = default;
virtual void Update(double)=0;
virtual void Render()=0;
virtual void SetOrientation(const Zeus::CTransform&)=0;
virtual void SetTranslation(const Zeus::CVector3f&)=0;
virtual void SetGlobalOrientation(const Zeus::CTransform&)=0;
virtual void SetGlobalTranslation(const Zeus::CVector3f&)=0;
virtual void SetGlobalScale(const Zeus::CVector3f&)=0;
virtual void SetLocalScale(const Zeus::CVector3f&)=0;
virtual void SetParticleEmission(bool)=0;
virtual void SetModulationColor(const Zeus::CColor&)=0;
virtual const Zeus::CTransform& GetOrientation() const=0;
virtual const Zeus::CVector3f& GetTranslation() const=0;
virtual const Zeus::CTransform& GetGlobalOrientation() const=0;
virtual const Zeus::CVector3f& GetGlobalTranslation() const=0;
virtual const Zeus::CVector3f& GetGlobalScale() const=0;
virtual const Zeus::CColor& GetModulationColor() const=0;
virtual bool IsSystemDeletable() const=0;
virtual std::pair<Zeus::CAABox, bool> GetBounds() const=0;
virtual u32 GetParticleCount() const=0;
virtual bool SystemHasLight() const=0;
virtual CLight GetLight() const=0;
virtual bool GetParticleEmission() const=0;
virtual void DestroyParticles()=0;
virtual void AddModifier(CWarp* mod);
};
}
#endif // __RETRO_CPARTICLEGEN_HPP__