Important information: this site is currently scheduled to go offline indefinitely by end of the year.

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.
pewposterous
advanced
Posts: 41
Joined: Thu Jul 30, 2015 5:05 am
Has thanked: 13 times
Been thanked: 3 times

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

Post by pewposterous »

YouRePrettyGood wrote:
pewposterous wrote:Does anyone know the location of the female skull snipers file names and texture names? would be much appreciated
(See notes at the end on how to find them for yourself :wink: )

The model file you're looking for is named wmu1_main0_def.fmdl
You can find it in \Assets\tpp\chara\wmu\Scenes\ in the following fpk's:
\chunk3\Assets\tpp\pack\mission2\free\f30250\f30250.fpk (assets for quarantine platform)
or
\chunk4\Assets\tpp\pack\mission2\story\s10130\s10130_area.fpk (assets for CodeTalker mission)


The texture files you're looking for are (you will find them in either the pftxs corresponding to the fpk's above, or texture0/texture3/texture4)
2195ADC38D6B1
B81536417396
18E10B5A8DF53
3F6FEE0FD9847
0EFD7AA60D43
01F056112A47
3C6720C8D6422
BEBFC402A70E
3C509AE6A7B43
1EA29B5A8018B
14A06260FE3FA
3245B09A38258
CA5F5B03F2A3
15944C86C9A1C
182F837C9BAD0
1F927596BF0E4
2741745DD3F4
129484C37AD31
1D42C7301374A
1DD74A0E46CFF
2F6D8910DA39B
292A16C3A84D6
3B27A44791AFF
3983AC8F4E1F8
27F44AA4F1FBF
2D92D8E2ABEC
8532F7C044BE
1A98E5156C981
1BD95C1B88E3E
1E42D2821558E
3EC078703B160
11BC7A5DFB42
294ACED7BE490
2FE1ABDCA2CBB
2976B4FF68BA0
C633B5049201
1BBF0BA1417D5
26F21349479A2
3AC7F54F5EC37
1D580055443BA
3F79563AAF278
0364B80B8160
22E29D0A62ECC
1F03F04A586F
2B496F8E6F82
3C4233662EFB8
12909A73D4210
2940442532DD5



NOTE 1:
To find a model file, first identify the mission/area where you encounter the character. Get the corresponding mission code (check .prn file in attached zip), then search in the corresponding folder:
0/00.dat is patch data (including DLC outfits)
chunk0.dat is Cyprus and common/player models
chunk1.dat is mostly buddies
chunk2.dat is Afghanistan
chunk3.dat is Motherbase
chunk4.dat is Africa




NOTE 2:
To find the texture names, open your FMDL in a hex editor, go to line 0xD0,
you will find the following 8 bytes:
15 00 30 00 28 39 00 00
this is the index entry for sub-section with id 0x15 (texture hashes) of section 1 of the file. The 5th byte and following give you the offset for the subsection. Read bytes in inverted order, you will get 3928. Add 100 (offset of section 1), you now know that you will find texture hashes at address 0x3928 + 0x100 = 0x3A28.
After that, simply use BobDoleOwndU's trick to reverse hashes into texture filenames viewtopic.php?f=10&t=12407&p=119200#p119200 .



NOTE 3:
The texture files you're looking for may have been translated to human-readable names while unpacking. If so, search in the .inf files generated by QAR tool (they contain both hash and filename/filepath).

Holy crap! Thanks for writing this up for me! Been scratching my head for hours xD
YouRePrettyGood
ultra-n00b
Posts: 8
Joined: Fri Jul 22, 2016 9:39 am
Has thanked: 4 times
Been thanked: 3 times

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

Post by YouRePrettyGood »

pewposterous wrote:Holy crap! Thanks for writing this up for me! Been scratching my head for hours xD
You're welcome !

It's not especially for you that i wrote it though. I only recently started working on model modding, and i had to collect/centralize every info i could find, so if i can spare newcomers this long gathering process, it's a win-win: The more people we have working on the matter, the more stuff and tricks we're likely to find :)
Ashtails
beginner
Posts: 36
Joined: Sun Sep 20, 2015 8:57 pm

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

