Skip to content

Latest commit

 

History

History
77 lines (57 loc) · 2.97 KB

README.md

File metadata and controls

77 lines (57 loc) · 2.97 KB

Python 3.12 Pyside6

PorySuite

An extensible toolkit for Pokémon decomp projects.

NOTE: This project is still in alpha. It is not a finished product and will not always behave as expected. Not all data will be modifiable in the UI.

One of the biggest roadblocks for first-time ROM hackers wanting to use the decomps (pokeemerald, pokeemerald-expansion, pokefirered, pokeruby) is the initial setup process.

See pokeemerald's INSTALL.md to see why it can be a bit daunting.

PorySuite aims to make this process as easy as possible by providing a single tool that can handle all of that setup for you by integrating with Docker.

This program also aims to provide a user-friendly interface for adding features and modifying data in the decomp projects.

Screenshot of project selector Screenshot of main window

Contributing

Contributions are more than welcome! If you have an idea for a feature or a bug fix, feel free to open an issue or a pull request.

Prerequisites

Setup

Windows users: Unlike most other decomp tools, this should not be run in WSL. Clone and run this repository in Windows.

  1. Create Python virtual environment

    On MacOS/Linux:

    python -m venv venv
    ./venv/bin/activate

    On Windows:

    python -m venv venv
    .\venv\Scripts\activate.bat
  2. Install dependencies

    pip install -r requirements.txt
  3. Run the following scripts to convert .qrc and .ui files to python files

    On MacOS/Linux:

    ./tools/convert_qrc_to_py.sh
    ./tools/convert_ui_to_py.sh

    On Windows:

    .\tools\convert_qrc_to_py.bat
    .\tools\convert_ui_to_py.bat

    A VSCode task is also available in this repo to run these scripts before running the project.

  4. Run the project

    python app.py

Plugins

Plugins in PorySuite are used to choose which decomp repo you want to use. The plugin handles data extraction from and parsing to the source code.

Check out the built-in Pokeemerald Expansion plugin for an example of how a plugin should be implemented.

For development purposes, you can choose to only load plugins from the local source plugins folder:

python app.py debug

NOTE: Because this project is still in alpha, not all data will be able to be modified in the UI.