From 474294466a6042390a387ecf432d6bcde4bd0b41 Mon Sep 17 00:00:00 2001 From: "elly1989@rocketmail.com" Date: Sun, 26 Aug 2012 17:50:29 +0000 Subject: [PATCH] Fixes a really stupid mistake where a sleep() was causing the explosion() proc to end after the sleep due to src being null. This meant that the lighting process was turned off but never turned back on. It also meant powernets were deferred permanently :( sorry. Reduced the Login delay for new_players. It stays because it protects against rapid connect/disconnects sending resources repeatedly, it's just a lot less annoying now. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4554 316c924e-a436-60f5-8080-3fe189b3f50e --- code/controllers/lighting_controller.dm | 8 +-- code/game/objects/explosion.dm | 20 +++--- code/modules/mob/new_player/login.dm | 93 ++++++++++++------------- 3 files changed, 59 insertions(+), 62 deletions(-) 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