From 355c0caf243157f5d7a56a56528dcd3a57e21513 Mon Sep 17 00:00:00 2001 From: TheWiiArchivist wmt <51-TheWiiArchivist@users.noreply.wiilab.wiimart.org> Date: Thu, 14 Aug 2025 21:04:24 -0500 Subject: [PATCH] fix loader + reduce stress on browsers by not loading the music file until needed :) --- fishiemart.html | 4 +++- meta/loader.js | 24 +++++++++++------------- meta/music.js | 14 +++++++++----- 3 files changed, 23 insertions(+), 19 deletions(-) diff --git a/fishiemart.html b/fishiemart.html index 04c56cb..27eee76 100644 --- a/fishiemart.html +++ b/fishiemart.html @@ -153,16 +153,18 @@ function hideConsoleControls() { if (bgmPlayerDiv) {bgmPlayerDiv.style.display = 'none';} } } -var shoploop = new Audio("/meta/FishieFishie.ogg"); +var shoploop = new Audio(""); shoploop.loop = true; shoploop.volume = 0.1; // prevent clipping function activatebgmplayer() { + shoploop = new Audio("/meta/FishieFishie.ogg"); document.getElementById("shopbgm").innerHTML = "Play"; document.getElementById('bgmplayer').classList.add('bgmplayerdisplayed'); document.getElementById("bgmplrtitle").innerText="BGM player"; document.getElementById("bgmplrtitle").style.marginTop="0px"; } function deactivatebgmplayer() { + shoploop = new Audio("/meta/FishieFishie.ogg"); document.getElementById('bgmplayer').classList.remove('bgmplayerdisplayed'); document.getElementById("bgmplrtitle").innerText="bgm plr.."; document.getElementById("bgmplrtitle").style.marginTop="-5px"; } diff --git a/meta/loader.js b/meta/loader.js index 8ddadbc..30f42fe 100644 --- a/meta/loader.js +++ b/meta/loader.js @@ -1,9 +1,14 @@ -var loading = null; var loadvolume; var browserageworkswithloader = false; var spinner = true; +var loading = new Audio(""); var loadvolume; var browserageworkswithloader = false; var spinner = true; var shouldaloadedalr = null; var playsound = null; function showspinner() { if (spinner === true) { loading = new Audio("/media/load.wav"); document.getElementById("wscspinnerbg").style.display="block"; - setTimeout(stopspinner,3100); + + if (shouldaloadedalr) {clearTimeout(shouldaloadedalr);} + + shouldaloadedalr = setTimeout(stopspinner,3100); + + if (playsound) {clearTimeout(playsound);} /* moved down for compatability */ loading.loop = true; @@ -14,7 +19,6 @@ if (spinner === true) { } function stopspinner() { - document.getElementById("wscspinnerbg").style.display="none"; loading.pause(); } @@ -22,20 +26,17 @@ loading.pause(); function loadup() { -var timee = setTimeout(loadup,100); -/* i hate javascript sometime :))))))) */ if (loadvolume > 0) { loadvolume += 0.01; } if (loadvolume >= 0.4) { loadvolume = 0; - clearTimeout(timee); } -loading.volume = loadvolume; + loading.volume = loadvolume; + playsound = setTimeout(loadup, 100); } - document.addEventListener("DOMContentLoaded", () => { const userAgent = navigator.userAgent.toLowerCase(); @@ -48,16 +49,13 @@ if (isConsoleBrowser) {browserageworkswithloader = false;} else { browserageworkswithloader = true; - stopspinner(); + document.getElementById("wscspinnerbg").style.display="none"; document.querySelectorAll("a").forEach(link => { link.addEventListener("click", showspinner); }); } -function stopspinner() { -document.getElementById("wscspinnerbg").style.display="none"; -loading.pause(); -} + }); diff --git a/meta/music.js b/meta/music.js index 9229253..151b5b3 100644 --- a/meta/music.js +++ b/meta/music.js @@ -1,5 +1,5 @@ // Wii Shop BGM Player, suggested by @legamer66 (https://discord.com/channels/1346485785284575335/1346485786039681056/1351527080546009259) -var checkbgmplayerstatus = null; +var bgmplayercompatable = false; function hideConsoleControls() { const userAgent = navigator.userAgent.toLowerCase(); const isConsoleBrowser = @@ -8,12 +8,11 @@ function hideConsoleControls() { userAgent.includes('nintendo 3ds') || userAgent.includes('nintendo'); // they can't play music so rip - if (isConsoleBrowser) {checkbgmplayerstatus = false; const bgmPlayerDiv = document.getElementById('bgmplayer'); - if (bgmPlayerDiv) {bgmPlayerDiv.style.display = 'none';} else {checkbgmplayerstatus = false;} } + if (isConsoleBrowser) {bgmplayercompatable = false; const bgmPlayerDiv = document.getElementById('bgmplayer'); if (bgmPlayerDiv) {bgmPlayerDiv.style.display = 'none';} else {bgmplayercompatable = true;} } } -var shoploop = new Audio("/meta/shop.wav"); +var shoploop = new Audio(""); shoploop.loop = true; var initialvolume = 0 || 0.0; shoploop.volume = initialvolume; @@ -58,11 +57,12 @@ if (wmtwebsiteBGMwasplaying === 'paused') { window.onload = function() { -if (checkbgmplayerstatus === true) { +if (bgmplayercompatable === true) { var wmtwebsiteBGMwasplaying = localStorage.getItem("wmtwebsiteBGM"); if (wmtwebsiteBGMwasplaying === 'playing') { + shoploop = new Audio("/meta/shop.wav"); activatebgmplayerfocus(); document.getElementById("shopbgmselector").href = "javascript:playBGMonload();"; } else { @@ -83,6 +83,7 @@ if (wmtwebsiteBGMwasplaying === 'paused') { /* bgm check for all pages */ function activatebgmplayerfocus() { + shoploop = new Audio("/meta/shop.wav"); bgmplayerfocus(); document.getElementById('bgmplayer').classList.add('bgmplayeropenanim'); document.getElementById("bgmplrtitle").innerText="BGM player"; document.getElementById("bgmplrtitle").style.marginTop="0px"; @@ -96,6 +97,7 @@ function bgmplayerfocus() { } window.onbeforeunload = function() { + shoploop = new Audio("/meta/shop.wav"); localStorage.setItem("bgmlooppoint", shoploop.currentTime); }; @@ -156,12 +158,14 @@ var volchangee = setTimeout(fadeinbgm,13); function activatebgmplayer() { + shoploop = new Audio("/meta/shop.wav"); document.getElementById('bgmplayer').classList.add('bgmplayerdisplayed'); document.getElementById("shopbgm").innerText = "Play"; document.getElementById("bgmplrtitle").innerText="BGM player"; document.getElementById("bgmplrtitle").style.marginTop="0px"; document.getElementById("bgmplayer").style.backdropFilter="blur(1.8px)"; } function deactivatebgmplayer() { + shoploop = new Audio("/meta/shop.wav"); document.getElementById('bgmplayer').classList.remove('bgmplayerdisplayed'); document.getElementById("bgmplrtitle").innerText="bgm plr.."; document.getElementById("bgmplrtitle").style.marginTop="-5px"; document.getElementById("bgmplayer").style.backgroundColor="#0000"; document.getElementById("bgmplayer").style.backgroundColor="#0000"; document.getElementById("bgmplayer").style.border="1px solid #34BEED";