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.