Add HD Music option

This commit is contained in:
Christian Semmler 2025-08-16 11:30:22 -07:00
parent 65fb5a46cb
commit d9973213ab
No known key found for this signature in database
GPG Key ID: 086DAA1360BEEE5C
3 changed files with 21 additions and 4 deletions

13
app.js
View File

@ -33,6 +33,7 @@ document.addEventListener('DOMContentLoaded', function () {
const afGroup = afSelect.closest('.form-group'); const afGroup = afSelect.closest('.form-group');
const rendererSelect = document.getElementById('renderer-select'); const rendererSelect = document.getElementById('renderer-select');
const hdTextures = document.getElementById('check-hd-textures'); const hdTextures = document.getElementById('check-hd-textures');
const hdMusic = document.getElementById('check-hd-music');
const widescreenBgs = document.getElementById('check-widescreen-bgs'); const widescreenBgs = document.getElementById('check-widescreen-bgs');
// --- Sound Toggle --- // --- Sound Toggle ---
@ -213,9 +214,7 @@ document.addEventListener('DOMContentLoaded', function () {
} }
} }
if (hdTextures || widescreenBgs) { iniContent += "[extensions]\n";
iniContent += "[extensions]\n";
}
if (hdTextures) { if (hdTextures) {
value = hdTextures.checked ? 'YES' : 'NO'; value = hdTextures.checked ? 'YES' : 'NO';
@ -304,6 +303,7 @@ document.addEventListener('DOMContentLoaded', function () {
const elements = this.form.elements; const elements = this.form.elements;
for (const key in config) { for (const key in config) {
if (key == "files") { if (key == "files") {
elements["HD Music"].checked = config[key].includes("hdmusic.si");
elements["Widescreen Backgrounds"].checked = config[key].includes("widescreen.si"); elements["Widescreen Backgrounds"].checked = config[key].includes("widescreen.si");
continue; continue;
} }
@ -489,6 +489,10 @@ document.addEventListener('DOMContentLoaded', function () {
checkInitialCacheStatus(); checkInitialCacheStatus();
}); });
hdMusic.addEventListener('change', () => {
checkInitialCacheStatus();
});
widescreenBgs.addEventListener('change', () => { widescreenBgs.addEventListener('change', () => {
checkInitialCacheStatus(); checkInitialCacheStatus();
}); });
@ -513,6 +517,9 @@ document.addEventListener('DOMContentLoaded', function () {
function getSiFiles() { function getSiFiles() {
siFiles = []; siFiles = [];
if (hdMusic && hdMusic.checked) {
siFiles.push('/LEGO/extra/hdmusic.si');
}
if (widescreenBgs && widescreenBgs.checked) { if (widescreenBgs && widescreenBgs.checked) {
siFiles.push('/LEGO/extra/widescreen.si'); siFiles.push('/LEGO/extra/widescreen.si');
} }

View File

@ -427,6 +427,9 @@
<strong>HD Textures:</strong> Enhance the game's visuals with <strong>HD Textures:</strong> Enhance the game's visuals with
high-definition textures. An extra 25MB download is high-definition textures. An extra 25MB download is
required when this is enabled.<br><br> required when this is enabled.<br><br>
<strong>HD Music:</strong> Improve the game's music with
high-definition audio. An extra 450MB download is
required when this is enabled.<br><br>
<strong>Widescreen Backgrounds (work-in-progress):</strong> Adapts the game's background art <strong>Widescreen Backgrounds (work-in-progress):</strong> Adapts the game's background art
for modern widescreen monitors, eliminating unwanted 3D backgrounds on the for modern widescreen monitors, eliminating unwanted 3D backgrounds on the
sides of the screen. An extra 1MB download is sides of the screen. An extra 1MB download is
@ -442,6 +445,13 @@
HD Textures HD Textures
</label> </label>
</div> </div>
<div class="option-item">
<input type="checkbox" id="check-hd-music" name="HD Music"
data-not-ini="true">
<label for="check-hd-music">
HD Music
</label>
</div>
<div class="option-item"> <div class="option-item">
<input type="checkbox" id="check-widescreen-bgs" name="Widescreen Backgrounds" <input type="checkbox" id="check-widescreen-bgs" name="Widescreen Backgrounds"
data-not-ini="true"> data-not-ini="true">

2
sw.js
View File

@ -10,7 +10,7 @@ const { Strategy } = workbox.strategies;
const { CacheableResponsePlugin } = workbox.cacheableResponse; const { CacheableResponsePlugin } = workbox.cacheableResponse;
const { RangeRequestsPlugin } = workbox.rangeRequests; const { RangeRequestsPlugin } = workbox.rangeRequests;
precacheAndRoute([{"revision":"9543d844d0c63edf114f4b20bda17755","url":"index.html"},{"revision":"013ceb7d67293d532e979dde0347f3af","url":"cancel_off.webp"},{"revision":"bfc1563be018d82685716c6130529129","url":"cancel_on.webp"},{"revision":"d282c260fd35522036936bb6faf8ad21","url":"cdspin.gif"},{"revision":"3d820bf72b19bd4e437a61e75f317b83","url":"configure_off.webp"},{"revision":"e2c0c5e6aa1f7703c385a433a2d2a519","url":"configure_on.webp"},{"revision":"88e1e81c930d8e6c24dfdc7af274e812","url":"favicon.png"},{"revision":"d16b293eca457e2fb1e7ef2caca8c904","url":"favicon.svg"},{"revision":"d2b9c2e128ef1e5e4265c603b0bc3305","url":"free_stuff_off.webp"},{"revision":"cbc6a6779897f932c3a3c8dceb329804","url":"free_stuff_on.webp"},{"revision":"05fba4ef1884cbbd6afe09ea3325efc0","url":"install_off.webp"},{"revision":"11247e92082ba3d978a2e3785b0acf51","url":"install_on.webp"},{"revision":"d23ea8243c18eb217ef08fe607097824","url":"island.webp"},{"revision":"67c99852cbd60bccd6d12f2d101fb34c","url":"isle.js"},{"revision":"1dccb6f053644ceb5a4ec730174bf70d","url":"isle.wasm"},{"revision":"6d4248f1a08c218943e582673179b7be","url":"poster.pdf"},{"revision":"a6fcac24a24996545c039a1755af33ea","url":"read_me_off.webp"},{"revision":"aae783d064996b4322e23b092d97ea4a","url":"read_me_on.webp"},{"revision":"766a9e6e6d890f24cef252e81753b29d","url":"run_game_off.webp"},{"revision":"70208e00e9ea641e4c98699f74100db3","url":"run_game_on.webp"},{"revision":"0a65c71d9983c9bb1bc6a5f405fd6fd9","url":"shark.webp"},{"revision":"88c1fd032e6fc16814690712a26c1ede","url":"uninstall_off.webp"},{"revision":"0118a4aca04c5fb0a525bf00b001844e","url":"uninstall_on.webp"},{"revision":"bb300718068544d5464574079dd76404","url":"app.js"},{"revision":"942885226607afc2faf4e4c99e166ed9","url":"style.css"},{"revision":"060210979e13e305510de6285e085db1","url":"manifest.json"},{"revision":"4f0172bc7007d34cebf681cc233ab57f","url":"install.webp"},{"revision":"6a70d35dadf51d2ec6e38a6202d7fb0b","url":"install.mp3"},{"revision":"eac041a0b8835bfea706d997b0b7b224","url":"downloader.js"}]); precacheAndRoute([{"revision":"c27aeae037eef6ac53820c9abd11668d","url":"index.html"},{"revision":"013ceb7d67293d532e979dde0347f3af","url":"cancel_off.webp"},{"revision":"bfc1563be018d82685716c6130529129","url":"cancel_on.webp"},{"revision":"d282c260fd35522036936bb6faf8ad21","url":"cdspin.gif"},{"revision":"3d820bf72b19bd4e437a61e75f317b83","url":"configure_off.webp"},{"revision":"e2c0c5e6aa1f7703c385a433a2d2a519","url":"configure_on.webp"},{"revision":"88e1e81c930d8e6c24dfdc7af274e812","url":"favicon.png"},{"revision":"d16b293eca457e2fb1e7ef2caca8c904","url":"favicon.svg"},{"revision":"d2b9c2e128ef1e5e4265c603b0bc3305","url":"free_stuff_off.webp"},{"revision":"cbc6a6779897f932c3a3c8dceb329804","url":"free_stuff_on.webp"},{"revision":"05fba4ef1884cbbd6afe09ea3325efc0","url":"install_off.webp"},{"revision":"11247e92082ba3d978a2e3785b0acf51","url":"install_on.webp"},{"revision":"d23ea8243c18eb217ef08fe607097824","url":"island.webp"},{"revision":"91f07920453863fd8e1df56c8341a675","url":"isle.js"},{"revision":"2e650ee9eefc64fd6d13f2e18c3cddc5","url":"isle.wasm"},{"revision":"6d4248f1a08c218943e582673179b7be","url":"poster.pdf"},{"revision":"a6fcac24a24996545c039a1755af33ea","url":"read_me_off.webp"},{"revision":"aae783d064996b4322e23b092d97ea4a","url":"read_me_on.webp"},{"revision":"766a9e6e6d890f24cef252e81753b29d","url":"run_game_off.webp"},{"revision":"70208e00e9ea641e4c98699f74100db3","url":"run_game_on.webp"},{"revision":"0a65c71d9983c9bb1bc6a5f405fd6fd9","url":"shark.webp"},{"revision":"88c1fd032e6fc16814690712a26c1ede","url":"uninstall_off.webp"},{"revision":"0118a4aca04c5fb0a525bf00b001844e","url":"uninstall_on.webp"},{"revision":"3ce836c0016f225d80b3d8c34c9332fa","url":"app.js"},{"revision":"942885226607afc2faf4e4c99e166ed9","url":"style.css"},{"revision":"060210979e13e305510de6285e085db1","url":"manifest.json"},{"revision":"4f0172bc7007d34cebf681cc233ab57f","url":"install.webp"},{"revision":"6a70d35dadf51d2ec6e38a6202d7fb0b","url":"install.mp3"},{"revision":"eac041a0b8835bfea706d997b0b7b224","url":"downloader.js"}]);
const gameFiles = [ const gameFiles = [
"/LEGO/Scripts/CREDITS.SI", "/LEGO/Scripts/INTRO.SI", "/LEGO/Scripts/NOCD.SI", "/LEGO/Scripts/SNDANIM.SI", "/LEGO/Scripts/CREDITS.SI", "/LEGO/Scripts/INTRO.SI", "/LEGO/Scripts/NOCD.SI", "/LEGO/Scripts/SNDANIM.SI",