mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-21 15:42:35 +00:00
Inline some lighting stuff (#2929)
Inlines some really frequently called lighting procs, maybe will speed up lighting updates a bit.
This commit is contained in:
@@ -328,6 +328,7 @@
|
||||
var/thing
|
||||
var/datum/lighting_corner/C
|
||||
var/turf/T
|
||||
var/list/Tcorners
|
||||
var/Sx = source_turf.x
|
||||
var/Sy = source_turf.y
|
||||
|
||||
@@ -336,7 +337,23 @@
|
||||
if (light_angle && check_light_cone(T.x, T.y))
|
||||
continue
|
||||
|
||||
for (thing in T.get_corners())
|
||||
if (T.dynamic_lighting || T.light_sources)
|
||||
Tcorners = T.corners
|
||||
if (!T.lighting_corners_initialised)
|
||||
T.lighting_corners_initialised = TRUE
|
||||
|
||||
if (!Tcorners)
|
||||
T.corners = list(null, null, null, null)
|
||||
Tcorners = T.corners
|
||||
|
||||
for (var/i = 1 to 4)
|
||||
if (Tcorners[i])
|
||||
continue
|
||||
|
||||
Tcorners[i] = new /datum/lighting_corner(T, LIGHTING_CORNER_DIAGONAL[i])
|
||||
|
||||
if (!T.has_opaque_atom)
|
||||
for (thing in Tcorners)
|
||||
C = thing
|
||||
corners[C] = 0
|
||||
|
||||
|
||||
@@ -61,6 +61,7 @@
|
||||
var/datum/lighting_corner/C
|
||||
var/turf/T
|
||||
var/Tthing
|
||||
var/list/Tcorners
|
||||
var/Sx = source_turf.x
|
||||
var/Sy = source_turf.y
|
||||
|
||||
@@ -68,7 +69,24 @@
|
||||
for (Tthing in RANGE_TURFS(Ceiling(light_range), source_turf))
|
||||
T = Tthing
|
||||
check_t:
|
||||
for (thing in T.get_corners())
|
||||
|
||||
if (T.dynamic_lighting || T.light_sources)
|
||||
Tcorners = T.corners
|
||||
if (!T.lighting_corners_initialised)
|
||||
T.lighting_corners_initialised = TRUE
|
||||
|
||||
if (!Tcorners)
|
||||
T.corners = list(null, null, null, null)
|
||||
Tcorners = T.corners
|
||||
|
||||
for (var/i = 1 to 4)
|
||||
if (Tcorners[i])
|
||||
continue
|
||||
|
||||
Tcorners[i] = new /datum/lighting_corner(T, LIGHTING_CORNER_DIAGONAL[i])
|
||||
|
||||
if (!T.has_opaque_atom)
|
||||
for (thing in Tcorners)
|
||||
C = thing
|
||||
corners[C] = 0
|
||||
|
||||
|
||||
@@ -148,6 +148,8 @@
|
||||
else
|
||||
lighting_clear_overlay()
|
||||
|
||||
// This is inlined in lighting_source.dm and lighting_source_novis.dm.
|
||||
// Update them too if you change this.
|
||||
/turf/proc/get_corners()
|
||||
if (!dynamic_lighting && !light_sources)
|
||||
return null
|
||||
@@ -160,6 +162,8 @@
|
||||
|
||||
return corners
|
||||
|
||||
// This is inlined in lighting_source.dm and lighting_source_novis.dm.
|
||||
// Update them too if you change this.
|
||||
/turf/proc/generate_missing_corners()
|
||||
if (!dynamic_lighting && !light_sources)
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user