aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/app/index.html8
-rw-r--r--src/app/main.css9
-rw-r--r--src/app/main.js7
-rw-r--r--src/cli.js7
-rw-r--r--src/index.js21
-rw-r--r--src/lang/en.json2
-rw-r--r--src/utils.js8
7 files changed, 47 insertions, 15 deletions
diff --git a/src/app/index.html b/src/app/index.html
index dc65d67..f5d92e0 100644
--- a/src/app/index.html
+++ b/src/app/index.html
@@ -6,7 +6,13 @@
<body>
<div class="lines">
<div class="line">
- <div class="text" id="welcome">%%gui.welcome%%</div>
+ <div class="text">
+ <div class="text" id="welcome">%%gui.welcome%%</div>
+ <div class="versions">
+ <div id="vpversion"></div>
+ <div id="nsversion"></div>
+ </div>
+ </div>
<div class="buttons">
<button id="exit" onclick="exit()">%%gui.exit%%</button>
<button id="update" onclick="update()">%%gui.update%%</button>
diff --git a/src/app/main.css b/src/app/main.css
index b668f55..aa36c5b 100644
--- a/src/app/main.css
+++ b/src/app/main.css
@@ -2,6 +2,7 @@
--disabled: #656E7F;
--background: #4C515B;
--foreground: #DDE2EB;
+ --subforeground: #AFAFAF;
--btnforeground: var(--foreground);
}
@@ -31,6 +32,12 @@ body, button, input {
nobr {white-space: nowrap}
+.versions {
+ height: 15px;
+ font-size: 12px;
+ color: var(--subforeground);
+}
+
.line {
display: flex;
margin-top: 15px;
@@ -70,4 +77,4 @@ button:active {
#setpath {background: #5E81AC}
#northstar {background: #C7777F}
#vanilla, #exit {background: #656E7F}
-button:disabled {background: var(--disabled) !important; opacity: 0.5}
+button:disabled {background: var(--disabled) !important; opacity: 0.5} \ No newline at end of file
diff --git a/src/app/main.js b/src/app/main.js
index 809b5c8..a33ef72 100644
--- a/src/app/main.js
+++ b/src/app/main.js
@@ -53,7 +53,12 @@ ipcRenderer.on("newpath", (event, newpath) => {
ipcRenderer.on("log", (event, msg) => {log(msg)})
+ipcRenderer.on("version", (event, versions) => {
+ vpversion.innerText = lang("gui.versions.viper") + ": " + versions.vp;
+ nsversion.innerText = lang("gui.versions.northstar") + ": " + versions.ns;
+}); ipcRenderer.send("getversion");
+
setlang();
setInterval(() => {
ipcRenderer.send("setsize", document.querySelector(".lines").offsetHeight + 20);
-}, 150)
+}, 150);
diff --git a/src/cli.js b/src/cli.js
index 6696d36..f7d2141 100644
--- a/src/cli.js
+++ b/src/cli.js
@@ -39,12 +39,7 @@ async function init() {
}
if (cli.hasSwitch("update")) {ipcMain.emit("update")}
- if (cli.hasSwitch("version")) {
- console.log("Viper: v" + require("../package.json").version);
- console.log("Node: " + process.version);
- console.log("Electron: v" + process.versions.electron);
- exit();
- }
+ if (cli.hasSwitch("version")) {ipcMain.emit("versioncli")}
if (cli.hasSwitch("setpath")) {
if (cli.getSwitchValue("setpath") != "") {
diff --git a/src/index.js b/src/index.js
index c99e367..198bc74 100644
--- a/src/index.js
+++ b/src/index.js
@@ -1,6 +1,6 @@
const fs = require("fs");
const path = require("path");
-const { app, dialog, ipcMain, BrowserWindow } = require("electron");
+const { app, dialog, ipcMain, BrowserWindow, ipcRenderer } = require("electron");
const Emitter = require("events");
const events = new Emitter();
@@ -17,7 +17,7 @@ function start() {
title: "Viper",
resizable: false,
titleBarStyle: "hidden",
- icon: path.join(__dirname, 'assets/icons/512x512.png'),
+ icon: path.join(__dirname, "assets/icons/512x512.png"),
webPreferences: {
nodeIntegration: true,
contextIsolation: false,
@@ -48,7 +48,22 @@ ipcMain.on("setlang", (event, lang) => {utils.setlang(lang)})
ipcMain.on("launchVanilla", (event) => {utils.launch("vanilla")})
ipcMain.on("update", (event) => {utils.update()})
-ipcMain.on("setpathcli", (event) => {utils.setpath()})
+ipcMain.on("setpathcli", (event) => {utils.setpath()});
+
+ipcMain.on("getversion", () => {
+ win.webContents.send("version", {
+ ns: utils.getNSVersion(),
+ vp: "v" + require("../package.json").version
+ });
+});
+
+ipcMain.on("versioncli", () => {
+ console.log("Viper: v" + require("../package.json").version);
+ console.log("Northstar: " + utils.getNSVersion());
+ console.log("Node: " + process.version);
+ console.log("Electron: v" + process.versions.electron);
+ cli.exit();
+})
process.chdir(app.getPath("appData"));
diff --git a/src/lang/en.json b/src/lang/en.json
index e30d576..8f388ae 100644
--- a/src/lang/en.json
+++ b/src/lang/en.json
@@ -18,6 +18,8 @@
"cli.launch.linuxerror": "Launching the game is not currently supported on Linux",
"gui.welcome": "Welcome to Viper!",
+ "gui.versions.viper": "Viper version",
+ "gui.versions.northstar": "Northstar version",
"gui.exit": "Exit",
"gui.update": "Update",
"gui.setpath": "Game Path",
diff --git a/src/utils.js b/src/utils.js
index b4ff04d..06acbdf 100644
--- a/src/utils.js
+++ b/src/utils.js
@@ -52,8 +52,8 @@ function saveSettings() {
fs.writeFileSync(app.getPath("appData") + "/viper.json", JSON.stringify(settings));
}
-function getInstalledVersion() {
- const versionFilePath = path.join(settings.gamepath, "ns_version.txt");
+function getNSVersion() {
+ var versionFilePath = path.join(settings.gamepath, "ns_version.txt");
if (fs.existsSync(versionFilePath)) {
return fs.readFileSync(versionFilePath, "utf8");
@@ -73,7 +73,7 @@ function update() {
ipcMain.emit("ns-updating");
console.log(lang("cli.update.checking"));
- const version = getInstalledVersion();
+ var version = getNSVersion();
request({
json: true,
@@ -106,6 +106,7 @@ function update() {
fs.createReadStream(settings.zip).pipe(unzip.Extract({path: settings.gamepath}))
.on("finish", () => {
fs.writeFileSync(path.join(settings.gamepath, "ns_version.txt"), tag);
+ ipcMain.emit("getversion");
for (let i = 0; i < settings.excludes.length; i++) {
let exclude = path.join(settings.gamepath + "/" + settings.excludes[i]);
@@ -153,6 +154,7 @@ module.exports = {
update,
setpath,
settings,
+ getNSVersion,
setlang: (lang) => {
settings.lang = lang;
saveSettings();