mostly works!
occasional deadlock at last test; gonna keep checking that out.
This commit is contained in:
@@ -1,2 +1,5 @@
|
||||
[langserver]
|
||||
dreamchecker = true
|
||||
|
||||
[debugger]
|
||||
engine = "auxtools"
|
||||
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
@@ -28,6 +28,5 @@
|
||||
#define VAR_PROTECTED var
|
||||
#endif
|
||||
|
||||
/world/proc/enable_debugger()
|
||||
if (fexists(EXTOOLS))
|
||||
call(EXTOOLS, "debug_initialize")()
|
||||
/proc/enable_debugging()
|
||||
CRASH("Auxtools not found")
|
||||
|
||||
@@ -4,11 +4,16 @@
|
||||
|
||||
/proc/extools_finalize_logging()
|
||||
|
||||
/proc/auxtools_stack_trace(err)
|
||||
stack_trace(err)
|
||||
/proc/auxtools_stack_trace(msg)
|
||||
CRASH(msg)
|
||||
|
||||
GLOBAL_VAR_INIT(auxtools_initialized,FALSE)
|
||||
|
||||
#define AUXTOOLS_CHECK\
|
||||
if (!GLOB.auxtools_initialized && fexists(AUXTOOLS) && findtext(call(AUXTOOLS,"auxtools_init")(),"SUCCESS"))\
|
||||
GLOB.auxtools_initialized = TRUE;\
|
||||
|
||||
#define AUXTOOLS_SHUTDOWN\
|
||||
if (GLOB.auxtools_initialized && fexists(AUXTOOLS))\
|
||||
call(AUXTOOLS,"auxtools_shutdown")();\
|
||||
GLOB.auxtools_initialized = FALSE;\
|
||||
|
||||
@@ -37,9 +37,16 @@ SUBSYSTEM_DEF(air)
|
||||
|
||||
var/log_explosive_decompression = TRUE // If things get spammy, admemes can turn this off.
|
||||
|
||||
var/monstermos_turf_limit = 10
|
||||
var/monstermos_hard_turf_limit = 2000
|
||||
var/monstermos_enabled = TRUE
|
||||
// Max number of turfs equalization will grab.
|
||||
var/equalize_turf_limit = 25
|
||||
// Max number of turfs to look for a space turf, and max number of turfs that will be decompressed.
|
||||
var/equalize_hard_turf_limit = 2000
|
||||
// Whether equalization should be enabled at all.
|
||||
var/equalize_enabled = TRUE
|
||||
// Max number of times process_turfs will share in a tick.
|
||||
var/share_max_steps = 1
|
||||
// If process_turfs finds no pressure differentials larger than this, it'll stop for that tick.
|
||||
var/share_pressure_diff_to_stop = 101.325
|
||||
|
||||
/datum/controller/subsystem/air/stat_entry(msg)
|
||||
msg += "C:{"
|
||||
@@ -234,7 +241,7 @@ SUBSYSTEM_DEF(air)
|
||||
return
|
||||
|
||||
/datum/controller/subsystem/air/proc/process_turf_equalize(resumed = 0)
|
||||
if(process_turf_equalize_extools(MC_TICK_REMAINING_MS))
|
||||
if(process_turf_equalize_extools(resumed,MC_TICK_REMAINING_MS))
|
||||
pause()
|
||||
/*
|
||||
//cache for sanic speed
|
||||
@@ -254,7 +261,7 @@ SUBSYSTEM_DEF(air)
|
||||
*/
|
||||
|
||||
/datum/controller/subsystem/air/proc/process_turfs(resumed = 0)
|
||||
if(process_turfs_extools(MC_TICK_REMAINING_MS))
|
||||
if(process_turfs_extools(resumed,MC_TICK_REMAINING_MS))
|
||||
pause()
|
||||
/*
|
||||
//cache for sanic speed
|
||||
@@ -272,12 +279,8 @@ SUBSYSTEM_DEF(air)
|
||||
return
|
||||
*/
|
||||
|
||||
/proc/post_process_excited_turf(turf/open/T)
|
||||
if(istype(T))
|
||||
T.update_visuals()
|
||||
|
||||
/datum/controller/subsystem/air/proc/process_excited_groups(resumed = 0)
|
||||
if(!process_excited_groups_extools(MC_TICK_REMAINING_MS))
|
||||
if(!process_excited_groups_extools(resumed,MC_TICK_REMAINING_MS))
|
||||
pause()
|
||||
|
||||
/datum/controller/subsystem/air/proc/process_turfs_extools()
|
||||
|
||||
@@ -156,6 +156,7 @@ GLOBAL_LIST_INIT(blacklisted_automated_baseturfs, typecacheof(list(
|
||||
else
|
||||
if(ispath(path,/turf/closed))
|
||||
flags |= CHANGETURF_RECALC_ADJACENT
|
||||
update_air_ref(-1)
|
||||
return ..()
|
||||
|
||||
// Take off the top layer turf and replace it with the next baseturf down
|
||||
|
||||
@@ -92,6 +92,7 @@
|
||||
var/turf/open/O = src
|
||||
__auxtools_update_turf_temp_info(isspaceturf(get_z_base_turf()) && !O.planetary_atmos)
|
||||
else
|
||||
update_air_ref(-1)
|
||||
__auxtools_update_turf_temp_info(isspaceturf(get_z_base_turf()))
|
||||
|
||||
return INITIALIZE_HINT_NORMAL
|
||||
|
||||
+8
-2
@@ -10,12 +10,14 @@ GLOBAL_LIST(topic_status_cache)
|
||||
//So subsystems globals exist, but are not initialised
|
||||
|
||||
/world/New()
|
||||
var/debug_server = world.GetConfig("env", "AUXTOOLS_DEBUG_DLL")
|
||||
if (debug_server)
|
||||
call(debug_server, "auxtools_init")()
|
||||
enable_debugging()
|
||||
AUXTOOLS_CHECK
|
||||
//enable_debugger()
|
||||
#ifdef REFERENCE_TRACKING
|
||||
enable_reference_tracking()
|
||||
#endif
|
||||
|
||||
world.Profile(PROFILE_START)
|
||||
|
||||
log_world("World loaded at [TIME_STAMP("hh:mm:ss", FALSE)]!")
|
||||
@@ -269,6 +271,10 @@ GLOBAL_LIST(topic_status_cache)
|
||||
|
||||
/world/Del()
|
||||
shutdown_logging() // makes sure the thread is closed before end, else we terminate
|
||||
AUXTOOLS_SHUTDOWN
|
||||
var/debug_server = world.GetConfig("env", "AUXTOOLS_DEBUG_DLL")
|
||||
if (debug_server)
|
||||
call(debug_server, "auxtools_shutdown")()
|
||||
..()
|
||||
|
||||
/world/proc/update_status()
|
||||
|
||||
Reference in New Issue
Block a user