diff --git a/Enderal SE v2.1.4.3 Changelog.txt b/Enderal SE v2.1.4.3 Changelog.txt index 80732aeb8..199ab8f35 100644 --- a/Enderal SE v2.1.4.3 Changelog.txt +++ b/Enderal SE v2.1.4.3 Changelog.txt @@ -24,10 +24,7 @@ Beware, spoilers ahead! - Removed the Blueprint keyword from the Dreamflower Elixir Recipe to avoid sorting it into the blueprint storage (reported by Fubz). - Fixed an exploit allowing to collect more gold from containers (reported by LevinLozenges). - All localizations have been brought up to date. - -Engine patches: - Automatically detects and warns about form type collisions when using incompatible Skyrim mods. -- Included GOG Memory (VRAM) Leak Fix by DwemerEngineer. Lirk: - Fixed several issues with weapon impact sounds. diff --git a/SKSE/Plugins/EnderalSE.ini b/SKSE/Plugins/EnderalSE.ini index 107aa9974..256b53ebc 100644 --- a/SKSE/Plugins/EnderalSE.ini +++ b/SKSE/Plugins/EnderalSE.ini @@ -8,6 +8,5 @@ ForceBorderless = true AttachLightHitEffectCrashFix = true AutoScaleHeroMenu = true WarnFormTypeCollisions = true -GogVramLeakFix = true MenuAspectRatioFix = true LoadScreenFrameFix = true diff --git a/source/Enderal DLL/src/Main.cpp b/source/Enderal DLL/src/Main.cpp index 2c7758210..a121a3983 100644 --- a/source/Enderal DLL/src/Main.cpp +++ b/source/Enderal DLL/src/Main.cpp @@ -15,7 +15,6 @@ #include "Patches/AttachLightHitEffectCrash.h" #include "Patches/PluginsTxtPatch.h" #include "Patches/FormTypeCollisionDetector.h" -#include "Patches/GogVramLeakFix.h" #include "Patches/ForceLanguage.h" #include "Patches/MenuAspectRatioFix.h" @@ -32,7 +31,6 @@ static std::map g_settings{ { "ForceBorderless", true }, { "AttachLightHitEffectCrashFix", true }, { "AutoScaleHeroMenu", true }, - { "GogVramLeakFix", true }, { "MenuAspectRatioFix", true }, { "LoadScreenFrameFix", true } }; @@ -75,11 +73,6 @@ namespace { if (message->type == MessagingInterface::kPostLoad) { if (!REL::Module::IsVR()) { - if (g_settings.at("GogVramLeakFix") && REL::Module::get().version() == REL::Version(1, 6, 1179, 0) && !GetLoadInterface()->GetPluginInfo("GOG-Leak-Fix")) { - logger::info("Installing GOG VRAM leak fix..."); - GogVramLeakFix::Install(); - } - if (g_settings.at("AttachLightHitEffectCrashFix")) { logger::info("Installing light attach crash fix..."); AttachLightHitEffectCrash::Install(); diff --git a/source/Enderal DLL/src/Patches/GogVramLeakFix.h b/source/Enderal DLL/src/Patches/GogVramLeakFix.h deleted file mode 100644 index 2f1cf0fd4..000000000 --- a/source/Enderal DLL/src/Patches/GogVramLeakFix.h +++ /dev/null @@ -1,36 +0,0 @@ -#pragma once - -// Fix GOG VRAM leak by properly releasing Direct3D texture resources -// Based on https://github.com/SaneEngineer/GOG-Leak-Fix -namespace GogVramLeakFix -{ - struct ReplaceRelease - { - static void thunk(RE::BSGraphics::Renderer* a_renderer, RE::BSGraphics::Texture* a_texture) - { - if (_InterlockedExchangeAdd(&a_texture->refCount, 0xFFFFFFFF) == 1) { - if (a_texture->resourceView) { - a_texture->resourceView->Release(); - } - if (a_texture->texture) { - a_texture->texture->Release(); - } - if (a_texture->UAV) { - a_texture->UAV->Release(); - } - - REL::Relocation NiMemFree{ REL::RelocationID(102158, 109588) }; - NiMemFree(a_texture, 0x28); - } - } - - static inline REL::Relocation func; - }; - - void Install() - { - SKSE::AllocTrampoline(14); - SKSE::stl::write_thunk_jump(REL::RelocationID(75527, 77322).address()); - logger::info("Initialized GOG VRAM Leak Fix"); - } -}