Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archive

The Original Forum. Game archives, full of resources. How to open them? Get help here.
HeartlessSeph
advanced
Posts: 72
Joined: Tue Sep 15, 2015 2:13 am
Has thanked: 2 times
Been thanked: 6 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by HeartlessSeph »

BobDoleOwndU wrote:I made a short video of my sound modding progress if anyone's interested in that.
https://www.youtube.com/watch?v=ErjHvFkPNmw

Also, update on the game's songs. They can be extracted in the same way you can extract the sounds from an sbp, but the songs are stored in wem files. The wem files also only contain a single wwise file which contains the song. I haven't tried swapping any of them yet, but I imagine it should work in the same way it does for the sbp files.
I was going to attempt an Ocelot sound mod, but stopped the moment I realized that most of his sound clips from MGO that corresponded with Snake's quotes had a larger filesize. I really was disappointed, it would be awesome to have an Ocelot voice for when I use his MGO model.
SuperflyJohnson
ultra-n00b
Posts: 7
Joined: Thu Feb 04, 2016 12:11 am

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by SuperflyJohnson »

Higus wrote: Different Horse model? You mean a D-Horse DLC model? I don't know of any wild/enemy horses in the game.
It let me swap D-Horse with the furicorn model. There are zebra and donkey models but they crash the game too.
BobDoleOwndU
advanced
Posts: 68
Joined: Thu Dec 24, 2015 7:45 am
Has thanked: 10 times
Been thanked: 10 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by BobDoleOwndU »

Alright! I got sound mods in the bnk files working (seemingly) perfect now!

My previous instructions for modding the sounds from the bnk files still hold true, but if you want them to sound right, there's an additional step.

Following my previous instructions for modding the bnk files via HxD will inject the sounds, but they will sound distorted in-game. If you want them to sound proper, you need to replace the four bytes located at 0x50-0x53 in the sound you want to replace with the four bytes at the same location in the file you're replacing it with. After that your sounds should sound right! Note that this only applies to voice clips. Sound effects seem to use a different format.

Hopefully we can figure out how to replace sound files with larger files than the ones we're replacing eventually, but I haven't been able to come up with anything on that end so far.
User avatar
SecaProject
beginner
Posts: 31
Joined: Tue Apr 10, 2012 6:48 pm
Has thanked: 17 times
Been thanked: 30 times
Contact:

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by SecaProject »

BobDoleOwndU wrote:Alright! I got sound mods in the bnk files working (seemingly) perfect now!

My previous instructions for modding the sounds from the bnk files still hold true, but if you want them to sound right, there's an additional step.

Following my previous instructions for modding the bnk files via HxD will inject the sounds, but they will sound distorted in-game. If you want them to sound proper, you need to replace the four bytes located at 0x50-0x53 in the sound you want to replace with the four bytes at the same location in the file you're replacing it with. After that your sounds should sound right! Note that this only applies to voice clips. Sound effects seem to use a different format.

Hopefully we can figure out how to replace sound files with larger files than the ones we're replacing eventually, but I haven't been able to come up with anything on that end so far.
If you need info about modify sbp files, I can help you a lot.
BobDoleOwndU
advanced
Posts: 68
Joined: Thu Dec 24, 2015 7:45 am
Has thanked: 10 times
Been thanked: 10 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by BobDoleOwndU »

tbg wrote:If you need info about modify sbp files, I can help you a lot.
If you have any additional info on modifying sbp files, I'd love to hear it!
georgesears
beginner
Posts: 25
Joined: Wed Mar 09, 2016 3:19 pm
Has thanked: 9 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by georgesears »

