Yogstation 13 - Modules - TypesVar Details - Proc Details

Master

Start of queue linked list End of queue linked list (used for appending to the list) Are we loading in a new map? for scheduling different subsystems for different stages of the round

Vars

current_initializing_subsystemDuring initialization, will be the instanced subsytem that is currently initializing. Outside of initialization, returns null.
current_ticklimitcurrent tick limit, assigned before running a subsystem. used by CHECK_TICK as well so that the procs subsystems call can obey that SS's tick limits
init_stage_completedMost recent init stage to complete init.
iterationHow many times have we ran
last_profiledThe last decisecond we force dumped profiling information Used to avoid spamming profile reads since they can be expensive (string memes)
last_runworld.time of last fire, for tracking lag outside of the mc
last_type_processedThe type of the last subsystem to be fire()'d.
make_runtimemakes the mc main loop runtime
olddriftTickdrift as of last tick, w no averaging going on
processingAre we processing (higher values increase the processing delay by n ticks)
skip_ticksOnly run ticker subsystems for the next n ticks.
sleep_deltaHow long is the MC sleeping between runs, read only (set by Loop() based off of anti-tick-contention heuristics)
stack_end_detectorStack end detector to detect stack overflows that kill the mc's main loop
subsystemsList of subsystems to process().

Procs

AttemptProfileDumpAttempts to dump our current profile info into a file, triggered if the MC thinks shit is going down Accepts a delay in deciseconds of how long ago our last dump can be, this saves causing performance problems ourselves
RunQueueRunQueue - Run thru the queue of subsystems to run, running them while balancing out their allocated tick precentage Returns 0 if runtimed, a negitive number for logic errors, and a positive number if the operation completed without errors
init_subsystemInitialize a given subsystem and handle the results.
laggy_byond_map_update_incomingWarns us that the end of tick byond map_update will be laggier then normal, so that we can just skip running subsystems this tick.

Var Details

current_initializing_subsystem

During initialization, will be the instanced subsytem that is currently initializing. Outside of initialization, returns null.

current_ticklimit

current tick limit, assigned before running a subsystem. used by CHECK_TICK as well so that the procs subsystems call can obey that SS's tick limits

init_stage_completed

Most recent init stage to complete init.

iteration

How many times have we ran

last_profiled

The last decisecond we force dumped profiling information Used to avoid spamming profile reads since they can be expensive (string memes)

last_run

world.time of last fire, for tracking lag outside of the mc

last_type_processed

The type of the last subsystem to be fire()'d.

make_runtime

makes the mc main loop runtime

olddrift

Tickdrift as of last tick, w no averaging going on

processing

Are we processing (higher values increase the processing delay by n ticks)

skip_ticks

Only run ticker subsystems for the next n ticks.

sleep_delta

How long is the MC sleeping between runs, read only (set by Loop() based off of anti-tick-contention heuristics)

stack_end_detector

Stack end detector to detect stack overflows that kill the mc's main loop

subsystems

List of subsystems to process().

Proc Details

AttemptProfileDump

Attempts to dump our current profile info into a file, triggered if the MC thinks shit is going down Accepts a delay in deciseconds of how long ago our last dump can be, this saves causing performance problems ourselves

RunQueue

RunQueue - Run thru the queue of subsystems to run, running them while balancing out their allocated tick precentage Returns 0 if runtimed, a negitive number for logic errors, and a positive number if the operation completed without errors

init_subsystem

Initialize a given subsystem and handle the results.

Arguments:

laggy_byond_map_update_incoming

Warns us that the end of tick byond map_update will be laggier then normal, so that we can just skip running subsystems this tick.