Changeset 346 for Daodan/src/Daodan.c
- Timestamp:
- Jun 9, 2009, 2:00:41 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Daodan/src/Daodan.c
r342 r346 1 #include <string.h> 2 1 3 #include "Daodan.h" 2 4 #include "Daodan_Patch.h" … … 14 16 #include "daodan_gl.h" 15 17 18 #include "inifile.h" 19 16 20 HMODULE DDrDLLModule; 17 21 HMODULE DDrONiModule; … … 19 23 bool DDrPatch_Init() 20 24 { 21 DDrStartupMessage(" daodan attached,patching engine");25 DDrStartupMessage("patching engine"); 22 26 23 27 // Font texture cache doubled … … 96 100 } 97 101 102 enum {s_unknown, s_language} ini_section; 103 104 bool DDrIniCallback(char* section, bool newsection, char* name, char* value) 105 { 106 if (newsection) 107 { 108 if (!stricmp(section, "language")) 109 ini_section = s_language; 110 else 111 { 112 ini_section = s_unknown; 113 DDrStartupMessage("unrecognised ini section \"%s\"", section); 114 } 115 } 116 117 switch (ini_section) 118 { 119 case s_language: 120 if (!stricmp(name, "savepoint")) 121 { 122 DDrPatch_StrDup(OniExe + 0x000fd730, value); 123 DDrPatch_StrDup(OniExe + 0x000fd738, value); 124 } 125 else if (!stricmp(name, "syndicatewarehouse")) 126 { 127 DDrPatch_StrDup(OniExe + 0x000fd71a, value); 128 DDrPatch_StrDup(OniExe + 0x0010ef75, value); 129 } 130 else if (!stricmp(name, "blam")) 131 DDrPatch_StrDup(OniExe + 0x0010fb73, value); 132 else 133 DDrStartupMessage("unrecognised language item \"%s\"", name); 134 break; 135 default: 136 break; 137 } 138 139 return true; 140 } 141 142 void DDrConfig() 143 { 144 if (GetFileAttributes("daodan.ini") == INVALID_FILE_ATTRIBUTES) 145 { 146 DDrStartupMessage("daodan.ini doesn't exist, creating"); 147 FILE* fp = fopen("daodan.ini", "w"); 148 if (fp) 149 { 150 fputs("[Options]\n", fp); 151 fclose(fp); 152 } 153 } 154 155 DDrStartupMessage("parsing daodan.ini..."); 156 if (!inifile_read("daodan.ini", DDrIniCallback)) 157 DDrStartupMessage("error reading daodan.ini, check your syntax!"); 158 DDrStartupMessage("finished parsing"); 159 } 160 98 161 void __cdecl DDrMain(int argc, char* argv[]) 99 162 { 163 DDrStartupMessage("daodan attached!"); 164 DDrConfig(); 100 165 DDrPatch_Init(); 101 166
Note:
See TracChangeset
for help on using the changeset viewer.