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

Various fixes and tweaks, Implement CExplosion, Add cheats

This commit is contained in:
2018-04-26 14:12:20 -07:00
parent ae48196c3f
commit 6d60ccfd04
26 changed files with 297 additions and 75 deletions

View File

@@ -47,6 +47,7 @@ void CBooModel::KillCachedViewDepState()
}
bool CBooModel::g_DummyTextures = false;
bool CBooModel::g_RenderModelBlack = false;
zeus::CVector3f CBooModel::g_ReflectViewPos = {};
@@ -1095,10 +1096,18 @@ void CBooModel::DrawAlpha(const CModelFlags& flags,
const CSkinRules* cskr,
const CPoseAsTransforms* pose) const
{
CModelFlags rFlags = flags;
/* Check if we're overriding with RenderModelBlack */
if (g_RenderModelBlack)
{
rFlags.m_extendedShader = EExtendedShader::SolidColor;
rFlags.x4_color = zeus::CColor::skBlack;
}
if (TryLockTextures())
{
UpdateUniformData(flags, cskr, pose);
DrawAlphaSurfaces(flags);
UpdateUniformData(rFlags, cskr, pose);
DrawAlphaSurfaces(rFlags);
}
}
@@ -1106,10 +1115,17 @@ void CBooModel::DrawNormal(const CModelFlags& flags,
const CSkinRules* cskr,
const CPoseAsTransforms* pose) const
{
CModelFlags rFlags = flags;
/* Check if we're overriding with RenderModelBlack */
if (g_RenderModelBlack)
{
rFlags.m_extendedShader = EExtendedShader::SolidColor;
rFlags.x4_color = zeus::CColor::skBlack;
}
if (TryLockTextures())
{
UpdateUniformData(flags, cskr, pose);
DrawNormalSurfaces(flags);
UpdateUniformData(rFlags, cskr, pose);
DrawNormalSurfaces(rFlags);
}
}
@@ -1117,10 +1133,18 @@ void CBooModel::Draw(const CModelFlags& flags,
const CSkinRules* cskr,
const CPoseAsTransforms* pose) const
{
CModelFlags rFlags = flags;
/* Check if we're overriding with RenderModelBlack */
if (g_RenderModelBlack)
{
rFlags.m_extendedShader = EExtendedShader::SolidColor;
rFlags.x4_color = zeus::CColor::skBlack;
}
if (TryLockTextures())
{
UpdateUniformData(flags, cskr, pose);
DrawSurfaces(flags);
UpdateUniformData(rFlags, cskr, pose);
DrawSurfaces(rFlags);
}
}