Character parts, forms and display masks
Characters use chr/cNNNN.chrbnd.dcx model binders and animation binders, while equipment parts use
parts/<part>.partsbnd.dcx. One part binder can contain multiple forms with separate models and animations.
Observed
Some part binders hold no model at all, only .tpf textures: 7 in Sekiro and 76 in Elden Ring, fc_m_0000 among
them. Observed · a listing of the part binders a viewer opens
Sekiro’s wp_a_0761_l contains closed and open Loaded Umbrella forms, each with its own animation binder.
Observed · Sekiro Elden Ring’s wp_a_1152_l has two forms sharing mesh geometry with different materials.
Observed · Elden Ring
Display masks
Section titled “Display masks”A material-name mark #XX# assigns a mesh to display group XX. NpcParam.modelDispMaskXX enables that group; an
unmarked mesh is always visible under this rule. Smithbox applies groups 0–31. Sourced · Smithbox
The Sekiro community description gives the range as 01–31. Sourced · Sekiro · Sekiro modding wiki
Actual c1010 materials also contain #00#. Observed · Sekiro
Over every FLVER of both archive sets, 7,926 Sekiro material names (in 3,075 models) and 15,543 Elden Ring ones (in 3,378)
contain a #. Proven · every FLVER of both archive sets Most are a mark at the start, #dd# followed by a name: 1,695
Sekiro materials in 238 models and 12,257 Elden Ring materials in 1,715. One-digit marks (#1#) are 6 Sekiro and 1,317
Elden Ring materials. Three-digit marks (#100#, #101#) are 76 Elden Ring materials in 4 models. A mark that does not
start the name (c1200_Mukade#00#, AET652_007#1#) is 4 Sekiro materials in 2 models and 2 Elden Ring materials in 1.
The other # are not marks: Material #7 and the like, 6,221 and 1,891 materials. No name in either install has two
marks, a space inside a mark or an empty mark (##). Proven · every FLVER of both archive sets
Rules that read only a mark at the start with one or two digits, and rules that scan for any #digits#, therefore give
the same groups for all but 82 materials in 7 models (the non-leading and the three-digit marks); a rule that takes
exactly two digits after a leading # reads #100# as group 10 and ignores the one-digit marks.
only in Sekiro The game’s own rule is a substring match on the text #kk#. The model’s display-mask routine takes a
group index, formats the text #%02d# (a #, the index as two zero-padded decimal digits, a #), searches each
material name of the model for it and registers the materials that contain it; the format string has this one use in
the executable. Observed · Sekiro · the routine read from the decrypted executable of build 1.06 A mark may
therefore sit anywhere in a name (c1200_Mukade#00#), two marks may share the # between them (#05#06# contains
#05# and #06#), and a one-digit (#7#) or three-digit (#100#) mark matches no group. Observed · Sekiro Over
every FLVER of Sekiro this rule finds a group in 1,699 of the 7,926 names with a #, a scan for any #digits# in 1,705;
the six materials only the scan assigns are the one-digit marks of c1210 (#0#), c1400 (#1#, #2#) and c1550
(#7#, #8#, #9#), which no group controls. Proven · Sekiro · every FLVER of Sekiro
only in Elden Ring The executable of build 1.17.2 has no #%02d# or #%d# text; it parses the mark by hand, in the routine
that sets up a model instance. For each name in the model’s list (a wide string) it requires the first character to be #,
then reads the characters at positions 1 to 4: a decimal digit adds to a running number (n = 10n + digit), any other
character is skipped, and the first # ends the scan. If no # closes the mark within position 4, or the number is 127 or
more, the name has no group; otherwise the group is bit n of a 128-bit mask stored on the entry. A mark that does not start
the name is not read, and the number of digits is free up to three (#1#, #01# and #100# are groups 1, 1 and 100).
Observed[the routine read from the decrypted executable of build 1.17.2; the entries being FLVER material names is inferred
from the names that carry marks]{games=“elden-ring”} Over every FLVER of Elden Ring this rule finds a group in 13,650 of the
15,543 names with a #, a scan for any #digits# in 13,652; the two materials only the scan assigns are the trailing
#1# of AET652_007#1# and AET652_012#1#, which no group controls. Proven · Elden Ring · every FLVER of Elden Ring
The NPC row comes from each enemy or dummy-enemy placement; it is not necessarily a property shared by every occurrence of a character model. Every map enemy’s model/NPC-row link in the independent comparison matches the MSB decode. Proven
Some characters carry a mark on every mesh, so the model draws nothing until an NPC row enables a group: Sekiro’s
c1100 and c1500 and Elden Ring’s c5250 are such models. Observed A row can also switch off groups of such a
model on purpose: every mesh of Sekiro’s c1320 is marked, and its NPC row 13209200 turns off groups 10, 11 and 12.
That is the row’s data, not a misreading of the mask bytes, which match SoulsFormats and Paramdex on all 1,279 Sekiro
NPC rows (see params). Observed · Sekiro
only in Elden Ring c3000 uses groups #00# through #12# for swords, crossbows, spears, shields, torch and whistle.
This makes visible weapons part of the mesh-mask selection for that model. Observed · Elden Ring
NpcParam’s normalChangeTexChrId names another character whose textures the model uses. Sourced · Paramdex It is
set on 245 of the 577 NPC rows that Sekiro’s map placements reference, and on 520 of 2,695 in Elden Ring.
Observed
Animation events can change these groups during a clip; see TAE. Sourced · Smithbox
No examined character needs that combination. Neither the community description nor the checked renderer rule establishes whether multiple marks mean any enabled bit or all enabled bits.
Where weapons are held
Section titled “Where weapons are held”The player’s hand, weapon and effect dummy polygons (20, 21, 24, 80, 85, 147 and others) are in the meshless c0000.flver of
chr/c0000.chrbnd. Sekiro’s face parts (fc_*) carry the same 307 ids; Elden Ring’s parts carry none of them, their dummies
being 45 ids of their own (storage 30 to 35 on bd_*, for example). No dummy id is carried by two kinds of worn part in either
install. Observed · every non-weapon part binder of both installs Not every dummy of Elden Ring’s c0000.flver sits near
its bone: dummies 196 and 197 (attached to bones 73 and 45, the right and left weapon bones) lie about 4.33 m from them and 858
(bone 73) 5.14 m, at stored positions near (∓0.61, 1.02, −4.31) and (−0.29, 1.37, −5.09). Observed[the installed
model]{games=“elden-ring”} Sekiro’s c0000.flver and the face part repeat joint names
(Ctrl_Spine twice in fc_m_0200_l), so they cannot be joined into one skeleton by joint name. Observed · Sekiro
A weapon row’s absorpParamId names a WepAbsorpPosParam row whose right_n, left_n, both_n, leftHang_n, rightHang_n
and leftBoth_n give, for weapon model n (the form suffix _n of the wp_a part), the character dummy polygon the model is
held at. Sourced · Paramdex Every stock row fits that reading: in Sekiro all 66 weapon models have binders and hold rows and all
38 hold dummies exist on c0000.flver; in Elden Ring 3,519 of 3,533 models have binders, 3,464 rows’ hold rows exist, and 581
of 776 hold dummies are on c0000.flver (the hang dummies 2069 and 2070 are not). Observed · every stock row The Kusabimaru
(row 8000000) holds model 0 at 20 (R_Weapon) and model 1, the sheath, at 147; the Uchigatana (row 9000000) its blade at 20 and
its scabbard at 2069. Observed
only in Elden Ring Elden Ring’s hold values come in two ranges. Over every hold slot (right_n to leftBoth_n, n 0 to 3) of
every row, 581 slots name a value below 1000 and 194 a value from 2000 to 2999, and no other thousand occurs; c0000.flver has
no dummy at or above 1000, and every 2xxx value less 2000 is a c0000.flver dummy id. Observed · Elden Ring · every slot of every row
Of the worn parts only body parts carry dummies: 760 of the 834 bd_ binders, none of the 552 hd_, 334 am_, 404 lg_ or
142 hr_ binders, and 6 of the 195 fg_ binders (id 15). The body parts’ ids are 30, 31, 33 to 42, 47 to 52, 54, 61 to 70, 73 to
79, 113, 114, 118, 119, 162, 406, 407 and 409. Observed · Elden Ring · every part binder in the community file list
bd_m_1360_l carries 26 (30, 31, 49 to 52, 61 to 70, 73 to 79, 118, 119, 162), all under BD_Model_Dmy_Storage(Pelvis) and
attached to the pelvis, and 20 of the 37 distinct 2xxx remainders are among them; where both have an id, the armour can move it
(dummy 31 lies 3.7 cm from c0000.flver’s, dummy 69 0.8 mm). Observed · Elden Ring So a 2xxx value names the worn body
part’s dummy value − 2000: the Uchigatana’s scabbard (wp_a_0550_1_l) has right_1, both_1 and rightHang_1 2069 and the left
slots 2070, hanging at the body part’s dummy 69 on the left hip while the sword is drawn in the right hand. Inferred · Elden Ring
The community definition describes rightHang_n as the dummy while the right-hand weapon is sheathed. Sourced · Elden Ring · Smithbox
only in Elden Ring The executable resolves a hold value that way, and falls back to the base character when the part lacks the
dummy. The equipment update passes the chosen WepAbsorpPosParam value to the attachment, which is built with the weapon’s model
and the base character model. It asks the selected part for the dummy value mod 1000, the thousands group choosing the part
(group 2 maps to body slot 3); when that part has no such dummy it asks the base character model for the same remainder.
Observed · Elden Ring · read from the code of 2.7.2.0 A body part without a weapon’s dummy therefore does not leave the
weapon unplaced. Inferred · Elden Ring
The game shows such a case: with a Longbow (row 41000000) stowed in the left hand, its model wp_a_1410_l hangs by
leftHang 2040, the worn chest bd_m_1361_l has no dummy 40 while c0000.flver has, and the bow is drawn stowed on the
character in a recorded attack. Observed · Elden Ring · one saved character and one recording So a missing dummy on the
worn part does not hide the weapon. Inferred · Elden Ring
only in Elden Ring Showing a weapon is a separate path from placing it. The assembly manager walks 27 model slots, gates each
slot’s visibility by hand and side bits (manager +0x2D0) against the weapon’s dispPosType (+0x2F1), and the weapon model’s
own enable combines that with the negation of a flag at model +0x1A8; neither step asks whether the socket exists.
Observed · Elden Ring · read from the code of 2.7.2.0 One writer of that flag belongs to ChrWepEnchantVfxSlot and picks
models by the upper four bits of EquipParamWeapon byte 236; the other writers are not traced. Observed[read from the code of
2.7.2.0]{games=“elden-ring”}
The executable holds a table of dummy-polygon id bases filled by a static initialiser: 1000, 2000, 3000, 4000, 10000, 11000,
12000, 13000, 20000, 21000, 22000 and 23000 (int32); its readers are in obfuscated code and are not decompiled.
Observed · Elden Ring · read from the executable
The values 2116 and 2117 (18 slots) name ids no body part carries; by the fallback above they resolve to c0000.flver’s 116 and
117, under Model_Dmy_AttachWeapon on L_Weapon. One slot names 408, which neither a body part nor c0000.flver carries; where
the game puts that model is not established.
| Field | Sekiro | Elden Ring | Confidence |
|---|---|---|---|
EquipParamWeapon row size |
632 | 664 | Sourced · Paramdex |
equipModelId (u16) |
184 | 188 | Sourced · Paramdex |
wepmotionCategory |
227 | 231 | Sourced · Paramdex |
traceSfxId0 (then the head and tail dummy, three s32 per slot, 8 slots) |
268 | 272 | Sourced · Paramdex |
absorpParamId |
368 | 372 | Sourced · Paramdex |
WepAbsorpPosParam row size; models of five s16 from |
128; 6 models from 4 | 96; 4 models from 8 | Sourced · Paramdex |
leftBoth_n |
70 | 52 | Sourced · Paramdex |
How a weapon draws its trail from these dummies is on What starts an effect.
Sekiro
Section titled “Sekiro”Character binders
Section titled “Character binders”Character model IDs name characters: c1010 is the Ashina Soldier, c5000 the Corrupted Monk, c5100 the
Guardian Ape and c7400 Emma. Sourced · Sekiro · Smithbox The player is c0000, and c1000 and c1001 are
both named “Invisible” and tagged as placeholders for interactable objects. Sourced · Sekiro · Smithbox The player’s
c0000.flver holds no mesh (Where weapons are held), so the Wolf the player sees is put together from
equipment parts (The Wolf’s outfits). Inferred · Sekiro
c1010.chrbnd.dcx holds the FLVER, the Havok skeleton c1010.HKX, c1010.hkxpwv, c1010_c.hkx and
c1010_c.clm2. Its animation binder holds 350 Havok 2016.2 tagfiles (hkaAnimationContainer), one TAE and a type
compendium. The FLVER has 400 nodes, 81 dynamic meshes, 140,330 vertices and 76 dummies. Observed · Sekiro
Textures outside the model binder
Section titled “Textures outside the model binder”only in Sekiro Shared character detail textures FC_A_0000_* (60 of them: hair, fabric blends 01–05, metals,
chainmail, seams, straw, rope, bandage, skin detail, hand and footwear) are in the standalone
/parts/common_body.tpf.dcx. Characters also take textures from texture-only characters that their material
names mention: c1010’s body uses c1019_body_merge_SSS.mtd, whose textures are in /chr/c1019.texbnd.dcx;
c1019 has no model binder. Observed · Sekiro
Over the materials of all 129 character model binders of the install, the definitions bind 3,237 (model, texture) pairs
by a texture path of the definition (the FLVER’s own texture paths are empty in 99.4% of its bindings). 2,257 are in the
model’s own texbnd, common_body.tpf.dcx or systex.tpf.dcx; 939 are in the texbnd of a character whose id the
definition’s texture path names (c7201 binds c7209_tilingskin03_a, held by /chr/c7209.texbnd.dcx): 581 in the model’s
own sibling cNNN9 (the install holds 16 such binders: c1019, c1029, c1219, c1259, c1459, c1559, c5069,
c5089, c5209, c5409, c7019, c7109, c7209, c7309, c7409, c7439), 279 in another cNNN9 and 79 in the binder
of a character with another id (c5440 binds c5408_weapon00_a); the other 41 are in no character binder (20 are in the
area package /map/m25/m25_0000, 21 in no texture package of the install). No stem is held by both a cNNN9 binder and
common_body.tpf.dcx or systex.tpf.dcx, so the order in which a reader searches them does not change which texture a
name gives. Proven · Sekiro
only in Sekiro A low-resolution _l part binder holds _l textures (BD_M_9120_a_l) while its materials name the
full textures (bd_m_9120_a), which are in the full sibling binder parts/bd_m_9120.partsbnd. The face’s
materials name fc_m_0200_* textures, kept in parts/fc_m_0200.partsbnd. Observed · Sekiro
Part-built human NPCs
Section titled “Part-built human NPCs”only in Sekiro The equipment link is MSB Enemy.CharaInitID → CharaInitParam → EquipParamProtector.
NpcParam’s display masks are a separate mechanism. Sourced · Sekiro · Paramdex
| Row | Relevant fields | Confidence |
|---|---|---|
| Sekiro CharaInitParam | Armor IDs at +32..48; npcPlayerSex at +228 |
Sourced · Sekiro · Paramdex |
| Sekiro EquipParamProtector | equipModelId at +160; gender mode at +209 |
Sourced · Sekiro · Paramdex |
A negative placement initializer ID names no authored initializer. Observed · Sekiro
In Sekiro’s gameparam the 203 CharaInitParam rows have 812 equipment slots at those offsets; 811 name an existing
EquipParamProtector row and one holds -1. Slot 0 names protectors of category 3 (169 rows) or 0 (33 rows), slot 1 of
category 2, slot 2 of category 1 and slot 3 of category 6, with no other category. Observed · Sekiro The 39
protector rows have categories 0 (1 row), 1 (9), 2 (15), 3 (6), 5 (1) and 6 (7). Of the six category-3 rows with a model
id, all six have only an fc_ part binder in the archives, while rows of the other categories have am_, bd_, hd_
and lg_ binders under their model ids. Observed · Sekiro
The Wolf’s outfits
Section titled “The Wolf’s outfits”CharaInitParam rows 9000 to 9002 (Original Memory: Wolf) equip protector rows 100000 (head), 101000 (body),
102000 (arms) and 103000 (legs). EquipParamProtector maps them to models 200 (face, fc_), 9040 (body, bd_),
9000 (arms, am_) and 9000 (legs, lg_), male, so the default Wolf is fc_m_0200_l, bd_m_9040_l,
am_m_9000_l and lg_m_9000_l: the orange coat, scarf and prosthetic. Row 10000, the game’s start, equips
100000, 141000, 112000 and 103000, without the prosthetic. Observed · Sekiro
The parts am_m_9120_l, bd_m_9120_l, lg_m_9120_l and hd_m_9120_l with fc_m_0220_l are the Another’s
Memory: Ashina costume, EquipParamProtector rows 400000 to 403000; head row 400000 uses model 220. None of the
39 EquipParamProtector rows uses model 9120 for the head. Observed · Sekiro The Paramdex layouts used here match
the stored row sizes, 472 bytes for CharaInitParam and 508 for EquipParamProtector, and each row’s slot flag
matches its category. Observed · Sekiro That category 3 is the face matches the fc_ binders just described. Observed · Sekiro
bd_m_9040_l has no display-mask meshes. Its coat (P_BD_M_9040_Court, shader
Character_AN_Blend_AMSN_[Fresnel]) and scarf (tops1_Maffler, Character_AMSN_[DetailBlend]) blend the detail
fabrics FC_A_0000_Fabric_blend01 and FC_A_0000_Fabric_blend05. Observed · Sekiro
Joining parts into one skeleton
Section titled “Joining parts into one skeleton”Each part binder holds one FLVER, version 0x2001A. The five Another’s Memory parts have 184, 185, 161, 155 and
422 nodes (arms, body, legs, head, face); every mesh is dynamic with an empty palette, and the UByte4Norm weights
sum to 0.988–1.0. Observed · Sekiro The parts hold 502 distinct node names; Ctrl_Spine and Ctrl_Spine1 occur
twice inside the face part, so the joined skeleton has 504 joints. Observed · Sekiro
A part stores a node with parent −1 when its real parent lives in another part; the five parts have 391 such detached roots. Their local rest transforms are placeholders that differ between parts by up to 2 m, and no vertex weights them; every joint a part’s skin weights has a complete chain inside it. Observed · Sekiro The face part’s head and face joints differ from the body and head parts’ copies by up to 4.7e-3 in matrix entries, about 1.05 mm of vertex displacement. Observed · Sekiro
The checked fields do not fully establish selection among m, f, a, hd, fc or level-suffix alternatives.
Choosing whichever binder exists is not evidence of the game’s rule. Face generation, body shape and runtime
equipment replacement are also outside these field interpretations.
Elden Ring
Section titled “Elden Ring”Outfits of part-built humans
Section titled “Outfits of part-built humans”only in Elden Ring The equipment link has the same shape as Sekiro’s: an initializer row names four protector rows, and a
protector row names the part. The fields are at these offsets in every one of the 29 regulations examined (1.00.0 to
1.17.3), except CHR_EQUIP_MODEL_PARAM_ST, which exists from 1.12.1. Observed · Elden Ring
| Row | Fields | Confidence |
|---|---|---|
CharaInitParam (CHARACTER_INIT_PARAM, data version 2, 320-byte rows) |
Protector row IDs at +32 (head), +36 (body), +40 (arms), +44 (legs); npcPlayerSex at +228 |
Observed · Elden Ring |
EquipParamProtector (EQUIP_PARAM_PROTECTOR_ST, data version 6, 416-byte rows) |
equipModelId (u16) at +164; equipModelCategory at +212; equipModelGender at +213 |
Observed · Elden Ring |
ChrEquipModelParam (CHR_EQUIP_MODEL_PARAM_ST, data version 1, 12-byte rows) |
Twelve rows; Paramdex names the first byte the category, the second the gender and the u16 at +8 equipModelId; all twelve rows hold 0 in the first two bytes and 4 at +4 |
Sourced · Elden Ring · Paramdex |
Sekiro’s offsets at +160, +208 and +209 are not valid in Elden Ring: read at those offsets the 838 protector rows hold
255 in both byte fields. The initializer’s four slots are the same four offsets as in Sekiro. Observed · Elden Ring
In the installed 1.17.3 regulation the 3,273 initializer rows have 13,092 slots: 11,880 name an existing protector row, 1,147 hold -1 and 65 name a row that does not exist. Every protector named by slot 0 has category 5, by slot 1 category 2, by slot 2 category 1 and by slot 3 category 6 (2,898, 3,041, 2,919 and 3,022 slots). Reading the slots one byte further on resolves none of them. The categories are 1 arms, 2 body, 4 hair, 5 head and 6 legs, and the genders 1 male, 2 female, 3 unspecified and 4 none, by the names of Smithbox’s enums. Sourced · Smithbox The 838 protector rows hold categories 1, 2, 4, 5, 6 in 137, 274, 41, 235 and 151 rows, and genders 1, 2, 3, 4 in 20, 25, 96 and 697. The hundreds digit of the row ID is 2 for 136 of the 136 arms rows with a model id, 1 for 268 of 273 body rows, 0 for 233 of 234 head rows and 3 for 149 of 150 leg rows. Observed · Elden Ring
A protector’s model id names the part binder parts/<hd|bd|am|lg>_<m|f>_<id, four digits>.partsbnd.dcx for its category
(head, body, arms, legs). Of the 793 rows with a model id and one of those four categories, 789 have that binder in the
archives, and in none of the 793 does a binder lack its _l sibling or the reverse. By gender: the 693 gender-4 rows with
a binder have m only (688) or both letters (5), and 4 gender-4 rows have none; of 91 gender-3 rows, 88 have both
letters, 2 only f and 1 only m; the 5 gender-2 rows have f only. No a binder exists for any protector row.
Observed · Elden Ring
Joining an outfit’s parts
Section titled “Joining an outfit’s parts”The player model c0000‘s FLVER has 488 distinct bone names and its main Havok animation skeleton 150, all 150 among the
FLVER’s; 33 of them have another parent in the FLVER than in the skeleton, many being FLVER roots, and the Spine’s parent among
them. Observed · Elden Ring · c0000’s FLVER and HKX Neither holds every joint the armour parts weight: the male Warrior
outfit (CharaInitParam 3001) weights 13 face and cloth joints that are in neither. Observed[the parts of male initializer rows
3000, 3001 and 3008]{games=“elden-ring”} So a skeleton taken from either alone loses joints the parts’ meshes and cloth bind to.
Inferred · Elden Ring
The starting classes are initializer rows 3000 to 3009, Vagabond, Warrior, Hero, Bandit, Astrologer, Prophet, Confessor,
Samurai, Prisoner and Wretch in that order. Sourced · Elden Ring · Paramdex Rows 3000 to 3008 equip armour in both
presentations; row 3009 equips none, so the Wretch’s outfit has no part to draw. Observed[the twenty presentations of
rows 3000 to 3009]{games=“elden-ring”} The character creator’s starting looks are another chain: BaseChrSelectMenuParam rows
2000 to 2009 name initializer rows 3100 to 3118, whose npcPlayerFaceGenId (+164) names the FaceParam row of the same
id. Observed · Elden Ring · the installed regulation How the player’s own face and body parts (fg_) are shaped from a
FaceParam row is not established. Unknown · Elden Ring
Parts of one outfit can disagree on a shared joint’s parent. In the Warrior (3001) and Prisoner (3008) outfits four weighted
joints are parented under Pelvis in the body part and under the thighs in the legs part; c0000’s FLVER and skeleton both
parent them under the thighs. The two copies still agree in model-space rest: with c0000‘s FLVER to at most 1.946e-7 (3001)
and 1.179e-6 (3008), and with the skeleton to 1.985e-6 and 3.102e-6. Observed[every stored mesh and level of detail of the two
outfits, with the joints’ weights resolved through the palettes]{games=“elden-ring”} A different stored parent alone therefore
does not make a part’s rest geometry incompatible. Observed · Elden Ring · two outfits
A part can also store parents that name a bone it does not itself attach to. The outfit of initializer row 3002 in the female
presentation is the head hd_m_1380_l, body bd_f_1380_l, arms am_m_1380_l and legs lg_f_1380_l; 14 joints of its parts
(3 in the head, 2 in the body, 9 in the legs: among them L_UpArmTwist and R_UpArmTwist, Spine, Pelvis, the thigh-twist
joints and the calves) have a stored parent other than the one c0000’s main Havok skeleton gives them. For all 14 the part’s
model-space rest agrees with the skeleton’s to at most 5.515e-6. Observed[the four parts of row 3002, each stored joint
compared with the skeleton’s]{games=“elden-ring”} The head part is stored mostly as detached roots (142 of its 154 bones, among
them L_UpperArm), yet its L_UpArmTwist is parented to L_Clavicle; the body part parents the same twist bone to
L_UpperArm, as the skeleton does. Observed · Elden Ring · the head and body parts of row 3002 So a part’s stored parent
is not the nearest ancestor the part holds, and only the character’s skeleton states one hierarchy that all four parts follow.
Inferred · Elden Ring
A part can also keep the skeleton’s parents and still have its own rest. The Prisoner’s (3008) body and head give Neck, Head
and Collar the same parents as c0000’s skeleton but other model-space rests: their matrices differ by up to about 0.01475 in
an entry for Collar and Neck and 0.00155 for Head, and these joints weight vertices. Observed · Elden Ring · the Prisoner’s parts
The differences mix rotation and translation entries and are not a vertex displacement. Inferred · Elden Ring
npcPlayerSex select in Elden Ring?The value is 0 in 512 initializer rows and 1 in 2,761; no enum names the two values. Among the 22 slots that name a female-only protector (gender 2), 19 belong to rows with value 0 and 3 to rows with value 1, and no row equips a male-only protector in a body, arms, head or legs slot, so the examined rows do not say which value is the male one.