Commit Graph

325 Commits

Author SHA1 Message Date
Matt Nadareski
9989c00ca9 Add Romba output to Miss files 2016-05-16 22:13:59 -07:00
Matt Nadareski
e3595ea384 More code cleanup
This change comprises of multiple smaller changes:
- Convert all WriteToDat to WriteToDatFromDict, including MissFile
- Change obsolete Import to use updated ParseDict
- Remove all references to Parse
- Rename all references to "Dict" specific code to shorter names
- Remove more unused methods rendered obsolete by other changes
2016-05-16 21:52:49 -07:00
Matt Nadareski
fc67d62fe5 Remove most of the outdated references and methods 2016-05-16 20:51:05 -07:00
Matt Nadareski
47e8f11f82 Add convert to RomCenter functionality! 2016-05-16 15:38:33 -07:00
Matt Nadareski
d90826b7a4 Use superior DAT creation tools instead of direct DAT conversion.
This change includes a few changes meant to keep the information from each DAT and have it retained in a single object which can then be written out in any format or added to other DATs with very little issue. This new system is much more versitile since all it needs is a way to convert each DAT to XML and then use the built-in output to output from the XML to the target format. This also gives the ability to clean a DAT by "converting" a DAT to the same format, removing any improper tagging or the such.
2016-05-16 15:17:11 -07:00
Matt Nadareski
d5b5a9a30b More changes using DatData objects 2016-05-16 13:42:21 -07:00
Matt Nadareski
ff48cddc9a Create a more extensible system for DAT creation for future additions 2016-05-15 14:34:06 -07:00
Matt Nadareski
ad7e8dceea A blank directory can cause issues 2016-05-12 10:24:42 -07:00
Matt Nadareski
11632ca111 Better naming 2016-05-11 14:32:06 -07:00
Matt Nadareski
2844bac565 Take advantage of new enum ordering 2016-05-11 10:57:00 -07:00
Matt Nadareski
f9656f73ff Ignore the _dedup value in checking because it doesn't matter 2016-05-11 09:51:20 -07:00
Matt Nadareski
21f15219e8 Make this logic a little more solid 2016-05-11 09:33:52 -07:00
Matt Nadareski
d38557d489 Make all-diff standard for diff 2016-05-11 09:16:46 -07:00
Matt Nadareski
382f74afaa An attempt to make diffing work the way I think it should
Basically, if a rom is a duplicate, it can be a duplicate within a system or source or across system or source, and by hash alone or by all data matching. The four combinations make an enum now and the diff function is the only one that uses them right now. If we're in dedup mode, we want to check hashes only in diff. Otherwise, we want to check against ones that match all information. This  needs field testing.
2016-05-10 20:55:51 -07:00
Matt Nadareski
364cdb10c9 Remove menu options for logging 2016-05-10 16:04:12 -07:00
Matt Nadareski
e0d128ba3b Missed a couple spots 2016-05-10 15:57:09 -07:00
Matt Nadareski
969ea4a56d Because --merge --diff seems clunky 2016-05-10 15:56:05 -07:00
Matt Nadareski
1800ac6750 Logging overhaul!
This change brings about a few changes:
1) A new LogLevel called "User" that is used for non-verbose, non-error output
2) Only User and Error are output to console now, not all of them
3) All programs have log to file enabled by default and all flags for enabling logging have been removed
4) Some former Verbose statements have been converted over to User because of the shift in usage.
2016-05-10 15:41:33 -07:00
Matt Nadareski
a074dd001c Have to make everything similar for inputs and flags 2016-05-04 15:09:31 -07:00
Matt Nadareski
f3c4f233c9 Add 64-bit build output 2016-04-29 13:19:48 -07:00
Matt Nadareski
c9863f2b84 Clear vars on run from menu 2016-04-28 16:24:19 -07:00
Matt Nadareski
a2d9fd0402 I hate drag and drop 2016-04-28 16:10:22 -07:00
Matt Nadareski
4e73261987 Menu needs to have logging by default 2016-04-28 15:59:57 -07:00
Matt Nadareski
fa519036ad Remove all traces of the outdated DB merge/import 2016-04-28 12:43:56 -07:00
Matt Nadareski
13ba806a59 Wrong dict name used 2016-04-28 12:01:54 -07:00
Matt Nadareski
2ac01545e1 Output should be deuped according to the user spec 2016-04-28 11:32:19 -07:00
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