As of version 3.7.7 of the Ocarina of Time Randomizer it is possible to create and apply patch files to the base ROM which can be shared between people who want to play on the same exact seed without distributing copyright material.
For more technical information view the ZPF patch format Documentation on GitHub.
Advantages of Using Patches
First and foremost, patch files allow you to legally share randomizer seeds, as the patch files do not contain any copyrighted content.
Patch files are the best way to conduct a race where only the organizer or a third party individual has access to the spoiler log. Simply have the person who should have spoiler log access create the patch file, then share that patch file with racers to use on the website. This way you can have a race without fearing someone cheating by reading the spoiler log, but you can still look back on the spoiler log later, which would not be available with a race seed created on the website.
Patch files also currently work no matter the version of the randomizer used. A patch file created on 3.7.7 will work on the latest generator. A version 5.1 patch file will work on the 3.7.7 generator; however it is not recommended to do that due to a bug related to cosmetics that was fixed prior to version 4.0. This also means you can generate a randomizer patch on the Dev branch, a Pull Request, or a an entirely different fork of the randomizer and use it on the website and it will just work!
Disadvantages of Using Patch Files
There are not many, but some issues can occur when using patch files.
Cannot Override Some Cosmetics Using A Patch From Newer Versions on Older Versions
If you generate a patch file on a newer version of the randomizer that adds new cosmetics, you might not be able to override some of the cosmetics already existing in the patch file when using an older version to apply it.
The cosmetics that you will not be able to change in this case include:
- D-Pad HUD Display
- Sword Trails
- Heart Colors
- Magic Colors
- Button Colors
You may be able to use the latest Dev version on the website to work around this issue.
Create Patch Files
Generating a patch file for a normal seed will create a ZPF file. A Multiworld seed will create a ZPFZ file.
The website only creates patch files, which you then apply to your ROM after generation. The patch file can be downloaded from the seed page. We will use the Vanilla plando seed as an example. At the very bottom of the page, below the "Patch ROM" button, is a link Save unmodified Patch File. Clicking this link will download the patch file to your computer. You can then send this to people by uploading it to a file sharing site or on Discord.
Under the "ROM Options" tab there is an "Output Type" section. You want to choose "Patch File" instead of "Compressed [Stable]". This will only create the patch file. If you also want a ROM for yourself, you'll need to apply the patch file.
Apply Patch Files
- It is recommended to use the website method. It is also much easier to create a
.wadfile this way.
- When applying a Multiworld seed make sure to select the ZPFZ file and set your Player ID to the correct value.
At the bottom of the Generator page above the "Generate Seed!" and "Generate Race Seed!" buttons is a section with two tabs. "Generate From Seed" is selected by default. Switch it to "Generate From File" and a "Patch File" textbox will appear. Choose "Select File," locate the ZPF or ZPFZ patch file, and select it. Change your Player ID, if applicable. You can scroll up to choose between creating a
.z64 file or a
.wad file. Once everything is set, click "Patch ROM!" button and your ROM will be generated.
Make sure to change "Output Type" back to "Compressed [Stable]" if you previously generated a patch file. At the bottom of the Generator above the "Generate!" button is a section with two tabs. "Generate From Seed" is selected by default. Switch it to "Generate From File" and a "Patch File" textbox will appear. Choose "Select File," locate the ZPF or ZPFZ patch file, and select it. Change your Player ID, if applicable. Once everything is set, click the "Generate!" button and your ROM will be generated.