Age | Commit message (Collapse) | Author |
|
The current design for the installed mods is not exactly the best. And
it has been due for a redesign for quite a while, I'm finally starting
work on this.
|
|
|
|
When JavaScript errors occur outside of the renderer, they'll no longer
display a big and confusingly detailed error stack, now they'll simply
be shown a toast about the fact that an error happened.
The user can then click this to get more details, but still without it
being as invasive and obtuse as before.
|
|
If a mod has multiple mod folders inside it, however all with the same
name, they'll be merged together, this now fixes that, by adding
"(dupe)" to the end of it, along with displaying an error, however it
will install successfully.
This also happens to add some duplicate toast protection, however this
should be reworked, but I am not bothered to deal with it right now, and
I instead will be putting this on future me.
|
|
|
|
|
|
|
|
|
|
Mostly syntax, but also a few fixes with how the settings system work,
and also a change in localization strings.
|
|
|
|
While it's unlikely we'll ever get down to 1 player, it's best to be on
the safe side :p
|
|
This doesn't fully implement everything as the master server is down
whilst making this commit, so I can't fully implement it.
|
|
"Info" -> "View", along with a button in the previewer to open the mod
page in the browser if you so choose.
|
|
In the past when more than 50 packages was loaded it'd simply display a
"Maximum packages loaded" message, and it wasn't actually 50, as it just
took the first 50 packages loaded, whether or not they were filtered
out, so now that's fixed and a "Load more..." button has been added.
With that comes some changes to the lang strings for
"gui.browser.endoflist" and a new one "gui.browser.loadmore".
I also fixed the filtered packages issue also occurring in searches.
This will overall allow a user to more easily find the maximum amount of
packages without loading literally over a hundred packages at once, not
good for performance...
|
|
This should allow you to install packages that have dependencies,
however maybe not with the best UI/UX experience, as currently there's
only an English localization, and we also install dependencies even if
the dependency is already installed.
|
|
This was meant to be used for the reset config prompt, but confirm()
doesn't allow you to change the button messages, which I forgot when I
was making this lang string, and subsequently lead to me forgetting I
even made the string, accidentally pushing it...
|
|
Essentially just validates the config file and then prompts you about
it, it allows you to reset it directly or just to exit and let yourself
fix it. And because the error message appears directly in the renderer
we have access to navigator.language, and can therefore still localize
the string. However! We can't actually care if the user has disabled
auto detection of their language, since... y'know, the config file where
that's stored isn't able to be read properly.
And so I added an argument to lang(), which allows you to force it to
use a specific language if that language is available, if not it
defaults back to English.
|
|
When Viper starts up it'll check to make sure the gamepath still exists,
and throws errors if not, it also redirects you to the first page (the
one where you can set the gamepath), and gives you an informative error.
This could happen because the user unmounted the drive the gamepath is
on, or it could happen if the user moved their game location.
|
|
This allows someone to have their system in any language, and then have
Viper in a separate language. This is also useful for testing.
|
|
For testing purposes I had the mod browser auto show on startup, that's
removed now, I also when refactoring some code forgot to change the name
of a function everywhere, leading to an error.
|
|
This overwrites viper.json and disables Viper updates, this is useful
when repackaging Viper for other formats we don't already support.
|
|
I localized all strings for English, then went ahead and made array
options have a wider input and more word spacing, since they're all
space separated.
|
|
Since apparently dragleave and dragenter don't quite work as intended we
have to resort to this obscure method which should work just fine on the
user's end.
|
|
It'll notify of incorrectly formatted mods, it'll also notify on errors
and on success.
|
|
|
|
This should fix the window drag not working, however I cannot test that.
As my WM doesn't support it, a Windows contributor will have to test it.
I also added an info button that opens the mod's page in your web
browser, this button is of course localized, along with that I localized
the placeholder in the search input.
There's also a few general aesthetic changes, like adding a tiny border
around #modsdiv and #browser.
|
|
I have no clue if 50 packages is too small or too, big, we'll adjust
this the more mods that arrive. I also made the browser auto scroll to
the top when closed, it looks far better.
|
|
|
|
I forgot about these before...
|
|
When changing the game path by clicking the button you shouldn't be told
it can't find the game and you've to select one manually, as you know
that already. More importantly, if it could be found automatically it'll
just not do anything.
With this change I also changed the "gui.setpath" string to be more
logical, and to make it clear what it does.
|
|
* Edge case
* Alert user only when automatic detection failed
* extra info on not found message
* support for [Free/Open]BSD
Co-authored-by: 0neGal <mail@0negal.com>
|
|
|
|
|
|
To show the loading simply do Browser.loading(), when a BrowserEl() is
made it auto removes it. The loading and BrowserEl's will fade into
view instead of popping in instantly.
And then now there's a tiny close button, as it may not be obvious you
can click the dark overlay or click Escape.
|
|
* [chore] removing setsize mechanism
* [feat] adding new html skeleton
* [feat] adding games icon buttons
* [feat] all icon buttons have same size
* [fix] games container width varies between 95 and 120px
* [feat] displaying bg image
* [feat] each game has its own background image
* [feat] adding content skeleton
* [feat] window has no frame anymore
* [feat] buttons show related content only
* [feat] displaying viper release notes
* [feat] game icons are vertically centered
* [feat] background is a bit grayed out
* [feat] adding some items to games menus
* [feat] displaying games logos
* [feat] adding content menu active item indicator
* [fix] centering active item indicator
* [feat] not displaying viper credits by default
* [feat] viper categories can be browsed through via menu
* [feat] adjusting hovering style of menu items
* [feat] adding play button styles
* [feat] adding missing vp sections
* [feat] adding link styles
* [fix] scaling down northstar logo
* [feat] adding ns sections
* [feat] fetching northstar release notes
* [fix] release notes containers are scrollable
* [feat] removing space between menu and some sections
* [feat] loading vp+ns versions into interface
* [chore] pushing version to 0.10.0
* [feat] play buttons launch games
* [refactor] renaming vp releases fetching method
* [feat] displaying an option to update northstar
* [feat] message is displayed if ns is up-to-date
* [feat] displaying ns download progress
* [refactor] removing ns-updating and ns-updated events
* [feat] adding UI translations
* [fix] correctly displaying vp release notes
* [refactor] removing useless code
* [feat] adding Imply to credits for viper logo
* [feat] loading titanfall version from gameversion.txt file
* [feat] centering viper main section
* [feat] adding custom scrollbars to release notes sections
* [feat] disabling images drag
* [feat] all external links are opened in default browser
* [feat] formatting release notes with markdown converter
* [feat] translating UI items
* fixed backgrounds not being same size
This would cause weird transitions.
* new.css is now main.css, fixed colors and fonts
* page indicator is now prettier
We no longer use a character to render a circle, and it's no longer a
circle, instead it's a line, we also now have a nice transition on it,
both for fading in and out.
* removed simplebar in favor of ::-webkit-scrollbar
Almost everything we did with simplerbar could be done with native
WebKit scollbar CSS, hence why we switched to it.
* fixed uneven nav button margin
* fixed formatting
Single quotes to double quotes, spaces to tabs, etc etc... I also
removed simplerbar properly...
* removed unneeded consts
Elements set with ID's can by default be referred to with their ID, aka:
const element = document.getElementById("element");
Is useless as "element" will automatically refer to that element if
theres no variable that overwrites it.
* use release name over tag_name
"Release vX.X.X" frankly looks better than "vX.X.X"
* playBtn's now look nicer
Slight transition on hover and click.
* added pointer cursors to nav buttons and playBtn's
Along with transitions to the nav buttons, because they look very good.
* [fix] viper main section appears correctly on viper logo clicked
* different opacity for inactive pages
* removed "Roboto Mono", added normal "Roboto"
* removed old HTML
* fixed formatting in launcher.js
* redesigned contentContainer's, and a lot more
I also swapped around the Vanilla logo and Northstar logo to have the
same size and the "Titanfall 2" text is in the same place on both
images, allowing seamless transition when changing pages.
I also completely redesigned displayContent(), it's now page() and
doesn't revolve around a switch case. I'll likely do a similar thing
with showVpSection() and showNsSection(), uniting them into one function
that doesn't use switch cases.
* added close button
* fix game icons not being found
* removed excess icons from assets folder
* [feat] adding a br to french releases key
* [feat] centering menu items
* [feat] implementing requests cache for NS release notes
* [feat] implementing cache for VP release notes
* changed ttf2 to tf2
Along with that, I also renamed the northstar2.jpeg bg to just
northstar.jpg, as all other background are .jpg
* [fix] adjusting containers
* [fix] adding some space between menu and content
Since we have lots of space to use now, let's use it!
This extra-space does not apply to release notes sections, which
already takes all available screen space.
* [feat] adding code style
* [fix] window is draggable thanks to a drag bar on its top
* [fix] drag bar height
* [fix] all window is draggable
* [fix] not disabling game buttons on ns update
* [fix] disabled buttons cannot be clicked
* [fix] displaying ns update downloading state on UI
* [fix] typos
* general improvements to the UI
Launch buttons now have a nice gradient, a shadow and a better hover
animation. The Titanfall logos are now also centered no matter the
window size, so if in the future we decide to allow resizing the window
that won't be a problem, or if you force the window to do it through
some trickery, it'll also still show correctly.
I also changed the default font weight to 500, some pieces of text
looked very thin.
* unified information and credits section
* mods section should more or less look good now
Still not complete done, I still wanna implement a drag and drop
install, along with selecting whether you're installing a zip or folder.
And also a warning when toggling or removing required mods...
But generally this is the design I will go with.
* added warnings for toggling/removing core mods
* [feat] adding missing translations
* [fix] typo in gui.mods.disabledtag french translation
* re-added download progress
* added section transitions
* switched to npm module for markdown parsing
* correcting some formatting, nothing special
* active page button is now more obvious
Co-authored-by: 0neGal <mail@0negal.com>
|
|
|
|
|
|
|
|
|
|
This adds both the arguments themselves, but also their entries in the
man page and help page.
|
|
|
|
* [feat] adding methods signature to alert when selected game path is falsy
* [feat] a game path is valid if it contains 'Titanfall2.exe' file
* [feat] adding translations for wrong gamepath key
* [feat] if a wrong path has been selected, ask for it again
* formatting and removing useless function
Given we only use checkGamePath() once there's no need to even have a
function for it.
Co-authored-by: 0neGal <mail@0negal.com>
|
|
|
|
* [refactor] moving main.setPath listener outside start method
* [refactor] setpath tells if game path is set or not
* newpath event tells if game path dialog is successful or not
* [feat] main window will not show if path is not set
* [feat] viper displays a dialog and exits if no game path was prompted
* [fix] viper prompts for game path if viper.json:gamepath is not set
* [feat] translating gui.gamepath.must key
* code cleanup
fixing single quotes and alike
* fix gui.gamepath.must message
Co-authored-by: 0neGal <mail@0negal.com>
|
|
Lovely, only issue is for some reason both on Windows and Linux file
dialogs can't select both directories and files, so either it's a folder
or it's an archive, not both.
So I guess we need to make some way to select it...
|
|
|
|
Smoothly updates and works flawlessly, the only thing that really needs
improvements is the design and on top of that installing mods from a Zip
file over folder.
|
|
Mostly, the installing part needs a bit more look at, to support
archives and different layouts for the mod. Such as searching through an
archive to find the right folder because some mods don't use a proper
layout. I also somewhat mitigated the whole issue of JSON files not
being formatted properly by the mod developer (please just fix your
formatting, I beg you.) by simply assigning the absolute basics, however
we can't know the versions of the mods.
I am not going to go out of my way to write code which can parse a file
that wasn't made to be parsed because whoever wrote it doesn't know what
a JSON file is made of. Simply not happening.
I also added a few locatiolization related things, along with more info
for --mods, so besides the normal counter for "Installed mods" you also
have "Enabled mods" and "Disabled mods", very useful.
The GUI also has a new added "Disabled" tag to mods that are disabled,
however this is a temporary, it looks bad and I don't want it in
release, I just needed a way to distinquish when testing.
Because you can now also enable and disable mods, mods.list() gives back
an Object that goes more or less something like:
{all: ..., enabled: ..., disabled: ... }, take your guesses as to what
everything means, you might even get it in the first try.
|
|
|
|
* [chore] adding electron-updater dependency
* [feat] adding auto-updating mechanism
* [chore] setting package version to v0.8.0
* [fix] restoring original repo URL
* [docs] adding some documentation about publishing new releases
* [chore] adding publish:windows command
* [docs] updating publish instructions with new publish command
* [chore] adding publish:linux command
* [docs] updating publish instructions
* --updatevp, and option to disable auto updates
If you want you can set "autoupdates" to false in your config, no GUI
tools to do this yet. For the CLI auto updates is off by default and
you'll have to use --updatevp.
I also removed the snap package, tho whether this stays as a change is
still to be discussed.
And with the new option I updated the help menu, the man page and
everything along else that needs it.
* removed "soon" parts of README for auto-updates
* [feat] adding French translation for cli.help.updatevp key
* confirmation for restarting the app
Now instead of automatically updating and restarting the app, which may
be slightly confusing to some users, (the app opens then closes and then
opens), it now asks whether you want to restart and open the new
version. If you say no, instead next time you launch it, it'll be on the
new version.
If you want to completely disable updates you can disable it in the
viper.json file...
* [feat] adding French translation for gui.update.available key
* added configuration instruction in README
Co-authored-by: 0neGal <mail@0negal.com>
|