| 2 | 
   | 
 #include <string.h> | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 3 | 
   | 
 #include <time.h> | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 4 | 
   | 
  | 
 
 
 
 
 
 
 
 
 | 5 | 
 + | 
 #include "Daodan.h" | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 6 | 
   | 
 #include "Daodan_Config.h" | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 7 | 
   | 
 #include "Daodan_Patch.h" | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 8 | 
   | 
 #include "Patches/Utility.h" | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 12 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 13 | 
   | 
 #include "Inifile_Reader.h" | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 14 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 | 14 | 
 – | 
 #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof(arr[0])) | 
 
 
 
 
 
 
 
 
 
 | 15 | 
 – | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 15 | 
   | 
 static const char* iniName = "daodan.ini"; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 16 | 
   | 
 static const char* helpFile = "daodan_help.txt"; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 17 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 46 | 
   | 
                 { 0, 0, 0, {0}, {0} } | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 47 | 
   | 
         } }, | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 48 | 
   | 
         { "gameplay", "Gameplay", { | 
 
 
 
 
 
 
 
 
 | 49 | 
 + | 
                 { "bindablecheats", | 
 
 
 
 
 
 
 
 
 | 50 | 
 + | 
                         "Allows cheats to be bound to keys. Requires 'customactions' and 'cheattable' to be true.", | 
 
 
 
 
 
 
 
 
 | 51 | 
 + | 
                         C_BOOL, | 
 
 
 
 
 
 
 
 
 | 52 | 
 + | 
                         {.intBoolVal = true}, | 
 
 
 
 
 
 
 
 
 | 53 | 
 + | 
                         {.intBoolVal = true} }, | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 54 | 
   | 
                 { "characterawareness", | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 55 | 
   | 
                         "Makes AI remember the player.", | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 56 | 
   | 
                         C_BOOL, | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 71 | 
   | 
                         C_BOOL, | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 72 | 
   | 
                         {.intBoolVal = true}, | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 73 | 
   | 
                         {.intBoolVal = true} }, | 
 
 
 
 
 
 
 
 
 | 74 | 
 + | 
                 { "customactions", | 
 
 
 
 
 
 
 
 
 | 75 | 
 + | 
                         "Allows more actions to be bound through Daodan.", | 
 
 
 
 
 
 
 
 
 | 76 | 
 + | 
                         C_BOOL, | 
 
 
 
 
 
 
 
 
 | 77 | 
 + | 
                         {.intBoolVal = true}, | 
 
 
 
 
 
 
 
 
 | 78 | 
 + | 
                         {.intBoolVal = true} }, | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 79 | 
   | 
                 { "kickguns", | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 80 | 
   | 
                         "EXPERIMENTAL! Unfinished, do not use.", | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 81 | 
   | 
                         C_BOOL, |