01-27-2015, 03:28 AM
First of all, here's a QuickBMS script for Font.arc from BbS:
Not sure what to do with the results, maybe Ploaj can figure something out?
As for fontimage.bar, judging from the icons near the bottom of the file the palette starts at 0x3A080 and is 4bpc RGB:
I discovered that starting at 0x10, you have 3 info chunks in this format:
4 bytes unknown
4 bytes name
4 bytes offset
4 bytes length
Hopefully these should be self-explanatory. The number at 0x04 (gonna assume it's also 4 bytes) indicates how many of these chunks exist.
For some reason the "icon" length goes on to the end of the file, so it contains the palette. Maybe that means it doesn't belong to the other fonts, but then where are their palettes? Maybe they don't have them and simply have raw pixel data in 8bpp format, using the 332=8 format in TextureFinder seems to produce favourable results:
The other BAR files seem to have similar format. Looks like they're archives, I might make a QuickBMS script for them as well. I'm not sure whether any other than fileformat.bin contains anything useful though.
Code:
# Kingdom Hearts Birth by Sleep Font.arc format
#
# Written by puggsoy
# script for QuickBMS http://quickbms.aluigi.org
idstring "ARC\x00\x01\x00"
get FILENUM short
getdstring DUMMY 0x08
for i = 0 < FILENUM
get DUMMY long
get OFFSET long
get SIZE long
get DUMMY long
getdstring NAME 0x10
log NAME OFFSET SIZE
next i
Not sure what to do with the results, maybe Ploaj can figure something out?
As for fontimage.bar, judging from the icons near the bottom of the file the palette starts at 0x3A080 and is 4bpc RGB:
I discovered that starting at 0x10, you have 3 info chunks in this format:
4 bytes unknown
4 bytes name
4 bytes offset
4 bytes length
Hopefully these should be self-explanatory. The number at 0x04 (gonna assume it's also 4 bytes) indicates how many of these chunks exist.
For some reason the "icon" length goes on to the end of the file, so it contains the palette. Maybe that means it doesn't belong to the other fonts, but then where are their palettes? Maybe they don't have them and simply have raw pixel data in 8bpp format, using the 332=8 format in TextureFinder seems to produce favourable results:
The other BAR files seem to have similar format. Looks like they're archives, I might make a QuickBMS script for them as well. I'm not sure whether any other than fileformat.bin contains anything useful though.