/tg/ Station 13 - Modules - Types — Define Details

code/modules/unit_tests/~nova/bulge_templates.dm

BULGE_DERIVATION_INPUTSThe bulge template sheets, the templates derived past small_cap, and their accessors (templates.dm).
BULGE_DERIVATION_RECORDWhat bulge_derivation derives: its states by kind, the shapes that cover the whole penis, and the digest of every pixel derived. Frozen when the sheets those states lived in were deleted, after it had matched them pixel for pixel (0 differed): change it only with approval, after checking the bulges it changes. Recorded again for the amended shapes past small_cap and the Alt shapes capped in every family; it was 630 shapes, 577 bare, 53 covering, digest b60eb5968107a3f0418b2b301e126c5a.
BULGE_IDENTITIES_RECORDThe identities bulge_template_identities resolves, by kind, and the states of the sheets they reach.
/datum/unit_test/bulge_template_identitiesEvery identity the families declare resolves through the accessors, to a state in the template sheets or to one derived at run time, and every state of the sheets is reached by one. For every family that draws, in both forms, at every size up to its cap and on both legs: its shape (past small_cap one per penis shape, with and without skin tones where the shape has them, derived), the anatomy that shape leaves bare (derived; none where it covers the penis), a skirt's flap and (on either legs) its clearance, a printed family's precoloured patch and each penis shape's own, where the sheet has one for its profile (and one for its untoned sprites, where they differ); and for each loincloth its drape and cut under every penis shape, at every length from 1 to 100 inches (derived). A penis shape with no shapes of its own (the tentacles) draws the family's small_cap shape and no anatomy, and so does a shape past its print_cap, in every family (under a printed family's patches, with no patch). The counts, by kind, must be BULGE_IDENTITIES_RECORD's.
/datum/unit_test/bulge_derivationEvery shape past small_cap, the anatomy each leaves bare, and every loincloth drape and cut, as derived from the game's sprites (templates.dm), against BULGE_DERIVATION_RECORD: the states derived, by kind, the shapes that leave nothing bare, and a digest of every pixel derived, the bare anatomy's mask tiles and the cuts' keep masks with them. The record was frozen from the sheet states these replaced, which they matched pixel for pixel. Each state is derived once, from the family that owns it, so the families that share a stem must agree on the vars it is derived from. Logs the time it took.
/datum/unit_test/bulge_derivation/pinWhat the shapes past small_cap are derived from (templates.dm), pinned: every penis sprite state a derivation can read, and the testicles drawn under them, facing south, east and west; each loincloth's own sprite, every way; and the penis shapes' data the derivation reads. A change to any of them changes bulges on screen, so it needs approval. Every penis and testicle sprite must also stay inside the window a derivation reads of it, the ways it reads it: a penis sprite facing south, east and west, or only facing east, for a drape, where the penis shape has no shapes past small_cap (the tentacles).

Define Details

BULGE_DERIVATION_INPUTS

The bulge template sheets, the templates derived past small_cap, and their accessors (templates.dm).

bulge_template_identities: every identity the families declare resolves to a template, in a sheet or derived; every state of the sheets is reached by one and holds what its sheet may hold; and the identities resolved, by kind, are the frozen record's.

bulge_derivation: what is derived past small_cap is the frozen record of the sheet states it replaced; bulge_derivation/pin pins what it is derived from. The hash of what the shapes past small_cap are derived from (bulge_derivation/pin): change it only with approval. It was e9c65cbf69fa29aaca40e9a9858bb5d0 until the pin sorted its lines before hashing them, so that the order the types are defined in no longer changes it: what it pins did not change.

BULGE_DERIVATION_RECORD

What bulge_derivation derives: its states by kind, the shapes that cover the whole penis, and the digest of every pixel derived. Frozen when the sheets those states lived in were deleted, after it had matched them pixel for pixel (0 differed): change it only with approval, after checking the bulges it changes. Recorded again for the amended shapes past small_cap and the Alt shapes capped in every family; it was 630 shapes, 577 bare, 53 covering, digest b60eb5968107a3f0418b2b301e126c5a.

BULGE_IDENTITIES_RECORD

The identities bulge_template_identities resolves, by kind, and the states of the sheets they reach.