- 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