Need a little help decoding this texture file. Goal is to fix english fonts in an old PSP game.
Byte order is little endian.
HEADER INFOS: 0x00-0x2F
PIXEL DATA: 0x30
COLOR PALETTE
FOOTER INFOS

There is not much in the header, apart from pointers to the end of the file, so let's jump there.

In the line 4440 we can find a pointer to 4430, where (I believe) we can find the dimensions of the image.
Example:
80 00 | 80 00 | 80 00 | 00 00 | 30 00 00 00
80(hex) is 128 in dec, and multiplying it with the next two bytes will be 16384, which is the length of the PIXEL data. (4000 in hex)
I'm not sure why is 80 00 there for 3 times?
The 4 bytes in this line, at 4438 points to the begining of the pixel data (0x30).
The start of the color palette is declared at 4474, 4bytes.
In this case its 30 40 00 00.
By subtracting 30 from 4030 we get 4000(hex) -> 16384 in dec.
So each byte corresponds to one pixel.
The color palette follows a simple red, green, blue and alpha pattern coded on 4bytes.
I've attached a few example files.
I'd be glad if someone could help me crack the remaining stuff.
This is what I can extract right now:
