diff --git a/code/__HELPERS/cmp.dm b/code/__HELPERS/cmp.dm index 569e0a388ab..a84bec4d4e5 100644 --- a/code/__HELPERS/cmp.dm +++ b/code/__HELPERS/cmp.dm @@ -29,13 +29,13 @@ var/cmp_field = "name" /proc/cmp_ckey_dsc(client/a, client/b) return sorttext(a.ckey, b.ckey) -/proc/cmp_subsystem_init(datum/subsystem/a, datum/subsystem/b) +/proc/cmp_subsystem_init(datum/controller/subsystem/a, datum/controller/subsystem/b) return b.init_order - a.init_order -/proc/cmp_subsystem_display(datum/subsystem/a, datum/subsystem/b) +/proc/cmp_subsystem_display(datum/controller/subsystem/a, datum/controller/subsystem/b) return sorttext(b.name, a.name) -/proc/cmp_subsystem_priority(datum/subsystem/a, datum/subsystem/b) +/proc/cmp_subsystem_priority(datum/controller/subsystem/a, datum/controller/subsystem/b) return a.priority - b.priority /proc/cmp_timer(datum/timedevent/a, datum/timedevent/b) diff --git a/code/controllers/admin.dm b/code/controllers/admin.dm index 8e947f69a4f..cb8f3480e0e 100644 --- a/code/controllers/admin.dm +++ b/code/controllers/admin.dm @@ -17,7 +17,7 @@ if(!usr.client.holder) return if(!class) - if(istype(target, /datum/subsystem)) + if(istype(target, /datum/controller/subsystem)) class = "subsystem" else if(istype(target, /datum/controller)) class = "controller" diff --git a/code/controllers/controller.dm b/code/controllers/controller.dm index 7c87599e699..06547d120d5 100644 --- a/code/controllers/controller.dm +++ b/code/controllers/controller.dm @@ -1,4 +1,19 @@ /datum/controller var/name // The object used for the clickable stat() button. - var/obj/effect/statclick/statclick \ No newline at end of file + var/obj/effect/statclick/statclick + +/datum/controller/proc/Initialize() + +//cleanup actions +/datum/controller/proc/Shutdown() + +//when we enter dmm_suite.load_map +/datum/controller/proc/StartLoadingMap() + +//when we exit dmm_suite.load_map +/datum/controller/proc/StopLoadingMap() + +/datum/controller/proc/Recover() + +/datum/controller/proc/stat_entry() \ No newline at end of file diff --git a/code/controllers/failsafe.dm b/code/controllers/failsafe.dm index e6aa2c87a5c..e4123893f40 100644 --- a/code/controllers/failsafe.dm +++ b/code/controllers/failsafe.dm @@ -27,9 +27,9 @@ var/datum/controller/failsafe/Failsafe if(istype(Failsafe)) qdel(Failsafe) Failsafe = src - LaunchLoop() + Initialize() -/datum/controller/failsafe/proc/LaunchLoop() +/datum/controller/failsafe/Initialize() set waitfor = 0 Failsafe.Loop() qdel(Failsafe) //when Loop() returns, we delete ourselves and let the mc recreate us @@ -92,7 +92,7 @@ var/datum/controller/failsafe/Failsafe /datum/controller/failsafe/proc/defcon_pretty() return defcon -/datum/controller/failsafe/proc/stat_entry() +/datum/controller/failsafe/stat_entry() if(!statclick) statclick = new/obj/effect/statclick/debug("Initializing...", src) diff --git a/code/controllers/master.dm b/code/controllers/master.dm index de7bbef0a51..878e7ce86d6 100644 --- a/code/controllers/master.dm +++ b/code/controllers/master.dm @@ -46,8 +46,8 @@ var/CURRENT_TICKLIMIT = TICK_LIMIT_RUNNING // The type of the last subsystem to be process()'d. var/last_type_processed - var/datum/subsystem/queue_head //Start of queue linked list - var/datum/subsystem/queue_tail //End of queue linked list (used for appending to the list) + var/datum/controller/subsystem/queue_head //Start of queue linked list + var/datum/controller/subsystem/queue_tail //End of queue linked list (used for appending to the list) var/queue_priority_count = 0 //Running total so that we don't have to loop thru the queue each run to split up the tick var/queue_priority_count_bg = 0 //Same, but for background subsystems var/map_loading = FALSE //Are we loading in a new map? @@ -60,7 +60,7 @@ var/CURRENT_TICKLIMIT = TICK_LIMIT_RUNNING Recover() qdel(Master) else - init_subtypes(/datum/subsystem, subsystems) + init_subtypes(/datum/controller/subsystem, subsystems) Master = src /datum/controller/master/Destroy() @@ -68,9 +68,9 @@ var/CURRENT_TICKLIMIT = TICK_LIMIT_RUNNING // Tell qdel() to Del() this object. return QDEL_HINT_HARDDEL_NOW -/datum/controller/master/proc/Shutdown() +/datum/controller/master/Shutdown() processing = FALSE - for(var/datum/subsystem/ss in subsystems) + for(var/datum/controller/subsystem/ss in subsystems) ss.Shutdown() // Returns 1 if we created a new mc, 0 if we couldn't due to a recent restart, @@ -93,7 +93,7 @@ var/CURRENT_TICKLIMIT = TICK_LIMIT_RUNNING return 1 -/datum/controller/master/proc/Recover() +/datum/controller/master/Recover() var/msg = "## DEBUG: [time2text(world.timeofday)] MC restarted. Reports:\n" for (var/varname in Master.vars) switch (varname) @@ -112,19 +112,19 @@ var/CURRENT_TICKLIMIT = TICK_LIMIT_RUNNING StartProcessing(10) else world << "The Master Controller is having some issues, we will need to re-initialize EVERYTHING" - Setup(20, TRUE) + Initialize(20, TRUE) // Please don't stuff random bullshit here, // Make a subsystem, give it the SS_NO_FIRE flag, and do your work in it's Initialize() -/datum/controller/master/proc/Setup(delay, init_sss) +/datum/controller/master/Initialize(delay, init_sss) set waitfor = 0 if(delay) sleep(delay) if(init_sss) - init_subtypes(/datum/subsystem, subsystems) + init_subtypes(/datum/controller/subsystem, subsystems) world << "Initializing subsystems..." @@ -134,7 +134,7 @@ var/CURRENT_TICKLIMIT = TICK_LIMIT_RUNNING var/start_timeofday = REALTIMEOFDAY // Initialize subsystems. CURRENT_TICKLIMIT = config.tick_limit_mc_init - for (var/datum/subsystem/SS in subsystems) + for (var/datum/controller/subsystem/SS in subsystems) if (SS.flags & SS_NO_INIT) continue SS.Initialize(REALTIMEOFDAY) @@ -161,7 +161,7 @@ var/CURRENT_TICKLIMIT = TICK_LIMIT_RUNNING /datum/controller/master/proc/RoundStart() round_started = 1 var/timer = world.time - for (var/datum/subsystem/SS in subsystems) + for (var/datum/controller/subsystem/SS in subsystems) if (SS.flags & SS_FIRE_IN_LOBBY || SS.flags & SS_TICKER) continue //already firing // Stagger subsystems. @@ -199,7 +199,7 @@ var/CURRENT_TICKLIMIT = TICK_LIMIT_RUNNING var/list/lobbysubsystems = list() var/timer = world.time for (var/thing in subsystems) - var/datum/subsystem/SS = thing + var/datum/controller/subsystem/SS = thing if (SS.flags & SS_NO_FIRE) continue SS.queued_time = 0 @@ -261,7 +261,7 @@ var/CURRENT_TICKLIMIT = TICK_LIMIT_RUNNING sleep_delta += 1 if (make_runtime) - var/datum/subsystem/SS + var/datum/controller/subsystem/SS SS.can_fire = 0 if (!Failsafe || (Failsafe.processing_interval > 0 && (Failsafe.lasttick+(Failsafe.processing_interval*5)) < world.time)) new/datum/controller/failsafe() // (re)Start the failsafe. @@ -313,7 +313,7 @@ var/CURRENT_TICKLIMIT = TICK_LIMIT_RUNNING . = 0 //so the mc knows if we runtimed //we create our variables outside of the loops to save on overhead - var/datum/subsystem/SS + var/datum/controller/subsystem/SS var/SS_flags for (var/thing in subsystemstocheck) @@ -339,7 +339,7 @@ var/CURRENT_TICKLIMIT = TICK_LIMIT_RUNNING // Run thru the queue of subsystems to run, running them while balancing out their allocated tick precentage /datum/controller/master/proc/RunQueue() . = 0 - var/datum/subsystem/queue_node + var/datum/controller/subsystem/queue_node var/queue_node_flags var/queue_node_priority var/queue_node_paused @@ -465,7 +465,7 @@ var/CURRENT_TICKLIMIT = TICK_LIMIT_RUNNING var/subsystemstocheck = subsystems + ticker_SS + normal_SS + lobby_SS for (var/thing in subsystemstocheck) - var/datum/subsystem/SS = thing + var/datum/controller/subsystem/SS = thing if (!SS || !istype(SS)) //list(SS) is so if a list makes it in the subsystem list, we remove the list, not the contents subsystems -= list(SS) @@ -496,24 +496,24 @@ var/CURRENT_TICKLIMIT = TICK_LIMIT_RUNNING -/datum/controller/master/proc/stat_entry() +/datum/controller/master/stat_entry() if(!statclick) statclick = new/obj/effect/statclick/debug("Initializing...", src) stat("Byond:", "(FPS:[world.fps]) (TickCount:[world.time/world.tick_lag]) (TickDrift:[round(Master.tickdrift,1)]([round((Master.tickdrift/(world.time/world.tick_lag))*100,0.1)]%))") stat("Master Controller:", statclick.update("(TickRate:[Master.processing]) (Iteration:[Master.iteration])")) -/datum/controller/master/proc/StartLoadingMap() +/datum/controller/master/StartLoadingMap() //disallow more than one map to load at once, multithreading it will just cause race conditions while(map_loading) stoplag() for(var/S in subsystems) - var/datum/subsystem/SS = S + var/datum/controller/subsystem/SS = S SS.StartLoadingMap() map_loading = TRUE -/datum/controller/master/proc/StopLoadingMap(bounds = null) +/datum/controller/master/StopLoadingMap(bounds = null) map_loading = FALSE for(var/S in subsystems) - var/datum/subsystem/SS = S + var/datum/controller/subsystem/SS = S SS.StopLoadingMap() diff --git a/code/controllers/subsystem.dm b/code/controllers/subsystem.dm index cbaf5d68147..fe5e24b6644 100644 --- a/code/controllers/subsystem.dm +++ b/code/controllers/subsystem.dm @@ -1,8 +1,8 @@ -/datum/subsystem +/datum/controller/subsystem // Metadata; you should define these. - var/name = "fire coderbus" //name of the subsystem + name = "fire coderbus" //name of the subsystem var/init_order = 0 //order of initialization. Higher numbers are initialized first, lower numbers later. Can be decimal and negative values. var/wait = 20 //time to wait (in deciseconds) between each call to fire(). Must be a positive integer. var/priority = 50 //When mutiple subsystems need to run in the same tick, higher priority subsystems will run first and be given a higher share of the tick before MC_TICK_CHECK triggers a sleep @@ -26,22 +26,14 @@ var/queued_time = 0 //time we entered the queue, (for timing and priority reasons) var/queued_priority //we keep a running total to make the math easier, if priority changes mid-fire that would break our running total, so we store it here //linked list stuff for the queue - var/datum/subsystem/queue_next - var/datum/subsystem/queue_prev - - - // The object used for the clickable stat() button. - var/obj/effect/statclick/statclick + var/datum/controller/subsystem/queue_next + var/datum/controller/subsystem/queue_prev // Used to initialize the subsystem BEFORE the map has loaded -/datum/subsystem/New() - -//cleanup actions -/datum/subsystem/proc/Shutdown() - return +/datum/controller/subsystem/New() //This is used so the mc knows when the subsystem sleeps. do not override. -/datum/subsystem/proc/ignite(resumed = 0) +/datum/controller/subsystem/proc/ignite(resumed = 0) set waitfor = 0 . = SS_SLEEPING fire(resumed) @@ -57,11 +49,11 @@ //previously, this would have been named 'process()' but that name is used everywhere for different things! //fire() seems more suitable. This is the procedure that gets called every 'wait' deciseconds. //Sleeping in here prevents future fires until returned. -/datum/subsystem/proc/fire(resumed = 0) +/datum/controller/subsystem/proc/fire(resumed = 0) flags |= SS_NO_FIRE throw EXCEPTION("Subsystem [src]([type]) does not fire() but did not set the SS_NO_FIRE flag. Please add the SS_NO_FIRE flag to any subsystem that doesn't fire so it doesn't get added to the processing list and waste cpu.") -/datum/subsystem/Destroy() +/datum/controller/subsystem/Destroy() dequeue() can_fire = 0 flags |= SS_NO_FIRE @@ -71,10 +63,10 @@ //Queue it to run. // (we loop thru a linked list until we get to the end or find the right point) // (this lets us sort our run order correctly without having to re-sort the entire already sorted list) -/datum/subsystem/proc/enqueue() +/datum/controller/subsystem/proc/enqueue() var/SS_priority = priority var/SS_flags = flags - var/datum/subsystem/queue_node + var/datum/controller/subsystem/queue_node var/queue_node_priority var/queue_node_flags @@ -129,7 +121,7 @@ queue_node.queue_prev = src -/datum/subsystem/proc/dequeue() +/datum/controller/subsystem/proc/dequeue() if (queue_next) queue_next.queue_prev = queue_prev if (queue_prev) @@ -143,7 +135,7 @@ state = SS_IDLE -/datum/subsystem/proc/pause() +/datum/controller/subsystem/proc/pause() . = 1 if (state == SS_RUNNING) state = SS_PAUSED @@ -152,7 +144,7 @@ //used to initialize the subsystem AFTER the map has loaded -/datum/subsystem/proc/Initialize(start_timeofday) +/datum/controller/subsystem/Initialize(start_timeofday) var/time = (REALTIMEOFDAY - start_timeofday) / 10 var/msg = "Initialized [name] subsystem within [time] second[time == 1 ? "" : "s"]!" world << "[msg]" @@ -160,7 +152,7 @@ return time //hook for printing stats to the "MC" statuspanel for admins to see performance and related stats etc. -/datum/subsystem/proc/stat_entry(msg) +/datum/controller/subsystem/stat_entry(msg) if(!statclick) statclick = new/obj/effect/statclick/debug("Initializing...", src) @@ -177,7 +169,7 @@ stat(title, statclick.update(msg)) -/datum/subsystem/proc/state_letter() +/datum/controller/subsystem/proc/state_letter() switch (state) if (SS_RUNNING) . = "R" @@ -192,15 +184,15 @@ //could be used to postpone a costly subsystem for (default one) var/cycles, cycles //for instance, during cpu intensive operations like explosions -/datum/subsystem/proc/postpone(cycles = 1) +/datum/controller/subsystem/proc/postpone(cycles = 1) if(next_fire - world.time < wait) next_fire += (wait*cycles) -//usually called via datum/subsystem/New() when replacing a subsystem (i.e. due to a recurring crash) +//usually called via datum/controller/subsystem/New() when replacing a subsystem (i.e. due to a recurring crash) //should attempt to salvage what it can from the old instance of subsystem -/datum/subsystem/proc/Recover() +/datum/controller/subsystem/Recover() -/datum/subsystem/vv_edit_var(var_name, var_value) +/datum/controller/subsystem/vv_edit_var(var_name, var_value) switch (var_name) if ("can_fire") //this is so the subsystem doesn't rapid fire to make up missed ticks causing more lag @@ -208,10 +200,4 @@ next_fire = world.time + wait if ("queued_priority") //editing this breaks things. return 0 - . = ..() - -//when we enter dmm_suite.load_map -/datum/subsystem/proc/StartLoadingMap() - -//when we exit dmm_suite.load_map -/datum/subsystem/proc/StopLoadingMap() + . = ..() \ No newline at end of file diff --git a/code/controllers/subsystem/acid.dm b/code/controllers/subsystem/acid.dm index 853174a7814..2dc2aa80a08 100644 --- a/code/controllers/subsystem/acid.dm +++ b/code/controllers/subsystem/acid.dm @@ -1,6 +1,6 @@ -var/datum/subsystem/acid/SSacid +var/datum/controller/subsystem/acid/SSacid -/datum/subsystem/acid +/datum/controller/subsystem/acid name = "Acid" priority = 40 flags = SS_NO_INIT|SS_BACKGROUND @@ -8,15 +8,15 @@ var/datum/subsystem/acid/SSacid var/list/currentrun = list() var/list/processing = list() -/datum/subsystem/acid/New() +/datum/controller/subsystem/acid/New() NEW_SS_GLOBAL(SSacid) -/datum/subsystem/acid/stat_entry() +/datum/controller/subsystem/acid/stat_entry() ..("P:[processing.len]") -/datum/subsystem/acid/fire(resumed = 0) +/datum/controller/subsystem/acid/fire(resumed = 0) if (!resumed) src.currentrun = processing.Copy() diff --git a/code/controllers/subsystem/air.dm b/code/controllers/subsystem/air.dm index 424c1ba5a9b..4acbe0fcf7b 100644 --- a/code/controllers/subsystem/air.dm +++ b/code/controllers/subsystem/air.dm @@ -5,9 +5,9 @@ #define SSAIR_HIGHPRESSURE 5 #define SSAIR_HOTSPOTS 6 #define SSAIR_SUPERCONDUCTIVITY 7 -var/datum/subsystem/air/SSair +var/datum/controller/subsystem/air/SSair -/datum/subsystem/air +/datum/controller/subsystem/air name = "Air" init_order = -1 priority = 20 @@ -41,10 +41,10 @@ var/datum/subsystem/air/SSair var/map_loading = TRUE var/list/queued_for_activation -/datum/subsystem/air/New() +/datum/controller/subsystem/air/New() NEW_SS_GLOBAL(SSair) -/datum/subsystem/air/stat_entry(msg) +/datum/controller/subsystem/air/stat_entry(msg) msg += "C:{" msg += "AT:[round(cost_turfs,1)]|" msg += "EG:[round(cost_groups,1)]|" @@ -64,7 +64,7 @@ var/datum/subsystem/air/SSair ..(msg) -/datum/subsystem/air/Initialize(timeofday) +/datum/controller/subsystem/air/Initialize(timeofday) map_loading = FALSE setup_allturfs() setup_atmos_machinery() @@ -72,7 +72,7 @@ var/datum/subsystem/air/SSair ..() -/datum/subsystem/air/fire(resumed = 0) +/datum/controller/subsystem/air/fire(resumed = 0) var/timer = world.tick_usage if(currentpart == SSAIR_PIPENETS || !resumed) @@ -139,7 +139,7 @@ var/datum/subsystem/air/SSair -/datum/subsystem/air/proc/process_pipenets(resumed = 0) +/datum/controller/subsystem/air/proc/process_pipenets(resumed = 0) if (!resumed) src.currentrun = networks.Copy() //cache for sanic speed (lists are references anyways) @@ -155,7 +155,7 @@ var/datum/subsystem/air/SSair return -/datum/subsystem/air/proc/process_atmos_machinery(resumed = 0) +/datum/controller/subsystem/air/proc/process_atmos_machinery(resumed = 0) var/seconds = wait * 0.1 if (!resumed) src.currentrun = atmos_machinery.Copy() @@ -170,7 +170,7 @@ var/datum/subsystem/air/SSair return -/datum/subsystem/air/proc/process_super_conductivity(resumed = 0) +/datum/controller/subsystem/air/proc/process_super_conductivity(resumed = 0) if (!resumed) src.currentrun = active_super_conductivity.Copy() //cache for sanic speed (lists are references anyways) @@ -182,7 +182,7 @@ var/datum/subsystem/air/SSair if(MC_TICK_CHECK) return -/datum/subsystem/air/proc/process_hotspots(resumed = 0) +/datum/controller/subsystem/air/proc/process_hotspots(resumed = 0) if (!resumed) src.currentrun = hotspots.Copy() //cache for sanic speed (lists are references anyways) @@ -198,7 +198,7 @@ var/datum/subsystem/air/SSair return -/datum/subsystem/air/proc/process_high_pressure_delta(resumed = 0) +/datum/controller/subsystem/air/proc/process_high_pressure_delta(resumed = 0) while (high_pressure_delta.len) var/turf/open/T = high_pressure_delta[high_pressure_delta.len] high_pressure_delta.len-- @@ -207,7 +207,7 @@ var/datum/subsystem/air/SSair if(MC_TICK_CHECK) return -/datum/subsystem/air/proc/process_active_turfs(resumed = 0) +/datum/controller/subsystem/air/proc/process_active_turfs(resumed = 0) //cache for sanic speed var/fire_count = times_fired if (!resumed) @@ -222,7 +222,7 @@ var/datum/subsystem/air/SSair if (MC_TICK_CHECK) return -/datum/subsystem/air/proc/process_excited_groups(resumed = 0) +/datum/controller/subsystem/air/proc/process_excited_groups(resumed = 0) if (!resumed) src.currentrun = excited_groups.Copy() //cache for sanic speed (lists are references anyways) @@ -240,7 +240,7 @@ var/datum/subsystem/air/SSair return -/datum/subsystem/air/proc/remove_from_active(turf/open/T) +/datum/controller/subsystem/air/proc/remove_from_active(turf/open/T) active_turfs -= T if(currentpart == SSAIR_ACTIVETURFS) currentrun -= T @@ -249,7 +249,7 @@ var/datum/subsystem/air/SSair if(T.excited_group) T.excited_group.garbage_collect() -/datum/subsystem/air/proc/add_to_active(turf/open/T, blockchanges = 1) +/datum/controller/subsystem/air/proc/add_to_active(turf/open/T, blockchanges = 1) if(istype(T) && T.air) T.excited = 1 active_turfs |= T @@ -267,17 +267,17 @@ var/datum/subsystem/air/SSair else T.requires_activation = TRUE -/datum/subsystem/air/StartLoadingMap() +/datum/controller/subsystem/air/StartLoadingMap() LAZYINITLIST(queued_for_activation) map_loading = TRUE -/datum/subsystem/air/StopLoadingMap() +/datum/controller/subsystem/air/StopLoadingMap() map_loading = FALSE for(var/T in queued_for_activation) add_to_active(T) queued_for_activation.Cut() -/datum/subsystem/air/proc/setup_allturfs() +/datum/controller/subsystem/air/proc/setup_allturfs() var/list/turfs_to_init = block(locate(1, 1, 1), locate(world.maxx, world.maxy, world.maxz)) var/list/active_turfs = src.active_turfs var/times_fired = ++src.times_fired @@ -347,7 +347,7 @@ var/datum/subsystem/air/SSair /turf/open/space/resolve_active_graph() return list() -/datum/subsystem/air/proc/setup_atmos_machinery() +/datum/controller/subsystem/air/proc/setup_atmos_machinery() for (var/obj/machinery/atmospherics/AM in atmos_machinery) AM.atmosinit() CHECK_TICK @@ -355,12 +355,12 @@ var/datum/subsystem/air/SSair //this can't be done with setup_atmos_machinery() because // all atmos machinery has to initalize before the first // pipenet can be built. -/datum/subsystem/air/proc/setup_pipenets() +/datum/controller/subsystem/air/proc/setup_pipenets() for (var/obj/machinery/atmospherics/AM in atmos_machinery) AM.build_network() CHECK_TICK -/datum/subsystem/air/proc/setup_template_machinery(list/atmos_machines) +/datum/controller/subsystem/air/proc/setup_template_machinery(list/atmos_machines) for(var/A in atmos_machines) var/obj/machinery/atmospherics/AM = A AM.atmosinit() diff --git a/code/controllers/subsystem/assets.dm b/code/controllers/subsystem/assets.dm index 93860e72a78..2ad4faa09af 100644 --- a/code/controllers/subsystem/assets.dm +++ b/code/controllers/subsystem/assets.dm @@ -1,15 +1,15 @@ -var/datum/subsystem/assets/SSasset +var/datum/controller/subsystem/assets/SSasset -/datum/subsystem/assets +/datum/controller/subsystem/assets name = "Assets" init_order = -3 flags = SS_NO_FIRE var/list/cache = list() -/datum/subsystem/assets/New() +/datum/controller/subsystem/assets/New() NEW_SS_GLOBAL(SSasset) -/datum/subsystem/assets/Initialize(timeofday) +/datum/controller/subsystem/assets/Initialize(timeofday) for(var/type in typesof(/datum/asset) - list(/datum/asset, /datum/asset/simple)) var/datum/asset/A = new type() A.register() diff --git a/code/controllers/subsystem/atoms.dm b/code/controllers/subsystem/atoms.dm index abaf835542e..abe4451bad3 100644 --- a/code/controllers/subsystem/atoms.dm +++ b/code/controllers/subsystem/atoms.dm @@ -1,10 +1,10 @@ -var/datum/subsystem/atoms/SSatoms +var/datum/controller/subsystem/atoms/SSatoms #define INITIALIZATION_INSSATOMS 0 //New should not call Initialize #define INITIALIZATION_INNEW_MAPLOAD 1 //New should call Initialize(TRUE) #define INITIALIZATION_INNEW_REGULAR 2 //New should call Initialize(FALSE) -/datum/subsystem/atoms +/datum/controller/subsystem/atoms name = "Atoms" init_order = 11 flags = SS_NO_FIRE @@ -12,17 +12,17 @@ var/datum/subsystem/atoms/SSatoms var/initialized = INITIALIZATION_INSSATOMS var/old_initialized -/datum/subsystem/atoms/New() +/datum/controller/subsystem/atoms/New() NEW_SS_GLOBAL(SSatoms) -/datum/subsystem/atoms/Initialize(timeofday) +/datum/controller/subsystem/atoms/Initialize(timeofday) fire_overlay.appearance_flags = RESET_COLOR setupGenetics() //to set the mutations' place in structural enzymes, so monkey.initialize() knows where to put the monkey mutation. initialized = INITIALIZATION_INNEW_MAPLOAD InitializeAtoms() return ..() -/datum/subsystem/atoms/proc/InitializeAtoms(list/atoms = null) +/datum/controller/subsystem/atoms/proc/InitializeAtoms(list/atoms = null) if(initialized == INITIALIZATION_INSSATOMS) return @@ -71,20 +71,20 @@ var/datum/subsystem/atoms/SSatoms CHECK_TICK testing("Late-initialized [late_loaders.len] atoms") -/datum/subsystem/atoms/proc/map_loader_begin() +/datum/controller/subsystem/atoms/proc/map_loader_begin() old_initialized = initialized initialized = INITIALIZATION_INSSATOMS -/datum/subsystem/atoms/proc/map_loader_stop() +/datum/controller/subsystem/atoms/proc/map_loader_stop() initialized = old_initialized -/datum/subsystem/atoms/Recover() +/datum/controller/subsystem/atoms/Recover() initialized = SSatoms.initialized if(initialized == INITIALIZATION_INNEW_MAPLOAD) InitializeAtoms() old_initialized = SSatoms.old_initialized -/datum/subsystem/atoms/proc/setupGenetics() +/datum/controller/subsystem/atoms/proc/setupGenetics() var/list/avnums = new /list(DNA_STRUC_ENZYMES_BLOCKS) for(var/i=1, i<=DNA_STRUC_ENZYMES_BLOCKS, i++) avnums[i] = i diff --git a/code/controllers/subsystem/augury.dm b/code/controllers/subsystem/augury.dm index f9035c72520..7fcb6863f08 100644 --- a/code/controllers/subsystem/augury.dm +++ b/code/controllers/subsystem/augury.dm @@ -1,6 +1,6 @@ -var/datum/subsystem/augury/SSaugury +var/datum/controller/subsystem/augury/SSaugury -/datum/subsystem/augury +/datum/controller/subsystem/augury name = "Augury" flags = SS_NO_INIT @@ -9,16 +9,16 @@ var/datum/subsystem/augury/SSaugury var/list/observers_given_action = list() -/datum/subsystem/augury/New() +/datum/controller/subsystem/augury/New() NEW_SS_GLOBAL(SSaugury) -/datum/subsystem/augury/stat_entry(msg) +/datum/controller/subsystem/augury/stat_entry(msg) ..("W:[watchers.len]|D:[doombringers.len]") -/datum/subsystem/augury/proc/register_doom(atom/A, severity) +/datum/controller/subsystem/augury/proc/register_doom(atom/A, severity) doombringers[A] = severity -/datum/subsystem/augury/fire() +/datum/controller/subsystem/augury/fire() var/biggest_doom = null var/biggest_threat = null diff --git a/code/controllers/subsystem/communications.dm b/code/controllers/subsystem/communications.dm index 08f130df2c9..e17557a0fa0 100644 --- a/code/controllers/subsystem/communications.dm +++ b/code/controllers/subsystem/communications.dm @@ -1,19 +1,19 @@ #define COMMUNICATION_COOLDOWN 600 #define COMMUNICATION_COOLDOWN_AI 600 -var/datum/subsystem/communications/SScommunications +var/datum/controller/subsystem/communications/SScommunications -/datum/subsystem/communications +/datum/controller/subsystem/communications name = "Communications" flags = SS_NO_INIT | SS_NO_FIRE var/silicon_message_cooldown var/nonsilicon_message_cooldown -/datum/subsystem/communications/New() +/datum/controller/subsystem/communications/New() NEW_SS_GLOBAL(SScommunications) -/datum/subsystem/communications/proc/can_announce(mob/living/user, is_silicon) +/datum/controller/subsystem/communications/proc/can_announce(mob/living/user, is_silicon) if(is_silicon && silicon_message_cooldown > world.time) . = FALSE else if(!is_silicon && nonsilicon_message_cooldown > world.time) @@ -21,7 +21,7 @@ var/datum/subsystem/communications/SScommunications else . = TRUE -/datum/subsystem/communications/proc/make_announcement(mob/living/user, is_silicon, input) +/datum/controller/subsystem/communications/proc/make_announcement(mob/living/user, is_silicon, input) if(!can_announce(user, is_silicon)) return FALSE if(is_silicon) diff --git a/code/controllers/subsystem/diseases.dm b/code/controllers/subsystem/diseases.dm index 6d5b476eb89..06a4961eb92 100644 --- a/code/controllers/subsystem/diseases.dm +++ b/code/controllers/subsystem/diseases.dm @@ -1,19 +1,19 @@ -var/datum/subsystem/diseases/SSdisease +var/datum/controller/subsystem/diseases/SSdisease -/datum/subsystem/diseases +/datum/controller/subsystem/diseases name = "Diseases" flags = SS_KEEP_TIMING|SS_NO_INIT var/list/currentrun = list() var/list/processing = list() -/datum/subsystem/diseases/New() +/datum/controller/subsystem/diseases/New() NEW_SS_GLOBAL(SSdisease) -/datum/subsystem/diseases/stat_entry(msg) +/datum/controller/subsystem/diseases/stat_entry(msg) ..("P:[processing.len]") -/datum/subsystem/diseases/fire(resumed = 0) +/datum/controller/subsystem/diseases/fire(resumed = 0) if(!resumed) src.currentrun = processing.Copy() //cache for sanic speed (lists are references anyways) diff --git a/code/controllers/subsystem/events.dm b/code/controllers/subsystem/events.dm index caa4fcfbd7e..9f042ad20a6 100644 --- a/code/controllers/subsystem/events.dm +++ b/code/controllers/subsystem/events.dm @@ -1,6 +1,6 @@ -var/datum/subsystem/events/SSevent +var/datum/controller/subsystem/events/SSevent -/datum/subsystem/events +/datum/controller/subsystem/events name = "Events" init_order = 6 @@ -16,11 +16,11 @@ var/datum/subsystem/events/SSevent var/wizardmode = 0 -/datum/subsystem/events/New() +/datum/controller/subsystem/events/New() NEW_SS_GLOBAL(SSevent) -/datum/subsystem/events/Initialize(time, zlevel) +/datum/controller/subsystem/events/Initialize(time, zlevel) for(var/type in typesof(/datum/round_event_control)) var/datum/round_event_control/E = new type() if(!E.typepath) @@ -31,7 +31,7 @@ var/datum/subsystem/events/SSevent ..() -/datum/subsystem/events/fire(resumed = 0) +/datum/controller/subsystem/events/fire(resumed = 0) if(!resumed) checkEvent() //only check these if we aren't resuming a paused fire src.currentrun = running.Copy() @@ -50,17 +50,17 @@ var/datum/subsystem/events/SSevent return //checks if we should select a random event yet, and reschedules if necessary -/datum/subsystem/events/proc/checkEvent() +/datum/controller/subsystem/events/proc/checkEvent() if(scheduled <= world.time) spawnEvent() reschedule() //decides which world.time we should select another random event at. -/datum/subsystem/events/proc/reschedule() +/datum/controller/subsystem/events/proc/reschedule() scheduled = world.time + rand(frequency_lower, max(frequency_lower,frequency_upper)) //selects a random event based on whether it can occur and it's 'weight'(probability) -/datum/subsystem/events/proc/spawnEvent() +/datum/controller/subsystem/events/proc/spawnEvent() set waitfor = FALSE //for the admin prompt if(!config.allow_random_events) // var/datum/round_event_control/E = locate(/datum/round_event_control/dust) in control @@ -91,7 +91,7 @@ var/datum/subsystem/events/SSevent if(TriggerEvent(E)) return -/datum/subsystem/events/proc/TriggerEvent(datum/round_event_control/E) +/datum/controller/subsystem/events/proc/TriggerEvent(datum/round_event_control/E) . = E.preRunEvent() if(!.)//we couldn't run this event for some reason, set its max_occurrences to 0 E.max_occurrences = 0 @@ -171,7 +171,7 @@ var/datum/subsystem/events/SSevent */ //sets up the holidays and holidays list -/datum/subsystem/events/proc/getHoliday() +/datum/controller/subsystem/events/proc/getHoliday() if(!config.allow_holidays) return // Holiday stuff was not enabled in the config! @@ -191,12 +191,12 @@ var/datum/subsystem/events/SSevent holidays = shuffle(holidays) world.update_status() -/datum/subsystem/events/proc/toggleWizardmode() +/datum/controller/subsystem/events/proc/toggleWizardmode() wizardmode = !wizardmode message_admins("Summon Events has been [wizardmode ? "enabled, events will occur every [SSevent.frequency_lower / 600] to [SSevent.frequency_upper / 600] minutes" : "disabled"]!") log_game("Summon Events was [wizardmode ? "enabled" : "disabled"]!") -/datum/subsystem/events/proc/resetFrequency() +/datum/controller/subsystem/events/proc/resetFrequency() frequency_lower = initial(frequency_lower) frequency_upper = initial(frequency_upper) diff --git a/code/controllers/subsystem/fire_burning.dm b/code/controllers/subsystem/fire_burning.dm index 0b812f73061..d420cd5a122 100644 --- a/code/controllers/subsystem/fire_burning.dm +++ b/code/controllers/subsystem/fire_burning.dm @@ -1,6 +1,6 @@ -var/datum/subsystem/fire_burning/SSfire_burning +var/datum/controller/subsystem/fire_burning/SSfire_burning -/datum/subsystem/fire_burning +/datum/controller/subsystem/fire_burning name = "Fire Burning" priority = 40 flags = SS_NO_INIT|SS_BACKGROUND @@ -8,15 +8,15 @@ var/datum/subsystem/fire_burning/SSfire_burning var/list/currentrun = list() var/list/processing = list() -/datum/subsystem/fire_burning/New() +/datum/controller/subsystem/fire_burning/New() NEW_SS_GLOBAL(SSfire_burning) -/datum/subsystem/fire_burning/stat_entry() +/datum/controller/subsystem/fire_burning/stat_entry() ..("P:[processing.len]") -/datum/subsystem/fire_burning/fire(resumed = 0) +/datum/controller/subsystem/fire_burning/fire(resumed = 0) if (!resumed) src.currentrun = processing.Copy() diff --git a/code/controllers/subsystem/garbage.dm b/code/controllers/subsystem/garbage.dm index dbffc10d26c..1c49673ed89 100644 --- a/code/controllers/subsystem/garbage.dm +++ b/code/controllers/subsystem/garbage.dm @@ -1,6 +1,6 @@ -var/datum/subsystem/garbage_collector/SSgarbage +var/datum/controller/subsystem/garbage_collector/SSgarbage -/datum/subsystem/garbage_collector +/datum/controller/subsystem/garbage_collector name = "Garbage" priority = 15 wait = 5 @@ -34,10 +34,10 @@ var/datum/subsystem/garbage_collector/SSgarbage var/list/qdel_list = list() // list of all types that have been qdel()eted #endif -/datum/subsystem/garbage_collector/New() +/datum/controller/subsystem/garbage_collector/New() NEW_SS_GLOBAL(SSgarbage) -/datum/subsystem/garbage_collector/stat_entry(msg) +/datum/controller/subsystem/garbage_collector/stat_entry(msg) msg += "Q:[queue.len]|D:[delslasttick]|G:[gcedlasttick]|" msg += "GR:" if (!(delslasttick+gcedlasttick)) @@ -52,14 +52,14 @@ var/datum/subsystem/garbage_collector/SSgarbage msg += "TGR:[round((totalgcs/(totaldels+totalgcs))*100, 0.01)]%" ..(msg) -/datum/subsystem/garbage_collector/fire() +/datum/controller/subsystem/garbage_collector/fire() HandleToBeQueued() if(state == SS_RUNNING) HandleQueue() //If you see this proc high on the profile, what you are really seeing is the garbage collection/soft delete overhead in byond. //Don't attempt to optimize, not worth the effort. -/datum/subsystem/garbage_collector/proc/HandleToBeQueued() +/datum/controller/subsystem/garbage_collector/proc/HandleToBeQueued() var/list/tobequeued = src.tobequeued var/starttime = world.time var/starttimeofday = world.timeofday @@ -70,7 +70,7 @@ var/datum/subsystem/garbage_collector/SSgarbage Queue(ref) tobequeued.Cut(1, 2) -/datum/subsystem/garbage_collector/proc/HandleQueue() +/datum/controller/subsystem/garbage_collector/proc/HandleQueue() delslasttick = 0 gcedlasttick = 0 var/time_to_kill = world.time - collection_timeout // Anything qdel() but not GC'd BEFORE this time needs to be manually del() @@ -124,12 +124,12 @@ var/datum/subsystem/garbage_collector/SSgarbage ++gcedlasttick ++totalgcs -/datum/subsystem/garbage_collector/proc/QueueForQueuing(datum/A) +/datum/controller/subsystem/garbage_collector/proc/QueueForQueuing(datum/A) if (istype(A) && A.gc_destroyed == GC_CURRENTLY_BEING_QDELETED) tobequeued += A A.gc_destroyed = GC_QUEUED_FOR_QUEUING -/datum/subsystem/garbage_collector/proc/Queue(datum/A) +/datum/controller/subsystem/garbage_collector/proc/Queue(datum/A) if (!istype(A) || (!isnull(A.gc_destroyed) && A.gc_destroyed >= 0)) return if (A.gc_destroyed == GC_QUEUED_FOR_HARD_DEL) @@ -145,12 +145,12 @@ var/datum/subsystem/garbage_collector/SSgarbage queue[refid] = gctime -/datum/subsystem/garbage_collector/proc/HardQueue(datum/A) +/datum/controller/subsystem/garbage_collector/proc/HardQueue(datum/A) if (istype(A) && A.gc_destroyed == GC_CURRENTLY_BEING_QDELETED) tobequeued += A A.gc_destroyed = GC_QUEUED_FOR_HARD_DEL -/datum/subsystem/garbage_collector/Recover() +/datum/controller/subsystem/garbage_collector/Recover() if (istype(SSgarbage.queue)) queue |= SSgarbage.queue if (istype(SSgarbage.tobequeued)) diff --git a/code/controllers/subsystem/icon_smooth.dm b/code/controllers/subsystem/icon_smooth.dm index bedead1ea3c..a52089db2a5 100644 --- a/code/controllers/subsystem/icon_smooth.dm +++ b/code/controllers/subsystem/icon_smooth.dm @@ -1,6 +1,6 @@ -var/datum/subsystem/icon_smooth/SSicon_smooth +var/datum/controller/subsystem/icon_smooth/SSicon_smooth -/datum/subsystem/icon_smooth +/datum/controller/subsystem/icon_smooth name = "Icon Smoothing" init_order = -5 wait = 1 @@ -9,10 +9,10 @@ var/datum/subsystem/icon_smooth/SSicon_smooth var/list/smooth_queue = list() -/datum/subsystem/icon_smooth/New() +/datum/controller/subsystem/icon_smooth/New() NEW_SS_GLOBAL(SSicon_smooth) -/datum/subsystem/icon_smooth/fire() +/datum/controller/subsystem/icon_smooth/fire() while(smooth_queue.len) var/atom/A = smooth_queue[smooth_queue.len] smooth_queue.len-- @@ -22,7 +22,7 @@ var/datum/subsystem/icon_smooth/SSicon_smooth if (!smooth_queue.len) can_fire = 0 -/datum/subsystem/icon_smooth/Initialize() +/datum/controller/subsystem/icon_smooth/Initialize() smooth_zlevel(1,TRUE) smooth_zlevel(2,TRUE) var/queue = smooth_queue diff --git a/code/controllers/subsystem/ipintel.dm b/code/controllers/subsystem/ipintel.dm index b1b99d59392..07954f54767 100644 --- a/code/controllers/subsystem/ipintel.dm +++ b/code/controllers/subsystem/ipintel.dm @@ -1,6 +1,6 @@ -var/datum/subsystem/ipintel/SSipintel +var/datum/controller/subsystem/ipintel/SSipintel -/datum/subsystem/ipintel +/datum/controller/subsystem/ipintel name = "XKeyScore" init_order = -10 flags = SS_NO_FIRE @@ -10,10 +10,10 @@ var/datum/subsystem/ipintel/SSipintel var/list/cache = list() -/datum/subsystem/ipintel/New() +/datum/controller/subsystem/ipintel/New() NEW_SS_GLOBAL(SSipintel) -/datum/subsystem/ipintel/Initialize(timeofday, zlevel) +/datum/controller/subsystem/ipintel/Initialize(timeofday, zlevel) enabled = 1 . = ..() diff --git a/code/controllers/subsystem/jobs.dm b/code/controllers/subsystem/jobs.dm index e3f345658eb..04d781464d4 100644 --- a/code/controllers/subsystem/jobs.dm +++ b/code/controllers/subsystem/jobs.dm @@ -1,6 +1,6 @@ -var/datum/subsystem/job/SSjob +var/datum/controller/subsystem/job/SSjob -/datum/subsystem/job +/datum/controller/subsystem/job name = "Jobs" init_order = 14 flags = SS_NO_FIRE @@ -12,11 +12,11 @@ var/datum/subsystem/job/SSjob var/list/job_debug = list() //Debug info var/initial_players_to_assign = 0 //used for checking against population caps -/datum/subsystem/job/New() +/datum/controller/subsystem/job/New() NEW_SS_GLOBAL(SSjob) -/datum/subsystem/job/Initialize(timeofday) +/datum/controller/subsystem/job/Initialize(timeofday) if(!occupations.len) SetupOccupations() if(config.load_jobs_from_txt) @@ -24,7 +24,7 @@ var/datum/subsystem/job/SSjob ..() -/datum/subsystem/job/proc/SetupOccupations(faction = "Station") +/datum/controller/subsystem/job/proc/SetupOccupations(faction = "Station") occupations = list() var/list/all_jobs = subtypesof(/datum/job) if(!all_jobs.len) @@ -49,25 +49,25 @@ var/datum/subsystem/job/SSjob return 1 -/datum/subsystem/job/proc/Debug(text) +/datum/controller/subsystem/job/proc/Debug(text) if(!Debug2) return 0 job_debug.Add(text) return 1 -/datum/subsystem/job/proc/GetJob(rank) +/datum/controller/subsystem/job/proc/GetJob(rank) if(!occupations.len) SetupOccupations() return name_occupations[rank] -/datum/subsystem/job/proc/GetJobType(jobtype) +/datum/controller/subsystem/job/proc/GetJobType(jobtype) if(!occupations.len) SetupOccupations() return type_occupations[jobtype] -/datum/subsystem/job/proc/AssignRole(mob/new_player/player, rank, latejoin=0) +/datum/controller/subsystem/job/proc/AssignRole(mob/new_player/player, rank, latejoin=0) Debug("Running AR, Player: [player], Rank: [rank], LJ: [latejoin]") if(player && player.mind && rank) var/datum/job/job = GetJob(rank) @@ -89,7 +89,7 @@ var/datum/subsystem/job/SSjob return 0 -/datum/subsystem/job/proc/FindOccupationCandidates(datum/job/job, level, flag) +/datum/controller/subsystem/job/proc/FindOccupationCandidates(datum/job/job, level, flag) Debug("Running FOC, Job: [job], Level: [level], Flag: [flag]") var/list/candidates = list() for(var/mob/new_player/player in unassigned) @@ -113,7 +113,7 @@ var/datum/subsystem/job/SSjob candidates += player return candidates -/datum/subsystem/job/proc/GiveRandomJob(mob/new_player/player) +/datum/controller/subsystem/job/proc/GiveRandomJob(mob/new_player/player) Debug("GRJ Giving random job, Player: [player]") for(var/datum/job/job in shuffle(occupations)) if(!job) @@ -148,7 +148,7 @@ var/datum/subsystem/job/SSjob unassigned -= player break -/datum/subsystem/job/proc/ResetOccupations() +/datum/controller/subsystem/job/proc/ResetOccupations() for(var/mob/new_player/player in player_list) if((player) && (player.mind)) player.mind.assigned_role = null @@ -161,7 +161,7 @@ var/datum/subsystem/job/SSjob //This proc is called before the level loop of DivideOccupations() and will try to select a head, ignoring ALL non-head preferences for every level until //it locates a head or runs out of levels to check //This is basically to ensure that there's atleast a few heads in the round -/datum/subsystem/job/proc/FillHeadPosition() +/datum/controller/subsystem/job/proc/FillHeadPosition() for(var/level = 1 to 3) for(var/command_position in command_positions) var/datum/job/job = GetJob(command_position) @@ -180,7 +180,7 @@ var/datum/subsystem/job/SSjob //This proc is called at the start of the level loop of DivideOccupations() and will cause head jobs to be checked before any other jobs of the same level //This is also to ensure we get as many heads as possible -/datum/subsystem/job/proc/CheckHeadPositions(level) +/datum/controller/subsystem/job/proc/CheckHeadPositions(level) for(var/command_position in command_positions) var/datum/job/job = GetJob(command_position) if(!job) @@ -195,7 +195,7 @@ var/datum/subsystem/job/SSjob return -/datum/subsystem/job/proc/FillAIPosition() +/datum/controller/subsystem/job/proc/FillAIPosition() var/ai_selected = 0 var/datum/job/job = GetJob("AI") if(!job) @@ -218,7 +218,7 @@ var/datum/subsystem/job/SSjob * fills var "assigned_role" for all ready players. * This proc must not have any side effect besides of modifying "assigned_role". **/ -/datum/subsystem/job/proc/DivideOccupations() +/datum/controller/subsystem/job/proc/DivideOccupations() //Setup new player list and get the jobs list Debug("Running DO") @@ -360,7 +360,7 @@ var/datum/subsystem/job/SSjob return 1 //Gives the player the stuff he should have with his rank -/datum/subsystem/job/proc/EquipRank(mob/M, rank, joined_late=0) +/datum/controller/subsystem/job/proc/EquipRank(mob/M, rank, joined_late=0) var/mob/new_player/N var/mob/living/H if(!joined_late) @@ -428,7 +428,7 @@ var/datum/subsystem/job/SSjob return H -/datum/subsystem/job/proc/setup_officer_positions() +/datum/controller/subsystem/job/proc/setup_officer_positions() var/datum/job/J = SSjob.GetJob("Security Officer") if(!J) throw EXCEPTION("setup_officer_positions(): Security officer job is missing") @@ -453,7 +453,7 @@ var/datum/subsystem/job/SSjob break -/datum/subsystem/job/proc/LoadJobs() +/datum/controller/subsystem/job/proc/LoadJobs() var/jobstext = return_file_text("config/jobs.txt") for(var/datum/job/J in occupations) var/regex/jobs = new("[J.title]=(-1|\\d+),(-1|\\d+)") @@ -461,7 +461,7 @@ var/datum/subsystem/job/SSjob J.total_positions = text2num(jobs.group[1]) J.spawn_positions = text2num(jobs.group[2]) -/datum/subsystem/job/proc/HandleFeedbackGathering() +/datum/controller/subsystem/job/proc/HandleFeedbackGathering() for(var/datum/job/job in occupations) var/tmp_str = "|[job.title]|" @@ -491,14 +491,14 @@ var/datum/subsystem/job/SSjob tmp_str += "HIGH=[level1]|MEDIUM=[level2]|LOW=[level3]|NEVER=[level4]|BANNED=[level5]|YOUNG=[level6]|-" feedback_add_details("job_preferences",tmp_str) -/datum/subsystem/job/proc/PopcapReached() +/datum/controller/subsystem/job/proc/PopcapReached() if(config.hard_popcap || config.extreme_popcap) var/relevent_cap = max(config.hard_popcap, config.extreme_popcap) if((initial_players_to_assign - unassigned.len) >= relevent_cap) return 1 return 0 -/datum/subsystem/job/proc/RejectPlayer(mob/new_player/player) +/datum/controller/subsystem/job/proc/RejectPlayer(mob/new_player/player) if(player.mind && player.mind.special_role) return if(PopcapReached()) @@ -508,14 +508,14 @@ var/datum/subsystem/job/SSjob player.ready = 0 -/datum/subsystem/job/Recover() +/datum/controller/subsystem/job/Recover() set waitfor = FALSE var/oldjobs = SSjob.occupations sleep(20) for (var/datum/job/J in oldjobs) INVOKE_ASYNC(src, .proc/RecoverJob) -/datum/subsystem/job/proc/RecoverJob(datum/job/J) +/datum/controller/subsystem/job/proc/RecoverJob(datum/job/J) var/datum/job/newjob = GetJob(J.title) if (!istype(newjob)) return diff --git a/code/controllers/subsystem/lighting.dm b/code/controllers/subsystem/lighting.dm index 7ee570fb06e..8aa2ec29e11 100644 --- a/code/controllers/subsystem/lighting.dm +++ b/code/controllers/subsystem/lighting.dm @@ -1,15 +1,15 @@ +var/datum/controller/subsystem/lighting/SSlighting + #define STAGE_SOURCES 1 #define STAGE_CORNERS 2 #define STAGE_OVERLAYS 3 -var/datum/subsystem/lighting/SSlighting - var/list/lighting_update_lights = list() // List of lighting sources queued for update. var/list/lighting_update_corners = list() // List of lighting corners queued for update. var/list/lighting_update_overlays = list() // List of lighting overlays queued for update. -/datum/subsystem/lighting +/datum/controller/subsystem/lighting name = "Lighting" wait = 1 init_order = 1 @@ -24,15 +24,15 @@ var/list/lighting_update_overlays = list() // List of lighting overlays queued var/resuming_stage = 0 -/datum/subsystem/lighting/New() +/datum/controller/subsystem/lighting/New() NEW_SS_GLOBAL(SSlighting) -/datum/subsystem/lighting/stat_entry() +/datum/controller/subsystem/lighting/stat_entry() ..("L:[lighting_update_lights.len]|C:[lighting_update_corners.len]|O:[lighting_update_overlays.len]") -/datum/subsystem/lighting/Initialize(timeofday) +/datum/controller/subsystem/lighting/Initialize(timeofday) if (config.starlight) for(var/area/A in world) if (A.dynamic_lighting == DYNAMIC_LIGHTING_IFSTARLIGHT) @@ -43,8 +43,7 @@ var/list/lighting_update_overlays = list() // List of lighting overlays queued ..() - -/datum/subsystem/lighting/fire(resumed=FALSE) +/datum/controller/subsystem/lighting/fire(resumed=FALSE) if (resuming_stage == 0 || !resumed) currentrun_lights = lighting_update_lights lighting_update_lights = list() @@ -106,11 +105,11 @@ var/list/lighting_update_overlays = list() // List of lighting overlays queued resuming_stage = 0 -/datum/subsystem/lighting/Recover() +/datum/controller/subsystem/lighting/Recover() initialized = SSlighting.initialized ..() #undef STAGE_SOURCES #undef STAGE_CORNERS -#undef STAGE_OVERLAYS +#undef STAGE_OVERLAYS \ No newline at end of file diff --git a/code/controllers/subsystem/machines.dm b/code/controllers/subsystem/machines.dm index a5a6238abe2..0f2356a8f2a 100644 --- a/code/controllers/subsystem/machines.dm +++ b/code/controllers/subsystem/machines.dm @@ -1,6 +1,6 @@ -var/datum/subsystem/machines/SSmachine +var/datum/controller/subsystem/machines/SSmachine -/datum/subsystem/machines +/datum/controller/subsystem/machines name = "Machines" init_order = 9 flags = SS_KEEP_TIMING @@ -9,12 +9,12 @@ var/datum/subsystem/machines/SSmachine var/list/powernets = list() -/datum/subsystem/machines/Initialize() +/datum/controller/subsystem/machines/Initialize() makepowernets() fire() ..() -/datum/subsystem/machines/proc/makepowernets() +/datum/controller/subsystem/machines/proc/makepowernets() for(var/datum/powernet/PN in powernets) qdel(PN) powernets.Cut() @@ -25,15 +25,15 @@ var/datum/subsystem/machines/SSmachine NewPN.add_cable(PC) propagate_network(PC,PC.powernet) -/datum/subsystem/machines/New() +/datum/controller/subsystem/machines/New() NEW_SS_GLOBAL(SSmachine) -/datum/subsystem/machines/stat_entry() +/datum/controller/subsystem/machines/stat_entry() ..("M:[processing.len]|PN:[powernets.len]") -/datum/subsystem/machines/fire(resumed = 0) +/datum/controller/subsystem/machines/fire(resumed = 0) if (!resumed) for(var/datum/powernet/Powernet in powernets) Powernet.reset() //reset the power state. @@ -56,7 +56,7 @@ var/datum/subsystem/machines/SSmachine if (MC_TICK_CHECK) return -/datum/subsystem/machines/proc/setup_template_powernets(list/cables) +/datum/controller/subsystem/machines/proc/setup_template_powernets(list/cables) for(var/A in cables) var/obj/structure/cable/PC = A if(!PC.powernet) @@ -64,7 +64,7 @@ var/datum/subsystem/machines/SSmachine NewPN.add_cable(PC) propagate_network(PC,PC.powernet) -/datum/subsystem/machines/Recover() +/datum/controller/subsystem/machines/Recover() if (istype(SSmachine.processing)) processing = SSmachine.processing if (istype(SSmachine.powernets)) diff --git a/code/controllers/subsystem/mapping.dm b/code/controllers/subsystem/mapping.dm index 24f84111977..e92be2a13b7 100644 --- a/code/controllers/subsystem/mapping.dm +++ b/code/controllers/subsystem/mapping.dm @@ -1,6 +1,6 @@ -var/datum/subsystem/mapping/SSmapping +var/datum/controller/subsystem/mapping/SSmapping -/datum/subsystem/mapping +/datum/controller/subsystem/mapping name = "Mapping" init_order = 12 flags = SS_NO_FIRE @@ -21,7 +21,7 @@ var/datum/subsystem/mapping/SSmapping var/list/shuttle_templates = list() var/list/shelter_templates = list() -/datum/subsystem/mapping/New() +/datum/controller/subsystem/mapping/New() NEW_SS_GLOBAL(SSmapping) if(!previous_map_config) previous_map_config = new("data/previous_map.json", delete_after = TRUE) @@ -32,7 +32,7 @@ var/datum/subsystem/mapping/SSmapping return ..() -/datum/subsystem/mapping/Initialize(timeofday) +/datum/controller/subsystem/mapping/Initialize(timeofday) if(config.defaulted) world << "Unable to load next map config, defaulting to Box Station" loadWorld() @@ -67,15 +67,15 @@ var/datum/subsystem/mapping/SSmapping Used by the AI doomsday and the self destruct nuke. */ -/datum/subsystem/mapping/proc/add_nuke_threat(datum/nuke) +/datum/controller/subsystem/mapping/proc/add_nuke_threat(datum/nuke) nuke_threats[nuke] = TRUE check_nuke_threats() -/datum/subsystem/mapping/proc/remove_nuke_threat(datum/nuke) +/datum/controller/subsystem/mapping/proc/remove_nuke_threat(datum/nuke) nuke_threats -= nuke check_nuke_threats() -/datum/subsystem/mapping/proc/check_nuke_threats() +/datum/controller/subsystem/mapping/proc/check_nuke_threats() for(var/datum/d in nuke_threats) if(!istype(d) || QDELETED(d)) nuke_threats -= d @@ -84,7 +84,7 @@ var/datum/subsystem/mapping/SSmapping var/turf/open/floor/circuit/C = N C.update_icon() -/datum/subsystem/mapping/Recover() +/datum/controller/subsystem/mapping/Recover() flags |= SS_NO_INIT map_templates = SSmapping.map_templates ruins_templates = SSmapping.ruins_templates @@ -97,7 +97,7 @@ var/datum/subsystem/mapping/SSmapping config = SSmapping.config next_map_config = SSmapping.next_map_config -/datum/subsystem/mapping/proc/TryLoadZ(filename, errorList, forceLevel, last) +/datum/controller/subsystem/mapping/proc/TryLoadZ(filename, errorList, forceLevel, last) var/static/dmm_suite/loader if(!loader) loader = new @@ -106,7 +106,7 @@ var/datum/subsystem/mapping/SSmapping if(last) QDEL_NULL(loader) -/datum/subsystem/mapping/proc/CreateSpace() +/datum/controller/subsystem/mapping/proc/CreateSpace() ++world.maxz CHECK_TICK for(var/T in block(locate(1, 1, world.maxz), locate(world.maxx, world.maxy, world.maxz))) @@ -114,7 +114,7 @@ var/datum/subsystem/mapping/SSmapping new /turf/open/space(T) #define INIT_ANNOUNCE(X) world << "[X]"; log_world(X) -/datum/subsystem/mapping/proc/loadWorld() +/datum/controller/subsystem/mapping/proc/loadWorld() //if any of these fail, something has gone horribly, HORRIBLY, wrong var/list/FailedZs = list() @@ -138,7 +138,7 @@ var/datum/subsystem/mapping/SSmapping INIT_ANNOUNCE(msg) #undef INIT_ANNOUNCE -/datum/subsystem/mapping/proc/maprotate() +/datum/controller/subsystem/mapping/proc/maprotate() var/players = clients.len var/list/mapvotes = list() //count votes @@ -182,7 +182,7 @@ var/datum/subsystem/mapping/SSmapping if (. && VM.map_name != config.map_name) world << "Map rotation has chosen [VM.map_name] for next round!" -/datum/subsystem/mapping/proc/changemap(var/datum/map_config/VM) +/datum/controller/subsystem/mapping/proc/changemap(var/datum/map_config/VM) if(!VM.MakeNextMap()) next_map_config = new(default_to_box = TRUE) message_admins("Failed to set new map with next_map.json for [VM.map_name]! Using default as backup!") @@ -191,11 +191,11 @@ var/datum/subsystem/mapping/SSmapping next_map_config = VM return TRUE -/datum/subsystem/mapping/Shutdown() +/datum/controller/subsystem/mapping/Shutdown() if(config) config.MakePreviousMap() -/datum/subsystem/mapping/proc/preloadTemplates(path = "_maps/templates/") //see master controller setup +/datum/controller/subsystem/mapping/proc/preloadTemplates(path = "_maps/templates/") //see master controller setup var/list/filelist = flist(path) for(var/map in filelist) var/datum/map_template/T = new(path = "[path][map]", rename = "[map]") @@ -205,7 +205,7 @@ var/datum/subsystem/mapping/SSmapping preloadShuttleTemplates() preloadShelterTemplates() -/datum/subsystem/mapping/proc/preloadRuinTemplates() +/datum/controller/subsystem/mapping/proc/preloadRuinTemplates() // Still supporting bans by filename var/list/banned = generateMapList("config/lavaruinblacklist.txt") banned += generateMapList("config/spaceruinblacklist.txt") @@ -228,7 +228,7 @@ var/datum/subsystem/mapping/SSmapping else if(istype(R, /datum/map_template/ruin/space)) space_ruins_templates[R.name] = R -/datum/subsystem/mapping/proc/preloadShuttleTemplates() +/datum/controller/subsystem/mapping/proc/preloadShuttleTemplates() var/list/unbuyable = generateMapList("config/unbuyableshuttles.txt") for(var/item in subtypesof(/datum/map_template/shuttle)) @@ -243,7 +243,7 @@ var/datum/subsystem/mapping/SSmapping shuttle_templates[S.shuttle_id] = S map_templates[S.shuttle_id] = S -/datum/subsystem/mapping/proc/preloadShelterTemplates() +/datum/controller/subsystem/mapping/proc/preloadShelterTemplates() for(var/item in subtypesof(/datum/map_template/shelter)) var/datum/map_template/shelter/shelter_type = item if(!(initial(shelter_type.mappath))) diff --git a/code/controllers/subsystem/minimap.dm b/code/controllers/subsystem/minimap.dm index ee44ceae19e..94e22dae949 100644 --- a/code/controllers/subsystem/minimap.dm +++ b/code/controllers/subsystem/minimap.dm @@ -1,6 +1,6 @@ -var/datum/subsystem/minimap/SSminimap +var/datum/controller/subsystem/minimap/SSminimap -/datum/subsystem/minimap +/datum/controller/subsystem/minimap name = "Minimap" init_order = -2 flags = SS_NO_FIRE @@ -9,10 +9,10 @@ var/datum/subsystem/minimap/SSminimap var/list/z_levels = list(ZLEVEL_STATION) -/datum/subsystem/minimap/New() +/datum/controller/subsystem/minimap/New() NEW_SS_GLOBAL(SSminimap) -/datum/subsystem/minimap/Initialize(timeofday) +/datum/controller/subsystem/minimap/Initialize(timeofday) var/hash = md5(SSmapping.config.GetFullMapPath()) if(config.generate_minimaps) if(hash == trim(file2text(hash_path()))) @@ -41,7 +41,7 @@ var/datum/subsystem/minimap/SSminimap register_asset("minimap_[z].png", fcopy_rsc(map_path(z,fileloc))) ..() -/datum/subsystem/minimap/proc/check_files(backup) // If the backup argument is true, looks in the icons folder. If false looks in the data folder. +/datum/controller/subsystem/minimap/proc/check_files(backup) // If the backup argument is true, looks in the icons folder. If false looks in the data folder. for(var/z in z_levels) if(!fexists(file(map_path(z,backup)))) //Let's make sure we have a file for this map if(backup) @@ -50,23 +50,23 @@ var/datum/subsystem/minimap/SSminimap return TRUE -/datum/subsystem/minimap/proc/hash_path(backup) +/datum/controller/subsystem/minimap/proc/hash_path(backup) if(backup) return "icons/minimaps/[SSmapping.config.map_name].md5" else return "data/minimaps/[SSmapping.config.map_name].md5" -/datum/subsystem/minimap/proc/map_path(z,backup) +/datum/controller/subsystem/minimap/proc/map_path(z,backup) if(backup) return "icons/minimaps/[SSmapping.config.map_name]_[z].png" else return "data/minimaps/[SSmapping.config.map_name]_[z].png" -/datum/subsystem/minimap/proc/send(client/client) +/datum/controller/subsystem/minimap/proc/send(client/client) for(var/z in z_levels) send_asset(client, "minimap_[z].png") -/datum/subsystem/minimap/proc/generate(z = 1, x1 = 1, y1 = 1, x2 = world.maxx, y2 = world.maxy) +/datum/controller/subsystem/minimap/proc/generate(z = 1, x1 = 1, y1 = 1, x2 = world.maxx, y2 = world.maxy) // Load the background. var/icon/minimap = new /icon('icons/minimap.dmi') // Scale it up to our target size. @@ -81,7 +81,7 @@ var/datum/subsystem/minimap/SSminimap final.Insert(minimap, "", SOUTH, 1, 0) fcopy(final, map_path(z)) -/datum/subsystem/minimap/proc/generate_tile(turf/tile, icon/minimap) +/datum/controller/subsystem/minimap/proc/generate_tile(turf/tile, icon/minimap) var/icon/tile_icon var/obj/obj var/list/obj_icons diff --git a/code/controllers/subsystem/mobs.dm b/code/controllers/subsystem/mobs.dm index 2d6657886ff..0ffab58567d 100644 --- a/code/controllers/subsystem/mobs.dm +++ b/code/controllers/subsystem/mobs.dm @@ -1,6 +1,6 @@ -var/datum/subsystem/mobs/SSmob +var/datum/controller/subsystem/mobs/SSmob -/datum/subsystem/mobs +/datum/controller/subsystem/mobs name = "Mobs" init_order = 4 priority = 100 @@ -8,15 +8,15 @@ var/datum/subsystem/mobs/SSmob var/list/currentrun = list() -/datum/subsystem/mobs/New() +/datum/controller/subsystem/mobs/New() NEW_SS_GLOBAL(SSmob) -/datum/subsystem/mobs/stat_entry() +/datum/controller/subsystem/mobs/stat_entry() ..("P:[mob_list.len]") -/datum/subsystem/mobs/fire(resumed = 0) +/datum/controller/subsystem/mobs/fire(resumed = 0) var/seconds = wait * 0.1 if (!resumed) src.currentrun = mob_list.Copy() diff --git a/code/controllers/subsystem/npcpool.dm b/code/controllers/subsystem/npcpool.dm index 7c5d97ac400..c777b683628 100644 --- a/code/controllers/subsystem/npcpool.dm +++ b/code/controllers/subsystem/npcpool.dm @@ -1,6 +1,6 @@ -var/datum/subsystem/npcpool/SSnpc +var/datum/controller/subsystem/npcpool/SSnpc -/datum/subsystem/npcpool +/datum/controller/subsystem/npcpool name = "NPC Pool" init_order = 17 flags = SS_POST_FIRE_TIMING|SS_NO_INIT|SS_NO_TICK_CHECK @@ -14,18 +14,18 @@ var/datum/subsystem/npcpool/SSnpc var/list/botPool_l = list() //list of all npcs using the pool var/list/botPool_l_non = list() //list of all non SNPC mobs using the pool -/datum/subsystem/npcpool/proc/insertBot(toInsert) +/datum/controller/subsystem/npcpool/proc/insertBot(toInsert) if(istype(toInsert,/mob/living/carbon/human/interactive)) botPool_l |= toInsert -/datum/subsystem/npcpool/New() +/datum/controller/subsystem/npcpool/New() NEW_SS_GLOBAL(SSnpc) -/datum/subsystem/npcpool/stat_entry() +/datum/controller/subsystem/npcpool/stat_entry() ..("T:[botPool_l.len + botPool_l_non.len]|D:[needsDelegate.len]|A:[needsAssistant.len + needsHelp_non.len]|U:[canBeUsed.len + canBeUsed_non.len]") -/datum/subsystem/npcpool/proc/cleanNull() +/datum/controller/subsystem/npcpool/proc/cleanNull() //cleanup nulled bots listclearnulls(botPool_l) listclearnulls(needsDelegate) @@ -33,7 +33,7 @@ var/datum/subsystem/npcpool/SSnpc listclearnulls(needsAssistant) -/datum/subsystem/npcpool/fire() +/datum/controller/subsystem/npcpool/fire() //bot delegation and coordination systems //General checklist/Tasks for delegating a task or coordinating it (for SNPCs) // 1. Bot proximity to task target: if too far, delegate, if close, coordinate @@ -120,7 +120,7 @@ var/datum/subsystem/npcpool/SSnpc candidate.update_icons() npcCount++ -/datum/subsystem/npcpool/Recover() +/datum/controller/subsystem/npcpool/Recover() if (istype(SSnpc.botPool_l)) botPool_l = SSnpc.botPool_l if (istype(SSnpc.botPool_l_non)) diff --git a/code/controllers/subsystem/orbit.dm b/code/controllers/subsystem/orbit.dm index a66a575a6dd..2497e80d89b 100644 --- a/code/controllers/subsystem/orbit.dm +++ b/code/controllers/subsystem/orbit.dm @@ -1,6 +1,6 @@ -var/datum/subsystem/orbit/SSorbit +var/datum/controller/subsystem/orbit/SSorbit -/datum/subsystem/orbit +/datum/controller/subsystem/orbit name = "Orbits" priority = 35 wait = 2 @@ -9,15 +9,15 @@ var/datum/subsystem/orbit/SSorbit var/list/currentrun = list() var/list/processing = list() -/datum/subsystem/orbit/New() +/datum/controller/subsystem/orbit/New() NEW_SS_GLOBAL(SSorbit) -/datum/subsystem/orbit/stat_entry() +/datum/controller/subsystem/orbit/stat_entry() ..("P:[processing.len]") -/datum/subsystem/orbit/fire(resumed = 0) +/datum/controller/subsystem/orbit/fire(resumed = 0) if (!resumed) src.currentrun = processing.Copy() diff --git a/code/controllers/subsystem/pai.dm b/code/controllers/subsystem/pai.dm index 72a64ac9d6e..4c9c4bcbd37 100644 --- a/code/controllers/subsystem/pai.dm +++ b/code/controllers/subsystem/pai.dm @@ -1,7 +1,7 @@ -var/datum/subsystem/pai/SSpai +var/datum/controller/subsystem/pai/SSpai var/list/obj/item/device/paicard/pai_card_list = list() -/datum/subsystem/pai +/datum/controller/subsystem/pai name = "pAI" flags = SS_NO_INIT|SS_NO_FIRE @@ -10,10 +10,10 @@ var/list/obj/item/device/paicard/pai_card_list = list() var/ghost_spam = FALSE var/spam_delay = 100 -/datum/subsystem/pai/New() +/datum/controller/subsystem/pai/New() NEW_SS_GLOBAL(SSpai) -/datum/subsystem/pai/Topic(href, href_list[]) +/datum/controller/subsystem/pai/Topic(href, href_list[]) if(href_list["download"]) var/datum/paiCandidate/candidate = locate(href_list["candidate"]) var/obj/item/device/paicard/card = locate(href_list["device"]) @@ -84,7 +84,7 @@ var/list/obj/item/device/paicard/pai_card_list = list() return recruitWindow(usr) -/datum/subsystem/pai/proc/recruitWindow(mob/M) +/datum/controller/subsystem/pai/proc/recruitWindow(mob/M) var/datum/paiCandidate/candidate for(var/datum/paiCandidate/c in candidates) if(c.key == M.key) @@ -135,10 +135,10 @@ var/list/obj/item/device/paicard/pai_card_list = list() M << browse(dat, "window=paiRecruit") -/datum/subsystem/pai/proc/spam_again() +/datum/controller/subsystem/pai/proc/spam_again() ghost_spam = FALSE -/datum/subsystem/pai/proc/check_ready(var/datum/paiCandidate/C) +/datum/controller/subsystem/pai/proc/check_ready(var/datum/paiCandidate/C) if(!C.ready) return FALSE for(var/mob/dead/observer/O in player_list) @@ -146,7 +146,7 @@ var/list/obj/item/device/paicard/pai_card_list = list() return C return FALSE -/datum/subsystem/pai/proc/findPAI(obj/item/device/paicard/p, mob/user) +/datum/controller/subsystem/pai/proc/findPAI(obj/item/device/paicard/p, mob/user) if(!ghost_spam) ghost_spam = TRUE for(var/mob/dead/observer/G in player_list) diff --git a/code/controllers/subsystem/parallax.dm b/code/controllers/subsystem/parallax.dm index 168e95c51b7..fb8e3170866 100644 --- a/code/controllers/subsystem/parallax.dm +++ b/code/controllers/subsystem/parallax.dm @@ -1,17 +1,17 @@ -var/datum/subsystem/parallax/SSparallax +var/datum/controller/subsystem/parallax/SSparallax -/datum/subsystem/parallax +/datum/controller/subsystem/parallax name = "Parallax" wait = 2 flags = SS_POST_FIRE_TIMING | SS_FIRE_IN_LOBBY | SS_BACKGROUND | SS_NO_INIT priority = 65 var/list/currentrun -/datum/subsystem/parallax/New() +/datum/controller/subsystem/parallax/New() NEW_SS_GLOBAL(SSparallax) return ..() -/datum/subsystem/parallax/fire(resumed = 0) +/datum/controller/subsystem/parallax/fire(resumed = 0) if (!resumed) src.currentrun = clients.Copy() diff --git a/code/controllers/subsystem/persistence.dm b/code/controllers/subsystem/persistence.dm index 11a82cd67d4..818e64940a1 100644 --- a/code/controllers/subsystem/persistence.dm +++ b/code/controllers/subsystem/persistence.dm @@ -1,6 +1,6 @@ -var/datum/subsystem/persistence/SSpersistence +var/datum/controller/subsystem/persistence/SSpersistence -/datum/subsystem/persistence +/datum/controller/subsystem/persistence name = "Persistence" init_order = -100 flags = SS_NO_FIRE @@ -13,16 +13,16 @@ var/datum/subsystem/persistence/SSpersistence var/list/saved_messages = list() var/savefile/chisel_messages_sav -/datum/subsystem/persistence/New() +/datum/controller/subsystem/persistence/New() NEW_SS_GLOBAL(SSpersistence) -/datum/subsystem/persistence/Initialize() +/datum/controller/subsystem/persistence/Initialize() LoadSatchels() LoadPoly() LoadChiselMessages() ..() -/datum/subsystem/persistence/proc/LoadSatchels() +/datum/controller/subsystem/persistence/proc/LoadSatchels() secret_satchels = new /savefile("data/npc_saves/SecretSatchels.sav") satchel_blacklist = typecacheof(list(/obj/item/stack/tile/plasteel, /obj/item/weapon/crowbar)) secret_satchels[SSmapping.config.map_name] >> old_secret_satchels @@ -44,7 +44,7 @@ var/datum/subsystem/persistence/SSpersistence if(!isemptylist(free_satchels) && ((free_satchels.len + placed_satchels) >= (50 - expanded_old_satchels.len) * 0.1)) //up to six tiles, more than enough to kill anything that moves break -/datum/subsystem/persistence/proc/PlaceSecretSatchel(list/expanded_old_satchels) +/datum/controller/subsystem/persistence/proc/PlaceSecretSatchel(list/expanded_old_satchels) var/satchel_string if(expanded_old_satchels.len >= 20) //guards against low drop pools assuring that one player cannot reliably find his own gear. @@ -70,12 +70,12 @@ var/datum/subsystem/persistence/SSpersistence new path(F) return 1 -/datum/subsystem/persistence/proc/LoadPoly() +/datum/controller/subsystem/persistence/proc/LoadPoly() for(var/mob/living/simple_animal/parrot/Poly/P in living_mob_list) twitterize(P.speech_buffer, "polytalk") break //Who's been duping the bird?! -/datum/subsystem/persistence/proc/LoadChiselMessages() +/datum/controller/subsystem/persistence/proc/LoadChiselMessages() chisel_messages_sav = new /savefile("data/npc_saves/ChiselMessages.sav") var/saved_json chisel_messages_sav[SSmapping.config.map_name] >> saved_json @@ -98,11 +98,11 @@ var/datum/subsystem/persistence/SSpersistence qdel(M) -/datum/subsystem/persistence/proc/CollectData() +/datum/controller/subsystem/persistence/proc/CollectData() CollectChiselMessages() CollectSecretSatchels() -/datum/subsystem/persistence/proc/CollectSecretSatchels() +/datum/controller/subsystem/persistence/proc/CollectSecretSatchels() for(var/A in new_secret_satchels) var/obj/item/weapon/storage/backpack/satchel/flat/F = A if(QDELETED(F) || F.z != ZLEVEL_STATION || F.invisibility != INVISIBILITY_MAXIMUM) @@ -120,11 +120,11 @@ var/datum/subsystem/persistence/SSpersistence old_secret_satchels += "[F.x]|[F.y]|[pick(savable_obj)]#" secret_satchels[SSmapping.config.map_name] << old_secret_satchels -/datum/subsystem/persistence/proc/CollectChiselMessages() +/datum/controller/subsystem/persistence/proc/CollectChiselMessages() for(var/obj/structure/chisel_message/M in chisel_messages) saved_messages += list(M.pack()) chisel_messages_sav[SSmapping.config.map_name] << json_encode(saved_messages) -/datum/subsystem/persistence/proc/SaveChiselMessage(obj/structure/chisel_message/M) +/datum/controller/subsystem/persistence/proc/SaveChiselMessage(obj/structure/chisel_message/M) saved_messages += list(M.pack()) // dm eats one list. diff --git a/code/controllers/subsystem/ping.dm b/code/controllers/subsystem/ping.dm index 1f07ce2e76c..d1297c692c8 100644 --- a/code/controllers/subsystem/ping.dm +++ b/code/controllers/subsystem/ping.dm @@ -1,18 +1,18 @@ #define PING_BUFFER_TIME 25 -var/datum/subsystem/ping/SSping +var/datum/controller/subsystem/ping/SSping -/datum/subsystem/ping +/datum/controller/subsystem/ping name = "Ping" wait = 6 flags = SS_NO_INIT|SS_POST_FIRE_TIMING|SS_FIRE_IN_LOBBY priority = 10 var/list/currentrun -/datum/subsystem/ping/New() +/datum/controller/subsystem/ping/New() NEW_SS_GLOBAL(SSping) -/datum/subsystem/ping/fire(resumed = FALSE) +/datum/controller/subsystem/ping/fire(resumed = FALSE) if (!resumed) src.currentrun = clients.Copy() diff --git a/code/controllers/subsystem/processing/fastprocess.dm b/code/controllers/subsystem/processing/fastprocess.dm index 7a46f253efe..53898e142e7 100644 --- a/code/controllers/subsystem/processing/fastprocess.dm +++ b/code/controllers/subsystem/processing/fastprocess.dm @@ -1,10 +1,10 @@ //Fires five times every second. -var/datum/subsystem/processing/fastprocess/SSfastprocess -/datum/subsystem/processing/fastprocess +var/datum/controller/subsystem/processing/fastprocess/SSfastprocess +/datum/controller/subsystem/processing/fastprocess name = "Fast Processing" wait = 2 stat_tag = "FP" -/datum/subsystem/processing/fastprocess/New() +/datum/controller/subsystem/processing/fastprocess/New() NEW_SS_GLOBAL(SSfastprocess) diff --git a/code/controllers/subsystem/processing/flightpacks.dm b/code/controllers/subsystem/processing/flightpacks.dm index a036d060468..fee475d7305 100644 --- a/code/controllers/subsystem/processing/flightpacks.dm +++ b/code/controllers/subsystem/processing/flightpacks.dm @@ -1,11 +1,11 @@ -var/datum/subsystem/processing/flightpacks/SSflightpacks -/datum/subsystem/processing/flightpacks +var/datum/controller/subsystem/processing/flightpacks/SSflightpacks +/datum/controller/subsystem/processing/flightpacks name = "Flightpack Movement" priority = 30 wait = 2 stat_tag = "FM" flags = SS_NO_INIT|SS_TICKER|SS_KEEP_TIMING -/datum/subsystem/processing/flightpacks/New() +/datum/controller/subsystem/processing/flightpacks/New() NEW_SS_GLOBAL(SSflightpacks) diff --git a/code/controllers/subsystem/processing/objects.dm b/code/controllers/subsystem/processing/objects.dm index 95e7ee11650..ee15dc06031 100644 --- a/code/controllers/subsystem/processing/objects.dm +++ b/code/controllers/subsystem/processing/objects.dm @@ -1,5 +1,5 @@ -var/datum/subsystem/objects/SSobj -/datum/subsystem/objects +var/datum/controller/subsystem/objects/SSobj +/datum/controller/subsystem/objects name = "Objects" priority = 40 flags = SS_NO_INIT @@ -7,12 +7,12 @@ var/datum/subsystem/objects/SSobj var/list/processing = list() var/list/currentrun = list() -/datum/subsystem/objects/New() +/datum/controller/subsystem/objects/New() NEW_SS_GLOBAL(SSobj) -/datum/subsystem/objects/stat_entry() +/datum/controller/subsystem/objects/stat_entry() ..("P:[processing.len]") -/datum/subsystem/objects/fire(resumed = 0) +/datum/controller/subsystem/objects/fire(resumed = 0) if (!resumed) src.currentrun = processing.Copy() //cache for sanic speed (lists are references anyways) @@ -28,5 +28,5 @@ var/datum/subsystem/objects/SSobj if (MC_TICK_CHECK) return -/datum/subsystem/objects/Recover() +/datum/controller/subsystem/objects/Recover() processing = SSobj.processing diff --git a/code/controllers/subsystem/processing/overlays.dm b/code/controllers/subsystem/processing/overlays.dm index 9a93fbd4b4b..573c7b2a1de 100644 --- a/code/controllers/subsystem/processing/overlays.dm +++ b/code/controllers/subsystem/processing/overlays.dm @@ -1,6 +1,6 @@ -var/datum/subsystem/processing/overlays/SSoverlays +var/datum/controller/subsystem/processing/overlays/SSoverlays -/datum/subsystem/processing/overlays +/datum/controller/subsystem/processing/overlays name = "Overlay" flags = SS_TICKER|SS_FIRE_IN_LOBBY wait = 1 @@ -12,20 +12,20 @@ var/datum/subsystem/processing/overlays/SSoverlays var/list/overlay_icon_state_caches var/initialized = FALSE -/datum/subsystem/processing/overlays/New() +/datum/controller/subsystem/processing/overlays/New() NEW_SS_GLOBAL(SSoverlays) LAZYINITLIST(overlay_icon_state_caches) -/datum/subsystem/processing/overlays/Initialize() +/datum/controller/subsystem/processing/overlays/Initialize() initialized = TRUE Flush() ..() -/datum/subsystem/processing/overlays/Recover() +/datum/controller/subsystem/processing/overlays/Recover() overlay_icon_state_caches = SSoverlays.overlay_icon_state_caches processing = SSoverlays.processing -/datum/subsystem/processing/overlays/fire(resumed = FALSE, mc_check = TRUE) +/datum/controller/subsystem/processing/overlays/fire(resumed = FALSE, mc_check = TRUE) while(processing.len) var/atom/thing = processing[processing.len] processing.len-- @@ -37,7 +37,7 @@ var/datum/subsystem/processing/overlays/SSoverlays else CHECK_TICK -/datum/subsystem/processing/overlays/proc/Flush() +/datum/controller/subsystem/processing/overlays/proc/Flush() if(processing.len) testing("Flushing [processing.len] overlays") fire(mc_check = FALSE) //pair this thread up with the MC to get extra compile time diff --git a/code/controllers/subsystem/processing/processing.dm b/code/controllers/subsystem/processing/processing.dm index 1b8e1525618..ef03ce6db64 100644 --- a/code/controllers/subsystem/processing/processing.dm +++ b/code/controllers/subsystem/processing/processing.dm @@ -1,7 +1,7 @@ //Used to process objects. Fires once every second. -var/datum/subsystem/processing/SSprocessing -/datum/subsystem/processing +var/datum/controller/subsystem/processing/SSprocessing +/datum/controller/subsystem/processing name = "Processing" priority = 25 flags = SS_BACKGROUND|SS_POST_FIRE_TIMING|SS_NO_INIT @@ -11,13 +11,13 @@ var/datum/subsystem/processing/SSprocessing var/list/processing = list() var/list/currentrun = list() -/datum/subsystem/processing/New() +/datum/controller/subsystem/processing/New() NEW_SS_GLOBAL(SSprocessing) -/datum/subsystem/processing/stat_entry() +/datum/controller/subsystem/processing/stat_entry() ..("[stat_tag]:[processing.len]") -/datum/subsystem/processing/fire(resumed = 0) +/datum/controller/subsystem/processing/fire(resumed = 0) if (!resumed) currentrun = processing.Copy() //cache for sanic speed (lists are references anyways) diff --git a/code/controllers/subsystem/radio.dm b/code/controllers/subsystem/radio.dm index 854fb8cc5ff..922b1764282 100644 --- a/code/controllers/subsystem/radio.dm +++ b/code/controllers/subsystem/radio.dm @@ -1,16 +1,16 @@ -var/datum/subsystem/radio/SSradio +var/datum/controller/subsystem/radio/SSradio -/datum/subsystem/radio +/datum/controller/subsystem/radio name = "Radio" init_order = 18 flags = SS_NO_FIRE|SS_NO_INIT var/list/datum/radio_frequency/frequencies = list() -/datum/subsystem/radio/New() +/datum/controller/subsystem/radio/New() NEW_SS_GLOBAL(SSradio) -/datum/subsystem/radio/proc/add_object(obj/device, new_frequency as num, filter = null as text|null) +/datum/controller/subsystem/radio/proc/add_object(obj/device, new_frequency as num, filter = null as text|null) var/f_text = num2text(new_frequency) var/datum/radio_frequency/frequency = frequencies[f_text] @@ -22,7 +22,7 @@ var/datum/subsystem/radio/SSradio frequency.add_listener(device, filter) return frequency -/datum/subsystem/radio/proc/remove_object(obj/device, old_frequency) +/datum/controller/subsystem/radio/proc/remove_object(obj/device, old_frequency) var/f_text = num2text(old_frequency) var/datum/radio_frequency/frequency = frequencies[f_text] @@ -35,7 +35,7 @@ var/datum/subsystem/radio/SSradio return 1 -/datum/subsystem/radio/proc/return_frequency(new_frequency as num) +/datum/controller/subsystem/radio/proc/return_frequency(new_frequency as num) var/f_text = num2text(new_frequency) var/datum/radio_frequency/frequency = frequencies[f_text] diff --git a/code/controllers/subsystem/religion.dm b/code/controllers/subsystem/religion.dm index 69ec3fe7d5a..fe07d4e1ea5 100644 --- a/code/controllers/subsystem/religion.dm +++ b/code/controllers/subsystem/religion.dm @@ -1,6 +1,6 @@ -var/datum/subsystem/religion/SSreligion +var/datum/controller/subsystem/religion/SSreligion -/datum/subsystem/religion +/datum/controller/subsystem/religion name = "Religion" init_order = 19 flags = SS_NO_FIRE|SS_NO_INIT @@ -13,5 +13,5 @@ var/datum/subsystem/religion/SSreligion var/holy_weapon -/datum/subsystem/religion/New() +/datum/controller/subsystem/religion/New() NEW_SS_GLOBAL(SSreligion) diff --git a/code/controllers/subsystem/server_maintenance.dm b/code/controllers/subsystem/server_maintenance.dm index 1e4b4ae76fe..24f923288c2 100644 --- a/code/controllers/subsystem/server_maintenance.dm +++ b/code/controllers/subsystem/server_maintenance.dm @@ -1,19 +1,19 @@ -var/datum/subsystem/server_maint/SSserver +var/datum/controller/subsystem/server_maint/SSserver -/datum/subsystem/server_maint +/datum/controller/subsystem/server_maint name = "Server Tasks" wait = 6000 flags = SS_NO_TICK_CHECK -/datum/subsystem/server_maint/New() +/datum/controller/subsystem/server_maint/New() NEW_SS_GLOBAL(SSserver) -/datum/subsystem/server_maint/Initialize(timeofday) +/datum/controller/subsystem/server_maint/Initialize(timeofday) if (config.hub) world.visibility = 1 ..() -/datum/subsystem/server_maint/fire() +/datum/controller/subsystem/server_maint/fire() //handle kicking inactive players if(config.kick_inactive > 0) for(var/client/C in clients) diff --git a/code/controllers/subsystem/shuttles.dm b/code/controllers/subsystem/shuttles.dm index 68284d7c6e0..052e7fff4a5 100644 --- a/code/controllers/subsystem/shuttles.dm +++ b/code/controllers/subsystem/shuttles.dm @@ -1,8 +1,8 @@ #define HIGHLIGHT_DYNAMIC_TRANSIT 1 -var/datum/subsystem/shuttle/SSshuttle +var/datum/controller/subsystem/shuttle/SSshuttle -/datum/subsystem/shuttle +/datum/controller/subsystem/shuttle name = "Shuttles" wait = 10 init_order = 3 @@ -46,10 +46,10 @@ var/datum/subsystem/shuttle/SSshuttle var/lockdown = FALSE //disallow transit after nuke goes off -/datum/subsystem/shuttle/New() +/datum/controller/subsystem/shuttle/New() NEW_SS_GLOBAL(SSshuttle) -/datum/subsystem/shuttle/Initialize(timeofday) +/datum/controller/subsystem/shuttle/Initialize(timeofday) if(!emergency) WARNING("No /obj/docking_port/mobile/emergency placed on the map!") if(!backup_shuttle) @@ -71,7 +71,7 @@ var/datum/subsystem/shuttle/SSshuttle color_space() #endif -/datum/subsystem/shuttle/proc/setup_transit_zone() +/datum/controller/subsystem/shuttle/proc/setup_transit_zone() if(transit_markers.len == 0) WARNING("No /obj/effect/landmark/transit placed on the map!") return @@ -85,7 +85,7 @@ var/datum/subsystem/shuttle/SSshuttle T.flags |= UNUSED_TRANSIT_TURF #ifdef HIGHLIGHT_DYNAMIC_TRANSIT -/datum/subsystem/shuttle/proc/color_space() +/datum/controller/subsystem/shuttle/proc/color_space() if(transit_markers.len == 0) WARNING("No /obj/effect/landmark/transit placed on the map!") return @@ -104,7 +104,7 @@ var/datum/subsystem/shuttle/SSshuttle //world.log << "[transit_turfs.len] transit turfs registered" -/datum/subsystem/shuttle/fire() +/datum/controller/subsystem/shuttle/fire() for(var/thing in mobile) if(!thing) mobile.Remove(thing) @@ -148,19 +148,19 @@ var/datum/subsystem/shuttle/SSshuttle if(MC_TICK_CHECK) return -/datum/subsystem/shuttle/proc/getShuttle(id) +/datum/controller/subsystem/shuttle/proc/getShuttle(id) for(var/obj/docking_port/mobile/M in mobile) if(M.id == id) return M WARNING("couldn't find shuttle with id: [id]") -/datum/subsystem/shuttle/proc/getDock(id) +/datum/controller/subsystem/shuttle/proc/getDock(id) for(var/obj/docking_port/stationary/S in stationary) if(S.id == id) return S WARNING("couldn't find dock with id: [id]") -/datum/subsystem/shuttle/proc/requestEvac(mob/user, call_reason) +/datum/controller/subsystem/shuttle/proc/requestEvac(mob/user, call_reason) if(!emergency) WARNING("requestEvac(): There is no emergency shuttle, but the \ shuttle was called. Using the backup shuttle instead.") @@ -221,19 +221,19 @@ var/datum/subsystem/shuttle/SSshuttle // Called when an emergency shuttle mobile docking port is // destroyed, which will only happen with admin intervention -/datum/subsystem/shuttle/proc/emergencyDeregister() +/datum/controller/subsystem/shuttle/proc/emergencyDeregister() // When a new emergency shuttle is created, it will override the // backup shuttle. src.emergency = src.backup_shuttle -/datum/subsystem/shuttle/proc/cancelEvac(mob/user) +/datum/controller/subsystem/shuttle/proc/cancelEvac(mob/user) if(canRecall()) emergency.cancel(get_area(user)) log_game("[key_name(user)] has recalled the shuttle.") message_admins("[key_name_admin(user)] has recalled the shuttle.") return 1 -/datum/subsystem/shuttle/proc/canRecall() +/datum/controller/subsystem/shuttle/proc/canRecall() if(emergency.mode != SHUTTLE_CALL) return if(ticker.mode.name == "meteor") @@ -251,7 +251,7 @@ var/datum/subsystem/shuttle/SSshuttle return return 1 -/datum/subsystem/shuttle/proc/autoEvac() +/datum/controller/subsystem/shuttle/proc/autoEvac() var/callShuttle = 1 for(var/thing in shuttle_caller_list) @@ -275,15 +275,15 @@ var/datum/subsystem/shuttle/SSshuttle log_game("There is no means of calling the shuttle anymore. Shuttle automatically called.") message_admins("All the communications consoles were destroyed and all AIs are inactive. Shuttle called.") -/datum/subsystem/shuttle/proc/registerHostileEnvironment(datum/bad) +/datum/controller/subsystem/shuttle/proc/registerHostileEnvironment(datum/bad) hostileEnvironments[bad] = TRUE checkHostileEnvironment() -/datum/subsystem/shuttle/proc/clearHostileEnvironment(datum/bad) +/datum/controller/subsystem/shuttle/proc/clearHostileEnvironment(datum/bad) hostileEnvironments -= bad checkHostileEnvironment() -/datum/subsystem/shuttle/proc/checkHostileEnvironment() +/datum/controller/subsystem/shuttle/proc/checkHostileEnvironment() for(var/datum/d in hostileEnvironments) if(!istype(d) || QDELETED(d)) hostileEnvironments -= d @@ -304,7 +304,7 @@ var/datum/subsystem/shuttle/SSshuttle null, 'sound/AI/shuttledock.ogg', "Priority") //try to move/request to dockHome if possible, otherwise dockAway. Mainly used for admin buttons -/datum/subsystem/shuttle/proc/toggleShuttle(shuttleId, dockHome, dockAway, timed) +/datum/controller/subsystem/shuttle/proc/toggleShuttle(shuttleId, dockHome, dockAway, timed) var/obj/docking_port/mobile/M = getShuttle(shuttleId) if(!M) return 1 @@ -321,7 +321,7 @@ var/datum/subsystem/shuttle/SSshuttle return 0 //dock successful -/datum/subsystem/shuttle/proc/moveShuttle(shuttleId, dockId, timed) +/datum/controller/subsystem/shuttle/proc/moveShuttle(shuttleId, dockId, timed) var/obj/docking_port/mobile/M = getShuttle(shuttleId) var/obj/docking_port/stationary/D = getDock(dockId) @@ -335,7 +335,7 @@ var/datum/subsystem/shuttle/SSshuttle return 2 return 0 //dock successful -/datum/subsystem/shuttle/proc/request_transit_dock(obj/docking_port/mobile/M) +/datum/controller/subsystem/shuttle/proc/request_transit_dock(obj/docking_port/mobile/M) if(!istype(M)) throw EXCEPTION("[M] is not a mobile docking port") @@ -345,7 +345,7 @@ var/datum/subsystem/shuttle/SSshuttle if(!(M in transit_requesters)) transit_requesters += M -/datum/subsystem/shuttle/proc/generate_transit_dock(obj/docking_port/mobile/M) +/datum/controller/subsystem/shuttle/proc/generate_transit_dock(obj/docking_port/mobile/M) // First, determine the size of the needed zone // Because of shuttle rotation, the "width" of the shuttle is not // always x. @@ -473,14 +473,14 @@ var/datum/subsystem/shuttle/SSshuttle M.assigned_transit = new_transit_dock return TRUE -/datum/subsystem/shuttle/proc/initial_move() +/datum/controller/subsystem/shuttle/proc/initial_move() for(var/obj/docking_port/mobile/M in mobile) if(!M.roundstart_move) continue M.dockRoundstart() CHECK_TICK -/datum/subsystem/shuttle/Recover() +/datum/controller/subsystem/shuttle/Recover() if (istype(SSshuttle.mobile)) mobile = SSshuttle.mobile if (istype(SSshuttle.stationary)) diff --git a/code/controllers/subsystem/spacedrift.dm b/code/controllers/subsystem/spacedrift.dm index 6492386bd42..993c55ec9c5 100644 --- a/code/controllers/subsystem/spacedrift.dm +++ b/code/controllers/subsystem/spacedrift.dm @@ -1,6 +1,6 @@ -var/datum/subsystem/spacedrift/SSspacedrift +var/datum/controller/subsystem/spacedrift/SSspacedrift -/datum/subsystem/spacedrift +/datum/controller/subsystem/spacedrift name = "Space Drift" priority = 30 wait = 5 @@ -9,15 +9,15 @@ var/datum/subsystem/spacedrift/SSspacedrift var/list/currentrun = list() var/list/processing = list() -/datum/subsystem/spacedrift/New() +/datum/controller/subsystem/spacedrift/New() NEW_SS_GLOBAL(SSspacedrift) -/datum/subsystem/spacedrift/stat_entry() +/datum/controller/subsystem/spacedrift/stat_entry() ..("P:[processing.len]") -/datum/subsystem/spacedrift/fire(resumed = 0) +/datum/controller/subsystem/spacedrift/fire(resumed = 0) if (!resumed) src.currentrun = processing.Copy() diff --git a/code/controllers/subsystem/squeak.dm b/code/controllers/subsystem/squeak.dm index 055dc98c30e..1bfef29a238 100644 --- a/code/controllers/subsystem/squeak.dm +++ b/code/controllers/subsystem/squeak.dm @@ -1,23 +1,23 @@ -var/datum/subsystem/squeak/SSsqueak +var/datum/controller/subsystem/squeak/SSsqueak // The Squeak // because this is about placement of mice mobs, and nothing to do with // mice - the computer peripheral -/datum/subsystem/squeak +/datum/controller/subsystem/squeak name = "Squeak" priority = 40 flags = SS_NO_FIRE var/list/exposed_wires = list() -/datum/subsystem/squeak/New() +/datum/controller/subsystem/squeak/New() NEW_SS_GLOBAL(SSsqueak) -/datum/subsystem/squeak/Initialize(timeofday) +/datum/controller/subsystem/squeak/Initialize(timeofday) trigger_migration() -/datum/subsystem/squeak/proc/trigger_migration(num_mice=10) +/datum/controller/subsystem/squeak/proc/trigger_migration(num_mice=10) find_exposed_wires() var/mob/living/simple_animal/mouse/M @@ -33,7 +33,7 @@ var/datum/subsystem/squeak/SSsqueak num_mice -= 1 M = null -/datum/subsystem/squeak/proc/find_exposed_wires() +/datum/controller/subsystem/squeak/proc/find_exposed_wires() exposed_wires.Cut() var/list/all_turfs = block(locate(1,1,1), locate(world.maxx,world.maxy,1)) diff --git a/code/controllers/subsystem/stickyban.dm b/code/controllers/subsystem/stickyban.dm index e33e9f66653..23900adb4e1 100644 --- a/code/controllers/subsystem/stickyban.dm +++ b/code/controllers/subsystem/stickyban.dm @@ -1,16 +1,16 @@ -var/datum/subsystem/stickyban/SSstickyban +var/datum/controller/subsystem/stickyban/SSstickyban -/datum/subsystem/stickyban +/datum/controller/subsystem/stickyban name = "Sticky Ban" init_order = -10 flags = SS_NO_FIRE var/list/cache = list() -/datum/subsystem/stickyban/New() +/datum/controller/subsystem/stickyban/New() NEW_SS_GLOBAL(SSstickyban) -/datum/subsystem/stickyban/Initialize(timeofday) +/datum/controller/subsystem/stickyban/Initialize(timeofday) var/list/bannedkeys = world.GetConfig("ban") //sanitize the sticky ban list for (var/bannedkey in bannedkeys) diff --git a/code/controllers/subsystem/sun.dm b/code/controllers/subsystem/sun.dm index 8a4bf5b2869..65dc87005fb 100644 --- a/code/controllers/subsystem/sun.dm +++ b/code/controllers/subsystem/sun.dm @@ -1,6 +1,6 @@ -var/datum/subsystem/sun/SSsun +var/datum/controller/subsystem/sun/SSsun -/datum/subsystem/sun +/datum/controller/subsystem/sun name = "Sun" wait = 600 init_order = 2 @@ -11,7 +11,7 @@ var/datum/subsystem/sun/SSsun var/rate var/list/solars = list() -/datum/subsystem/sun/New() +/datum/controller/subsystem/sun/New() NEW_SS_GLOBAL(SSsun) angle = rand (0,360) // the station position to the sun is randomised at round start @@ -19,10 +19,10 @@ var/datum/subsystem/sun/SSsun if(prob(50)) // same chance to rotate clockwise than counter-clockwise rate = -rate -/datum/subsystem/sun/stat_entry(msg) +/datum/controller/subsystem/sun/stat_entry(msg) ..("P:[solars.len]") -/datum/subsystem/sun/fire() +/datum/controller/subsystem/sun/fire() angle = (360 + angle + rate * 6) % 360 // increase/decrease the angle to the sun, adjusted by the rate // now calculate and cache the (dx,dy) increments for line drawing diff --git a/code/controllers/subsystem/tgui.dm b/code/controllers/subsystem/tgui.dm index a9381b2eb24..04cf2cc38f3 100644 --- a/code/controllers/subsystem/tgui.dm +++ b/code/controllers/subsystem/tgui.dm @@ -1,6 +1,6 @@ -var/datum/subsystem/tgui/SStgui +var/datum/controller/subsystem/tgui/SStgui -/datum/subsystem/tgui +/datum/controller/subsystem/tgui name = "tgui" wait = 9 init_order = 16 @@ -12,18 +12,18 @@ var/datum/subsystem/tgui/SStgui var/list/processing_uis = list() // A list of processing UIs, ungrouped. var/basehtml // The HTML base used for all UIs. -/datum/subsystem/tgui/New() +/datum/controller/subsystem/tgui/New() basehtml = file2text('tgui/tgui.html') // Read the HTML from disk. NEW_SS_GLOBAL(SStgui) -/datum/subsystem/tgui/Shutdown() +/datum/controller/subsystem/tgui/Shutdown() close_all_uis() -/datum/subsystem/tgui/stat_entry() +/datum/controller/subsystem/tgui/stat_entry() ..("P:[processing_uis.len]") -/datum/subsystem/tgui/fire(resumed = 0) +/datum/controller/subsystem/tgui/fire(resumed = 0) if (!resumed) src.currentrun = processing_uis.Copy() //cache for sanic speed (lists are references anyways) diff --git a/code/controllers/subsystem/throwing.dm b/code/controllers/subsystem/throwing.dm index 2b23ac485a3..260f5698eca 100644 --- a/code/controllers/subsystem/throwing.dm +++ b/code/controllers/subsystem/throwing.dm @@ -1,8 +1,8 @@ #define MAX_THROWING_DIST 512 // 2 z-levels on default width #define MAX_TICKS_TO_MAKE_UP 3 //how many missed ticks will we attempt to make up for this run. -var/datum/subsystem/throwing/SSthrowing +var/datum/controller/subsystem/throwing/SSthrowing -/datum/subsystem/throwing +/datum/controller/subsystem/throwing name = "Throwing" priority = 25 wait = 1 @@ -11,16 +11,16 @@ var/datum/subsystem/throwing/SSthrowing var/list/currentrun var/list/processing -/datum/subsystem/throwing/New() +/datum/controller/subsystem/throwing/New() NEW_SS_GLOBAL(SSthrowing) processing = list() -/datum/subsystem/throwing/stat_entry() +/datum/controller/subsystem/throwing/stat_entry() ..("P:[processing.len]") -/datum/subsystem/throwing/fire(resumed = 0) +/datum/controller/subsystem/throwing/fire(resumed = 0) if (!resumed) src.currentrun = processing.Copy() diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index 30ce723dffa..15a510f7099 100644 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -2,9 +2,9 @@ var/round_start_time = 0 -var/datum/subsystem/ticker/ticker +var/datum/controller/subsystem/ticker/ticker -/datum/subsystem/ticker +/datum/controller/subsystem/ticker name = "Ticker" init_order = 13 @@ -56,10 +56,10 @@ var/datum/subsystem/ticker/ticker var/news_report -/datum/subsystem/ticker/New() +/datum/controller/subsystem/ticker/New() NEW_SS_GLOBAL(ticker) -/datum/subsystem/ticker/Initialize(timeofday) +/datum/controller/subsystem/ticker/Initialize(timeofday) var/list/music = file2list(ROUND_START_MUSIC_LIST, "\n") login_music = pick(music) @@ -70,7 +70,7 @@ var/datum/subsystem/ticker/ticker ..() start_at = world.time + (config.lobby_countdown * 10) -/datum/subsystem/ticker/fire() +/datum/controller/subsystem/ticker/fire() switch(current_state) if(GAME_STATE_STARTUP) if(Master.initializations_finished_with_no_players_logged_in) @@ -124,7 +124,7 @@ var/datum/subsystem/ticker/ticker toggle_ooc(1) // Turn it on declare_completion(force_ending) -/datum/subsystem/ticker/proc/setup() +/datum/controller/subsystem/ticker/proc/setup() world << "Starting game..." var/init_start = world.timeofday //Create and announce mode @@ -220,7 +220,7 @@ var/datum/subsystem/ticker/ticker return 1 -/datum/subsystem/ticker/proc/PostSetup() +/datum/controller/subsystem/ticker/proc/PostSetup() set waitfor = 0 mode.post_setup() //Cleanup some stuff @@ -233,7 +233,7 @@ var/datum/subsystem/ticker/ticker var/list/allmins = adm["present"] send2irc("Server", "Round of [hide_mode ? "secret":"[mode.name]"] has started[allmins.len ? ".":" with no active admins online!"]") -/datum/subsystem/ticker/proc/station_explosion_detonation(atom/bomb) +/datum/controller/subsystem/ticker/proc/station_explosion_detonation(atom/bomb) if(bomb) //BOOM var/turf/epi = bomb.loc qdel(bomb) @@ -241,7 +241,7 @@ var/datum/subsystem/ticker/ticker explosion(epi, 0, 256, 512, 0, TRUE, TRUE, 0, TRUE) //Plus it provides an easy way to make cinematics for other events. Just use this as a template -/datum/subsystem/ticker/proc/station_explosion_cinematic(station_missed=0, override = null, atom/bomb = null) +/datum/controller/subsystem/ticker/proc/station_explosion_cinematic(station_missed=0, override = null, atom/bomb = null) if( cinematic ) return //already a cinematic in progress! @@ -355,7 +355,7 @@ var/datum/subsystem/ticker/ticker addtimer(CALLBACK(src, .proc/finish_cinematic, bombloc, actually_blew_up), 300) -/datum/subsystem/ticker/proc/finish_cinematic(killz, actually_blew_up) +/datum/controller/subsystem/ticker/proc/finish_cinematic(killz, actually_blew_up) if(cinematic) qdel(cinematic) //end the cinematic cinematic = null @@ -364,7 +364,7 @@ var/datum/subsystem/ticker/ticker if(actually_blew_up && !isnull(killz) && M.stat != DEAD && M.z == killz) M.gib() -/datum/subsystem/ticker/proc/create_characters() +/datum/controller/subsystem/ticker/proc/create_characters() for(var/mob/new_player/player in player_list) if(player.ready && player.mind) joined_player_list += player.ckey @@ -373,14 +373,14 @@ var/datum/subsystem/ticker/ticker player.new_player_panel() CHECK_TICK -/datum/subsystem/ticker/proc/collect_minds() +/datum/controller/subsystem/ticker/proc/collect_minds() for(var/mob/living/player in player_list) if(player.mind) ticker.minds += player.mind CHECK_TICK -/datum/subsystem/ticker/proc/equip_characters() +/datum/controller/subsystem/ticker/proc/equip_characters() var/captainless=1 for(var/mob/new_player/N in player_list) var/mob/living/carbon/human/player = N.new_character @@ -396,7 +396,7 @@ var/datum/subsystem/ticker/ticker N << "Captainship not forced on anyone." CHECK_TICK -/datum/subsystem/ticker/proc/transfer_characters() +/datum/controller/subsystem/ticker/proc/transfer_characters() var/list/livings = list() for(var/mob/new_player/player in player_list) var/mob/living = player.transfer_character() @@ -410,12 +410,12 @@ var/datum/subsystem/ticker/ticker if(livings.len) addtimer(CALLBACK(src, .proc/release_characters, livings), 30, TIMER_CLIENT_TIME) -/datum/subsystem/ticker/proc/release_characters(list/livings) +/datum/controller/subsystem/ticker/proc/release_characters(list/livings) for(var/I in livings) var/mob/living/L = I L.notransform = FALSE -/datum/subsystem/ticker/proc/declare_completion() +/datum/controller/subsystem/ticker/proc/declare_completion() set waitfor = FALSE var/station_evacuated = EMERGENCY_ESCAPED_OR_ENDGAMED var/num_survivors = 0 @@ -605,7 +605,7 @@ var/datum/subsystem/ticker/ticker else world.Reboot("Round ended.", "end_proper", "proper completion") -/datum/subsystem/ticker/proc/send_tip_of_the_round() +/datum/controller/subsystem/ticker/proc/send_tip_of_the_round() var/m if(selected_tip) m = selected_tip @@ -621,7 +621,7 @@ var/datum/subsystem/ticker/ticker world << "Tip of the round: \ [html_encode(m)]" -/datum/subsystem/ticker/proc/check_queue() +/datum/controller/subsystem/ticker/proc/check_queue() if(!queued_players.len || !config.hard_popcap) return @@ -643,7 +643,7 @@ var/datum/subsystem/ticker/ticker queued_players -= next_in_line queue_delay = 0 -/datum/subsystem/ticker/proc/check_maprotate() +/datum/controller/subsystem/ticker/proc/check_maprotate() if (!config.maprotation) return if (SSshuttle.emergency.mode != SHUTTLE_ESCAPE || SSshuttle.canRecall()) @@ -656,7 +656,7 @@ var/datum/subsystem/ticker/ticker //map rotate chance defaults to 75% of the length of the round (in minutes) if (!prob((world.time/600)*config.maprotatechancedelta)) return - INVOKE_ASYNC(SSmapping, /datum/subsystem/mapping/.proc/maprotate) + INVOKE_ASYNC(SSmapping, /datum/controller/subsystem/mapping/.proc/maprotate) /world/proc/has_round_started() @@ -664,7 +664,7 @@ var/datum/subsystem/ticker/ticker return TRUE return FALSE -/datum/subsystem/ticker/Recover() +/datum/controller/subsystem/ticker/Recover() current_state = ticker.current_state force_ending = ticker.force_ending hide_mode = ticker.hide_mode @@ -698,7 +698,7 @@ var/datum/subsystem/ticker/ticker maprotatechecked = ticker.maprotatechecked -/datum/subsystem/ticker/proc/send_news_report() +/datum/controller/subsystem/ticker/proc/send_news_report() var/news_message var/news_source = "Nanotrasen News Network" switch(news_report) @@ -750,12 +750,12 @@ var/datum/subsystem/ticker/ticker if(news_message) send2otherserver(news_source, news_message,"News_Report") -/datum/subsystem/ticker/proc/GetTimeLeft() +/datum/controller/subsystem/ticker/proc/GetTimeLeft() if(isnull(ticker.timeLeft)) return max(0, start_at - world.time) return timeLeft -/datum/subsystem/ticker/proc/SetTimeLeft(newtime) +/datum/controller/subsystem/ticker/proc/SetTimeLeft(newtime) if(newtime >= 0 && isnull(timeLeft)) //remember, negative means delayed start_at = world.time + newtime else diff --git a/code/controllers/subsystem/time_tracking.dm b/code/controllers/subsystem/time_tracking.dm index df87d9d125e..a24b803cf61 100644 --- a/code/controllers/subsystem/time_tracking.dm +++ b/code/controllers/subsystem/time_tracking.dm @@ -1,6 +1,6 @@ -var/datum/subsystem/time_track/SStime_track +var/datum/controller/subsystem/time_track/SStime_track -/datum/subsystem/time_track +/datum/controller/subsystem/time_track name = "Time Tracking" wait = 600 flags = SS_NO_INIT|SS_FIRE_IN_LOBBY @@ -17,10 +17,10 @@ var/datum/subsystem/time_track/SStime_track var/last_tick_byond_time = 0 var/last_tick_tickcount = 0 -/datum/subsystem/time_track/New() +/datum/controller/subsystem/time_track/New() NEW_SS_GLOBAL(SStime_track) -/datum/subsystem/time_track/fire() +/datum/controller/subsystem/time_track/fire() var/current_realtime = REALTIMEOFDAY var/current_byondtime = world.time diff --git a/code/controllers/subsystem/timer.dm b/code/controllers/subsystem/timer.dm index 1d8f9e2aa6d..34c9f35d596 100644 --- a/code/controllers/subsystem/timer.dm +++ b/code/controllers/subsystem/timer.dm @@ -1,8 +1,8 @@ #define BUCKET_LEN (world.fps*1*60) //how many ticks should we keep in the bucket. (1 minutes worth) #define BUCKET_POS(timer) (round((timer.timeToRun - SStimer.head_offset) / world.tick_lag) + 1) -var/datum/subsystem/timer/SStimer +var/datum/controller/subsystem/timer/SStimer -/datum/subsystem/timer +/datum/controller/subsystem/timer name = "Timer" wait = 1 //SS_TICKER subsystem, so wait is in ticks init_order = 1 @@ -24,7 +24,7 @@ var/datum/subsystem/timer/SStimer var/list/clienttime_timers //special snowflake timers that run on fancy pansy "client time" -/datum/subsystem/timer/New() +/datum/controller/subsystem/timer/New() processing = list() hashes = list() bucket_list = list() @@ -35,10 +35,10 @@ var/datum/subsystem/timer/SStimer NEW_SS_GLOBAL(SStimer) -/datum/subsystem/timer/stat_entry(msg) +/datum/controller/subsystem/timer/stat_entry(msg) ..("B:[bucket_count] P:[length(processing)] H:[length(hashes)] C:[length(clienttime_timers)]") -/datum/subsystem/timer/fire(resumed = FALSE) +/datum/controller/subsystem/timer/fire(resumed = FALSE) while(length(clienttime_timers)) var/datum/timedevent/ctime_timer = clienttime_timers[clienttime_timers.len] if (ctime_timer.timeToRun <= REALTIMEOFDAY) @@ -106,7 +106,7 @@ var/datum/subsystem/timer/SStimer spent.len = 0 -/datum/subsystem/timer/proc/shift_buckets() +/datum/controller/subsystem/timer/proc/shift_buckets() var/list/bucket_list = src.bucket_list var/list/alltimers = list() //collect the timers currently in the bucket @@ -171,7 +171,7 @@ var/datum/subsystem/timer/SStimer processing = (alltimers - timers_to_remove) -/datum/subsystem/timer/Recover() +/datum/controller/subsystem/timer/Recover() processing |= SStimer.processing hashes |= SStimer.hashes timer_id_dict |= SStimer.timer_id_dict diff --git a/code/controllers/subsystem/title_screen.dm b/code/controllers/subsystem/title_screen.dm index c822c6998c4..1b4bd160539 100644 --- a/code/controllers/subsystem/title_screen.dm +++ b/code/controllers/subsystem/title_screen.dm @@ -1,15 +1,15 @@ -var/datum/subsystem/title/SStitle +var/datum/controller/subsystem/title/SStitle -/datum/subsystem/title +/datum/controller/subsystem/title name = "Title Screen" init_order = 15 flags = SS_NO_FIRE var/turf/closed/indestructible/splashscreen/title_screen -/datum/subsystem/title/New() +/datum/controller/subsystem/title/New() NEW_SS_GLOBAL(SStitle) -/datum/subsystem/title/Initialize() +/datum/controller/subsystem/title/Initialize() var/list/provisional_title_screens = flist("config/title_screens/images/") var/list/title_screens = list() var/use_rare_screens = FALSE diff --git a/code/controllers/subsystem/voting.dm b/code/controllers/subsystem/voting.dm index eafe7ebf880..831aefea5c0 100644 --- a/code/controllers/subsystem/voting.dm +++ b/code/controllers/subsystem/voting.dm @@ -1,6 +1,6 @@ -var/datum/subsystem/vote/SSvote +var/datum/controller/subsystem/vote/SSvote -/datum/subsystem/vote +/datum/controller/subsystem/vote name = "Vote" wait = 10 @@ -16,10 +16,10 @@ var/datum/subsystem/vote/SSvote var/list/voting = list() var/list/generated_actions = list() -/datum/subsystem/vote/New() +/datum/controller/subsystem/vote/New() NEW_SS_GLOBAL(SSvote) -/datum/subsystem/vote/fire() //called by master_controller +/datum/controller/subsystem/vote/fire() //called by master_controller if(mode) time_remaining = round((started_time + config.vote_period - world.time)/10) @@ -37,7 +37,7 @@ var/datum/subsystem/vote/SSvote client_popup.open(0) -/datum/subsystem/vote/proc/reset() +/datum/controller/subsystem/vote/proc/reset() initiator = null time_remaining = 0 mode = null @@ -47,7 +47,7 @@ var/datum/subsystem/vote/SSvote voting.Cut() remove_action_buttons() -/datum/subsystem/vote/proc/get_result() +/datum/controller/subsystem/vote/proc/get_result() //get the highest number of votes var/greatest_votes = 0 var/total_votes = 0 @@ -82,7 +82,7 @@ var/datum/subsystem/vote/SSvote . += option return . -/datum/subsystem/vote/proc/announce_result() +/datum/controller/subsystem/vote/proc/announce_result() var/list/winners = get_result() var/text if(winners.len > 0) @@ -111,7 +111,7 @@ var/datum/subsystem/vote/SSvote world << "\n[text]" return . -/datum/subsystem/vote/proc/result() +/datum/controller/subsystem/vote/proc/result() . = announce_result() var/restart = 0 if(.) @@ -140,7 +140,7 @@ var/datum/subsystem/vote/SSvote return . -/datum/subsystem/vote/proc/submit_vote(vote) +/datum/controller/subsystem/vote/proc/submit_vote(vote) if(mode) if(config.vote_no_dead && usr.stat == DEAD && !usr.client.holder) return 0 @@ -151,7 +151,7 @@ var/datum/subsystem/vote/SSvote return vote return 0 -/datum/subsystem/vote/proc/initiate_vote(vote_type, initiator_key) +/datum/controller/subsystem/vote/proc/initiate_vote(vote_type, initiator_key) if(!mode) if(started_time) var/next_allowed_time = (started_time + config.vote_delay) @@ -204,7 +204,7 @@ var/datum/subsystem/vote/SSvote return 1 return 0 -/datum/subsystem/vote/proc/interface(client/C) +/datum/controller/subsystem/vote/proc/interface(client/C) if(!C) return var/admin = 0 @@ -256,7 +256,7 @@ var/datum/subsystem/vote/SSvote return . -/datum/subsystem/vote/Topic(href,href_list[],hsrc) +/datum/controller/subsystem/vote/Topic(href,href_list[],hsrc) if(!usr || !usr.client) return //not necessary but meh...just in-case somebody does something stupid switch(href_list["vote"]) @@ -286,7 +286,7 @@ var/datum/subsystem/vote/SSvote submit_vote(round(text2num(href_list["vote"]))) usr.vote() -/datum/subsystem/vote/proc/remove_action_buttons() +/datum/controller/subsystem/vote/proc/remove_action_buttons() for(var/v in generated_actions) var/datum/action/vote/V = v if(!QDELETED(V)) diff --git a/code/controllers/subsystem/weather.dm b/code/controllers/subsystem/weather.dm index 3f6acab8cdb..824ea9ad7e6 100644 --- a/code/controllers/subsystem/weather.dm +++ b/code/controllers/subsystem/weather.dm @@ -1,7 +1,7 @@ //Used for all kinds of weather, ex. lavaland ash storms. -var/datum/subsystem/weather/SSweather -/datum/subsystem/weather +var/datum/controller/subsystem/weather/SSweather +/datum/controller/subsystem/weather name = "Weather" flags = SS_BACKGROUND wait = 10 @@ -9,10 +9,10 @@ var/datum/subsystem/weather/SSweather var/list/existing_weather = list() var/list/eligible_zlevels = list(ZLEVEL_LAVALAND) -/datum/subsystem/weather/New() +/datum/controller/subsystem/weather/New() NEW_SS_GLOBAL(SSweather) -/datum/subsystem/weather/fire() +/datum/controller/subsystem/weather/fire() for(var/V in processing) var/datum/weather/W = V if(W.aesthetic) @@ -31,13 +31,13 @@ var/datum/subsystem/weather/SSweather eligible_zlevels -= Z addtimer(CALLBACK(src, .proc/make_z_eligible, Z), rand(3000, 6000) + W.weather_duration_upper, TIMER_UNIQUE) //Around 5-10 minutes between weathers -/datum/subsystem/weather/Initialize(start_timeofday) +/datum/controller/subsystem/weather/Initialize(start_timeofday) ..() for(var/V in subtypesof(/datum/weather)) var/datum/weather/W = V new W //weather->New will handle adding itself to the list -/datum/subsystem/weather/proc/run_weather(weather_name, Z) +/datum/controller/subsystem/weather/proc/run_weather(weather_name, Z) if(!weather_name) return for(var/V in existing_weather) @@ -45,5 +45,5 @@ var/datum/subsystem/weather/SSweather if(W.name == weather_name && W.target_z == Z) W.telegraph() -/datum/subsystem/weather/proc/make_z_eligible(zlevel) +/datum/controller/subsystem/weather/proc/make_z_eligible(zlevel) eligible_zlevels |= zlevel diff --git a/code/modules/events/wizard/fakeexplosion.dm b/code/modules/events/wizard/fakeexplosion.dm index e8e8352c79a..3cc8b68bd00 100644 --- a/code/modules/events/wizard/fakeexplosion.dm +++ b/code/modules/events/wizard/fakeexplosion.dm @@ -8,4 +8,4 @@ /datum/round_event/wizard/fake_explosion/start() for(var/mob/M in player_list) M << 'sound/machines/Alarm.ogg' - addtimer(CALLBACK(ticker, /datum/subsystem/ticker/.proc/station_explosion_cinematic, 1, "fake"), 100) //:o) \ No newline at end of file + addtimer(CALLBACK(ticker, /datum/controller/subsystem/ticker/.proc/station_explosion_cinematic, 1, "fake"), 100) //:o) \ No newline at end of file diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 553207946ce..7227ea03c07 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -585,7 +585,7 @@ var/next_mob_id = 0 stat("Failsafe Controller:", "ERROR") if(Master) stat(null) - for(var/datum/subsystem/SS in Master.subsystems) + for(var/datum/controller/subsystem/SS in Master.subsystems) SS.stat_entry() cameranet.stat_entry() diff --git a/code/modules/tgui/subsystem.dm b/code/modules/tgui/subsystem.dm index 7de55141580..b010a2f5103 100644 --- a/code/modules/tgui/subsystem.dm +++ b/code/modules/tgui/subsystem.dm @@ -17,7 +17,7 @@ * * return datum/tgui The found UI. **/ -/datum/subsystem/tgui/proc/try_update_ui(mob/user, datum/src_object, ui_key, datum/tgui/ui, force_open = 0) +/datum/controller/subsystem/tgui/proc/try_update_ui(mob/user, datum/src_object, ui_key, datum/tgui/ui, force_open = 0) if(isnull(ui)) // No UI was passed, so look for one. ui = get_open_ui(user, src_object, ui_key) @@ -42,7 +42,7 @@ * * return datum/tgui The found UI. **/ -/datum/subsystem/tgui/proc/get_open_ui(mob/user, datum/src_object, ui_key) +/datum/controller/subsystem/tgui/proc/get_open_ui(mob/user, datum/src_object, ui_key) var/src_object_key = "\ref[src_object]" if(isnull(open_uis[src_object_key]) || !istype(open_uis[src_object_key], /list)) return null // No UIs open. @@ -64,7 +64,7 @@ * * return int The number of UIs updated. **/ -/datum/subsystem/tgui/proc/update_uis(datum/src_object) +/datum/controller/subsystem/tgui/proc/update_uis(datum/src_object) var/src_object_key = "\ref[src_object]" if(isnull(open_uis[src_object_key]) || !istype(open_uis[src_object_key], /list)) return 0 // Couldn't find any UIs for this object. @@ -86,7 +86,7 @@ * * return int The number of UIs closed. **/ -/datum/subsystem/tgui/proc/close_uis(datum/src_object) +/datum/controller/subsystem/tgui/proc/close_uis(datum/src_object) var/src_object_key = "\ref[src_object]" if(isnull(open_uis[src_object_key]) || !istype(open_uis[src_object_key], /list)) return 0 // Couldn't find any UIs for this object. @@ -106,7 +106,7 @@ * * return int The number of UIs closed. **/ -/datum/subsystem/tgui/proc/close_all_uis() +/datum/controller/subsystem/tgui/proc/close_all_uis() var/close_count = 0 for(var/src_object_key in open_uis) for(var/ui_key in open_uis[src_object_key]) @@ -127,7 +127,7 @@ * * return int The number of UIs updated. **/ -/datum/subsystem/tgui/proc/update_user_uis(mob/user, datum/src_object = null, ui_key = null) +/datum/controller/subsystem/tgui/proc/update_user_uis(mob/user, datum/src_object = null, ui_key = null) if(isnull(user.open_uis) || !istype(user.open_uis, /list) || open_uis.len == 0) return 0 // Couldn't find any UIs for this user. @@ -149,7 +149,7 @@ * * return int The number of UIs closed. **/ -/datum/subsystem/tgui/proc/close_user_uis(mob/user, datum/src_object = null, ui_key = null) +/datum/controller/subsystem/tgui/proc/close_user_uis(mob/user, datum/src_object = null, ui_key = null) if(isnull(user.open_uis) || !istype(user.open_uis, /list) || open_uis.len == 0) return 0 // Couldn't find any UIs for this user. @@ -167,7 +167,7 @@ * * required ui datum/tgui The UI to be added. **/ -/datum/subsystem/tgui/proc/on_open(datum/tgui/ui) +/datum/controller/subsystem/tgui/proc/on_open(datum/tgui/ui) var/src_object_key = "\ref[ui.src_object]" if(isnull(open_uis[src_object_key]) || !istype(open_uis[src_object_key], /list)) open_uis[src_object_key] = list(ui.ui_key = list()) // Make a list for the ui_key and src_object. @@ -189,7 +189,7 @@ * * return bool If the UI was removed or not. **/ -/datum/subsystem/tgui/proc/on_close(datum/tgui/ui) +/datum/controller/subsystem/tgui/proc/on_close(datum/tgui/ui) var/src_object_key = "\ref[ui.src_object]" if(isnull(open_uis[src_object_key]) || !istype(open_uis[src_object_key], /list)) return 0 // It wasn't open. @@ -219,7 +219,7 @@ * * return int The number of UIs closed. **/ -/datum/subsystem/tgui/proc/on_logout(mob/user) +/datum/controller/subsystem/tgui/proc/on_logout(mob/user) return close_user_uis(user) /** @@ -232,7 +232,7 @@ * * return bool If the UIs were transferred. **/ -/datum/subsystem/tgui/proc/on_transfer(mob/source, mob/target) +/datum/controller/subsystem/tgui/proc/on_transfer(mob/source, mob/target) if(!source || isnull(source.open_uis) || !istype(source.open_uis, /list) || open_uis.len == 0) return 0 // The old mob had no open UIs. diff --git a/code/world.dm b/code/world.dm index cf0e259472b..bd2850f7371 100644 --- a/code/world.dm +++ b/code/world.dm @@ -56,7 +56,7 @@ data_core = new /datum/datacore() - Master.Setup(10, FALSE) + Master.Initialize(10, FALSE) #define IRC_STATUS_THROTTLE 50 /world/Topic(T, addr, master, key)