Bumped because this shit is still being worked on.
I still haven't figured out how the individual game files are validated, but I came up with a way (and implemented it) to get around all that, and it's actually a simple solution. When the File Select screen is up, a copy of the cart's SRAM (containing the 'header' and all 3 files) is loaded into a block of ram. And since the save data has already been validated, you can simply inject an OoT SRAM file into a savestate, and start one of the game files. Then all you do is save and the game file is written, and OoT won't reject it when you reset.
Right now my major goals are to
- Implement a GUI interface which requires these things
- Create a collection of tables that map out the Game File data
- Create a system that will read the tables into memory
- Create some sort of dynamic interface system that allows users to edit the data through various interfaces
- Re-write a decent amount of code so that you can edit a Game File or SRAM file with the Hex Editor and the GUI interface side by side.
- Add the ability to keep the various files in seperate folders (ex. VC folder for SRAM dumps that are compatible with the Wii, Savestates in another folder, etc.)
- Add the ability to rip Game File data off of Savestates, and add support for Mupen savestates.
- Make the Hex Editor less shitty.