| 1 |  | #include <windows.h> | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 2 |  | #include <string.h> | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 3 |  | #include <stdio.h> | 
 
 
 
 
 
 
 
 | 4 | + | #include <time.h> | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 5 |  |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 6 |  | #include "Daodan.h" | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 7 |  | #include "Daodan_Patch.h" | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 11 |  | #include "Daodan_Console.h" | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 12 |  | #include "Daodan_Config.h" | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 13 |  | #include "patches/Patches.h" | 
 
 
 
 
 
 
 
 | 14 | + | #include "_Version.h" | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 15 |  |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 16 |  | #include "Oni.h" | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 17 |  |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 23 |  |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 24 |  | void __cdecl DDrMain(int argc, char* argv[]) | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 25 |  | { | 
 
 
 
 
 
 
 
 
 
 
 | 26 | < | DDrStartupMessage("Daodan: Daodan attached!"); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 26 | > | time_t rawtime; | 
 
 
 
 
 | 27 | > | struct tm* timeinfo; | 
 
 
 
 
 | 28 | > | char buffer[80]; | 
 
 
 
 
 | 29 | > | time(&rawtime); | 
 
 
 
 
 | 30 | > | timeinfo = localtime(&rawtime); | 
 
 
 
 
 | 31 | > | strftime(buffer, 80, "Daodan: %Y-%m-%d %H:%M:%S", timeinfo); | 
 
 
 
 
 | 32 | > |  | 
 
 
 
 
 | 33 | > | DDrStartupMessage("Daodan: Daodan v."DAODAN_VERSION_STRING" attached!"); | 
 
 
 
 
 | 34 | > | DDrStartupMessage(buffer); | 
 
 
 
 
 
 
 
 
 
 
 | 35 |  |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 36 |  | DDrConfig(argc, argv); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 37 |  |  |