Lighting optimizations.

Less lists, more optimized for() loops, more turf ref usage, better turf ref handling when the resolution is 1, pooling for lighting overlays
This commit is contained in:
PJB3005
2015-06-07 22:32:36 +02:00
parent 7f3c0f88b1
commit 9eaa5b6c76
14 changed files with 151 additions and 59 deletions

View File

@@ -14,14 +14,14 @@
A = T.loc
if(A.lighting_use_dynamic)
#if LIGHTING_RESOLUTION == 1
var/atom/movable/lighting_overlay/O = new(T)
var/atom/movable/lighting_overlay/O = getFromPool(/atom/movable/lighting_overlay, T)
O.icon_state = state
all_lighting_overlays |= O
T.lighting_overlays |= O
T.lighting_overlay = O
#else
for(var/i = 0; i < LIGHTING_RESOLUTION; i++)
for(var/j = 0; j < LIGHTING_RESOLUTION; j++)
var/atom/movable/lighting_overlay/O = new(T)
var/atom/movable/lighting_overlay/O = getFromPool(/atom/movable/lighting_overlay, T)
O.pixel_x = i * (32 / LIGHTING_RESOLUTION)
O.pixel_y = j * (32 / LIGHTING_RESOLUTION)
O.xoffset = (((2*i + 1) / (LIGHTING_RESOLUTION * 2)) - 0.5)
@@ -38,14 +38,14 @@
A = T.loc
if(A.lighting_use_dynamic)
#if LIGHTING_RESOLUTION == 1
var/atom/movable/lighting_overlay/O = new(T)
var/atom/movable/lighting_overlay/O = getFromPool(/atom/movable/lighting_overlay, T)
O.icon_state = state
all_lighting_overlays |= O
T.lighting_overlays |= O
T.lighting_overlay = O
#else
for(var/i = 0; i < LIGHTING_RESOLUTION; i++)
for(var/j = 0; j < LIGHTING_RESOLUTION; j++)
var/atom/movable/lighting_overlay/O = new(T)
var/atom/movable/lighting_overlay/O = getFromPool(/atom/movable/lighting_overlay, T)
O.pixel_x = i * (32 / LIGHTING_RESOLUTION)
O.pixel_y = j * (32 / LIGHTING_RESOLUTION)
O.xoffset = (((2*i + 1) / (LIGHTING_RESOLUTION * 2)) - 0.5)