This is a 2-day work on some wii files extracted from the game iso.
It was a little complicated to implement an LZSS decompression to decompress the initial .fsys file. After the decompression things are pretty easy since the recognition of the data on the file(s).
I’ve identified many sections but for now i can only read the model parts. There is a really interesting way that Nintendo(???) uses in order to store the indices on the file, which is by splitting the sections depending on the material applied on specific faces. Pretty much like Blender allows on applying materials on selections of vertices, but it is not that profinite when you are checking bytes 😛
There are lots of textures in the files as well but it seems like there are many many many different formats in there, so i’ll take my time to study them and extract them as well.
I’ve also found some data that possibly contain animation data and i think that its a very good opportunity to see how i can import keyframe data in blender (including armatures and bones of course).
So here is Venusaur (003) 😀
If you wish to see any other pokemon (up to id 601), just comment below.
The whole code is in pure python, and as soon as i can assemble a single script that does both the decompression and the reading, i’ll release it.
Credits to ImaginaryZ for his C++ Extractor that helped me compare my results and Tiberius of VG-Resource who posted about ImaginaryZ 😛