Open torridgristle opened 6 years ago
While this would be useful, there are a couple of things that make me a little unsure about actually implementing this:
Would it be integrated directly into the default file browser? If so, then it'd be totally inaccessible to anyone using the OS-native common file dialogs instead. Otherwise if it was presented separately (e.g. like the dialogs for loading slotted carts) it seems like it could end up being an extra step when loading ROMs that most people wouldn't really care about most of the time.
Also, from an end-user standpoint, I'd wager nearly all instances of people using soft patching when loading ROMs is for playing distributable hacks/translations/etc without needing any extra tools. If you're dealing with this level of complexity with multiple patches etc. then that's probably better suited to an actual IPS patcher or some other kind of external tool.
I figure loading an IPS patch could be done a few ways:
An additional IPS option in the filename extension filter dropdown menu in the Load Cartridge window, so there's Cartridge, Patches, and All files. If someone loads an IPS patch while a ROM is already loaded then it gets applied, but if no ROM is loaded it could either apply the IPS patch to the next ROM loaded or give an error like "You must load a ROM to patch first."
Drag and drop onto the window.
Additional option in the Load Special menu for Load Patch, which adds one more option to a menu that's already intended for loading things most people wouldn't really care about most of the time.
Command line option so that a shortcut could be made for a patch without needing to duplicate a ROM and patch it, not even if the patch updates. You could create a shortcut for BSNES+ and in the properties set it to something like bsnes.exe "Toad Fighters 97.sfc" -patch BufoJaponicusRecolor.ips Toad_Fighters_FixCamera.ips "toad fighters 97 tighter controls.ips" to the target.
As for stacking patches, I reckon a pop-up window asking if it should replace or append the current patch would work fine for all methods except the command line, which should use all the patches specified in the order given.
As far as I can tell bsnes+ will only apply an IPS patch if it has the same filename as the ROM, it'd be useful if you could load the ROM and then choose an arbitrarily named IPS patch from the file browser. Also the ability to apply multiple patches in the order they were loaded in, as opposed to making an IPS patch for any number of combinations of options and then renaming it to match the ROM each time you want to test something else. Multiple versions of a patch, multiple patches what do different things, etc.