MultiPatch

From GameBrew

MultiPatch
Multipatch2.png
General
AuthorSappharad
Last Updated2021/09/15
TypeROM Patchers
Version2.0
LicenseGPL-2.0
Links
Download
Website
Source

MultiPatch is an all-in-one file patching solution. With this one program, you can apply BPS, IPS, UPS, PPF, XDelta, BSDiff or RUP (Ninja2) patches to files. You can also create BPS, IPS, PPF, XDelta or BSDiff patches. Everything is built in to the application natively, it is not a front-end and thus does not need to rely on external tools to accomplish the job.

This program is compatible with computers running macOS 10.9 or later. Older versions compatible with Mac OS X 10.4 or later are available on the MultiPatch homepage.

Installation

Included are two versions (for macOS 10.9+):

  • GUI version - Complete version with a graphical user interface.
  • CMD version - Command line version made by request. It only allows applying or creating patches with no extra options.

User guide

Supported formats

Supported patch formats are automatically detected based on the file extension of the patch. Please ensure the patches you wish to use have the proper extension.

  • IPS - .ips
  • UPS - .ups
  • PPF - .ppf
  • XDelta - .delta; .dat
  • BSDiff - .bdf; .bsdiff
  • BPS - .bps
  • Ninja2 - .rup

Applying Patches

  • Run the application.
  • Select a patch file. You can also drag the file onto the App window from the Finder.
  • Select the file you want to patch.
  • Choose where to save the patched file, then click Apply Patch.

If nothing goes wrong, the patch will be applied and you'll get a message telling you that patching is complete. Otherwise you'll get an error that may explain what went wrong.

Creating Patches

MultiPatch can create patches in the following formats: IPS, BPS, XDelta, PPF and BSDiff. Click the Create Patch button in the corner of the window to switch to patch creation mode. Usage for that is similar to applying a patch. The format of the patch to create is selected from a drop-down in the save dialog.

BPS Patch creation offers two different options, Linear and Delta. The time and memory required to create a BPS delta patch depends on the size of the original and modified files.

  • Linear BPS patches - Larger, but can be created very quickly and require very little memory to create.
  • Delta BPS patches - Usually smaller than Linear patches, but take longer and require more memory to create.

Patch creation for the UPS and Ninja2 formats is not supported. These formats are no longer recommended for new patches because BPS provides smaller patch files that compress more efficiently. For larger files XDelta is a popular choice.

Older Versions

These are intended for users who haven't upgraded or are unable to upgrade to a recent version of macOS. If you a running 10.9 or newer, please use the latest version.

  • Version 1.7 - For Mac OS X 10.7 and 10.8.
  • Version 1.3 - For Mac OS X 10.4 to 10.6. Supports IPS, UPS, PPF, XDelta and BSDiff patches. It does not support BPS or RUP patches.

Screenshots

multipatch3.png

Known issues

Please see https://github.com/Sappharad/MultiPatch/issues.

Changelog

v2.0

  • XDelta updated to version 3.1.0 and enabled support for both DJW and FGK secondary compression. Patches using either of these compression methods should now apply without error.
  • Code cleanup contributed by @MaddTheSane.
  • Added Check for Updates feature. Automatic check for updates can be enabled or disabled from the Preferences dialog.
  • New icon and refreshed UI to look better on macOS 11 and later.
  • Since automatic updates will only update the app, I removed the ReadMe file from the download and migrated that information to the website. The website has also been updated with the latest app screenshot and support for Dark Mode on compatible browsers.

v1.8

  • Replaced PPF patching engine with the official one. This fixes problems patching some files.
  • Added support for PPF3 creation. This produces larger files than BPS so you probably shouldn’t use it but it is still very popular for the format’s original purpose.
  • Fixed appearance of the Create and Apply buttons, they always looked disabled on macOS 11 because the button type previously used is now deprecated.
  • Command line version lowered to target 10.9 and later like the desktop version.

v1.7.1

  • Added native support for Apple Silicon Macs.
  • macOS 10.9 or later is now required due to requirements for supporting newer Macs. Previous versions will remain available for download for older Macs.
  • Updated Floating IPS code to the latest version, which might have some bug fixes.
  • Includes text corrections submitted by Eric Newport; some instances of the app name MultiPatch contained a space.
  • Added command line version as a separate download on the website. The command line build requires macOS 11.0 or newer (forgot to target an older version when releasing it).

v1.7

  • Fixed: PPF Patches did not apply correctly most of the time. (This LibPPF bug was originally documented by Ritesh Sood on SourceForge)
  • Switched IPS, UPS and BPS support to the Floating IPS library. It appears to be the preferred library for creating and applying IPS and BPS patches now, creating the most efficient patches and offering the best patch compatibility.
  • Added support for applying Ninja 2 .rup patches.
  • Compatible with system dark mode in macOS 10.14 Mojave.
  • Added the ability to disable checksum validation when applying XDelta patches. The option is found in the new preferences window. This preference is only valid for your current session and will be turned back off the next time you launch MultiPatch. When you get a checksum error trying to apply an XDelta patch, it means the file you’re trying to patch is not the same file that the patch was created for. Enabling this new option allows you to patch anyway, but it’s very likely that the patched file will not work.

External links