This commit is contained in:
darzu 2020-08-18 09:04:56 -07:00
Родитель e3c265d97f
Коммит 588d8a2b4f
4 изменённых файлов: 0 добавлений и 38976 удалений

105
assets/index.html сгенерированный
Просмотреть файл

@ -1,105 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script type="text/javascript" src="./js/loader.js"></script>
<style>
body {
background: black;
color: white;
font-family: monospace;
overflow: hidden;
font-size: 14pt;
}
iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border: none;
}
#fullscreen {
position: absolute;
right: 0.25rem;
bottom: 0;
cursor: pointer;
}
.lds-ripple {
width: 80px;
height: 80px;
margin: auto;
position: absolute;
margin: auto;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: -1;
}
.lds-ripple div {
position: absolute;
border: 4px solid #fff;
opacity: 1;
border-radius: 50%;
animation: lds-ripple 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;
}
.lds-ripple div:nth-child(2) {
animation-delay: -0.5s;
}
@keyframes lds-ripple {
0% {
top: 36px;
left: 36px;
width: 0;
height: 0;
opacity: 1;
}
100% {
top: 0px;
left: 0px;
width: 72px;
height: 72px;
opacity: 0;
}
}
</style>
</head>
<body id="root">
<div id="loader" class="lds-ripple">
<div></div>
<div></div>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0" y="0" viewBox="0 0 32 32" xml:space="preserve"
id="svg2">
<style type="text/css" id="style4"></style>
<g id="g4212" transform="matrix(.79626 0 0 .79626 -68.322 9.868)">
<path
d="M105.989-5.487v.01a1.91 1.91 0 00-1.613 1.83c0 .779.417 1.119.417 1.15.413.435.238.913-.589.874 0 0-3.009.015-3.066 0a.724.724 0 00-.53.696v9.894c-.001.39.314.705.705.705h9.848c.39 0 .705-.314.705-.705V5.475c-.126-.423-.489-.463-.827-.141-.032 0-.369.417-1.147.417-.93-.03-1.69-.72-1.83-1.616h-.013a6.771 6.771 0 010-.494h.012c.142-.897.9-1.587 1.83-1.616.78 0 1.116.417 1.148.417.329.313.695.238.827-.138V-.927a.72.72 0 00-.527-.696c-.057.015-3.07 0-3.07 0-.74.06-.998-.44-.585-.874 0-.031.417-.371.417-1.15-.029-.93-.72-1.69-1.616-1.83v-.01a6.241 6.241 0 00-.496 0z"
id="path167" fill="#fff" fill-opacity="1" stroke-width="1.57" />
<path
d="M98.633-7.18c-.917 0-1.624.252-2.158.774-.534.521-.802 1.208-.822 2.094a552.379 552.379 0 01-.062 2.732c-.02.776-.081 1.354-.187 1.766-.118.46-.331.853-.637 1.168-.272.28-.684.587-1.254.938-.255.156-.368.387-.368.748 0 .351.077.481.11.521.12.145.32.3.592.463.376.226.702.494.972.795.3.334.518.786.662 1.38.052.213.112.882.172 4.228.006.566.138 1.07.39 1.502.25.431.584.753 1.02.984.443.235.971.356 1.57.356.974 0 1.055-.377 1.055-.764 0-.266-.054-.465-.157-.591a.501.501 0 00-.334-.2c-.374-.042-.66-.103-.87-.187a1.29 1.29 0 01-.678-.622c-.127-.244-.206-.588-.242-1.049a22.82 22.82 0 01-.046-1.68c0-.707-.034-1.327-.099-1.846a4.868 4.868 0 00-.31-1.26 2.848 2.848 0 00-.52-.843 4.267 4.267 0 00-.874-.702l-.773-.485.773-.487c.502-.318.88-.657 1.128-1.012.244-.35.413-.783.503-1.282.099-.55.153-1.333.169-2.333 0-.713.014-1.247.042-1.625.032-.437.105-.774.221-1.027.147-.317.382-.548.68-.672.214-.086.506-.152.896-.205a.429.429 0 00.224-.089.622.622 0 00.178-.251 1.11 1.11 0 00.089-.451c0-.268-.07-.45-.215-.57-.175-.144-.456-.215-.84-.215z"
id="path165" fill="#fff" fill-opacity="1" stroke-width="1.57" />
<path
d="M113.887-7.182c-.974 0-1.055.377-1.055.763 0 .267.05.467.153.592.1.12.205.182.338.2.374.042.658.103.867.186.294.116.524.326.678.623.127.245.206.588.242 1.048.032.397.046.945.046 1.68 0 .708.034 1.328.098 1.846.06.49.166.917.31 1.264.138.332.313.616.521.843.22.239.511.473.871.699l.773.487-.77.488c-.502.317-.882.656-1.128 1.009-.244.35-.414.78-.503 1.278-.099.551-.154 1.338-.169 2.337 0 .712-.015 1.246-.043 1.625-.03.437-.1.77-.217 1.024a1.294 1.294 0 01-.68.674c-.214.087-.506.154-.896.206a.44.44 0 00-.227.089.64.64 0 00-.178.251c-.06.135-.086.282-.086.45 0 .268.066.45.212.571.174.144.458.218.843.218.917 0 1.62-.254 2.155-.776.534-.522.802-1.205.822-2.091.023-1.095.046-2.007.064-2.735.02-.777.079-1.355.184-1.766.12-.46.333-.854.638-1.168.273-.28.684-.587 1.254-.938.254-.157.368-.385.368-.746 0-.35-.077-.483-.11-.524-.119-.143-.316-.298-.589-.463a4.268 4.268 0 01-.975-.794c-.3-.334-.515-.784-.66-1.377-.051-.213-.114-.885-.174-4.23-.007-.568-.138-1.072-.39-1.503a2.524 2.524 0 00-1.02-.984c-.443-.235-.968-.356-1.567-.356z"
id="path163" fill="#fff" fill-opacity="1" stroke-width="1.57" />
</g>
<path
d="M28.621 31.422c.224-.102.208 1.099.208-15.49 0-16.588.016-15.388-.208-15.49-.144-.065-24.6-.065-24.744 0-.223.102-.207-1.1-.206 15.498.001 12.58.01 15.259.052 15.334.112.203-.702.19 12.515.192 9.446.001 12.307-.01 12.383-.044zm-9.415-1.705c-.283-.11-.57-.4-.678-.687a1.216 1.216 0 011.131-1.655c.669 0 1.213.544 1.213 1.213 0 .853-.862 1.437-1.666 1.129zm-8.337-1.054v-.757H9.353v-1.668h1.516V24.723H12.536V26.238h1.516v1.668h-1.516V29.42H10.869zm10.99-1.22c-.284-.109-.57-.399-.678-.686a1.204 1.204 0 01.276-1.298c.762-.762 2.067-.222 2.067.855 0 .854-.862 1.438-1.666 1.13zM4.765 23.475l-.111-.11V1.377l.11-.111.111-.11h22.746l.11.11.112.11V23.366l-.111.11-.11.111H4.875z"
id="path4210" fill="#fff" fill-opacity="1" />
</svg>
</div>
<iframe id="simframe" allowfullscreen="allowfullscreen"
sandbox="allow-popups allow-forms allow-scripts allow-same-origin">
</iframe>
<div id="fullscreen"></div>
<script type="text/javascript">
makeCodeRun({ js: "./js/binary.js"})
</script>
</body>
</html>

38728
assets/js/binary.js сгенерированный

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

142
assets/js/loader.js сгенерированный
Просмотреть файл

@ -1,142 +0,0 @@
function makeCodeRun(options) {
var code = "";
var isReady = false;
var simState = {}
var simStateChanged = false
var started = false;
var meta = undefined;
// hide scrollbar
window.scrollTo(0, 1);
// init runtime
initSimState();
fetchCode();
// helpers
function fetchCode() {
sendReq(options.js, function (c, status) {
if (status != 200)
return;
code = c;
// find metadata
code.replace(/^\/\/\s+meta=([^\n]+)\n/m, function (m, metasrc) {
meta = JSON.parse(metasrc);
})
var vel = document.getElementById("version");
if (meta.version && meta.repo && vel) {
var ap = document.createElement("a");
ap.download = "arcade.uf2";
ap.href = "https://github.com/" + meta.repo + "/releases/download/v" + meta.version + "/arcade.uf2";
ap.innerText = "v" + meta.version;
vel.appendChild(ap);
}
// load simulator with correct version
document.getElementById("simframe")
.setAttribute("src", meta.simUrl);
initFullScreen();
})
}
function startSim() {
if (!code || !isReady || started)
return
setState("run");
started = true;
const runMsg = {
type: "run",
parts: [],
code: code,
partDefinitions: {},
cdnUrl: meta.cdnUrl,
version: meta.target,
storedState: simState,
frameCounter: 1,
options: {
"theme": "green",
"player": ""
},
id: "green-" + Math.random()
}
postMessage(runMsg);
}
function stopSim() {
setState("stopped");
postMessage({
type: "stop"
});
started = false;
}
window.addEventListener('message', function (ev) {
var d = ev.data
if (d.type == "ready") {
var loader = document.getElementById("loader");
if (loader)
loader.remove();
isReady = true;
startSim();
} else if (d.type == "simulator") {
switch (d.command) {
case "restart":
stopSim();
startSim();
break;
case "setstate":
if (d.stateValue === null)
delete simState[d.stateKey];
else
simState[d.stateKey] = d.stateValue;
simStateChanged = true;
break;
}
}
}, false);
// helpers
function setState(st) {
var r = document.getElementById("root");
if (r)
r.setAttribute("data-state", st);
}
function postMessage(msg) {
const frame = document.getElementById("simframe");
if (frame)
frame.contentWindow.postMessage(msg, meta.simUrl);
}
function sendReq(url, cb) {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function () {
if (xhttp.readyState == 4) {
cb(xhttp.responseText, xhttp.status)
}
};
xhttp.open("GET", url, true);
xhttp.send();
}
function initSimState() {
try {
simState = JSON.parse(localStorage["simstate"])
} catch (e) {
simState = {}
}
setInterval(function () {
if (simStateChanged)
localStorage["simstate"] = JSON.stringify(simState)
simStateChanged = false
}, 200)
}
function initFullScreen() {
var sim = document.getElementById("simframe");
var fs = document.getElementById("fullscreen");
if (fs && sim.requestFullscreen) {
fs.onclick = function() { sim.requestFullscreen(); }
} else if (fs) {
fs.remove();
}
}
}

1
assets/version.txt сгенерированный
Просмотреть файл

@ -1 +0,0 @@
0.6.0