/tg/ Station 13 - Modules - Types

modular_aphelion/modules/custom_sprites/code/codec.dm

/proc/custom_style_hair_targetWhether a drawing target is head hair or facial hair.
/proc/custom_style_hair_accessoriesThe accessory list a head target draws on.
/proc/custom_style_hair_gradientsThe gradient list a head target draws from.
/proc/custom_style_gradient_keyThe gradient key a head target stores under.
/proc/custom_marking_zone_limbThe bodypart that carries a marking zone's paint.
/proc/custom_marking_zone_overlay_typeThe overlay identity for a marking zone, so zone, hand and taur paint on one bodypart stay independent.
/proc/custom_marking_partnerThe other half of an arm/hand pair, which share one limb, or null.
/proc/custom_marking_zone_widthA zone's own drawing width: the taur spans the wide canvas, everything else the body's 32 pixels.
/proc/custom_sprite_widthThe format owns the canvas dimensions; legacy drawings always remain 32 by 32.
/proc/custom_sprite_heightTall hair drawings are version 4; every other drawing is 32 rows.
/proc/custom_sprite_hair_canvas_heightThe hair canvas a base look asks for: tall for custom hair over the tall bald base, otherwise 32 rows.
/proc/custom_sprite_versionWide canvases are version 3 and tall ones version 4. Otherwise version 1 holds up to 15 colors and version 2 the rest.
/proc/custom_sprite_grid_args_validGrids are 32 rows of 32 or 64 pixels, or CUSTOM_SPRITE_TALL_HEIGHT rows of 32, indexing a palette of 1 to CUSTOM_SPRITE_MAX_COLORS colors.
/proc/custom_sprite_encode_gridEach run is a hex length (1-f), followed by one palette-index character. Coordinates are row-major from the top left, matching SpriteEditor.
/proc/custom_sprite_decode_gridReject before expanding, and stop at the supported pixel count even for hostile runs.
/proc/custom_sprite_run_textOne index character repeated run times (1-15), cut from a string built once per character.
/proc/custom_sprite_index_valuesCUSTOM_SPRITE_INDEX_ALPHABET character -> its palette index. "0" is transparent.
/proc/custom_sprite_canvas_codeA palette index as digits characters of CUSTOM_SPRITE_INDEX_ALPHABET, most significant first.
/proc/custom_sprite_colorA colour as #rrggbb lowercase, or null when the text isn't exactly that.
/proc/custom_sprite_emissive_settingsOlder drawings used one boolean; each view now owns its own saved choice.
/proc/custom_sprite_palette_colorsThe colours a saved or uploaded palette offers, canonical and lowercase.
/proc/custom_sprite_validateReconstruct a bounded, canonical payload. Missing directions are ordinary empty canvases. Only hair passes allow_appendages; other drawings lose any.
/proc/custom_sprite_resize_drawingFits canonical paint to a larger canvas: centered on a wide one, at the bottom of a tall one, so it keeps its place on the body. Refuses shrinking, so no paint can be lost.
/proc/custom_sprite_all_viewsThe drawing's own view list, then each appendage's: live references, so writes change the drawing.
/proc/custom_sprite_hashContent identity of a whole drawing, "empty" for none.
/proc/custom_limb_markings_validateZone drawings keep the existing codec; discard unknown zones and independently copy each valid drawing.
/proc/custom_style_recolor_drawingRewrites literal-color paint through a color map, keeping every pixel where it is.
/proc/custom_sprite_direction_signatureOne view's pixels as color text, so two drawings compare by what they show, not palette order. Appendages' pixels in that view follow the hair's.
/proc/custom_sprite_pixel_hashTint and emissive settings affect appearances, not the drawing's raw pixels.