Jump to content
Official BF Editor Forums
Sign in to follow this  
dainiuxxx

Bf3/bf4 And Moh_Wf Batch Texture Converters*

Recommended Posts

Hi,

Battlefield 3/4 and Medal of Honor War Fighter .itexture converters ;)/>/>/>/>/>/>/>/>/>/>

Here`s a small app that reads out Chunk Guid`s and resolution from *.itexture files then finds a chunk and stitches both files together in batches. It works for about 95-98% of the files now.

Please note that some of the files( BC5_unorm compression format) are not supported by most image viewer`s, please use a "Noesis.exe" Noesis download as it works with wide range of texture formats including BC5_unorm compressed files(files that appear bigger than the rest of the file group).

And don`t forget that dump folder has two chunk folders so you need to either combine them or run the app twice to read out both folders.

Note that , even though the app is capable to process entire "res" folder(including all sub-folders) I would not recommend to try and convert it all at one go as it may take long and the app can become unstable.

Happy testing and please share your thoughts :)/>/>/>/>/>/>/>/>/>/>/>/>/>/>

Bf3 texture converter

Bf4 texture converter

MOH WF texture converter

Edited by dainiuxxx

Share this post


Link to post
Share on other sites

BF4 works pretty great. was able to convert some ui icons that i've never been able to figure out the dds header for. only one that it didn't convert that I was looking for was the loading screen ui. Awesome work, keep it up.

Did you run it through both chunk folders?

Share this post


Link to post
Share on other sites

Did you run it through both chunk folders?

mhmm. I ran them threw both chunk folders thinking that was the problem but no such luck. The chunk file is there in the folder it just doesn't seem to output a .dds

the itexture files I can't figure out the dds header for are the files like:

"bundles\res\levels\mp\mp_siege\ui\mp_siege_loading01 23e33120d3d27453 0b000000000000000000000000000000.itexture"

It contains "\xFB\xFA\x96\xFD\x11\x65\x78\xBA\x53\x82\xE3\x31\x35\xB2\xC3\xE1" and FBFA96FD116578BA5382E33135B2C3E1.chunk exist in my chunk folder. It is a kinda odd file however. The...structure of all the data in the chunk file looks nothing like the other chunks that convert successfully to .dds files.

If you don't have all the dumped res files hanging around I can send you the itexture/chunk file if you wanted to take a look at it.

Share this post


Link to post
Share on other sites

erm, yeah I`ve added support for one more type, but the one you mentioned are still coming up weird. but the app managed 284 files from 299 in mp_siege folder and that works for me, if someone cares to take it further the source code is there all you need is will ;]]]

Share this post


Link to post
Share on other sites

So starting with second assault I noticed some textures were missing. No idea how many in total, just know a bunch of the ones I was looking for. I thought it might have been an issue with how I extracted the data but now with Naval Strike I found the same sort of textures missing. Looks like some textures now differ in the the id of the chunk in the itexture file is...sorta different then the file name of the chunk.

http://i.imgur.com/rKs9dbm.png?1

The itexture gives me \x30\x88\x2B\x2C\x99\x76\xD6\x6E\xAD\xD9\xC9\x73\x1B\xA2\x47\x0D (30882B2C9976D66EADD9C9731BA2470D) and the chunk file name is 2c2b883076996ed6add9c9731ba2470d.chunk.

The last half matches per normal. The first half is broken in two with the first 8 bytes in big-endian byte order and the second half broken in half again with the two sets of 4 bytes in big-endian byte order.

30882B2C||9976||D66E||ADD9C9731BA2470D

2c2b8830||7699||6ed6||add9c9731ba2470d

Idk the details when it comes to big/little endian, only general knowledge.Don't really know C# or much but I'm gonna attempt to update your source. If I eventually get anywhere I'll post the source so you can update it. Who knows if i'll actually make progress on it lol

Share this post


Link to post
Share on other sites

So starting with second assault I noticed some textures were missing. No idea how many in total, just know a bunch of the ones I was looking for. I thought it might have been an issue with how I extracted the data but now with Naval Strike I found the same sort of textures missing. Looks like some textures now differ in the the id of the chunk in the itexture file is...sorta different then the file name of the chunk.

http://i.imgur.com/rKs9dbm.png?1

The itexture gives me \x30\x88\x2B\x2C\x99\x76\xD6\x6E\xAD\xD9\xC9\x73\x1B\xA2\x47\x0D (30882B2C9976D66EADD9C9731BA2470D) and the chunk file name is 2c2b883076996ed6add9c9731ba2470d.chunk.

The last half matches per normal. The first half is broken in two with the first 8 bytes in big-endian byte order and the second half broken in half again with the two sets of 4 bytes in big-endian byte order.

30882B2C||9976||D66E||ADD9C9731BA2470D

2c2b8830||7699||6ed6||add9c9731ba2470d

Idk the details when it comes to big/little endian, only general knowledge.Don't really know C# or much but I'm gonna attempt to update your source. If I eventually get anywhere I'll post the source so you can update it. Who knows if i'll actually make progress on it lol

I can't believe they did it again. It's the same permutation obfuscation that was used for that one console game: http://www.bfeditor.org/forums/index.php?showtopic=15780&page=5#entry106500

This being said, I suppose the same might apply to the audio files in the bf4 DLC too. Thankfully I have left in the option to enable permutations there. Just in case though, can someone run my decoder on the DLC files with permutation activated and see if there are any files?

Share this post


Link to post
Share on other sites

 

I can't believe they did it again. It's the same permutation obfuscation that was used for that one console game: http://www.bfeditor.org/forums/index.php?showtopic=15780&page=5#entry106500

This being said, I suppose the same might apply to the audio files in the bf4 DLC too. Thankfully I have left in the option to enable permutations there. Just in case though, can someone run my decoder on the DLC files with permutation activated and see if there are any files?

 

With it set to false it pumps out 54,049 files and set to true its put out 1,673. However all 1673 were not new files. I checked a few and both true/false output seemed to be play properly. So is DICE just wasting space by having two different chunks containing the same data here?

Share this post


Link to post
Share on other sites

 

You could add a progress bar and make the progress run in a background worker so it gives some kind of indication how much it has done instead of freezing the whole window.http://4st.me/DP4wX.png

 

Yeah I tried to add background worker but it`s too complicated for me as I am a total noob at coding. I know you could do it in seconds :-) .

So please don`t be shy...

Share this post


Link to post
Share on other sites

Super ghetto python script to rework itexture files that have no matching chunk id to the correct chunk id.

I literately just took Frankelstner's audio decoder and hacked it apart and used it to make a script to decode itexture files. Feel free to edit,fix anything, remove unnecessary lines, etc, etc because i'm sure there is plenty of that.

http://pastebin.com/QaSUfGDn

Edited by elementofprgress

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×