Example #1
0
        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);
        }
Example #2
0
 private bool Equals(ref MyPerformanceSettings other) =>
 ((this.EnableDamageEffects == other.EnableDamageEffects) && this.RenderSettings.Equals(ref other.RenderSettings));
Example #3
0
        public override bool Equals(object other)
        {
            MyPerformanceSettings settings = (MyPerformanceSettings)other;

            return(this.Equals(ref settings));
        }
Example #4
0
 public static void UpdateRenderSettingsFromConfig(ref MyPerformanceSettings defaults)
 {
     Apply(GetGraphicsSettingsFromConfig(ref defaults));
 }