Alcaro / Flips

Floating IPS is a patcher for IPS and BPS files.
Other
309 stars 45 forks source link

Request: Ignore checksum in GUI #25

Closed GhostlyDark closed 3 years ago

GhostlyDark commented 4 years ago

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..

Alcaro commented 4 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.

GhostlyDark commented 3 years ago

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.