Build 29060103

This commit is contained in:
Renan LE CARO 2025-04-02 17:03:53 +02:00
parent a215237c17
commit b46f745310
8 changed files with 74 additions and 23 deletions

View file

@ -11,8 +11,8 @@ android {
applicationId = "me.lecaro.breakout" applicationId = "me.lecaro.breakout"
minSdk = 21 minSdk = 21
targetSdk = 34 targetSdk = 34
versionCode = 29060048 versionCode = 29060103
versionName = "29060048" versionName = "29060103"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables { vectorDrawables {
useSupportLibrary = true useSupportLibrary = true

File diff suppressed because one or more lines are too long

41
dist/index.html vendored
View file

@ -719,6 +719,7 @@ var _help = require("./help");
var _creative = require("./creative"); var _creative = require("./creative");
var _tooltip = require("./tooltip"); var _tooltip = require("./tooltip");
var _startingPerks = require("./startingPerks"); var _startingPerks = require("./startingPerks");
var _migrations = require("./migrations");
async function play() { async function play() {
if (await applyFullScreenChoice()) return; if (await applyFullScreenChoice()) return;
if (gameState.running) return; if (gameState.running) return;
@ -1431,7 +1432,7 @@ tick();
(0, _tooltip.setupTooltips)(); (0, _tooltip.setupTooltips)();
document.getElementById("menu")?.setAttribute("data-tooltip", (0, _i18N.t)("play.menu_tooltip")); document.getElementById("menu")?.setAttribute("data-tooltip", (0, _i18N.t)("play.menu_tooltip"));
},{"./loadGameData":"l1B4x","./sounds":"dQKPV","./game_utils":"cEeac","./PWA/sw_loader":"2n0gK","./i18n/i18n":"eNPRm","./settings":"5blfu","./gameStateMutators":"9ZeQl","./render":"9AS2t","./recording":"godmD","./newGameState":"aQN6X","./asyncAlert":"rSqLY","./options":"d5NoS","./getLevelBackground":"7OIPf","./pure_functions":"6pQh7","./help":"bqkdF","./creative":"63kYJ","./tooltip":"3RWxb","@parcel/transformer-js/src/esmodule-helpers.js":"gkKU3","./startingPerks":"lv30m"}],"l1B4x":[function(require,module,exports,__globalThis) { },{"./loadGameData":"l1B4x","./sounds":"dQKPV","./game_utils":"cEeac","./PWA/sw_loader":"2n0gK","./i18n/i18n":"eNPRm","./settings":"5blfu","./gameStateMutators":"9ZeQl","./render":"9AS2t","./recording":"godmD","./newGameState":"aQN6X","./asyncAlert":"rSqLY","./options":"d5NoS","./getLevelBackground":"7OIPf","./pure_functions":"6pQh7","./help":"bqkdF","./creative":"63kYJ","./tooltip":"3RWxb","@parcel/transformer-js/src/esmodule-helpers.js":"gkKU3","./startingPerks":"lv30m","./migrations":"a9qdY"}],"l1B4x":[function(require,module,exports,__globalThis) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js"); var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports); parcelHelpers.defineInteropFlag(exports);
parcelHelpers.export(exports, "appVersion", ()=>appVersion); parcelHelpers.export(exports, "appVersion", ()=>appVersion);
@ -1474,7 +1475,7 @@ const upgrades = (0, _upgrades.rawUpgrades).map((u)=>({
})); }));
},{"./data/palette.json":"ktRBU","./data/levels.json":"8JSUc","./data/version.json":"iyP6E","./upgrades":"1u3Dx","./getLevelBackground":"7OIPf","./levelIcon":"6rQoT","@parcel/transformer-js/src/esmodule-helpers.js":"gkKU3"}],"iyP6E":[function(require,module,exports,__globalThis) { },{"./data/palette.json":"ktRBU","./data/levels.json":"8JSUc","./data/version.json":"iyP6E","./upgrades":"1u3Dx","./getLevelBackground":"7OIPf","./levelIcon":"6rQoT","@parcel/transformer-js/src/esmodule-helpers.js":"gkKU3"}],"iyP6E":[function(require,module,exports,__globalThis) {
module.exports = JSON.parse("\"29060048\""); module.exports = JSON.parse("\"29060103\"");
},{}],"1u3Dx":[function(require,module,exports,__globalThis) { },{}],"1u3Dx":[function(require,module,exports,__globalThis) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js"); var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
@ -2804,13 +2805,6 @@ function highScoreForMode(mode) {
} catch (e) {} } catch (e) {}
return ""; return "";
} }
try {
const old = localStorage.getItem("breakout-3-hs");
if (old) {
localStorage.setItem("breakout-3-hs-short", old);
localStorage.removeItem("breakout-3-hs");
}
} catch (e) {}
},{"./loadGameData":"l1B4x","./i18n/i18n":"eNPRm","@parcel/transformer-js/src/esmodule-helpers.js":"gkKU3"}],"2n0gK":[function(require,module,exports,__globalThis) { },{"./loadGameData":"l1B4x","./i18n/i18n":"eNPRm","@parcel/transformer-js/src/esmodule-helpers.js":"gkKU3"}],"2n0gK":[function(require,module,exports,__globalThis) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js"); var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
@ -5055,7 +5049,34 @@ async function openStartingPerksEditor() {
} }
} }
},{"./asyncAlert":"rSqLY","./i18n/i18n":"eNPRm","./loadGameData":"l1B4x","@parcel/transformer-js/src/esmodule-helpers.js":"gkKU3","./settings":"5blfu"}]},["gVqJ6","67XFf"], "67XFf", "parcelRequire94c2") },{"./asyncAlert":"rSqLY","./i18n/i18n":"eNPRm","./loadGameData":"l1B4x","@parcel/transformer-js/src/esmodule-helpers.js":"gkKU3","./settings":"5blfu"}],"a9qdY":[function(require,module,exports,__globalThis) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports);
function migrate(name, cb) {
if (!localStorage.getItem(name)) try {
cb();
console.debug("Ran migration : " + name);
localStorage.setItem(name, "" + Date.now());
} catch (e) {
console.warn("Migration " + name + " failed : ", e);
}
}
migrate("migrate_high_scores", ()=>{
const old = localStorage.getItem("breakout-3-hs");
if (old) {
localStorage.setItem("breakout-3-hs-short", old);
localStorage.removeItem("breakout-3-hs");
}
});
migrate("recover_high_scores", ()=>{
let runsHistory = JSON.parse(localStorage.getItem("breakout_71_runs_history") || "[]");
runsHistory.forEach((r)=>{
const currentHS = parseInt(localStorage.getItem("breakout-3-hs-" + (r.mode || "short")) || "0");
if (r.score > currentHS) localStorage.setItem("breakout-3-hs-" + (r.mode || "short"), "" + r.score);
});
});
},{"@parcel/transformer-js/src/esmodule-helpers.js":"gkKU3"}]},["gVqJ6","67XFf"], "67XFf", "parcelRequire94c2")
</script> </script>
</body> </body>

