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 performance issues. Optional version removes lightning effects

Permissions and credits
Changelogs


TAA / Antialiasing fix
for Alpha 21.2
Smooths out jagged edges and textures.
Optional versions include unlocked FOV slider and Performance Shadows / Flicker fix. Performances Shadows reduces cascades to 2 and sets ultra, ultra+ shadow maps to High Resolution. this will benefit those running high, ultra and ultra+ shadow settings and gives 5-10% extra FPS.

Removed lightning effects
Optional version removes visual lightning effects on blood moon and uses VeryHigh shadow map resolution for ultra&ultra+ settings.

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-30%. 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 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);
        }
    }


Credits to jordyyyboy1998.