{
int &TempMutex = *(int *)(0xA8DAB4);
++TempMutex;
Debug::Log("Reconnection error detected!");
if(MessageBoxW(Game::hWnd, L"Yuri's Revenge has detected a desynchronization!\n"
L"Would you like to create a full error report for the developers?\n"
L"Be advised that reports from at least two players are needed.", L"Reconnection Error!", MB_YESNO | MB_ICONERROR) == IDYES) {
HCURSOR loadCursor = LoadCursor(NULL, IDC_WAIT);
SetClassLong(Game::hWnd, GCL_HCURSOR, (LONG)loadCursor);
SetCursor(loadCursor);
Debug::Log("Making a memory snapshot\n");
Debug::FullDump(NULL);
loadCursor = LoadCursor(NULL, IDC_ARROW);
SetClassLong(Game::hWnd, GCL_HCURSOR, (LONG)loadCursor);
SetCursor(loadCursor);
Debug::FatalError("A desynchronization has occurred.\r\n"
"%s"
"A crash dump should have been created in your game's \\debug subfolder.\r\n"
"Please submit that to the developers along with SYNC*.txt, debug.txt and syringe.log."
, Debug::bParserErrorDetected ? "(One or more parser errors have been detected that might be responsible. Check the debug logs.)\r\n" : ""
);
}
return 0x64CD11;
}