Poisonedmods wrote: your not the game sync with the server every 5-10 min which is something i relized well trying make a trainer DLL injection is working for cheats but things like infinite health are kept servers side ammo is not nor is silencer duration so adding things like textures a large part of rejection is do to the server trying to sync going thats not right. so far im not aware if there any form of anti cheat or flagging similiar to GTA5 but people have been isolated on base game if they where cheating to a sort of cheaters pool
Hello, about dll injection
i was trying to rip some model via Ninja Ripper, and done so pretty succsessfully, until Steam update on march 8. Now game just won't start with Ripper in dx11 wrapper mode, which puts d3d11.dll in .exe directory. Intruder mode not working either now. But ripping models from MGO is far easier, than trying to export them via Cra0's FEMS. I just can't set it working even for singleplayer models...
Now even GZ refuses to work with ripper involved. Is there any solution to this? Thus don't want to cheat or anything, i'm just want to get characters' models, especially female avatars' faces...
HeartlessSeph
advanced
Posts: 72
Joined: Tue Sep 15, 2015 2:13 am
Has thanked: 2 times
Been thanked: 6 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by HeartlessSeph »

For the new Quiet update, add this line to your dictionary.txt before unpacking the mgo chunk0 for the outfit:
/Assets/mgo/pack/player/parts/plparts_qui1_main

Also, some other lines that you can add to your dictionary.txt for mgo:
/Assets/mgo/pack/player/avatar/deform/pldfrm_avm0_type0_v00
/Assets/mgo/pack/player/avatar/deform/pldfrm_avm0_type1_v00
/Assets/mgo/pack/player/avatar/deform/pldfrm_avm0_type2_v00
/Assets/mgo/pack/player/avatar/deform/pldfrm_avm0_type3_v00
/Assets/mgo/pack/player/avatar/deform/pldfrm_avm0_type4_v00
/Assets/mgo/pack/player/avatar/deform/pldfrm_avm0_type5_v00
/Assets/mgo/pack/player/avatar/deform/pldfrm_avm0_type6_v00
/Assets/mgo/pack/player/avatar/deform/pldfrm_avm0_type7_v00
/Assets/mgo/pack/player/avatar/deform/pldfrm_avm1_type0_v00
/Assets/mgo/pack/player/avatar/deform/pldfrm_avm1_type1_v00
/Assets/mgo/pack/player/avatar/deform/pldfrm_avm1_type2_v00
/Assets/mgo/pack/player/avatar/deform/pldfrm_avm1_type3_v00
/Assets/mgo/pack/player/avatar/deform/pldfrm_avm1_type4_v00
/Assets/mgo/pack/player/avatar/deform/pldfrm_avm1_type5_v00
/Assets/mgo/pack/player/avatar/deform/pldfrm_avm1_type6_v00
/Assets/mgo/pack/player/avatar/deform/pldfrm_avm1_type7_v00
/Assets/mgo/pack/player/avatar/face/plfova_avm0_type0_v00
/Assets/mgo/pack/player/avatar/face/plfova_avm0_type1_v00
/Assets/mgo/pack/player/avatar/face/plfova_avm0_type2_v00
/Assets/mgo/pack/player/avatar/face/plfova_avm0_type3_v00
/Assets/mgo/pack/player/avatar/face/plfova_avm0_type4_v00
/Assets/mgo/pack/player/avatar/face/plfova_avm0_type5_v00
/Assets/mgo/pack/player/avatar/face/plfova_avm0_type6_v00
/Assets/mgo/pack/player/avatar/face/plfova_avm0_type7_v00
/Assets/mgo/pack/player/avatar/hair/plfova_avm_hair_a0_v00
/Assets/mgo/pack/player/avatar/hair/plfova_avm_hair_a0_v01
/Assets/mgo/pack/player/avatar/hair/plfova_avm_hair_b0_v00
/Assets/mgo/pack/player/avatar/hair/plfova_avm_hair_b0_v01
/Assets/mgo/pack/player/avatar/hair/plfova_avm_hair_c0_v00
/Assets/mgo/pack/player/avatar/hair/plfova_avm_hair_c0_v01
/Assets/mgo/pack/player/avatar/deform/pldfrm_avf0_type0_v00
/Assets/mgo/pack/player/avatar/deform/pldfrm_avf0_type1_v00
/Assets/mgo/pack/player/avatar/deform/pldfrm_avf0_type2_v00
/Assets/mgo/pack/player/avatar/deform/pldfrm_avf0_type3_v00
/Assets/mgo/pack/player/avatar/deform/pldfrm_avf0_type4_v00
/Assets/mgo/pack/player/avatar/deform/pldfrm_avf0_type5_v00
/Assets/mgo/pack/player/avatar/deform/pldfrm_avf0_type6_v00
/Assets/mgo/pack/player/avatar/deform/pldfrm_avf0_type7_v00
/Assets/mgo/pack/player/avatar/face/plfova_avf0_type0_v00
/Assets/mgo/pack/player/avatar/face/plfova_avf0_type1_v00
/Assets/mgo/pack/player/avatar/face/plfova_avf0_type2_v00
/Assets/mgo/pack/player/avatar/face/plfova_avf0_type3_v00
/Assets/mgo/pack/player/avatar/face/plfova_avf0_type4_v00
/Assets/mgo/pack/player/avatar/face/plfova_avf0_type5_v00
/Assets/mgo/pack/player/avatar/face/plfova_avf0_type6_v00
/Assets/mgo/pack/player/avatar/face/plfova_avf0_type7_v00
/Assets/mgo/pack/player/avatar/hair/plfova_avf_hair_a0_v00
/Assets/mgo/pack/player/avatar/hair/plfova_avf_hair_a0_v01
/Assets/mgo/pack/player/avatar/hair/plfova_avf_hair_b0_v00
/Assets/mgo/pack/player/avatar/hair/plfova_avf_hair_b0_v01
/Assets/mgo/pack/player/avatar/hair/plfova_avf_hair_c0_v00
/Assets/mgo/pack/player/avatar/hair/plfova_avf_hair_c0_v01
/Assets/mgo/pack/player/parts/plparts_avatar_man
/Assets/mgo/pack/player/parts/plparts_avatar_woman
crash!
ultra-n00b
Posts: 7
Joined: Mon Feb 08, 2016 1:15 am

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by crash! »

