Yoda Stories, x86 and ARM all primarily use little endian. As of now, this means that compiling to any platform that is Big Endian (such as the Wii, Wii U, etc) results in no data reading properly at all. Unfortunately fixing this is not an easy task and it would require a lot of rework with how things are actually read. At the moment, I'm feeling that
Instead of holding the entire file in RAM, read the majority of small sections into data structures and take note of locations of larger structures.
From there, whenever data is needed, read from the file and handle the endianness in the file IO.
This would also help with the somewhat mixed read-directly-from-the-buffer logic and using the read_long, read_short, read_byte logic in assets.c
Yoda Stories, x86 and ARM all primarily use little endian. As of now, this means that compiling to any platform that is Big Endian (such as the Wii, Wii U, etc) results in no data reading properly at all. Unfortunately fixing this is not an easy task and it would require a lot of rework with how things are actually read. At the moment, I'm feeling that
This would also help with the somewhat mixed read-directly-from-the-buffer logic and using the read_long, read_short, read_byte logic in assets.c