GithubHelp home page GithubHelp logo

0negal / viper Goto Github PK

View Code? Open in Web Editor NEW
148.0 5.0 21.0 19.8 MB

Launcher+Updater for TF|2 Northstar

Home Page: https://0negal.github.io/viper

License: GNU General Public License v3.0

HTML 6.40% CSS 12.03% JavaScript 81.03% Shell 0.54%
titanfall titanfall-2 northstar r2northstar modding launcher updater northstar-client

viper's Introduction

viper's People

Contributors

0negal avatar 3top1a avatar alystrasz avatar dependabot[bot] avatar dxssucuk avatar geckoeidechse avatar kenmizz avatar lumikattlin avatar pcbmaster avatar xnovadelta avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

viper's Issues

feat: mods auto-updating

What feature would you like added?
Since Thunderstore provides mods versioning, Viper should be able to update installed mods if updates are available.
This behaviour should be configurable, for example CLI/server users may want to fix mods versions they use.

Why should this feature be added?
Get mod updates as soon as they're available: all fixes/new content is automatically installed.

bug: After checking for new Northstar versions the "ns_startup_args.txt" file gets excluded.

Describe The Bug
After Clicking the "Check for updates" button in the Northstar tab, "ns_startup_args.txt" is set back to its default filename "ns_startup_args.txt.excluded"

To Reproduce
Steps to reproduce the behavior:

  1. Navigate to Northstar tab in Viper
  2. Click the "(Check For Updates)" button
  3. When you start the game all of your startup arguments will not load.

Expected behavior
The startup args file should not be affected by the checking for updates button.

Screenshots
If applicable, add screenshots to help explain your problem.

Version:
v1.2.1

Additional Info
Any extra info should go here!

Update logo associated with Viper

The issue with the current logo is that it is the same as the one NorthstarCN uses.

screenshot northstarcn github page

To avoid confusion the two projects (Viper and NorthstarCN) should probably use different logos. As NorthstarCN is closer in content to Northstar (it's just Northstar but with tweaks for the Chinese community) it makes more sense for the to use an icon that closely resembles that of Northstar.

Therefore I'd argue it would probably be best for Viper to use a different logo.

Either something else related to Northstar (the titan), like

hover ability

or

flight core

Or something related to Viper (the TF|2 character), like

viper helmet
(Not my artwork)

That way the two projects should be better set apart and Viper would have it's own more individual look.

feat: Flatpak support

What feature would you like added?
I'd like to propose Flatpak as an additional distribution format.

Why should this feature be added?
Flatpak is rising to become the defacto standard for distributing up-to-date end-user-facing graphical applications (usually referred to as "apps" by end users). It's distro agnostic thanks to isolation features and runtimes, and it features built-in auto-update by the Flatpak environment (so a user doesn't need to open Viper to update it).
Further Flatpaks will be supported out of the box on Steam Deck so with a Flatpak release future Steam Deck users could install Viper without needing to enter any form of developer mode on their device.

Additional Info
There are some drawbacks with adding a Flatpak version. In particular I'm not sure if we can deprecate other Linux formats in favour of Flatpak as even with widespread support on major distros some users might not have Flatpak installed in their repo by default. Most prominent example being Ubuntu (all its derivates support it out of the box). This means we'll have to support yet another distribution format.
(This feature request was created out of a discussion in the Northstar Discord)

Viper starts without game path

Viper should not start as long as the user didn't provide Titanfall path.

Crash scenario:

  1. Start Viper
  2. When asked for game path, close window
  3. Invoke any method that uses game path

no_path_start

Northstar update process

Before updating local Northstar version, we should check if the latest available version is not already installed (do we have a way to check local Northstar version?).
If a newer version is available online, I'm not sure whether we should download and install it automatically, maybe we should ask for user approval?

Localisation

Localisation does not work properly: some messages do not appear in target language ('fr' in my case), and some are not translated at all.


Capture d’écran 2022-01-03 110819

Capture d’écran 2022-01-03 111007

Update on Windows

Updating Northstar fails on Windows because you cannot create /northstar.zip.

Capture d’écran 2021-12-28 122011

