Swapping Michael, Trevor and Franklin with non-streamed pedestrians using OpenIV
I've recently been swapping M, T and F with non-streamed/normal models (i.e. models that consists of only 4 files) and I though I could share with you guys how I did that using only OpenIV.
For this example, I swapped Franklin with Arena War's Bryony. First, I exported csb_bryony.ydd and csb_bryony.ytd as open formats, exporting them as .odd and .otd files respectively. To transfer her glasses, I also exported csb_bryony_p.ydd and csb_bryony_p.ytd to open formats. I then exported csb_bryony.ymt and csb_bryony.yft as normal and renamed them player_one.ymt and player_one.yft respectively.
You will now need to create new .odd and .otd files inside the csb_bryony folder OpenIV created when you exported the .ydd and .ytd files. ODD and OTD files reference .odr and .otx files respectively and OpenIV will automatically convert them YDD or YTD files respectively when you drag them into a RPF. The structure of ODD and OTD files are rather simple and can be edited with a text editor. For a streamed model, an OTD file will look like this:
Version 13 30
An ODD file:
Version 165 32
Inside csb_bryony, I created the following ODD files (they all reference ODR files of the same name)
Rename ODR files if necessary so that they will match with the ODD files. I also found adding ".otx" to the ends DiffuseSampler, BumpSampler and SpecSampler files also helps fixes texture issues.
In the same folder, I created the following OTD files (most reference OTX files of the same name):
- head_diff_000_a_bla.otd -> this file will reference head_diff_000_a_whi.otx
These OTD file names should match the file of the DiffuseSampler being referenced in the ODR file.
Inside csb_bryony_p, create the following files:
Drag the ODD and OTD files from csb_bryony to mods\x64v.rpf\models\cdimages\streamedpeds_players.rpf\player_one and from csb_bryony_p to mods\x64v.rpf\models\cdimages\streamedpedprops.rpf\player_one_p (I also recommend deleting all the existing ydd and ytd files inside player_one). Replace player_one.ymt and player_one.yft with your modded ymt and yft files. Don't forget to delete the player_one files and folders in mppatchesng and patchday3ng. After starting up the game, use a trainer to give Bryony her glasses.
I also decided to replace Michael and Trevor with Sacha Yetarian (ig_sacha) and Alan Jerome (csb_alan) respectively. I won't go into detail on how I did that, but I will show you the .ydd and ytd files that I ended up using for both:
For Trevor, you will also need to replace decl_000_u.ydd with a "blank" ydd file inside mods\update\x64\dlcpacks\mpheist\dlc.rpf\x64\models\cdimages\trevor_outfits.rpf\player_two_trevor_heist, or else you'll have a TP Industries decal floating on top of your character. You can simple use decl_000_u.ydd inside x64v.rpf\models\cdimages\streamedpeds_mp.rpf\mp_m_freemode_01 as a replacement/
Here are some screenshots of the three protagonists replaced by the Arena War characters:
And here's a video I made of this model swap (because ig_sacha has no lip movements, I replaced him with someone else):
You can also download the mod here:
Finally, you might be wondering why I decided to go through all of this instead of using Unknown Modder's Character Swap mod. The reason is that Unknown Modder's Character Swap mod only swaps one character at a time, while this method allows to swap multiple characters at once. Also, that Character Swap doesn't seem to carry through when you replay certain missions, including Something Sensible.
The power of open formats
Here's another swap I did, swapping Michael with Agatha Baker (csb_agatha)
And one bonus screenshot I thought I could share of this mod screwing up in a cutscene:
Sad that Vincent was fired from the Diamond Casino & Resort? Well, here's some #VengeanceForVincent:
Playing the Time's Come mission with swapped models was a little tricky given that not only does the game forces Michael to wear a non-default outfit (uppr_022_u, lowr_026_u and feet_004_u to be exact), but it also forces those components to use non-default textures.
i tried to do the same steps using an custom ped that i downloaded here. the thing is its hard to follow your guide.
To sum it up what i did:
Extract .ydd, .ytd of the ped using right-click on open format in OpenIV
.odd and .otd are created with all the extracted .odr and .otx files within the peds name folder
Now this is the part where it gets really confusing. In your post you stated I have to create more .odd and .otd to reference the .odr and .otx so OpenIV can convert the files into .ydd and .ytd.
So I did the part where I create for each .odr file .odd reference for e.g
-> creating "hair_000_r.odd"
within the .odd file I put:
Version 165 32
Now I did this for each .odr file (rename, then with in the .odd referencing the .odr did the same with the .otx file)
when I tried to load the game the texture looks janky and it didn´t fully replaced the ped. I also took the .ymt and the .yft of the chacracter and replaced it with player_1 (michael) but i dont seem to get it working.
I really want to get it working since theres no any other reliable way to permanent modding the single player character out in the game.