diff --git a/src/core/opfs.js b/src/core/opfs.js index 363f777..3384b6b 100644 --- a/src/core/opfs.js +++ b/src/core/opfs.js @@ -219,9 +219,11 @@ function applyConfigToForm(form, config) { const hdMusic = elements["HD Music"]; const widescreenBgs = elements["Widescreen Backgrounds"]; const badEnding = elements["Extended Bad Ending FMV"]; + const rabbits = elements["Rabbits"]; if (hdMusic) hdMusic.checked = config[key].includes("hdmusic.si"); if (widescreenBgs) widescreenBgs.checked = config[key].includes("widescreen.si"); if (badEnding) badEnding.checked = config[key].includes("badend.si"); + if (rabbits) rabbits.checked = config[key].includes("rabbits.si"); continue; } @@ -338,7 +340,8 @@ export async function saveConfigFromDOM(multiplayer = null) { const hdMusic = document.getElementById('check-hd-music'); const widescreenBgs = document.getElementById('check-widescreen-bgs'); const badEnding = document.getElementById('check-ending'); - return getSiFilesForCache(hdMusic, widescreenBgs, badEnding); + const rabbits = document.getElementById('check-rabbits'); + return getSiFilesForCache(hdMusic, widescreenBgs, badEnding, rabbits); }; return saveConfig(form, getSiFiles, true, multiplayer); } diff --git a/src/core/service-worker.js b/src/core/service-worker.js index 9ec1959..cdaec3b 100644 --- a/src/core/service-worker.js +++ b/src/core/service-worker.js @@ -77,8 +77,9 @@ export function checkCacheStatus() { const hdMusic = document.getElementById('check-hd-music'); const widescreenBgs = document.getElementById('check-widescreen-bgs'); const badEnding = document.getElementById('check-ending'); + const rabbits = document.getElementById('check-rabbits'); - const siFiles = getSiFilesForCache(hdMusic, widescreenBgs, badEnding); + const siFiles = getSiFilesForCache(hdMusic, widescreenBgs, badEnding, rabbits); navigator.serviceWorker.controller.postMessage({ action: 'check_cache_status', @@ -88,11 +89,12 @@ export function checkCacheStatus() { }); } -export function getSiFilesForCache(hdMusic, widescreenBgs, badEnding) { +export function getSiFilesForCache(hdMusic, widescreenBgs, badEnding, rabbits) { const siFiles = []; if (hdMusic?.checked) siFiles.push('/LEGO/extra/hdmusic.si'); if (widescreenBgs?.checked) siFiles.push('/LEGO/extra/widescreen.si'); if (badEnding?.checked) siFiles.push('/LEGO/extra/badend.si'); + if (rabbits?.checked) siFiles.push('/LEGO/extra/rabbits.si'); return siFiles; } diff --git a/src/lib/ConfigurePage.svelte b/src/lib/ConfigurePage.svelte index dd0ba36..cc862ce 100644 --- a/src/lib/ConfigurePage.svelte +++ b/src/lib/ConfigurePage.svelte @@ -123,7 +123,8 @@ const hdMusic = document.getElementById('check-hd-music'); const widescreenBgs = document.getElementById('check-widescreen-bgs'); const badEnding = document.getElementById('check-ending'); - return getSiFilesForCache(hdMusic, widescreenBgs, badEnding); + const rabbits = document.getElementById('check-rabbits'); + return getSiFilesForCache(hdMusic, widescreenBgs, badEnding, rabbits); } function handleFormChange() { diff --git a/src/lib/config/ExtrasTab.svelte b/src/lib/config/ExtrasTab.svelte index 3c1474a..4412300 100644 --- a/src/lib/config/ExtrasTab.svelte +++ b/src/lib/config/ExtrasTab.svelte @@ -37,6 +37,10 @@ ?Plays the extended / "uncut" Bad Ending animation as found in beta versions of the game upon failing to catch the Brickster. +
+ + ?Adds two rabbits that hop around on the mountain top, visiting and nibbling on plants. +
?Switches to a third-person camera that follows your character around LEGO Island.