7 Days To Die
0 of 0

File information

Last updated

Original upload

Created by

fo76hacker

Uploaded by

fo76hacker

Virus scan

Safe to use

About this mod

Patched assembly that aims to fix jagged lines, edges, blurriness, flicker and visual performance issues. Optional version removes blood moon visual lightning effects.

Permissions and credits
Changelogs


TAA / Antialiasing flicker fix
for 7 Days to Die Alpha 21.2
This mod aims to remove flickering on lines and jagged edges while also providing a performance boost and allowing better visual clarity. The Performances Shadows reduces cascades to 2 and sets ultra, ultra+ shadow options to High Resolution. this will benefit those running high, ultra and ultra+ shadow settings giving good distance on shadows and 5-10% extra FPS depending on the situation.

Blood Moon Visual Lightning Effects & Unlocked FOV Slider
The optional version removes the visual lightning effects on blood moon nights that often look more like a glitch than lightning. The FOV max setting has been raised to 140 (I recommend 90-120) and unalike FOV mods you won't have to set your FOV every time you launch the game.

Installation:
Navigate to your 7D2D installation, open "7 Days to Die\7DaysToDie_Data\Managed", find "Assembly-CSharp.dll" and rename to "Assembly-CSharp.dll.bak".
Download and unzip mod, copy the newly unzipped "Assembly-CSharp.dll" to "7 Days to Die\7DaysToDie_Data\Managed". 

Usage:
Use the Temporal AA setting with sharpening at 20-40%. Client-side only. EAC must be disabled. Reshade is recommended.
Compatible with Darkness Falls.

Compatibility:
Incompatible with some UI mods. Works with Darkness falls and Wasteland mod.

Version History:
Alpha 21.2 B37
Alpha 21.2 B30
Alpha 21.2 B26
- Flicker/ shadow Fix
Alpha 21.2 B26
Alpha 21.2 B14
Alpha 21.1 B16








TAA Fix Code:Assembly-CSharp.dll->GameRenderManager:210

Fixed Code:
if (aaQuality > 3)
{
mainLayer.antialiasingMode = PostProcessLayer.Antialiasing.TemporalAntialiasing;
mainLayer.temporalAntialiasing.jitterSpread = 0.75f;
mainLayer.temporalAntialiasing.stationaryBlending = 0.95f;
mainLayer.temporalAntialiasing.motionBlending = 0.85f;
mainLayer.temporalAntialiasing.sharpness = sharpness;
weaponLayer.antialiasingMode = PostProcessLayer.Antialiasing.None;
return;
}

Shadows/Flicker Fix Code:
lowered shadow cascades to same value as medium for high, ultra & ultra+ shadow distance options. Using options above medium extend the shadows distance and increases the shadow resolution
Assembly-CSharp.dll->GameOptionsManagers

private static readonly (double aspectLimit, double scaleLimit)[] uiScaleLimits;

static GameOptionsManager()
    {
        uiScaleLimits = new(double, double)[5]
        {
            (1.2, 0.75),
            (1.26, 0.8),
            (1.34, 0.85),
            (1.51, 0.9),
            (1000.0, 1.0)
        };
        GamePrefs.OnGamePrefChanged += OnGamePrefChanged;
        ValidateFoV();
        ValidateTreeDistance();
        ValidateHudSize();
    }

private static void ApplyShadowQuality()
    {
  //off low medium high ultra ultra+
        Vector3 vector = new Vector3(0.06f, 0.15f, 0.35f);
        int @int = GamePrefs.GetInt(EnumGamePrefs.OptionsGfxShadowDistance);
        switch (@int)
        {
        case 0:
            QualitySettings.shadows = ShadowQuality.Disable;
            break;
        case 1:
            QualitySettings.shadows = ShadowQuality.HardOnly;
            QualitySettings.shadowDistance = 35f;
            QualitySettings.shadowCascades = 2;
            QualitySettings.shadowCascade2Split = 0.33f;
            QualitySettings.shadowResolution = ShadowResolution.Medium;
            break;
        case 2:
            QualitySettings.shadows = ShadowQuality.All;
            QualitySettings.shadowDistance = 80f;
            QualitySettings.shadowCascades = 2;
            QualitySettings.shadowResolution = ShadowResolution.Medium;
            QualitySettings.shadowCascade4Split = vector;
            break;
        case 3:
            QualitySettings.shadows = ShadowQuality.All;
            QualitySettings.shadowDistance = 120f;
            QualitySettings.shadowCascades = 2;
            QualitySettings.shadowResolution = ShadowResolution.High;
            QualitySettings.shadowCascade4Split = vector;
            break;
        case 4:
            QualitySettings.shadows = ShadowQuality.All;
            QualitySettings.shadowDistance = 200f;
            QualitySettings.shadowCascades = 2;
            QualitySettings.shadowResolution = ShadowResolution.High;
            QualitySettings.shadowCascade4Split = vector;
            break;
        default:
            QualitySettings.shadows = ShadowQuality.All;
            QualitySettings.shadowDistance = 300f;
            QualitySettings.shadowCascades = 2;
            QualitySettings.shadowResolution = ShadowResolution.High;
            QualitySettings.shadowCascade4Split = vector;
            break;
        }
        if (GameOptionsManager.ShadowDistanceChanged != null)
        {
            GameOptionsManager.ShadowDistanceChanged(@int);
        }
    }

No Lightning Code
Assembly-CSharp.dll->SkyManager:724

if (--SkyManager.lightningFrameCount >= 0)
{
        return;
}


Credits to jordyyyboy1998.