From 7b506fc6d80d140fb74d5aa98da18bfc98f512b8 Mon Sep 17 00:00:00 2001 From: Azgaar Date: Sun, 18 Jul 2021 00:55:33 +0300 Subject: [PATCH] save.js fix - options are not defined --- modules/save.js | 3 ++- modules/ui/3d.js | 9 ++------- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/modules/save.js b/modules/save.js index d47b4102..24fbcf23 100644 --- a/modules/save.js +++ b/modules/save.js @@ -138,7 +138,8 @@ async function saveTiles() { } // parse map svg to object url -async function getMapURL(type, {debug = false, globe = false, noLabels = false, noWater = false}) { +async function getMapURL(type, options = {}) { + const {debug = false, globe = false, noLabels = false, noWater = false} = options; const cloneEl = document.getElementById("map").cloneNode(true); // clone svg cloneEl.id = "fantasyMap"; document.body.appendChild(cloneEl); diff --git a/modules/ui/3d.js b/modules/ui/3d.js index 6de37a40..98e8bf3b 100644 --- a/modules/ui/3d.js +++ b/modules/ui/3d.js @@ -7,7 +7,7 @@ const options = {scale: 50, lightness: 0.7, shadow: 0.5, sun: {x: 100, y: 600, z: 1000}, rotateMesh: 0, rotateGlobe: 0.5, skyColor: "#9ecef5", waterColor: "#466eab", extendedWater: 0, labels3d: 0, resolution: 2}; // set variables - let Renderer, scene, camera, controls, animationFrame, material, texture, geometry, mesh, ambientLight, spotLight, waterPlane, waterMaterial, waterMesh, square_geometry, texture_loader, raycaster; + let Renderer, scene, camera, controls, animationFrame, material, texture, geometry, mesh, ambientLight, spotLight, waterPlane, waterMaterial, waterMesh, raycaster; const drawCtx = document.createElement("canvas").getContext("2d"); const drawSVG = document.createElementNS("http://www.w3.org/2000/svg", "svg"); @@ -234,8 +234,6 @@ } async function createLabels() { - square_geometry = new THREE.PlaneGeometry(1, 1); - texture_loader = new THREE.TextureLoader(); raycaster = new THREE.Raycaster(); raycaster.set(new THREE.Vector3(0, 1000, 0), new THREE.Vector3(0, -1, 0)); @@ -339,9 +337,6 @@ } function deleteLabels() { - if (square_geometry) square_geometry.dispose(); - square_geometry = undefined; - texture_loader = undefined; raycaster = undefined; for (const mesh of labels) { @@ -428,7 +423,7 @@ noWater: options.extendedWater }; const url = await getMapURL("mesh", mapOptions); - window.setTimeout(() => window.URL.revokeObjectURL(url), 3000); + window.setTimeout(() => window.URL.revokeObjectURL(url), 4000); texture = new THREE.TextureLoader().load(url, render); material.map = texture; }