Age | Commit message (Collapse) | Author |
|
Moves functions related to game install path verification checks to dedicated module in an effort to clean up `main.rs`
|
|
When a directory couldn't be read on cleanup it errored out. Instead we should continue to clean up the rest of the directories
|
|
* fix: Go over all folders during cleanup of early return on error
* fix: Remove now unused import
|
|
Add extract dir to cleanup
|
|
The temp folder we create could be reused for a lot more things, like extracting Northstar before moving files into the correct place.
As such adjust the naming and structure to accommodate this.
|
|
Add Profile to GameInstall
Replace hardcoded uses of R2Northstar with profile attribute
|
|
Move remaining logic in one big move
|
|
Move `get_enabled_mods` into the mod management module.
|
|
Part of #329
|
|
Use pass-by-reference where possible
also contains some other small changes
|
|
* fix: Remove unnecessary clone
* fix: Remove redundant field name in struct init
* fix: Single-char string constant used as pattern
* fix: calling `push_str()` using a single-character string literal
* fix: this pattern reimplements `Option::unwrap_or`
* fix: Remove unnecessary borrow
* fix: Remove useless use of `format!`
* fix: called `inspect(..).for_each(..)` on an `Iterator`
* fix: Formatting
|
|
|
|
* refactor: Move list of core mods to consts source
Move the list of core Northstar mods to constants.rs
* fix: Add missing newline
* refactor: Move list of blacklisted mods to consts
source file
* refactor: Move list of TF2 Origin IDs to consts
source file
|
|
* refactor: Deal with fs::read_dir failure instead of checking if exists
|
|
|
|
* refactor: Remove unnecessary caller function
Instead call `disable_all_but_core` directly
* refactor: Remove unnecessary caller function
Instead call `get_installed_mods_and_properties` directly
* refactor: Remove unused exposed backend function
* refactor: Remove unnecessary caller function
Instead call `set_mod_enabled_status` directly
* refactor: Remove unnecessary caller function
Instead call `verify_game_files` directly
* refactor: Remove unnecessary caller function
Instead call `get_log_list` directly
|
|
For this we first rebuild the `enabledmods.json` file. This ensures that
all installed mods are actually listed there.
The function was originally created before we could rebuild
`enabledmods.json` by checking installed mods.
|
|
|
|
This way we only define them in one place
|
|
Getting log files is part of repair and troubleshooting
|
|
* feat: Initial support for installing mods from TS
This is the basic code needed to install a mod from Thunderstore
* refactor: Remove console log, show msg in notif
Instead of console logging result message, show it in notification
instead.
* refactor: Rename function to indicate behaviour
Function not only installs but also downloads mod first.
Although it does remove downloaded zip post installation.
* refactor: Move install logic to dedicated module
`mod_management` module didn't exist when this PR was created
* chore: Trim single leftover newline
* fix: Update code for newer `libthermite` version
* feat: Allow installing older versions of mods
Installs the given version number instead of only allowing latest.
* fix: Explicit error msg for installing NS as mod
While it would fail during install anyway, having explicit error message
is nicer
* feat: Write TS mod string to mod.json
Write Thunderstore mod string of installed mod to its `mod.json`
This way we can later check whether a mod is outdated based on the
Thunderstore mod string
* fix: Early return on empty string
Prevent trying to install the first mod that matches an early string. We
should never pass an empty string in the first place but better safe
then sorry.
* build: Add dependency for recursive async
Needed for recursive mod dependency install
* feat: Recursively install mod dependencies
* fix: Early catch installing R2modman as mod
Just in case to prevent someone trying to install R2modman as a mod.
* refactor: Remove debug prints
* fix: Allow installing mods having NS as dependency
They would previously error out as Northstar cannot be installed as
dependency. We now catch that specific error and return Ok(())
* fix: Delete download folder after mod install
Deletes download folder after mod install if non-empty.
* fix: Do not early leave when dependency is NS
Logic error, instead of skipping installing Northstar as dependency it
would previously just return early with success.
* chore: Remove leftover commented out code
|
|
Only a single function for now as a sort of proof-of-concept.
|
|
Should help with fixing a Northstar install in the case of conflicting
mods.
|
|
Once done, should help with some tickets.
|