Manipulate specific flags?
Posted by: suloku
Date: 2017-03-21 06:05:58
I've been reading about gen 3 ACE and glitches trying to find a way to manipulate specific flags (specifically, Emerald's event islands for legendary pokémon) and after reading about the inner works of ACE and glitzzer popping I have some doubts:
- I've seen that via Glitzzer popping the flags to birth, faraway and southern island can be enabled, but for what I've read about the how the glitch works, those are only enabled because of the game recognizing the data as a corrupt pokémon and setting it as a bad egg, which results in the flags being enabled. The flags for the 4 islands are consecutive, but to my understanding there's no way to manipulate the address, in fact that there's a glitch pokémon that makes those two flags for the islands get enabled is quite lucky already. Am I wrong and can glitzzer popping be altered to manipulate any flag given we know where it is?
- Since I though I couldn't achieve what I wanted via glitzzer popping, I though ACE was the way to go as showcased here: https://www.youtube.com/watch?v=m9pvNYdhldo&t=31s
The method seems promising as even with the 60 instruction limit, I think enabling 4 flags should fit, but as I don't know ASM I don't have a clue about how to write the payload for setup. I do know how to find the ASM in the rom for the setflag instruction scripting uses though, but without knowing how to use it, doesn't really make a difference.
Also, I don't know if the savegame being "aligned" (blocks 0-14 being in ascending order as seen here https://www.youtube.com/watch?v=1pb-6hMDQBs) is a requirement for this ACE method.
The ultimate goal is just a simple ACE that enables the 4 island flags, the items can be obtained via glitzzer popping so they aren't a problem. Being able to enable/disable flags could have other uses, like re-battling the legendaries, which might also be interesting.
I personally prefer the ACE way, since glitzzer popping corruption flag enabling also changes undesired flags in the process, so ACE should be a lot cleaner for the savefile imho.