Commit Graph

299 Commits

Author SHA1 Message Date
Matt Nadareski
ae2b8fd44d Add more code for dictionary based merging 2016-04-28 11:31:35 -07:00
Matt Nadareski
a202dc3dbb More changes to enable Dictionary merging 2016-04-28 11:06:27 -07:00
Matt Nadareski
9672a5962d Add dictionary-based file output 2016-04-28 10:57:32 -07:00
Matt Nadareski
820097a2ec Rename since this is a permanent method now 2016-04-27 20:57:05 -07:00
Matt Nadareski
4458fd2ce0 Minor output name change 2016-04-27 20:44:17 -07:00
Matt Nadareski
d8864084d1 Commit to using the DB approach for merging 2016-04-27 20:37:28 -07:00
Matt Nadareski
ba5581af63 Fix AB output from new database 2016-04-27 18:29:29 -07:00
Matt Nadareski
18369e89df More code changes to accustom diff and AB 2016-04-27 16:57:03 -07:00
Matt Nadareski
bfdb031438 Comment out code in preparation for eventual removal
The next step is to include the "source DAT name" in the dupe field instead of just "false". It will still be changed to "true" on merging, however. This will allow for multi-dat AB output since each unique source can have the non-dupe roms outputted. This will require a change in WriteToDat2 as well to enable "AB" mode, or at least a field called source that is default empty. If it's not empty, it tries to write out ONLY things that match that source. Maybe merge it in to the "diff" mechanic. Actually, if it's a flag, it will just output every variant: All in A, All in B, All in both, All not in both. Pretty easy.
2016-04-27 16:11:29 -07:00
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