diff --git a/Runtime/Graphics/Shaders/CModelShadersGLSL.cpp b/Runtime/Graphics/Shaders/CModelShadersGLSL.cpp index 4b5c97a30..a29e2675d 100644 --- a/Runtime/Graphics/Shaders/CModelShadersGLSL.cpp +++ b/Runtime/Graphics/Shaders/CModelShadersGLSL.cpp @@ -202,9 +202,9 @@ CModelShaders::GetShaderExtensionsGLSL(boo::IGraphicsDataFactory::Platform plat) /* Forced additive shading */ ext.registerExtensionSlot({LightingGLSL, "LightingFunc"}, {MainPostGLSL, "MainPostFunc"}, - 3, BlockNames, 0, nullptr, hecl::Backend::BlendFactor::One, + 3, BlockNames, 0, nullptr, hecl::Backend::BlendFactor::SrcAlpha, hecl::Backend::BlendFactor::One, hecl::Backend::ZTest::Original, - false, false, false, true); + false, true, false, true); /* Solid color */ ext.registerExtensionSlot({}, {SolidPostGLSL, "SolidPostFunc"}, diff --git a/Runtime/Graphics/Shaders/CModelShadersHLSL.cpp b/Runtime/Graphics/Shaders/CModelShadersHLSL.cpp index eaf3c2690..5526f7d0f 100644 --- a/Runtime/Graphics/Shaders/CModelShadersHLSL.cpp +++ b/Runtime/Graphics/Shaders/CModelShadersHLSL.cpp @@ -185,9 +185,9 @@ CModelShaders::GetShaderExtensionsHLSL(boo::IGraphicsDataFactory::Platform plat) /* Forced additive shading */ ext.registerExtensionSlot({LightingHLSL, "LightingFunc"}, {MainPostHLSL, "MainPostFunc"}, - 0, nullptr, 0, nullptr, hecl::Backend::BlendFactor::One, + 0, nullptr, 0, nullptr, hecl::Backend::BlendFactor::SrcAlpha, hecl::Backend::BlendFactor::One, hecl::Backend::ZTest::Original, - false, false, false, true); + false, true, false, true); /* Solid color */ ext.registerExtensionSlot({}, {SolidPostHLSL, "SolidPostFunc"}, diff --git a/Runtime/Graphics/Shaders/CModelShadersMetal.cpp b/Runtime/Graphics/Shaders/CModelShadersMetal.cpp index 27ae6f559..dbd2baba5 100644 --- a/Runtime/Graphics/Shaders/CModelShadersMetal.cpp +++ b/Runtime/Graphics/Shaders/CModelShadersMetal.cpp @@ -192,9 +192,9 @@ CModelShaders::GetShaderExtensionsMetal(boo::IGraphicsDataFactory::Platform plat /* Forced additive shading */ ext.registerExtensionSlot({LightingMetal, "LightingFunc"}, {MainPostMetal, "MainPostFunc"}, - 1, BlockNames, 0, nullptr, hecl::Backend::BlendFactor::One, + 1, BlockNames, 0, nullptr, hecl::Backend::BlendFactor::SrcAlpha, hecl::Backend::BlendFactor::One, hecl::Backend::ZTest::Original, - false, false, false, true); + false, true, false, true); /* Solid color */ ext.registerExtensionSlot({}, {SolidPostMetal, "SolidPostFunc"}, diff --git a/Runtime/MP1/CInGameGuiManager.cpp b/Runtime/MP1/CInGameGuiManager.cpp index 590ef0caa..3c634eab4 100644 --- a/Runtime/MP1/CInGameGuiManager.cpp +++ b/Runtime/MP1/CInGameGuiManager.cpp @@ -295,7 +295,7 @@ bool CInGameGuiManager::CheckLoadComplete(CStateManager& stateMgr) zeus::CVector3f(0.f, 2.f, g_tweakAutoMapper->GetCamVerticalOffset()); zeus::CMatrix3f mtx(x170_camRotate); - x18c_camXf = zeus::CTransform(mtx, x180_camOffset); + x18c_mapCamXf = zeus::CTransform(mtx, x180_camOffset); BeginStateTransition(EInGameGuiState::InGame, stateMgr); x18_loadPhase = ELoadPhase::Done; @@ -353,14 +353,14 @@ void CInGameGuiManager::UpdateAutoMapper(float dt, const CStateManager& stateMgr { x148_model_automapper->SetO2WTransform( zeus::CTransform(x170_camRotate, x180_camOffset) * zeus::CTransform::Scale(scaleX, 1.f, scaleZ)); - x18c_camXf = zeus::CTransform(x170_camRotate, x180_camOffset) * + x18c_mapCamXf = zeus::CTransform(x170_camRotate, x180_camOffset) * zeus::CTransform::Scale(frameLength, 1.f, frameLength); x148_model_automapper->SetColor(g_tweakAutoMapper->GetAutomapperWidgetColor()); } else if (x38_autoMapper->IsFullyInMiniMapState()) { x148_model_automapper->SetO2WTransform(zeus::CTransform(x154_automapperRotate, x164_automapperOffset)); - x18c_camXf = x148_model_automapper->GetWorldTransform(); + x18c_mapCamXf = x148_model_automapper->GetWorldTransform(); x148_model_automapper->SetColor(g_tweakAutoMapper->GetAutomapperWidgetMiniColor()); } else @@ -371,9 +371,11 @@ void CInGameGuiManager::UpdateAutoMapper(float dt, const CStateManager& stateMgr else t = 1.f - x38_autoMapper->GetInterp(); float st = t * (frameLength - 1.f) + 1.f; - x148_model_automapper->SetO2WTransform(zeus::CTransform( - zeus::CQuaternion::slerp(x154_automapperRotate, x170_camRotate, t), - x164_automapperOffset * (1.f - t) + x180_camOffset * t) * zeus::CTransform::Scale(st, 1.f, st)); + zeus::CQuaternion rotate = zeus::CQuaternion::slerp(x154_automapperRotate, x170_camRotate, t); + zeus::CVector3f offset = x164_automapperOffset * (1.f - t) + x180_camOffset * t; + x18c_mapCamXf = zeus::CTransform(rotate, offset) * zeus::CTransform::Scale(st, 1.f, st); + x148_model_automapper->SetO2WTransform(zeus::CTransform(rotate, offset) * + zeus::CTransform::Scale(t * (scaleX - 1.f) + 1.f, 1.f, t * (scaleZ - 1.f) + 1.f)); x148_model_automapper->SetColor(zeus::CColor::lerp(g_tweakAutoMapper->GetAutomapperWidgetMiniColor(), g_tweakAutoMapper->GetAutomapperWidgetColor(), t)); } @@ -650,7 +652,7 @@ void CInGameGuiManager::Draw(CStateManager& stateMgr) x148_model_automapper->SetIsVisible(true); x148_model_automapper->Draw(CGuiWidgetDrawParms(1.f, zeus::CVector3f::skZero)); // ZTest no write - x38_autoMapper->Draw(stateMgr, zeus::CTransform::Translate(0.f, 0.02f, 0.f) * x18c_camXf, + x38_autoMapper->Draw(stateMgr, zeus::CTransform::Translate(0.f, 0.02f, 0.f) * x18c_mapCamXf, mapAlpha * x1f4_visorStaticAlpha * t); // Zest and write x148_model_automapper->SetIsVisible(false); diff --git a/Runtime/MP1/CInGameGuiManager.hpp b/Runtime/MP1/CInGameGuiManager.hpp index caf37bee0..cdf0ad126 100644 --- a/Runtime/MP1/CInGameGuiManager.hpp +++ b/Runtime/MP1/CInGameGuiManager.hpp @@ -85,7 +85,7 @@ private: zeus::CVector3f x164_automapperOffset; zeus::CQuaternion x170_camRotate; zeus::CVector3f x180_camOffset; - zeus::CTransform x18c_camXf; + zeus::CTransform x18c_mapCamXf; EInGameGuiState x1bc_prevState = EInGameGuiState::Zero; EInGameGuiState x1c0_nextState = EInGameGuiState::Zero; SOnScreenTex x1c4_onScreenTex;