- `Patch/Stream`'s `patchFinish()` callback now have `result: boolean` argument
which indicates whether the patch was successfully applied
- `Patch/Stream` now also logs patch script output
- if the patch wasn't successfully applied - then `ApplyPatch` script
will show user a notification about it
- also was fixed notification icon in telemetry checking
- added Italian
- added `Locales.supported()` and `Locales.fallback()` methods
now launcher can have locales unsupported by the game
From previous commits:
- fixed shaders work
- made `Tray` class to manage tray features
- added tray icon
- added `folders` field in config file
and now you can specify some pathes
- added `constants.paths.tempDir` field
- Discord RPC icons were moved to `src/assets/images/discord` folder
and highly optimized
- added templates for `fr-fr`, `es-es` and `vi-vn` translations
- added Discord RPC icons selection
- added windows centering;
also added `Window.current.center()` method
- added custom shaders option in settings menu
- fixed `applied` patch info field caching
- decreased splash screen timings
- Discord RPC icons were moved to `src/assets/images/discord` folder
and highly optimized
- added templates for `fr-fr`, `es-es` and `vi-vn` translations
- added Discord RPC icons selection
- added windows centering;
also added `Window.current.center()` method
- made preparations to make discord rpc settings
- fixed game updating mechanism
- fixed `Patch.getPatchInfo()` method work
- added proper design for patch-related launcher states
- fixed progress bar displaying issues during pre-downloaded game unpacking
- made Discord RPC preparations
made `discord-rpc` cli utility
made `DiscordRPC` class to manage it
- changed `'` to `"` in every command execution
- `Voice.current` field changed to `Voice.installed`
- `Voice.selected` field now returns list of selected voice packages
- added `Voice.delete()` method to delete voice package
- `Voice.isUpdatePredownloaded()` method now can check list of voice packages
- fixed ProgressBar's `showTotals` property work
- decreased maximal wine prefix creation log size in progress bar
- improved `Process.run` command which now finds correct process id
- made DropdownCheckboxes component
- made voice packages selection system
- Wine-GE runners family moved to the top of the runners list
- now installed runner will be automatically selected
- launcher controls were slightly moved down
- fixed double resolved unpack directory logging in AbstractInstaller
- fixed `Prefix.create()` method work
- added `State.update()` method logging
- now settings button will be hidden when user are doing something
- added `InstallWine` and `InstallDXVK` scripts; added related launcher states
- added `tooltip` property for the `Checkbox` and `SelectionBox` components
- changed text selection cursor to default
- added tooltips for some options in the settings menu
- updated vite version
- made `Game.isTelemetryDisabled()` method to check whether game's telemetry is disabled
- made `Domain` class and `Domain.getInfo()` method
to get information about some domain
- made `Notifications` class to manage system notifications
- added telemetry checking before game launching
- some `Wine-GE` things recommended now
- added loading gif during dxvk (runner) applying / something deleting
- added dxvk installation, deletion and applying
- `DXVK.current` field was reworked as a `DXVK.current()` method
- added `DXVK.delete()` method
- added `DXVK.apply()` method
- fixed `runners.json` `Wine-6.16-GE-1` URI
- added recommendable only checkboxes for DXVK and runners lists
- fixed empty config property creation
- added runners installation, deletion and selection abilities
- `Runners.current` field was reworked as a `Runners.current()` method to be able
to change selected runner according to the config file
- disabled neutralino window hot reloading
- fixed `Game.current` version gathering from the game files
- fixed `Patch.getPatchInfo()` method working, so now this function and
the `Patch.current` field will return correct information whether
the patch was applied or not
- `Patch.install()` method now can return null if the patch state is "preparation"
- added `Voice.selected` field that will represent the `lang.voice` config
- fixed `Voice.getDiff()` method errors
- improved `Archive`'s stream unpacked files listing
- made `Prefix` class, some `Runners` methods from the previous update were moved there
- fixed `ProgressBar.init()` method work which also fixes ETA calculation
- added bunch of new launcher states and events for them
- added `State.update()` method to automatically update launcher's state
- `Process` object now can get the output of the process that was started
by the `Process.run()` method and can be accesed
by the `output` event
- also was removed `input` field for the `Process.run()` method options
- added voice selection
- added theme selection
- added discrod rpc toggle
- added hud selection
- added gamemode, fps unlocker and dxvk logs auto-deletion options
- default settings were moved to a separate file
- dxvk list now shows installed and active dxvk
- added `DXVK.current` field
- made `SelectionBox` component
- made `DXVKSelectionList` component
- updated locales files
- added locale selection based on `SelectionBox` component
- added `vue-i18n`
- made `Locales` class to get launcher locales
- added checking that settings window is not already open in `Launcher.showSettings()`
- improved `promisify()`; now it can work with `Promise` objects
- improved `Process` class;
added `Process.kill()` and `Process.running()` methods
- improved `Window` class, fixed its output