* First part of cleanup
* Second part of cleanup
* Second part of cleanup, part two
* Second part of cleanup, part three
* Second part of cleanup, part four
* Third part of cleanup
* Fourth part of cleanup (nw)
* Rebranding
* Aaru-fication
* Try to fix .NET Core builds
* Strip out CD Check for false positives
* Update DIC to 20200403
* Add .NET 4.8 to automated builds
* Address a couple of TODOs
* Typo
* Aaru is up to date
* Fix AppVeyor
* Add new systems (fixes#196)
* Fix build
Co-authored-by: Matt Nadareski <mnadareski@mparticle.com>
* Professional cook
* Accuracy improvements
* Better yet
* Spicy
* Simplify and reduce
* You eye note
* More info for validation
* Read you
* Verbose
* Typo
* Custom fix
* Of note
* Clearly the same
* Creator update
* Creator MCN flag gone
* Missed a spot
* Fix issues after code walkthrough
* Who doesn't like drives?
* Add another TODO
* Use built in stuff, it's quicker
* More special handling for floppies, easier this time
* Fix broken test
* Set active drive priority, String -> string
* Track reason for no scanning
* Update DIC version and release notes
* Remove `.` handling code since it should be in DIC now
* Add support for 3 new flags
* Fix dot tests
* Fix PS4 autodetect (Fixes#164)
* Fix PS4 version finding
* Update DIC archive path
* Add support for disk command (unused by default)
* First step: 4.6.2
* Make Check and Library .NET Core 3.0 compatible
* Enable 4.6.2 and 4.7.2 on DICUI
* DICUI .NET Core 3.0
* Solution items
* New Appeyor paths, environment
* Upgrade DICUI.Test for all frameworks too
* Fix .NET Core 3.0 difference in path handling
* Abstract out non-UI code to separate DLL
This change seems rather large, but it's mostly just moving anything that is not directly driving the UI to its own, separate library. This will make it easier at a later date for any UI improvements or changes as well as making the code much more discrete. One TODO has been added as a result of this change.
* Remove MessageBox from library
This change removes the last UI-driven elements from the library. This now makes the library (in theory) UI-agnostic and removes the TODO.
* Options is more UI-related
* Fix Nuget references in csproj
* Add Winforms UI
This is a clone of the current WPF UI but implemented in Windows Forms. WPF is not currently supported by Mono for Linux and macOS, so this can provide an alternative to those users who want to run on those systems instead. This also adds a second artifact for the Winforms build.
1) Fix the issue where custom parameters that include the `/s 2` flag crash the program
2) Make editing custom parameters a little more intutive (still need to figure out either a way in-documentation or in-UI to explain the checkbox a little better). This part of the change needs to be more tested but there aren't many people using the current feature anyway.
3) Fix the random "Error count: -1" issue that some users were seeing (ended up being a result of more things being in the `_mainError.txt` file than originally anticipated)
* Progress report updates log
* Logging additions
* Minor update
* Set halfway point only if nothing can be found
* Better population metrics
* QOL improvements
* More tiny logging updates
* Autoscroll
* Be consistent
* Update packages, use submodules
* Use NuGet
* Not 100% sure why I did it that way...
* Update README.md
* Make copy protect scan prompt an option
* Enhanced-CD might be Win/Mac
* Add unconfirmed formats
* Enhance!
* Include but mark inactive drives (fixes#87)
* Add more checks for the active flag
* Force users to choose on dump
* Fix quotes
* Update SolidShield 1
* Select first active by default
* Add TODO
* Add dumping progress indicator
* Clamp runtime
* Add first textfile scans; EA CdKey
* Slightly better executable detection
* Better file type detection
* Get as much into magic number checks as possible
* Nicer formatting
* Trailing slash
* Add back for benefit of the doubt
* Remove dead code
* Safer cabinet scanning
* Remove iXcomp; Add Unshield
* Fix build, add more comments
* Post-merge cleanup
* Add a new log line
* Make protection scan mechanics easier to see
* Add a space
* Update commented code
* Add Parameters class
This class is currently unused, but represents a set of parameters that can be passed to and from any given method. It has some copied/modified code from Validators.cs, for the time being due to the current overlap.
* Add better documentation
* Add and use DICFlag enumeration
* Port more things to Parameter-specific version
* Add commented code for later
* Added new options (#90)
* Split type combobox into system combobox and disc type combobox
* corrected indentation for xaml file
* fixed merge with head
* fixed format
* fixed issues for PR, added KnownSystem.CUSTOM
* removed Updater.cs which ended by error in commit
* fixed GetOuptutName() for new drive/system combobox
* added 4 new options: quiet mode, paranoid mode, disable media type detect and c2 reread amount
* added default C2 reread tries to config
* fixed issues for PR
* removed commented leftover
* Update commented code
* Add Parameters class
This class is currently unused, but represents a set of parameters that can be passed to and from any given method. It has some copied/modified code from Validators.cs, for the time being due to the current overlap.
* Add better documentation
* Add and use DICFlag enumeration
* Port more things to Parameter-specific version
* Add commented code for later
* Use Parameters object
* Fix dumping process
* Cleanup Validators
* Split type combobox into system combobox and disc type combobox
* corrected indentation for xaml file
* fixed merge with head
* fixed format
* fixed issues for PR, added KnownSystem.CUSTOM
* removed Updater.cs which ended by error in commit
* fixed GetOuptutName() for new drive/system combobox
* added 4 new options: quiet mode, paranoid mode, disable media type detect and c2 reread amount
* added default C2 reread tries to config
* fixed issues for PR
* removed commented leftover
* Namespace cleanups
* Make dump validation instanced
* Add note to Tasks
* Move stuff to DumpEnvironment
Most of the stuff in Tasks.cs acted on a single input parameter, namely a DumpEnvironment. Since that's the case, it was more logical to wrap those into DumpEnvironment and make them instance methods rather than keep them static. Due to this change, quite a few methods changed access, and some had to be marked internal due to wanting them to be tested separately.
* Gut Tasks
* One less thing in MainWindow
* Remove explicit cast
* Wrong check
* Create helper method
* Disable scan button on dump
* Remove unnecessary getters/setters
* Method name/description cleanup
* Address TODO
* Namespace cleanups
* Make dump validation instanced
* Add note to Tasks
* Move stuff to DumpEnvironment
Most of the stuff in Tasks.cs acted on a single input parameter, namely a DumpEnvironment. Since that's the case, it was more logical to wrap those into DumpEnvironment and make them instance methods rather than keep them static. Due to this change, quite a few methods changed access, and some had to be marked internal due to wanting them to be tested separately.
* Gut Tasks
* One less thing in MainWindow
* Remove explicit cast
* Wrong check
* Create helper method
* Disable scan button on dump
* Remove unnecessary getters/setters
* Method name/description cleanup
* Address TODO
* Clean up OnContentRendered
* Namespace cleanups
* Make dump validation instanced
* Add note to Tasks
* Move stuff to DumpEnvironment
Most of the stuff in Tasks.cs acted on a single input parameter, namely a DumpEnvironment. Since that's the case, it was more logical to wrap those into DumpEnvironment and make them instance methods rather than keep them static. Due to this change, quite a few methods changed access, and some had to be marked internal due to wanting them to be tested separately.
* Gut Tasks
* One less thing in MainWindow
* Remove explicit cast
* Wrong check
* Create helper method
* Disable scan button on dump
* Remove unnecessary getters/setters
* Method name/description cleanup
* Address TODO
* Clean up OnContentRendered
* Update event handlers
* Merge DumpEnvironment and DumpInformation
* None of these need to be static
* Start adding protection checks
* Convert all BurnOut-related files from VB
* Placeholders for SafeDisc 3 and 4
* Fix some small things
* SubIntention not always output
* Make copy protect scan optional
* Try/catch on disc information to avoid crashes
* Add placeholders for Origin, Steam, UPlay
* Don't use copied method, for safety
* Protection cleanup
* More cleanup on SafeDisc v1/2
* Add area for cabfiles (for later); clean up more protections
* Comment out cabfile path, for now
* Underscores? Really?
* Namespace cleanup
* More Steam variations
* Add an actual UPlay installer name
* Skeleton for GFWL
* Add one for Origin
* More Steam, update note
* Add note kinda like GFWL
* Fix Origin installer name (IDK what I put there before...)
* Remove TODOs for ones with valid checks
* Add first GFWL installer name
* Move online services to last
Physical disc protections should ALWAYS come before an online service is mentioned. This makes sure that the physical media's information is not lost
* Add another TODO
* ...slightly longer comment
* Fix CDCops, start adding file lists
* More paths
* Even more paths
* Last paths for now
* Dictionary is smarter... so more work ahead
* Remind me why I'm doing this?
* Okay, recreated in dictionary now
* Reorganiation
* Alphabetization is fun
* Add unused call to new scan path
* Add TODO
* Remove TODO
* Remove TODO, comment out dummy files check
* Better state for no detected protection
* Make copy protect scan a Task so it can be used elsehwere later
* ScanEx -> Scan; cleanup
* Remove unused protection scan methods
These methods used to be a simple check for if a particular file existed. These are now captured in the "CreateProtectionMapping" dictionary
* Remove SuffixInStr
* Characters to literals, decimal to hex, start of consolidation
* Add remaining string-only mappings, cleanup
* Update summaries, remove unused flag
* Trim out unnecessary variables
These variables used to be used when a DLL or an EXE was found to have something in it but other files were needed to check against for better output. This also assumed a monolithic output in what protections were found. Now that we just list everything and all files are scanned, this should catch everything that comes through
* Remove unused path-based protections
* Accidentally wiped out Sysiphus
* CD Check is... special
* No more internal vars; static shock
* Add region tags
* Remove unused Dummy Files check
* Add scan for copy protection without dump
* Better checking of files
* Better message box
* Add TODO
* Clearer language for SafeDisc
* Fix SafeDisc scanning
Thanks to eientei95 for helping find this one
* Slight EVORE cleanup
* Fix SolidShield
Thanks to eientei95 for helping to fix this one
* Add sector scan note
* Add user-requested TODO
* Refactor of ComboBox underlying types (#84)
* Split type combobox into system combobox and disc type combobox
* corrected indentation for xaml file
* fixed merge with head
* fixed format
* fixed issues for PR, added KnownSystem.CUSTOM
* removed Updater.cs which ended by error in commit
* fixed GetOuptutName() for new drive/system combobox
* Refactored KnownSystem combobox management
- created KnownSystemComboBoxItem to manage both header and system items
- totally rewrote KnownSystem category (through KnownSystemCategory enum and markers)
- fixed null access in EnsureDiscInformation caused by null _drives
- rewrote cmb_SystemType management to use new classes
* - created Drive class to keep drive letters, volume label and is floppy flag altogether
- changed all the code to use the new Drive class in combobox and in DumpEnvironment
* fixed retrieval of value from cmb_KnownSystem combobox
* removed OrderedDictionary, not needed anymore
* Merge DumpEnvironment and DumpInformation
* None of these need to be static
* Start adding protection checks
* Convert all BurnOut-related files from VB
* Placeholders for SafeDisc 3 and 4
* Fix some small things
* SubIntention not always output
* Make copy protect scan optional
* Try/catch on disc information to avoid crashes
* Add placeholders for Origin, Steam, UPlay
* Don't use copied method, for safety
* Protection cleanup
* More cleanup on SafeDisc v1/2
* Add area for cabfiles (for later); clean up more protections
* Comment out cabfile path, for now
* Underscores? Really?
* Namespace cleanup
* More Steam variations
* Add an actual UPlay installer name
* Skeleton for GFWL
* Add one for Origin
* More Steam, update note
* Add note kinda like GFWL
* Fix Origin installer name (IDK what I put there before...)
* Remove TODOs for ones with valid checks
* Add first GFWL installer name
* Move online services to last
Physical disc protections should ALWAYS come before an online service is mentioned. This makes sure that the physical media's information is not lost
* Add another TODO
* ...slightly longer comment
* Fix CDCops, start adding file lists
* More paths
* Even more paths
* Last paths for now
* Dictionary is smarter... so more work ahead
* Remind me why I'm doing this?
* Okay, recreated in dictionary now
* Reorganiation
* Alphabetization is fun
* Add unused call to new scan path
* Add TODO
* Remove TODO
* Remove TODO, comment out dummy files check
* Better state for no detected protection
* Make copy protect scan a Task so it can be used elsehwere later
* ScanEx -> Scan; cleanup
* Remove unused protection scan methods
These methods used to be a simple check for if a particular file existed. These are now captured in the "CreateProtectionMapping" dictionary
* Remove SuffixInStr
* Characters to literals, decimal to hex, start of consolidation
* Add remaining string-only mappings, cleanup
* Update summaries, remove unused flag
* Trim out unnecessary variables
These variables used to be used when a DLL or an EXE was found to have something in it but other files were needed to check against for better output. This also assumed a monolithic output in what protections were found. Now that we just list everything and all files are scanned, this should catch everything that comes through
* Remove unused path-based protections
* Accidentally wiped out Sysiphus
* CD Check is... special
* No more internal vars; static shock
* Add region tags
* Remove unused Dummy Files check
* Add scan for copy protection without dump
* Better checking of files
* Better message box
* Add TODO
* Clearer language for SafeDisc
* Fix SafeDisc scanning
Thanks to eientei95 for helping find this one
* Slight EVORE cleanup
* Fix SolidShield
Thanks to eientei95 for helping to fix this one
* Add sector scan note
* Add user-requested TODO
* Split type combobox into system combobox and disc type combobox
* corrected indentation for xaml file
* fixed merge with head
* fixed format
* fixed issues for PR, added KnownSystem.CUSTOM
* removed Updater.cs which ended by error in commit
* fixed GetOuptutName() for new drive/system combobox
* Refactored KnownSystem combobox management
- created KnownSystemComboBoxItem to manage both header and system items
- totally rewrote KnownSystem category (through KnownSystemCategory enum and markers)
- fixed null access in EnsureDiscInformation caused by null _drives
- rewrote cmb_SystemType management to use new classes
* - created Drive class to keep drive letters, volume label and is floppy flag altogether
- changed all the code to use the new Drive class in combobox and in DumpEnvironment
* fixed retrieval of value from cmb_KnownSystem combobox
* removed OrderedDictionary, not needed anymore
* Add Test project; Migrate so there's not an external folder
* Add Test project; Migrate so that there's not an external folder
* Fix build; Add remaining test classes (skeletons)
* Fix more paths
* Make unit tests runnable, fix issue found by unit tests
* Add more tests, fix more things found by tests
* Add skeleton for ValidatorsTest, fix OrderedDictionary
* Add UIElementsTest
* Add new test classes, slightly update Result
* Implement DumpEnvirionment tests; fix minor things from testing
* Add Tasks testing skeletons; Reorder methods and change access modifiers for some
* Update notes for DumpInformation tests
* Implement a couple Validators tests; fix ValidateParameters
* Implement DetermineFlagsTest
* Make one test more readable
* More cleanup around ValidateParameters
* Split check
* WiiU is not supported by /raw command
* Add TODO question
* Update TODO with a plan