86 |
|
|
87 |
|
bool DDrPatch_Init() |
88 |
|
{ |
89 |
< |
DDrStartupMessage("patching engine"); |
89 |
> |
DDrStartupMessage("Daodan: Patching engine"); |
90 |
|
|
91 |
|
// Font texture cache doubled |
92 |
|
if (patch_fonttexturecache) |
262 |
|
|
263 |
|
if(patch_chinese) |
264 |
|
{ |
265 |
< |
HMODULE dll; |
266 |
< |
DWORD err; |
267 |
< |
|
268 |
< |
DDrStartupMessage("Loading chinese DLL"); |
269 |
< |
dll = LoadLibrary("xfhsm_oni.dll"); |
270 |
< |
err = GetLastError(); |
271 |
< |
if( dll ) |
265 |
> |
if (GetFileAttributes("xfhsm_oni.dll") != INVALID_FILE_ATTRIBUTES) |
266 |
|
{ |
267 |
< |
void* proc = GetProcAddress( dll, "InstallHook" ); |
268 |
< |
if(proc) |
267 |
> |
HMODULE dll; |
268 |
> |
DWORD err; |
269 |
> |
|
270 |
> |
DDrStartupMessage("Daodan: Loading chinese DLL"); |
271 |
> |
dll = LoadLibrary("xfhsm_oni.dll"); |
272 |
> |
err = GetLastError(); |
273 |
> |
if( dll ) |
274 |
|
{ |
275 |
< |
((CHINESEPROC)proc)(GetCurrentThreadId()); |
275 |
> |
void* proc = GetProcAddress( dll, "InstallHook" ); |
276 |
> |
if(proc) |
277 |
> |
{ |
278 |
> |
((CHINESEPROC)proc)(GetCurrentThreadId()); |
279 |
> |
} |
280 |
> |
} else { |
281 |
> |
char msg[100]; |
282 |
> |
FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, err, 0, msg, 100, NULL); |
283 |
> |
DDrStartupMessage("Daodan: Loading DLL failed with error %i: %s", err, msg); |
284 |
|
} |
278 |
– |
} else { |
279 |
– |
char msg[100]; |
280 |
– |
FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, err, 0, msg, 100, NULL); |
281 |
– |
DDrStartupMessage(" - Module loading failed with error %i: %s", err, msg); |
285 |
|
} |
286 |
|
} |
287 |
|
|
366 |
|
else |
367 |
|
{ |
368 |
|
ini_section = s_unknown; |
369 |
< |
DDrStartupMessage("unrecognised section \"%s\"", section); |
369 |
> |
DDrStartupMessage("Daodan: Unrecognised ini section \"%s\"", section); |
370 |
|
} |
371 |
|
} |
372 |
|
|
396 |
|
else if (!_stricmp(name, "gamma")) |
397 |
|
opt_gamma = !_stricmp(inifile_cleanstr(value), "true"); |
398 |
|
else |
399 |
< |
DDrStartupMessage("unrecognised option \"%s\"", name); |
399 |
> |
DDrStartupMessage("Daodan: Unrecognised ini option \"%s\"", name); |
400 |
|
break; |
401 |
|
case s_patch: |
402 |
|
if (!_stricmp(name, "fonttexturecache")) |
460 |
|
else if (!_stricmp(name, "binkplay")) |
461 |
|
patch_binkplay = !_stricmp(inifile_cleanstr(value), "true"); |
462 |
|
else |
463 |
< |
DDrStartupMessage("unrecognised patch \"%s\"", name); |
463 |
> |
DDrStartupMessage("Daodan: Unrecognised ini patch \"%s\"", name); |
464 |
|
break; |
465 |
|
case s_language: |
466 |
|
if (!_stricmp(name, "chinese")) |
570 |
|
else if (!_stricmp(name, "carousel_off")) |
571 |
|
DDr_CheatTable[21].message_off = _strdup(value); |
572 |
|
else |
573 |
< |
DDrStartupMessage("unrecognised language item \"%s\"", name); |
573 |
> |
DDrStartupMessage("Daodan: Unrecognised ini language item \"%s\"", name); |
574 |
|
break; |
575 |
|
case s_bsl: |
576 |
|
default: |
586 |
|
if (GetFileAttributes("daodan.ini") == INVALID_FILE_ATTRIBUTES) |
587 |
|
{ |
588 |
|
FILE* fp; |
589 |
< |
DDrStartupMessage("daodan.ini doesn't exist, creating"); |
589 |
> |
DDrStartupMessage("Daodan: daodan.ini doesn't exist, creating"); |
590 |
|
fp = fopen("daodan.ini", "w"); |
591 |
|
if (fp) |
592 |
|
{ |
595 |
|
} |
596 |
|
} |
597 |
|
|
598 |
< |
DDrStartupMessage("parsing daodan.ini..."); |
598 |
> |
DDrStartupMessage("Daodan: Parsing daodan.ini..."); |
599 |
|
if (!inifile_read("daodan.ini", DDrIniCallback)) |
600 |
< |
DDrStartupMessage("error reading daodan.ini, check your syntax!"); |
601 |
< |
DDrStartupMessage("finished parsing"); |
600 |
> |
DDrStartupMessage("Daodan: Error reading daodan.ini, check your syntax!"); |
601 |
> |
DDrStartupMessage("Daodan: Finished parsing"); |
602 |
|
} |
603 |
|
|
604 |
|
void ONICALL DDrGame_Init() |
653 |
|
char* option; |
654 |
|
bool falseoption; |
655 |
|
|
656 |
< |
DDrStartupMessage("daodan attached!"); |
656 |
> |
DDrStartupMessage("Daodan: Daodan attached!"); |
657 |
|
|
658 |
|
// Tell Oni to not load non levelX_final-files by default: |
659 |
|
opt_ignore_private_data = false; |
662 |
|
opt_sound = true; |
663 |
|
|
664 |
|
DDrConfig(); |
665 |
< |
DDrStartupMessage("parsing command line..."); |
665 |
> |
DDrStartupMessage("Daodan: Parsing command line..."); |
666 |
|
for (i = 1; i < argc; i ++) |
667 |
|
{ |
668 |
|
if (argv[i][0] == '-') |
690 |
|
} |
691 |
|
else |
692 |
|
{ |
693 |
< |
DDrStartupMessage("parse error \"%s\"", argv[i]); |
693 |
> |
DDrStartupMessage("Daodan: Parse error \"%s\"", argv[i]); |
694 |
|
break; |
695 |
|
} |
696 |
|
} |
697 |
< |
DDrStartupMessage("finished parsing"); |
697 |
> |
DDrStartupMessage("Daodan: Finished parsing"); |
698 |
|
DDrPatch_Init(); |
699 |
|
|
700 |
|
// Safe startup message printer |