Closed GhostlyDark closed 3 years ago
Applying BPSes one after the other is risky. A BPS often copies stuff around the ROM in various ways, so even if two patches don't change any of the same bytes (how do you know they don't?), it's possible for one patch to read what the other writes, giving various unecessary breakage. Risky features should be CLI-only, so beginners don't find them by accident.
The correct solution to this problem is a tool specifically designed to combine multiple patches. Apply all, check which bytes changed, combine the changes, and leave all other bytes untouched. And throw an error if two patches changed the same byte.
I'm not opposed to such a thing being part of Flips, but I no longer have access to a Windows machine to test any GUI changes on, so I can't do it myself.
The PPF patch format is less efficient but more suitable for combining patches as it won't copy/move any bytes in a file, similar to IPS but without the 16 MB file size limit. So I recommend using that over BPS with the ignore checksum option. The same goes for any patches that can potentially target similar files without issues.
BPS patches can be applied ignoring the checksum via command line, but there is no option to do so in the GUI.
Use case for this is applying multiple (small) hacks to the same ROM. IPS won't cut it as an alternative because of the 16MB limit upon creating one.
I'd imagine a checkbox that is "off" by default (check ROM by default) or a dialog window that warns the user that the ROM is not inteded for this patch with the option to click "Ignore" to patch the ROM regardless..