* 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!
* Cleanup TODOs
* Remove more TODOs
* Add case-insensitive dictionary for protection scans
* Namespace cleanups
* Space
* Minor fixes
* Oops
* Change layerbreak detect value
* 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
* 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 LogWindow and first tests of output gathering
* integrated all the proof of concept related to stream fetching of DIC output into LogWindow
* working on LogWindow\ncreated more efficient output matching management, improved handling of process termination
* 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
* fixes Dispatcher thread issue with progress bar
* 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
* merged conflicts
* moved log window
* working on LogWindow resize/location behavior
* working on message logging in LogWindow
* added working integration between MenuItem for LogWindow and its visibility status, fixes issues with positioning and visibility, correctly bound Verbose flag to property
* finished integrating LogWindow, added some verbose logs
* added logs
* fixed include order
* added option to show log window at startup, removed useless QuietMode property from MainWindow
* added precise calculation of MainWindow position when LogWindow is shown and fixed topmost cheat
* 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 LogWindow and first tests of output gathering
* integrated all the proof of concept related to stream fetching of DIC output into LogWindow
* working on LogWindow\ncreated more efficient output matching management, improved handling of process termination
* 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
* fixes Dispatcher thread issue with progress bar
* 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
* merged conflicts
* moved log window
* working on LogWindow resize/location behavior
* working on message logging in LogWindow
* added working integration between MenuItem for LogWindow and its visibility status, fixes issues with positioning and visibility, correctly bound Verbose flag to property
* finished integrating LogWindow, added some verbose logs
* added logs
* fixed include order
* added option to show log window at startup, removed useless QuietMode property from MainWindow
* 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
* Disable beep not supported for these
* Remove testing code
This more or less ensures that the current run finishes properly
* Extra fixing for process issues
This, with the last 2 commits, make it so that geting disc speed works again. This was only found because in testing, many MANY instances of DiscImageCreator were made but never killed, polluting the process list. These issues should now be fixed.
* Finally overhaul UI element naming
* Re-enable disk scan button
* Add cabfile scanning
* Fix csproj
* Fix TODO
* Add a couple more protections, disable one for now
* Fix SecuROM 7 detection
Thanks antimatter for helping test
* No beep for eject and speed check
* Fix Options after renames
* Ensure disc information in couple places again
* 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