Commit Graph

4611 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
6e6a2f9391 Add new HashDataToString function for later use 2016-04-26 13:17:55 -07:00
Matt Nadareski
4e4907a785 Remove 2 DAT restriction on everything excpet AB 2016-04-26 13:17:24 -07:00
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
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
373eb78324 Make sure the log writes even if it crashes 2016-04-22 12:15:49 -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
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
a2016870c6 Minor edit to hopefully make import faster 2016-04-21 20:10:43 -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
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
c62843d025 Update Readme with CMP instead of RV 2016-04-21 15:30:57 -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
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
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
8e5a1365b5 Fix case of empty mappings 2016-04-21 14:12:14 -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