Right, so inside those .r00 files I've noticed:
1. ANCG/ANCL files -- tile sets, palettes for game objects:
4 byte header, 4 byte data size, [data size] bytes for actual data.
2. Backgrounds / Large sprites / Image Packs / Image parts -- all use the same structure:
Header:
- 4 byte pointer to palette data
- 4 byte pointer to tile data
- 4 byte pointer to tileset data
Multiply by 4 to get actual file offset. Can be zero, meaning there is no such section (explanation below).
Section (starting from each pointer):
- 4 byte number of files inside
- [number of files] x 4 bytes -- offset to section end (again, multiply by 4 to get actual offset).
- from [current position] until [section end offset] -- file data.
One file can have several palettes or tile maps inside. Some files don't have anything but one tile set. This is done for swapping parts of a picture with another one:
Kaname's not censored, that's where his face (from other files) will go to during the game.
3. Font tiles -- there are 2 tile sets for font in 1 binary, one size 8x10, the other one 16x10:
- 2 bytes unknown value (0x5 for 1st section, 0xA for 2nd)
- 2 bytes unknown value (0xA for both sections)
- 2 bytes number of characters.
- [number of characters] * [character size] character tile data (1 bit color).
Still can't find character mappings though...
4. Don't know what's in
Flash_data.R00
GL_SM.R00