# added: added support for nodump chds
# added: pack option for wwwprofile xml creator
# misc: major cleanup for generic packer routines (e.g. scanner is able to scan 7z and rar now)
# misc: scanner nodump handling works now for roms/chds & unpacked sets
# misc: several other internal cleanups and fixes
fixed: unneeded chds won't be displayed twice (by CHD and ROM check)
fixed: gray/green/red profiles isn't updated in all cases
fixed: wwwprofiler version old/new detector failed on 0.111u6 0.112 change
fixed: set check for chd-only sets failed when chd rompath-root storing method was used
fixed: loading of forcezipping dat header information doesn't work
fixed: nodump chds can get falsely marked as wrong named
misc: setinfo lists nodumps with "-" now instead of 0
misc: several internal changes....resulting in some smaller memory usage
added: 'logical not' checkbox for set selection to invert selection permanently
added: set/chd + fix unneeded check will automatically move wrong placed chds
added: batcher: created rompath naming is now independent from logfile/fastscan/etc naming
misc: 'deeper check for fixable missing files' now supports chds, too (although fix-missing for chds isn't in yet)
misc: checksum analysis steps are shown in the windows title + some better taskswitching
misc: sets which only consists of biosroms and/or nodumps aren't shown as missing sets when nodump handling is set to hide and/or allow not separated biossets is disabled.
fixed: date/time fix crashes on decompressed sets
fixed: scan tree and nodump buttons don't get refreshed correctly after scanner advanced
fixed: batcher: profile status isn't updated when batch run was stopped
fixed: batcher: scan run is still performed even when batch rebuild run was stopped
fixed: NSIS installer got some weird issues under MS Vista
added: datfile header entry 'header', specifying the dat needs a special header xml to work correctly. For example "header nes.xml".
misc: sets which only consists of biosroms AND nodumps aren't shown as missing sets when nodump handling is set to hide AND allow not separated biossets is disabled.
misc: sets with sharing errors appear grey
fixed: file sharing errors aren't listed anymore
fixed: bios sets falsely appear as missing when 'show all missing sets' is disabled
fixed: nodump handling options gets falsely disabled if datfile only holds nodump chds
added: rebuilder option to show/hide rebuilder stats
added: www site attributes can now be changed anytime
misc: optimized speed of byteorder fix-checksum check immensly
misc: replaced beep() with MessageBeep to work correctly under Vista
misc: changed the unneeded/wrong placed chd routines a bit
fixed: crash while doing a full integrity on a corrupt chd
fixed: drag'n drop in profiler www mode fails when using a non www ini file
added: download (current set/current parent/all listed) functionality
misc: replaced biosset hacks with full support for new MAME biossystem
fixed: exception in direct mame import (when using bad exe files)
fixed: rare issue when profiler tree icons become a profile list icon
fixed: systems->auto detect sys default paths crashes
fixed: full merged fake clones which only differ in a chd (code1db) are falsely shown as missing
fixed: download name doesn't change when downloading multiple files
fixed: moved chds aren't found directly but in 2nd scan
fixed: nodump bios files isn't handled separately (no green profile if you don't have MAME's mac2bios)
misc: increased max value for no-recompress buffer to 1GB
added: batcher option to auto-delete fixdats when empty
added: rebuilder advanced option "skip source folder after x skipped files". This skips files in the current rebuilder source path list when a given number of files were skipped.
added: added above option to batcher as well
added: support for ctrl-a (select all) and ctrl-i (invert selection) in profiler dat list (remember to keep ctrl pressed when you then right-click)
added: rebuilder advanced option for auto memory selection for no recompress
misc: sizeable windows got some min x/y values now
misc: 'fix missing' and 'create missing nodump' don't select a chdfolder to add the found missing files
misc: speed optimized even/odd split (checksum analysis)
misc: running even/odd split only when found file is twice as big as the rom
misc: removed 'fix size' sliding crc32 window and only check head/tail of file
misc: changed way of showing/hiding main window
misc: changed way of showing the profiler on startup
fixed: wrong window title is shown when saving a have-list
fixed: profiler shows a list icon in the tree after adding/downloading a dat
misc: Linux WINE: changed systime convertion to work flawlessly (www profiler)
misc: Linux WINE: launch button bar isn't hidden anymore (but minimized). This increases compatibility and even fixes some MS Windows issues.
misc: Linux WINE: changed warnings window. It will now automatically appear if something appears in it. You can still minimize it then.
misc: several windows correctly appear at the front now.
misc: treectrl and listctrl bitmaps are now 24bit and different
misc: F2 (edit label) functionality to several list and tree controls
misc: listing corrupt containes (corrupt chds, zips...) in the stats
misc: disabled "Possible missing alternative samples folder" in the database checker MAME doesn't load samples from a parentset when no sampleof tag is given. In consequence you may need some more samplesets for MAME now.
misc: several updates to the window rendering system (incl. not stealing focus correct minimizing, warnings window only shows issues, etc.)
misc: allowing not existent sampleparents (invaders)
misc: changed WindowToFront method which doesn't falsely stick the window as topmost sometimes
misc: showing warning about crc32= 1/-1
misc: removed a typo in dir2dat tooltip
misc: added a n64 header xml description (thanks Cue)
misc: www profiler xml creator allows optional subfolder scanning
misc: Linux WINE/Mac Crossover users: adding a cmpro.ini setting "Adv_HideWindow = off" helps you when you got issues with the showing/hiding of the 6 button bar
misc: systems and setinfo window got max/min boxes
misc: memory usage for no recompress is limited to max 1GB (also in auto mode)
misc: settings->unneeded masks can be added by drag'n drop
misc: updated unrar.dll
fixed: search folder for crc32 was partially broken
fixed: about drag'n drop size information was wrong for files (not archives)
fixed: a chd can get wrongly parent/clone assigned when parent set got > 1 chds
fixed: rare wrong "Can't remove files from..." message
misc: added warning when a MoveFile operation fails
misc: warnings window's clear option also re-hides the window
removed: nodump handling controls
misc: main button bar remembers focus
misc: set information -> 'unload' (set list) button added
misc: set information -> you can use '%h=1' in 'select sets' to select sets with chds
misc: set information -> you can use '%p=1' in 'select sets' to select sets with samples
misc: set information -> split 'mark parent/clones' to two separated checkboxes
misc: set information -> mark parent/clones checkboxes also affect loading of set lists
misc: don't show warning for clones where all not-parent roms are nodumps
misc: introducing datfile header switch "forcenodump" which can be 'obsolete', 'ignore' and 'required': obsolete = default (nodumps are marked as unneeded, missing ones are not shown); ignore = existing nodumps are not marked as unneeded, missing ones are ignored; required = existing nodumps are not marked as unneeded, missing ones are shown
misc: dir2dat->nodump header options available
misc: allowing empty set definitions (theoretically this allows using of pseudo parents)
misc: first compile in new VS2008 environment with some minor code cleanup
misc: 0-byte rom files are not handled as nodumps anymore
misc: fix dat header includes xmlheader statements (if available in the original dat)
fixed: dat export failed for roms with a not specified crc32
fixed: dat export exports 'flags baddump' in a wrong way which get reloaded as crc 0xf
misc: main window can be put to 0/0
misc: profiler's create doesn't care anymore about exe sharing access issues
misc: minimum OS requirement is now W2k and higher
misc: updated unrar.dll which fixes crashes with incomplete split rars
misc: updated have/miss list to handle fake clones, nodump-only sets correctly
misc: update dat dialog is now resizeable
Going 64bit...
misc: several internal 64bit updates
misc: 64bit clrmamepro exe available as separate download
misc: updated updateprogram to pick correct 32/64bit package
misc: updated to latest fully licensed ziparchive non-mfc version & new 64bit unrar dll
misc: remove-rebuilt-source files now works for all parts of a split-rar too
misc: more detailed parse error messages showing the last successfully parsed set
misc: some small internal preparations for upcoming new xml datheaders
fixed: negative windows positions lead to not visible windows
fixed: wrong parser error message when no setformat.xml is available
fixed: new rebuilder destination folder isn't removed when stopping at rebuilder warning prompts
misc: sysinformation and system picker windows now got a cmpro icon
misc: 'checking unknown sets' dialog shows processed filename before working on it
misc: toggling a check box for scan tree update, autoscroll is disabled during update
misc: speed optimized "deeper check for fixable missing files"
fixed: wrong zipclass exception handling may cause crashes when working on corrupt zips
fixed: xml datfile check didn't use the engine.cfg replacement settings (mess import issue)
misc: added another seeking step to find fixable missing roms
fixed: game tags manufacturer/year didn't follow the dtd rules when exporting
fixed: xml datfile detection randomly doesn't work in profiler
fixed: xml export shows a crc=0 for nodumps
fixed: www profile xml creator doesn't include xml dats
fixed: about window frame was wrong
misc: added dtd reference to xml header
misc: reduced database memory footprint a bit
misc: reduced cache file size slightly
added: dat output format selection
fixed: xml header parser only accepted 'forcepacking' but not 'forcezipping'
fixed: bios-only dats can't be loaded
fixed: header element "email" had too many spaces
fixed: wrong "sharing issue" message for some chds
fixed: batchrun - min/max progress window in progress-only mode shows scannerwindow, too
fixed: batchrun - rebuilder progress window assertion when switching profiles
fixed: batchrun - pause value is only kept when hitting ok
fixed: batchrun - "for default setting use" is not initially set
fixed: batchrun - profiles get reset to 'not scanned' when using a rebuilder-only run
fixed: batchrun - profiler doesn't do a refresh when stopping batchrun during cache read or import
added: Logiqx's / NoIntro release/region/language support: Added support for release information in console datafiles. If the datafile contains release information, the user can specify their own region and language preferences. The region and language preferences influence the ZIP names used for merged ROMs. CMPro will choose the most appropriate ZIP names for the user, based on their region and language preferences. Thanks go to Logiqx for the algorithm. De-/Activating regions/languages can be done here: settins->combo box->regions/languages. You can also modify the order there.
added: scanner popupmenu explore -> to either explore/open the belonging rompath or the set itself
added: an ini entry to make f205v and Tauchy happy ;)
misc: moved old option 'decompress rom and test crc32' to compressor settings as decompress files to memory (that's what it actually is)
misc: new Scanner->Checksums->'decompress rom and test crc32' is now exactly what it says and it also checks against header and datfile crc32
misc: rebuilder auto-memory option default value is now disabled
misc: changed orientation of settings arrow buttons
misc: setinfo shows prefered name, changed arrow button orientation, default editbox is 'select sets'
fixed: resource-only dats in deprecated format and without header weren't loaded
fixed: -listinfo dat export misses a closing quote on romof tags with spaces
fixed: fuzzygamesearch scoring algorithm doesn't detect sets with more than one identical crc as wrong named
fixed: set selection crashes (also on profile load)
fixed: scanner checksum check was broken for unpacked sets
misc: missing required (not obsolete/ignored) nodumps will lead to a red profile
added: NoIntro's 1G1R mode (related to the regions/languages modes from 3.114) This can be enabled in settings (for region/language dats only)
added: set information shows set description or optionally set name now
added: Rebuilder Beep() ;)
added: more support for sample-only sets
misc: set information tree is now sorted alphabetically after setdescription (not setname)
misc: renamed "Show All Missing" sets to "Hide Fully-Missing Sets" and inverted the behaviour
misc: sample parents which aren't listed (e.g. MAME's alphamc07) are added as sample-only sets
misc: settings import button is only available for rom/sample paths
misc: reading archives is done in an own thread
misc: hash calculators run calculation md5/crc/sha1 in parallel in 3 threads
misc: chd verifyer runs md5/sha1 calculation in parallel in 2 threads
misc: rebuilding with addpaths doesn't reopen progresswindows per addpath anymore ('minimize & forget')
misc: unneeded check detects sample-only sets in rompath and viceversa
fixed: very poor performance when background tasks exist running in IDLE mode
fixed: xml datfiles which may be parsable with a different engine.cfg aren't listed in the profiler
fixed: datfile's forcemerge mode didn't affect merger
fixed: addpath removes created empty rebuilder destination folder, so following addpaths fail
fixed: xml dats with size="-" are wrongly parsed
fixed: 1G1R mode uses prefered name instead of standard name for sets
fixed: clearing cache resets profile color even when the dat hasn't changed
fixed: existing nodumps got scanned/checked even if 'ignore' mode is enabled
added: full 7z & rar support for scanner/merger/rebuilder (see docs/packer.txt for details)
added: dir2dat optionally remove extension from setname/description
fixed: can't close scan results window via [x] sometimes after a scan
fixed: wrong 'unneeded fake clone:' message when creating an empty chd subfolder for fake clones
misc: nodump/gooddump clashes within parent/clone relationships can optionally get fixed during parser data clean run
misc: enabled editable labels in setinfo tree (also F2 works then)
misc: 7z/rar multi-file compress functions don't do multiple tool calls anymore but one with "*"
misc: redesigned compressor settings
misc: redesigned batcher
misc: removed usage of packer.ini, use compressor settings instead
misc: dat parser clean up routine detects roms within one set(!) with identical name but different hash value and lets you optionally rename one instance automatically
added: preliminary support for crc less roms (but with sha1/md5) several checks don't work yet but at least they get parsed
added: batcher option for rebuilder destination -> always use the 1st rompath
added: some missing tooltips
added: batcher scanner option: deep hash scan mode (sha1/md5/crc32)
misc: changed the max value for auto-memory functionality to 0 < n < min(max_*available*_physical_memory/2, 1GB)
misc: for name/hash clashes within a parent/clone relationshop you can now choose between: forcing split merge mode and removing parent/clone relationship.
misc: minor correction in dir2dat checkbox layout
fixed: ` in dats (used internally for setsubfolders) aren't replaced with "'"
fixed: 7z/rar adding/removing files fails for file starting with "-"
fixed: dats with "forcepacking modes = no" still create compressed files with fix missing
added: support for CHD regions. Now you can disable/enable subsets of chds. For example you can disable lasterdisks but scan cd-roms, etc. You can enable/disable them in Scanner->Hash & Chd (formerly Checksums...) (at the moment this is only available in xml dats)
added: wordbyteswap operation to xml header syntax
added: new header defintions for n64 (thanks Cue)
fixed: setsubfolder support is broken
added: support for disc region tags in -listinfo format
fixed: rebuilder recompress option gets falsely accessible for 7z/rar after some toggle combinations
fixed: unneeded test for inverted crcs fails
fixed: crash during cache load when toggling 1G1R mode
fixed: 7z reader package fails on 7z filesizes ≥2GB<<4GB
fixed: ziparchive package fails on zip filesizes ≥2GB<4GB
fixed: laserdisk chds are listed as unneeded
fixed: main window moves to the top from start to start
fixed: rebuilder advanced auto-memory checkbox doesn't use 1/2 physical available memory limit
fixed: "download all" operations can't be stopped
misc: rar/7z/zip decompress failure lists archive and filename in warnings window
misc: files count operations can be cancelled
added: rebuilder advanced option to additionally check sha1/md5 of possibly existing destination file
fixed: 7z sdk crashes when 0-byte files are found while reading TOC
fixed: failed rar/7z renames aren't listed
misc: missing AV metadata in chds are shown as errors
misc: setinformation 'select sets' supports %B=1 for selecting bios sets only
misc: changed several rebuilder warning texts
fixed: rebuilding uncompressed files rarely creates archived files
fixed: scanner's fixmissing rarely ignores the default archive format
fixed: profiler's hide-common doesn't set the default answer to yes for illegal merges and bad merge tags
fixed: if a removed unneeded file had a valid romname it's not shown as missing
fixed: progress window shrinks magically
fixed: after closing setinfo window you need 2 clicks to reopen it
fixed: misplaced romsets in samplepaths are falsely listed as wrong named
fixed: wrong "fake clone" message for fake clones with chds (mainly for Mac Crossfire users)
fixed: propertypages are shown twice (mainly for Linux WINE users)
fixed: sets with >1 chd list these chds wrongly as missing if chd region type is disabled
fixed: dir2dat cancel doesn't work during a lengthy hash calculation
misc: prefered scanner archive type is detected from rebuilder settings if no sets at all exist
misc: don't allow setinformation load/unload file during an active scan
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
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....
added:
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
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
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
misc: changed xml dat detection to be faster for known doctypes
misc: hide warning about not exisiting folders during batch run
fixed: one errormessage names addpaths while rompaths are affected
fixed: progress window doesn't blank out lines when it should do
fixed: chd only sets with wrong placed chds need a 2 pass scan to appear correctly
added: adv scanner option to automatically move sets in wrong sysdefpaths
added: chd checksum option to read chd sector map
misc: don't rebuild cache if newly created dats/exes are identical to others
misc: added *.xml filemask to setinfo export
misc: improved dupes scan to find double chd folders
misc: new option for rename wizard to not rename replaced sets
misc: some text changes here and there incl. copy/move prompts
misc: added warning to rebuilder if bios storing methods between scanner/rebuilder differ
fixed: miss/have lists handle sample-only sets
fixed: "version not found issue" for 64 bit versions
fixed: merger ignored sets with chds
fixed: chd folders in full merged modes can rarely create missing rom messages
fixed: set stats count for bios only + chd sets
misc: slightly optimized rebuilding speed of decompressed files by using MoveFile instead of CopyFile if possible
misc: slightly optimized scanning speed of decompressed sets by using hash caches
misc: manufacturer tag isn't mandatory anymore in dtd and won't appear in export if empty
misc: show prompt if external packers are not available
fixed: profiler loading issues when having mess and mame xmls handy and defining mess dats in engine.cfg
fixed: utf boms (byte order marks) let the dat detection fail
fixed: rare external packer file not found prompt issue
fixed: removing more than one file via external packers fails
fixed: several www profiler issues fix:
- does not load compressed xmls when generated via php
- wrong sorting after download
- popupmenu "refresh datfiles from" does not work correctly
- not always remembering selected tree/list item after refresh
added: www profiler shows author as column
misc: changed progress window and button bar design
Thanks to Alex Schuetz for the artwork.
misc: updated unrar dll
misc: changed tempfolder failure text to uac warning
added: import/export of upcoming MAME flag "ismechanical"
setinformation's 'Select Sets' supports variable %M=1 to mark mechanicals
Split system default path "Standard" into "Standard" and "Mechanical", ie you
can split mechanical sets in an own path. Note, if a mechanical set is also using a bios
the belonging bios path is used since that binding got a higher priority
added: scanner advance option to keep disabled sets as unneeded (instead of ignoring them)
misc: changed a bit the show missing behaviour of sets which only consist of nodumps and samples
misc: correct handling of not possible profile renaming of hyperspin/offline/software list dats
misc: for now, stop parsing dats if 1st closed main element is found
misc: supporting chds in mess software lists
fixed: 7z add/remove fails for files starting with @
fixed: scanner popup menu functions to delete/move incomplete/notfixed sets got rare issues when deleting files
fixed: removed very old chd extension workaround which causes issues now with chds with "."
fixed: xml parser misses attribute name/value trimming
added: batcher rebuild options for always compress / never recompress and packer type
misc: updated winrar dll
fixed: cleaning parsed data always uses yes to nodump replacement
fixed: crash bug when removing full archives from sample paths
added: missing but fixable chds can get fixed automatically by fix-missing
added: append option for rebuilder log
misc: redisplay dir2dat window after dat completion to avoid minimizing issues
misc: dat export will only export active sets
misc: added trimming for subfolder rom/etc defintions