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.
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 »

I've scraped together some information on route files (.frt is the main interest I think), but again, having no real experience working with file formats I was wondering if anyone could take a look, being able to edit or create new one would really open up a lot of options.

http://pastebin.com/jTmPafPu
analblaze
ultra-n00b
Posts: 6
Joined: Thu Dec 17, 2015 10:05 am

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

Post by analblaze »

Sorry, but this thread's 82 pages long; can anyone point me to the tools needed to pull sounds from the game? I've found some partial collections that directly refer to .SBP files with proper names, but as far as I can tell the QAR tool isn't outputting anything similar, and then of course I have no way to open the archives themselves.
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 »

analblaze wrote:Sorry, but this thread's 82 pages long; can anyone point me to the tools needed to pull sounds from the game? I've found some partial collections that directly refer to .SBP files with proper names, but as far as I can tell the QAR tool isn't outputting anything similar, and then of course I have no way to open the archives themselves.
I posted some instructions on how to sound swap a while ago. The instructions include how to extract the sounds.

See my posts here: viewtopic.php?f=10&t=12407&start=1180
and here: viewtopic.php?f=10&t=12407&start=1196
Solidcal
beginner
Posts: 26
Joined: Wed Apr 29, 2015 9:05 pm

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

Post by Solidcal »

So been a while since I posted. So wanted to ask if anyone ever figured out how to edit camera angles and such in scenes or how to open mission sequence files so we could change the time od day and weather that was preset on a few missions in the game. Like the mission where you take miller back to DD mother base.
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 »

Solidcal wrote:So been a while since I posted. So wanted to ask if anyone ever figured out how to edit camera angles and such in scenes or how to open mission sequence files so we could change the time od day and weather that was preset on a few missions in the game. Like the mission where you take miller back to DD mother base.
That's most useful and cool, maybe someday we'll be able to direct our own cutscenes and machinimas on FOX))
Anyway, there is new update, adding some bunch of content to game, such as TORNADO-6 for singleplayer.
Thus we do need updated dictionary for QAR Tools, cause old modifications refuse to work with new update...
whump whump
ultra-n00b
Posts: 1
Joined: Tue May 17, 2016 11:17 am

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

Post by whump whump »

Edit nvm for now. Thanks for all the hard work y'all are doing.
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 »

Is there a known way to read the hashed texture names from fmdls? I know they're in there, but I don't know how to convert the hashed names to and from the format the fmdl stores them in.

Edit: Nevermind. I figured it out. Each 2-bytes of the hex values are backwards... I feel dumb for not noticing that sooner. XD

I.e. the hashed textures name is: 1a83482d8fef

Separate the name into two-byte sections: 1a 83 48 2d 8f ef

Reverse the order of each two-byte section: ef 8f 2d 48 83 1a

Now you know the hex value to search for: ef8f2d48831a

