"WTF are VIDs?": Full VID List and Explanation.
This guide is part of a three-part series: Customization Items: The Encyclopedia | Customization Items: Asset Filename Structure Explained | "WTF are VIDs": Full VID List and Explanation. What are VIDs?: All "Character Mesh" files (.cmesh) in Saints Row 2 are divided up into sections called...
www.saintsrowmods.com
Customization Items: Asset Filename Structure Explained
This guide will explain the naming conventions of Customization Item assets in Saints Row 2. This will be useful for quickly understanding what a Customization_Item's .cmesh looks like. This guide is part of a three-part series: Customization Items: The Encyclopedia | Customization Items: Asset...
www.saintsrowmods.com
Customization Items: The Encyclopedia
Welcome to the Customization Items Encyclopedia for Saints Row 2! Here you will learn all about Saints Row 2's customization system, and how the files interact with one another. This guide is part of a three-part series: Customization Items: The Encyclopedia | Customization Items: Asset...
www.saintsrowmods.com
NPC Editing - A Comprehensive Guide
Current Version: 1.0.0 With this series of .txt files, you will learn all about Saints Row 2's NPC related files. You will learn how to change the colours of the items an NPC wears, change their gameplay voice, filter in-game appearance by gender/race/character type, force specific outfit...
www.saintsrowmods.com
Creating an outfit via the customization_outfits.xtbl can look
like a daunting task at first, but in truth, once you understand
how everything works it is not hard at all.
It is time consuming, but if you are one of those people who make
the same outfits for your character at every play through, it will
be worth the invested time.
The easiest place to start is to open up 'customization_items.xtbl'
and find an outfit to use as a template. Select the complete outfit entry,
that is everything including the <Outfit> and </Outfit> tags.
Example: (The Police Uniform from the FUZZ activity)
Let's break this down a bit:
<Outfit>
<Name>Police Outfit</Name>
<Display_Name>Police Outfit</Display_Name>
<Content_Grid>
<Content_Element>
<Item>beat cop hat</Item>
<Default_Wear_Option>cmHat_uPolice01_F.cmeshx</Default_Wear_Option>
<Primary_Color>Cop Dark Blue</Primary_Color>
<Secondary_Color>Black</Secondary_Color>
<Tertiary_Color>White</Tertiary_Color>
</Content_Element>
The <Outfit> and </Outfit> tags are necessary to enclose the outfit data.
The <Name>Police Outfit</Name> line tells us and the game that the internal name of the
outfit is 'Police Outfit' it is the name that the game looks for in the FUZZ activity
when the player has a costume change. It is also the name that the game looks for in
the customization_store.xtbl
The <Display_Name>Police Outfit</Display_Name> entry is the name that will appear in the
store's 'outfit' menu as well as in your wardrobe.
NOTE: Even though this particular outfit has the same name and display name entries
most of the outfits do not. that is why the game looks for the <Name> entry.
The <Content_Grid> grid entry holds all of the clothing information associated with the
outfit. The outfit entries must all be enclosed between the <Content_Grid> and </Content_Grid>
brackets.
<Content_Element> contains the code that the game needs to help organize
the various clothing pieces into their respective places. Content element refers to the
clothing piece and how it is worn, what colors are applied to it, and how it is situated on
your body. The clothing items and color information, as well as any logo information must be
enclosed between the <Content_Element> and </Content_Element> brackets.
Default Wear Option is basically the mesh file for the item in question, among other things
it tells the game which position to wear that item in.
<Content_Element>
<Item>beat cop hat</Item>
<Default_Wear_Option>cmHat_uPolice01_F.cmeshx</Default_Wear_Option>
<Primary_Color>Cop Dark Blue</Primary_Color>
<Secondary_Color>Black</Secondary_Color>
<Tertiary_Color>White</Tertiary_Color>
</Content_Element>
Item refers to one of the items that comprise the outfit. In this case the beat cop hat.
the default wear option is the mesh information for the item. It tells us that it is
'cm' a customization item
'Hat' That it is to be worn on the head
'u' that it is unisex
'Police' Part of the Police uniform
'F' to be worn in the forward position
'cmeshx' It is necessary to use the cmeshx extension for the game to find the proper files.
(Note that 'the letter F does not always mean forward. When addressing headwear it means
forward, but when addressing shirts it means flat.)
<Primary_Color>Cop Dark Blue</Primary_Color>
<Secondary_Color>Black</Secondary_Color>
<Tertiary_Color>White</Tertiary_Color>
Primary, Secondary and Tertiary are all color positions on the clothing item. Not all clothing
items need all three color entries. For example the cargo pants only need two.
<Content_Element>
<Item>men's cargo pants</Item>
<Default_Wear_Option>cmBot_mCargoMF01_M.cmeshx</Default_Wear_Option>
<Primary_Color>Hunter Green</Primary_Color>
<Secondary_Color>Myrtle</Secondary_Color>
</Content_Element>
You can use three color entries but only the first two will show up.
<Content_Element>
<Item>men's cargo pants</Item>
<Default_Wear_Option>cmBot_mCargoMF01_M.cmeshx</Default_Wear_Option>
<Primary_Color>Khaki</Primary_Color>
<Secondary_Color>Khaki</Secondary_Color>
<Tertiary_Color>Khaki</Tertiary_Color>
</Content_Element>
For outfit entries that include a logo they will look like this:
<Content_Element>
<Item>short sleeve jumpsuit</Item>
<Default_Wear_Option>cmSui_uJumpsui02.cmeshx</Default_Wear_Option>
<Primary_Color>Orange</Primary_Color>
<Secondary_Color>Orange</Secondary_Color>
<Tertiary_Color>Orange</Tertiary_Color>
<Logo>LOG_256x256_Stilcorrect</Logo>
<Logo_Color>Black</Logo_Color>
</Content_Element>
Notice that the logo has size information as well as it's own color entry.
There are three files that deal with the logos:
customization_logos.xtbl
customization_logo_sets.xtbl
customization_logo_themes.xtbl
You can find the logo names in 'customization_logos.xtbl'
The in game names for the logos can be different from the internal name, so when you
find a logo that you like in the game you should open the customization_logos.xtbl file
and use the name contained in it.
Some logos also come in different sizes so when you are searching for one you should note
what size it is. Logos for the front of clothing are usually 128x128 while the ones
on the back of clothing are usually either 128x256 or 256x256.
While you are learning it is best to keep backup copies of the customization_outfits.xtbl
and customization_items.xtbl in your work area. This is for a couple of reasons. one is
that you might accidentally overwrite a copy and need to replace it, the second is that
it is very handy to have them close when you need to reference or copy something from
one of them.
Let's say that part of your outfit is futuristic biker boots and that there are no outfits
that use them in your customization_outfits.xtbl. What do you do? You open customization_items.xtbl
and search for 'futuristic' and you will an entry like this one:
<Content_Element>
<Item></Item>
<Default_Wear_Option></Default_Wear_Option>
<Primary_Color></Primary_Color>
<Secondary_Color></Secondary_Color>
<Tertiary_Color></Tertiary_Color>
</Content_Element>
Looking at our entry we see that we need to have the item name which the customization_items.xtbl
tells us is futuristic biker boots (Note: Sometimes the in game name and the internal name of
clothing is not the same.) Now we need to know what our default wear option is called. so look for
the 'cmeshx' entry. These boots only contain one cmeshx entry but many other items contain multiple
entries, so make sure you select the proper one. (The asset filename structure tutorial mentioned at
the top of this post contains more information on that.) Now all that is left to this part is adding
the color information
So our entry would look like this:
<Content_Element>
<Item>futuristic biker boots</Item>
<Default_Wear_Option>cmSho_uBikBoot02.cmeshx</Default_Wear_Option>
<Primary_Color>Brown</Primary_Color>
<Secondary_Color>Brown</Secondary_Color>
<Tertiary_Color>Black</Tertiary_Color>
</Content_Element>
Meanwhile if your outfit contains something like short socks you can just copy
an existing entry from the customization_outfits.xtbl. Like this one:
<Content_Element>
<Item>short socks</Item>
<Default_Wear_Option>cmSoc_uSocksF01.cmeshx</Default_Wear_Option>
<Primary_Color>Saint's Purple</Primary_Color>
<Secondary_Color>Silver</Secondary_Color>
<Tertiary_Color>Silver</Tertiary_Color>
</Content_Element>
All you have to do now is make sure that the suffix is correct for the way you want to
wear the item, and that you enter the correct color information.
I should note before we move on that some entries like jewelry or certain clothing items don't
have any color information attached to them. You set their colors in the variants section.
Example:
<Content_Element>
<Item>tribal wristband 4 right</Item>
<Default_Wear_Option>cmWrR_uBand04.cmeshx</Default_Wear_Option>
</Content_Element>
Before we move on to the <Variant> section keep one thing in mind. If you misspell the color names
or forget to add a bracket or a line of code your game will crash. If you don't notice how many colors
an item has while you are in game, that info is also available in the customization_items.xtbl info
for each item. It's at the bottom of the item's entry.
like a daunting task at first, but in truth, once you understand
how everything works it is not hard at all.
It is time consuming, but if you are one of those people who make
the same outfits for your character at every play through, it will
be worth the invested time.
The easiest place to start is to open up 'customization_items.xtbl'
and find an outfit to use as a template. Select the complete outfit entry,
that is everything including the <Outfit> and </Outfit> tags.
Example: (The Police Uniform from the FUZZ activity)
Code:
<Outfit>
<Name>Police Outfit</Name>
<Display_Name>Police Outfit</Display_Name>
<Content_Grid>
<Content_Element>
<Item>beat cop hat</Item>
<Default_Wear_Option>cmHat_uPolice01_F.cmeshx</Default_Wear_Option>
<Primary_Color>Cop Dark Blue</Primary_Color>
<Secondary_Color>Black</Secondary_Color>
<Tertiary_Color>White</Tertiary_Color>
</Content_Element>
<Content_Element>
<Item>two-pocket long-sleeve workshirt with tie</Item>
<Default_Wear_Option>cmOvS_uBtn2pLS04_MC.cmeshx</Default_Wear_Option>
<Primary_Color>Cop Light Blue</Primary_Color>
<Secondary_Color>Cop Light Blue</Secondary_Color>
<Tertiary_Color>Cop Dark Blue</Tertiary_Color>
</Content_Element>
<Content_Element>
<Item>beat cop pants</Item>
<Default_Wear_Option>cmBot_uCopPants01_M.cmeshx</Default_Wear_Option>
<Primary_Color>Cop Dark Blue</Primary_Color>
<Secondary_Color>Cop Medium Blue</Secondary_Color>
<Tertiary_Color>Silver</Tertiary_Color>
</Content_Element>
<Content_Element>
<Item>men's dress shoes</Item>
<Default_Wear_Option>cmSho_mForShoe02.cmeshx</Default_Wear_Option>
<Primary_Color>Black</Primary_Color>
<Secondary_Color>Black</Secondary_Color>
<Tertiary_Color>Black</Tertiary_Color>
</Content_Element>
<Content_Element>
<Item>short socks</Item>
<Default_Wear_Option>cmSoc_uSocksF01.cmeshx</Default_Wear_Option>
<Primary_Color>Black</Primary_Color>
<Secondary_Color>Black</Secondary_Color>
<Tertiary_Color>Black</Tertiary_Color>
</Content_Element>
<Content_Element>
<Item>stolen beat cop uniform</Item>
<Default_Wear_Option>cmSui_uCopSuit01.cmeshx</Default_Wear_Option>
<Primary_Color>Charcoal</Primary_Color>
<Secondary_Color>Silver</Secondary_Color>
<Tertiary_Color>Metallic Gold</Tertiary_Color>
</Content_Element>
</Content_Grid>
<Styles_Grid>
<Style_Element>
<Display_Name>default</Display_Name>
<Variant_Grid>
<Variant_Element>
<Variant>beat cop</Variant>
</Variant_Element>
<Variant_Element>
<Variant>tie</Variant>
</Variant_Element>
<Variant_Element>
<Variant>cmBot_uCopPants01</Variant>
</Variant_Element>
<Variant_Element>
<Variant>polished leather</Variant>
</Variant_Element>
<Variant_Element>
<Variant>standard socks</Variant>
</Variant_Element>
<Variant_Element>
<Variant>copstuff</Variant>
</Variant_Element>
</Variant_Grid>]
</Style_Element>
</Styles_Grid>
<_Editor>
<Category>Entries</Category>
</_Editor>
</Outfit>
<Outfit>
<Name>Police Outfit</Name>
<Display_Name>Police Outfit</Display_Name>
<Content_Grid>
<Content_Element>
<Item>beat cop hat</Item>
<Default_Wear_Option>cmHat_uPolice01_F.cmeshx</Default_Wear_Option>
<Primary_Color>Cop Dark Blue</Primary_Color>
<Secondary_Color>Black</Secondary_Color>
<Tertiary_Color>White</Tertiary_Color>
</Content_Element>
The <Outfit> and </Outfit> tags are necessary to enclose the outfit data.
The <Name>Police Outfit</Name> line tells us and the game that the internal name of the
outfit is 'Police Outfit' it is the name that the game looks for in the FUZZ activity
when the player has a costume change. It is also the name that the game looks for in
the customization_store.xtbl
The <Display_Name>Police Outfit</Display_Name> entry is the name that will appear in the
store's 'outfit' menu as well as in your wardrobe.
NOTE: Even though this particular outfit has the same name and display name entries
most of the outfits do not. that is why the game looks for the <Name> entry.
The <Content_Grid> grid entry holds all of the clothing information associated with the
outfit. The outfit entries must all be enclosed between the <Content_Grid> and </Content_Grid>
brackets.
<Content_Element> contains the code that the game needs to help organize
the various clothing pieces into their respective places. Content element refers to the
clothing piece and how it is worn, what colors are applied to it, and how it is situated on
your body. The clothing items and color information, as well as any logo information must be
enclosed between the <Content_Element> and </Content_Element> brackets.
Default Wear Option is basically the mesh file for the item in question, among other things
it tells the game which position to wear that item in.
<Content_Element>
<Item>beat cop hat</Item>
<Default_Wear_Option>cmHat_uPolice01_F.cmeshx</Default_Wear_Option>
<Primary_Color>Cop Dark Blue</Primary_Color>
<Secondary_Color>Black</Secondary_Color>
<Tertiary_Color>White</Tertiary_Color>
</Content_Element>
Item refers to one of the items that comprise the outfit. In this case the beat cop hat.
the default wear option is the mesh information for the item. It tells us that it is
'cm' a customization item
'Hat' That it is to be worn on the head
'u' that it is unisex
'Police' Part of the Police uniform
'F' to be worn in the forward position
'cmeshx' It is necessary to use the cmeshx extension for the game to find the proper files.
(Note that 'the letter F does not always mean forward. When addressing headwear it means
forward, but when addressing shirts it means flat.)
<Primary_Color>Cop Dark Blue</Primary_Color>
<Secondary_Color>Black</Secondary_Color>
<Tertiary_Color>White</Tertiary_Color>
Primary, Secondary and Tertiary are all color positions on the clothing item. Not all clothing
items need all three color entries. For example the cargo pants only need two.
<Content_Element>
<Item>men's cargo pants</Item>
<Default_Wear_Option>cmBot_mCargoMF01_M.cmeshx</Default_Wear_Option>
<Primary_Color>Hunter Green</Primary_Color>
<Secondary_Color>Myrtle</Secondary_Color>
</Content_Element>
You can use three color entries but only the first two will show up.
<Content_Element>
<Item>men's cargo pants</Item>
<Default_Wear_Option>cmBot_mCargoMF01_M.cmeshx</Default_Wear_Option>
<Primary_Color>Khaki</Primary_Color>
<Secondary_Color>Khaki</Secondary_Color>
<Tertiary_Color>Khaki</Tertiary_Color>
</Content_Element>
For outfit entries that include a logo they will look like this:
<Content_Element>
<Item>short sleeve jumpsuit</Item>
<Default_Wear_Option>cmSui_uJumpsui02.cmeshx</Default_Wear_Option>
<Primary_Color>Orange</Primary_Color>
<Secondary_Color>Orange</Secondary_Color>
<Tertiary_Color>Orange</Tertiary_Color>
<Logo>LOG_256x256_Stilcorrect</Logo>
<Logo_Color>Black</Logo_Color>
</Content_Element>
Notice that the logo has size information as well as it's own color entry.
There are three files that deal with the logos:
customization_logos.xtbl
customization_logo_sets.xtbl
customization_logo_themes.xtbl
You can find the logo names in 'customization_logos.xtbl'
The in game names for the logos can be different from the internal name, so when you
find a logo that you like in the game you should open the customization_logos.xtbl file
and use the name contained in it.
Some logos also come in different sizes so when you are searching for one you should note
what size it is. Logos for the front of clothing are usually 128x128 while the ones
on the back of clothing are usually either 128x256 or 256x256.
While you are learning it is best to keep backup copies of the customization_outfits.xtbl
and customization_items.xtbl in your work area. This is for a couple of reasons. one is
that you might accidentally overwrite a copy and need to replace it, the second is that
it is very handy to have them close when you need to reference or copy something from
one of them.
Let's say that part of your outfit is futuristic biker boots and that there are no outfits
that use them in your customization_outfits.xtbl. What do you do? You open customization_items.xtbl
and search for 'futuristic' and you will an entry like this one:
Code:
<Customization_Item>
<Name>futuristic biker boots</Name>
<DisplayName>CUST_ITEM_FUTURISTIC_BIKER_BOOTS</DisplayName>
<Wear_Options>
<Wear_Option>
<Name>CUST_WEAR_NORMAL</Name>
<disabled>no</disabled>
<Active_Flags></Active_Flags>
<Required_Flags></Required_Flags>
<Incompatible_Flags></Incompatible_Flags>
<Particle_Systems></Particle_Systems>
<Mesh_Information>
<MeshID>426</MeshID>
<Mesh_Filename>
<Filename>cmSho_uBikBoot02.cmeshx</Filename>
</Mesh_Filename>
<Cutscene_Only>no</Cutscene_Only>
<Obscured_VIDs>
<Obscured_VID>
<VID>100</VID>
</Obscured_VID>
<Obscured_VID>
<VID>101</VID>
</Obscured_VID>
<Obscured_VID>
<VID>102</VID>
</Obscured_VID>
<Obscured_VID>
<VID>103</VID>
</Obscured_VID>
<Obscured_VID>
<VID>104</VID>
</Obscured_VID>
<Obscured_VID>
<VID>221</VID>
</Obscured_VID>
<Obscured_VID>
<VID>39</VID>
</Obscured_VID>
<Obscured_VID>
<VID>40</VID>
</Obscured_VID>
<Obscured_VID>
<VID>41</VID>
</Obscured_VID>
<Obscured_VID>
<VID>42</VID>
</Obscured_VID>
<Obscured_VID>
<VID>43</VID>
</Obscured_VID>
<Obscured_VID>
<VID>48</VID>
</Obscured_VID>
<Obscured_VID>
<VID>49</VID>
</Obscured_VID>
<Obscured_VID>
<VID>91</VID>
</Obscured_VID>
<Obscured_VID>
<VID>92</VID>
</Obscured_VID>
<Obscured_VID>
<VID>93</VID>
</Obscured_VID>
<Obscured_VID>
<VID>94</VID>
</Obscured_VID>
<Obscured_VID>
<VID>95</VID>
</Obscured_VID>
</Obscured_VIDs>
<Obscured_slots></Obscured_slots>
<Texture_Infos></Texture_Infos>
<VID_List>0 222 223</VID_List>
</Mesh_Information>
</Wear_Option>
</Wear_Options>
<Variants>
<Variant>
<Name>CUST_VARIANT_BIKERBOOT</Name>
<Price>0</Price>
<Respect_Bonus>0</Respect_Bonus>
<Mesh_Variant_Info>
<Variant_Name>bikerBoot</Variant_Name>
<VariantID>244</VariantID>
<Material_List>
<Material_Element>
<Material>bikerBoot</Material>
<Shader_Type>SR2Cloth</Shader_Type>
<Default_Colors_Grid>
<Default_Color>
<Color>Charcoal</Color>
</Default_Color>
<Default_Color>
<Color>Silver</Color>
</Default_Color>
<Default_Color>
<Color>Scarlet</Color>
</Default_Color>
</Default_Colors_Grid>
</Material_Element>
</Material_List>
</Mesh_Variant_Info>
</Variant>
</Variants>
<_Editor>
<Category>Entries</Category>
</_Editor>
<ID>276</ID>
<Flags>
</Flags>
<Base_Respect_Bonus>0</Base_Respect_Bonus>
<Slot>shoes</Slot>
<Default_Colors_Grid>
<Default_Color>
<Clothing_Color>White</Clothing_Color>
</Default_Color>
<Default_Color>
<Clothing_Color>Slate Gray</Clothing_Color>
</Default_Color>
<Default_Color>
<Clothing_Color>Amber</Clothing_Color>
</Default_Color>
</Default_Colors_Grid>
<Heel_Angle>0.0</Heel_Angle>
<Heel_Height>0.034</Heel_Height>
<Base_Price>400</Base_Price>
</Customization_Item>
<Content_Element>
<Item></Item>
<Default_Wear_Option></Default_Wear_Option>
<Primary_Color></Primary_Color>
<Secondary_Color></Secondary_Color>
<Tertiary_Color></Tertiary_Color>
</Content_Element>
Looking at our entry we see that we need to have the item name which the customization_items.xtbl
tells us is futuristic biker boots (Note: Sometimes the in game name and the internal name of
clothing is not the same.) Now we need to know what our default wear option is called. so look for
the 'cmeshx' entry. These boots only contain one cmeshx entry but many other items contain multiple
entries, so make sure you select the proper one. (The asset filename structure tutorial mentioned at
the top of this post contains more information on that.) Now all that is left to this part is adding
the color information
So our entry would look like this:
<Content_Element>
<Item>futuristic biker boots</Item>
<Default_Wear_Option>cmSho_uBikBoot02.cmeshx</Default_Wear_Option>
<Primary_Color>Brown</Primary_Color>
<Secondary_Color>Brown</Secondary_Color>
<Tertiary_Color>Black</Tertiary_Color>
</Content_Element>
Meanwhile if your outfit contains something like short socks you can just copy
an existing entry from the customization_outfits.xtbl. Like this one:
<Content_Element>
<Item>short socks</Item>
<Default_Wear_Option>cmSoc_uSocksF01.cmeshx</Default_Wear_Option>
<Primary_Color>Saint's Purple</Primary_Color>
<Secondary_Color>Silver</Secondary_Color>
<Tertiary_Color>Silver</Tertiary_Color>
</Content_Element>
All you have to do now is make sure that the suffix is correct for the way you want to
wear the item, and that you enter the correct color information.
I should note before we move on that some entries like jewelry or certain clothing items don't
have any color information attached to them. You set their colors in the variants section.
Example:
<Content_Element>
<Item>tribal wristband 4 right</Item>
<Default_Wear_Option>cmWrR_uBand04.cmeshx</Default_Wear_Option>
</Content_Element>
Before we move on to the <Variant> section keep one thing in mind. If you misspell the color names
or forget to add a bracket or a line of code your game will crash. If you don't notice how many colors
an item has while you are in game, that info is also available in the customization_items.xtbl info
for each item. It's at the bottom of the item's entry.
Code:
<Styles_Grid>
<Style_Element>
<Display_Name>default</Display_Name>
<Variant_Grid>
<Variant_Element>
<Variant>beat cop</Variant>
</Variant_Element>
<Variant_Element>
<Variant>tie</Variant>
</Variant_Element>
<Variant_Element>
<Variant>cmBot_uCopPants01</Variant>
</Variant_Element>
<Variant_Element>
<Variant>polished leather</Variant>
</Variant_Element>
<Variant_Element>
<Variant>standard socks</Variant>
</Variant_Element>
<Variant_Element>
<Variant>copstuff</Variant>
</Variant_Element>
</Variant_Grid>
</Style_Element>
</Styles_Grid>
<_Editor>
<Category>Entries</Category>
</_Editor>
</Outfit>
The <Styles_Grid> entry performs the same function as the <content_grid> does. All
variant information must be contained within the <Styles_Grid> and </Styles_Grid>
entries.
Within the Style gird entries you must also have <Style_Element> and </Style_Element>
entries. This tells the game that you are through with the clothing portion of the
suit and that it's time to move on to the style or variant options.
You must also have the <Display_Name>default</Display_Name> line.
Don't forget the <Variant_Grid> and </Variant_Grid> entries
<Variant_Element>
<Variant>beat cop</Variant>
</Variant_Element>
For each clothing entry There must be a variant entry that tells the game which style
of the clothing piece to use.
Note: Even if there is no variant info in the store menu for your item there will be atleast 1 variant in it's customization_files.xtbl entry.
Code:
<Customization_Item>
<Name>beat cop hat</Name>
<DisplayName>CUST_ITEM_BEAT_COP_HAT</DisplayName>
<Wear_Options>
<Wear_Option>
<Name>CUST_WEAR_FOREWARD</Name>
<disabled>no</disabled>
<Active_Flags>
<Active_Flag>
<Flag>hat active</Flag>
<Comparison>yes</Comparison>
</Active_Flag>
<Active_Flag>
<Flag>use hat hair</Flag>
<Comparison>yes</Comparison>
</Active_Flag>
</Active_Flags>
<Required_Flags></Required_Flags>
<Incompatible_Flags></Incompatible_Flags>
<Particle_Systems></Particle_Systems>
<Mesh_Information>
<MeshID>322</MeshID>
<Mesh_Filename>
<Filename>cmHat_uPolice01_F.cmeshx</Filename>
</Mesh_Filename>
<Cutscene_Only>no</Cutscene_Only>
<Obscured_VIDs>
<Obscured_VID>
<VID>228</VID>
</Obscured_VID>
</Obscured_VIDs>
<Obscured_slots></Obscured_slots>
<Texture_Infos></Texture_Infos>
<VID_List>0</VID_List>
<Morph_Filename>
<Filename>cmhat_upolice01_f_pc_IGF.morphx</Filename>
</Morph_Filename>
</Mesh_Information>
<Morph_Filename>
<Filename>cmhat_upolice01_f_pc_scr.morphx</Filename>
</Morph_Filename>
</Wear_Option>
</Wear_Options>
<Variants>
<Variant>
<Name>CUST_VARIANT_BADGELESS</Name>
<Price>0</Price>
<Respect_Bonus>0</Respect_Bonus>
<Mesh_Variant_Info>
<Variant_Name>badgeless</Variant_Name>
<VariantID>168</VariantID>
<Material_List>
<Material_Element>
<Material>badgeless</Material>
<Shader_Type>SR2Cloth</Shader_Type>
<Default_Colors_Grid></Default_Colors_Grid>
</Material_Element>
</Material_List>
</Mesh_Variant_Info>
</Variant>
<Variant>
<Name>CUST_VARIANT_BEAT_COP</Name>
<Price>0</Price>
<Respect_Bonus>0</Respect_Bonus>
<Mesh_Variant_Info>
<Variant_Name>beat cop</Variant_Name>
<VariantID>169</VariantID>
<Material_List>
<Material_Element>
<Material>beat cop</Material>
<Shader_Type>SR2Cloth</Shader_Type>
<Default_Colors_Grid></Default_Colors_Grid>
</Material_Element>
</Material_List>
</Mesh_Variant_Info>
</Variant>
<Variant>
<Name>CUST_VARIANT_POLICE_CHIEF</Name>
<Price>0</Price>
<Respect_Bonus>0</Respect_Bonus>
<Mesh_Variant_Info>
<Variant_Name>police chief</Variant_Name>
<VariantID>170</VariantID>
<Material_List>
<Material_Element>
<Material>police chief</Material>
<Shader_Type>SR2Cloth</Shader_Type>
<Default_Colors_Grid></Default_Colors_Grid>
</Material_Element>
</Material_List>
</Mesh_Variant_Info>
</Variant>
</Variants>
<_Editor>
<Category>Entries</Category>
</_Editor>
<ID>200</ID>
<Flags>
</Flags>
<Base_Respect_Bonus>0</Base_Respect_Bonus>
<Slot>headwear</Slot>
<Default_Colors_Grid>
<Default_Color>
<Clothing_Color>Cop Dark Blue</Clothing_Color>
</Default_Color>
<Default_Color>
<Clothing_Color>Black</Clothing_Color>
</Default_Color>
<Default_Color>
<Clothing_Color>White</Clothing_Color>
</Default_Color>
</Default_Colors_Grid>
<Base_Price>110</Base_Price>
</Customization_Item>
When you design an outfit at one of the stores you are given variant information
if there is any available for your item, but once again the internal names are not
always the same as the ingame names, so if you can't find an instance of the item in
the customization_outfits.xtbl, then the customization_items.xtbl can help you out.
After all of the cmesh information each item will have a section on variants, that may or may
not have multiple entries, in the case of the beat cop hat there are three.
Badgeless, Beat Cop and Police Chief. Let's take a look at one of those entries.
<Variant>
<Name>CUST_VARIANT_POLICE_CHIEF</Name>
<Price>0</Price>
<Respect_Bonus>0</Respect_Bonus>
<Mesh_Variant_Info>
<Variant_Name>police chief</Variant_Name>
<VariantID>170</VariantID>
<Material_List>
<Material_Element>
<Material>police chief</Material>
<Shader_Type>SR2Cloth</Shader_Type>
<Default_Colors_Grid></Default_Colors_Grid>
</Material_Element>
</Material_List>
</Mesh_Variant_Info>
</Variant>
When you are looking for the variant name to use in your file you should use the
name contained in the <Variant_Name></Variant_Name> entry. In this case:
<Variant_Name>police chief</Variant_Name> which will give you Troy's hat decorations.
That is all that you need from the variant entry to design an outfit.
Remember when you place a clothing item in the list (beat cop first entry) your variant
info for that item must also be in the same position (beat cop hat variant info first
entry in variant list)
Fortunately when you design an outfit in the store first you have an idea of what all you
need to design your outfit as well as what clothing positions and variable information
you want to use.
Here is a custom outfit of mine: This is Ponch and John's outfit from the show CHiPs:
Code:
<Outfit>
<Name>CHP</Name>
<Display_Name>CHiPs</Display_Name>
<Content_Grid>
<Content_Element>
<Item>Biker Helmet</Item>
<Default_Wear_Option>cmHat_uMoto04_C.cmeshx</Default_Wear_Option>
<Primary_Color>Khaki</Primary_Color>
<Secondary_Color>Cop Medium Blue</Secondary_Color>
<Tertiary_Color>Black</Tertiary_Color>
</Content_Element>
<Content_Element>
<Item>trooper shades</Item>
<Default_Wear_Option>cmGla_uShades05.cmeshx</Default_Wear_Option>
<Primary_Color>Black</Primary_Color>
<Secondary_Color>Black</Secondary_Color>
<Tertiary_Color>Black</Tertiary_Color>
</Content_Element>
<Content_Element>
<Item>two-pocket short-sleeve workshirt</Item>
<Default_Wear_Option>cmOvS_uBtn2pSS01_MC.cmeshx</Default_Wear_Option>
<Primary_Color>Khaki</Primary_Color>
<Secondary_Color>Khaki</Secondary_Color>
<Tertiary_Color>Khaki</Tertiary_Color>
</Content_Element>
<Content_Element>
<Item>men's dress shoes</Item>
<Default_Wear_Option>cmSho_mForShoe02.cmeshx</Default_Wear_Option>
<Primary_Color>Black</Primary_Color>
<Secondary_Color>Black</Secondary_Color>
<Tertiary_Color>Black</Tertiary_Color>
</Content_Element>
<Content_Element>
<Item>beat cop pants</Item>
<Default_Wear_Option>cmBot_uCopPants01_M.cmeshx</Default_Wear_Option>
<Primary_Color>Khaki</Primary_Color>
<Secondary_Color>Khaki</Secondary_Color>
<Tertiary_Color>Khaki</Tertiary_Color>
</Content_Element>
<Content_Element>
<Item>cop badge for shirt</Item>
<Default_Wear_Option>cmX01_uCopBadge1.cmeshx</Default_Wear_Option>
</Content_Element>
<Content_Element>
<Item>cop patches for shoulders</Item>
<Default_Wear_Option>cmX01_uCopPatch1.cmeshx</Default_Wear_Option>
</Content_Element>
<Content_Element>
<Item>police utility belt</Item>
<Default_Wear_Option>cmX03_uCopUtil01.cmeshx</Default_Wear_Option>
<Primary_Color>Black</Primary_Color>
<Secondary_Color>Black</Secondary_Color>
<Tertiary_Color>Silver</Tertiary_Color>
</Content_Element>
<Content_Element>
<Item>fingerless batting gloves</Item>
<Default_Wear_Option>cmHan_uLeather03_B.cmeshx</Default_Wear_Option>
<Primary_Color>Black</Primary_Color>
<Secondary_Color>Black</Secondary_Color>
<Tertiary_Color>Black</Tertiary_Color>
</Content_Element>
</Content_Grid>
<Styles_Grid>
<Style_Element>
<Display_Name>default</Display_Name>
<Variant_Grid>
<Variant_Element>
<Variant>Police</Variant>
</Variant_Element>
<Variant_Element>
<Variant>glasses01</Variant>
</Variant_Element>
<Variant_Element>
<Variant>buttoned shirt</Variant>
</Variant_Element>
<Variant_Element>
<Variant>polished leather</Variant>
</Variant_Element>
<Variant_Element>
<Variant>cmBot_uCopPants01</Variant>
</Variant_Element>
<Variant_Element>
<Variant>gold</Variant>
</Variant_Element>
<Variant_Element>
<Variant>copstuff</Variant>
</Variant_Element>
<Variant_Element>
<Variant>belt</Variant>
</Variant_Element>
<Variant_Element>
<Variant>cmHan_uLeather03</Variant>
</Variant_Element>
</Variant_Grid>
</Style_Element>
</Styles_Grid>
<_Editor>
<Category>Entries</Category>
</_Editor>
</Outfit>
This is the full outfit with all entries correct. So if someone wanted to they could just
paste it into their customization_outfits.xtbl and use it.
If you do decide to use it remember when you add it to the customization_outfits.xtbl place
it between </Outfit> and </Table>. This will place it as the last outfit in the list right
before the <Table> Section starts
There are just a couple of more things to go over before we put the item in the store for purchase.
<_Editor>
<Category>Entries</Category>
</_Editor>
</Outfit>
The editor information is needed to tell the game that it is an item entry
and the </Outfit> entry along with it's <Outfit> counterpart at the top
bookends the entries.
There is other information that can be added as well:
<Cost>1020</Cost>
<Style>102</Style>
Cost is self explanatory and Style refers to the respect bonus associated with that outfit.
Before you can use this outfit though you either have to add it to the Unlockables file or
add it to a store for purchase. Adding outfits to unlockables is covered in
Changing Rewards Within The Unlockables File Complete
Here is a quick little document on how to change rewards within the unlockable file. (Remember if you edit files always back them up first.) Enjoy customizing your rewards. I wasn't watching what I was doing and put this in the wrong place. It should be in tutorials. Sorry
www.saintsrowmods.com
So let's place it in a store for purchase.
There a couple of things you have to decide: Will it be a new outfit or will it replace another outfit?
If it is a new outfit you will have to decide which store to put it in. If it is a replacement outfit then
that decision is already made for you.
So first scenario: Replacing an outfit. Open up customization_stores.xtbl and find the outfit
that you want to replace. Let's say LupinGreen. Once you find it in the file it will look like this:
<Outfit_Element>
<Outfit>LupinGreen</Outfit>
</Outfit_Element>
This outfit is in Let's Pretend so when you change the entry to the name of your outfit, in this case
CHP (remember to use the name not the display name) then you can save your file and drop both the
customization_outfits.xtbl and the customization_stores.xtbl in your GOTR mods directory and
remake your patch.
If you want to add a new outfit to a store first you must decide on which store. Let's say Branded.
In your customization_stores.xtbl search Branded, you will find something like this:
Scroll down to the outfits section and add your outfit as a new entry:
(Remember to use the <name> entry not the <Display_Name> entry.)
<Outfit_Element>
<Outfit>CHP</Outfit>
</Outfit_Element>
So it should look like this:
<Outfits>
<Outfit_Element>
<Outfit>Aladdin</Outfit>
</Outfit_Element>
<Outfit_Element>
<Outfit>Scout</Outfit>
</Outfit_Element>
<Outfit_Element>
<Outfit>CHP</Outfit>
</Outfit_Element>
</Outfits>
Be sure to paste your information above the </Outfits> entry.
Then you can save and drop the files in your modding directory and remake
your patch.
NOTE: My Branded entry will look different that yours because I have changed outfits
in mine already.
NOTE 2: These are taken from the GOTR version not the -SeaboundSaint- version so some of the
entries might look different in your files.
There a couple of things you have to decide: Will it be a new outfit or will it replace another outfit?
If it is a new outfit you will have to decide which store to put it in. If it is a replacement outfit then
that decision is already made for you.
So first scenario: Replacing an outfit. Open up customization_stores.xtbl and find the outfit
that you want to replace. Let's say LupinGreen. Once you find it in the file it will look like this:
<Outfit_Element>
<Outfit>LupinGreen</Outfit>
</Outfit_Element>
This outfit is in Let's Pretend so when you change the entry to the name of your outfit, in this case
CHP (remember to use the name not the display name) then you can save your file and drop both the
customization_outfits.xtbl and the customization_stores.xtbl in your GOTR mods directory and
remake your patch.
If you want to add a new outfit to a store first you must decide on which store. Let's say Branded.
In your customization_stores.xtbl search Branded, you will find something like this:
Code:
<Store>
<Name>Branded</Name>
<DisplayName>CLOTHES_BRANDED</DisplayName>
<Shops>
<Shop_Element>
<Shop>DT Branded</Shop>
</Shop_Element>
<Shop_Element>
<Shop>MAR Branded</Shop>
</Shop_Element>
<Shop_Element>
<Shop>AIR Branded</Shop>
</Shop_Element>
</Shops>
<Items>
<Store_Item>
<Item>thick female eyelashes</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>female eyelashes</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>female eyelashes 1</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>female hooker eyelashes</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>male eyelashes</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>basic nail polish</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>human eyes</Item>
<Variants>
<Item_Variant>
<Variant>blue</Variant>
</Item_Variant>
</Variants>
</Store_Item>
<Store_Item>
<Item>baby doll blouse</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>Baggy baggy cargos</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>canvas shoes</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>Caribbean vest</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>Chest bandies</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>double-strapped sandals</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>General's Pants</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>generic knit cap</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>hensley T-shirt</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>knit cap 4</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>large square buckle belt</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>leather hiking boots</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>low cut sweat shants</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>men's baggy canvas pants</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>men's boxers</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>men's canvas pants</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>men's cargo pants</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>men's cargo short shorts</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>men's long loose cargo shorts</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>men's long loose cargo shorts 2</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>men's sweater vest</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>polo</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>shin high socks</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>short sleeve jumpsuit</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>three-quarter t-shirt</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>two-pocket long-sleeve workshirt</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>two-pocket long-sleeve workshirt with tie</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>two-pocket short-sleeve workshirt</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>two-pocket short-sleeve workshirt 2</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>two-pocket short-sleeve workshirt with tie</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>utility boots</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>women's baby-doll polo</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>women's canvas pants</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>women's chest band</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>women's knitted cap</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>women's low cut cargo shorts</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>women's low cut hot pants</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>women's low cut tight cargo shants</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>women's low cut tight jeans</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>women's low-cut briefs</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>women's mid-length cloth skirt</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>women's short cloth skirt</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>women's stretched sweatshirt</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>women's sweat pants</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>women's sweater vest</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>women's wrap shirt 1</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>worker boots</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>women's banded stockings</Item>
<Variants></Variants>
</Store_Item>
<Store_Item>
<Item>women's one-piece swimsuit 9</Item>
<Variants></Variants>
</Store_Item>
</Items>
<_Editor>
<Category>Entries</Category>
</_Editor>
<Outfits>
<Outfit_Element>
<Outfit>Aladdin</Outfit>
</Outfit_Element>
<Outfit_Element>
<Outfit>Scout</Outfit>
</Outfit_Element>
</Outfits>
Scroll down to the outfits section and add your outfit as a new entry:
(Remember to use the <name> entry not the <Display_Name> entry.)
<Outfit_Element>
<Outfit>CHP</Outfit>
</Outfit_Element>
So it should look like this:
<Outfits>
<Outfit_Element>
<Outfit>Aladdin</Outfit>
</Outfit_Element>
<Outfit_Element>
<Outfit>Scout</Outfit>
</Outfit_Element>
<Outfit_Element>
<Outfit>CHP</Outfit>
</Outfit_Element>
</Outfits>
Be sure to paste your information above the </Outfits> entry.
Then you can save and drop the files in your modding directory and remake
your patch.
NOTE: My Branded entry will look different that yours because I have changed outfits
in mine already.
NOTE 2: These are taken from the GOTR version not the -SeaboundSaint- version so some of the
entries might look different in your files.
Thank you to -SeaBoundSaint- for looking over the tutorial and providing feedback as well as writing the
tutorials listed in the Essential Reading Section.
Last edited: