peytonplayz585-shadow-3.0/javascript/OfflineDownloadTemplate.txt

345 lines
28 KiB
Plaintext
Raw Normal View History

2023-08-26 14:31:51 -07:00
<!DOCTYPE html>
<!--
This file is from ${date}, there is no official eagler download link anymore, check the websites and discords of your favorite eagler servers for new versions
Be aware that some server owners are lazy and do not update their client regularly
Compile it yourself here: https://gitlab.com/lax1dude/eaglercraftx-1.8/
-->
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="EaglercraftX 1.8 Offline" />
<meta name="keywords" content="eaglercraft, eaglercraftx, minecraft, 1.8, 1.8.8" />
<title>EaglercraftX 1.8</title>
<meta property="og:locale" content="en-US" />
<meta property="og:type" content="website" />
<meta property="og:title" content="EaglercraftX 1.8 Offline" />
<meta property="og:description" content="this file is not a website, whoever uploaded it to this URL is a dumbass" />
<script type="text/javascript">
"use strict";
// %%%%%%%%% launch options %%%%%%%%%%%%
window.eaglercraftXOpts = { container: "game_frame" };
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
${classes_js}
window.eaglercraftXOpts.assetsURI = ${assets_epk};
var launchInterval = -1;
var launchCounter = 1;
var launchCountdownNumberElement = null;
var launchCountdownProgressElement = null;
function launchTick() {
launchCountdownNumberElement.innerText = "" + Math.floor(6.0 - launchCounter * 0.06);
launchCountdownProgressElement.style.width = "" + launchCounter + "%";
if(++launchCounter > 100) {
clearInterval(launchInterval);
setTimeout(() => { document.getElementById("launch_countdown_screen").remove(); main(); }, 50);
}
}
window.addEventListener("load", () => {
launchCountdownNumberElement = document.getElementById("launchCountdownNumber");
launchCountdownProgressElement = document.getElementById("launchCountdownProgress");
launchInterval = setInterval(launchTick, 50);
});
</script>
2024-01-21 18:47:43 -08:00
<style>
#loadingScreen {
transition: background-color 0.4s;
position: absolute;
left: 0px;
top: 0px;
width: 100vw;
height: 100vh;
background-color: white;
}
#logo {
transition: all 0.4s;
position: absolute;
width: 50%;
left: 50vw;
top: 50vh;
transform: translate(-50%, -50%);
}
#mojangLogo{
transition: all 0.4s;
position: absolute;
width: 50%;
left: 50vw;
top: 50vh;
transform: translate(-50%, -50%);
filter: invert(100%);
opacity: 0;
}
#progressBar{
transition: opacity 0.2s;
border: solid 5px black;
position: relative;
width: 80vw;
height: 30px;
left: 50vw;
top:-10%;
border-radius: 30px;
transform: translateX(-50%);
}
#progressBarInside{
transition: width 0.2s;
width:0%;
height:100%;
background-color: black;
border-radius: 30px;
}
#progress{
transition: all 0.4s;
position: relative;
top: -15%;
text-align: center;
font-family: sans-serif;
}
#kys{
width: 100px;
height: 80vh;
}
</style>
<script>
let hasUserInteractionHappened = false;
document.addEventListener("DOMContentLoaded", () => {
document.body.addEventListener("click", () => {
hasUserInteractionHappened = true;
});
});
function updateLoadingScreen(evt){
let percent = Math.round((evt.loaded / evt.total)*100);
let loadedMB = Math.round((evt.loaded/1024)/1024);
let totalMB = Math.round((evt.total/1024)/1024);
document.getElementById("progress").innerText = "Downloading assets: "+percent+"% ("+loadedMB+"MB / "+totalMB+"MB)";
document.getElementById("progressBarInside").style.width = percent+"%";
}
function showDecompressing(){
document.getElementById("progressBar").style.opacity = "0%";
document.getElementById("progress").innerText = "Decompressing assets...";
}
function showEnableScreen(){
if (!hasUserInteractionHappened){
document.getElementById("logo").style.width = "75%";
document.getElementById("logo").style.top = "30vh";
document.getElementById("progress").style.top = "-25%";
document.getElementById("progress").innerText = "Click anywhere on the screen to start Shadow Client!";
}
}
function showEaglerLoadingScreen(){
document.getElementById("progress").innerText = "Loading Minecraft...";
document.getElementById("logo").style.width = "50%";
document.getElementById("logo").style.top = "50vh";
document.getElementById("progress").style.top = "-15%";
}
function showMojangScreen() {
document.getElementById("loadingScreen").style.backgroundColor = "#f0323e";
document.getElementById("logo").style.opacity = "0";
document.getElementById("mojangLogo").style.opacity = "100%";
document.getElementById("progress").style.color = "white";
}
function die() {
// wait for actual mojang screen to die
setTimeout(() => {
document.getElementById("progress").style.opacity = "0";
document.getElementById("mojangLogo").style.transition = "all 0.8s";
document.getElementById("mojangLogo").style.width = "300%";
document.getElementById("loadingScreen").style.transition = "all 0.4s";
document.getElementById("loadingScreen").style.opacity = "0";
setTimeout(() => {
document.getElementById("loadingScreen").style.display = "none";
}, 400);
}, 500);
}
function returnHasUserInteractionHappened(){
return hasUserInteractionHappened;
}
</script>
<div id="loadingScreen">
<img id="logo" src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDIwMDEwOTA0Ly9FTiIKICJodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAxL1JFQy1TVkctMjAwMTA5MDQvRFREL3N2ZzEwLmR0ZCI+CjxzdmcgdmVyc2lvbj0iMS4wIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiB3aWR0aD0iMjI1NS4wMDAwMDBwdCIgaGVpZ2h0PSI1NzIuMDAwMDAwcHQiIHZpZXdCb3g9IjAgMCAyMjU1LjAwMDAwMCA1NzIuMDAwMDAwIgogcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCI+Cgo8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAwMDAwMCw1NzIuMDAwMDAwKSBzY2FsZSgwLjEwMDAwMCwtMC4xMDAwMDApIgpmaWxsPSIjMDAwMDAwIiBzdHJva2U9Im5vbmUiPgo8cGF0aCBkPSJNNTc5MiA1NDIwIGMtNzU4IC03OCAtMTM1NSAtNjI1IC0xNTAxIC0xMzc1IC02NyAtMzQ2IC0xMiAtNzM0IDE1MQotMTA2MCAyMDIgLTQwNiA1NDcgLTcwNSA5NzggLTg0OSAxOTggLTY2IDI4OSAtODAgNTI1IC04MCAyMjggMCAzMDEgMTAgNDg1CjY1IDM0NiAxMDIgNjU2IDMxOSA4NzkgNjE1IDEwOSAxNDYgMjIxIDM4MSAyNjkgNTY5IDgyIDMxNiA3OCA1OTYgLTExIDkxMQotMTc3IDYxOCAtNzExIDEwODggLTEzNTIgMTE4OSAtMTE4IDE4IC0zMTkgMjUgLTQyMyAxNXogbTM2MyAtODgxIGMyNTEgLTY1CjQ2MSAtMjUyIDU2MiAtNDk5IDQ0IC0xMDcgNTcgLTE3OSA1NiAtMzEwIC0xIC0yMzcgLTg3IC00MjkgLTI2NiAtNTk2IC0zMTcKLTI5NSAtNzk4IC0yOTcgLTExMDkgLTUgLTEyMSAxMTMgLTE5MSAyMjEgLTIzNiAzNjEgLTExNSAzNTggMzMgNzQ5IDM1OSA5NTMKMTkxIDExOSA0MTcgMTUzIDYzNCA5NnoiLz4KPHBhdGggZD0iTTIwMCA1MzYwIGMtMjAgLTIwIC0yMCAtMzMgLTIwIC0xNjIwIGwwIC0xNjAxIDI1IC0yNCAyNCAtMjUgMzUwIDAKYzM2NyAwIDM5NCAzIDQwNSA0NCAzIDExIDYgNTIxIDYgMTEzMSAwIDc3MCAzIDExMjIgMTEgMTE1MCAxNCA1MiAxMDIgMTM5CjE0OCAxNDggMTkgNCA5NCA3IDE2OCA3IDE0NiAwIDE4NSAtMTAgMjM2IC01OCA2NSAtNjIgNjIgLTE0IDY3IC04MjAgbDUgLTczNAoyNCAtMTkgYzIyIC0xOCA0MyAtMTkgMzcwIC0xOSAxOTAgMCAzNTYgMyAzNjkgNiA1MyAxNSA1MiA2IDUyIDc3NCAwIDY4MCAxCjcxMiAxOSA3NDggMTEgMjAgMzIgNDkgNDggNjQgNTEgNDkgODkgNTggMjQzIDU4IDE1NyAwIDE5MiAtOSAyNDggLTYzIDcyIC02OQo2NyAzMyA2OSAtMTIzMSBsMyAtMTEzOSAyMiAtMjQgMjEgLTIzIDM1OSAwIDM1OSAwIDI0IDI1IDI1IDI0IDAgMTE4NiAwIDExODYKLTI1IDI0IGMtMjQgMjUgLTI1IDI1IC0yMzMgMjUgLTIzMSAwIC0yODAgOCAtMzY0IDYxIC0yNSAxNyAtNjYgNTEgLTkxIDc4Ci05NSAxMDEgLTExOSAxOTUgLTExNyA0NDEgMyAyMTAgMyAyMDYgLTE2IDIyNCAtMTQgMTQgLTE1NiAxNiAtMTQxNSAxNiAtMTM4NgowIC0xMzk5IDAgLTE0MTkgLTIweiIvPgo8cGF0aCBkPSJNODgzMCA1MzYwIGMtMTkgLTE5IC0yMCAtMzMgLTIwIC0zODQgbDAgLTM2NSAyNiAtMjAgYzI2IC0yMSAzMyAtMjEKODEzIC0yMSA1OTkgMCA3OTAgLTMgNzk5IC0xMiA5IC05IDEyIC0xODcgMTIgLTczOCAwIC04MjAgMyAtNzkwIC03MyAtODU2Ci0yMyAtMjAgLTUyIC00MCAtNjQgLTQ1IC0xMyAtNSAtMTk1IC05IC00MDUgLTEwIC00MjQgLTEgLTQ3MiA0IC02MTAgNjMgLTI3MgoxMTUgLTQ1OCAzNjEgLTUwOCA2NzMgLTYgMzYgLTE2IDY1IC0yNyA3MyAtMTMgOSAtMTA0IDEyIC0zNzQgMTIgLTE5NyAwIC0zNjUKLTMgLTM3NCAtNiAtMzUgLTE0IC00MiAtNTYgLTI5IC0xNzcgNjUgLTU2NyA0MTQgLTEwNTUgOTI5IC0xMjk3IDEyMSAtNTcgMjI1Ci05MiAzNzYgLTEyNyAxMTIgLTI1IDEyMSAtMjYgNTk4IC0zMCAzNjUgLTQgNDg5IC0yIDUwNiA3IDQwIDIxIDQ1IDUxIDQ1IDI2NAowIDIzMSA3IDI2NyA2OSAzNjQgNDcgNzIgMTM4IDE0NCAyMTQgMTY5IDQwIDEyIDEwNyAxOCAyODAgMjIgMjExIDYgMjMwIDcKMjQzIDI1IDEyIDE3IDE0IDE5OSAxNCAxMjA4IDAgMTE3NSAwIDExODggLTIwIDEyMDggLTIwIDIwIC0zMyAyMCAtMTIxMCAyMAotMTE3NyAwIC0xMTkwIDAgLTEyMTAgLTIweiIvPgo8cGF0aCBkPSJNMTMwOTUgNTM2OSBjLTEzMyAtMjMgLTE3OSAtMzUgLTI4NSAtNzAgLTYzNSAtMjA5IC0xMDcxIC03NzMgLTExMjAKLTE0NDkgLTEzIC0xODAgLTEzIC0xNjY5IDAgLTE3MDcgNiAtMTcgMjIgLTM1IDM2IC00MiAxNyAtNyAxMzUgLTExIDM3NSAtMTEKbDM1MCAwIDI0IDI1IDI1IDI0IDAgODQ1IGMwIDkxNCAtMSA5MDUgNTUgMTA1MiA5MSAyNDEgMzAyIDQzMiA1NjAgNTA2IDc4IDIyCjkyIDIzIDQ5MSAyMyBsNDEwIDAgNDIgLTI4IGMyMyAtMTUgNTQgLTQ2IDY5IC02OSBsMjggLTQxIDMgLTI2MCAzIC0yNTkgLTI1Ci01MyBjLTI4IC01NiAtNzggLTk4IC0xMzcgLTExNSAtMjAgLTYgLTIzMCAtMTAgLTUxMSAtMTAgLTQ2MyAwIC00NzkgLTEgLTQ5OAotMjAgLTExIC0xMSAtMjIgLTMwIC0yNSAtNDIgLTMgLTEzIC01IC0xNzggLTMgLTM2NiBsMyAtMzQ0IDI0IC0xOSBjMjIgLTE4CjQ2IC0xOSA1MDAgLTE5IDMwNSAwIDQ5MCAtNCA1MTQgLTExIDQ5IC0xMyAxMTUgLTczIDEzOCAtMTI0IDE3IC0zNiAxOSAtNzEKMTkgLTM0MyBsMCAtMzAzIDI1IC0yNCAyNCAtMjUgMzYwIDAgYzM1OCAwIDM2MCAwIDM4MSAyMiAyMCAyMiAyMCAyOCAyMCAxMjE0CjAgMTA3MCAtMiAxMTk0IC0xNiAxMjA4IC0yMyAyNCAtNDAgMjUgLTI3NCAyOCBsLTIxNSAzIC02NSAzMiBjLTk5IDQ5IC0xNjMKMTExIC0yMDcgMjAxIGwtMzggNzcgLTMgMjE1IGMtMSAxMTggLTUgMjI1IC03IDIzNyAtMTIgNTUgNCA1MyAtNTE4IDUyIC0yNjUKLTEgLTUwNCAtNSAtNTMyIC0xMHoiLz4KPHBhdGggZD0iTTE1NDMwIDUzNjAgYy0yMCAtMjAgLTIwIC0zMyAtMjAgLTE2MjAgbDAgLTE2MDEgMjUgLTI0IDI0IC0yNSAzNTEKMCBjMzQ4IDAgMzgyIDMgNDAyIDM0IDQgNiA4IDUxMy
<img id="mojangLogo" src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDIwMDEwOTA0Ly9FTiIKICJodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAxL1JFQy1TVkctMjAwMTA5MDQvRFREL3N2ZzEwLmR0ZCI+CjxzdmcgdmVyc2lvbj0iMS4wIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiB3aWR0aD0iMjI1NS4wMDAwMDBwdCIgaGVpZ2h0PSI1NzIuMDAwMDAwcHQiIHZpZXdCb3g9IjAgMCAyMjU1LjAwMDAwMCA1NzIuMDAwMDAwIgogcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCI+Cgo8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAwMDAwMCw1NzIuMDAwMDAwKSBzY2FsZSgwLjEwMDAwMCwtMC4xMDAwMDApIgpmaWxsPSIjMDAwMDAwIiBzdHJva2U9Im5vbmUiPgo8cGF0aCBkPSJNNTc5MiA1NDIwIGMtNzU4IC03OCAtMTM1NSAtNjI1IC0xNTAxIC0xMzc1IC02NyAtMzQ2IC0xMiAtNzM0IDE1MQotMTA2MCAyMDIgLTQwNiA1NDcgLTcwNSA5NzggLTg0OSAxOTggLTY2IDI4OSAtODAgNTI1IC04MCAyMjggMCAzMDEgMTAgNDg1CjY1IDM0NiAxMDIgNjU2IDMxOSA4NzkgNjE1IDEwOSAxNDYgMjIxIDM4MSAyNjkgNTY5IDgyIDMxNiA3OCA1OTYgLTExIDkxMQotMTc3IDYxOCAtNzExIDEwODggLTEzNTIgMTE4OSAtMTE4IDE4IC0zMTkgMjUgLTQyMyAxNXogbTM2MyAtODgxIGMyNTEgLTY1CjQ2MSAtMjUyIDU2MiAtNDk5IDQ0IC0xMDcgNTcgLTE3OSA1NiAtMzEwIC0xIC0yMzcgLTg3IC00MjkgLTI2NiAtNTk2IC0zMTcKLTI5NSAtNzk4IC0yOTcgLTExMDkgLTUgLTEyMSAxMTMgLTE5MSAyMjEgLTIzNiAzNjEgLTExNSAzNTggMzMgNzQ5IDM1OSA5NTMKMTkxIDExOSA0MTcgMTUzIDYzNCA5NnoiLz4KPHBhdGggZD0iTTIwMCA1MzYwIGMtMjAgLTIwIC0yMCAtMzMgLTIwIC0xNjIwIGwwIC0xNjAxIDI1IC0yNCAyNCAtMjUgMzUwIDAKYzM2NyAwIDM5NCAzIDQwNSA0NCAzIDExIDYgNTIxIDYgMTEzMSAwIDc3MCAzIDExMjIgMTEgMTE1MCAxNCA1MiAxMDIgMTM5CjE0OCAxNDggMTkgNCA5NCA3IDE2OCA3IDE0NiAwIDE4NSAtMTAgMjM2IC01OCA2NSAtNjIgNjIgLTE0IDY3IC04MjAgbDUgLTczNAoyNCAtMTkgYzIyIC0xOCA0MyAtMTkgMzcwIC0xOSAxOTAgMCAzNTYgMyAzNjkgNiA1MyAxNSA1MiA2IDUyIDc3NCAwIDY4MCAxCjcxMiAxOSA3NDggMTEgMjAgMzIgNDkgNDggNjQgNTEgNDkgODkgNTggMjQzIDU4IDE1NyAwIDE5MiAtOSAyNDggLTYzIDcyIC02OQo2NyAzMyA2OSAtMTIzMSBsMyAtMTEzOSAyMiAtMjQgMjEgLTIzIDM1OSAwIDM1OSAwIDI0IDI1IDI1IDI0IDAgMTE4NiAwIDExODYKLTI1IDI0IGMtMjQgMjUgLTI1IDI1IC0yMzMgMjUgLTIzMSAwIC0yODAgOCAtMzY0IDYxIC0yNSAxNyAtNjYgNTEgLTkxIDc4Ci05NSAxMDEgLTExOSAxOTUgLTExNyA0NDEgMyAyMTAgMyAyMDYgLTE2IDIyNCAtMTQgMTQgLTE1NiAxNiAtMTQxNSAxNiAtMTM4NgowIC0xMzk5IDAgLTE0MTkgLTIweiIvPgo8cGF0aCBkPSJNODgzMCA1MzYwIGMtMTkgLTE5IC0yMCAtMzMgLTIwIC0zODQgbDAgLTM2NSAyNiAtMjAgYzI2IC0yMSAzMyAtMjEKODEzIC0yMSA1OTkgMCA3OTAgLTMgNzk5IC0xMiA5IC05IDEyIC0xODcgMTIgLTczOCAwIC04MjAgMyAtNzkwIC03MyAtODU2Ci0yMyAtMjAgLTUyIC00MCAtNjQgLTQ1IC0xMyAtNSAtMTk1IC05IC00MDUgLTEwIC00MjQgLTEgLTQ3MiA0IC02MTAgNjMgLTI3MgoxMTUgLTQ1OCAzNjEgLTUwOCA2NzMgLTYgMzYgLTE2IDY1IC0yNyA3MyAtMTMgOSAtMTA0IDEyIC0zNzQgMTIgLTE5NyAwIC0zNjUKLTMgLTM3NCAtNiAtMzUgLTE0IC00MiAtNTYgLTI5IC0xNzcgNjUgLTU2NyA0MTQgLTEwNTUgOTI5IC0xMjk3IDEyMSAtNTcgMjI1Ci05MiAzNzYgLTEyNyAxMTIgLTI1IDEyMSAtMjYgNTk4IC0zMCAzNjUgLTQgNDg5IC0yIDUwNiA3IDQwIDIxIDQ1IDUxIDQ1IDI2NAowIDIzMSA3IDI2NyA2OSAzNjQgNDcgNzIgMTM4IDE0NCAyMTQgMTY5IDQwIDEyIDEwNyAxOCAyODAgMjIgMjExIDYgMjMwIDcKMjQzIDI1IDEyIDE3IDE0IDE5OSAxNCAxMjA4IDAgMTE3NSAwIDExODggLTIwIDEyMDggLTIwIDIwIC0zMyAyMCAtMTIxMCAyMAotMTE3NyAwIC0xMTkwIDAgLTEyMTAgLTIweiIvPgo8cGF0aCBkPSJNMTMwOTUgNTM2OSBjLTEzMyAtMjMgLTE3OSAtMzUgLTI4NSAtNzAgLTYzNSAtMjA5IC0xMDcxIC03NzMgLTExMjAKLTE0NDkgLTEzIC0xODAgLTEzIC0xNjY5IDAgLTE3MDcgNiAtMTcgMjIgLTM1IDM2IC00MiAxNyAtNyAxMzUgLTExIDM3NSAtMTEKbDM1MCAwIDI0IDI1IDI1IDI0IDAgODQ1IGMwIDkxNCAtMSA5MDUgNTUgMTA1MiA5MSAyNDEgMzAyIDQzMiA1NjAgNTA2IDc4IDIyCjkyIDIzIDQ5MSAyMyBsNDEwIDAgNDIgLTI4IGMyMyAtMTUgNTQgLTQ2IDY5IC02OSBsMjggLTQxIDMgLTI2MCAzIC0yNTkgLTI1Ci01MyBjLTI4IC01NiAtNzggLTk4IC0xMzcgLTExNSAtMjAgLTYgLTIzMCAtMTAgLTUxMSAtMTAgLTQ2MyAwIC00NzkgLTEgLTQ5OAotMjAgLTExIC0xMSAtMjIgLTMwIC0yNSAtNDIgLTMgLTEzIC01IC0xNzggLTMgLTM2NiBsMyAtMzQ0IDI0IC0xOSBjMjIgLTE4CjQ2IC0xOSA1MDAgLTE5IDMwNSAwIDQ5MCAtNCA1MTQgLTExIDQ5IC0xMyAxMTUgLTczIDEzOCAtMTI0IDE3IC0zNiAxOSAtNzEKMTkgLTM0MyBsMCAtMzAzIDI1IC0yNCAyNCAtMjUgMzYwIDAgYzM1OCAwIDM2MCAwIDM4MSAyMiAyMCAyMiAyMCAyOCAyMCAxMjE0CjAgMTA3MCAtMiAxMTk0IC0xNiAxMjA4IC0yMyAyNCAtNDAgMjUgLTI3NCAyOCBsLTIxNSAzIC02NSAzMiBjLTk5IDQ5IC0xNjMKMTExIC0yMDcgMjAxIGwtMzggNzcgLTMgMjE1IGMtMSAxMTggLTUgMjI1IC03IDIzNyAtMTIgNTUgNCA1MyAtNTE4IDUyIC0yNjUKLTEgLTUwNCAtNSAtNTMyIC0xMHoiLz4KPHBhdGggZD0iTTE1NDMwIDUzNjAgYy0yMCAtMjAgLTIwIC0zMyAtMjAgLTE2MjAgbDAgLTE2MDEgMjUgLTI0IDI0IC0yNSAzNTEKMCBjMzQ4IDAgMzgyIDMgNDAyIDM0IDQgNiA4
<div id="kys"></div>
<h2 id="progress">Downloading assets: 0%</h2>
<div id="progressBar"><div id="progressBarInside"></div></div>
</div>
<script type="text/javascript">
let controllerIndex = null;
//Left JoyStick
let leftRightAxis1 = 0;
let upDownAxis1 = 0;
//Right JoyStick
let leftRightAxis2 = 0;
let upDownAxis2 = 0;
const buttonStates = {};
window.addEventListener("gamepadconnected", (event) => {
const gamepad = event.gamepad;
controllerIndex = gamepad.index;
});
window.addEventListener("gamepaddisconnected",(event) => {
controllerIndex = null;
});
function handleSticks(axes) {
updateStick1(axes[0], axes[1]);
updateStick2(axes[2], axes[3]);
}
function updateStick1(leftRighAxis, upDownAxis) {
const multiplier = 25;
const stickLeftRight = leftRighAxis * multiplier;
const stickUpDown = upDownAxis * multiplier;
leftRightAxis1 = stickLeftRight;
upDownAxis1 = stickUpDown;
}
function updateStick2(leftRightAxis, upDownAxis) {
const multiplier = 25;
const stickLeftRight = leftRightAxis * multiplier;
const stickUpDown = upDownAxis * multiplier;
leftRightAxis2 = stickLeftRight;
upDownAxis2 = stickUpDown;
}
function controllerConnected() {
if(controllerIndex != null) {
return true;
}
return false;
}
function getCameraX() {
return leftRightAxis2;
}
function getCameraY() {
return upDownAxis2;
}
function isWalkingForward() {
if(upDownAxis1 < 0) {
return true;
}
return false;
}
function isWalkingBackward() {
if(upDownAxis1 > 0) {
return true;
}
return false;
}
function isWalkingLeft() {
if(leftRightAxis1 < 0) {
return true;
}
return false;
}
function isWalkingRight() {
if(leftRightAxis1 > 0) {
return true;
}
return false;
}
function isKeyDown(keyCode) {
const gamepads = navigator.getGamepads();
if (gamepads.length > 0) {
const gamepad = gamepads[0];
if (gamepad) {
const button = gamepad.buttons.find(btn => btn.value !== 0 && btn.keyCode === keyCode);
return !!button;
}
}
return false;
}
function isPressed(keyCode) {
const gamepads = navigator.getGamepads();
if (gamepads.length > 0) {
const gamepad = gamepads[0];
if (gamepad) {
const button = gamepad.buttons.find(btn => btn.keyCode === keyCode);
if (button.pressed && !buttonStates[keyCode]) {
buttonStates[keyCode] = true;
return true;
} else {
buttonStates[keyCode] = button.pressed;
return false;
}
}
}
return false;
}
function updateController() {
if(controllerConnected()) {
if(controllerIndex != null) {
const gamepad = navigator.getGamepads()[controllerIndex];
handleSticks(gamepad.axes);
}
}
requestAnimationFrame(updateController);
}
requestAnimationFrame(updateController);
2023-08-26 14:31:51 -07:00
</script>
<link type="image/png" rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAR/SURBVEhLtZXZK3ZRFMYPcqXc+gv413DHxVuGIpIhkciQWaRccCNjSCkligwXSOZ5nmfv9zvn2e8+58V753sudmuvvdZ61l5r7XOc8H+GS/D19aUNkPz5+aktQH5/f//4+LBKZKuRkpUtQjCUYG5gD2T38vLy/PwsDfL9/f3Dw8PT05M0b29vnKLhCKCBT4L4gvBLBIei4//4+Hh1dUVEQutUuLu7E83FxQUGnKLBWKfQaA3S+AREVxaEOD8/Pzk50XpzcyMDcH19zdZG3N3d3dzc3Nvb01aX5pQUpQGGQJxcQpfNysoKhUIdHR1o1tbWbInYAgxIPDMzMy8vLzc3FxqOdMoRqwJK8G8ALUYIhHMiSEhIwI6CyIb0qQzC4eGhsXCc1tZWnZIEKzdQJQSXgKxfX18RCM3Z5eWlcfVAxKOjo+Pj49PTU88lTOk2NjbMsePc3t6SAfcgFdszOyMuAdeBg0CQi2lhYUHOeOLDCisN8FzcPFZXV3t7ezHY3t5GQ+6it+2xMASsKhEEWKsmRLRBBUpPvpJ/TpFKFBwKYAiITmicsbYhdHfJAltqhUCVsCQhwslmeXmZxiBQT9c0Ar9E2O3v72sYSE0N1yQArkKy0kBMXLqlZqIZHR3t6empqqqSDcBdhXEJSJ/bUc3q6uq+vj629GB9fR1WsLW1NTs7u7S0RN2locMjIyOEm5ubQ7+4uJienk4/+vv77Y1hwhLBEKhwWHitdVFfX9/Y2Gg2HuLi4owUAysrK8yCG97rh0+ApP5Q2ZycHFlPTExUVFRIBvn5+WhKSkp2dnaMKhptbW2426GgQ/rwuAQCZ1hwFayLiork9hMFBQV1dXVmE0BLS4vqw3QFB8kn4IAxoGPkYpxi4FeDmpqas7Mz4pClAgqGwD48rjY2NmacYqC0tJQ1KSlJWyE5OZkpUKkBAxZVIntAoZh04+Q48fHxPNGBgYHExMT29naj9cBodnZ2mo3jlJWVMeW2OGQck4B1amqqoaGhqamJjx2lGxwcpL0mUgR8fJhsWqJtSkoKU2SbHHUDpkhPBujd8xuQG6PJRM/Pz09PT7O1NNnZ2Tw3fgZkXVhYKCUlUhBATP+hCVyKZGky17RV0g04laayslJ6hlVeFHB4eFhKaogGd0LxtmTgE+hbhKDnPjMzgw8E3qGL2tpaBWpubjYqj2BoaEj6rq4uNATRZ0ZwCbiL6gXEzINk5vCBQJ9rMD4+rkA8QNK036uDg4Py8vLu7m680KjIBNR3zBDoWQM1g98snyB+VSoRW8C/UwR81/SvhgNj9JOTkwwVERUdRBEI0BAdLRVERkhLS8vIyEDQlrsTPTU1lVFhKxARvZgUlFLbegCf4BvIsbi4mIg4E5EogIHhiKCMtU0WUFiVy06j5fAJIDdSBDQw+PegDfBRcbOPwH4F9LuFWIIQdQNKwWqzIE0aoFUaBsw+SQuFw0uNtC9A+F4i3QNrbg3IDn+SAsHh+wYiEpeyBEMLv/cAO6KzAijxxB+Y4wisBhssJUhjEbPJf4Nw+B+JXqLW3bw+wQAAAABJRU5ErkJggg==" />
</head>
<body style="margin:0px;width:100vw;height:100vh;overflow:hidden;" id="game_frame">
<div style="margin:0px;width:100%;height:100%;font-family:sans-serif;display:flex;align-items:center;user-select:none;" id="launch_countdown_screen">
<div style="margin:auto;text-align:center;">
<h1>This file is from <span style="color:#AA0000;">${date}</span></h1>
<h2>Game will launch in <span id="launchCountdownNumber">5</span>...</h2>
<div style="border:2px solid black;width:100%;height:15px;padding:1px;margin-bottom:20vh;"><div id="launchCountdownProgress" style="background-color:#555555;width:0%;height:100%;"></div></div>
</div>
</div>
</body>
</html>
<!-- lax1dude was here -->
2024-01-21 18:47:43 -08:00
<!-- PeytonPlayz585 was also here :> -->