mirror of
https://gitlab.com/lecarore/breakout71.git
synced 2025-04-20 12:15:06 -04:00
Allow loading saves from newer versions
This commit is contained in:
parent
0cb4945e7d
commit
11c797bc59
3 changed files with 19 additions and 9 deletions
|
@ -25,6 +25,8 @@ languages, I may add features again.
|
|||
# Changelog
|
||||
## To do
|
||||
|
||||
- allow loading newer save in outdated app (for rollback)
|
||||
- level editor :english only, web only, link to test level, same link needs to be shared to discord
|
||||
- auto-detect device performance at first startup and adjust settings accordingly
|
||||
|
||||
## Done
|
||||
|
@ -473,3 +475,4 @@ Breakout 71 can be installed and work offline in many ways:
|
|||
|
||||
The game should perform well even on low-end devices. It's very lean and does not take much storage space (Roughly 0.1MB). The web version is supposed to work on iOS safari, Firefox ESR and chrome, on desktop and mobile.
|
||||
If the app stutters, turn on "fast mode" in the settings to render a simplified view that should be faster. You can adjust many aspects of the game there, go have a look !
|
||||
|
||||
|
|
8
dist/index.html
vendored
8
dist/index.html
vendored
|
@ -1139,7 +1139,13 @@ async function openSettingsMenu() {
|
|||
});
|
||||
const { fileType, appVersion: fileVersion, signedPayload, key } = JSON.parse(content);
|
||||
if (fileType !== "B71-save-file") throw new Error("Not a B71 save file");
|
||||
if (fileVersion > (0, _loadGameData.appVersion)) throw new Error("Please update your app first, this file is for version " + fileVersion + " or newer.");
|
||||
// Actually, loading a save file to an older version is pretty useful
|
||||
// if (fileVersion > appVersion)
|
||||
// throw new Error(
|
||||
// "Please update your app first, this file is for version " +
|
||||
// fileVersion +
|
||||
// " or newer.",
|
||||
// );
|
||||
if (key !== (0, _getLevelBackground.hashCode)("Security by obscurity, but really the game is oss so eh" + signedPayload)) throw new Error("Key does not match content.");
|
||||
const localStorageContent = JSON.parse(signedPayload);
|
||||
localStorage.clear();
|
||||
|
|
13
src/game.ts
13
src/game.ts
|
@ -705,12 +705,13 @@ async function openSettingsMenu() {
|
|||
} = JSON.parse(content);
|
||||
if (fileType !== "B71-save-file")
|
||||
throw new Error("Not a B71 save file");
|
||||
if (fileVersion > appVersion)
|
||||
throw new Error(
|
||||
"Please update your app first, this file is for version " +
|
||||
fileVersion +
|
||||
" or newer.",
|
||||
);
|
||||
// Actually, loading a save file to an older version is pretty useful
|
||||
// if (fileVersion > appVersion)
|
||||
// throw new Error(
|
||||
// "Please update your app first, this file is for version " +
|
||||
// fileVersion +
|
||||
// " or newer.",
|
||||
// );
|
||||
|
||||
if (
|
||||
key !==
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue