- 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
- 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
- disabled already selected dxvk/runner re-selection
- fixed `Voice.current` output
- made `Debug` and `DebugThread` classes
- fixed `winecfg` usage during DXVK installation
- `bash` usage was changed to the `./`
- added voice update state identification
- fixed shaders usage in game launching script
- added debugging to the `[launchder]/logs` folder
- 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 `Archive.closeStreams()` method to close all the unpacking streams
- added `Downloader.closeStreams()` method to close all the downloading streams
- added the same methods to the streams itself
- fixed launch button events execution
- added prefix creation during the game installation/updagin
if it is not created
- added some hack to the `Process.running()` method to show that the process
is not running if it is a zombie
- added `Runners.getWinetricks()` method to get the `winetricks.sh` script
- added `Runners.createPrefix()` to create wine prefix using the currently
selected wine version
- added game installation and updating action scripts
- added `Process.addSlashes()` method to easily isolate some strings
- 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
- made selection list component
- generalized selection box component;
added `LanguageSelection` component
- `DXVK.get()` method was renamed to `DXVK.get()`
- added `DXVK.get()` method to get a DXVK with a specified version
- 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
- added template settings html file
- removed excess code from the entry file
- fixed windows loading
- added proper main window title
- added settings button events
- also `index.ts` now works through `promisify()`
- added `Launcher.showSettings()` method
- fixed `promisify()` issues related to `callAtOnce` property
- fixed `Game.getLatestData()` method
- added `Patch.install()` method
- added downloaded archive auto-deletion in `AbstractInstaller`
- highly improved `promisify()` function
- added `source` field for the patch info
- 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
- added some default settings setting
- changed unsupported `user-select` style to `-webkit-user-select`
- `Configs.set()` now can store promise objects
- made `ProgressBar` and `Background` classes in `launcher` folder
to simplify `Launcher` code
- 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 `Patch.getPatchInfo()` method to try to get info about specified
patch version and source
- added `Patch.latest` field to get latest available patch info
- added `Game.versions` field
- created custom `fetch` function for proper work with http requests
- `Downloader.download()` was rewritten to work with custom `fetch` function
- added `Game.getDiff()` method to the difference between specified
version and the latest one
- added `Voice.latest` field
- added `Voice.getDiff()` method
- updated comments
- fixed `Configs.defaults()` settings overwriting
- added `Game.getLatestData()` and `Game.latest` to get latest game's version
- added `Voice` class to work with installed voice packages
- some classes were moved to the `core` folder
- fixed `constants` casing
- added `constants.prefix` fields;
renamed a lot of fields;
encoded game related names
- added `Game` class to work with game info
added `Game.current` field to parse installed game version
- added `start` events for `Archive` and `Downloader` streams
- fixed `Downloader.download` file size calculation
- `Downloader.fileFromUri` is now public
- fixed `Runners.get` output type
- added `Runners.download` method
- fixed `constants.patchUri` property processing;
added `constants.getPatchUri` method which will return a URI to the patch
based on the source you use
It also fixes an issue with game's patch applying
- fixed an error message with unexisting `fps_config.ini` deletion
- updated launcher pictures in readme
- added Lutris 6.21-5 runner
- added `recommendable` field to the runners (for future feature)
- removed PrefixSelector class which functionality now partially moved
as an anonymous class in the `constants.prefixDir` property
- fixed temp winetricks and winecfg buttons disabling
- made `LauncherLib.getGameVersion` method to gather game version from its files
- added action buttons (open launcher's folder, winecfg, winetricks)
- improved i18n.translate method which now can use user-provided placeholders
- disabled text selection ability
- added dark theme (add themes system at all)
From 1.6.1 preparations:
- fixed default runner installation
- disabled dxvk cache auto-deletion
- added wineserver env to winetricks
- added cabextract requirement
- added roadmap goal (issue #35)
- fixed issue with incorrect wine version unpacking
- added temp unpacking notification to progress bar
because for some reasons it lags a bit
- removed excess locales
- added forgotten xdelta3 requirement
- added GPU selection (thanks to Laurin Neff)
- added DXVK logs auto-deletion option
- added winetricks and default wine version
auto-installation so they're no more required
- some settings were moved to "Enhancements"
- updated statistics
- added execution command log before game launch
- fixed analytics window showing on clean launcher run
And since anime company changed a it their api:
- fixed social buttons showing
- fixed background picture loading
- updated typescript, electron-builder and electron versions
- updated readme:
+ added link to the discord server
+ added roadmap goal
+ added development delay notification
- added new lutris and proton-ge versions
- updated launcher's banner
- removed old config file compatibility check
- added verification for MangoHud and shaders when you want to select them
if they even exist in your system
- now statistics also shows amount of minutes
- fixed some possible issue with patching process
- all classes now are exported as default
- improved some inner functions
- added HUD option with DXVK HUD and MangoHud support
- added shaders manager based on vkBasalt
- updated readme
+ added patch's update delation notification
+ game's name replacement request moved to the top of the repository
because readme became too large
+ added additional requirements table
+ updated goals
- updated statistics
- added additional horizontal padding for selectable options
- removed old config file compatibilities checks
- now selectable options can be dynamically extended
- some let variables changed to const
- added constants.appDir / chadersDir properties
- added i18n.language property
- updated electron version to 15.3.1
- added statistics section
for now launcher stores time spent in the game
- added Korean machine translation
- fixed an issue with analytics dialogue
- improved new launcher versions finder algorithm
- added voicepacks support
- added LauncherUI.updateLauncherState method
to automatically update launcher state
it possibly can break clear game installation because I changed the way
launcher identifies its state after some actions
- changed way the main button identifies what should it do
- now settings button hides when the launcher downloading something
- updated settings button icon
- updated background picture caching algorithm
- fixed main window flickering at start
- added environmental variables manager
- moved common styles to the basic.sass file
- added excess files deletion when game's update comes
- updated project logo
- fixed integrated AppImage's icons
- fixed launcher updates notification
- config.js now saves in the launcher's local directory
- removed excess installation step in the installPrefix function
- fixed and improved game patching process
- added launcher updates notifications
- made automatic patch state parsing
- added Baal icons to all notifications
- fixed menu category changing in settings
- removed excess code
- added analytics window
- added Proton 6.20 GE 1 to the runners list
- all common components moved to the separate files
- changed Launch button's shadow