2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-08 15:44:56 +00:00

Graphics debug groups and bug fixes

This commit is contained in:
Jack Andersen
2019-07-20 22:42:52 -10:00
parent b4fe474de3
commit 5acf9ecbcf
90 changed files with 217 additions and 27 deletions

View File

@@ -77,6 +77,7 @@ void CArtifactDoll::CompleteArtifactHeadScan(const CStateManager& mgr) { UpdateA
void CArtifactDoll::Draw(float alpha, const CStateManager& mgr, bool inArtifactCategory, int selectedArtifact) {
if (!IsLoaded())
return;
SCOPED_GRAPHICS_DEBUG_GROUP("CArtifactDoll::Draw", zeus::skPurple);
alpha *= x24_fader;
g_Renderer->SetPerspective(55.f, g_Viewport.x8_width, g_Viewport.xc_height, 0.2f, 4096.f);

View File

@@ -1,4 +1,5 @@
#include "CCredits.hpp"
#include "Graphics/CGraphics.hpp"
namespace urde::MP1 {
@@ -8,6 +9,8 @@ CIOWin::EMessageReturn CCredits::OnMessage(const CArchitectureMessage& msg, CArc
return EMessageReturn::Normal;
}
void CCredits::Draw() const {}
void CCredits::Draw() const {
SCOPED_GRAPHICS_DEBUG_GROUP("CCredits::Draw", zeus::skGreen);
}
} // namespace urde::MP1

View File

@@ -35,6 +35,7 @@ void CFaceplateDecoration::Update(float dt, CStateManager& stateMgr) {
void CFaceplateDecoration::Draw(CStateManager& stateMgr) {
if (xc_ready && m_texFilter) {
SCOPED_GRAPHICS_DEBUG_GROUP("CFaceplateDecoration::Draw", zeus::skPurple);
zeus::CColor color = zeus::skWhite;
color.a() = stateMgr.GetPlayer().GetVisorSteam().GetAlpha();
m_texFilter->DrawFilter(EFilterShape::FullscreenQuarters, color, 1.f);

View File

@@ -1884,6 +1884,7 @@ void CFrontEndUI::HandleDebugMenuReturnValue(CGameDebug::EReturnValue val, CArch
void CFrontEndUI::Draw() const {
if (x14_phase < EPhase::DisplayFrontEnd)
return;
SCOPED_GRAPHICS_DEBUG_GROUP("CFrontEndUI::Draw", zeus::skGreen);
if (xec_emuFrme) {
xec_emuFrme->Draw(xdc_saveUI.get());

View File

@@ -29,6 +29,7 @@ void CGameCubeDoll::Update(float dt) {
void CGameCubeDoll::Draw(float alpha) {
if (!IsLoaded())
return;
SCOPED_GRAPHICS_DEBUG_GROUP("CGameCubeDoll::Draw", zeus::skPurple);
g_Renderer->SetPerspective(55.f, g_Viewport.x8_width, g_Viewport.xc_height, 0.2f, 4096.f);
CGraphics::SetViewPointMatrix(zeus::CTransform::Translate(0.f, -2.f, 0.f));

View File

@@ -461,6 +461,7 @@ void CInGameGuiManager::PreDraw(CStateManager& stateMgr, bool cameraActive) {
}
void CInGameGuiManager::Draw(CStateManager& stateMgr) {
SCOPED_GRAPHICS_DEBUG_GROUP("CInGameGuiManager::Draw", zeus::skBlue);
// if (!GetIsGameDraw())
// g_Renderer->x318_26_requestRGBA6 = true;
if (x1d8_onScreenTexAlpha > 0.f && x1dc_onScreenTexTok.IsLoaded()) {

View File

@@ -240,6 +240,7 @@ void CInventoryScreen::ProcessControllerInput(const CFinalInput& input) {
}
void CInventoryScreen::Draw(float transInterp, float totalAlpha, float yOff) {
SCOPED_GRAPHICS_DEBUG_GROUP("CInventoryScreen::Draw", zeus::skPurple);
CPauseScreenBase::Draw(transInterp, totalAlpha, std::fabs(x19c_samusDoll->GetViewInterpolation()));
x19c_samusDoll->Draw(x4_mgr, transInterp * (1.f - x1a4_textBodyAlpha));
}

View File

@@ -331,6 +331,7 @@ void CLogBookScreen::ProcessControllerInput(const CFinalInput& input) {
}
void CLogBookScreen::Draw(float transInterp, float totalAlpha, float yOff) {
SCOPED_GRAPHICS_DEBUG_GROUP("CInventoryScreen::Draw", zeus::skPurple);
CPauseScreenBase::Draw(transInterp, totalAlpha, yOff);
bool artifactSel = x10_mode == EMode::RightTable && IsArtifactCategorySelected();
x258_artifactDoll->Draw(transInterp * (1.f - x254_viewInterp), x4_mgr, artifactSel,

View File

@@ -194,6 +194,7 @@ void CMFGame::Touch() {
void CMFGame::Draw() const {
if (!x2a_24_initialized)
return;
SCOPED_GRAPHICS_DEBUG_GROUP("CMFGame::Draw", zeus::skGreen);
const_cast<CMFGame&>(*this).Touch();
if (x18_guiManager->GetIsGameDraw()) {
@@ -360,6 +361,9 @@ CIOWin::EMessageReturn CMFGameLoader::OnMessage(const CArchitectureMessage& msg,
return EMessageReturn::Exit;
}
void CMFGameLoader::Draw() const { g_GameState->GetWorldTransitionManager()->Draw(); }
void CMFGameLoader::Draw() const {
SCOPED_GRAPHICS_DEBUG_GROUP("CMFGameLoader::Draw", zeus::skGreen);
g_GameState->GetWorldTransitionManager()->Draw();
}
} // namespace urde::MP1

View File

@@ -127,6 +127,7 @@ bool CMessageScreen::Update(float dt, float blurAmt) {
void CMessageScreen::Draw() const {
if (!x18_loadedMsgScreen)
return;
SCOPED_GRAPHICS_DEBUG_GROUP("CMessageScreen::Draw", zeus::skPurple);
x18_loadedMsgScreen->Draw(CGuiWidgetDrawParms(x70_blurAmt, zeus::skZero3f));
}

View File

@@ -163,6 +163,7 @@ void COptionsScreen::ProcessControllerInput(const CFinalInput& input) {
}
void COptionsScreen::Draw(float transInterp, float totalAlpha, float yOff) {
SCOPED_GRAPHICS_DEBUG_GROUP("COptionsScreen::Draw", zeus::skPurple);
CPauseScreenBase::Draw(transInterp, totalAlpha, yOff);
x1a0_gameCube->Draw(transInterp * (1.f - x29c_optionAlpha));
if (x19c_quitGame) {

View File

@@ -320,6 +320,7 @@ void CPauseScreen::PreDraw() {
void CPauseScreen::Draw() {
if (!IsLoaded())
return;
SCOPED_GRAPHICS_DEBUG_GROUP("CPauseScreen::Draw", zeus::skPurple);
float totalAlpha = 0.f;
float yOff = 0.f;

View File

@@ -344,6 +344,8 @@ void CPauseScreenBase::ResetMouseState() {
}
void CPauseScreenBase::Draw(float mainAlpha, float frameAlpha, float yOff) {
SCOPED_GRAPHICS_DEBUG_GROUP("CPauseScreenBase::Draw", zeus::skBlue);
zeus::CColor color = zeus::skWhite;
color.a() = mainAlpha * x14_alpha;
x60_basewidget_pivot->SetColor(color);

View File

@@ -84,6 +84,7 @@ void CPauseScreenBlur::Update(float dt, const CStateManager& stateMgr, bool b) {
}
void CPauseScreenBlur::Draw(const CStateManager&) const {
SCOPED_GRAPHICS_DEBUG_GROUP("CPauseScreenBlur::Draw", zeus::skPurple);
const_cast<CCameraBlurPass&>(x1c_camBlur).Draw(true);
float t = std::fabs(x18_blurAmt);
if (x1c_camBlur.GetCurrType() != EBlurType::NoBlur) {

View File

@@ -320,6 +320,8 @@ void CPlayerVisor::LockUnlockAssets() {
}
void CPlayerVisor::DrawScanEffect(const CStateManager& mgr, const CTargetingManager* tgtMgr) const {
SCOPED_GRAPHICS_DEBUG_GROUP("CPlayerVisor::DrawScanEffect", zeus::skMagenta);
bool indicatorsDrawn = DrawScanObjectIndicators(mgr);
if (tgtMgr && indicatorsDrawn) {
CGraphics::SetDepthRange(DEPTH_TARGET_MANAGER, DEPTH_TARGET_MANAGER);
@@ -454,7 +456,10 @@ void CPlayerVisor::DrawScanEffect(const CStateManager& mgr, const CTargetingMana
// cull faces
}
void CPlayerVisor::DrawXRayEffect(const CStateManager&) const { const_cast<CCameraBlurPass&>(x90_xrayBlur).Draw(); }
void CPlayerVisor::DrawXRayEffect(const CStateManager&) const {
SCOPED_GRAPHICS_DEBUG_GROUP("CPlayerVisor::DrawXRayEffect", zeus::skMagenta);
const_cast<CCameraBlurPass&>(x90_xrayBlur).Draw();
}
void CPlayerVisor::DrawThermalEffect(const CStateManager&) const {
// Empty

View File

@@ -8,6 +8,7 @@
#include "GuiSys/CStringTable.hpp"
#include "GuiSys/CGuiWidgetDrawParms.hpp"
#include "Audio/CSfxManager.hpp"
#include "Graphics/CGraphics.hpp"
namespace urde::MP1 {
@@ -80,6 +81,7 @@ EQuitAction CQuitGameScreen::Update(float dt) {
}
void CQuitGameScreen::Draw() {
SCOPED_GRAPHICS_DEBUG_GROUP("CQuitGameScreen::Draw", zeus::skPurple);
if (x0_type == EQuitType::QuitGame)
m_blackScreen->draw(zeus::CColor(0.f, 0.5f));

View File

@@ -267,6 +267,7 @@ void CSamusDoll::Update(float dt, CRandom16& rand) {
void CSamusDoll::Draw(const CStateManager& mgr, float alpha) {
if (!IsLoaded())
return;
SCOPED_GRAPHICS_DEBUG_GROUP("CSamusDoll::Draw", zeus::skPurple);
alpha *= x40_alphaIn;

View File

@@ -34,6 +34,7 @@ void CSamusFaceReflection::Draw(const CStateManager& mgr) const {
return;
if (TCastToConstPtr<CFirstPersonCamera> fpCam = (mgr.GetCameraManager()->GetCurrentCamera(mgr))) {
SCOPED_GRAPHICS_DEBUG_GROUP("CSamusFaceReflection::Draw", zeus::skBlue);
zeus::CQuaternion camRot(fpCam->GetTransform().basis);
float dist = ITweakGui::FaceReflectionDistanceDebugValueToActualValue(g_tweakGui->GetFaceReflectionDistance());
float height = ITweakGui::FaceReflectionHeightDebugValueToActualValue(g_tweakGui->GetFaceReflectionHeight());

View File

@@ -291,7 +291,7 @@ void CSamusHud::InitializeDamageLight() {
s16 parentId = x288_loadedSelectedHud->FindWidget("basewidget_pivot")->GetSelfId();
CGuiWidget::CGuiWidgetParms parms(x288_loadedSelectedHud, false, lightId, parentId, true, true, false,
g_tweakGuiColors->GetHudDamageLightColor(), CGuiWidget::EGuiModelDrawFlags::Alpha,
false, false);
false, false, "DamageSpotLight"s);
std::shared_ptr<CGuiLight> light = std::make_shared<CGuiLight>(
parms, CLight::BuildSpot(zeus::skZero3f, zeus::skForward, zeus::skWhite,
@@ -1382,6 +1382,7 @@ void CSamusHud::Draw(const CStateManager& mgr, float alpha, CInGameGuiManager::E
bool targetingManager) const {
if (x2bc_nextState == EHudState::None)
return;
SCOPED_GRAPHICS_DEBUG_GROUP("CSamusHud::Draw", zeus::skBlue);
x3a8_camFilter.Draw();
if (mgr.GetPlayer().GetMorphballTransitionState() == CPlayer::EPlayerMorphBallState::Unmorphed) {
DrawAttachedEnemyEffect(mgr);

View File

@@ -319,6 +319,7 @@ void CSaveGameScreen::SetUIColors() {
}
void CSaveGameScreen::Draw() const {
SCOPED_GRAPHICS_DEBUG_GROUP("CSaveGameScreen::Draw", zeus::skPurple);
if (x50_loadedFrame)
x50_loadedFrame->Draw(CGuiWidgetDrawParms::Default);
}

View File

@@ -134,6 +134,7 @@ void CSlideShow::SSlideData::Draw() const {
}
void CSlideShow::Draw() const {
SCOPED_GRAPHICS_DEBUG_GROUP("CSlideShow::Draw", zeus::skGreen);
if (x14_phase == Phase::Five) {
x5c_slideA.Draw();
x90_slideB.Draw();