ROM Hack Level5 .xi file format

onepiecefreak

Kuriimu 2 Developer
Member
Joined
Aug 12, 2015
Messages
593
Reaction score
425
Trophies
2
XP
2,588
Country
Germany
Hey there,

I need to find out how to properly "read" the .xi files from Level5 games.
The xfsa-tool from @Nagato doesn't support it and there is nowhere another tool that can do anything with it.

Information I could gather until now:
  • Header is IMGC (probably short for "Image compressed" or somethng like that?)
  • At 0x3c 4 bytes long it seems it is the size of the image data
  • At 0x48: Through other sources it should be a compressed table that shows how the picture is build in the end
  • Image data should consist of 8x8 tiles (at least this source tells it)
  • Image data begins at Total_File_Size - [0x3c] I think
All these "facts" aren't confirmed but most likely true. I don't have any idea of the compression and also don't know if the 8x8 tiles of image data are compressed and/or which picture compression they use in the end (so RGB888 or RGBA8 or RGB565 and so on)

This is the source I used to gather these information to work on:
https://www.vg-resource.com/thread-28385.html

Hopefully we can work on something to help.

P.S: Enclosed you can find such a xi-file and most likely it's corresponding png (png was exported from Citra Graphic buffer)
 

Attachments

That would be very nice.

The value at 0x34 (or maybe 0x38) + the value at 0x1c should give you the start of the compressed image data.
It's only in this file. I figured that out too. But in other xi files it isn't that exact. I would say it's coincidence. But I can't know that for sure.
I also could figure out when you change 0x01 to 0x00 at position 0x128 in the attached xi file, the game will see the image data as uncompressed. So this 0x01 at 0x128 is some sort of compression flag.
And it seems if you change it to another value above 0x01 it interpretes the image data as another compressed format again.
 

Site & Scene News

Popular threads in this forum