diff --git a/EGameTools/EGameTools.vcxproj b/EGameTools/EGameTools.vcxproj index 08dc04e..4a212d4 100644 --- a/EGameTools/EGameTools.vcxproj +++ b/EGameTools/EGameTools.vcxproj @@ -262,7 +262,7 @@ Windows true false - spdlog-mtd.lib;freetype-mtd.lib;libMinHook-x64-v141-mtd.lib;%(AdditionalDependencies) + DbgHelp.lib;spdlog-mtd.lib;freetype-mtd.lib;libMinHook-x64-v141-mtd.lib;%(AdditionalDependencies) @@ -298,7 +298,7 @@ false false source\spdlog\lib;source\ImGui\freetype\lib;source\MinHook\lib;%(AdditionalLibraryDirectories) - spdlog-mt.lib;freetype-mt.lib;libMinHook-x64-v141-mtd.lib;$(CoreLibraryDependencies);%(AdditionalDependencies) + DbgHelp.lib;spdlog-mt.lib;freetype-mt.lib;libMinHook-x64-v141-mtd.lib;$(CoreLibraryDependencies);%(AdditionalDependencies) /NOIMPLIB /NOEXP %(AdditionalOptions) diff --git a/EGameTools/pch/pch.h b/EGameTools/pch/pch.h index cf7c2df..c1ff2b8 100644 --- a/EGameTools/pch/pch.h +++ b/EGameTools/pch/pch.h @@ -1,5 +1,6 @@ #pragma once #include +#include #include #include #include diff --git a/EGameTools/source/changelog.h b/EGameTools/source/changelog.h index 65abbed..5336d38 100644 --- a/EGameTools/source/changelog.h +++ b/EGameTools/source/changelog.h @@ -32,6 +32,9 @@ That's it for this update! The next few updates will include some more bug fixes - Fixed frequent crashing at game startup - Fixed crashing when trying to use ".model" mods with the custom file loading system; PLEASE keep in mind that I haven't found a fix for this yet! Custom ".model" files will not get loaded from "UserModFiles" - Fixed Slow Motion not changing back to the original game speed when deactivated -- (Hopefully) fixed certain features like Use TPP Model or Player Variables not working at all for some users (if it still happens, please let me know!))" } +- (Hopefully) fixed certain features like Use TPP Model or Player Variables not working at all for some users (if it still happens, please let me know!))" }, + { "v1.1.2", + R"(- Added compatibility with v1.15.1 "Firearms" update +- Bug fixes for various features will come in later updates, please be patient!)" } }; } \ No newline at end of file diff --git a/EGameTools/source/core.cpp b/EGameTools/source/core.cpp index f3adb28..f26d195 100644 --- a/EGameTools/source/core.cpp +++ b/EGameTools/source/core.cpp @@ -172,10 +172,37 @@ namespace Core { for (auto& menuTab : *Menu::MenuTab::GetInstances()) menuTab.second->Update(); } + /*static bool WriteMiniDump(PEXCEPTION_POINTERS pExceptionPointers) { + HANDLE hFile = CreateFileA("EGameTools-dump.dmp", GENERIC_WRITE, 0, nullptr, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, nullptr); + if (hFile == INVALID_HANDLE_VALUE) + return false; + + MINIDUMP_EXCEPTION_INFORMATION mdei{}; + mdei.ThreadId = GetCurrentThreadId(); + mdei.ExceptionPointers = pExceptionPointers; + mdei.ClientPointers = false; + + int success = MiniDumpWriteDump(GetCurrentProcess(), GetCurrentProcessId(), hFile, MiniDumpNormal, &mdei, nullptr, nullptr); + CloseHandle(hFile); + + return success; + } + static long WINAPI VectoredExceptionHandler(PEXCEPTION_POINTERS ExceptionInfo) { + spdlog::error("VEH threw an exception with code {}. Trying to continue execution, writing mini-dump in the mean time.", ExceptionInfo->ExceptionRecord->ExceptionCode); + + if (WriteMiniDump(ExceptionInfo)) + spdlog::info("Mini-dump written to \"EGameTools-dump.dmp\". Please send this to mod author for further help!"); + else + spdlog::error("Failed to write mini-dump."); + + return EXCEPTION_CONTINUE_EXECUTION; + }*/ DWORD64 WINAPI MainThread(HMODULE hModule) { EnableConsole(); InitLogger(); + //AddVectoredExceptionHandler(0, &VectoredExceptionHandler); + spdlog::warn("Initializing config"); Config::InitConfig(); CreateSymlinkForLoadingFiles();