Age | Commit message (Collapse) | Author |
|
If you're not clicking inside the `#browser` popup, then the preview and
filter popups would stay open, until you do so, or something else causes
them to close.
This fixes that.
|
|
Its now been split into 2, requests.js and releases.js, the latter
simply gets relevant info from GitHub release pages. The prior however
gives simple functions for doing `GET` requests, and caching the result,
and then transparently it'll use that cache when you request it next
time. On top of this, some requests made by the renderer will now also
use this, and this in turn ends up making loading the mod browser much
faster. As instead of having to request the list of packages from
Thunderstore, we can simply load the result of an old request.
The current lifetime of the cache is 5 minutes, however this can also
easily be adjusted.
This also moves the cached requests away from
<cache_folder>/viper-requests.json, and over to
<cache_folder>/Viper/cached-requests.json
|
|
|
|
If the settings popup was opened or closed through other means than
clicking the settings button itself, "Save" button or "Discord"
button, then the cog wouldn't update/rotate accordingly.
|
|
|
|
This makes opening and closing popups a little bit easier, on top of it,
it also fixes a bug where you could open the settings popup on top of
the browser popup or other popups, and it'd hide the background blur,
but still show both popups.
|
|
|
|
Ideally this has no side effects, however, I've not actually tested if
the launching does properly use the launch arguments, due to not having
a Windows device on hand. This will be tested later...
We still attempt to load launch arguments from `ns_startup_args.txt` if
none is set in the settings. However, this may be removed in the future.
|
|
This takes a bit of code from #220 to implement percentage progress on
the download, then with the new pseudo element on the Launch button, we
can have a slight progress bar inside the button, along with
percentages, and it all works handy dandy.
This may not be finished, but it's definitely far there.
|
|
|
|
|
|
If the gamepath is lost or similar then it'll disable many buttons,
notably the install/launch buttons and other similar buttons, however
for obvious reasons we shouldn't be stopping the user from changing
their gamepath in this scenario. This is still useful when installing a
mod or updating NS, so it's just this scenario.
|
|
Very useful stuff!
|
|
This only occurred if there was one continous piece of text, that is, no
spaces in between the characters, this only happened in the detailed
error messages, but it's quite important to see the whole message!
|
|
|
|
The amount of times I've broken something with `backdrop-filter` is far
too many, but what can you expect.
|
|
|
|
I will likely add more buttons in the future, but for now this is most
of the ones a user could need to repair problems.
|
|
|
|
Most of these are from back when Viper was originally started, I also
removed a few keys as they were no longer in use, but were forgotten
about, most of these are from pre-v1.0.0 aka, the old smaller UI
|
|
The `lang()` function doesn't change whatsoever, as the lang files are
flattened and are therefore identical to the before this commit.
I also cleaned up the files, and all the lang files should now all look
far more similar in order.
|
|
|
|
From my testing this works without problems, but further testing will be
requested in #211
|
|
If the main process has changes to the settings, said settings will now
also be sent to the renderer, making them synchronized.
|
|
This would mean if the gamepath cant be found automatically you'll be
asked to set your gamepath every time Viper starts, instead of it
remembering it, and if it can find it automatically, then you'd never
have known this was a problem (hence why this was even a problem)
|
|
|
|
The mod browser before this pre-maturely thought it had loaded all the
available packages, when in fact, it'd barely started. Now this is
fixed, and you can scroll for quite some time before actually reaching
the real end of the package list.
|
|
This doesn't break the old way of detecting things, for various reasons,
but notably it'd cause more harm than good. As we still need to be able
to detect packages that haven't been converted into the new location.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Install toasts, installing overall, dependencies and so forth, all seem to be fully functional, however more bug testing is probably required to concluce whether that is actually the case or not...
This also doesn't break `src/modules/mods.js`, i.e dragging mods in to
manually install them still functions the same as always.
|
|
This means instead of showing the invididual mods inside a package, we
simply show 1 mod/package, we then use the name, description, version
and so forth from the `manifest.json` inside the package folder. Further
we now also support a local `icon.png` file, instead of relying on
remotely stored icons and trying to match names against each other.
|
|
I may or may not have missed some properties or something somewhere,
perhaps we'll see if something ends up broken in the future...
|
|
|
|
They're pretty simple to use, and automatically make themselves fit on
screen, on top of automatically disappearing and appearing of course.
I've used them a few places now, and not sure where else they can be
used, there are of course localization strings that need, well,
localization, and I'll create a PR for this on a later date.
|
|
This should've already been a thing, and was a thing for when the game
was currently launching, but this functionality seems to have been
broken at some point.
|
|
win.alert() now has a Promise return value, which'll allow you to wait
until an alert has been closed before continuing code execution.
win.confirm() was also added it's the same as win.alert() except it runs
confirm() in the renderer instead of alert(), and has a return boolean
in the Promise resolve callback. This boolean being whether the user
confirmed the action or not.
|
|
On restart, if the json file was broken supposedly would try to repair but it wouldn't work, it would keep repairing but failing.
This should fix it by deleting the json file and creating a new one at the start with the correct settings (hopefully)
|
|
|
|
If not enough elements are inside a grid to fill it out entirely it'll
attempt to put spacing in between the items to make them vertically
centered. This is now removed.
|
|
|
|
|
|
"cache_dir" being wherever your OS puts it's cache, it's the same place
mods.js uses to download mods.
This prevents cluttering up the gamepath with temporary files.
|
|
|
|
Notably, winLog() and winAlert() are now win.log() and win.alert()
inside modules/window.js.
updateViper(), updateNorthstar and handleNorthstarUpdating() are now
update.viper(), update.northstar() and update.northstar_autoupdate(),
inside modules/update.js
isGameRunning() and isOriginRunning() are now is_running.origin() and
is_running.game() inside modules/is_running.js, along with a
.titanfall() and .northstar() for more specificity. Not used anywhere
right now, but may in the future be used.
setpath() and gamepathExists() are now gamepath.set() and
gamepath.exists() inside modules/gamepath.js
killOrigin() are now kill.origin() inside modules/kill.js
setlang() is now just inlined into the only event where it's used.
|
|
They're now identical!
|