mirror of
https://github.com/dscalzi/HeliosLauncher.git
synced 2024-12-22 19:52:14 -08:00
103 lines
3.7 KiB
JavaScript
103 lines
3.7 KiB
JavaScript
var $ = require('jQuery');
|
|
const remote = require('electron').remote
|
|
const shell = require('electron').shell
|
|
const path = require('path')
|
|
const os = require('os');
|
|
const ag = require(path.join(__dirname, 'assets', 'js', 'assetguard.js'))
|
|
|
|
function timestamp(){
|
|
let date = new Date();
|
|
const month = date.getMonth() < 9 ? '0'.concat((date.getMonth()+1)) : date.getMonth()
|
|
const day = date.getDate() < 10 ? '0'.concat(date.getDate()) : date.getDate();
|
|
let hour = date.getHours() > 12 ? date.getHours() - 12 : date.getHours();
|
|
hour = hour < 10 ? '0'.concat(hour) : hour
|
|
const min = date.getMinutes() < 10 ? '0'.concat(date.getMinutes()) : date.getMinutes();
|
|
const sec = date.getSeconds() < 10 ? '0'.concat(date.getSeconds()) : date.getSeconds();
|
|
|
|
return '[' + month + '/' + day + '/' + date.getFullYear() + ' ' + hour + ':' + min + ':' + sec + ']'
|
|
}
|
|
|
|
$(document).on('ready', function(){
|
|
$(".toggle-btn input[type=radio]").addClass("visuallyhidden");
|
|
$(".toggle-btn input[type=radio]").change(function() {
|
|
if($(this).attr("name")) {
|
|
$(this).parent().addClass("success").siblings().removeClass("success")
|
|
} else {
|
|
$(this).parent().toggleClass("success")
|
|
}
|
|
})
|
|
console.log = function(){
|
|
$('#launcher-log').append(timestamp() + ' [Log] - ' + Array.prototype.slice.call(arguments).join(' ') + os.EOL)
|
|
}
|
|
console.error = function(){
|
|
$('#launcher-log').append('<span class="log_debug">' + timestamp() + ' [Debug] - ' + Array.prototype.slice.call(arguments).join(' ') + "</span>" + os.EOL)
|
|
}
|
|
console.debug = function(){
|
|
$('#launcher-log').append('<span class="log_debug">' + timestamp() + ' [Error] - ' + Array.prototype.slice.call(arguments).join(' ') + "</span>" + os.EOL)
|
|
}
|
|
console.log('test')
|
|
console.debug('test')
|
|
})
|
|
|
|
/* Open web links in the user's default browser. */
|
|
$(document).on('click', 'a[href^="http"]', function(event) {
|
|
event.preventDefault();
|
|
testdownloads()
|
|
//console.log(os.homedir())
|
|
//shell.openExternal(this.href)
|
|
});
|
|
|
|
|
|
|
|
testdownloads = async function(){
|
|
const lp = require(path.join(__dirname, 'assets', 'js', 'launchprocess.js'))
|
|
const basePath = path.join(__dirname, '..', 'mcfiles')
|
|
let versionData = await ag.loadVersionData('1.11.2', basePath)
|
|
await ag.validateAssets(versionData, basePath)
|
|
console.log('assets done')
|
|
await ag.validateLibraries(versionData, basePath)
|
|
console.log('libs done')
|
|
await ag.validateMiscellaneous(versionData, basePath)
|
|
console.log('files done')
|
|
await ag.validateDistribution('WesterosCraft-1.11.2', basePath)
|
|
console.log('forge stuff done')
|
|
ag.instance.on('dlcomplete', async function(){
|
|
let forgeData = await ag.loadForgeData('WesterosCraft-1.11.2', basePath)
|
|
lp.launchMinecraft(versionData, forgeData, basePath)
|
|
//lp.launchMinecraft(versionData, basePath)
|
|
})
|
|
ag.processDlQueues()
|
|
}
|
|
|
|
/*Opens DevTools window if you type "wcdev" in sequence.
|
|
This will crash the program if you are using multiple
|
|
DevTools, for example the chrome debugger in VS Code. */
|
|
const match = [87, 67, 68, 69, 86]
|
|
let at = 0;
|
|
|
|
document.addEventListener('keydown', function (e) {
|
|
switch(e.keyCode){
|
|
case match[0]:
|
|
if(at === 0) ++at
|
|
break
|
|
case match[1]:
|
|
if(at === 1) ++at
|
|
break
|
|
case match[2]:
|
|
if(at === 2) ++at
|
|
break
|
|
case match[3]:
|
|
if(at === 3) ++at
|
|
break
|
|
case match[4]:
|
|
if(at === 4) ++at
|
|
break
|
|
default:
|
|
at = 0
|
|
}
|
|
if(at === 5) {
|
|
var window = remote.getCurrentWindow()
|
|
window.toggleDevTools()
|
|
at = 0
|
|
}
|
|
}) |