mirror of
https://github.com/Azgaar/Fantasy-Map-Generator.git
synced 2025-12-17 09:41:24 +01:00
fix: CRLF issue
This commit is contained in:
parent
87e1dc2c5d
commit
8a4f28b321
3 changed files with 14 additions and 4 deletions
|
|
@ -8119,7 +8119,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.100.00"></script>
|
<script defer src="modules/io/save.js?v=1.100.00"></script>
|
||||||
<script defer src="modules/io/load.js?v=1.105.10"></script>
|
<script defer src="modules/io/load.js?v=1.105.17"></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.100.00"></script>
|
<script defer src="modules/io/export.js?v=1.100.00"></script>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -153,11 +153,21 @@ async function uncompress(compressedData) {
|
||||||
async function parseLoadedResult(result) {
|
async function parseLoadedResult(result) {
|
||||||
try {
|
try {
|
||||||
const resultAsString = new TextDecoder().decode(result);
|
const resultAsString = new TextDecoder().decode(result);
|
||||||
|
|
||||||
// data can be in FMG internal format or base64 encoded
|
// data can be in FMG internal format or base64 encoded
|
||||||
const isDelimited = resultAsString.substring(0, 10).includes("|");
|
const isDelimited = resultAsString.substring(0, 10).includes("|");
|
||||||
const decoded = isDelimited ? resultAsString : decodeURIComponent(atob(resultAsString));
|
let content = isDelimited ? resultAsString : decodeURIComponent(atob(resultAsString));
|
||||||
|
|
||||||
const mapData = decoded.split("\r\n"); // split by CRLF
|
// fix if svg part has CRLF line endings instead of LF
|
||||||
|
const svgMatch = content.match(/<svg[^>]*id="map"[\s\S]*?<\/svg>/);
|
||||||
|
const svgContent = svgMatch[0];
|
||||||
|
const hasCrlfEndings = svgContent.includes("\r\n");
|
||||||
|
if (hasCrlfEndings) {
|
||||||
|
const correctedSvgContent = svgContent.replace(/\r\n/g, "\n");
|
||||||
|
content = content.replace(svgContent, correctedSvgContent);
|
||||||
|
}
|
||||||
|
|
||||||
|
const mapData = content.split("\r\n"); // split by CRLF
|
||||||
const mapVersion = parseMapVersion(mapData[0].split("|")[0] || mapData[0] || "");
|
const mapVersion = parseMapVersion(mapData[0].split("|")[0] || mapData[0] || "");
|
||||||
|
|
||||||
return {mapData, mapVersion};
|
return {mapData, mapVersion};
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@
|
||||||
*
|
*
|
||||||
* Example: 1.102.2 -> Major version 1, Minor version 102, Patch version 2
|
* Example: 1.102.2 -> Major version 1, Minor version 102, Patch version 2
|
||||||
*/
|
*/
|
||||||
const VERSION = "1.105.16";
|
const VERSION = "1.105.17";
|
||||||
if (parseMapVersion(VERSION) !== VERSION) alert("versioning.js: Invalid format or parsing function");
|
if (parseMapVersion(VERSION) !== VERSION) alert("versioning.js: Invalid format or parsing function");
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue