
this is a tough one.
because obviously, you dont want to deselect the hacks. "hacked" status should double as "selected" because more often than not, I reload a game more frequently than i reload cheats in khut. Also without knowing the state of the game, you cant really say "well this cheat was already applied successfully so we dont need to apply it again"
OTOH the votes shit really does annoy everyone involved
it seems like there is a solution hiding somewhere. I can see that it is there but i cant see it.
what if you saved a temporary value for each hack? lets say the address of where the aob was found.
so you apply the hacks to a game with pid 5111 right, and it saves the addresses for each hack in a vector. then next time you apply the hacks it would check if the pid matches to 5111, and if they do match it just compares the aob found at that address to the original and replacement aobs to see which one it is, versus re-scanning the memory. if the pid has changed, then it overwrites the old addresses with the new ones. this way it will be able to determine if the hack has already been applied, and wont get false positives like you might if you just scan for the replacement aob.
honestly it sounds like itd be a total pain in the ass to add into your already existing code, but thats the best idea i can come up with that might actually work.