- updated locales
- made `Launcher.isPackageAvailable()` method to check if some package installed
- added GameMode and shaders packages existance checking
From previous commits:
- added 8 new discord rpc icons
- updated way `DiscordSettings` handles RPC icons
- fixed windows sizing on wayland
- 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 UWU (Cursed) Language (by Marie)
- removed vi-vn and es-es locales because no one translate it
- added 6 new splash screen messages
- encoded file names for discord rpc icons
- fixed old launcher logs deletion
- added environmental variables manager
- fixed `Domain.getInfo()` method work in some specific cases(?)
- 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
- now by default config file's `env` field contains `{ WINEESYNC: 1 }`
so now ESync enabled by default
- added `fsr` field to config file;
added checkbox to the settings menu
if this option enabled, launcher will run the game with `WINE_FULLSCREEN_FSR: 1`
and `WINE_FULLSCREEN_FSR_STRENGTH: 3`
environmental variables
- updated locales
- now by default config file's `env` field contains `{ WINEESYNC: 1 }`
so now ESync enabled by default
- added `fsr` field to config file;
added checkbox to the settings menu
if this option enabled, launcher will run the game with `WINE_FULLSCREEN_FSR: 1`
and `WINE_FULLSCREEN_FSR_STRENGTH: 3`
environmental variables
- 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 readme
- removed es-es locale because no one use it
- updated German, French and uwu languages
- fixed old launcher logs deletion
- added environmental variables manager
- fixed `Domain.getInfo()` method work in some specific cases(?)
- removed vi-vn locale because no one translate it
- added 6 new splash screen messages
- encoded file names for discord rpc icons
- made preparations for env manager
- 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
- improved `Window` class. Added:
+ `Window.isWayland()` to check if the system runs under wayland
+ `Window.upscaleSize()` to fix sizing of the window if the system uses wayland
- removed ability to resize windows (mistakenly added in the prev commit)
- 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
- `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
- 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 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
- added remained .tmp files removing before launcher closes
- improved `Process.run()`, fixed its work with AppImages
also now it finds the real process id by the `pgrep -P` command
which is a lot faster and better
- 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
- `Prefix.getWinetricks()` now makes `winetricks.sh` executable
- added test patch hint
- fixed `Install` script error with game updating
- fixed `InstallWine` and `InstallDXVK` scripts work
now they select installed things in config file
- now Archive Stream creates folders recursively before unpacking
- `DXVK.list()` and `Runners.list()` now don't require related to them folders to work
- now launcher automatically creates `constants.paths.launcherDir` directory at the start
- 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
- decreased splash window size
- added `Game.getLatestData()` result caching, so basically every
`Game` and `Voice` method and field now caches most of the data
- Made `Game.predownloadUpdate()` method
- Made `Game.isUpdatePredownloaded()` method
- Made `Voice.predownloadUpdate()` method
- Made `Voice.isUpdatePredownloaded()` method
- fixed `Cache.get()` method work
- now launcher window hides when you launch the game
- added `pre_download_game` API field type definition
- added game pre-downloading button