LtCheeseburger Posted August 18 Posted August 18 I’ve been digging into the files from NCAA Gamebreaker 2001 (PS2) and I’ve run into a wall with the archive formats the game uses. I’m interested in extracting and eventually repacking the game assets (textures, models, audio, etc.), but I can’t seem to find any documentation or existing tools that handle these archives. What I have so far: The main game data is stored in large archive files (extensions: .BIN). I’ve been able to open the disc image and identify what looks like container/pack files, but none of the standard PS2 extraction tools (like Game Extractor, QuickBMS) seem to work. What I’m looking for: Info on the archive/container format used in Gamebreaker 2001. Any existing tools, scripts, or references that could help open/extract these files. Guidance on how to approach reverse engineering the archive if no tools exist. If anyone has worked with Gamebreaker or similar 989 Sports titles around that era, I’d really appreciate any pointers or even sample code/snippets that could help crack this format. Thanks in advance! ncaagb2001.zip
Engineers Solution roocker666 Posted August 19 Engineers Solution Posted August 19 (edited) Your samples are textures but there are no pointers to textures or palettes. I can see a pattern, it seems like palette is first and then image data and each has a line of 16 bytes like a header. Something like this(in LLOGO.bin): 1st Texture offset 0x00: 10 00 00 00 10 00 00 00 20 00 00 00 00 00 00 00 --16 bytes palette header offset 0x10: Palette --size 400 Hex or 1024 Dec offset 0x410: 00 01 00 00 80 00 00 00 08 00 00 00 00 00 00 00 --16 bytes image data header. 4 bytes Width(100) & 4 bytes Height(80). So 100x80(256x128) offset 0x420: Image data 256x128 2nd texture offset 0x8800: 10 00 00 00 10 00 00 00 20 00 00 00 00 00 00 00 --16 bytes palette header offset 0x8810: Palette --size 400 Hex or 1024 Dec offset 0x8C10: 00 01 00 00 80 00 00 00 08 00 00 00 00 00 00 00 --16 bytes image data header. 4 bytes Width(100) & 4 bytes Height(80) so 100x80(256x128) offset 0x8C20: Image data 256x128 3rd Texture 4th Texture Etc.. Now, IMAGDATA.bin is just one texture but it has several palettes. Image Data offset at 0x1C700. File format is the same but with multiple palettes; Palette header1 Palette1 Palette header2 Palette2 Palette header3 Palette3 Palette header4 Palette4 . . Etc.. Image data header Image data Here is the 1st Texture in LLOGO.bin using Console Texture Explorer: Edited August 19 by roocker666 1
LtCheeseburger Posted August 19 Author Posted August 19 3 hours ago, roocker666 said: Your samples are textures but there are no pointers to textures or palettes. I can see a pattern, it seems like palette is first and then image data and each has a line of 16 bytes like a header. Something like this(in LLOGO.bin): 1st Texture offset 0x00: 10 00 00 00 10 00 00 00 20 00 00 00 00 00 00 00 --16 bytes palette header offset 0x10: Palette --size 400 Hex or 1024 Dec offset 0x410: 00 01 00 00 80 00 00 00 08 00 00 00 00 00 00 00 --16 bytes image data header. 4 bytes Width(100) & 4 bytes Height(80). So 100x80(256x128) offset 0x420: Image data 256x128 2nd texture offset 0x8800: 10 00 00 00 10 00 00 00 20 00 00 00 00 00 00 00 --16 bytes palette header offset 0x8810: Palette --size 400 Hex or 1024 Dec offset 0x8C10: 00 01 00 00 80 00 00 00 08 00 00 00 00 00 00 00 --16 bytes image data header. 4 bytes Width(100) & 4 bytes Height(80) so 100x80(256x128) offset 0x8C20: Image data 256x128 3rd Texture 4th Texture Etc.. Now, IMAGDATA.bin is just one texture but it has several palettes. Image Data offset at 0x1C700. File format is the same but with multiple palettes; Palette header1 Palette1 Palette header2 Palette2 Palette header3 Palette3 Palette header4 Palette4 . . Etc.. Image data header Image data Here is the 1st Texture in LLOGO.bin using Console Texture Explorer: Holy crap thank you so much, for the longest I thought it was an archive file. I guess not 😄. 1
LtCheeseburger Posted August 19 Author Posted August 19 12 hours ago, roocker666 said: Your samples are textures but there are no pointers to textures or palettes. I can see a pattern, it seems like palette is first and then image data and each has a line of 16 bytes like a header. Something like this(in LLOGO.bin): 1st Texture offset 0x00: 10 00 00 00 10 00 00 00 20 00 00 00 00 00 00 00 --16 bytes palette header offset 0x10: Palette --size 400 Hex or 1024 Dec offset 0x410: 00 01 00 00 80 00 00 00 08 00 00 00 00 00 00 00 --16 bytes image data header. 4 bytes Width(100) & 4 bytes Height(80). So 100x80(256x128) offset 0x420: Image data 256x128 2nd texture offset 0x8800: 10 00 00 00 10 00 00 00 20 00 00 00 00 00 00 00 --16 bytes palette header offset 0x8810: Palette --size 400 Hex or 1024 Dec offset 0x8C10: 00 01 00 00 80 00 00 00 08 00 00 00 00 00 00 00 --16 bytes image data header. 4 bytes Width(100) & 4 bytes Height(80) so 100x80(256x128) offset 0x8C20: Image data 256x128 3rd Texture 4th Texture Etc.. Now, IMAGDATA.bin is just one texture but it has several palettes. Image Data offset at 0x1C700. File format is the same but with multiple palettes; Palette header1 Palette1 Palette header2 Palette2 Palette header3 Palette3 Palette header4 Palette4 . . Etc.. Image data header Image data Here is the 1st Texture in LLOGO.bin using Console Texture Explorer: By chance would you have a working DL to the program you used?
Moderators ikskoks Posted August 19 Moderators Posted August 19 By the way, you can also get the same result with ImageHeat https://github.com/bartlomiejduda/ImageHeat 1 1
LtCheeseburger Posted August 19 Author Posted August 19 2 hours ago, ikskoks said: By the way, you can also get the same result with ImageHeat https://github.com/bartlomiejduda/ImageHeat Thank you!
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now