From a6a91347ff3b8a3a14b145dae1f38f59ffed4dce Mon Sep 17 00:00:00 2001 From: Putnam Date: Wed, 13 Jan 2021 21:28:58 -0800 Subject: [PATCH] Fixed machinery not being processed. --- code/__DEFINES/subsystems.dm | 1 + code/controllers/subsystem/air.dm | 9 ++++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/code/__DEFINES/subsystems.dm b/code/__DEFINES/subsystems.dm index 68b942c979..248d5eb81c 100644 --- a/code/__DEFINES/subsystems.dm +++ b/code/__DEFINES/subsystems.dm @@ -150,6 +150,7 @@ #define SSAIR_EQUALIZE 8 #define SSAIR_ACTIVETURFS 9 #define SSAIR_TURF_POST_PROCESS 10 +#define SSAIR_FINALIZE_TURFS 11 // |= on overlays is not actually guaranteed to not add same appearances but we're optimistically using it anyway. #define COMPILE_OVERLAYS(A)\ diff --git a/code/controllers/subsystem/air.dm b/code/controllers/subsystem/air.dm index a07e95e1c5..50db62f4e7 100644 --- a/code/controllers/subsystem/air.dm +++ b/code/controllers/subsystem/air.dm @@ -114,12 +114,15 @@ SUBSYSTEM_DEF(air) if(state != SS_RUNNING) return resumed = 0 - currentpart = SSAIR_ATMOSMACHINERY - - if(currentpart == SSAIR_ATMOSMACHINERY) + currentpart = SSAIR_FINALIZE_TURFS + if(currentpart == SSAIR_FINALIZE_TURFS) if(finish_turf_processing(MC_TICK_REMAINING_MS)) pause() + if(state != SS_RUNNING) return + resumed = 0 + currentpart = SSAIR_ATMOSMACHINERY + if(currentpart == SSAIR_ATMOSMACHINERY) timer = TICK_USAGE_REAL process_atmos_machinery(resumed) cost_atmos_machinery = MC_AVERAGE(cost_atmos_machinery, TICK_DELTA_TO_MS(TICK_USAGE_REAL - timer))