Post by UndeadFrankie on Jun 15, 2020 18:05:40 GMT -5
Step 1: Downloads / Links
1.) HxD (or a Hex Editor) - DOWNLOAD
2.) Autodesk 3ds Max (paid) - DOWNLOAD (Older versions work best)
3.) Photoshop (paid) - DOWNLOAD (GIMP generated too many mipmaps but there might be a way around it)
4.) NVIDIA Texture Tools Exporter (Choose the Photoshop Plugin) -DOWNLOAD
5.) Gibbed Tools for Dead Rising 2 -DOWNLOAD
6.) Example .tex file (Download to follow along with tutorial) - DOWNLOAD
*7.) Windows Texture Viewer - DOWNLOAD (Optional) (Lightweight; Helps figure out texure resolution, compression and color format)
*8.) Texture Header List, in case spoilers are making it hard to copy and paste - DOWNLOAD
*This tutorial assumes you already know the basics of Gibbed.DeadRising2.Tools. I still explained most of the process but you might need to learn more about the tools before continuing.
Step 2: Finding textures
The file structure is too complicated to break down fully here but these are a few tips:
1.) All Mall / Level Textures = Data > Models > Environment > *.big > *.tex (There is many so finding the right texture takes time)
2.) NPC's / Clothing / Cinematic NPC's = Data > Models > npcs.big
3.) HUD / Menus / Startup = Data > Frontend > ingame.big / fecmn.big
4.) Weapons / Icons / Vehicles = Data > streamedassets.big
5.) Zombies / Mercs / Looters = Data > Models > zombies.big
6.) Cinematic Props / Items = Data > cine_props.big
With the PS3 / 360 debug menu a player can use Render Menu > Present Texture By Handle to see each loaded texture and the name of it in the files.
On pc it's trial and error, eventually you'll find the right textures...
Step 3: Extraction from .big & Texture naming
We'll be working with missingprop.tex. The original path is Dead Rising 2 > Data > Models > Special
To make it easy I've included a download for this at the top. Extract missingprop.tex with Gibbed.DeadRising2.Unpack.exe
The original texture looks like this.
Dead Rising 2 will usually have textures that have no extension, some of same textures in Off The Record have ".bct"
Generally speaking this doesn't really matter because in most cases the textures can be swapped by renaming the files to have the ".bct" extension if necessary.
Simply, Dead Rising 2 and Dead Rising 2: Off The Record textures are swappable without any editting besides name changes.
For the sake of this tutorial it doesn't matter if it is .bct or has none, but the texture in this example is "PropMissing_CM"
The most common texture types are CM, NM, SM or Mask. These are basically (Color Map) (Normal Map) (Shadow Map / Mask)
This example shows these three types with chucks jacket. CM sets the default "color", you'll want to edit this most of the time.
However on occasion they will either have no descriptive initials or they will have LM or (Light Map)
you have to guess if it doesn't describe, but in my case those were also CM textures.
LM textures are used to set the lighting of an area. Making good Light Map mods takes a lot of patience and effort but the same technique can be used to export / import them.
Step 4: The "Hard" Part aka. Hex Editing (Exporting)
Make a copy of the original texture, HxD will do this by default when you save changes.
Drag and drop the texture you want to convert into a dds into HxD (or another Hex Editor)
With byte order set to "Little Endian" highlight these four bytes. These numbers are the resolution of the texture, this is important.
1.) Highlight the four bytes shown, even if the numbers are different.
2.) Look in the data inspector
3.) Read texture resolutions from the value tab.
If you're texture doesn't have the size there I've included a list of little endian resolutions, look for these on the first few lines.
I usually find it after the first four bytes.
2x2 = [02 00 02 00]
4x4 = [04 00 04 00]
8x8 = [08 00 08 00]
16x16 = [10 00 10 00]
32x32 = [20 00 20 00]
64x64 = [40 00 40 00]
128x128 = [80 00 80 00]
256x256 = [00 01 00 01]
512x512 = [00 02 00 02]
1024x1024 = [00 04 00 04]
2048x2048 = [00 08 00 08]
4096x4096 = [00 10 00 10]
NOTE :These are only to help identify texture resolution and can't be swapped into the header. In DDS they are different.
In this case it's [00 02 00 02] in the "Data inspector" on the right side Int16, UInt16, Int24, and UInt24 tell you the resolution. Here they are all 512 which is (512x512)
Step 5: Editing & Saving the .dds
1.) Highlight all the bytes of the header (not the decoded text) The decoded text view is helpful for seeing where it ends.
2.) Look for the last € symbol and the line ending in dots is the end of the header. the "PropMissing_CM" header ends at offset 00000090.
3.) The pattern clearly changes after this point... only edit the parts before this.
Before adding the new header, figure out whether the texture has alpha transparency / transparent (DXT5) or if it's a solid texture. (DXT1)
PropMissing_CM is a "CM" texture and it's DXT1.
Now highlight THE BYTES from the beginning to the end of the header and paste insert in one of these pre-written headers depending on the resolution and if it's DXT1 or DXT5.
For "PropMissing_CM" paste this header in.
44 44 53 20 7C 00 00 00 07 10 02 00 00 02 00 00 00 02 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
It'll tell you that this will change the file size, accept it and optionally check the box to make it stop popping up.
This is how DDS stores it's resolution and the version of DXT (DXT1 or DXT5).
Pre-Completed DDS Headers - DXT1 (Copy & Paste Insert, everything after the = sign)
2x2 DDS =
44 44 53 20 7C 00 00 00 07 10 01 00 02 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
4x4 DDS =
44 44 53 20 7C 00 00 00 07 10 01 00 04 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
8x8 DDS =
44 44 53 20 7C 00 00 00 07 10 01 00 08 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
16x16 DDS =
44 44 53 20 7C 00 00 00 07 10 01 00 10 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
32x32 DDS =
44 44 53 20 7C 00 00 00 07 10 01 00 20 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
64x64 DDS =
44 44 53 20 7C 00 00 00 07 10 01 00 40 00 00 00 40 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
128x128 DDS =
44 44 53 20 7C 00 00 00 07 10 01 00 80 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
256x256 DDS =
44 44 53 20 7C 00 00 00 07 10 01 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
512x512 DDS =
44 44 53 20 7C 00 00 00 07 10 02 00 00 02 00 00 00 02 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1024x1024 DDS =
44 44 53 20 7C 00 00 00 07 10 01 00 00 04 00 00 00 04 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2048x2048 DDS =
44 44 53 20 7C 00 00 00 07 10 01 00 00 08 00 00 00 08 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
4096x4096 DDS =
44 44 53 20 7C 00 00 00 07 10 01 00 00 10 00 00 00 10 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Pre-Completed DDS Headers - DXT5 (Copy & Paste Insert, everything after the = sign)
2x2 DDS =
44 44 53 20 7C 00 00 00 07 10 01 00 02 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
4x4 DDS =
44 44 53 20 7C 00 00 00 07 10 01 00 04 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
8x8 DDS =
44 44 53 20 7C 00 00 00 07 10 01 00 08 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
16x16 DDS =
44 44 53 20 7C 00 00 00 07 10 01 00 10 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
32x32 DDS =
44 44 53 20 7C 00 00 00 07 10 01 00 20 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
64x64 DDS =
44 44 53 20 7C 00 00 00 07 10 01 00 40 00 00 00 40 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
128x128 DDS =
44 44 53 20 7C 00 00 00 07 10 01 00 80 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
256x256 DDS =
44 44 53 20 7C 00 00 00 07 10 01 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
512x512 DDS =
44 44 53 20 7C 00 00 00 07 10 02 00 00 02 00 00 00 02 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1024x1024 DDS =
44 44 53 20 7C 00 00 00 07 10 01 00 00 04 00 00 00 04 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2048x2048 DDS =
44 44 53 20 7C 00 00 00 07 10 01 00 00 08 00 00 00 08 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
4096x4096 DDS =
44 44 53 20 7C 00 00 00 07 10 01 00 00 10 00 00 00 10 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Misc. Headers
DR2 / OTR / Weapon Icon .bct header (DXT1) =
44 44 53 20 7C 00 00 00 07 10 01 00 40 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
DR3 Weapon Icon .bct header (DXT5) =
44 44 53 20 7C 00 00 00 07 10 01 00 80 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Now save and rename "PropMissing_CM" to "PropMissing_CM.dds", or if another texture ends with .bct, change it to .dds
I like to use Window's Texture Viewer to make sure the .dds displays properly and to check it's resolution, compression and color settings (A R G B) *This is entirely optional
Step 6: Re-importing
Open Photoshop and drag the texture in, or open it from the file menu.
With the Nvidia texture plugin installed, a menu will popup asking if you want to load the texture with a few different options.
Untick Load Mipmaps and select Ok. Now you can apply any edits you want to the texture.
Make any edits you want and then under "File" choose "Save As..." and select .dds
Use these settings for DXT1
Use these settings for DXT5
click save and wait for it to finish.
Step 7: Re-packing
Open both the edited .dds and the backup of the original texture in HxD. Copy the original header and paste insert it into the edited texture .dds from offset 00000000 to 00000070
Now save the file and after it saves rename it to either .bct or remove ".dds"
Drag the folder onto Gibbed.DeadRising2.Pack.exe and when it's done rename it to the original file name.
Pack any more files that might need it and rename them accordingly. Then backup the original .tex in case it has issues then place it in the respective folder for that .tex.
If everything went well you should see the edited texture in game like this.
These reskins can be shared without any addition programs like texmod, hopefully this helped. I haven't found a texture that this hasn't exported / extracted so if you have issues let me know so I can update the tutorial.
It's easiest to reach me on the discord or in discord DM's.
1.) HxD (or a Hex Editor) - DOWNLOAD
2.) Autodesk 3ds Max (paid) - DOWNLOAD (Older versions work best)
3.) Photoshop (paid) - DOWNLOAD (GIMP generated too many mipmaps but there might be a way around it)
4.) NVIDIA Texture Tools Exporter (Choose the Photoshop Plugin) -DOWNLOAD
5.) Gibbed Tools for Dead Rising 2 -DOWNLOAD
6.) Example .tex file (Download to follow along with tutorial) - DOWNLOAD
*7.) Windows Texture Viewer - DOWNLOAD (Optional) (Lightweight; Helps figure out texure resolution, compression and color format)
*8.) Texture Header List, in case spoilers are making it hard to copy and paste - DOWNLOAD
*This tutorial assumes you already know the basics of Gibbed.DeadRising2.Tools. I still explained most of the process but you might need to learn more about the tools before continuing.
Step 2: Finding textures
The file structure is too complicated to break down fully here but these are a few tips:
1.) All Mall / Level Textures = Data > Models > Environment > *.big > *.tex (There is many so finding the right texture takes time)
2.) NPC's / Clothing / Cinematic NPC's = Data > Models > npcs.big
3.) HUD / Menus / Startup = Data > Frontend > ingame.big / fecmn.big
4.) Weapons / Icons / Vehicles = Data > streamedassets.big
5.) Zombies / Mercs / Looters = Data > Models > zombies.big
6.) Cinematic Props / Items = Data > cine_props.big
With the PS3 / 360 debug menu a player can use Render Menu > Present Texture By Handle to see each loaded texture and the name of it in the files.
On pc it's trial and error, eventually you'll find the right textures...
Step 3: Extraction from .big & Texture naming
We'll be working with missingprop.tex. The original path is Dead Rising 2 > Data > Models > Special
To make it easy I've included a download for this at the top. Extract missingprop.tex with Gibbed.DeadRising2.Unpack.exe
The original texture looks like this.
Dead Rising 2 will usually have textures that have no extension, some of same textures in Off The Record have ".bct"
Generally speaking this doesn't really matter because in most cases the textures can be swapped by renaming the files to have the ".bct" extension if necessary.
Simply, Dead Rising 2 and Dead Rising 2: Off The Record textures are swappable without any editting besides name changes.
For the sake of this tutorial it doesn't matter if it is .bct or has none, but the texture in this example is "PropMissing_CM"
The most common texture types are CM, NM, SM or Mask. These are basically (Color Map) (Normal Map) (Shadow Map / Mask)
This example shows these three types with chucks jacket. CM sets the default "color", you'll want to edit this most of the time.
However on occasion they will either have no descriptive initials or they will have LM or (Light Map)
you have to guess if it doesn't describe, but in my case those were also CM textures.
LM textures are used to set the lighting of an area. Making good Light Map mods takes a lot of patience and effort but the same technique can be used to export / import them.
Step 4: The "Hard" Part aka. Hex Editing (Exporting)
Make a copy of the original texture, HxD will do this by default when you save changes.
Drag and drop the texture you want to convert into a dds into HxD (or another Hex Editor)
With byte order set to "Little Endian" highlight these four bytes. These numbers are the resolution of the texture, this is important.
1.) Highlight the four bytes shown, even if the numbers are different.
2.) Look in the data inspector
3.) Read texture resolutions from the value tab.
If you're texture doesn't have the size there I've included a list of little endian resolutions, look for these on the first few lines.
I usually find it after the first four bytes.
2x2 = [02 00 02 00]
4x4 = [04 00 04 00]
8x8 = [08 00 08 00]
16x16 = [10 00 10 00]
32x32 = [20 00 20 00]
64x64 = [40 00 40 00]
128x128 = [80 00 80 00]
256x256 = [00 01 00 01]
512x512 = [00 02 00 02]
1024x1024 = [00 04 00 04]
2048x2048 = [00 08 00 08]
4096x4096 = [00 10 00 10]
NOTE :These are only to help identify texture resolution and can't be swapped into the header. In DDS they are different.
In this case it's [00 02 00 02] in the "Data inspector" on the right side Int16, UInt16, Int24, and UInt24 tell you the resolution. Here they are all 512 which is (512x512)
Step 5: Editing & Saving the .dds
1.) Highlight all the bytes of the header (not the decoded text) The decoded text view is helpful for seeing where it ends.
2.) Look for the last € symbol and the line ending in dots is the end of the header. the "PropMissing_CM" header ends at offset 00000090.
3.) The pattern clearly changes after this point... only edit the parts before this.
Before adding the new header, figure out whether the texture has alpha transparency / transparent (DXT5) or if it's a solid texture. (DXT1)
PropMissing_CM is a "CM" texture and it's DXT1.
Now highlight THE BYTES from the beginning to the end of the header and paste insert in one of these pre-written headers depending on the resolution and if it's DXT1 or DXT5.
For "PropMissing_CM" paste this header in.
44 44 53 20 7C 00 00 00 07 10 02 00 00 02 00 00 00 02 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
It'll tell you that this will change the file size, accept it and optionally check the box to make it stop popping up.
This is how DDS stores it's resolution and the version of DXT (DXT1 or DXT5).
Pre-Completed DDS Headers - DXT1 (Copy & Paste Insert, everything after the = sign)
2x2 DDS =
44 44 53 20 7C 00 00 00 07 10 01 00 02 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
4x4 DDS =
44 44 53 20 7C 00 00 00 07 10 01 00 04 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
8x8 DDS =
44 44 53 20 7C 00 00 00 07 10 01 00 08 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
16x16 DDS =
44 44 53 20 7C 00 00 00 07 10 01 00 10 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
32x32 DDS =
44 44 53 20 7C 00 00 00 07 10 01 00 20 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
64x64 DDS =
44 44 53 20 7C 00 00 00 07 10 01 00 40 00 00 00 40 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
128x128 DDS =
44 44 53 20 7C 00 00 00 07 10 01 00 80 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
256x256 DDS =
44 44 53 20 7C 00 00 00 07 10 01 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
512x512 DDS =
44 44 53 20 7C 00 00 00 07 10 02 00 00 02 00 00 00 02 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1024x1024 DDS =
44 44 53 20 7C 00 00 00 07 10 01 00 00 04 00 00 00 04 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2048x2048 DDS =
44 44 53 20 7C 00 00 00 07 10 01 00 00 08 00 00 00 08 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
4096x4096 DDS =
44 44 53 20 7C 00 00 00 07 10 01 00 00 10 00 00 00 10 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Pre-Completed DDS Headers - DXT5 (Copy & Paste Insert, everything after the = sign)
2x2 DDS =
44 44 53 20 7C 00 00 00 07 10 01 00 02 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
4x4 DDS =
44 44 53 20 7C 00 00 00 07 10 01 00 04 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
8x8 DDS =
44 44 53 20 7C 00 00 00 07 10 01 00 08 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
16x16 DDS =
44 44 53 20 7C 00 00 00 07 10 01 00 10 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
32x32 DDS =
44 44 53 20 7C 00 00 00 07 10 01 00 20 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
64x64 DDS =
44 44 53 20 7C 00 00 00 07 10 01 00 40 00 00 00 40 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
128x128 DDS =
44 44 53 20 7C 00 00 00 07 10 01 00 80 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
256x256 DDS =
44 44 53 20 7C 00 00 00 07 10 01 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
512x512 DDS =
44 44 53 20 7C 00 00 00 07 10 02 00 00 02 00 00 00 02 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1024x1024 DDS =
44 44 53 20 7C 00 00 00 07 10 01 00 00 04 00 00 00 04 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2048x2048 DDS =
44 44 53 20 7C 00 00 00 07 10 01 00 00 08 00 00 00 08 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
4096x4096 DDS =
44 44 53 20 7C 00 00 00 07 10 01 00 00 10 00 00 00 10 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Misc. Headers
DR2 / OTR / Weapon Icon .bct header (DXT1) =
44 44 53 20 7C 00 00 00 07 10 01 00 40 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
DR3 Weapon Icon .bct header (DXT5) =
44 44 53 20 7C 00 00 00 07 10 01 00 80 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 04 00 00 00 44 58 54 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Now save and rename "PropMissing_CM" to "PropMissing_CM.dds", or if another texture ends with .bct, change it to .dds
I like to use Window's Texture Viewer to make sure the .dds displays properly and to check it's resolution, compression and color settings (A R G B) *This is entirely optional
Step 6: Re-importing
Open Photoshop and drag the texture in, or open it from the file menu.
With the Nvidia texture plugin installed, a menu will popup asking if you want to load the texture with a few different options.
Untick Load Mipmaps and select Ok. Now you can apply any edits you want to the texture.
Make any edits you want and then under "File" choose "Save As..." and select .dds
Use these settings for DXT1
Use these settings for DXT5
click save and wait for it to finish.
Step 7: Re-packing
Open both the edited .dds and the backup of the original texture in HxD. Copy the original header and paste insert it into the edited texture .dds from offset 00000000 to 00000070
Now save the file and after it saves rename it to either .bct or remove ".dds"
Drag the folder onto Gibbed.DeadRising2.Pack.exe and when it's done rename it to the original file name.
Pack any more files that might need it and rename them accordingly. Then backup the original .tex in case it has issues then place it in the respective folder for that .tex.
If everything went well you should see the edited texture in game like this.
These reskins can be shared without any addition programs like texmod, hopefully this helped. I haven't found a texture that this hasn't exported / extracted so if you have issues let me know so I can update the tutorial.
It's easiest to reach me on the discord or in discord DM's.