Jump to content

1 Screenshot

Modernize of the original Barefoot Realism  on Skyrim SE / AE / VR, including native SKSE accelerator, plus a few Papyrus correctness fixes . All gameplay design, formulas, and balance are the original mod author's work — this project mainly swaps the heaviest Papyrus loops for a CommonLibSSE-NG plugins.

 

Check the original mod page for details.

 

Note: It is an beta version, so there might be problems. Please use with caution and report any issues if you run into any.

 

It is created with CommonLIbSSE-NG, so it is supposed to support all SE/AE/VR version that CommonLIbSSE-NG supports. But I could only test with 1.6.1170.0

Suggest to install with cleaned save or new save since I cleaned ESP.

 

What's New in NG

Native implemetation replacing Papyrus

 

Original Papyrus Replacement
PBFTerrainDetectionQuestScript.OnUpdate — every second, did 2× PlaceAtMe + 2× MoveTo + Spell.Cast + 2× Delete + 9× FindClosestReferenceOfTypeFromRef to figure out which surface decal had spawned under the player A single downward havok pick from C++; reads bhkShape::materialID and maps to the mod's 0..8 surface ids
PlayerBarefootQuestScript.GetCurrentLocationType — called twice per footstep (~6×/sec while sprinting) doing weather + cell-owner + faction-owner + cell-name substring search Same logic in C++, one VM call per invocation
PlayerBarefootQuestScript.OnAnimationEvent math — five global reads, five global writes, two Math.Pow calls, ten Config property reads, all in Papyrus per footstep Two native calls (GetStaggerChanceNative for pure compute and ApplyDirtinessPainStep for the dirtiness/pain/roughness state writes)

 

Water detection is delegated to powerof3's PapyrusExtenderSSE (PO3_SKSEFunctions.IsRefInWater).

 

Papyrus correctness fixes shipped in the native implementation

  • Clamp(NewDirtiness, 0, 1) was a no-op in the original (Papyrus pass-by-value with a discarded return). After enough sprinting, FeetDirtiness / FeetPain / FeetRoughness could drift above 1.0. Fixed when implementing in C++
  • The sneak branch in GetStaggerChance was unreachable: the original if IsSprinting / elseif !IsRunning / elseif IsSneaking chain made the third arm a dead branch because IsSneaking is never reachable past !IsRunning == false. Reordered to check IsSneaking first.

 

Footwear detection keywords (KID)
The mod no longer hard-codes which items are ankle restraints, which count as "shoes", or which footwear is treated as barefoot. Instead it reads three keywords, distributed at runtime by Keyword Item Distributor (KID) via the bundled `BarefootRealism_KID.ini`:
 
  • `BarefootRealism_AnkleRestraint` — worn items that block changing footwear. By default KID tags anything carrying the ZaZ `zbfWornAnkles` or Devious Devices `zad_DeviousAnkleShackles` keyword.
  • `BarefootRealism_Shoes` — footwear that counts as "shoes" (still allowed past ankle restraints when the MCM option is on). By default KID tags armor with "Shoes" in its name.
  • `BarefootRealism_BarefootException` — footwear that counts as barefoot (e.g. DDx slave heels). The MCM "Set worn as barefoot exception" button tags the worn item with this keyword (persists across saves); whole categories can be tagged by editing the INI.
 
Edit `BarefootRealism_KID.ini` to extend coverage to other mods' items.

 

Integrations

 

Source

GitHub

Edited by AsaChiri
New version with new dependencies


What's New in Version 0.2.0

Released

  • Cleaned ESP file and updated to Form 44.
  • Footwear / ankle-restraint / barefoot-exception detection is now keyword-driven via Keyword Item Distributor (KID). New requirements: KID and powerofthree's Papyrus Extender. The bundled `BarefootRealism_KID.ini` reproduces the previous behavior and can be edited to support more items. The "Set current as exception" MCM button now tags the worn footwear with a keyword (persisted across saves) instead of storing a single item.
  1. Install the original mod including all its dependencies.
  2. Install extra dependencies (SKSE, Address Library for SKSE Plugins, powerof3's Papyrus Extender, Keyword Item Distributor) if you haven't, but I guess you should have.
  3. Install this mod and let it override the original mod.  
Original mod author: cytochrome_p450

×
×
  • Create New...