mirror of
https://github.com/Azgaar/Fantasy-Map-Generator.git
synced 2025-12-19 10:31:24 +01:00
feat: render states - separate pole detection from layer render
This commit is contained in:
parent
093014088c
commit
c66e6e4645
5 changed files with 45 additions and 24 deletions
|
|
@ -13,6 +13,8 @@ window.BurgsAndStates = (() => {
|
|||
placeTowns();
|
||||
expandStates();
|
||||
normalizeStates();
|
||||
getPoles();
|
||||
|
||||
specifyBurgs();
|
||||
|
||||
collectStatistics();
|
||||
|
|
@ -468,8 +470,7 @@ window.BurgsAndStates = (() => {
|
|||
|
||||
const normalizeStates = () => {
|
||||
TIME && console.time("normalizeStates");
|
||||
const cells = pack.cells,
|
||||
burgs = pack.burgs;
|
||||
const {cells, burgs} = pack;
|
||||
|
||||
for (const i of cells.i) {
|
||||
if (cells.h[i] < 20 || cells.burg[i]) continue; // do not overwrite burgs
|
||||
|
|
@ -486,6 +487,17 @@ window.BurgsAndStates = (() => {
|
|||
TIME && console.timeEnd("normalizeStates");
|
||||
};
|
||||
|
||||
// calculate pole of inaccessibility for each state
|
||||
const getPoles = () => {
|
||||
const getType = cellId => pack.cells.state[cellId];
|
||||
const poles = getPolesOfInaccessibility(getType);
|
||||
|
||||
pack.states.forEach(s => {
|
||||
if (!s.i || s.removed) return;
|
||||
s.pole = poles[s.i] || [0, 0];
|
||||
});
|
||||
};
|
||||
|
||||
// Resets the cultures of all burgs and states to their
|
||||
// cell or center cell's (respectively) culture.
|
||||
const updateCultures = () => {
|
||||
|
|
@ -1194,6 +1206,7 @@ window.BurgsAndStates = (() => {
|
|||
generate,
|
||||
expandStates,
|
||||
normalizeStates,
|
||||
getPoles,
|
||||
assignColors,
|
||||
drawBurgs,
|
||||
specifyBurgs,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue