first thank you for this nice tool of yours, it makes life alot easier!
my suggestion:
would you mind adding a fourth option to the rom structure settings, that would be some kind of mixture of "Split" and "Un-merged" mode?
explanation:
i do like each title to be in a single archive, so i prefer using "Un-merged" over "Merged" mode. Of course "Un-merged" mode wastes some disk space, because some roms may be stored redundantly. So i could go with the "Split" option to have some disk space saved, but there is a special issue with "Split" that i do really dislike...
the problem:
given a main set M and two clones C1 and C2 that share some roms from M, the "Split" option would store all roms of the main set in M and C1/C2 would only contain their additional roms. But what if i do possess all roms required by C1 and C2, but lack some roms from M that are not needed by C1/C2? Using "Split" i would get a main set archive that is required by C1/C2, but not playable itself - using "Un-merged" there would be no incomplete main set, but disk space would be wasted, because the roms from M would be stored in both C1 and C2.
the solution:
if a set has one or more complete clones but an incomplete main set that only contains roms required by it's clones - just don't create the incomplete main set at all and store it's roms in one of the clones that requires these roms. this would be like the best of both worlds (concerning "Split" and "Un-merged" modes) - no waste of disk space and no redundant archives.
the code:
i guess this should be really easy to implement, just duplicate the "Split" code (derive or copypaste) and at that particular point where your code determines if a main set has to be created, check that...
- the main set would be missing some roms
- there is at least one clone having all of it's roms available
- the main set does not contain any roms that are not part of any clones
ok, i hope you get the idea and i'd be really pleased if you'd consider to pick this one up...
thank you!