So, I feel bored so here's something I learned the past week: ripping an n64 is.......painful, tedious, time consuming, hard and complicated.
Like, I tried and sucessfully ripped soem stuff, but let me just tell you the experience.
First, the games of the n64 are squashed meaning they have very high compression to keep the memory lower, what this means is there's no gfiles.....everything is just kinda there in the rom and you have to browse the files manually to check the places you might want to have attention. This means that you can;t really automate the process unless you knew some info like where is the stuff you want and how it's made, but to know that it requires manual inspection and it;s jsut painful because you have to figure this out for a lot of things.
Let;s start with sounds, thankfully, if your game is supported, there;s a soundbank ripper that has the offset already prefilled in an ini file so ripping them is easy.
But the reality is that it has a ctl and a tbl, former is the "header" and the later is the actual data. The former is simple to find, you search for a magic word with an hexedit, but the later.......urgh you would have to kinda try it until you stop ripping static.....yeah it hurts if you get it wrong.
but the most painful is graphics, oh god.....
You have to use a tile viewer, brose the rom until you see soemthing that looks like an odd pattern or image. You put the offset in a ripper with a preview, but then you have to figure out its dimension which is hard because one number would be alligned and the rest would look like junk. Then you have to figure out the format whcih can be rgba 16 or 32, IA 4, 8 or 16, I 4 or 8 and the worst of all, CI. if you have no idea what these are, the numbers is the color depth, so the more the more depth, but you have to adjust it to the textures you're ripping or it would look awful. rgba is color with transparency, IA is greyscale with transparency, I is same without transparency and CI is color indexed that has support for transparency and is freaking painful.
let me explain why CI is a pain in the patoot to rip: color indexed means it's a greyscale that has its colors mapped to a pallete. Now here;s the quicker: the pallete is separated in the rom. They do this so the base image is taking less space and you can colorify it better.
So to rip a CI, you need the offset of the palete and its color depth which is usually 16, but can be 32.
And there's the problem: it's a pain to find the pallete if it's not before or after the image cause in this case, good luck finding it since it can be anywhere int he rom.....yikes.
So yeah, ripping on n64 is a pain.....