nx_char_layers.nx
buildroot/runtime/nx_char_layers.nx
about
nx_char_layers.nx -- the LAYER STACK (operator: "a nude base + add layers of armor/clothing/makeup/other stuff").
A character = a licensed nude BASE (variant + figure) + an ORDERED stack of layers, each applied in turn so
outer layers sit over inner. Layer types: OUTFIT (nx_outfit clothing/armor), ACCESSORY (belt/hat/necklace = extra
worn geometry), MAKEUP (a face-region cosmetic -- rendered in the charlab detailed-face pipeline, modeled here so
the stack + consent tier know about it). Generalizes the single nx_outfit slot into a composable stack; the
delivered nudity tier (nx_char_asset) reads the stack for a covering outfit. license_tier: ORIGINAL
dependencies 3 imports · 3 importers
imports: nx_syscalls.nxnx_sdfrender.nxnx_outfit.nx
imported by: nx_char_custom_gate.nxnx_char_groom_gate.nxnx_char_layers_gate.nx
structs
| none |
consts
| 10 | const LT_MAGIC_1405: i64 = 1405 |
| 11 | const LT_MAGIC_1330: i64 = 1330 |
| 12 | const LT_MAGIC_1350: i64 = 1350 |
| 13 | const LT_MAGIC_1180: i64 = 1180 |
| 17 | const LT_OUTFIT: i64 = 1 // clothing/armor via nx_outfit (tunic/robe/cloak/armor) |
| 18 | const LT_ACCESSORY: i64 = 2 // worn geometry: belt / hat / necklace |
| 19 | const LT_MAKEUP: i64 = 3 // face cosmetic (charlab face pipeline; nx_makeup) |
| 20 | const LT_PIERCING: i64 = 4 // body jewelry / piercings (small metal studs at anatomical points) |
| 21 | const LT_BODYHAIR: i64 = 5 // body-hair grooming STATE (id: 0 natural / 1 shaved / 2 trimmed) -- a render nuance |
| 22 | const LT_BODYPAINT: i64 = 6 // body paint (a colored material on a body region) |
| 23 | const LT_HAIRSTYLE: i64 = 7 // head hairstyle variant |
| 25 | const ACC_BELT: i64 = 1 |
| 26 | const ACC_HAT: i64 = 2 |
| 27 | const ACC_NECKLACE: i64 = 3 |
| 29 | const PIERCE_NAVEL: i64 = 1 |
| 30 | const PIERCE_COLLAR: i64 = 2 |
| 63 | const GROOM_NATURAL: i64 = 1 |
| 64 | const GROOM_TRIMMED: i64 = 2 |
| 65 | const GROOM_SHAVED: i64 = 3 |
| 66 | const HREG_ALL: i64 = 0 |
| 67 | const HREG_ARMS: i64 = 1 |
| 68 | const HREG_LEGS: i64 = 2 |
| 69 | const HREG_CHEST: i64 = 3 |
| 70 | const HREG_PELVIC: i64 = 4 |
functions
| 33 | func acc_apply(base: i64, n0: i64, id: i64) -> i64 |
| 42 | func pierce_apply(base: i64, n0: i64, id: i64) -> i64 |
| 51 | func bodypaint_apply(base: i64, id: i64) -> i64 |
| 71 | func groom_id(region: i64, state: i64) -> i64 { return region * 4 + state } called by 1: main |
| 72 | func bh_region(base: i64, region: i64, mat: i64) -> i64 |
| 79 | func bodyhair_apply(base: i64, id: i64) -> i64 |
| 98 | func hairstyle_apply(base: i64, n0: i64, id: i64) -> i64 |
| 108 | func char_layers_apply(base: i64, n0: i64, stack: *i64, nl: i64) -> i64 called by 3: maing_buildmain calls 6: outfit_applyacc_applypierce_applybodypaint_applybodyhair_applyhairstyle_apply |
| 127 | func stack_has_outfit(stack: *i64, nl: i64) -> i64 called by 1: main |