diff --git a/main.js b/main.js index 1ba74caf..f65f245d 100644 --- a/main.js +++ b/main.js @@ -12,6 +12,21 @@ const TIME = !PRODUCTION; const WARN = 1; const ERROR = 1; +// constants to link density values to number of cells +const POINTS_1K = 1; +const POINTS_2K = 2; +const POINTS_5K = 3; +const POINTS_10K = 4; +const POINTS_20K = 5; +const POINTS_30K = 6; +const POINTS_40K = 7; +const POINTS_50K = 8; +const POINTS_60K = 9; +const POINTS_70K = 10; +const POINTS_80K = 11; +const POINTS_90K = 12; +const POINTS_100K = 13; + // if map version is not stored, clear localStorage and show a message if (rn(localStorage.getItem("version"), 2) !== rn(version, 2)) { localStorage.clear(); @@ -615,11 +630,11 @@ function generateSeed() { // Place points to calculate Voronoi diagram function placePoints() { TIME && console.time("placePoints"); - let cellsDesired = 10000 * (+densityInput.value - 3); // generate 10k points for each densityInput point + let cellsDesired = 10000 * (+densityInput.value - POINTS_5K); // generate 10k points for each densityInput point switch (+densityInput.value) { - case 1: cellsDesired = 1000; break; - case 2: cellsDesired = 2000; break; - case 3: cellsDesired = 5000; break; + case POINTS_1K: cellsDesired = 1000; break; + case POINTS_2K: cellsDesired = 2000; break; + case POINTS_5K: cellsDesired = 5000; break; } const spacing = grid.spacing = rn(Math.sqrt(graphWidth * graphHeight / cellsDesired), 2); // spacing between points before jirrering grid.boundary = getBoundaryPoints(graphWidth, graphHeight, spacing); diff --git a/modules/heightmap-generator.js b/modules/heightmap-generator.js index 38179428..b241c78e 100644 --- a/modules/heightmap-generator.js +++ b/modules/heightmap-generator.js @@ -187,37 +187,37 @@ function getBlobPower() { switch (+densityInput.value) { - case 1: return .93; - case 2: return .95; - case 3: return .96; - case 4: return .98; - case 5: return .985; - case 6: return .987; - case 7: return .9892; - case 8: return .9911; - case 9: return .9921; - case 10: return .9934; - case 11: return .9942; - case 12: return .9946; - case 13: return .995; + case POINTS_1K: return .93; + case POINTS_2K: return .95; + case POINTS_5K: return .96; + case POINTS_10K: return .98; + case POINTS_20K: return .985; + case POINTS_30K: return .987; + case POINTS_40K: return .9892; + case POINTS_50K: return .9911; + case POINTS_60K: return .9921; + case POINTS_70K: return .9934; + case POINTS_80K: return .9942; + case POINTS_90K: return .9946; + case POINTS_100K: return .995; } } function getLinePower() { switch (+densityInput.value) { - case 1: return .74; - case 2: return .75; - case 3: return .78; - case 4: return .81; - case 5: return .82; - case 6: return .83; - case 7: return .84; - case 8: return .855; - case 9: return .87; - case 10: return .885; - case 11: return .91; - case 12: return .92; - case 13: return .93; + case POINTS_1K: return .74; + case POINTS_2K: return .75; + case POINTS_5K: return .78; + case POINTS_10K: return .81; + case POINTS_20K: return .82; + case POINTS_30K: return .83; + case POINTS_40K: return .84; + case POINTS_50K: return .855; + case POINTS_60K: return .87; + case POINTS_70K: return .885; + case POINTS_80K: return .91; + case POINTS_90K: return .92; + case POINTS_100K: return .93; } } diff --git a/modules/ui/options.js b/modules/ui/options.js index 26deb348..25a927b0 100644 --- a/modules/ui/options.js +++ b/modules/ui/options.js @@ -277,13 +277,13 @@ function copyMapURL() { function changeCellsDensity(value) { switch (value) { - case 1 : densityOutput.value = "1K"; break; - case 2 : densityOutput.value = "2K"; break; - case 3 : densityOutput.value = "5K"; break; - default: densityOutput.value = (value-3) * 10 + "K"; + case POINTS_1K : densityOutput.value = "1K"; break; + case POINTS_2K : densityOutput.value = "2K"; break; + case POINTS_5K : densityOutput.value = "5K"; break; + default: densityOutput.value = (value-POINTS_5K) * 10 + "K"; } - if (value > 9) densityOutput.style.color = "#b12117"; - else if (value > 4) densityOutput.style.color = "#dfdf12"; + if (value > POINTS_50K) densityOutput.style.color = "#b12117"; + else if (value > POINTS_10K) densityOutput.style.color = "#dfdf12"; else densityOutput.style.color = "#038603"; }