Basically, the level data is currently in overlays, mixed up with code for certain objects.
My idea is to add overlays that will hold the level data, and just it. These overlays will be loaded in place of the old ones. They will have static initializers that will be responsible for loading one of the old overlays- this will be made user-selectable (object bank 7!) so that you can for example use Whomp King in the castle grounds.
The old overlays will remain untouched, though. Avoiding moving blocks of code is apparently one good thing to do. That means old unused data will remain in the ROM- no big deal, the SM64DS ROM is originally 16mb with padding at the end, and that will not be much size increase. (note that the editor also overwrites the padding when more data is to be written inside the ROM) The level format will also get some simplifications that will reduce space usage a little.
However, don't count on it too much- the idea is still in early stages and being experimented. I didn't even get around to adding overlays inside the ROM, for now I'm trying to see how much I can increase the RAM area dedicated to overlays without breaking the game. Because increasing the RAM area dedicated to overlays also means decreasing the RAM area dedicated to the rest of the game. The game's heap management makes it rather easy to resize those two areas, but what would happen if the game fell out of RAM?
QUOTE(Mega-Mario @ Jan 24 2011, 01:16 PM) I can post about the current progress. The plan I described above is being applied, and so far no issues have been met. The tricky part -adding the overlays and getting the game to load them- has been done already, all that remains is copying the level data to the new overlays, and I will also have to port the method to USA ROMs as well.