Skip to content

Releases: savannt/SPT-SWAY

SPT-SWAY 2.0.1

Choose a tag to compare

@savannt savannt released this 18 Aug 15:37

Two fixes from first-raid feedback, both at the same end of the signal chain.

Your view no longer wanders while your hand is still. Far too much of every source was being sent to the camera spring rather than the weapon. Master camera coupling drops from 0.35 to 0.10, and the per-source shares come down underneath it — tremor's share in particular goes from 0.35 to 0.04, because tremor on the camera reads as a buzz rather than as a hand holding something. Net effect on the view: breathing about 5x quieter, postural drift about 8x, tremor about 30x.

The shakiness is gone. That was genuine high-frequency content arriving at the springs as acceleration, which is the second derivative and so the least forgiving place to put noise. Three changes:

  • Output Smoothing (new, 00 - General, default 12 Hz) — a low-pass across everything the model produces, just before it reaches the springs. Filtering the sum rather than each source keeps them in phase, so the pulse still rides the breathing arc instead of smearing off it. This is now the anti-jitter knob; lower is smoother and eventually mushy.
  • Input Smoothing (new, 05 - Weapon Inertia, default 9 Hz) — turn rate is a per-frame difference, so it carried the frame clock's own jitter and made the weapon twitch when nothing had actually moved.
  • Tremor amplitude 1.0 → 0.45, octaves 3 → 2, ADS multiplier 1.3 → 1.05. Cardiac systolic spike blunted from 7 to 4.5.

Your existing config updates itself. BepInEx only writes a default the first time it sees a key, so retuning defaults in code alone would never reach anyone who had already run the mod. A retuned entry is now rewritten only when it still holds the previous version's default — anything you changed yourself is left exactly as you left it, and the console tells you how many it touched.

Install

Drop SptSway.dll into BepInEx/plugins/SPT-SWAY/, or unzip SPT-SWAY-2.0.1.zip over your SPT install. Overwrites 2.0.0; keep your config file.

If it is still not right

Camera Coupling for a view that moves on its own, Output Smoothing for anything that feels shaky, Master Intensity for overall strength. In that order. F11 shows what every stage is actually doing.

SPT-SWAY 2.0.0

Choose a tag to compare

@savannt savannt released this 18 Aug 14:07

Weapon sway rebuilt from the physical sources that actually move a rifle, rather than one wobble scaled by ergonomics.

Five independent sources, each on its own timescale and each separately configurable:

  • Respiration — an asymmetric inhale/exhale/pause waveform instead of a sine, so there is a genuine still window at the bottom of the breath to fire in. Rate and depth follow stamina and oxygen. Holding your breath quiets it rather than freezing it, and you pay for the hold with an overshoot afterwards.
  • Cardiac — a sharp systolic spike plus the smaller dicrotic bump where the aortic valve closes. Heart rate climbs faster than it falls, and firing raises it.
  • Physiological tremor — layered detuned value noise in the 8–12 Hz band. Never repeats, never parks at zero. Fatigue, weapon weight and arm injuries all widen it.
  • Postural drift — sub-hertz balance wander that mostly disappears once you go prone or rest the weapon on something.
  • Weapon inertia — a real damped harmonic oscillator driven by turn rate, so a heavy weapon does not merely move less, it moves later and settles for longer. Natural frequency and damping ratio are exposed separately.

Every source is DC-blocked, so no waveform can quietly walk your point of aim off centre over time.

State is read from what the game actually knows: stamina, oxygen and arm stamina as three separate drains, pose level blended rather than snapped, mount/bipod/lean, arm fractures and blacked limbs, weapon ergonomics, weight and recoil stat.

Also in this release

  • Six presets — Realistic, Vanilla, Arcade, Hardcore, Marksman, Cinematic
  • Around 150 config entries, ordered the way the signal actually flows
  • Sections 12 and 13 expose BSG's own springs and effectors, scaled against the values captured at weapon init so the scaling stays idempotent
  • F11 overlay showing every live value the model is using
  • F10 toggles the whole mod mid-raid

Install

Drop SptSway.dll into BepInEx/plugins/SPT-SWAY/, or unzip SPT-SWAY-2.0.0.zip over your SPT install.

Built against SPT 4.x.

A note on the defaults

The physiological numbers are drawn from how those systems behave. The amplitudes are a judgement call — "how many degrees should a heartbeat move a rifle" has no correct answer, only a good-feeling one. They are a considered starting point. If the overall strength feels off, Master Intensity is the first knob; Camera Coupling is the one to reach for if it feels nauseating rather than merely strong.


Join the Discord: https://discord.gg/nxa3W7w4rJ

All updates, fixes and early builds are announced there first.

Coming next: a post-1.0 patcher and backend, written from scratch and built to be very performant. All of these mods will shortly be merged into that new system. The Discord is where it will be announced.