Index: Daodan/src/Daodan.c
===================================================================
--- Daodan/src/Daodan.c	(revision 451)
+++ Daodan/src/Daodan.c	(revision 452)
@@ -48,4 +48,5 @@
 bool patch_daodaninit = true;
 bool patch_bsl = true;
+bool patch_cheater = true;
 
 bool opt_usedaodanbsl = true;
@@ -244,4 +245,6 @@
 			else if (!stricmp(name, "bsl"))
 				patch_bsl = !stricmp(inifile_cleanstr(value), "true");
+			else if (!stricmp(name, "cheater"))
+				patch_cheater = !stricmp(inifile_cleanstr(value), "true");
 			else
 				DDrStartupMessage("unrecognised patch \"%s\"", name);
@@ -306,5 +309,5 @@
 				char* str = strdup(value);
 				DDr_CheatTable[11].message_on = str;
-				DDr_CheatTable[cheat_devmodex].message_on = str;
+				DDr_CheatTable[cheat_x].message_on = str;
 			}
 			else if (!stricmp(name, "devmode_off"))
@@ -312,5 +315,5 @@
 				char* str = strdup(value);
 				DDr_CheatTable[11].message_off = str;
-				DDr_CheatTable[cheat_devmodex].message_off = str;
+				DDr_CheatTable[cheat_x].message_off = str;
 			}
 			else if (!stricmp(name, "reservoirdogs_on"))
@@ -432,4 +435,7 @@
 		SLrDaodan_Patch();
 	
+	if (patch_cheater)
+		DDrPatch_MakeCall(OniExe + 0x000f618f, DDrCheater);
+	
 	init_daodan_gl();
 	
Index: Daodan/src/Daodan_Cheater.c
===================================================================
--- Daodan/src/Daodan_Cheater.c	(revision 451)
+++ Daodan/src/Daodan_Cheater.c	(revision 452)
@@ -1,12 +1,15 @@
 #include <string.h>
 
+#include "Oni.h"
+
+#include "Daodan.h"
 #include "Daodan_Cheater.h"
 
 oniCheatCode DDr_CheatTable[] = {
-	{ "shapeshifter",   "Change Characters Enabled", "Change Characters Disabled", 0x00 },
-	{ "liveforever",    "Invincibility Enabled",     "Invincibility Disabled",     0x01 },
-	{ "touchofdeath",   "Omnipotence Enabled",       "Omnipotence Disabled",       0x02 },
-	{ "canttouchthis",  "Unstoppable Enabled",       "Unstoppable Disabled",       0x03 },
-	{ "fatloot",        "Fat Loot Received",         NULL,                         0x04 },
+	{ "shapeshifter",   "Change Characters Enabled", "Change Characters Disabled", cheat_shapeshifter  },
+	{ "liveforever",    "Invincibility Enabled",     "Invincibility Disabled",     cheat_liveforever   },
+	{ "touchofdeath",   "Omnipotence Enabled",       "Omnipotence Disabled",       cheat_touchofdeath  },
+	{ "canttouchthis",  "Unstoppable Enabled",       "Unstoppable Disabled",       cheat_canttouchthis },
+	{ "fatloot",        "Fat Loot Received",         NULL,                         cheat_fatloot       },
 	{ "glassworld",     "Glass Furniture Enabled",   "Glass Furniture Disabled",   0x05 },
 	{ "winlevel",       "Instantly Win Level",       NULL,                         0x06 },
@@ -15,5 +18,5 @@
 	{ "minime",         "Mini Mode Enabled",         "Mini Mode Disabled",         0x09 },
 	{ "superammo",      "Super Ammo Mode Enabled",   "Super Ammo Mode Disabled",   0x0a },
-	{ "thedayismine",   "Developer Access Enabled",  "Developer Access Disabled",  0x0b },
+	{ "thedayismine",   "Developer Access Enabled",  "Developer Access Disabled",  cheat_thedayismine  },
 	{ "reservoirdogs",  "Last Man Standing Enabled", "Last Man Standing Disabled", 0x0c },
 	{ "roughjustice",   "Gatling Guns Enabled",      "Gatling Guns Disabled",      0x0d },
@@ -26,9 +29,20 @@
 	{ "killmequick",    "Ultra Mode Enabled",        "Ultra Mode Disabled",        0x14 },
 	{ "carousel",       "Slow Motion Enabled",       "Slow Motion Disabled",       0x15 },
-	{ "bigbadboss",     "Boss Shield Enabled",       "Boss Shield Disabled",       cheat_bigbadboss  },
-	{ "bulletproof",    "Force Field Enabled",       "Force Field Disabled",       cheat_bulletproof },
-	{ "kangaroo",       "Kangaroo Jump Enabled",     "Kangaroo Jump Disabled",     cheat_kangaroo    },
-	{ "marypoppins",    "Jet Pack Mode Enabled",     "Jet Pack Mode Disabled",     cheat_marypoppins },
-	{ "x",              "Developer Access Enabled",  "Developer Access Disabled",  0x0b },
+	{ "bigbadboss",     "Boss Shield Enabled",       "Boss Shield Disabled",       cheat_bigbadboss    },
+	{ "bulletproof",    "Force Field Enabled",       "Force Field Disabled",       cheat_bulletproof   },
+	{ "kangaroo",       "Kangaroo Jump Enabled",     "Kangaroo Jump Disabled",     cheat_kangaroo      },
+	{ "marypoppins",    "Jet Pack Mode Enabled",     "Jet Pack Mode Disabled",     cheat_marypoppins   },
+	{ "x",              "Developer Access Enabled",  "Developer Access Disabled",  cheat_x             },
 	{0}
 };