Edit2: There is also another 2 hex bytes following the hashed entry that denote a preceding number. The two bytes (in all cases I've seen thus far) are either 68, 69, 6A, or 6B followed by 15 to indicate what I assume is the next entry in an array.

It seems like 68 = No preceding number, 69 = 1, 6A = 2, and 6B = 3.

Here's an example so what I've written above doesn't look so confusing.

We have a hashed texture name: 245f7164a964b

If we separate it into two-byte sections starting with the end first, we get: 2 45 f7 16 4a 96 4b
We're stuck with a leftover 2. So how do we know what to search for?

Firstly, ignore the two and reverse the order as normal to get: 4b964a16f745

Now, in this case we had a left over 2, so we need to append 6A to the end: 4b964a16f7456a

And that's it! We now know the complete hex value to search for!
Shinteo
beginner
Posts: 28
Joined: Wed Apr 06, 2016 4:26 am
Been thanked: 4 times

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

Post by Shinteo »

Hi.

I've been looking for the model for Paz in Ground Zero, but had no luck.

Can someone point me in the right direction?
imarceldoe
n00b
Posts: 10
Joined: Thu Jan 28, 2016 2:55 pm
Has thanked: 3 times

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

Post by imarceldoe »

Has anyone somehow gotten Ninjaripper to work again with the new update? I tried to do the dxgi thing but it did not work.
QOTSANINSOADKORN
ultra-n00b
Posts: 9
Joined: Fri Jul 01, 2016 12:26 pm
Has thanked: 19 times

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

Post by QOTSANINSOADKORN »

Shinteo wrote:Hi.

I've been looking for the model for Paz in Ground Zero, but had no luck.

Can someone point me in the right direction?
i'm not sure but i thought i read somewhere that both versions of Paz were found in TPP Assets...
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 »

I'm back with more info on MGSV's audio files.

While digging through the various .sbp files of MGSV, I noticed that there's a ton of seemingly useless .wav files. They are all marked with JUNK, and cannot be played by any normal audio player. Using the Ravioli conversion method on these files doesn't work either. I originally thought that this meant these .wav files are completely useless, and that all of the data was junk, essentially just serving as padding for the wwise files. I also thought this seemed very strange considering the mass amount of wav files compared to the few wwise files in most .sbps. As it turns out, the wav files aren't useless!

The JUNK is actually a chunk marker used on wav files which just means that the data within the chunk is padding and should be skipped when playing the audio file. Apparently the JUNK chunk is used to align audio files for CDs, or other storage devices. If a single file has the JUNK chunk though, it cannot be played by a standard audio player. However, there is still a way to play them. Audacity automatically strips the JUNK chunk from the file if the file is imported as raw data, and this results in a playable audio file. Now I know where all of the audio files I couldn't find are. XD

I haven't tried swapping any of these files yet, so I don't know how this would work out, but at least they're playable now! With this info, I believe all of the sounds in MGSV should now be accessible.
Paul44
advanced
Posts: 47
Joined: Wed Sep 17, 2014 6:06 pm
Been thanked: 14 times

Generate hashed values to actual names...

Post by Paul44 »

On pg 1, #Sergeanur posted the algorithm that is used to (de)hash the filenames.
I can't do much with that so: anyone knows of a little tool that can do that; meaning giving a name based on hash-value, and vice versa (commandline would be great as I could easily write a batchfile).
Reason why I'd like such a tool: I've been experimenting with filename identification. And while doing so, I could find new names based on 'similarity'. Unfortunately, the success rate depends on whether the file actually resides within that particular .dat-file. Plus it is pure guess-work of course.
So if I would have the actual names, it would be much easier to "link" them with existing/identified files...

ps: what is the reason why only identified names are 'categorised', while unknown files receive a 'hash' name & reside in the root folder?

ps2: I read sofar that FMDLs contain the hash-values for related texture files (I assume they reference to TextureX.dat files). Besides identifying those files (see #BobDoleOwndU above), is there any logic on identifying those filenames (incl path)?

@BobDoleOwndU: that is what I thought at first too. I should have added an example though, on which I based my assumption...
ps: regarding FMDLs, does it just contain the hash-values, or does it contain path/name info as well?

-EDIT-
Not sure what happened here (prev edit got removed), but - again - I confirm that the hash-value is based on both path- and filename (see attached)
You do not have the required permissions to view the files attached to this post.
Last edited by Paul44 on Thu Jul 21, 2016 7:59 pm, edited 3 times in total.
BobDoleOwndU
advanced
Posts: 68
Joined: Thu Dec 24, 2015 7:45 am
Has thanked: 10 times
Been thanked: 10 times

Re: Generate hashed values to actual names...

Post by BobDoleOwndU »

Paul44 wrote:On pg 1, #Sergeanur posted the algorithm that is used to (de)hash the filenames.
I can't do much with that so: anyone knows of a little tool that can do that; meaning giving a name based on hash-value, and vice versa (commandline would be great as I could easily write a batchfile).
Reason why I'd like such a tool: I've been experimenting with filename identification. And while doing so, I could find new names based on 'similarity'. Unfortunately, the success rate depends on whether the file actually resides within that particular .dat-file. Plus it is pure guess-work of course.
So if I would have the actual names, it would be much easier to "link" them with existing/identified files...

ps: what is the reason why only identified names are 'categorised', while unknown files receive a 'hash' name & reside in the root folder?

ps2: I read sofar that FMDLs contain the hash-values for related texture files (I assume they reference to TextureX.dat files). Besides identifying those files (see #BobDoleOwndU above), is there any logic on identifying those filenames (incl path)?
If I understand correctly, you're looking for a tool that can directly unhash a file name? If so, I don't think that's possible. I don't know exactly how the QAR Tool/GzsTool unhash the names, but I know they require the filename and filepath to do so.

The reason identified files are categorized is because the hashed name doesn't only include the filename itself, it also includes the filepath. Take for example, plparts_battledress. When the name is hashed, it's not hashing the string "plparts_battledress" it's hashing the string "/Assets/tpp/pack/player/parts/battledress". So when the name is unhashed, the filepath is as well. This is also why unnamed files sit it the root folder. Their filepath is unknown. This also applies to the hashed filenames found inside the fmdl files.
Paul44 wrote:@BobDoleOwndU: that is what I thought at first too. I should have added an example though, on which I based my assumption... (see attached)
ps: regarding FMDLs, does it just contain the hash-values, or does it contain path/name info as well?
I believe those are hashing constants. I have no idea how they work though. I know they're hashed using CityHash, but I don't know much else. Maybe look at GzsTool on GitHub? All of its source code is available there, including what it does to unhash the names.

Only the hashed names/paths are stored in the FMDLs. The game can use the hashed values to locate files, which is why all of the names are hashed in the first-place. The game's supposed to be able to find the files, we're not. :P
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 »

Forgot to drop this here in forever so here it is, a vertex repositioning tool for MGSV: https://www.dropbox.com/s/qs9gpa8isqocq ... rt.ms?dl=0

Used in a similar way to the faces script, except since you're just moving verts you only need one script. Problem with it is that you can't edit UV Maps and reweigh the verts (mostly because no import tool for MGSV supports bone weights).

I can add a UV Editing function if someone could show me how to convert float values to half float in Maxscript but I haven't seen anywhere online how to do that in Maxscript.
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 »

Hi all, i'm completely new to model/texture modding, but this thread (especially BobDoleOwndU and HeartlessSeph) was of incredible help.

In short: i am trying to replace the female soldier fatigues with Quiet's Sniper Wolf outfit, with automatic skin color adaptation.

To do so, i dug into the FOVA .fv2 files for The Boss's and EVA's outfits (they both have skin color adjustment).
Here are my findings (for an explanation on how i deduced the textures from hex, read BobDoleOwndU's trick a few posts above):



Comparison of both .fv2 files:

Image





Relation between the .fv2 file and the skin color textures:

Image





Cross-reference between .fv2 and .fmdl files ("red" reference - dunno what it stands for exactly)

Image





Cross-reference between .fv2 and .fmdl files (1st skin texture for the related object)

Image



So, from all that, i am almost able to make it work for my mod: i just have to create 5 versions of Sniper Wolf's skin texture, then insert/replace their hashed names in the .fv2 file. Only problem is: how do i know which reference (red in the pictures) to use ? Or rather, how can i pinpoint it exactly in the .fmdl file ??? Does someone here happen to have a detailed description of this part of the .fmdl file structure, so we could identify exactly where the red part will appear in any .fmdl ?

Thanks !
Post Reply