bug: Release notes of Northstar `v1.6.0` not properly rendered in Viper

Describe the bug
The release notes of Northstar v1.6.0 are not properly rendered in Viper

To Reproduce
Steps to reproduce the behavior:

  1. Go to Northstar -> Release Notes within Viper
  2. Scroll down to v1.6.0
  3. Unlike other versions, the links to the mentioned PRs in the release notes are not properly formatted

Expected behavior
The linked PRs in the release notes should be properly rendered like with release notes for other versions of Northstar.

Screenshots
screenshot

Version:
v1.3.1

Additional Info

My assumption is that whatever library Viper uses for rendering Markdown, it does not properly handle HTML tags in the release note contents. For reference, here's the head of the Northstar v1.6.0 release notes

<div>
    <a><img src="https://user-images.githubusercontent.com/16687318/156849195-06d5c58f-d472-45a7-9ec4-26abc72bc27f.png" width="49%"></a>
    <a><img src="https://user-images.githubusercontent.com/16687318/154815173-454084a4-3b88-48ca-b62b-6df09fe853ff.png" width="49%"></a>
</div>

**Features**
Update private match map select menu ([#194](https://github.com/R2Northstar/NorthstarLauncher/pull/194))

I'm well aware that this is more of a minor issue and has no priority to be fixed. However depending on how "stylish" we go with future release notes for Northstar by using HTML tags for embedding images in a certain layout, it will again not get properly rendered within Viper ^^

fix: Do not overwrite modified config files without warning

Config files commonly modified by players, like R2Northstar\mods\Northstar.CustomServers\mod\cfg\autoexec_ns_server.cfg should not be overwritten without warning if their content has been changed.

To check if their content has changed, compare the content with that of the unmodified version of the file of the current install.

It's probably enough to have a few "whitelisted" files to perform this check on. Doing it over all files is likely not necessary.

i18n: language settings and more

@Alystrasz, @AA-Delta some more strings that need translation :)

"cli.gamepath.lost": "Gamepath not found, make sure it's mounted!",

"gui.settings.title.language": "Language",
"gui.settings.autolang.title": "Auto-Detect Language",
"gui.settings.autolang.desc": "When enabled, Viper tries to automatically detect your system language, when disabled you can manually change the language below.",
"gui.settings.forcedlang.title": "Language",
"gui.settings.forcedlang.desc": "When \"Auto-Detect Language\" is disabled, this will decide the language. Requires a restart to take effect.",

"gui.gamepath.lost": "Gamepath no longer exists/can't be found!\n\nMake sure your drive is mounted properly, or if you moved your game location that you update the game path.\n\nViper may not work properly until next restart!",

Also with the new language selectors I had to make more user friendly names for the languages, and chose to do add a lang.title in the top of the files, which is what it shows up as in the settings. I translated them with Google Translate, but given they're just the name of the language, in it's language I don't assume there's any real way Google can mess this one up. But please do check it just to make sure.

  • French (fr.json)
  • Spanish (es.json)

bug: Cannot build Viper

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Pull viper repo
  2. Run npm i

Expected behavior
All dependencies are installed.

Screenshots
Capture d’écran 2022-02-21 095117

Version:
1.2.3


Maybe this has something to do with dmg-license dependency being deprecated (used in electron-builder?).

feat: Linux "Launch" support

I would love to add support for Linux users to also be able to Launch the game through Viper, albeit it'll probably take some manual configuration from the user, like setting a command to launch Vanilla and Northstar.

However if the user has Lutris installed we could try and parse lutris --list, and same with Steam. To try and find the launch command.

We'll likely need this in #34 anyway, at least for the Linux side of that issue.

Automatically find Titanfall installation folder

On Windows, by running Get-Item -Path Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Respawn\Titanfall2\, you can get game folder, without having to ask user for it.

I don't know if we can find game folder this way on Linux?

i18n: filters and more

@Alystrasz @AA-Delta, the following strings need translation:

"cli.help.novpupdates": "overwrites viper.json and disables Viper updates",

"gui.browser.noresults": "No results...",
"gui.browser.filter.mods": "Mods",
"gui.browser.filter.skins": "Skins",
"gui.browser.filter.client": "Client-side",
"gui.browser.filter.server": "Server-side",
  • French (fr.json)
  • Spanish (es.json)

bug: Improper handling of no internet

Describe the bug
When launching Viper without an internet connection you may see various errors, related to your DNS not being set, and so on. This isn't very useful to a user.

To Reproduce
Steps to reproduce the behavior:

  1. Disconnect your internet
  2. Launch Viper
  3. Errors occur

Expected behavior
A more descriptive alert box, or simply Viper launching as normal but without functionalities that require an internet connection. If we go for the latter requests.js should probably just return a cached version of the release notes and so on, even if it's supposed to have been refreshed. As to not have empty release notes, however we should still expect that a new user may not have an internet connection and so we should still display an error if no cache is found.

Screenshots
There's 3 identical error alerts, stemming from our 3 api.github.com requests (NS latest version, NS release notes and Viper release notes) in requests.js

feat: Improve install experience for Github novices

What feature would you like added?
Instead of linking to releases in the README, link directly to the install files, i.e. something like

# Install
[Windows](https://github.com/0neGal/viper/releases/download/v1.1.0/Viper-Setup-1.1.0.exe) | [Windows (portable)](https://github.com/0neGal/viper/releases/download/v1.1.0/Viper-1.1.0.exe) | [Linux (AppImage)](https://github.com/0neGal/viper/releases/download/v1.1.0/Viper-1.1.0.AppImage) | <the rest of the links>

which would be rendered as


Install

Windows | Windows (portable) | Linux (AppImage) | <the rest of the links>


 

Why should this feature be added?
I already had multiple people ask me how to download Viper when I linked them the repo. In particular they asked which version to download when going to the release page via the link in the README. By offering a more direct download button this sort of friction could be resolved or at least reduced.

 

Additional Info
Perhaps instead of links even use some sort of badges for the different platforms to make it especially easy for someone to find the download link for their platform.

Example:
image

Distribution formats

As briefly discussed in a PR we need to consider which distribution format we're going to use (#2)

It doesn't seem like it is reproducible, and must just be Windows caching the icon or something similar, because I built and installed it, and the icon popped up just fine, everywhere.

Perfect then!

I'm more referring to whether or not there's any other install methods we should include, like .deb, .tar.gz, pacman package, .rpm. Personally I think all of those which I just mentioned should be included. I don't think a snap package is really in the interest, of literally anyone. And if we have the tar file there's no point in zip, or other archive formats. As for Windows, besides the installer, a portable build might also be convenient.

We should discuss it on a dedicated issue I think, because choosing distribution format implies a lot of things (about Windows for instance, if you want your app to be able to update itself with GitHub releases, it's only possible with NSIS format)

Use enabledmods.json to toggle mods

According to the documentation:

Northstar itself has no filter as to what mods it loads

however this is not true, as there is R2Northstar\enabledmods.json which defines which mods are loaded.

So instead of moving mod folders, it would probably be better to just update the value in the JSON file. This would also show the mods as "disabled" when checking the mods page while running Northstar and when disabling a mod from within Northstar, it would also show as "disabled" in Viper.

feat: Deprecate ns_version.txt in favour of version resource specified by in Northstar executable

What feature would you like added?

Instead or relying on its own version flag for the installed Northstar version, Viper should instead read-out the version provided in mods.json of the default Northstar mods (Northstar.Custom, Northstar.Client, ...) as well as the version resource field in the NorthstarLauncher.exe.

Reading out version resource of a current release of NorthstarLauncher.exe using exiftool:

$ exiftool NorthstarLauncher.exe 
ExifTool Version Number         : 11.88
File Name                       : NorthstarLauncher.exe
Directory                       : .
File Size                       : 60 kB
File Modification Date/Time     : 2022:02:18 16:39:04+01:00
File Access Date/Time           : 2022:02:28 14:29:27+01:00
File Inode Change Date/Time     : 2022:02:28 14:29:27+01:00
File Permissions                : rw-rw-r--
File Type                       : Win64 EXE
File Type Extension             : exe
MIME Type                       : application/octet-stream
Machine Type                    : AMD AMD64
Time Stamp                      : 2022:02:18 17:38:29+01:00
Image File Characteristics      : Executable, Large address aware
PE Type                         : PE32+
Linker Version                  : 14.30
Code Size                       : 29184
Initialized Data Size           : 56832
Uninitialized Data Size         : 0
Entry Point                     : 0x7070
OS Version                      : 6.0
Image Version                   : 0.0
Subsystem Version               : 6.0
Subsystem                       : Windows command line
File Version Number             : 1.5.1.0
Product Version Number          : 1.5.1.0
File Flags Mask                 : 0x003f
File Flags                      : (none)
File OS                         : Windows NT 32-bit
Object File Type                : Executable application
File Subtype                    : 0
Language Code                   : English (British)
Character Set                   : Unicode
Company Name                    : Northstar Developers
File Description                : Northstar Launcher
File Version                    : v1.5.1
Internal Name                   : NorthstarLauncher.exe
Legal Copyright                 : Copyright (C) 2021
Original File Name              : NorthstarLauncher.exe
Product Name                    : Northstar Launcher
Product Version                 : v1.5.1

Why should this feature be added?
Currently installing Viper after Northstar means that Viper will detect the current version as unknown. Similarly manually updating Northstar without Viper will result in Viper re-updating Northstar. Using the version fields in the core mods and launcher instead of its own text file means that Viper can more accurately detect the currently installed version of Northstar.

Additionally this reduces the number of added files to the Titanfall2 directory by 1 ¯\_(ツ)_/¯

Additional Info
Both version fields (Launcher and Mods) are set via CI when creating a release of Northstar (since version v1.5.0 of Northstar) and therefore should accurately reflect the currently installed Northstar version.

Conversely older versions of Northstar have a mismatch between launcher and mods (v1.4.0 had mods at 1.1.0 while launcher was 1.4.0) or did not correctly reflect Northstar version at all (when we created the patch release v1.4.1 with backported fixes we didn't have CI setup properly yet and forgot to update the version field in the launcher resulting in it saying 1.3.0)

Additionally viper would also need to be able to handle release candidate version numbers as well, for example v1.5.1-rc2 has launcher version as

$ exiftool NorthstarLauncher.exe 
ExifTool Version Number         : 11.88
File Name                       : NorthstarLauncher.exe
Directory                       : .
File Size                       : 60 kB
File Modification Date/Time     : 2022:02:17 14:40:32+01:00
File Access Date/Time           : 0000:00:00 00:00:00
File Inode Change Date/Time     : 2022:02:28 14:47:13+01:00
...
Company Name                    : Northstar Developers
File Description                : Northstar Launcher
File Version                    : v1.5.1-rc2
Internal Name                   : NorthstarLauncher.exe
Legal Copyright                 : Copyright (C) 2021
Original File Name              : NorthstarLauncher.exe
Product Name                    : Northstar Launcher
Product Version                 : v1.5.1-rc2

and the core mods as:

{
  "Name": "Northstar.Custom",
  "Description": "Custom content for Northstar: extra weapons, gamemodes, etc.",
  "Version": "1.5.1-rc2",
  "LoadPriority": 1,
...
}

feat: Add CI/CD pipeline to create builds for each commit and release

What feature would you like added?
We probably wanna add some CI/CD pipeline (probably just GitHub actions) to create builds of each commit pushed to the repo as well as creating builds on release.

Why should this feature be added?
CI/CD pipeline would improve testing new features by 3rd parties. E.g. some user requests feature, new branch gets created and feature implemented, CI/CD builds package in all formats, user can download package and test it themselves without needing to build from source.

Additional we could also add integration testing to spot bugs early but my main idea was to use it to build packages for each commit to test new features without needing to setup a build environment.

Additional Info
For some reason GitHub actions are super lenient when it comes to free CI time. Northstar org for example has unlimited CI build time (including Windows hosts, which honestly is ridiculous ^^) so using up free CI time per month shouldn't be a worry.

Discuss collaboration

There's an ongoing discussion on discord (northstar-installer-talk thread) about modding and installers in general.

Let's focus on one piece of software instead of several.

Localize new toasts

I recently added some status toasts for when you install mods, an error occurs, or a mod isn't follow the folder structure that it should, with this comes new localization.

@Alystrasz @AA-Delta

The following strings are missing:

"gui.toast.title.installed": "Mod installed!",
"gui.toast.title.failed": "Failed to install",
"gui.toast.title.malformed": "Incorrect folder structure!",
"gui.toast.desc.installed": "has been installed successfully!",
"gui.toast.desc.malformed": "has an incorrect folder structure, if you're the developer, you should fix this.",
"gui.toast.desc.failed": "An unknown error occurred while trying to install the mod. This may be the author's fault, and it may also be Viper's fault.",

Localisation

If Bob validates this launcher, we should put some effort into translating it.

Sign Windows releases of Viper

What feature would you like added?

-would it be possible to get the launcher signed for windows

Why should this feature be added?

-getting viper signed would make it much easier to install for those who are new to modding and have an overzealous antivirus

Additional Info

-I'm not sure this is really feasible, however another option could be to also distribute the launcher on itch so it can be run in itch's secure environment

CLI documentation

One main interest of this software is that it has a command-line interface, which allows servers owners to update their configurations without any GUI.
We probably should be more explicit in telling how to install and use this in console.

bug: Viper not auto-detecting Titanfall2 install on SteamDeck

Describe the bug
Viper fails to auto-detect Titanfall2 path when launching for the first time.

To Reproduce
Steps to reproduce the behavior:

  1. Own a SteamDeck (naturally the hardest part in reproducing this)
  2. Switch to desktop mode
  3. Download and run Viper AppImage
  4. Viper cannot find Titanfall2 install path

Expected behavior
Viper should be able to detect the game path. Especially SteamDeck which brings a lot of Linux noobs needs this feature to work.
(AFAIK auto-detecting path should work on Linux with #53)

Screenshots
Forgot to take a screenshot of the message (if you really want one, let me know where Viper stores the game path and I'll grab one)

Version:
v1.2.5

Additional Info
By default, the install for SteamDeck games is on /home/deck/.steam/steam/steamapps/common/. This of course changes if the game is installed on a SD card.

Mod support

Viper should also allow installing/removing Northstar mods.
We should also think how we can update them, since there's no standard version to do it (yet).

feat: Viper should only check for Northstar updates, after checking for Viper updates

What feature would you like added?
Viper should prioritise checking for its own updates over Northstar updates, checking for Northstar updates only after the Viper update check has been completed.

Why should this feature be added?
The idea is that if anyone uses an older version of Viper that might have issues with a newer version of Northstar, said version of Viper won't be able to download the Northstar update until the user either updated Viper or dismissed the update dialogue.
Such a situation hasn't occurred yet nor might it ever occur but the idea is should there ever be a moment where Viper has issues with a new release of Northstar, an update for Viper can be pushed that resolves the problem and Viper users will get the update for Viper before updating Northstar.
Conversely without this, say a new Northstar version causes a crash for Viper when trying to download it. User's will restart their Viper client and it tries to auto-download Northstar again, causing it yet to crash. Viper won't auto-update due to Viper updates not being prioritised. Users will have to manually update Viper by downloading the release from Github to resolve the hypothetical crash-loop scenario.

Additional Info
Overall this is a pretty low priority feature until it's too late already :P

ns_startup_args.txt is excluded and not restored

Describe the bug
Northstars's ns_startup_args.txt is moved to ns_startup_args.txt.excluded, when checking for Northstar updates. However, if Northstar is already up to date the file is not restored and there is no ns_startup_args.txt, only ns_startup_args.txt.excluded remains, which Northstar ignores.

There is the same issue with ns_startup_args_dedi.txt.

To Reproduce
Check for Northstar updates within Viper, when Northstar is already on the latest version. There will be no more ns_startup_args.txt in the game path.

Expected behavior
Don't move ns_startup_args.txt, if no update is found.

bug: All options get greyed out if windows explorer pop-out is closed.

Describe the bug
If you click "Cancel" or the close button on the windows explorer popout when clicking "Install Mod" in the Northstar "Mods" tab, every option in the Northstar tab will be greyed out until Viper is re-opened, or "Check for updates / Up-to-date" is clicked.
To Reproduce
Steps to reproduce the behavior:

  1. Go to the Northstar tab in Viper
  2. Click over to the Mods tab
  3. Click "Install Mod"
  4. Cancel or close out of the explorer pop-out
  5. All options will now be greyed out.

Expected behavior
Either the buttons should not be greyed out when opening explorer, or the buttons should be clickable again after explorer is closed.

Screenshots
(Buttons before opening explorer) https://prnt.sc/26xhfr0
(Buttons while explorer is open) https://prnt.sc/26xhgmf
(Buttons after explorer is closed) https://prnt.sc/26xhh0q

Version:
Release 1.2.2

Additional Info
Any extra info should go here!

feat: Skin manager

Capture d’écran de 2022-01-17 08-15-01


Translation:
Hello, sorry to bother, but if Viper has no skin manager, I think it would be a good idea to add one.

Auto-update

Once installed with compatible formats (Windows NSIS and Linux AppImage), Viper should be able to automatically install newer versions of itself.

bug: Errors if gamepath no longer exists

Describe the bug
Error window appears on startup
clicking ok gives a different error window with a similar message
Viper window still pops up but no buttons work
Game still runs on steam
worked fairly recently, don't think I made any major changes to computer settings

Is this a problem with my computer or a glitch in the program

version 1.3.1
already tried reinstalling viper, same problem
delete
delete1

Northstar auto-installation

When first launching Viper, the user say where is located his Titanfall game.
Once done, he can click the "Northstar" button to launch the game, which will fail, because Northstar has not been installed on his folder.

I think we should replace "Northstar" button text with "Install" (if NorthstarLauncher.exe is not found for instance) and install ns on first click, instead of trying to run an executable we know is not there.

feat: Drag Mod file into viper launcher to install mod

What feature would you like added?
We should be able to drag a mod file into the Viper window to install the mod like you would with the install mod button.

Why should this feature be added?
More convenient to install mods from the Discord, or any mods that arent on ThunderStore.

Additional Info
Feel free to put anything here or delete it if not relevant.

feat: Command line argument to skip Viper update check

What feature would you like added?
Add a command line argument like --skip-viper-update-check to prevent Viper from performing an update check (and self-updating)

Why should this feature be added?
Mostly needed as part of #75 to prevent a Flatpak packaged version of the Viper AppImage perform an update in an environment that it wasn't designed for.

Might also be useful for other packaged solutions like chocolatey, scoop, winget, and snap.

Additional Info
I know that viper.json has a field called "autoupdate". I'm not quite sure how it would come into play. Would --skip-viper-update-checkcause Viper to ignore "autoupdate". Or do we maybe wanna just somehow make sure that "autoupdate" is always set to false for packaged solutions?

New design

For people to keep using viper, it needs to have a visually appealing interface, that allows them to do everything Northstar-related and find all information without needing to search it on Discord or Google.


You can assign this to me :)

ezgif-7-0ef2baf0f8

bug: Viper doesn't read out ns_startup_args.txt

Describe the bug
Technically not so much a bug as unexpected behaviour from a user's perspective. For a while now I was wondering why when launching Northstar from Viper would reset my ns_startup_args.txt even without an update pending.
(I usually launch Northstar via the Launcher executable)

Turns out Viper stores the state of the startup args in it's own storage (I think) and overwrites ns_startup_args.txt on launch / when saving settings.

This is problematic when a user manually edits ns_startup_args.txt, as then launching Nortstar with Viper wipes the made changes. When opening the settings, Viper should read out the contents of ns_startup_args.txt and display those.

To Reproduce
Steps to reproduce the behavior:

  1. Edit ns_startup_args.txt
  2. Launch Viper and go to settings
  3. Launch options still shows the old options.
  4. Go back out and launch game
  5. Launch options displayed in Viper are used
  6. Check ns_startup_args.txt, file was reset to state displayed in Viper

Expected behavior
Viper should read out ns_startup_args.txt when opening settings instead of relying on its own internal save.

Screenshots
None

Version:
v1.2.4

Additional Info
None

feat: Set custom launch arguments in the GUI

What feature would you like added?
It would be nice to set a list of custom launch arguments within the Viper GUI. These are then appended to ns_startup_args.txt on every Northstar update and also are passed on as command parameters, when starting vanilla TF2.

Why should this feature be added?
The convenience of not having to manually edit ns_startup_args.txt after every update or using a shortcut outside of Viper to launch vanilla TF2 with custom arguments.

Additional Info
These launch arguments are supported but TF2/Northstar:
pcgamingwiki.com
Northstar-Wiki
I personally find these arguments useful:
-novid
-high
-noborder
+cl_showfps 1

bug: Viper puts itself in french and I don't know how to change it

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Install Viper on a french pc
  2. Close it, then open it again

Expected behavior
Supposed to be in english, ask what language I want to use or at least let me change it in-app

Screenshots
image

Version:
1.3.1

Additional Info
My pc is in french but I like having the apps in english

bug: Switching Language has no effect in Viper AppImage

Describe the bug
The option to manually set language seems to have no effect when using the Viper AppImage.

To Reproduce
Steps to reproduce the behavior:

  1. Go to Settings
  2. Set language to French (assuming current version is English)
  3. Restart Viper
  4. The settings now claim the language is French but Viper UI is still in English.

Expected behavior
Language change should be applied to UI after restart.

Screenshots
image

Version:
v1.3.2

Additional Info
Viper Flatpak also crashes completely but that seems to related due to unpacking the AppImage and is discussed in flathub/com.github._0negal.Viper#1

bug: Viper not auto-detecting Titanfall2 install when Steam is installed via Flatpak

Describe the bug
If Steam is installed via Flatpak, Viper is unable to detect the Titanfall2 install location.

To Reproduce
Steps to reproduce the behavior:

  1. Install Steam as Flatpak via Flathub
  2. Install Titanfall2 in Steam
  3. Download an run the Viper AppImage
  4. Viper fails to detect install location of Titanfall2

Expected behavior
Viper should be able to auto-detect the Titanfall2 install location even if Steam is installed as a Flatpak

Screenshots

Version:
v1.2.5

Additional Info
I wanted to check whether the failure to auto-detect install location as part of #94 also affects versions of Linux that aren't SteamOS. So I tried it on another Linux machine of mine, where it promptly failed. I realised however that this was due to the fact that Steam was installed as a Flatpak which probably wasn't anticipated when auto-detecting install path on Linux was added to Viper in #53.

For the Flatpak version of Steam, the default install location of Titanfall2 is ~/.var/app/com.valvesoftware.Steam/.steam/steam/steamapps/common/Titanfall2

Content of ~/.var/app/com.valvesoftware.Steam/.steam/steam/steamapps/libraryfolders.vdf which contains the appid for Titanfall2 (1237970):

"libraryfolders"
{
	"contentstatsid"		"1743050728782069232"
	"0"
	{
		"path"		"/home/asus/.var/app/com.valvesoftware.Steam/.local/share/Steam"
		"label"		""
		"contentid"		"1743050728782069232"
		"totalsize"		"0"
		"update_clean_bytes_tally"		"0"
		"time_last_update_corruption"		"0"
		"apps"
		{
			"228980"		"135939663"
			"1237970"		"68431323338"
			"1887720"		"1112259872"
		}
	}
}

Also I noticed that ~/.var/app/com.valvesoftware.Steam/.steam/steam links to ~/.var/app/com.valvesoftware.Steam/.local/share/Steam so I guess the two paths can be used interchangeably?

fix: Possible leftover files when updating mods and NS

When updating NS it simply unpacks the zip in the game path, however that means if a file was removed in the core mods, when you then update the old files will still be there, instead we should therefore remove core mods when updating.

We should also do the same when installing mods, aka if a mod is detected to already be installed, remove the original then install, as to avoid those leftover files...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.