Trying to translate the text of the main menu:
I think the file is mn_top_menu.gim, 23kb
Extracting using gimconv gives the following output:
Here is the output file:
I put two versions of it (the black is inverted color version) because the white doesn't show up well on the forum.
The output file is 1kB, it's not big enough to have all the file content.
It's like there's multiple images within this file. Anyone know anything about this?
Really, it looks like there are multiple files in there.
Everyone is using gimconv 1.20h which I guess is public and this file was encoded with gimconv 1.50 which isn't. There's a string at the end of the file that says so.
Random guesses about stuff:
0x0: The ID string, MIG.00.1PSP (padded to 0x10 will nulls)
In red at 0x10, 0x20 and 0x30 is the block type ID.
As far as I can tell:
2 is file
3 is image
4 is bitmap
5 is palette
In blue above is the total size of the block including this header.
In the case of block type 02, it's the file size minus 0x10 (presumably for the MIG.00.1PSP header).
Checking this:
03: 0x20 + 0x4F0 is 0x510, there is a type 03 block there.
04: 0x30 + 0x450 is 0x480, there is a type 05 block there.
05: 0x480 + 0x90 is 0x510, there is a type 03 block there.
In pink above is how far it is to the start of the next block, which usually matches the block size.
The 0x10 value that's not highlighted is probably the size of the header, a constant value.
Okay then, how do you decode the bitmap and palette blocks, then?
Apparently it is swizzled, I got that by checking GE debugger.
And this image is 4 bpp.
0x40: A constant, it specifies the size of this second header.
0x44: unknown. 4 = 4 bits per pixel, 5 = 8 bits per pixel
0x46: unknown. Usually 1. Might be some kind of flag.
0x48: In green. Specifies the height and width of the image. The height and width don't have to be powers of two, they just are in this case.
0x4C: Value appears to be related to the bits per pixel. Actually, it seems equal to the bits per pixel.
[a bunch of unknowns]
0x50...0x60: Unknown These appear to be constants
0x60: Appears to be the total size of the block
0x64...0x70: Unknown. Appears to be constants
0x70: Constant value. Always 0x40 and then padded to 0x10 by nulls
0x80: Start of actual bitmap.
And in this image, the bitmap is an uncompressed raw bitmap (it needs to be unswizzled)