mirror of
https://github.com/DevL0rd/SkyNX
synced 2024-11-24 20:13:03 +00:00
more good progress, but still a little broken. so close
This commit is contained in:
parent
fac3f69160
commit
acf91af8e0
7 changed files with 509 additions and 261 deletions
|
@ -4,11 +4,6 @@ ipcRenderer.on('close', function (event, data) {
|
|||
$("#startBtn").html("Start Streamer");
|
||||
running = false;
|
||||
});
|
||||
ipcRenderer.on('started', function (event, data) {
|
||||
$('#startBtn').addClass('btn-danger').removeClass('btn-dark');
|
||||
$("#startBtn").html("End Streamer");
|
||||
running = true;
|
||||
})
|
||||
var running = false;
|
||||
function connect() {
|
||||
ipcRenderer.send('connect', { ip: clientSettings.ip, q: clientSettings.quality, disableVideo: clientSettings.disableVideo, disableAudio: clientSettings.disableAudio, abxySwap: clientSettings.abxySwap, encoding: clientSettings.encoding, limitFPS: clientSettings.limitFPS, mouseControl: clientSettings.mouseControl });
|
||||
|
@ -25,6 +20,9 @@ $('#startBtn').click(function () {
|
|||
} else {
|
||||
disconnect();
|
||||
}
|
||||
$('#startBtn').addClass('btn-danger').removeClass('btn-dark');
|
||||
$("#startBtn").html("End Streamer");
|
||||
running = true;
|
||||
});
|
||||
$('#donateBtn').click(function () {
|
||||
ipcRenderer.send('donate');
|
||||
|
|
|
@ -8,7 +8,7 @@ const DB = require('./Devlord_modules/DB.js');
|
|||
const isDev = require('electron-is-dev');
|
||||
const Struct = require('struct');
|
||||
const net = require('net');
|
||||
// const robot = require("robotjs");
|
||||
const robot = require("robotjs");
|
||||
const VGen = require("vgen-xbox")
|
||||
const vgen = new VGen();
|
||||
const GyroServ = require("./Devlord_modules/GyroServ.js");
|
||||
|
@ -49,23 +49,23 @@ function createWindow() {
|
|||
});
|
||||
// Create the browser window.
|
||||
mainWindow = new BrowserWindow({
|
||||
title: "SkyNX",
|
||||
x: mainWindowState.x,
|
||||
y: mainWindowState.y,
|
||||
// width: mainWindowState.width,
|
||||
// height: mainWindowState.height,
|
||||
show: true,
|
||||
title: "SkyNX",
|
||||
x: mainWindowState.x,
|
||||
y: mainWindowState.y,
|
||||
// width: mainWindowState.width,
|
||||
// height: mainWindowState.height,
|
||||
show: true,
|
||||
width: 500,
|
||||
height: 320,
|
||||
frame: false,
|
||||
transparent: true, // needed for windows rounded edges
|
||||
resizable: false,
|
||||
webPreferences: {
|
||||
nodeIntegration: true,
|
||||
enableRemoteModule: true,
|
||||
frame: false,
|
||||
transparent: true, // needed for windows rounded edges
|
||||
resizable: false,
|
||||
webPreferences: {
|
||||
nodeIntegration: true,
|
||||
enableRemoteModule: true,
|
||||
contextIsolation: false,
|
||||
devTools: true
|
||||
}
|
||||
devTools: true
|
||||
}
|
||||
})
|
||||
mainWindowState.manage(mainWindow);
|
||||
mainWindow.setMenu(null);
|
||||
|
@ -132,7 +132,7 @@ ipcMain.on('min', function () {
|
|||
mainWindow.minimize();
|
||||
});
|
||||
ipcMain.on('max', function () {
|
||||
mainWindow.maximize();
|
||||
mainWindow.maximize();
|
||||
});
|
||||
|
||||
ipcMain.on('consoleCommand', (event, fullMessage) => {
|
||||
|
@ -200,7 +200,7 @@ function startStreamer(arg) {
|
|||
mouseControl = arg.mouseControl;
|
||||
encoding = arg.encoding
|
||||
|
||||
connectHID()
|
||||
setTimeout(connectHID, 0);
|
||||
|
||||
if (usingVideo) {
|
||||
if (autoChangeResolution && !restartingStream) {
|
||||
|
@ -235,7 +235,6 @@ function startStreamer(arg) {
|
|||
);
|
||||
ffmpegProcess.stdout.on("data", data => {
|
||||
log(`${data}`);
|
||||
clientSender.send("started");
|
||||
restartingStream = false;
|
||||
});
|
||||
ffmpegProcess.stderr.on('data', (data) => {
|
||||
|
@ -266,6 +265,7 @@ function startStreamer(arg) {
|
|||
});
|
||||
ffmpegAudioProcess.on('close', (code) => {
|
||||
log(`AudioProcess process exited with code ${code}`);
|
||||
clientSender.send("close");
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -490,45 +490,45 @@ function handleMouseInputToggling(hid, playerNumber) {
|
|||
toggledMouseInput = false;
|
||||
}
|
||||
}
|
||||
// function handleAnalogMouse(hid, playerNumber) {
|
||||
// var RJoyX = convertAnalog(hid.get("RJoyX" + playerNumber));
|
||||
// var RJoyY = convertAnalog(hid.get("RJoyY" + playerNumber));
|
||||
// var LJoyX = convertAnalog(hid.get("LJoyX" + playerNumber));
|
||||
// var LJoyY = convertAnalog(hid.get("LJoyY" + playerNumber));
|
||||
// var heldKeys = hid.get("HeldKeys" + playerNumber);
|
||||
// var inputStates = heldKeysBitmask(heldKeys);
|
||||
// var mouse = robot.getMousePos();
|
||||
// mx = mouse.x + (RJoyX * 25);
|
||||
// my = mouse.y - (RJoyY * 25);
|
||||
// if (mx && my) {
|
||||
// robot.moveMouse(mx, my);
|
||||
// }
|
||||
// if (LJoyX || LJoyY) {
|
||||
// robot.scrollMouse(LJoyX, LJoyY);
|
||||
// }
|
||||
// if (inputStates.ZR) {
|
||||
// if (!leftClicking) {
|
||||
// robot.mouseToggle("down");
|
||||
// leftClicking = true;
|
||||
// }
|
||||
// } else {
|
||||
// if (leftClicking) {
|
||||
// robot.mouseToggle("up");
|
||||
// leftClicking = false;
|
||||
// }
|
||||
// }
|
||||
// if (inputStates.ZL) {
|
||||
// if (!rightClicking) {
|
||||
// robot.mouseToggle("down", "right");
|
||||
// rightClicking = true;
|
||||
// }
|
||||
// } else {
|
||||
// if (rightClicking) {
|
||||
// robot.mouseToggle("up", "right");
|
||||
// rightClicking = false;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
function handleAnalogMouse(hid, playerNumber) {
|
||||
var RJoyX = convertAnalog(hid.get("RJoyX" + playerNumber));
|
||||
var RJoyY = convertAnalog(hid.get("RJoyY" + playerNumber));
|
||||
var LJoyX = convertAnalog(hid.get("LJoyX" + playerNumber));
|
||||
var LJoyY = convertAnalog(hid.get("LJoyY" + playerNumber));
|
||||
var heldKeys = hid.get("HeldKeys" + playerNumber);
|
||||
var inputStates = heldKeysBitmask(heldKeys);
|
||||
var mouse = robot.getMousePos();
|
||||
mx = mouse.x + (RJoyX * 25);
|
||||
my = mouse.y - (RJoyY * 25);
|
||||
if (mx && my) {
|
||||
robot.moveMouse(mx, my);
|
||||
}
|
||||
if (LJoyX || LJoyY) {
|
||||
robot.scrollMouse(LJoyX, LJoyY);
|
||||
}
|
||||
if (inputStates.ZR) {
|
||||
if (!leftClicking) {
|
||||
robot.mouseToggle("down");
|
||||
leftClicking = true;
|
||||
}
|
||||
} else {
|
||||
if (leftClicking) {
|
||||
robot.mouseToggle("up");
|
||||
leftClicking = false;
|
||||
}
|
||||
}
|
||||
if (inputStates.ZL) {
|
||||
if (!rightClicking) {
|
||||
robot.mouseToggle("down", "right");
|
||||
rightClicking = true;
|
||||
}
|
||||
} else {
|
||||
if (rightClicking) {
|
||||
robot.mouseToggle("up", "right");
|
||||
rightClicking = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var gyroHistory = [];
|
||||
function smoothGyroMouse(gyro) {
|
||||
|
@ -561,102 +561,102 @@ function smoothGyroMouse(gyro) {
|
|||
}
|
||||
var touchX1Old = 0;
|
||||
var touchY1Old = 0;
|
||||
// function handleGyroMouse(hid, playerNumber) {
|
||||
// var RJoyX = convertAnalog(hid.get("RJoyX" + playerNumber));
|
||||
// var RJoyY = convertAnalog(hid.get("RJoyY" + playerNumber));
|
||||
// var heldKeys = hid.get("HeldKeys" + playerNumber);
|
||||
// var inputStates = heldKeysBitmask(heldKeys);
|
||||
// var gyro = { x: hid.get("gyroX"), y: hid.get("gyroY"), z: hid.get("gyroZ") }
|
||||
// smoothGyroMouse(gyro);
|
||||
// var mouse = robot.getMousePos();
|
||||
// var ngx = gyro.x * -1;
|
||||
// var ngz = gyro.z * -1
|
||||
// mx = mouse.x + (ngz * ((screenWidth) / 3));
|
||||
// my = mouse.y + (ngx * ((screenHeight) / 2));
|
||||
// if (mx && my) {
|
||||
// robot.moveMouse(mx, my);
|
||||
// }
|
||||
// if (RJoyX || RJoyY) {
|
||||
// robot.scrollMouse(RJoyX, RJoyY);
|
||||
// }
|
||||
// if (inputStates.ZR) {
|
||||
// if (!leftClicking) {
|
||||
// robot.mouseToggle("down");
|
||||
// leftClicking = true;
|
||||
// }
|
||||
// } else {
|
||||
// if (leftClicking) {
|
||||
// robot.mouseToggle("up");
|
||||
// leftClicking = false;
|
||||
// }
|
||||
// }
|
||||
// if (inputStates.R) {
|
||||
// if (!rightClicking) {
|
||||
// robot.mouseToggle("down", "right");
|
||||
// rightClicking = true;
|
||||
// }
|
||||
// } else {
|
||||
// if (rightClicking) {
|
||||
// robot.mouseToggle("up", "right");
|
||||
// rightClicking = false;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// function handleTouchInput(hid) {
|
||||
// var touchX1 = hid.get("touchX1");
|
||||
// var touchY1 = hid.get("touchY1");
|
||||
// if (touchX1 && touchY1) {
|
||||
// touchX1 -= 15;
|
||||
// touchY1 -= 15;
|
||||
// touchX1 = Math.floor(screenWidth * (touchX1 / 1280))
|
||||
// touchY1 = Math.floor(screenHeight * (touchY1 / 720))
|
||||
// if (!touchX1old) touchX1old = touchX1;
|
||||
// if (!touchY1old) touchY1old = touchY1;
|
||||
// var touchX2 = hid.get("touchX2");
|
||||
// var touchY2 = hid.get("touchY2");
|
||||
// if (touchX2 && touchY2) {
|
||||
// rightTouchTime++;
|
||||
// if (rightTouchTime > 5) { //Handle scrolling
|
||||
// var xDiff = touchX1old - touchX1;
|
||||
// var yDiff = touchY1old - touchY1;
|
||||
// robot.scrollMouse(xDiff, yDiff);
|
||||
// scrolling = true;
|
||||
// touchRightClicking = false;
|
||||
// } else { //Handle left click
|
||||
// touchRightClicking = true;
|
||||
// }
|
||||
// } else {
|
||||
// if (touchRightClicking) {
|
||||
// robot.mouseClick("right");
|
||||
// touchRightClicking = false
|
||||
// }
|
||||
// scrolling = false;
|
||||
// rightTouchTime = 0;
|
||||
// }
|
||||
// if (!scrolling) {
|
||||
// leftTouchTime++;
|
||||
// if (Math.abs(touchX1 - touchX1old) > 5 || Math.abs(touchY1 - touchY1old) > 5) {
|
||||
// robot.moveMouse(touchX1 / screenScale, touchY1 / screenScale);
|
||||
// }
|
||||
// if (!touchLeftClicking) {
|
||||
// robot.mouseToggle("down");
|
||||
// touchLeftClicking = true;
|
||||
// }
|
||||
// } else {
|
||||
// robot.mouseToggle("up");
|
||||
// touchLeftClicking = false;
|
||||
// }
|
||||
// touchX1old = touchX1;
|
||||
// touchY1old = touchY1;
|
||||
// } else {
|
||||
// if (touchLeftClicking) { //release left click
|
||||
// robot.mouseToggle("up");
|
||||
// touchLeftClicking = false;
|
||||
// }
|
||||
// leftTouchTime = 0;
|
||||
// rightTouchTime = 0;
|
||||
// }
|
||||
// }
|
||||
function handleGyroMouse(hid, playerNumber) {
|
||||
var RJoyX = convertAnalog(hid.get("RJoyX" + playerNumber));
|
||||
var RJoyY = convertAnalog(hid.get("RJoyY" + playerNumber));
|
||||
var heldKeys = hid.get("HeldKeys" + playerNumber);
|
||||
var inputStates = heldKeysBitmask(heldKeys);
|
||||
var gyro = { x: hid.get("gyroX"), y: hid.get("gyroY"), z: hid.get("gyroZ") }
|
||||
smoothGyroMouse(gyro);
|
||||
var mouse = robot.getMousePos();
|
||||
var ngx = gyro.x * -1;
|
||||
var ngz = gyro.z * -1
|
||||
mx = mouse.x + (ngz * ((screenWidth) / 3));
|
||||
my = mouse.y + (ngx * ((screenHeight) / 2));
|
||||
if (mx && my) {
|
||||
robot.moveMouse(mx, my);
|
||||
}
|
||||
if (RJoyX || RJoyY) {
|
||||
robot.scrollMouse(RJoyX, RJoyY);
|
||||
}
|
||||
if (inputStates.ZR) {
|
||||
if (!leftClicking) {
|
||||
robot.mouseToggle("down");
|
||||
leftClicking = true;
|
||||
}
|
||||
} else {
|
||||
if (leftClicking) {
|
||||
robot.mouseToggle("up");
|
||||
leftClicking = false;
|
||||
}
|
||||
}
|
||||
if (inputStates.R) {
|
||||
if (!rightClicking) {
|
||||
robot.mouseToggle("down", "right");
|
||||
rightClicking = true;
|
||||
}
|
||||
} else {
|
||||
if (rightClicking) {
|
||||
robot.mouseToggle("up", "right");
|
||||
rightClicking = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
function handleTouchInput(hid) {
|
||||
var touchX1 = hid.get("touchX1");
|
||||
var touchY1 = hid.get("touchY1");
|
||||
if (touchX1 && touchY1) {
|
||||
touchX1 -= 15;
|
||||
touchY1 -= 15;
|
||||
touchX1 = Math.floor(screenWidth * (touchX1 / 1280))
|
||||
touchY1 = Math.floor(screenHeight * (touchY1 / 720))
|
||||
if (!touchX1old) touchX1old = touchX1;
|
||||
if (!touchY1old) touchY1old = touchY1;
|
||||
var touchX2 = hid.get("touchX2");
|
||||
var touchY2 = hid.get("touchY2");
|
||||
if (touchX2 && touchY2) {
|
||||
rightTouchTime++;
|
||||
if (rightTouchTime > 5) { //Handle scrolling
|
||||
var xDiff = touchX1old - touchX1;
|
||||
var yDiff = touchY1old - touchY1;
|
||||
robot.scrollMouse(xDiff, yDiff);
|
||||
scrolling = true;
|
||||
touchRightClicking = false;
|
||||
} else { //Handle left click
|
||||
touchRightClicking = true;
|
||||
}
|
||||
} else {
|
||||
if (touchRightClicking) {
|
||||
robot.mouseClick("right");
|
||||
touchRightClicking = false
|
||||
}
|
||||
scrolling = false;
|
||||
rightTouchTime = 0;
|
||||
}
|
||||
if (!scrolling) {
|
||||
leftTouchTime++;
|
||||
if (Math.abs(touchX1 - touchX1old) > 5 || Math.abs(touchY1 - touchY1old) > 5) {
|
||||
robot.moveMouse(touchX1 / screenScale, touchY1 / screenScale);
|
||||
}
|
||||
if (!touchLeftClicking) {
|
||||
robot.mouseToggle("down");
|
||||
touchLeftClicking = true;
|
||||
}
|
||||
} else {
|
||||
robot.mouseToggle("up");
|
||||
touchLeftClicking = false;
|
||||
}
|
||||
touchX1old = touchX1;
|
||||
touchY1old = touchY1;
|
||||
} else {
|
||||
if (touchLeftClicking) { //release left click
|
||||
robot.mouseToggle("up");
|
||||
touchLeftClicking = false;
|
||||
}
|
||||
leftTouchTime = 0;
|
||||
rightTouchTime = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function handleGyroAndAccel(hid) {
|
||||
|
@ -672,22 +672,22 @@ function handleGyroAndAccel(hid) {
|
|||
var fpsPrintTimer = 0;
|
||||
var hidDataBuffer = "";
|
||||
function connectHID() {
|
||||
hidStreamClient.connect({
|
||||
host: ip,
|
||||
port: 2223
|
||||
});
|
||||
log("Connecting to switch...");
|
||||
log(ip)
|
||||
hidStreamClient.connect(2223, ip, function () {
|
||||
hidStreamClient.setNoDelay(true);
|
||||
log('Connected to Switch!');
|
||||
});
|
||||
}
|
||||
hidStreamClient.on('error', function (ex) {
|
||||
log("Could not connect to Switch. Connection timed out...");
|
||||
if (ex) {
|
||||
log("Could not connect to Switch. Connection timed out...");
|
||||
setTimeout(connectHID, 1000);
|
||||
}
|
||||
});
|
||||
hidStreamClient.on('connect', function () {
|
||||
hidStreamClient.setNoDelay(true);
|
||||
log('Connected to Switch!');
|
||||
});
|
||||
hidStreamClient.on('data', function (chunk) {
|
||||
log(chunk)
|
||||
hidDataBuffer += chunk.toString("hex");
|
||||
var completeData = "";
|
||||
if (hidDataBuffer.includes("ffffffffffffffff") && hidDataBuffer.includes("ffffffffffffff7")) {
|
||||
|
@ -719,15 +719,15 @@ hidStreamClient.on('data', function (chunk) {
|
|||
}
|
||||
handleMouseInputToggling(hid, 1);
|
||||
if (mouseControl == "ANALOG" && mouseInput) {
|
||||
// handleAnalogMouse(hid, 1);
|
||||
handleAnalogMouse(hid, 1);
|
||||
} else if (mouseControl == "GYRO" && mouseInput) {
|
||||
// handleGyroMouse(hid, 1);
|
||||
handleGyroMouse(hid, 1);
|
||||
}
|
||||
// handleTouchInput(hid);
|
||||
handleTouchInput(hid);
|
||||
handleGyroAndAccel(hid);
|
||||
});
|
||||
|
||||
hidStreamClient.on('end', function () {
|
||||
hidStreamClient.on('close', function () {
|
||||
log('hidStreamClient Disconnected.');
|
||||
try {
|
||||
for (i in controllerIds) {
|
||||
|
|
351
SkyNX-Streamer/package-lock.json
generated
351
SkyNX-Streamer/package-lock.json
generated
|
@ -74,11 +74,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"@popperjs/core": {
|
||||
"version": "2.11.2",
|
||||
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.2.tgz",
|
||||
"integrity": "sha512-92FRmppjjqz29VMJ2dn+xdyXZBrMlE42AV6Kq6BwjWV7CNUW1hs2FtxSNLQE+gJhaZ6AAmYuO9y8dshhcBl7vA=="
|
||||
},
|
||||
"@sindresorhus/is": {
|
||||
"version": "0.14.0",
|
||||
"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz",
|
||||
|
@ -178,8 +173,7 @@
|
|||
"ansi-regex": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
||||
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
|
||||
"dev": true
|
||||
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
|
||||
},
|
||||
"ansi-styles": {
|
||||
"version": "4.3.0",
|
||||
|
@ -264,25 +258,31 @@
|
|||
"base64-js": {
|
||||
"version": "1.5.1",
|
||||
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
|
||||
"integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
|
||||
"dev": true
|
||||
"integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
|
||||
},
|
||||
"bl": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
|
||||
"integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"buffer": "^5.5.0",
|
||||
"inherits": "^2.0.4",
|
||||
"readable-stream": "^3.4.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"buffer": {
|
||||
"version": "5.7.1",
|
||||
"resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
|
||||
"integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
|
||||
"requires": {
|
||||
"base64-js": "^1.3.1",
|
||||
"ieee754": "^1.1.13"
|
||||
}
|
||||
},
|
||||
"readable-stream": {
|
||||
"version": "3.6.0",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
|
||||
"integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"inherits": "^2.0.3",
|
||||
"string_decoder": "^1.1.1",
|
||||
|
@ -297,11 +297,6 @@
|
|||
"integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==",
|
||||
"optional": true
|
||||
},
|
||||
"bootstrap": {
|
||||
"version": "5.1.3",
|
||||
"resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.1.3.tgz",
|
||||
"integrity": "sha512-fcQztozJ8jToQWXxVuEyXWW+dSo8AiXWKwiSSrKWsRB/Qt+Ewwza+JWoLKiTuQLaEPhdNAJ7+Dosc9DOIqNy7Q=="
|
||||
},
|
||||
"brace-expansion": {
|
||||
"version": "1.1.11",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
|
||||
|
@ -313,13 +308,12 @@
|
|||
}
|
||||
},
|
||||
"buffer": {
|
||||
"version": "5.7.1",
|
||||
"resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
|
||||
"integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
|
||||
"dev": true,
|
||||
"version": "6.0.3",
|
||||
"resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
|
||||
"integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
|
||||
"requires": {
|
||||
"base64-js": "^1.3.1",
|
||||
"ieee754": "^1.1.13"
|
||||
"ieee754": "^1.2.1"
|
||||
}
|
||||
},
|
||||
"buffer-crc32": {
|
||||
|
@ -463,6 +457,11 @@
|
|||
"mimic-response": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"code-point-at": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
|
||||
"integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
|
||||
},
|
||||
"color-convert": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
|
||||
|
@ -514,8 +513,7 @@
|
|||
"console-control-strings": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
|
||||
"integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
|
||||
"dev": true
|
||||
"integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4="
|
||||
},
|
||||
"core-util-is": {
|
||||
"version": "1.0.3",
|
||||
|
@ -554,6 +552,11 @@
|
|||
"mimic-response": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"deep-extend": {
|
||||
"version": "0.6.0",
|
||||
"resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
|
||||
"integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA=="
|
||||
},
|
||||
"defaults": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
|
||||
|
@ -580,8 +583,7 @@
|
|||
"delegates": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
|
||||
"integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
|
||||
"dev": true
|
||||
"integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o="
|
||||
},
|
||||
"depd": {
|
||||
"version": "1.1.2",
|
||||
|
@ -592,8 +594,7 @@
|
|||
"detect-libc": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
|
||||
"integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=",
|
||||
"dev": true
|
||||
"integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups="
|
||||
},
|
||||
"detect-node": {
|
||||
"version": "2.1.0",
|
||||
|
@ -828,8 +829,7 @@
|
|||
"emoji-regex": {
|
||||
"version": "8.0.0",
|
||||
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
|
||||
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
|
||||
"dev": true
|
||||
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
|
||||
},
|
||||
"encodeurl": {
|
||||
"version": "1.0.2",
|
||||
|
@ -884,6 +884,11 @@
|
|||
"integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
|
||||
"optional": true
|
||||
},
|
||||
"expand-template": {
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz",
|
||||
"integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg=="
|
||||
},
|
||||
"extract-zip": {
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz",
|
||||
|
@ -949,6 +954,11 @@
|
|||
"qs": "6.9.3"
|
||||
}
|
||||
},
|
||||
"fs-constants": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
|
||||
"integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow=="
|
||||
},
|
||||
"fs-extra": {
|
||||
"version": "8.1.0",
|
||||
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
|
||||
|
@ -1018,6 +1028,11 @@
|
|||
"get-symbol-from-current-process-h": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"github-from-package": {
|
||||
"version": "0.0.0",
|
||||
"resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz",
|
||||
"integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4="
|
||||
},
|
||||
"glob": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
|
||||
|
@ -1110,8 +1125,7 @@
|
|||
"has-unicode": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
|
||||
"integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
|
||||
"dev": true
|
||||
"integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk="
|
||||
},
|
||||
"hexoid": {
|
||||
"version": "1.0.0",
|
||||
|
@ -1176,8 +1190,7 @@
|
|||
"ieee754": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
|
||||
"integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
|
||||
"dev": true
|
||||
"integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
|
||||
},
|
||||
"imurmurhash": {
|
||||
"version": "0.1.4",
|
||||
|
@ -1215,8 +1228,7 @@
|
|||
"ini": {
|
||||
"version": "1.3.8",
|
||||
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
|
||||
"integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
|
||||
"optional": true
|
||||
"integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="
|
||||
},
|
||||
"ip": {
|
||||
"version": "1.1.5",
|
||||
|
@ -1227,8 +1239,7 @@
|
|||
"is-fullwidth-code-point": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
|
||||
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
|
||||
"dev": true
|
||||
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="
|
||||
},
|
||||
"is-interactive": {
|
||||
"version": "1.0.0",
|
||||
|
@ -1482,11 +1493,21 @@
|
|||
"minimist": "^1.2.5"
|
||||
}
|
||||
},
|
||||
"mkdirp-classic": {
|
||||
"version": "0.5.3",
|
||||
"resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
|
||||
"integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A=="
|
||||
},
|
||||
"ms": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
||||
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
|
||||
},
|
||||
"napi-build-utils": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz",
|
||||
"integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg=="
|
||||
},
|
||||
"negotiator": {
|
||||
"version": "0.6.3",
|
||||
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
|
||||
|
@ -1573,6 +1594,11 @@
|
|||
"resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz",
|
||||
"integrity": "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q=="
|
||||
},
|
||||
"noop-logger": {
|
||||
"version": "0.1.1",
|
||||
"resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz",
|
||||
"integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI="
|
||||
},
|
||||
"nopt": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
|
||||
|
@ -1609,6 +1635,11 @@
|
|||
"set-blocking": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"number-is-nan": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
|
||||
"integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
|
||||
},
|
||||
"object-assign": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
|
||||
|
@ -1684,11 +1715,6 @@
|
|||
"resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
|
||||
"integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA="
|
||||
},
|
||||
"picomatch": {
|
||||
"version": "2.3.1",
|
||||
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
|
||||
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="
|
||||
},
|
||||
"pify": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
|
||||
|
@ -1700,6 +1726,114 @@
|
|||
"resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz",
|
||||
"integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ=="
|
||||
},
|
||||
"prebuild-install": {
|
||||
"version": "5.3.6",
|
||||
"resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-5.3.6.tgz",
|
||||
"integrity": "sha512-s8Aai8++QQGi4sSbs/M1Qku62PFK49Jm1CbgXklGz4nmHveDq0wzJkg7Na5QbnO1uNH8K7iqx2EQ/mV0MZEmOg==",
|
||||
"requires": {
|
||||
"detect-libc": "^1.0.3",
|
||||
"expand-template": "^2.0.3",
|
||||
"github-from-package": "0.0.0",
|
||||
"minimist": "^1.2.3",
|
||||
"mkdirp-classic": "^0.5.3",
|
||||
"napi-build-utils": "^1.0.1",
|
||||
"node-abi": "^2.7.0",
|
||||
"noop-logger": "^0.1.1",
|
||||
"npmlog": "^4.0.1",
|
||||
"pump": "^3.0.0",
|
||||
"rc": "^1.2.7",
|
||||
"simple-get": "^3.0.3",
|
||||
"tar-fs": "^2.0.0",
|
||||
"tunnel-agent": "^0.6.0",
|
||||
"which-pm-runs": "^1.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"ansi-regex": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
|
||||
"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
|
||||
},
|
||||
"aproba": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
|
||||
"integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="
|
||||
},
|
||||
"are-we-there-yet": {
|
||||
"version": "1.1.7",
|
||||
"resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz",
|
||||
"integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==",
|
||||
"requires": {
|
||||
"delegates": "^1.0.0",
|
||||
"readable-stream": "^2.0.6"
|
||||
}
|
||||
},
|
||||
"gauge": {
|
||||
"version": "2.7.4",
|
||||
"resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
|
||||
"integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
|
||||
"requires": {
|
||||
"aproba": "^1.0.3",
|
||||
"console-control-strings": "^1.0.0",
|
||||
"has-unicode": "^2.0.0",
|
||||
"object-assign": "^4.1.0",
|
||||
"signal-exit": "^3.0.0",
|
||||
"string-width": "^1.0.1",
|
||||
"strip-ansi": "^3.0.1",
|
||||
"wide-align": "^1.1.0"
|
||||
}
|
||||
},
|
||||
"is-fullwidth-code-point": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
|
||||
"integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
|
||||
"requires": {
|
||||
"number-is-nan": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"node-abi": {
|
||||
"version": "2.30.1",
|
||||
"resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.30.1.tgz",
|
||||
"integrity": "sha512-/2D0wOQPgaUWzVSVgRMx+trKJRC2UG4SUc4oCJoXx9Uxjtp0Vy3/kt7zcbxHF8+Z/pK3UloLWzBISg72brfy1w==",
|
||||
"requires": {
|
||||
"semver": "^5.4.1"
|
||||
}
|
||||
},
|
||||
"npmlog": {
|
||||
"version": "4.1.2",
|
||||
"resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
|
||||
"integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
|
||||
"requires": {
|
||||
"are-we-there-yet": "~1.1.2",
|
||||
"console-control-strings": "~1.1.0",
|
||||
"gauge": "~2.7.3",
|
||||
"set-blocking": "~2.0.0"
|
||||
}
|
||||
},
|
||||
"semver": {
|
||||
"version": "5.7.1",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
|
||||
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
|
||||
},
|
||||
"string-width": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
|
||||
"integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
|
||||
"requires": {
|
||||
"code-point-at": "^1.0.0",
|
||||
"is-fullwidth-code-point": "^1.0.0",
|
||||
"strip-ansi": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"strip-ansi": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
|
||||
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
|
||||
"requires": {
|
||||
"ansi-regex": "^2.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"prepend-http": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz",
|
||||
|
@ -1757,6 +1891,17 @@
|
|||
"integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==",
|
||||
"dev": true
|
||||
},
|
||||
"rc": {
|
||||
"version": "1.2.8",
|
||||
"resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
|
||||
"integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
|
||||
"requires": {
|
||||
"deep-extend": "^0.6.0",
|
||||
"ini": "~1.3.0",
|
||||
"minimist": "^1.2.0",
|
||||
"strip-json-comments": "~2.0.1"
|
||||
}
|
||||
},
|
||||
"readable-stream": {
|
||||
"version": "2.3.7",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
|
||||
|
@ -1771,14 +1916,6 @@
|
|||
"util-deprecate": "~1.0.1"
|
||||
}
|
||||
},
|
||||
"readdirp": {
|
||||
"version": "3.6.0",
|
||||
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
|
||||
"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
|
||||
"requires": {
|
||||
"picomatch": "^2.2.1"
|
||||
}
|
||||
},
|
||||
"ref-napi": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/ref-napi/-/ref-napi-2.1.2.tgz",
|
||||
|
@ -1874,6 +2011,21 @@
|
|||
"sprintf-js": "^1.1.2"
|
||||
}
|
||||
},
|
||||
"robotjs": {
|
||||
"version": "git+https://github.com/csett86/robotjs.git#f74b42c257d72ec1c224d27c8c79b371d0ddc507",
|
||||
"from": "git+https://github.com/csett86/robotjs.git",
|
||||
"requires": {
|
||||
"node-addon-api": "^4.2.0",
|
||||
"prebuild-install": "^5.3.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"node-addon-api": {
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz",
|
||||
"integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"safe-buffer": {
|
||||
"version": "5.1.2",
|
||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
|
||||
|
@ -1909,8 +2061,7 @@
|
|||
"set-blocking": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
|
||||
"integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
|
||||
"dev": true
|
||||
"integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
|
||||
},
|
||||
"shebang-command": {
|
||||
"version": "2.0.0",
|
||||
|
@ -1930,8 +2081,37 @@
|
|||
"signal-exit": {
|
||||
"version": "3.0.7",
|
||||
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
|
||||
"integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
|
||||
"dev": true
|
||||
"integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
|
||||
},
|
||||
"simple-concat": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
|
||||
"integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q=="
|
||||
},
|
||||
"simple-get": {
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.1.tgz",
|
||||
"integrity": "sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==",
|
||||
"requires": {
|
||||
"decompress-response": "^4.2.0",
|
||||
"once": "^1.3.1",
|
||||
"simple-concat": "^1.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"decompress-response": {
|
||||
"version": "4.2.1",
|
||||
"resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz",
|
||||
"integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==",
|
||||
"requires": {
|
||||
"mimic-response": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"mimic-response": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz",
|
||||
"integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"smart-buffer": {
|
||||
"version": "4.2.0",
|
||||
|
@ -1979,7 +2159,6 @@
|
|||
"version": "4.2.3",
|
||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
|
||||
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"emoji-regex": "^8.0.0",
|
||||
"is-fullwidth-code-point": "^3.0.0",
|
||||
|
@ -1998,11 +2177,15 @@
|
|||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
||||
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ansi-regex": "^5.0.1"
|
||||
}
|
||||
},
|
||||
"strip-json-comments": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
|
||||
"integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo="
|
||||
},
|
||||
"struct": {
|
||||
"version": "0.0.12",
|
||||
"resolved": "https://registry.npmjs.org/struct/-/struct-0.0.12.tgz",
|
||||
|
@ -2047,6 +2230,48 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"tar-fs": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
|
||||
"integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
|
||||
"requires": {
|
||||
"chownr": "^1.1.1",
|
||||
"mkdirp-classic": "^0.5.2",
|
||||
"pump": "^3.0.0",
|
||||
"tar-stream": "^2.1.4"
|
||||
},
|
||||
"dependencies": {
|
||||
"chownr": {
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
|
||||
"integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"tar-stream": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
|
||||
"integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
|
||||
"requires": {
|
||||
"bl": "^4.0.3",
|
||||
"end-of-stream": "^1.4.1",
|
||||
"fs-constants": "^1.0.0",
|
||||
"inherits": "^2.0.3",
|
||||
"readable-stream": "^3.1.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"readable-stream": {
|
||||
"version": "3.6.0",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
|
||||
"integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
|
||||
"requires": {
|
||||
"inherits": "^2.0.3",
|
||||
"string_decoder": "^1.1.1",
|
||||
"util-deprecate": "^1.0.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"to-readable-stream": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz",
|
||||
|
@ -2058,6 +2283,14 @@
|
|||
"integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==",
|
||||
"optional": true
|
||||
},
|
||||
"tunnel-agent": {
|
||||
"version": "0.6.0",
|
||||
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
|
||||
"integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
|
||||
"requires": {
|
||||
"safe-buffer": "^5.0.1"
|
||||
}
|
||||
},
|
||||
"type-fest": {
|
||||
"version": "0.13.1",
|
||||
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz",
|
||||
|
@ -2153,11 +2386,15 @@
|
|||
"isexe": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"which-pm-runs": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.1.0.tgz",
|
||||
"integrity": "sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA=="
|
||||
},
|
||||
"wide-align": {
|
||||
"version": "1.1.5",
|
||||
"resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
|
||||
"integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"string-width": "^1.0.2 || 2 || 3 || 4"
|
||||
}
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
"dependencies": {
|
||||
"ansi_up": "latest",
|
||||
"auto-launch": "latest",
|
||||
"buffer": "^6.0.3",
|
||||
"crc": "latest",
|
||||
"dgram": "latest",
|
||||
"electron": "^17.1.0",
|
||||
|
@ -22,6 +23,7 @@
|
|||
"jquery": "latest",
|
||||
"long": "latest",
|
||||
"popper.js": "^1.16.1",
|
||||
"robotjs": "git+https://github.com/csett86/robotjs.git",
|
||||
"struct": "latest",
|
||||
"vgen-xbox": "git+https://github.com/JAMesserman/vgen-xbox.git",
|
||||
"windows-elevate": "^1.0.1",
|
||||
|
|
|
@ -14,11 +14,16 @@ Result rc = 0;
|
|||
void gamePadSend(JoyConSocket *connection)
|
||||
{
|
||||
JoyPkg pkg;
|
||||
|
||||
pkg.streamStart = (uint64_t)UINT64_MAX; // easy identifiers for the start and stop of tcp stream
|
||||
pkg.streamEnd = (uint64_t)UINT64_MAX / 2;
|
||||
pkg.controllerCount = (uint32_t)1;
|
||||
|
||||
padUpdate(&pad);
|
||||
|
||||
u64 kDown = padGetButtonsDown(&pad);
|
||||
u64 kHeld = padGetButtons(&pad);
|
||||
u64 kUp = padGetButtonsUp(&pad);
|
||||
|
||||
tmpout = 0;
|
||||
rc = hiddbgGetAbstractedPadsState(pads, states, sizeof(pads) / sizeof(u64), &tmpout);
|
||||
|
||||
|
@ -63,6 +68,11 @@ void gamePadSend(JoyConSocket *connection)
|
|||
pkg.rJoyX4 = (int32_t)states[3].state.analog_stick_r.x;
|
||||
pkg.rJoyY4 = (int32_t)states[3].state.analog_stick_r.y;
|
||||
|
||||
printf("%d %d %d %d\n", pkg.lJoyX1, pkg.lJoyY1, pkg.rJoyX1, pkg.rJoyY1);
|
||||
printf("%d %d %d %d\n", pkg.lJoyX2, pkg.lJoyY2, pkg.rJoyX2, pkg.rJoyY2);
|
||||
printf("%d %d %d %d\n", pkg.lJoyX3, pkg.lJoyY3, pkg.rJoyX3, pkg.rJoyY3);
|
||||
printf("%d %d %d %d\n", pkg.lJoyX4, pkg.lJoyY4, pkg.rJoyX4, pkg.rJoyY4);
|
||||
|
||||
HidTouchScreenState touchState = {0};
|
||||
if (hidGetTouchScreenStates(&touchState, 1))
|
||||
{
|
||||
|
@ -71,28 +81,29 @@ void gamePadSend(JoyConSocket *connection)
|
|||
pkg.touchX2 = (uint32_t)touchState.touches[1].x;
|
||||
pkg.touchY2 = (uint32_t)touchState.touches[1].y;
|
||||
}
|
||||
|
||||
HidSixAxisSensorState sixaxis = {0};
|
||||
u64 style_set = padGetStyleSet(&pad);
|
||||
if (style_set & HidNpadStyleTag_NpadHandheld)
|
||||
hidGetSixAxisSensorStates(handles[0], &sixaxis, 1);
|
||||
else if (style_set & HidNpadStyleTag_NpadFullKey)
|
||||
hidGetSixAxisSensorStates(handles[1], &sixaxis, 1);
|
||||
else if (style_set & HidNpadStyleTag_NpadJoyDual)
|
||||
{
|
||||
// For JoyDual, read from either the Left or Right Joy-Con depending on which is/are connected
|
||||
u64 attrib = padGetAttributes(&pad);
|
||||
if (attrib & HidNpadAttribute_IsLeftConnected)
|
||||
hidGetSixAxisSensorStates(handles[2], &sixaxis, 1);
|
||||
else if (attrib & HidNpadAttribute_IsRightConnected)
|
||||
hidGetSixAxisSensorStates(handles[3], &sixaxis, 1);
|
||||
}
|
||||
pkg.accelX = (float_t)sixaxis.acceleration.x;
|
||||
pkg.accelY = (float_t)sixaxis.acceleration.y;
|
||||
pkg.accelZ = (float_t)sixaxis.acceleration.z;
|
||||
pkg.gyroX = (float_t)sixaxis.angle.x;
|
||||
pkg.gyroY = (float_t)sixaxis.angle.y;
|
||||
pkg.gyroZ = (float_t)sixaxis.angle.z;
|
||||
printf("%d %d %d %d\n", pkg.touchX1, pkg.touchY1, pkg.touchX2, pkg.touchY2);
|
||||
// HidSixAxisSensorState sixaxis = {0};
|
||||
// u64 style_set = padGetStyleSet(&pad);
|
||||
// if (style_set & HidNpadStyleTag_NpadHandheld)
|
||||
// hidGetSixAxisSensorStates(handles[0], &sixaxis, 1);
|
||||
// else if (style_set & HidNpadStyleTag_NpadFullKey)
|
||||
// hidGetSixAxisSensorStates(handles[1], &sixaxis, 1);
|
||||
// else if (style_set & HidNpadStyleTag_NpadJoyDual)
|
||||
// {
|
||||
// // For JoyDual, read from either the Left or Right Joy-Con depending on which is/are connected
|
||||
// u64 attrib = padGetAttributes(&pad);
|
||||
// if (attrib & HidNpadAttribute_IsLeftConnected)
|
||||
// hidGetSixAxisSensorStates(handles[2], &sixaxis, 1);
|
||||
// else if (attrib & HidNpadAttribute_IsRightConnected)
|
||||
// hidGetSixAxisSensorStates(handles[3], &sixaxis, 1);
|
||||
// }
|
||||
// pkg.accelX = (float_t)sixaxis.acceleration.x;
|
||||
// pkg.accelY = (float_t)sixaxis.acceleration.y;
|
||||
// pkg.accelZ = (float_t)sixaxis.acceleration.z;
|
||||
// pkg.gyroX = (float_t)sixaxis.angle.x;
|
||||
// pkg.gyroY = (float_t)sixaxis.angle.y;
|
||||
// pkg.gyroZ = (float_t)sixaxis.angle.z;
|
||||
// printf("%f %f %f %f %f %f\n", pkg.accelX, pkg.accelY, pkg.accelZ, pkg.gyroX, pkg.gyroY, pkg.gyroZ);
|
||||
sendJoyConInput(connection, &pkg);
|
||||
}
|
||||
|
||||
|
|
|
@ -53,12 +53,12 @@ void init()
|
|||
{
|
||||
// consoleInit(NULL);
|
||||
/* Init all switch required systems */
|
||||
printf("romfsInit\n");
|
||||
romfsInit();
|
||||
|
||||
printf("networkInit\n");
|
||||
network_init(&socketInitConf);
|
||||
|
||||
printf("romfsInit\n");
|
||||
romfsInit();
|
||||
|
||||
printf("audoutInitialize\n");
|
||||
audoutInitialize();
|
||||
|
||||
|
|
|
@ -144,29 +144,29 @@ void initBubbles()
|
|||
{
|
||||
while (bubblesLength < maxBubbles)
|
||||
{
|
||||
SDL_Color bubbleColor = {126, 242, 213, 255};
|
||||
SDL_Color bubbleColor = {148, 0, 126, 255};
|
||||
float randR = 15;
|
||||
if (bubblesLength < 8)
|
||||
{
|
||||
SDL_Color nbc = {145, 255, 249, 120};
|
||||
SDL_Color nbc = {120, 0, 102, 120};
|
||||
randR = getRandomInt(5, 20);
|
||||
bubbleColor = nbc;
|
||||
}
|
||||
else if (bubblesLength < 13)
|
||||
{
|
||||
SDL_Color nbc = {75, 219, 211, 180};
|
||||
SDL_Color nbc = {89, 0, 76, 180};
|
||||
randR = getRandomInt(25, 40);
|
||||
bubbleColor = nbc;
|
||||
}
|
||||
else if (bubblesLength < 17)
|
||||
{
|
||||
SDL_Color nbc = {24, 161, 153, 200};
|
||||
SDL_Color nbc = {66, 0, 57, 200};
|
||||
randR = getRandomInt(45, 60);
|
||||
bubbleColor = nbc;
|
||||
}
|
||||
else if (bubblesLength < 20)
|
||||
{
|
||||
SDL_Color nbc = {0, 102, 96, 230};
|
||||
SDL_Color nbc = {46, 0, 40, 230};
|
||||
randR = getRandomInt(65, 80);
|
||||
bubbleColor = nbc;
|
||||
}
|
||||
|
@ -466,13 +466,13 @@ void drawSplash(RenderContext *context)
|
|||
SDL_Color bg = {50, 50, 50, 255};
|
||||
SDL_ClearScreen(context, bg);
|
||||
|
||||
SDL_Color bgf = {0, 181, 178, 255};
|
||||
SDL_Color bgt = {0, 41, 40, 255};
|
||||
SDL_Color bgf = {95, 0, 135, 255};
|
||||
SDL_Color bgt = {87, 1, 94, 255};
|
||||
drawGradient(context, 0, 0, 1280, 720, bgf, bgt, 1);
|
||||
|
||||
renderBubbles(context);
|
||||
|
||||
SDL_Color gf = {0, 0, 0, 250};
|
||||
SDL_Color gf = {0, 0, 0, 200};
|
||||
SDL_Color gt = {0, 0, 0, 0};
|
||||
drawGradient(context, 0, 0, 1280, 180, gf, gt, 1);
|
||||
drawGradient(context, 0, 720 - 100, 1280, 180, gf, gt, 2);
|
||||
|
|
Loading…
Reference in a new issue