H2 Texture Modding
For Hitman 2016 please use this tutorial written by HHCHunter:
- QuickBMS (With the Hitman 2 RPKG script)
- Hitman 2 RPKG Patch Builder (Thank you pawREP for this tool)
- XTEA Online WebAssembly Powered Editor (Used to modify packagedefintions.txt) Replacement for the old h6xxtea tool.
- Noesis (With Hitman 2's Texture Plugin - Thanks to Acewell from Xentax)
- Photoshop (With Nvidia's DDS Plugin) or Paint.net (With the DDS FileType Plus plugin)
Note: Gimp may also work if you can find a DDS plugin for it, but I have not tried it.
- Hex Editor (I use HxD)
- Using Paint.net seems to cause ghosting issues with the textures in-game
Part I - Downloading the required tools
First of all you will need to download all the required tools above. I suggest having QuickBMS, Noesis and Patch Builder laid out like this with their required scripts placed like so:
🗄️your modified textures will go here
I won't go into explaining how to install the Photoshop or Paint.net plugins required for DDS texture suppot since those already come with their own instructions.
Part II - Extracting the required files from the game
First you will need to open a command prompt/powershell window in the folder where QuickBMS is and run this command to extract the texture files from the game's rpkg archives:
quickbms_4gb_files.exe -f TEXD\* -k -d Hitman2_rpkg.bms "path\to\steamapps\common\HITMAN2\Runtime\chunk0.rpkg" unpacked
Chunk0 contains all the non level specific textures. If you want to extract textures for a specific mission please see the information below:
chunk0 = Base game + ICA Facility + New Zealand
dlc0 = Paris
dlc1 = Sapienza
dlc2 = Marrakesh
dlc3 = Marrakesh and Sapienza files
dlc4 = Bangkok
dlc5 = Colorado
dlc6 = Hokkaido
dlc7 = New Zealand (Is in chunk0)
dlc8 = Miami
dlc9 = Colombia
dlc10 = Mumbai
dlc11 = Whittleton Creek
dlc12 = The Ark Society
dlc13 = Himmelstein
dlc14 = Hantu Port
The patch archives just include updated versions and new files, so if you want to extract textures from one of the ET missions, you would most likely get that from the patch archives instead.
Part III - Converting the texture files
Since the texture files from the game have their own proprietary headers in them, you will need to convert them using Noesis. Before doing this, please make sure you have copied the Hitman script for Noesis into the required folder that is shown in the first part of this guide. Now that that's out of the way, you can open Noesis. Open up the TEXD folder in Noesis by browsing to it and you should then be greeted with a list of all the textures:
Unfortunately they only have hashes for their file names so finding a specific texture can be a bit tricky and tedious. But once you do find the texture you would like to modify, note down it's file name in a text document. Also you'll need to note down the specific format for your chosen texture file as well, to do this you will need to open the "Data Viewer" in Noesis
When you have this open, expand Model > Textures > Texture 0 and you should see "Type: #"
Here is what all the different types are:
Type 1 = R8G8
Type 2 = A8
Type 3 = BC1/DXT1
Type 4 = BC3/DXT5
Type 5 = BC4/ATI1
Type 6 = BC5/ATI2
Type 7 = BC7
Once you've done all that you can now convert the texture by right clicking it in Noesis and then choosing "Export":
Once you click that you'll be greeted with this window:
You will need to choose .dds as the main output type, none of the other settings need to be modified. You can now press "Export".
Part IV - Modifying the texture
Head into the TEXD folder in Windows Explorer and search for the file name that you noted down earlier. You should see two files, the original and the converted file. Please don't delete the original file, it is needed for the final part.
Open the DDS in either Photoshop or Paint.net and make your desired modifications. After that you can save it as a DDS file. Make sure you save it as the right format that you noted down earlier. You can also save as no alpha or alpha. If your texture doesn't have any transparency, you can just save it as no alpha. Make sure MIP Map generation is set to "Generate MIP maps" otherwise the texture will vanish if you get too far away from it in-game.
Once that's saved you can now open it in a hex editor alongside the original texture as well.
You will need to copy this section from the original texture:
and replace this section in your new texture:
So it should look like this in the end:
Once you've done that you can save it.
Part V - Rebuilding the modified texture back into the game
You will now need to use the patch builder to create a patch archive that will contain your modified textures. See instructions for the patch builder here: https://github.com/pawREP/ZHM5PatchBuilder