summaryrefslogtreecommitdiff
path: root/libpcsxcore/cheat.h
diff options
context:
space:
mode:
authorSND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2009-06-29 12:48:12 +0000
committerSND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2009-06-29 12:48:12 +0000
commit032f74dd1a205a3e2d032e0d0deb60eac8b42de4 (patch)
tree362cc2b7c1b4e0a6f21466aea1671fc905bbc66f /libpcsxcore/cheat.h
parentbf555e061aaf87c519c402db51472a39a409841a (diff)
downloadpcsxr-032f74dd1a205a3e2d032e0d0deb60eac8b42de4.tar.gz
implemented cheat search
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@23829 e17a0e51-4ae3-4d35-97c3-1a29b211df97
Diffstat (limited to 'libpcsxcore/cheat.h')
-rw-r--r--libpcsxcore/cheat.h62
1 files changed, 61 insertions, 1 deletions
diff --git a/libpcsxcore/cheat.h b/libpcsxcore/cheat.h
index 3e32c753..c5c74cd7 100644
--- a/libpcsxcore/cheat.h
+++ b/libpcsxcore/cheat.h
@@ -1,6 +1,6 @@
/* Cheat Support for PCSX-Reloaded
*
- * Copyright (C) 2009, Wei Mingzhi <whistler@openoffice.org>.
+ * Copyright (C) 2009, Wei Mingzhi <whistler_wmz@users.sf.net>.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -43,9 +43,69 @@ int AddCheat(const char *descr, char *code);
void RemoveCheat(int index);
int EditCheat(int index, const char *descr, char *code);
+void FreeCheatSearchResults();
+void FreeCheatSearchMem();
+void CheatSearchBackupMemory();
+
+void CheatSearchEqual8(u8 val);
+void CheatSearchEqual16(u16 val);
+void CheatSearchEqual32(u32 val);
+void CheatSearchNotEqual8(u8 val);
+void CheatSearchNotEqual16(u16 val);
+void CheatSearchNotEqual32(u32 val);
+void CheatSearchRange8(u8 min, u8 max);
+void CheatSearchRange16(u16 min, u16 max);
+void CheatSearchRange32(u32 min, u32 max);
+void CheatSearchIncreasedBy8(u8 val);
+void CheatSearchIncreasedBy16(u16 val);
+void CheatSearchIncreasedBy32(u32 val);
+void CheatSearchDecreasedBy8(u8 val);
+void CheatSearchDecreasedBy16(u16 val);
+void CheatSearchDecreasedBy32(u32 val);
+void CheatSearchIncreased8();
+void CheatSearchIncreased16();
+void CheatSearchIncreased32();
+void CheatSearchDecreased8();
+void CheatSearchDecreased16();
+void CheatSearchDecreased32();
+void CheatSearchDifferent8();
+void CheatSearchDifferent16();
+void CheatSearchDifferent32();
+void CheatSearchNoChange8();
+void CheatSearchNoChange16();
+void CheatSearchNoChange32();
+
extern Cheat *Cheats;
extern CheatCode *CheatCodes;
extern int NumCheats;
extern int NumCodes;
+extern s8 *prevM;
+extern u32 *SearchResults;
+extern int NumSearchResults;
+
+#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_GREATERTHAN16 0xD3 /* 16-bit Greater Than */
+
#endif