+
+uint8_t ONICALL DDrCheater(uint32_t cheat)
+{
+	switch (cheat)
+	{
+		case cheat_x:
+			return ONrCheater(cheat_thedayismine);
+		default:
+			return ONrCheater(cheat);
+	}
+}
Index: Daodan/src/Daodan_Cheater.h
===================================================================
--- Daodan/src/Daodan_Cheater.h	(revision 451)
+++ Daodan/src/Daodan_Cheater.h	(revision 452)
@@ -2,4 +2,6 @@
 #ifndef DAODAN_CHEATER_H
 #define DAODAN_CHEATER_H
+
+#include <stdint.h>
 
 typedef struct {
@@ -36,8 +38,10 @@
 		cheat_kangaroo,
 		cheat_marypoppins,
-		cheat_devmodex,
+		cheat_x,
 };
 
 extern oniCheatCode DDr_CheatTable[];
 
+uint8_t ONICALL DDrCheater(uint32_t cheat);
+
 #endif
Index: Daodan/src/Oni.h
===================================================================
--- Daodan/src/Oni.h	(revision 451)
+++ Daodan/src/Oni.h	(revision 452)
@@ -4,4 +4,7 @@
 
 #include "Daodan.h"
+
+#include <stdint.h>
+#include <windows.h>
 
 typedef struct
@@ -15,4 +18,6 @@
 LRESULT CALLBACK ONrPlatform_WindowProc(HWND Window, UINT Message, WPARAM WParam, LPARAM LParam);
 
+uint8_t ONICALL ONrCheater(uint32_t cheat);
+
 extern HINSTANCE g_Instance;
 extern ONtPlatformData ONgPlatformData;
Index: Daodan/src/Oni_Symbols.S
===================================================================
--- Daodan/src/Oni_Symbols.S	(revision 451)
+++ Daodan/src/Oni_Symbols.S	(revision 452)
@@ -14,4 +14,5 @@
 symbol ( @ONrPlatform_Initialize@4                 , 0x0010f670 )
 symbol ( _ONrPlatform_WindowProc@16                , 0x0010f7a0 )
+symbol ( @ONrCheater@4                             , 0x000f5c30 )
 
 symbol ( _g_Instance                               , 0x0021f9e4 )
@@ -19,5 +20,5 @@
 symbol ( _ONgGameState                             , 0x001ece7c )
 
-//Oni Persistance
+// Oni Persistance
 symbol ( @ONrPersist_GetGamma@0                    , 0x0010f450 )
 symbol ( @ONrPersist_GetWonGame@0                  , 0x0010f660 )
