From d3e395a63deddcbde5233074b2e22185a36b3514 Mon Sep 17 00:00:00 2001 From: Christian Semmler Date: Wed, 31 Dec 2025 14:31:55 -0700 Subject: [PATCH] Add changelog section --- index.html | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++++- style.css | 74 ++++++++++++++++++++++++++++++++++++++++ sw.js | 2 +- 3 files changed, 173 insertions(+), 2 deletions(-) diff --git a/index.html b/index.html index 1fa7c28..762ee47 100644 --- a/index.html +++ b/index.html @@ -152,6 +152,103 @@ rel="noopener noreferrer">available here.

+ +
+

Changelog

+
+ December 2025 +
    +
  • New: "Active in Background" option keeps the game running when the tab loses focus
  • +
  • New: WASD navigation controls as an alternative to arrow keys
  • +
  • Fixed: Act 3 helicopter ammo now correctly sticks to targets and finishes animations
  • +
  • Fixed: Pick/click distance calculation for more accurate object selection
  • +
  • Fixed: Maximum deltaTime capping prevents physics glitches in races
  • +
  • Fixed: Touch controls now properly support widescreen aspect ratios
  • +
  • Improved: Default anisotropic filtering increased to 16x for sharper textures
  • +
+
+
+ November 2025 +
    +
  • Fixed: Dictionary loading failure no longer causes crashes
  • +
  • Fixed: INI configuration now properly applies defaults when values are missing
  • +
+
+
+ September 2025 +
    +
  • New: Additional widescreen background images
  • +
  • Fixed: Jukebox state now correctly restored when using HD Music extension
  • +
  • Fixed: Background audio no longer gets stuck when starting audio fails
  • +
  • Improved: SI Loader actions now start at the correct time during world loading
  • +
+
+
+ August 2025 +
    +
  • New: Extended Bad Ending FMV extension shows the uncut beta animation
  • +
  • New: HD Music extension with high-quality audio
  • +
  • New: Widescreen backgrounds extension eliminates 3D edges on wide displays
  • +
  • New: SI Loader extension system for community content and modifications
  • +
  • New: OpenGL ES 2.0/3.0 renderer for broader device compatibility
  • +
  • Fixed: Purple edges no longer appear on scaled transparent 2D elements
  • +
  • Fixed: Transparent pixels now render correctly with alpha channel support
  • +
+
+
+ July 2025 +
    +
  • New: HD Textures extension with enhanced visuals
  • +
  • New: MSAA anti-aliasing support for smoother edges
  • +
  • New: Anisotropic filtering for sharper textures at angles
  • +
  • New: Haptic feedback (vibration) support for gamepads and mobile devices
  • +
  • New: Virtual Gamepad touch control scheme with sliding controls
  • +
  • New: Gamepad/controller support with analog sticks and D-pad
  • +
  • New: Full screen mode with in-game toggle
  • +
  • New: Maximum LOD and Maximum Actors configuration options
  • +
  • New: Configurable transition animations (Mosaic, Dissolve, Wipe, etc.)
  • +
  • New: Extensions system allowing community-created content
  • +
  • Fixed: WebGL driver compatibility issues resolved
  • +
  • Fixed: Firefox Private browsing mode now works correctly
  • +
  • Fixed: Virtual cursor transparency and positioning
  • +
  • Fixed: Touch coordinate translation for proper viewport mapping
  • +
  • Fixed: Memory leaks in ViewLODList
  • +
  • Fixed: Screen transitions on software renderer and 32-bit displays
  • +
  • Fixed: Tabbing in and out of fullscreen
  • +
  • Fixed: Click spam prevention on touch screens
  • +
  • Improved: Mosaic transition animation is faster and cleaner
  • +
  • Improved: Loading UX for HD Textures with progress indicators
  • +
+
+
+ June 2025 — Initial Release +
    +
  • New: Emscripten web port — play LEGO Island directly in your browser!
  • +
  • New: WebGL rendering for hardware-accelerated 3D graphics
  • +
  • New: Software renderer fallback for devices without WebGL
  • +
  • New: 32-bit color support for improved visual quality
  • +
  • New: Full screen support
  • +
  • New: Joystick/gamepad enabled by default
  • +
  • New: Option to skip the startup delay
  • +
  • New: Support for LEGO Island 1.0 version
  • +
  • New: FPS display option
  • +
  • New: Game runs without requiring an audio device
  • +
  • Fixed: Infocenter to Act 2/Act 3 transition issues
  • +
  • Fixed: Race initialization errors
  • +
  • Fixed: Jetski race startup issues
  • +
  • Fixed: Plant creation bug in LegoPlantManager
  • +
  • Fixed: Late-game "sawtooth" audio glitches
  • +
  • Fixed: Building variant switching (Pepper's buildings)
  • +
  • Fixed: OpenGL rendering issues
  • +
  • Fixed: Image serialization bugs
  • +
  • Improved: Transparent objects now render correctly (sorted last)
  • +
  • Improved: GPU mesh uploading via VBOs for better performance
  • +
  • Improved: Backface culling enabled for faster rendering
  • +
  • Improved: SIMD-optimized z-buffer clearing
  • +
  • Improved: Edge-walking triangle rasterization
  • +
+
+
@@ -630,7 +727,7 @@ diff --git a/style.css b/style.css index a5ba3e3..da07b6d 100644 --- a/style.css +++ b/style.css @@ -739,6 +739,80 @@ select { line-height: 1.5; } +.changelog-section { + margin-top: 30px; + padding-top: 10px; + border-top: 1px solid #444; + width: 100%; + text-align: left; +} + +.changelog-section h2 { + color: #FFD700; + font-size: 1.5em; + margin-bottom: 20px; + text-align: center; +} + +.changelog-section details { + background-color: #1c1c1c; + border: 1px solid #333; + border-radius: 8px; + margin-bottom: 10px; + transition: background-color 0.2s ease; +} + +.changelog-section details[open] { + background-color: #252525; +} + +.changelog-section summary { + padding: 20px; + cursor: pointer; + font-weight: bold; + color: #e0e0e0; + font-size: 1.1em; + list-style: none; + display: flex; + justify-content: space-between; + align-items: center; +} + +.changelog-section summary::-webkit-details-marker { + display: none; +} + +.changelog-section summary::after { + content: '+'; + font-size: 1.5em; + color: #FFD700; + transition: transform 0.2s ease-in-out; +} + +.changelog-section details[open] summary::after { + transform: rotate(45deg); +} + +.changelog-section details ul { + padding: 0 20px 20px 40px; + margin: 0; +} + +.changelog-section details li { + color: #b0b0b0; + font-size: 0.9em; + line-height: 1.6; + margin-bottom: 8px; +} + +.changelog-section details li:last-child { + margin-bottom: 0; +} + +.changelog-section details li strong { + color: #FFD700; +} + /* Responsive adjustments */ @media (max-width: 768px) { #install-video { diff --git a/sw.js b/sw.js index d812f52..6216212 100644 --- a/sw.js +++ b/sw.js @@ -10,7 +10,7 @@ const { Strategy } = workbox.strategies; const { CacheableResponsePlugin } = workbox.cacheableResponse; const { RangeRequestsPlugin } = workbox.rangeRequests; -precacheAndRoute([{"revision":"9d8421ea88e9afd4e5124cf1a26f1de7","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":"92952ef8f080c355aec499e669214840","url":"isle.js"},{"revision":"4fb9dbeadeb5781c3a069b5acb1d5f45","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":"b21ea085712e7a731dd721578b46186b","url":"app.js"},{"revision":"1293042d858f504fd82a59cdf14c5593","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":"1941a2dd1683d34e6503354fa9002d99","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":"92952ef8f080c355aec499e669214840","url":"isle.js"},{"revision":"4fb9dbeadeb5781c3a069b5acb1d5f45","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":"b21ea085712e7a731dd721578b46186b","url":"app.js"},{"revision":"2898f0ebd4847281c7020d48f43812d9","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",