igir
Version:
🕹 A zero-setup ROM collection manager that sorts, filters, extracts or archives, patches, and reports on collections of any size on any OS.
20 lines (19 loc) • 902 B
TypeScript
import File from '../files/file.js';
import Patch from './patch.js';
/**
* WARN(cemmer): because UPS patches use nul-byte termination for records rather than some kind of
* length identifier, which forces patchers to read both the UPS file and ROM file byte-by-byte,
* large patches can perform tremendously poorly if they contain many small records.
* @see https://www.romhacking.net/documents/392/
* @see https://github.com/btimofeev/UniPatcher/wiki/UPS
* @see https://www.gamebrew.org/wiki/Upset
*/
export default class UPSPatch extends Patch {
static readonly SUPPORTED_EXTENSIONS: string[];
static readonly FILE_SIGNATURE: Buffer<ArrayBuffer>;
static patchFrom(file: File): Promise<UPSPatch>;
createPatchedFile(inputRomFile: File, outputRomPath: string): Promise<void>;
private static writeOutputFile;
private static applyPatch;
private static readPatchBlock;
}