misc: fastscan information is always saved now, even if you cancel a scan. So you can continue a stopped scan at a later point in time.
misc: renamed scan to new scan and fastscan to scan...you have to get used to it ;)
misc: fastscan button is only enabled if the operation is actually possible
misc: merger can create rar/7zip
misc: merger can create destination folder if it doesn't exist
misc: changed caption of merger placement options
misc: fix missing operations also optionally prompt for confirmation now
misc: don't show 'recompress' popupmenu in scanner when rebuilder is set to 7z/rar
misc: added some error promps for failed http/ftp connections
fixed: crash on loading corrupt online xmls
fixed: dats without chd regions falsely list one empty region
fixed: rare issue with chd subfolders for fake clone sets
fixed: merger removes chds during cleanup
fixed: merger doesn't move parent-only sets for placement mode 'move'


misc: reduced database memory footprint
misc: additionally showing active biosset count in tree output caption
added: warnings window got Explore and Open popup menu functionality


misc: introducing new more accurate statistics
misc: statistics window is now resizeable and remembers size/position
misc: statistics layout is defined in stats.ini (variables are selfexplaining if you're looking at the captions in this default file). You can overwrite these default stats by creating a stats01.ini (02, 03...10.ini).
misc: profile color is now based on scan tree issues, red = issue listed, green = no issue listed, grey = not scanned or stopped scan
fixed: some typos
fixed: several internal statistic based stuff
fixed: issue with compressed descriptions (aka dir2dat description problem)
All your existing profiles are reset to grey when using this for the first time. You have to rescan them.


added: support for disk/rom status tag value "verified"
added: verified rom/chd information to stats.ini
added: history combo boxes for setinfo 'select sets' and 'from file'
added: multiline tooltips to 'setinformation-select sets'/'rebuilder advanced destination prestring' which list the supported variables
misc: usage of fallback font 'fixedsys' for stats in case of 'Courier' is not available
misc: setinformation's 'select sets' can enable/disable sets by their status information if at least one chd/rom got the selected value: %S=v (verified), =n (nodump), =b (baddump)
misc: changed some default initial window sizes to avoid clipping
fixed: stats counts romsets which only consist of a bios as missing
fixed: fixmissing/fixunneeded can rarely impact each other in backupfolder (aka cps3 10/20 issue)
fixed: 7z memory leak when using compressor->test archive option
fixed: returned packerextension is wrong for non-archive files (however no impact found)
fixed: rebuilder wrongly created destination file if sha1/md5 check failed due to unzip error in no-recompress mode
fixed: saving fixdat with enabled MS Windows' hide extension option can create double extensions


added: setinfo tree menu to show enabled/disabled/all sets
fixed: /t in tooltips don't show up in Windows XP
fixed: header detection fails in batchrun mode
fixed: 'select sets'/'from file' combo boxes are limited to 25 chars
fixed: rebuilder's 'remove matched source files' removes empty addpaths


fixed: stats count for nodump-only clonesets in splitmerged mode counts wrong
fixed: sets with no roms/samples/chds at all are shown in the miss list as missing
fixed: fixdats header description/name tags hold full pathname
misc: show stats, save auto fixdat, save fastscan only if the scan was not stopped
misc: increased tooltip time for setinfo/rebuilderadvanced
misc: changed batchrun's rebuilder options to radio buttons and don't disable the settings
misc: some minor menu and diskchecksum adjustments


fixed: batch rebuilder dialog checkboxes don't respond


added: speed up by supporting zip no-recompress operations for fix-wrong placed
added: speed up by supporting zip no-recompress operations for fix-missing
added: speed up by supporting zip no-recompress operations for fix-unneeded
added: optional reporting of files in archives with +r/+h/+s attributes (compressor settings)
added: rebuilder advanced option to rebuild sha1-only roms
added: support for 4-states buttonbars (normal/hover/click/focus, bitmap of X=384 Y=64*n where n = 1,2,3,4)
added: scanner popup menu 'Copy' (incomplete, not fixed, current) as an addition to move and delete
misc: optimized fix missing (besides of general no-recompress support)
misc: separated 'wrong placed' from 'unneeded' prompts
misc: changed fixing and parsing messages and the belonging dialogs
misc: updated statistics, about window, several texts/control positions, colors etc
misc: showing count in window title only if it's not 100%, however set information always shows the count
misc: stats show "-" for not scanned items (e.g. if no sets is enabled, you will see '-' for set specific numbers)
misc: dir2dat shows a warning if a file access error happens instead of just stopping the folder scan
misc: updated MAWS url in urls.ini
misc: made the following options per-profile (they are set to their default values, so check them) -Optimized rompath scan -Rebuilder Beep
misc: made the following options global (they are set to their default values, so check them) -preserve file date/time -preserve archive date/time -thread priority -zip compression level -download folder -backup folder + make backups to folder
(you will see a prompt "Illegal backupfolder detected" message *once* when running the new version)
misc: changed backup folder behaviour. Your given one is now just the root while the folder name is coming from the datfile header / etc. Similar to fixdat storage.
misc: changed download folder behaviour. Your given one is now just the root while the folder name is coming from the datfile header / etc. Similar to fixdat storage.
fixed: fix missing doesn't pick up 'move-not-renamed-sets-to-backup' sets
fixed: fuzzy wrong name detection fails for clones which biosroms in some cases
fixed: for rar/7z -afzip/-tzip option, cmpro falsely uses .rar/.7z as extension
fixed: some rare issues while cleansing the datfile
fixed: sample-only sets appear as missing set in the stats when sample scanning is off
fixed: wrong placed files aren't put to backup when 'NO' is used in fixmissing prompt


misc: profiler columns are sortable
misc: messageboxes are resizeable (horizontally)
misc: readded some 'lines on root' for tree controls
misc: empty profile based backup/download folder will be removed when cmpro is closed or on profile change
fixed: batcher auto-del-fixdat option isn't saved
fixed: scanner unneeded fix crashes rarely in full merge mode


misc: supporting chd format version 4
fixed: rare www profiler crash based on sorting
fixed: scanner unneeded fix crashes rarely in full merge mode (again)


fixed: crash when -r/-s/-h flag option is used an no warnings window is available
fixed: some md5 over sha1 priority issue which impacts the wrong placed chd detection


fixed: crash when doing a deep-chd scan on hashed metadata
fixed: wrong rom statistic count for sets which only consists of nodump rom + chds + bios roms ;)
fixed: old type chds aren't listed when wrongly placed
fixed: "upgrade / downgrade" messages are wrong sometimes
fixed: slow down when looking for missing chds
fixed: crash when -r/-s/-h flag option is used an no warnings window is available
fixed: some md5 over sha1 priority issue which impacts the wrong placed chd detection


