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

CGuiFrame & Model fixes; CModel::Draw impl; Document CModelFlags bits

This commit is contained in:
2022-03-05 19:26:52 -05:00
parent b3daf4a527
commit 6c3e74b93e
25 changed files with 135 additions and 192 deletions

View File

@@ -59,9 +59,7 @@ void CAtomicAlpha::Render(CStateManager& mgr) {
GetTransform() * GetScaledLocatorTransform(bomb.x0_locatorName) *
zeus::CTransform::Scale(
std::min(1.f, std::max(0.f, bomb.x14_scaleTime - x570_bombReappearDelay) / x570_bombReappearDelay));
CModelFlags flags;
flags.x2_flags = 1 | 2;
flags.x4_color = zeus::skWhite;
CModelFlags flags{0, 0, 3, zeus::skWhite};
x690_bombModel.Render(mgr, locatorXf, x90_actorLights.get(), flags);
}
}

View File

@@ -617,9 +617,9 @@ void CRidley::PreRender(CStateManager& mgr, const zeus::CFrustum& frustum) {
CPlayerState::EPlayerVisor r28 = mgr.GetPlayerState()->GetActiveVisor(mgr);
bool atLastMat = GetModelData()->GetNumMaterialSets() == (matSet + 1);
if (r28 == CPlayerState::EPlayerVisor::Thermal && atLastMat) {
xb4_drawFlags.x2_flags |= 0x40;
xb4_drawFlags.x2_flags |= CModelFlagBits::Unknown1;
} else {
xb4_drawFlags.x2_flags &= 0x40;
xb4_drawFlags.x2_flags &= CModelFlagBits::Unknown1;
}
xb4_drawFlags.x1_matSetIdx = matSet;

View File

@@ -108,10 +108,7 @@ void CSeedling::Think(float dt, CStateManager& mgr) {
void CSeedling::Render(CStateManager& mgr) {
if (x400_25_alive && x6bc_spikeData) {
const size_t index = x722_24_renderOnlyClusterA ? 0 : size_t(x722_25_curNeedleCluster);
CModelFlags flags;
flags.x2_flags = 3;
flags.x4_color = zeus::skWhite;
CModelFlags flags{0, 0, 3, zeus::skWhite};
for (const auto& sv : skNeedleLocators[index]) {
x6bc_spikeData->Render(mgr, GetLctrTransform(sv), x90_actorLights.get(), flags);
}