diff --git a/SpacemanDMM.toml b/SpacemanDMM.toml index f864d303b0d2..86fe63029693 100644 --- a/SpacemanDMM.toml +++ b/SpacemanDMM.toml @@ -4,3 +4,6 @@ dreamchecker = true [code_standards] disallow_relative_type_definitions = true disallow_relative_proc_definitions = true + +[debugger] +engine = "auxtools" diff --git a/code/__DEFINES/spaceman_dmm.dm b/code/__DEFINES/spaceman_dmm.dm index 506f128e34b1..27024025f8d0 100644 --- a/code/__DEFINES/spaceman_dmm.dm +++ b/code/__DEFINES/spaceman_dmm.dm @@ -32,8 +32,20 @@ #endif #ifdef DEBUG +/proc/auxtools_stack_trace(msg) + CRASH(msg) + +/proc/enable_debugging(mode, port) + CRASH("auxtools not loaded") + /world/proc/enable_debugger() - var/dll = world.GetConfig("env", "EXTOOLS_DLL") - if (dll) - call(dll, "debug_initialize")() + var/debug_server = world.GetConfig("env", "AUXTOOLS_DEBUG_DLL") + if (debug_server) + call(debug_server, "auxtools_init")() + enable_debugging() + +/world/proc/disable_debugger() + var/debug_server = world.GetConfig("env", "AUXTOOLS_DEBUG_DLL") + if (debug_server) + call(debug_server, "auxtools_shutdown")() #endif diff --git a/code/game/world.dm b/code/game/world.dm index 3af83ec006ef..132fed0a2d13 100644 --- a/code/game/world.dm +++ b/code/game/world.dm @@ -240,6 +240,10 @@ var/shutdown_processed = FALSE ..() /world/Del() +#ifdef DEBUG + disable_debugger() +#endif + if(!shutdown_processed) //if SIGTERM signal, not restart/reboot PreShutdown("Graceful shutdown") round_log("Graceful shutdown")