This project can be used to diff, patch, and randomize Metroid Prime and Metroid Prime 2: Echoes. It's not quite done yet.
Working Features:
- Iso + PAK extraction
- Iso -> Iso direct patching
- Iso <-> Iso diff (patch generation)
The latest release (updated more infrequently than the latest build below) can be found under the github releases tab
| Latest Successful Build | CircleCI
All commands should be prefixed with java -jar patcher-0.1.1-SHAPSHOT.jar
Extract an iso (but not embedded PAKs)
extract -fq -o output-directory/ -i input/GM8E01.iso
Extract an iso (and embedded PAKs)
extract -fpq -o output-directory/ -i input/GM8E01.iso
Repack an iso (auto-detects PAKs if they are extracted by this tool)
repack -fq -i input/directory/ -o output-file.iso
It's not completely working, but you're going to want a config.json and then run patcher a couple times from a command prompt/terminal. Hopefully the error message is useful if it doesn't work! No guarantees.
Requires JRE8 or JDK8
java -jar patcher-0.1.1-SHAPSHOT.jar randomize -i GM8E01.iso -c config.json
java -jar patcher-0.1.1-SNAPSHOT.jar patch -fq -i mprime.iso -o out/mprime-randomized.iso prime-patchfiles-master/widescreen/patchfile.json prime-patchfiles-master/frigateskip-GM8E01-0-00.json rando/randomize.json
Aruki
- Reverse Engineering
- PWE (for checking my work)
- Template files for script objects
Claris
- Reverse Engineering
Nintendo/Retro Studios
- Releasing Metroid Prime(s)
Everyone else
- Being awesome
Copyright (C) 2016 Christopher Freestone
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.