This is being reverted because it was so disjoint from the other work that it is meant to work with that I was unaware of the intent of the code. This is not doing something that I feel is correct, so any changes here need to be merged into the other, more relevant PRs so it can be reviewed wholistically.
* add dataareas to part
to add additional dataareas in rom element
* adding dataareas
while updating vs code, references where lost, but i hope i'll get everything to the correct place...
There was an issue around how items from different sources were handled, in that sources were checked first and not last. This was due to a few assumptions about source IDs and DAT order in general. This may end up causing different output hashes for merged DATs.
This is a semi-breaking change. The normal functionality of not specifying any hashes will default to CRC32, MD5, and SHA-1 as expected. However, all other flags have been renamed and act as an include (like how the SHA-256 and above functioned previously). If any of those flags are specified, then it overrides the default behavior and ONLY uses the hashes specified. So to get the same behavior as `--skip-md5`, a user would do `--include-crc --include-sha1`.
* Add DatStatistics class
* Add isDirectory setting
* Add CalculateStatistics method (nw)
* Add separate stats writing
* Use new methods
* Rename Write -> WriteIndividual
* Naive implementation of new writing (nw)
* Remove unncessary calls
* Make writing more DatFile-like
* Add console flag to constructor
* Remove unused stream constructors
* Move to local writers
* Remove inherent filename
* Fix invocation
* Use SeparatedValueWriter
* Fix final directory stats output
* Use XmlTextWriter for HTML
* Don't output separator on last stat output
* Remove now-completed TODOs
* Remove unused using