Make coronas array global
Correctly collect all coronas to be drawn across all view points
This commit is contained in:
parent
616d201dfc
commit
3a179ec1c6
4 changed files with 6 additions and 3 deletions
|
|
@ -59,6 +59,7 @@ CVAR(Bool, gl_raytrace, false, 0/*CVAR_ARCHIVE | CVAR_GLOBALCONFIG*/)
|
|||
extern bool NoInterpolateView;
|
||||
|
||||
static SWSceneDrawer *swdrawer;
|
||||
TArray<AActor*> Coronas;
|
||||
|
||||
void CleanSWDrawer()
|
||||
{
|
||||
|
|
@ -333,6 +334,7 @@ static void CheckTimer(FRenderState &state, uint64_t ShaderStartTime)
|
|||
|
||||
sector_t* RenderView(player_t* player)
|
||||
{
|
||||
Coronas.Clear();
|
||||
auto RenderState = screen->RenderState();
|
||||
RenderState->SetFlatVertexBuffer();
|
||||
RenderState->ResetVertices();
|
||||
|
|
|
|||
|
|
@ -69,6 +69,8 @@ CVAR(Bool, gl_coronas, true, CVAR_ARCHIVE);
|
|||
|
||||
CVAR(Bool, gl_levelmesh, false, 0/*CVAR_ARCHIVE | CVAR_GLOBALCONFIG*/)
|
||||
|
||||
extern TArray<AActor*> Coronas;
|
||||
|
||||
sector_t * hw_FakeFlat(sector_t * sec, sector_t * dest, area_t in_area, bool back);
|
||||
|
||||
|
||||
|
|
@ -136,7 +138,6 @@ void HWDrawInfo::StartScene(FRenderViewpoint &parentvp, HWViewpointUniforms *uni
|
|||
|
||||
for (int i = 0; i < GLDL_TYPES; i++) drawlists[i].Reset();
|
||||
hudsprites.Clear();
|
||||
Coronas.Clear();
|
||||
Fogballs.Clear();
|
||||
VisibleTiles.Clear();
|
||||
visibleDyn = 0;
|
||||
|
|
|
|||
|
|
@ -155,7 +155,6 @@ 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<AActor*> Coronas;
|
||||
TArray<Fogball> Fogballs;
|
||||
TArray<LightmapTile*> VisibleTiles;
|
||||
unsigned visibleDyn;
|
||||
|
|
|
|||
|
|
@ -64,6 +64,7 @@
|
|||
extern TArray<spritedef_t> sprites;
|
||||
extern TArray<spriteframe_t> SpriteFrames;
|
||||
extern uint32_t r_renderercaps;
|
||||
extern TArray<AActor*> Coronas;
|
||||
|
||||
const float LARGE_VALUE = 1e19f;
|
||||
const float MY_SQRT2 = 1.41421356237309504880; // sqrt(2)
|
||||
|
|
@ -843,7 +844,7 @@ void HWSprite::Process(HWDrawInfo *di, FRenderState& state, AActor* thing, secto
|
|||
|
||||
if (thing->IsKindOf(NAME_Corona))
|
||||
{
|
||||
di->Coronas.Push(thing);
|
||||
Coronas.Push(thing);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue