D
Deleted User
Guest
OP
As many of you know, I've done a lot of reversing for nintendo ds games, mainly phoenix wright related stuff.
Lately I've seen in an increasing number of games the use of a specific file format for packing files together. We could refer to it as the NARC file format. It is the used extension in some games.
The archive not only point to data, but gives a structure between sprites, tiles, strings, ect... So it is really important to understand it.
Seeing this, it would be best to unite our efforts and make a full library to handle this file format.
To do so, I propose a little schedule :
1) Find exactly which games used this format. It might be tedious, as although games like Pokemon P/D makes a direct use of the format with explicit extensions, games like GS4 have their own packing format, and in some part of the data you can recognize some NARC files.
2) Completly document the format. So far I'm able to extract chunks of data, but I've not found the exact type of each chunk. For example each chunk has an identiefer as a string of 4 characers. LBAL chunks are array of strings, with an easy to find structure. On the other hand GMIF chunk seems to contain a list of sub NARC, the offsets to these NARCs being referenced by a BTAF chunk.
3) Make a library to handle these files, with a grahical browser. It is really important here to make a packing function too, as for hacking purpose we want to inject data in the same way as devellopers do.
I will soon change the wiki version on my website, the current one being awful to use (a lot of white page lately...). As soon as it is done, I'll make a page for this format. If some moderators read this, maybe we could use the GBATemp wiki, but I'm not sure if rom hacking is on topic.
Lately I've seen in an increasing number of games the use of a specific file format for packing files together. We could refer to it as the NARC file format. It is the used extension in some games.
The archive not only point to data, but gives a structure between sprites, tiles, strings, ect... So it is really important to understand it.
Seeing this, it would be best to unite our efforts and make a full library to handle this file format.
To do so, I propose a little schedule :
1) Find exactly which games used this format. It might be tedious, as although games like Pokemon P/D makes a direct use of the format with explicit extensions, games like GS4 have their own packing format, and in some part of the data you can recognize some NARC files.
2) Completly document the format. So far I'm able to extract chunks of data, but I've not found the exact type of each chunk. For example each chunk has an identiefer as a string of 4 characers. LBAL chunks are array of strings, with an easy to find structure. On the other hand GMIF chunk seems to contain a list of sub NARC, the offsets to these NARCs being referenced by a BTAF chunk.
3) Make a library to handle these files, with a grahical browser. It is really important here to make a packing function too, as for hacking purpose we want to inject data in the same way as devellopers do.
I will soon change the wiki version on my website, the current one being awful to use (a lot of white page lately...). As soon as it is done, I'll make a page for this format. If some moderators read this, maybe we could use the GBATemp wiki, but I'm not sure if rom hacking is on topic.