2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-09 03:47:43 +00:00

HUD rendering bug fixes

This commit is contained in:
Jack Andersen
2018-01-05 20:50:42 -10:00
parent a78c4c6b36
commit 168fab6b14
47 changed files with 254 additions and 120 deletions

View File

@@ -631,11 +631,17 @@ void CBooModel::DrawSurface(const CBooSurface& surf, const CModelFlags& flags) c
{
if (data.heclIr.m_blendSrc == boo::BlendFactor::One && data.heclIr.m_blendDst == boo::BlendFactor::Zero)
{
/* Override shader if originally opaque */
/* Override shader if originally opaque (typical for FRME models) */
if (flags.x0_blendMode > 6)
extended = flags.m_noCull ? EExtendedShader::ForcedAdditiveNoCull : EExtendedShader::ForcedAdditive;
extended = flags.m_noCull ? (flags.m_noZWrite ?
EExtendedShader::ForcedAdditiveNoCullNoZWrite :
EExtendedShader::ForcedAdditiveNoCull) :
EExtendedShader::ForcedAdditive;
else if (flags.x0_blendMode > 4)
extended = flags.m_noCull ? EExtendedShader::ForcedAlphaNoCull : EExtendedShader::ForcedAlpha;
extended = flags.m_noCull ? (flags.m_noZWrite ?
EExtendedShader::ForcedAlphaNoCullNoZWrite :
EExtendedShader::ForcedAlphaNoCull) :
EExtendedShader::ForcedAlpha;
else
extended = EExtendedShader::Lighting;
}