mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-14 17:26:09 +00:00
CGuiFrame & Model fixes; CModel::Draw impl; Document CModelFlags bits
This commit is contained in:
@@ -56,7 +56,7 @@ int CPlayerVisor::FindCachedInactiveScanTarget(TUniqueId uid) const {
|
||||
return -1;
|
||||
}
|
||||
|
||||
bool CPlayerVisor::DrawScanObjectIndicators(const CStateManager& mgr) const {
|
||||
bool CPlayerVisor::DrawScanObjectIndicators(const CStateManager& mgr) {
|
||||
if (!x124_scanIconNoncritical.IsLoaded() || !x130_scanIconCritical.IsLoaded())
|
||||
return false;
|
||||
if (!x114_scanShield.IsLoaded())
|
||||
@@ -89,7 +89,7 @@ bool CPlayerVisor::DrawScanObjectIndicators(const CStateManager& mgr) const {
|
||||
if (!act->GetMaterialList().HasMaterial(EMaterialTypes::Scannable))
|
||||
continue;
|
||||
const CScannableObjectInfo* scanInfo = act->GetScannableObjectInfo();
|
||||
const CModel* useModel;
|
||||
CModel* useModel;
|
||||
const zeus::CColor* useColor;
|
||||
const zeus::CColor* useDimColor;
|
||||
if (scanInfo->IsImportant()) {
|
||||
|
||||
@@ -67,7 +67,7 @@ class CPlayerVisor {
|
||||
|
||||
int FindEmptyInactiveScanTarget() const;
|
||||
int FindCachedInactiveScanTarget(TUniqueId uid) const;
|
||||
bool DrawScanObjectIndicators(const CStateManager& mgr) const;
|
||||
bool DrawScanObjectIndicators(const CStateManager& mgr);
|
||||
void UpdateScanObjectIndicators(const CStateManager& mgr, float dt);
|
||||
void UpdateScanWindow(float dt, const CStateManager& mgr);
|
||||
EScanWindowState GetDesiredScanWindowState(const CStateManager& mgr) const;
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user