From 4c5375c5532e519c1804f1291e6bdce17f0a308b Mon Sep 17 00:00:00 2001 From: Boondorl Date: Tue, 31 Dec 2024 13:03:48 -0500 Subject: [PATCH] Fixed coronas not respecting static portals --- src/rendering/hwrenderer/scene/hw_drawinfo.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/rendering/hwrenderer/scene/hw_drawinfo.cpp b/src/rendering/hwrenderer/scene/hw_drawinfo.cpp index b18664850..0a318b169 100644 --- a/src/rendering/hwrenderer/scene/hw_drawinfo.cpp +++ b/src/rendering/hwrenderer/scene/hw_drawinfo.cpp @@ -1045,8 +1045,7 @@ void HWDrawInfo::DrawCoronas(FRenderState& state) for (AActor* corona : Coronas) { auto& coronaFade = corona->specialf1; - auto cPos = corona->Vec3Offset(0., 0., corona->Height * 0.5); - DVector3 direction = Viewpoint.Pos - cPos; + DVector3 direction = Viewpoint.Pos - corona->PosRelative(Viewpoint.sector); double dist = direction.Length(); // skip coronas that are too far @@ -1057,7 +1056,7 @@ void HWDrawInfo::DrawCoronas(FRenderState& state) direction.MakeUnit(); FTraceResults results; - if (!Trace(cPos, corona->Sector, direction, dist, MF_SOLID, ML_BLOCKEVERYTHING, corona, results, 0, CheckForViewpointActor, &Viewpoint)) + if (!Trace(corona->Pos(), corona->Sector, direction, dist, MF_SOLID, ML_BLOCKEVERYTHING, corona, results, 0, CheckForViewpointActor, &Viewpoint)) { coronaFade = std::min(coronaFade + timeElapsed * fadeSpeed, 1.0); }