/tg/ Station 13 - Modules - Types — Var Details - Proc Details

dirt_mask_queue

SSdirt makes mess masks in the background and caches them: the first ask queues them, finish_all() makes them, and the body that asked is drawn again. They're made from the splats as they were when asked for, whatever happens to them meanwhile. Skin's masks are clipped to each limb and cloth's cover the canvas, and both match the parity manifest's cases, one splat or two merged, the second drawn over a first cached from an earlier ask. A request whose limb names a missing state is dropped, cached as failed, and never queued again, and the queue goes on past it. Masks asked for on more body types than the template cache holds are all made, though templates drop while they wait.

Vars

mask_limitSSdirt.masks.limit while the mask-queue pin runs on a smaller cache, until restore_mask_limit().

Procs

DestroyPuts the mask cache back at its own limit if the pin stopped on its smaller one.
baked_runsReturns the runs a request's masks are baked from (dirt_shown_runs()), made start to end by a job of its own outside the queue and the mask cache: a limb's on skin (/datum/dirt_mask_job/proc/limb_runs()), the canvas's on cloth (canvas_runs()). A baked pixel can't be told back into its roles, so the pins count them in these. Null when the job made no masks.
describe_runsReturns how many pixels each role's runs cover facing south, north, east and west, as one line of text. Haze is the film's runs at half coverage (128), film its others.
restore_mask_limitPuts SSdirt.masks back at its own limit after the mask-queue pin, emptied, as its order was kept for the smaller one.
template_bodiesReturns the sprites of bodies drawn from different templates, one for each: alist(template key = dirt_zone_sources()).

Var Details

mask_limit

SSdirt.masks.limit while the mask-queue pin runs on a smaller cache, until restore_mask_limit().

Proc Details

Destroy

Puts the mask cache back at its own limit if the pin stopped on its smaller one.

baked_runs

Returns the runs a request's masks are baked from (dirt_shown_runs()), made start to end by a job of its own outside the queue and the mask cache: a limb's on skin (/datum/dirt_mask_job/proc/limb_runs()), the canvas's on cloth (canvas_runs()). A baked pixel can't be told back into its roles, so the pins count them in these. Null when the job made no masks.

Arguments:

describe_runs

Returns how many pixels each role's runs cover facing south, north, east and west, as one line of text. Haze is the film's runs at half coverage (128), film its others.

Arguments:

restore_mask_limit

Puts SSdirt.masks back at its own limit after the mask-queue pin, emptied, as its order was kept for the smaller one.

template_bodies

Returns the sprites of bodies drawn from different templates, one for each: alist(template key = dirt_zone_sources()).

Arguments: