[Feature Request] Softpatching in Archives
Softpatching should work within archives if the original ROM and patch file are together in the same archive.
I would extend this request a bit: if an archive contains patch files and a rom, all the patches in the archive should be applied to the rom regardless of filename (maybe in alphabetical order, or using the existing .?ps, .?ps1 etc pattern?).
This would allow for the archive to just be named after the game but contain multiple patches with arbitrary file names clearly defining what each patch is. The ability to do this would be extremely useful for e.g. romhacks with optional components, or discontinued hacks with third-party fixes available, where one might end up with three, four or even more patch files which are impossible to distinguish using the current "file names must match ROM file" pattern.
so, e.g.
Game Name.zip
-- Game Name (U) [!] (PRG0).nes
-- game [Redux v1.1].bps
-- game_name [Redux v1.1 No Low Health Beep Addon].bps1
-- Unofficial Boss Door Glitch Fix for Game Name Redux v1.1.ips2
-- GameName [Graphics Overhaul v3].xdelta3
would, in an ideal world, load the ROM with the patches applied in the order indicated by the suffix; or something like
Game Name.zip
-- Game Name (U) [!] (PRG0).nes
-- 000-game [Redux v1.1].bps
-- 001-game_name [Redux v1.1 No Low Health Beep Addon].bps
-- 002-Unofficial Boss Door Glitch Fix for Game Name Redux v1.1.ips
-- 003-GameName [Graphics Overhaul v3].xdelta
using the numeric prefix on the patch files.
I'll try to give my two cents contribution: perhaps it might be worth putting the patches in a nested directory with the same name as the rom
i.e.
Final Fantasy VI Swag Edition.zip
├── Final Fantasy VI Advance (Europe) (En,Fr,De,Es,It).gba
└── Final Fantasy VI Advance (Europe) (En,Fr,De,Es,It)
├── auction_chocobo_fix_gba_e.ips1
├── FF6A-LeveledOut-E.ips2
├── ff6a_original_font.ips3
├── ff6a_parry_block_dodge_bits_e_u.ips4
├── ff6_gba_e_color_restoration.ips5
├── ff6_gba_e_violence.ips6
├── ff6_gba_jue_color_restoration_animation.ips7
├── ff6_gba_jue_color_restoration_lightning.ips8
├── ff6_gba_jue_color_restoration_monster.ips9
├── FFVIA_Worthwhile_v100-EU.ips10
├── ragefix gba europe v1.0.ips11
├── stray_flash_e.ips12
├── tritoch_anim_fix_je.ips13
└── wrong_way_idiot_gba.ips14
this structure could also be useful with traditional softpatching (without archives/as is)