mirror of
https://github.com/Azgaar/Fantasy-Map-Generator.git
synced 2025-12-22 12:01:23 +01:00
markers - generate from config file
This commit is contained in:
parent
0530ebbde7
commit
b156f3cdf9
6 changed files with 499 additions and 839 deletions
27
index.css
27
index.css
|
|
@ -439,7 +439,32 @@ button.options:hover {
|
|||
cursor: pointer;
|
||||
}
|
||||
|
||||
input[type='color'] {
|
||||
#options button i.icon-cog {
|
||||
position: absolute;
|
||||
padding: 0.1em 0.3em;
|
||||
background-color: var(--bg-lighter);
|
||||
border-radius: 50%;
|
||||
visibility: hidden;
|
||||
opacity: 0;
|
||||
transition: 0.4s ease-in-out;
|
||||
}
|
||||
|
||||
#options button i.icon-cog:hover {
|
||||
color: #111;
|
||||
background-color: var(--bg-light);
|
||||
transform: rotateZ(180deg);
|
||||
}
|
||||
|
||||
#options button i.icon-cog:active {
|
||||
transform: translateY(1px);
|
||||
}
|
||||
|
||||
#options button:hover i.icon-cog {
|
||||
visibility: visible;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
input[type="color"] {
|
||||
-webkit-appearance: none;
|
||||
cursor: pointer;
|
||||
border: 1px solid #a9a9a9;
|
||||
|
|
|
|||
76
index.html
76
index.html
|
|
@ -335,20 +335,11 @@
|
|||
</svg>
|
||||
|
||||
<div id="loading">
|
||||
<svg width="100%" height="100%">
|
||||
<rect x="-1%" y="-1%" width="102%" height="102%" fill="#466eab" />
|
||||
<rect x="-1%" y="-1%" width="102%" height="102%" fill="url(#oceanic)" />
|
||||
</svg>
|
||||
<svg id="loading-rose" width="100%" height="100%" viewBox="0 0 700 700">
|
||||
<use href="#rose" x="50%" y="50%" />
|
||||
</svg>
|
||||
<div id="loading-typography">
|
||||
<div id="titleName"><t data-t="titleName">Azgaar's</t></div>
|
||||
<div id="title"><t data-t="title">Fantasy Map Generator</t></div>
|
||||
<div id="versionText"><t data-t="version">v</t><span id="version"></span></div>
|
||||
<div id="version"><t data-t="version">v. </t>1.66</div>
|
||||
<p id="loading-text"><t data-t="loading">LOADING</t><span>.</span><span>.</span><span>.</span></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="optionsContainer" style="opacity: 0">
|
||||
<div id="collapsible">
|
||||
|
|
@ -2018,65 +2009,22 @@
|
|||
|
||||
<p>Click to regenerate:</p>
|
||||
<div id="regenerateFeature">
|
||||
<button
|
||||
id="regenerateStateLabels"
|
||||
data-tip="Click to update state labels placement based on current borders"
|
||||
>
|
||||
Labels
|
||||
</button>
|
||||
<button
|
||||
id="regenerateReliefIcons"
|
||||
data-tip="Click to regenerate all relief icons based on current cell biome and elevation"
|
||||
>
|
||||
Relief
|
||||
</button>
|
||||
<button id="regenerateStateLabels" data-tip="Click to update state labels placement based on current borders">Labels</button>
|
||||
<button id="regenerateReliefIcons" data-tip="Click to regenerate all relief icons based on current cell biome and elevation">Relief</button>
|
||||
<button id="regenerateRoutes" data-tip="Click to regenerate all routes">Routes</button>
|
||||
<button id="regenerateRivers" data-tip="Click to regenerate all rivers (restore default state)">
|
||||
Rivers
|
||||
</button>
|
||||
<button id="regeneratePopulation" data-tip="Click to recalculate rural and urban population">
|
||||
Population
|
||||
</button>
|
||||
<button
|
||||
id="regenerateStates"
|
||||
data-tip="Click to select new capitals and regenerate states. Emblems and military forces will be regenerated as well, burgs will remain as they are"
|
||||
>
|
||||
States
|
||||
</button>
|
||||
<button id="regenerateProvinces" data-tip="Click to regenerate provinces. States will remain as they are">
|
||||
Provinces
|
||||
</button>
|
||||
<button
|
||||
id="regenerateBurgs"
|
||||
data-tip="Click to regenerate all unlocked burgs and routes. States will remain as they are. Note: burgs are only generated in populated areas with culture assigned"
|
||||
>
|
||||
Burgs
|
||||
</button>
|
||||
<button
|
||||
id="regenerateResources"
|
||||
data-tip="Click to regenerate resources"
|
||||
>
|
||||
Resources
|
||||
</button>
|
||||
<button id="regenerateRivers" data-tip="Click to regenerate all rivers (restore default state)">Rivers</button>
|
||||
<button id="regeneratePopulation" data-tip="Click to recalculate rural and urban population">Population</button>
|
||||
<button id="regenerateStates" data-tip="Click to select new capitals and regenerate states. Emblems and military forces will be regenerated as well, burgs will remain as they are">States</button>
|
||||
<button id="regenerateProvinces" data-tip="Click to regenerate provinces. States will remain as they are">Provinces</button>
|
||||
<button id="regenerateBurgs" data-tip="Click to regenerate all unlocked burgs and routes. States will remain as they are">Burgs</button>
|
||||
<button id="regenerateResources" data-tip="Click to regenerate resources">Resources</button>
|
||||
<button id="regenerateEmblems" data-tip="Click to regenerate all emblems">Emblems</button>
|
||||
<button id="regenerateReligions" data-tip="Click to regenerate religions">Religions</button>
|
||||
<button id="regenerateCultures" data-tip="Click to regenerate cultures">Cultures</button>
|
||||
<button
|
||||
id="regenerateMilitary"
|
||||
data-tip="Click to recalculate military forces based on current military options"
|
||||
>
|
||||
Military
|
||||
</button>
|
||||
<button id="regenerateMilitary" data-tip="Click to recalculate military forces based on current military options">Military</button>
|
||||
<button id="regenerateIce" data-tip="Click to icebergs and glaciers">Ice</button>
|
||||
<button id="regenerateMarkers" data-tip="Click to regenerate markers">
|
||||
Markers <i id="configRegenerateMarkers" class="icon-cog" data-tip="Click to set number multiplier"></i>
|
||||
</button>
|
||||
<button
|
||||
id="regenerateZones"
|
||||
data-tip="Click to regenerate zones. Hold Ctrl and click to set zones number multiplier"
|
||||
>
|
||||
Zones
|
||||
</button>
|
||||
<button id="regenerateMarkers" data-tip="Click to regenerate markers. Hold Ctrl and click to set markers number multiplier">Markers</button>
|
||||
<button id="regenerateZones" data-tip="Click to regenerate zones. Hold Ctrl and click to set zones number multiplier">Zones</button>
|
||||
</div>
|
||||
|
||||
<p>Click to add:</p>
|
||||
|
|
|
|||
5
main.js
5
main.js
|
|
@ -2,7 +2,10 @@
|
|||
// https://github.com/Azgaar/Fantasy-Map-Generator
|
||||
|
||||
"use strict";
|
||||
// set debug options
|
||||
const version = "1.662"; // generator version
|
||||
document.title += " v" + version;
|
||||
|
||||
// Switches to disable/enable logging features
|
||||
const PRODUCTION = location.hostname && location.hostname !== "localhost" && location.hostname !== "127.0.0.1";
|
||||
const DEBUG = localStorage.getItem("debug");
|
||||
const INFO = DEBUG || !PRODUCTION;
|
||||
|
|
|
|||
|
|
@ -877,8 +877,10 @@ function parseLoadedData(data) {
|
|||
borders.attr('style', null);
|
||||
}
|
||||
|
||||
// ecomonics:
|
||||
// calculate salesTax for all states
|
||||
if (version < 1.7) {
|
||||
// v 1.7 changed markers data
|
||||
// TODO: get markers data from svg
|
||||
}
|
||||
})();
|
||||
|
||||
void (function checkDataIntegrity() {
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -1,36 +1,36 @@
|
|||
"use strict";
|
||||
// module to control the Tools options (click to edit, to re-geenerate, tp add)
|
||||
'use strict';
|
||||
|
||||
toolsContent.addEventListener("click", function (event) {
|
||||
if (customization) return tip("Please exit the customization mode first", false, "warning");
|
||||
if (!["BUTTON", "I"].includes(event.target.tagName)) return;
|
||||
const button = event.target.id;
|
||||
|
||||
// click on open Editor buttons
|
||||
if (button === "editHeightmapButton") editHeightmap();
|
||||
else if (button === "editBiomesButton") editBiomes();
|
||||
else if (button === "editStatesButton") editStates();
|
||||
else if (button === "editProvincesButton") editProvinces();
|
||||
else if (button === "editDiplomacyButton") editDiplomacy();
|
||||
else if (button === "editCulturesButton") editCultures();
|
||||
else if (button === "editReligions") editReligions();
|
||||
// Click to open Editor buttons
|
||||
if (button === 'editHeightmapButton') editHeightmap();
|
||||
else if (button === 'editBiomesButton') editBiomes();
|
||||
else if (button === 'editStatesButton') editStates();
|
||||
else if (button === 'editProvincesButton') editProvinces();
|
||||
else if (button === 'editDiplomacyButton') editDiplomacy();
|
||||
else if (button === 'editCulturesButton') editCultures();
|
||||
else if (button === 'editReligions') editReligions();
|
||||
else if (button === 'editResources') editResources();
|
||||
else if (button === "editEmblemButton") openEmblemEditor();
|
||||
else if (button === "editNamesBaseButton") editNamesbase();
|
||||
else if (button === "editUnitsButton") editUnits();
|
||||
else if (button === "editNotesButton") editNotes();
|
||||
else if (button === "editZonesButton") editZones();
|
||||
else if (button === "overviewChartsButton") overviewCharts();
|
||||
else if (button === "overviewBurgsButton") overviewBurgs();
|
||||
else if (button === "overviewRiversButton") overviewRivers();
|
||||
else if (button === "overviewMilitaryButton") overviewMilitary();
|
||||
else if (button === "overviewMarkersButton") overviewMarkers();
|
||||
else if (button === "overviewCellsButton") viewCellDetails();
|
||||
else if (button === 'editEmblemButton') openEmblemEditor();
|
||||
else if (button === 'editNamesBaseButton') editNamesbase();
|
||||
else if (button === 'editUnitsButton') editUnits();
|
||||
else if (button === 'editNotesButton') editNotes();
|
||||
else if (button === 'editZonesButton') editZones();
|
||||
else if (button === 'overviewBurgsButton') overviewBurgs();
|
||||
else if (button === 'overviewRiversButton') overviewRivers();
|
||||
else if (button === 'overviewMilitaryButton') overviewMilitary();
|
||||
else if (button === 'overviewCellsButton') viewCellDetails();
|
||||
|
||||
// click on Regenerate buttons
|
||||
if (event.target.parentNode.id === "regenerateFeature") {
|
||||
const dontAsk = sessionStorage.getItem("regenerateFeatureDontAsk");
|
||||
if (dontAsk) return processFeatureRegeneration(event, button);
|
||||
// Click to Regenerate buttons
|
||||
if (event.target.parentNode.id === 'regenerateFeature') {
|
||||
if (sessionStorage.getItem('regenerateFeatureDontAsk')) {
|
||||
processFeatureRegeneration(event, button);
|
||||
return;
|
||||
}
|
||||
|
||||
alertMessage.innerHTML = /* html */ `Regeneration will remove all the custom changes for the element.<br /><br />Are you sure you want to proceed?`;
|
||||
$("#alert").dialog({
|
||||
|
|
@ -59,18 +59,12 @@ toolsContent.addEventListener("click", function (event) {
|
|||
});
|
||||
}
|
||||
|
||||
// click on Configure regenerate buttons
|
||||
if (button === "configRegenerateMarkers") configMarkersGeneration();
|
||||
|
||||
// click on Add buttons
|
||||
if (button === "addLabel") toggleAddLabel();
|
||||
else if (button === "addBurgTool") toggleAddBurg();
|
||||
else if (button === "addRiver") toggleAddRiver();
|
||||
else if (button === "addRoute") toggleAddRoute();
|
||||
else if (button === "addMarker") toggleAddMarker();
|
||||
// click to create a new map buttons
|
||||
else if (button === "openSubmapMenu") UISubmap.openSubmapMenu();
|
||||
else if (button === "openResampleMenu") UISubmap.openResampleMenu();
|
||||
// Click to Add buttons
|
||||
if (button === 'addLabel') toggleAddLabel();
|
||||
else if (button === 'addBurgTool') toggleAddBurg();
|
||||
else if (button === 'addRiver') toggleAddRiver();
|
||||
else if (button === 'addRoute') toggleAddRoute();
|
||||
else if (button === 'addMarker') toggleAddMarker();
|
||||
});
|
||||
|
||||
function processFeatureRegeneration(event, button) {
|
||||
|
|
@ -82,20 +76,20 @@ function processFeatureRegeneration(event, button) {
|
|||
if (!layerIsOn("toggleRelief")) toggleRelief();
|
||||
} else if (button === "regenerateRoutes") {
|
||||
Routes.regenerate();
|
||||
if (!layerIsOn("toggleRoutes")) toggleRoutes();
|
||||
} else if (button === "regenerateRivers") regenerateRivers();
|
||||
else if (button === "regeneratePopulation") recalculatePopulation();
|
||||
else if (button === "regenerateStates") regenerateStates();
|
||||
else if (button === "regenerateProvinces") regenerateProvinces();
|
||||
else if (button === "regenerateBurgs") regenerateBurgs();
|
||||
if (!layerIsOn('toggleRoutes')) toggleRoutes();
|
||||
} else if (button === 'regenerateRivers') regenerateRivers();
|
||||
else if (button === 'regeneratePopulation') recalculatePopulation();
|
||||
else if (button === 'regenerateStates') regenerateStates();
|
||||
else if (button === 'regenerateProvinces') regenerateProvinces();
|
||||
else if (button === 'regenerateBurgs') regenerateBurgs();
|
||||
else if (button === 'regenerateResources') regenerateResources();
|
||||
else if (button === "regenerateEmblems") regenerateEmblems();
|
||||
else if (button === "regenerateReligions") regenerateReligions();
|
||||
else if (button === "regenerateCultures") regenerateCultures();
|
||||
else if (button === "regenerateMilitary") regenerateMilitary();
|
||||
else if (button === "regenerateIce") regenerateIce();
|
||||
else if (button === "regenerateMarkers") regenerateMarkers();
|
||||
else if (button === "regenerateZones") regenerateZones(event);
|
||||
else if (button === 'regenerateEmblems') regenerateEmblems();
|
||||
else if (button === 'regenerateReligions') regenerateReligions();
|
||||
else if (button === 'regenerateCultures') regenerateCultures();
|
||||
else if (button === 'regenerateMilitary') regenerateMilitary();
|
||||
else if (button === 'regenerateIce') regenerateIce();
|
||||
else if (button === 'regenerateMarkers') regenerateMarkers(event);
|
||||
else if (button === 'regenerateZones') regenerateZones(event);
|
||||
}
|
||||
|
||||
async function openEmblemEditor() {
|
||||
|
|
@ -443,11 +437,23 @@ function regenerateIce() {
|
|||
drawIce();
|
||||
}
|
||||
|
||||
function regenerateMarkers() {
|
||||
Markers.regenerate();
|
||||
function regenerateMarkers(event) {
|
||||
if (isCtrlClick(event)) prompt("Please provide markers number multiplier", {default: 1, step: 0.01, min: 0, max: 100}, v => addNumberOfMarkers(v));
|
||||
else addNumberOfMarkers();
|
||||
|
||||
function addNumberOfMarkers(multiplier) {
|
||||
pack.markers = pack.markers.filter(marker => {
|
||||
if (marker.lock) return true;
|
||||
document.getElementById(`marker${marker.i}`)?.remove();
|
||||
const index = notes.findIndex(note => note.id === marker.id);
|
||||
if (index != -1) notes.splice(index, 1);
|
||||
return false;
|
||||
});
|
||||
|
||||
Markers.regenerate(multiplier);
|
||||
turnButtonOn("toggleMarkers");
|
||||
drawMarkers();
|
||||
if (document.getElementById("markersOverviewRefresh").offsetParent) markersOverviewRefresh.click();
|
||||
}
|
||||
}
|
||||
|
||||
function regenerateZones(event) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue