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",