rodecomp/Source/Client/Application/UnhandledExceptionHandler.h
ragnarok-clanker 5b61e6f90c Decompile fn_04703 (InitUnhandledExceptionHandler)
Batch #14611 by Yommy: 0 byte-identical, 1 confirmed by peer review.

- fn_04703 InitUnhandledExceptionHandler: logic confirmed by peer review

Peer-reviewed-by: ragnarok-clanker, secret, codeplay, raiken
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-11-07 18:11:11 +00:00

35 lines
1 KiB
C++

#ifndef RAGNAROK_SOURCE_CLIENT_APPLICATION_UNHANDLEDEXCEPTIONHANDLER_H
#define RAGNAROK_SOURCE_CLIENT_APPLICATION_UNHANDLEDEXCEPTIONHANDLER_H
#include <windows.h>
#include <cstdint>
// STATIC: 0x0110c2b4
// VTABLE: vt_00282
class CUnhandledExceptionHandler {
public:
CUnhandledExceptionHandler();
explicit CUnhandledExceptionHandler(int (*callback)());
virtual ~CUnhandledExceptionHandler();
};
#if defined(_WIN32) && !defined(_WIN64)
static_assert(sizeof(CUnhandledExceptionHandler) == 4);
#endif
bool InitUnhandledExceptionHandler(int (*callback)());
void CleanupUnhandledExceptionHandler();
INT_PTR CALLBACK DialogFunc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
BOOL CALLBACK EnumerateLoadedModulesCallback(PCSTR moduleName, ULONG moduleBase, ULONG moduleSize, PVOID userContext);
void __cdecl InvalidParameterHandler(const wchar_t* expression, const wchar_t* function, const wchar_t* file, unsigned int line, uintptr_t pReserved);
void __cdecl PurecallHandler();
LONG WINAPI TopLevelExceptionFilter(EXCEPTION_POINTERS* exceptionInfo);
#endif