misc: optimized wrong placed chd routine
misc: version.ini/docs updated for new homepage
fixed: "upgrade / downgrade" messages are wrong sometimes (again)
fixed: wrong sets statistic count for sets which only consists of nodump rom + chds + bios roms ;)


misc: optimized rom name check, major speed increase for sets with lots of roms
misc: optimized "deeper check for fixable missing files", major speed increase for sets with lots of roms
misc: don't list unneeded chds twice anymore (one via disk and the other via rom unneeded check)
fixed: zip buffersize for one-file operations was wrongly set to 15 byte decreasing speed immensly
fixed: profiler rarely shows a wrong tree icon when removing a currently loaded profile
fixed: profiler rarely doesn't autorefresh [new datfiles]


added: 3 state button bar file
misc: scanner popupmenu move/copy to operations remember last used path
fixed: bios assignment can fail on rather identical sets (naomigd/naomi MAME .131 issue)


misc: updated 1G1R algorithm according to No Intro Team's new requirements. Active regions now filter sets in 1G1R mode
misc: don't allow backup & download folders as rompath subfolders anymore
misc: updated to some newer 7z sdk routines (fixing accessing files >=4GB). However block based unpack is still not enabled
misc: new datfiles are sorted by full path name and not by description
misc: changed and added some no profile/no data messages
misc: got rid of some short foldernames
fixed: crash when printing results for sets without roms


