mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-16 13:37:02 +00:00
Begin transitioning to new CModel/CCubeModel & friends
This commit is contained in:
@@ -35,7 +35,7 @@ void CGuiModel::Touch() {
|
||||
return;
|
||||
}
|
||||
|
||||
model->GetInstance().Touch(0);
|
||||
model->Touch(0);
|
||||
}
|
||||
|
||||
void CGuiModel::Draw(const CGuiWidgetDrawParms& parms) {
|
||||
@@ -56,49 +56,49 @@ void CGuiModel::Draw(const CGuiWidgetDrawParms& parms) {
|
||||
SCOPED_GRAPHICS_DEBUG_GROUP(fmt::format(FMT_STRING("CGuiModel::Draw {}"), m_name).c_str(), zeus::skCyan);
|
||||
zeus::CColor moduCol = xa8_color2;
|
||||
moduCol.a() *= parms.x0_alphaMod;
|
||||
xb0_frame->EnableLights(xcc_lightMask, model->GetInstance());
|
||||
// TODO xb0_frame->EnableLights(xcc_lightMask, model->GetInstance());
|
||||
// if (xb6_29_cullFaces)
|
||||
// CGraphics::SetCullMode(ERglCullMode::Front);
|
||||
|
||||
switch (xac_drawFlags) {
|
||||
case EGuiModelDrawFlags::Shadeless: {
|
||||
CModelFlags flags(0, 0, 3, zeus::skWhite);
|
||||
flags.m_extendedShader = EExtendedShader::Flat;
|
||||
// flags.m_extendedShader = EExtendedShader::Flat;
|
||||
model->Draw(flags);
|
||||
break;
|
||||
}
|
||||
case EGuiModelDrawFlags::Opaque: {
|
||||
CModelFlags flags(1, 0, 3, moduCol);
|
||||
flags.m_extendedShader = EExtendedShader::Lighting;
|
||||
// flags.m_extendedShader = EExtendedShader::Lighting;
|
||||
model->Draw(flags);
|
||||
break;
|
||||
}
|
||||
case EGuiModelDrawFlags::Alpha: {
|
||||
CModelFlags flags(5, 0, (u32(xb7_24_depthWrite) << 1) | u32(xb6_31_depthTest), moduCol);
|
||||
flags.m_noCull = !xb6_29_cullFaces;
|
||||
flags.m_noZWrite = !xb7_24_depthWrite;
|
||||
// flags.m_noCull = !xb6_29_cullFaces;
|
||||
// flags.m_noZWrite = !xb7_24_depthWrite;
|
||||
model->Draw(flags);
|
||||
break;
|
||||
}
|
||||
case EGuiModelDrawFlags::Additive: {
|
||||
CModelFlags flags(7, 0, (u32(xb7_24_depthWrite) << 1) | u32(xb6_31_depthTest), moduCol);
|
||||
flags.m_noCull = !xb6_29_cullFaces;
|
||||
flags.m_noZWrite = !xb7_24_depthWrite;
|
||||
flags.m_depthGreater = xb6_30_depthGreater;
|
||||
// flags.m_noCull = !xb6_29_cullFaces;
|
||||
// flags.m_noZWrite = !xb7_24_depthWrite;
|
||||
// flags.m_depthGreater = xb6_30_depthGreater;
|
||||
model->Draw(flags);
|
||||
break;
|
||||
}
|
||||
case EGuiModelDrawFlags::AlphaAdditiveOverdraw: {
|
||||
CModelFlags flags(5, 0, xb6_31_depthTest, moduCol);
|
||||
flags.m_noCull = !xb6_29_cullFaces;
|
||||
flags.m_noZWrite = !xb7_24_depthWrite;
|
||||
// flags.m_noCull = !xb6_29_cullFaces;
|
||||
// flags.m_noZWrite = !xb7_24_depthWrite;
|
||||
model->Draw(flags);
|
||||
|
||||
flags.x0_blendMode = 7;
|
||||
flags.x1_matSetIdx = 0;
|
||||
flags.x2_flags = (u32(xb7_24_depthWrite) << 1) | u32(xb6_31_depthTest);
|
||||
flags.x4_color = moduCol;
|
||||
flags.m_noCull = !xb6_29_cullFaces;
|
||||
// flags.m_noCull = !xb6_29_cullFaces;
|
||||
model->Draw(flags);
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user