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

FRME bug fixes and shader adjustments

This commit is contained in:
Jack Andersen
2017-01-29 18:16:20 -10:00
parent 1fbd08b7c6
commit 83176b41a9
39 changed files with 424 additions and 179 deletions

View File

@@ -65,36 +65,42 @@ void CGuiModel::Draw(const CGuiWidgetDrawParms& parms) const
case EGuiModelDrawFlags::Shadeless:
{
CModelFlags flags(0, 0, 3, zeus::CColor::skWhite);
flags.m_extendedShaderIdx = 0;
model->Draw(flags);
break;
}
case EGuiModelDrawFlags::Opaque:
{
CModelFlags flags(1, 0, 3, moduCol);
flags.m_extendedShaderIdx = 1;
model->Draw(flags);
break;
}
case EGuiModelDrawFlags::Alpha:
{
CModelFlags flags(4, 0, (u32(xb7_24_depthWrite) << 1) | u32(xb6_31_depthTest), moduCol);
flags.m_extendedShaderIdx = 3;
model->Draw(flags);
break;
}
case EGuiModelDrawFlags::Additive:
{
CModelFlags flags(3, 0, (u32(xb7_24_depthWrite) << 1) | u32(xb6_31_depthTest), moduCol);
flags.m_extendedShaderIdx = 4;
model->Draw(flags);
break;
}
case EGuiModelDrawFlags::AlphaAdditiveOverdraw:
{
CModelFlags flags(4, 0, xb6_31_depthTest, moduCol);
flags.m_extendedShaderIdx = 3;
model->Draw(flags);
flags.m_blendMode = 5;
flags.m_matSetIdx = 0;
flags.m_flags = (u32(xb7_24_depthWrite) << 1) | u32(xb6_31_depthTest);
flags.color = moduCol;
flags.m_extendedShaderIdx = 4;
model->Draw(flags);
break;
}