aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author0neGal <mail@0negal.com>2021-12-31 16:59:48 +0100
committer0neGal <mail@0negal.com>2021-12-31 16:59:48 +0100
commit67b32b527aec8d36a4b6cca14677febc46f0e26d (patch)
tree47691134760f1cab6b9f7acbfb26a48d78326643
parentc5c63d6c8a81596d0dcf3e14e072ea14f4d0610c (diff)
parentba82a7e8e5bc90705649c859674caeb334996b81 (diff)
downloadViper-67b32b527aec8d36a4b6cca14677febc46f0e26d.tar.gz
Viper-67b32b527aec8d36a4b6cca14677febc46f0e26d.zip
Merge branch 'main' of 0neGal/viper into mod-support
-rw-r--r--README.md2
-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/lang/fr.json8
-rw-r--r--src/utils.js8
9 files changed, 58 insertions, 14 deletions
diff --git a/README.md b/README.md
index 3e8ce22..8cf0228 100644
--- a/README.md
+++ b/README.md
@@ -30,6 +30,8 @@ Currently Viper is capable of:
* Updating/Installing Northstar
* Launching Vanilla and or Northstar
+ * Manage Mods (Soon, see **mod-support** branch)
+ * Auto-Update itself (Soon, see **auto-updater** branch)
* Be pretty!
Besides this I've been considering adding some easy to use VPK modding tools so everybody can have fun with VPK modding even if you don't know how to do it the traditional way. However that is not at the top of the todo list right now.
diff --git a/src/app/index.html b/src/app/index.html
index 9b72ebb..ffc31a6 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 929483a..c6c9bb9 100644
--- a/src/app/main.css
+++ b/src/app/main.css
@@ -4,6 +4,7 @@
--foreground: #DDE2EB;
--background: #4C515B;
--boxbackground: #666E7F;
+ --subforeground: #AFAFAF;
--btnforeground: var(--foreground);
}
@@ -34,6 +35,12 @@ body, button, input {
nobr {white-space: nowrap}
+.versions {
+ height: 15px;
+ font-size: 12px;
+ color: var(--subforeground);
+}
+
.line {
display: flex;
margin-top: var(--padding);
@@ -64,6 +71,8 @@ button, .text, .mod {
padding: calc(var(--padding) / 3) var(--padding);
}
+#welcome {padding: 0px}
+
button {
color: var(--btnforeground);
-webkit-app-region: no-drag;
diff --git a/src/app/main.js b/src/app/main.js
index f512d4f..b0f0ebf 100644
--- a/src/app/main.js
+++ b/src/app/main.js
@@ -61,7 +61,12 @@ ipcRenderer.on("mods", (event, mods) => {
}
})
+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 f1962e7..f4cce18 100644
--- a/src/cli.js
+++ b/src/cli.js
@@ -40,12 +40,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 3f301ae..2a5ed2b 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,
@@ -53,7 +53,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();
+})
ipcMain.on("getmods", (event) => {
let mods = utils.mods.list();
diff --git a/src/lang/en.json b/src/lang/en.json
index 523c6fa..23cb8fb 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/lang/fr.json b/src/lang/fr.json
index c3e7027..26648c4 100644
--- a/src/lang/fr.json
+++ b/src/lang/fr.json
@@ -1,6 +1,7 @@
{
"cli.help.help": "affiche ce message d'aide",
"cli.help.debug": "affiche les outils de développement",
+ "cli.help.version": "retourne des informations sur la version du logiciel",
"cli.help.cli": "force l'activation de la CLI",
"cli.help.update": "met à jour Northstar sur le chemin du jeu précisé",
"cli.help.setpath": "enregistre le chemin du client de jeu",
@@ -17,10 +18,17 @@
"cli.launch.linuxerror": "Le support du jeu sur Linux n'est pas encore implémenté.",
"gui.welcome": "Bienvenue sur Viper !",
+ "gui.versions.viper": "Version de Viper",
+ "gui.versions.northstar": "Version de Northstar",
"gui.exit": "Fermer",
"gui.update": "Mise à jour",
"gui.setpath": "Chemin du jeu",
+ "gui.update.downloading": "Téléchargement de la mise à jour...",
+ "gui.update.extracting": "Extraction des fichiers...",
+ "gui.update.finished": "Terminé, vous pouvez jouer !",
+ "gui.update.uptodate": "Déjà à jour !",
+
"gui.launch": "Jouer",
"gui.launchvanilla": "Vanilla",
"gui.launchnorthstar": "Northstar",
diff --git a/src/utils.js b/src/utils.js
index 8bc6440..ba710dc 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]);
@@ -173,6 +174,7 @@ module.exports = {
update,
setpath,
settings,
+ getNSVersion,
setlang: (lang) => {
settings.lang = lang;
saveSettings();