Found a bug? Please report it, but remember to follow the bug reporting guidelines.
Missing a sane feature? Let us know!
But please do NOT request ports to other systems.
I think it would be cool if ZSNES could apply multiple IPS patches at ROM startup instead of just one. I know you can do this manually using an IPS patching tool but I dont like permanently modifying a ROM image.
Basically it would work like this:
ZSNES gets filename of ROM to load
ZSNES checks if soft IPS patching is enabled
If not, it doesnt apply any patches and loads the game, if so, it continues
ZSNES checks directory or zip file for files named like this: "Example Rom Image [!].ips" and "Example Rom Image [!].ips[N]", [N] being a number from 0-9.
IPS0 file would be given top priority and would be patched first, followed by IPS1, IPS2, etc. If there is no .IPS0, it would just apply the .IPS (f there is one). If the sequence is ever broken (example, there is an IPS0 and an IPS2 but no IPS1), it would stop the sequential IPS patching. After the numbered IPS patches, it would apply the remaining .ips file if there is one, or all remaining .ips files if it is in a zip (would be convenient).
If no IPS files are found in the directory of the ROM or the zip containing the ROM, it checks the save directory. Repeat the above check.
After patching is completed, the patched ROM would load.
It would be perfect for games that have bugfix patches (I'm thinking FF3/FF6), so you can easily choose which fixes you want and change it around to keep more or less of the bugs that were present in the original game—without needing to make a newly patched ROM every time you want to test a different setup.
With this one thing, however, I don't agree:
xMetaRidley wrote:After the numbered IPS patches, it would apply the remaining .ips file if there is one
I think the .ips non-numbered patch should be applied first, so it can be the "main" patch. That makes more sense to me than using the numbered IPS files before one with the actual standard for the file extension.
[url=http://board.zsnes.com/phpBB2/viewtopic.php?t=3298][color=brown]My [u]NES palette[/u][/color][/url] - better colors with any emulator.
"the more you know, and the more you can do... the more you are."
- [url=http://www.danielbohman.com][color=brown][u]daniel bohman[/u][/color][/url]
Clements wrote:Like the idea, but I would suggest the extensions to be .ips, .ip1, .ip2 etc. to fall in line with the save state naming system.
That's a hack, though; MS-DOS only handles the 8.3 'standard'. Now that we're all using Windows or Linux, we really don't need to be encouraging bad habits like that hack.
Clements wrote:Like the idea, but I would suggest the extensions to be .ips, .ip1, .ip2 etc. to fall in line with the save state naming system.
That's a hack, though; MS-DOS only handles the 8.3 'standard'. Now that we're all using Windows or Linux, we really don't need to be encouraging bad habits like that hack.
That eventually entals dropping DOS though, does it not? Is there any support for doing so?
whicker: franpa is grammatically correct, and he still gets ripped on? sweener2001: Grammatically correct this one time? sure. every other time? no. does that give him a right? not really.
Here's a suggestion: Pick the first option that a file exists for:
1. If .ips exists, use that and do no other patches. This is preferred for a single patch.
2. If .ips0 exists, then look for .ips1, .ips2, ..., .ips10, .ips11, and so on up to .ips4294967295 or so and stop when the next number in the sequence doesn't exist. This is preferred for multiple patches.
3. If .ip0 exists, then look for .ip1, ..., .ip9. If you want more than 10 patches, tough. This is not preferred, but present for any fiilesystem that limits extensions to 3 characters.
If multiple directories are searched for patches, do all three in each directory (and as usual stop when a patch is found) rather than going over all directories for each option.
anomie's suggestion is the definitely the system I would choose if I were in charge of bringing this new feature to fruition.
I'd like to add one thing: I think it should search the zip/jma file for patches after checking the directories so outside files will take precedence and override the 'default' patching within the archive.
[url=http://board.zsnes.com/phpBB2/viewtopic.php?t=3298][color=brown]My [u]NES palette[/u][/color][/url] - better colors with any emulator.
"the more you know, and the more you can do... the more you are."
- [url=http://www.danielbohman.com][color=brown][u]daniel bohman[/u][/color][/url]
AspiringSquire wrote:
I'd like to add one thing: I think it should search the zip/jma file for patches after checking the directories so outside files will take precedence and override the 'default' patching within the archive.
Why? I think it should be the exact opposite. If it's bundled with the file, then logically shouldn't that take precedence?
May 9 2007 - NSRT 3.4, now with lots of hashing and even more accurate information! Go download it.
_____________ Insane Coding
AspiringSquire wrote:I'd like to add one thing: I think it should search the zip/jma file for patches after checking the directories so outside files will take precedence and override the 'default' patching within the archive.
I have snes9x looking in 3 places: same location as the ROM, inside the ZIP, and finally in the "patch directory" (~/.snes9x/patches in my config). The idea being that patches with the actual ROM should override patches in the patch directory, and if you're dumping an ips in the same dir as a zip-with-ips, you're probably testing a new patch and would want that override.
AspiringSquire wrote:I'd like to add one thing: I think it should search the zip/jma file for patches after checking the directories so outside files will take precedence and override the 'default' patching within the archive.
I have snes9x looking in 3 places: same location as the ROM, inside the ZIP, and finally in the "patch directory" (~/.snes9x/patches in my config). The idea being that patches with the actual ROM should override patches in the patch directory, and if you're dumping an ips in the same dir as a zip-with-ips, you're probably testing a new patch and would want that override.