Post by Ashtails »

Do you think it would be possible to replace Quiet's model in MGO with the Skulls Sniper?
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 »

Ashtails wrote:Do you think it would be possible to replace Quiet's model in MGO with the Skulls Sniper?
Yes, but first-person will be completely blocked by the head.
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 »

Is there any way to extract audio from fsm files? Ravioli doesn't work on most of them.
YouRePrettyGood
ultra-n00b
Posts: 8
Joined: Fri Jul 22, 2016 9:39 am
Has thanked: 4 times
Been thanked: 3 times

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

Post by YouRePrettyGood »

For those interested in .fv2 files, you will find attached:
- a full description of the file structure (as stated, MGO's .fv2 files have a somewhat different SECTION4).
- a .hsl script to easily parse any .fv2 file in Hex Workshop (warning: parsing is really slow for .fv2 files with no entries in SECTION2)

I'll make similar files for .fcnp and .fmdl formats once i'm done studying them

[and of course, thanks to people here who gave me great hints :) ]
You do not have the required permissions to view the files attached to this post.
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 »

SuperflyJohnson wrote:Is there any way to extract audio from fsm files? Ravioli doesn't work on most of them.
Can you give a specific fsm?

I can possibly get audio out of them.

Also, on the topic of audio, I did a bit more reversing on the wwise format. I was able to swap a voice clip with no effects in the place of one that had effects. Previously this was impossible. Here's my notes on it:

Code: Select all

Wwise format info:
0x0-0x3: File Type Header
0x4-0x7: Unknown
0x8-0xF: File Type Header
0x1C-0x1D: Unknown
0x28: Sound type indicator? Seems to denote effects from voice clips, etc....
0x2C-0x2E: Unknown
0x30: Unknown, same byte as 0x40
0x34-0x37: File Size Indicator? (Same bytes appear immediately following "data")
0x3A-0x3B: Unknown, same bytes as 0x46-0x47
0x40: Unknown, same byte as 0x30
0x44-0x45: Unknown, but significant
0x46-0x47: Unknown, same bytes as 0x3A-0x3B
0x48-0x4D: Related to sound type indicator. Changing the indicator without changing this will cause a crash.
0x50-0x53: Tone/Pitch Indicator?

Converting between voice and effect:
Change 0x28
Change 0x48-0x4D
Change 0x50-0x53
Swap all of the data AFTER the 4-bytes following the second "data" string (the one that has the file size indicating bytes attached). Copy this same section of data from the file you want to swap in.
If I can figure out exactly how the size indicator works, we can possibly swap in sounds that are larger than the original.
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 »

YouRePrettyGood wrote:For those interested in .fv2 files...
Nice work. I'm still terribad with file format stuff, so cool to see someone else digging in.

You may have already gathered from perusing the mgsv exe that:
Seems player models can have several fv2s applied, as indicated by
handFv2File
headFv2File
camoFv2File

Ai characters have (soldier/hostages) faceFova, bodyFova, faceDecoFova, hairFova, hairDecoFova
They also have a fovaSeed set to allow variation within one fova

No idea how this affects/is represented in the fv2 files

Updated my Deminified data1 lua files to the Inf heaven files page under miscellaneous
http://www.nexusmods.com/metalgearsolidvtpp/mods/45

Of interest to you YouRePrettyGood in there is Soldier2FaceAndBodyData.lua which I've added notes on the soldier fova body files, also InfFova.lua from the infinite heaven snakebite .mgsv has some notes on what various player packs are.

Edit: You may want to look at Atvaarks tools
https://github.com/Atvaark/
LangTool is probably the simplest tool that also uses a dictionary to check hashes
https://github.com/Atvaark/FoxEngine.TranslationTool
YouRePrettyGood
ultra-n00b
Posts: 8
Joined: Fri Jul 22, 2016 9:39 am
Has thanked: 4 times
Been thanked: 3 times

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

