1 #ifndef GBA_CHEATS_H
2 #define GBA_CHEATS_H
3 
4 struct CheatsData {
5   int code;
6   int size;
7   int status;
8   bool enabled;
9   uint32_t rawaddress;
10   uint32_t address;
11   uint32_t value;
12   uint32_t oldValue;
13   char codestring[20];
14   char desc[32];
15 };
16 
17 void cheatsAdd(const char *codeStr, const char *desc, uint32_t rawaddress, uint32_t address, uint32_t value, int code, int size);
18 void cheatsAddCheatCode(const char *code, const char *desc);
19 void cheatsAddGSACode(const char *code, const char *desc, bool v3);
20 void cheatsAddCBACode(const char *code, const char *desc);
21 bool cheatsImportGSACodeFile(const char *name, int game, bool v3);
22 void cheatsDelete(int number, bool restore);
23 void cheatsDeleteAll(bool restore);
24 void cheatsEnable(int number);
25 void cheatsDisable(int number);
26 void cheatsSaveCheatList(const char *file);
27 bool cheatsLoadCheatList(const char *file);
28 void cheatsWriteMemory(uint32_t address, uint32_t value);
29 void cheatsWriteHalfWord(uint32_t address, uint16_t value);
30 void cheatsWriteByte(uint32_t address, uint8_t value);
31 int cheatsCheckKeys(uint32_t keys, uint32_t extended);
32 
33 extern int cheatsNumber;
34 extern CheatsData cheatsList[100];
35 
36 #endif // CHEATS_H
37