Exemple #1
0
        private void SetupElevationNoise()
        {
            float      freqMultiplier = FreqMultiplier;
            ModuleBase lhs            = new Perlin((double)(0.035f * freqMultiplier), 2.0, 0.40000000596046448, 6, Rand.Range(0, 2147483647), QualityMode.High);
            ModuleBase lhs2           = new RidgedMultifractal((double)(0.012f * freqMultiplier), 2.0, 6, Rand.Range(0, 2147483647), QualityMode.High);
            ModuleBase input          = new Perlin((double)(0.12f * freqMultiplier), 2.0, 0.5, 5, Rand.Range(0, 2147483647), QualityMode.High);
            ModuleBase moduleBase     = new Perlin((double)(0.01f * freqMultiplier), 2.0, 0.5, 5, Rand.Range(0, 2147483647), QualityMode.High);
            float      num;

            if (Find.World.PlanetCoverage < 0.55f)
            {
                ModuleBase input2 = new DistanceFromPlanetViewCenter(Find.WorldGrid.viewCenter, Find.WorldGrid.viewAngle, invert: true);
                input2     = new ScaleBias(2.0, -1.0, input2);
                moduleBase = new Blend(moduleBase, input2, new Const(0.40000000596046448));
                num        = Rand.Range(-0.4f, -0.35f);
            }
            else
            {
                num = Rand.Range(0.15f, 0.25f);
            }
            NoiseDebugUI.StorePlanetNoise(moduleBase, "elevContinents");
            input = new ScaleBias(0.5, 0.5, input);
            lhs2  = new Multiply(lhs2, input);
            float num2 = Rand.Range(0.4f, 0.6f);

            noiseElevation = new Blend(lhs, lhs2, new Const((double)num2));
            noiseElevation = new Blend(noiseElevation, moduleBase, new Const((double)num));
            if (Find.World.PlanetCoverage < 0.9999f)
            {
                noiseElevation = new ConvertToIsland(Find.WorldGrid.viewCenter, Find.WorldGrid.viewAngle, noiseElevation);
            }
            noiseElevation = new ScaleBias(0.5, 0.5, noiseElevation);
            noiseElevation = new Power(noiseElevation, new Const(3.0));
            NoiseDebugUI.StorePlanetNoise(noiseElevation, "noiseElevation");
            double     scale          = (double)ElevationRange.Span;
            FloatRange elevationRange = ElevationRange;

            noiseElevation = new ScaleBias(scale, (double)elevationRange.min, noiseElevation);
        }
Exemple #2
0
        private void SetupElevationNoise()
        {
            float      freqMultiplier = WorldGenStep_Terrain.FreqMultiplier;
            ModuleBase lhs            = new Perlin(0.035000000149011612 * freqMultiplier, 2.0, 0.40000000596046448, 6, Rand.Range(0, 2147483647), QualityMode.High);
            ModuleBase lhs2           = new RidgedMultifractal(0.012000000104308128 * freqMultiplier, 2.0, 6, Rand.Range(0, 2147483647), QualityMode.High);
            ModuleBase input          = new Perlin(0.11999999731779099 * freqMultiplier, 2.0, 0.5, 5, Rand.Range(0, 2147483647), QualityMode.High);
            ModuleBase moduleBase     = new Perlin(0.0099999997764825821 * freqMultiplier, 2.0, 0.5, 5, Rand.Range(0, 2147483647), QualityMode.High);
            float      num;

            if (Find.World.PlanetCoverage < 0.550000011920929)
            {
                ModuleBase input2 = new DistanceFromPlanetViewCenter(Find.WorldGrid.viewCenter, Find.WorldGrid.viewAngle, true);
                input2     = new ScaleBias(2.0, -1.0, input2);
                moduleBase = new Blend(moduleBase, input2, new Const(0.40000000596046448));
                num        = Rand.Range(-0.4f, -0.35f);
            }
            else
            {
                num = Rand.Range(0.15f, 0.25f);
            }
            NoiseDebugUI.StorePlanetNoise(moduleBase, "elevContinents");
            input = new ScaleBias(0.5, 0.5, input);
            lhs2  = new Multiply(lhs2, input);
            float num2 = Rand.Range(0.4f, 0.6f);

            this.noiseElevation = new Blend(lhs, lhs2, new Const((double)num2));
            this.noiseElevation = new Blend(this.noiseElevation, moduleBase, new Const((double)num));
            if (Find.World.PlanetCoverage < 0.99989998340606689)
            {
                this.noiseElevation = new ConvertToIsland(Find.WorldGrid.viewCenter, Find.WorldGrid.viewAngle, this.noiseElevation);
            }
            this.noiseElevation = new ScaleBias(0.5, 0.5, this.noiseElevation);
            this.noiseElevation = new Power(this.noiseElevation, new Const(3.0));
            NoiseDebugUI.StorePlanetNoise(this.noiseElevation, "noiseElevation");
            double     scale          = (double)WorldGenStep_Terrain.ElevationRange.Span;
            FloatRange elevationRange = WorldGenStep_Terrain.ElevationRange;

            this.noiseElevation = new ScaleBias(scale, (double)elevationRange.min, this.noiseElevation);
        }
