| 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 |