* This version will be released after
all the locales will be updated
- added `HDiffPatch` class to work with HDiffPatch (https://github.com/sisong/HDiffPatch)
- added 2 new launcher states
+ game-files-changes-applying-required
+ game-outdated-files-deletion-required
- added `.hdiff` files changes applying
- updated dependencies
From previous commits:
- fixed an issue with log files' name generation
It seems that on some specific file systems(?) `stat -c '%W' <file>`
returns `0` as a file creation timestamp
- updated Italian
- updated pictures and statistics
- removed `constants.getPatchUri()` function
- reworked `Patch/Stream` class to use `git clone` and `git pull` instead of
downloading repository archive
- fixed patch applying issue (!43)
- updated dependencies, statistics and pictures
- dxvk and runners list now stored in yaml format
- added new wine versions;
made `Wine-GE 7.2-2` the default one
- updated dependencies
From previous commits:
- added Futex2 option for Wine synchronization settings
- fixed 100% CPU Usage lock on Discord RPC (!36)
- added borderless windows option (!35)
- reworked `enhancements` locales structure;
added separate "Wine", "Game" and "Launcher" sections
to the "Enhancements" settings
- added "Use terminal" option to run the wine command in a separate terminal window
- fixed `DXVK.apply()` compatibility with Wine-GE 7.* (b1c96039)
- updated Hungarian and Norwegian
- updated notahuman's shaders to v5 (!37)
- disabled terminal usage in flatpaks
- added `latest.log` file generation, changed log files naming
From previous commits:
- fixed chinese voice data installation (!33)
- don't attempt to edit /etc/hosts or use pkexec when running as flatpak (!31)
From beta-1:
- fixed compatibility issues with patch repos
- changed application id
- implemented !28
- changed a bit config file structure
From previous commits:
- ping command check before telemetry check (!23)
- updated empathize version;
due to it was removed `Launcher.isPackageAvailable()` method
which now included in empathize as `Package.exists()`
- `Game.isTelemetryDisabled()` now rejects an Error object
when `iputils` package (`ping` command) is not installed
- due to the change above was slightly rewritten `Launch.ts` script
- added automatic default language selection
- added `Locales.system()` method to get
launcher-supported locale based on the `$LANG` env variable
- use polkit/pkexec instead of removing sudo section (!26)
- blured everything that should be blured in the launcher pics
- added blank analytics window
- removed `components.sass` file;
its content was moved to `settings.sass`
- improved `Button` component
- added `constants.uri.discord` and
`constants.placeholders.uppercase.company_alterego` fields
- added proper windows centering
- added Hungarian
- added `wine-ge 7.1-1` and `proton-ge 7.1-(1/2)` to the runners list
- `wine-ge 7.1-1` now is the default runner to install during the game's installation
- small conspiracy changes
- fixed actions execution issues in the launcher's core libraries
- added virtual desktop option (!28)
- added ToS violation warning window
- added additional IPC pull purging during the start of the launcher
From 2.1.0-beta1:
- moved launcher on empathize
- added some links to the end of the settings menu
- updated notahuman's shaders to v4
- added localizations for notifications
- fixed possible errors in `Locales.bind()` method
- added `Locales.translate()` method to translate something
- added DXVK 1.9.4 and made it default;
DXVK 1.8 and 1.8.1 now aren't recommended
- added Indonesian
- added Wine synchronization option in settings
that can accept None, ESync or FSync
- added `xdelta3` package existing checking before patch applying;
also added an error notification when patch repos are not available
- `cache.json` file was renamed to `.cache.json`
- `Patch.fetchTimeout` was increased up to 5 seconds from 3 seconds
- fixed *possible* issue with `Locales.default()` method:
before, if you've been passing there a language to set as default,
it wasn't returning properly
- added notification when all the patch repos are not available
- added blank analytics window
- added roadmap goal
- removed `components.sass` file;
its content was moved to `settings.sass`
- updated Spain and Italian
- made preparations for tos violation warning window
- improved `Button` component
- added `constants.uri.discord` and
`constants.placeholders.uppercase.company_alterego` fields
- updated empathize version, added proper windows centering
- updated empathize to 1.4.0;
due to it was removed `Launcher.isPackageAvailable()` method
which now included in empathize as `Package.exists()`
- `Game.isTelemetryDisabled()` now rejects an Error object
when `iputils` package (`ping` command) is not installed
- due to the change above was slightly rewritten `Launch.ts` script
- added `Launcher.version` field that represents... current launcher version
- made `Git` class to work with git repositories;
made `Git.getTags()` method to list remove repository tags
- added outdated launcher version notification
- updated dependencies
- added proper shaders menu section
- made `Locales.bind()` method to bind some callback to locale changing event
- with change above, made proper translations for button on the main window
- added some buttons to settings menu
+ winetricks
+ winecfg
+ launcher folder
+ game folder
- made `Button` component
- fixed textarea and input background in dark theme in tables
From previous commits:
- made outdated files deletion
- reworked runners selection list
- removed `purge_dxvk_logs` config
- added `purge_logs.game` and `purge_logs.launcher` configs
- now launcher can delete its own old log files
- made DXVK logs deletion option works
- `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
- fixed typo in notahuman's shaders
- 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
- added `Patch.getPatchInfo()` now caches its data
- increased `Game.getLatestData()` method caching time to 6 hours
From other commits:
- improved dropdown item contrast (!18)
- fixed DXVK applying
- fixed `Cache.set()` work
- added log files auto-saving
- fixed `Domain.getInfo()` work with different system languages
- added debug logs printing in console
- added proper launched game closing handling
- added `patch` property to `Patch.install()` method to optimize it a bit
- added `button-blue` and `aria-label` thingies removing after test patch applying
- added some visual tweaks during patch applying
- updated logo
- updated discord rpc structure, settings menu and so on
- (probably) fixed .tmp files deletion
- decreased `Game.getLatestData()` caching period
- fixed discord-rpc binary execution
- 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
- changed aur package name and link
- removed webkit2gtk from the install commands in readme
- added theme auto-switching
- fixed dxvk config updating after installation
- fixed `fetch()` delaying issues
- 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
- 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 `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
- made `promisify()` function to run some code asynchronously
- added some default configs setting at start
- now settings are stored in yaml format
- fixed `Configs.defaults()` null values overwriting
- added launcher state system
- added `Runners.current` field to get the current selected runner
according to the config file
- `Configs.get()` method was renamed to `Configs.list()`
- added `Configs.get()` method to get a `Runner` object
by the specified runner name
- added `Process` class to have a better experience of working with processes
- updated readme
- changed launcher version field in neutralino configs
- updated vite dependency version
- added launcher background and social buttons reactive loading
- added `Cache` class that probably will be useless in future
-
- added `Game.versions` field
- created custom `fetch` function for proper work with http requests
- `Downloader.download()` was rewritten to work with custom `fetch` function