Finding specific texture files

I have recently begun checking string resources in the game, and realized that it was the missing link to actually figure out how to get the texture file of a given article in game (piece of clothing, tattoo, weapon).

So here goes the process for any item found in Customize_Item.vpp_pc, [thus pieces of clothing, jewelry and hairstyles]:


1. Go in game and get the descriptive text of the desired article
example: the upper body piece of cloth called 'Three Count Top' found at Let's Pretend
step1.jpg


2. Unpack Misc.vpp_pc using Minimaul's ExtractPackfile tool (use ThomasJepp.SaintsRow.ExtractPackfile.exe or ThomasJepp.SaintsRow.ExtractPackfileGUI.exe)

Get the file customize_us.le_strings (this is the file for english strings, there are other languages) from Misc.vpp_pc and convert it with Minimaul's ExtractStrings tool.

The tools are found at:
http://www.saintsrowmods.com/forum/threads/minimauls-saints-row-iv-tools.3188/
You will have to use ThomasJepp.SaintsRow.ExtractStrings.exe from this set of tools

More details on how to successfully extract the strings, found in this Saints Row The Third thread:\
http://www.saintsrowmods.com/forum/threads/language-string-editors-sr-tt-and-sr2.2621/

You basically need to unpack both Misc.vpp_pc and Misc_Tables.vpp_pc,

And then use ThomasJepp.SaintsRow.ExtractStrings.exe on customize_us.le_strings (and use the /xtbl option to give the path to the unpacked Misc_Tables folder).

This yields the file customize_us.txt ( I give an up to date version in attachment).

Open the file customize_us.txt in a text editor (Notepad++ is nice) and search for Three Count Top

At the line where you find it, there is a another string: CUST_ITEM_WOMEN_S_BONDAGE_TOP_2

This is the string identifier we were after. On to the next step.

step2.jpg


3. In the unpacked Misc_Tables.vpp_pc folder, get the file customization_items.xtbl and open it in a text editor, and search for CUST_ITEM_WOMEN_S_BONDAGE_TOP_2

You will find that this string is between <DisplayName> tags and looks like this: <DisplayName>CUST_ITEM_WOMEN_S_BONDAGE_TOP_2</DisplayName>

[To its left, there is a <name> tag entry: <Name>wrestle top female</Name>
This identifier can be useful for some searches, like finding where this item is in customization_stores.xtbl, but we do not need concern ourselves with it in our case]

step3a.jpg

To the right on the same line, further away, sits an entry between <Male_Mesh_Filename> tags, here it looks like: <Male_Mesh_Filename><Filename>cm_lpc_ubdy_f_femwrestle.cmeshx</Filename></Male_Mesh_Filename>

step3b.jpg

The string we are looking for is: cm_lpc_ubdy_f_femwrestle [we drop the .cmeshx]

On to the next step.


4. We need an unpacked Customize_item.vpp_pc folder (use Minimauls tools for this)

There is a file called customize_item.asm_pc inside. Open it in the text editor. The content looks garbled, with some readable tidbits.

In the Customize_item.vpp_pc folder, there is a myriad of files whose name is of the format: custmesh_[some numbers][optional f].str2_pc

Each piece of clothing in the store is found in 2 of those files. The one with the optional f is the version worn by females, the other is worn by males.

A custmesh_[some numbers][optional f].str2_pc file is a packed set of files, and some of those file names do contain the string we found enclosed by the <Male_Mesh_Filename> tags in the preceding step.

The file customize_item.asm_pc contains data about every one of those custmesh[numbers][f].str2_pc files and also about some of the files packed inside them.
So we are going to search for the <Male_Mesh_Filename> enclosed string we found, in this case: cm_lpc_ubdy_f_femwrestle

Then, backtrack in the file to the first occurrence of a custmesh_[some numbers][optional f] entry.
In our case, we get: custmesh_62712008

step4.jpg

So, the texture for the three count top piece of clothe can be found in custmesh_62712008.str2_pc [for male version] and custmesh_62712008f.str2_pc [for female version]


5.Optional
If you dont like searching in the customize_item.asm_pc because it looks messy, you can get a .xml version of this file by using a volition tool, that can be found at:
http://www.saintsrowmods.com/forum/threads/volition-alpha-tools.5629/

I am providing one such version in attachment [file customize_item.xml].

step5.jpg
 

Attachments

  • SR4 guide to finding clothing textures V1.7z
    92.7 KB · Views: 525
In this second part, I show the the process for any item found in Customize_Player.vpp_pc
This includes some of the choices we can make at Image as Desired (facial hair, eyebrows, makeup) and
all the tattoos at Rusty's Needle. Hairstyles are rather found in Customize_Item.vpp_pc (see first part of this guide)


1. Go in game and get the descriptive text of the desired article
example: at Rusty's Needles, in entire back section, the tattoo Demon Saint


part1.jpg


2. As in first part of this guide, you will need the file customize_us.txt (gotten by extracting strings from customize_us.le_strings, see first part of this guide for more details).

Open the file customize_us.txt in a text editor (Notepad++ is nice) and search for Demon Saint

At the line where you find it, there is a another string: CUST_TATTOO_LARM_1

This is the string identifier we were after. On to the next step.

part2.jpg


3. In the unpacked Misc_Tables.vpp_pc folder, get the file customization_compositing.xtbl and open it in a text editor, and search for CUST_TATTOO_LARM_1

You will find that this string is between <DisplayName> tags and looks like this: <DisplayName>CUST_TATTOO_LARM_1</DisplayName>

