mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-08 14:24:56 +00:00
SIMD refactor
This commit is contained in:
@@ -108,7 +108,7 @@ void CDecal::RenderQuad(CQuadDecal& decal, const SQuadDescr& desc) const
|
||||
if (CVectorElement* off = desc.xc_OFF.get())
|
||||
{
|
||||
off->GetValue(x58_frameIdx, offset);
|
||||
offset.y = 0.f;
|
||||
offset.y() = 0.f;
|
||||
}
|
||||
zeus::CTransform modXf = xc_transform;
|
||||
modXf.origin += offset;
|
||||
@@ -215,9 +215,9 @@ void CDecal::RenderMdl() const
|
||||
if (dmrtIsConst)
|
||||
{
|
||||
desc.x50_DMRT->GetValue(x58_frameIdx, const_cast<zeus::CVector3f&>(x60_rotation));
|
||||
dmrtXf = zeus::CTransform::RotateZ(zeus::degToRad(x60_rotation.z));
|
||||
dmrtXf.rotateLocalY(zeus::degToRad(x60_rotation.y));
|
||||
dmrtXf.rotateLocalX(zeus::degToRad(x60_rotation.x));
|
||||
dmrtXf = zeus::CTransform::RotateZ(zeus::degToRad(x60_rotation.z()));
|
||||
dmrtXf.rotateLocalY(zeus::degToRad(x60_rotation.y()));
|
||||
dmrtXf.rotateLocalX(zeus::degToRad(x60_rotation.x()));
|
||||
}
|
||||
|
||||
dmrtXf = rotXf * dmrtXf;
|
||||
@@ -237,9 +237,9 @@ void CDecal::RenderMdl() const
|
||||
{
|
||||
zeus::CVector3f dmrtVec;
|
||||
dmrt->GetValue(x58_frameIdx, dmrtVec);
|
||||
dmrtXf = zeus::CTransform::RotateZ(zeus::degToRad(dmrtVec.z));
|
||||
dmrtXf.rotateLocalY(zeus::degToRad(dmrtVec.y));
|
||||
dmrtXf.rotateLocalX(zeus::degToRad(dmrtVec.x));
|
||||
dmrtXf = zeus::CTransform::RotateZ(zeus::degToRad(dmrtVec.z()));
|
||||
dmrtXf.rotateLocalY(zeus::degToRad(dmrtVec.y()));
|
||||
dmrtXf.rotateLocalX(zeus::degToRad(dmrtVec.x()));
|
||||
worldXf = worldXf * rotXf * dmrtXf;
|
||||
}
|
||||
else
|
||||
@@ -267,7 +267,7 @@ void CDecal::RenderMdl() const
|
||||
}
|
||||
else
|
||||
{
|
||||
if (color.a == 1.f)
|
||||
if (color.a() == 1.f)
|
||||
{
|
||||
CModelFlags flags(0, 0, 3, zeus::CColor::skWhite);
|
||||
desc.x38_DMDL.m_token->Draw(flags);
|
||||
|
||||
@@ -371,14 +371,14 @@ bool CElementGen::InternalUpdate(double dt)
|
||||
return false;
|
||||
}
|
||||
|
||||
void CElementGen::AccumulateBounds(zeus::CVector3f& pos, float size)
|
||||
void CElementGen::AccumulateBounds(const zeus::CVector3f& pos, float size)
|
||||
{
|
||||
x2e0_aabbMax[0] = std::max(pos[0], x2e0_aabbMax[0]);
|
||||
x2e0_aabbMax[1] = std::max(pos[1], x2e0_aabbMax[1]);
|
||||
x2e0_aabbMax[2] = std::max(pos[2], x2e0_aabbMax[2]);
|
||||
x2d4_aabbMin[0] = std::min(pos[0], x2d4_aabbMin[0]);
|
||||
x2d4_aabbMin[1] = std::min(pos[1], x2d4_aabbMin[1]);
|
||||
x2d4_aabbMin[2] = std::min(pos[2], x2d4_aabbMin[2]);
|
||||
x2e0_aabbMax[0] = std::max(pos[0], float(x2e0_aabbMax[0]));
|
||||
x2e0_aabbMax[1] = std::max(pos[1], float(x2e0_aabbMax[1]));
|
||||
x2e0_aabbMax[2] = std::max(pos[2], float(x2e0_aabbMax[2]));
|
||||
x2d4_aabbMin[0] = std::min(pos[0], float(x2d4_aabbMin[0]));
|
||||
x2d4_aabbMin[1] = std::min(pos[1], float(x2d4_aabbMin[1]));
|
||||
x2d4_aabbMin[2] = std::min(pos[2], float(x2d4_aabbMin[2]));
|
||||
x2ec_maxSize = std::max(size, x2ec_maxSize);
|
||||
}
|
||||
|
||||
@@ -1162,7 +1162,7 @@ void CElementGen::RenderModels(const CActorLights* actorLights)
|
||||
}
|
||||
else
|
||||
{
|
||||
if (1.f == col.a)
|
||||
if (1.f == col.a())
|
||||
model->Draw({0, 0, 3, zeus::CColor::skWhite});
|
||||
else
|
||||
model->Draw({5, 0, 1, col});
|
||||
@@ -1494,10 +1494,10 @@ void CElementGen::RenderParticles()
|
||||
{
|
||||
g_instTexData.emplace_back();
|
||||
SParticleInstanceTex& inst = g_instTexData.back();
|
||||
inst.pos[0] = zeus::CVector4f{viewPoint.x + size, viewPoint.y, viewPoint.z + size, 1.f};
|
||||
inst.pos[1] = zeus::CVector4f{viewPoint.x - size, viewPoint.y, viewPoint.z + size, 1.f};
|
||||
inst.pos[2] = zeus::CVector4f{viewPoint.x + size, viewPoint.y, viewPoint.z - size, 1.f};
|
||||
inst.pos[3] = zeus::CVector4f{viewPoint.x - size, viewPoint.y, viewPoint.z - size, 1.f};
|
||||
inst.pos[0] = zeus::CVector4f{viewPoint.x() + size, viewPoint.y(), viewPoint.z() + size, 1.f};
|
||||
inst.pos[1] = zeus::CVector4f{viewPoint.x() - size, viewPoint.y(), viewPoint.z() + size, 1.f};
|
||||
inst.pos[2] = zeus::CVector4f{viewPoint.x() + size, viewPoint.y(), viewPoint.z() - size, 1.f};
|
||||
inst.pos[3] = zeus::CVector4f{viewPoint.x() - size, viewPoint.y(), viewPoint.z() - size, 1.f};
|
||||
inst.color = particle.x34_color;
|
||||
inst.uvs[0] = {uvs.xMax, uvs.yMax};
|
||||
inst.uvs[1] = {uvs.xMin, uvs.yMax};
|
||||
@@ -1509,10 +1509,10 @@ void CElementGen::RenderParticles()
|
||||
{
|
||||
g_instNoTexData.emplace_back();
|
||||
SParticleInstanceNoTex& inst = g_instNoTexData.back();
|
||||
inst.pos[0] = zeus::CVector4f{viewPoint.x + size, viewPoint.y, viewPoint.z + size, 1.f};
|
||||
inst.pos[1] = zeus::CVector4f{viewPoint.x - size, viewPoint.y, viewPoint.z + size, 1.f};
|
||||
inst.pos[2] = zeus::CVector4f{viewPoint.x + size, viewPoint.y, viewPoint.z - size, 1.f};
|
||||
inst.pos[3] = zeus::CVector4f{viewPoint.x - size, viewPoint.y, viewPoint.z - size, 1.f};
|
||||
inst.pos[0] = zeus::CVector4f{viewPoint.x() + size, viewPoint.y(), viewPoint.z() + size, 1.f};
|
||||
inst.pos[1] = zeus::CVector4f{viewPoint.x() - size, viewPoint.y(), viewPoint.z() + size, 1.f};
|
||||
inst.pos[2] = zeus::CVector4f{viewPoint.x() + size, viewPoint.y(), viewPoint.z() - size, 1.f};
|
||||
inst.pos[3] = zeus::CVector4f{viewPoint.x() - size, viewPoint.y(), viewPoint.z() - size, 1.f};
|
||||
inst.color = particle.x34_color;
|
||||
break;
|
||||
}
|
||||
@@ -1532,11 +1532,11 @@ void CElementGen::RenderParticles()
|
||||
{
|
||||
g_instTexData.emplace_back();
|
||||
SParticleInstanceTex& inst = g_instTexData.back();
|
||||
inst.pos[0] = zeus::CVector4f{viewPoint.x + sinT + cosT, viewPoint.y, viewPoint.z + cosT - sinT, 1.f};
|
||||
inst.pos[1] = zeus::CVector4f{viewPoint.x + sinT - cosT, viewPoint.y, viewPoint.z + sinT + cosT, 1.f};
|
||||
inst.pos[2] = zeus::CVector4f{viewPoint.x + (cosT - sinT), viewPoint.y, viewPoint.z + (-cosT - sinT),
|
||||
inst.pos[0] = zeus::CVector4f{viewPoint.x() + sinT + cosT, viewPoint.y(), viewPoint.z() + cosT - sinT, 1.f};
|
||||
inst.pos[1] = zeus::CVector4f{viewPoint.x() + sinT - cosT, viewPoint.y(), viewPoint.z() + sinT + cosT, 1.f};
|
||||
inst.pos[2] = zeus::CVector4f{viewPoint.x() + (cosT - sinT), viewPoint.y(), viewPoint.z() + (-cosT - sinT),
|
||||
1.f};
|
||||
inst.pos[3] = zeus::CVector4f{viewPoint.x - (sinT + cosT), viewPoint.y, viewPoint.z - (cosT - sinT),
|
||||
inst.pos[3] = zeus::CVector4f{viewPoint.x() - (sinT + cosT), viewPoint.y(), viewPoint.z() - (cosT - sinT),
|
||||
1.f};
|
||||
inst.color = particle.x34_color;
|
||||
inst.uvs[0] = {uvs.xMax, uvs.yMax};
|
||||
@@ -1549,11 +1549,11 @@ void CElementGen::RenderParticles()
|
||||
{
|
||||
g_instNoTexData.emplace_back();
|
||||
SParticleInstanceNoTex& inst = g_instNoTexData.back();
|
||||
inst.pos[0] = zeus::CVector4f{viewPoint.x + sinT + cosT, viewPoint.y, viewPoint.z + cosT - sinT, 1.f};
|
||||
inst.pos[1] = zeus::CVector4f{viewPoint.x + sinT - cosT, viewPoint.y, viewPoint.z + sinT + cosT, 1.f};
|
||||
inst.pos[2] = zeus::CVector4f{viewPoint.x + (cosT - sinT), viewPoint.y, viewPoint.z + (-cosT - sinT),
|
||||
inst.pos[0] = zeus::CVector4f{viewPoint.x() + sinT + cosT, viewPoint.y(), viewPoint.z() + cosT - sinT, 1.f};
|
||||
inst.pos[1] = zeus::CVector4f{viewPoint.x() + sinT - cosT, viewPoint.y(), viewPoint.z() + sinT + cosT, 1.f};
|
||||
inst.pos[2] = zeus::CVector4f{viewPoint.x() + (cosT - sinT), viewPoint.y(), viewPoint.z() + (-cosT - sinT),
|
||||
1.f};
|
||||
inst.pos[3] = zeus::CVector4f{viewPoint.x - (sinT + cosT), viewPoint.y, viewPoint.z - (cosT - sinT),
|
||||
inst.pos[3] = zeus::CVector4f{viewPoint.x() - (sinT + cosT), viewPoint.y(), viewPoint.z() - (cosT - sinT),
|
||||
1.f};
|
||||
inst.color = particle.x34_color;
|
||||
break;
|
||||
@@ -1720,10 +1720,10 @@ void CElementGen::RenderParticles()
|
||||
{
|
||||
g_instTexData.emplace_back();
|
||||
SParticleInstanceTex& inst = g_instTexData.back();
|
||||
inst.pos[0] = zeus::CVector4f{vec2.x + size, vec2.y, vec2.z + size, 1.f};
|
||||
inst.pos[1] = zeus::CVector4f{vec2.x - size, vec2.y, vec2.z + size, 1.f};
|
||||
inst.pos[2] = zeus::CVector4f{vec2.x + size, vec2.y, vec2.z - size, 1.f};
|
||||
inst.pos[3] = zeus::CVector4f{vec2.x - size, vec2.y, vec2.z - size, 1.f};
|
||||
inst.pos[0] = zeus::CVector4f{vec2.x() + size, vec2.y(), vec2.z() + size, 1.f};
|
||||
inst.pos[1] = zeus::CVector4f{vec2.x() - size, vec2.y(), vec2.z() + size, 1.f};
|
||||
inst.pos[2] = zeus::CVector4f{vec2.x() + size, vec2.y(), vec2.z() - size, 1.f};
|
||||
inst.pos[3] = zeus::CVector4f{vec2.x() - size, vec2.y(), vec2.z() - size, 1.f};
|
||||
inst.color = particle.x34_color;
|
||||
inst.uvs[0] = {uvs.xMax, uvs.yMax};
|
||||
inst.uvs[1] = {uvs.xMin, uvs.yMax};
|
||||
@@ -1735,10 +1735,10 @@ void CElementGen::RenderParticles()
|
||||
{
|
||||
g_instNoTexData.emplace_back();
|
||||
SParticleInstanceNoTex& inst = g_instNoTexData.back();
|
||||
inst.pos[0] = zeus::CVector4f{vec2.x + size, vec2.y, vec2.z + size, 1.f};
|
||||
inst.pos[1] = zeus::CVector4f{vec2.x - size, vec2.y, vec2.z + size, 1.f};
|
||||
inst.pos[2] = zeus::CVector4f{vec2.x + size, vec2.y, vec2.z - size, 1.f};
|
||||
inst.pos[3] = zeus::CVector4f{vec2.x - size, vec2.y, vec2.z - size, 1.f};
|
||||
inst.pos[0] = zeus::CVector4f{vec2.x() + size, vec2.y(), vec2.z() + size, 1.f};
|
||||
inst.pos[1] = zeus::CVector4f{vec2.x() - size, vec2.y(), vec2.z() + size, 1.f};
|
||||
inst.pos[2] = zeus::CVector4f{vec2.x() + size, vec2.y(), vec2.z() - size, 1.f};
|
||||
inst.pos[3] = zeus::CVector4f{vec2.x() - size, vec2.y(), vec2.z() - size, 1.f};
|
||||
inst.color = particle.x34_color;
|
||||
break;
|
||||
}
|
||||
@@ -1763,10 +1763,10 @@ void CElementGen::RenderParticles()
|
||||
{
|
||||
g_instTexData.emplace_back();
|
||||
SParticleInstanceTex& inst = g_instTexData.back();
|
||||
inst.pos[0] = zeus::CVector4f{vec2.x + sinT + cosT, vec2.y, vec2.z + cosT - sinT, 1.f};
|
||||
inst.pos[1] = zeus::CVector4f{vec2.x + sinT - cosT, vec2.y, vec2.z + sinT + cosT, 1.f};
|
||||
inst.pos[2] = zeus::CVector4f{vec2.x + (cosT - sinT), vec2.y, vec2.z + (-cosT - sinT), 1.f};
|
||||
inst.pos[3] = zeus::CVector4f{vec2.x - (sinT + cosT), vec2.y, vec2.z - (cosT - sinT), 1.f};
|
||||
inst.pos[0] = zeus::CVector4f{vec2.x() + sinT + cosT, vec2.y(), vec2.z() + cosT - sinT, 1.f};
|
||||
inst.pos[1] = zeus::CVector4f{vec2.x() + sinT - cosT, vec2.y(), vec2.z() + sinT + cosT, 1.f};
|
||||
inst.pos[2] = zeus::CVector4f{vec2.x() + (cosT - sinT), vec2.y(), vec2.z() + (-cosT - sinT), 1.f};
|
||||
inst.pos[3] = zeus::CVector4f{vec2.x() - (sinT + cosT), vec2.y(), vec2.z() - (cosT - sinT), 1.f};
|
||||
inst.color = particle.x34_color;
|
||||
inst.uvs[0] = {uvs.xMax, uvs.yMax};
|
||||
inst.uvs[1] = {uvs.xMin, uvs.yMax};
|
||||
@@ -1778,10 +1778,10 @@ void CElementGen::RenderParticles()
|
||||
{
|
||||
g_instNoTexData.emplace_back();
|
||||
SParticleInstanceNoTex& inst = g_instNoTexData.back();
|
||||
inst.pos[0] = zeus::CVector4f{vec2.x + sinT + cosT, vec2.y, vec2.z + cosT - sinT, 1.f};
|
||||
inst.pos[1] = zeus::CVector4f{vec2.x + sinT - cosT, vec2.y, vec2.z + sinT + cosT, 1.f};
|
||||
inst.pos[2] = zeus::CVector4f{vec2.x + (cosT - sinT), vec2.y, vec2.z + (-cosT - sinT), 1.f};
|
||||
inst.pos[3] = zeus::CVector4f{vec2.x - (sinT + cosT), vec2.y, vec2.z - (cosT - sinT), 1.f};
|
||||
inst.pos[0] = zeus::CVector4f{vec2.x() + sinT + cosT, vec2.y(), vec2.z() + cosT - sinT, 1.f};
|
||||
inst.pos[1] = zeus::CVector4f{vec2.x() + sinT - cosT, vec2.y(), vec2.z() + sinT + cosT, 1.f};
|
||||
inst.pos[2] = zeus::CVector4f{vec2.x() + (cosT - sinT), vec2.y(), vec2.z() + (-cosT - sinT), 1.f};
|
||||
inst.pos[3] = zeus::CVector4f{vec2.x() - (sinT + cosT), vec2.y(), vec2.z() - (cosT - sinT), 1.f};
|
||||
inst.color = particle.x34_color;
|
||||
break;
|
||||
}
|
||||
@@ -1919,8 +1919,8 @@ void CElementGen::RenderParticlesIndirectTexture()
|
||||
tind->GetValueUV(partFrame, uvsInd);
|
||||
|
||||
float size = 0.5f * particle.x2c_lineLengthOrSize;
|
||||
zeus::CVector3f p1 = {viewPoint.x - size, viewPoint.y, viewPoint.z - size};
|
||||
zeus::CVector3f p2 = {viewPoint.x + size, viewPoint.y, viewPoint.z + size};
|
||||
zeus::CVector3f p1 = {viewPoint.x() - size, viewPoint.y(), viewPoint.z() - size};
|
||||
zeus::CVector3f p2 = {viewPoint.x() + size, viewPoint.y(), viewPoint.z() + size};
|
||||
SClipScreenRect clipRect = CGraphics::ClipScreenRectFromMS(p1, p2);
|
||||
|
||||
if (!clipRect.x0_valid)
|
||||
@@ -1930,10 +1930,10 @@ void CElementGen::RenderParticlesIndirectTexture()
|
||||
|
||||
g_instIndTexData.emplace_back();
|
||||
SParticleInstanceIndTex& inst = g_instIndTexData.back();
|
||||
inst.pos[0] = zeus::CVector4f{viewPoint.x + size, viewPoint.y, viewPoint.z + size, 1.f};
|
||||
inst.pos[1] = zeus::CVector4f{viewPoint.x - size, viewPoint.y, viewPoint.z + size, 1.f};
|
||||
inst.pos[2] = zeus::CVector4f{viewPoint.x + size, viewPoint.y, viewPoint.z - size, 1.f};
|
||||
inst.pos[3] = zeus::CVector4f{viewPoint.x - size, viewPoint.y, viewPoint.z - size, 1.f};
|
||||
inst.pos[0] = zeus::CVector4f{viewPoint.x() + size, viewPoint.y(), viewPoint.z() + size, 1.f};
|
||||
inst.pos[1] = zeus::CVector4f{viewPoint.x() - size, viewPoint.y(), viewPoint.z() + size, 1.f};
|
||||
inst.pos[2] = zeus::CVector4f{viewPoint.x() + size, viewPoint.y(), viewPoint.z() - size, 1.f};
|
||||
inst.pos[3] = zeus::CVector4f{viewPoint.x() - size, viewPoint.y(), viewPoint.z() - size, 1.f};
|
||||
inst.color = particle.x34_color;
|
||||
inst.texrTindUVs[0] = zeus::CVector4f{uvs.xMax, uvs.yMax, uvsInd.xMax, uvsInd.yMax};
|
||||
inst.texrTindUVs[1] = zeus::CVector4f{uvs.xMin, uvs.yMax, uvsInd.xMin, uvsInd.yMax};
|
||||
|
||||
@@ -155,7 +155,7 @@ private:
|
||||
std::unique_ptr<CLineRenderer> m_lineRenderer;
|
||||
CElementGenShaders::EShaderClass m_shaderClass;
|
||||
|
||||
void AccumulateBounds(zeus::CVector3f& pos, float size);
|
||||
void AccumulateBounds(const zeus::CVector3f& pos, float size);
|
||||
|
||||
public:
|
||||
CElementGen(const TToken<CGenDescription>& gen,
|
||||
|
||||
@@ -64,9 +64,9 @@ bool CVEAngleSphere::GetValue(int frame, zeus::CVector3f& pPos, zeus::CVector3f&
|
||||
e = zeus::degToRad(e + ((0.5f * (g * rand->Float())) - g));
|
||||
|
||||
float cosD = std::cos(d);
|
||||
pPos.x = a.x + (b * (-std::sin(e) * cosD));
|
||||
pPos.y = a.y + (b * std::sin(d));
|
||||
pPos.z = a.z + (b * (cosD * cosD));
|
||||
pPos.x() = a.x() + (b * (-std::sin(e) * cosD));
|
||||
pPos.y() = a.y() + (b * std::sin(d));
|
||||
pPos.z() = a.z() + (b * (cosD * cosD));
|
||||
zeus::CVector3f normVec = (pPos - a).normalized();
|
||||
|
||||
float c;
|
||||
|
||||
@@ -18,7 +18,7 @@ void CFlameWarp::ModifyParticles(std::vector<CParticle>& particles)
|
||||
u8 idx = 0;
|
||||
for (CParticle& particle : particles)
|
||||
{
|
||||
float transp = 1.f - particle.x34_color.a;
|
||||
float transp = 1.f - particle.x34_color.a();
|
||||
if (transp > maxTransp)
|
||||
{
|
||||
float distSq = (particle.x4_pos - x74_warpPoint).magSquared();
|
||||
|
||||
@@ -159,9 +159,11 @@ bool CMVEBounce::GetValue(int frame, zeus::CVector3f& pVel, zeus::CVector3f& pPo
|
||||
|
||||
bool CMVEConstant::GetValue(int frame, zeus::CVector3f& pVel, zeus::CVector3f& /*pPos*/) const
|
||||
{
|
||||
x4_x->GetValue(frame, pVel.x);
|
||||
x8_y->GetValue(frame, pVel.y);
|
||||
xc_z->GetValue(frame, pVel.z);
|
||||
float x, y, z;
|
||||
x4_x->GetValue(frame, x);
|
||||
x8_y->GetValue(frame, y);
|
||||
xc_z->GetValue(frame, z);
|
||||
pVel.assign(x, y, z);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -352,7 +352,7 @@ void CParticleElectric::CalculatePoints()
|
||||
|
||||
if (x1c_elecDesc->x70_ZERY)
|
||||
for (int i=0 ; i<x420_calculatedVerts.size() ; ++i)
|
||||
x420_calculatedVerts[i].y = 0.f;
|
||||
x420_calculatedVerts[i].y() = 0.f;
|
||||
}
|
||||
|
||||
void CParticleElectric::CreateNewParticles(int count)
|
||||
|
||||
@@ -90,12 +90,12 @@ void CParticleSwoosh::UpdateMaxRadius(float r)
|
||||
|
||||
void CParticleSwoosh::UpdateBounds(const zeus::CVector3f& pos)
|
||||
{
|
||||
x1fc_aabbMax[0] = std::max(pos[0], x1fc_aabbMax[0]);
|
||||
x1fc_aabbMax[1] = std::max(pos[1], x1fc_aabbMax[1]);
|
||||
x1fc_aabbMax[2] = std::max(pos[2], x1fc_aabbMax[2]);
|
||||
x1f0_aabbMin[0] = std::min(pos[0], x1f0_aabbMin[0]);
|
||||
x1f0_aabbMin[1] = std::min(pos[1], x1f0_aabbMin[1]);
|
||||
x1f0_aabbMin[2] = std::min(pos[2], x1f0_aabbMin[2]);
|
||||
x1fc_aabbMax[0] = std::max(pos[0], float(x1fc_aabbMax[0]));
|
||||
x1fc_aabbMax[1] = std::max(pos[1], float(x1fc_aabbMax[1]));
|
||||
x1fc_aabbMax[2] = std::max(pos[2], float(x1fc_aabbMax[2]));
|
||||
x1f0_aabbMin[0] = std::min(pos[0], float(x1f0_aabbMin[0]));
|
||||
x1f0_aabbMin[1] = std::min(pos[1], float(x1f0_aabbMin[1]));
|
||||
x1f0_aabbMin[2] = std::min(pos[2], float(x1f0_aabbMin[2]));
|
||||
}
|
||||
|
||||
float CParticleSwoosh::GetLeftRadius(int i) const
|
||||
|
||||
@@ -372,7 +372,7 @@ bool CREGetComponentRed::GetValue(int frame, float& valOut) const
|
||||
{
|
||||
zeus::CColor a = zeus::CColor::skBlack;
|
||||
x4_a->GetValue(frame, a);
|
||||
valOut = a.r;
|
||||
valOut = a.r();
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -380,7 +380,7 @@ bool CREGetComponentGreen::GetValue(int frame, float& valOut) const
|
||||
{
|
||||
zeus::CColor a = zeus::CColor::skBlack;
|
||||
x4_a->GetValue(frame, a);
|
||||
valOut = a.g;
|
||||
valOut = a.g();
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -388,7 +388,7 @@ bool CREGetComponentBlue::GetValue(int frame, float& valOut) const
|
||||
{
|
||||
zeus::CColor a = zeus::CColor::skBlack;
|
||||
x4_a->GetValue(frame, a);
|
||||
valOut = a.b;
|
||||
valOut = a.b();
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -396,7 +396,7 @@ bool CREGetComponentAlpha::GetValue(int frame, float& valOut) const
|
||||
{
|
||||
zeus::CColor a = zeus::CColor::skBlack;
|
||||
x4_a->GetValue(frame, a);
|
||||
valOut = a.a;
|
||||
valOut = a.a();
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -67,7 +67,7 @@ CVECone::CVECone(std::unique_ptr<CVectorElement>&& a, std::unique_ptr<CRealEleme
|
||||
zeus::CVector3f av;
|
||||
x4_direction->GetValue(0, av);
|
||||
zeus::CVector3f avNorm = av.normalized();
|
||||
if (avNorm.x > 0.8)
|
||||
if (avNorm.x() > 0.8f)
|
||||
xc_xVec = av.cross(zeus::CVector3f(0.f, 1.f, 0.f));
|
||||
else
|
||||
xc_xVec = av.cross(zeus::CVector3f(1.f, 0.f, 0.f));
|
||||
@@ -286,21 +286,21 @@ bool CVEParticleLocation::GetValue(int /*frame*/, zeus::CVector3f& valOut) const
|
||||
bool CVEParticleSystemOrientationFront::GetValue(int /*frame*/, zeus::CVector3f& valOut) const
|
||||
{
|
||||
zeus::CMatrix4f trans = CParticleGlobals::g_currentParticleSystem->x4_system->GetOrientation().toMatrix4f().transposed();
|
||||
valOut.assign(trans.vec[0].y, trans.vec[1].y, trans.vec[2].y);
|
||||
valOut.assign(trans.m[0].y(), trans.m[1].y(), trans.m[2].y());
|
||||
return false;
|
||||
}
|
||||
|
||||
bool CVEParticleSystemOrientationUp::GetValue(int /*frame*/, zeus::CVector3f& valOut) const
|
||||
{
|
||||
zeus::CMatrix4f trans = CParticleGlobals::g_currentParticleSystem->x4_system->GetOrientation().toMatrix4f().transposed();
|
||||
valOut.assign(trans.vec[0].z, trans.vec[1].z, trans.vec[2].z);
|
||||
valOut.assign(trans.m[0].z(), trans.m[1].z(), trans.m[2].z());
|
||||
return false;
|
||||
}
|
||||
|
||||
bool CVEParticleSystemOrientationRight::GetValue(int /*frame*/, zeus::CVector3f& valOut) const
|
||||
{
|
||||
zeus::CMatrix4f trans = CParticleGlobals::g_currentParticleSystem->x4_system->GetOrientation().toMatrix4f().transposed();
|
||||
valOut.assign(trans.vec[0].x, trans.vec[1].x, trans.vec[2].x);
|
||||
valOut.assign(trans.m[0].x(), trans.m[1].x(), trans.m[2].x());
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -323,7 +323,7 @@ bool CVEColorToVector::GetValue(int frame, zeus::CVector3f &valOut) const
|
||||
{
|
||||
zeus::CColor val = {0.0f, 0.0f, 0.0f, 1.0f};
|
||||
x4_a->GetValue(frame, val);
|
||||
valOut = zeus::CVector3f{val.r, val.g, val.b};
|
||||
valOut = zeus::CVector3f{val.mSimd};
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user