2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-08 21:07:42 +00:00

Initial CParticleElectric stubs

This commit is contained in:
2016-02-25 19:31:00 -08:00
parent 741ac2c0ca
commit 277455b072
4 changed files with 112 additions and 19 deletions

View File

@@ -1,12 +1,32 @@
#include "CParticleElectric.hpp"
#include "CGraphics.hpp"
namespace pshag
{
CParticleElectric::CParticleElectric(const TToken<CElectricDescription>& desc)
: x1c_elecDesc(desc)
{
}
void CParticleElectric::RenderLines()
{
CGraphics::DisableAllLights();
CGraphics::SetDepthWriteMode(true, ERglEnum::LEqual, false);
CGraphics::SetBlendMode(ERglBlendMode::Blend, ERglBlendFactor::SrcAlpha, ERglBlendFactor::One, ERglLogicOp::Clear);
Zeus::CTransform viewXfrm = CGraphics::g_ViewMatrix;
Zeus::CTransform scale;
scale.Scale(xec_localScale);
Zeus::CTransform globalScale;
globalScale.Scale(xe0_globalScale);
Zeus::CTransform localTranslate;
localTranslate.Translate(x38_translation);
Zeus::CTransform globalTranslate;
globalTranslate.Translate(xa4_globalTranslation);
Zeus::CTransform global = globalTranslate * xb0_globalOrientation;
}
void CParticleElectric::Update(double)
{
}
@@ -15,72 +35,89 @@ void CParticleElectric::Render()
{
}
void CParticleElectric::SetOrientation(const Zeus::CTransform&)
void CParticleElectric::SetOrientation(const Zeus::CTransform& orientation)
{
x44_orientation = orientation;
x438_28 = true;
}
void CParticleElectric::SetTranslation(const Zeus::CVector3f&)
void CParticleElectric::SetTranslation(const Zeus::CVector3f& translation)
{
x38_translation = translation;
x438_28 = true;
}
void CParticleElectric::SetGlobalOrientation(const Zeus::CTransform&)
void CParticleElectric::SetGlobalOrientation(const Zeus::CTransform& orientation)
{
xb0_globalOrientation = orientation;
x438_28 = true;
}
void CParticleElectric::SetGlobalTranslation(const Zeus::CVector3f&)
void CParticleElectric::SetGlobalTranslation(const Zeus::CVector3f& translation)
{
xa4_globalTranslation = translation;
x438_28 = true;
}
void CParticleElectric::SetGlobalScale(const Zeus::CVector3f&)
void CParticleElectric::SetGlobalScale(const Zeus::CVector3f& scale)
{
xe0_globalScale = scale;
x438_28 = true;
}
void CParticleElectric::SetLocalScale(const Zeus::CVector3f&)
void CParticleElectric::SetLocalScale(const Zeus::CVector3f& scale)
{
xec_localScale = scale;
x438_28 = true;
if (x438_26)
{
}
}
void CParticleElectric::SetParticleEmission(bool)
{
}
void CParticleElectric::SetModulationColor(const Zeus::CColor&)
void CParticleElectric::SetModulationColor(const Zeus::CColor& color)
{
if (!x1bc_hasModuColor)
x1bc_hasModuColor = true;
x1b8_moduColor = color;
/* TODO: Add child particle systems */
}
const Zeus::CTransform& CParticleElectric::GetOrientation() const
{
static Zeus::CTransform dummy;
return dummy;
return x44_orientation;
}
const Zeus::CVector3f& CParticleElectric::GetTranslation() const
{
static Zeus::CVector3f dummy;
return dummy;
return x38_translation;
}
const Zeus::CTransform& CParticleElectric::GetGlobalOrientation() const
{
static Zeus::CTransform dummy;
return dummy;
return xb0_globalOrientation;
}
const Zeus::CVector3f& CParticleElectric::GetGlobalTranslation() const
{
static Zeus::CVector3f dummy;
return dummy;
return xa4_globalTranslation;
}
const Zeus::CVector3f& CParticleElectric::GetGlobalScale() const
{
static Zeus::CVector3f dummy;
return dummy;
return xe0_globalScale;
}
const Zeus::CColor& CParticleElectric::GetModulationColor() const
{
static Zeus::CColor dummy;
return dummy;
if (!x1bc_hasModuColor)
return Zeus::CColor::skWhite;
return x1b8_moduColor;
}
bool CParticleElectric::IsSystemDeletable() const