diff --git a/main.js b/main.js index 751c2a63..e9343933 100644 --- a/main.js +++ b/main.js @@ -184,6 +184,7 @@ let options = { pinNotes: false, showMFCGMap: true, winds: [225, 45, 225, 315, 135, 315], + SouthPoleTemperature: 0, stateLabelsMode: "auto" }; let mapCoordinates = {}; // map coordinates on globe diff --git a/modules/dynamic/auto-update.js b/modules/dynamic/auto-update.js index ef697015..4ed974af 100644 --- a/modules/dynamic/auto-update.js +++ b/modules/dynamic/auto-update.js @@ -639,6 +639,6 @@ export function resolveVersionConflicts(version) { if (version < 1.89) { //May need a major bump - + options.SouthPoleTemperature = +temperatureNorthPoleInput.value; } } diff --git a/modules/io/load.js b/modules/io/load.js index a3549279..56452780 100644 --- a/modules/io/load.js +++ b/modules/io/load.js @@ -219,7 +219,7 @@ async function parseLoadedData(data) { if (settings[14]) mapSizeInput.value = mapSizeOutput.value = minmax(settings[14], 1, 100); if (settings[15]) latitudeInput.value = latitudeOutput.value = minmax(settings[15], 0, 100); if (settings[16]) temperatureEquatorInput.value = temperatureEquatorOutput.value = settings[16]; - if (settings[17]) temperaturePoleInput.value = temperaturePoleOutput.value = settings[17]; + if (settings[17]) temperatureNorthPoleInput.value = temperatureNorthPoleOutput.value = settings[17]; if (settings[18]) precInput.value = precOutput.value = settings[18]; if (settings[19]) options = JSON.parse(settings[19]); if (settings[20]) mapName.value = settings[20]; @@ -589,6 +589,7 @@ async function parseLoadedData(data) { // set options yearInput.value = options.year; eraInput.value = options.era; + temperatureSouthPoleOutput.value = temperatureSouthPoleInput.value = options.SouthPoleTemperature; shapeRendering.value = viewbox.attr("shape-rendering") || "geometricPrecision"; if (window.restoreDefaultEvents) restoreDefaultEvents(); diff --git a/modules/io/save.js b/modules/io/save.js index 8cdd5c03..5769219e 100644 --- a/modules/io/save.js +++ b/modules/io/save.js @@ -25,7 +25,7 @@ function getMapData() { mapSizeOutput.value, latitudeOutput.value, temperatureEquatorOutput.value, - temperaturePoleOutput.value, + temperatureNorthPoleOutput.value, precOutput.value, JSON.stringify(options), mapName.value, diff --git a/modules/ui/options.js b/modules/ui/options.js index 942134a4..547ccada 100644 --- a/modules/ui/options.js +++ b/modules/ui/options.js @@ -612,8 +612,15 @@ function randomizeOptions() { tMin = -30; // temperature extremes if (randomize || !locked("temperatureEquator")) temperatureEquatorOutput.value = temperatureEquatorInput.value = rand(tMax - 10, tMax); - if (randomize || !locked("temperaturePole")) - temperatureNorthPoleOutput.value = temperatureNorthPoleInput.value = temperatureSouthPoleOutput.value = temperatureSouthPoleInput.value = rand(tMin, tMin + 30); + if (randomize || !locked("temperaturePole")) { + temperatureNorthPoleOutput.value + = temperatureNorthPoleInput.value + = temperatureSouthPoleOutput.value + = temperatureSouthPoleInput.value + = options.SouthPoleTemperature + = rand(tMin, tMin + 30); + } + // 'Units Editor' settings const US = navigator.language === "en-US"; diff --git a/modules/ui/world-configurator.js b/modules/ui/world-configurator.js index ccd5bdc3..6b9adf78 100644 --- a/modules/ui/world-configurator.js +++ b/modules/ui/world-configurator.js @@ -107,13 +107,15 @@ function editWorld() { function updateGlobeTemperature() { const tEq = +document.getElementById("temperatureEquatorOutput").value; document.getElementById("temperatureEquatorF").innerHTML = rn((tEq * 9) / 5 + 32); - const tNPole = +document.getElementById("temperatureNorthPoleOutput").value; - document.getElementById("temperatureNorthPoleF").innerHTML = rn((tNPole * 9) / 5 + 32); - const tSPole = +document.getElementById("temperatureSouthPoleOutput").value; - document.getElementById("temperatureSouthPoleF").innerHTML = rn((tSPole * 9) / 5 + 32); - globe.selectAll(".tempGradient90").attr("stop-color", clr(1 - (tNPole - tMin) / (tMax - tMin))); - globe.selectAll(".tempGradient60").attr("stop-color", clr(1 - (tEq - ((tEq - tNPole) * 2) / 3 - tMin) / (tMax - tMin))); - globe.selectAll(".tempGradient30").attr("stop-color", clr(1 - (tEq - ((tEq - tNPole) * 1) / 3 - tMin) / (tMax - tMin))); + const tNorthPole = +document.getElementById("temperatureNorthPoleOutput").value; + document.getElementById("temperatureNorthPoleF").innerHTML = rn((tNorthPole * 9) / 5 + 32); + const tSouthPole = +document.getElementById("temperatureSouthPoleOutput").value; + document.getElementById("temperatureSouthPoleF").innerHTML = rn((tSouthPole * 9) / 5 + 32); + //Update Settings to match the slider(there may be a better solution) + options.SouthPoleTemperature = +tSouthPole; + globe.selectAll(".tempGradient90").attr("stop-color", clr(1 - (tNorthPole - tMin) / (tMax - tMin))); + globe.selectAll(".tempGradient60").attr("stop-color", clr(1 - (tEq - ((tEq - tNorthPole) * 2) / 3 - tMin) / (tMax - tMin))); + globe.selectAll(".tempGradient30").attr("stop-color", clr(1 - (tEq - ((tEq - tNorthPole) * 1) / 3 - tMin) / (tMax - tMin))); globe.select(".tempGradient0").attr("stop-color", clr(1 - (tEq - tMin) / (tMax - tMin))); }