Add webpage to generate reg file

This commit is contained in:
2023-02-19 18:55:29 -07:00
parent ccf69e5641
commit 7609059efa
+73
View File
@@ -0,0 +1,73 @@
<script>
function toHex(num) {
num = num.toString(16);
while (num.length < 2) num = "0" + num;
return num;
}
function convertToHex(str) {
hexstring = "";
for (var n = 0; n < str.length; n++) {
let hex = Number(str.charCodeAt(n)).toString(16);
hexstring = hexstring.concat(toHex(hex), ",");
}
return hexstring + "00";
}
function generate() {
let base0 = "1001";
let base1 = "00";
let name = document.getElementById("fname").value;
let region = "1";
let url = document.getElementById("furl").value;
let hexstring = convertToHex(base0);
hexstring = hexstring + "," + convertToHex(base1);
hexstring = hexstring + "," + convertToHex(name);
hexstring = hexstring + "," + convertToHex(region);
hexstring = hexstring + "," + convertToHex(url);
hexstring = hexstring + "," + "00";
let regscript =
`REGEDIT4
[HKEY_CURRENT_USER\\Software\\Blizzard Entertainment\\Warcraft III]
"Battle.net Gateways"=hex(7):${hexstring}
`;
document.getElementById("regscript").value = regscript;
}
function downloadReg() {
let filename = "wc3.reg";
let data = document.getElementById("regscript").value;
var element = document.createElement('a');
element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(data));
element.setAttribute('download', filename);
element.style.display = 'none';
document.body.appendChild(element);
element.click();
document.body.removeChild(element);
}
</script>
<label for="fname">Gateway Name (Nickname): </label><br>
<input type="text" id="fname" name="fname">
<br><br>
<label for="furl">PvPGN Server URL:</label><br>
<input type="text" id="furl" name="furl">
<br><br>
<form onclick="return generate();" class="my-form">
<input type="button" value="Generate">
</form>
<form onclick="return downloadReg();" class="my-form">
<input type="button" value="Download">
</form>
<label for="regscript">Registry Script:</label><br>
<textarea id="regscript" name="regscript" rows="10" cols="200"></textarea>