merge stuff

This commit is contained in:
BluePotato102
2023-12-01 18:57:09 -06:00
65 changed files with 296513 additions and 113076 deletions
+8
View File
@@ -0,0 +1,8 @@
games
LICENSE
*.png
*.ico
*.md
*.svg
*.woff
*.woff2
+6
View File
@@ -0,0 +1,6 @@
{
"tabWidth": 4,
"semi": true,
"singleQuote": true,
"printWidth": 120
}
+394 -379
View File
@@ -1,386 +1,401 @@
<!DOCTYPE html>
<html>
<head>
<title>Error 404</title>
</head>
<head>
<title>Error 404</title>
</head>
<body>
<style>
@import url('https://fonts.googleapis.com/css?family=Fira+Mono:400');
<body>
<style>
@import url('https://fonts.googleapis.com/css?family=Fira+Mono:400');
body {
background:repeating-linear-gradient(0deg,#0E0D0E 25%,#0E0D0E 50%,#171819 50%,#171819 75%);
background-size:10px 10px;
height:100vh;
width:100vw;
font-size: 5vw;
overflow:hidden;
display:flex;
flex-direction:column;
font-family: 'Fira Mono', monospace;
justify-content:center;
align-items:center;
}
.wisedom {
font-family: url(VGA.tff);
font-weight: 400;
text-rendering: optimizelegibility;
color: #009400;
letter-spacing: 0px;
font-size: 40px;
min-height: 50px;
animation: typing 2s steps(22), blink .5s step-end infinite alternate;
border-right: 3px solid #009400;
}
@keyframes blink {
50% {
border-color: transparent
}
}
.glitch {
font-size: 10vw;
position:relative;
color:#fff;
}
.line:not(:first-child) {
position:absolute;
top:0;
left:0;
}
.line:nth-child(1) {
animation:clip 3000ms -300ms linear infinite,glitch1 500ms -184ms linear infinite;
}
@keyframes glitch1 {
0% {
transform:translateX(0);
}
80% {
transform:translateX(0);
color:#fff;
}
85% {
transform:translateX(2px);
color:#4E9A26;
}
90% {
transform:translateX(5px);
color:#AC1212;
}
95% {
transform:translateX(1px);
color:#fff;
}
100% {
transform:translateX(0);
}
}.line:nth-child(2) {
animation:clip 3000ms -600ms linear infinite,glitch2 500ms -740ms linear infinite;
}
@keyframes glitch2 {
0% {
transform:translateX(0);
}
80% {
transform:translateX(0);
color:#fff;
}
85% {
transform:translateX(5px);
color:#4E9A26;
}
90% {
transform:translateX(-1px);
color:#AC1212;
}
95% {
transform:translateX(-1px);
color:#fff;
}
100% {
transform:translateX(0);
}
}.line:nth-child(3) {
animation:clip 3000ms -900ms linear infinite,glitch3 500ms -333ms linear infinite;
}
@keyframes glitch3 {
0% {
transform:translateX(0);
}
80% {
transform:translateX(0);
color:#fff;
}
85% {
transform:translateX(-2px);
color:#4E9A26;
}
90% {
transform:translateX(3px);
color:#AC1212;
}
95% {
transform:translateX(0px);
color:#fff;
}
100% {
transform:translateX(0);
}
}.line:nth-child(4) {
animation:clip 3000ms -1200ms linear infinite,glitch4 500ms -733ms linear infinite;
}
@keyframes glitch4 {
0% {
transform:translateX(0);
}
80% {
transform:translateX(0);
color:#fff;
}
85% {
transform:translateX(-4px);
color:#4E9A26;
}
90% {
transform:translateX(5px);
color:#AC1212;
}
95% {
transform:translateX(0px);
color:#fff;
}
100% {
transform:translateX(0);
}
}.line:nth-child(5) {
animation:clip 3000ms -1500ms linear infinite,glitch5 500ms -896ms linear infinite;
}
@keyframes glitch5 {
0% {
transform:translateX(0);
}
80% {
transform:translateX(0);
color:#fff;
}
85% {
transform:translateX(-3px);
color:#4E9A26;
}
90% {
transform:translateX(5px);
color:#AC1212;
}
95% {
transform:translateX(3px);
color:#fff;
}
100% {
transform:translateX(0);
}
}.line:nth-child(6) {
animation:clip 3000ms -1800ms linear infinite,glitch6 500ms -815ms linear infinite;
}
@keyframes glitch6 {
0% {
transform:translateX(0);
}
80% {
transform:translateX(0);
color:#fff;
}
85% {
transform:translateX(-4px);
color:#4E9A26;
}
90% {
transform:translateX(-4px);
color:#AC1212;
}
95% {
transform:translateX(-3px);
color:#fff;
}
100% {
transform:translateX(0);
}
}.line:nth-child(7) {
animation:clip 3000ms -2100ms linear infinite,glitch7 500ms -34ms linear infinite;
}
@keyframes glitch7 {
0% {
transform:translateX(0);
}
80% {
transform:translateX(0);
color:#fff;
}
85% {
transform:translateX(2px);
color:#4E9A26;
}
90% {
transform:translateX(5px);
color:#AC1212;
}
95% {
transform:translateX(-3px);
color:#fff;
}
100% {
transform:translateX(0);
}
}.line:nth-child(8) {
animation:clip 3000ms -2400ms linear infinite,glitch8 500ms -842ms linear infinite;
}
@keyframes glitch8 {
0% {
transform:translateX(0);
}
80% {
transform:translateX(0);
color:#fff;
}
85% {
transform:translateX(4px);
color:#4E9A26;
}
90% {
transform:translateX(1px);
color:#AC1212;
}
95% {
transform:translateX(-4px);
color:#fff;
}
100% {
transform:translateX(0);
}
}.line:nth-child(9) {
animation:clip 3000ms -2700ms linear infinite,glitch9 500ms -751ms linear infinite;
}
@keyframes glitch9 {
0% {
transform:translateX(0);
}
80% {
transform:translateX(0);
color:#fff;
}
85% {
transform:translateX(1px);
color:#4E9A26;
}
90% {
transform:translateX(2px);
color:#AC1212;
}
95% {
transform:translateX(-4px);
color:#fff;
}
100% {
transform:translateX(0);
}
}.line:nth-child(10) {
animation:clip 3000ms -3000ms linear infinite,glitch10 500ms -648ms linear infinite;
}
@keyframes glitch10 {
0% {
transform:translateX(0);
}
80% {
transform:translateX(0);
color:#fff;
}
85% {
transform:translateX(-3px);
color:#4E9A26;
}
90% {
transform:translateX(2px);
color:#AC1212;
}
95% {
transform:translateX(3px);
color:#fff;
}
100% {
transform:translateX(0);
}
}@keyframes clip {
0% {
clip-path:polygon(0 100%,100% 100%,100% 120%,0 120%);
}
100% {
clip-path:polygon(0 -20%,100% -20%,100% 0%,0 0);
}
}
a {
padding: 10px 20px;
background-color: #00fa00;
color: #000;
border-radius: 5px;
text-decoration: none;
cursor: pointer;
transition: 0s;
}
body {
background: repeating-linear-gradient(0deg, #0e0d0e 25%, #0e0d0e 50%, #171819 50%, #171819 75%);
background-size: 10px 10px;
height: 100vh;
width: 100vw;
font-size: 5vw;
overflow: hidden;
display: flex;
flex-direction: column;
font-family: 'Fira Mono', monospace;
justify-content: center;
align-items: center;
}
a:hover {
filter: brightness(90%);
}
.wisedom {
font-family: url(VGA.tff);
font-weight: 400;
text-rendering: optimizelegibility;
color: #009400;
letter-spacing: 0px;
font-size: 40px;
min-height: 50px;
animation: typing 2s steps(22), blink 0.5s step-end infinite alternate;
border-right: 3px solid #009400;
}
</style>
<div class="glitch">
<div class="line">Error 404</div>
<div class="line">Error 404</div>
<div class="line">Error 404</div>
<div class="line">Error 404</div>
<div class="line">Error 404</div>
<div class="line">Error 404</div>
<div class="line">Error 404</div>
<div class="line">Error 404</div>
<div class="line">Error 404</div>
</div>
<span class="wisedom"></span>
<h6><a href="/">Return home?</a></h6>
<script>
const wiseness = ["Welcome to the land of Nothing!", "Here there is absolutely nothing for you.", "I recommend you to go back home", "Please. Go.", "Why are you here?", "I will not repeat this once more.", "GO. NOW."]
const element = document.getElementsByClassName('wisedom')[0];
const button = document.getElementsByTagName('a')[0];
let currentTextIndex = 0;
let charIndex = 0;
function type() {
let text = wiseness[currentTextIndex];
let typeSpeed = 100;
if (charIndex < text.length) {
element.innerHTML += text.charAt(charIndex);
charIndex++;
setTimeout(type, typeSpeed);
} else {
setTimeout(deleteText, 3000); // wait 1 second before deleting the text
}
}
function deleteText() {
let text = wiseness[currentTextIndex];
let deleteSpeed = 100;
if (charIndex > 0) {
element.innerHTML = text.substring(0, charIndex - 1);
charIndex--;
setTimeout(deleteText, deleteSpeed);
}
}
setTimeout(type, 2000);
</script>
</body>
@keyframes blink {
50% {
border-color: transparent;
}
}
.glitch {
font-size: 10vw;
position: relative;
color: #fff;
}
.line:not(:first-child) {
position: absolute;
top: 0;
left: 0;
}
.line:nth-child(1) {
animation: clip 3000ms -300ms linear infinite, glitch1 500ms -184ms linear infinite;
}
@keyframes glitch1 {
0% {
transform: translateX(0);
}
80% {
transform: translateX(0);
color: #fff;
}
85% {
transform: translateX(2px);
color: #4e9a26;
}
90% {
transform: translateX(5px);
color: #ac1212;
}
95% {
transform: translateX(1px);
color: #fff;
}
100% {
transform: translateX(0);
}
}
.line:nth-child(2) {
animation: clip 3000ms -600ms linear infinite, glitch2 500ms -740ms linear infinite;
}
@keyframes glitch2 {
0% {
transform: translateX(0);
}
80% {
transform: translateX(0);
color: #fff;
}
85% {
transform: translateX(5px);
color: #4e9a26;
}
90% {
transform: translateX(-1px);
color: #ac1212;
}
95% {
transform: translateX(-1px);
color: #fff;
}
100% {
transform: translateX(0);
}
}
.line:nth-child(3) {
animation: clip 3000ms -900ms linear infinite, glitch3 500ms -333ms linear infinite;
}
@keyframes glitch3 {
0% {
transform: translateX(0);
}
80% {
transform: translateX(0);
color: #fff;
}
85% {
transform: translateX(-2px);
color: #4e9a26;
}
90% {
transform: translateX(3px);
color: #ac1212;
}
95% {
transform: translateX(0px);
color: #fff;
}
100% {
transform: translateX(0);
}
}
.line:nth-child(4) {
animation: clip 3000ms -1200ms linear infinite, glitch4 500ms -733ms linear infinite;
}
@keyframes glitch4 {
0% {
transform: translateX(0);
}
80% {
transform: translateX(0);
color: #fff;
}
85% {
transform: translateX(-4px);
color: #4e9a26;
}
90% {
transform: translateX(5px);
color: #ac1212;
}
95% {
transform: translateX(0px);
color: #fff;
}
100% {
transform: translateX(0);
}
}
.line:nth-child(5) {
animation: clip 3000ms -1500ms linear infinite, glitch5 500ms -896ms linear infinite;
}
@keyframes glitch5 {
0% {
transform: translateX(0);
}
80% {
transform: translateX(0);
color: #fff;
}
85% {
transform: translateX(-3px);
color: #4e9a26;
}
90% {
transform: translateX(5px);
color: #ac1212;
}
95% {
transform: translateX(3px);
color: #fff;
}
100% {
transform: translateX(0);
}
}
.line:nth-child(6) {
animation: clip 3000ms -1800ms linear infinite, glitch6 500ms -815ms linear infinite;
}
@keyframes glitch6 {
0% {
transform: translateX(0);
}
80% {
transform: translateX(0);
color: #fff;
}
85% {
transform: translateX(-4px);
color: #4e9a26;
}
90% {
transform: translateX(-4px);
color: #ac1212;
}
95% {
transform: translateX(-3px);
color: #fff;
}
100% {
transform: translateX(0);
}
}
.line:nth-child(7) {
animation: clip 3000ms -2100ms linear infinite, glitch7 500ms -34ms linear infinite;
}
@keyframes glitch7 {
0% {
transform: translateX(0);
}
80% {
transform: translateX(0);
color: #fff;
}
85% {
transform: translateX(2px);
color: #4e9a26;
}
90% {
transform: translateX(5px);
color: #ac1212;
}
95% {
transform: translateX(-3px);
color: #fff;
}
100% {
transform: translateX(0);
}
}
.line:nth-child(8) {
animation: clip 3000ms -2400ms linear infinite, glitch8 500ms -842ms linear infinite;
}
@keyframes glitch8 {
0% {
transform: translateX(0);
}
80% {
transform: translateX(0);
color: #fff;
}
85% {
transform: translateX(4px);
color: #4e9a26;
}
90% {
transform: translateX(1px);
color: #ac1212;
}
95% {
transform: translateX(-4px);
color: #fff;
}
100% {
transform: translateX(0);
}
}
.line:nth-child(9) {
animation: clip 3000ms -2700ms linear infinite, glitch9 500ms -751ms linear infinite;
}
@keyframes glitch9 {
0% {
transform: translateX(0);
}
80% {
transform: translateX(0);
color: #fff;
}
85% {
transform: translateX(1px);
color: #4e9a26;
}
90% {
transform: translateX(2px);
color: #ac1212;
}
95% {
transform: translateX(-4px);
color: #fff;
}
100% {
transform: translateX(0);
}
}
.line:nth-child(10) {
animation: clip 3000ms -3000ms linear infinite, glitch10 500ms -648ms linear infinite;
}
@keyframes glitch10 {
0% {
transform: translateX(0);
}
80% {
transform: translateX(0);
color: #fff;
}
85% {
transform: translateX(-3px);
color: #4e9a26;
}
90% {
transform: translateX(2px);
color: #ac1212;
}
95% {
transform: translateX(3px);
color: #fff;
}
100% {
transform: translateX(0);
}
}
@keyframes clip {
0% {
clip-path: polygon(0 100%, 100% 100%, 100% 120%, 0 120%);
}
100% {
clip-path: polygon(0 -20%, 100% -20%, 100% 0%, 0 0);
}
}
</html>
a {
padding: 10px 20px;
background-color: #00fa00;
color: #000;
border-radius: 5px;
text-decoration: none;
cursor: pointer;
transition: 0s;
}
a:hover {
filter: brightness(90%);
}
</style>
<div class="glitch">
<div class="line">Error 404</div>
<div class="line">Error 404</div>
<div class="line">Error 404</div>
<div class="line">Error 404</div>
<div class="line">Error 404</div>
<div class="line">Error 404</div>
<div class="line">Error 404</div>
<div class="line">Error 404</div>
<div class="line">Error 404</div>
</div>
<span class="wisedom"></span>
<h6><a href="/">Return home?</a></h6>
<script>
const wiseness = [
'Welcome to the land of Nothing!',
'Here there is absolutely nothing for you.',
'I recommend you to go back home',
'Please. Go.',
'Why are you here?',
'I will not repeat this once more.',
'GO. NOW.',
];
const element = document.getElementsByClassName('wisedom')[0];
const button = document.getElementsByTagName('a')[0];
let currentTextIndex = 0;
let charIndex = 0;
function type() {
let text = wiseness[currentTextIndex];
let typeSpeed = 100;
if (charIndex < text.length) {
element.innerHTML += text.charAt(charIndex);
charIndex++;
setTimeout(type, typeSpeed);
} else {
setTimeout(deleteText, 3000); // wait 1 second before deleting the text
}
}
function deleteText() {
let text = wiseness[currentTextIndex];
let deleteSpeed = 100;
if (charIndex > 0) {
element.innerHTML = text.substring(0, charIndex - 1);
charIndex--;
setTimeout(deleteText, deleteSpeed);
}
}
setTimeout(type, 2000);
</script>
</body>
</html>
+3 -6
View File
@@ -23,10 +23,7 @@
"1v1.LOL": {
"path": "1v1-lol",
"aliases": [],
"categories": [
"online",
"battle"
]
"categories": ["online", "battle"]
},
"10 minutes till dawn": {
"path": "10-minutes-till-dawn",
@@ -499,7 +496,7 @@
"categories": []
},
"N Step Steve Part 1": {
"path": "n-step-steve-part-1https://v6p9d9t4.ssl.hwcdn.net/html/5296582/index.html",
"path": "n-step-steve-part-1",
"aliases": [],
"categories": []
},
@@ -881,4 +878,4 @@
"proxy": false, // proxy only works when self-hosted
"proxyPath": "http://localhost:8080" // absolute or relative path to proxy; proxy must be set to true for this setting to have any effect
}
}
}
+3 -3
View File
@@ -32,7 +32,7 @@
}
.hexagonGrid .row .hexagon::before {
content: "";
content: '';
position: absolute;
top: 0;
left: 0;
@@ -44,7 +44,7 @@
}
.hexagonGrid .row .hexagon::after {
content: "";
content: '';
position: absolute;
top: 4px;
right: 4px;
@@ -62,4 +62,4 @@
.hexagonGrid .row .hexagon:hover::after {
background: var(--bg);
}
}
+1 -1
View File
@@ -140,4 +140,4 @@ section {
top: 0;
left: 0;
overflow: hidden;
}
}
+475 -472
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,13 +0,0 @@
{
"companyName": "Michael Eichler",
"productName": "Getaway Shootout",
"dataUrl": "unity/GetawayShootout.data.unityweb",
"asmCodeUrl": "unity/GetawayShootout.asm.code.unityweb",
"asmMemoryUrl": "unity/GetawayShootout.asm.memory.unityweb",
"asmFrameworkUrl": "unity/GetawayShootout.asm.framework.unityweb",
"TOTAL_MEMORY": 268435456,
"graphicsAPI": ["WebGL 2.0", "WebGL 1.0"],
"webglContextAttributes": { "preserveDrawingBuffer": false },
"splashScreenStyle": "Dark",
"backgroundColor": "#586C80"
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

+32 -28
View File
@@ -1,35 +1,39 @@
<!DOCTYPE html>
<html lang="en-us">
<html>
<head>
<!-- Google tag (gtag.js) -->
<script async="" src="https://www.googletagmanager.com/gtag/js?id=G-7L02W3ZMS5"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Getaway Shootout Unblocked - ubg235 Poki</title>
<script>
window.config = {
loader: 'unity-2020',
debug: false,
maxRatio: 16 / 9,
minRatio: 9 / 16,
gtag('config', 'G-7L02W3ZMS5');
</script>
<script async="" crossorigin="anonymous" src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5648726754785335"></script>
<link href="img/images.jpg" rel="icon" type="image/x-icon"/>
<meta charset="utf-8"/>
<meta content="width=device-width, initial-scale=1.0" name="viewport"/>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<title>Getaway Shootout</title>
<script src="Build/UnityLoader.js"></script>
<script src="/js/main.js"></script>
<style>
body {
background-color: #000000;
}
</style>
<script>
var gameInstance = UnityLoader.instantiate("gameContainer", "GetawayShootout.json", { width: 800, height: 600 });
</script>
title: 'Getaway Shootout',
thumbnail: 'patch/png/null.png?https:\/\/img.poki.com\/934bde36-a4a1-43d0-8b35-30f15feddbb4.png',
numScreenshots: 4 ,
unityVersion: '2020.3.43f1',
unityWebglBuildUrl: '',
fileSize: 18 ,
cachedDecompressedFileSizes: {
'1214fbea69c5893898f0c094bddb36cf.js': 10913 ,
'59534c170eac4660ad03f2485228a8d8.data': 6517293 ,
'9eb7737869be10eef8f93cb112f7292e.wasm': 11190199 ,
'a92899e78dc753b0e85f5bb727acbe60.js': 458015 ,
},
"metadata": {"poki_template_version":1,"background_color":"#231F20","code_filename":"9eb7737869be10eef8f93cb112f7292e.wasm","company_name":"New Eich Games","data_filename":"59534c170eac4660ad03f2485228a8d8.data","development_player":"false","framework_filename":"a92899e78dc753b0e85f5bb727acbe60.js","height":"600","loader_filename":"1214fbea69c5893898f0c094bddb36cf.js","product_name":"Getaway Shootout","product_version":"1.1","splash_screen_style":"Dark","total_memory":"268435456","unity_version":"2020.3.43f1","use_data_caching":"false","use_threads":"false","use_wasm":"true","use_webgl_1_0":"true","use_webgl_2_0":"true","width":"960"}
};
</script>
<!-- will be copied to the resulting head //-->
</head>
<body>
<div id="gameContainer" style="width: 100%; height: 100%; margin: auto;"></div>
<script src="patch/js/poki-master-loader.js"></script>
<!-- will be copied to the resulting body //-->
<!-- will also be copied to the resulting body //-->
</body>
</html>
</html>
File diff suppressed because one or more lines are too long
@@ -0,0 +1,53 @@
/**
* A horizontal blur filter by Mat Groves http://matgroves.com/ @Doormat23
*/
Phaser.Filter.BlurX = function (game) {
Phaser.Filter.call(this, game);
this.uniforms.blur = { type: '1f', value: 1 / 512 };
this.fragmentSrc = [
"precision mediump float;",
"varying vec2 vTextureCoord;",
"varying vec4 vColor;",
"uniform float blur;",
"uniform sampler2D uSampler;",
"void main(void) {",
"vec4 sum = vec4(0.0);",
"sum += texture2D(uSampler, vec2(vTextureCoord.x - 4.0*blur, vTextureCoord.y)) * 0.05;",
"sum += texture2D(uSampler, vec2(vTextureCoord.x - 3.0*blur, vTextureCoord.y)) * 0.09;",
"sum += texture2D(uSampler, vec2(vTextureCoord.x - 2.0*blur, vTextureCoord.y)) * 0.12;",
"sum += texture2D(uSampler, vec2(vTextureCoord.x - blur, vTextureCoord.y)) * 0.15;",
"sum += texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y)) * 0.16;",
"sum += texture2D(uSampler, vec2(vTextureCoord.x + blur, vTextureCoord.y)) * 0.15;",
"sum += texture2D(uSampler, vec2(vTextureCoord.x + 2.0*blur, vTextureCoord.y)) * 0.12;",
"sum += texture2D(uSampler, vec2(vTextureCoord.x + 3.0*blur, vTextureCoord.y)) * 0.09;",
"sum += texture2D(uSampler, vec2(vTextureCoord.x + 4.0*blur, vTextureCoord.y)) * 0.05;",
"gl_FragColor = sum;",
"}"
];
};
Phaser.Filter.BlurX.prototype = Object.create(Phaser.Filter.prototype);
Phaser.Filter.BlurX.prototype.constructor = Phaser.Filter.BlurX;
Object.defineProperty(Phaser.Filter.BlurX.prototype, 'blur', {
get: function() {
return this.uniforms.blur.value / (1/7000);
},
set: function(value) {
this.dirty = true;
this.uniforms.blur.value = (1/7000) * value;
}
});
@@ -0,0 +1,54 @@
/**
* A vertical blur filter by Mat Groves http://matgroves.com/ @Doormat23
*/
Phaser.Filter.BlurY = function (game) {
Phaser.Filter.call(this, game);
this.uniforms.blur = { type: '1f', value: 1 / 512 };
this.fragmentSrc = [
"precision mediump float;",
"varying vec2 vTextureCoord;",
"varying vec4 vColor;",
"uniform float blur;",
"uniform sampler2D uSampler;",
"void main(void) {",
"vec4 sum = vec4(0.0);",
"sum += texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y - 4.0*blur)) * 0.05;",
"sum += texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y - 3.0*blur)) * 0.09;",
"sum += texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y - 2.0*blur)) * 0.12;",
"sum += texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y - blur)) * 0.15;",
"sum += texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y)) * 0.16;",
"sum += texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y + blur)) * 0.15;",
"sum += texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y + 2.0*blur)) * 0.12;",
"sum += texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y + 3.0*blur)) * 0.09;",
"sum += texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y + 4.0*blur)) * 0.05;",
"gl_FragColor = sum;",
"}"
];
};
Phaser.Filter.BlurY.prototype = Object.create(Phaser.Filter.prototype);
Phaser.Filter.BlurY.prototype.constructor = Phaser.Filter.BlurY;
Object.defineProperty(Phaser.Filter.BlurY.prototype, 'blur', {
get: function() {
return this.uniforms.blur.value / (1/7000);
},
set: function(value) {
this.dirty = true;
this.uniforms.blur.value = (1/7000) * value;
}
});
@@ -0,0 +1,45 @@
/*
* Copyright 2015 Small Batch, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
/* Web Font Loader v1.5.18 - (c) Adobe Systems, Google. License: Apache 2.0 */
;(function(window,document,undefined){function aa(a,b,c){return a.call.apply(a.bind,arguments)}function ba(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}}function k(a,b,c){k=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?aa:ba;return k.apply(null,arguments)}var n=Date.now||function(){return+new Date};function q(a,b){this.K=a;this.w=b||a;this.G=this.w.document}q.prototype.createElement=function(a,b,c){a=this.G.createElement(a);if(b)for(var d in b)b.hasOwnProperty(d)&&("style"==d?a.style.cssText=b[d]:a.setAttribute(d,b[d]));c&&a.appendChild(this.G.createTextNode(c));return a};function r(a,b,c){a=a.G.getElementsByTagName(b)[0];a||(a=document.documentElement);a&&a.lastChild&&a.insertBefore(c,a.lastChild)}function ca(a,b){function c(){a.G.body?b():setTimeout(c,0)}c()}
function s(a,b,c){b=b||[];c=c||[];for(var d=a.className.split(/\s+/),e=0;e<b.length;e+=1){for(var f=!1,g=0;g<d.length;g+=1)if(b[e]===d[g]){f=!0;break}f||d.push(b[e])}b=[];for(e=0;e<d.length;e+=1){f=!1;for(g=0;g<c.length;g+=1)if(d[e]===c[g]){f=!0;break}f||b.push(d[e])}a.className=b.join(" ").replace(/\s+/g," ").replace(/^\s+|\s+$/,"")}function t(a,b){for(var c=a.className.split(/\s+/),d=0,e=c.length;d<e;d++)if(c[d]==b)return!0;return!1}
function u(a){if("string"===typeof a.na)return a.na;var b=a.w.location.protocol;"about:"==b&&(b=a.K.location.protocol);return"https:"==b?"https:":"http:"}function v(a,b){var c=a.createElement("link",{rel:"stylesheet",href:b,media:"all"}),d=!1;c.onload=function(){d||(d=!0)};c.onerror=function(){d||(d=!0)};r(a,"head",c)}
function w(a,b,c,d){var e=a.G.getElementsByTagName("head")[0];if(e){var f=a.createElement("script",{src:b}),g=!1;f.onload=f.onreadystatechange=function(){g||this.readyState&&"loaded"!=this.readyState&&"complete"!=this.readyState||(g=!0,c&&c(null),f.onload=f.onreadystatechange=null,"HEAD"==f.parentNode.tagName&&e.removeChild(f))};e.appendChild(f);window.setTimeout(function(){g||(g=!0,c&&c(Error("Script load timeout")))},d||5E3);return f}return null};function x(a,b){this.Y=a;this.ga=b};function y(a,b,c,d){this.c=null!=a?a:null;this.g=null!=b?b:null;this.D=null!=c?c:null;this.e=null!=d?d:null}var da=/^([0-9]+)(?:[\._-]([0-9]+))?(?:[\._-]([0-9]+))?(?:[\._+-]?(.*))?$/;y.prototype.compare=function(a){return this.c>a.c||this.c===a.c&&this.g>a.g||this.c===a.c&&this.g===a.g&&this.D>a.D?1:this.c<a.c||this.c===a.c&&this.g<a.g||this.c===a.c&&this.g===a.g&&this.D<a.D?-1:0};y.prototype.toString=function(){return[this.c,this.g||"",this.D||"",this.e||""].join("")};
function z(a){a=da.exec(a);var b=null,c=null,d=null,e=null;a&&(null!==a[1]&&a[1]&&(b=parseInt(a[1],10)),null!==a[2]&&a[2]&&(c=parseInt(a[2],10)),null!==a[3]&&a[3]&&(d=parseInt(a[3],10)),null!==a[4]&&a[4]&&(e=/^[0-9]+$/.test(a[4])?parseInt(a[4],10):a[4]));return new y(b,c,d,e)};function A(a,b,c,d,e,f,g,h){this.N=a;this.k=h}A.prototype.getName=function(){return this.N};function B(a){this.a=a}var ea=new A("Unknown",0,0,0,0,0,0,new x(!1,!1));
B.prototype.parse=function(){var a;if(-1!=this.a.indexOf("MSIE")||-1!=this.a.indexOf("Trident/")){a=C(this);var b=z(D(this)),c=null,d=E(this.a,/Trident\/([\d\w\.]+)/,1),c=-1!=this.a.indexOf("MSIE")?z(E(this.a,/MSIE ([\d\w\.]+)/,1)):z(E(this.a,/rv:([\d\w\.]+)/,1));""!=d&&z(d);a=new A("MSIE",0,0,0,0,0,0,new x("Windows"==a&&6<=c.c||"Windows Phone"==a&&8<=b.c,!1))}else if(-1!=this.a.indexOf("Opera"))a:if(a=z(E(this.a,/Presto\/([\d\w\.]+)/,1)),z(D(this)),null!==a.c||z(E(this.a,/rv:([^\)]+)/,1)),-1!=this.a.indexOf("Opera Mini/"))a=
z(E(this.a,/Opera Mini\/([\d\.]+)/,1)),a=new A("OperaMini",0,0,0,C(this),0,0,new x(!1,!1));else{if(-1!=this.a.indexOf("Version/")&&(a=z(E(this.a,/Version\/([\d\.]+)/,1)),null!==a.c)){a=new A("Opera",0,0,0,C(this),0,0,new x(10<=a.c,!1));break a}a=z(E(this.a,/Opera[\/ ]([\d\.]+)/,1));a=null!==a.c?new A("Opera",0,0,0,C(this),0,0,new x(10<=a.c,!1)):new A("Opera",0,0,0,C(this),0,0,new x(!1,!1))}else/OPR\/[\d.]+/.test(this.a)?a=F(this):/AppleWeb(K|k)it/.test(this.a)?a=F(this):-1!=this.a.indexOf("Gecko")?
(a="Unknown",b=new y,z(D(this)),b=!1,-1!=this.a.indexOf("Firefox")?(a="Firefox",b=z(E(this.a,/Firefox\/([\d\w\.]+)/,1)),b=3<=b.c&&5<=b.g):-1!=this.a.indexOf("Mozilla")&&(a="Mozilla"),c=z(E(this.a,/rv:([^\)]+)/,1)),b||(b=1<c.c||1==c.c&&9<c.g||1==c.c&&9==c.g&&2<=c.D),a=new A(a,0,0,0,C(this),0,0,new x(b,!1))):a=ea;return a};
function C(a){var b=E(a.a,/(iPod|iPad|iPhone|Android|Windows Phone|BB\d{2}|BlackBerry)/,1);if(""!=b)return/BB\d{2}/.test(b)&&(b="BlackBerry"),b;a=E(a.a,/(Linux|Mac_PowerPC|Macintosh|Windows|CrOS|PlayStation|CrKey)/,1);return""!=a?("Mac_PowerPC"==a?a="Macintosh":"PlayStation"==a&&(a="Linux"),a):"Unknown"}
function D(a){var b=E(a.a,/(OS X|Windows NT|Android) ([^;)]+)/,2);if(b||(b=E(a.a,/Windows Phone( OS)? ([^;)]+)/,2))||(b=E(a.a,/(iPhone )?OS ([\d_]+)/,2)))return b;if(b=E(a.a,/(?:Linux|CrOS|CrKey) ([^;)]+)/,1))for(var b=b.split(/\s/),c=0;c<b.length;c+=1)if(/^[\d\._]+$/.test(b[c]))return b[c];return(a=E(a.a,/(BB\d{2}|BlackBerry).*?Version\/([^\s]*)/,2))?a:"Unknown"}
function F(a){var b=C(a),c=z(D(a)),d=z(E(a.a,/AppleWeb(?:K|k)it\/([\d\.\+]+)/,1)),e="Unknown",f=new y,f="Unknown",g=!1;/OPR\/[\d.]+/.test(a.a)?e="Opera":-1!=a.a.indexOf("Chrome")||-1!=a.a.indexOf("CrMo")||-1!=a.a.indexOf("CriOS")?e="Chrome":/Silk\/\d/.test(a.a)?e="Silk":"BlackBerry"==b||"Android"==b?e="BuiltinBrowser":-1!=a.a.indexOf("PhantomJS")?e="PhantomJS":-1!=a.a.indexOf("Safari")?e="Safari":-1!=a.a.indexOf("AdobeAIR")?e="AdobeAIR":-1!=a.a.indexOf("PlayStation")&&(e="BuiltinBrowser");"BuiltinBrowser"==
e?f="Unknown":"Silk"==e?f=E(a.a,/Silk\/([\d\._]+)/,1):"Chrome"==e?f=E(a.a,/(Chrome|CrMo|CriOS)\/([\d\.]+)/,2):-1!=a.a.indexOf("Version/")?f=E(a.a,/Version\/([\d\.\w]+)/,1):"AdobeAIR"==e?f=E(a.a,/AdobeAIR\/([\d\.]+)/,1):"Opera"==e?f=E(a.a,/OPR\/([\d.]+)/,1):"PhantomJS"==e&&(f=E(a.a,/PhantomJS\/([\d.]+)/,1));f=z(f);g="AdobeAIR"==e?2<f.c||2==f.c&&5<=f.g:"BlackBerry"==b?10<=c.c:"Android"==b?2<c.c||2==c.c&&1<c.g:526<=d.c||525<=d.c&&13<=d.g;return new A(e,0,0,0,0,0,0,new x(g,536>d.c||536==d.c&&11>d.g))}
function E(a,b,c){return(a=a.match(b))&&a[c]?a[c]:""};function G(a){this.ma=a||"-"}G.prototype.e=function(a){for(var b=[],c=0;c<arguments.length;c++)b.push(arguments[c].replace(/[\W_]+/g,"").toLowerCase());return b.join(this.ma)};function H(a,b){this.N=a;this.Z=4;this.O="n";var c=(b||"n4").match(/^([nio])([1-9])$/i);c&&(this.O=c[1],this.Z=parseInt(c[2],10))}H.prototype.getName=function(){return this.N};function I(a){return a.O+a.Z}function ga(a){var b=4,c="n",d=null;a&&((d=a.match(/(normal|oblique|italic)/i))&&d[1]&&(c=d[1].substr(0,1).toLowerCase()),(d=a.match(/([1-9]00|normal|bold)/i))&&d[1]&&(/bold/i.test(d[1])?b=7:/[1-9]00/.test(d[1])&&(b=parseInt(d[1].substr(0,1),10))));return c+b};function ha(a,b){this.d=a;this.q=a.w.document.documentElement;this.Q=b;this.j="wf";this.h=new G("-");this.ha=!1!==b.events;this.F=!1!==b.classes}function J(a){if(a.F){var b=t(a.q,a.h.e(a.j,"active")),c=[],d=[a.h.e(a.j,"loading")];b||c.push(a.h.e(a.j,"inactive"));s(a.q,c,d)}K(a,"inactive")}function K(a,b,c){if(a.ha&&a.Q[b])if(c)a.Q[b](c.getName(),I(c));else a.Q[b]()};function ia(){this.C={}};function L(a,b){this.d=a;this.I=b;this.o=this.d.createElement("span",{"aria-hidden":"true"},this.I)}
function M(a,b){var c=a.o,d;d=[];for(var e=b.N.split(/,\s*/),f=0;f<e.length;f++){var g=e[f].replace(/['"]/g,"");-1==g.indexOf(" ")?d.push(g):d.push("'"+g+"'")}d=d.join(",");e="normal";"o"===b.O?e="oblique":"i"===b.O&&(e="italic");c.style.cssText="display:block;position:absolute;top:-9999px;left:-9999px;font-size:300px;width:auto;height:auto;line-height:normal;margin:0;padding:0;font-variant:normal;white-space:nowrap;font-family:"+d+";"+("font-style:"+e+";font-weight:"+(b.Z+"00")+";")}
function N(a){r(a.d,"body",a.o)}L.prototype.remove=function(){var a=this.o;a.parentNode&&a.parentNode.removeChild(a)};function O(a,b,c,d,e,f,g,h){this.$=a;this.ka=b;this.d=c;this.m=d;this.k=e;this.I=h||"BESbswy";this.v={};this.X=f||3E3;this.ca=g||null;this.H=this.u=this.t=null;this.t=new L(this.d,this.I);this.u=new L(this.d,this.I);this.H=new L(this.d,this.I);M(this.t,new H("serif",I(this.m)));M(this.u,new H("sans-serif",I(this.m)));M(this.H,new H("monospace",I(this.m)));N(this.t);N(this.u);N(this.H);this.v.serif=this.t.o.offsetWidth;this.v["sans-serif"]=this.u.o.offsetWidth;this.v.monospace=this.H.o.offsetWidth}
var P={sa:"serif",ra:"sans-serif",qa:"monospace"};O.prototype.start=function(){this.oa=n();M(this.t,new H(this.m.getName()+",serif",I(this.m)));M(this.u,new H(this.m.getName()+",sans-serif",I(this.m)));Q(this)};function R(a,b,c){for(var d in P)if(P.hasOwnProperty(d)&&b===a.v[P[d]]&&c===a.v[P[d]])return!0;return!1}
function Q(a){var b=a.t.o.offsetWidth,c=a.u.o.offsetWidth;b===a.v.serif&&c===a.v["sans-serif"]||a.k.ga&&R(a,b,c)?n()-a.oa>=a.X?a.k.ga&&R(a,b,c)&&(null===a.ca||a.ca.hasOwnProperty(a.m.getName()))?S(a,a.$):S(a,a.ka):ja(a):S(a,a.$)}function ja(a){setTimeout(k(function(){Q(this)},a),50)}function S(a,b){a.t.remove();a.u.remove();a.H.remove();b(a.m)};function T(a,b,c,d){this.d=b;this.A=c;this.S=0;this.ea=this.ba=!1;this.X=d;this.k=a.k}function ka(a,b,c,d,e){c=c||{};if(0===b.length&&e)J(a.A);else for(a.S+=b.length,e&&(a.ba=e),e=0;e<b.length;e++){var f=b[e],g=c[f.getName()],h=a.A,m=f;h.F&&s(h.q,[h.h.e(h.j,m.getName(),I(m).toString(),"loading")]);K(h,"fontloading",m);h=null;h=new O(k(a.ia,a),k(a.ja,a),a.d,f,a.k,a.X,d,g);h.start()}}
T.prototype.ia=function(a){var b=this.A;b.F&&s(b.q,[b.h.e(b.j,a.getName(),I(a).toString(),"active")],[b.h.e(b.j,a.getName(),I(a).toString(),"loading"),b.h.e(b.j,a.getName(),I(a).toString(),"inactive")]);K(b,"fontactive",a);this.ea=!0;la(this)};
T.prototype.ja=function(a){var b=this.A;if(b.F){var c=t(b.q,b.h.e(b.j,a.getName(),I(a).toString(),"active")),d=[],e=[b.h.e(b.j,a.getName(),I(a).toString(),"loading")];c||d.push(b.h.e(b.j,a.getName(),I(a).toString(),"inactive"));s(b.q,d,e)}K(b,"fontinactive",a);la(this)};function la(a){0==--a.S&&a.ba&&(a.ea?(a=a.A,a.F&&s(a.q,[a.h.e(a.j,"active")],[a.h.e(a.j,"loading"),a.h.e(a.j,"inactive")]),K(a,"active")):J(a.A))};function U(a){this.K=a;this.B=new ia;this.pa=new B(a.navigator.userAgent);this.a=this.pa.parse();this.U=this.V=0;this.R=this.T=!0}
U.prototype.load=function(a){this.d=new q(this.K,a.context||this.K);this.T=!1!==a.events;this.R=!1!==a.classes;var b=new ha(this.d,a),c=[],d=a.timeout;b.F&&s(b.q,[b.h.e(b.j,"loading")]);K(b,"loading");var c=this.B,e=this.d,f=[],g;for(g in a)if(a.hasOwnProperty(g)){var h=c.C[g];h&&f.push(h(a[g],e))}c=f;this.U=this.V=c.length;a=new T(this.a,this.d,b,d);d=0;for(g=c.length;d<g;d++)e=c[d],e.L(this.a,k(this.la,this,e,b,a))};
U.prototype.la=function(a,b,c,d){var e=this;d?a.load(function(a,b,d){ma(e,c,a,b,d)}):(a=0==--this.V,this.U--,a&&0==this.U?J(b):(this.R||this.T)&&ka(c,[],{},null,a))};function ma(a,b,c,d,e){var f=0==--a.V;(a.R||a.T)&&setTimeout(function(){ka(b,c,d||null,e||null,f)},0)};function na(a,b,c){this.P=a?a:b+oa;this.s=[];this.W=[];this.fa=c||""}var oa="//fonts.googleapis.com/css";na.prototype.e=function(){if(0==this.s.length)throw Error("No fonts to load!");if(-1!=this.P.indexOf("kit="))return this.P;for(var a=this.s.length,b=[],c=0;c<a;c++)b.push(this.s[c].replace(/ /g,"+"));a=this.P+"?family="+b.join("%7C");0<this.W.length&&(a+="&subset="+this.W.join(","));0<this.fa.length&&(a+="&text="+encodeURIComponent(this.fa));return a};function pa(a){this.s=a;this.da=[];this.M={}}
var qa={latin:"BESbswy",cyrillic:"&#1081;&#1103;&#1046;",greek:"&#945;&#946;&#931;",khmer:"&#x1780;&#x1781;&#x1782;",Hanuman:"&#x1780;&#x1781;&#x1782;"},ra={thin:"1",extralight:"2","extra-light":"2",ultralight:"2","ultra-light":"2",light:"3",regular:"4",book:"4",medium:"5","semi-bold":"6",semibold:"6","demi-bold":"6",demibold:"6",bold:"7","extra-bold":"8",extrabold:"8","ultra-bold":"8",ultrabold:"8",black:"9",heavy:"9",l:"3",r:"4",b:"7"},sa={i:"i",italic:"i",n:"n",normal:"n"},ta=/^(thin|(?:(?:extra|ultra)-?)?light|regular|book|medium|(?:(?:semi|demi|extra|ultra)-?)?bold|black|heavy|l|r|b|[1-9]00)?(n|i|normal|italic)?$/;
pa.prototype.parse=function(){for(var a=this.s.length,b=0;b<a;b++){var c=this.s[b].split(":"),d=c[0].replace(/\+/g," "),e=["n4"];if(2<=c.length){var f;var g=c[1];f=[];if(g)for(var g=g.split(","),h=g.length,m=0;m<h;m++){var l;l=g[m];if(l.match(/^[\w-]+$/)){l=ta.exec(l.toLowerCase());var p=void 0;if(null==l)p="";else{p=void 0;p=l[1];if(null==p||""==p)p="4";else var fa=ra[p],p=fa?fa:isNaN(p)?"4":p.substr(0,1);l=l[2];p=[null==l||""==l?"n":sa[l],p].join("")}l=p}else l="";l&&f.push(l)}0<f.length&&(e=f);
3==c.length&&(c=c[2],f=[],c=c?c.split(","):f,0<c.length&&(c=qa[c[0]])&&(this.M[d]=c))}this.M[d]||(c=qa[d])&&(this.M[d]=c);for(c=0;c<e.length;c+=1)this.da.push(new H(d,e[c]))}};function V(a,b){this.a=(new B(navigator.userAgent)).parse();this.d=a;this.f=b}var ua={Arimo:!0,Cousine:!0,Tinos:!0};V.prototype.L=function(a,b){b(a.k.Y)};V.prototype.load=function(a){var b=this.d;"MSIE"==this.a.getName()&&1!=this.f.blocking?ca(b,k(this.aa,this,a)):this.aa(a)};
V.prototype.aa=function(a){for(var b=this.d,c=new na(this.f.api,u(b),this.f.text),d=this.f.families,e=d.length,f=0;f<e;f++){var g=d[f].split(":");3==g.length&&c.W.push(g.pop());var h="";2==g.length&&""!=g[1]&&(h=":");c.s.push(g.join(h))}d=new pa(d);d.parse();v(b,c.e());a(d.da,d.M,ua)};function W(a,b){this.d=a;this.f=b;this.p=[]}W.prototype.J=function(a){var b=this.d;return u(this.d)+(this.f.api||"//f.fontdeck.com/s/css/js/")+(b.w.location.hostname||b.K.location.hostname)+"/"+a+".js"};
W.prototype.L=function(a,b){var c=this.f.id,d=this.d.w,e=this;c?(d.__webfontfontdeckmodule__||(d.__webfontfontdeckmodule__={}),d.__webfontfontdeckmodule__[c]=function(a,c){for(var d=0,m=c.fonts.length;d<m;++d){var l=c.fonts[d];e.p.push(new H(l.name,ga("font-weight:"+l.weight+";font-style:"+l.style)))}b(a)},w(this.d,this.J(c),function(a){a&&b(!1)})):b(!1)};W.prototype.load=function(a){a(this.p)};function X(a,b){this.d=a;this.f=b;this.p=[]}X.prototype.J=function(a){var b=u(this.d);return(this.f.api||b+"//use.typekit.net")+"/"+a+".js"};X.prototype.L=function(a,b){var c=this.f.id,d=this.d.w,e=this;c?w(this.d,this.J(c),function(a){if(a)b(!1);else{if(d.Typekit&&d.Typekit.config&&d.Typekit.config.fn){a=d.Typekit.config.fn;for(var c=0;c<a.length;c+=2)for(var h=a[c],m=a[c+1],l=0;l<m.length;l++)e.p.push(new H(h,m[l]));try{d.Typekit.load({events:!1,classes:!1})}catch(p){}}b(!0)}},2E3):b(!1)};
X.prototype.load=function(a){a(this.p)};function Y(a,b){this.d=a;this.f=b;this.p=[]}Y.prototype.L=function(a,b){var c=this,d=c.f.projectId,e=c.f.version;if(d){var f=c.d.w;w(this.d,c.J(d,e),function(e){if(e)b(!1);else{if(f["__mti_fntLst"+d]&&(e=f["__mti_fntLst"+d]()))for(var h=0;h<e.length;h++)c.p.push(new H(e[h].fontfamily));b(a.k.Y)}}).id="__MonotypeAPIScript__"+d}else b(!1)};Y.prototype.J=function(a,b){var c=u(this.d),d=(this.f.api||"fast.fonts.net/jsapi").replace(/^.*http(s?):(\/\/)?/,"");return c+"//"+d+"/"+a+".js"+(b?"?v="+b:"")};
Y.prototype.load=function(a){a(this.p)};function Z(a,b){this.d=a;this.f=b}Z.prototype.load=function(a){var b,c,d=this.f.urls||[],e=this.f.families||[],f=this.f.testStrings||{};b=0;for(c=d.length;b<c;b++)v(this.d,d[b]);d=[];b=0;for(c=e.length;b<c;b++){var g=e[b].split(":");if(g[1])for(var h=g[1].split(","),m=0;m<h.length;m+=1)d.push(new H(g[0],h[m]));else d.push(new H(g[0]))}a(d,f)};Z.prototype.L=function(a,b){return b(a.k.Y)};var $=new U(this);$.B.C.custom=function(a,b){return new Z(b,a)};$.B.C.fontdeck=function(a,b){return new W(b,a)};$.B.C.monotype=function(a,b){return new Y(b,a)};$.B.C.typekit=function(a,b){return new X(b,a)};$.B.C.google=function(a,b){return new V(b,a)};this.WebFont||(this.WebFont={},this.WebFont.load=k($.load,$),this.WebFontConfig&&$.load(this.WebFontConfig));})(this,document);
@@ -0,0 +1,33 @@
/*
* Copyright 2016 Small Batch, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
/* Web Font Loader v1.6.26 - (c) Adobe Systems, Google. License: Apache 2.0 */(function(){function aa(a,b,c){return a.call.apply(a.bind,arguments)}function ba(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}}function p(a,b,c){p=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?aa:ba;return p.apply(null,arguments)}var q=Date.now||function(){return+new Date};function ca(a,b){this.a=a;this.m=b||a;this.c=this.m.document}var da=!!window.FontFace;function t(a,b,c,d){b=a.c.createElement(b);if(c)for(var e in c)c.hasOwnProperty(e)&&("style"==e?b.style.cssText=c[e]:b.setAttribute(e,c[e]));d&&b.appendChild(a.c.createTextNode(d));return b}function u(a,b,c){a=a.c.getElementsByTagName(b)[0];a||(a=document.documentElement);a.insertBefore(c,a.lastChild)}function v(a){a.parentNode&&a.parentNode.removeChild(a)}
function w(a,b,c){b=b||[];c=c||[];for(var d=a.className.split(/\s+/),e=0;e<b.length;e+=1){for(var f=!1,g=0;g<d.length;g+=1)if(b[e]===d[g]){f=!0;break}f||d.push(b[e])}b=[];for(e=0;e<d.length;e+=1){f=!1;for(g=0;g<c.length;g+=1)if(d[e]===c[g]){f=!0;break}f||b.push(d[e])}a.className=b.join(" ").replace(/\s+/g," ").replace(/^\s+|\s+$/,"")}function y(a,b){for(var c=a.className.split(/\s+/),d=0,e=c.length;d<e;d++)if(c[d]==b)return!0;return!1}
function z(a){if("string"===typeof a.f)return a.f;var b=a.m.location.protocol;"about:"==b&&(b=a.a.location.protocol);return"https:"==b?"https:":"http:"}function ea(a){return a.m.location.hostname||a.a.location.hostname}
function A(a,b,c){function d(){k&&e&&f&&(k(g),k=null)}b=t(a,"link",{rel:"stylesheet",href:b,media:"all"});var e=!1,f=!0,g=null,k=c||null;da?(b.onload=function(){e=!0;d()},b.onerror=function(){e=!0;g=Error("Stylesheet failed to load");d()}):setTimeout(function(){e=!0;d()},0);u(a,"head",b)}
function B(a,b,c,d){var e=a.c.getElementsByTagName("head")[0];if(e){var f=t(a,"script",{src:b}),g=!1;f.onload=f.onreadystatechange=function(){g||this.readyState&&"loaded"!=this.readyState&&"complete"!=this.readyState||(g=!0,c&&c(null),f.onload=f.onreadystatechange=null,"HEAD"==f.parentNode.tagName&&e.removeChild(f))};e.appendChild(f);setTimeout(function(){g||(g=!0,c&&c(Error("Script load timeout")))},d||5E3);return f}return null};function C(){this.a=0;this.c=null}function D(a){a.a++;return function(){a.a--;E(a)}}function F(a,b){a.c=b;E(a)}function E(a){0==a.a&&a.c&&(a.c(),a.c=null)};function G(a){this.a=a||"-"}G.prototype.c=function(a){for(var b=[],c=0;c<arguments.length;c++)b.push(arguments[c].replace(/[\W_]+/g,"").toLowerCase());return b.join(this.a)};function H(a,b){this.c=a;this.f=4;this.a="n";var c=(b||"n4").match(/^([nio])([1-9])$/i);c&&(this.a=c[1],this.f=parseInt(c[2],10))}function fa(a){return I(a)+" "+(a.f+"00")+" 300px "+J(a.c)}function J(a){var b=[];a=a.split(/,\s*/);for(var c=0;c<a.length;c++){var d=a[c].replace(/['"]/g,"");-1!=d.indexOf(" ")||/^\d/.test(d)?b.push("'"+d+"'"):b.push(d)}return b.join(",")}function K(a){return a.a+a.f}function I(a){var b="normal";"o"===a.a?b="oblique":"i"===a.a&&(b="italic");return b}
function ga(a){var b=4,c="n",d=null;a&&((d=a.match(/(normal|oblique|italic)/i))&&d[1]&&(c=d[1].substr(0,1).toLowerCase()),(d=a.match(/([1-9]00|normal|bold)/i))&&d[1]&&(/bold/i.test(d[1])?b=7:/[1-9]00/.test(d[1])&&(b=parseInt(d[1].substr(0,1),10))));return c+b};function ha(a,b){this.c=a;this.f=a.m.document.documentElement;this.h=b;this.a=new G("-");this.j=!1!==b.events;this.g=!1!==b.classes}function ia(a){a.g&&w(a.f,[a.a.c("wf","loading")]);L(a,"loading")}function M(a){if(a.g){var b=y(a.f,a.a.c("wf","active")),c=[],d=[a.a.c("wf","loading")];b||c.push(a.a.c("wf","inactive"));w(a.f,c,d)}L(a,"inactive")}function L(a,b,c){if(a.j&&a.h[b])if(c)a.h[b](c.c,K(c));else a.h[b]()};function ja(){this.c={}}function ka(a,b,c){var d=[],e;for(e in b)if(b.hasOwnProperty(e)){var f=a.c[e];f&&d.push(f(b[e],c))}return d};function N(a,b){this.c=a;this.f=b;this.a=t(this.c,"span",{"aria-hidden":"true"},this.f)}function O(a){u(a.c,"body",a.a)}function P(a){return"display:block;position:absolute;top:-9999px;left:-9999px;font-size:300px;width:auto;height:auto;line-height:normal;margin:0;padding:0;font-variant:normal;white-space:nowrap;font-family:"+J(a.c)+";"+("font-style:"+I(a)+";font-weight:"+(a.f+"00")+";")};function Q(a,b,c,d,e,f){this.g=a;this.j=b;this.a=d;this.c=c;this.f=e||3E3;this.h=f||void 0}Q.prototype.start=function(){var a=this.c.m.document,b=this,c=q(),d=new Promise(function(d,e){function k(){q()-c>=b.f?e():a.fonts.load(fa(b.a),b.h).then(function(a){1<=a.length?d():setTimeout(k,25)},function(){e()})}k()}),e=new Promise(function(a,d){setTimeout(d,b.f)});Promise.race([e,d]).then(function(){b.g(b.a)},function(){b.j(b.a)})};function R(a,b,c,d,e,f,g){this.v=a;this.B=b;this.c=c;this.a=d;this.s=g||"BESbswy";this.f={};this.w=e||3E3;this.u=f||null;this.o=this.j=this.h=this.g=null;this.g=new N(this.c,this.s);this.h=new N(this.c,this.s);this.j=new N(this.c,this.s);this.o=new N(this.c,this.s);a=new H(this.a.c+",serif",K(this.a));a=P(a);this.g.a.style.cssText=a;a=new H(this.a.c+",sans-serif",K(this.a));a=P(a);this.h.a.style.cssText=a;a=new H("serif",K(this.a));a=P(a);this.j.a.style.cssText=a;a=new H("sans-serif",K(this.a));a=
P(a);this.o.a.style.cssText=a;O(this.g);O(this.h);O(this.j);O(this.o)}var S={D:"serif",C:"sans-serif"},T=null;function U(){if(null===T){var a=/AppleWebKit\/([0-9]+)(?:\.([0-9]+))/.exec(window.navigator.userAgent);T=!!a&&(536>parseInt(a[1],10)||536===parseInt(a[1],10)&&11>=parseInt(a[2],10))}return T}R.prototype.start=function(){this.f.serif=this.j.a.offsetWidth;this.f["sans-serif"]=this.o.a.offsetWidth;this.A=q();la(this)};
function ma(a,b,c){for(var d in S)if(S.hasOwnProperty(d)&&b===a.f[S[d]]&&c===a.f[S[d]])return!0;return!1}function la(a){var b=a.g.a.offsetWidth,c=a.h.a.offsetWidth,d;(d=b===a.f.serif&&c===a.f["sans-serif"])||(d=U()&&ma(a,b,c));d?q()-a.A>=a.w?U()&&ma(a,b,c)&&(null===a.u||a.u.hasOwnProperty(a.a.c))?V(a,a.v):V(a,a.B):na(a):V(a,a.v)}function na(a){setTimeout(p(function(){la(this)},a),50)}function V(a,b){setTimeout(p(function(){v(this.g.a);v(this.h.a);v(this.j.a);v(this.o.a);b(this.a)},a),0)};function W(a,b,c){this.c=a;this.a=b;this.f=0;this.o=this.j=!1;this.s=c}var X=null;W.prototype.g=function(a){var b=this.a;b.g&&w(b.f,[b.a.c("wf",a.c,K(a).toString(),"active")],[b.a.c("wf",a.c,K(a).toString(),"loading"),b.a.c("wf",a.c,K(a).toString(),"inactive")]);L(b,"fontactive",a);this.o=!0;oa(this)};
W.prototype.h=function(a){var b=this.a;if(b.g){var c=y(b.f,b.a.c("wf",a.c,K(a).toString(),"active")),d=[],e=[b.a.c("wf",a.c,K(a).toString(),"loading")];c||d.push(b.a.c("wf",a.c,K(a).toString(),"inactive"));w(b.f,d,e)}L(b,"fontinactive",a);oa(this)};function oa(a){0==--a.f&&a.j&&(a.o?(a=a.a,a.g&&w(a.f,[a.a.c("wf","active")],[a.a.c("wf","loading"),a.a.c("wf","inactive")]),L(a,"active")):M(a.a))};function pa(a){this.j=a;this.a=new ja;this.h=0;this.f=this.g=!0}pa.prototype.load=function(a){this.c=new ca(this.j,a.context||this.j);this.g=!1!==a.events;this.f=!1!==a.classes;qa(this,new ha(this.c,a),a)};
function ra(a,b,c,d,e){var f=0==--a.h;(a.f||a.g)&&setTimeout(function(){var a=e||null,k=d||null||{};if(0===c.length&&f)M(b.a);else{b.f+=c.length;f&&(b.j=f);var h,m=[];for(h=0;h<c.length;h++){var l=c[h],n=k[l.c],r=b.a,x=l;r.g&&w(r.f,[r.a.c("wf",x.c,K(x).toString(),"loading")]);L(r,"fontloading",x);r=null;null===X&&(X=window.FontFace?(x=/Gecko.*Firefox\/(\d+)/.exec(window.navigator.userAgent))?42<parseInt(x[1],10):!0:!1);X?r=new Q(p(b.g,b),p(b.h,b),b.c,l,b.s,n):r=new R(p(b.g,b),p(b.h,b),b.c,l,b.s,a,
n);m.push(r)}for(h=0;h<m.length;h++)m[h].start()}},0)}function qa(a,b,c){var d=[],e=c.timeout;ia(b);var d=ka(a.a,c,a.c),f=new W(a.c,b,e);a.h=d.length;b=0;for(c=d.length;b<c;b++)d[b].load(function(b,d,c){ra(a,f,b,d,c)})};function sa(a,b){this.c=a;this.a=b}function ta(a,b,c){var d=z(a.c);a=(a.a.api||"fast.fonts.net/jsapi").replace(/^.*http(s?):(\/\/)?/,"");return d+"//"+a+"/"+b+".js"+(c?"?v="+c:"")}
sa.prototype.load=function(a){function b(){if(f["__mti_fntLst"+d]){var c=f["__mti_fntLst"+d](),e=[],h;if(c)for(var m=0;m<c.length;m++){var l=c[m].fontfamily;void 0!=c[m].fontStyle&&void 0!=c[m].fontWeight?(h=c[m].fontStyle+c[m].fontWeight,e.push(new H(l,h))):e.push(new H(l))}a(e)}else setTimeout(function(){b()},50)}var c=this,d=c.a.projectId,e=c.a.version;if(d){var f=c.c.m;B(this.c,ta(c,d,e),function(e){e?a([]):(f["__MonotypeConfiguration__"+d]=function(){return c.a},b())}).id="__MonotypeAPIScript__"+
d}else a([])};function ua(a,b){this.c=a;this.a=b}ua.prototype.load=function(a){var b,c,d=this.a.urls||[],e=this.a.families||[],f=this.a.testStrings||{},g=new C;b=0;for(c=d.length;b<c;b++)A(this.c,d[b],D(g));var k=[];b=0;for(c=e.length;b<c;b++)if(d=e[b].split(":"),d[1])for(var h=d[1].split(","),m=0;m<h.length;m+=1)k.push(new H(d[0],h[m]));else k.push(new H(d[0]));F(g,function(){a(k,f)})};function va(a,b,c){a?this.c=a:this.c=b+wa;this.a=[];this.f=[];this.g=c||""}var wa="//fonts.googleapis.com/css";function xa(a,b){for(var c=b.length,d=0;d<c;d++){var e=b[d].split(":");3==e.length&&a.f.push(e.pop());var f="";2==e.length&&""!=e[1]&&(f=":");a.a.push(e.join(f))}}
function ya(a){if(0==a.a.length)throw Error("No fonts to load!");if(-1!=a.c.indexOf("kit="))return a.c;for(var b=a.a.length,c=[],d=0;d<b;d++)c.push(a.a[d].replace(/ /g,"+"));b=a.c+"?family="+c.join("%7C");0<a.f.length&&(b+="&subset="+a.f.join(","));0<a.g.length&&(b+="&text="+encodeURIComponent(a.g));return b};function za(a){this.f=a;this.a=[];this.c={}}
var Aa={latin:"BESbswy","latin-ext":"\u00e7\u00f6\u00fc\u011f\u015f",cyrillic:"\u0439\u044f\u0416",greek:"\u03b1\u03b2\u03a3",khmer:"\u1780\u1781\u1782",Hanuman:"\u1780\u1781\u1782"},Ba={thin:"1",extralight:"2","extra-light":"2",ultralight:"2","ultra-light":"2",light:"3",regular:"4",book:"4",medium:"5","semi-bold":"6",semibold:"6","demi-bold":"6",demibold:"6",bold:"7","extra-bold":"8",extrabold:"8","ultra-bold":"8",ultrabold:"8",black:"9",heavy:"9",l:"3",r:"4",b:"7"},Ca={i:"i",italic:"i",n:"n",normal:"n"},
Da=/^(thin|(?:(?:extra|ultra)-?)?light|regular|book|medium|(?:(?:semi|demi|extra|ultra)-?)?bold|black|heavy|l|r|b|[1-9]00)?(n|i|normal|italic)?$/;
function Ea(a){for(var b=a.f.length,c=0;c<b;c++){var d=a.f[c].split(":"),e=d[0].replace(/\+/g," "),f=["n4"];if(2<=d.length){var g;var k=d[1];g=[];if(k)for(var k=k.split(","),h=k.length,m=0;m<h;m++){var l;l=k[m];if(l.match(/^[\w-]+$/)){var n=Da.exec(l.toLowerCase());if(null==n)l="";else{l=n[2];l=null==l||""==l?"n":Ca[l];n=n[1];if(null==n||""==n)n="4";else var r=Ba[n],n=r?r:isNaN(n)?"4":n.substr(0,1);l=[l,n].join("")}}else l="";l&&g.push(l)}0<g.length&&(f=g);3==d.length&&(d=d[2],g=[],d=d?d.split(","):
g,0<d.length&&(d=Aa[d[0]])&&(a.c[e]=d))}a.c[e]||(d=Aa[e])&&(a.c[e]=d);for(d=0;d<f.length;d+=1)a.a.push(new H(e,f[d]))}};function Fa(a,b){this.c=a;this.a=b}var Ga={Arimo:!0,Cousine:!0,Tinos:!0};Fa.prototype.load=function(a){var b=new C,c=this.c,d=new va(this.a.api,z(c),this.a.text),e=this.a.families;xa(d,e);var f=new za(e);Ea(f);A(c,ya(d),D(b));F(b,function(){a(f.a,f.c,Ga)})};function Ha(a,b){this.c=a;this.a=b}Ha.prototype.load=function(a){var b=this.a.id,c=this.c.m;b?B(this.c,(this.a.api||"https://use.typekit.net")+"/"+b+".js",function(b){if(b)a([]);else if(c.Typekit&&c.Typekit.config&&c.Typekit.config.fn){b=c.Typekit.config.fn;for(var e=[],f=0;f<b.length;f+=2)for(var g=b[f],k=b[f+1],h=0;h<k.length;h++)e.push(new H(g,k[h]));try{c.Typekit.load({events:!1,classes:!1,async:!0})}catch(m){}a(e)}},2E3):a([])};function Ia(a,b){this.c=a;this.f=b;this.a=[]}Ia.prototype.load=function(a){var b=this.f.id,c=this.c.m,d=this;b?(c.__webfontfontdeckmodule__||(c.__webfontfontdeckmodule__={}),c.__webfontfontdeckmodule__[b]=function(b,c){for(var g=0,k=c.fonts.length;g<k;++g){var h=c.fonts[g];d.a.push(new H(h.name,ga("font-weight:"+h.weight+";font-style:"+h.style)))}a(d.a)},B(this.c,z(this.c)+(this.f.api||"//f.fontdeck.com/s/css/js/")+ea(this.c)+"/"+b+".js",function(b){b&&a([])})):a([])};var Y=new pa(window);Y.a.c.custom=function(a,b){return new ua(b,a)};Y.a.c.fontdeck=function(a,b){return new Ia(b,a)};Y.a.c.monotype=function(a,b){return new sa(b,a)};Y.a.c.typekit=function(a,b){return new Ha(b,a)};Y.a.c.google=function(a,b){return new Fa(b,a)};var Z={load:p(Y.load,Y)};"function"===typeof define&&define.amd?define(function(){return Z}):"undefined"!==typeof module&&module.exports?module.exports=Z:(window.WebFont=Z,window.WebFontConfig&&Y.load(window.WebFontConfig));}());
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+2
View File
@@ -0,0 +1,2 @@
// Null JS
console.log("Null JS");
@@ -0,0 +1,39 @@
"use strict";
var scripts = document.getElementsByTagName("script")
, scriptUrl = scripts[scripts.length - 1].src
, root = scriptUrl.split("master-loader.js")[0]
, loaders = {
unity: "unity.js",
"unity-beta": "unity-beta.js",
"unity-2020": "unity-2020.js"
};
if (0 <= window.location.href.indexOf("pokiForceLocalLoader") && (loaders.unity = "/unity/dist/unity.js",
loaders["unity-beta"] = "/unity-beta/dist/unity-beta.js",
loaders["unity-2020"] = "/unity-2020/dist/unity-2020.js",
root = "/loaders"),
!window.config)
throw Error("window.config not found");
var loader = loaders[window.config.loader];
if (!loader)
throw Error('Loader "' + window.config.loader + '" not found');
if (!window.config.unityWebglLoaderUrl) {
var versionSplit = window.config.unityVersion ? window.config.unityVersion.split(".") : []
, year = versionSplit[0]
, minor = versionSplit[1];
switch (year) {
case "2019":
window.config.unityWebglLoaderUrl = 1 === minor ? "patch/js/UnityLoader.2019.1.js" : "patch/js/UnityLoader.2019.2.js";
break;
default:
window.config.unityWebglLoaderUrl = "patch/js/UnityLoader.js"
}
}
var sdkScript = document.createElement("script");
sdkScript.src = "patch/js/poki-sdk.js",
sdkScript.onload = function() {
var i = document.createElement("script");
i.src = root + loader,
document.body.appendChild(i)
}
,
document.body.appendChild(sdkScript);
+176
View File
@@ -0,0 +1,176 @@
document.xURL= "https://poki.com/";
if (typeof consoleLog== 'undefined') {
consoleLog= console.log;
}
var originalEval= eval;
evalx= function() {
// consoleLog("--fx--eval--", arguments);
// debugger;
// return;
arguments[0]= arguments[0].replace("aHR0cHM6Ly9wb2tpLmNvbS9zaXRlbG9jaw==", "I3ViZzIzNQ==");
arguments[0]= arguments[0].replace("'location'", "'xlocation'");
return originalEval.apply(this, arguments);
}
navigator.sendBeacon= function() {
consoleLog("--fx--navigator.sendBeacon--", arguments);
}
WebSocket= function() {
}
xlocation= new Proxy(location, {
get: function(target, property, receiver) {
consoleLog("--fx--xlocation--get--property--", property);
let targetObj = target[property];
if (typeof targetObj == "function") {
return (...args) => target[property].apply(target, args);
} else {
if (property== "host" || property=="hostname") {
return "localhost";
}
if (property== "href") {
return "https://localhost/";
}
if (property== "origin") {
return "https://localhost/";
}
return targetObj;
}
},
set: function(target, property, receiver) {
consoleLog("--fx--xlocation--set--property--", property, receiver);
return true;
}
});
xwindow = new Proxy(window, {
get: function(target, property, receiver) {
// consoleLog("--fx--xWindow--property--", property, receiver);
if (typeof target[property] == "function") {
return (...args) => target[property].apply(target,args);
} else {
if (property== "location") {
return target["xlocation"];
}
// consoleLog("--fx--xwindow--targetObj--", targetObj);
return target[property];
}
}
});
// consoleLog(xwindow.location.href);
// consoleLog("window.xlocation.href", window.xlocation.href);
PokiSDK= function() {
// ***** UTILS *****
function loadJS(FILE_URL, callback) {
let scriptEle = document.createElement("script");
scriptEle.setAttribute("src", FILE_URL);
scriptEle.setAttribute("type", "text/javascript");
scriptEle.setAttribute("async", true);
document.body.appendChild(scriptEle);
// Success
scriptEle.addEventListener("load", () => {
consoleLog("--fx--PokiSDK--loadJS Done--");
callback(true);
});
// Error
scriptEle.addEventListener("error", () => {
consoleLog("--fx--PokiSDK--loadJS Error--");
callback(false);
});
}
this.getURLParam= function(name) {
return "";
}
// ***** INIT *****
this.init= function() {
return new Promise((resolve, reject)=> {
resolve("InitDone");
});
}
this.setDebug= function(debug) {
consoleLog("--fx--PokiSDK--setDebug--", debug);
}
this.setDebugTouchOverlayController= function (debug) {
consoleLog("--fx--PokiSDK--setDebugTouchOverlayController--", debug);
}
this.isAdBlocked= function() {
consoleLog("--fx--PokiSDK--isAdBlocked--");
return false;
}
this.happyTime= function(scale) {
consoleLog("--fx--PokiSDK--happyTime--", scale);
}
// ***** LOADING *****
this.gameLoadingStart= function(){
consoleLog("--fx--PokiSDK--gameLoadingStart--");
}
this.gameLoadingProgress= function(progress){
consoleLog("--fx--PokiSDK--gameLoadingProgress--", progress);
}
this.gameLoadingFinished= function(){
consoleLog("--fx--PokiSDK--gameLoadingFinished--");
}
// ***** GAME CONTROL *****
this.gameplayStart= function(){
consoleLog("--fx--PokiSDK--gameplayStart--");
}
this.gameplayStop= function() {
consoleLog("--fx--PokiSDK--gameplayStop--");
}
// ***** ADS CONTROL *****
this.commercialBreak= function(){
consoleLog("--fx--PokiSDK--commercialBreak--");
return new Promise((resolve, reject)=> {
loadJS("https://www.ubg235.com/ads/commercial.js", resolve);
});
}
this.rewardedBreak= function() {
consoleLog("--fx--PokiSDK--rewardedBreak--");
return new Promise((resolve, reject)=> {
loadJS("https://www.ubg235.com/ads/rewarded.js", resolve);
});
}
this.displayAd= function() {
consoleLog("--fx--PokiSDK--displayAd--", arguments);
}
this.destroyAd= function() {
consoleLog("--fx--PokiSDK--destroyAd--", arguments);
}
}
PokiSDK.prototype.initWithVideoHB= function() {
consoleLog("--fx--PokiSDK--initWithVideoHB--");
return new Promise((resolve, reject)=> {
resolve("")
});
}
PokiSDK.prototype.customEvent= function() {
consoleLog("--fx--PokiSDK--customEvent--");
}
PokiSDK= new PokiSDK();
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,63 @@
document.xURL= "https://poki.com/";
if (typeof consoleLog== 'undefined') {
consoleLog= console.log;
}
var originalEval= eval;
evalx= function() {
// consoleLog("--fx--eval--", arguments);
arguments[0]= arguments[0].replace("aHR0cHM6Ly9wb2tpLmNvbS9zaXRlbG9jaw==", "I3ViZzIzNQ==");
arguments[0]= arguments[0].replace("'location'", "'xlocation'");
return originalEval.apply(this, arguments);
}
navigator.sendBeacon= function() {
consoleLog("--fx--navigator.sendBeacon--", arguments);
}
WebSocket= function() {
}
xlocation= new Proxy(location, {
get: function(target, property, receiver) {
consoleLog("--fx--xlocation--get--property--", property);
let targetObj = target[property];
if (typeof targetObj == "function") {
return (...args) => target[property].apply(target, args);
} else {
if (property== "host" || property=="hostname") {
return "localhost";
}
if (property== "href") {
return "https://localhost/";
}
if (property== "origin") {
return "https://localhost/";
}
return targetObj;
}
},
set: function(target, property, receiver) {
consoleLog("--fx--xlocation--set--property--", property, receiver);
return true;
}
});
xwindow = new Proxy(window, {
get: function(target, property, receiver) {
// consoleLog("--fx--xWindow--property--", property, receiver);
if (typeof target[property] == "function") {
return (...args) => target[property].apply(target,args);
} else {
if (property== "location") {
return target["xlocation"];
}
// consoleLog("--fx--xwindow--targetObj--", targetObj);
return target[property];
}
}
});
// consoleLog(xwindow.location.href);
// consoleLog("window.xlocation.href", window.xlocation.href);
@@ -0,0 +1 @@
{"ISO":"US","ccpaApplies":false}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1 @@
{}
@@ -0,0 +1,3 @@
{
"game": "Cloner"
}
@@ -0,0 +1 @@
{}
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

+591 -404
View File
File diff suppressed because it is too large Load Diff
+131 -133
View File
@@ -1,150 +1,144 @@
/*--------------------
Vars
--------------------*/
const deg = a => Math.PI / 180 * a;
const deg = (a) => (Math.PI / 180) * a;
const rand = (v1, v2) => Math.floor(v1 + Math.random() * (v2 - v1));
const opt = {
particles: window.width / 500 ? 250 : 125,
noiseScale: 0.005,
angle: Math.PI / 180 * -90,
h1: rand(0, 360),
h2: rand(0, 360),
s1: rand(20, 90),
s2: rand(20, 90),
l1: rand(30, 80),
l2: rand(30, 80),
strokeWeight: 2,
tail: 82 };
particles: window.width / 500 ? 250 : 125,
noiseScale: 0.005,
angle: (Math.PI / 180) * -90,
h1: rand(0, 360),
h2: rand(0, 360),
s1: rand(20, 90),
s2: rand(20, 90),
l1: rand(30, 80),
l2: rand(30, 80),
strokeWeight: 2,
tail: 82,
};
changeTitleColor();
const Particles = [];
let time = 0;
document.body.addEventListener("click", () => {
if (inGame) {
return;
}
opt.h1 = rand(0, 360);
opt.h2 = rand(0, 360);
opt.s1 = rand(20, 90);
opt.s2 = rand(20, 90);
opt.l1 = rand(30, 80);
opt.l2 = rand(30, 80);
opt.angle += deg(random(60, 60)) * (Math.random() > 0.5 ? 1 : -1);
setTimeout(() => {
changeTitleColor();
}, 120);
document.body.addEventListener('click', () => {
if (inGame) {
return;
}
opt.h1 = rand(0, 360);
opt.h2 = rand(0, 360);
opt.s1 = rand(20, 90);
opt.s2 = rand(20, 90);
opt.l1 = rand(30, 80);
opt.l2 = rand(30, 80);
opt.angle += deg(random(60, 60)) * (Math.random() > 0.5 ? 1 : -1);
setTimeout(() => {
changeTitleColor();
}, 120);
for (let p of Particles) {
p.randomize();
}
for (let p of Particles) {
p.randomize();
}
});
/*--------------------
Particle
--------------------*/
class Particle {
constructor(x, y) {
this.x = x;
this.y = y;
this.lx = x;
this.ly = y;
this.vx = 0;
this.vy = 0;
this.ax = 0;
this.ay = 0;
this.hueSem = Math.random();
this.hue = this.hueSem > 0.5 ? 20 + opt.h1 : 20 + opt.h2;
this.sat = this.hueSem > 0.5 ? opt.s1 : opt.s2;
this.light = this.hueSem > 0.5 ? opt.l1 : opt.l2;
this.maxSpeed = this.hueSem > 0.5 ? 3 : 2;
}
randomize() {
this.hueSem = Math.random();
this.hue = this.hueSem > 0.5 ? 20 + opt.h1 : 20 + opt.h2;
this.sat = this.hueSem > 0.5 ? opt.s1 : opt.s2;
this.light = this.hueSem > 0.5 ? opt.l1 : opt.l2;
this.maxSpeed = this.hueSem > 0.5 ? 3 : 2;
}
update() {
this.follow();
this.vx += this.ax;
this.vy += this.ay;
var p = Math.sqrt(this.vx * this.vx + this.vy * this.vy);
var a = Math.atan2(this.vy, this.vx);
var m = Math.min(this.maxSpeed, p);
this.vx = Math.cos(a) * m;
this.vy = Math.sin(a) * m;
this.x += this.vx;
this.y += this.vy;
this.ax = 0;
this.ay = 0;
this.edges();
}
follow() {
let angle =
noise(
this.x * opt.noiseScale,
this.y * opt.noiseScale,
time * opt.noiseScale) *
Math.PI *
0.5 +
opt.angle;
this.ax += Math.cos(angle);
this.ay += Math.sin(angle);
}
updatePrev() {
this.lx = this.x;
this.ly = this.y;
}
edges() {
if (this.x < 0) {
this.x = width;
this.updatePrev();
constructor(x, y) {
this.x = x;
this.y = y;
this.lx = x;
this.ly = y;
this.vx = 0;
this.vy = 0;
this.ax = 0;
this.ay = 0;
this.hueSem = Math.random();
this.hue = this.hueSem > 0.5 ? 20 + opt.h1 : 20 + opt.h2;
this.sat = this.hueSem > 0.5 ? opt.s1 : opt.s2;
this.light = this.hueSem > 0.5 ? opt.l1 : opt.l2;
this.maxSpeed = this.hueSem > 0.5 ? 3 : 2;
}
if (this.x > width) {
this.x = 0;
this.updatePrev();
}
if (this.y < 0) {
this.y = height;
this.updatePrev();
}
if (this.y > height) {
this.y = 0;
this.updatePrev();
}
}
render() {
stroke(`hsla(${this.hue}, ${this.sat}%, ${this.light}%, .5)`);
line(this.x, this.y, this.lx, this.ly);
this.updatePrev();
}}
randomize() {
this.hueSem = Math.random();
this.hue = this.hueSem > 0.5 ? 20 + opt.h1 : 20 + opt.h2;
this.sat = this.hueSem > 0.5 ? opt.s1 : opt.s2;
this.light = this.hueSem > 0.5 ? opt.l1 : opt.l2;
this.maxSpeed = this.hueSem > 0.5 ? 3 : 2;
}
update() {
this.follow();
this.vx += this.ax;
this.vy += this.ay;
var p = Math.sqrt(this.vx * this.vx + this.vy * this.vy);
var a = Math.atan2(this.vy, this.vx);
var m = Math.min(this.maxSpeed, p);
this.vx = Math.cos(a) * m;
this.vy = Math.sin(a) * m;
this.x += this.vx;
this.y += this.vy;
this.ax = 0;
this.ay = 0;
this.edges();
}
follow() {
let angle =
noise(this.x * opt.noiseScale, this.y * opt.noiseScale, time * opt.noiseScale) * Math.PI * 0.5 + opt.angle;
this.ax += Math.cos(angle);
this.ay += Math.sin(angle);
}
updatePrev() {
this.lx = this.x;
this.ly = this.y;
}
edges() {
if (this.x < 0) {
this.x = width;
this.updatePrev();
}
if (this.x > width) {
this.x = 0;
this.updatePrev();
}
if (this.y < 0) {
this.y = height;
this.updatePrev();
}
if (this.y > height) {
this.y = 0;
this.updatePrev();
}
}
render() {
stroke(`hsla(${this.hue}, ${this.sat}%, ${this.light}%, .5)`);
line(this.x, this.y, this.lx, this.ly);
this.updatePrev();
}
}
/*--------------------
Setup
--------------------*/
function setup() {
let canvas = createCanvas(windowWidth, windowHeight);
canvas.parent("particles");
let canvas = createCanvas(windowWidth, windowHeight);
canvas.parent('particles');
for (let i = 0; i < opt.particles; i++) {
Particles.push(new Particle(Math.random() * width, Math.random() * height));
}
strokeWeight(opt.strokeWeight);
for (let i = 0; i < opt.particles; i++) {
Particles.push(new Particle(Math.random() * width, Math.random() * height));
}
strokeWeight(opt.strokeWeight);
}
/*--------------------
@@ -153,24 +147,28 @@ Draw
let inGame = false;
function draw() {
if (!inGame && document.visibilityState == "visible") {
time++;
background(0, 100 - opt.tail);
for (let p of Particles) {
p.update();
p.render();
}
}
if (!inGame && document.visibilityState == 'visible') {
time++;
background(0, 100 - opt.tail);
for (let p of Particles) {
p.update();
p.render();
}
} else {
background(0);
}
}
/*--------------------
Resize
--------------------*/
function windowResized() {
resizeCanvas(windowWidth, windowHeight);
resizeCanvas(windowWidth, windowHeight);
}
function changeTitleColor() {
document.getElementById("title").style.backgroundImage = `linear-gradient(hsl(${opt.h1 + 20}, ${opt.s1}%, ${opt.l1}%), hsl(${opt.h2}, ${opt.s2}%, ${opt.l2}%))`;
}
document.getElementById('title').style.backgroundImage = `linear-gradient(hsl(${opt.h1 + 20}, ${opt.s1}%, ${
opt.l1
}%), hsl(${opt.h2}, ${opt.s2}%, ${opt.l2}%))`;
}
-1
View File
File diff suppressed because one or more lines are too long
+148 -152
View File
@@ -1,35 +1,35 @@
let currentMenu = $(".homepage");
let currentMenu = $('.homepage');
$(".column button .card").on("click", function () {
let nextMenu = this.getAttribute("data");
$('.column button .card').on('click', function () {
let nextMenu = this.getAttribute('data');
if (nextMenu === "proxy") {
if (!config["proxy"]) {
$("#disabled").showModal();
if (nextMenu === 'proxy') {
if (!config['proxy']) {
$('#disabled').showModal();
return;
}
$("#everything-else").fadeOut(300, () => {
$("#page-loader").fadeIn(200);
$("#page-loader iframe").attr("src", config["proxyPath"] || "/proxy");
$("#page-loader iframe")[0].focus();
$('#everything-else').fadeOut(300, () => {
$('#page-loader').fadeIn(200);
$('#page-loader iframe').attr('src', config['proxyPath'] || '/proxy');
$('#page-loader iframe')[0].focus();
});
currentMenu = $("#page-loader");
inGame = true;
currentMenu = $('#page-loader');
inGame = !preferences.background; // if background is disabled (false) then inGame is set to to true turning off the background
return;
}
currentMenu.fadeOut(300, () => {
$("." + nextMenu).fadeIn(200);
$('.' + nextMenu).fadeIn(200);
});
currentMenu = $("." + nextMenu);
currentMenu = $('.' + nextMenu);
});
$("logo img").on("click", returnHome);
$("#gameButton").on("click", returnHome);
$("#refresh").on("click", refreshPage);
$('logo img').on('click', returnHome);
$('#gameButton').on('click', returnHome);
$('#refresh').on('click', refreshPage);
$("dialog").on("click", function (e) {
if (!e.originalEvent.target.closest("div")) {
$('dialog').on('click', function (e) {
if (!e.originalEvent.target.closest('div')) {
e.originalEvent.target.close();
}
});
@@ -39,14 +39,13 @@ $("dialog").on("click", function (e) {
// from https://www.geeksforgeeks.org/jaro-and-jaro-winkler-similarity/
function jaro_distance(s1, s2) {
// If the strings are equal
if (s1 == s2)
return 1.0;
if (s1 == s2) return 1.0;
// Length of two strings
let len1 = s1.length, len2 = s2.length;
let len1 = s1.length,
len2 = s2.length;
if (len1 == 0 || len2 == 0)
return 0.0;
if (len1 == 0 || len2 == 0) return 0.0;
// Maximum distance upto which matching
// is allowed
@@ -63,14 +62,10 @@ function jaro_distance(s1, s2) {
// Traverse through the first string
for (let i = 0; i < len1; i++) {
// Check if there is any matches
for (let j = Math.max(0, i - max_dist);
j < Math.min(len2, i + max_dist + 1); j++)
for (let j = Math.max(0, i - max_dist); j < Math.min(len2, i + max_dist + 1); j++)
// If there is a match
if (s1[i] == s2[j] &&
hash_s2[j] == 0) {
if (s1[i] == s2[j] && hash_s2[j] == 0) {
hash_s1[i] = 1;
hash_s2[j] = 1;
match++;
@@ -79,8 +74,7 @@ function jaro_distance(s1, s2) {
}
// If there is no match
if (match == 0)
return 0.0;
if (match == 0) return 0.0;
// Number of transpositions
let t = 0;
@@ -93,22 +87,16 @@ function jaro_distance(s1, s2) {
// in between the indices
for (let i = 0; i < len1; i++)
if (hash_s1[i] == 1) {
// Find the next matched character
// in second string
while (hash_s2[point] == 0)
point++;
while (hash_s2[point] == 0) point++;
if (s1[i] != s2[point++])
t++;
if (s1[i] != s2[point++]) t++;
}
t /= 2;
// Return the Jaro Similarity
return ((match) / (len1)
+ (match) / (len2)
+ (match - t) / (match))
/ 3.0;
return (match / len1 + match / len2 + (match - t) / match) / 3.0;
}
// Jaro Winkler Similarity
@@ -117,19 +105,14 @@ function jaroWinklerSimilarity(s1, s2) {
// If the jaro Similarity is above a threshold
if (jaro_dist > 0.7) {
// Find the length of common prefix
let prefix = 0;
for (let i = 0; i < Math.min(s1.length, s2.length); i++) {
// If the characters match
if (s1[i] == s2[i])
prefix++;
if (s1[i] == s2[i]) prefix++;
// Else break
else
break;
else break;
}
// Maximum of 4 characters are allowed in prefix
@@ -147,9 +130,9 @@ function jaroWinklerSimilarity(s1, s2) {
* @return {void}
*/
function updateList() {
const filter = $("#search").val().toLowerCase();
const elems = Array.from(document.querySelectorAll("#gamesList li"));
const sortType = $("#sort").val();
const filter = $('#search').val().toLowerCase();
const elems = Array.from(document.querySelectorAll('#gamesList li'));
const sortType = $('#sort').val();
// sort by selected sort type
elems.sort(function (a, b) {
@@ -163,10 +146,10 @@ function updateList() {
// then filter items with the search input
elems.forEach(function (item) {
let similarity = jaroWinklerSimilarity(filter, item.innerHTML.toLowerCase().slice(0, filter.length - 1));
if (item.getAttribute("aliases")) {
for (alias in item.getAttribute("aliases").split(',')) {
if (item.getAttribute('aliases')) {
for (alias in item.getAttribute('aliases').split(',')) {
if (alias.length > 1) {
console.log("alias");
console.log('alias');
console.log(alias);
console.log(typeof alias);
console.log(alias.length);
@@ -175,25 +158,25 @@ function updateList() {
}
}
if (similarity >= 0.7 && item.innerHTML.length > 2 || item.innerHTML.toLowerCase().indexOf(filter) > -1) {
item.style.display = "";
if ((similarity >= 0.7 && item.innerHTML.length > 2) || item.innerHTML.toLowerCase().indexOf(filter) > -1) {
item.style.display = '';
} else {
item.style.display = "none";
item.style.display = 'none';
}
});
// now sort by jaro winkler distance
elems.sort(function (a, b) {
let distanceA = jaroWinklerSimilarity(filter, a.textContent.toLowerCase());
if (a.getAttribute("aliases")) {
for (alias in a.getAttribute("aliases").split(',')) {
if (a.getAttribute('aliases')) {
for (alias in a.getAttribute('aliases').split(',')) {
distanceA += jaroWinklerSimilarity(filter, alias.toLowerCase());
}
}
let distanceB = jaroWinklerSimilarity(filter, b.textContent.toLowerCase());
if (b.getAttribute("aliases")) {
for (alias in b.getAttribute("aliases").split(',')) {
if (b.getAttribute('aliases')) {
for (alias in b.getAttribute('aliases').split(',')) {
distanceB += jaroWinklerSimilarity(filter, alias.toLowerCase());
}
}
@@ -202,15 +185,15 @@ function updateList() {
// then fill it with the sorted and filtered list
for (const item of elems) {
document.getElementById("gamesList").appendChild(item);
document.getElementById('gamesList').appendChild(item);
updateGameList();
}
}
$("#search").on("input", updateList);
$("#sort").on("change", updateList);
$('#search').on('input', updateList);
$('#sort').on('change', updateList);
dragElement(document.getElementById("gameButton"));
dragElement(document.getElementById("refresh"));
dragElement(document.getElementById('gameButton'));
dragElement(document.getElementById('refresh'));
/**
* Adds drag functionality to an HTML element.
@@ -219,7 +202,10 @@ dragElement(document.getElementById("refresh"));
* @return {void}
*/
function dragElement(elmnt) {
var pos1 = 0, pos2 = 0, pos3 = 0, pos4 = 0;
var pos1 = 0,
pos2 = 0,
pos3 = 0,
pos4 = 0;
if (document.getElementById(elmnt.id)) {
document.getElementById(elmnt.id).onmousedown = dragMouseDown;
} else {
@@ -244,12 +230,10 @@ function dragElement(elmnt) {
pos3 = e.clientX;
pos4 = e.clientY;
window.click = 1;
elmnt.style.top = (elmnt.offsetTop - pos2) + "px";
elmnt.style.top = elmnt.offsetTop - pos2 + 'px';
}
function closeDragElement() {
document.onmouseup = null;
document.onmousemove = null;
@@ -257,7 +241,9 @@ function dragElement(elmnt) {
window.hold = true;
window.click = 0;
}
setTimeout(function () { window.hold = false; }, 100);
setTimeout(function () {
window.hold = false;
}, 100);
}
}
@@ -268,13 +254,13 @@ function dragElement(elmnt) {
*/
function returnHome() {
currentMenu.fadeOut(300, () => {
$("#everything-else").fadeIn(200);
$(".games").hide();
$(".homepage").fadeIn(200);
$('#everything-else').fadeIn(200);
$('.games').hide();
$('.homepage').fadeIn(200);
});
currentMenu = $(".homepage");
inGame = false;
console.log("e");
currentMenu = $('.homepage');
inGame = !preferences.background; // if background is disabled (false) then inGame is set to to true turning off the background
console.log('e');
}
/**
@@ -288,13 +274,13 @@ function toggleStar(event, star) {
* @return {void}
*/
function refreshPage() {
const oldUrl = $("#page-loader iframe").attr("src");
const oldUrl = $('#page-loader iframe').attr('src');
console.log(oldUrl);
$("#page-loader iframe").attr("src", "");
$('#page-loader iframe').attr('src', '');
// delay is needed for some reason
setTimeout(() => {
$("#page-loader iframe").attr("src", oldUrl);
$('#page-loader iframe').attr('src', oldUrl);
}, 10);
}
@@ -304,21 +290,21 @@ function refreshPage() {
* @return {void}
*/
function makecloak(replaceUrl = preferences.cloakUrl) {
if ((window.top.location.href !== "about:blank")) {
if (window.top.location.href !== 'about:blank') {
var url = window.location.href;
const win = window.open();
if (!win || win.closed || typeof win.closed == 'undefined') {
return;
}
win.document.body.style.margin = "0";
win.document.body.style.height = "100vh";
var iframe = win.document.createElement("iframe");
iframe.style.border = "none";
iframe.style.width = "100%";
iframe.style.height = "100%";
iframe.style.margin = "0";
iframe.referrerpolicy = "no-referrer";
iframe.allow = "fullscreen";
win.document.body.style.margin = '0';
win.document.body.style.height = '100vh';
var iframe = win.document.createElement('iframe');
iframe.style.border = 'none';
iframe.style.width = '100%';
iframe.style.height = '100%';
iframe.style.margin = '0';
iframe.referrerpolicy = 'no-referrer';
iframe.allow = 'fullscreen';
iframe.src = url.toString();
win.document.body.appendChild(iframe);
window.location.replace(replaceUrl);
@@ -342,11 +328,14 @@ function mask(title = preferences.maskTitle, iconUrl = preferences.maskIconUrl)
function popupsAllowed() {
var windowName = 'userConsole';
var popUp = window.open('/popup-page.php', windowName, 'width=1000, height=700, left=24, top=24, scrollbars, resizable');
if (popUp == null || typeof (popUp) == 'undefined') {
var popUp = window.open(
'/popup-page.php',
windowName,
'width=1000, height=700, left=24, top=24, scrollbars, resizable'
);
if (popUp == null || typeof popUp == 'undefined') {
return false;
}
else {
} else {
popUp.close();
return true;
}
@@ -369,7 +358,7 @@ function getMainSave() {
mainSave = btoa(JSON.stringify(mainSave));
mainSave = CryptoJS.AES.encrypt(mainSave, "save").toString();
mainSave = CryptoJS.AES.encrypt(mainSave, 'save').toString();
return mainSave;
}
@@ -378,15 +367,15 @@ function downloadMainSave() {
var data = new Blob([getMainSave()]);
var dataURL = URL.createObjectURL(data);
var fakeElement = document.createElement("a");
var fakeElement = document.createElement('a');
fakeElement.href = dataURL;
fakeElement.download = "monkey.data";
fakeElement.download = 'monkey.data';
fakeElement.click();
URL.revokeObjectURL(dataURL);
}
function getMainSaveFromUpload(data) {
data = CryptoJS.AES.decrypt(data, "save").toString(CryptoJS.enc.Utf8);
data = CryptoJS.AES.decrypt(data, 'save').toString(CryptoJS.enc.Utf8);
var mainSave = JSON.parse(atob(data));
var mainLocalStorageSave = JSON.parse(atob(mainSave.localStorage));
@@ -400,13 +389,13 @@ function getMainSaveFromUpload(data) {
}
function uploadMainSave() {
var hiddenUpload = document.createElement("input");
hiddenUpload.type = "file";
hiddenUpload.accept = ".data";
var hiddenUpload = document.createElement('input');
hiddenUpload.type = 'file';
hiddenUpload.accept = '.data';
document.body.appendChild(hiddenUpload);
hiddenUpload.click();
hiddenUpload.addEventListener("change", function (e) {
hiddenUpload.addEventListener('change', function (e) {
var files = e.target.files;
var file = files[0];
@@ -419,10 +408,10 @@ function uploadMainSave() {
reader.onload = function (e) {
getMainSaveFromUpload(e.target.result);
var uploadResult = document.querySelector(".upload-result");
uploadResult.innerText = "Uploaded save!";
var uploadResult = document.querySelector('.upload-result');
uploadResult.innerText = 'Uploaded save!';
setTimeout(function () {
uploadResult.innerText = "";
uploadResult.innerText = '';
}, 3000);
};
@@ -449,21 +438,20 @@ keySlots.forEach((slot) => {
});
const defaultColorSettings = {
'bg': '#202020',
bg: '#202020',
'block-color': '#2b2b2b',
'button-color': '#373737',
'games-color': '#373737a6',
'hover-color': '#3c3c3c',
'scrollbar-color': '#434343',
'scroll-track-color': '#111',
'font-color': '#dcddde'
'font-color': '#dcddde',
};
const colorSettings = JSON.parse(localStorage.getItem('colorSettings')) || defaultColorSettings;
// Set input values
Object.keys(colorSettings).forEach(key => {
Object.keys(colorSettings).forEach((key) => {
const inputElement = document.getElementById(key);
if (inputElement) {
inputElement.value = colorSettings[key];
@@ -479,21 +467,21 @@ Object.entries(colorSettings).forEach(([key, value]) => {
function saveColorChanges() {
const inputs = document.querySelectorAll('input[type="color"]');
const newColorSettings = {};
inputs.forEach(input => {
inputs.forEach((input) => {
newColorSettings[input.id] = input.value;
});
// Save to local storage
localStorage.setItem('colorSettings', JSON.stringify(newColorSettings));
alert("Colors saved! Changes will take place upon reload");
alert('Colors saved! Changes will take place upon reload');
}
// Restore defaults button event listener
function restoreColorChanges() {
// Reset to default values
localStorage.removeItem('colorSettings');
alert("Defaults Restored! Changes will take place upon reload");
alert('Defaults Restored! Changes will take place upon reload');
}
function randomGame() {
@@ -503,28 +491,28 @@ function randomGame() {
// window.location.href = randomGameLink.getAttribute('url');
const url = randomGameLink.getAttribute('url');
inGame = true;
$("#everything-else").fadeOut();
$("#page-loader").fadeIn();
$("#page-loader iframe").attr("src", url);
$("#page-loader iframe")[0].focus();
currentMenu = $("#page-loader");
}
$('#everything-else').fadeOut();
$('#page-loader').fadeIn();
$('#page-loader iframe').attr('src', url);
$('#page-loader iframe')[0].focus();
currentMenu = $('#page-loader');
}
const preferencesDefaults = {
cloak: true,
cloakUrl: "https://classroom.google.com",
cloakUrl: 'https://classroom.google.com',
mask: true,
maskTitle: "Home",
maskIconUrl: "https://ssl.gstatic.com/classroom/ic_product_classroom_32.png"
maskTitle: 'Home',
maskIconUrl: 'https://ssl.gstatic.com/classroom/ic_product_classroom_32.png',
background: true,
};
if (localStorage.getItem("preferences") == null) {
localStorage.setItem("preferences", JSON.stringify(preferencesDefaults));
if (localStorage.getItem('preferences') == null) {
localStorage.setItem('preferences', JSON.stringify(preferencesDefaults));
}
const preferences = JSON.parse(localStorage.getItem("preferences"));
const preferences = JSON.parse(localStorage.getItem('preferences'));
const cloakCheckbox = document.getElementById('cloakCheckboxInput');
const backgroundCheckbox = document.getElementById('backgroundCheckboxInput');
const cloakUrl = document.getElementById('cloakUrlInput');
const maskCheckbox = document.getElementById('maskCheckboxInput');
const maskTitle = document.getElementById('maskTitleInput');
@@ -534,52 +522,55 @@ cloakUrl.value = preferences.cloakUrl;
maskCheckbox.checked = preferences.mask;
maskTitle.value = preferences.maskTitle;
maskIcon.value = preferences.maskIconUrl;
backgroundCheckbox.checked = preferences.background;
const presets = {
classroom: {
url: 'https://classroom.google.com/',
title: 'Home',
icon: 'https://ssl.gstatic.com/classroom/ic_product_classroom_32.png'
url: 'https://classroom.google.com/',
title: 'Home',
icon: 'https://ssl.gstatic.com/classroom/ic_product_classroom_32.png',
},
drive: {
url: 'https://drive.google.com/',
title: 'My Drive - Google Drive',
icon: 'https://ssl.gstatic.com/images/branding/product/2x/hh_drive_36dp.png'
url: 'https://drive.google.com/',
title: 'My Drive - Google Drive',
icon: 'https://ssl.gstatic.com/images/branding/product/2x/hh_drive_36dp.png',
},
mail: {
url: 'https://mail.google.com/',
title: 'Inbox (12) - Google Mail',
icon: 'https://www.gstatic.com/images/branding/product/2x/gmail_2020q4_512dp.png'
url: 'https://mail.google.com/',
title: 'Inbox (12) - Google Mail',
icon: 'https://www.gstatic.com/images/branding/product/2x/gmail_2020q4_512dp.png',
},
canvas: {
url: 'https://www.instructure.com/',
title: 'Dashboard',
icon: 'https://du11hjcvx0uqb.cloudfront.net/dist/images/favicon-e10d657a73.ico'
}
};
icon: 'https://du11hjcvx0uqb.cloudfront.net/dist/images/favicon-e10d657a73.ico',
},
};
function setPreset(object) {
preferences.cloakUrl = object.url;
preferences.maskTitle = object.title;
preferences.maskIconUrl = object.icon;
localStorage.setItem('preferences', JSON.stringify(preferences));
alert("Preset will take place upon next opening!");
alert('Preset will take place upon next opening!');
}
function updatePreset() {
setPreset(presets[document.getElementById("presets").value]);
setPreset(presets[document.getElementById('presets').value]);
}
if (preferences.cloak && (window.location.href == window.top.location.href)) {
if (preferences.cloak && window.location.href == window.top.location.href) {
if (popupsAllowed()) {
makecloak();
}
else {
} else {
currentMenu.fadeOut(300, () => {
$(".cloaklaunch").fadeIn(200);
$('.cloaklaunch').fadeIn(200);
});
currentMenu = $('.cloaklaunch');
document.addEventListener('click', (event) => {
event.preventDefault();
makecloak();
});
currentMenu = $(".cloaklaunch");
document.addEventListener("click", (event) => { event.preventDefault(); makecloak(); });
}
}
@@ -593,6 +584,11 @@ cloakCheckbox.addEventListener('change', function () {
localStorage.setItem('preferences', JSON.stringify(preferences));
});
backgroundCheckbox.addEventListener('change', function () {
preferences.background = backgroundCheckbox.checked;
localStorage.setItem('preferences', JSON.stringify(preferences));
inGame = !preferences.background;
});
/* if it is wanted to save on input change wather than submission
document.querySelector('.text-field').addEventListener('change', function () {
@@ -604,19 +600,19 @@ document.querySelector('.text-field').addEventListener('change', function () {
document.getElementById('cloakUrlSubmit').addEventListener('click', function () {
preferences.cloakUrl = cloakUrl.value;
localStorage.setItem('preferences', JSON.stringify(preferences));
alert("Submitted! Change will take place upon refresh");
alert('Submitted! Change will take place upon refresh');
});
document.getElementById('maskTitleSubmit').addEventListener('click', function () {
preferences.maskTitle = maskTitle.value;
localStorage.setItem('preferences', JSON.stringify(preferences));
alert("Submitted! Change will take place upon refresh");
alert('Submitted! Change will take place upon refresh');
});
document.getElementById('maskIconSubmit').addEventListener('click', function () {
preferences.maskIconUrl = maskIcon.value;
localStorage.setItem('preferences', JSON.stringify(preferences));
alert("Submitted! Change will take place upon refresh");
alert('Submitted! Change will take place upon refresh');
});
document.getElementById('download').addEventListener('click', function () {
@@ -625,7 +621,7 @@ document.getElementById('download').addEventListener('click', function () {
document.getElementById('upload').addEventListener('click', function () {
uploadMainSave();
})
});
/* if (preferences.cloak && !localStorage.getItem("cloakTabOpened")){
if (window.top.location.href !== "about:blank"){
@@ -641,4 +637,4 @@ document.getElementById('upload').addEventListener('click', function () {
if (preferences.mask) {
mask();
}
}
-10716
View File
File diff suppressed because it is too large Load Diff
-2
View File
File diff suppressed because one or more lines are too long
+96 -84
View File
@@ -1,36 +1,46 @@
// hexagons will be used as a separate theme later
function changeLoadingTip() {
const tips = ["Press CTRL+C to cloak your current tab","Press CTRL+M to mask your current tab", "Press CTRL+B to go back to the home page", "Join our discord server!", "Make sure to enable popups for automatic cloak", "Why are you here?"]
const element = document.getElementsByClassName("loading-tip")[0];
const tips = [
'Press CTRL+C to cloak your current tab',
'Press CTRL+M to mask your current tab',
'Press CTRL+B to go back to the home page',
'Join our discord server!',
'Make sure to enable popups for automatic cloak',
'Why are you here?',
];
const element = document.getElementsByClassName('loading-tip')[0];
element.textContent = "Loading... \n" + tips[Math.floor(Math.random() * tips.length)];
element.textContent = 'Loading... \n' + tips[Math.floor(Math.random() * tips.length)];
}
changeLoadingTip();
$("#everything-else").hide();
$('#everything-else').hide();
let changeTip = setInterval(() => {
changeLoadingTip();
}, 3000);
$(window).on("load", () => {
$(".track").attr("stroke", "url(#grad2)");
$(".worm1").hide();
$(".worm2").hide();
$(window).on('load', () => {
$('.track').attr('stroke', 'url(#grad2)');
$('.worm1').hide();
$('.worm2').hide();
clearInterval(changeTip);
$(".loading").fadeOut({
$('.loading').fadeOut({
duration: 300,
complete: () => {
setTimeout(() => {
$("#everything-else").fadeIn({
duration: 500,
easing: "swing"
}, 200);
$('#everything-else').fadeIn(
{
duration: 500,
easing: 'swing',
},
200
);
hexagonGrid();
}, 100);
}
},
});
});
@@ -46,27 +56,27 @@ let particlesArray;
let mouse = {
x: null,
y: null,
radius: 170
}
radius: 170,
};
window.addEventListener('mousemove', function(event) {
window.addEventListener('mousemove', function (event) {
mouse.x = event.x;
mouse.y = event.y;
mouse.radius = 170;
});
document.onmousemove = (function(_) {
var onmousestop = function() {
mouse.radius = 0;
}, thread;
document.onmousemove = (function (_) {
var onmousestop = function () {
mouse.radius = 0;
},
thread;
return function() {
return function () {
clearTimeout(thread);
thread = setTimeout(onmousestop, 10);
};
})();
class Particle {
constructor(x, y, directionX, directionY, size, color) {
this.x = x;
@@ -124,11 +134,11 @@ function init() {
particlesArray = [];
let numberOfParticles = (cvs.height * cvs.width) / 9000;
for (let i = 0; i < numberOfParticles * 0.25; i++) {
let size = (Math.random() * 35) + 1;
let x = (Math.random() * ((innerWidth - size * 2) - (size * 2)) + size * 2);
let y = (Math.random() * ((innerWidth - size * 2) - (size * 2)) + size * 2);
let directionX = (Math.random() * 5) - 2.5;
let directionY = (Math.random() * 5) - 2.5;
let size = Math.random() * 35 + 1;
let x = Math.random() * (innerWidth - size * 2 - size * 2) + size * 2;
let y = Math.random() * (innerWidth - size * 2 - size * 2) + size * 2;
let directionX = Math.random() * 5 - 2.5;
let directionY = Math.random() * 5 - 2.5;
let color = '#a3f6fd';
particlesArray.push(new Particle(x, y, directionX, directionY, size, color));
}
@@ -138,10 +148,12 @@ function connect() {
let opacityValue = 1;
for (let i = 0; i < particlesArray.length; i++) {
for (let j = i; j < particlesArray.length; j++) {
let distance = ((particlesArray[i].x - particlesArray[j].x) * (particlesArray[i].x - particlesArray[j].x)) + ((particlesArray[i].y - particlesArray[j].y) * (particlesArray[i].y - particlesArray[j].y));
let distance =
(particlesArray[i].x - particlesArray[j].x) * (particlesArray[i].x - particlesArray[j].x) +
(particlesArray[i].y - particlesArray[j].y) * (particlesArray[i].y - particlesArray[j].y);
if (distance < (cvs.width/ 7) * (cvs.height / 7)) {
opacityValue = 1 - (distance / 20000);
if (distance < (cvs.width / 7) * (cvs.height / 7)) {
opacityValue = 1 - distance / 20000;
ctx.strokeStyle = 'rgba(159, 253, 50,' + opacityValue + ')';
ctx.lineWidth = 1;
ctx.beginPath();
@@ -162,14 +174,14 @@ function animate() {
connect();
}
window.addEventListener('resize', function() {
window.addEventListener('resize', function () {
cvs.width = innerWidth;
cvs.height = this.innerHeight;
mouse.radius = 170;
init();
});
window.addEventListener('mouseout', function() {
window.addEventListener('mouseout', function () {
mouse.x = undefined;
mouse.y = undefined;
});
@@ -179,71 +191,71 @@ animate();
// HEXAGON GRID
function hexagonGrid() {
const HEXAGON_GRID = document.getElementsByClassName("hexagonGrid")[0];
const CONTAINER = HEXAGON_GRID.parentNode;
const HEXAGON_GRID = document.getElementsByClassName('hexagonGrid')[0];
const CONTAINER = HEXAGON_GRID.parentNode;
let wall = {
width: CONTAINER.offsetWidth,
height: CONTAINER.offsetHeight
};
let wall = {
width: CONTAINER.offsetWidth,
height: CONTAINER.offsetHeight,
};
let rowsNumber = Math.ceil(wall.height / 80);
let columnsNumber = Math.ceil(wall.width / 100) + 1;
let rowsNumber = Math.ceil(wall.height / 80);
let columnsNumber = Math.ceil(wall.width / 100) + 1;
HEXAGON_GRID.innerHTML = "";
HEXAGON_GRID.innerHTML = '';
for (let i = 0; i < rowsNumber; i++) {
let row = document.createElement("div");
row.className = "row";
HEXAGON_GRID.appendChild(row);
}
let rows = HEXAGON_GRID.querySelectorAll(".row");
for (let i = 0; i < rows.length; i++) {
for (let j = 0; j < columnsNumber; j++) {
let hexagon = document.createElement("div");
hexagon.className = "hexagon";
rows[i].appendChild(hexagon);
for (let i = 0; i < rowsNumber; i++) {
let row = document.createElement('div');
row.className = 'row';
HEXAGON_GRID.appendChild(row);
}
let rows = HEXAGON_GRID.querySelectorAll('.row');
for (let i = 0; i < rows.length; i++) {
for (let j = 0; j < columnsNumber; j++) {
let hexagon = document.createElement('div');
hexagon.className = 'hexagon';
rows[i].appendChild(hexagon);
}
}
}
}
hexagonGrid();
window.addEventListener('resize', function() {
hexagonGrid();
window.addEventListener('resize', function () {
hexagonGrid();
});
// FPS METER
(function () {
let previousTime = Date.now();
let frames = 0;
let refreshRate = 1000;
let previousTime = Date.now();
let frames = 0;
let refreshRate = 1000;
let fpsMeter = document.createElement("div");
fpsMeter.id = "fpsMeter";
document.body.appendChild(fpsMeter);
let fpsMeter = document.createElement('div');
fpsMeter.id = 'fpsMeter';
document.body.appendChild(fpsMeter);
requestAnimationFrame(function loop() {
const TIME = Date.now();
frames++;
if (TIME > previousTime + refreshRate) {
let fps = Math.round((frames * refreshRate) / (TIME - previousTime));
previousTime = TIME;
frames = 0;
fpsMeter.innerHTML = "FPS: " + fps * (1000 / refreshRate);
}
requestAnimationFrame(loop);
});
requestAnimationFrame(function loop() {
const TIME = Date.now();
frames++;
if (TIME > previousTime + refreshRate) {
let fps = Math.round((frames * refreshRate) / (TIME - previousTime));
previousTime = TIME;
frames = 0;
fpsMeter.innerHTML = 'FPS: ' + fps * (1000 / refreshRate);
}
requestAnimationFrame(loop);
});
fpsMeter.style.position = "fixed";
fpsMeter.style.top = "25px";
fpsMeter.style.right = "25px";
fpsMeter.style.background = "rgba(0, 0, 0, 0.5)";
fpsMeter.style.padding = "10px";
fpsMeter.style.color = "rgba(255, 255, 255, 0.75)";
fpsMeter.style.fontFamily = "Monospace";
fpsMeter.style.fontSize = "24px";
fpsMeter.style.zIndex = "10000";
fpsMeter.style.position = 'fixed';
fpsMeter.style.top = '25px';
fpsMeter.style.right = '25px';
fpsMeter.style.background = 'rgba(0, 0, 0, 0.5)';
fpsMeter.style.padding = '10px';
fpsMeter.style.color = 'rgba(255, 255, 255, 0.75)';
fpsMeter.style.fontFamily = 'Monospace';
fpsMeter.style.fontSize = '24px';
fpsMeter.style.zIndex = '10000';
})();
+121 -104
View File
@@ -3,132 +3,149 @@ let games;
let themes;
function changeLoadingTip() {
const tips = ["Welcome to the land of Nothing!", "Here there is absolutely nothing for you.", "Just gotta wait for it to load", "Shouldn't take any longer", "Why are you here?", "Just one more minute", "Go read a book :)"];
const element = document.getElementsByClassName("loading-tip")[0];
const tips = [
'Welcome to the land of Nothing!',
'Here there is absolutely nothing for you.',
'Just gotta wait for it to load',
"Shouldn't take any longer",
'Why are you here?',
'Just one more minute',
'Go read a book :)',
];
const element = document.getElementsByClassName('loading-tip')[0];
element.textContent = "Loading... \n" + tips[Math.floor(Math.random() * tips.length)];
element.textContent = 'Loading... \n' + tips[Math.floor(Math.random() * tips.length)];
}
changeLoadingTip();
$("#everything-else, #page-loader, .games, .proxy, .settings, .cloaklaunch").hide();
$('#everything-else, #page-loader, .games, .proxy, .settings, .cloaklaunch').hide();
let changeTip = setInterval(() => {
changeLoadingTip();
}, 3000);
fetch("./config.jsonc").then((e) => e.text()).then((jsonc) => {
// removing all the comments from the jsonc file
let json = JSON.parse(jsonc.replace(/\\"|"(?:\\"|[^"])*"|(\/\/.*|\/\*[\s\S]*?\*\/)/g, (m, g) => g ? "" : m));
games = json["games"];
themes = json["themes"];
config = json["config"];
let gamesList = $("#gamesList");
for (game in games) {
gamesList.append(`<li url="games/${games[game]["path"]}" ${games[game]["aliases"] ? "aliases=\"" + games[game]["aliases"].join(',') + "\"" : ''}>${game} <span class="star">★</span> </li>`);
}
fetch('./config.jsonc')
.then((e) => e.text())
.then((jsonc) => {
// removing all the comments from the jsonc file
let json = JSON.parse(jsonc.replace(/\\"|"(?:\\"|[^"])*"|(\/\/.*|\/\*[\s\S]*?\*\/)/g, (m, g) => (g ? '' : m)));
games = json['games'];
themes = json['themes'];
config = json['config'];
let starredGamesList = JSON.parse(localStorage.getItem('starredGamesList')) || [];
const stars = document.querySelectorAll('.star');
stars.forEach(star => {
star.addEventListener('click', function (event) {
let gamesList = $('#gamesList');
for (game in games) {
gamesList.append(
`<li url="games/${games[game]['path']}" ${
games[game]['aliases'] ? 'aliases="' + games[game]['aliases'].join(',') + '"' : ''
}>${game} <span class="star"></span> </li>`
);
}
event.preventDefault();
event.stopPropagation();
star.classList.toggle('filled');
const gameItem = star.parentNode;
var gameName = gameItem.textContent;
const isStarred = starredGamesList.includes(gameName);
let starredGamesList = JSON.parse(localStorage.getItem('starredGamesList')) || [];
const stars = document.querySelectorAll('.star');
stars.forEach((star) => {
star.addEventListener('click', function (event) {
event.preventDefault();
event.stopPropagation();
star.classList.toggle('filled');
if (isStarred) {
starredGamesList = starredGamesList.filter(gameName => gameName !== gameName);
const gameItem = star.parentNode;
var gameName = gameItem.textContent;
const isStarred = starredGamesList.includes(gameName);
//THIS DOES NOT PUT THE GAME BACK IN ORDER ACCORDING TO THE WAY THE USER SORTED IT
//so for the weird ppl that sort by reverse alphabetical it should act pretty weird
//this is bc im layz and copy pasted this alphabetical sort thing, ill implement based off users sort later
const gameItem = star.closest('li');
const parent = gameItem.parentNode;
if (isStarred) {
starredGamesList = starredGamesList.filter((gameName) => gameName !== gameName);
const originalPosition = Array.from(parent.children)
.sort((a, b) => a.textContent.localeCompare(b.textContent))
.findIndex(item => item === gameItem);
//THIS DOES NOT PUT THE GAME BACK IN ORDER ACCORDING TO THE WAY THE USER SORTED IT
//so for the weird ppl that sort by reverse alphabetical it should act pretty weird
//this is bc im layz and copy pasted this alphabetical sort thing, ill implement based off users sort later
const gameItem = star.closest('li');
const parent = gameItem.parentNode;
parent.removeChild(gameItem);
const originalPosition = Array.from(parent.children)
.sort((a, b) => a.textContent.localeCompare(b.textContent))
.findIndex((item) => item === gameItem);
parent.insertBefore(gameItem, parent.children[originalPosition]);
} else {
starredGamesList.unshift(gameName);
}
parent.removeChild(gameItem);
localStorage.setItem('starredGamesList', JSON.stringify(starredGamesList));
updateGameList();
parent.insertBefore(gameItem, parent.children[originalPosition]);
} else {
starredGamesList.unshift(gameName);
}
localStorage.setItem('starredGamesList', JSON.stringify(starredGamesList));
updateGameList();
});
});
// Pushes all starred games to the top
function updateGameList() {
const gamesList = document.getElementById('gamesList');
const children = Array.from(gamesList.children);
children.forEach((gameItem) => {
const currentGameName = gameItem.textContent;
const stars = gameItem.querySelector('.star');
if (starredGamesList.includes(currentGameName)) {
stars.classList.add('filled');
gamesList.insertBefore(gameItem, gamesList.firstChild);
}
});
}
updateGameList();
$('#gamesList li').on('click', function () {
let url = $(this).attr('url');
inGame = true;
$('#everything-else').fadeOut();
$('#page-loader').fadeIn();
$('#page-loader iframe').attr('src', url);
$('#page-loader iframe')[0].focus();
currentMenu = $('#page-loader');
});
});
// Pushes all starred games to the top
function updateGameList() {
const gamesList = document.getElementById('gamesList');
const children = Array.from(gamesList.children);
children.forEach(gameItem => {
const currentGameName = gameItem.textContent;
const stars = gameItem.querySelector('.star');
if (starredGamesList.includes(currentGameName)) {
stars.classList.add('filled');
gamesList.insertBefore(gameItem, gamesList.firstChild);
}
});
}
updateGameList();
$("#gamesList li").on("click", function() {
let url = $(this).attr("url");
alert(url);
inGame = true;
$("#everything-else").fadeOut();
$("#page-loader").fadeIn();
$("#page-loader iframe").attr("src", url);
$("#page-loader iframe")[0].focus();
currentMenu = $("#page-loader");
});
});
$(window).on("load", () => {
$(".track").attr("stroke", "url(#grad2)");
$(".worm1").hide();
$(".worm2").hide();
$(window).on('load', () => {
$('.track').attr('stroke', 'url(#grad2)');
$('.worm1').hide();
$('.worm2').hide();
clearInterval(changeTip);
$(".loading").fadeOut({
$('.loading').fadeOut({
duration: 300,
complete: () => {
setTimeout(() => {
$("#everything-else").fadeIn({
duration: 500,
easing: "swing"
}, 200);
$('#everything-else').fadeIn(
{
duration: 500,
easing: 'swing',
},
200
);
}, 100);
}
},
});
});
jQuery.fn.extend({showModal: function() {
return this.each(function() {
if(this.tagName=== "DIALOG"){
this.showModal();
}
});
}});
jQuery.fn.extend({
showModal: function () {
return this.each(function () {
if (this.tagName === 'DIALOG') {
this.showModal();
}
});
},
});
(function () {
let previousTime = Date.now();
let frames = 0;
let refreshRate = 1000;
let fpsMeter = document.createElement("div");
fpsMeter.id = "fpsMeter";
let fpsMeter = document.createElement('div');
fpsMeter.id = 'fpsMeter';
document.body.appendChild(fpsMeter);
requestAnimationFrame(function loop() {
@@ -138,21 +155,21 @@ jQuery.fn.extend({showModal: function() {
let fps = Math.round((frames * refreshRate) / (TIME - previousTime));
previousTime = TIME;
frames = 0;
fpsMeter.innerHTML = "FPS: " + fps * (1000 / refreshRate);
fpsMeter.innerHTML = 'FPS: ' + fps * (1000 / refreshRate);
}
requestAnimationFrame(loop);
});
fpsMeter.style.position = "fixed";
fpsMeter.style.top = "2.5%";
fpsMeter.style.right = "1%";
fpsMeter.style.zIndex = "50";
fpsMeter.style.background = "rgba(0, 0, 0, 0.5)";
fpsMeter.style.opacity = "0.5";
fpsMeter.style.padding = "10px";
fpsMeter.style.color = "rgba(255, 255, 255, 0.75)";
fpsMeter.style.position = 'fixed';
fpsMeter.style.top = '2.5%';
fpsMeter.style.right = '1%';
fpsMeter.style.zIndex = '50';
fpsMeter.style.background = 'rgba(0, 0, 0, 0.5)';
fpsMeter.style.opacity = '0.5';
fpsMeter.style.padding = '10px';
fpsMeter.style.color = 'rgba(255, 255, 255, 0.75)';
fpsMeter.style.fontFamily = "'Flexi IBM VGA True (437', monospace";
fpsMeter.style.fontSize = "24px";
fpsMeter.style.zIndex = "10000";
fpsMeter.style.pointerEvents = "none";
})();
fpsMeter.style.fontSize = '24px';
fpsMeter.style.zIndex = '10000';
fpsMeter.style.pointerEvents = 'none';
})();
-100567
View File
File diff suppressed because one or more lines are too long
-3
View File
File diff suppressed because one or more lines are too long
+2 -4
View File
@@ -1,7 +1,5 @@
{
"typeAcquisition": {
"include": [
"jquery"
]
"include": ["jquery"]
}
}
}