diff --git a/code/controllers/lighting_controller.dm b/code/controllers/lighting_controller.dm index d67f9fb31a1..b21b1cc6378 100644 --- a/code/controllers/lighting_controller.dm +++ b/code/controllers/lighting_controller.dm @@ -2,7 +2,7 @@ var/datum/controller/lighting/lighting_controller = new () datum/controller/lighting var/processing = 0 - var/processing_interval = 4 //setting this too low will probably kill the server. Don't be silly with it! + var/processing_interval = 5 //setting this too low will probably kill the server. Don't be silly with it! var/process_cost = 0 var/iteration = 0 @@ -26,10 +26,10 @@ datum/controller/lighting/proc/process() spawn(0) set background = 1 while(1) - var/started = world.timeofday - if(processing) iteration++ + var/started = world.timeofday + lights_workload_max = max(lights_workload_max,lights.len) for(var/i=1, i<=lights.len, i++) var/datum/light_source/L = lights[i] @@ -46,7 +46,7 @@ datum/controller/lighting/proc/process() T.shift_to_subarea() changed_turfs.Cut() // reset the changed list - process_cost = (world.timeofday - started) + process_cost = (world.timeofday - started) sleep(processing_interval) diff --git a/code/game/objects/explosion.dm b/code/game/objects/explosion.dm index bd62085c2fd..626953c33d9 100644 --- a/code/game/objects/explosion.dm +++ b/code/game/objects/explosion.dm @@ -8,6 +8,7 @@ proc/explosion(turf/epicenter, devastation_range, heavy_impact_range, light_impact_range, flash_range, adminlog = 1) + src = null spawn(0) var/start = world.timeofday epicenter = get_turf(epicenter) @@ -39,24 +40,21 @@ proc/explosion(turf/epicenter, devastation_range, heavy_impact_range, light_impa for(var/turf/T in range(epicenter, max(devastation_range, heavy_impact_range, light_impact_range))) var/dist = cheap_pythag(T.x - x0,T.y - y0) - if(dist < devastation_range) - dist = 1 - else if(dist < heavy_impact_range) - dist = 2 - else if(dist < light_impact_range) - dist = 3 - else - continue + if(dist < devastation_range) dist = 1 + else if(dist < heavy_impact_range) dist = 2 + else if(dist < light_impact_range) dist = 3 + else continue T.ex_act(dist) if(T) - for(var/atom/object in T.contents) - object.ex_act(dist) + for(var/atom_movable in T.contents) + var/atom/movable/AM = atom_movable + AM.ex_act(dist) //here util we get explosions to be less laggy, might help us identify issues after changes to splosions (because let's face it we've had a few) world.log << "## DEBUG: Explosion([x0],[y0],[z0])(d[devastation_range],h[heavy_impact_range],l[light_impact_range]): Took [(world.timeofday-start)/10] seconds." - sleep(10) + sleep(8) if(!lighting_controller.processing) lighting_controller.processing = lighting_controller_was_processing if(!powernet_rebuild_was_deferred_already) diff --git a/code/modules/mob/new_player/login.dm b/code/modules/mob/new_player/login.dm index 6517aabe63e..603d58473e1 100644 --- a/code/modules/mob/new_player/login.dm +++ b/code/modules/mob/new_player/login.dm @@ -31,7 +31,7 @@ - spawn(60) + spawn(30) if(client) if(!preferences.savefile_load(src, 0)) preferences.ShowChoices(src) @@ -50,50 +50,49 @@ new_player_panel() if(preferences.lobby_music) Playmusic() - //PDA Resource Initialisation =======================================================> - /* - Quick note: local dream daemon instances don't seem to cache images right. Might be - a local problem with my machine but it's annoying nontheless. - */ - if(client) - //load the PDA iconset into the client - src << browse_rsc('icons/pda_icons/pda_atmos.png') - src << browse_rsc('icons/pda_icons/pda_back.png') - src << browse_rsc('icons/pda_icons/pda_bell.png') - src << browse_rsc('icons/pda_icons/pda_blank.png') - src << browse_rsc('icons/pda_icons/pda_boom.png') - src << browse_rsc('icons/pda_icons/pda_bucket.png') - src << browse_rsc('icons/pda_icons/pda_crate.png') - src << browse_rsc('icons/pda_icons/pda_cuffs.png') - src << browse_rsc('icons/pda_icons/pda_eject.png') - src << browse_rsc('icons/pda_icons/pda_exit.png') - src << browse_rsc('icons/pda_icons/pda_flashlight.png') - src << browse_rsc('icons/pda_icons/pda_honk.png') - src << browse_rsc('icons/pda_icons/pda_mail.png') - src << browse_rsc('icons/pda_icons/pda_medical.png') - src << browse_rsc('icons/pda_icons/pda_menu.png') - src << browse_rsc('icons/pda_icons/pda_mule.png') - src << browse_rsc('icons/pda_icons/pda_notes.png') - src << browse_rsc('icons/pda_icons/pda_power.png') - src << browse_rsc('icons/pda_icons/pda_rdoor.png') - src << browse_rsc('icons/pda_icons/pda_reagent.png') - src << browse_rsc('icons/pda_icons/pda_refresh.png') - src << browse_rsc('icons/pda_icons/pda_scanner.png') - src << browse_rsc('icons/pda_icons/pda_signaler.png') - src << browse_rsc('icons/pda_icons/pda_status.png') - //Loads icons for SpiderOS into client - src << browse_rsc('icons/spideros_icons/sos_1.png') - src << browse_rsc('icons/spideros_icons/sos_2.png') - src << browse_rsc('icons/spideros_icons/sos_3.png') - src << browse_rsc('icons/spideros_icons/sos_4.png') - src << browse_rsc('icons/spideros_icons/sos_5.png') - src << browse_rsc('icons/spideros_icons/sos_6.png') - src << browse_rsc('icons/spideros_icons/sos_7.png') - src << browse_rsc('icons/spideros_icons/sos_8.png') - src << browse_rsc('icons/spideros_icons/sos_9.png') - src << browse_rsc('icons/spideros_icons/sos_10.png') - src << browse_rsc('icons/spideros_icons/sos_11.png') - src << browse_rsc('icons/spideros_icons/sos_12.png') - src << browse_rsc('icons/spideros_icons/sos_13.png') - src << browse_rsc('icons/spideros_icons/sos_14.png') + //PDA Resource Initialisation =======================================================> + /* + Quick note: local dream daemon instances don't seem to cache images right. Might be + a local problem with my machine but it's annoying nontheless. + */ + //load the PDA iconset into the client + src << browse_rsc('icons/pda_icons/pda_atmos.png') + src << browse_rsc('icons/pda_icons/pda_back.png') + src << browse_rsc('icons/pda_icons/pda_bell.png') + src << browse_rsc('icons/pda_icons/pda_blank.png') + src << browse_rsc('icons/pda_icons/pda_boom.png') + src << browse_rsc('icons/pda_icons/pda_bucket.png') + src << browse_rsc('icons/pda_icons/pda_crate.png') + src << browse_rsc('icons/pda_icons/pda_cuffs.png') + src << browse_rsc('icons/pda_icons/pda_eject.png') + src << browse_rsc('icons/pda_icons/pda_exit.png') + src << browse_rsc('icons/pda_icons/pda_flashlight.png') + src << browse_rsc('icons/pda_icons/pda_honk.png') + src << browse_rsc('icons/pda_icons/pda_mail.png') + src << browse_rsc('icons/pda_icons/pda_medical.png') + src << browse_rsc('icons/pda_icons/pda_menu.png') + src << browse_rsc('icons/pda_icons/pda_mule.png') + src << browse_rsc('icons/pda_icons/pda_notes.png') + src << browse_rsc('icons/pda_icons/pda_power.png') + src << browse_rsc('icons/pda_icons/pda_rdoor.png') + src << browse_rsc('icons/pda_icons/pda_reagent.png') + src << browse_rsc('icons/pda_icons/pda_refresh.png') + src << browse_rsc('icons/pda_icons/pda_scanner.png') + src << browse_rsc('icons/pda_icons/pda_signaler.png') + src << browse_rsc('icons/pda_icons/pda_status.png') + //Loads icons for SpiderOS into client + src << browse_rsc('icons/spideros_icons/sos_1.png') + src << browse_rsc('icons/spideros_icons/sos_2.png') + src << browse_rsc('icons/spideros_icons/sos_3.png') + src << browse_rsc('icons/spideros_icons/sos_4.png') + src << browse_rsc('icons/spideros_icons/sos_5.png') + src << browse_rsc('icons/spideros_icons/sos_6.png') + src << browse_rsc('icons/spideros_icons/sos_7.png') + src << browse_rsc('icons/spideros_icons/sos_8.png') + src << browse_rsc('icons/spideros_icons/sos_9.png') + src << browse_rsc('icons/spideros_icons/sos_10.png') + src << browse_rsc('icons/spideros_icons/sos_11.png') + src << browse_rsc('icons/spideros_icons/sos_12.png') + src << browse_rsc('icons/spideros_icons/sos_13.png') + src << browse_rsc('icons/spideros_icons/sos_14.png') //End PDA Resource Initialisation =====================================================> \ No newline at end of file