Add Outro FMV option

This commit is contained in:
Christian Semmler 2025-08-20 10:22:42 -07:00
parent d9973213ab
commit b461e1d79a
No known key found for this signature in database
GPG Key ID: 086DAA1360BEEE5C
3 changed files with 35 additions and 3 deletions

26
app.js
View File

@ -35,6 +35,7 @@ document.addEventListener('DOMContentLoaded', function () {
const hdTextures = document.getElementById('check-hd-textures');
const hdMusic = document.getElementById('check-hd-music');
const widescreenBgs = document.getElementById('check-widescreen-bgs');
const outroFmv = document.getElementById('check-outro');
// --- Sound Toggle ---
function updateSoundEmojiState() {
@ -222,12 +223,30 @@ document.addEventListener('DOMContentLoaded', function () {
}
siFiles = getSiFiles();
if (siFiles.length > 0) {
if (siFiles.length > 0 || outroFmv.checked) {
iniContent += `SI Loader=YES\n`;
iniContent += "[si loader]\n";
}
if (siFiles.length > 0) {
iniContent += `files=${siFiles.join(',')}\n`;
}
let directives = [];
if (outroFmv.checked) {
directives = directives.concat([
"FullScreenMovie:\\lego\\scripts\\intro:3",
"Disable3d:\\lego\\scripts\\credits:499",
"Prepend:\\lego\\scripts\\intro:3:\\lego\\scripts\\credits:499",
"RemoveWith:\\lego\\scripts\\credits:499:\\lego\\scripts\\intro:3"
]);
}
if (directives.length > 0) {
iniContent += `directives=${directives.join(",\\\n")}\n`;
}
const workerCode = `
self.onmessage = async (e) => {
if (e.data.action === 'save') {
@ -308,6 +327,11 @@ document.addEventListener('DOMContentLoaded', function () {
continue;
}
if (key == "directives") {
elements["Outro FMV"].checked = config[key].includes("intro:3");
continue;
}
const element = elements[key];
if (!element) continue;

View File

@ -433,7 +433,8 @@
<strong>Widescreen Backgrounds (work-in-progress):</strong> Adapts the game's background art
for modern widescreen monitors, eliminating unwanted 3D backgrounds on the
sides of the screen. An extra 1MB download is
required when this is enabled.
required when this is enabled.<br><br>
<strong>Outro FMV:</strong> Plays the unused Outro animation upon exiting the game.
</span>
</span>
</label>
@ -459,6 +460,13 @@
Widescreen Backgrounds
</label>
</div>
<div class="option-item">
<input type="checkbox" id="check-outro" name="Outro FMV"
data-not-ini="true">
<label for="check-outro">
Outro FMV
</label>
</div>
</div>
</div>
</div>

2
sw.js
View File

@ -10,7 +10,7 @@ const { Strategy } = workbox.strategies;
const { CacheableResponsePlugin } = workbox.cacheableResponse;
const { RangeRequestsPlugin } = workbox.rangeRequests;
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"}]);
precacheAndRoute([{"revision":"8fe8cf2a76f431a57eb2ce3964bff040","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":"f7121ad76f7e4537f5b389797cb046bd","url":"isle.js"},{"revision":"15761be95198a49045143580b8e2674c","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":"2d5b7c60916fb49bfd996f736d90e9d3","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 = [
"/LEGO/Scripts/CREDITS.SI", "/LEGO/Scripts/INTRO.SI", "/LEGO/Scripts/NOCD.SI", "/LEGO/Scripts/SNDANIM.SI",