mirror of
https://github.com/PrimeDecomp/prime.git
synced 2025-12-08 15:04:54 +00:00
IWeaponRender decomp (can't link yet)
This commit is contained in:
8
include/Kyoto/Graphics/CLight.hpp
Normal file
8
include/Kyoto/Graphics/CLight.hpp
Normal file
@@ -0,0 +1,8 @@
|
||||
#ifndef __CLIGHT_HPP__
|
||||
#define __CLIGHT_HPP__
|
||||
|
||||
|
||||
class CLight {
|
||||
};
|
||||
|
||||
#endif // __CLIGHT_HPP__
|
||||
11
include/Kyoto/Math/CAABox.hpp
Normal file
11
include/Kyoto/Math/CAABox.hpp
Normal 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__
|
||||
43
include/Kyoto/Particles/CParticleGen.hpp
Normal file
43
include/Kyoto/Particles/CParticleGen.hpp
Normal 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
|
||||
23
include/Weapons/IWeaponRenderer.hpp
Normal file
23
include/Weapons/IWeaponRenderer.hpp
Normal 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__
|
||||
Reference in New Issue
Block a user