Skip to content

Commit

Permalink
Merge branch 'master' into release/opengl
Browse files Browse the repository at this point in the history
  • Loading branch information
mtkennerly committed Aug 30, 2020
2 parents 1c7af41 + 23ab816 commit 6c0a0ab
Show file tree
Hide file tree
Showing 30 changed files with 3,883 additions and 2,345 deletions.
29 changes: 29 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,32 @@
## v0.9.0 (2020-08-30)

* Added:
* An indication when a single file or registry key will be backed up by
more than one game.
* CLI: A `complete` command for generating shell completion scripts.
* GUI: Info about how many games are selected, if the number is different
than how many games have been processed in the backup/restore.
* GUI: An edit button next to each game in backup mode to quickly create
a custom entry for that game, pre-filled with the default info.
* GUI: A search option to just see games with matching names.
* GUI: A button to open a game's PCGamingWiki article so that you can more
easily review or update its information.
* Changed:
* GUI: Each game's list of files is now a tree with collapsible folders,
rather than a plain list of full paths. Performance has also been improved
for very large lists.
* GUI: The backup/restore confirmation screen now has some extra text that
recommends doing a preview first.
* Fixed:
* When using a custom entry to override a known game, some of the original's
non-overridable data would not be inherited by the custom entry (namely its
Steam ID and installation directory name).
* GUI: If the initial full scan found saves for a game, and then you created
a custom entry for that game such that no saves would be found, did a scan,
deleted the custom entry, and did another scan, then that scan would not
find any files for the game. Now, it will correctly revert to the standard
data for that game immediately.

## v0.8.0 (2020-08-10)

* Added:
Expand Down
31 changes: 30 additions & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 3 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "ludusavi"
version = "0.8.0"
version = "0.9.0"
authors = ["mtkennerly <mtkennerly@gmail.com>"]
edition = "2018"
description = "Game save backup tool"
Expand All @@ -14,6 +14,7 @@ byte-unit = "4.0.8"
copypasta = "0.7.0"
dialoguer = "0.6.2"
dirs = "3.0.0"
fuzzy-matcher = "0.3.5"
glob = "0.3.0"
# iced = "0.1.1"
# iced_native = "0.2.2"
Expand All @@ -23,6 +24,7 @@ image = { version = "0.23.7", features = ["ico"], default-features = false }
indicatif = { version = "0.15.0", features = ["rayon"] }
itertools = "0.9.0"
native-dialog = "0.3.0"
opener = "0.4.1"
rayon = "1.3.1"
realia = "0.2.0"
reqwest = { version = "0.10.6", features = ["blocking", "rustls-tls"], default-features = false }
Expand Down
26 changes: 25 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ It is cross-platform and supports multiple game stores.
* Backup and restore for Steam as well as other game libraries.
* Preview of the backup/restore before actually performing it.
* Both a graphical interface and command line interface for scripting.
Tab completion is available for Bash, Fish, Zsh, PowerShell, and Elvish.
* Support for:
* Saves that are stored as files and in the Windows registry.
* Proton saves with Steam.
Expand Down Expand Up @@ -133,6 +134,20 @@ If you are on Mac:
(when all games are selected) or the `select all` button (when at least
one game is deselected) to quickly toggle all of them at once.
Ludusavi will remember your most recent checkbox settings.
* Next to each game's name is an edit icon. Clicking this will create a custom
game entry with the same name, allowing you to override that game's data.
See the [custom games](#custom-games) section for more information.

There is also a globe icon, which will open the game's PCGamingWiki article
so that you can quickly double check or update its information if needed.
* You can click the search icon and enter some text to just see games with
matching names. Note that this only affects which games you see in the list,
but Ludusavi will still back up the full set of games.
* You may see a "duplicates" badge next to some games. This means that some of
the same files were also backed up for another game. That could be intentional
(e.g., an HD remaster may reuse the original save locations), but it could
also be a sign of an issue in the manifest data. You can expand the game's
file list to see which exact entries are duplicated.

</details>

Expand Down Expand Up @@ -164,6 +179,9 @@ If you are on Mac:
will have when you perform the restore for real.
* You can select/deselect specific games in restore mode just like you can in
backup mode. The checkbox settings are remembered separately for both modes.
* You can click the search icon and enter some text to just see games with
matching names. Note that this only affects which games you see in the list,
but Ludusavi will still restore the full set of games.

</details>

Expand All @@ -187,7 +205,9 @@ If you are on Mac:
as are empty paths and empty registry keys.

If the game name matches one from Ludusavi's primary data set, then your
custom entry will override it.
custom entry will override it. This can be used to totally ignore a game
(just don't specify any paths or registry) or to customize what is included
in the backup.

</details>

Expand Down Expand Up @@ -231,9 +251,13 @@ will have the following structure:
* `bytes` (number): Size of the file.
* `originalPath` (optional, string): If the file was restored to a
redirected location, then this is its original path.
* `duplicatedBy` (optional, array of strings): Any other games that
also have the same file path.
* `registry` (map):
* Each key is a registry path, and each value is a map with these fields:
* `failed` (optional, boolean): Whether this entry failed to process.
* `duplicatedBy` (optional, array of strings): Any other games that
also have the same registry path.

Note that, in some error conditions, there may not be any JSON output,
so you should check if stdout was blank before trying to parse it.
Expand Down
Binary file modified docs/demo-cli.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/demo-gui.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 6c0a0ab

Please sign in to comment.