parse-stringify fallback for no structuredClone
to phaseout shortenNulls setting and make it always on
This commit is contained in:
parent
83046dc20f
commit
3257bded82
|
|
@ -6,7 +6,7 @@ function zeroToNull(val) {
|
||||||
};
|
};
|
||||||
|
|
||||||
if(!localStorage.slSaveSettings) {
|
if(!localStorage.slSaveSettings) {
|
||||||
localStorage.setItem("slSaveSettings", '{"shortenNulls":false,"roundTemps":true}');
|
localStorage.setItem("slSaveSettings", '{"roundTemps":true}');
|
||||||
};
|
};
|
||||||
|
|
||||||
slSaveSettings = JSON.parse(localStorage.slSaveSettings);
|
slSaveSettings = JSON.parse(localStorage.slSaveSettings);
|
||||||
|
|
@ -18,7 +18,7 @@ function epsilonRound(num,precision) {
|
||||||
function getSimulationState() {
|
function getSimulationState() {
|
||||||
var simulationState = {
|
var simulationState = {
|
||||||
//currentPixels: currentPixels,
|
//currentPixels: currentPixels,
|
||||||
pixelMap: structuredClone(pixelMap),
|
pixelMap: structuredClone ? structuredClone(pixelMap) : JSON.parse(JSON.stringify(pixelMap)),
|
||||||
width: width,
|
width: width,
|
||||||
height: height,
|
height: height,
|
||||||
pixelSize: pixelSize,
|
pixelSize: pixelSize,
|
||||||
|
|
@ -26,18 +26,11 @@ function getSimulationState() {
|
||||||
version: 1,
|
version: 1,
|
||||||
enabledMods: localStorage.enabledMods,
|
enabledMods: localStorage.enabledMods,
|
||||||
};
|
};
|
||||||
nulls: if(slSaveSettings.shortenNulls) {
|
for(i = 0; i < simulationState.pixelMap.length; i++) {
|
||||||
if(!structuredClone) {
|
var column = simulationState.pixelMap[i];
|
||||||
alert("Your browser does not support structuredClone, which is needed to shorten nulls to zeroes without corrupting the current pixelMap.");
|
for(j = 0; j < column.length; j++) {
|
||||||
console.error("shortenNulls: structuredClone not supported");
|
if(column[j] === null || typeof(column[j]) === "undefined") {
|
||||||
break nulls;
|
column[j] = 0;
|
||||||
};
|
|
||||||
for(i = 0; i < simulationState.pixelMap.length; i++) {
|
|
||||||
var column = simulationState.pixelMap[i];
|
|
||||||
for(j = 0; j < column.length; j++) {
|
|
||||||
if(column[j] === null || typeof(column[j]) === "undefined") {
|
|
||||||
column[j] = 0;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue