Jump to content

Recommended Posts

Posted (edited)

Hello. I'm looking in how to extract these bnk files from the Xbox 360 version of Test Drive Unlimited.

These bnk files contain the following:

3DG (this is the file format for the meshes) and 2db (this is the file format for the textures)

The PC version of this game also has bnk files which can be opened in software like 3dsimed however for the Xbox 360 version of the game they cannot be opened.

The main reason as to why they won't open is due to the files from the Xbox 360 version are in big endian whereas the ones in the PC version are in little endian...

Is it possible to convert big endian to little endian?  And if not is it possible to extract the files individually from these bnk files?

I've posted  samples below:

The _I in these bnk files represent the interior of the said vehicle.

Rims are stored separately in a folder.

For more context these are the DLC 6 vehicles which was the last DLC for the game and were never ported to the PC version of the game.

Vehicles.rar

Edited by Darius6
  • Engineers
Posted (edited)
On 3/23/2025 at 12:30 AM, Darius6 said:

Hello.

...

Is it possible to convert big endian to little endian?

Speaking of files? Then usually the answer is "no", because you would need the offset of every byte , DWORD, float and string in the source file to treat them accordingly.

(If the file were a block of floats, for example, it would be possible.)

 

Getting something useful out of bnk will require some fidling, I guess:

TDU-bnk.png

TDU-x-bnk.png

TDU-Daytona-part.png

Point_cloud_Daytona_I.png

Edited by shak-otay
  • Like 1
  • Engineers
Posted (edited)

Harder than expected without a decent magic table of counts (if any):

Daytona.png

Handlebar had to be positioned manually:

Daytona.png

Solstice_interior.png

Solstice.png

Edited by shak-otay
  • Like 1
  • Engineers
Posted (edited)

I finally managed to get rid of a problem where a wronlgy determined face index count led to corrupted obj files.

I didn't find a simple solution with Make_H2O_pub, so I decided to fix that bug using hex2obj (which required a special TDUnlimited version to be created).

So if you don't want to trick around with a dozen *.objx files (from old hex2obj versions) it's important to use the updated exe (TDUnl) from here.

Said exe will create *_corr.obj (instead of *.objx) which means that they can be imported without renaming.

(Heaven will tell whether _corr(ection) is correct, always.)

The process is like so (read How-to-use_TDUnl_bnk.txt from zip) :

  • Make_H2O exe creates H2O files from bnk files
  • hex2obj creates obj files from bnk using said H2O files
  • bunch of obj files to be imported into blender using included .py file

Found sub meshes might be uncomplete - tested three (+ 2 interior) bnk files only

Have fun.

edit: forgot to mention that doors, steering wheel etc need a positional correction.

(The offsets are probably in the bnk files but I'll leave this to you.)

And yeah, uvs are missing - maybe later...

 

 

Make_H2O_TDU_bnk.zip

Edited by shak-otay
  • Like 1

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
×
×
  • Create New...