diff --git a/code/modules/lighting/lighting_corner.dm b/code/modules/lighting/lighting_corner.dm index 5dcbcd3c01..876b003cd5 100644 --- a/code/modules/lighting/lighting_corner.dm +++ b/code/modules/lighting/lighting_corner.dm @@ -53,7 +53,7 @@ T = get_step(new_turf, diagonal) if (T) // In case we're on the map's border. if (!T.corners) - T.corners = list(null, null, null, null) + T.corners = list(0,0,0,0) masters[T] = diagonal i = LIGHTING_CORNER_DIAGONAL.Find(turn(diagonal, 180)) @@ -63,7 +63,7 @@ T = get_step(new_turf, horizontal) if (T) // Ditto. if (!T.corners) - T.corners = list(null, null, null, null) + T.corners = list(0,0,0,0) masters[T] = ((T.x > x) ? EAST : WEST) | ((T.y > y) ? NORTH : SOUTH) // Get the dir based on coordinates. i = LIGHTING_CORNER_DIAGONAL.Find(turn(masters[T], 180)) @@ -73,7 +73,7 @@ T = get_step(new_turf, vertical) if (T) if (!T.corners) - T.corners = list(null, null, null, null) + T.corners = list(0,0,0,0) masters[T] = ((T.x > x) ? EAST : WEST) | ((T.y > y) ? NORTH : SOUTH) // Get the dir based on coordinates. i = LIGHTING_CORNER_DIAGONAL.Find(turn(masters[T], 180)) diff --git a/code/modules/lighting/lighting_source.dm b/code/modules/lighting/lighting_source.dm index e159209641..6f9c9747ed 100644 --- a/code/modules/lighting/lighting_source.dm +++ b/code/modules/lighting/lighting_source.dm @@ -262,10 +262,12 @@ effect_str.Cut() /datum/light_source/proc/recalc_corner(var/datum/lighting_corner/C) - if (effect_str.Find(C)) // Already have one. - REMOVE_CORNER(C) + if(!C) + return + if (effect_str.Find(C)) // Already have one. + REMOVE_CORNER(C) - APPLY_CORNER(C) + APPLY_CORNER(C) /datum/light_source/proc/smart_vis_update() var/list/datum/lighting_corner/corners = list() diff --git a/code/modules/lighting/lighting_turf.dm b/code/modules/lighting/lighting_turf.dm index bae6f502ae..5f15c5497e 100644 --- a/code/modules/lighting/lighting_turf.dm +++ b/code/modules/lighting/lighting_turf.dm @@ -47,6 +47,8 @@ if (!C.active) // We would activate the corner, calculate the lighting for it. for (var/L in C.affecting) var/datum/light_source/S = L + if(!S.source_turf) + continue S.recalc_corner(C) C.active = TRUE @@ -105,7 +107,7 @@ /turf/proc/generate_missing_corners() lighting_corners_initialised = TRUE if (!corners) - corners = list(null, null, null, null) + corners = list(0,0,0,0) for (var/i = 1 to 4) if (corners[i]) // Already have a corner on this direction. @@ -119,7 +121,7 @@ if (!lighting_corners_initialised) if (!corners) - corners = list(null, null, null, null) + corners = list(0,0,0,0) for (var/i = 1 to 4) if (corners[i]) // Already have a corner on this direction. diff --git a/config/lavaRuinBlacklist.txt b/config/lavaRuinBlacklist.txt index 8e94e37600..f1153c7b54 100644 --- a/config/lavaRuinBlacklist.txt +++ b/config/lavaRuinBlacklist.txt @@ -4,10 +4,10 @@ #SPECIFYING AN INVALID MAP WILL RESULT IN RUNTIMES ON GAME START ##BIODOMES -#_maps/RandomRuins/LavaRuins/lavaland_surface_biodome_winter.dmm -#_maps/RandomRuins/LavaRuins/lavaland__biodome_beach.dmm -#_maps/RandomRuins/LavaRuins/lavaland_biodome_clown_planet.dmm -#_maps/RandomRuins/LavaRuins/lavaland_surface_cube.dmm +_maps/RandomRuins/LavaRuins/lavaland_surface_biodome_winter.dmm +_maps/RandomRuins/LavaRuins/lavaland__biodome_beach.dmm +_maps/RandomRuins/LavaRuins/lavaland_biodome_clown_planet.dmm +_maps/RandomRuins/LavaRuins/lavaland_surface_cube.dmm ##RESPAWN #_maps/RandomRuins/LavaRuins/lavaland_surface_prisoner_crash.dmm @@ -16,20 +16,20 @@ #_maps/RandomRuins/LavaRuins/lavaland_surface_golem_ship.dmm ##SIN -#_maps/RandomRuins/LavaRuins/lavaland_surface_envy.dmm -#_maps/RandomRuins/LavaRuins/lavaland_surface_gluttony.dmm -#_maps/RandomRuins/LavaRuins/lavaland_surface_greed.dmm -#_maps/RandomRuins/LavaRuins/lavaland_surface_pride.dmm -#_maps/RandomRuins/LavaRuins/lavaland_surface_sloth.dmm +_maps/RandomRuins/LavaRuins/lavaland_surface_envy.dmm +_maps/RandomRuins/LavaRuins/lavaland_surface_gluttony.dmm +_maps/RandomRuins/LavaRuins/lavaland_surface_greed.dmm +_maps/RandomRuins/LavaRuins/lavaland_surface_pride.dmm +_maps/RandomRuins/LavaRuins/lavaland_surface_sloth.dmm ##MISC -#_maps/RandomRuins/LavaRuins/lavaland_surface_automated_trade_outpost.dmm -#_maps/RandomRuins/LavaRuins/lavaland_surface_ufo_crash.dmm -#_maps/RandomRuins/LavaRuins/lavaland_surface_ww_vault.dmm -#_maps/RandomRuins/LavaRuins/lavaland_surface_automated_trade_outpost.dmm -#_maps/RandomRuins/LavaRuins/lavaland_surface_xeno_nest.dmm -#_maps/RandomRuins/LavaRuins/lavaland_surface_animal_hospital.dmm -#_maps/RandomRuins/LavaRuins/lavaland_gym.dmm -#_maps/RandomRuins/LavaRuins/lavaland_surface_survivalpod.dmm -#_maps/RandomRuins/LavaRuins/lavaland_surface_wwiioutpost.dmm -#_maps/RandomRuins/LavaRuins/lavaland_surface_tomb.dmm +_maps/RandomRuins/LavaRuins/lavaland_surface_automated_trade_outpost.dmm +_maps/RandomRuins/LavaRuins/lavaland_surface_ufo_crash.dmm +_maps/RandomRuins/LavaRuins/lavaland_surface_ww_vault.dmm +_maps/RandomRuins/LavaRuins/lavaland_surface_automated_trade_outpost.dmm +_maps/RandomRuins/LavaRuins/lavaland_surface_xeno_nest.dmm +_maps/RandomRuins/LavaRuins/lavaland_surface_animal_hospital.dmm +_maps/RandomRuins/LavaRuins/lavaland_gym.dmm +_maps/RandomRuins/LavaRuins/lavaland_surface_survivalpod.dmm +_maps/RandomRuins/LavaRuins/lavaland_surface_wwiioutpost.dmm +_maps/RandomRuins/LavaRuins/lavaland_surface_tomb.dmm diff --git a/config/spaceRuinBlacklist.txt b/config/spaceRuinBlacklist.txt index aab421a297..e66b278b43 100644 --- a/config/spaceRuinBlacklist.txt +++ b/config/spaceRuinBlacklist.txt @@ -3,22 +3,22 @@ #A list of maps valid to blacklist can be found at _maps\RandomRuins\SpaceRuins\_maplisting.txt #SPECIFYING AN INVALID MAP WILL RESULT IN RUNTIMES ON GAME START -#_maps/RandomRuins/SpaceRuins/way_home.dmm -#_maps/RandomRuins/SpaceRuins/asteroid1.dmm -#_maps/RandomRuins/SpaceRuins/asteroid2.dmm -#_maps/RandomRuins/SpaceRuins/asteroid3.dmm -#_maps/RandomRuins/SpaceRuins/asteroid4.dmm -#_maps/RandomRuins/SpaceRuins/asteroid5.dmm -#_maps/RandomRuins/SpaceRuins/derelict1.dmm -#_maps/RandomRuins/SpaceRuins/derelict2.dmm -#_maps/RandomRuins/SpaceRuins/derelict3.dmm -#_maps/RandomRuins/SpaceRuins/derelict4.dmm -#_maps/RandomRuins/SpaceRuins/derelict5.dmm -#_maps/RandomRuins/SpaceRuins/spacebar.dmm -#_maps/RandomRuins/SpaceRuins/abandonedzoo.dmm -#_maps/RandomRuins/SpaceRuins/deepstorage.dmm -#_maps/RandomRuins/SpaceRuins/emptyshell.dmm -#_maps/RandomRuins/SpaceRuins/gasthelizards.dmm -#_maps/RandomRuins/SpaceRuins/intactemptyship.dmm -#_maps/RandomRuins/SpaceRuins/mechtransport.dmm -#_maps/RandomRuins/SpaceRuins/turretedoutpost.dmm \ No newline at end of file +_maps/RandomRuins/SpaceRuins/way_home.dmm +_maps/RandomRuins/SpaceRuins/asteroid1.dmm +_maps/RandomRuins/SpaceRuins/asteroid2.dmm +_maps/RandomRuins/SpaceRuins/asteroid3.dmm +_maps/RandomRuins/SpaceRuins/asteroid4.dmm +_maps/RandomRuins/SpaceRuins/asteroid5.dmm +_maps/RandomRuins/SpaceRuins/derelict1.dmm +_maps/RandomRuins/SpaceRuins/derelict2.dmm +_maps/RandomRuins/SpaceRuins/derelict3.dmm +_maps/RandomRuins/SpaceRuins/derelict4.dmm +_maps/RandomRuins/SpaceRuins/derelict5.dmm +_maps/RandomRuins/SpaceRuins/spacebar.dmm +_maps/RandomRuins/SpaceRuins/abandonedzoo.dmm +_maps/RandomRuins/SpaceRuins/deepstorage.dmm +_maps/RandomRuins/SpaceRuins/emptyshell.dmm +_maps/RandomRuins/SpaceRuins/gasthelizards.dmm +_maps/RandomRuins/SpaceRuins/intactemptyship.dmm +_maps/RandomRuins/SpaceRuins/mechtransport.dmm +_maps/RandomRuins/SpaceRuins/turretedoutpost.dmm \ No newline at end of file diff --git a/html/changelogs/Jay-PR-2.yml b/html/changelogs/Jay-PR-2.yml new file mode 100644 index 0000000000..1da38c53ce --- /dev/null +++ b/html/changelogs/Jay-PR-2.yml @@ -0,0 +1,35 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# spellcheck (typo fixes) +# experiment +################################# + +# Your name. +author: "Jay" + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - bugfix "Fixes null read errors on lighting. (Hopefully. I haven't been able to extensively test this alone.)"