Skip to content

Releases: CharmedBaryon/CommonLibSSE-NG

v3.3.1

24 May 00:10
Compare
Choose a tag to compare
  • Fix RE::BSScript::IVirtualMachine and RE::BSScript::Internal::VirtualMachine function ForEachBoundObject for VR.
  • Enable test runs for all build configurations, not just those targeting all runtimes.
  • Fix typos in Skyrim runtime version constants.

v3.3.0

20 May 16:28
Compare
Choose a tag to compare
  • Fix macro errors that prevented SE-only build to work correctly.
  • Bypass logging for report_and_fail when running unit tests to avoid unnecessary log noise in negative test cases.
  • Bypass MessageBox call in report_fail when running unit tests to allow negative test cases or failed tests without indefinitely hanging the test run in headless CI environments.
  • Throw exceptions in report_and_fail when running unit tests to allow Catch2 to detect throws for assertions.
  • Fixed inconsistent include style in RE::NiGeometry, which also was a blocker for IDA Pro header import.
  • Unit tests are now run in automated GitHub CI for Clang builds in addition to MSVC ones.
  • Merge upstream changes.
  • Macro for simplified SKSEPlugin_Load.
  • Merge quality of life features from Fully Dynamic Game Engine:
    • Support for REL::Version literals (e.g. 1.0_v or "1.2.3.4"_v).
    • Support for declarative alternative to SKSE::PluginVersionData.
    • Macro to concisely define SKSEPlugin_Version with automatic compatible SKSEPlugin_Query.

v3.2.4

15 May 14:17
Compare
Choose a tag to compare
  • Fix bug with transitively finding binary_io dependency.
  • Add REL::Version and REL::Relocation APIs for convenience.
  • Support for injecting real or mocked Skyrim runtime executables and address library databases for unit testing.
  • Windows headers can now be included before CommonLibSSE.
  • Further improvements to out-of-the-box usability of Clang builds.
  • The RE::FormType and RE::ActorValue enums can now be directly used in fmt::format and std::format calls, with human-readable results.
  • Release builds are now specifically handled, and built with whole-program optimizations.
  • Added HAS_SKYRIM_MULTI_TARGETING macro, that is inherited by downstream plugin projects, enabling detection of NG's multi-targeting features in the preprocessor.

v3.2.3

04 May 01:29
Compare
Choose a tag to compare
  • Cleanup the Actor and related classes.
  • Add convenience function TESActorBase::IsLeveled based on extension functions from Fully Dynamic Game Engine..
  • Add convenience function BGSKeywordForm::GetKeywords based on extension functions from Fully Dynamic Game Engine..
  • Expand and correct RE on AlchemyMenu based on Alchemy Overhaul NG.
  • Expand RE on MapMenu based on No GPS.
  • Further Clang support improvements.
  • Add release CMake presets, with optimized builds, and update GitHub CI to test build them.
  • Uses binary-io for address library parsing again (requires minimum of binary-io 2.0.5).
  • Fixes bug in unpacking empty Papyrus arrays to native ones.

v3.2.1

27 Apr 01:26
6127c94
Compare
Choose a tag to compare

Support for building with Clang 13.x and 14.x using Clang-CL.
Add CMake configuration and build presets for Clang.
Fix a number of places in where CommonLibSSE had assumed string_view's underlying C-string matches the length of the view.
Adopt string_view in place of const char* for several APIs.
Cleanup code in numerous places to eliminate Clang compiler warnings.
Integrate upstream RE changes.
Bring back RELOCATION_ID macro as an alias for REL::RelocationID for compatibility with po3 and alandtse forks.

v3.1.0

22 Apr 03:07
Compare
Choose a tag to compare
  • Completed overhaul of all RTTI and VTABLE offsets to unify runtimes and produce consistent naming.
  • Overhauled nearly all classes with variant offsets in Skyrim VR to allow for both VR and non-VR complete access to the same data from the same build.
  • A number of new RE structures related to Papyrus saving.
  • Fixed TESForm::GetWeight behavior to work with hooks of engine weight behavior.
  • Introduced new RelocationID system, and accompanying VariantID and VariantOffset classes to handle portable hooks across runtimes. Enables use of constexpr again for RTTI and VTABLE offsets, reducing compiled library size by about 800 MB.

v3.0.1

21 Apr 15:33
Compare
Choose a tag to compare

Bug fixes.

v3.0.0

21 Apr 15:36
Compare
Choose a tag to compare

Enable full support for VR features when doing single builds that support AE, SE, and VR.

v2.1.0

21 Apr 15:52
Compare
Choose a tag to compare
  • Migrate build system to Ninja.
  • Merge upstream changes and fixes.

v2.0.0

21 Apr 15:57
Compare
Choose a tag to compare
  • Add VR Address Library support.
  • Allow builds that can target AE, SE, and VR from a single plugin.