lmao whats up with this AnonymousSergeant guy over at Nexus? also. i doubt it but, any chances of being able to port the knife from the MP to SP?
User avatar
Higus
advanced
Posts: 78
Joined: Sat Jun 30, 2012 5:35 am
Has thanked: 6 times
Been thanked: 5 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by Higus »

crash! wrote:lmao whats up with this AnonymousSergeant guy over at Nexus? also. i doubt it but, any chances of being able to port the knife from the MP to SP?
Totally not Tao Lung, he just happens to be the only person on the planet to dub Tao Lung "a great modder", in broken English too, might I add.

But yeah from what I've experienced around MGS5's files, I don't believe we're gonna get that knife in. I always felt like there was this large portion of direct player scripting that's hidden somewhere deep in the game that we've never found (like where the hell is the script that manages which of Snake's animations the game is requesting for suited states in script? There's so much missing shit it just stinks of meagre traces of missing script), but anyways, assuming you'd understand MGS5's scripting enough to miraculously get the game to logically expect a knife to be in place and function as in MGO, there's also more issues to come, like missing animations in the singleplayer anim container, missing sounds, etc.
BobDoleOwndU
advanced
Posts: 68
Joined: Thu Dec 24, 2015 7:45 am
Has thanked: 10 times
Been thanked: 10 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by BobDoleOwndU »

Higus wrote:Totally not Tao Lung, he just happens to be the only person on the planet to dub Tao Lung "a great modder", in broken English too, might I add.

But yeah from what I've experienced around MGS5's files, I don't believe we're gonna get that knife in. I always felt like there was this large portion of direct player scripting that's hidden somewhere deep in the game that we've never found (like where the hell is the script that manages which of Snake's animations the game is requesting for suited states in script? There's so much missing shit it just stinks of meagre traces of missing script), but anyways, assuming you'd understand MGS5's scripting enough to miraculously get the game to logically expect a knife to be in place and function as in MGO, there's also more issues to come, like missing animations in the singleplayer anim container, missing sounds, etc.
A lot of the game is coded directly into the exe, which seems to contain everything that's missing. Some of the functions you can piece back together by searching through the exe with a hex editor, but for entire files that are missing, it'd be unlikely you could find them.
volfin
ultra-veteran
ultra-veteran
Posts: 452
Joined: Sun Jul 06, 2014 6:30 am
Has thanked: 110 times
Been thanked: 323 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by volfin »

