mirror of https://github.com/AxioDL/metaforce.git
Fix VEAngleSphere element ordering & calculations
This commit is contained in:
parent
5bfdb4312f
commit
d5596e6430
|
@ -1247,12 +1247,12 @@ struct VESphere : IEmitterElement {
|
|||
struct VEAngleSphere : IEmitterElement {
|
||||
AT_DECL_DNA_YAMLV_NO_TYPE
|
||||
VectorElementFactory sphereOrigin;
|
||||
RealElementFactory sphereRadius;
|
||||
RealElementFactory magnitude;
|
||||
RealElementFactory angleXBias;
|
||||
RealElementFactory angleYBias;
|
||||
RealElementFactory angleXRange;
|
||||
RealElementFactory angleYRange;
|
||||
RealElementFactory sphereRadius;
|
||||
RealElementFactory magnitude;
|
||||
std::string_view ClassID() const override { return "ASPH"sv; }
|
||||
};
|
||||
|
||||
|
|
|
@ -56,8 +56,8 @@ bool CVEAngleSphere::GetValue(int frame, zeus::CVector3f& pPos, zeus::CVector3f&
|
|||
x18_angleXRange->GetValue(frame, f);
|
||||
x1c_angleYRange->GetValue(frame, g);
|
||||
CRandom16* rand = CRandom16::GetRandomNumber();
|
||||
d = zeus::degToRad(d + ((0.5f * (f * rand->Float())) - f));
|
||||
e = zeus::degToRad(e + ((0.5f * (g * rand->Float())) - g));
|
||||
d = zeus::degToRad(d + (0.5f * f - f * rand->Float()));
|
||||
e = zeus::degToRad(e + (0.5f * g - g * rand->Float()));
|
||||
|
||||
float cosD = std::cos(d);
|
||||
pPos.x() = a.x() + (b * (-std::sin(e) * cosD));
|
||||
|
|
|
@ -294,8 +294,8 @@ std::unique_ptr<CEmitterElement> CParticleDataFactory::GetEmitterElement(CInputS
|
|||
auto e = GetRealElement(in);
|
||||
auto f = GetRealElement(in);
|
||||
auto g = GetRealElement(in);
|
||||
return std::make_unique<CVEAngleSphere>(std::move(a), std::move(b), std::move(c), std::move(d), std::move(e),
|
||||
std::move(f), std::move(g));
|
||||
return std::make_unique<CVEAngleSphere>(std::move(a), std::move(f), std::move(g), std::move(b), std::move(c),
|
||||
std::move(d), std::move(e));
|
||||
}
|
||||
default:
|
||||
break;
|
||||
|
|
|
@ -23,7 +23,7 @@ struct CParticle {
|
|||
int x28_startFrame = 0;
|
||||
float x2c_lineLengthOrSize = 0.f;
|
||||
float x30_lineWidthOrRota = 0.f;
|
||||
zeus::CColor x34_color = {0.f, 0.f, 0.f, 1.f};
|
||||
zeus::CColor x34_color = {1.f, 0.f, 1.f, 1.f};
|
||||
};
|
||||
|
||||
class CParticleGen {
|
||||
|
|
Loading…
Reference in New Issue