diff --git a/index.css b/index.css index ad272338..27f9c86c 100644 --- a/index.css +++ b/index.css @@ -793,17 +793,20 @@ body button.noicon { pointer-events: none; } -#brushesPanel>div, -#templateEditor>div { +#brushesPanel > div { margin: 2px 0; } +#templateEditor > div { + margin: 1px 0; +} + #templateEditor #templateTools { display: inline-block; margin-bottom: -.3em; } -#templateBody>div { +#templateBody > div { border: 1px solid #a3a3a3; border-radius: 1px; background-image: linear-gradient(to right, #ffffff 0%, #fafafa 51%, #ebebeb 100%); @@ -812,7 +815,7 @@ body button.noicon { height: 1.2em; } -#templateBody>div:hover { +#templateBody > div:hover { border-color: #808080; background-image: linear-gradient(to right, #fcfcfc 0%, #ededed 51%, #dedede 100%); } @@ -823,7 +826,7 @@ body button.noicon { #templateBody > div > span { float: right; - margin: 0 1px 0 .5m; + margin: 0 1px 0 .5px; } #templateBody > div > i { @@ -844,6 +847,7 @@ body button.noicon { #templateBody select { width: 8em; + height: 1.4em; cursor: pointer; font-size: .9em; } diff --git a/index.html b/index.html index 0c605d8a..a04559f5 100644 --- a/index.html +++ b/index.html @@ -1541,6 +1541,7 @@ + @@ -2367,6 +2368,7 @@ +
@@ -2379,7 +2381,7 @@
-
+
Hill
diff --git a/modules/heightmap-generator.js b/modules/heightmap-generator.js index bdd04b35..accbbbae 100644 --- a/modules/heightmap-generator.js +++ b/modules/heightmap-generator.js @@ -8,8 +8,7 @@ const generate = function() { console.time('generateHeightmap'); - cells = grid.cells; - p = grid.points; + cells = grid.cells, p = grid.points; cells.h = new Uint8Array(grid.points.length); const input = document.getElementById("templateInput"); @@ -19,12 +18,13 @@ "High Island": 22, "Low Island": 10, "Continents": 20, - "Archipelago": 32, + "Archipelago": 30, "Mediterranean":3, "Peninsula": 3, "Pangea": 2, "Isthmus": 2, - "Atoll": 1}; + "Atoll": 1, + "Shattered": 2}; input.value = rw(templates); } @@ -39,6 +39,7 @@ case "Peninsula": templatePeninsula(); break; case "Pangea": templatePangea(); break; case "Isthmus": templateIsthmus(); break; + case "Shattered": templateShattered(); break; } console.timeEnd('generateHeightmap'); @@ -193,6 +194,14 @@ addStep("Trough", "4-8", "15-30", "70-100", "80-100"); } + // Heighmap Template: Shattered + function templateShattered() { + addStep("Hill", "8", "35-40", "15-85", "30-70"); + addStep("Trough", "10-20", "40-50", "5-95", "5-95"); + addStep("Range", "5-7", "30-40", "10-90", "20-80"); + addStep("Pit", "12-20", "30-40", "15-85", "20-80"); + } + function getBlobPower() { switch (+densityInput.value) { case 1: return .98; diff --git a/modules/ui/heightmap-editor.js b/modules/ui/heightmap-editor.js index bb2d1bd0..bb1b6cd0 100644 --- a/modules/ui/heightmap-editor.js +++ b/modules/ui/heightmap-editor.js @@ -570,7 +570,7 @@ function getHeight(h) { if (modules.openTemplateEditor) return; modules.openTemplateEditor = true; - $("#templateBody").sortable({items: "div", handle: ".icon-resize-vertical", containment: "parent", axis: "y"}); + $("#templateBody").sortable({items: "> div", handle: ".icon-resize-vertical", containment: "#templateBody", axis: "y"}); // add listeners body.addEventListener("click", function(ev) { @@ -799,6 +799,13 @@ function getHeight(h) { addStep("Trough", "4-8", "15-30", "70-100", "80-100"); } + else if (template === "templateShattered") { + addStep("Hill", "8", "35-40", "15-85", "30-70"); + addStep("Trough", "10-20", "40-50", "5-95", "5-95"); + addStep("Range", "5-7", "30-40", "10-90", "20-80"); + addStep("Pit", "12-20", "30-40", "15-85", "20-80"); + } + } function executeTemplate() { diff --git a/modules/utils.js b/modules/utils.js index b18f4da8..e67e6fa9 100644 --- a/modules/utils.js +++ b/modules/utils.js @@ -478,7 +478,7 @@ function analizeNamesbase() { if (string[i] === string[i-1]) doubleArray[string[i]]++; } for (const l in doubleArray) {if(doubleArray[l] > size/35) double += l;} - const multi = rn(d3.mean(d.map(n => (n.match(/ /g)||[]).length)),2); + const multi = rn(d3.mean(d.map(n => (n.match(/ /g)||[]).length-1)),2); result.push({name:b.name, size, min, max, mean, median, common, double, multi}); }); console.table(result);