* 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
* Separate drive speeds; better ensuring of media type
This is the first attempt at separating out the drive speeds into separate categories. At the moment, it seems to be working just fine for CD and DVD.
This also includes some updated code to better ensure that the detected (or selected if the user has changed it) media type is kept between all of the regular changes
* Multiple medium
* Add more drive speed prototyping
* Strip out redundant calls
* Separate drive speeds; better ensuring of media type
This is the first attempt at separating out the drive speeds into separate categories. At the moment, it seems to be working just fine for CD and DVD.
This also includes some updated code to better ensure that the detected (or selected if the user has changed it) media type is kept between all of the regular changes
* Multiple medium
* Add more drive speed prototyping
* Strip out redundant calls
* Streamline merge
* Comment patrol; keep BluRay a first-class citizen
* HD-DVD is supported?!
* 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 max dump speed option
- added slider element into OptionsWindow
- moved drive speeds to UIElements from MainWindow
- added setting to Options which is saved
still need to understand how to manage DVD/CD-ROM different speeds
* kept working on max dump speed settings
- rewrote max speed list management in Options
- added second slider in OptionsWindow
- added callback from OptionsWindow to MainWindow on updated options
* final tweaks before PR
* renamed maxDumpSpeed to preferredDumpSpeed
* restored SetCurrentDiscType functionality
* fixes for PR
* fixes for PR
This mostly takes care of adding a ton of comments and descriptions. Other minor changes include:
- Removing last remnants of psxt001z
- Capitalizing public variables
- Fixing the build that I stupidly broke
- Ensuring whitespace-named discs are handled
- Simplified DumpEnvironment init
* 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
* created Tasks file\nmoved some methods there, created DumpEnvironment to manage are arguments
* moved additional methods to Tasks to make it more modular
* changed StartDumping flow to avoid returning if extra tools are not found
* moved main dump workflow into Tasks class
* created specific DumpResult class for better error reporting/management
* fixes
* continued refactor
- split EnsureDiscInformation into an additional EnsureCorrectInformationForSystemAndMediaType
- proof of concept of using custom extensions to enum types to give better functionality (and encapsulation)
- changed cmb_MediaType to keep a List<MediaType?> and got rid of Tuple<string, MediaType?>
* restored GetDiscType functionality
* fixed btn_StartStop enabled on EnsureCorrect... error
* fixed whitespace
* fixed indentation
* fixes for PR
* Work with callbacks to increase perf
* Make EDC field for PSX automatic
* Make AntiMod field for PSX automatic
* Make LibCrypt field for PSX automatic
* Remove psxt001z
Now that we have confirmed that DIC outputs the required information for libcrypt, we no longer need the external call to psxt001z to confirm (output was unused anyway)
* We need the subIntention data for LibCrypt
* Let's avoid null for now
* Set default speed in case of error
* Check the layerbreak better
* Remove extraneous header checking
* Add SubIntention field if it exists, always
* Add LibCrypt flag by default for PSX
* SubIntention needs a newline
* Checkpoint
* Add notes
* Rename Validation -> Validators
* Move data to Data folder
* Get current disk type
* Automatically detect disc type
* Comment out WIP code
* Add more prototype
The hope is that having this unhooked prototype code will get either myself or another contributor the right inspiration to get it going properly
* Add new constants to the template
* Slight reordering
* Add new fields to the output
* Whitespace!
* Minor formatting cleanup
* Add TODO
* Whitepace, 2.0
* Remove sg-raw from OptionsWindow.xaml.cs
* Remove sg-raw from OptionsWindow.xaml
* Remove sg-raw from Options.cs
* Remove sg-raw from MainWindow.xaml.cs
* Missed the other rows
* Remove sg-raw from App.config
* 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 OptionsFrame that will manage all applicaton settings and implemented path browse buttons
* removed old properties code, added Options to manage all the program options, implemented interactions with OptionsWindow
* fixed margins automatically inserted by MSVS
* fixed margins automatically inserted by MSVS
* removed empty method placed by XAML designer
* added closed callback for OptionsWindows, tweaks
* fixed button in toolbar
* Combine single/dual-layer disc types
* Add silly formats
* Minor tweaks to disc type population
* Make codepath slightly less complex
* Fix null error on dump
* Update strings that looked wrong in output
* 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
* Better creation of parameters (fixes Xbox/360)
* Split X360 into XDG2/3
* Don't enable drive speed if we're not supposed to
* Add first attempt at Xbox info extraction
* Trim or it never matches
* Setup upcoming work
* Add EXE date checking for PS1/PS2
* Add PS2 version checking
* Add Saturn header reading, fix validation again
* Get all Saturn build info
* Split constants further
* Fix TODOs in the dump information
* Add TODO for sg-raw
* Use DIC flags, add XBOX command
* Add .dat output for floppy disks, add note
* Better custom parameter checking
* Remove postfix from commands, add /74 flag
* Update DIC flag constant names
* Add descripion for Template constants
* Add description for UIElements
* New utilities namespace
* Add XBOX-specific information
* Add more disc-based arcade systems
* Add special check for PSX discs
* Make error count more accurate
* Extract dump information to separate file
* Remove TODO
* Add subIntention field check to other formats
* Correct Wii and WiiU disc types
* Nuon correction (hard to base on the limited releases)
* Update Sega Lindbergh
* Add two Sega arcade platforms
* Clearer TODO
* Validate "swap" command
* Remove hanging comma from TODO
* Remove TODO
This one I'm removing because technically, the "gd" command is the correct way of dumping via DIC. The "swap" command is a stopgap for drives that only support GD-ROM dumping via hacked TOC discs