Basic Ped YMT Editing - Part 8

Some more notes regarding terminology

Documentation is seriously lacking with respect to modding GTA5 in general. This can be overwhelming and frustrating for new creators or users trying to do their own customization and edits.

For example when browsing YTD files in OpenIV, what would something like hair_diff_000_a_whi.dds mean?

Let's break it down using the file g_m_y_korean_01.ytd. Opening this file we would find a texture called hair_diff_000_a_whi.dds. Well actually the whi is replaced with kor as we shall see.

hair: the 3rd component (numbered 2) or slot which is the ped's hair
diff: diffuse. A diffuse map is the most common kind of texture map. Others are normal and specular (which is identifed as spec).
000: identifies the first drawable, second would be 001 etc.
a: identifies the texture for the drawable, options are from a to z
kor: suffix for the ped's texture race. whi is white, u would be universal, kor is Korean, etc. 

Components have a _u suffix for universal or _r for race. You will also see _m which might mean mixed, that the ped model may have white and black components for example.
dds: the image file type, DirectDraw Surface.

What about ped props? These are defined by the following native function:

int GET_PED_PROP_INDEX(Ped ped, int componentId) // 0x898CC20EA75BACD8 0x746DDAC0 b323

If you take a peek with Menyoo or a similar trainer, you will see 5 ped props are used in GTA5:

Hats (helmets), Glasses, Ear Pieces, Watches, and Bangles. Or, respectively, p_head, p_eyes, p_ears, p_lwrist, p_rwrist. Unless I'm mistaken, R* assumes that watches will always be worn on the left wrist (p_lwrist) while bangles/braclets will be worn on the right (p_rwrist).

Our ped above has props, in a file called g_m_y_korean_01_p.ytd. Opening that file we would find a texture called p_eyes_diff_000_a.dds, as an example, for glasses.

Notice the p suffix for the ytd file, and p prefix for the texture dds file.

Native Database Update
It now lists 14 component variables rather than 12.
Additions, just for documentation purposes are:
PV_COMP_INVALID = -1 //easy to understand as it will return nothing or an error.
PV_COMP_MAX // not documented, max is always 12 so unsure why it's there.

componentId:
enum ePedVarComp
{
    PV_COMP_INVALID = -1,
    PV_COMP_HEAD,
    PV_COMP_BERD,
    PV_COMP_HAIR,
    PV_COMP_UPPR,
    PV_COMP_LOWR,
    PV_COMP_HAND,
    PV_COMP_FEET,
    PV_COMP_TEEF,
    PV_COMP_ACCS,
    PV_COMP_TASK,
    PV_COMP_DECL,
    PV_COMP_JBIB,
    PV_COMP_MAX
};

Ped Component Types in SHVDN3
Just to make things even more complicated, here is how scripthookvdotnet treats the 12 components, these are displayed in alphabetic order:

namespace GTA
{
    public enum PedComponentType
    {
        Face,
        Head,
        Hair,
        Torso,
        Legs,
        Hands,
        Shoes,
        Special1,
        Special2,
        Special3,
        Textures,
        Torso2,
    }
}

BE SURE TO READ:   Add Drawables and Textures to Peds


Part 2

Part 3

Part 4

Part 5

Part 6

Part 7

Part 8 

Back to Start