From 181f9ed2089be99fcdf3a8a0fdd25a53a93c259a Mon Sep 17 00:00:00 2001 From: Redline <> Date: Fri, 3 Oct 2025 22:59:27 +0200 Subject: [PATCH] Crash fix when using -nopvs --- mc2hook/mc2hook/handlers/CityModelLimitHandler.cpp | 6 ++++++ mc2hook/mc2hook/handlers/CityModelLimitHandler.h | 8 ++++++++ mc2hook/mc2hook/handlers/handlers.h | 2 ++ mc2hook/mc2hook/mc2hook.vcxproj | 2 ++ 4 files changed, 18 insertions(+) create mode 100644 mc2hook/mc2hook/handlers/CityModelLimitHandler.cpp create mode 100644 mc2hook/mc2hook/handlers/CityModelLimitHandler.h diff --git a/mc2hook/mc2hook/handlers/CityModelLimitHandler.cpp b/mc2hook/mc2hook/handlers/CityModelLimitHandler.cpp new file mode 100644 index 0000000..8312e9c --- /dev/null +++ b/mc2hook/mc2hook/handlers/CityModelLimitHandler.cpp @@ -0,0 +1,6 @@ +#include "CityModelLimitHandler.h" + +void CityModelLimitHandler::Install() +{ + mem::nop(0x4691E0, 7); // -nopvs crash fix +} diff --git a/mc2hook/mc2hook/handlers/CityModelLimitHandler.h b/mc2hook/mc2hook/handlers/CityModelLimitHandler.h new file mode 100644 index 0000000..e494266 --- /dev/null +++ b/mc2hook/mc2hook/handlers/CityModelLimitHandler.h @@ -0,0 +1,8 @@ +#pragma once +#include + +class CityModelLimitHandler +{ +public: + static void Install(); +}; diff --git a/mc2hook/mc2hook/handlers/handlers.h b/mc2hook/mc2hook/handlers/handlers.h index ea7a661..a4f879b 100644 --- a/mc2hook/mc2hook/handlers/handlers.h +++ b/mc2hook/mc2hook/handlers/handlers.h @@ -17,6 +17,7 @@ #include #include #include +#include #include @@ -50,6 +51,7 @@ static void InstallMainHandlers() InstallHandler("Chat Handler"); InstallHandler("Game Init Handler"); InstallHandler("Reflection Fidelity Handller"); + InstallHandler("City Model Limit Handler"); InstallHandler("SRH"); } \ No newline at end of file diff --git a/mc2hook/mc2hook/mc2hook.vcxproj b/mc2hook/mc2hook/mc2hook.vcxproj index 056702b..db7a9b4 100644 --- a/mc2hook/mc2hook/mc2hook.vcxproj +++ b/mc2hook/mc2hook/mc2hook.vcxproj @@ -189,6 +189,7 @@ + @@ -242,6 +243,7 @@ +