Merge branch 'Azgaar:master' into master

This commit is contained in:
Aitor 2022-04-01 23:09:43 +02:00 committed by GitHub
commit b952376547
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 55 additions and 39 deletions

View file

@ -50,6 +50,7 @@ iframe {
mask-mode: alpha;
mask-clip: no-clip;
fill-rule: evenodd;
user-select: none;
}
#canvas {

36
main.js
View file

@ -172,6 +172,7 @@ landmass.append("rect").attr("x", 0).attr("y", 0).attr("width", graphWidth).attr
oceanPattern.append("rect").attr("fill", "url(#oceanic)").attr("x", 0).attr("y", 0).attr("width", graphWidth).attr("height", graphHeight);
oceanLayers.append("rect").attr("id", "oceanBase").attr("x", 0).attr("y", 0).attr("width", graphWidth).attr("height", graphHeight);
document.addEventListener("DOMContentLoaded", async () => {
if (!location.hostname) {
const wiki = "https://github.com/Azgaar/Fantasy-Map-Generator/wiki/Run-FMG-locally";
alertMessage.innerHTML = `Fantasy Map Generator cannot run serverless.
@ -193,8 +194,10 @@ if (!location.hostname) {
d3.select("#init-rose").transition().duration(4000).style("opacity", 0);
} else {
hideLoading();
checkLoadParameters();
await checkLoadParameters();
}
restoreDefaultEvents(); // apply default viewbox events
});
function hideLoading() {
const queryString = window.location.search;
@ -218,7 +221,7 @@ function showLoading() {
}
// decide which map should be loaded or generated on page load
function checkLoadParameters() {
async function checkLoadParameters() {
const url = new URL(window.location.href);
const params = url.searchParams;
@ -239,32 +242,39 @@ function checkLoadParameters() {
// if there is a seed (user of MFCG provided), generate map for it
if (params.get("seed")) {
WARN && console.warn("Generate map for seed");
generateMapOnLoad();
await generateMapOnLoad();
return;
}
// open latest map if option is active and map is stored
if (onloadMap.value === "saved") {
const loadLastMap = () => new Promise((resolve, reject) => {
ldb.get("lastMap", blob => {
if (blob) {
WARN && console.warn("Load last saved map");
try {
uploadMap(blob);
resolve();
} catch (error) {
reject(error);
}
} else {
reject("No map stored");
}
})
})
if (onloadMap.value === "saved") {
try {
await loadLastMap();
} catch(error) {
ERROR && console.error(error);
WARN && console.warn("Cannot load stored map, random map to be generated");
generateMapOnLoad();
await generateMapOnLoad();
}
} else {
ERROR && console.error("No map stored, random map to be generated");
generateMapOnLoad();
}
});
return;
}
WARN && console.warn("Generate random map");
generateMapOnLoad();
await generateMapOnLoad();
}
}
async function generateMapOnLoad() {

View file

@ -2,7 +2,6 @@
"use strict";
modules.editors = true;
restoreDefaultEvents(); // apply default viewbox events on load
// restore default viewbox events
function restoreDefaultEvents() {

View file

@ -1502,6 +1502,12 @@ function drawRivers() {
const riverPaths = pack.rivers.map(({cells, points, i, widthFactor, sourceWidth}) => {
if (!cells || cells.length < 2) return;
if (points && points.length !== cells.length) {
console.error(`River ${i} has ${cells.length} cells, but only ${points.length} points defined. Resetting points data`);
points = undefined;
}
const meanderedPoints = addMeandering(cells, points);
const path = getRiverPath(meanderedPoints, widthFactor, sourceWidth);
return `<path id="river${i}" d="${path}"/>`;

View file

@ -105,7 +105,7 @@ function showSupporters() {
Jonathan Williams,ojacid .,Brian Wilson,A Patreon of the Ahts,Shubham Jakhotiya,www15o,Jan Bundesmann,Angelique Badger,Joshua Xiong,Moist mongol,
Frank Fewkes,jason baldrick,Game Master Pro,Andrew Kircher,Preston Mitchell,Chris Kohut,Emarandzeb,Trentin Bergeron,Damon Gallaty,Pleaseworkforonce,
Jordan,William Markus,Sidr Dim,Alexander Whittaker,The Next Level,Patrick Valverde,Markus Peham,Daniel Cooper,the Beagles of Neorbus,Marley Moule,
Maximilian Schielke,Johnathan Xavier Hutchinson,Ele,Rita`;
Maximilian Schielke,Johnathan Xavier Hutchinson,Ele,Rita,Randy Ross,John Wick,RedSpaz,cameron cannon,Ian Grau-Fay,Kyle Barrett,Charlotte Wiland`;
const array = supporters
.replace(/(?:\r\n|\r|\n)/g, "")