Gives subsystem controllers a bitfield def to make vv easier, renames their flags var (#95439)

This commit is contained in:
LemonInTheDark
2026-03-22 16:06:30 -07:00
committed by GitHub
parent d2b41c670f
commit f2360d64fd
116 changed files with 142 additions and 132 deletions
@@ -2,5 +2,5 @@
PROCESSING_SUBSYSTEM_DEF(acid)
name = "Acid"
priority = FIRE_PRIORITY_ACID
flags = SS_NO_INIT|SS_BACKGROUND
ss_flags = SS_NO_INIT|SS_BACKGROUND
runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME
@@ -1,4 +1,4 @@
PROCESSING_SUBSYSTEM_DEF(basic_avoidance)
name = "Basic Avoidance"
flags = SS_NO_INIT
ss_flags = SS_NO_INIT
wait = 2 SECONDS
@@ -1,7 +1,7 @@
/// The subsystem used to tick [/datum/ai_behavior] instances. Handling the individual actions an AI can take like punching someone in the fucking NUTS
PROCESSING_SUBSYSTEM_DEF(ai_behaviors)
name = "AI Behavior Ticker"
flags = SS_POST_FIRE_TIMING|SS_BACKGROUND
ss_flags = SS_POST_FIRE_TIMING|SS_BACKGROUND
priority = FIRE_PRIORITY_NPC_ACTIONS
runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME
dependencies = list(
@@ -1,6 +1,6 @@
PROCESSING_SUBSYSTEM_DEF(idle_ai_behaviors)
name = "AI Idle Behaviors"
flags = SS_BACKGROUND
ss_flags = SS_BACKGROUND
wait = 1.5 SECONDS
priority = FIRE_PRIORITY_IDLE_NPC
dependencies = list(
@@ -1,4 +1,4 @@
PROCESSING_SUBSYSTEM_DEF(antag_hud)
name = "Antag HUDs"
flags = SS_NO_INIT
ss_flags = SS_NO_INIT
wait = 2 SECONDS
@@ -1,5 +1,5 @@
/// The subsystem used to tick auras ([/datum/component/aura_healing] and [/datum/component/damage_aura]).
PROCESSING_SUBSYSTEM_DEF(aura)
name = "Aura"
flags = SS_NO_INIT | SS_BACKGROUND | SS_KEEP_TIMING
ss_flags = SS_NO_INIT | SS_BACKGROUND | SS_KEEP_TIMING
wait = 0.3 SECONDS
@@ -1,5 +1,5 @@
/// The subsystem used to tick [/datum/component/acid] instances.
PROCESSING_SUBSYSTEM_DEF(clock_component)
name = "Clock Component"
flags = SS_NO_INIT|SS_BACKGROUND|SS_KEEP_TIMING
ss_flags = SS_NO_INIT|SS_BACKGROUND|SS_KEEP_TIMING
wait = COMP_CLOCK_DELAY
@@ -1,5 +1,5 @@
/// The subsystem used to tick digital clocks
PROCESSING_SUBSYSTEM_DEF(digital_clock)
name = "Digital Clocks"
flags = SS_NO_INIT|SS_BACKGROUND|SS_KEEP_TIMING
ss_flags = SS_NO_INIT|SS_BACKGROUND|SS_KEEP_TIMING
wait = 1 SECONDS
@@ -2,5 +2,5 @@
PROCESSING_SUBSYSTEM_DEF(burning)
name = "Burning"
priority = FIRE_PRIORITY_BURNING
flags = SS_NO_INIT|SS_BACKGROUND
ss_flags = SS_NO_INIT|SS_BACKGROUND
runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME
@@ -4,7 +4,7 @@ PROCESSING_SUBSYSTEM_DEF(fishing)
dependencies = list(
/datum/controller/subsystem/atoms,
)
flags = SS_BACKGROUND
ss_flags = SS_BACKGROUND
wait = 0.05 SECONDS // If you raise it to 0.1 SECONDS, you better also modify [datum/fish_movement/move_fish()]
///A list of cached fish icons
var/list/cached_fish_icons
@@ -1,6 +1,6 @@
PROCESSING_SUBSYSTEM_DEF(greyscale)
name = "Greyscale"
flags = SS_BACKGROUND
ss_flags = SS_BACKGROUND
wait = 3 SECONDS
init_stage = INITSTAGE_EARLY
var/list/datum/greyscale_config/configurations = list()
@@ -1,7 +1,7 @@
PROCESSING_SUBSYSTEM_DEF(instruments)
name = "Instruments"
wait = 0.5
flags = SS_KEEP_TIMING
ss_flags = SS_KEEP_TIMING
priority = FIRE_PRIORITY_INSTRUMENTS
/// List of all instrument data, associative id = datum
var/static/list/datum/instrument/instrument_data = list()
@@ -1,5 +1,5 @@
PROCESSING_SUBSYSTEM_DEF(newplayer_info)
name = "New Player Info"
flags = SS_NO_INIT | SS_BACKGROUND
ss_flags = SS_NO_INIT | SS_BACKGROUND
wait = 1 SECONDS
runlevels = RUNLEVEL_LOBBY | RUNLEVELS_DEFAULT
+1 -1
View File
@@ -1,5 +1,5 @@
PROCESSING_SUBSYSTEM_DEF(obj)
name = "Objects"
priority = FIRE_PRIORITY_OBJ
flags = SS_NO_INIT
ss_flags = SS_NO_INIT
wait = 2 SECONDS
@@ -1,7 +1,7 @@
PROCESSING_SUBSYSTEM_DEF(personalities)
name = "Personalities"
runlevels = RUNLEVEL_GAME
flags = SS_BACKGROUND|SS_POST_FIRE_TIMING
ss_flags = SS_BACKGROUND|SS_POST_FIRE_TIMING
wait = 3 SECONDS
/// All personality singletons indexed by their type
@@ -2,4 +2,4 @@ PROCESSING_SUBSYSTEM_DEF(plumbing)
name = "Plumbing"
wait = 10
stat_tag = "FD" //its actually Fluid Ducts
flags = SS_NO_INIT
ss_flags = SS_NO_INIT
@@ -1,6 +1,6 @@
PROCESSING_SUBSYSTEM_DEF(priority_effects)
name = "Priority Status Effects"
flags = SS_KEEP_TIMING | SS_NO_INIT
ss_flags = SS_KEEP_TIMING | SS_NO_INIT
wait = 0.2 SECONDS // Same as SSfastprocess, but can be anything, assuming you refactor all high-priority status effect intervals and durations to be a multiple of it.
priority = FIRE_PRIORITY_PRIORITY_EFFECTS
stat_tag = "PEFF"
@@ -3,7 +3,7 @@
SUBSYSTEM_DEF(processing)
name = "Processing"
priority = FIRE_PRIORITY_PROCESS
flags = SS_BACKGROUND|SS_POST_FIRE_TIMING|SS_NO_INIT
ss_flags = SS_BACKGROUND|SS_POST_FIRE_TIMING|SS_NO_INIT
wait = 1 SECONDS
var/stat_tag = "P" //Used for logging
@@ -2,7 +2,7 @@ PROCESSING_SUBSYSTEM_DEF(projectiles)
name = "Projectiles"
wait = 1
stat_tag = "PP"
flags = SS_NO_INIT|SS_TICKER
ss_flags = SS_NO_INIT|SS_TICKER
/*
* Maximum amount of pixels a projectile can pass per tick *unless* its a hitscan projectile.
* This prevents projectiles from turning into essentially hitscans if SSprojectiles starts chugging
@@ -44,7 +44,7 @@ GLOBAL_LIST_INIT(quirk_string_blacklist, generate_quirk_string_blacklist())
// - Quirk datums are stored and hold different effects, as well as being a vector for applying trait string
PROCESSING_SUBSYSTEM_DEF(quirks)
name = "Quirks"
flags = SS_BACKGROUND
ss_flags = SS_BACKGROUND
runlevels = RUNLEVEL_GAME
wait = 1 SECONDS
@@ -4,7 +4,7 @@ PROCESSING_SUBSYSTEM_DEF(reagents)
name = "Reagents"
priority = FIRE_PRIORITY_REAGENTS
wait = 0.25 SECONDS //You might think that rate_up_lim has to be set to half, but since everything is normalised around seconds_per_tick, it automatically adjusts it to be per second. Magic!
flags = SS_KEEP_TIMING
ss_flags = SS_KEEP_TIMING
runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME
init_stage = INITSTAGE_EARLY
///What time was it when we last ticked
@@ -1,6 +1,6 @@
PROCESSING_SUBSYSTEM_DEF(station)
name = "Station"
flags = SS_BACKGROUND
ss_flags = SS_BACKGROUND
runlevels = RUNLEVEL_GAME
wait = 5 SECONDS
@@ -1,6 +1,6 @@
/// The subsystem used for portable turrets, as they're relatively more intensive compared to most other machines, so we don't want them hogging tick usage from everything else.
PROCESSING_SUBSYSTEM_DEF(turrets)
name = "Turret Processing"
flags = SS_NO_INIT | SS_KEEP_TIMING
ss_flags = SS_NO_INIT | SS_KEEP_TIMING
wait = 2 SECONDS
runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME