Skip to content

Releases: DCCStudios/MagnaScopes

MagnaScope 0.12.1

Choose a tag to compare

@TheShinyHaxorus TheShinyHaxorus released this 07 Sep 08:31

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.

MagnaScope 0.12.0

Choose a tag to compare

@TheShinyHaxorus TheShinyHaxorus released this 05 Sep 04:18

MagnaScope 0.12.0 makes the scopes work alongside DLSS / FSR frame-generation upscalers that present through D3D12 (the UpscalingFrameGen_Hax and jarari Upscaling plugins), and reworks the thermal actor mask so it no longer upsets ENB.

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

Upscaler compatibility (DLSS / FSR frame generation)

Under a D3D12 present override the D3D11 back buffer only ever holds the UI over black, so every scope came out black. MagnaScope now takes its scene from the frame buffer at the moment the upscaler consumes it, stretches the dynamic-resolution subrect to full frame, and writes lens alpha so the upscaler's UI composite shows the magnified image opaque. Plain magnification, night vision and thermal all work again with the upscaler active, with and without ENB.

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. Nothing is re-drawn mid-scene any more. This removes the full-screen stretched projection that the previous design triggered in ENB under dynamic resolution, and occlusion now comes from the hardware depth test, so silhouettes no longer show through cover in the way 0.11.0 did.

Known issues

  • With a DLSS or FSR preset below DLAA / Native AA, the magnified image is built from the render-resolution frame, so it is visibly softer and more pixelated than at native. The reconstructed 4K image lives only on the D3D12 side and cannot be reached from MagnaScope; only the upscaler could hand it back. The Lanczos magnification filter and the image denoise setting soften it.

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.

Magnascope/STS Scope Converter 0.1.0

Choose a tag to compare

STS Scope Converter is a Windows tool that converts a Fallout 4 scope mesh that was not built for See Through Scopes into the STS node layout, so the scope works with See Through Scopes and with MagnaScope. Drop the scope's .nif files onto the window, check the guessed glass and reticle, press Convert.

DISCLAIMER, PLEASE READ

I am not sure how well this works for each scope. The structure it writes is verified numerically against the source file every time (every mesh keeps its exact world transform, or the file is reported as failed), and the default settings are the ones confirmed in game on five M4A1, MK18 and RU556 sights. Beyond those, how well a given scope converts depends on how that scope was authored: where its glass and reticle are, which way it faces, how its materials are set up. Expect to check every converted scope in game, and expect some to need cleanup in NifSkope.

What it does

  • Builds the STS tree (ScopeNormal / ScopeAiming / ScopeViewParts / reticle holder), the controller manager and the five STS sequences, and reparents the existing meshes into it.
  • Generates the canonical 24-segment ScopeFade:0 annulus that every reference STS scope shares, sized from the glass you pick.
  • Keeps the scope's own reticle by default. That is the route verified in game; the scope's reticle renders exactly as it did before.
  • Verifies the result: reloads the written file and checks every mesh's world transform against the original. A failed check is shown in red and the file should not be used.
  • Batch: add a folder and every .nif under it is analysed. Files whose glass or reticle cannot be guessed are held back for you rather than converted wrongly.

