fix coronas
This commit is contained in:
parent
4665f8ff79
commit
fb4667b9bb
3 changed files with 7 additions and 8 deletions
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -150,7 +150,7 @@ struct HWDrawInfo
|
|||
TArray<HWPortal *> Portals;
|
||||
TArray<HWDecal *> Decals[2]; // the second slot is for mirrors which get rendered in a separate pass.
|
||||
TArray<HUDSprite> hudsprites; // These may just be stored by value.
|
||||
TArray<std::pair<AActor*, float>> Coronas;
|
||||
TArray<AActor*> Coronas;
|
||||
TArray<LevelMeshSurface*> VisibleSurfaces;
|
||||
uint64_t LastFrameTime = 0;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue