From be1048e170275b335312e749d5ca9717b8ebc384 Mon Sep 17 00:00:00 2001 From: "n3ophyt3@gmail.com" Date: Sat, 26 Feb 2011 20:18:11 +0000 Subject: [PATCH] Experimental new master_controller settings. They appear to not cause massive clusterfuckery on my test server, but the changes will likely behave differently on the live server. Given that this could very well cause total fuckups, it is not the default compile option. If we want to give the new settings a try, UNCHECK code/game/master_controller.dm, then CHECk code/game/master_controller2.dm, and compile. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1139 316c924e-a436-60f5-8080-3fe189b3f50e --- code/game/master_controller2.dm | 120 ++++++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) create mode 100644 code/game/master_controller2.dm diff --git a/code/game/master_controller2.dm b/code/game/master_controller2.dm new file mode 100644 index 00000000000..85431645891 --- /dev/null +++ b/code/game/master_controller2.dm @@ -0,0 +1,120 @@ +var/global/datum/controller/game_controller/master_controller //Set in world.New() +var/global/controllernum = "no" +var/global/controlleriteration = 0 + +datum/controller/game_controller + var/processing = 1 + + proc + setup() + setup_objects() + process() + + setup() + if(master_controller && (master_controller != src)) + del(src) + return + //There can be only one master. + + if(!air_master) + air_master = new /datum/controller/air_system() + air_master.setup() + + world.tick_lag = 0.9 + + setup_objects() + + setupgenetics() + + setupcorpses() + + emergency_shuttle = new /datum/shuttle_controller/emergency_shuttle() + + if(!ticker) + ticker = new /datum/controller/gameticker() + + spawn + ticker.pregame() + + setup_objects() + world << "\red \b Initializing objects" + sleep(-1) + + for(var/obj/object in world) + object.initialize() + + world << "\red \b Initializing pipe networks" + sleep(-1) + + for(var/obj/machinery/atmospherics/machine in world) + machine.build_network() + + /*world << "\red \b Initializing atmos machinery" + sleep(-1) + + find_air_alarms()*/ + + world << "\red \b Initializations complete." + + + process() + + if(!processing) + return 0 + //world << "Processing" + controllernum = "yes" + spawn (100) controllernum = "no" + controlleriteration++ + + var/start_time = world.timeofday + + if (controlleriteration%2==1) //make the atmos processing only happen every other tick) + air_master.process() + + sleep(1) + + sun.calc_position() + + sleep(-1) + + for(var/mob/M in world) + if (M.metabslow) + if (controlleriteration%10==1) // For everyone who has their metabolism slowed, make updates not so frequently + M.Life() + else + M.Life() + + sleep(-1) + + for(var/datum/disease/D in active_diseases) + D.process() + + for(var/obj/machinery/machine in machines) + if(machine) + machine.process() + if(machine && machine.use_power) + machine.auto_use_power() + + + sleep(-1) + sleep(1) + + for(var/obj/item/item in processing_items) + item.process() + + for(var/datum/pipe_network/network in pipe_networks) + network.process() + + for(var/datum/powernet/P in powernets) + P.reset() + + sleep(-1) + + ticker.process() + + sleep(start_time+10-world.timeofday) + + spawn process() + + + return 1 \ No newline at end of file