private void EstimateComplexity()
{
// heightmap creation
progressTotalEstimate = 10;
if ( args.UseBias )
progressTotalEstimate += 2;
if ( args.LayeredHeightmap )
progressTotalEstimate += 10;
if ( args.MarbledHeightmap )
progressTotalEstimate++;
if ( args.InvertHeightmap )
progressTotalEstimate++;
// heightmap processing
if ( args.MatchWaterCoverage )
progressTotalEstimate += 2;
if ( args.BelowFuncExponent != 1 || args.AboveFuncExponent != 1 )
progressTotalEstimate += 5;
if ( args.CliffSmoothing )
progressTotalEstimate += 2;
progressTotalEstimate += 2; // slope
if ( args.MaxHeightVariation > 0 || args.MaxDepthVariation > 0 )
progressTotalEstimate += 5;
// filling
progressTotalEstimate += 15;
// post processing
if ( args.AddCaves )
progressTotalEstimate += 5;
if ( args.AddOre )
progressTotalEstimate += 3;
if ( args.AddBeaches )
progressTotalEstimate += 5;
if ( args.AddTrees )
progressTotalEstimate += 5;
}