mirror of
https://github.com/Azgaar/Fantasy-Map-Generator.git
synced 2025-12-16 17:31:24 +01:00
v. 0.58.00b
Cultures editor Namesbase editor Reworked lakes Options preservation Non-island maps Bug fixes
This commit is contained in:
parent
56bcce42ec
commit
42cd291c68
5 changed files with 2343 additions and 1011 deletions
|
|
@ -1,14 +1,14 @@
|
||||||
# Fantasy Map Generator
|
# Fantasy Map Generator
|
||||||
|
|
||||||
Azgaar's _Fantasy Map Generator_. Based on [D3](https://d3js.org) Voronoi diagram rendered in svg.
|
Azgaar's _Fantasy Map Generator_. Online tool generating maps based on [D3](https://d3js.org) Voronoi diagram rendered in svg.
|
||||||
|
|
||||||
Project goal is a procedurally generated map for my *Medieval Dynasty* simulator. Map should be interactive, scalable, fast and plausible. Initial intend was to place at least 500 burgs within 7 cultural areas and imagined land area about 1 million km<sup>2</sup>. As of now all these parameters are customizable.
|
Project goal is a procedurally generated map for my *Medieval Dynasty* simulator. Map should be interactive, scalable, fast and plausible. Initial intend was to place at least 500 burgs within 7 cultural areas and imagined land area about 1 million km<sup>2</sup>. As of now all these parameters are customizable and Generator is mostly used for a homebrew DnD campaign maps.
|
||||||
|
|
||||||
[](https://azgaar.wordpress.com)
|
[](https://azgaar.wordpress.com)
|
||||||
|
|
||||||
Project is under development, check out the demo [here](https://azgaar.github.io/Fantasy-Map-Generator). Refer to [the project wiki](https://github.com/Azgaar/Fantasy-Map-Generator/wiki) for a quick guidance. The the previous versions see the [changelog](https://github.com/Azgaar/Fantasy-Map-Generator/wiki/Changelog). If you find the Demo performance low, open the page in a smaller window and use the graph size = 1.
|
Project is under development, check out the work is progress version [here](https://azgaar.github.io/Fantasy-Map-Generator). Changelog is [here](https://github.com/Azgaar/Fantasy-Map-Generator/wiki/Changelog). Refer to [the project wiki](https://github.com/Azgaar/Fantasy-Map-Generator/wiki) for a quick guidance. Some details are covered in my blog [_Fantasy Maps for fun and glory_](https://azgaar.wordpress.com), you may also keep an eye on my [Trello devboard](https://trello.com/b/7x832DG4/fantasy-map-generator). If you find the Demo performance low, open the page in a smaller window and use the default graph size only.
|
||||||
|
|
||||||
Some details are covered in my blog [_Fantasy Maps for fun and glory_](https://azgaar.wordpress.com), you may also keep an eye on my [devboard](https://trello.com/b/7x832DG4/fantasy-map-generator). Comments and ideas are *highly* welcomed, kindly contact me via [email](mailto:maxganiev@yandex.ru). I would also like to see your completed or work in progress maps. For bug reports and change requests please use the project [issues page](https://github.com/Azgaar/Fantasy-Map-Generator/issues).
|
Join our [Reddit community](https://www.reddit.com/r/FantasyMapGenerator) to share the created maps, discuss the Generator, suggest ideas and get a most recent updates. You may also contact me directly via [email](mailto:maxganiev@yandex.com). For bug reports please use the project [issues page](https://github.com/Azgaar/Fantasy-Map-Generator/issues).
|
||||||
|
|
||||||
_Inspiration:_
|
_Inspiration:_
|
||||||
|
|
||||||
|
|
|
||||||
82
index.css
82
index.css
|
|
@ -48,7 +48,6 @@ button, select, a {
|
||||||
|
|
||||||
#cults {
|
#cults {
|
||||||
stroke-width: 0.7;
|
stroke-width: 0.7;
|
||||||
stroke-linejoin: round;
|
|
||||||
mask: url(#shape);
|
mask: url(#shape);
|
||||||
mask-mode: alpha;
|
mask-mode: alpha;
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
|
|
@ -269,7 +268,7 @@ input[type="number"].editNumber {
|
||||||
}
|
}
|
||||||
|
|
||||||
circle.drag {
|
circle.drag {
|
||||||
stroke: white;
|
stroke: #9f3237;
|
||||||
}
|
}
|
||||||
|
|
||||||
text.drag {
|
text.drag {
|
||||||
|
|
@ -512,6 +511,10 @@ p {
|
||||||
width: 35%;
|
width: 35%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#customizeOptions {
|
||||||
|
margin: 2px 0;
|
||||||
|
}
|
||||||
|
|
||||||
#tooltip {
|
#tooltip {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
display: none;
|
display: none;
|
||||||
|
|
@ -519,7 +522,7 @@ p {
|
||||||
top: calc(98vh - (10px + 0.5vw));
|
top: calc(98vh - (10px + 0.5vw));
|
||||||
width: 100%;
|
width: 100%;
|
||||||
cursor: default;
|
cursor: default;
|
||||||
text-shadow: 1px 0px 1px #1d0e0f;
|
text-shadow: 1px 1px 2px #1d0e0f;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
font-size: calc(10px + 0.5vw);
|
font-size: calc(10px + 0.5vw);
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
|
|
@ -666,8 +669,8 @@ body button.noicon {
|
||||||
line-height: 6px;
|
line-height: 6px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#styleInputs #styleOcean,
|
||||||
#styleInputs #styleOpacity,
|
#styleInputs #styleOpacity,
|
||||||
#styleInputs #styleFill,
|
|
||||||
#styleInputs #styleFilter {
|
#styleInputs #styleFilter {
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
@ -950,6 +953,13 @@ div.states>[class^="icon-"] {
|
||||||
padding: 0 1px 0 7px;
|
padding: 0 1px 0 7px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
div.states>[class="icon-arrows-cw"] {
|
||||||
|
color: #67575c;
|
||||||
|
padding: 0 2px 0 0;
|
||||||
|
font-size: 9px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
div.states>.before {
|
div.states>.before {
|
||||||
color: #6e5e66;
|
color: #6e5e66;
|
||||||
padding: 0 1px 0 0;
|
padding: 0 1px 0 0;
|
||||||
|
|
@ -959,6 +969,24 @@ div.states>.small {
|
||||||
font-size: 9px;
|
font-size: 9px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
div.states>.cultureName {
|
||||||
|
width: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.states>.culturePopulation {
|
||||||
|
width: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.states>.cultureBase {
|
||||||
|
width: 46px;
|
||||||
|
cursor: pointer;
|
||||||
|
border: 0;
|
||||||
|
background-color: transparent;
|
||||||
|
-webkit-appearance: textfield;
|
||||||
|
-moz-appearance: textfield;
|
||||||
|
appearance: textfield;
|
||||||
|
}
|
||||||
|
|
||||||
#burgsBody,
|
#burgsBody,
|
||||||
#countriesBody {
|
#countriesBody {
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
|
|
@ -1273,3 +1301,49 @@ input[type="checkbox"] {
|
||||||
#capital-anchors, #town-anchors {
|
#capital-anchors, #town-anchors {
|
||||||
transform: translate(-0.47em, -0.47em);
|
transform: translate(-0.47em, -0.47em);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#cultureCenters circle:hover {
|
||||||
|
stroke: #000000b3;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
#namesbaseEditor select,
|
||||||
|
#namesbaseEditor textarea {
|
||||||
|
font-size: 10px;
|
||||||
|
font-family: Copperplate, monospace;
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#namesbaseEditor input {
|
||||||
|
font-size: 10px;
|
||||||
|
font-family: Copperplate, monospace;
|
||||||
|
outline: none;
|
||||||
|
height: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#namesbaseEditor fieldset {
|
||||||
|
margin: 3px 3px 5px 0;
|
||||||
|
border-style: dashed;
|
||||||
|
}
|
||||||
|
|
||||||
|
#namesbaseEditor span, #namesbaseEditor legend {
|
||||||
|
font-size: 9px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
#namesbaseExamples {
|
||||||
|
font-family: Copperplate, monospace;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
#namesbaseName {
|
||||||
|
width: 80px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#namesbaseMin, #namesbaseMax {
|
||||||
|
width: 33px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#namesbaseDouble {
|
||||||
|
width: 40px;
|
||||||
|
}
|
||||||
|
|
|
||||||
227
index.html
227
index.html
|
|
@ -10,7 +10,7 @@
|
||||||
gtag('js', new Date());
|
gtag('js', new Date());
|
||||||
gtag('config', 'UA-116735150-1');
|
gtag('config', 'UA-116735150-1');
|
||||||
</script>
|
</script>
|
||||||
<title>Azgaar's Fantasy Map Generator Demo</title>
|
<title>Azgaar's Fantasy Map Generator</title>
|
||||||
<meta name="application-name" content="Azgaar's Fantasy Map Generator">
|
<meta name="application-name" content="Azgaar's Fantasy Map Generator">
|
||||||
<meta name="author" content="Azgaar (Max Ganiev)">
|
<meta name="author" content="Azgaar (Max Ganiev)">
|
||||||
<meta name="description" content="Azgaar's Fantasy Map Generator (demo). Based on D3 Voronoi diagram rendered to svg">
|
<meta name="description" content="Azgaar's Fantasy Map Generator (demo). Based on D3 Voronoi diagram rendered to svg">
|
||||||
|
|
@ -26,14 +26,13 @@
|
||||||
<script src="libs/d3.v4.min.js"></script>
|
<script src="libs/d3.v4.min.js"></script>
|
||||||
<script src="libs/d3-scale-chromatic.v1.min.js"></script>
|
<script src="libs/d3-scale-chromatic.v1.min.js"></script>
|
||||||
<script src="libs/priority-queue.min.js"></script>
|
<script src="libs/priority-queue.min.js"></script>
|
||||||
<script src="names.js"></script>
|
|
||||||
<script src="libs/jquery-ui.min.js"></script>
|
<script src="libs/jquery-ui.min.js"></script>
|
||||||
<script src="libs/polylabel.min.js"></script>
|
<script src="libs/polylabel.min.js"></script>
|
||||||
<script src="libs/quantize.min.js" defer></script>
|
<script src="libs/quantize.min.js" defer></script>
|
||||||
<script src="libs/d3-hexbin.v0.2.min.js" defer></script>
|
<script src="libs/d3-hexbin.v0.2.min.js" defer></script>
|
||||||
<script src="libs/jquery.ui.touch-punch.min.js" defer></script>
|
<script src="libs/jquery.ui.touch-punch.min.js" defer></script>
|
||||||
<link rel="stylesheet" type="text/css" href="index.css?version=0.57.03b"/>
|
<link rel="stylesheet" type="text/css" href="index.css?version=0.58.00b"/>
|
||||||
<link rel="stylesheet" type="text/css" href="icons.css?version=0.57.03b"/>
|
<link rel="stylesheet" type="text/css" href="icons.css?version=0.58.00b"/>
|
||||||
<link rel="stylesheet" type="text/css" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css"/>
|
<link rel="stylesheet" type="text/css" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css"/>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
@ -51,6 +50,17 @@
|
||||||
<filter id="blur10" x="-1" y="-1" width="100" height="100">
|
<filter id="blur10" x="-1" y="-1" width="100" height="100">
|
||||||
<feGaussianBlur in="SourceGraphic" stdDeviation="10"/>
|
<feGaussianBlur in="SourceGraphic" stdDeviation="10"/>
|
||||||
</filter>
|
</filter>
|
||||||
|
<filter id="splotch">
|
||||||
|
<feTurbulence type="fractalNoise" baseFrequency=".01" numOctaves="4"/>
|
||||||
|
<feColorMatrix values="0 0 0 0 0, 0 0 0 0 0, 0 0 0 0 0, 0 0 0 -0.9 1.2" result="texture"/>
|
||||||
|
<feComposite in="SourceGraphic" in2="texture" operator="in"/>
|
||||||
|
</filter>
|
||||||
|
<filter id="bluredSplotch">
|
||||||
|
<feTurbulence type="fractalNoise" baseFrequency=".01" numOctaves="4"/>
|
||||||
|
<feColorMatrix values="0 0 0 0 0, 0 0 0 0 0, 0 0 0 0 0, 0 0 0 -0.9 1.2" result="texture"/>
|
||||||
|
<feComposite in="SourceGraphic" in2="texture" operator="in"/>
|
||||||
|
<feGaussianBlur stdDeviation="4"/>
|
||||||
|
</filter>
|
||||||
<filter id="dropShadow">
|
<filter id="dropShadow">
|
||||||
<feGaussianBlur in="SourceAlpha" stdDeviation="2"/>
|
<feGaussianBlur in="SourceAlpha" stdDeviation="2"/>
|
||||||
<feOffset dx="1" dy="2"/>
|
<feOffset dx="1" dy="2"/>
|
||||||
|
|
@ -59,17 +69,25 @@
|
||||||
<feMergeNode in="SourceGraphic"/>
|
<feMergeNode in="SourceGraphic"/>
|
||||||
</feMerge>
|
</feMerge>
|
||||||
</filter>
|
</filter>
|
||||||
|
<filter id="pencil">
|
||||||
|
<feTurbulence baseFrequency="0.03" numOctaves="6" type="fractalNoise"/>
|
||||||
|
<feDisplacementMap scale="3" in="SourceGraphic" xChannelSelector="R" yChannelSelector="G"/>
|
||||||
|
</filter>
|
||||||
|
<filter id="turbulence">
|
||||||
|
<feTurbulence baseFrequency="0.1" numOctaves="3" type="fractalNoise"/>
|
||||||
|
<feDisplacementMap scale="10" in="SourceGraphic" xChannelSelector="R" yChannelSelector="G"/>
|
||||||
|
</filter>
|
||||||
<filter id="filter-grayscale">
|
<filter id="filter-grayscale">
|
||||||
<feColorMatrix type="matrix" values="0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0"/>
|
<feColorMatrix values="0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0"/>
|
||||||
</filter>
|
</filter>
|
||||||
<filter id="filter-sepia">
|
<filter id="filter-sepia">
|
||||||
<feColorMatrix type="matrix" values="0.393 0.769 0.189 0 0 0.349 0.686 0.168 0 0 0.272 0.534 0.131 0 0 0 0 0 1 0"/>
|
<feColorMatrix values="0.393 0.769 0.189 0 0 0.349 0.686 0.168 0 0 0.272 0.534 0.131 0 0 0 0 0 1 0"/>
|
||||||
</filter>
|
</filter>
|
||||||
<filter id="filter-dingy">
|
<filter id="filter-dingy">
|
||||||
<feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0.3 0.3 0 0 0 0 0 1 0"/>
|
<feColorMatrix values="1 0 0 0 0 0 1 0 0 0 0 0.3 0.3 0 0 0 0 0 1 0"/>
|
||||||
</filter>
|
</filter>
|
||||||
<filter id="filter-tint">
|
<filter id="filter-tint">
|
||||||
<feColorMatrix type="matrix" values="0 0.9 0.2 0 0 0 0.8 0.1 0 0.1 0 0.4 1.4 0 -0.1 0 0 0 1 1"/>
|
<feColorMatrix values="1.1 0 0 0 0 0 1.1 0 0 0 0 0 0.9 0 0 0 0 0 1 0"/>
|
||||||
</filter>
|
</filter>
|
||||||
<g id="deftemp">
|
<g id="deftemp">
|
||||||
<mask id="shape" x="0" y="0" width="100%" height="100%" fill="black"></mask>
|
<mask id="shape" x="0" y="0" width="100%" height="100%" fill="black"></mask>
|
||||||
|
|
@ -140,7 +158,7 @@
|
||||||
<div id="loading">
|
<div id="loading">
|
||||||
<div id="title_name">Azgaar's</div>
|
<div id="title_name">Azgaar's</div>
|
||||||
<div id="title">Fantasy Map Generator</div>
|
<div id="title">Fantasy Map Generator</div>
|
||||||
<div id="version">v. 0.57b</div>
|
<div id="version">v. 0.58b</div>
|
||||||
<p id="loading-text">LOADING<span>.</span><span>.</span><span>.</span></p>
|
<p id="loading-text">LOADING<span>.</span><span>.</span><span>.</span></p>
|
||||||
</div>
|
</div>
|
||||||
<canvas id="canvas" style="opacity: 0"></canvas>
|
<canvas id="canvas" style="opacity: 0"></canvas>
|
||||||
|
|
@ -192,26 +210,26 @@
|
||||||
<div id="styleContent" class="tabcontent">
|
<div id="styleContent" class="tabcontent">
|
||||||
<p style="display: inline-block;">Select element:</p>
|
<p style="display: inline-block;">Select element:</p>
|
||||||
<select id="styleElementSelect">
|
<select id="styleElementSelect">
|
||||||
<option value="oceanBase" selected>Ocean</option>
|
|
||||||
<option value="landmass">Landmass</option>
|
|
||||||
<option value="grid">Grid</option>
|
<option value="grid">Grid</option>
|
||||||
<option value="overlay">Overlay</option>
|
<option value="neutralBorders">Borders (neutral)</option>
|
||||||
<option value="terrs">Heightmap</option>
|
<option value="stateBorders">Borders (state)</option>
|
||||||
|
<option value="coastline">Coastline</option>
|
||||||
|
<option value="regions">Countries</option>
|
||||||
<option value="cults">Cultures</option>
|
<option value="cults">Cultures</option>
|
||||||
|
<option value="terrs">Heightmap</option>
|
||||||
|
<option value="icons">Icons</option>
|
||||||
|
<option value="labels">Labels</option>
|
||||||
|
<option value="lakes">Lakes</option>
|
||||||
|
<option value="landmass">Landmass</option>
|
||||||
|
<option value="ocean" selected>Ocean</option>
|
||||||
|
<option value="overlay">Overlay</option>
|
||||||
|
<option value="terrain">Relief</option>
|
||||||
|
<option value="rivers">Rivers</option>
|
||||||
<option value="roads">Roads</option>
|
<option value="roads">Roads</option>
|
||||||
|
<option value="ruler">Rulers</option>
|
||||||
<option value="trails">Trails</option>
|
<option value="trails">Trails</option>
|
||||||
<option value="searoutes">Searoutes</option>
|
<option value="searoutes">Searoutes</option>
|
||||||
<option value="rivers">Rivers</option>
|
|
||||||
<option value="terrain">Relief</option>
|
|
||||||
<option value="regions">Countries</option>
|
|
||||||
<option value="stateBorders">State Borders</option>
|
|
||||||
<option value="neutralBorders">Neutral Borders</option>
|
|
||||||
<option value="coastline">Coastline</option>
|
|
||||||
<option value="lakes">Lakes</option>
|
|
||||||
<option value="labels">Labels</option>
|
|
||||||
<option value="icons">Icons</option>
|
|
||||||
<option value="scaleBar">Scale bar</option>
|
<option value="scaleBar">Scale bar</option>
|
||||||
<option value="ruler">Rulers</option>
|
|
||||||
</select>
|
</select>
|
||||||
<i id="restoreStyle" onmouseover="tip('Restore default style')" class="icon-ccw"></i>
|
<i id="restoreStyle" onmouseover="tip('Restore default style')" class="icon-ccw"></i>
|
||||||
<div id="styleInputs">
|
<div id="styleInputs">
|
||||||
|
|
@ -225,6 +243,15 @@
|
||||||
<br>Size: <input id="styleOverlaySize" type="range" min="2" max="20" step="0.2" value="5">
|
<br>Size: <input id="styleOverlaySize" type="range" min="2" max="20" step="0.2" value="5">
|
||||||
<output id="styleOverlaySizeOutput">5</output>
|
<output id="styleOverlaySizeOutput">5</output>
|
||||||
</div>
|
</div>
|
||||||
|
<div id="styleOcean">
|
||||||
|
<br>Elements:
|
||||||
|
<input id="styleOceanPattern" class="checkbox" type="checkbox" checked>
|
||||||
|
<label for="styleOceanPattern" onmouseover="tip('Toggle ocean pattern')" class="checkbox-label">Pattern</label>
|
||||||
|
<input id="styleOceanLayers" class="checkbox" type="checkbox" checked>
|
||||||
|
<label for="styleOceanLayers" onmouseover="tip('Toggle ocean layers')" class="checkbox-label">Layers</label><br>
|
||||||
|
Background: <input id="styleOceanBack" type="color" value="#000000"/><output id="styleOceanBackOutput">#000000</output><br>
|
||||||
|
Foreground: <input id="styleOceanFore" type="color" value="#53679f"/><output id="styleOceanForeOutput">#53679f</output>
|
||||||
|
</div>
|
||||||
<div id="styleFill">
|
<div id="styleFill">
|
||||||
Fill: <input id="styleFillInput" type="color" value="#5E4FA2"/>
|
Fill: <input id="styleFillInput" type="color" value="#5E4FA2"/>
|
||||||
<output id="styleFillOutput">#5E4FA2</output>
|
<output id="styleFillOutput">#5E4FA2</output>
|
||||||
|
|
@ -233,7 +260,6 @@
|
||||||
Stroke: <input id="styleStrokeInput" type="color" value="#5E4FA2"/>
|
Stroke: <input id="styleStrokeInput" type="color" value="#5E4FA2"/>
|
||||||
<output id="styleStrokeOutput">#5E4FA2</output>
|
<output id="styleStrokeOutput">#5E4FA2</output>
|
||||||
</div>
|
</div>
|
||||||
<div id="styleMultiple">Colors:</div>
|
|
||||||
<div id="styleStrokeWidth">
|
<div id="styleStrokeWidth">
|
||||||
<br>Stroke width: <input id="styleStrokeWidthInput" type="range" min="0" max="3" step="0.01" value="1">
|
<br>Stroke width: <input id="styleStrokeWidthInput" type="range" min="0" max="3" step="0.01" value="1">
|
||||||
<output id="styleStrokeWidthOutput">1</output>
|
<output id="styleStrokeWidthOutput">1</output>
|
||||||
|
|
@ -267,7 +293,11 @@
|
||||||
<option value="url(#blur1)">Blur 1</option>
|
<option value="url(#blur1)">Blur 1</option>
|
||||||
<option value="url(#blur5)">Blur 5</option>
|
<option value="url(#blur5)">Blur 5</option>
|
||||||
<option value="url(#blur10)">Blur 10</option>
|
<option value="url(#blur10)">Blur 10</option>
|
||||||
|
<option value="url(#splotch)">Splotch</option>
|
||||||
|
<option value="url(#bluredSplotch)">Blured Splotch</option>
|
||||||
<option value="url(#dropShadow)">Shadow</option>
|
<option value="url(#dropShadow)">Shadow</option>
|
||||||
|
<option value="url(#pencil)">Pencil</option>
|
||||||
|
<option value="url(#turbulence)">Turbulence</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div id="styleScheme">
|
<div id="styleScheme">
|
||||||
|
|
@ -288,7 +318,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="optionsContent" class="tabcontent">
|
<div id="optionsContent" class="tabcontent">
|
||||||
<p onmouseover="tip('Map generation setting. Generate new map to apply the settings')">Generation options (new map to apply):</p>
|
<p onmouseover="tip('Map generation setting. Generate a new map to apply the settings')">Generation options (new map to apply):</p>
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td></td>
|
<td></td>
|
||||||
|
|
@ -378,6 +408,18 @@
|
||||||
<output id="neutralOutput">200</output>
|
<output id="neutralOutput">200</output>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<i onmouseover="tip('Lock to restrict option randomization on new map generation')" data-locked=0 id="lockCulturesInput" class="icon-lock-open"></i>
|
||||||
|
</td>
|
||||||
|
<td onmouseover="tip('Define how many Cultures should be generated')">Cultures count</td>
|
||||||
|
<td>
|
||||||
|
<input id="culturesInput" type="range" min="1" max="10" value="7">
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<output id="culturesOutput">7</output>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<i onmouseover="tip('Lock to restrict option randomization on new map generation')" data-locked=0 id="lockPrecInput" class="icon-lock-open"></i>
|
<i onmouseover="tip('Lock to restrict option randomization on new map generation')" data-locked=0 id="lockPrecInput" class="icon-lock-open"></i>
|
||||||
|
|
@ -406,14 +448,14 @@
|
||||||
<td></td>
|
<td></td>
|
||||||
<td onmouseover="tip('Define the coast outline contours scheme')">Ocean layers</td>
|
<td onmouseover="tip('Define the coast outline contours scheme')">Ocean layers</td>
|
||||||
<td>
|
<td>
|
||||||
<select id="outlineLayers">
|
<select id="outlineLayersInput">
|
||||||
<option value="random" selected>Random</option>
|
<option value="random">Random</option>
|
||||||
<option value="-6,-3,-1">-6,-3,-1</option>
|
<option value="none">No outline</option>
|
||||||
<option value="-9,-6,-3,-1">-9,-6,-3,-1</option>
|
<option value="-6,-3,-1" selected>Standard 3</option>
|
||||||
<option value="-6,-5,-4,-3,-2,-1">-6,-5,-4,-3,-2,-1</option>
|
<option value="-6,-4,-2">Indented 3</option>
|
||||||
<option value="-9,-8,-7,-6,-5,-4,-3,-2,-1">-9,-8,-7,-6,-5,-4,-3,-2,-1</option>
|
<option value="-9,-6,-3,-1">Standard 4</option>
|
||||||
<option value="-6,-4,-2">-6,-4,-2</option>
|
<option value="-6,-5,-4,-3,-2,-1">Smooth 6</option>
|
||||||
<option value="-8,-6,-4,-2">-8,-6,-4,-2</option>
|
<option value="-9,-8,-7,-6,-5,-4,-3,-2,-1">Smooth 9</option>
|
||||||
</select>
|
</select>
|
||||||
</td>
|
</td>
|
||||||
<td></td>
|
<td></td>
|
||||||
|
|
@ -425,7 +467,7 @@
|
||||||
<td></td>
|
<td></td>
|
||||||
<td onmouseover="tip('Define relative size of a saved png images. Consider saving big images is slow')">PNG resolution</td>
|
<td onmouseover="tip('Define relative size of a saved png images. Consider saving big images is slow')">PNG resolution</td>
|
||||||
<td>
|
<td>
|
||||||
<input id="pngResolution" type="range" min="1" max="10" value="5" oninput="pngResolutionOutput.value = this.value + 'x'">
|
<input id="pngResolutionInput" type="range" min="1" max="10" value="5" oninput="pngResolutionOutput.value = this.value + 'x'">
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<output id="pngResolutionOutput">5x</output>
|
<output id="pngResolutionOutput">5x</output>
|
||||||
|
|
@ -433,7 +475,7 @@
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td></td>
|
<td></td>
|
||||||
<td onmouseover="tip('Set default zoom extent')">Zoom extent</td>
|
<td onmouseover="tip('Set mininum and maximum zoom level')">Zoom extent</td>
|
||||||
<td style="width: 130px;">
|
<td style="width: 130px;">
|
||||||
<span onmouseover="tip('Zoom out limit')">o:</span>
|
<span onmouseover="tip('Zoom out limit')">o:</span>
|
||||||
<input class="pairedNumber" id="zoomExtentMin" type="number" min="0.2" step="0.1" max="20" value="1">
|
<input class="pairedNumber" id="zoomExtentMin" type="number" min="0.2" step="0.1" max="20" value="1">
|
||||||
|
|
@ -445,12 +487,14 @@
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
<button id="optionsReset" onmouseover="tip('Click to restore default options')">Reset Defaults</button>
|
||||||
</div>
|
</div>
|
||||||
<div id="customizeContent" class="tabcontent" style="display: block;">
|
<div id="customizeContent" class="tabcontent" style="display: block;">
|
||||||
<div id="openEditor">
|
<div id="openEditor">
|
||||||
<p>Customize:</p>
|
<p>Customize:</p>
|
||||||
<button id="editHeightmap" onmouseover="tip('Click to open Heightmap customization menu')">Heightmap</button>
|
<button id="editHeightmap" onmouseover="tip('Click to open Heightmap customization menu')">Heightmap</button>
|
||||||
<button id="editCountries" onmouseover="tip('Click to open Countries Editor')">Countries</button>
|
<button id="editCountries" onmouseover="tip('Click to open Countries Editor')">Countries</button>
|
||||||
|
<button id="editCultures" onmouseover="tip('Click to open Cultures Editor')">Cultures</button>
|
||||||
<button id="editScale" onmouseover="tip('Click to open Scale Editor')">Scale</button>
|
<button id="editScale" onmouseover="tip('Click to open Scale Editor')">Scale</button>
|
||||||
</div>
|
</div>
|
||||||
<div id="customizeHeightmap" style="display: none;">
|
<div id="customizeHeightmap" style="display: none;">
|
||||||
|
|
@ -468,6 +512,12 @@
|
||||||
<button onmouseover="tip('Open Image Converter')" id="convertImage">Image Converter</button>
|
<button onmouseover="tip('Open Image Converter')" id="convertImage">Image Converter</button>
|
||||||
<button onmouseover="tip('Show Heightmap in perspective')" id="perspectiveView">Perspective View</button>
|
<button onmouseover="tip('Show Heightmap in perspective')" id="perspectiveView">Perspective View</button>
|
||||||
</div>
|
</div>
|
||||||
|
<div id="customizeOptions">
|
||||||
|
<input id="renderOcean" class="checkbox" type="checkbox">
|
||||||
|
<label for="renderOcean" onmouseover="tip('Render cells below sea level')" class="checkbox-label">Render ocean cells</label>
|
||||||
|
<input id="changeHeights" class="checkbox" type="checkbox">
|
||||||
|
<label for="changeHeights" onmouseover="tip('Allow system to change custom heights if reasonable')" class="checkbox-label">Change heights</label>
|
||||||
|
</div>
|
||||||
<label onmouseover="tip('Number of Land cells and landmass/ocean ratio')">Landmass: <span id="landmassCounter">0</span></label><hr>
|
<label onmouseover="tip('Number of Land cells and landmass/ocean ratio')">Landmass: <span id="landmassCounter">0</span></label><hr>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -496,19 +546,19 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="aboutContent" class="tabcontent">
|
<div id="aboutContent" class="tabcontent">
|
||||||
<p><a href="https://github.com/Azgaar/Fantasy-Map-Generator" target="_blank">Fantasy Map Generator</a> is an <a href="https://github.com/Azgaar/Fantasy-Map-Generator/blob/master/LICENSE" target="_blank">open source</a> tool which procedurally generates fantasy maps. You may either use an auto-generated maps or create your own map manually or with a help of templates or image converter. Check out the <a href="https://github.com/Azgaar/Fantasy-Map-Generator/wiki/Quick-Start-Tutorial" target="_blank">quick start tutorial</a> and <a href="https://github.com/Azgaar/Fantasy-Map-Generator/wiki" target="_blank">project wiki</a> for guidance.</p>
|
<p><a href="https://github.com/Azgaar/Fantasy-Map-Generator" target="_blank">Fantasy Map Generator</a> is an <a href="https://github.com/Azgaar/Fantasy-Map-Generator/blob/master/LICENSE" target="_blank">open source</a> tool which procedurally generates fantasy maps. You may use auto-generated maps as they are, edit them or even create a map from scratch. Check out the <a href="https://github.com/Azgaar/Fantasy-Map-Generator/wiki/Quick-Start-Tutorial" target="_blank">quick start tutorial</a> and <a href="https://github.com/Azgaar/Fantasy-Map-Generator/wiki" target="_blank">project wiki</a> for guidance. Join our <a href="https://www.reddit.com/r/FantasyMapGenerator/" target="_blank">Reddit Community</a> if you have questions, need any help, have a suggestion or just want to share a created map.</p>
|
||||||
<p>This is a Demo version, the Generator is still under development. For older versions see the <a href="https://github.com/Azgaar/Fantasy-Map-Generator/wiki/Changelog" target="_blank">changelog</a>. Some details are covered in my <a href="https://azgaar.wordpress.com/" target="_blank">blog</a>. To track the current progress see the <a href="https://trello.com/b/7x832DG4/fantasy-map-generator" target="_blank">devboard</a>.</p>
|
<p>The project is under active development. For older versions see the <a href="https://github.com/Azgaar/Fantasy-Map-Generator/wiki/Changelog" target="_blank">changelog</a>. Some details are covered in my <a href="https://azgaar.wordpress.com/" target="_blank">blog</a>. To track the current progress see the <a href="https://trello.com/b/7x832DG4/fantasy-map-generator" target="_blank">devboard</a>.</p>
|
||||||
<p>Please report bugs and suggest new features <a href="https://github.com/Azgaar/Fantasy-Map-Generator/issues" target="_blank">here</a>. You may also <a href="mailto:maxganiev@yandex.ru">send me</a> an email.</p>
|
<p>Please report bugs <a href="https://github.com/Azgaar/Fantasy-Map-Generator/issues" target="_blank">here</a>. You may also <a href="mailto:maxganiev@yandex.ru" target="_blank">send me</a> an email.</p>
|
||||||
<ul class="share-buttons">
|
<ul class="share-buttons">
|
||||||
<li><a href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fazgaar.github.io%2FFantasy-Map-Generator%2F"e=" onmouseover="tip('Share on Facebook')" target="_blank"><img alt="Share on Facebook" src="images/Facebook.png" /></a></li>
|
<li><a href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fazgaar.github.io%2FFantasy-Map-Generator%2F"e=" onmouseover="tip('Share on Facebook')" target="_blank"><img alt="Share on Facebook" src="images/Facebook.png" /></a></li>
|
||||||
<li><a href="https://twitter.com/intent/tweet?source=https%3A%2F%2Fazgaar.github.io%2FFantasy-Map-Generator%2F&text=:%20https%3A%2F%2Fazgaar.github.io%2FFantasy-Map-Generator%2F" target="_blank" onmouseover="tip('Tweet')"><img alt="Tweet" src="images/Twitter.png" /></a></li>
|
<li><a href="https://twitter.com/intent/tweet?source=https%3A%2F%2Fazgaar.github.io%2FFantasy-Map-Generator&text=%23FantasyMapGenerator%0A%0Ahttps%3A//azgaar.github.io/Fantasy-Map-Generator" target="_blank" onmouseover="tip('Tweet')"><img alt="Tweet" src="images/Twitter.png" /></a></li>
|
||||||
<li><a href="http://www.tumblr.com/share?v=3&u=https%3A%2F%2Fazgaar.github.io%2FFantasy-Map-Generator%2F"e=&s=" target="_blank" onmouseover="tip('Post to Tumblr')"><img alt="Post to Tumblr" src="images/Tumblr.png" /></a></li>
|
<li><a href="http://www.tumblr.com/share?v=3&u=https%3A%2F%2Fazgaar.github.io%2FFantasy-Map-Generator" target="_blank" onmouseover="tip('Post to Tumblr')"><img alt="Post to Tumblr" src="images/Tumblr.png" /></a></li>
|
||||||
<li><a href="http://pinterest.com/pin/create/button/?url=https%3A%2F%2Fazgaar.github.io%2FFantasy-Map-Generator%2F&description=" target="_blank" onmouseover="tip('Pin it')"><img alt="Pin it" src="images/Pinterest.png" /></a></li>
|
<li><a href="http://pinterest.com/pin/create/button/?url=https%3A%2F%2Fazgaar.github.io%2FFantasy-Map-Generator" target="_blank" onmouseover="tip('Pin it')"><img alt="Pin it" src="images/Pinterest.png" /></a></li>
|
||||||
<li><a href="http://www.reddit.com/submit?url=https%3A%2F%2Fazgaar.github.io%2FFantasy-Map-Generator" target="_blank" onmouseover="tip('Submit to Reddit')"><img alt="Submit to Reddit" src="images/Reddit.png" /></a></li>
|
<li><a href="http://www.reddit.com/submit?url=https%3A%2F%2Fazgaar.github.io%2FFantasy-Map-Generator" target="_blank" onmouseover="tip('Submit to Reddit')"><img alt="Submit to Reddit" src="images/Reddit.png" /></a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div id="sticked">
|
<div id="sticked">
|
||||||
<button id="randomMap" onmouseover="tip('Generate new random map based on options being set (F2)')" class="options">New Map</button>
|
<button id="randomMap" onmouseover="tip('Generate a new random map based on options set (F2). May take about 1 minute')" class="options">New Map</button>
|
||||||
<button id="saveButton" onmouseover="tip('Select file format to save map')" class="options">Save as</button>
|
<button id="saveButton" onmouseover="tip('Select file format to save map')" class="options">Save as</button>
|
||||||
<div id="saveDropdown">
|
<div id="saveDropdown">
|
||||||
<div id="saveMap" onmouseover="tip('Save as fully functional map in .map format')">.map</div>
|
<div id="saveMap" onmouseover="tip('Save as fully functional map in .map format')">.map</div>
|
||||||
|
|
@ -516,7 +566,7 @@
|
||||||
<div id="savePNG" onmouseover="tip('Download the visible part of the map as 4K .png image. Please ensure popups are not blocked!')">.png</div>
|
<div id="savePNG" onmouseover="tip('Download the visible part of the map as 4K .png image. Please ensure popups are not blocked!')">.png</div>
|
||||||
</div>
|
</div>
|
||||||
<button id="loadMap" onmouseover="tip('Load fully functional map in a .map format')" class="options">Load</button>
|
<button id="loadMap" onmouseover="tip('Load fully functional map in a .map format')" class="options">Load</button>
|
||||||
<button id="zoomReset" onmouseover="tip('Reset map zoom to default')" class="options">Reset Zoom</button>
|
<button id="zoomReset" onmouseover="tip('Reset map zoom to 1')" class="options">Reset Zoom</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -527,7 +577,7 @@
|
||||||
<input id="editGroupInput" placeholder="new name" onmouseover="tip('Declare new Group for this label')" class="editTrigger"/>
|
<input id="editGroupInput" placeholder="new name" onmouseover="tip('Declare new Group for this label')" class="editTrigger"/>
|
||||||
<span id="editGroupNew" onmouseover="tip('Declare new Group for this label')" class="editButtonS icon-plus"></span>
|
<span id="editGroupNew" onmouseover="tip('Declare new Group for this label')" class="editButtonS icon-plus"></span>
|
||||||
<span id="editGroupRemove" onmouseover="tip('Remove the Group with all labels')" class="editButtonS icon-trash"></span>
|
<span id="editGroupRemove" onmouseover="tip('Remove the Group with all labels')" class="editButtonS icon-trash"></span>
|
||||||
<button id="editTextButton" onmouseover="tip('Edit label Text')" class="editButton icon-pencil"></button>
|
<button id="editTextButton" onmouseover="tip('Edit label Text')" class="editButton icon-pencil"></button>
|
||||||
<input id="editText" class="editTrigger"/>
|
<input id="editText" class="editTrigger"/>
|
||||||
<span id="editTextRandom" onmouseover="tip('Generate random name')" class="editButtonS icon-shuffle"></span>
|
<span id="editTextRandom" onmouseover="tip('Generate random name')" class="editButtonS icon-shuffle"></span>
|
||||||
<button id="editFontButton" onmouseover="tip('Select Font for the entire Group')" class="editButton icon-font"></button>
|
<button id="editFontButton" onmouseover="tip('Select Font for the entire Group')" class="editButton icon-font"></button>
|
||||||
|
|
@ -737,8 +787,9 @@
|
||||||
<button id="templateUndo" onmouseover="tip('Undo the latest action')" class="icon-ccw" disabled></button>
|
<button id="templateUndo" onmouseover="tip('Undo the latest action')" class="icon-ccw" disabled></button>
|
||||||
<button id="templateRedo" onmouseover="tip('Redo the action')" class="icon-cw" disabled></button>
|
<button id="templateRedo" onmouseover="tip('Redo the action')" class="icon-cw" disabled></button>
|
||||||
<button id="templateComplete" onmouseover="tip('Finalize the Heightmap. Not allowed if insufficient land area available')" class="icon-check"></button>
|
<button id="templateComplete" onmouseover="tip('Finalize the Heightmap. Not allowed if insufficient land area available')" class="icon-check"></button>
|
||||||
<button id="templateLoad" onmouseover="tip('Open previously saved template')" class="icon-upload"></button>
|
|
||||||
<button id="templateSave" onmouseover="tip('Save template')" class="icon-download"></button>
|
<button id="templateSave" onmouseover="tip('Save template')" class="icon-download"></button>
|
||||||
|
<button id="templateLoad" onmouseover="tip('Open previously saved template')" class="icon-upload"></button>
|
||||||
|
<button id="templateMail" onclick="window.open('mailto:maxganiev@yandex.com?Subject=Template%20suggestion', '_blank')" onmouseover="tip('Send a template suggestion to me')" class="icon-mail-alt"></button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -865,6 +916,7 @@
|
||||||
<input id="countriesNeutral" onchange="this.title = this.value" type="range" min="1" max="500" value="200">
|
<input id="countriesNeutral" onchange="this.title = this.value" type="range" min="1" max="500" value="200">
|
||||||
</div>
|
</div>
|
||||||
<button id="countriesAddG" onmouseover="tip('Proclaim a new country')" class="icon-flag"></button>
|
<button id="countriesAddG" onmouseover="tip('Proclaim a new country')" class="icon-flag"></button>
|
||||||
|
<button id="countriesRegenerateNames" onmouseover="tip('Regenerate countries names')" class="icon-arrows-cw"></button>
|
||||||
<button id="countriesExport" onmouseover="tip('Save country-related data as a text file (.csv)')" class="icon-download"></button>
|
<button id="countriesExport" onmouseover="tip('Save country-related data as a text file (.csv)')" class="icon-download"></button>
|
||||||
<button id="burgNamesImport" onmouseover="tip('Load burg names from a text file. Each name should be on a new line!')" class="icon-upload"></button>
|
<button id="burgNamesImport" onmouseover="tip('Load burg names from a text file. Each name should be on a new line!')" class="icon-upload"></button>
|
||||||
<button id="removeCountries" onmouseover="tip('Remove all countries')" class="icon-trash"></button>
|
<button id="removeCountries" onmouseover="tip('Remove all countries')" class="icon-trash"></button>
|
||||||
|
|
@ -891,12 +943,84 @@
|
||||||
<div id="burgsBottom">
|
<div id="burgsBottom">
|
||||||
<button id="editScaleBurgs" onmouseover="tip('Change demographical and geographical measurements')" class="icon-map-signs"></button>
|
<button id="editScaleBurgs" onmouseover="tip('Change demographical and geographical measurements')" class="icon-map-signs"></button>
|
||||||
<button id="changeCapital" onmouseover="tip('Click on a burg line to make it a new capital')" class="icon-star"></button>
|
<button id="changeCapital" onmouseover="tip('Click on a burg line to make it a new capital')" class="icon-star"></button>
|
||||||
<button id="regenerateBurgNames" onmouseover="tip('Regenerate burg names')" class="icon-cog-alt"></button>
|
<button id="regenerateBurgNames" onmouseover="tip('Regenerate burg names based on assigned culture')" class="icon-arrows-cw"></button>
|
||||||
<button id="burgAdd" onmouseover="tip('Add new burg')" class="icon-fort-awesome"></button>
|
<button id="burgAdd" onmouseover="tip('Add new burg')" class="icon-fort-awesome"></button>
|
||||||
<button id="removeBurgs" onmouseover="tip('Remove all burgs')" class="icon-trash"></button>
|
<button id="removeBurgs" onmouseover="tip('Remove all burgs')" class="icon-trash"></button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div id="culturesEditor" class="dialog stable" style="display: none" data-type="absolute">
|
||||||
|
<div id="culturesHeader">
|
||||||
|
<div style="margin-left: 14px" onmouseover="tip('Click to sort by culture name')" class="sortable alphabetically" data-sortby="culture">Culture </div>
|
||||||
|
<div style="margin-left: 16px" onmouseover="tip('Click to sort by culture cells count')" class="sortable" data-sortby="cells">Cells </div>
|
||||||
|
<div style="margin-left: 18px" onmouseover="tip('Click to sort by culture area')" class="sortable" data-sortby="area">Area </div>
|
||||||
|
<div style="margin-left: 30px" onmouseover="tip('Click to sort by culture population')" class="sortable" data-sortby="population">Population </div>
|
||||||
|
<div style="margin-left: 3px" onmouseover="tip('Click to sort by culture namesbase')" class="sortable alphabetically" data-sortby="base">Namesbase </div>
|
||||||
|
</div>
|
||||||
|
<div id="culturesBody"></div>
|
||||||
|
|
||||||
|
<div id="culturesFooter" class="totalLine">
|
||||||
|
<div onmouseover="tip('Cultures number (active / total)')" style="margin-left: 7px">Cultures: <span id="culturesFooterCultures">0 / 7</span></div>
|
||||||
|
<div onmouseover="tip('Total Land cells number')" style="margin-left: 7px">Cells: <span id="culturesFooterCells">0</span></div>
|
||||||
|
<div onmouseover="tip('Total Land Area')" style="margin-left: 7px">Area: <span id="culturesFooterArea">0</span></div>
|
||||||
|
<div onmouseover="tip('Total Population')" style="margin-left: 7px">Population: <span id="culturesFooterPopulation">0</span></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="culturesBottom">
|
||||||
|
<button id="culturesPercentage" onmouseover="tip('Toggle percentage / absolut values views')" class="icon-percent"></button>
|
||||||
|
<button id="culturesManually" onmouseover="tip('Manually re-assign cultures')" class="icon-brush"></button>
|
||||||
|
<div id="culturesManuallyButtons" style="display: none">
|
||||||
|
<button id="culturesManuallyComplete" onmouseover="tip('Apply assignment')" class="icon-check"></button>
|
||||||
|
<button id="culturesManuallyCancel" onmouseover="tip('Cancel assignment')" class="icon-cancel"></button>
|
||||||
|
<label onmouseover="tip('Set the brush power')" class="italic">Brush size:</label>
|
||||||
|
<input id="culturesManuallyBrush" onchange="this.title = this.value" type="range" min="1" max="7" value="3">
|
||||||
|
</div>
|
||||||
|
<button id="culturesRandomize" onmouseover="tip('Randomly re-distribute cultures')" class="icon-shuffle"></button>
|
||||||
|
<button id="culturesRegenerateNames" onmouseover="tip('Re-generate all Burg names based on assigned culture')" class="icon-arrows-cw"></button>
|
||||||
|
<button id="culturesEditNamesBase" onmouseover="tip('Edit a database used for names generation')" class="icon-list-bullet"></button>
|
||||||
|
<button id="culturesAdd" onmouseover="tip('Add a new culture')" class="icon-plus"></button>
|
||||||
|
<button id="culturesExport" onmouseover="tip('Save cultures-related data as a text file (.csv)')" class="icon-download"></button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="namesbaseEditor" class="dialog stable" style="display: none">
|
||||||
|
<div id="namesbaseBasesTop">
|
||||||
|
<span>Select base: </span>
|
||||||
|
<select id="namesbaseSelect" onmouseover="tip('Select base to edit')" value="0"></select>
|
||||||
|
<span>Base name: </span>
|
||||||
|
<input id="namesbaseName" onmouseover="tip('Type to change a base name')" placeholder="Base name" autocorrect="off" spellcheck="false"/>
|
||||||
|
</div>
|
||||||
|
<div id="namesbaseBody">
|
||||||
|
<span>Names data:</span><br>
|
||||||
|
<textarea id="namesbaseTextarea" data-base="0" cols="70" rows="10" onmouseover="tip('Names data: a comma separated list of source names used for names generation')" placeholder="Provide a names data: a comma separated list of source names" autocorrect="off" spellcheck="false"></textarea>
|
||||||
|
<br>
|
||||||
|
<div>
|
||||||
|
<span>Method: </span><select onmouseover="tip('Select generation method')" id="namesbaseMethod">
|
||||||
|
<option value="let-to-let">Markov let-to-let</option>
|
||||||
|
<option value="let-to-syl">Markov let-to-syl</option>
|
||||||
|
<option value="syl-to-syl">Markov syl-to-syl</option>
|
||||||
|
<option value="selection">Random selection</option>
|
||||||
|
</select><span> Length: </span>
|
||||||
|
<input id="namesbaseMin" onmouseover="tip('Minimal name length recommendation')" type="number" min="2" max="100" value="4">
|
||||||
|
<input id="namesbaseMax" onmouseover="tip('Maximal name length recommendation')" type="number" min="2" value="10">
|
||||||
|
<span>Dublication: </span>
|
||||||
|
<input id="namesbaseDouble" onmouseover="tip('Populate with letters that can used twice in a row')" autocorrect="off" spellcheck="false" value="abc">
|
||||||
|
</div>
|
||||||
|
<fieldset>
|
||||||
|
<legend>Generated examples: </legend>
|
||||||
|
<div id="namesbaseExamples" onmouseover="tip('Generated examples. Click to re-gererate')"></div>
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
|
<div id="namesbaseBottom">
|
||||||
|
<button id="namesbaseDefault" onmouseover="tip('Restore default namesbase')" class="icon-cancel"></button>
|
||||||
|
<button id="namesbaseAdd" onmouseover="tip('Add a new base')" class="icon-plus"></button>
|
||||||
|
<button id="namesbaseUpdateExamples" onmouseover="tip('Re-generate examples based on provided data and generation method')" class="icon-cw"></button>
|
||||||
|
<button id="namesbaseDownload" onmouseover="tip('Download namesbase to PC')" class="icon-download"></button>
|
||||||
|
<button id="namesbaseUpload" onmouseover="tip('Upload a namesbase from PC')" class="icon-upload"></button>
|
||||||
|
<button id="namesbaseMail" onclick="window.open('mailto:maxganiev@yandex.com?Subject=Namesbase%20suggestion', '_blank')" onmouseover="tip('Send a namesbase suggestion to me')" class="icon-mail-alt"></button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div id="scaleEditor" class="dialog stable" style="display: none">
|
<div id="scaleEditor" class="dialog stable" style="display: none">
|
||||||
<div id="scaleBody">
|
<div id="scaleBody">
|
||||||
<div class="scaleHeader">
|
<div class="scaleHeader">
|
||||||
|
|
@ -915,8 +1039,8 @@
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<div onmouseover="tip('Select how many distance unit are in one pixel')">1 map pixel =</div>
|
<div onmouseover="tip('Select how many distance unit are in one pixel')">1 map pixel =</div>
|
||||||
<input id="distanceScale" onmouseover="tip('Select how many distance unit are in one pixel')" type="range" min="0.1" max="10" value="1" step="0.1">
|
<input id="distanceScale" onmouseover="tip('Select how many distance unit are in one pixel')" type="range" min="0.1" max="10" value="3" step="0.1">
|
||||||
<input id="scaleOutput" onmouseover="tip('Enter how many distance unit are in one pixel')" type="text" class="output" value="1 mi">
|
<input id="scaleOutput" onmouseover="tip('Enter how many distance unit are in one pixel')" type="text" class="output" value="3 mi">
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<div onmouseover="tip('Type area unit name, leave `square` just to add ² to the distance unit selected above')">Area unit: </div>
|
<div onmouseover="tip('Type area unit name, leave `square` just to add ² to the distance unit selected above')">Area unit: </div>
|
||||||
|
|
@ -951,8 +1075,8 @@
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<div>Urbanization rate: </div>
|
<div>Urbanization rate: </div>
|
||||||
<input id="urbanization" onmouseover="tip('Set the ubranization (burgs population relative to all population) rate')" type="range" min="0.02" max="5" value="0.3" step="0.01">
|
<input id="urbanization" onmouseover="tip('Set the ubranization (burgs population relative to all population) rate')" type="range" min="0.01" max="5" value="1" step="0.01">
|
||||||
<input id="urbanizationOutput" onmouseover="tip('Enter the ubranization (burgs population relative to all population) rate')" type="text" class="output" value="0.3">
|
<input id="urbanizationOutput" onmouseover="tip('Enter the ubranization (burgs population relative to all population) rate')" type="text" class="output" value="1">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="scaleBottom">
|
<div id="scaleBottom">
|
||||||
|
|
@ -980,7 +1104,8 @@
|
||||||
<input type="file" accept=".txt,.csv" id="burgsListToLoad">
|
<input type="file" accept=".txt,.csv" id="burgsListToLoad">
|
||||||
<input type="file" accept="image/*" id="imageToLoad">
|
<input type="file" accept="image/*" id="imageToLoad">
|
||||||
<input type="file" accept=".txt" id="templateToLoad">
|
<input type="file" accept=".txt" id="templateToLoad">
|
||||||
|
<input type="file" accept=".txt" id="namesbaseToLoad">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="script.js?version=0.57.00b"></script>
|
<script src="script.js?version=0.58.00b"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
||||||
10
names.js
10
names.js
|
|
@ -1,10 +0,0 @@
|
||||||
var cultures = ["Shwazen","Angshire","Luari","Latian","Toledi","Slovian","Varangian"];
|
|
||||||
var manorNames = [
|
|
||||||
["Achern","Aichhalden","Aitern","Albbruck","Alpirsbach","Altensteig","Althengstett","Appenweier","Auggen","Wildbad","Badenen","Badenweiler","Baiersbronn","Ballrechten","Bellingen","Berghaupten","Bernau","Biberach","Biederbach","Binzen","Birkendorf","Birkenfeld","Bischweier","Blumberg","Bollen","Bollschweil","Bonndorf","Bosingen","Braunlingen","Breisach","Breisgau","Breitnau","Brigachtal","Buchenbach","Buggingen","Buhl","Buhlertal","Calw","Dachsberg","Dobel","Donaueschingen","Dornhan","Dornstetten","Dottingen","Dunningen","Durbach","Durrheim","Ebhausen","Ebringen","Efringen","Egenhausen","Ehrenkirchen","Ehrsberg","Eimeldingen","Eisenbach","Elzach","Elztal","Emmendingen","Endingen","Engelsbrand","Enz","Enzklosterle","Eschbronn","Ettenheim","Ettlingen","Feldberg","Fischerbach","Fischingen","Fluorn","Forbach","Freiamt","Freiburg","Freudenstadt","Friedenweiler","Friesenheim","Frohnd","Furtwangen","Gaggenau","Geisingen","Gengenbach","Gernsbach","Glatt","Glatten","Glottertal","Gorwihl","Gottenheim","Grafenhausen","Grenzach","Griesbach","Gutach","Gutenbach","Hag","Haiterbach","Hardt","Harmersbach","Hasel","Haslach","Hausach","Hausen","Hausern","Heitersheim","Herbolzheim","Herrenalb","Herrischried","Hinterzarten","Hochenschwand","Hofen","Hofstetten","Hohberg","Horb","Horben","Hornberg","Hufingen","Ibach","Ihringen","Inzlingen","Kandern","Kappel","Kappelrodeck","Karlsbad","Karlsruhe","Kehl","Keltern","Kippenheim","Kirchzarten","Konigsfeld","Krozingen","Kuppenheim","Kussaberg","Lahr","Lauchringen","Lauf","Laufenburg","Lautenbach","Lauterbach","Lenzkirch","Liebenzell","Loffenau","Loffingen","Lorrach","Lossburg","Mahlberg","Malsburg","Malsch","March","Marxzell","Marzell","Maulburg","Monchweiler","Muhlenbach","Mullheim","Munstertal","Murg","Nagold","Neubulach","Neuenburg","Neuhausen","Neuried","Neuweiler","Niedereschach","Nordrach","Oberharmersbach","Oberkirch","Oberndorf","Oberbach","Oberried","Oberwolfach","Offenburg","Ohlsbach","Oppenau","Ortenberg","otigheim","Ottenhofen","Ottersweier","Peterstal","Pfaffenweiler","Pfalzgrafenweiler","Pforzheim","Rastatt","Renchen","Rheinau","Rheinfelden","Rheinmunster","Rickenbach","Rippoldsau","Rohrdorf","Rottweil","Rummingen","Rust","Sackingen","Sasbach","Sasbachwalden","Schallbach","Schallstadt","Schapbach","Schenkenzell","Schiltach","Schliengen","Schluchsee","Schomberg","Schonach","Schonau","Schonenberg","Schonwald","Schopfheim","Schopfloch","Schramberg","Schuttertal","Schwenningen","Schworstadt","Seebach","Seelbach","Seewald","Sexau","Simmersfeld","Simonswald","Sinzheim","Solden","Staufen","Stegen","Steinach","Steinen","Steinmauern","Straubenhardt","Stuhlingen","Sulz","Sulzburg","Teinach","Tiefenbronn","Tiengen","Titisee","Todtmoos","Todtnau","Todtnauberg","Triberg","Tunau","Tuningen","uhlingen","Unterkirnach","Reichenbach","Utzenfeld","Villingen","Villingendorf","Vogtsburg","Vohrenbach","Waldachtal","Waldbronn","Waldkirch","Waldshut","Wehr","Weil","Weilheim","Weisenbach","Wembach","Wieden","Wiesental","Wildberg","Winzeln","Wittlingen","Wittnau","Wolfach","Wutach","Wutoschingen","Wyhlen","Zavelstein"],
|
|
||||||
["Abingdon","Albrighton","Alcester","Almondbury","Altrincham","Amersham","Andover","Appleby","Ashboume","Atherstone","Aveton","Axbridge","Aylesbury","Baldock","Bamburgh","Barton","Basingstoke","Berden","Bere","Berkeley","Berwick","Betley","Bideford","Bingley","Birmingham","Blandford","Blechingley","Bodmin","Bolton","Bootham","Boroughbridge","Boscastle","Bossinney","Bramber","Brampton","Brasted","Bretford","Bridgetown","Bridlington","Bromyard","Bruton","Buckingham","Bungay","Burton","Calne","Cambridge","Canterbury","Carlisle","Castleton","Caus","Charmouth","Chawleigh","Chichester","Chillington","Chinnor","Chipping","Chisbury","Cleobury","Clifford","Clifton","Clitheroe","Cockermouth","Coleshill","Combe","Congleton","Crafthole","Crediton","Cuddenbeck","Dalton","Darlington","Dodbrooke","Drax","Dudley","Dunstable","Dunster","Dunwich","Durham","Dymock","Exeter","Exning","Faringdon","Felton","Fenny","Finedon","Flookburgh","Fowey","Frampton","Gateshead","Gatton","Godmanchester","Grampound","Grantham","Guildford","Halesowen","Halton","Harbottle","Harlow","Hatfield","Hatherleigh","Haydon","Helston","Henley","Hertford","Heytesbury","Hinckley","Hitchin","Holme","Hornby","Horsham","Kendal","Kenilworth","Kilkhampton","Kineton","Kington","Kinver","Kirby","Knaresborough","Knutsford","Launceston","Leighton","Lewes","Linton","Louth","Luton","Lyme","Lympstone","Macclesfield","Madeley","Malborough","Maldon","Manchester","Manningtree","Marazion","Marlborough","Marshfield","Mere","Merryfield","Middlewich","Midhurst","Milborne","Mitford","Modbury","Montacute","Mousehole","Newbiggin","Newborough","Newbury","Newenden","Newent","Norham","Northleach","Noss","Oakham","Olney","Orford","Ormskirk","Oswestry","Padstow","Paignton","Penkneth","Penrith","Penzance","Pershore","Petersfield","Pevensey","Pickering","Pilton","Pontefract","Portsmouth","Preston","Quatford","Reading","Redcliff","Retford","Rockingham","Romney","Rothbury","Rothwell","Salisbury","Saltash","Seaford","Seasalter","Sherston","Shifnal","Shoreham","Sidmouth","Skipsea","Skipton","Solihull","Somerton","Southam","Southwark","Standon","Stansted","Stapleton","Stottesdon","Sudbury","Swavesey","Tamerton","Tarporley","Tetbury","Thatcham","Thaxted","Thetford","Thornbury","Tintagel","Tiverton","Torksey","Totnes","Towcester","Tregoney","Trematon","Tutbury","Uxbridge","Wallingford","Wareham","Warenmouth","Wargrave","Warton","Watchet","Watford","Wendover","Westbury","Westcheap","Weymouth","Whitford","Wickwar","Wigan","Wigmore","Winchelsea","Winkleigh","Wiscombe","Witham","Witheridge","Wiveliscombe","Woodbury","Yeovil"],
|
|
||||||
["Adon","Aillant","Amilly","Andonville","Ardon","Artenay","Ascheres","Ascoux","Attray","Aubin","Audeville","Aulnay","Autruy","Auvilliers","Auxy","Aveyron","Baccon","Bardon","Barville","Batilly","Baule","Bazoches","Beauchamps","Beaugency","Beaulieu","Beaune","Bellegarde","Boesses","Boigny","Boiscommun","Boismorand","Boisseaux","Bondaroy","Bonnee","Bonny","Bordes","Bou","Bougy","Bouilly","Boulay","Bouzonville","Bouzy","Boynes","Bray","Breteau","Briare","Briarres","Bricy","Bromeilles","Bucy","Cepoy","Cercottes","Cerdon","Cernoy","Cesarville","Chailly","Chaingy","Chalette","Chambon","Champoulet","Chanteau","Chantecoq","Chapell","Charme","Charmont","Charsonville","Chateau","Chateauneuf","Chatel","Chatenoy","Chatillon","Chaussy","Checy","Chevannes","Chevillon","Chevilly","Chevry","Chilleurs","Choux","Chuelles","Clery","Coinces","Coligny","Combleux","Combreux","Conflans","Corbeilles","Corquilleroy","Cortrat","Coudroy","Coullons","Coulmiers","Courcelles","Courcy","Courtemaux","Courtempierre","Courtenay","Cravant","Crottes","Dadonville","Dammarie","Dampierre","Darvoy","Desmonts","Dimancheville","Donnery","Dordives","Dossainville","Douchy","Dry","Echilleuses","Egry","Engenville","Epieds","Erceville","Ervauville","Escrennes","Escrignelles","Estouy","Faverelles","Fay","Feins","Ferolles","Ferrieres","Fleury","Fontenay","Foret","Foucherolles","Freville","Gatinais","Gaubertin","Gemigny","Germigny","Gidy","Gien","Girolles","Givraines","Gondreville","Grangermont","Greneville","Griselles","Guigneville","Guilly","Gyleslonains","Huetre","Huisseau","Ingrannes","Ingre","Intville","Isdes","Jargeau","Jouy","Juranville","Bussiere","Laas","Ladon","Lailly","Langesse","Leouville","Ligny","Lombreuil","Lorcy","Lorris","Loury","Louzouer","Malesherbois","Marcilly","Mardie","Mareau","Marigny","Marsainvilliers","Melleroy","Menestreau","Merinville","Messas","Meung","Mezieres","Migneres","Mignerette","Mirabeau","Montargis","Montbarrois","Montbouy","Montcresson","Montereau","Montigny","Montliard","Mormant","Morville","Moulinet","Moulon","Nancray","Nargis","Nesploy","Neuville","Neuvy","Nevoy","Nibelle","Nogent","Noyers","Ocre","Oison","Olivet","Ondreville","Onzerain","Orleans","Ormes","Orville","Oussoy","Outarville","Ouzouer","Pannecieres","Pannes","Patay","Paucourt","Pers","Pierrefitte","Pithiverais","Pithiviers","Poilly","Potier","Prefontaines","Presnoy","Pressigny","Puiseaux","Quiers","Ramoulu","Rebrechien","Rouvray","Rozieres","Rozoy","Ruan","Sandillon","Santeau","Saran","Sceaux","Seichebrieres","Semoy","Sennely","Sermaises","Sigloy","Solterre","Sougy","Sully","Sury","Tavers","Thignonville","Thimory","Thorailles","Thou","Tigy","Tivernon","Tournoisis","Trainou","Treilles","Trigueres","Trinay","Vannes","Varennes","Vennecy","Vieilles","Vienne","Viglain","Vignes","Villamblain","Villemandeur","Villemoutiers","Villemurlin","Villeneuve","Villereau","Villevoques","Villorceau","Vimory","Vitry","Vrigny","Ivre"],
|
|
||||||
["Accumoli","Acquafondata","Acquapendente","Acuto","Affile","Agosta","Alatri","Albano","Allumiere","Alvito","Amaseno","Amatrice","Anagni","Anguillara","Anticoli","Antrodoco","Anzio","Aprilia","Aquino","Arce","Arcinazzo","Ardea","Ariccia","Arlena","Arnara","Arpino","Arsoli","Artena","Ascrea","Atina","Ausonia","Bagnoregio","Barbarano","Bassano","Bassiano","Bellegra","Belmonte","Blera","Bolsena","Bomarzo","Borbona","Borgo","Borgorose","Boville","Bracciano","Broccostella","Calcata","Camerata","Campagnano","Campodimele","Campoli","Canale","Canepina","Canino","Cantalice","Cantalupo","Canterano","Capena","Capodimonte","Capranica","Caprarola","Carbognano","Casalattico","Casalvieri","Casape","Casaprota","Casperia","Cassino","Castelforte","Castelliri","Castello","Castelnuovo","Castiglione","Castro","Castrocielo","Cave","Ceccano","Celleno","Cellere","Ceprano","Cerreto","Cervara","Cervaro","Cerveteri","Ciampino","Ciciliano","Cineto","Cisterna","Cittaducale","Cittareale","Civita","Civitavecchia","Civitella","Colfelice","Collalto","Colle","Colleferro","Collegiove","Collepardo","Collevecchio","Colli","Colonna","Concerviano","Configni","Contigliano","Corchiano","Coreno","Cori","Cottanello","Esperia","Fabrica","Faleria","Falvaterra","Fara","Farnese","Ferentino","Fiamignano","Fiano","Filacciano","Filettino","Fiuggi","Fiumicino","Fondi","Fontana","Fonte","Fontechiari","Forano","Formello","Formia","Frascati","Frasso","Frosinone","Fumone","Gaeta","Gallese","Gallicano","Gallinaro","Gavignano","Genazzano","Genzano","Gerano","Giuliano","Gorga","Gradoli","Graffignano","Greccio","Grottaferrata","Grotte","Guarcino","Guidonia","Ischia","Isola","Itri","Jenne","Labico","Labro","Ladispoli","Lanuvio","Lariano","Latera","Lenola","Leonessa","Licenza","Longone","Lubriano","Maenza","Magliano","Mandela","Manziana","Marano","Marcellina","Marcetelli","Marino","Marta","Mazzano","Mentana","Micigliano","Minturno","Mompeo","Montalto","Montasola","Monte","Montebuono","Montefiascone","Monteflavio","Montelanico","Monteleone","Montelibretti","Montenero","Monterosi","Monterotondo","Montopoli","Montorio","Moricone","Morlupo","Morolo","Morro","Nazzano","Nemi","Nepi","Nerola","Nespolo","Nettuno","Norma","Olevano","Onano","Oriolo","Orte","Orvinio","Paganico","Palestrina","Paliano","Palombara","Pastena","Patrica","Percile","Pescorocchiano","Pescosolido","Petrella","Piansano","Picinisco","Pico","Piedimonte","Piglio","Pignataro","Pisoniano","Pofi","Poggio","Poli","Pomezia","Pontecorvo","Pontinia","Ponza","Ponzano","Posta","Pozzaglia","Priverno","Proceno","Prossedi","Riano","Rieti","Rignano","Riofreddo","Ripi","Rivodutri","Rocca","Roccagiovine","Roccagorga","Roccantica","Roccasecca","Roiate","Ronciglione","Roviano","Sabaudia","Sacrofano","Salisano","Sambuci","Santa","Santi","Santopadre","Saracinesco","Scandriglia","Segni","Selci","Sermoneta","Serrone","Settefrati","Sezze","Sgurgola","Sonnino","Sora","Soriano","Sperlonga","Spigno","Stimigliano","Strangolagalli","Subiaco","Supino","Sutri","Tarano","Tarquinia","Terelle","Terracina","Tessennano","Tivoli","Toffia","Tolfa","Torre","Torri","Torrice","Torricella","Torrita","Trevi","Trevignano","Trivigliano","Turania","Tuscania","Vacone","Valentano","Vallecorsa","Vallemaio","Vallepietra","Vallerano","Vallerotonda","Vallinfreda","Valmontone","Varco","Vasanello","Vejano","Velletri","Ventotene","Veroli","Vetralla","Vicalvi","Vico","Vicovaro","Vignanello","Viterbo","Viticuso","Vitorchiano","Vivaro","Zagarolo"],
|
|
||||||
["Abanades","Ablanque","Adobes","Ajofrin","Alameda","Alaminos","Alarilla","Albalate","Albares","Albarreal","Albendiego","Alcabon","Alcanizo","Alcaudete","Alcocer","Alcolea","Alcoroches","Aldea","Aldeanueva","Algar","Algora","Alhondiga","Alique","Almadrones","Almendral","Almoguera","Almonacid","Almorox","Alocen","Alovera","Alustante","Angon","Anguita","Anover","Anquela","Arbancon","Arbeteta","Arcicollar","Argecilla","Arges","Armallones","Armuna","Arroyo","Atanzon","Atienza","Aunon","Azuqueca","Azutan","Baides","Banos","Banuelos","Barcience","Bargas","Barriopedro","Belvis","Berninches","Borox","Brihuega","Budia","Buenaventura","Bujalaro","Burguillos","Burujon","Bustares","Cabanas","Cabanillas","Calera","Caleruela","Calzada","Camarena","Campillo","Camunas","Canizar","Canredondo","Cantalojas","Cardiel","Carmena","Carranque","Carriches","Casa","Casarrubios","Casas","Casasbuenas","Caspuenas","Castejon","Castellar","Castilforte","Castillo","Castilnuevo","Cazalegas","Cebolla","Cedillo","Cendejas","Centenera","Cervera","Checa","Chequilla","Chillaron","Chiloeches","Chozas","Chueca","Cifuentes","Cincovillas","Ciruelas","Ciruelos","Cobeja","Cobeta","Cobisa","Cogollor","Cogolludo","Condemios","Congostrina","Consuegra","Copernal","Corduente","Corral","Cuerva","Domingo","Dosbarrios","Driebes","Duron","El","Embid","Erustes","Escalona","Escalonilla","Escamilla","Escariche","Escopete","Espinosa","Espinoso","Esplegares","Esquivias","Estables","Estriegana","Fontanar","Fuembellida","Fuensalida","Fuentelsaz","Gajanejos","Galve","Galvez","Garciotum","Gascuena","Gerindote","Guadamur","Henche","Heras","Herreria","Herreruela","Hijes","Hinojosa","Hita","Hombrados","Hontanar","Hontoba","Horche","Hormigos","Huecas","Huermeces","Huerta","Hueva","Humanes","Illan","Illana","Illescas","Iniestola","Irueste","Jadraque","Jirueque","Lagartera","Las","Layos","Ledanca","Lillo","Lominchar","Loranca","Los","Lucillos","Lupiana","Luzaga","Luzon","Madridejos","Magan","Majaelrayo","Malaga","Malaguilla","Malpica","Mandayona","Mantiel","Manzaneque","Maqueda","Maranchon","Marchamalo","Marjaliza","Marrupe","Mascaraque","Masegoso","Matarrubia","Matillas","Mazarete","Mazuecos","Medranda","Megina","Mejorada","Mentrida","Mesegar","Miedes","Miguel","Millana","Milmarcos","Mirabueno","Miralrio","Mocejon","Mochales","Mohedas","Molina","Monasterio","Mondejar","Montarron","Mora","Moratilla","Morenilla","Muduex","Nambroca","Navalcan","Negredo","Noblejas","Noez","Nombela","Noves","Numancia","Nuno","Ocana","Ocentejo","Olias","Olmeda","Ontigola","Orea","Orgaz","Oropesa","Otero","Palmaces","Palomeque","Pantoja","Pardos","Paredes","Pareja","Parrillas","Pastrana","Pelahustan","Penalen","Penalver","Pepino","Peralejos","Peralveche","Pinilla","Pioz","Piqueras","Polan","Portillo","Poveda","Pozo","Pradena","Prados","Puebla","Puerto","Pulgar","Quer","Quero","Quintanar","Quismondo","Rebollosa","Recas","Renera","Retamoso","Retiendas","Riba","Rielves","Rillo","Riofrio","Robledillo","Robledo","Romanillos","Romanones","Rueda","Sacecorbo","Sacedon","Saelices","Salmeron","San","Santa","Santiuste","Santo","Sartajada","Sauca","Sayaton","Segurilla","Selas","Semillas","Sesena","Setiles","Sevilleja","Sienes","Siguenza","Solanillos","Somolinos","Sonseca","Sotillo","Sotodosos","Talavera","Tamajon","Taragudo","Taravilla","Tartanedo","Tembleque","Tendilla","Terzaga","Tierzo","Tordellego","Tordelrabano","Tordesilos","Torija","Torralba","Torre","Torrecilla","Torrecuadrada","Torrejon","Torremocha","Torrico","Torrijos","Torrubia","Tortola","Tortuera","Tortuero","Totanes","Traid","Trijueque","Trillo","Turleque","Uceda","Ugena","Ujados","Urda","Utande","Valdarachas","Valdesotos","Valhermoso","Valtablado","Valverde","Velada","Viana","Vinuelas","Yebes","Yebra","Yelamos","Yeles","Yepes","Yuncler","Yunclillos","Yuncos","Yunquera","Zaorejas","Zarzuela","Zorita"],
|
|
||||||
["Belgorod","Beloberezhye","Belyi","Belz","Berestei","Berezhets","Berezovech","Berezutsk","Bobruisk","Bolonets","Borisov","Borovsk","Bozhesk","Bratslav","Bryansk","Brynsk","Buryn","Byhov","Chechersk","Chemesov","Cheremosh","Cherlen","Chern","Chernigov","Chernitsa","Chernobyl","Chernogorod","Chertoryesk","Chetvertnia","Demyansk","Derevesk","Devyagoresk","Dichin","Dmitrov","Dorogobuch","Dorogobuzh","Drestvin","Drokov","Drutsk","Dubechin","Dubichi","Dubki","Dubkov","Dveren","Galich","Glebovo","Glinsk","Goloty","Gomiy","Gorodets","Gorodische","Gorodno","Gorohovets","Goroshin","Gorval","Goryshon","Holm","Horobor","Hoten","Hotin","Hotmyzhsk","Ilovech","Ivan","Izborsk","Izheslavl","Kamenets","Kanev","Karachev","Karna","Kavarna","Klechesk","Klyapech","Kolomyya","Kolyvan","Kopyl","Korec","Kornik","Korochunov","Korshev","Korsun","Koshkin","Kotelno","Kovyla","Kozelsk","Kozelsk","Kremenets","Krichev","Krylatsk","Ksniatin","Kulatsk","Kursk","Kursk","Lebedev","Lida","Logosko","Lomihvost","Loshesk","Loshichi","Lubech","Lubno","Lubutsk","Lutsk","Luchin","Luki","Lukoml","Luzha","Lvov","Mtsensk","Mdin","Medniki","Melecha","Merech","Meretsk","Mescherskoe","Meshkovsk","Metlitsk","Mezetsk","Mglin","Mihailov","Mikitin","Mikulino","Miloslavichi","Mogilev","Mologa","Moreva","Mosalsk","Moschiny","Mozyr","Mstislav","Mstislavets","Muravin","Nemech","Nemiza","Nerinsk","Nichan","Novgorod","Novogorodok","Obolichi","Obolensk","Obolensk","Oleshsk","Olgov","Omelnik","Opoka","Opoki","Oreshek","Orlets","Osechen","Oster","Ostrog","Ostrov","Perelai","Peremil","Peremyshl","Pererov","Peresechen","Perevitsk","Pereyaslav","Pinsk","Ples","Polotsk","Pronsk","Proposhesk","Punia","Putivl","Rechitsa","Rodno","Rogachev","Romanov","Romny","Roslavl","Rostislavl","Rostovets","Rsha","Ruza","Rybchesk","Rylsk","Rzhavesk","Rzhev","Rzhischev","Sambor","Serensk","Serensk","Serpeysk","Shilov","Shuya","Sinech","Sizhka","Skala","Slovensk","Slutsk","Smedin","Sneporod","Snitin","Snovsk","Sochevo","Sokolec","Starica","Starodub","Stepan","Sterzh","Streshin","Sutesk","Svinetsk","Svisloch","Terebovl","Ternov","Teshilov","Teterin","Tiversk","Torchevsk","Toropets","Torzhok","Tripolye","Trubchevsk","Tur","Turov","Usvyaty","Uteshkov","Vasilkov","Velil","Velye","Venev","Venicha","Verderev","Vereya","Veveresk","Viazma","Vidbesk","Vidychev","Voino","Volodimer","Volok","Volyn","Vorobesk","Voronich","Voronok","Vorotynsk","Vrev","Vruchiy","Vselug","Vyatichsk","Vyatka","Vyshegorod","Vyshgorod","Vysokoe","Yagniatin","Yaropolch","Yasenets","Yuryev","Yuryevets","Zaraysk","Zhitomel","Zholvazh","Zizhech","Zubkov","Zudechev","Zvenigorod"],
|
|
||||||
["Akureyri","Aldra","Alftanes","Andenes","Austbo","Auvog","Bakkafjordur","Ballangen","Bardal","Beisfjord","Bifrost","Bildudalur","Bjerka","Bjerkvik","Bjorkosen","Bliksvaer","Blokken","Blonduos","Bolga","Bolungarvik","Borg","Borgarnes","Bosmoen","Bostad","Bostrand","Botsvika","Brautarholt","Breiddalsvik","Bringsli","Brunahlid","Budardalur","Byggdakjarni","Dalvik","Djupivogur","Donnes","Drageid","Drangsnes","Egilsstadir","Eiteroga","Elvenes","Engavogen","Ertenvog","Eskifjordur","Evenes","Eyrarbakki","Fagernes","Fallmoen","Fellabaer","Fenes","Finnoya","Fjaer","Fjelldal","Flakstad","Flateyri","Flostrand","Fludir","Gardabær","Gardur","Gimstad","Givaer","Gjeroy","Gladstad","Godoya","Godoynes","Granmoen","Gravdal","Grenivik","Grimsey","Grindavik","Grytting","Hafnir","Halsa","Hauganes","Haugland","Hauknes","Hella","Helland","Hellissandur","Hestad","Higrav","Hnifsdalur","Hofn","Hofsos","Holand","Holar","Holen","Holkestad","Holmavik","Hopen","Hovden","Hrafnagil","Hrisey","Husavik","Husvik","Hvammstangi","Hvanneyri","Hveragerdi","Hvolsvollur","Igeroy","Indre","Inndyr","Innhavet","Innnes","Isafjordur","Jarklaustur","Jarnsreykir","Junkerdal","Kaldvog","Kanstad","Karlsoy","Kavosen","Keflavik","Kjelde","Kjerstad","Klakk","Kopasker","Kopavogur","Korgen","Kristnes","Krutoga","Krystad","Kvina","Lande","Laugar","Laugaras","Laugarbakki","Laugarvatn","Laupstad","Leines","Leira","Leiren","Leland","Lenvika","Loding","Lodingen","Lonsbakki","Lopsmarka","Lovund","Luroy","Maela","Melahverfi","Meloy","Mevik","Misvaer","Mornes","Mosfellsbær","Moskenes","Myken","Naurstad","Nesberg","Nesjahverfi","Nesset","Nevernes","Obygda","Ofoten","Ogskardet","Okervika","Oknes","Olafsfjordur","Oldervika","Olstad","Onstad","Oppeid","Oresvika","Orsnes","Orsvog","Osmyra","Overdal","Prestoya","Raudalaekur","Raufarhofn","Reipo","Reykholar","Reykholt","Reykjahlid","Rif","Rinoya","Rodoy","Rognan","Rosvika","Rovika","Salhus","Sanden","Sandgerdi","Sandoker","Sandset","Sandvika","Saudarkrokur","Selfoss","Selsoya","Sennesvik","Setso","Siglufjordur","Silvalen","Skagastrond","Skjerstad","Skonland","Skorvogen","Skrova","Sleneset","Snubba","Softing","Solheim","Solheimar","Sorarnoy","Sorfugloy","Sorland","Sormela","Sorvaer","Sovika","Stamsund","Stamsvika","Stave","Stokka","Stokkseyri","Storjord","Storo","Storvika","Strand","Straumen","Strendene","Sudavik","Sudureyri","Sundoya","Sydalen","Thingeyri","Thorlakshofn","Thorshofn","Tjarnabyggd","Tjotta","Tosbotn","Traelnes","Trofors","Trones","Tverro","Ulvsvog","Unnstad","Utskor","Valla","Vandved","Varmahlid","Vassos","Vevelstad","Vidrek","Vik","Vikholmen","Vogar","Vogehamn","Vopnafjordur"]
|
|
||||||
];
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue