mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-10 14:51:40 +00:00
- do not run the dynamic light ticker when lights are switched off.
This commit is contained in:
parent
f662c629e3
commit
3adadfe4d3
3 changed files with 10 additions and 6 deletions
|
@ -25,7 +25,6 @@
|
|||
#include "hw_dynlightdata.h"
|
||||
#include "buffers.h"
|
||||
#include "shaderuniforms.h"
|
||||
#include "g_cvars.h"
|
||||
#include "hwrenderer/postprocessing/hw_postprocess.h"
|
||||
|
||||
/*
|
||||
|
|
|
@ -279,6 +279,7 @@ extern DFrameBuffer *screen;
|
|||
#define SCREENPITCH (screen->GetPitch ())
|
||||
|
||||
EXTERN_CVAR (Float, vid_gamma)
|
||||
EXTERN_CVAR(Bool, gl_lights)
|
||||
|
||||
|
||||
// Allocates buffer screens, call before R_Init.
|
||||
|
|
|
@ -42,6 +42,7 @@
|
|||
#include "v_text.h"
|
||||
#include "g_levellocals.h"
|
||||
#include "a_dynlight.h"
|
||||
#include "v_video.h"
|
||||
|
||||
|
||||
static int ThinkCount;
|
||||
|
@ -124,11 +125,14 @@ void FThinkerCollection::RunThinkers(FLevelLocals *Level)
|
|||
}
|
||||
} while (count != 0);
|
||||
|
||||
for (auto light = Level->lights; light;)
|
||||
if (gl_lights)
|
||||
{
|
||||
auto next = light->next;
|
||||
light->Tick();
|
||||
light = next;
|
||||
for (auto light = Level->lights; light;)
|
||||
{
|
||||
auto next = light->next;
|
||||
light->Tick();
|
||||
light = next;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -150,7 +154,7 @@ void FThinkerCollection::RunThinkers(FLevelLocals *Level)
|
|||
}
|
||||
} while (count != 0);
|
||||
|
||||
if (Level->lights)
|
||||
if (Level->lights && gl_lights)
|
||||
{
|
||||
// Also profile the internal dynamic lights, even though they are not implemented as thinkers.
|
||||
auto &prof = Profiles[NAME_InternalDynamicLight];
|
||||
|
|
Loading…
Reference in a new issue