Unknown 3d format (Possibly XSI)

Skeletons, animations, shaders, texturing, converting, fixing and anything else related to read game models
dissectionalone
Posts: 10
Joined: Thu Dec 08, 2016 8:35 pm

Unknown 3d format (Possibly XSI)

Post by dissectionalone »

Hi guys,

First time posting here.

Is there anyone with coding knowledge willing to create a parser of some sort or a script to import a seemingly unknown (more like unspecified) 3d format? I'm assuming the format must be some form or variation of XSI (associated with Softimage XSI) but I can't say that for sure.

The reason I'm assuming it must be XSI (or something related) is because the file is from the Xbox 360 game Project Gotham Racing 4.

Luigi Auriemma kindly created a script that can extract the contents of the pak_hrd and some of the .pak files. :)

The .pak files' content I've seen maintains it's original file extensions and are mostly text files.

The .pak_hrd are given the .dat extension by quickbms (these are the ones I suspect to be XSI or XSI related)

Any help would be highly appreciated.

Many thanks in advance

Cheers :)
dissectionalone
Posts: 10
Joined: Thu Dec 08, 2016 8:35 pm

Re: Unknown 3d format (Possibly XSI)

Post by dissectionalone »

Here's the BMS extracted file in case anyone is interested or just curious

https://www.mediafire.com/folder/syra7z ... _Extracted

Regards
Acewell
Posts: 706
Joined: Fri Aug 08, 2014 1:06 am

Re: Unknown 3d format (Possibly XSI)

Post by Acewell »

this doesn't look like any xsi file i have ever seen, i can't see any obvious
patterns or data that make sense either maybe is encrypted or something. :?
id-daemon
Posts: 1040
Joined: Sun Mar 22, 2015 7:09 pm

Re: Unknown 3d format (Possibly XSI)

Post by id-daemon »

Nothing that bad. Data is compressed with zlib. Separate data blocks for geometry, faces and textures.
Acewell
Posts: 706
Joined: Fri Aug 08, 2014 1:06 am

Re: Unknown 3d format (Possibly XSI)

Post by Acewell »

yep you can run it through offzip to get uncompressed headerless files :oops:

Code: Select all

offzip -a 0000000000000000.dat c:\offzip\extracted


Image
00082fc6.dat.png
dissectionalone
Posts: 10
Joined: Thu Dec 08, 2016 8:35 pm

Re: Unknown 3d format (Possibly XSI)

Post by dissectionalone »

Many thanks for the replies, guys :)

I'll look into it :)
dissectionalone
Posts: 10
Joined: Thu Dec 08, 2016 8:35 pm

Re: Unknown 3d format (Possibly XSI)

Post by dissectionalone »

A noob question: How did you determine that specific file's extension? Or did you take the data and made a png file from the contents of the .dat archive?
Acewell
Posts: 706
Joined: Fri Aug 08, 2014 1:06 am

Re: Unknown 3d format (Possibly XSI)

Post by Acewell »

dissectionalone wrote:Or did you take the data and made a png file from the contents of the .dat archive?

yes that, the texture data was typical big-endian and tiled dxt for X360. texture data is easy to identify
when you look at enough of them. there was no header so i used file size to determine the dimensions
and then experimented with formats from there and used Noesis to convert it png so i could post it here.
dissectionalone
Posts: 10
Joined: Thu Dec 08, 2016 8:35 pm

Re: Unknown 3d format (Possibly XSI)

Post by dissectionalone »

I've been trying to figure out ways of identifying all those data blocks, trying to extract that Lamborghini Diablo model but had no luck so far. Those headless binary files feel like advanced chinese
id-daemon
Posts: 1040
Joined: Sun Mar 22, 2015 7:09 pm

Re: Unknown 3d format (Possibly XSI)

Post by id-daemon »

all "header" information is stored in .dat file itself, between ZLIB compressed blocks. Coordinates are not float, but shorts probably. Faces done with tri-strips with FFFF terminators. I just took a quick look at that.
dissectionalone
Posts: 10
Joined: Thu Dec 08, 2016 8:35 pm

Re: Unknown 3d format (Possibly XSI)

Post by dissectionalone »

id-daemon wrote:all "header" information is stored in .dat file itself, between ZLIB compressed blocks. Coordinates are not float, but shorts probably. Faces done with tri-strips with FFFF terminators. I just took a quick look at that.


I'll try to dig up the info from there. Thanks for the info :)
dissectionalone
Posts: 10
Joined: Thu Dec 08, 2016 8:35 pm

Re: Unknown 3d format (Possibly XSI)

Post by dissectionalone »

I've tried looking at the original file, without using the offzip command to extract all the data and generate a bunch of headless .dat files, and tried searching for certain strings using a hex editor (you know trying to locate some standard format reference like DDS or FBX) and found a couple but I'm not sure if those are correct or actual meaningful references that can Id the formats.
Acewell
Posts: 706
Joined: Fri Aug 08, 2014 1:06 am

Re: Unknown 3d format (Possibly XSI)

Post by Acewell »

