mirror of https://github.com/AxioDL/metaforce.git
Rethink BGCL
This commit is contained in:
parent
805471eb98
commit
fe38bfec2d
|
@ -156,10 +156,4 @@ bool CCEParticleColor::GetValue(int /*frame*/, Zeus::CColor& colorOut) const
|
|||
return false;
|
||||
}
|
||||
|
||||
bool CCEBevelGradient::GetValue(int frame, Zeus::CColor& colorOut) const
|
||||
{
|
||||
m_gradientColor->GetValue(frame, colorOut);
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -92,16 +92,6 @@ class CCEParticleColor : public CColorElement
|
|||
public:
|
||||
bool GetValue(int frame, Zeus::CColor& colorOut) const;
|
||||
};
|
||||
|
||||
/* Custom additions */
|
||||
class CCEBevelGradient : public CColorElement
|
||||
{
|
||||
std::unique_ptr<CColorElement> m_gradientColor;
|
||||
public:
|
||||
CCEBevelGradient(CColorElement* gradientCol)
|
||||
: m_gradientColor(gradientCol) {}
|
||||
bool GetValue(int frame, Zeus::CColor &colorOut) const;
|
||||
};
|
||||
}
|
||||
|
||||
#endif // __PSHAG_CCOLORELEMENT_HPP__
|
||||
|
|
|
@ -103,6 +103,10 @@ public:
|
|||
std::unique_ptr<CRealElement> x124_ADV7;
|
||||
std::unique_ptr<CRealElement> x128_ADV8;
|
||||
|
||||
|
||||
/* Custom additions */
|
||||
std::unique_ptr<CColorElement> m_bevelGradient; /* FourCC BGCL */
|
||||
|
||||
CGenDescription()
|
||||
{
|
||||
x45_25_PMOO = true;
|
||||
|
|
|
@ -1113,6 +1113,25 @@ bool CParticleDataFactory::CreateGPSM(CGenDescription* fillDesc, CInputStream& i
|
|||
}
|
||||
clsId = GetClassID(in);
|
||||
}
|
||||
|
||||
/* Now for our custom additions, if available */
|
||||
if (!in.atEnd())
|
||||
{
|
||||
clsId = GetClassID(in);
|
||||
if (clsId == 0xFFFFFFFF)
|
||||
return true;
|
||||
|
||||
while (clsId != SBIG('_END') && !in.atEnd())
|
||||
{
|
||||
switch(clsId)
|
||||
{
|
||||
case SBIG('BGCL'):
|
||||
fillDesc->m_bevelGradient.reset(GetColorElement(in));
|
||||
break;
|
||||
}
|
||||
clsId = GetClassID(in);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue