Introduction Link to heading
I learnt how to model swap from a tutorial by HMBM47 on the HITMAN forum and the guide from Glacier Modding. Both of those guides are better than what I have here.
Requirements Link to heading
Useful links Link to heading
For this article, I’ll be replacing the Italian Suit with Lana Caprice from The Showstopper in Paris.
Step 1: Finding the replacement model Link to heading
First, I need to find the hash or file name of Lana. Using the spreadsheet, I could not immediately find Lana in the chunk27 Paris tab, so I checked the Outfits by Character Name tab. Lana is called outfit_interviewer_actor_v0.
Checking back on the chunk27 Paris tab, we can find that Lana’s TEMP (template) hash is:
006B20BEDBBBA32F
Step 2: Extract the replacement model Link to heading
Now let’s open up RPKG Tool. Some steps before we can find what we want:
- Select Import RPKGs Folder under “Import”. Select the Runtime folder of your HITMAN 3 directory (the one with all the RPKG files).
- Go to Search RPKGs and input the hash into the search bar.
- Right click on the result and extract to QuickEntity JSON. Save the file to some temporary folder where we’ll be working with the files.
- Press Extract Hashes and Extract recursive Hash Depends to the same temporary folder.
Step 3: Treat the replacement model Link to heading
Now that you have extracted the model, we need to prepare it for reasons outlined in the Glacier Modding guide (essentially, our files should come from chunk0 instead of whatever chunk it currently is set to).
In your temporary folder, you’ll see a folder named ALLDEPENDS and in that is another folder named 006B20BEDBBBA32F.TEMP (different hash if a different template).
For Lana, inside are several folders. You can freely delete all of the chunk0 folders (including the patches).
If chunk0 folders are all you have, then don’t delete them. Treat them like how we would the other folders.
I’m now left with several folders from chunk1 to chunk27.
Checking chunk27, we can see it has a TEMP [Template] and a TBLU {Template Blueprint} folder. If it did not have those folders, that would be an issue.
If there were patch folders for chunk27 (like chunk2), then sequentially paste those files into the original chunk folder (i.e., overwriting files in chunk2 with files from chunk2patch1).
Merging chunks Link to heading
Lana is a generic model which appears in Paris (chunk27) and we know that chunk1 is the base chunk. We are going to move all of the folders from the different chunk folders into one chunk folder—essentially merging everything down to one chunk.
For this, I’ll be moving everything to chunk27.
I think most of the vital data are in chunk1 and chunk27, but I’ll be moving everything to make sure the Lana model has all of the files it needs to load. I was playing it safe, so I kept the files in all of the folders aside from chunk0.
We can freely delete the META files. Rename chunk27 to chunk0. Grab the [hash].entity.json file we extracted before and put it in the chunk0 folder.
Step 4: Renaming the replacement model Link to heading
Let’s choose a suit to replace. I want to say goodbye to the Italian Suit.
As a sidenote, we want to use the one that has
HeroAin its file name as this is the model used for Agent 47. People like to replace the Signature Suit presumably because it’s the default one. I want variety.
Using the spreadsheet, we can find two important pieces of information:
- TEMP hash:
00444A5FE5DDA137 - TBLU hash:
00B8251F89678B3B
I will now rename 006B20BEDBBBA32F.entity.json to 00444A5FE5DDA137.entity.json, meaning it will replace the Italian Suit. Open up the file and replace the tempHash and the tbluHash with that of the Italian Suit—or whichever suit we want to replace.
Step 5: Set up the mod folder Link to heading
The next folder we’re going to make is where the mod will go.
- Go to your HITMAN 3 directory →
Simple Mod Framework→Mods. - Create a new folder. I’ll call mine
LanaReplacesItalianSuit. - Inside, create a file named
manifest.json. You can fill in the details using SMF, but I’ll do it with my text editor.
Template for manifest.json
Link to heading
{
"$schema":"https://raw.githubusercontent.com/atampy25/simple-mod-framework/main/Mod%20Manager/src/lib/manifest-schema.json",
"version": "1.0.0",
"id":"UserName.ModName",
"name":"Human readable mod name",
"description": "Brief description.",
"authors": ["Author"],
"contentFolders": ["content"],
"frameworkVersion": "2.33.6"
}
Example I used Link to heading
{
"$schema":"https://raw.githubusercontent.com/atampy25/simple-mod-framework/main/Mod%20Manager/src/lib/manifest-schema.json",
"version": "1.0.0",
"id":"RandomPlayer97.LanaReplacesItalianSuit",
"name":"Lana Caprice replaces Italian Suit",
"description": "This mod replaces the Italian Suit.",
"authors": ["RandomPlayer97"],
"contentFolders": ["content"],
"frameworkVersion": "2.33.6"
}
Note that the contentFolders in the template is “content”. That’s where we will put all of our extracted and treated folders. In the same mod folder, create a folder named “content”. Move the chunk0 folder we’ve been working on to the content folder.
Step 6: Test the mod. Link to heading
So, now I apply the mod using SMF. It should already be in the menu since we set up the mod in the SMF Mod folder. I’m too stupid to modding to understand the warnings SMF shows, so… yeah.
If your mod works, then you can just compress the mod and share it!
