From d04191d79bcc7cd083c5536643a6aaf9792f7c12 Mon Sep 17 00:00:00 2001 From: lowercasedonkey <lowercasedonkey@gmail.com> Date: Thu, 26 Mar 2020 09:34:32 -0400 Subject: [PATCH] it's working! --- .../BackwardsCompatibility.tw | 5 +- .../backwardsCompatibility.js | 107 +++++++++++------- 2 files changed, 71 insertions(+), 41 deletions(-) diff --git a/src/data/backwardsCompatibility/BackwardsCompatibility.tw b/src/data/backwardsCompatibility/BackwardsCompatibility.tw index 7c5f0ca9f42..15d45f2dd2b 100644 --- a/src/data/backwardsCompatibility/BackwardsCompatibility.tw +++ b/src/data/backwardsCompatibility/BackwardsCompatibility.tw @@ -7,4 +7,7 @@ /* resetOnNGPlus contains half of the variables we need, but we use it politely here instead of forcing it so it fills in holes instead of overwriting data */ <<run App.Update.setNonexistantProperties(V, App.Data.resetOnNGPlus)>> -<<= App.Update.backwardsCompatibility()>> \ No newline at end of file +<span id="backwardsCompatibility"></span> +<script> + App.Update.backwardsCompatibility(); +</script> \ No newline at end of file diff --git a/src/data/backwardsCompatibility/backwardsCompatibility.js b/src/data/backwardsCompatibility/backwardsCompatibility.js index 8a1f311dbfa..96d789edf5c 100644 --- a/src/data/backwardsCompatibility/backwardsCompatibility.js +++ b/src/data/backwardsCompatibility/backwardsCompatibility.js @@ -21,6 +21,7 @@ App.Update.autoshred = function() { if (extraCount !== 0) { console.log(`and ${extraCount} more`); } + return `Done!`; }; App.Update.setNonexistantProperties = function(obj, props) { @@ -52,49 +53,74 @@ App.Update.setExistantProperties = function(obj, array) { }; App.Update.backwardsCompatibility = function() { - const backup = clone(State.variables); - let r = ""; + let div; + jQuery('#backwardsCompatibility').empty(); try { - r += `<div>`; - r += App.Update.oldVersions(); - r += `</div><div>`; - r += App.Update.genePoolRecords(); - r += `</div><div>`; - r += App.Update.globalVariables(); - r += `</div><div>`; - r += App.Update.slaveVariables(); - r += `</div><div>`; - r += App.Update.slaveRecords(); - r += `</div><div>`; - r += App.Update.RAassistantData(); - r += `</div>`; + div = document.createElement('div'); + div.append(`Check for old version... `); + jQuery('#backwardsCompatibility').append(div); + div.append(App.Update.oldVersions()); + + div = document.createElement('div'); + div.append(`Updating gene pool records... `); + jQuery('#backwardsCompatibility').append(div); + div.append(App.Update.genePoolRecords()); + + div = document.createElement('div'); + div.append(`Updating global variables... `); + jQuery('#backwardsCompatibility').append(div); + div.append(App.Update.globalVariables()); + + div = document.createElement('div'); + div.append(`Updating slave variables... `); + jQuery('#backwardsCompatibility').append(div); + div.append(App.Update.slaveVariables()); + + div = document.createElement('div'); + div.append(`Updating slave records... `); + jQuery('#backwardsCompatibility').append(div); + div.append(App.Update.slaveRecords()); + + div = document.createElement('div'); + div.append(`Rule Assistant data... `); + jQuery('#backwardsCompatibility').append(div); + div.append(App.Update.RAassistantData()); /* Sec Exp */ - r += `<div>SecExp... `; + + div = document.createElement('div'); + div.append(`Security Expansion... `); + jQuery('#backwardsCompatibility').append(div); App.SecExp.Check.general(); - r += `Done!</div>`; + div.append("Done!"); + if (V.secExpEnabled === 1) { - r += `<div><<include "SecExpBackwardCompatibility">></div>`; + div.append(jQuery.wiki(`<<include "SecExpBackwardCompatibility">>`)); } - r += `<div>Shredding... `; - App.Update.autoshred(); - r+= ` Done!</div>`; + div = document.createElement('div'); + div.append(`Checking for old variables... `); + jQuery('#backwardsCompatibility').append(div); + div.append(App.Update.autoshred()); /* leave this at the bottom of BC */ - r += `<div>Cleaning up... `; - App.Update.cleanUp(); - r+= ` Done!</div>`; + div = document.createElement('div'); + div.append(`Cleaning up... `); + jQuery('#backwardsCompatibility').append(div); + div.append(App.Update.cleanUp()); } catch (error) { - r += `<div>Backwards compatibility has failed for your save. Please upload your save to https://gitgud.io/pregmodfan/fc-pregmod/ with notes on what went wrong so that we can fix the backwards compatibility process for everyone. Thank you!</div>`; + div = document.createElement('p'); + div.className = "red"; + div.textContent = `Backwards compatibility has failed for your save. Please upload your save to https://gitgud.io/pregmodfan/fc-pregmod/ with notes on what went wrong so that we can fix the backwards compatibility process for everyone. Thank you!`; + jQuery('#backwardsCompatibility').append(div); State.restore(); throw (error); // rethrow the exception to Sugarcube so we get a fancy stack trace } - return r; + return; }; App.Update.globalVariables = function() { - let r = `Setting missing global variables... `; + let r = ``; if (Array.isArray(V.nationalities)) { V.nationalities = weightedArray2HashMap(V.nationalities); } @@ -1110,12 +1136,12 @@ App.Update.globalVariables = function() { EconomyDatatypeCleanup(); ArcologyDatatypeCleanup(); - r += ` Done!<br>`; + r += `Done!`; return r; }; App.Update.slaveVariables = function() { - let r = `Setting missing slave variables... `; + let r = ``; /* Adding a new variable? Consider putting it in datatypeCleanupJS.tw instead of here */ for (let bci = 0; bci < V.slaves.length; bci++) { let Slave = V.slaves[bci]; @@ -1129,12 +1155,12 @@ App.Update.slaveVariables = function() { V.slaves[bci] = Slave; } - r += ` Done!<br>`; + r += `Done!`; return r; }; App.Update.slaveRecords = function() { - let r = `Checking and fixing slave records...`; + let r = ``; V.slaves.forEach((slave) => { App.Entity.Utils.SlaveDataSchemeCleanup(slave); SlaveDatatypeCleanup(slave); @@ -1163,7 +1189,7 @@ App.Update.slaveRecords = function() { App.Entity.Utils.SlaveDataSchemeCleanup(V.traitor); SlaveDatatypeCleanup(V.traitor); } - r += ` Done!<br>`; + r += `Done!`; if (V.tanks.length > 0) { r += `Checking and fixing records for incubator tanks... `; @@ -1173,7 +1199,7 @@ App.Update.slaveRecords = function() { SlaveDatatypeCleanup(slave, true); /* pass second argument as true so that slaveAgeDatatypeCleanup is not run */ }); - r += ` Done!<br> `; + r += `Done! `; } if (V.cribs.length > 0) { @@ -1193,13 +1219,13 @@ App.Update.slaveRecords = function() { // let _nurseryChild = V.cribs[bci]; TODO: on importing this to JS, what is this even supposed to do? } } - r += ` Done!<br> `; + r += `Done!`; } return r; }; App.Update.genePoolRecords = function() { - let r = `Updating gene pool records... `; + let r = ``; for (let bci = 0; bci < V.genePool.length; bci++) { App.Update.Slave(V.genePool[bci], true); let slave = V.genePool[bci]; @@ -1287,14 +1313,14 @@ App.Update.genePoolRecords = function() { App.Entity.Utils.GenePoolRecordCleanup(slave); V.genePool[bci] = slave; } - r += ` Done!<br>`; + r += `Done!`; return r; }; App.Update.RAassistantData = function() { - let r = `Updating Rules Assistant data...`; + let r = ``; V.defaultRules = V.defaultRules.map(rule => App.Entity.Utils.RARuleDatatypeCleanup(rule)); - r += ` Done!<br>`; + r += `Done!`; return r; }; @@ -1964,13 +1990,14 @@ App.Update.oldVersions = function() { V.PC.faceShape = "normal"; } - r += ` Done!`; + r += `Done!`; } if (V.arcologyUpgrade.spire === 1 && !V.building.usedUpgrades.includes("spire")) { V.building.usedUpgrades.push("spire"); } + r += `Done!`; return r; }; @@ -1981,7 +2008,7 @@ App.Update.cleanUp = function() { } /* reset NaNArray after BC is run */ V.NaNArray = findNaN(); - return; + return `Done!`; }; App.Update.sectorsToBuilding = function() { -- GitLab