X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=libpcsxcore%2Fcheat.h;h=b3d8bc4ac47358e8affc6206f9211d57aa0601c2;hb=HEAD;hp=c533b93f21b646980b393237f7213c28b6ec5f64;hpb=9c27c2051287b235fe0dba18a74b3863a3062646;p=pcsx_rearmed.git diff --git a/libpcsxcore/cheat.h b/libpcsxcore/cheat.h index c533b93f..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(); @@ -96,23 +98,27 @@ extern int NumCodesAllocated; #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 }