Jump to content
Official BF Editor Forums

Bf3/bf4 And Moh_Wf Batch Texture Converters*


dainiuxxx

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
Update
Link to comment
Share on other sites

  • 2 weeks later...

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.

Link to comment
Share on other sites

  • 1 month later...

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

Link to comment
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?

Link to comment
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?

Link to comment
Share on other sites

  • 3 months later...

 

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

Link to comment
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
Link to comment
Share on other sites

  • 4 years later...
  • 1 year later...
  • 3 weeks later...
  • 10 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...