IWeaponRender decomp (can't link yet)

This commit is contained in:
2022-07-25 21:36:32 -07:00
parent c6c12fa88b
commit 0e20e67870
8 changed files with 128 additions and 28 deletions

View File

@@ -0,0 +1,8 @@
#ifndef __CLIGHT_HPP__
#define __CLIGHT_HPP__
class CLight {
};
#endif // __CLIGHT_HPP__

View File

@@ -0,0 +1,11 @@
#ifndef __CAABOX_HPP__
#define __CAABOX_HPP__
#include "Kyoto/Math/CVector3f.hpp"
class CAABox {
CVector3f min;
CVector3f max;
};
#endif // __CAABOX_HPP__

View File

@@ -0,0 +1,43 @@
#ifndef _CPARTICLEGEN_HPP
#define _CPARTICLEGEN_HPP
#include "Kyoto/Math/CTransform4f.hpp"
#include "Kyoto/Math/CVector3f.hpp"
#include "Kyoto/Math/CColor.hpp"
#include "Kyoto/Math/CAABox.hpp"
#include "Kyoto/Graphics/CLight.hpp"
class CWarp;
class CParticleGen {
public:
virtual ~CParticleGen() = 0;
virtual void Update(double) = 0;
virtual void Render() = 0;
virtual void SetOrientation(const CTransform4f& orientation) = 0;
virtual void SetTranslation(const CVector3f& translation) = 0;
virtual void SetGlobalOrientation(const CTransform4f& orientation) = 0;
virtual void SetGlobalTranslation(const CVector3f& translation) = 0;
virtual void SetGlobalScale(const CVector3f& scale) = 0;
virtual void SetLocalScale(const CVector3f& scale) = 0;
virtual void SetParticleEmission(bool emission) = 0;
virtual void SetModulationColor(const CColor& col) = 0;
virtual void SetGeneratorRate(float rate) {}
virtual CTransform4f GetOrientation() const = 0;
virtual CVector3f GetTranslation() const = 0;
virtual CTransform4f GetGlobalOrientation() const = 0;
virtual CVector3f GetGlobalTranslation() const = 0;
virtual CVector3f GetGlobalScale() const = 0;
virtual bool GetParticleEmission() const = 0;
virtual CColor GetModulationColor() const = 0;
virtual float GetGeneratorRate() const { return 1.f; }
virtual bool IsSystemDeletable() const = 0;
virtual CAABox GetBounds() const = 0;
virtual s32 GetParticleCOunt() const = 0;
virtual bool SystemHasLight() const = 0;
virtual CLight GetLight() = 0;
virtual void DestroyParticles() = 0;
virtual void AddModifier(CWarp*) = 0;
virtual u32 Get4CharId() const = 0;
};
#endif // _CPARTICLEGEN_HPP

View File

@@ -0,0 +1,23 @@
#ifndef __IWEAPONRENDERER_HPP__
#define __IWEAPONRENDERER_HPP__
class CParticleGen;
class IWeaponRenderer {
virtual ~IWeaponRenderer() {}
virtual void AddParticleGen(const CParticleGen& gen) = 0;
static void SetRenderer(IWeaponRenderer* renderer) { sWeaponRenderer = renderer; }
private:
static IWeaponRenderer* sWeaponRenderer;
};
class CDefaultRenderer : public IWeaponRenderer {
public:
~CDefaultRenderer();
void AddParticleGen(const CParticleGen& gen);
};
static CDefaultRenderer sDefaultRenderer = CDefaultRenderer();;
#endif //__IWEAPONRENDERER_HPP__