Add crash reporting in log
This commit is contained in:
parent
3c391ed46e
commit
a3d915f3b7
@ -2,8 +2,18 @@
|
|||||||
#include "utils/updater.h"
|
#include "utils/updater.h"
|
||||||
#include "utils/rpc.h"
|
#include "utils/rpc.h"
|
||||||
|
|
||||||
|
LONG WINAPI CrashHandler(PEXCEPTION_POINTERS pExceptionInfo)
|
||||||
|
{
|
||||||
|
Log::Print<eLogLevel::None>("");
|
||||||
|
Log::Print<eLogLevel::Error>("Game crashed. Unhandled exception at {} (0x{:x})",
|
||||||
|
pExceptionInfo->ExceptionRecord->ExceptionAddress, pExceptionInfo->ExceptionRecord->ExceptionCode);
|
||||||
|
return EXCEPTION_CONTINUE_SEARCH;
|
||||||
|
}
|
||||||
|
|
||||||
void MenuThread(void* param)
|
void MenuThread(void* param)
|
||||||
{
|
{
|
||||||
|
// SetUnhandledExceptionFilter can get replaced by other dlls
|
||||||
|
AddVectoredExceptionHandler(0, CrashHandler);
|
||||||
while (true)
|
while (true)
|
||||||
{
|
{
|
||||||
FontMgr::Process();
|
FontMgr::Process();
|
||||||
|
@ -228,9 +228,8 @@ void D3dHook::ProcessMouse()
|
|||||||
patch::Nop(BY_GAME(0x541DD7, 0x4AB6CA, 0x49272F), 5); // don't call CPad::UpdateMouse()
|
patch::Nop(BY_GAME(0x541DD7, 0x4AB6CA, 0x49272F), 5); // don't call CPad::UpdateMouse()
|
||||||
#ifdef GTASA
|
#ifdef GTASA
|
||||||
// Fix bug with radio switching
|
// Fix bug with radio switching
|
||||||
patch::SetUChar(0x4EB731, 0xEB);
|
patch::SetUInt(0x4EB731, 0xEB); // jz -> jmp, skip mouse checks
|
||||||
patch::SetUChar(0x4EB75A, 0xEB);
|
patch::SetUChar(0x4EB75A, 0xEB); // jz -> jmp, skip mouse checks
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -239,8 +238,8 @@ void D3dHook::ProcessMouse()
|
|||||||
patch::SetUChar(BY_GAME(0x6194A0, 0x6020A0, 0x580D20), BY_GAME(0xE9, 0x53, 0x53));
|
patch::SetUChar(BY_GAME(0x6194A0, 0x6020A0, 0x580D20), BY_GAME(0xE9, 0x53, 0x53));
|
||||||
#ifdef GTASA
|
#ifdef GTASA
|
||||||
patch::SetRaw(0x541DD7, (char*)"\xE8\xE4\xD5\xFF\xFF", 5);
|
patch::SetRaw(0x541DD7, (char*)"\xE8\xE4\xD5\xFF\xFF", 5);
|
||||||
patch::SetUChar(0x4EB731, 0x74);
|
patch::SetUChar(0x4EB731, 0x74); // jz
|
||||||
patch::SetUChar(0x4EB75A, 0x74);
|
patch::SetUChar(0x4EB75A, 0x74); // jz
|
||||||
#elif GTAVC
|
#elif GTAVC
|
||||||
patch::SetRaw(0x4AB6CA, (char*)"\xE8\x51\x21\x00\x00", 5);
|
patch::SetRaw(0x4AB6CA, (char*)"\xE8\x51\x21\x00\x00", 5);
|
||||||
#else
|
#else
|
||||||
@ -248,6 +247,7 @@ void D3dHook::ProcessMouse()
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Need to update pads before resting values
|
||||||
CPad::UpdatePads();
|
CPad::UpdatePads();
|
||||||
CPad::NewMouseControllerState.x = 0;
|
CPad::NewMouseControllerState.x = 0;
|
||||||
CPad::NewMouseControllerState.y = 0;
|
CPad::NewMouseControllerState.y = 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user