What it does not do

  • It does not cut down the aiming model. STS wants the rear of the scope removed so you can see through it. The converter clones the full model into both branches so nothing disappears in game; removing the occluding geometry from ScopeAiming is modelling work for NifSkope or Outfit Studio.
  • The ScopeFade size is a heuristic (0.94 of the measured glass radius, the midpoint of what STS's own scopes use). Check it in game and adjust the fade scale under advanced options if the aperture looks wrong.
  • STS's built-in reticle swapping stays off on converted scopes when the scope keeps its own reticle. MagnaScope's own reticle switching covers that. The alternative "STS preset reticle" option turns swapping on but shows STS's crosshair instead of the scope's own art, and that route has not been confirmed in game.

Using it

  1. Run StsConverterGui.exe. Nothing to install; the .NET runtime is bundled.
  2. Add files or a folder, or drop them on the window.
  3. Look at the Glass and Reticle columns. If a guess is wrong, pick the right shape from the dropdown. "Shapes..." (or double-click) shows every shape in the file with its size and position to help decide.
  4. Pick an output folder (defaults to StsOutput next to the first file) and press Convert All.
  5. Put each converted file at the same path as the original inside a mod folder (meshes\Weapons\...) so it overrides the original, then try the scope in game.

The defaults are the tested configuration. Advanced options (fade mode and scale, hip clone, TextureLoader, tolerance, force) start hidden and are only needed when a scope misbehaves.

Requirements

Windows 10 or 11, 64-bit. No separate .NET install is needed.

Credits

  • NiflySharp by ousnius, the NIF library this tool reads and writes meshes with (NuGet package Nifly). A clean-room C# rewrite of ousnius's nifly, generated from the NifTools nifxml specification. https://github.com/ousnius/NiflySharp
  • Miniball, C# port by SearchAThing forks (original by Bernd Gaertner), used by NiflySharp for bounding spheres. https://github.com/SearchAThing-forks/miniball
  • nifxml by the NifTools team, the NIF format specification NiflySharp is generated from. https://github.com/niftools/nifxml
  • See Through Scopes by henkspamadres, the framework this tool converts for. Its node layout, sequences, ScopeFade geometry and reticle conventions were measured from STS's own shipped meshes; the optional preset reticles point at materials STS ships in Materials\Scope\Defaults.
  • NifInspector, the NIF reconnaissance tool in the same repository (also on NiflySharp) whose dumps of the STS reference corpus the converter's conventions come from.
  • NifSkope (NifTools) and Outfit Studio (ousnius): block ordering follows NifSkope's Sanitize > Reorder Blocks, and both are the tools to finish a conversion in.
  • The M4A1, MK18 and RU556 sights from the Haru's M4 weapon pack were the in-game verification set.
  • Microsoft .NET 8 / Windows Forms, bundled into the executable.
  • Built alongside MagnaScope (DCC Studios).

Licence

NiflySharp is licensed under the GNU General Public License v3.0 and is compiled into StsConverterGui.exe, so the program is distributed under GPL-3.0 terms. The converter's source is in the repository (tests/StsConverter and tests/StsConverterGui). The full GPL-3.0 text ships in the archive as LICENSE-NiflySharp.txt.

MagnaScope 0.11.0

Choose a tag to compare

@TheShinyHaxorus TheShinyHaxorus released this 31 Aug 01:05

First packaged release of MagnaScope: screen-space magnified scopes for Fallout 4 with automatic See Through Scopes compatibility, plus night vision and thermal vision on the scope.

Requirements

  • Fallout 4 1.10.163 (the NG/AE runtimes load safely, but the thermal heat mask is 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.

The package includes a set of ready-made automatic-STS profiles under F4SE/Plugins/MagnaScope/Auto for the weapons listed below. Profiles for other See Through Scopes weapons are generated in game the first time you aim.

What is in this release

Thermal vision

  • Actors render as their real, depth-occluded silhouettes instead of round blobs. The silhouette comes from the actual character geometry.
  • Your own weapon never counts as cover: a body seen through the scope is not hidden by the gun that holds the scope.
  • Four palettes: white hot, black hot, red hot, rainbow.
  • Heat comes from bodies, fire-like lights (torches, burning barrels, campfires), lingering fires from molotovs and similar hazards, explosions, and the sun. Steady lamps and the invisible fill lights that level designers scatter through interiors do not read as hot.
  • BUG: Can currently see npcs through walls and terrain, will be fixed in later versions.

Night vision

  • Saturating light gain with phosphor tint (green or white), grain, and bloom around visible light sources: fire, lights with a visible fixture, lens flares, god rays, shadow-casting lights, explosions.

Controls

  • Night vision and thermal toggle keys bind by pressing a key or mouse button (Middle, Mouse 4, Mouse 5). Esc cancels, Tab unbinds.
  • Optional modifier per toggle: Shift, Ctrl, or Alt. Either side of the pair counts.
  • Each scope profile can enable night vision, thermal, or both, and can switch either on by default.
  • Optics key: tap to cycle reticles, hold and scroll to switch to a secondary sight. Binds the same way, through the F4SE Menu Framework hotkey registry.

Diagnostics

  • Verbose logging is off by default. Turn it on in the menu only when capturing a problem; it writes per-frame telemetry and enables the frame-hang report.

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.