in 0000000000000000.dat it looks like each file has an uncompressed 51 byte header preceeding each compressed block
i guess a really good bms script could write out the headers and append them to the decompressed file data.
there might be a flag which tells what type of file it is
the last 8 bytes of each header has the uncompressed size and compressed size in big endian byte order
dissectionalone
Posts: 10
Joined: Thu Dec 08, 2016 8:35 pm

Re: Unknown 3d format (Possibly XSI)

Post by dissectionalone »

That flag might probably be what makes quickbms decide what file extension to give the extracted content right?
Could you elaborate a bit on that idea of the headers with a screenshot, please? Just so I can make sure I'm following.
Acewell
Posts: 706
Joined: Fri Aug 08, 2014 1:06 am

Re: Unknown 3d format (Possibly XSI)

Post by Acewell »

well you would set script to read the flag in the header and give certain files a better extension.
when you use offzip to extract the files they are named by their starting offset, 000046e3.dat
is the first file extracted at 0x46e3 and if you go back 51 bytes in the main dat file you are at
the start of the header for that file at 0x46b0
dissectionalone
Posts: 10
Joined: Thu Dec 08, 2016 8:35 pm

Re: Unknown 3d format (Possibly XSI)

Post by dissectionalone »

So the first byte at 0x46e3 which has a 78 that indicates it's zlib compressed? Or am I confusing it? Shouldn't the beginning of the header have an indication of what type file it is?
Mondraconus
Posts: 15
Joined: Fri Aug 18, 2017 11:20 am

Re: Unknown 3d format (Possibly XSI)

Post by Mondraconus »

Acewell wrote:yep you can run it through offzip to get uncompressed headerless files :oops:

Code: Select all

offzip -a 0000000000000000.dat c:\offzip\extracted


Image
00082fc6.dat.png


Sorry if I post this too late, but if may I asking to you how do you convert that converted bms .dat file to .png ? I have been using the way you told me, by using offzip, but it not convert to .png ? How you change it to .png file ? Can you tell me step by step to do ? Thank you

Regards
Acewell
Posts: 706
Joined: Fri Aug 08, 2014 1:06 am

Re: Unknown 3d format (Possibly XSI)

Post by Acewell »

i explained that already in this post :)
viewtopic.php?p=19950#p19950

QuickBMS and offzip just extract the data, i used Noesis to open and convert the image data.
Mondraconus
Posts: 15
Joined: Fri Aug 18, 2017 11:20 am

Re: Unknown 3d format (Possibly XSI)

Post by Mondraconus »

Acewell wrote:i explained that already in this post :)
viewtopic.php?p=19950#p19950

QuickBMS and offzip just extract the data, i used Noesis to open and convert the image data.


I tried it by using noesis, but it can't preview it with a error dialogue box appearing... Any help ?
Mondraconus
Posts: 15
Joined: Fri Aug 18, 2017 11:20 am

Re: Unknown 3d format (Possibly XSI)

Post by Mondraconus »

Mondraconus wrote:
Acewell wrote:i explained that already in this post :)
viewtopic.php?p=19950#p19950

QuickBMS and offzip just extract the data, i used Noesis to open and convert the image data.


I tried it by using noesis, but it can't preview it with a error dialogue box appearing... Any help ?


OK, first I would say thanks to Acewell for introducing a simple way to extract and convert to PNG file. I really loved this game, but I need texture of areas inside it. I need shop sign, poster, anything signs that have unique itself to some places, like Japanese signs in Tokyo, Francais signs in Quebec, or Chinese signs in Macau. I'll give you one example of extracted .DAT files from Macau_sunny.PAK file, maybe you can rip one of them ( not all ), and show the PNG to me here please ?

What I've been done for this until I get error :

1. Using QuickBMS to extract Macau_sunny.pak file inside to "Extract" folder.
2. Copy "00000019.dat" file inside AC00 folder ( in Extract folder ) to Offzip folder.
3. Then running offzip to extract 00000019.dat file, but return error ( see "Error using offzip.png" attachment ). Dunno why, so I pick another example.

4. Now, I using the same way from step 1 to AlfaRomeo_SZ.pak_hrd file.
5. Copy "00000000.dat" file inside SCNE folder ( in Extract folder ) to Offzip folder.
6. Then running offzip to extract 00000000.dat file, it success now ( see "Offzip success for 00000000.dat file.png" attachment ).
7. Now, opening Noesis to convert by using batch process from .DAT to .PNG file, it also can't see the preview.
8. It don't doing anything, says "Nothing was exported" ( see "batch process.png" attachment ).
9. It just created an empty folder with the same name as the batch file, but no PNG or any file inside it ( see "batch result.png" attachment ).

OK, that's it. I don't know how to make it converted as yours to PNG file. I also attach these file ( "00000019.dat" and "00000000.dat" ) to here, maybe you can try to see these files until it converted to PNG like yours before please ? If you success try it, can you explain again step by step to me what I'm doing wrong before, so next I can do it by myself. Thank you. :)

I just need a confirmation if this .DAT file can be ripped and I can see some signs of the area in this file...