fix: routes - don't render route with <2 points

This commit is contained in:
Azgaar 2024-08-23 18:26:12 +02:00
parent 1f280133be
commit b54f758350
4 changed files with 16 additions and 4 deletions

View file

@ -7988,7 +7988,7 @@
<script src="config/heightmap-templates.js"></script> <script src="config/heightmap-templates.js"></script>
<script src="config/precreated-heightmaps.js"></script> <script src="config/precreated-heightmaps.js"></script>
<script src="modules/heightmap-generator.js?v=1.99.00"></script> <script src="modules/heightmap-generator.js?v=1.99.00"></script>
<script src="modules/ocean-layers.js?v=1.99.00"></script> <script src="modules/ocean-layers.js?v=1.99.07"></script>
<script src="modules/river-generator.js?v=1.99.05"></script> <script src="modules/river-generator.js?v=1.99.05"></script>
<script src="modules/lakes.js?v=1.99.00"></script> <script src="modules/lakes.js?v=1.99.00"></script>
<script src="modules/biomes.js?v=1.99.00"></script> <script src="modules/biomes.js?v=1.99.00"></script>
@ -8057,7 +8057,7 @@
<script defer src="libs/rgbquant.min.js"></script> <script defer src="libs/rgbquant.min.js"></script>
<script defer src="libs/jquery.ui.touch-punch.min.js"></script> <script defer src="libs/jquery.ui.touch-punch.min.js"></script>
<script defer src="modules/io/save.js?v=1.99.00"></script> <script defer src="modules/io/save.js?v=1.99.00"></script>
<script defer src="modules/io/load.js?v=1.99.05"></script> <script defer src="modules/io/load.js?v=1.99.07"></script>
<script defer src="modules/io/cloud.js?v=1.99.00"></script> <script defer src="modules/io/cloud.js?v=1.99.00"></script>
<script defer src="modules/io/export.js?v=1.99.00"></script> <script defer src="modules/io/export.js?v=1.99.00"></script>
</body> </body>

View file

@ -651,6 +651,17 @@ async function parseLoadedData(data, mapVersion) {
p.removed = true; // remove incorrect province p.removed = true; // remove incorrect province
}); });
pack.routes.forEach(({i, points}) => {
if (!points || points.length < 2) {
ERROR &&
console.error(
"Data integrity check. Route",
i,
"has less than 2 points. Route will be ignored on layer rendering"
);
}
});
{ {
const markerIds = []; const markerIds = [];
let nextId = last(pack.markers)?.i + 1 || 0; let nextId = last(pack.markers)?.i + 1 || 0;

View file

@ -1636,7 +1636,8 @@ function drawRoutes() {
const routePaths = {}; const routePaths = {};
for (const route of pack.routes) { for (const route of pack.routes) {
const {i, group} = route; const {i, group, points} = route;
if (!points || points.length < 2) continue;
if (!routePaths[group]) routePaths[group] = []; if (!routePaths[group]) routePaths[group] = [];
routePaths[group].push(`<path id="route${i}" d="${Routes.getPath(route)}"/>`); routePaths[group].push(`<path id="route${i}" d="${Routes.getPath(route)}"/>`);
} }

View file

@ -1,7 +1,7 @@
"use strict"; "use strict";
// version and caching control // version and caching control
const version = "1.99.06"; // generator version, update each time const version = "1.99.07"; // generator version, update each time
{ {
document.title += " v" + version; document.title += " v" + version;