X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=libpcsxcore%2Fcheat.h;h=b3d8bc4ac47358e8affc6206f9211d57aa0601c2;hb=HEAD;hp=d54f22c31c826f2034e8c8602b21d05f9da0e7df;hpb=ef79bbde537d6b9c745a7d86cb9df1d04c35590d;p=pcsx_rearmed.git diff --git a/libpcsxcore/cheat.h b/libpcsxcore/cheat.h index d54f22c3..d8c2c66f 100644 --- a/libpcsxcore/cheat.h +++ b/libpcsxcore/cheat.h @@ -26,6 +26,7 @@ extern "C" { typedef struct { uint32_t Addr; uint16_t Val; + uint16_t OldVal; } CheatCode; typedef struct { @@ -33,6 +34,7 @@ typedef struct { int First; // index of the first cheat code int n; // number of cheat codes for this cheat int Enabled; + int WasEnabled; } Cheat; void ClearAllCheats(); @@ -87,29 +89,36 @@ extern s8 *prevM; extern u32 *SearchResults; extern int NumSearchResults; +extern int NumCheatsAllocated; +extern int NumCodesAllocated; + #define PREVM(mem) (&prevM[mem]) #define PrevMu8(mem) (*(u8 *)PREVM(mem)) #define PrevMu16(mem) (SWAP16(*(u16 *)PREVM(mem))) #define PrevMu32(mem) (SWAP32(*(u32 *)PREVM(mem))) // cheat types -#define CHEAT_CONST8 0x30 /* 8-bit Constant Write */ -#define CHEAT_CONST16 0x80 /* 16-bit Constant Write */ -#define CHEAT_INC16 0x10 /* 16-bit Increment */ -#define CHEAT_DEC16 0x11 /* 16-bit Decrement */ -#define CHEAT_INC8 0x20 /* 8-bit Increment */ -#define CHEAT_DEC8 0x21 /* 8-bit Decrement */ -#define CHEAT_SLIDE 0x50 /* Slide Codes */ -#define CHEAT_MEMCPY 0xC2 /* Memory Copy */ - -#define CHEAT_EQU8 0xE0 /* 8-bit Equal To */ -#define CHEAT_NOTEQU8 0xE1 /* 8-bit Not Equal To */ -#define CHEAT_LESSTHAN8 0xE2 /* 8-bit Less Than */ -#define CHEAT_GREATERTHAN8 0xE3 /* 8-bit Greater Than */ -#define CHEAT_EQU16 0xD0 /* 16-bit Equal To */ -#define CHEAT_NOTEQU16 0xD1 /* 16-bit Not Equal To */ -#define CHEAT_LESSTHAN16 0xD2 /* 16-bit Less Than */ +#define CHEAT_CONST8 0x30 /* 8-bit Constant Write */ +#define CHEAT_CONST16 0x80 /* 16-bit Constant Write */ + +#define CHEAT_INC16 0x10 /* 16-bit Increment */ +#define CHEAT_DEC16 0x11 /* 16-bit Decrement */ +#define CHEAT_SCRATCHPAD16 0x1F /* 16-bit Scratchpad Write */ +#define CHEAT_INC8 0x20 /* 8-bit Increment */ +#define CHEAT_DEC8 0x21 /* 8-bit Decrement */ +#define CHEAT_SLIDE 0x50 /* Slide Codes */ +#define CHEAT_MEMCPY 0xC2 /* Memory Copy */ + +// conditionals +#define CHEAT_EQU16 0xD0 /* 16-bit Equal To */ +#define CHEAT_NOTEQU16 0xD1 /* 16-bit Not Equal To */ +#define CHEAT_LESSTHAN16 0xD2 /* 16-bit Less Than */ #define CHEAT_GREATERTHAN16 0xD3 /* 16-bit Greater Than */ +#define CHEAT_BUTTONS1_16 0xD4 /* button presses equate to YYYY */ +#define CHEAT_EQU8 0xE0 /* 8-bit Equal To */ +#define CHEAT_NOTEQU8 0xE1 /* 8-bit Not Equal To */ +#define CHEAT_LESSTHAN8 0xE2 /* 8-bit Less Than */ +#define CHEAT_GREATERTHAN8 0xE3 /* 8-bit Greater Than */ #ifdef __cplusplus }