clothing 
Vars | |
| bulge_family | The family this underwear or undershirt bulges with when it is the cover (/datum/bulge_family/none: never). |
|---|---|
| bulge_printed | Drawn from the garment's own print instead of the adaptive palette. |
| digi_icon_state | Icon state in the digitigrade template file to use if the wearer is digitigrade. If null, no special digitigrade handling is done. |
| female_sprite_flags | What kind of gender shaping this sprite accessory should use (in case your sprite gets a weird missing pixel in the center) |
| fit_mode | How this style is redrawn over fitness limbs and pecs drawn under it, a GARMENT_FIT_* define, or null to draw it as it is on every body. |
| greyscale_colors | Color pallete for static colored underwear, like hearts. Used so greyscale copies can have the same palette. |
| greyscale_config | Allows you to specify a greyscale config |
| has_custom_digi_sprite | Set to TRUE if this icon has its own custom icon for digi (as opposed to the GAGS autogenerated ones) |
| hides_breasts | Whether this underwear includes a top (Because gender = FEMALE doesn't actually apply here.). Hides breasts, nothing more. |
| layer | The layer this sprite accessory should render on |
Procs | |
| bares_near_forearm | Whether this top leaves the near forearm bare below its sleeve in its side views, edged by a strip of cloth at the back, as the polo shirts do. Fitted over a bigger arm, the forearm then shows at that arm's own width (/datum/garment_fit_view/proc/bare_near_forearm()); otherwise the strip moves out across it as a sleeve's hem would, and the forearm looks thin. Only the polos opt in: other shirts keep their fit. A proc, as hangs_straight_over_pecs() is. |
| chest_cut_state | Returns the state a top cut for a chest with breasts draws on wearer: its own state over breasts, and on a female body
unless its breasts are pecs; on any other chest, without breasts or with pecs, the state its suffixes name. |
| fitted_sprite | Returns this style's sprite as make_appearance() draws it on wearer, fitted to their fitness limbs and to pecs drawn under
it: a cached resource. Null to draw it as it is: on a Normal-sized body with no pecs under it (its garment_fit is null), a
style that isn't fitted, worn by nobody, like a mannequin's, a fit that leaves it as it is, or one still being made by
SSgarment_fitting, which draws the body again once it's done (GARMENT_FITS_DEFERRED; a dummy's fits are made as it's drawn). |
| garment_covers_chest | Whether this style is worn over the chest, so pecs drawn under it shape it: an undershirt or a bra always, other underclothes when they hide breasts, as /obj/item/organ/genital/proc/covered_by_underclothes() has it. |
| get_icon_state | Override to return a different icon state given a bodytype or physique |
| hangs_straight_over_pecs | Whether this top hangs straight over pecs drawn under it: its front and back panels stay as drawn, and the pecs show where they reach past them, at the armholes. Its front view still shades their lower curve, and its side views still cover their bulge. Otherwise its chest panel moves out over them (/datum/garment_fit_view/proc/fit_pecs()). A proc rather than a var, as garment_covers_chest() is: a style opts in by overriding it. |
| make_appearance | Generate an appearance from this clothing datum |
Var Details
bulge_family 
The family this underwear or undershirt bulges with when it is the cover (/datum/bulge_family/none: never).
bulge_printed 
Drawn from the garment's own print instead of the adaptive palette.
digi_icon_state 
Icon state in the digitigrade template file to use if the wearer is digitigrade. If null, no special digitigrade handling is done.
female_sprite_flags 
What kind of gender shaping this sprite accessory should use (in case your sprite gets a weird missing pixel in the center)
fit_mode 
How this style is redrawn over fitness limbs and pecs drawn under it, a GARMENT_FIT_* define, or null to draw it as it is on every body.
greyscale_colors 
Color pallete for static colored underwear, like hearts. Used so greyscale copies can have the same palette.
greyscale_config 
Allows you to specify a greyscale config
has_custom_digi_sprite 
Set to TRUE if this icon has its own custom icon for digi (as opposed to the GAGS autogenerated ones)
hides_breasts 
Whether this underwear includes a top (Because gender = FEMALE doesn't actually apply here.). Hides breasts, nothing more.
layer 
The layer this sprite accessory should render on
Proc Details
bares_near_forearm
Whether this top leaves the near forearm bare below its sleeve in its side views, edged by a strip of cloth at the back, as the polo shirts do. Fitted over a bigger arm, the forearm then shows at that arm's own width (/datum/garment_fit_view/proc/bare_near_forearm()); otherwise the strip moves out across it as a sleeve's hem would, and the forearm looks thin. Only the polos opt in: other shirts keep their fit. A proc, as hangs_straight_over_pecs() is.
chest_cut_state
Returns the state a top cut for a chest with breasts draws on wearer: its own state over breasts, and on a female body
unless its breasts are pecs; on any other chest, without breasts or with pecs, the state its suffixes name.
Arguments:
- physique: The physique it's drawn for.
- wearer: Who wears it, if anyone. Worn by nobody, like a mannequin's, it draws its own state.
- flat_suffix: The suffix of its state for a chest without breasts.
- pec_suffixes: Pec shape, as
garment_fit_shapenames it -> the suffix of its state over those pecs, for a top drawn apart for some of them; any other pecs takeflat_suffix.
fitted_sprite
Returns this style's sprite as make_appearance() draws it on wearer, fitted to their fitness limbs and to pecs drawn under
it: a cached resource. Null to draw it as it is: on a Normal-sized body with no pecs under it (its garment_fit is null), a
style that isn't fitted, worn by nobody, like a mannequin's, a fit that leaves it as it is, or one still being made by
SSgarment_fitting, which draws the body again once it's done (GARMENT_FITS_DEFERRED; a dummy's fits are made as it's drawn).
The legs are fitted through their digitigrade templates where the legs drawn are digitigrade art: a "_d" state (a style with has_custom_digi_sprite) or the GAGS digitigrade mask (digi_icon_state). A plantigrade state on a digitigrade body is fitted as the human legs it draws, and a taur body's legs aren't fitted. A style worn over the chest is also fitted to pecs drawn under it (pecs_under_underclothes()), and while they flex, animated with them (/datum/garment_fit_job/underclothes/flex). Its fits over those pecs flexing, one for each pec flex sheet, are queued the first time it's drawn over them and made in the background, so it moves from their first flex on; a flex that comes before its fit is made draws the still fit meanwhile. On a dummy, or with GARMENT_FITS_DEFERRED off, nothing is queued ahead: each is made as the flex that first needs it draws.
Each fit is made once a round, and cached by the fit and the style's state, cut and mask.
Arguments:
- wearer: Who wears the style, if anyone.
- bodyshape: The body shape it's drawn for, as make_appearance() has it.
- icon_state_to_use: The state it's drawn from.
- cut: The female cut's flags, or a false value for none.
- digitigrade_mask: Whether the GAGS digitigrade mask draws its legs.
garment_covers_chest
Whether this style is worn over the chest, so pecs drawn under it shape it: an undershirt or a bra always, other underclothes when they hide breasts, as /obj/item/organ/genital/proc/covered_by_underclothes() has it.
get_icon_state
Override to return a different icon state given a bodytype or physique
hangs_straight_over_pecs
Whether this top hangs straight over pecs drawn under it: its front and back panels stay as drawn, and the pecs show where they reach past them, at the armholes. Its front view still shades their lower curve, and its side views still cover their bulge. Otherwise its chest panel moves out over them (/datum/garment_fit_view/proc/fit_pecs()). A proc rather than a var, as garment_covers_chest() is: a style opts in by overriding it.
make_appearance
Generate an appearance from this clothing datum
- color - if this is NOT a statically colored clothing article and NOT gags, uses this color.
- physique - physique of the wearer (male or female)
- bodyshape - bodyshape of the wearer (humanoid, digitigrade, etc)
- wearer - optional owner for emissive blockers, whose fitness limbs the garment is fitted to. // APHELION EDIT ADDITION