mirror of https://github.com/AxioDL/metaforce.git
All your CLineManager are belong to us
This commit is contained in:
parent
b2ccf420f8
commit
bf564ac089
|
@ -33,23 +33,30 @@ CParticleElectric::CParticleElectric(const TToken<CElectricDescription>& token)
|
||||||
desc->x0_LIFE->GetValue(x28_currentFrame, x2c_LIFE);
|
desc->x0_LIFE->GetValue(x28_currentFrame, x2c_LIFE);
|
||||||
else
|
else
|
||||||
x2c_LIFE = 0x7FFFFF;
|
x2c_LIFE = 0x7FFFFF;
|
||||||
/* TODO: figure this out more */
|
|
||||||
if (desc->x40_SSWH.m_found)
|
if (desc->x40_SSWH.m_found)
|
||||||
{
|
{
|
||||||
x438_27_x450_27 = true;
|
x438_27_x450_27_HaveSSWH = true;
|
||||||
//x1e0_SSWH.reset(new CParticleSwoosh(desc->x40_SSWH.m_token
|
for (int i = 0 ; i < x154_SCNT ; i++)
|
||||||
|
x1e0_lineManagers[i].SSWH.reset(new CParticleSwoosh(desc->x40_SSWH.m_token, x150_SSEG));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (desc->x50_GPSM.m_found)
|
if (desc->x50_GPSM.m_found)
|
||||||
{
|
{
|
||||||
x438_25_x450_25 = true;
|
x438_25_x450_25_HaveGPSM = true;
|
||||||
//x400_GPSM.reset(new CElementGen(desc->x50_GPSM.m_token
|
for (int i = 0 ; i < x154_SCNT ; i++)
|
||||||
|
x1e0_lineManagers[i].GPSM.reset(new CElementGen(desc->x50_GPSM.m_token,
|
||||||
|
CElementGen::EModelOrientationType::Normal,
|
||||||
|
CElementGen::EOptionalSystemFlags::One));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (desc->x60_EPSM.m_found)
|
if (desc->x60_EPSM.m_found)
|
||||||
{
|
{
|
||||||
x438_26_x450_26 = true;
|
x438_26_x450_26_HaveEPSM = true;
|
||||||
//x410_GPSM.reset(new CElementGen(desc->x60_EPSM.m_token
|
for (int i = 0 ; i < x154_SCNT ; i++)
|
||||||
|
x1e0_lineManagers[i].EPSM.reset(new CElementGen(desc->x60_EPSM.m_token,
|
||||||
|
CElementGen::EModelOrientationType::Normal,
|
||||||
|
CElementGen::EOptionalSystemFlags::One));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -125,7 +132,7 @@ void CParticleElectric::SetLocalScale(const zeus::CVector3f& scale)
|
||||||
{
|
{
|
||||||
xec_localScale = scale;
|
xec_localScale = scale;
|
||||||
x438_28_x450_28 = true;
|
x438_28_x450_28 = true;
|
||||||
if (x438_26_x450_26)
|
if (x438_26_x450_26_HaveEPSM)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,9 +14,11 @@ class CElementGen;
|
||||||
class CParticleElectric : public CParticleGen
|
class CParticleElectric : public CParticleGen
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
class CLineManager
|
struct CLineManager
|
||||||
{
|
{
|
||||||
|
std::unique_ptr<CParticleSwoosh> SSWH;
|
||||||
|
std::unique_ptr<CElementGen> GPSM;
|
||||||
|
std::unique_ptr<CElementGen> EPSM;
|
||||||
};
|
};
|
||||||
private:
|
private:
|
||||||
TLockedToken<CElectricDescription> x1c_elecDesc;
|
TLockedToken<CElectricDescription> x1c_elecDesc;
|
||||||
|
@ -45,17 +47,7 @@ private:
|
||||||
bool x1bc_hasModuColor = false;
|
bool x1bc_hasModuColor = false;
|
||||||
int x1c0 = 32;
|
int x1c0 = 32;
|
||||||
char x1c4[4][8];
|
char x1c4[4][8];
|
||||||
std::unique_ptr<CParticleSwoosh> x1e0_SSWH;
|
rstl::reserved_vector<CLineManager, 32> x1e0_lineManagers;
|
||||||
int x2e4 = 0;
|
|
||||||
int x3ec = 0;
|
|
||||||
int x3f4 = 0; // actually the offset of itself
|
|
||||||
int x3f0 = x3f4;
|
|
||||||
int x3f8 = x3f4;
|
|
||||||
int x3fc = 0;
|
|
||||||
std::unique_ptr<CElementGen> x400_GPSM;
|
|
||||||
int x404 = 0;
|
|
||||||
int x408 = 0;
|
|
||||||
int x40c = 0;
|
|
||||||
int x414 = 0;
|
int x414 = 0;
|
||||||
int x418 = 0;
|
int x418 = 0;
|
||||||
int x41c = 0;
|
int x41c = 0;
|
||||||
|
@ -73,7 +65,7 @@ private:
|
||||||
{
|
{
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
bool x438_24_x450_24 : 1; bool x438_25_x450_25 : 1; bool x438_26_x450_26 : 1; bool x438_27_x450_27 : 1;
|
bool x438_24_x450_24 : 1; bool x438_25_x450_25_HaveGPSM : 1; bool x438_26_x450_26_HaveEPSM : 1; bool x438_27_x450_27_HaveSSWH : 1;
|
||||||
bool x438_28_x450_28: 1; bool x450_29 : 1;
|
bool x438_28_x450_28: 1; bool x450_29 : 1;
|
||||||
};
|
};
|
||||||
u8 dummy = 0;
|
u8 dummy = 0;
|
||||||
|
|
Loading…
Reference in New Issue