Skip to content
View in the app

A better way to browse. Learn more.

ResHax

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
Help us keep the site running.

[PS2] Criterion Games BLACK (Aug 16, 2005 prototype) .DB .BIN

Featured Replies

Hello, I have recently been trying to rip both models and textures of character models in BLACK by criterion games.
Textures I have acquired already through the burnout Noesis plugin, since both the .DB and .BIN are compatible for texture access.
The retail models themselves are easy enough to rip through the xbox version, (followed steps from an old thread for ripping BLACK models).

The prototype however, is PS2 only, which looking back at the old thread appears to be much more difficult to rip from.
From what I understand, the .DB and .BIN files store both texture and model data.

AFAIK Character models+textures in the CHARDATA.DB files, the other .BIN files level data.

Looking for matching texture names after exporting from Noesis in the CHARDATA.DB from LEVEL_04 with a hex editor appears to lead in the right direction, but I have had no success with trying to get model data with hex2obj when looking around these areas (These two individual entries could be one for the texture and one for the model, just guessing though).

image.thumb.png.93f1cd956695a23e58f03bc264c0d933.png

 image.png.f52eec40ea1680d19d7188e8ae066553.png

Help would be much appreciated to those interested, I am still pretty new to this, samples are attached.

 

Prototype and Noesis plugin here, if anybody wants to dig around.

https://hiddenpalace.org/Black_(Aug_16,_2005_prototype)

(IF YOU WANT TO RUN THE PROTOTYPE THROUGH PCSX2, EXTRACT ALL DATA FROM THE .IMG AND RUN IT THROUGH CDGENPS2, IT WILL CRASH ON STARTUP OTHERWISE!)

https://github.com/EdnessP/scripts/blob/main/burnout/fmt_Burnout3LRD.py

 

Video that showcases gameplay including some of the models:

BLACKprototypesamples.zip

Solved by roocker666

  • Supporter

Nice find... But og xbox version is best to rip because you don't need to deal with autogenerated faces. Typical for PS2 games.

But static meshes are bit pain because they somehow compressed/obfuscated texture names. 

So I must rip that scene with NinjaRipper and then assign textures by the look.

  • Author

I can confirm, most character models from the xbox version with CXBX can be ripped with Ninjaripper in local space pretty well, only had minor problems with props like helmets in the past.

This one is ripped with Ninjaripper 2.0.5:

image.thumb.png.1e4064e1e4b6da75ed9c2085c7916e16.png

  • Supporter
23 hours ago, daintysam31 said:

but I have had no success with trying to get model data with hex2obj when looking around these areas

For PS2, level_00, chardata.db it's a matter of assembling sub meshes (and maybe a better face creation algo):

 

PS2_Chardata-db.png

Edited by shak-otay

  • Supporter

I must admit I am pretty interested in prototype models as well but autogenerated faces are no go for me.

I will try to write BMS to at least unpack bin/db files.

  • Author

Thank you, I will try to see if I can do some manual assembly from this point on, will post results.

  • Supporter
1 hour ago, h3x3r said:

but autogenerated faces are no go for me.

Hmm, you know there's some hero here who got the trick for PS2? I couldn't get over myself to make use of his dll but it's my firm decision to tackle this and I'll tell the result as soon as I get it working for me. (If it works there's several dozens of PS2 projects I'd need to correct and I fear the amount of work, somehow.:classic_blink:)

(It's my bet that it has to do with changing the face winding and I'd like to find it out by myself instead of using other people's dll.)

Edited by shak-otay

  • Supporter

As per i am a good for nothing in 3d model issues., i can´t tell if te unpack works, but studying DB, i can see 2 types of TOC.

Attached the py script, if someone wants to take a look.

just drop the files DB or bins in .py or double click in .py

black_ps2_unpack.py

Edited by Rabatini

  • Supporter

I found a model, I used that script to split the file(LEVEL_00/CHARDATA.DB). Then in unpacked folder "CHARDATA.DB_unpacked" I went to "segment_03_0007c600" folder and inside I used the file "key_53b10f70a0da0000_off_000d4c00.bin", I renamed that .bin to DB again because .bin is very generic. And I made a script using the old function to create faces from Allen and the byte seach by Durik.
I noticed that buffers have a tag(like almost all PS2 games):
verts buffer Tag: 05 03 01 00 01 00 80(then 1 byte vert count and 1 byte unk)
buffer: 3 shorts XYZ, 1 short flag
 uvs buffer Tag: 05 03 01 00 01 01 80(count and unk and then buffer 2 shorts XY)

normals buffer Tag: 05 03 01 00 01 02 80(count and unk and then buffer 3 bytes XYZ)
UVs were tiny so I scaled that using "rapi.rpgSetUVScaleBias((8.0, 8.0, 8.0), None)", You can use other value if you want but I used 8.0. 

black.PNG

  • Supporter
  • Solution

I don't know if there are more models in that unpacked folder, you need to check that so examine each file there. Just remember that characters use shorts in vertices buffer, I think I saw other file with floats but maybe that file is not a character or maybe it is but with floats, I really don't know, lol. Here is the script if you want to test it:

fmt_black_ps2_prototype_DB.py

  • Author

Did some digging, the plugin works great.

Requires some blender trickery to get rid of all the lods and reconstructing the character models but it works great, only thing of note is the shading being really funky but I fix those by hand anyway.

image.thumb.png.c1c89f8c5fb8fd8ad23af0d478134eea.png

I also tested it on some level meshes and gun viewmodels, works too but has flipped normals seemingly at random.

 image.png.14d5d251b0b7646712b0498db83317ab.pngimage.thumb.png.c7546332143000d69703f620fba1c073.png

Either way, thank you to everyone who helped and contributed, I truly appreciate it.

  • Supporter
On 12/16/2025 at 6:29 PM, Rabatini said:

As per i am a good for nothing in 3d model issues., i can´t tell if te unpack works, but studying DB, i can see 2 types of TOC.

Attached the py script, if someone wants to take a look.

just drop the files DB or bins in .py or double click in .py

black_ps2_unpack.py 9.75 kB · 5 downloads

There it helps somehow?

  • Author

Yes sorry forgot to mention, your script unpacks the character models and level data succesfully in combination with the Noesis plugin.

  • 3 months later...

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.