From 072d8e30a5116fdfa2d6a9c405dd93b4bc2fe8de Mon Sep 17 00:00:00 2001 From: n-a-c-h <> Date: Wed, 10 Sep 2003 18:50:48 +0000 Subject: [PATCH] Made Soft IPS patching follow old patch offsetting method --- zsnes/src/patch.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/zsnes/src/patch.c b/zsnes/src/patch.c index 92ce1309..9dca54de 100644 --- a/zsnes/src/patch.c +++ b/zsnes/src/patch.c @@ -25,6 +25,7 @@ extern int NumofBytes; extern int NumofBanks; extern unsigned int *romdata; extern unsigned char IPSPatched; +extern unsigned char Header512; char *patchfile; @@ -32,6 +33,7 @@ void PatchUsingIPS() { unsigned char *ROM = (unsigned char *)romdata; int location = 0, length = 0; + int sub = Header512 ? 512 : 0; FILE *fp = 0; fp = fopen(patchfile, "rb"); @@ -57,8 +59,8 @@ void PatchUsingIPS() break; } - //We assume all IPS files are for ROMs with headers - location = inloc - 512; + //Offset by size of ROM header + location = inloc - sub; //Length is a 2 byte value (max 64KB) length = (fgetc(fp) << 8) | fgetc(fp);