15. Creation steps
Config.Creator is every step and every control on it. Controls bind to a
skinchanger key, and min/max is read at runtime rather than duplicated here.
Step fields
Section titled “Step fields”| Field | Notes |
|---|---|
id |
Internal key |
label / sub |
Step name and subtitle in the rail |
icon |
crown dna body hair face shirt gem ink quill |
panel |
Heading over the control panel |
camera |
Which Config.Scene.creator shot the step is framed in |
strip |
true drops the character to Config.TattooPreview while the step is open. Their own clothes go back on when they leave, and nothing set here is saved |
controls |
The list below |
Control types
Section titled “Control types”| Type | What it draws |
|---|---|
identity |
First/last name, date of birth, gender. No key |
heritage |
The heritage preset dropdown |
spinner |
< STYLE n > |
slider |
Horizontal slider, shows a percentage |
swatch |
Colour dropdown ("hair", "eye" or "makeup"). Shows STYLE n as well; the dot is the colour |
skintone |
Skin tone. Drawn as a percentage slider, but mirrors its axis per heritage preset so 100% is always the darker end |
outfit |
The suggested outfits from Config.Outfits |
wardrobe |
The player’s own outfit slots (Config.OutfitSlots) |
tattoo |
One zone of Config.Tattoos (takes zone, not key) |
tattooset |
The starter tattoo thumbnails from Config.TattooSets |
review |
The final summary card |
Per-control fields
Section titled “Per-control fields”| Field | Notes |
|---|---|
key |
The skinchanger key it drives |
label |
What it is called on screen |
half |
Put two controls on one row |
palette |
For swatch: "hair", "eye" or "makeup" |
camera |
Frame a different shot while this control is in use |
invert |
Mirror the on-screen axis of a slider |
invert
Section titled “invert”GTA’s face features do not agree about which end of -1.0 .. 1.0 is the
raised/enlarged one, so roughly half read backwards bound straight to the raw
value. invert mirrors the axis the player drags.
Only the on-screen axis flips — the value stored on the character is untouched, so existing characters keep their meaning. The sliders without the flag are the ones the game already runs that way round: NOSE WIDTH, EYEBROW DEPTH, JAW WIDTH/SHAPE, JAW LENGTH, CHEEKBONE WIDTH, EYE SQUINT, CHIN HEIGHT/LENGTH/WIDTH/ SHAPE and NECK THICKNESS. Opacity sliders are left alone deliberately.
If one still reads backwards in game, add or drop invert on that one line.
Why every picker is numbered
Section titled “Why every picker is numbered”Every value picker is numbered — spinners, colour swatches, eye colour, tattoo zones — with no option to name a position, because clicking the value turns it into a box you type a style number into. See README.md under The creator.
Notes on the shipped layout
Section titled “Notes on the shipped layout”- Every appearance value lives on exactly one step. Duplicating a control onto two steps works, but the two read stale until the player moves between them.
- Overlay colours use the
"hair"palette, not"makeup". Every overlay colour is written withSetPedHeadOverlayColor’s colour type 1 (the hair palette), so CHEST HAIR COLOR, MAKEUP COLOR, BLUSH COLOR and LIPSTICK COLOR all use it — otherwise the colour on the button and the colour on the lips differ. - The OPACITY sliders are not optional. Head overlays draw at the opacity in
their
*_2key, which starts at 0 — without a control for it, picking a lipstick changes the ped by nothing. - FACIAL HAIR is on the HAIR step. It is head overlay 1, drawn from the hair palette, and HAIR is the step framed on the head.
- EYEBROW HEIGHT / DEPTH are on FACE. They are face features 6 and 7 — bone shape, not an overlay, and they keep working with EYEBROWS set to None.
- Footwear is on CLOTHING, because a wardrobe slot saves shoes with the rest of
the clothes. The shoe spinners carry their own
camera. - DECALS is component 10 on the torso — a graphic on the garment. Real ink is on the TATTOOS step.
- HAT, not HELMET — prop 0’s drawable list is every hat the model owns, helmets included.
