mirror of
https://github.com/Azgaar/Fantasy-Map-Generator.git
synced 2025-12-22 20:11:24 +01:00
Moved UI of json export to export dialog.
Moved json export to another file named export-json.js
This commit is contained in:
parent
a1ef32ddad
commit
7b475ee0bd
3 changed files with 104 additions and 112 deletions
|
|
@ -3607,13 +3607,16 @@
|
|||
<p>GeoJSON format is used in GIS tools such as QGIS. Check out <a href="https://github.com/Azgaar/Fantasy-Map-Generator/wiki/GIS-data-export" target="_blank">wiki-page</a> for guidance.</p>
|
||||
<p>Generator uses pop-up window to download files. Please ensure your browser does not block popups.</p>
|
||||
<p>It's also possible to export map to <i>Foundry VTT</i>, see <a href="https://github.com/Ethck/azgaar-foundry" target="_blank">the module.</a></p>
|
||||
<div style="margin: 1em 0 .3em; font-weight: bold">Export To Json</div>
|
||||
<div>
|
||||
<button onclick="downloadMapDataAPIJson()" data-tip="Download a json file that looks like API response.">api-like json</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="saveMapData" style="display: none" class="dialog">
|
||||
<div style="margin-top: .3em">
|
||||
<strong>Save map to</strong>
|
||||
<button onclick="dowloadMap()" data-tip="Download .map file to your local disk. Shortcut: Ctrl + S">machine</button>
|
||||
<button onclick="downloadMapDataAPIJson()" data-tip="Download a json file that looks like API response.">api-like json</button>
|
||||
<button onclick="saveToDropbox()" data-tip="Save .map file to your Dropbox. Shortcut: Ctrl + C">dropbox</button>
|
||||
<button onclick="quickSave()" data-tip="Save the project to browser storage. It can be unreliable. Shortcut: F6">browser</button>
|
||||
</div>
|
||||
|
|
@ -4401,6 +4404,7 @@
|
|||
<script defer src="modules/load.js"></script>
|
||||
<script defer src="modules/cloud.js"></script>
|
||||
<script defer src="main.js"></script>
|
||||
<script defer src="modules/export-json.js"></script>
|
||||
<script defer src="modules/save.js"></script>
|
||||
<script defer src="modules/export.js"></script>
|
||||
<script defer src="modules/relief-icons.js"></script>
|
||||
|
|
|
|||
99
modules/export-json.js
Normal file
99
modules/export-json.js
Normal file
|
|
@ -0,0 +1,99 @@
|
|||
function downloadMapDataAPIJson() {
|
||||
if (customization) return tip("Map cannot be saved when edit mode is active, please exit the mode and retry", false, "error");
|
||||
closeDialogs("#alert");
|
||||
|
||||
const mapData = getMapDataAPIJson();
|
||||
const blob = new Blob([mapData], {type: "application/json"});
|
||||
const URL = window.URL.createObjectURL(blob);
|
||||
const link = document.createElement("a");
|
||||
link.download = getFileName() + ".json";
|
||||
link.href = URL;
|
||||
link.click();
|
||||
tip(`${link.download} is saved. Open "Downloads" screen (CTRL + J) to check`, true, "success", 7000);
|
||||
window.URL.revokeObjectURL(URL);
|
||||
}
|
||||
|
||||
|
||||
//Prepare data for API-JSON
|
||||
function getMapDataAPIJson() {
|
||||
|
||||
TIME && console.time("createMapDataJson");
|
||||
|
||||
const date = new Date();
|
||||
const dateString = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate();
|
||||
const info = {
|
||||
"version": version,
|
||||
"description": "Api-Like Output File Gathered From: azgaar.github.io/Fantasy-map-generator",
|
||||
"creation-date":dateString,
|
||||
"seed" : seed,
|
||||
"mapId":mapId,
|
||||
"mapName" : mapName.value
|
||||
}
|
||||
|
||||
const settings = {
|
||||
"distanceUnit" : distanceUnitInput.value,
|
||||
"distanceScale": distanceScaleInput.value,
|
||||
"areaUnit" : areaUnit.value,
|
||||
"heightUnit" : heightUnit.value,
|
||||
"heightExponent" : heightExponentInput.value,
|
||||
"temperatureScale" : temperatureScale.value,
|
||||
"barSize" : barSizeInput.value,
|
||||
"barLabel" : barLabel.value,
|
||||
"barBackOpacity" : barBackOpacity.value,
|
||||
"barBackColor" : barBackColor.value,
|
||||
"barPosX" : barPosX.value,
|
||||
"barPosY" : barPosY.value,
|
||||
"populationRate" : populationRate,
|
||||
"urbanization" : urbanization,
|
||||
"mapSize" : mapSizeOutput.value,
|
||||
"latitudeO" : latitudeOutput.value,
|
||||
"temperatureEquator" : temperatureEquatorOutput.value,
|
||||
"temperaturePole" : temperaturePoleOutput.value,
|
||||
"prec" : precOutput.value,
|
||||
"options" : options,
|
||||
"mapName" : mapName.value,
|
||||
"hideLabels" : hideLabels.checked,
|
||||
"stylePreset" : stylePreset.value,
|
||||
"rescaleLabels" : rescaleLabels.checked,
|
||||
"urbanDensity" : urbanDensity
|
||||
};
|
||||
const coords = mapCoordinates;
|
||||
const packs = {
|
||||
"cells":{
|
||||
"h": pack.cells.h,
|
||||
"f": pack.cells.f,
|
||||
"t": pack.cells.t,
|
||||
"s": pack.cells.s,
|
||||
"biome": pack.cells.biome,
|
||||
"burg": pack.cells.burg,
|
||||
"culture": pack.cells.culture,
|
||||
"state": pack.cells.state,
|
||||
"province" : pack.cells.province,
|
||||
"religion" : pack.cells.religion,
|
||||
"area": pack.cells.area,
|
||||
"pop" : pack.cells.pop,
|
||||
"r" : pack.cells.r,
|
||||
"fl" : pack.cells.fl,
|
||||
"conf" : pack.cells.conf,
|
||||
"harbor":pack.cells.harbor,
|
||||
"haven" : pack.cells.haven,
|
||||
"road":pack.cells.road,
|
||||
"crossroad":pack.cells.crossroad
|
||||
},
|
||||
"features":pack.features,
|
||||
"cultures":pack.cultures,
|
||||
"burgs":pack.burgs,
|
||||
"states":pack.states,
|
||||
"provinces":pack.provinces,
|
||||
"religions":pack.religions,
|
||||
"rivers":pack.rivers,
|
||||
"markers":pack.markers,
|
||||
}
|
||||
const biomes = biomesData;
|
||||
|
||||
const ExportData = {info,settings,coords,packs,biomes,notes,nameBases}
|
||||
|
||||
TIME && console.timeEnd("createMapDataJson");
|
||||
return JSON.stringify(ExportData);
|
||||
}
|
||||
|
||||
111
modules/save.js
111
modules/save.js
|
|
@ -120,88 +120,7 @@ function getMapData() {
|
|||
return mapData;
|
||||
}
|
||||
|
||||
//Prepare data for API-JSON
|
||||
function getMapDataAPIJson() {
|
||||
|
||||
TIME && console.time("createMapDataJson");
|
||||
|
||||
const date = new Date();
|
||||
const dateString = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate();
|
||||
const info = {
|
||||
"version": version,
|
||||
"description": "Api-Like Output File Gathered From: azgaar.github.io/Fantasy-map-generator",
|
||||
"creation-date":dateString,
|
||||
"seed" : seed,
|
||||
"mapId":mapId,
|
||||
"mapName" : mapName.value
|
||||
}
|
||||
|
||||
const settings = {
|
||||
"distanceUnit" : distanceUnitInput.value,
|
||||
"distanceScale": distanceScaleInput.value,
|
||||
"areaUnit" : areaUnit.value,
|
||||
"heightUnit" : heightUnit.value,
|
||||
"heightExponent" : heightExponentInput.value,
|
||||
"temperatureScale" : temperatureScale.value,
|
||||
"barSize" : barSizeInput.value,
|
||||
"barLabel" : barLabel.value,
|
||||
"barBackOpacity" : barBackOpacity.value,
|
||||
"barBackColor" : barBackColor.value,
|
||||
"barPosX" : barPosX.value,
|
||||
"barPosY" : barPosY.value,
|
||||
"populationRate" : populationRate,
|
||||
"urbanization" : urbanization,
|
||||
"mapSize" : mapSizeOutput.value,
|
||||
"latitudeO" : latitudeOutput.value,
|
||||
"temperatureEquator" : temperatureEquatorOutput.value,
|
||||
"temperaturePole" : temperaturePoleOutput.value,
|
||||
"prec" : precOutput.value,
|
||||
"options" : options,
|
||||
"mapName" : mapName.value,
|
||||
"hideLabels" : hideLabels.checked,
|
||||
"stylePreset" : stylePreset.value,
|
||||
"rescaleLabels" : rescaleLabels.checked,
|
||||
"urbanDensity" : urbanDensity
|
||||
};
|
||||
const coords = mapCoordinates;
|
||||
const packs = {
|
||||
"cells":{
|
||||
"h": pack.cells.h,
|
||||
"f": pack.cells.f,
|
||||
"t": pack.cells.t,
|
||||
"s": pack.cells.s,
|
||||
"biome": pack.cells.biome,
|
||||
"burg": pack.cells.burg,
|
||||
"culture": pack.cells.culture,
|
||||
"state": pack.cells.state,
|
||||
"province" : pack.cells.province,
|
||||
"religion" : pack.cells.religion,
|
||||
"area": pack.cells.area,
|
||||
"pop" : pack.cells.pop,
|
||||
"r" : pack.cells.r,
|
||||
"fl" : pack.cells.fl,
|
||||
"conf" : pack.cells.conf,
|
||||
"harbor":pack.cells.harbor,
|
||||
"haven" : pack.cells.haven,
|
||||
"road":pack.cells.road,
|
||||
"crossroad":pack.cells.crossroad
|
||||
},
|
||||
"features":pack.features,
|
||||
"cultures":pack.cultures,
|
||||
"burgs":pack.burgs,
|
||||
"states":pack.states,
|
||||
"provinces":pack.provinces,
|
||||
"religions":pack.religions,
|
||||
"rivers":pack.rivers,
|
||||
"markers":pack.markers,
|
||||
}
|
||||
const biomes = biomesData;
|
||||
|
||||
const ExportData = {info,settings,coords,packs,biomes,notes,nameBases}
|
||||
|
||||
TIME && console.timeEnd("createMapDataJson");
|
||||
return JSON.stringify(ExportData);
|
||||
}
|
||||
// Download .map file
|
||||
function dowloadMap() {
|
||||
if (customization) return tip("Map cannot be saved when edit mode is active, please exit the mode and retry", false, "error");
|
||||
|
|
@ -218,36 +137,6 @@ function dowloadMap() {
|
|||
window.URL.revokeObjectURL(URL);
|
||||
}
|
||||
|
||||
function downloadMapDataAPIJson() {
|
||||
if (customization) return tip("Map cannot be saved when edit mode is active, please exit the mode and retry", false, "error");
|
||||
closeDialogs("#alert");
|
||||
|
||||
const mapData = getMapDataAPIJson();
|
||||
const blob = new Blob([mapData], {type: "application/json"});
|
||||
const URL = window.URL.createObjectURL(blob);
|
||||
const link = document.createElement("a");
|
||||
link.download = getFileName() + ".json";
|
||||
link.href = URL;
|
||||
link.click();
|
||||
tip(`${link.download} is saved. Open "Downloads" screen (CTRL + J) to check`, true, "success", 7000);
|
||||
window.URL.revokeObjectURL(URL);
|
||||
}
|
||||
|
||||
function exportGridCellsData(exportName){
|
||||
if(customization) return tip("Map cannot be saved when edit mode is active, please exit and retry",false,"error");
|
||||
closeDialogs("#alert");
|
||||
|
||||
const toWrite = JSON.stringify(grid.cells);
|
||||
const blob = new Blob([toWrite],{type: "application/json"});
|
||||
const URL = window.URL.createObjectURL(blob);
|
||||
const link = document.createElement("a");
|
||||
link.download = exportName + ".json";
|
||||
link.href = URL;
|
||||
link.click();
|
||||
window.URL.revokeObjectURL(URL);
|
||||
return "Item Must Be Downloading"
|
||||
}
|
||||
|
||||
|
||||
async function saveToDropbox() {
|
||||
if (customization) return tip("Map cannot be saved when edit mode is active, please exit the mode and retry", false, "error");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue