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

Restore CCameraManager::GetCurrentCamera's proper behavior (AKA, I'm an idiot)

This commit is contained in:
2017-03-05 09:54:00 -08:00
parent d78feb1196
commit fe72458f48
6 changed files with 26 additions and 9 deletions

View File

@@ -82,7 +82,21 @@ void CCollisionActor::SetDamageVulnerability(const CDamageVulnerability& vuln) {
zeus::CVector3f CCollisionActor::GetScanObjectIndicatorPosition(const CStateManager& mgr)
{
const CGameCamera* gameCamera = static_cast<const CGameCamera*>(mgr.GetCameraManager()->GetCurrentCamera(mgr));
return {};
float scanScale;
if (x258_primitiveType == EPrimitiveType::Sphere)
scanScale = GetSphereRadius();
else
{
const zeus::CVector3f v = GetBoxSize();
float comp = (v.x < v.y ? v.y : v.z);
comp = (comp < v.z ? v.x : comp);
scanScale = 0.5f * comp;
}
scanScale *= 3.0f;
zeus::CVector3f orbitPos = GetOrbitPosition(mgr);
return (scanScale * (orbitPos - gameCamera->GetTransform().origin).normalized()) - orbitPos;
}
const CCollisionPrimitive* CCollisionActor::GetCollisionPrimitive() const