| 39 |  | bool patch_killvtune = true; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 40 |  | bool patch_getcmdline = true; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 41 |  | bool patch_disablecmdline = true; | 
 
 
 
 
 
 
 
 | 42 | + | bool patch_optionsvisible = true; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 43 |  |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 44 |  | bool patch_safeprintf = true; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 45 |  | bool patch_daodandisplayenum = true; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 57 |  |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 58 |  | typedef int (__cdecl *CHINESEPROC)(DWORD WINAPI); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 59 |  | bool patch_chinese = false; | 
 
 
 
 
 
 
 
 | 60 | + |  | 
 
 
 
 
 
 
 
 | 61 | + |  | 
 
 
 
 
 
 
 
 | 62 | + |  | 
 
 
 
 
 
 
 
 | 63 | + | void ONICALL DDrShowResumeButton(int window, int visibility) | 
 
 
 
 
 
 
 
 | 64 | + | { | 
 
 
 
 
 
 
 
 | 65 | + | if (visibility) | 
 
 
 
 
 
 
 
 | 66 | + | WMrWindow_SetLocation(window, 150, 350); | 
 
 
 
 
 
 
 
 | 67 | + | WMrWindow_SetVisible(window, visibility); | 
 
 
 
 
 
 
 
 | 68 | + | } | 
 
 
 
 
 
 
 
 | 69 | + |  | 
 
 
 
 
 
 
 
 | 70 | + |  | 
 
 
 
 
 
 
 
 | 71 | + | /* Options always visible patch */ | 
 
 
 
 
 
 
 
 | 72 | + | void ONICALL DDrShowOptionsButton(int window, int visibility) | 
 
 
 
 
 
 
 
 | 73 | + | { | 
 
 
 
 
 
 
 
 | 74 | + | WMrWindow_SetVisible(window, 1); | 
 
 
 
 
 
 
 
 | 75 | + | } | 
 
 
 
 
 
 
 
 | 76 | + |  | 
 
 
 
 
 
 
 
 | 77 | + |  | 
 
 
 
 
 
 
 
 | 78 | + |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 79 |  | bool DDrPatch_Init() | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 80 |  | { | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 81 |  | DDrStartupMessage("patching engine"); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 299 |  |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 300 |  | //FLATLINE?     DDrPatch_MakeCall((void*)(OniExe + 0x000C26CB), FLrHook_DoorOpen); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 301 |  | //FLATLINE?     DDrPatch_MakeCall((void*)(OniExe + 0x000EE3CF), FLrHook_ConsoleActivate); | 
 
 
 
 
 
 
 
 | 302 | + |  | 
 
 
 
 
 
 
 
 | 303 | + |  | 
 
 
 
 
 
 
 
 | 304 | + | // Fix options not visible in main menu when a game was started | 
 
 
 
 
 
 
 
 | 305 | + | if(patch_optionsvisible) | 
 
 
 
 
 
 
 
 | 306 | + | { | 
 
 
 
 
 
 
 
 | 307 | + | DDrPatch_MakeCall((void*)(OniExe + 0x000d2d2d), DDrShowOptionsButton); | 
 
 
 
 
 
 
 
 | 308 | + | DDrPatch_MakeCall((void*)(OniExe + 0x000d2d43), DDrShowResumeButton); | 
 
 
 
 
 
 
 
 | 309 | + | } | 
 
 
 
 
 
 
 
 | 310 | + |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 311 |  | return true; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 312 |  | } | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 313 |  |  | 
 
 
 
 
 
 
 
 | 314 | + |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 315 |  | enum {s_unknown, s_options, s_patch, s_bsl, s_language} ini_section; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 316 |  |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 317 |  | bool DDrIniCallback(char* section, bool newsection, char* name, char* value) | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 416 |  | patch_cheater = !_stricmp(inifile_cleanstr(value), "true"); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 417 |  | else if (!_stricmp(name, "newweap")) | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 418 |  | patch_newweapon = !_stricmp(inifile_cleanstr(value), "true"); | 
 
 
 
 
 
 
 
 | 419 | + | else if (!_stricmp(name, "optionsvisible")) | 
 
 
 
 
 
 
 
 | 420 | + | patch_optionsvisible = !_stricmp(inifile_cleanstr(value), "true"); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 421 |  | else | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 422 |  | DDrStartupMessage("unrecognised patch \"%s\"", name); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 423 |  | break; |