Metadata-Version: 2.1
Name: bw_save_game
Version: 1.0.0
Summary: Editor for Dragon Age: The Veilguard saves.
Home-page: https://github.com/timniederhausen/bw_save_game
Author: Tim Niederhausen
Author-email: tim@rnc-ag.de
License: GPL-3.0-only
Project-URL: Documentation, https://pyscaffold.org/
Project-URL: Source, https://github.com/timniederhausen/bw_save_game
Platform: any
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python
Requires-Python: >=3.8
Description-Content-Type: text/markdown; charset=UTF-8
License-File: LICENSE.txt
Requires-Dist: importlib-metadata; python_version < "3.8"
Requires-Dist: importlib_resources
Provides-Extra: ui
Requires-Dist: imgui_bundle; extra == "ui"
Provides-Extra: testing
Requires-Dist: setuptools; extra == "testing"
Requires-Dist: pytest; extra == "testing"
Requires-Dist: pytest-cov; extra == "testing"

# bw_save_game: BioWare save game tools

This pure-Python library can read and write _Dragon Age: The Veilguard_ save files (`*.csav`).
It also comes with several tools (`csav2json`, `json2csav`) that can convert the save games to and from easily editable `.json` documents.

## Installation

Make sure you have these programs installed:

* Python 3.8 or newer

This package is available for download from [PyPI][1]. You can install it using `pip`:
```bash
pip install --upgrade bw_save_game
```

## Usage

For non-programmers this project ships two applications that can convert a save game into a human-readable JSON document and vice-versa.
Editing this document allows you to change every part of a save, however, ensuring correctness and consistency is up to you.

The following command converts `0-439591 Saria-Save 9 #874.csav` to JSON:
```bash
csav2json "0-439591 Saria-Save 9 #874.csav" my_wip_save.json
```
Converting the edited save file `my_wip_save.json` back to the game's binary save game format is as easy as running:
```bash
json2csav my_wip_save.json "0-439591 Saria-Save 9 #874-NEW.csav"
```

## Contributing

### Making Changes & Contributing

This project uses [pre-commit][4], please make sure to install it before making any
changes::

    pip install pre-commit
    cd bw_save_game
    pre-commit install

It is a good idea to update the hooks to the latest version::

    pre-commit autoupdate

## Licensing

[![GNU GPLv3 Image](https://www.gnu.org/graphics/gplv3-127x51.png)][2]

`bw_save_game` is Free Software under the terms of the
[GNU General Public License][3] as published by the Free Software Foundation,
either version 3 of the License, or (at your option) any later version.

[1]: https://pypi.org/project/bw_save_game/
[2]: http://www.gnu.org/licenses/gpl-3.0.en.html
[3]: https://www.gnu.org/licenses/gpl.html
[4]: https://pre-commit.com/
