Commit Graph

290 Commits

Author SHA1 Message Date
Matt Nadareski
e450eebfd7 Stage 2 changes for using in-mem database
This change makes it mostly functional, having a way to both parse and merge in one step and output from the database. The issue is that the output from Parse2 doesn't match Parse OR Parse + Merge. Duplicates don't seem to be added in the first case and there are a differing number of roms in the second.
2016-04-27 01:10:24 -07:00
Matt Nadareski
bce1cc5839 Add stage 1 changes for better merging
The new merging process is both parse and merge in one step using an in-memory database. The next steps are to get the data in this database and write it out properly.
2016-04-27 00:53:15 -07:00
Matt Nadareski
4e4907a785 Remove 2 DAT restriction on everything excpet AB 2016-04-26 13:17:24 -07:00
Matt Nadareski
fdf6047f21 Minor logging and fixes 2016-04-23 00:29:48 -07:00
Matt Nadareski
8c8eba97fe Need sorting here, or else it fails. 2016-04-22 15:27:57 -07:00
Matt Nadareski
e7683235ba Wrong name on menu 2016-04-22 15:17:43 -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
bb75c6ee3a Remove logic to get a clean start. Keep flags 2016-04-22 14:30:16 -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
606d7059ae Test and fix commented code. It works now! 2016-04-22 12:15:19 -07:00
Matt Nadareski
f7727ae4c6 Add markers for testing
These added markers show which code needs to be commented out for the new code to work properly.
2016-04-22 11:08:02 -07:00
Matt Nadareski
5b62486009 Huge block of experimental code 2016-04-22 01:11:35 -07:00
Matt Nadareski
b600af5780 More commented code for possible change 2016-04-22 00:39:46 -07:00
Matt Nadareski
c576a4bc9b Add more test code in Import 2016-04-22 00:24:29 -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
a2016870c6 Minor edit to hopefully make import faster 2016-04-21 20:10:43 -07:00
Matt Nadareski
8e78bd7b41 Unnecessary space removed 2016-04-21 17:34:11 -07:00
Matt Nadareski
38253bb062 [doc] clarify comment 2016-04-21 17:28:46 -07:00
Matt Nadareski
bcf263a5f6 Wrap rom insert into a transaction 2016-04-21 16:14:43 -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
40a5f624d9 Usable length can differ 2016-04-21 14:54:12 -07:00
Matt Nadareski
40a4cfe8d9 Make it have one less complex part 2016-04-21 14:42:16 -07:00
Matt Nadareski
fa84a0865b The name might change from the description 2016-04-21 14:40:34 -07:00
Matt Nadareski
3185aa3fa6 noDate should be bare 2016-04-21 14:38:11 -07:00
Matt Nadareski
f2985b40cc Fix outputted DAT information 2016-04-21 14:35:11 -07:00
Matt Nadareski
20e96ae507 It always showed "imported" 2016-04-21 14:18:09 -07:00
Matt Nadareski
bae642d401 These should be warnings, not errors 2016-04-21 14:16:20 -07:00
Matt Nadareski
0390144419 Merge MergeDAT, part 6 2016-04-21 14:12:01 -07:00
Matt Nadareski
6483fd4772 Merge MergeDAT, part 5 2016-04-21 14:10:59 -07:00
Matt Nadareski
7f24f015c2 Merge MergeDAT, part 4 2016-04-21 14:09:21 -07:00
Matt Nadareski
e66e44f160 Merge MergeDAT, part 3 2016-04-21 13:46:39 -07:00
Matt Nadareski
c757bd1534 Merge MergeDAT, part 2 2016-04-21 13:32:35 -07:00
Matt Nadareski
04b1fce512 Merge MergeDAT, part 1 2016-04-21 13:10:13 -07:00
Matt Nadareski
729a0fd71f Add skeleton for Good for @tractivo 2016-04-21 12:54:39 -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
176ec97b23 Instance should not be static 2016-04-20 20:44:40 -07:00
Matt Nadareski
07ce694ae3 Fix GAME prefix not DAT prefix 2016-04-20 17:45:39 -07:00
Matt Nadareski
4755345f70 Missed some renames, thanks @tractivo 2016-04-20 17:25:36 -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
f82152e0a6 Add DAT name prefixing 2016-04-20 15:30:56 -07:00
Matt Nadareski
24d81761f8 Add error on issue 2016-04-20 15:11:25 -07:00
Matt Nadareski
3a88832980 Merge DatToMiss, parts 1-5 2016-04-20 15:09:26 -07:00
Matt Nadareski
38bfc2de04 [doc] update comment 2016-04-20 12:53:44 -07:00
Matt Nadareski
361f7d7ee6 Merge DatSplit, part 5 2016-04-20 11:42:18 -07:00
Matt Nadareski
3dd26574d0 Merge DatSplit, part 4 2016-04-20 11:37:20 -07:00
Matt Nadareski
5dfd1db8e2 Merge DatSplit, part 3 2016-04-20 11:29:44 -07:00
Matt Nadareski
f07364d527 Merge DatSplit, part 2 2016-04-20 11:27:17 -07:00