- The rebuilder is a file based module which takes anything valid (hash match) from a source and "adds" it correctly named to the destination. Usually used to generate sets for a different emulator from a given emulator. Or to keep it simple: To add files easily to your rompath (rebuilder destination = your rompath, rebuilder source = garbage/temp/download folder)
- The scanner fixes files in place. It is able to detect wrong names, wrong cases, wrong sizes, wrongly placed files, wrong checksums and so on.
Now read again the upper...There are 2 different modules with 2 different purposes.
- Drag'n drop *is* using the rebuilder, so your dropped files (when valid) will be added to the rebuilder destination (whatever this is)
Now back to your original problem:
- You want to fix a (partly) existing set in let's say rompath X, fine, use the scanner. When it wants to add missing files (fix-missing option) from your addpaths to your partly existing set, it will do so.
- You want to fix a not exising set in let's say rompath X, fine, use the scanner. When missing files are found in your addpaths for not yet existing sets, it will follow the rules which I've stated several times now (best place: parent/clone relationsship, exisiting parts, sysdefaultpaths or 1st rompath)
Again: Drag'n drop IS NOT using the scanner or scanner's fix-missing, it's a shortcut for using the rebuilder.
And now - maybe to confuse you a bit more - the way people do it which have a different storage method than you, e.g. let's take system default paths (where paths are setup for the several systems), it's a bit like your "drag'n drop to update my collection"
1) MAME update is there, load your MAME profile, get the new data, Scanner and Rebuilder are configured to use system-default-paths and uses the same merge-modes.
2) Scanner, run a full fix-scan (this should end with only missing files left)
3) Scanner, use drag'n drop to add the files from a temporary/download/whatever place to add them. There's an option to automatically run a fastscan after drag'n drop rebuild, you 3) can be repeated until done.
The same applies when you only got 1 rompath.
So where's the difference to your problem? Why does it work here? Well, it's the setup.
Here you tell cmpro where rebuilt files should be put to, stricly ordered system default paths (or 1 rompath).
And finally, there is no rebuilder option saying:
"If you found a valid file in one of the rebuilder source files, lookup all rompaths for the setname and add it there instead of using the rebuilder destination"
And while writing this, I guess, that's what you're actually looking for. Wow...after so many lines I might see your point....
But such an option does not exist.
However I kind of like the idea a bit... ;-)
However, it will slow down the rebuilder a bit. You initially need a dirwalk through all your rompaths to get a set/rompath list...ok...should be some seconds with current ssds and current MAME size...and completely new files..where to put them? In 1st rompath? So it's still not fully clean....