I'm amazed this isn't getting more attention, what you've done here (and with all your other Emerald works) is incredible, I'm having a lot of fun just adding them all to a ROM and messing around. One question though, how do you actually reuse the old dex flags after expanding Pokemon? Is there an existing way to check them, or would I need to write a new routine to do so? I realize it's probably not even necessary to use them (seeing as your flag check script finds over 300 unused flags, which is more than enough), but it'd be nice to have the option on the off chance that some of them do turn out to be used somewhere.
It might also be worth adding the flag and var expansion feature to the list in the OP, I could see it being very useful for a lot of people.
Thanks for the kind words.
And yeah I forgot to include that one feature in the OP. I'm going to do that soon. Here's how it works:
For flags you have the old ones that use space in the old saveblock: 0x0 - 0x95F
The number you specify in the 'NoOfNewFlags' refers to the flags in the saveblock. Those are 0x960 - 0x1FFF
Old dex flags' range is 0x2000 - 0x2660. Those flags are only used for checking whether a pokemon was seen/caught, so expanding pokedex automatically frees them. If you Set 'ReuseOldDexFlags' as true you won't have to write anything, you can just use a flag in that range(say 0x2100). Those are perfectly free to use after you expand pokemon.
The vars are much simpler. The new ones start right after the old ones, so 0x5000 is the first new var. You specify the number of vars in the build.py file.