Parcourir la source

Created system for save migrations

tags/v1.0.0
Fen Dweller il y a 6 ans
Parent
révision
d2eba2d352
4 fichiers modifiés avec 27 ajouts et 11 suppressions
  1. +13
    -0
      game.js
  2. +5
    -8
      migrations.js
  3. +5
    -3
      stroll.html
  4. +4
    -0
      style.css

+ 13
- 0
game.js Voir le fichier

@@ -3,6 +3,10 @@
/*jshint browser: true*/
/*jshint devel: true*/

let version = "v0.7.4";

let save_version = 0;

let errored = false;

window.onerror = function(msg, source, lineno, colno, error) {
@@ -4150,6 +4154,9 @@ function loadSettings(settings = null) {

settings = JSON.parse(storage.getItem('settings'));
}

migrate(settings);

let form = document.forms.namedItem("custom-species-form");

for (let i=0; i<form.length; i++) {
@@ -4807,9 +4814,15 @@ window.addEventListener('load', function(event) {
}
}());

document.querySelectorAll(".version").forEach(function(x) {
x.innerText = "Version: " + version;
});

construct_options();
construct_panels();

document.querySelector("#save-version").innerText = save_version;

document.querySelectorAll("input[type='number']").forEach(function(x) {
x.addEventListener("input", function() { updatePreview(x.id); });
});


+ 5
- 8
migrations.js Voir le fichier

@@ -1,13 +1,8 @@
// bumps save versions

migrations = [
// 0 -> 1
// notes: only adds version number
function(save) {
save["version"] = 1;
}
//
]

];

function migrate(save, target=null) {
if (target == null) {
@@ -17,7 +12,9 @@ function migrate(save, target=null) {
let version = save.version;

if (version == undefined) {
version = 0;
alert("This save is from before versioning was added. It can't be automatically updated, and it might lose some settings. Double check that everything's there! Any subsequent saves will work correctly.");
save["version"] = migrations.length;
return false;
}

if (version < target) {


+ 5
- 3
stroll.html Voir le fichier

@@ -192,7 +192,8 @@
</div>
<div id="log-area">
<div id="log">
<div>Welcome to Stroll 0.7.4</div>
<div>Welcome to Stroll</div>
<p class="version"></p>
<div><b>This game features 18+ content</b></div>
<div>&nbsp;</div>
</div>
@@ -206,7 +207,8 @@
</div>
</div>
<div class="character-build" id="character-build-area">
<p>Welcome to Stroll 0.7.4</p>
<p>Welcome to Stroll</p>
<p class="version"></p>
<p><b>This game features 18+ content</b></p>
<p><a href="https://chemicalcrux.org/stroll">Changelog</a> - <a href="https://t.me/joinchat/BSXHzUZmSqc-CXB1khkuYw">Telegram</a> - <a href="https://discord.gg/7pdcVhD">Discord</a></p>

@@ -276,7 +278,7 @@
</ul>
<form id="custom-species-form" name="custom-species-form">
<ul class="flex-outer" id="character-flex-outer">
<input class="save-version" id="save-version" name="version" type="number"></input>
</ul>
</form>
</div>


+ 4
- 0
style.css Voir le fichier

@@ -690,3 +690,7 @@ body.dark .meterLabel {
.growth-amount {
display: block;
}

.save-version {
display: none;
}

Chargement…
Annuler
Enregistrer