dirt_mask_request 
What a surface's masks are made from: the body they're drawn on and the splats on it. Requests with the same mask_key() share their masks, so bodies drawn from the same sprites with the same splats draw the same icons. A request is made once and never changed: it keeps copies of the splats, so a splat that levels up or lands while its masks wait in the queue changes neither the key nor what's drawn under it.
Vars | |
| clip | For cloth on underclothes, the sprites its mess is kept to, each list(icon, icon state)... |
|---|---|
| cover | For skin, the sprites worn over it, from dirt_cover_sprites(): its mess fades out beside them. |
| cut | ...less the pixels of these, drawn over them. |
| facings | For a part's masks, the directions it draws its share in, where it shows over what it lies on; null for all four. |
| kind | What it's drawn on: DIRT_MASKS_BODY, DIRT_MASKS_PART or DIRT_MASKS_TAUR. |
| part_source | For a part's masks, the part they're drawn on: their mess keeps to its pixels. |
| parts | The parts the splats reach, each a /datum/dirt_part_source, lowest first. They drop the mess's level below the top one, which keeps its glaze, and it leaves out the rounded ones' pixels; in each direction a part drawn under the surface (/datum/dirt_part_source/proc/under()) has its own mess drawn in these masks, and one drawn over it on itself. |
| splats | Copies of the surface's /datum/dirt_splat as they were when it was made, oldest first. They merge in this order. |
| surface_kind | DIRT_SURFACE_SKIN or DIRT_SURFACE_CLOTH. A taur body's pools are drawn per layer on skin (on the taur body's own images), on cloth over the whole canvas (inset on a taur suit). |
| surface_layer | The layer of the surface the masks are drawn on, which the parts are drawn under or over. |
| taur_source | For a taur body's pools, the taur body they're drawn on. |
| zone_sources | The body's sprites, as dirt_zone_sources() returns them: its template's. On a taur, the rider's. |
Procs | |
| New | Arguments: |
| mask_key | Returns the masks' key: an MD5 of what they're drawn on, each splat's zone, level and variant in order, the sprites that fade or keep them, and the parts that shape them, each with where it draws against the surface in each direction, or the part or taur body they're drawn on and the directions it draws in. Serials stay out of it, so splats that landed apart draw alike. A part's splats count at the level they draw at. A taur body's count at their own: the rider's mess its pools keep clear of is drawn at it. |
| read_parts | Returns every part the request reads: the parts its splats reach, or the part its masks are drawn on. |
| read_sprites | Returns the sprites a request reads besides its template, each list(icon, icon state, what for): "cover", "clip" or "cut". |
Var Details
clip 
For cloth on underclothes, the sprites its mess is kept to, each list(icon, icon state)...
cover 
For skin, the sprites worn over it, from dirt_cover_sprites(): its mess fades out beside them.
cut 
...less the pixels of these, drawn over them.
facings 
For a part's masks, the directions it draws its share in, where it shows over what it lies on; null for all four.
kind 
What it's drawn on: DIRT_MASKS_BODY, DIRT_MASKS_PART or DIRT_MASKS_TAUR.
part_source 
For a part's masks, the part they're drawn on: their mess keeps to its pixels.
parts 
The parts the splats reach, each a /datum/dirt_part_source, lowest first. They drop the mess's level below the top one, which keeps its glaze, and it leaves out the rounded ones' pixels; in each direction a part drawn under the surface (/datum/dirt_part_source/proc/under()) has its own mess drawn in these masks, and one drawn over it on itself.
splats 
Copies of the surface's /datum/dirt_splat as they were when it was made, oldest first. They merge in this order.
surface_kind 
DIRT_SURFACE_SKIN or DIRT_SURFACE_CLOTH. A taur body's pools are drawn per layer on skin (on the taur body's own images), on cloth over the whole canvas (inset on a taur suit).
surface_layer 
The layer of the surface the masks are drawn on, which the parts are drawn under or over.
taur_source 
For a taur body's pools, the taur body they're drawn on.
zone_sources 
The body's sprites, as dirt_zone_sources() returns them: its template's. On a taur, the rider's.
Proc Details
New
Arguments:
- kind: DIRT_MASKS_BODY, DIRT_MASKS_PART or DIRT_MASKS_TAUR.
- zone_sources: The body's sprites, as dirt_zone_sources() returns them. A part's masks need them only for the vulva on skin, which takes the ring of the body round it.
- surface_kind: DIRT_SURFACE_SKIN or DIRT_SURFACE_CLOTH. For a part, what it lies on.
- splats: The surface's /datum/dirt_splat, oldest first. Copied: the request never reads them again.
- parts: The parts the splats reach, lowest first, from dirt_surface_parts(), or null.
- part_source: For a part's masks, the part.
- taur_source: For a taur body's pools, the taur body.
- cover: The sprites worn over skin, from dirt_cover_sprites(), or null.
- clip: The sprites cloth's mess is kept to, each list(icon, icon state), or null for the whole canvas.
- cut: The sprites drawn over
clip's, in the same form, or null. - surface_layer: The surface's layer: a garment's, DIRT_UNDERCLOTHES_LAYER or DIRT_SKIN_LAYER.
- facings: For a part's masks, the directions it draws its share in, or null for all four.
mask_key
Returns the masks' key: an MD5 of what they're drawn on, each splat's zone, level and variant in order, the sprites that fade or keep them, and the parts that shape them, each with where it draws against the surface in each direction, or the part or taur body they're drawn on and the directions it draws in. Serials stay out of it, so splats that landed apart draw alike. A part's splats count at the level they draw at. A taur body's count at their own: the rider's mess its pools keep clear of is drawn at it.
read_parts
Returns every part the request reads: the parts its splats reach, or the part its masks are drawn on.
read_sprites
Returns the sprites a request reads besides its template, each list(icon, icon state, what for): "cover", "clip" or "cut".