misc: showing compress/decompress information in progress window
fixed: external packer delete operations fail when deleting more than 1 file with spaces in its name
fixed: sometimes wrong fix name messages are shown for files with romsize = 0
fixed: dir2dat initially scans subfolders even when subfolder option is disabled which can take some time
fixed: 7z sdk returns a not initialized pointer value instead of a crc=0 for a size 0 file
fixed: falsely allow rebuilder drag'n drop while showing rebuilder stats
fixed: an empty rebuilder destination folder is initially shown in scanner's drag'n drop options (instead of 1st rompath)


added: batcher-rebuilder always scan/never scan subfolder options
misc: enhanced "Can't merge set due to equal names" check to work with chds, too
misc: increased memoryfile size which is used for header support. This should increase speed when header detection is done on zipped files
misc: added shareRead and shareWrite options to cmpro.ini. Setting them to "on" will allow generalfile read/write sharing. Use it on your own risk ;)
removed: fix missing scans all set. An old resource hog...rarely used


misc: increased scanner speed slightly
misc: wrong named chds on root level (and with root mode enabled) are detected and can be fixed
misc: you can add/drop *.xml files as datfiles, too now
fixed: offline xml dat parser (however naming is currently limited to release number + name + extension)
fixed: "double description/folder" renames during parsing can create double counter extension
fixed: old style dat parser is broken in 3.128a


misc: added some more support for offline dats. Parsing romTitle tags etc...
misc: don't allow "." at the end of a rom name anymore
misc: parser warning about double named rom entries but different hashes include nodumps (MESS .133)
misc: fixing an unpacked wrong file name (where the new name already exists) backups and replaces the existing file now instead of reporting not-fixed.
fixed: batcher-rebuilder always scan/never scan subfolder options aren't saved correctly


a somehow "in between" release. Since I'm currently preparing a house move I better release what I got at the moment....

1st part of the upcoming new toy "Rename Wizard".
You may know about the major set renames in latest MAME, well the Rename Wizard should help you in the future to update e.g. related datfiles (like artwork datfiles, etc...). The basic idea is: Load an old datfile and a new datfile. Find set renames. Apply the renames to a third datfile (e.g. artwork) either to rom or set level and save this dat. So the 1st step is to find set renames.
Logiqx's MAMEDIFF is usually used for such a thing but MAMEDIFF isn't as accurate as you might think. So Logiqx and myself though about other ways to find renames. The current idea is a 6-path check (from highest to lowest prio).

1) unique set hash compare: Hash is created over all rom/disk hashes and in case of nodumps or samples over names. Hash lookup tries to find a matching set.
2) single unique rom hash compare: Take a single unique rom hash of old datfile set and check if it's a single unique hash in new datfile. Use this to find a matching set
3) single unique chd hash compare: similar to 2) but on chds
4) fuzzy name check: similar to cmpro's scanner set name check. Tries to find the 'best fit' name
5) lazy description compare: try to match the descriptions
6) lazy set compare: try to match the setname

Currently a complete set list is produced showing something like:
old name -> new name [succeeded matching method] or *old name -> new name [succeeded matching method] or old name -> ? (when no match was found....propably a removed set) The * indicates a name change.

This part is already in...you can play around with it if you like.
The next steps will be:
- optionally disallow parent-to-clone renames (since a lot of dats work on parent sets only)
- load and apply changes on 3rd datfile
The Rename Wizard is not directly visible at the moment...but still easy to find. Check out popup menus if you want to know more ABOUT it.

added: warning when 'Sets' scan option is not enabled
added: dir2dat option to create a 0 byte file for empty folders
misc: show common rebuilder warnings only once and not per addpath
misc: improved fuzzy set name check
fixed: xml dats with UTF ByteOrderMark aren't listed in profiler
fixed: when using header support, rom size values are wrong
fixed: offline datfiles 0 crc/ 0 size issue


