This is a fork of LeonarthCG's original patches for the Minish Cap Randomizer by MinishMaker. With LeonarchCG's permission & Myth's permission I'm using their work as a foundation for my Archipelago APWorld.
Caution
While we use python for a buildscript and attempt to be os-agnostic, Windows is required to compile the ROM since we use ColorzCore. Unix may be used for compiling the asm or building the basepatch.
- For running the buildscript:
- Install
python3to run the build script withpython compile.py
- Install
- For compiling the assembly:
- Dump a EU version of TMC to the root of this repo named
tmc.eu.gba - Make sure that the
build-essential,git,python3,python3-pip,cmakeandlibpng-devpackages are installed. Thebuild-essentialpackage includes themake,gcc-core, andg++packages, so they do not have to be obtained separately. - If using Cygwin, include the
make,git,gcc-core,gcc-g++, andlibpng-develpackages. - To build the games code, the
arm-none-eabi-gcccompiler is required. Both a standalone installation and devkitPro are supported. For devkitPro, install thegba-devpackage.
- Dump a EU version of TMC to the root of this repo named
- For building the EA files into the modified rom:
- Dump a EU version of TMC to the root of this repo named
tmc.eu.gba - Clone and build ColorzCore and place the resulting executable at the root of this repo.
- Dump a EU version of TMC to the root of this repo named
- For making the basepatch to be used by Archipelago:
- Install bsdiff
Compiling these patches are done in 3 steps, each broken down into their own flags with the python compile script.
-a: Compiling asm files to a dmp-r: Compiling the EA files (which import the dmp files) into atmc.ap.gbarom-d: Computing a bsdiff from the original rom tobasepatch.bsdiff
Note
Flag order matters! -a must always come last since it can receive a list of assembly files to compile. Don't get confused though, this doesn't affect execution order. They always run in the above order.
Any of these flags may be passed either all at once or in separate commands but running each in order is required depending on which files need compiling.
Some example usages:
- On first run all 3 must be run:
python compile.py -drapython compile.py -a && python compile.py -r && python compile.py -d
- Only assembly files under
src/asm/were changed:python compile.py -rda src/asm/*.s
- No assembly files were changed:
python compile.py -rd
- Only compiling asm and ea files to test locally, not producing basepatch for AP yet:
python compile.py -ra
Continued is the original README from the base repository.
A repository holding the original form of the patches used in the Minish Maker team's randomizer.
The purpose of this repository is to clarify the license of these game modifications, along with the source files, in an explicit way
In the future, this may be expanded to hold the patch sets for different specific old versions of the randomizer, provided all parties involved in their making allow for it.