Metadata-Version: 2.4
Name: legacy-puyo-tools
Version: 0.3.0
Summary: A tool to edit text for older Puyo Puyo games.
Project-URL: Changelog, https://github.com/wushenrong/legacy-puyo-tools/blob/main/CHANGELOG.md
Project-URL: Homepage, https://github.com/wushenrong/legacy-puyo-tools
Project-URL: Issues, https://github.com/wushenrong/legacy-puyo-tools/issues
Project-URL: Source, https://github.com/wushenrong/legacy-puyo-tools.git
Author-email: Samuel Wu <twopizza9621536@gmail.com>
License-Expression: MIT
License-File: LICENSE
Keywords: puyopuyo
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Other Audience
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: File Formats
Classifier: Topic :: Games/Entertainment :: Puzzle Games
Classifier: Topic :: Utilities
Requires-Python: >=3.9
Requires-Dist: attrs>=25.3
Requires-Dist: click>=8.1.8
Requires-Dist: cloup>=3.0.7
Requires-Dist: lxml>=6
Description-Content-Type: text/markdown

# Legacy Puyo Tools

A command line tool for modding older Puyo Puyo games (Yes, the name is using a
[reversed naming scheme](https://github.com/microsoft/WSL)).

## Installation

Install [Python](https://www.python.org/) 3.9 or later, preferably the latest
version.

`legacy-python-tools` is published to
[PyPI](https://pypi.org/project/legacy-puyo-tools/). It is recommended to
install tools from PyPI into an isolated Python environment.

You can use [`pipx`](https://pipx.pypa.io):

```bash
pipx install legacy-python-tools
# Or to run the cli without installing legacy-python-tools
pipx run legacy-python-tools
```

Or [`uv`](https://docs.astral.sh/uv):

```bash
uv tool install legacy-python-tools
# Or to run the cli without installing legacy-python-tools
uv tool run legacy-python-tools
# Or the shorter uvx
uvx legacy-python-tools
```

And of course, you can use good old pip in a virtual Python environment using
[`virualenv`](https://virtualenv.pypa.io) or the built-in `venv` library:

```bash
# Create a virtual python environment
python -m venv .venv
# Activate the virtual environment
./.venv/Scripts/activate
# Install legacy-python-tools
python -m pip install legacy-python-tools
```

## Usage

Create a `fpd` file from a UTF-16 little-endian encoded text file.

```bash
legacy-puyo-tools create fpd puyo14.txt
```

Or convert a `mtx` file to an editable XML file using a `fpd` file.

```bash
legacy-puyo-tools convert mtx --output custom_als.mtx --fpd puyo14.fpd als.xml
```

You can use the `--help` flag to see what sub-commands and options are
available.

## Supported Games

This tool will try to support formats from the following Puyo games:

- Puyo Puyo! 15th Annversivery
- Puyo Puyo 7
- Puyo Puyo!! 20th Annversivery (If there is demand)

See
[Formats](https://github.com/wushenrong/legacy-puyo-tools/blob/main/formats.md)
for detailed information about these formats, and the current progress on
creating and converting them.

## Why

The [Puyo Text Editor][puyo-text-editor] can already do what `legacy-puyo-tools`
does and is the inspiration of this tool, but there are advantages to rewrite it
in Python:

[puyo-text-editor]: https://github.com/nickworonekin/puyo-text-editor

- Better cross compatibility with Linux.
- Easier migration when upgrade away from end of life language versions.
- Formats are stored in an intermediate representation before conversion.

## Contributing

If you want to contribute to the project check out
[Contributing](https://github.com/wushenrong/legacy-puyo-tools/blob/main/CONTRIBUTING.md).

## License

Under the MIT License. Based on [Puyo Text Editor][puyo-text-editor] which is
also under the MIT License.
