public static MyGraphicsSettings GetGraphicsSettingsFromConfig(ref MyPerformanceSettings defaults) { MyGraphicsSettings currentGraphicsSettings = CurrentGraphicsSettings; MyConfig config = MySandboxGame.Config; currentGraphicsSettings.PerformanceSettings = defaults; currentGraphicsSettings.GraphicsRenderer = config.GraphicsRenderer; currentGraphicsSettings.FieldOfView = config.FieldOfView; currentGraphicsSettings.PostProcessingEnabled = config.PostProcessingEnabled; currentGraphicsSettings.FlaresIntensity = config.FlaresIntensity; if (config.EnableDamageEffects == null) { config.EnableDamageEffects = new bool?(defaults.EnableDamageEffects); } currentGraphicsSettings.PerformanceSettings.EnableDamageEffects = config.EnableDamageEffects.Value; float?vegetationDrawDistance = config.VegetationDrawDistance; currentGraphicsSettings.PerformanceSettings.RenderSettings.DistanceFade = (vegetationDrawDistance != null) ? vegetationDrawDistance.GetValueOrDefault() : defaults.RenderSettings.DistanceFade; vegetationDrawDistance = config.GrassDensityFactor; currentGraphicsSettings.PerformanceSettings.RenderSettings.GrassDensityFactor = (vegetationDrawDistance != null) ? vegetationDrawDistance.GetValueOrDefault() : defaults.RenderSettings.GrassDensityFactor; vegetationDrawDistance = config.GrassDrawDistance; currentGraphicsSettings.PerformanceSettings.RenderSettings.GrassDrawDistance = (vegetationDrawDistance != null) ? vegetationDrawDistance.GetValueOrDefault() : defaults.RenderSettings.GrassDrawDistance; MyAntialiasingMode?antialiasingMode = config.AntialiasingMode; currentGraphicsSettings.PerformanceSettings.RenderSettings.AntialiasingMode = (antialiasingMode != null) ? antialiasingMode.GetValueOrDefault() : defaults.RenderSettings.AntialiasingMode; MyShadowsQuality?shadowQuality = config.ShadowQuality; currentGraphicsSettings.PerformanceSettings.RenderSettings.ShadowQuality = (shadowQuality != null) ? shadowQuality.GetValueOrDefault() : defaults.RenderSettings.ShadowQuality; bool?ambientOcclusionEnabled = config.AmbientOcclusionEnabled; currentGraphicsSettings.PerformanceSettings.RenderSettings.AmbientOcclusionEnabled = (ambientOcclusionEnabled != null) ? ambientOcclusionEnabled.GetValueOrDefault() : defaults.RenderSettings.AmbientOcclusionEnabled; MyTextureQuality?textureQuality = config.TextureQuality; currentGraphicsSettings.PerformanceSettings.RenderSettings.TextureQuality = (textureQuality != null) ? textureQuality.GetValueOrDefault() : defaults.RenderSettings.TextureQuality; MyTextureAnisoFiltering?anisotropicFiltering = config.AnisotropicFiltering; currentGraphicsSettings.PerformanceSettings.RenderSettings.AnisotropicFiltering = (anisotropicFiltering != null) ? anisotropicFiltering.GetValueOrDefault() : defaults.RenderSettings.AnisotropicFiltering; MyRenderQualityEnum?modelQuality = config.ModelQuality; currentGraphicsSettings.PerformanceSettings.RenderSettings.ModelQuality = (modelQuality != null) ? modelQuality.GetValueOrDefault() : defaults.RenderSettings.ModelQuality; modelQuality = config.VoxelQuality; currentGraphicsSettings.PerformanceSettings.RenderSettings.VoxelQuality = (modelQuality != null) ? modelQuality.GetValueOrDefault() : defaults.RenderSettings.VoxelQuality; currentGraphicsSettings.PerformanceSettings.RenderSettings.HqDepth = true; modelQuality = config.ShaderQuality; currentGraphicsSettings.PerformanceSettings.RenderSettings.VoxelShaderQuality = (modelQuality != null) ? modelQuality.GetValueOrDefault() : defaults.RenderSettings.VoxelShaderQuality; modelQuality = config.ShaderQuality; currentGraphicsSettings.PerformanceSettings.RenderSettings.AlphaMaskedShaderQuality = (modelQuality != null) ? modelQuality.GetValueOrDefault() : defaults.RenderSettings.AlphaMaskedShaderQuality; modelQuality = config.ShaderQuality; currentGraphicsSettings.PerformanceSettings.RenderSettings.AtmosphereShaderQuality = (modelQuality != null) ? modelQuality.GetValueOrDefault() : defaults.RenderSettings.AtmosphereShaderQuality; return(currentGraphicsSettings); }
private bool Equals(ref MyPerformanceSettings other) => ((this.EnableDamageEffects == other.EnableDamageEffects) && this.RenderSettings.Equals(ref other.RenderSettings));
public override bool Equals(object other) { MyPerformanceSettings settings = (MyPerformanceSettings)other; return(this.Equals(ref settings)); }
public static void UpdateRenderSettingsFromConfig(ref MyPerformanceSettings defaults) { Apply(GetGraphicsSettingsFromConfig(ref defaults)); }