diff --git a/code/__DEFINES/subsystems.dm b/code/__DEFINES/subsystems.dm index 9da5f90530..5a0dded276 100644 --- a/code/__DEFINES/subsystems.dm +++ b/code/__DEFINES/subsystems.dm @@ -23,8 +23,8 @@ #define FLIGHTSUIT_PROCESSING_FULL 1 #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) +#define INITIALIZATION_INNEW_MAPLOAD 2 //New should call Initialize(TRUE) +#define INITIALIZATION_INNEW_REGULAR 1 //New should call Initialize(FALSE) #define INITIALIZE_HINT_NORMAL 0 //Nothing happens #define INITIALIZE_HINT_LATELOAD 1 //Call LateInitialize diff --git a/code/controllers/subsystem.dm b/code/controllers/subsystem.dm index 4937a3499b..8d450e3a8e 100644 --- a/code/controllers/subsystem.dm +++ b/code/controllers/subsystem.dm @@ -8,6 +8,8 @@ var/flags = 0 //see MC.dm in __DEFINES Most flags must be set on world start to take full effect. (You can also restart the mc to force them to process again) + var/initialized = FALSE //set to TRUE after it has been initialized, will obviously never be set if the subsystem doesn't initialize + //set to 0 to prevent fire() calls, mostly for admin use or subsystems that may be resumed later // use the SS_NO_FIRE flag instead for systems that never fire to keep it from even being added to the list var/can_fire = TRUE @@ -156,6 +158,7 @@ //used to initialize the subsystem AFTER the map has loaded /datum/controller/subsystem/Initialize(start_timeofday) + initialized = TRUE var/time = (REALTIMEOFDAY - start_timeofday) / 10 var/msg = "Initialized [name] subsystem within [time] second[time == 1 ? "" : "s"]!" to_chat(world, "[msg]") diff --git a/code/controllers/subsystem/atoms.dm b/code/controllers/subsystem/atoms.dm index aeadfcf94e..c24f4f0a37 100644 --- a/code/controllers/subsystem/atoms.dm +++ b/code/controllers/subsystem/atoms.dm @@ -8,7 +8,6 @@ SUBSYSTEM_DEF(atoms) init_order = INIT_ORDER_ATOMS flags = SS_NO_FIRE - var/initialized = INITIALIZATION_INSSATOMS var/old_initialized var/list/late_loaders diff --git a/code/controllers/subsystem/lighting.dm b/code/controllers/subsystem/lighting.dm index 8e19b265cf..43565846fb 100644 --- a/code/controllers/subsystem/lighting.dm +++ b/code/controllers/subsystem/lighting.dm @@ -8,8 +8,6 @@ SUBSYSTEM_DEF(lighting) init_order = INIT_ORDER_LIGHTING flags = SS_TICKER - var/initialized = FALSE - /datum/controller/subsystem/lighting/stat_entry() ..("L:[GLOB.lighting_update_lights.len]|C:[GLOB.lighting_update_corners.len]|O:[GLOB.lighting_update_objects.len]") diff --git a/code/controllers/subsystem/overlays.dm b/code/controllers/subsystem/overlays.dm index c0ccdddb31..d0b2e8c303 100644 --- a/code/controllers/subsystem/overlays.dm +++ b/code/controllers/subsystem/overlays.dm @@ -10,7 +10,6 @@ SUBSYSTEM_DEF(overlays) var/list/stats var/list/overlay_icon_state_caches var/list/overlay_icon_cache - var/initialized = FALSE /datum/controller/subsystem/overlays/PreInit() overlay_icon_state_caches = list()