Randomizer for Pokémon Mystery Dungeon Explorers of Sky.
It is available for Linux, macOS and Windows.
- Windows: https://projectpokemon.org/home/files/file/4235-skytemple-randomizer/
- MacOS: https://projectpokemon.org/home/files/file/4235-skytemple-randomizer/
- Linux: https://flathub.org/apps/details/org.skytemple.Randomizer
When installing from source, you probably want to install the "gtk" extra (pip install -e '.[gtk]'
),
in order to have the actual GUI functional.
The GTK frontend requires GTK 4.14+, all related libraries and libadwaita 1.5+ to be installed.
When installing this way, the GUI can be started with
skytemple_randomizer gui
or python -m skytemple.randomizer.main gui
.
The command takes an optional argument, the path to a ROM to open.
Install the required GTK and Adwaita versions. Under Windows, use gvsbuild_ in at least version 2024.4.0.
In addition to normally installing the Python package in dev mode, you also need to make sure you have all submodules checked out. After this you need to compile all MO files (localizations) and Blueprint Files to XML UI files. To do that:
- Linux, possibly MacOS:
make
- Linux/MacOS without make:
./build-blp-to-ui.sh && installer/generate-mo.sh
- Windows:
.\build-blp-to-ui.ps1
with PowerShell andinstaller\generate-mo.sh
with an MSys2 environment bash shell. Gettext must be available.
If you are working with the UI files you may want to use the Blueprint Compiler Language Server or setup file watchers to compile BLP files to UI files. More info about Blueprint Compiler can be found on its website: https://jwestman.pages.gitlab.gnome.org/blueprint-compiler/
SkyTemple Randomizer can be used via CLI. It's available via skytemple_randomizer cli
or
python -m skytemple.randomizer.main cli
.
Its documentation can be found in CLI_API.md.
You can also use SkyTemple Randomizer as a Python API.
See the skytemple_randomizer.randomizer_thread
for the entrypoint (specifically the class RandomizerThread
).
You will need to implement your own AbstractFrontend
. The passed in Status
object can be used to monitor the
status of the randomization for progress display. See the GTK implementation for reference on how to use all of this.
Source repository for the Flatpak: https://github.com/flathub/org.skytemple.Randomizer