Skip the light attach crash fix when po3's Tweaks are loaded
This commit is contained in:
parent
3e7d025eb7
commit
c3e88fa508
@ -64,6 +64,10 @@ namespace {
|
||||
|
||||
if (message->type == MessagingInterface::kPostLoad) {
|
||||
if (!REL::Module::IsVR()) {
|
||||
if (g_settings.at("AttachLightHitEffectCrashFix")) {
|
||||
logger::info("Installing light attach crash fix...");
|
||||
AttachLightHitEffectCrash::Install();
|
||||
}
|
||||
if (g_settings.at("StayAtSystemPage")) {
|
||||
if (const auto pluginInfo = GetLoadInterface()->GetPluginInfo("StayAtSystemPage"); pluginInfo) {
|
||||
MessageBoxW(NULL, L"Stay At The System Page is already included in Enderal, please, disable it.", L"Enderal SE Error", MB_OK | MB_ICONERROR);
|
||||
@ -215,10 +219,6 @@ SKSEPluginLoad(const LoadInterface* skse) {
|
||||
logger::info("Initializing Stay At The System Page...");
|
||||
JournalMenuEx::InstallHooks();
|
||||
}
|
||||
if (g_settings.at("AttachLightHitEffectCrashFix")) {
|
||||
logger::info("Installing light attach crash fix...");
|
||||
AttachLightHitEffectCrash::Install();
|
||||
}
|
||||
}
|
||||
|
||||
logger::info("{} has finished loading.", plugin->GetName());
|
||||
|
@ -29,9 +29,26 @@ namespace AttachLightHitEffectCrash
|
||||
|
||||
void Install()
|
||||
{
|
||||
if (!GetLoadInterface()->GetPluginInfo("po3_Tweaks")) {
|
||||
// proceed normally
|
||||
} else if (std::filesystem::exists("Data/SKSE/Plugins/po3_Tweaks.ini")) {
|
||||
CSimpleIniA ini;
|
||||
ini.SetMultiKey(false);
|
||||
ini.LoadFile("Data/SKSE/Plugins/po3_Tweaks.ini");
|
||||
if (!ini.GetBoolValue("Fixes", "Light Attach Crash", false)) {
|
||||
logger::info("Detected po3's Tweaks with disabled Light Attach Crash Fix");
|
||||
// proceed normally
|
||||
} else {
|
||||
logger::info("Detected po3's Tweaks with enabled Light Attach Crash Fix");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
REL::Relocation<std::uintptr_t> func{ REL::RelocationID(33610, 34388) };
|
||||
|
||||
std::size_t size = REL::Module::get().version() > REL::Version(1, 5, 97, 0) ? 0xEC : 0x86;
|
||||
SKSE::stl::asm_replace<AttachLightHitEffectVisitor>(func.address(), size);
|
||||
|
||||
logger::info("Initialized Light Attach Crash Fix");
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user