Saints Row IV

Saints Row IV

Not enough ratings
How to Retexture Clothing - Workshop Update
By MegaFreeman
Since the workshop update, the addition of cloning customization items has changed the way clothing options are retextures. This guide will help you get the grasp of the basics for a simple retexture of a clothing item.
   
Award
Favorite
Favorited
Unfavorite
Introduction.
First of all, when starting you'll need proper tools.
Extract Minimaul's tools and SR3 Texture Utillities to your prefered destination.
1. Cloning an item.
First step in cloning the clothing item is to identify the file you want to clone. For this guide, we are going to use Ultor Corp Tee.
Second step
After finding the name of a file you want to clone, you will need to find it's name. Go to your reference files folder, and first you want to open reference_strings_us.xml

In the said file, you'll want to search the name of an item you are going to clone. In this case, "Ultor Corp Tee"

What you'll want to do now is copy the part in the Name section. This case: "cm_ubdy_ultortee". How you'll need to open the 2nd file (customization_items.xtbl) and search for the name we previously copied in it.

This part might be a bit confusing now. The <String Name=" "> part we searched for is actually <DisplayName>. Explaination: You see, customization_items is a main file for the alll of game's clothings items. <DisplayName> is the name of a variable the game searches for in reference_strings_us.xml which will tell the game what name should it write on the screen when searching for clothing in the game. If you don't quite understand it, no need to worry about it.
What you'll want to do now is copy the name under <Name> tag. In this case, it's same as DisplayName, but in some cases it will be different.

Now, after you copied the name, let's get to the actual cloning part.

Launch CMD.
Using the command cd "path", you're going to navigate to the exact folder Minimaul's tools are extracted at. If you extracted it in a different drive (like me) just type the letter of the drive. For example, "D:"

Now you're going to launch the program by typing ThomasJepp.SaintsRow.CustomizatonItemClone "item_original_name" "cloned_item_name"
Do’s and Don’ts for your custom name:
  • The name has to be unique. Check if there’s no other item named the same way in customization_items.xtbl.
  • Include your Steam or Saintsrowmods username, so that two modders never end up with identical names.
  • Don’t use spaces or non-ASCII characters (ä, ö, ü, ú, ê, è, étc.).
  • Even though many names in customization_items.xtbl do it, don’t start your name with “cm_” or “cf_”. The clone tool adds that automatically.

After running it, in the tools folder, a new folder will appear named after the name we picked and it will contain all the files we need for work.
2. Unpacking retexture files.
Navigate to your tools folder and locate the ThomasJepp.SaintsRow.ExtractPackfileGUI tool. Double click on it to open it, press the "Extract" button and navigate to the folder of your mod. In this case, it's' "megafreeman_exampleitem". Inside the megafreeman_exampleitem folder, extract both custmesh files. (Alternatively, you can drag the custmesh file to the ThomasJepp.SaintsRow.ExtractPackfile, which I prefer)

Two new folders should appear in your mod's folder.


custmesh_1935507113.str2_pc is for the male version of the item, while custmesh_1935507113f.str2_pc is the female version. You can make the two items look different depending which sex wears it, for example Hollywood's outfiit from Official Agents of Mayhem mod pack.

Open your recently extracted folder and inside you'll find the texture files for the clothing item.



cm_name indicates that the item is for the male character, if it was for a female character, the file's prefix would be cf_. Take the file ending with the .cpeg_pc extension and drag it to the SR3UnpackTextures.



Couple of new image files (tga format) shall appear in the folder the file you dragged were in.



Meaning behind the suffix:
  • "_d" for diffuse maps - this is the default file, and is usually used for noncustomizable items, and as a base item for customizable items.
  • "_dp" for RGB pattern maps - RGB color coded file. Everything red in file will be primary selected color, green for secondary and blue for tertiary. Everything done in this will will go over _d and replace it.
  • "_p" for BCM pattern maps - Same as above, but for blue, cyan and magenta. One big difference is that in BCM case, the texture file works like a filter for _d file.
  • "_n" for normal maps - Normals file usually affect texture based stuff like roughness of the material and suck.
  • "_gl" for glow maps - Glowing effect. Like in Decker Soldier outfit.
  • "_sb" for sphere maps - Sphere maps are usually the stuff with reflection.
