diff --git a/Enderal SE v2.1.4.3 Changelog.txt b/Enderal SE v2.1.4.3 Changelog.txt index 199ab8f35..066d236bc 100644 --- a/Enderal SE v2.1.4.3 Changelog.txt +++ b/Enderal SE v2.1.4.3 Changelog.txt @@ -7,7 +7,7 @@ Beware, spoilers ahead! 2.1.4.3 (TBD) -- Added compatibility with Skyrim SE 1.7.99. +- Added compatibility with Skyrim SE 1.7.104. - Added Czech localization by Dogzey. - Added widescreen support. - Added SkyUI 6.0 support. diff --git a/source/Enderal DLL/CMakeLists.txt b/source/Enderal DLL/CMakeLists.txt index ec77c15cd..9d26d65e8 100644 --- a/source/Enderal DLL/CMakeLists.txt +++ b/source/Enderal DLL/CMakeLists.txt @@ -136,7 +136,7 @@ FetchContent_Declare( ) FetchContent_MakeAvailable(xbyak) -# CommonLibSSE-GG - MIT fork of CommonLibSSE-NG with native 1.7.99 support, +# CommonLibSSE-GG - MIT fork of CommonLibSSE-NG with native 1.7.99 and 1.7.104 support, # pinned commit (SE + AE + VR runtime support). set(SKSE_SUPPORT_XBYAK ON CACHE BOOL " " FORCE) set(ENABLE_SKYRIM_SE ON CACHE BOOL " " FORCE) @@ -147,7 +147,7 @@ message(STATUS "Fetching CommonLibSSE-GG...") FetchContent_Declare( CommonLibSSE GIT_REPOSITORY https://github.com/eddoursul/CommonLibSSE-GG - GIT_TAG f017308b341889af9b518aae6966b19db98e16bc + GIT_TAG 3aa704ee2de9fdba3a2e77cc08e3d3ed8ea6e00f ) FetchContent_MakeAvailable(CommonLibSSE) diff --git a/source/Enderal DLL/src/Patches/AchievementFix.h b/source/Enderal DLL/src/Patches/AchievementFix.h index e3a660cc7..be21ff34d 100644 --- a/source/Enderal DLL/src/Patches/AchievementFix.h +++ b/source/Enderal DLL/src/Patches/AchievementFix.h @@ -9,7 +9,7 @@ namespace AchievementFix if (REL::Module::IsVR()) { target = REL::Offset(0x17FB90); } else if (REL::Module::get().version() >= REL::Version(1, 6, 1130, 0)) { - // Checked: 1.6.1130, 1.6.1170, 1.6.1179, 1.7.99 + // Checked: 1.6.1130, 1.6.1170, 1.6.1179, 1.7.99, 1.7.104 target = REL::ID(441528); } else { // Checked: 1.5.97, 1.6.640, 1.6.659 diff --git a/source/Enderal DLL/src/Patches/BinkInterruptPatch.h b/source/Enderal DLL/src/Patches/BinkInterruptPatch.h index 34f249be0..3e82f4d22 100644 --- a/source/Enderal DLL/src/Patches/BinkInterruptPatch.h +++ b/source/Enderal DLL/src/Patches/BinkInterruptPatch.h @@ -35,7 +35,7 @@ namespace BinkInterruptPatch void Install() { - // Checked: 1.5.97, 1.6.640, 1.6.659, 1.6.1130, 1.6.1170, 1.6.1179, 1.7.99 + // Checked: 1.5.97, 1.6.640, 1.6.659, 1.6.1130, 1.6.1170, 1.6.1179, 1.7.99, 1.7.104 REL::Relocation target{ REL::RelocationID(87890, 90259), REL::Relocate(0x22, 0x21) }; SKSE::AllocTrampoline(14); BinkListener::func = SKSE::GetTrampoline().write_call<5>(target.address(), BinkListener::thunk); diff --git a/source/Enderal DLL/src/Patches/DialogueMenuPatch.h b/source/Enderal DLL/src/Patches/DialogueMenuPatch.h index 2d1bb1783..9178f2bf1 100644 --- a/source/Enderal DLL/src/Patches/DialogueMenuPatch.h +++ b/source/Enderal DLL/src/Patches/DialogueMenuPatch.h @@ -121,7 +121,7 @@ private: void static OpenJournal(bool a_bool) { using func_t = decltype(&OpenJournal); - // Checked: 1.5.97, 1.6.640, 1.6.659, 1.6.1130, 1.6.1170, 1.6.1179, 1.7.99 + // Checked: 1.5.97, 1.6.640, 1.6.659, 1.6.1130, 1.6.1170, 1.6.1179, 1.7.99, 1.7.104 REL::Relocation func{ REL::VariantID(52428, 53327, 0x92F0F0) }; func(a_bool); } diff --git a/source/Enderal DLL/src/Patches/FlatMapMarkers.h b/source/Enderal DLL/src/Patches/FlatMapMarkers.h index 9c0d47de0..019fa8659 100644 --- a/source/Enderal DLL/src/Patches/FlatMapMarkers.h +++ b/source/Enderal DLL/src/Patches/FlatMapMarkers.h @@ -12,7 +12,7 @@ namespace FlatMapMarkers inline void Install() { - // Checked: 1.5.97, 1.6.640, 1.6.659, 1.6.1130, 1.6.1170, 1.6.1179, 1.7.99 + // Checked: 1.5.97, 1.6.640, 1.6.659, 1.6.1130, 1.6.1170, 1.6.1179, 1.7.99, 1.7.104 REL::Relocation offset{ REL::RelocationID(52224, 53111), REL::Relocate(0x22F, 0x21F) }; SKSE::AllocTrampoline(14); SKSE::GetTrampoline().write_call<5>(offset.address(), &Hook_WorldPtToScreenPt3); diff --git a/source/Enderal DLL/src/Patches/ForceBorderless.h b/source/Enderal DLL/src/Patches/ForceBorderless.h index 9a6c8027e..84c690ebb 100644 --- a/source/Enderal DLL/src/Patches/ForceBorderless.h +++ b/source/Enderal DLL/src/Patches/ForceBorderless.h @@ -19,7 +19,7 @@ namespace ForceBorderless auto version = REL::Module::get().version(); std::uintptr_t target = 0; - // Checked: 1.6.1130, 1.6.1170, 1.6.1179, 1.7.99 + // Checked: 1.6.1130, 1.6.1170, 1.6.1179, 1.7.99, 1.7.104 if (version >= REL::Version(1, 6, 1130, 0)) { target = REL::Relocation{ REL::ID(36547), 0xBEA }.address(); diff --git a/source/Enderal DLL/src/Patches/HeroMenuPatch.cpp b/source/Enderal DLL/src/Patches/HeroMenuPatch.cpp index e5cf744ac..0bb81f099 100644 --- a/source/Enderal DLL/src/Patches/HeroMenuPatch.cpp +++ b/source/Enderal DLL/src/Patches/HeroMenuPatch.cpp @@ -38,7 +38,7 @@ void HeroMenuPatch::Install(bool aAutoScaleHeroMenu) } // Patch the Quick Stats hotkey to open the menu - // Checked: 1.5.97, 1.6.640, 1.6.659, 1.6.1130, 1.6.1170, 1.6.1179, 1.7.99 + // Checked: 1.5.97, 1.6.640, 1.6.659, 1.6.1130, 1.6.1170, 1.6.1179, 1.7.99, 1.7.104 REL::Relocation target{ REL::RelocationID(51400, 52249), REL::Relocate(0x41E, 0x421) }; REL::safe_fill(target.address(), REL::NOP, 45); diff --git a/source/Enderal DLL/src/Patches/MapMarkerPlacement.h b/source/Enderal DLL/src/Patches/MapMarkerPlacement.h index 545df89f1..e623fc63b 100644 --- a/source/Enderal DLL/src/Patches/MapMarkerPlacement.h +++ b/source/Enderal DLL/src/Patches/MapMarkerPlacement.h @@ -21,7 +21,7 @@ namespace MapMarkerPlacement void InstallPlacementDiscoveredFix() { // Place a marker, if a location has been discovered and fast travel is disabled - // Checked: 1.5.97, 1.6.640, 1.6.659, 1.6.1130, 1.6.1170, 1.6.1179, 1.7.99 + // Checked: 1.5.97, 1.6.640, 1.6.659, 1.6.1130, 1.6.1170, 1.6.1179, 1.7.99, 1.7.104 REL::Relocation target{ REL::RelocationID(52208, 53095), REL::Relocate(0x2C5, 0x328, 0x358) }; SKSE::AllocTrampoline(14); IsFastTravelEnabled::func = SKSE::GetTrampoline().write_call<5>(target.address(), IsFastTravelEnabled::thunk); @@ -32,7 +32,7 @@ namespace MapMarkerPlacement void InstallPlacementUndiscoveredFix() { // Place a marker without asking, if a location isn't discovered yet - // Checked: 1.5.97, 1.6.640, 1.6.659, 1.6.1130, 1.6.1170, 1.6.1179, 1.7.99 + // Checked: 1.5.97, 1.6.640, 1.6.659, 1.6.1130, 1.6.1170, 1.6.1179, 1.7.99, 1.7.104 REL::Relocation target2{ REL::RelocationID(52208, 53095), REL::Relocate(0x17A, 0x183) }; std::uint8_t code[] = { 0xB0, 0x01, REL::NOP, REL::NOP, REL::NOP }; // mov al,0x1 REL::safe_write(target2.address(), code, sizeof(code)); diff --git a/source/Enderal DLL/src/Patches/MenuAspectRatioFix.h b/source/Enderal DLL/src/Patches/MenuAspectRatioFix.h index 30861c9ba..98a394231 100644 --- a/source/Enderal DLL/src/Patches/MenuAspectRatioFix.h +++ b/source/Enderal DLL/src/Patches/MenuAspectRatioFix.h @@ -89,7 +89,7 @@ namespace MenuAspectRatioFix // The one menu with no direct LoadMovie call site: its ctor queues a task through the // deferred-load wrapper, and the task's Run() calls the hooked LoadMovie. kNoBorder up - // to 1.6.640, kExactFit from 1.6.1130 (checked 1.5.97, 1.6.640, 1.6.117x, 1.7.99). + // to 1.6.640, kExactFit from 1.6.1130 (checked 1.5.97, 1.6.640, 1.6.117x, 1.7.99, 1.7.104). { "StatsMenu"sv, ScaleModeType::kNoBorder }, { "TrainingMenu"sv, ScaleModeType::kNoBorder }, @@ -210,7 +210,7 @@ namespace MenuAspectRatioFix { g_restoreScaleModes = REL::Module::get().version() >= REL::Version(1, 6, 1130, 0); - // Checked: 1.5.97, 1.6.640, 1.6.659, 1.6.1130, 1.6.1170, 1.6.1179, 1.7.99 + // Checked: 1.5.97, 1.6.640, 1.6.659, 1.6.1130, 1.6.1170, 1.6.1179, 1.7.99, 1.7.104 const auto target = REL::RelocationID(80302, 82325).address(); // mov rax,rsp followed by one argument spill - 7 bytes of position-independent code, which diff --git a/source/Enderal DLL/src/Patches/TweenMenuPatch.h b/source/Enderal DLL/src/Patches/TweenMenuPatch.h index f99bddee1..c8c7d5ef5 100644 --- a/source/Enderal DLL/src/Patches/TweenMenuPatch.h +++ b/source/Enderal DLL/src/Patches/TweenMenuPatch.h @@ -11,7 +11,7 @@ private: static void OpenMenu(RE::IMenu* tweenMenu, std::int32_t index) { using func_t = decltype(&OpenMenu); - // Checked: 1.5.97, 1.6.640, 1.6.659, 1.6.1130, 1.6.1170, 1.6.1179, 1.7.99 + // Checked: 1.5.97, 1.6.640, 1.6.659, 1.6.1130, 1.6.1170, 1.6.1179, 1.7.99, 1.7.104 REL::Relocation func{ REL::VariantID(51845, 52718, 0x8FE7E0) }; return func(tweenMenu, index); } diff --git a/source/Enderal DLL/src/Util.h b/source/Enderal DLL/src/Util.h index 62e8d3d24..fb2d119f5 100644 --- a/source/Enderal DLL/src/Util.h +++ b/source/Enderal DLL/src/Util.h @@ -253,7 +253,7 @@ inline void CloseTweenMenu() { if (RE::UI::GetSingleton()->IsMenuOpen(RE::TweenMenu::MENU_NAME)) { using func_t = decltype(&CloseTweenMenu); - // Checked: 1.5.97, 1.6.640, 1.6.659, 1.6.1130, 1.6.1170, 1.6.1179, 1.7.99 + // Checked: 1.5.97, 1.6.640, 1.6.659, 1.6.1130, 1.6.1170, 1.6.1179, 1.7.99, 1.7.104 REL::Relocation func{ REL::VariantID(51839, 52711, 0x8FE180) }; func(); } diff --git a/source/Steam DLL/CMakeLists.txt b/source/Steam DLL/CMakeLists.txt index ddfbccbe9..547fcc1c9 100644 --- a/source/Steam DLL/CMakeLists.txt +++ b/source/Steam DLL/CMakeLists.txt @@ -129,7 +129,7 @@ FetchContent_Declare( ) FetchContent_MakeAvailable(spdlog) -# CommonLibSSE-GG - MIT fork of CommonLibSSE-NG with native 1.7.99 support, +# CommonLibSSE-GG - MIT fork of CommonLibSSE-NG with native 1.7.99 and 1.7.104 support, # pinned commit (SE + AE + VR runtime support). # No engine patches here, so xbyak trampoline support stays off (FORCE flips # the stale ON left in caches configured before xbyak was dropped). @@ -142,7 +142,7 @@ message(STATUS "Fetching CommonLibSSE-GG...") FetchContent_Declare( CommonLibSSE GIT_REPOSITORY https://github.com/eddoursul/CommonLibSSE-GG - GIT_TAG f017308b341889af9b518aae6966b19db98e16bc + GIT_TAG 3aa704ee2de9fdba3a2e77cc08e3d3ed8ea6e00f ) FetchContent_MakeAvailable(CommonLibSSE)