Similar to the migration of splitting DatFile into ifferent subtypes, this makes sure that logic that petains to each "type" of file that's used by SabreTools, be it an input/output archive format or a specialty file format that is treated by itself like CHDs, is in tis own namespace. ArchiveTools has been pared down accordingly and all "factory" logic should make it easier to add more formats in the future with little fuss.
In this new update mode, a set of base DATs can be used as a replacement naming scheme for the input DATs. Only the item names will be updated, so this willl not fill in additional hashes or the like.
This is a special merging mode that counts on newer versions of MAME not respecting the romof tags, leaving parents with files that are not actually required by the children. This new merging mode ignores those romof and cloneof tags, using devices only to add more required roms.
This is the same diffing that is used by Romba to output its diffs. It is currently untested. Basically, this will take a set of base DATs as an input, and then diffs all of the individual DATs against that combined base and then outputs accordingly.