From 62aaa54a22d9749afbbc1a75a6bdc95facb97261 Mon Sep 17 00:00:00 2001 From: Arkerthan <arkerthan@gmail.com> Date: Tue, 29 Dec 2020 11:54:40 +0100 Subject: [PATCH] backwardsCompability to pure DOM --- src/005-passages/bcPassages.js | 14 ++++++ .../BackwardsCompatibility.tw | 12 ----- .../backwardsCompatibility.js | 50 ++++++++++--------- 3 files changed, 41 insertions(+), 35 deletions(-) create mode 100644 src/005-passages/bcPassages.js delete mode 100644 src/data/backwardsCompatibility/BackwardsCompatibility.tw diff --git a/src/005-passages/bcPassages.js b/src/005-passages/bcPassages.js new file mode 100644 index 00000000000..1cf82e5ac49 --- /dev/null +++ b/src/005-passages/bcPassages.js @@ -0,0 +1,14 @@ +new App.DomPassage("Backwards Compatibility", + () => { + V.nextButton = "Continue"; + V.nextLink = "Main"; + V.returnTo = "Main"; + + App.Update.setNonexistentProperties(V, App.Data.defaultGameStateVariables); + + /* 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 */ + App.Update.setNonexistentProperties(V, App.Data.resetOnNGPlus); + + return App.Update.backwardsCompatibility(); + } +); diff --git a/src/data/backwardsCompatibility/BackwardsCompatibility.tw b/src/data/backwardsCompatibility/BackwardsCompatibility.tw deleted file mode 100644 index 0a3ff856077..00000000000 --- a/src/data/backwardsCompatibility/BackwardsCompatibility.tw +++ /dev/null @@ -1,12 +0,0 @@ -:: Backwards Compatibility [nobr] - -<<set $nextButton = "Continue", $nextLink = "Main", $returnTo = "Main">> - -<<run App.Update.setNonexistentProperties(V, App.Data.defaultGameStateVariables)>> - -/* 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.setNonexistentProperties(V, App.Data.resetOnNGPlus)>> -<span id="backwards-compatibility"></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 f34d42d3980..f1068b1b5f5 100644 --- a/src/data/backwardsCompatibility/backwardsCompatibility.js +++ b/src/data/backwardsCompatibility/backwardsCompatibility.js @@ -53,64 +53,68 @@ App.Update.setExistentProperties = function(obj, array) { } }; +/** + * @returns {DocumentFragment} + */ App.Update.backwardsCompatibility = function() { + const f = document.createDocumentFragment(); let div; - jQuery('#backwards-compatibility').empty(); try { - div = document.createElement('div'); + div = document.createElement("div"); div.append(`Check for old version... `); - jQuery('#backwards-compatibility').append(div); + f.append(div); App.Update.oldVersions(div); - div = document.createElement('div'); + div = document.createElement("div"); div.append(`Updating gene pool records... `); - jQuery('#backwards-compatibility').append(div); + f.append(div); App.Update.genePoolRecords(div); - div = document.createElement('div'); + div = document.createElement("div"); div.append(`Updating global variables... `); - jQuery('#backwards-compatibility').append(div); + f.append(div); App.Update.globalVariables(div); - div = document.createElement('div'); + div = document.createElement("div"); div.append(`Updating slave variables... `); - jQuery('#backwards-compatibility').append(div); + f.append(div); App.Update.slaveVariables(div); - div = document.createElement('div'); + div = document.createElement("div"); div.append(`Updating slave records... `); - jQuery('#backwards-compatibility').append(div); + f.append(div); App.Update.slaveRecords(div); - div = document.createElement('div'); + div = document.createElement("div"); div.append(`Updating Rule Assistant data... `); - jQuery('#backwards-compatibility').append(div); + f.append(div); App.Update.RAassistantData(div); - div = document.createElement('div'); + div = document.createElement("div"); div.append(`Checking for old arcology locations... `); - jQuery('#backwards-compatibility').append(div); + f.append(div); App.Update.arcologyLocation(div); - div = document.createElement('div'); + div = document.createElement("div"); div.append(`Checking for old variables... `); - jQuery('#backwards-compatibility').append(div); + f.append(div); App.Update.autoshred(div); // leave this at the bottom of BC - div = document.createElement('div'); + div = document.createElement("div"); div.append(`Cleaning up... `); - jQuery('#backwards-compatibility').append(div); + f.append(div); App.Update.cleanUp(div); App.UI.SlaveSummary.settingsChanged(); } catch (error) { - div = document.createElement('p'); - div.className = "red"; + div = document.createElement("p"); + div.className = "error"; 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('#backwards-compatibility').append(div); + f.append(div); + f.append(App.UI.DOM.formatException(error)); State.restore(); - throw (error); // rethrow the exception to SugarCube so we get a fancy stack trace } + return f; }; App.Update.globalVariables = function(node) { -- GitLab