georgesears wrote:
Poisonedmods wrote: your not the game sync with the server every 5-10 min which is something i relized well trying make a trainer DLL injection is working for cheats but things like infinite health are kept servers side ammo is not nor is silencer duration so adding things like textures a large part of rejection is do to the server trying to sync going thats not right. so far im not aware if there any form of anti cheat or flagging similiar to GTA5 but people have been isolated on base game if they where cheating to a sort of cheaters pool
Hello, about dll injection
i was trying to rip some model via Ninja Ripper, and done so pretty succsessfully, until Steam update on march 8. Now game just won't start with Ripper in dx11 wrapper mode, which puts d3d11.dll in .exe directory. Intruder mode not working either now. But ripping models from MGO is far easier, than trying to export them via Cra0's FEMS. I just can't set it working even for singleplayer models...
Now even GZ refuses to work with ripper involved. Is there any solution to this? Thus don't want to cheat or anything, i'm just want to get characters' models, especially female avatars' faces...
Copy the dxgi.dll from C:\Windows\System32 directory to the MGS_TPP Directory where Ninja ripper places the d3d11.dll. Worked for me on Win 10 at least.
Side effect is no steam overlay.
Tex
veteran
Posts: 89
Joined: Sat Aug 20, 2011 4:51 am
Has thanked: 21 times
Been thanked: 11 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by Tex »

HeartlessSeph wrote:It's a bit of a long shot to ask, but does anyone know how to make models that appear invisible in normal gameplay inside of an fmdl become visible? I'm talking about items like Skull Face's mask and Venom Snake's scarf. Swapping their models onto the player has these models invisible but they are triggered to appear during cutscenes (Skull Face's mask generally appears in Scenes with him and Venom Snake's face scarf pops up when using the scarf model during the mission where you rescue Kaz).
I think it's the .fv2 files aka fova aka Form Variations:
https://youtu.be/6bEV3P564ps
In the video the debugshiz just sets vars.playerPartsType = PlayerPartsType.HOSPITAL, not new stuff, though I don't think there's been much actual discussion about it.

The engine aparently monitoring when the variable is set (and similar vars) so it can do the model change the same as mission prep would (or the same as prologue mission in the case of this model).

The engine must have an internal list for enum to file pack and .parts file.

I did hunt around to see if the parts file could be set for the player model from script - since that's what defines the fmdl and related files that are used, the enemy soldier system does (one main one and an alternate), and the hostages can be set more or less individually if needed.

There are the Player.RegisterPartsPackagePath calls in start.lua, but as it's incomplete and there is no apparent effect on swapping them around I'm guessing it's orphaned code.

One function that looked promising was Player.SetPartsInfoAtInstanceIndex which is referenced in the exe but has no use cases in the scripts to learn from. Passing it a parts path like the soldier fova functions take shows some interesting behavior where the player model will disappear in like setting the player vars, but unfortunately when it returns the model hasn't been changed.

One frustrating thing is how special-case most of the script>engine calls are for things that are seem just a step away from something more generic/flexible.

So, back to the original point: .fv2/fova files - plparts_hospital.fpk seems to be the only player parts pack with multiple .fv2 files. In the prologue mission the function Player.ApplyFormVariationWithFile is used change to these fovas, it's the only example of it's use in the scripts.
That said, both male and female parasite suit fpks have two fovas, but testing them shows no apparent change.

If you look in data1.dat\\Assets\tpp\level_asset\chara\enemy\Soldier2FaceAndBodyData.lua - use this: http://pastebin.com/96U6Xp61 as it's a slightly more updated version from my deminified luas where I've added some notes.
You'll see face and body ids index into tables of .fv2 paths along side the fpk that includes them, and in the case of faces (which the dd player model type uses) it indexes to face, face decoration, hair file, and hair decoration .fv2 files/fpks.
The packs/files themselves will likely be familiar to those who have poked around them manually.

