diff --git a/code/__DEFINES/subsystems.dm b/code/__DEFINES/subsystems.dm index bf76f8a523..b817f04dc1 100644 --- a/code/__DEFINES/subsystems.dm +++ b/code/__DEFINES/subsystems.dm @@ -107,6 +107,7 @@ #define FIRE_PRIORITY_INSTRUMENTS 30 #define FIRE_PRIORITY_FIELDS 30 #define FIRE_PRIOTITY_SMOOTHING 35 +#define FIRE_PRIORITY_HUDS 40 #define FIRE_PRIORITY_NETWORKS 40 #define FIRE_PRIORITY_OBJ 40 #define FIRE_PRIORITY_ACID 40 diff --git a/code/_onclick/hud/screen_objects/clickdelay.dm b/code/_onclick/hud/screen_objects/clickdelay.dm index 4836ccf448..e0ad039cdf 100644 --- a/code/_onclick/hud/screen_objects/clickdelay.dm +++ b/code/_onclick/hud/screen_objects/clickdelay.dm @@ -1,13 +1,13 @@ /obj/screen/action_bar /obj/screen/action_bar/Destroy() - STOP_PROCESSING(SSfastprocess, src) + STOP_PROCESSING(SShuds, src) return ..() /obj/screen/action_bar/proc/mark_dirty() var/mob/living/L = hud?.mymob if(L?.client && update_to_mob(L)) - START_PROCESSING(SSfastprocess, src) + START_PROCESSING(SShuds, src) /obj/screen/action_bar/process() var/mob/living/L = hud?.mymob diff --git a/code/controllers/subsystem/processing/huds.dm b/code/controllers/subsystem/processing/huds.dm new file mode 100644 index 0000000000..aea23d2400 --- /dev/null +++ b/code/controllers/subsystem/processing/huds.dm @@ -0,0 +1,6 @@ +// Smooth HUD updates, but low priority +PROCESSING_SUBSYSTEM_DEF(huds) + name = "HUD updates" + wait = 0.5 + priority = FIRE_PRIORITY_HUDS + stat_tag = "HUDS" diff --git a/tgstation.dme b/tgstation.dme index d22713dd1e..4d444fc65a 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -346,6 +346,7 @@ #include "code\controllers\subsystem\processing\circuit.dm" #include "code\controllers\subsystem\processing\fastprocess.dm" #include "code\controllers\subsystem\processing\fields.dm" +#include "code\controllers\subsystem\processing\huds.dm" #include "code\controllers\subsystem\processing\instruments.dm" #include "code\controllers\subsystem\processing\nanites.dm" #include "code\controllers\subsystem\processing\networks.dm"