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

dirt_lobe_raster

One rounded part's mess while dirt_lobe_rasterise() lays it: each pixel's role so far and the highlights.

Vars

glintsThe highlights' pixels, in the order they were laid.
insideTRUE on each of the part's pixels.
kindA DIRT_PART_* define.
level1 to DIRT_PART_MAX_LEVEL.
seedThe noise seed of the blobs' ragged edges.
solidEach pixel's role so far, a DIRT_ROLE_* define, or null.

Procs

NewArguments:
blobLays a ragged drop on a lobe: an ellipse round a spot a fraction across and down it, its edge broken by noise, kept to the lobe. Its lowest pixels with no drop pixel under them are core, the rest body, and its topmost pixel a highlight.
blob_pointsReturns the pixels of a lobe a ragged ellipse covers: where ((x - centre_x) / radius)^2 + ((y - centre_y) / (0.85 * radius))^2 plus a share of noise is at most 1.
drawDraws what was laid onto a mask: the solid roles and the highlights on the part's pixels, then the fringe.
dripLays a drip down a lobe from a drop: on each row below it, as far as drip_length, at the place across the row the drop started from, stepping out from the midline every few rows (every other on a flat chest, where the form gives a drip no bend and a straight column under a blob spelt T). Level 3 breaks it into beads with skin between them. It ends in a bead with a highlight and a grey underside.

Var Details

glints

The highlights' pixels, in the order they were laid.

inside

TRUE on each of the part's pixels.

kind

A DIRT_PART_* define.

level

1 to DIRT_PART_MAX_LEVEL.

seed

The noise seed of the blobs' ragged edges.

solid

Each pixel's role so far, a DIRT_ROLE_* define, or null.

Proc Details

New

Arguments:

blob

Lays a ragged drop on a lobe: an ellipse round a spot a fraction across and down it, its edge broken by noise, kept to the lobe. Its lowest pixels with no drop pixel under them are core, the rest body, and its topmost pixel a highlight.

Arguments:

Returns list(its lowest pixel, ties to the side away from the midline, or null when it covers none; the row it's centred on; how many pixels it covers).

blob_points

Returns the pixels of a lobe a ragged ellipse covers: where ((x - centre_x) / radius)^2 + ((y - centre_y) / (0.85 * radius))^2 plus a share of noise is at most 1.

Arguments:

draw

Draws what was laid onto a mask: the solid roles and the highlights on the part's pixels, then the fringe.

Arguments:

drip

Lays a drip down a lobe from a drop: on each row below it, as far as drip_length, at the place across the row the drop started from, stepping out from the midline every few rows (every other on a flat chest, where the form gives a drip no bend and a straight column under a blob spelt T). Level 3 breaks it into beads with skin between them. It ends in a bead with a highlight and a grey underside.

Arguments: