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.
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.
Windows users: Unlike most other decomp tools, this should not be run in WSL. Clone and run this repository in Windows.
-
Create Python virtual environment
On MacOS/Linux:
python -m venv venv ./venv/bin/activate
On Windows:
python -m venv venv .\venv\Scripts\activate.bat
-
Install dependencies
pip install -r requirements.txt
-
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.
-
Run the project
python app.py
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.