3. Retexturing the texture files.
Open up the image file in your preferred image editing program. I will be using GIMP. (If you are using Paint.Net, check out Flippy's tutorial)

We are now going to open cm_megafreeman_exampleitem_tee01_d.tga and cm_megafreeman_exampleitem_ultortee_p.tga in the editor.

cm_megafreeman_exampleitem_tee01_d.tga

cm_megafreeman_exampleitem_ultortee_p.tga

A neat little trick is that if you make _p file black and save it as that, it will turn _d file while and you can edit it customization option.

For now, we are going to edit the _p file, and make it into a custom image; a heart.

Now we are going to save it and see how it looks in the game. Go to the file tab, and press "Export As...". Save it under the same name (make sure it ends with _p.tga.DDS). When the "Save As DDS" window pops up, select any format for the compression (I use BC3 / DXT5, so that one works for sure), and check "Generate mipmaps".


A little head up for GIMP users, but make sure to merge all the layers into one, because GIMP will only export the layer on top, and rest will be made into alpha channel. A good way is to press "Layer" and then "New from Visible", then delete all the other layers just in case.

This is how the item looks ingame now:

As you can see, fully customizable:


Now we are going to put the image files back into it's package by draging cm_megafreeman_exampleitem.cpeg_pc to SR3RepackTextures.


Now lets do the same thing for the female varient. If you are making the same versions, feel free to copy all the image .tga files from the place you have your male texture files stored, to the place you keep the female texture files. After that, replace all the texture file names that start with "cm_" with "cf_" and drag cf_megafreeman_exampleitem.cpeg_pc to SR3RepackTextures.

When you finally finish playing with the texture files, time to pack the .str2_pc files. Navigate back to the tools folder and launch ThomasJepp.SaintsRow.BuildPackfileGUI. In source files, copy the address of your extracted-custmesh folder (make sure to replace all the files inside with the finished product). Make sure that "Update asm_pc file?" is checked and in the textbox next to it, use "Browse..." to find the .asm_pc file we were giving inside our mod folder (in this case, inside megafreeman_exampleitem). Select Saints Row IV for the game, press Build and replace custmesh file in the mod folder. MAKE SURE NOT TO MIX MALE AND FEMALE FILES!
4. Finishing touches.
Now we are going to give it appropriate string file. String file is how the item will be called in your waredobe/store. They will appear in alphabetical order. Delete all .le_strings files from the mod folder and open up stringxml folder.

Inside, select the string file for the US version of the game (in this case, megafreeman_exampleitem_US).
Replace "CLONE: ULTOR CORP TEE" with the name you want to give your item to. What's recommended is that instead of "CLONE" you write your username.
Here's an example of what I went with:

After you do so, save it, and drag the file to ThomasJepp.SaintsRow.BuildStrings. It will make the .le_strings file that you need to copy to the root folder of the mod.
You can translate this for all languages, but if any of the languages does miss a translation, the game will by default use the English version.

You can also edit customization_items,xtbl file to change default selected colors during purchase, price and amout of respect you recieve from buying.
5. Packing the file.
Now you need to launch the workshop upload tool. You need to do this regardless if you're uploading to Workshop or not.

Drag and drop all the files in the mod folder (only files, not the folders) into the upload tool.


After that, navigate to the save button and select the saving method.


  • To save as a file, you have to navigate to the mods folder in the Saints Row IV root folder, and save it there under any name you want, it doesn't really matter.
  • To save as part of Steam Workshop, the uploader will launch a new window that will let you fill it with required informations.

My advice is to save it as a file until you're satisfied with the product. After that, you can easily open it, and resave it as a Workshop item. This is because every time you try to save it as a Workshop item, it will first scan for all the mods you have uploaded.
Credits and references.
I hope yall had a good time understanding this tutorial.
This is a simplfied version of the following guides.
Feel free to check SDK link for the extended tutorial + tutorial on how to remodel the cloned items in SRIV.

SRIV SDK Release B: Adding New Customization Items[www.saintsrowmods.com]

Have fun modding!