Fixes maploading so that the cyberiad and space hotel load cleanly again

This commit is contained in:
Crazylemon64
2018-07-07 11:49:51 -07:00
parent 838e19083f
commit b2d0bb1c0b
26 changed files with 139 additions and 109 deletions
+22 -10
View File
@@ -66,8 +66,8 @@ SUBSYSTEM_DEF(air)
/datum/controller/subsystem/air/Initialize(timeofday)
setup_overlays() // Assign icons and such for gas-turf-overlays
setup_allturfs()
setup_atmos_machinery()
setup_pipenets()
setup_atmos_machinery(machines)
setup_pipenets(machines)
..()
@@ -316,11 +316,17 @@ SUBSYSTEM_DEF(air)
ET.excited = 1
. += ET
/datum/controller/subsystem/air/proc/setup_atmos_machinery()
/datum/controller/subsystem/air/proc/setup_atmos_machinery(var/list/machines_to_init)
var/watch = start_watch()
var/count = 0
log_startup_progress("Initializing atmospherics machinery...")
for(var/obj/machinery/atmospherics/A in machines)
var/count = _setup_atmos_machinery(machines_to_init)
log_startup_progress(" Initialized [count] atmospherics machines in [stop_watch(watch)]s.")
// this underscored variant is so that we can have a means of late initing
// atmos machinery without a loud announcement to the world
/datum/controller/subsystem/air/proc/_setup_atmos_machinery(var/list/machines_to_init)
var/count = 0
for(var/obj/machinery/atmospherics/A in machines_to_init)
A.atmos_init()
count++
if(istype(A, /obj/machinery/atmospherics/unary/vent_pump))
@@ -329,19 +335,25 @@ SUBSYSTEM_DEF(air)
else if(istype(A, /obj/machinery/atmospherics/unary/vent_scrubber))
var/obj/machinery/atmospherics/unary/vent_scrubber/T = A
T.broadcast_status()
log_startup_progress(" Initialized [count] atmospherics machines in [stop_watch(watch)]s.")
return count
//this can't be done with setup_atmos_machinery() because
// all atmos machinery has to initalize before the first
// pipenet can be built.
/datum/controller/subsystem/air/proc/setup_pipenets()
/datum/controller/subsystem/air/proc/setup_pipenets(var/list/pipes)
var/watch = start_watch()
var/count = 0
log_startup_progress("Initializing pipe networks...")
for(var/obj/machinery/atmospherics/machine in machines)
var/count = _setup_pipenets(pipes)
log_startup_progress(" Initialized [count] pipenets in [stop_watch(watch)]s.")
// An underscored wrapper that exists for the same reason
// the machine init wrapper does
/datum/controller/subsystem/air/proc/_setup_pipenets(var/list/pipes)
var/count = 0
for(var/obj/machinery/atmospherics/machine in pipes)
machine.build_network()
count++
log_startup_progress(" Initialized [count] pipenets in [stop_watch(watch)]s.")
return count
/datum/controller/subsystem/air/proc/setup_overlays()
plmaster = new /obj/effect/overlay()
+18 -6
View File
@@ -23,7 +23,7 @@ SUBSYSTEM_DEF(atoms)
/datum/controller/subsystem/atoms/proc/InitializeAtoms(list/atoms)
/datum/controller/subsystem/atoms/proc/InitializeAtoms(list/atoms, noisy = TRUE)
if(initialized == INITIALIZATION_INSSATOMS)
return
@@ -32,7 +32,10 @@ SUBSYSTEM_DEF(atoms)
LAZYINITLIST(late_loaders)
var/watch = start_watch()
log_startup_progress("Initializing atoms...")
if(noisy)
log_startup_progress("Initializing atoms...")
else
log_debug("Initializing atoms...")
var/count
var/list/mapload_arg = list(TRUE)
if(atoms)
@@ -52,18 +55,27 @@ SUBSYSTEM_DEF(atoms)
++count
CHECK_TICK
log_startup_progress(" Initialized [count] atoms in [stop_watch(watch)]s")
if(noisy)
log_startup_progress(" Initialized [count] atoms in [stop_watch(watch)]s")
else
log_debug(" Initialized [count] atoms in [stop_watch(watch)]s")
pass(count)
initialized = INITIALIZATION_INNEW_REGULAR
if(late_loaders.len)
watch = start_watch()
log_startup_progress("Late-initializing atoms...")
if(noisy)
log_startup_progress("Late-initializing atoms...")
else
log_debug("Late-initializing atoms...")
for(var/I in late_loaders)
var/atom/A = I
A.LateInitialize()
log_startup_progress(" Late initialized [late_loaders.len] atoms in [stop_watch(watch)]s")
if(noisy)
log_startup_progress(" Late initialized [late_loaders.len] atoms in [stop_watch(watch)]s")
else
log_debug(" Late initialized [late_loaders.len] atoms in [stop_watch(watch)]s")
late_loaders.Cut()
if(atoms)
@@ -117,4 +129,4 @@ SUBSYSTEM_DEF(atoms)
if(initialized == INITIALIZATION_INNEW_MAPLOAD)
InitializeAtoms()
old_initialized = SSatoms.old_initialized
BadInitializeCalls = SSatoms.BadInitializeCalls
BadInitializeCalls = SSatoms.BadInitializeCalls