I still don't understand how a fmdl maps to a fv2, and there's no parts files that I can find that reference them, it may just be in the specific handling function for head fova fpks, or yet more tables in the exe. Then you have stuff like glasses which are separate fmdls in the same fova fpk.

The .fv2 file itself? I guess it's some kind of mask into a specific fmdls mesha and material definitions? I don't know, I'm weak on file formats and modelling in general, someone else will have to take the reigns, though I'd like to learn more.

Also which fmdl is the hideo head? Would be a nice reference point since it seems unique? (But then unlike others the facefova indices listed are unexpected) If anyone has their own notes on different files it would be nice to try and cross reference.
Tex
veteran
Posts: 89
Joined: Sat Aug 20, 2011 4:51 am
Has thanked: 21 times
Been thanked: 11 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by Tex »

Using the mentioned cutscene fovas: https://youtu.be/xTDMDrVo4Ec
You'll see the tiger camo is part of those fovas settings, and they're specifically for the scarf model/sna0_main1 , giving the fova function a fova that doesn't apply to the current player model will crash the game.
HeartlessSeph
advanced
Posts: 72
Joined: Tue Sep 15, 2015 2:13 am
Has thanked: 2 times
Been thanked: 6 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by HeartlessSeph »

Tex wrote:I think it's the .fv2 files aka fova aka Form Variations:
-snip-

Using the mentioned cutscene fovas: https://youtu.be/xTDMDrVo4Ec
You'll see the tiger camo is part of those fovas settings, and they're specifically for the scarf model/sna0_main1 , giving the fova function a fova that doesn't apply to the current player model will crash the game.
Ah, I had some suspicions that the fv2 files had something to do with it since the dds2_main0 fv2 file I looked in had texture hashes inside of the file but I had no idea how I could apply them to the model. How did you manage to apply them by the way? Using the soldier lua you linked? If so I'll look into it.

Also, the Hideo Kojima head is stored somewhere in chunk0\Assets\tpp\pack\fova\common_source\chara\cm_head\face. It's one of the ones that say cm_unq but I didn't check all of them.

By the way, you're awesome. While model swaps are great and all your mod extends the life of the game a lot especially with the new warp camera.

EDIT: Reread what you said more thoroughly, and from what I can gather, you managed to apply the changes by using the function Player.ApplyFormVariationWithFile from the prologue. Does this mean that scripting is necessary to do this? I have no problem with that but that does mean that making certain items visible for player models does become a bit of a pain when swapping models.
Tex
veteran
Posts: 89
Joined: Sat Aug 20, 2011 4:51 am
Has thanked: 21 times
Been thanked: 11 times

Re: Metal Gear Solid 5 Ground Zeroes/Phantom Pain g0s archiv

Post by Tex »

Yeah, sorry, Player.ApplyFormVariationWithFile(fovaFilePath) is the one.

For my test, as mentioned hospital already had fova files in it's pack, for scarf I just grabbed the fova files from the cutscene fpk (sna0_main1_v00.fv2 is the mask) and jammed them in the plparts_normal_scarf.fpk

There's a couple of downsides:
If there's a player emblem will change to the default emblem, not that big of a deal.

Player fova is reset on any load (mission start, checkpoint restart). A bigger deal.

I know you're capable enough to use that to start testing stuff, so what I intend to do:

I have a method in mind that might mean all a model swap needs to provide is a lua file with the same name as the plparts fpk which will contain simple info about the fova (path + description), and bundle the fova in the plparts pack. Hopefully it actually pans out.

And I would have to work out saving (easyish with my current setup) and restoring (a matter of finding the right place in execution to run it). Though this will be complicated a bit to allow the user to change model swap pack at will.

That of course does does mean relying on infinite heaven, but an independent system would essentially have to do what inf heaven would be doing anyway: button input>menu/data file>menu selection of fova etc.

Would that cover what you had hoped to be able to do? If not what did you have in mind?
Post Reply