Commit Graph

124 Commits

Author SHA1 Message Date
Matt Nadareski
f8ed865eaa Replace Parse with mature second iteration
This code for parsing needed to be changed because of large file handling. XmlTextReader ended up being the best solution that doesn't crash at 500 MB in. A side effect of this change is that the code for processing a given DAT is very minimal now. The entire sub-block for SL-specific DAT info doesn't need to exist anymore. Small-scale tests have given 1:1 results with previous versions but further testing is needed for large files to make sure no data is lost.
2016-04-25 01:59:09 -07:00
Matt Nadareski
994a03826f Add version 1 of XmlTextReader-based parsing
This is currently borken for reasons that I don't 100% understand. It needs to be tested further with a basic DAT to see why it doesn't seem to get every ROM.
2016-04-25 00:30:50 -07:00
Matt Nadareski
77b1512bff [doc] add notes for future work 2016-04-25 00:27:27 -07:00
Matt Nadareski
55733f1ec9 Add retrieval of XmlTextReader 2016-04-25 00:26:19 -07:00
Matt Nadareski
7301cd3ba4 Add lazy evaluation of XML status 2016-04-25 00:25:08 -07:00
Matt Nadareski
755b5abf25 No need to parse the file first; add outofmemory error 2016-04-23 01:00:31 -07:00
Matt Nadareski
fdf6047f21 Minor logging and fixes 2016-04-23 00:29:48 -07:00
Matt Nadareski
2655aa12da Separate to see where issue is coming from 2016-04-22 16:12:31 -07:00
Matt Nadareski
7f1ce9e3bc Add more catches 2016-04-22 15:59:32 -07:00
Matt Nadareski
9123452d17 Enable AB mode
This mode outputs all necessary differences between two DATs, especially if combined with Diff mode.
2016-04-22 15:09:07 -07:00
Matt Nadareski
2d5bf0145b Add "AB" mode
Basically, this will output the information that's in each DAT but not in the merged and also the data that's only in every DAT. This needs testing, but it's a good start.
2016-04-22 13:51:37 -07:00
Matt Nadareski
373eb78324 Make sure the log writes even if it crashes 2016-04-22 12:15:49 -07:00
Matt Nadareski
c0930bb11b Add more experimental code
This code can be enabled for local testing by uncommenting and running it in place of the current code. This is the first of  few commits with  similar theme
2016-04-21 23:56:59 -07:00
Matt Nadareski
dbbf297263 Field possible database changes
The current format of the database is good for small amounts of data. The truth is that the hashes and sizes of the files are what really determine if a file is different or not. After chatting with Obiwantje about this, I'm beginning some code tests with a hash-centric database model, instead of the game/rom centric. This means that each hash can have mutliple roms attached to it, similarly a given game can have multiple sources or systems attached. It's a much cleaner system, but demands a total rewrite and new databae structure.
2016-04-21 23:46:14 -07:00
Matt Nadareski
e0b0071847 Add another credits section 2016-04-21 20:39:59 -07:00
Matt Nadareski
8970756a2c Update old header with all information 2016-04-21 20:14:29 -07:00
Matt Nadareski
961cee8c9a Bump to intermediate version number 2016-04-21 20:05:39 -07:00
Matt Nadareski
79876331e7 Add datetime to log statements 2016-04-21 17:47:23 -07:00
Matt Nadareski
b9115e66fe Change wording and default 2016-04-21 15:24:31 -07:00
Matt Nadareski
8e4f8e9fa6 Make -nr clearer in CLI and menu 2016-04-21 15:04:01 -07:00
Matt Nadareski
464e6c4b4e Merge branch 'master' of https://github.com/mnadareski/wizzardDesktop.git 2016-04-21 14:35:53 -07:00
Matt Nadareski
f2985b40cc Fix outputted DAT information 2016-04-21 14:35:11 -07:00
attractivo
70df743011 added mappings 2016-04-21 23:22:41 +02:00
Matt Nadareski
4a7cfb071c Fix help a little 2016-04-21 14:21:40 -07:00
Matt Nadareski
8e5a1365b5 Fix case of empty mappings 2016-04-21 14:12:14 -07:00
Matt Nadareski
c757bd1534 Merge MergeDAT, part 2 2016-04-21 13:32:35 -07:00
Matt Nadareski
729a0fd71f Add skeleton for Good for @tractivo 2016-04-21 12:54:39 -07:00
Matt Nadareski
d9e298373c Found a case of size being dash 2016-04-21 00:14:11 -07:00
Matt Nadareski
1c4d7dab2c RV is not old-style CMP is 2016-04-20 21:55:28 -07:00
Matt Nadareski
7e818df8a8 Miscellaneous cleanup
Updated Help to include new commandline params, clean up naming across classes, further updates to help future merging
2016-04-20 21:17:23 -07:00
Matt Nadareski
07ce694ae3 Fix GAME prefix not DAT prefix 2016-04-20 17:45:39 -07:00
Matt Nadareski
39b66ed8a1 Let's be Mono friendly
This is a massive overhaul that replaces System.Data.SQLite with Mono.Data.Sqlite. This should make it more compatible with Linux and Mac and has no known downsides for Windows.
2016-04-20 17:02:15 -07:00
Matt Nadareski
ac575438a1 Slight code consolodation 2016-04-20 15:37:49 -07:00
Matt Nadareski
f82152e0a6 Add DAT name prefixing 2016-04-20 15:30:56 -07:00
Matt Nadareski
3a88832980 Merge DatToMiss, parts 1-5 2016-04-20 15:09:26 -07:00
Matt Nadareski
dc590e218b Minor fixes to DatToMiss 2016-04-20 13:56:05 -07:00
Matt Nadareski
e244b7a05a Make extensions functional 2016-04-20 13:41:01 -07:00
Matt Nadareski
ec54249ab6 Add new features requested by Obiwantje 2016-04-20 13:20:50 -07:00
Matt Nadareski
dc0cd4f153 One more tab 2016-04-20 13:01:15 -07:00
Matt Nadareski
6cdabd84d8 Renamed some flags based on discussion with Obiwantje 2016-04-20 12:52:05 -07:00
Matt Nadareski
cb0587f91e Help needed help 2016-04-20 12:42:08 -07:00
Matt Nadareski
6d61b2e0ab Add quotes 2016-04-20 12:29:15 -07:00
Matt Nadareski
3214a26fb1 Quotes are for my friends 2016-04-20 12:15:57 -07:00
Matt Nadareski
eca0015108 Mono doesn't like empty directories 2016-04-20 12:00:16 -07:00
Matt Nadareski
c746e9531d Mono doesn't like fanciness 2016-04-20 11:50:03 -07:00
Matt Nadareski
361f7d7ee6 Merge DatSplit, part 5 2016-04-20 11:42:18 -07:00
Matt Nadareski
f07364d527 Merge DatSplit, part 2 2016-04-20 11:27:17 -07:00
Matt Nadareski
4a4b843bf4 Move clear statement 2016-04-20 02:53:24 -07:00
Matt Nadareski
c0b49ebda8 Formatting updates 2016-04-20 01:47:44 -07:00
Matt Nadareski
b2c4253dca Merge SingleGame, part 5 2016-04-20 01:31:30 -07:00