Post by YouRePrettyGood »

That's great, i had downloaded your deminification files but i had kept them aside until now, i thought they didn't have any connection with FOVA settings and would only be useful later in the process (in future steps, i'd like to have a look at how we can add outfits rather than swap them, but i'm not there yet). I'll have a careful look at it this week :)
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 »

It's the ai characters fova setup in the scripts, player stuff doesn't seem to be there unfortunately.

Here was my first post on that:
viewtopic.php?f=10&t=12407&p=116912#p116912
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 »

BobDoleOwndU wrote:Can you give a specific fsm?

I can possibly get audio out of them.
I was trying to get the audio from p31_050060_000_final.fsm in chunk2.
User avatar
cra0
ultra-veteran
ultra-veteran
Posts: 438
Joined: Fri Apr 27, 2012 9:37 am
Has thanked: 29 times
Been thanked: 189 times
Contact:

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

Post by cra0 »

i post fmdl specs on github soon when I have time with all my/our research.
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 »

SuperflyJohnson wrote:I was trying to get the audio from p31_050060_000_final.fsm in chunk2.
From what I can gather, this specific audio file only contains part of the audio data, which is why it's failing to convert. I was able to get the first few seconds to play, using ww2ogg. It sounds like a helicopter (possibly the ACC). After the first few seconds it breaks though, because the audio data is gone.

This quote from hcs explains it well:
A hybrid approach is sometimes used, and I think this is the difficulty you are encountering here: The in-memory sound bank contains the beginning of the audio file, the header data and a second or so of audio data, and the rest is located in another file elsewhere on disc to be streamed in. The resident beginning of the file can be played immediately as it is already in memory, and ideally this will give enough time for the streaming to get going.

This is a fine engineering solution but it makes things a mess for us trying to read the audio! In the sound bank we can find the very beginning of the sound file but the rest may be somewhere entirely different on the disc. For systems like wwise where everything is numbered with hash codes it is hard to figure this out with inspection. What you are seeing here is that the RIFF is actually truncated, the rest of it lives somewhere else, and there is something else stuffed in the sound bank next.

In particular this is frustrating because the rest of the audio data may be stuck somewhere with no header! If we knew more about how the whole wwise bank system works it might be easier to locate this headless data.
YouRePrettyGood
ultra-n00b
Posts: 8
Joined: Fri Jul 22, 2016 9:39 am
Has thanked: 4 times
Been thanked: 3 times

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

Post by YouRePrettyGood »

For those interested: attached is a slightly modified version i made of HeartlessSeph's great 3dsmax import script for FMDLs (i post it with his agreement of course).

In the faces buffer for each FMDL, there are 2 sets of faces for each object. HeartlessSeph's original script imports the 1st set (high-polygon faces), this modified script imports the 2nd set (lower-polygon faces) instead.
According to HeartlessSeph they are LODfaces, so i guess if you remove them along with the other faces, the related objects won't appear even at far distance. I'm also curious about whether it makes the white-glowing silhouette of marked soldiers disappear. I haven't had time to test it out, though.
You do not have the required permissions to view the files attached to this post.
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 »

YouRePrettyGood wrote:For those interested: attached is a slightly modified version i made of HeartlessSeph's great 3dsmax import script for FMDLs (i post it with his agreement of course).

In the faces buffer for each FMDL, there are 2 sets of faces for each object. HeartlessSeph's original script imports the 1st set (high-polygon faces), this modified script imports the 2nd set (lower-polygon faces) instead.
According to HeartlessSeph they are LODfaces, so i guess if you remove them along with the other faces, the related objects won't appear even at far distance. I'm also curious about whether it makes the white-glowing silhouette of marked soldiers disappear. I haven't had time to test it out, though.
Woah just to clarify I didn't make the import script. It was made by Jayveerk I believe. Sorry for confusion regarding that. It is a github script though so there shouldn't be any problem with posting an edited one.

But yeah they are indeed LOD faces. Test it out by nulling out a soldier's high poly set and then running away from one and watch them magically appear again.
Post Reply