feat(core): add cave-generation and fog tuning to Configuration
This commit is contained in:
@@ -23,4 +23,18 @@ public sealed class Configuration
|
|||||||
public int WindowHeight { get; set; } = 720;
|
public int WindowHeight { get; set; } = 720;
|
||||||
|
|
||||||
public int? Seed { get; set; } = null;
|
public int? Seed { get; set; } = null;
|
||||||
|
|
||||||
|
// -- Cave generation tuning --
|
||||||
|
public float CaveNoiseFrequency { get; set; } = 0.03f;
|
||||||
|
public float CaveNoiseThreshold { get; set; } = -0.3f;
|
||||||
|
public int WormCellSize { get; set; } = 64;
|
||||||
|
public int WormSpawnProbabilityPermille { get; set; } = 300;
|
||||||
|
public int WormMaxLength { get; set; } = 80;
|
||||||
|
public float WormMinRadius { get; set; } = 1.5f;
|
||||||
|
public float WormMaxRadius { get; set; } = 3.5f;
|
||||||
|
|
||||||
|
// -- Cave lighting (fog-distance darkness) --
|
||||||
|
public float CaveDarkStartY { get; set; } = 72f; // WorldConstants.SeaLevel + 8
|
||||||
|
public float CaveDarkEndY { get; set; } = 32f; // WorldConstants.SeaLevel - 32
|
||||||
|
public float CaveMinBrightness { get; set; } = 0.15f;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -54,4 +54,24 @@ public class ConfigurationTests
|
|||||||
Assert.Equal(800, c2.WindowWidth);
|
Assert.Equal(800, c2.WindowWidth);
|
||||||
Assert.Equal(600, c2.WindowHeight);
|
Assert.Equal(600, c2.WindowHeight);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void Defaults_HaveCaveTuningConstants()
|
||||||
|
{
|
||||||
|
var c = new Configuration();
|
||||||
|
|
||||||
|
// Algorithm
|
||||||
|
Assert.Equal(0.03f, c.CaveNoiseFrequency);
|
||||||
|
Assert.Equal(-0.3f, c.CaveNoiseThreshold);
|
||||||
|
Assert.Equal(64, c.WormCellSize);
|
||||||
|
Assert.Equal(300, c.WormSpawnProbabilityPermille);
|
||||||
|
Assert.Equal(80, c.WormMaxLength);
|
||||||
|
Assert.Equal(1.5f, c.WormMinRadius);
|
||||||
|
Assert.Equal(3.5f, c.WormMaxRadius);
|
||||||
|
|
||||||
|
// Lighting (fog)
|
||||||
|
Assert.Equal(72f, c.CaveDarkStartY); // SeaLevel (64) + 8
|
||||||
|
Assert.Equal(32f, c.CaveDarkEndY); // SeaLevel (64) - 32
|
||||||
|
Assert.Equal(0.15f, c.CaveMinBrightness);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user