View file

@ -1,5 +1,5 @@
// The version of the cache. // The version of the cache.
const VERSION = "29060048"; const VERSION = "29060103";
// The name of the cache // The name of the cache
const CACHE_NAME = `breakout-71-${VERSION}`; const CACHE_NAME = `breakout-71-${VERSION}`;

View file

@ -1 +1 @@
"29060048" "29060103"

View file

@ -69,6 +69,7 @@ import { helpMenuEntry } from "./help";
import { creativeMode } from "./creative"; import { creativeMode } from "./creative";
import { setupTooltips } from "./tooltip"; import { setupTooltips } from "./tooltip";
import { startingPerkMenuButton } from "./startingPerks"; import { startingPerkMenuButton } from "./startingPerks";
import "./migrations";
export async function play() { export async function play() {
if (await applyFullScreenChoice()) return; if (await applyFullScreenChoice()) return;

View file

@ -268,11 +268,3 @@ export function highScoreForMode(mode: GameState["mode"]) {
return ""; return "";
} }
try {
const old = localStorage.getItem("breakout-3-hs");
if (old) {
localStorage.setItem("breakout-3-hs-short", old);
localStorage.removeItem("breakout-3-hs");
}
} catch (e) {}

37
src/migrations.ts Normal file
View file

@ -0,0 +1,37 @@
import { RunHistoryItem } from "./types";
function migrate(name: string, cb: () => void) {
if (!localStorage.getItem(name)) {
try {
cb();
console.debug("Ran migration : " + name);
localStorage.setItem(name, "" + Date.now());
} catch (e) {
console.warn("Migration " + name + " failed : ", e);
}
}
}
migrate("migrate_high_scores", () => {
const old = localStorage.getItem("breakout-3-hs");
if (old) {
localStorage.setItem("breakout-3-hs-short", old);
localStorage.removeItem("breakout-3-hs");
}
});
migrate("recover_high_scores", () => {
let runsHistory = JSON.parse(
localStorage.getItem("breakout_71_runs_history") || "[]",
) as RunHistoryItem[];
runsHistory.forEach((r) => {
const currentHS = parseInt(
localStorage.getItem("breakout-3-hs-" + (r.mode || "short")) || "0",
);
if (r.score > currentHS) {
localStorage.setItem(
"breakout-3-hs-" + (r.mode || "short"),
"" + r.score,
);
}
});
});