SS Conversion: Atoms, Machines, n' Mobs

This converts the machine and mob processes to the SMC. Additionally, it
adds the Atom subsystem, which handles all Initialize() calls in place
of the old gameticker. Due to incompatibility with our atmospherics
(FUCK OUR ATMOSPHERICS FOR FUCKING EVER JESUS CHRIST WHO THE FUCK MADE
THIS PIECE OF GODDAMN SHIT) atmospherics machines do not use
Initialize() as they should, instead opting for a custom atmos_init
proc that the air controller handles.
This commit is contained in:
tigercat2000
2018-04-28 13:52:33 -07:00
parent dabdbd4426
commit 7d8c9a731a
181 changed files with 765 additions and 571 deletions
@@ -0,0 +1,38 @@
//Used to process objects. Fires once every second.
//TODO: Implement fully when process scheduler dies
/*
SUBSYSTEM_DEF(processing)
name = "Processing"
priority = FIRE_PRIORITY_PROCESS
flags = SS_BACKGROUND|SS_POST_FIRE_TIMING|SS_NO_INIT
wait = 10
var/stat_tag = "P" //Used for logging
var/list/processing = list()
var/list/currentrun = list()
/datum/controller/subsystem/processing/stat_entry()
..("[stat_tag]:[processing.len]")
/datum/controller/subsystem/processing/fire(resumed = 0)
if (!resumed)
currentrun = processing.Copy()
//cache for sanic speed (lists are references anyways)
var/list/current_run = currentrun
while(current_run.len)
var/datum/thing = current_run[current_run.len]
current_run.len--
if(QDELETED(thing) || thing.process(wait) == PROCESS_KILL)
processing -= thing
if (MC_TICK_CHECK)
return
*/
/datum/var/isprocessing = FALSE
/*
/datum/proc/process()
set waitfor = 0
STOP_PROCESSING(SSobj, src)
return 0
*/