Exemple #3
0
        private void SetupElevationNoise()
        {
            float      freqMultiplier = WorldGenStep_Terrain.FreqMultiplier;
            ModuleBase lhs            = new Perlin((double)(0.035f * freqMultiplier), 2.0, 0.40000000596046448, 6, Rand.Range(0, 2147483647), QualityMode.High);
            ModuleBase moduleBase     = new RidgedMultifractal((double)(0.012f * freqMultiplier), 2.0, 6, Rand.Range(0, 2147483647), QualityMode.High);
            ModuleBase moduleBase2    = new Perlin((double)(0.12f * freqMultiplier), 2.0, 0.5, 5, Rand.Range(0, 2147483647), QualityMode.High);
            ModuleBase moduleBase3    = new Perlin((double)(0.01f * freqMultiplier), 2.0, 0.5, 5, Rand.Range(0, 2147483647), QualityMode.High);
            float      num;

            if (Find.World.PlanetCoverage < 0.55f)
            {
                ModuleBase moduleBase4 = new DistanceFromPlanetViewCenter(Find.WorldGrid.viewCenter, Find.WorldGrid.viewAngle, true);
                moduleBase4 = new ScaleBias(2.0, -1.0, moduleBase4);
                moduleBase3 = new Blend(moduleBase3, moduleBase4, new Const(0.40000000596046448));
                num         = Rand.Range(-0.4f, -0.35f);
            }
            else
            {
                num = Rand.Range(0.15f, 0.25f);
            }
            NoiseDebugUI.StorePlanetNoise(moduleBase3, "elevContinents");
            moduleBase2 = new ScaleBias(0.5, 0.5, moduleBase2);
            moduleBase  = new Multiply(moduleBase, moduleBase2);
            float num2 = Rand.Range(0.4f, 0.6f);

            this.noiseElevation = new Blend(lhs, moduleBase, new Const((double)num2));
            this.noiseElevation = new Blend(this.noiseElevation, moduleBase3, new Const((double)num));
            if (Find.World.PlanetCoverage < 0.9999f)
            {
                this.noiseElevation = new ConvertToIsland(Find.WorldGrid.viewCenter, Find.WorldGrid.viewAngle, this.noiseElevation);
            }
            this.noiseElevation = new ScaleBias(0.5, 0.5, this.noiseElevation);
            this.noiseElevation = new Power(this.noiseElevation, new Const(3.0));
            NoiseDebugUI.StorePlanetNoise(this.noiseElevation, "noiseElevation");
            this.noiseElevation = new ScaleBias((double)WorldGenStep_Terrain.ElevationRange.Span, (double)WorldGenStep_Terrain.ElevationRange.min, this.noiseElevation);
        }