This is part of a section of data that begins with the tag <Composite_Layer>
The first entry in this section is between <name> tags:
<Name>tattoo_Larm_1</Name>


Tattoos are a special case, as there are often multiple tattoos sharing the same texture in memory, so it is a good idea to keep searching for other instances of CUST_TATTOO_LARM_1 in the file.
In our case, we find another instance, this time around in a <Composite_Layer> section whose first entry is:
<Name>tattoo_Larm_16</Name>

part3.jpg


We have thus found the name of the two files that contain the 'Demon Saint' texture: tattoo_Larm_1.str2_pc and tattoo_Larm_16.str2_pc

They are located in the packfile Customize_player.vpp_pc. You will need to unpack it via Minimaul's tools.

You should modify both tattoo_Larm_1.str2_pc and tattoo_Larm_16.str2_pc, as they share internally the same texture filename: Tat_leftarm_demon01.tga
You can find that filename in the <Composite_Layer> section of both cases, look at the tags <diffuse> and then <Filename>

Since this is not a guide on how to mod tattoos specifically, I will not elaborate further, and there are already some other threads on the subject.
 
Last edited:
In this third part, I show the the process for any item found in Items.vpp_pc
We are talking here, about weapons.


1. The first step is tricky, we got to get the correct text string!

In Saints Row IV, the situation is a little complicated. We want to get the costume name of a weapon. The costume determines the mesh used for the weapon, and thus its physical appearance.

For example, in Rifles, there are several categories: automatic rifle, burst rifle, etc . Those strings are useless to us, its too generic.
Lets say we choose automatic rifles and look at the choices: Shokolov AR, Mercenary LMG and EM Railgun. Those are the costume names we want.
Go no further, because the next step would have us looking at weapon skins, and it would not necessarily help us pinpoint the right file, as a given skin text string can be reused for several different weapons.

There are two ways to quickly check the weapon costume names: you can either check your Weapon Cache at the Gateway, or go at a Friendly Fire.

For example, lets select Shokolov AR

part1a.jpg part1b.jpg


2. As in first part of this guide, you will need the file customize_us.txt (gotten by extracting strings from customize_us.le_strings, see first part of this guide for more details).

Open the file customize_us.txt in a text editor (Notepad++ is nice) and search for Shokolov AR

At the line where you find it, there is a another string: CUST_WPN_COSTUME_DESC_RIFLEAUTO_0

This is the string identifier we were after. On to the next step.

part2.jpg


3. In the unpacked Misc_Tables.vpp_pc folder, get the file weapon_costumes.xtbl and open it in a text editor, and search for CUST_WPN_COSTUME_DESC_RIFLEAUTO_0

You will find that this string is between <DisplayName> tags and looks like this: <DisplayName>CUST_WPN_COSTUME_DESC_RIFLEAUTO_0</DisplayName>

There are two entries for CUST_WPN_COSTUME_DESC_RIFLEAUTO_0, on consecutive lines. We will keep an eye on both.

On both lines of the two instances we found, go a little to the left, there is an entry between <Item_Entry> tags.
In our case, they look like: <Item_Entry>Rifle-Gang</Item_Entry> and <Item_Entry>Rifle-Gang_CS</Item_Entry>

part3.jpg

[ And at the beginning of both lines, there is an entry between <Name> tags that you take in note if you want to proceed with the optional step 5 of this process.
This is the costume name. In this case, we do have: <Name>RifleAuto-0-AR</Name> and <Name>RifleAuto-0-AR_CS</Name> ]

part3b.jpg

'Rifle-Gang' and 'Rifle-Gang_CS' are the strings we are interested in. On to the next step.


4. In the unpacked Misc_Tables.vpp_pc folder, get the file items_3d.xtbl and open it in a text editor, and search for Rifle-Gang

You will find this string between <Name> tags at the beginning of a line (and the string Rifle-Gang_CS is three lines below)

On the same lines, go to the right and look for <character_mesh> tags. In our case, the lines that interest us have the following:
<character_mesh><character_mesh><Filename>AssaultRifle_A.cmeshx</Filename></character_mesh> and
<character_mesh><character_mesh><Filename>CS_AssaultRifle_A.cmeshx</Filename></character_mesh>

part4.jpg

The strings AssaultRifle_A and CS_AssaultRifle_A are part of the streaming filenames that we are looking for. We simply got to append: _high.str2_pc

We will thus find the desired texture in either AssaultRifle_A_high.str2_pc or CS_AssaultRifle_A_high.str2_pc

Those are the textures of the 'default' skins. The alternate skin textures are usually named with a slight variation of the filename.
In our example, the alternate skin filenames are: assaultrifle_a_sk1_high.str2_pc , assaultrifle_a_sk2_high.str2_pc and assaultrifle_a_sk3_high.str2_pc

Those files are located in the packfile Items.vpp_pc. You will need to unpack it via Minimaul's tools.


5. Just to mention that another way to find the alternate skins filenames is to use the costume name we found in step3.

In the unpacked Misc_Tables.vpp_pc folder, get the file weapon_skins.xtbl and open it in a text editor, and search for RifleAuto-0-AR

You will find this string between <costume> tags.

To the left, on the same line, you will see an entry that looks like:
<Material_Library><Filename>assaultrifle_a_sk1_high.matlibx</Filename></Material_Library>

We have the name of an alternate skin by appending .str2_pc : assaultrifle_a_sk1_high.str2_pc

part5.jpg
 
Last edited:
Back
Top