diff --git a/src/rendering/hwrenderer/scene/hw_drawinfo.cpp b/src/rendering/hwrenderer/scene/hw_drawinfo.cpp index 093a4a2bd..6163e16fd 100644 --- a/src/rendering/hwrenderer/scene/hw_drawinfo.cpp +++ b/src/rendering/hwrenderer/scene/hw_drawinfo.cpp @@ -654,10 +654,9 @@ void HWDrawInfo::DrawCoronas(FRenderState& state) float timeElapsed = (screen->FrameTime - LastFrameTime) / 1000.0f; LastFrameTime = screen->FrameTime; - for (auto& coronap : Coronas) + for (AActor* corona : Coronas) { - auto corona = coronap.first; - auto& coronaFade = coronap.second; + auto& coronaFade = corona->specialf1; auto cPos = corona->Vec3Offset(0., 0., corona->Height * 0.5); DVector3 direction = Viewpoint.Pos - cPos; double dist = direction.Length(); @@ -672,15 +671,15 @@ void HWDrawInfo::DrawCoronas(FRenderState& state) FTraceResults results; if (!Trace(cPos, corona->Sector, direction, dist, MF_SOLID, ML_BLOCKEVERYTHING, corona, results, 0, CheckForViewpointActor, &Viewpoint)) { - coronaFade = std::min(coronaFade + timeElapsed * fadeSpeed, 1.0f); + coronaFade = std::min(coronaFade + timeElapsed * fadeSpeed, 1.0); } else { - coronaFade = std::max(coronaFade - timeElapsed * fadeSpeed, 0.0f); + coronaFade = std::max(coronaFade - timeElapsed * fadeSpeed, 0.0); } if (coronaFade > 0.0f) - DrawCorona(state, corona, coronaFade, dist); + DrawCorona(state, corona, (float)coronaFade, dist); } state.SetTextureMode(TM_NORMAL); diff --git a/src/rendering/hwrenderer/scene/hw_drawinfo.h b/src/rendering/hwrenderer/scene/hw_drawinfo.h index 8ef0155e3..5466ffca7 100644 --- a/src/rendering/hwrenderer/scene/hw_drawinfo.h +++ b/src/rendering/hwrenderer/scene/hw_drawinfo.h @@ -150,7 +150,7 @@ struct HWDrawInfo TArray Portals; TArray Decals[2]; // the second slot is for mirrors which get rendered in a separate pass. TArray hudsprites; // These may just be stored by value. - TArray> Coronas; + TArray Coronas; TArray VisibleSurfaces; uint64_t LastFrameTime = 0; diff --git a/src/rendering/hwrenderer/scene/hw_sprites.cpp b/src/rendering/hwrenderer/scene/hw_sprites.cpp index 0ad807a3e..11b1b4de9 100644 --- a/src/rendering/hwrenderer/scene/hw_sprites.cpp +++ b/src/rendering/hwrenderer/scene/hw_sprites.cpp @@ -756,7 +756,7 @@ void HWSprite::Process(HWDrawInfo *di, FRenderState& state, AActor* thing, secto if (thing->IsKindOf(NAME_Corona)) { - di->Coronas.Push(std::make_pair(thing, 0)); + di->Coronas.Push(thing); return; }