Hey and i would like to know where do you found these font images and got the images
.
I'm not really sure what you are asking, as you should already know where the fonts are.
If you mean where I found those images, I can tell for sure that they weren't floating on the net.
I made them with a little program of mine used for testing my Image class (which works pretty good even with 2bpp graphics, it seems). I haven't reversed everything of the .fnt format used by TOSE, but most of it. Here goes the structure for the first 16 bytes:
Code:
typedef struct FONT_HEADER
{
ÂÂÂÂBYTE magic[8];ÂÂÂÂ// always "\x00\x00\x00\x00FONT"
ÂÂÂÂBYTE height;ÂÂÂÂ// overall height for the font
ÂÂÂÂBYTE depth;ÂÂÂÂ// it's not actually used in game
ÂÂÂÂshort total;ÂÂÂÂ// counter for characters stored
ÂÂÂÂULONG unk2;ÂÂÂÂ// unknown crap, MARIO THISS NEED MORE SHIT
};
Other than this, there's other data that I really dunno what's used for (didn't bother to check in a debugger). AFTER this huge unknown chunk there is a series of 32 bit absolute pointers (which can be also NULL'd, meaning garbage that can be ignored) to all the tile glyphs. Each item pointed varies in size, depending oh what's in the subheader. This subheader is made of 2 bytes, the first with the character width, the second with the size specification. There are 4 size specs:
0=empty character;
1=4x? (1 byte for each row)
2=8x? (2 bytes for each row)
3=12x? (3 bytes for each row)
Repace '?' with the height value in the main header. I guess that's all.
According to a post on rh.net, it seems like this format is shared among other portings made by TOSE. I suspect it's the same also used for GBA portings of FF. And while we're at it...
- Japanese big:
- Japanese small:
- American/European big:
- American/European small:
Each of these corresponds to the big/small folders in "msg", and each has its own encoding. Anything above 0x80 is decoded using this simple formula:
CODE