works but leaks

This commit is contained in:
Putnam
2021-05-30 00:28:51 -07:00
parent 7a8d3148e0
commit 1c17570ea8
9 changed files with 26 additions and 8 deletions
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
+10 -1
View File
@@ -105,6 +105,15 @@ SUBSYSTEM_DEF(air)
/datum/controller/subsystem/air/proc/auxtools_update_reactions()
/proc/reset_all_air()
SSair.can_fire = 0
message_admins("Air reset begun.")
for(var/turf/open/T in world)
T.Initalize_Atmos(0)
CHECK_TICK
message_admins("Air reset done.")
SSair.can_fire = 1
/datum/controller/subsystem/air/proc/thread_running()
return FALSE
@@ -113,7 +122,7 @@ SUBSYSTEM_DEF(air)
/datum/admins/proc/fixcorruption()
set category = "Debug"
set desc="Fixes air that has weird NaNs (-1.#IND and such). Hopefully."
set name="Fix Air"
set name="Fix Infinite Air"
fix_corrupted_atmos()
/datum/controller/subsystem/air/fire(resumed = 0)
+6 -2
View File
@@ -148,16 +148,20 @@ GLOBAL_LIST_INIT(blacklisted_automated_baseturfs, typecacheof(list(
. = ..()
if (!.) // changeturf failed or didn't do anything
QDEL_NULL(stashed_air)
update_air_ref(planetary_atmos ? 1 : 2)
return
var/turf/open/newTurf = .
newTurf.air.copy_from(stashed_air)
update_air_ref(planetary_atmos ? 1 : 2)
QDEL_NULL(stashed_air)
else
if(ispath(path,/turf/closed))
flags |= CHANGETURF_RECALC_ADJACENT
update_air_ref(-1)
return ..()
. = ..()
else
. = ..()
if(!istype(air,/datum/gas_mixture))
Initalize_Atmos(0)
// Take off the top layer turf and replace it with the next baseturf down
/turf/proc/ScrapeAway(amount=1, flags)
+6
View File
@@ -218,6 +218,12 @@
flash_color(L, flash_color = "#C80000", flash_time = 10)
/turf/open/Initalize_Atmos(times_fired)
if(!blocks_air)
if(!istype(air,/datum/gas_mixture/turf))
air = new(2500,src)
air.copy_from_turf(src)
update_air_ref(planetary_atmos ? 1 : 2)
update_visuals()
ImmediateCalculateAdjacentTurfs()
+1
View File
@@ -272,6 +272,7 @@ GLOBAL_LIST(topic_status_cache)
log_world("World rebooted at [TIME_STAMP("hh:mm:ss", FALSE)]")
shutdown_logging() // Past this point, no logging procs can be used, at risk of data loss.
AUXTOOLS_SHUTDOWN(AUXMOS)
..()
/world/Del()
+1
View File
@@ -193,6 +193,7 @@ GLOBAL_PROTECT(admin_verbs_debug)
// /client/proc/check_missing_sprites,
// #endif
/datum/admins/proc/create_or_modify_area,
/datum/admins/proc/fixcorruption,
#ifdef REFERENCE_TRACKING
/datum/admins/proc/view_refs,
/datum/admins/proc/view_del_failures,
@@ -35,11 +35,6 @@
update_air_ref(planetary_atmos ? 1 : 2)
. = ..()
/turf/open/proc/force_air_reset()
air = new(2500,src)
air.copy_from_turf(src)
update_air_ref(planetary_atmos ? 1 : 2)
/turf/open/Destroy()
if(active_hotspot)
QDEL_NULL(active_hotspot)
@@ -217,6 +217,8 @@
// air_contents.add_gas(gas_type)
if(starter_temp)
air_contents.set_temperature(starter_temp)
if(!air_contents.return_volume())
CRASH("Auxtools is failing somehow! Gas with pointer [air_contents._extools_pointer_gasmixture] is not valid.")
air_contents.set_moles(gas_type,(maximum_pressure * filled) * air_contents.return_volume() / (R_IDEAL_GAS_EQUATION * air_contents.return_temperature()))
/obj/machinery/portable_atmospherics/canister/air/create_gas()