Repository navigation
MagnaScope 0.12.1 fixes compatibility with the Upscaling Custom DLSS / FSR frame-generation plugin (and forks of it that present through D3D12), and reworks the thermal actor mask so it behaves under ENB with dynamic resolution.
Requirements
- Fallout 4 1.10.163 (the NG/AE runtimes load safely; the thermal heat mask and the upscaler capture are OG-only in this release).
- F4SE.
- F4SE Menu Framework 3 (settings menu, optics-key binding).
Install
Install the archive with your mod manager. The folder layout is already F4SE/ and Shaders/ at the root. Ready-made automatic-STS profiles for the weapons listed below are under F4SE/Plugins/MagnaScope/Auto; profiles for other See Through Scopes weapons are generated in game the first time you aim.
What changed since 0.12.0
Upscaling Custom compatibility
- Plain magnification, night vision and thermal all work with Upscaling Custom active, with and without ENB, at any DLSS or FSR preset.
- Reticles are back inside the lens on that plugin. Its engine runs at the render resolution under a full-size back buffer, and the reticle composite was scaling its capture against the wrong size, which pushed the reticle outside the lens.
- Thermal silhouettes align under ENB with dynamic resolution. The actor mask now reads the stencil view it recorded at draw time and takes its resolution from the viewport actually bound, instead of trusting state the upscaler swaps around mid-frame.
- The magnified image is un-jittered: the per-frame projection jitter these upscalers apply no longer shows as a wobble multiplied by the zoom.
Thermal mask rework
Actors are marked in the scene's stencil buffer during their own draw and resolved into the heat mask once per frame at the start of post-processing. Nothing is re-drawn mid-scene, which removes the full-screen stretched projection that 0.12.0 could trigger in ENB under dynamic resolution, and occlusion comes from the hardware depth test.
Plugin API version 2
MagnaScopeAPI::InterfaceV1 reports version 2 and appends two members for upscalers: IsOpticalEffectActive() and NotifyPresentCopyBack(bool). An upscaler that takes its ScopeMenu copy-back path while a MagnaScope lens is active lets the scope magnify the reconstructed full-resolution frame instead of the render-resolution one. Upscaling Custom itself does not implement this yet; forks that do get the sharper image automatically.
Known issues
- HUD and other UI elements do not show inside the scope lens while an upscaler presents through D3D12 (the lens is drawn opaque over the UI layer). Outside the lens the HUD is unaffected.
Included profiles
Combined Arms Mk12 (both variants), SCAR-H, AS Val, StG 44, Dragunov (both variants), M4A1 (with Elcan and Vortex reticles), M590, Kar98k (MW2019), Model 680, Panzer (MW Grau), and the vanilla scope profile.