mirror of
https://github.com/Azgaar/Fantasy-Map-Generator.git
synced 2026-03-22 07:07:24 +01:00
This commit is contained in:
parent
0ff0311a98
commit
a276b61b2d
5 changed files with 71 additions and 31 deletions
|
|
@ -253,8 +253,8 @@ export function resolveVersionConflicts(mapVersion) {
|
|||
const source = findCell(s.x, s.y);
|
||||
const mouth = findCell(e.x, e.y);
|
||||
const name = Rivers.getName(mouth);
|
||||
const type = length < 25 ? rw({ Creek: 9, River: 3, Brook: 3, Stream: 1 }) : "River";
|
||||
pack.rivers.push({ i, parent: 0, length, source, mouth, basin: i, name, type });
|
||||
const type = length < 25 ? rw({Creek: 9, River: 3, Brook: 3, Stream: 1}) : "River";
|
||||
pack.rivers.push({i, parent: 0, length, source, mouth, basin: i, name, type});
|
||||
});
|
||||
}
|
||||
|
||||
|
|
@ -270,7 +270,7 @@ export function resolveVersionConflicts(mapVersion) {
|
|||
const era = Names.getBaseShort(P(0.7) ? 1 : rand(nameBases.length)) + " Era";
|
||||
const eraShort = era[0] + "E";
|
||||
const military = Military.getDefaultOptions();
|
||||
options = { winds, year, era, eraShort, military };
|
||||
options = {winds, year, era, eraShort, military};
|
||||
|
||||
// v1.3 added campaings data for all states
|
||||
States.generateCampaigns();
|
||||
|
|
@ -481,7 +481,7 @@ export function resolveVersionConflicts(mapVersion) {
|
|||
if (isOlderThan("1.65.0")) {
|
||||
// v1.65 changed rivers data
|
||||
d3.select("#rivers").attr("style", null); // remove style to unhide layer
|
||||
const { cells, rivers } = pack;
|
||||
const {cells, rivers} = pack;
|
||||
const defaultWidthFactor = rn(1 / (pointsInput.dataset.cells / 10000) ** 0.25, 2);
|
||||
|
||||
for (const river of rivers) {
|
||||
|
|
@ -497,8 +497,8 @@ export function resolveVersionConflicts(mapVersion) {
|
|||
|
||||
for (let i = 0; i <= segments; i++) {
|
||||
const shift = increment * i;
|
||||
const { x: x1, y: y1 } = node.getPointAtLength(length + shift);
|
||||
const { x: x2, y: y2 } = node.getPointAtLength(length - shift);
|
||||
const {x: x1, y: y1} = node.getPointAtLength(length + shift);
|
||||
const {x: x2, y: y2} = node.getPointAtLength(length - shift);
|
||||
const x = rn((x1 + x2) / 2, 1);
|
||||
const y = rn((y1 + y2) / 2, 1);
|
||||
|
||||
|
|
@ -565,7 +565,7 @@ export function resolveVersionConflicts(mapVersion) {
|
|||
const fill = circle && circle.getAttribute("fill");
|
||||
const stroke = circle && circle.getAttribute("stroke");
|
||||
|
||||
const marker = { i, icon, type, x, y, size, cell };
|
||||
const marker = {i, icon, type, x, y, size, cell};
|
||||
if (size && size !== 30) marker.size = size;
|
||||
if (!isNaN(px) && px !== 12) marker.px = px;
|
||||
if (!isNaN(dx) && dx !== 50) marker.dx = dx;
|
||||
|
|
@ -631,7 +631,7 @@ export function resolveVersionConflicts(mapVersion) {
|
|||
|
||||
if (isOlderThan("1.88.0")) {
|
||||
// v1.87 may have incorrect shield for some reason
|
||||
pack.states.forEach(({ coa }) => {
|
||||
pack.states.forEach(({coa}) => {
|
||||
if (coa?.shield === "state") delete coa.shield;
|
||||
});
|
||||
}
|
||||
|
|
@ -639,13 +639,13 @@ export function resolveVersionConflicts(mapVersion) {
|
|||
if (isOlderThan("1.91.0")) {
|
||||
// from 1.91.00 custom coa is moved to coa object
|
||||
pack.states.forEach(state => {
|
||||
if (state.coa === "custom") state.coa = { custom: true };
|
||||
if (state.coa === "custom") state.coa = {custom: true};
|
||||
});
|
||||
pack.provinces.forEach(province => {
|
||||
if (province.coa === "custom") province.coa = { custom: true };
|
||||
if (province.coa === "custom") province.coa = {custom: true};
|
||||
});
|
||||
pack.burgs.forEach(burg => {
|
||||
if (burg.coa === "custom") burg.coa = { custom: true };
|
||||
if (burg.coa === "custom") burg.coa = {custom: true};
|
||||
});
|
||||
|
||||
// from 1.91.00 emblems don't have transform attribute
|
||||
|
|
@ -747,7 +747,7 @@ export function resolveVersionConflicts(mapVersion) {
|
|||
const skip = terrs.attr("skip");
|
||||
const relax = terrs.attr("relax");
|
||||
|
||||
const curveTypes = { 0: "curveBasisClosed", 1: "curveLinear", 2: "curveStep" };
|
||||
const curveTypes = {0: "curveBasisClosed", 1: "curveLinear", 2: "curveStep"};
|
||||
const curve = curveTypes[terrs.attr("curve")] || "curveBasisClosed";
|
||||
|
||||
terrs
|
||||
|
|
@ -882,7 +882,7 @@ export function resolveVersionConflicts(mapVersion) {
|
|||
const secondCellId = points[1][2];
|
||||
const feature = pack.cells.f[secondCellId];
|
||||
|
||||
pack.routes.push({ i: pack.routes.length, group, feature, points });
|
||||
pack.routes.push({i: pack.routes.length, group, feature, points});
|
||||
}
|
||||
}
|
||||
routes.selectAll("path").remove();
|
||||
|
|
@ -914,7 +914,7 @@ export function resolveVersionConflicts(mapVersion) {
|
|||
const type = this.dataset.type;
|
||||
const color = this.getAttribute("fill");
|
||||
const cells = this.dataset.cells.split(",").map(Number);
|
||||
pack.zones.push({ i, name, type, cells, color });
|
||||
pack.zones.push({i, name, type, cells, color});
|
||||
});
|
||||
zones.style("display", null).selectAll("*").remove();
|
||||
if (layerIsOn("toggleZones")) drawZones();
|
||||
|
|
@ -975,7 +975,7 @@ export function resolveVersionConflicts(mapVersion) {
|
|||
|
||||
if (isOlderThan("1.109.0")) {
|
||||
// v1.109.0 added customizable burg groups and icons
|
||||
options.burgs = { groups: [] };
|
||||
options.burgs = {groups: []};
|
||||
|
||||
burgIcons.selectAll("circle, use").each(function () {
|
||||
const group = this.parentNode.id;
|
||||
|
|
@ -987,7 +987,7 @@ export function resolveVersionConflicts(mapVersion) {
|
|||
burgIcons.selectAll("g").each(function (_el, index) {
|
||||
const name = this.id;
|
||||
const isDefault = name === "towns";
|
||||
options.burgs.groups.push({ name, active: true, order: index + 1, isDefault, preview: "watabou-city" });
|
||||
options.burgs.groups.push({name, active: true, order: index + 1, isDefault, preview: "watabou-city"});
|
||||
if (!this.dataset.icon) this.dataset.icon = "#icon-circle";
|
||||
|
||||
const size = Number(this.getAttribute("size") || 2) * 2;
|
||||
|
|
@ -1104,6 +1104,12 @@ export function resolveVersionConflicts(mapVersion) {
|
|||
// Re-render ice from migrated data
|
||||
if (layerIsOn("toggleIce")) drawIce();
|
||||
}
|
||||
}
|
||||
|
||||
if (isOlderThan("1.113.0")) {
|
||||
// v1.113.0 fixed issue with zone.cells getting rediculously long
|
||||
pack.zones.forEach(zone => {
|
||||
zone.cells = unique(zone.cells);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -473,7 +473,7 @@ async function parseLoadedData(data, mapVersion) {
|
|||
|
||||
{
|
||||
// dynamically import and run auto-update script
|
||||
const {resolveVersionConflicts} = await import("../dynamic/auto-update.js?v=1.109.4");
|
||||
const {resolveVersionConflicts} = await import("../dynamic/auto-update.js?v=1.113.0");
|
||||
resolveVersionConflicts(mapVersion);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -330,10 +330,12 @@ function editHeightmap(options) {
|
|||
c.y = p[1];
|
||||
}
|
||||
|
||||
// save zone grid cells to restore them later
|
||||
const zoneGridCellsMap = new Map();
|
||||
for (const zone of pack.zones) {
|
||||
if (!zone.cells || !zone.cells.length) continue;
|
||||
zoneGridCellsMap.set(zone.i, zone.cells.map(i => pack.cells.g[i]));
|
||||
if (!zone.cells?.length) continue;
|
||||
const zoneGridCells = zone.cells.map(i => pack.cells.g[i]);
|
||||
zoneGridCellsMap.set(zone.i, unique(zoneGridCells));
|
||||
}
|
||||
|
||||
Features.markupGrid();
|
||||
|
|
@ -451,10 +453,15 @@ function editHeightmap(options) {
|
|||
gridToPackMap.get(g).push(i);
|
||||
}
|
||||
|
||||
// restore zone cells
|
||||
for (const zone of pack.zones) {
|
||||
const gridCells = zoneGridCellsMap.get(zone.i);
|
||||
if (!gridCells || !gridCells.length) continue;
|
||||
zone.cells = gridCells.flatMap(g => gridToPackMap.get(g) || []);
|
||||
if (gridCells?.length) {
|
||||
const packCells = gridCells.flatMap(g => gridToPackMap.get(g) || []);
|
||||
zone.cells = unique(packCells);
|
||||
} else {
|
||||
zone.cells = [];
|
||||
}
|
||||
}
|
||||
|
||||
// recalculate ice
|
||||
|
|
@ -665,7 +672,10 @@ function editHeightmap(options) {
|
|||
if (power === 0) return tip("Power should not be zero", false, "error");
|
||||
|
||||
const heights = grid.cells.h;
|
||||
const operation = power > 0 ? HeightmapGenerator.addRange.bind(HeightmapGenerator) : HeightmapGenerator.addTrough.bind(HeightmapGenerator);
|
||||
const operation =
|
||||
power > 0
|
||||
? HeightmapGenerator.addRange.bind(HeightmapGenerator)
|
||||
: HeightmapGenerator.addTrough.bind(HeightmapGenerator);
|
||||
HeightmapGenerator.setGraph(grid);
|
||||
operation("1", String(Math.abs(power)), null, null, fromCell, toCell);
|
||||
const changedHeights = HeightmapGenerator.getHeights();
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
* Example: 1.102.2 -> Major version 1, Minor version 102, Patch version 2
|
||||
*/
|
||||
|
||||
const VERSION = "1.112.4";
|
||||
const VERSION = "1.113.0";
|
||||
if (parseMapVersion(VERSION) !== VERSION) alert("versioning.js: Invalid format or parsing function");
|
||||
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<!DOCTYPE html>
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
|
|
@ -138,13 +138,32 @@
|
|||
}
|
||||
</style>
|
||||
|
||||
<link rel="preload" href="index.css?v=1.109.1" as="style" onload="this.onload=null; this.rel='stylesheet'" />
|
||||
<link rel="preload" href="icons.css" as="style" onload="this.onload=null; this.rel='stylesheet'" />
|
||||
<link
|
||||
rel="preload"
|
||||
href="index.css?v=1.109.1"
|
||||
as="style"
|
||||
onload="
|
||||
this.onload = null;
|
||||
this.rel = 'stylesheet';
|
||||
"
|
||||
/>
|
||||
<link
|
||||
rel="preload"
|
||||
href="icons.css"
|
||||
as="style"
|
||||
onload="
|
||||
this.onload = null;
|
||||
this.rel = 'stylesheet';
|
||||
"
|
||||
/>
|
||||
<link
|
||||
rel="preload"
|
||||
href="libs/jquery-ui.css?v=1.106.5"
|
||||
as="style"
|
||||
onload="this.onload=null; this.rel='stylesheet'"
|
||||
onload="
|
||||
this.onload = null;
|
||||
this.rel = 'stylesheet';
|
||||
"
|
||||
/>
|
||||
</head>
|
||||
<body>
|
||||
|
|
@ -4289,7 +4308,9 @@
|
|||
id="templateCA"
|
||||
data-tip="Find or share custom template on Cartography Assets portal"
|
||||
class="icon-drafting-compass"
|
||||
onclick="openURL('https://cartographyassets.com/asset-category/specific-assets/azgaars-generator/templates')"
|
||||
onclick="
|
||||
openURL('https://cartographyassets.com/asset-category/specific-assets/azgaars-generator/templates')
|
||||
"
|
||||
></button>
|
||||
<button
|
||||
id="templateTutorial"
|
||||
|
|
@ -6120,7 +6141,10 @@
|
|||
id="showLabels"
|
||||
class="checkbox"
|
||||
type="checkbox"
|
||||
onchange="hideLabels.checked = !this.checked; invokeActiveZooming()"
|
||||
onchange="
|
||||
hideLabels.checked = !this.checked;
|
||||
invokeActiveZooming();
|
||||
"
|
||||
checked=""
|
||||
/>
|
||||
<label for="showLabels" class="checkbox-label">Show all labels</label>
|
||||
|
|
@ -8512,7 +8536,7 @@
|
|||
<script defer src="modules/ui/editors.js?v=1.112.1"></script>
|
||||
<script defer src="modules/ui/tools.js?v=1.111.0"></script>
|
||||
<script defer src="modules/ui/world-configurator.js?v=1.105.4"></script>
|
||||
<script defer src="modules/ui/heightmap-editor.js?v=1.112.2"></script>
|
||||
<script defer src="modules/ui/heightmap-editor.js?v=1.113.0"></script>
|
||||
<script defer src="modules/ui/provinces-editor.js?v=1.108.1"></script>
|
||||
<script defer src="modules/ui/biomes-editor.js?v=1.112.0"></script>
|
||||
<script defer src="modules/ui/namesbase-editor.js?v=1.105.11"></script>
|
||||
|
|
@ -8552,7 +8576,7 @@
|
|||
<script defer src="libs/rgbquant.min.js"></script>
|
||||
<script defer src="libs/jquery.ui.touch-punch.min.js"></script>
|
||||
<script defer src="modules/io/save.js?v=1.111.0"></script>
|
||||
<script defer src="modules/io/load.js?v=1.111.0"></script>
|
||||
<script defer src="modules/io/load.js?v=1.113.0"></script>
|
||||
<script defer src="modules/io/cloud.js?v=1.106.0"></script>
|
||||
<script defer src="modules/io/export.js?v=1.112.2"></script>
|
||||
</body>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue