gctGenerator/index.html

63 lines
2.1 KiB
HTML
Raw Normal View History

2017-09-27 11:08:01 +09:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
2017-09-27 11:58:17 +09:00
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
2017-09-27 11:44:10 +09:00
<link rel="stylesheet" href="~style~/style.css">
2017-09-27 11:58:17 +09:00
<title>GCT Generator</title>
<script language="javascript">
2017-09-27 11:08:01 +09:00
2017-09-27 11:58:17 +09:00
function downloadGCT(data, filename) {
var rawData = new Uint8Array(data.length/2);
for (var x = 0; x < rawData.length; x++) {
rawData[x] = parseInt(data.substr(x*2, 2), 16);
}
var file = new Blob([rawData], {type: "application/octet-stream"});
if (window.navigator.msSaveOrOpenBlob)
window.navigator.msSaveOrOpenBlob(file, filename);
else {
var a = document.createElement("a"),
url = window.URL.createObjectURL(file);
a.href = url;
a.download = filename;
a.click();
window.URL.revokeObjectURL(url);
}
}
2017-09-27 11:08:01 +09:00
2017-09-27 11:58:17 +09:00
function generateGCT() {
var data = "00D0C0DE00D0C0DE";
data += document.getElementById("gctData").value.replace(/[\s\n\r\t]+/gm,"");
if (!/^[a-fA-F0-9]+$/.test(data) || (data.length % 16 != 0)) {
alert("Not a valid code");
return;
};
data += "FF00000000000000";
var fileName = document.getElementById("gameID").value;
fileName += ".gct";
downloadGCT(data, fileName);
}
</script>
</head>
<body>
<div>
Game ID:<br />
<textarea id="gameID" rows="1" cols="50"></textarea><br />
Code:<br />
<textarea id="gctData" rows="20" cols="50"></textarea><br />
<button onclick="generateGCT()">Download</button>
</div>
</body>
2017-09-27 11:08:01 +09:00
</html>