forked from increpare/PuzzleScript
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathplay.html
129 lines (111 loc) · 5.73 KB
/
play.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>PuzzleScript Game</title>
<link rel="stylesheet" href="css/play.css">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
</head>
<body>
<div class="title"><h1 id="gametitle">PuzzleScript Game</h1></div>
<div class="gameContainer">
<canvas
id="gameCanvas" ></canvas>
</div>
<div class="footer">
<span id="errormessage" style="color:red;"></span>
<a id="homepagelink" href="https://www.puzzlescript.net">www.puzzlescript.net</a> <span id="separator">|</span> <a id="hacklink" href="#">hack</a>
</div>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('set', 'anonymizeIp', true);
ga('create', 'UA-42606016-2', 'puzzlescript.net');
ga('send', 'pageview');
</script>
<!--TOREPLACE-->
<script src="js/globalVariables.js"></script>
<script src="js/debug_off.js"></script>
<script src="js/font.js"></script>
<script src="js/rng.js"></script>
<script src="js/riffwave.js"></script>
<script src="js/sfxr.js"></script>
<script src="js/codemirror/codemirror.js"></script>
<script src="js/colors.js"></script>
<script src="js/graphics.js"></script>
<script src="js/engine.js"></script>
<script src="js/parser.js"></script>
<script src="js/compiler.js"></script>
<script src="js/inputoutput.js"></script>
<script src="js/mobile.js"></script>
<!--ENDREPLACE-->
<script>
function displayError(message) {
var errorText = document.getElementById("errormessage");
errorText.innerHTML="ERROR "+message+"<br>";
}
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
function strip_http(url) {
url = url.replace(/^https?:\/\//,'');
return url;
}
function getData(){
var id = getParameterByName("p").replace(/[\\\/]/,"");
if (id===null||id.length===0) {
displayError("No ID specified in URL.")
return;
}
var githubURL = 'https://api.github.com/gists/'+id;
var githubHTTPClient = new XMLHttpRequest();
githubHTTPClient.open('GET', githubURL);
githubHTTPClient.onreadystatechange = function() {
if(githubHTTPClient.readyState!=4) {
return;
}
var result = JSON.parse(githubHTTPClient.responseText);
if (githubHTTPClient.status===403) {
displayError(result.message);
} else if (githubHTTPClient.status!==200&&githubHTTPClient.status!==201) {
displayError("HTTP Error "+ githubHTTPClient.status + ' - ' + githubHTTPClient.statusText);
}
var result = JSON.parse(githubHTTPClient.responseText);
var code=result["files"]["script.txt"]["content"];
compile(["restart"],code);
if (state.metadata.homepage!==undefined) {
var homepage=state.metadata.homepage;
var homepageLink = document.getElementById("homepagelink");
homepageLink.innerHTML=strip_http(homepage);
if (!homepage.match(/^https?:\/\//)) {
homepage = "http://" + homepage;
}
homepageLink.href = homepage;
}
if (state.metadata.title!==undefined) {
var title=state.metadata.title;
var gametitle = document.getElementById("gametitle");
gametitle.innerHTML=title;
window.document.title=title+" - PuzzleScript Game";
}
var hacklink = document.getElementById("hacklink");
var url = "editor.html?hack="+id;
url=qualifyURL(url);
hacklink.href=url;
}
githubHTTPClient.setRequestHeader("Content-type","application/x-www-form-urlencoded");
githubHTTPClient.send();
}
getData();
</script>
<div style = "z-index: 2; background: transparent; position: absolute; top: 0; right: 0;">
<img id="muteButton" width=32px height=32px onClick="muteAudio()" style="display:none" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xOdTWsmQAAAIGSURBVFhH3ZchcsJAGIURiApEBbIH6BEqOQASWYHoESoQFcwgOAaiEsEBKip6BERlBQJRwQEqtu/tvj+TLMnAJpntTL+ZP/De7p/9k102YUCcc0tEbpbx4MHIAMcKQ2LM4ktmOCYH9gXIawXzQasLYGKnAphryErC53VJLiPvhNgjtog54tZ3bgDt7QpgTkyD/42Y+aQa2CG5APYvMdGnFTBC3COeEG8IY4M4uxtsSCqAfQ1ZhSdZATangdNCvhCVImheVQC6FFdKZHtkeQ8fB8QOsUCM5N0hPhBkQ8+gEQ5BXLUb+swSsu0cZXjFE/kswu7ElB6hCAeJS/isCDXZOcaIKeKdHvhBPKiN00F4l+zu1BaQtKkop1Ic5BCx8g3OfSJu5Fthj9LnBfB7Ckqzc/Dq1oihtA34LP0SpHuV7r0AYyXN6SC7SO+ley9gFpQ7SHNNkFifpP9fAcZaOvsUNC3ChbQtwq30eQGg88+QwLKNjRuS/e6toLl0bQGNsF+MmuwcdRuR7Ya2EfEJ6Z8JFOEQRK6tuHg8U4TDBdClr4eRn3uDRjhcCfsasgpPsgLs8uP4iBiryUMzqQDC/iXiFxJbA1zttg4IX9EqgxM2JBdAmBPT4Pf/SmYwr4y8PC+lBnMNWUn4vLbJBvNBtz8m4E//mtkGlK0IjhWG1Jj8EnRWMPhg8AvjeqPLyfe3igAAAABJRU5ErkJggg==" />
<img id="unMuteButton" width=32px height=32px onClick="unMuteAudio()" style="display:none" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTnU1rJkAAABqElEQVRYR72XW3LDMAwDc7QerTdPRWjBoW1aedXZGUYUAIlqP9LpLbjf77+jvs3vfvgUvkDMmiPHzGxg9HTXEjNjsB6A0Nar+MxYg+UPFoH5ccLCauE+3Wmqvke+Pk5YWAl3sJuXGiSx3wfSOsMsrKRm4i6DJJAEktB+L1YW1oG4xyAJJIGUSOsMs7A2xB0GSSAJpA3Sz8xgYYnh/8R5g+ZKFG6Q9yAQ9dS3JEcEkkBqkb8K2X8EcYEkkE5RxkH6rkz7VT10uu3wwcbrcOipB+hEg62ZmlR9hbL1wEkJndgRMpVgif1+j3yH6LsSOtGALZAE0rUPwBJICfJ1D0A2ylamfDxXke8QfVfCGdak6pXpNkZBvkP0XeUl3hvkFiKfP8CwT5BPIfavD0iQBNJhEPJnDzCjr6Q31sMfI4P0/gPM6BP20ivTnSClxrZFvkP0WQ4YCQuImfzNYLfId4i+VqL0ExDfgNUi3yF6V6LkC3AsQW6R7xB9rZeHmzhrkFrkO0R/qHcZZ4Plv3sROARHv1mvImbG4GxixbucmDVHMjOauf8qY/jt9gdOODPsYZA1BAAAAABJRU5ErkJggg==" />
</div>
</body>
</html>