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); }
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); }
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); }