More on rename wizard:
changed analysis to 5-pass: 1) unique set hash 2) single unique rom hash match 3) single unique chd hash match 4) description match 5) setname match
detecting removed, added and replaced sets
new layout, list control, sortable columns
acess via Profiler Button
keeping positions and options
added option for enable/disable parent rename
added option for enable/disable rename to multiple new name
detecting new, removed and replaced sets
export to clipboard, file and file (mamediff format)
diff button only reparses files if needed
ability to apply renames to a 3rd datfile (e.g. an artwork datfile). You can select 'apply on sets' or 'apply on roms' method. 'Apply On Sets' renames set name (description, year, manufacturer, romof, cloneof, sourcefile tags optionally), while 'Apply on Roms' renames rom name, rom merge tags. In case of roms, it checks the names with and without extensions, so you can easily have them as e.g. *.png. This 'Apply' option will only do the renames. Removed, added, replaced sets are not handled. Usage example: Enter paths to a MAME .133 datfile as old and MAME .133u3 datfile as new. Hit 'diff' and see what the renames......now load a MAME flyersdatfile for .133 as 'Modify DatFile'. Enable 'Apply On Roms' and hit 'Apply Renames'. It will create you a *_new.dat with the updated roms.


fixed: header support reported bad hashes when using the decompress and calc sha1/md5/full crc tests
fixed: rename wizard column sorting gets broken after using "Apply Changes"
fixed: merger shows merge options even when no parent/clone relationships are available


fixed: rename wizard's 'keep parent' option isn't working


added: basic support for HyperSpin dat files
added: optional warning about archives (zip/rar) with comments (compressor settings)
added: missing/available bytes display in profiler and html report
added: rebuilder advance option to not create set folder when rebuilding to decompressed sets
misc: changed renamewizard keep parent behaviour to "if the old set was a parent and is renamed to a non-parent in the new dat, you can use the option to allow this or not."
misc: show prompt after renamewizard modified a dat
misc: changed windows rect calculation which may solves weird border issue
misc: some minor code cleanup here and there
fixed: show wrong setname in download popupmenu
fixed: don't mark profile as green when a sysdefpath not assigned message pops up
fixed: separated biosfiles are wrongly counted as missing in fully missing sets


added: introducing 'DIFF SCAN'. A new scan functionality which knows which sets did change from a previous datfile to the current one and with this option you will only scan the sets which did change. 'Change' in terms of important changes which makes a rescan necessary (e.g. a checksum or rom name change, NOT a description change). When e.g. MAME updates, 99% of all sets stay the same, there is not really a need to rescan them (unless you changed them manually). You can now use the diff scan option. It's only selectable if at least one set differs and not all do differ. This function is robust against cache-clearing. In the set information window you can use the popup menu in the tree to show only the changed sets if you're interested in them.
added: archives in archives (...in archives...) are supported now for the rebuilder. Removing rebuilt files is limited to the root level though.
added: writing profiler.xml file when you leave cmpro, you can use this xml for any of your own xslt/html building usage
misc: updated unrar dlls
misc: disabled systems are shown in title line set count and stats
misc: renamed rebuilder logfile reason for skipped files
misc: standard listinfo and xml dats don't necessarily require a description tag. In this case, the setname is used as description, too.
fixed: some line limit detection fixes on xml dat parser (MESS > .137 issue)
fixed: some wrong stats when using fastscan
fixed: wrong warning about a not recommmended scan appears rarely for fastscan
fixed: forgot to remove old cache files after dat update


fixed: crash at the end of a scan when not all sets are enabled


added: support for mess software lists (either as hash/*.xml file or via -listsoftware output)
misc: don't show archive errors for no entries in rar part files (partxx.rar format only)
misc: 64bit version uses version64.ini and version.ini as fallback
misc: slight speedup for several routines
misc: showing chd region count in title when not enabling all
misc: trim filenames in dats and remove "." from end of folders and files in datfile
fixed: wrong "illegal download" message on clean install
fixed: rare wrong named chd stats count


added: support mess software list's loadflag continue and ignore flags
added: show rebuilder warning if rebuilt file can't be removed (when wanted)
fixed: fixed wrong named sets falsely need a 2 pass scan to get displayed correctly
fixed: chd-on-root level was broken for romless sets
fixed: replacing an xml dat does not reset the profile status
fixed: profiler.xml stats values are wrong (32bit version only)


fixed: completely replaced sets are listed without missing set tag in a 1st scan
fixed: www profiler error for urls with ?
fixed: rebuilding archives-in-archives works only for the first file
fixed: rebuilding archives-in-archives doesn't work for subfolders in archives