mirror of
https://github.com/isledecomp/LEGOIslandRebuilder.git
synced 2024-11-30 10:57:49 -05:00
patch: properly fix exit crash bug
This commit is contained in:
parent
95ff83736d
commit
4b4138c91c
2 changed files with 10 additions and 5 deletions
|
@ -78,9 +78,14 @@ __declspec(dllexport) DWORD WINAPI Patch()
|
||||||
|
|
||||||
// Exit crash fix
|
// Exit crash fix
|
||||||
if (config.GetInt(_T("ExitCrashFix"))) {
|
if (config.GetInt(_T("ExitCrashFix"))) {
|
||||||
const char *exit_pattern = "\x50\x52\x51\x8B\x01\xFF\x50\x2C\x85\xC0\x75\x67\x8B\x7C\x24\x14\x8B\x74\x24\x30\x8B\xCB\xC1\xE9\x02\xF3\xA5\x8B\xCB\x83\xE1\x03\xF3\xA4\x8B\x55\x60";
|
const char *buffer_pattern = "\x50\x52\x51\x8B\x01\xFF\x50\x2C\x85\xC0\x75\x67\x8B\x7C\x24\x14\x8B\x74\x24\x30\x8B\xCB\xC1\xE9\x02\xF3\xA5\x8B\xCB\x83\xE1\x03\xF3\xA4\x8B\x55\x60";
|
||||||
const char *exit_replace = "\x53\x52\x51\x8B\x01\xFF\x50\x2C\x85\xC0\x75\x67\x8B\x7C\x24\x14\x8B\x74\x24\x30\x8B\x55\x60\x3B\xD3\x7C\x04\x8B\xCB\xEB\x02\x8B\xCA\x90\x90\xF3\xA4";
|
const char *buffer_replace = "\x53\x52\x51\x8B\x01\xFF\x50\x2C\x85\xC0\x75\x67\x8B\x7C\x24\x14\x8B\x74\x24\x30\x8B\x55\x60\x3B\xD3\x7C\x04\x8B\xCB\xEB\x02\x8B\xCA\x90\x90\xF3\xA4";
|
||||||
SearchReplacePattern(dllBase, exit_pattern, exit_replace, 37, TRUE);
|
|
||||||
|
const char *wndproc_pattern = "\xC6\x44\x24\x00\x00\x53\x56\x57";
|
||||||
|
const char *wndproc_replace = "\xC6\x44\x24\x00\x10\x53\x56\x57";
|
||||||
|
|
||||||
|
SearchReplacePattern(dllBase, buffer_pattern, buffer_replace, 37, TRUE);
|
||||||
|
SearchReplacePattern(exeBase, wndproc_pattern, wndproc_replace, 8, TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Disable SMK scaling
|
// Disable SMK scaling
|
||||||
|
|
|
@ -80,9 +80,9 @@ PatchGrid::PatchGrid()
|
||||||
AddBoolItem(sectionGeneral, "Disable Auto-Finish Building Section", false));
|
AddBoolItem(sectionGeneral, "Disable Auto-Finish Building Section", false));
|
||||||
|
|
||||||
AddPatch("ExitCrashFix",
|
AddPatch("ExitCrashFix",
|
||||||
"LEGO Island contains a buffer overrun bug that frequently crashes the game when trying "
|
"LEGO Island contains a bug that frequently crashes the game when trying "
|
||||||
"to exit. This is particularly prevalent on newer versions of Windows and Wine. This "
|
"to exit. This is particularly prevalent on newer versions of Windows and Wine. This "
|
||||||
"patch will fix the crash (though the audio glitches will remain).",
|
"patch will fix the crash and the associated animation gltiches and audio buzzes.",
|
||||||
AddBoolItem(sectionGeneral, "Exit Crash Fix", false));
|
AddBoolItem(sectionGeneral, "Exit Crash Fix", false));
|
||||||
|
|
||||||
// Controls section
|
// Controls section
|
||||||
|
|
Loading…
Reference in a new issue