mirror of
https://github.com/Azgaar/Fantasy-Map-Generator.git
synced 2025-12-16 17:31:24 +01:00
feat: style - store emblem size mod in style (v1.99.10)
This commit is contained in:
parent
634ad6cd8e
commit
f129ff5573
18 changed files with 140 additions and 44 deletions
38
index.html
38
index.html
|
|
@ -1341,45 +1341,21 @@
|
||||||
<tr data-tip="Set state emblems size multiplier">
|
<tr data-tip="Set state emblems size multiplier">
|
||||||
<td>State size</td>
|
<td>State size</td>
|
||||||
<td>
|
<td>
|
||||||
<input
|
<slider-input id="emblemsStateSizeInput" min="0" max="5" step=".01"></slider-input>
|
||||||
id="emblemsStateSizeInput"
|
|
||||||
data-stored="emblemsStateSize"
|
|
||||||
type="number"
|
|
||||||
min="0"
|
|
||||||
max="5"
|
|
||||||
step=".02"
|
|
||||||
value="1"
|
|
||||||
/>
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr data-tip="Set province emblems size multiplier">
|
<tr data-tip="Set province emblems size multiplier">
|
||||||
<td>Province size</td>
|
<td>Province size</td>
|
||||||
<td>
|
<td>
|
||||||
<input
|
<slider-input id="emblemsProvinceSizeInput" min="0" max="5" step=".01"></slider-input>
|
||||||
id="emblemsProvinceSizeInput"
|
|
||||||
data-stored="emblemsProvinceSize"
|
|
||||||
type="number"
|
|
||||||
min="0"
|
|
||||||
max="5"
|
|
||||||
step=".02"
|
|
||||||
value="1"
|
|
||||||
/>
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr data-tip="Set burg emblems size multiplier">
|
<tr data-tip="Set burg emblems size multiplier">
|
||||||
<td>Burg size</td>
|
<td>Burg size</td>
|
||||||
<td>
|
<td>
|
||||||
<input
|
<slider-input id="emblemsBurgSizeInput" min="0" max="5" step=".01"></slider-input>
|
||||||
id="emblemsBurgSizeInput"
|
|
||||||
data-stored="emblemsBurgSize"
|
|
||||||
type="number"
|
|
||||||
min="0"
|
|
||||||
max="5"
|
|
||||||
step=".02"
|
|
||||||
value="1"
|
|
||||||
/>
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
|
|
@ -8015,7 +7991,7 @@
|
||||||
<script src="config/heightmap-templates.js"></script>
|
<script src="config/heightmap-templates.js"></script>
|
||||||
<script src="config/precreated-heightmaps.js"></script>
|
<script src="config/precreated-heightmaps.js"></script>
|
||||||
<script src="modules/heightmap-generator.js?v=1.99.00"></script>
|
<script src="modules/heightmap-generator.js?v=1.99.00"></script>
|
||||||
<script src="modules/ocean-layers.js?v=1.99.07"></script>
|
<script src="modules/ocean-layers.js?v=1.99.10"></script>
|
||||||
<script src="modules/river-generator.js?v=1.99.05"></script>
|
<script src="modules/river-generator.js?v=1.99.05"></script>
|
||||||
<script src="modules/lakes.js?v=1.99.00"></script>
|
<script src="modules/lakes.js?v=1.99.00"></script>
|
||||||
<script src="modules/biomes.js?v=1.99.00"></script>
|
<script src="modules/biomes.js?v=1.99.00"></script>
|
||||||
|
|
@ -8035,14 +8011,14 @@
|
||||||
<script src="modules/fonts.js?v=1.99.03"></script>
|
<script src="modules/fonts.js?v=1.99.03"></script>
|
||||||
<script src="modules/ui/layers.js?v=1.99.05"></script>
|
<script src="modules/ui/layers.js?v=1.99.05"></script>
|
||||||
<script src="modules/ui/measurers.js?v=1.99.00"></script>
|
<script src="modules/ui/measurers.js?v=1.99.00"></script>
|
||||||
<script src="modules/ui/stylePresets.js?v=1.99.03"></script>
|
<script src="modules/ui/stylePresets.js?v=1.99.10"></script>
|
||||||
|
|
||||||
<script src="modules/ui/general.js?v=1.99.05"></script>
|
<script src="modules/ui/general.js?v=1.99.05"></script>
|
||||||
<script src="modules/ui/options.js?v=1.99.05"></script>
|
<script src="modules/ui/options.js?v=1.99.05"></script>
|
||||||
<script src="main.js?v=1.99.00"></script>
|
<script src="main.js?v=1.99.00"></script>
|
||||||
|
|
||||||
<script defer src="modules/relief-icons.js?v=1.99.05"></script>
|
<script defer src="modules/relief-icons.js?v=1.99.05"></script>
|
||||||
<script defer src="modules/ui/style.js?v=1.99.08"></script>
|
<script defer src="modules/ui/style.js?v=1.99.10"></script>
|
||||||
<script defer src="modules/ui/editors.js?v=1.99.05"></script>
|
<script defer src="modules/ui/editors.js?v=1.99.05"></script>
|
||||||
<script defer src="modules/ui/tools.js?v=1.99.06"></script>
|
<script defer src="modules/ui/tools.js?v=1.99.06"></script>
|
||||||
<script defer src="modules/ui/world-configurator.js?v=1.99.00"></script>
|
<script defer src="modules/ui/world-configurator.js?v=1.99.00"></script>
|
||||||
|
|
@ -8079,7 +8055,7 @@
|
||||||
<script defer src="modules/ui/emblems-editor.js?v=1.99.00"></script>
|
<script defer src="modules/ui/emblems-editor.js?v=1.99.00"></script>
|
||||||
<script defer src="modules/ui/markers-editor.js?v=1.99.00"></script>
|
<script defer src="modules/ui/markers-editor.js?v=1.99.00"></script>
|
||||||
<script defer src="modules/ui/3d.js?v=1.99.00"></script>
|
<script defer src="modules/ui/3d.js?v=1.99.00"></script>
|
||||||
<script defer src="modules/ui/submap.js?v=1.99.05"></script>
|
<script defer src="modules/ui/submap.js?v=1.99.10"></script>
|
||||||
<script defer src="modules/ui/hotkeys.js?v=1.99.05"></script>
|
<script defer src="modules/ui/hotkeys.js?v=1.99.05"></script>
|
||||||
<script defer src="modules/coa-renderer.js?v=1.99.00"></script>
|
<script defer src="modules/coa-renderer.js?v=1.99.00"></script>
|
||||||
<script defer src="libs/rgbquant.min.js"></script>
|
<script defer src="libs/rgbquant.min.js"></script>
|
||||||
|
|
|
||||||
|
|
@ -1908,21 +1908,21 @@ function drawEmblems() {
|
||||||
const getStateEmblemsSize = () => {
|
const getStateEmblemsSize = () => {
|
||||||
const startSize = minmax((graphHeight + graphWidth) / 40, 10, 100);
|
const startSize = minmax((graphHeight + graphWidth) / 40, 10, 100);
|
||||||
const statesMod = 1 + validStates.length / 100 - (15 - validStates.length) / 200; // states number modifier
|
const statesMod = 1 + validStates.length / 100 - (15 - validStates.length) / 200; // states number modifier
|
||||||
const sizeMod = +byId("emblemsStateSizeInput").value || 1;
|
const sizeMod = +emblems.select("#stateEmblems").attr("data-size") || 1;
|
||||||
return rn((startSize / statesMod) * sizeMod); // target size ~50px on 1536x754 map with 15 states
|
return rn((startSize / statesMod) * sizeMod); // target size ~50px on 1536x754 map with 15 states
|
||||||
};
|
};
|
||||||
|
|
||||||
const getProvinceEmblemsSize = () => {
|
const getProvinceEmblemsSize = () => {
|
||||||
const startSize = minmax((graphHeight + graphWidth) / 100, 5, 70);
|
const startSize = minmax((graphHeight + graphWidth) / 100, 5, 70);
|
||||||
const provincesMod = 1 + validProvinces.length / 1000 - (115 - validProvinces.length) / 1000; // states number modifier
|
const provincesMod = 1 + validProvinces.length / 1000 - (115 - validProvinces.length) / 1000; // states number modifier
|
||||||
const sizeMod = +byId("emblemsProvinceSizeInput").value || 1;
|
const sizeMod = +emblems.select("#provinceEmblems").attr("data-size") || 1;
|
||||||
return rn((startSize / provincesMod) * sizeMod); // target size ~20px on 1536x754 map with 115 provinces
|
return rn((startSize / provincesMod) * sizeMod); // target size ~20px on 1536x754 map with 115 provinces
|
||||||
};
|
};
|
||||||
|
|
||||||
const getBurgEmblemSize = () => {
|
const getBurgEmblemSize = () => {
|
||||||
const startSize = minmax((graphHeight + graphWidth) / 185, 2, 50);
|
const startSize = minmax((graphHeight + graphWidth) / 185, 2, 50);
|
||||||
const burgsMod = 1 + validBurgs.length / 1000 - (450 - validBurgs.length) / 1000; // states number modifier
|
const burgsMod = 1 + validBurgs.length / 1000 - (450 - validBurgs.length) / 1000; // states number modifier
|
||||||
const sizeMod = +byId("emblemsBurgSizeInput").value || 1;
|
const sizeMod = +emblems.select("#burgEmblems").attr("data-size") || 1;
|
||||||
return rn((startSize / burgsMod) * sizeMod); // target size ~8.5px on 1536x754 map with 450 burgs
|
return rn((startSize / burgsMod) * sizeMod); // target size ~8.5px on 1536x754 map with 450 burgs
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -337,6 +337,9 @@ function selectStyleElement() {
|
||||||
styleEmblems.style.display = "block";
|
styleEmblems.style.display = "block";
|
||||||
styleStrokeWidth.style.display = "block";
|
styleStrokeWidth.style.display = "block";
|
||||||
styleStrokeWidthInput.value = el.attr("stroke-width") || 1;
|
styleStrokeWidthInput.value = el.attr("stroke-width") || 1;
|
||||||
|
emblemsStateSizeInput.value = emblems.select("#stateEmblems").attr("data-size") || 1;
|
||||||
|
emblemsProvinceSizeInput.value = emblems.select("#provinceEmblems").attr("data-size") || 1;
|
||||||
|
emblemsBurgSizeInput.value = emblems.select("#burgEmblems").attr("data-size") || 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// update group options
|
// update group options
|
||||||
|
|
@ -945,9 +948,20 @@ styleArmiesSize.addEventListener("input", e => {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
emblemsStateSizeInput.addEventListener("change", drawEmblems);
|
emblemsStateSizeInput.addEventListener("change", e => {
|
||||||
emblemsProvinceSizeInput.addEventListener("change", drawEmblems);
|
emblems.select("#stateEmblems").attr("data-size", e.target.value);
|
||||||
emblemsBurgSizeInput.addEventListener("change", drawEmblems);
|
drawEmblems();
|
||||||
|
});
|
||||||
|
|
||||||
|
emblemsProvinceSizeInput.addEventListener("change", e => {
|
||||||
|
emblems.select("#provinceEmblems").attr("data-size", e.target.value);
|
||||||
|
drawEmblems();
|
||||||
|
});
|
||||||
|
|
||||||
|
emblemsBurgSizeInput.addEventListener("change", e => {
|
||||||
|
emblems.select("#burgEmblems").attr("data-size", e.target.value);
|
||||||
|
drawEmblems();
|
||||||
|
});
|
||||||
|
|
||||||
// request a URL to image to be used as a texture
|
// request a URL to image to be used as a texture
|
||||||
function textureProvideURL() {
|
function textureProvideURL() {
|
||||||
|
|
|
||||||
|
|
@ -238,6 +238,9 @@ function addStylePreset() {
|
||||||
],
|
],
|
||||||
"#ice": ["opacity", "fill", "stroke", "stroke-width", "filter"],
|
"#ice": ["opacity", "fill", "stroke", "stroke-width", "filter"],
|
||||||
"#emblems": ["opacity", "stroke-width", "filter"],
|
"#emblems": ["opacity", "stroke-width", "filter"],
|
||||||
|
"#emblems > #stateEmblems": ["data-size"],
|
||||||
|
"#emblems > #provinceEmblems": ["data-size"],
|
||||||
|
"#emblems > #burgEmblems": ["data-size"],
|
||||||
"#texture": ["opacity", "filter", "mask", "data-x", "data-y", "data-href"],
|
"#texture": ["opacity", "filter", "mask", "data-x", "data-y", "data-href"],
|
||||||
"#zones": ["opacity", "stroke", "stroke-width", "stroke-dasharray", "stroke-linecap", "filter", "mask"],
|
"#zones": ["opacity", "stroke", "stroke-width", "stroke-dasharray", "stroke-linecap", "filter", "mask"],
|
||||||
"#oceanLayers": ["filter", "layers"],
|
"#oceanLayers": ["filter", "layers"],
|
||||||
|
|
|
||||||
|
|
@ -316,11 +316,6 @@ window.UISubmap = (function () {
|
||||||
bl.dataset["size"] = Math.max(rn((size + size / scale) / 2, 2), 1) * scale;
|
bl.dataset["size"] = Math.max(rn((size + size / scale) / 2, 2), 1) * scale;
|
||||||
}
|
}
|
||||||
|
|
||||||
// emblems
|
|
||||||
const emblemMod = minmax((scale - 1) * 0.3 + 1, 0.5, 5);
|
|
||||||
emblemsStateSizeInput.value = minmax(+emblemsStateSizeInput.value * emblemMod, 0.5, 5);
|
|
||||||
emblemsProvinceSizeInput.value = minmax(+emblemsProvinceSizeInput.value * emblemMod, 0.5, 5);
|
|
||||||
emblemsBurgSizeInput.value = minmax(+emblemsBurgSizeInput.value * emblemMod, 0.5, 5);
|
|
||||||
drawEmblems();
|
drawEmblems();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -258,6 +258,15 @@
|
||||||
"stroke-width": 0.8,
|
"stroke-width": 0.8,
|
||||||
"filter": "url(#dropShadow05)"
|
"filter": "url(#dropShadow05)"
|
||||||
},
|
},
|
||||||
|
"#emblems > #stateEmblems": {
|
||||||
|
"data-size": 1
|
||||||
|
},
|
||||||
|
"#emblems > #provinceEmblems": {
|
||||||
|
"data-size": 1
|
||||||
|
},
|
||||||
|
"#emblems > #burgEmblems": {
|
||||||
|
"data-size": 1
|
||||||
|
},
|
||||||
"#texture": {
|
"#texture": {
|
||||||
"opacity": 0.6,
|
"opacity": 0.6,
|
||||||
"filter": "",
|
"filter": "",
|
||||||
|
|
|
||||||
|
|
@ -258,6 +258,15 @@
|
||||||
"stroke-width": 1,
|
"stroke-width": 1,
|
||||||
"filter": null
|
"filter": null
|
||||||
},
|
},
|
||||||
|
"#emblems > #stateEmblems": {
|
||||||
|
"data-size": 1
|
||||||
|
},
|
||||||
|
"#emblems > #provinceEmblems": {
|
||||||
|
"data-size": 1
|
||||||
|
},
|
||||||
|
"#emblems > #burgEmblems": {
|
||||||
|
"data-size": 1
|
||||||
|
},
|
||||||
"#texture": {
|
"#texture": {
|
||||||
"opacity": 0.2,
|
"opacity": 0.2,
|
||||||
"filter": null,
|
"filter": null,
|
||||||
|
|
|
||||||
|
|
@ -260,6 +260,15 @@
|
||||||
"stroke-width": 1,
|
"stroke-width": 1,
|
||||||
"filter": null
|
"filter": null
|
||||||
},
|
},
|
||||||
|
"#emblems > #stateEmblems": {
|
||||||
|
"data-size": 1
|
||||||
|
},
|
||||||
|
"#emblems > #provinceEmblems": {
|
||||||
|
"data-size": 1
|
||||||
|
},
|
||||||
|
"#emblems > #burgEmblems": {
|
||||||
|
"data-size": 1
|
||||||
|
},
|
||||||
"#texture": {
|
"#texture": {
|
||||||
"opacity": 0.2,
|
"opacity": 0.2,
|
||||||
"filter": null,
|
"filter": null,
|
||||||
|
|
|
||||||
|
|
@ -256,7 +256,16 @@
|
||||||
"#emblems": {
|
"#emblems": {
|
||||||
"opacity": 0.75,
|
"opacity": 0.75,
|
||||||
"stroke-width": 0.5,
|
"stroke-width": 0.5,
|
||||||
"filter": ""
|
"filter": null
|
||||||
|
},
|
||||||
|
"#emblems > #stateEmblems": {
|
||||||
|
"data-size": 1
|
||||||
|
},
|
||||||
|
"#emblems > #provinceEmblems": {
|
||||||
|
"data-size": 1
|
||||||
|
},
|
||||||
|
"#emblems > #burgEmblems": {
|
||||||
|
"data-size": 1
|
||||||
},
|
},
|
||||||
"#texture": {
|
"#texture": {
|
||||||
"opacity": 0.2,
|
"opacity": 0.2,
|
||||||
|
|
|
||||||
|
|
@ -247,6 +247,15 @@
|
||||||
"stroke-width": 1,
|
"stroke-width": 1,
|
||||||
"filter": null
|
"filter": null
|
||||||
},
|
},
|
||||||
|
"#emblems > #stateEmblems": {
|
||||||
|
"data-size": 1
|
||||||
|
},
|
||||||
|
"#emblems > #provinceEmblems": {
|
||||||
|
"data-size": 1
|
||||||
|
},
|
||||||
|
"#emblems > #burgEmblems": {
|
||||||
|
"data-size": 1
|
||||||
|
},
|
||||||
"#texture": {
|
"#texture": {
|
||||||
"opacity": 0.2,
|
"opacity": 0.2,
|
||||||
"filter": null,
|
"filter": null,
|
||||||
|
|
|
||||||
|
|
@ -258,6 +258,15 @@
|
||||||
"stroke-width": 1,
|
"stroke-width": 1,
|
||||||
"filter": null
|
"filter": null
|
||||||
},
|
},
|
||||||
|
"#emblems > #stateEmblems": {
|
||||||
|
"data-size": 1
|
||||||
|
},
|
||||||
|
"#emblems > #provinceEmblems": {
|
||||||
|
"data-size": 1
|
||||||
|
},
|
||||||
|
"#emblems > #burgEmblems": {
|
||||||
|
"data-size": 1
|
||||||
|
},
|
||||||
"#texture": {
|
"#texture": {
|
||||||
"opacity": null,
|
"opacity": null,
|
||||||
"filter": null,
|
"filter": null,
|
||||||
|
|
|
||||||
|
|
@ -260,6 +260,15 @@
|
||||||
"stroke-width": 0.5,
|
"stroke-width": 0.5,
|
||||||
"filter": null
|
"filter": null
|
||||||
},
|
},
|
||||||
|
"#emblems > #stateEmblems": {
|
||||||
|
"data-size": 1
|
||||||
|
},
|
||||||
|
"#emblems > #provinceEmblems": {
|
||||||
|
"data-size": 1
|
||||||
|
},
|
||||||
|
"#emblems > #burgEmblems": {
|
||||||
|
"data-size": 1
|
||||||
|
},
|
||||||
"#texture": {
|
"#texture": {
|
||||||
"opacity": 0.8,
|
"opacity": 0.8,
|
||||||
"filter": null,
|
"filter": null,
|
||||||
|
|
|
||||||
|
|
@ -258,6 +258,15 @@
|
||||||
"stroke-width": 1,
|
"stroke-width": 1,
|
||||||
"filter": null
|
"filter": null
|
||||||
},
|
},
|
||||||
|
"#emblems > #stateEmblems": {
|
||||||
|
"data-size": 1
|
||||||
|
},
|
||||||
|
"#emblems > #provinceEmblems": {
|
||||||
|
"data-size": 1
|
||||||
|
},
|
||||||
|
"#emblems > #burgEmblems": {
|
||||||
|
"data-size": 1
|
||||||
|
},
|
||||||
"#texture": {
|
"#texture": {
|
||||||
"opacity": 0.4,
|
"opacity": 0.4,
|
||||||
"filter": null,
|
"filter": null,
|
||||||
|
|
|
||||||
|
|
@ -261,6 +261,15 @@
|
||||||
"stroke-width": 0.5,
|
"stroke-width": 0.5,
|
||||||
"filter": null
|
"filter": null
|
||||||
},
|
},
|
||||||
|
"#emblems > #stateEmblems": {
|
||||||
|
"data-size": 1
|
||||||
|
},
|
||||||
|
"#emblems > #provinceEmblems": {
|
||||||
|
"data-size": 1
|
||||||
|
},
|
||||||
|
"#emblems > #burgEmblems": {
|
||||||
|
"data-size": 1
|
||||||
|
},
|
||||||
"#zones": {
|
"#zones": {
|
||||||
"opacity": 0.6,
|
"opacity": 0.6,
|
||||||
"stroke": "#333333",
|
"stroke": "#333333",
|
||||||
|
|
|
||||||
|
|
@ -258,6 +258,15 @@
|
||||||
"stroke-width": null,
|
"stroke-width": null,
|
||||||
"filter": null
|
"filter": null
|
||||||
},
|
},
|
||||||
|
"#emblems > #stateEmblems": {
|
||||||
|
"data-size": 1
|
||||||
|
},
|
||||||
|
"#emblems > #provinceEmblems": {
|
||||||
|
"data-size": 1
|
||||||
|
},
|
||||||
|
"#emblems > #burgEmblems": {
|
||||||
|
"data-size": 1
|
||||||
|
},
|
||||||
"#texture": {
|
"#texture": {
|
||||||
"opacity": 0.1,
|
"opacity": 0.1,
|
||||||
"filter": null,
|
"filter": null,
|
||||||
|
|
|
||||||
|
|
@ -258,6 +258,15 @@
|
||||||
"stroke-width": 1,
|
"stroke-width": 1,
|
||||||
"filter": null
|
"filter": null
|
||||||
},
|
},
|
||||||
|
"#emblems > #stateEmblems": {
|
||||||
|
"data-size": 1
|
||||||
|
},
|
||||||
|
"#emblems > #provinceEmblems": {
|
||||||
|
"data-size": 1
|
||||||
|
},
|
||||||
|
"#emblems > #burgEmblems": {
|
||||||
|
"data-size": 1
|
||||||
|
},
|
||||||
"#texture": {
|
"#texture": {
|
||||||
"opacity": 0.4,
|
"opacity": 0.4,
|
||||||
"filter": null,
|
"filter": null,
|
||||||
|
|
|
||||||
|
|
@ -258,6 +258,15 @@
|
||||||
"stroke-width": 1,
|
"stroke-width": 1,
|
||||||
"filter": null
|
"filter": null
|
||||||
},
|
},
|
||||||
|
"#emblems > #stateEmblems": {
|
||||||
|
"data-size": 1
|
||||||
|
},
|
||||||
|
"#emblems > #provinceEmblems": {
|
||||||
|
"data-size": 1
|
||||||
|
},
|
||||||
|
"#emblems > #burgEmblems": {
|
||||||
|
"data-size": 1
|
||||||
|
},
|
||||||
"#texture": {
|
"#texture": {
|
||||||
"opacity": 0.2,
|
"opacity": 0.2,
|
||||||
"filter": null,
|
"filter": null,
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
// version and caching control
|
// version and caching control
|
||||||
const version = "1.99.09"; // generator version, update each time
|
const version = "1.99.10"; // generator version, update each time
|
||||||
|
|
||||||
{
|
{
|
||||||
document.title += " v" + version;
|
document.title += " v" + version;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue