From e105a047e1b06b6ea467dac6d0c0632e45ac7277 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sun, 20 Jan 2019 20:35:14 -0800 Subject: [PATCH 1/2] Adds a better debug controller verb that can target all controllers/processes/mc/failsafe/config/etc --- code/_helpers/type2type.dm | 11 ++++++++ code/controllers/verbs.dm | 51 ++++++++++++++++++++++++++++++++++++-- 2 files changed, 60 insertions(+), 2 deletions(-) diff --git a/code/_helpers/type2type.dm b/code/_helpers/type2type.dm index 55dad2242f3..dc52d7c1cee 100644 --- a/code/_helpers/type2type.dm +++ b/code/_helpers/type2type.dm @@ -242,6 +242,8 @@ /proc/isLeap(y) return ((y) % 4 == 0 && ((y) % 100 != 0 || (y) % 400 == 0)) +<<<<<<< HEAD +======= //Takes a string and a datum //The string is well, obviously the string being checked @@ -273,3 +275,12 @@ for(var/A in value) if(var_source.vars.Find(A)) . += A + +/proc/get_end_section_of_type(type) + var/strtype = "[type]" + var/delim_pos = findlasttext(strtype, "/") + if(delim_pos == 0) + return strtype + return copytext(strtype, delim_pos) + +>>>>>>> bfaaffb... Adds a better debug controller verb that can target all controllers/processes/mc/failsafe/config/etc (#5852) diff --git a/code/controllers/verbs.dm b/code/controllers/verbs.dm index 6d01f6ee599..c0bda0657e0 100644 --- a/code/controllers/verbs.dm +++ b/code/controllers/verbs.dm @@ -63,11 +63,12 @@ usr.client.debug_variables(antag) message_admins("Admin [key_name_admin(usr)] is debugging the [antag.role_text] template.") -/client/proc/debug_controller(controller in list("Master","Ticker","Ticker Process","Air","Jobs","Radio","Supply","Emergency Shuttle","Configuration","pAI", "Cameras", "Transfer Controller", "Gas Data","Plants","Alarm","Xenobio")) +/client/proc/debug_controller() set category = "Debug" set name = "Debug Controller" - set desc = "Debug the various periodic loop controllers for the game (be careful!)" + set desc = "Debug the various subsystems/controllers for the game (be careful!)" +<<<<<<< HEAD if(!holder) return switch(controller) if("Master") @@ -140,3 +141,49 @@ debug_variables(P) feedback_add_details("admin_verb", "DProcCtrl") message_admins("Admin [key_name_admin(usr)] is debugging the [controller] controller.") +======= + if(!holder) + return + var/list/options = list() + options["MC"] = Master + options["Failsafe"] = Failsafe + options["Configuration"] = config + for(var/i in Master.subsystems) + var/datum/controller/subsystem/S = i + if(!istype(S)) //Eh, we're a debug verb, let's have typechecking. + continue + var/strtype = "SS[get_end_section_of_type(S.type)]" + if(options[strtype]) + var/offset = 2 + while(istype(options["[strtype]_[offset] - DUPE ERROR"], /datum/controller/subsystem)) + offset++ + options["[strtype]_[offset] - DUPE ERROR"] = S //Something is very, very wrong. + else + options[strtype] = S + + //Goon PS stuff, and other yet-to-be-subsystem things. + options["LEGACY: master_controller"] = master_controller + options["LEGACY: ticker"] = ticker + options["LEGACY: tickerProcess"] = tickerProcess + options["LEGACY: air_master"] = air_master + options["LEGACY: job_master"] = job_master + options["LEGACY: radio_controller"] = radio_controller + options["LEGACY: supply_controller"] = supply_controller + options["LEGACY: emergency_shuttle"] = emergency_shuttle + options["LEGACY: paiController"] = paiController + options["LEGACY: cameranet"] = cameranet + options["LEGACY: transfer_controller"] = transfer_controller + options["LEGACY: gas_data"] = gas_data + options["LEGACY: plant_controller"] = plant_controller + options["LEGACY: alarm_manager"] = alarm_manager + + var/pick = input(mob, "Choose a controller to debug/view variables of.", "VV controller:") as null|anything in options + if(!pick) + return + var/datum/D = options[pick] + if(!istype(D)) + return + feedback_add_details("admin_verb", "DebugController") + message_admins("Admin [key_name_admin(mob)] is debugging the [pick] controller.") + debug_variables(D) +>>>>>>> bfaaffb... Adds a better debug controller verb that can target all controllers/processes/mc/failsafe/config/etc (#5852) From a22ada82f12b2d08d9d7e47045331ad4441981d6 Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 27 Mar 2019 20:03:23 -0400 Subject: [PATCH 2/2] Reminder: Yell at Leshana for not tagging edited code. --- code/_helpers/type2type.dm | 3 -- code/controllers/verbs.dm | 100 ++++++++++--------------------------- 2 files changed, 25 insertions(+), 78 deletions(-) diff --git a/code/_helpers/type2type.dm b/code/_helpers/type2type.dm index dc52d7c1cee..bdfa4e0fbbe 100644 --- a/code/_helpers/type2type.dm +++ b/code/_helpers/type2type.dm @@ -242,8 +242,6 @@ /proc/isLeap(y) return ((y) % 4 == 0 && ((y) % 100 != 0 || (y) % 400 == 0)) -<<<<<<< HEAD -======= //Takes a string and a datum //The string is well, obviously the string being checked @@ -283,4 +281,3 @@ return strtype return copytext(strtype, delim_pos) ->>>>>>> bfaaffb... Adds a better debug controller verb that can target all controllers/processes/mc/failsafe/config/etc (#5852) diff --git a/code/controllers/verbs.dm b/code/controllers/verbs.dm index c0bda0657e0..7e2e1a42e3d 100644 --- a/code/controllers/verbs.dm +++ b/code/controllers/verbs.dm @@ -68,80 +68,6 @@ set name = "Debug Controller" set desc = "Debug the various subsystems/controllers for the game (be careful!)" -<<<<<<< HEAD - if(!holder) return - switch(controller) - if("Master") - debug_variables(master_controller) - feedback_add_details("admin_verb","DMC") - if("Ticker") - debug_variables(ticker) - feedback_add_details("admin_verb","DTicker") - if("Ticker Process") - debug_variables(tickerProcess) - feedback_add_details("admin_verb","DTickerProcess") - if("Air") - debug_variables(air_master) - feedback_add_details("admin_verb","DAir") - if("Jobs") - debug_variables(job_master) - feedback_add_details("admin_verb","DJobs") - if("Radio") - debug_variables(radio_controller) - feedback_add_details("admin_verb","DRadio") - if("Supply") - debug_variables(supply_controller) - feedback_add_details("admin_verb","DSupply") - if("Emergency Shuttle") - debug_variables(emergency_shuttle) - feedback_add_details("admin_verb","DEmergency") - if("Configuration") - debug_variables(config) - feedback_add_details("admin_verb","DConf") - if("pAI") - debug_variables(paiController) - feedback_add_details("admin_verb","DpAI") - if("Cameras") - debug_variables(cameranet) - feedback_add_details("admin_verb","DCameras") - if("Transfer Controller") - debug_variables(transfer_controller) - feedback_add_details("admin_verb","DAutovoter") - if("Gas Data") - debug_variables(gas_data) - feedback_add_details("admin_verb","DGasdata") - if("Plants") - debug_variables(plant_controller) - feedback_add_details("admin_verb", "DPlants") - if("Alarm") - debug_variables(alarm_manager) - feedback_add_details("admin_verb", "DAlarm") - message_admins("Admin [key_name_admin(usr)] is debugging the [controller] controller.") - return - -/client/proc/debug_process_scheduler() - set category = "Debug" - set name = "Debug Process Scheduler" - set desc = "Debug the process scheduler itself. For vulpine use only." - - if(!check_rights(R_DEBUG)) return - if(config.debugparanoid && !check_rights(R_ADMIN)) return - debug_variables(processScheduler) - feedback_add_details("admin_verb", "DProcSchd") - message_admins("Admin [key_name_admin(usr)] is debugging the process scheduler.") - -/client/proc/debug_process(controller in processScheduler.nameToProcessMap) - set category = "Debug" - set name = "Debug Process Controller" - set desc = "Debug one of the periodic loop background task controllers for the game (be careful!)" - - if(!check_rights(R_DEBUG)) return - if(config.debugparanoid && !check_rights(R_ADMIN)) return - var/datum/controller/process/P = processScheduler.nameToProcessMap[controller] - debug_variables(P) - feedback_add_details("admin_verb", "DProcCtrl") - message_admins("Admin [key_name_admin(usr)] is debugging the [controller] controller.") -======= if(!holder) return var/list/options = list() @@ -186,4 +112,28 @@ feedback_add_details("admin_verb", "DebugController") message_admins("Admin [key_name_admin(mob)] is debugging the [pick] controller.") debug_variables(D) ->>>>>>> bfaaffb... Adds a better debug controller verb that can target all controllers/processes/mc/failsafe/config/etc (#5852) + +//VOREStation Edit Begin +/client/proc/debug_process_scheduler() + set category = "Debug" + set name = "Debug Process Scheduler" + set desc = "Debug the process scheduler itself. For vulpine use only." + + if(!check_rights(R_DEBUG)) return + if(config.debugparanoid && !check_rights(R_ADMIN)) return + debug_variables(processScheduler) + feedback_add_details("admin_verb", "DProcSchd") + message_admins("Admin [key_name_admin(usr)] is debugging the process scheduler.") + +/client/proc/debug_process(controller in processScheduler.nameToProcessMap) + set category = "Debug" + set name = "Debug Process Controller" + set desc = "Debug one of the periodic loop background task controllers for the game (be careful!)" + + if(!check_rights(R_DEBUG)) return + if(config.debugparanoid && !check_rights(R_ADMIN)) return + var/datum/controller/process/P = processScheduler.nameToProcessMap[controller] + debug_variables(P) + feedback_add_details("admin_verb", "DProcCtrl") + message_admins("Admin [key_name_admin(usr)] is debugging the [controller] controller.") +//VOREStation Edit End \ No newline at end of file