mirror of
https://github.com/Azgaar/Fantasy-Map-Generator.git
synced 2025-12-16 17:31:24 +01:00
fix: state expansion to reset on re-generation
This commit is contained in:
parent
7d500b1598
commit
eb5d924cbd
6 changed files with 26 additions and 18 deletions
|
|
@ -7846,7 +7846,7 @@
|
||||||
<script src="modules/lakes.js"></script>
|
<script src="modules/lakes.js"></script>
|
||||||
<script src="modules/names-generator.js?v=1.87.14"></script>
|
<script src="modules/names-generator.js?v=1.87.14"></script>
|
||||||
<script src="modules/cultures-generator.js?v=1.89.00"></script>
|
<script src="modules/cultures-generator.js?v=1.89.00"></script>
|
||||||
<script src="modules/burgs-and-states.js?v=1.89.00"></script>
|
<script src="modules/burgs-and-states.js?v=1.89.05"></script>
|
||||||
<script src="modules/routes-generator.js"></script>
|
<script src="modules/routes-generator.js"></script>
|
||||||
<script src="modules/religions-generator.js?v=1.89.01"></script>
|
<script src="modules/religions-generator.js?v=1.89.01"></script>
|
||||||
<script src="modules/military-generator.js"></script>
|
<script src="modules/military-generator.js"></script>
|
||||||
|
|
@ -7863,11 +7863,11 @@
|
||||||
|
|
||||||
<script src="modules/ui/general.js?v=1.87.03"></script>
|
<script src="modules/ui/general.js?v=1.87.03"></script>
|
||||||
<script src="modules/ui/options.js?v=1.88.02"></script>
|
<script src="modules/ui/options.js?v=1.88.02"></script>
|
||||||
<script src="main.js?v=1.88.02"></script>
|
<script src="main.js?v=1.89.05"></script>
|
||||||
|
|
||||||
<script defer src="modules/relief-icons.js"></script>
|
<script defer src="modules/relief-icons.js"></script>
|
||||||
<script defer src="modules/ui/style.js"></script>
|
<script defer src="modules/ui/style.js"></script>
|
||||||
<script defer src="modules/ui/editors.js?v=1.89.02"></script>
|
<script defer src="modules/ui/editors.js?v=1.89.05"></script>
|
||||||
<script defer src="modules/ui/tools.js?v=1.89.00"></script>
|
<script defer src="modules/ui/tools.js?v=1.89.00"></script>
|
||||||
<script defer src="modules/ui/world-configurator.js"></script>
|
<script defer src="modules/ui/world-configurator.js"></script>
|
||||||
<script defer src="modules/ui/heightmap-editor.js?v=1.88.03"></script>
|
<script defer src="modules/ui/heightmap-editor.js?v=1.88.03"></script>
|
||||||
|
|
|
||||||
1
main.js
1
main.js
|
|
@ -191,7 +191,6 @@ let populationRate = +document.getElementById("populationRateInput").value;
|
||||||
let distanceScale = +document.getElementById("distanceScaleInput").value;
|
let distanceScale = +document.getElementById("distanceScaleInput").value;
|
||||||
let urbanization = +document.getElementById("urbanizationInput").value;
|
let urbanization = +document.getElementById("urbanizationInput").value;
|
||||||
let urbanDensity = +document.getElementById("urbanDensityInput").value;
|
let urbanDensity = +document.getElementById("urbanDensityInput").value;
|
||||||
let statesNeutral = 1; // statesEditor growth parameter
|
|
||||||
|
|
||||||
applyStoredOptions();
|
applyStoredOptions();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -367,18 +367,28 @@ window.BurgsAndStates = (function () {
|
||||||
cells.state = cells.state || new Uint16Array(cells.i.length);
|
cells.state = cells.state || new Uint16Array(cells.i.length);
|
||||||
const queue = new PriorityQueue({comparator: (a, b) => a.p - b.p});
|
const queue = new PriorityQueue({comparator: (a, b) => a.p - b.p});
|
||||||
const cost = [];
|
const cost = [];
|
||||||
const neutral = (cells.i.length / 5000) * 2500 * neutralInput.value * statesNeutral; // limit cost for state growth
|
|
||||||
|
|
||||||
states
|
const globalNeutralRate = byId("neutralInput")?.value || 1;
|
||||||
.filter(s => s.i && !s.removed)
|
const statesNeutralRate = byId("statesNeutral")?.value || 1;
|
||||||
.forEach(s => {
|
const neutral = (cells.i.length / 2) * globalNeutralRate * statesNeutralRate; // limit cost for state growth
|
||||||
const capitalCell = burgs[s.capital].cell;
|
|
||||||
cells.state[capitalCell] = s.i;
|
// remove state from all cells except of locked
|
||||||
const cultureCenter = cultures[s.culture].center;
|
for (const cellId of cells.i) {
|
||||||
const b = cells.biome[cultureCenter]; // state native biome
|
const state = states[cells.state[cellId]];
|
||||||
queue.queue({e: s.center, p: 0, s: s.i, b});
|
if (state.lock) continue;
|
||||||
cost[s.center] = 1;
|
cells.state[cellId] = 0;
|
||||||
});
|
}
|
||||||
|
|
||||||
|
for (const state of states) {
|
||||||
|
if (!state.i || state.removed) continue;
|
||||||
|
|
||||||
|
const capitalCell = burgs[state.capital].cell;
|
||||||
|
cells.state[capitalCell] = state.i;
|
||||||
|
const cultureCenter = cultures[state.culture].center;
|
||||||
|
const b = cells.biome[cultureCenter]; // state native biome
|
||||||
|
queue.queue({e: state.center, p: 0, s: state.i, b});
|
||||||
|
cost[state.center] = 1;
|
||||||
|
}
|
||||||
|
|
||||||
while (queue.length) {
|
while (queue.length) {
|
||||||
const next = queue.dequeue();
|
const next = queue.dequeue();
|
||||||
|
|
|
||||||
|
|
@ -883,7 +883,6 @@ function changeStatesGrowthRate() {
|
||||||
const growthRate = +this.value;
|
const growthRate = +this.value;
|
||||||
byId("statesNeutral").value = growthRate;
|
byId("statesNeutral").value = growthRate;
|
||||||
byId("statesNeutralNumber").value = growthRate;
|
byId("statesNeutralNumber").value = growthRate;
|
||||||
statesNeutral = growthRate;
|
|
||||||
tip("Growth rate: " + growthRate);
|
tip("Growth rate: " + growthRate);
|
||||||
recalculateStates(false);
|
recalculateStates(false);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1176,7 +1176,7 @@ function refreshAllEditors() {
|
||||||
// dynamically loaded editors
|
// dynamically loaded editors
|
||||||
async function editStates() {
|
async function editStates() {
|
||||||
if (customization) return;
|
if (customization) return;
|
||||||
const Editor = await import("../dynamic/editors/states-editor.js?v=1.89.02");
|
const Editor = await import("../dynamic/editors/states-editor.js?v=1.89.05");
|
||||||
Editor.open();
|
Editor.open();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
// version and caching control
|
// version and caching control
|
||||||
const version = "1.89.04"; // generator version, update each time
|
const version = "1.89.05"; // generator version, update each time
|
||||||
|
|
||||||
{
|
{
|
||||||
document.title += " v" + version;
|
document.title += " v" + version;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue