Add voices section

This commit is contained in:
Christian Semmler 2026-01-04 10:43:02 -07:00
parent 10d1bf2376
commit 3a7005c09c
No known key found for this signature in database
GPG Key ID: 086DAA1360BEEE5C
7 changed files with 124 additions and 29 deletions

1
.gitignore vendored
View File

@ -1,3 +1,4 @@
isle.wasm
isle.wasm.map
isle.js
LEGO

BIN
congrats.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

@ -97,6 +97,10 @@
<img src="callfail.webp" alt="" class="tab-icon">
<span>Changelog</span>
</button>
<button class="tab-btn" data-tab="voices">
<img src="send.webp" alt="" class="tab-icon">
<span>Voices</span>
</button>
</div>
<div class="tab-panel active" id="tab-about">
@ -293,6 +297,49 @@
</ul>
</details>
</div>
<div class="tab-panel" id="tab-voices">
<p class="voices-intro">Reactions from the original LEGO Island development team:</p>
<div class="voices-grid">
<blockquote class="voice-card">
<p>This is just fantastic! What an endeavor! It is a wonderful tribute to a team that was
unparalleled in talent, and we should now include you and your team in that august group.
I really wish Wes was around to see it. Keep us posted on updates...</p>
<footer>Scott Anderson</footer>
</blockquote>
<blockquote class="voice-card">
<p>Wow; what a trip. My first trial was on my mac; which had problems displaying any of the
bitmaps applied to the characters in the safari web browser. But it ran, with some
navigation frustrations. But being delivered over the web means any fix you make goes out
immediately. I want you all to know it was a joy to work on and how grateful I am to have
been a part of the origin. I hope you are getting joy from working on it and keeping it alive.</p>
<footer>Dennis Goodrow</footer>
</blockquote>
<blockquote class="voice-card">
<p>This is pretty neat. At least as responsive over the web as the game was on the target
machines of the time! I hadn't heard of WebAssembly until now. What kind of changes to
the source were needed to get it working under WebAssembly? I foresee many hours of my
time being used up experimenting with this tool!</p>
<footer>Jim Brown</footer>
</blockquote>
<blockquote class="voice-card">
<p>Well done and such fun tapping back into such fond creative memories.</p>
<footer>Paul Melmed</footer>
</blockquote>
<blockquote class="voice-card">
<p>That's awesome!</p>
<footer>Randy Chou</footer>
</blockquote>
<blockquote class="voice-card">
<p>Fantastic! Love it.</p>
<footer>Kevin Byall</footer>
</blockquote>
<blockquote class="voice-card">
<p>Great stuff!</p>
<footer>Dave Cherry</footer>
</blockquote>
</div>
</div>
</div>
</div>
</div>
@ -667,11 +714,11 @@
<span class="page-back-button" role="button" aria-label="Go back to main menu">← Back</span>
<div class="page-inner-content">
<div class="resource-list">
<blockquote class="page-quote">
<blockquote class="voice-card">
<p>"In November of 2010, after all was said and done, I started getting emails from a few kids
and some adults telling me how cool they thought LEGO Island was. Some people actually still
play it. I was quite thrilled by these emails and actually quite honored."</p>
<footer>- Wes Jenkins, Creative Director</footer>
<footer>Wes Jenkins, Creative Director</footer>
</blockquote>
<a href="https://www.youtube.com/watch?v=bG55COe_f8I" target="_blank" rel="noopener noreferrer"
class="resource-item">
@ -772,7 +819,7 @@
</div>
<div class="app-footer">
<p>Last updated: <span id="app-version">2026-01-04 16:41:50 UTC</span></p>
<p>Last updated: <span id="app-version">2026-01-04 17:36:25 UTC</span></p>
</div>
</div>

BIN
send.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

View File

@ -585,28 +585,6 @@ select {
line-height: 1.5;
}
.page-quote {
padding: 15px 20px;
margin-bottom: 25px;
border-left: 3px solid #FFD700;
background-color: #1c1c1c;
border-radius: 0 8px 8px 0;
}
.page-quote p {
font-style: italic;
color: #e0e0e0;
margin: 0;
font-size: 1em;
}
.page-quote footer {
text-align: right;
margin-top: 10px;
font-size: 0.9em;
color: #888;
}
.error-box {
padding: 15px 20px;
margin-bottom: 25px;
@ -823,6 +801,55 @@ select {
color: #FFD700;
}
/* Voices Section */
.voices-intro {
color: #888;
font-size: 0.95em;
font-style: italic;
margin-bottom: 20px;
text-align: center;
}
.voices-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 15px;
}
.voice-card {
background-color: #1c1c1c;
border: 1px solid #333;
border-left: 3px solid #FFD700;
border-radius: 0 8px 8px 0;
padding: 18px 20px;
margin: 0;
transition: background-color 0.2s ease, transform 0.2s ease;
}
.voice-card:hover {
background-color: #252525;
transform: translateY(-2px);
}
.voice-card p {
color: #c0c0c0;
font-size: 0.95em;
line-height: 1.6;
margin: 0 0 12px 0;
font-style: italic;
}
.voice-card footer {
color: #FFD700;
font-size: 0.9em;
font-weight: bold;
text-align: right;
}
.voice-card footer::before {
content: '— ';
}
/* Responsive adjustments */
@media (max-width: 768px) {
#install-video {
@ -890,6 +917,20 @@ select {
width: 42px;
height: 42px;
}
.tab-buttons {
flex-wrap: wrap;
}
.tab-btn {
flex: 1 1 calc(50% - 5px);
min-width: 0;
justify-content: center;
}
.voices-grid {
grid-template-columns: 1fr;
}
}
@media (max-width: 480px) {
@ -941,8 +982,14 @@ select {
}
.tab-icon {
width: 36px;
height: 36px;
width: 28px;
height: 28px;
}
.tab-btn {
padding: 8px 12px;
font-size: 0.75em;
gap: 6px;
}
}

2
sw.js
View File

@ -10,7 +10,7 @@ const { Strategy } = workbox.strategies;
const { CacheableResponsePlugin } = workbox.cacheableResponse;
const { RangeRequestsPlugin } = workbox.rangeRequests;
precacheAndRoute([{"revision":"4bcb2b00de15518f01e19e306fe5c427","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":"c97d78e159b8bff44d41e56d0aa20220","url":"isle.js"},{"revision":"068bc71fd65d0d0f5b0006e3eba93f12","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":"5c265d887349dca70d05a7a698cbc904","url":"app.js"},{"revision":"51c3e428a43da7caec47be6f88d095b3","url":"style.css"},{"revision":"060210979e13e305510de6285e085db1","url":"manifest.json"},{"revision":"4f0172bc7007d34cebf681cc233ab57f","url":"install.webp"},{"revision":"6a70d35dadf51d2ec6e38a6202d7fb0b","url":"install.mp3"},{"revision":"eac041a0b8835bfea706d997b0b7b224","url":"downloader.js"},{"revision":"6899f72755d4e84c707b93ac54a8fb06","url":"debug.js"},{"revision":"7817b36ddda9f07797c05a0ff6cacb21","url":"debug.html"},{"revision":"4ea2aac9446188b8a588811bc593919e","url":"ogel.webp"},{"revision":"c57d24598537443c5b8276c8dd5dbdc9","url":"bonus.webp"},{"revision":"d11c8c893d5525c8842555dc2861c393","url":"callfail.webp"},{"revision":"be9a89fb567b632cf8d4661cbf8afd9e","url":"getinfo.webp"},{"revision":"fe986681f41e96631f39f3288b23e538","url":"sysinfo.webp"}]);
precacheAndRoute([{"revision":"919a89eee50ea6642aa79aca8cf48f6d","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":"c97d78e159b8bff44d41e56d0aa20220","url":"isle.js"},{"revision":"5f174d45de1e3c5e0abdbccfd64567b6","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":"5c265d887349dca70d05a7a698cbc904","url":"app.js"},{"revision":"a135d0ac3af185ef25b4e1afa694e0a0","url":"style.css"},{"revision":"060210979e13e305510de6285e085db1","url":"manifest.json"},{"revision":"4f0172bc7007d34cebf681cc233ab57f","url":"install.webp"},{"revision":"6a70d35dadf51d2ec6e38a6202d7fb0b","url":"install.mp3"},{"revision":"eac041a0b8835bfea706d997b0b7b224","url":"downloader.js"},{"revision":"6899f72755d4e84c707b93ac54a8fb06","url":"debug.js"},{"revision":"7817b36ddda9f07797c05a0ff6cacb21","url":"debug.html"},{"revision":"4ea2aac9446188b8a588811bc593919e","url":"ogel.webp"},{"revision":"c57d24598537443c5b8276c8dd5dbdc9","url":"bonus.webp"},{"revision":"d11c8c893d5525c8842555dc2861c393","url":"callfail.webp"},{"revision":"be9a89fb567b632cf8d4661cbf8afd9e","url":"getinfo.webp"},{"revision":"fe986681f41e96631f39f3288b23e538","url":"sysinfo.webp"},{"revision":"4ec902e0b0ce60ffd9dd565c9ddf40a1","url":"send.webp"}]);
const gameFiles = [
"/LEGO/Scripts/CREDITS.SI", "/LEGO/Scripts/INTRO.SI", "/LEGO/Scripts/NOCD.SI", "/LEGO/Scripts/SNDANIM.SI",

View File

@ -8,7 +8,7 @@ module.exports = {
'read_me_on.webp', 'run_game_off.webp', 'run_game_on.webp', 'shark.webp',
'uninstall_off.webp', 'uninstall_on.webp', 'app.js', 'style.css', 'manifest.json',
'install.webp', 'install.mp3', 'downloader.js', 'debug.js', 'debug.html', 'ogel.webp',
'bonus.webp', 'callfail.webp', 'getinfo.webp', 'sysinfo.webp'
'bonus.webp', 'callfail.webp', 'getinfo.webp', 'sysinfo.webp', 'send.webp'
],
swSrc: 'src/sw.js',
swDest: 'sw.js',