diff options
author | Bryan Bishop <kanzure@gmail.com> | 2013-03-03 21:42:35 -0600 |
---|---|---|
committer | Bryan Bishop <kanzure@gmail.com> | 2013-03-03 21:42:35 -0600 |
commit | a1ed7e76583127562c73bf12766ba2958451b9dc (patch) | |
tree | 219d44ae330cfed4efcadcb7593ff2c2b511ebe4 | |
parent | 9ee0600524218d47ce2faa9b122a8e2b498e9b66 (diff) |
vba - basic cheating infrastructure
-rw-r--r-- | extras/vba.py | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/extras/vba.py b/extras/vba.py index 8ed0d7b5a..c1ff3538d 100644 --- a/extras/vba.py +++ b/extras/vba.py @@ -564,6 +564,66 @@ def call(bank, address): else: registers["pc"] = address +class cheats: + """ + Helpers to manage the cheating infrastructure. + + import vba; vba.load_rom(); vba.cheats.add_gameshark("0100CFCF", "text speedup 1"); vba.cheats.add_gameshark("0101CCCF", "text speedup 2"); vba.go() + """ + + @staticmethod + def enable(id): + """ + void gbCheatEnable(int i) + """ + Gb.cheatEnable(id) + + @staticmethod + def disable(id): + """ + void gbCheatDisable(int i) + """ + Gb.cheatDisable(id) + + @staticmethod + def load_file(filename): + """ + Loads a .clt file. By default each cheat is disabled. + """ + Gb.loadCheatsFromFile(filename) + + @staticmethod + def remove_all(): + """ + Removes all cheats from memory. + + void gbCheatRemoveAll() + """ + Gb.cheatRemoveAll() + + @staticmethod + def remove_cheat(id): + """ + Removes a specific cheat from memory by id. + + void gbCheatRemove(int i) + """ + Gb.cheatRemove(id) + + @staticmethod + def add_gamegenie(code, description=""): + """ + void gbAddGgCheat(const char *code, const char *desc) + """ + Gb.cheatAddGamegenie(code, description) + + @staticmethod + def add_gameshark(code, description=""): + """ + gbAddGsCheat(const char *code, const char *desc) + """ + Gb.cheatAddGameshark(code, description) + class crystal: """ Just a simple namespace to store a bunch of functions for Pokémon Crystal. |