Add project files.
63
.gitattributes
vendored
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
###############################################################################
|
||||||
|
# Set default behavior to automatically normalize line endings.
|
||||||
|
###############################################################################
|
||||||
|
* text=auto
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Set default behavior for command prompt diff.
|
||||||
|
#
|
||||||
|
# This is need for earlier builds of msysgit that does not have it on by
|
||||||
|
# default for csharp files.
|
||||||
|
# Note: This is only used by command line
|
||||||
|
###############################################################################
|
||||||
|
#*.cs diff=csharp
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Set the merge driver for project and solution files
|
||||||
|
#
|
||||||
|
# Merging from the command prompt will add diff markers to the files if there
|
||||||
|
# are conflicts (Merging from VS is not affected by the settings below, in VS
|
||||||
|
# the diff markers are never inserted). Diff markers may cause the following
|
||||||
|
# file extensions to fail to load in VS. An alternative would be to treat
|
||||||
|
# these files as binary and thus will always conflict and require user
|
||||||
|
# intervention with every merge. To do so, just uncomment the entries below
|
||||||
|
###############################################################################
|
||||||
|
#*.sln merge=binary
|
||||||
|
#*.csproj merge=binary
|
||||||
|
#*.vbproj merge=binary
|
||||||
|
#*.vcxproj merge=binary
|
||||||
|
#*.vcproj merge=binary
|
||||||
|
#*.dbproj merge=binary
|
||||||
|
#*.fsproj merge=binary
|
||||||
|
#*.lsproj merge=binary
|
||||||
|
#*.wixproj merge=binary
|
||||||
|
#*.modelproj merge=binary
|
||||||
|
#*.sqlproj merge=binary
|
||||||
|
#*.wwaproj merge=binary
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# behavior for image files
|
||||||
|
#
|
||||||
|
# image files are treated as binary by default.
|
||||||
|
###############################################################################
|
||||||
|
#*.jpg binary
|
||||||
|
#*.png binary
|
||||||
|
#*.gif binary
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# diff behavior for common document formats
|
||||||
|
#
|
||||||
|
# Convert binary document formats to text before diffing them. This feature
|
||||||
|
# is only available from the command line. Turn it on by uncommenting the
|
||||||
|
# entries below.
|
||||||
|
###############################################################################
|
||||||
|
#*.doc diff=astextplain
|
||||||
|
#*.DOC diff=astextplain
|
||||||
|
#*.docx diff=astextplain
|
||||||
|
#*.DOCX diff=astextplain
|
||||||
|
#*.dot diff=astextplain
|
||||||
|
#*.DOT diff=astextplain
|
||||||
|
#*.pdf diff=astextplain
|
||||||
|
#*.PDF diff=astextplain
|
||||||
|
#*.rtf diff=astextplain
|
||||||
|
#*.RTF diff=astextplain
|
||||||
369
.gitignore
vendored
Normal file
@@ -0,0 +1,369 @@
|
|||||||
|
## Ignore Visual Studio temporary files, build results, and
|
||||||
|
## files generated by popular Visual Studio add-ons.
|
||||||
|
##
|
||||||
|
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
|
||||||
|
|
||||||
|
# User-specific files
|
||||||
|
*.rsuser
|
||||||
|
*.suo
|
||||||
|
*.user
|
||||||
|
*.userosscache
|
||||||
|
*.sln.docstates
|
||||||
|
|
||||||
|
# User-specific files (MonoDevelop/Xamarin Studio)
|
||||||
|
*.userprefs
|
||||||
|
|
||||||
|
# Mono auto generated files
|
||||||
|
mono_crash.*
|
||||||
|
|
||||||
|
# Build results
|
||||||
|
[Dd]ebug/
|
||||||
|
[Dd]ebugPublic/
|
||||||
|
[Rr]elease/
|
||||||
|
[Rr]eleases/
|
||||||
|
x64/
|
||||||
|
x86/
|
||||||
|
[Ww][Ii][Nn]32/
|
||||||
|
[Aa][Rr][Mm]/
|
||||||
|
[Aa][Rr][Mm]64/
|
||||||
|
bld/
|
||||||
|
[Bb]in/
|
||||||
|
[Oo]bj/
|
||||||
|
[Oo]ut/
|
||||||
|
[Ll]og/
|
||||||
|
[Ll]ogs/
|
||||||
|
|
||||||
|
# Visual Studio 2015/2017 cache/options directory
|
||||||
|
.vs/
|
||||||
|
# Uncomment if you have tasks that create the project's static files in wwwroot
|
||||||
|
#wwwroot/
|
||||||
|
|
||||||
|
# Visual Studio 2017 auto generated files
|
||||||
|
Generated\ Files/
|
||||||
|
|
||||||
|
# MSTest test Results
|
||||||
|
[Tt]est[Rr]esult*/
|
||||||
|
[Bb]uild[Ll]og.*
|
||||||
|
|
||||||
|
# NUnit
|
||||||
|
*.VisualState.xml
|
||||||
|
TestResult.xml
|
||||||
|
nunit-*.xml
|
||||||
|
|
||||||
|
# Build Results of an ATL Project
|
||||||
|
[Dd]ebugPS/
|
||||||
|
[Rr]eleasePS/
|
||||||
|
dlldata.c
|
||||||
|
|
||||||
|
# Benchmark Results
|
||||||
|
BenchmarkDotNet.Artifacts/
|
||||||
|
|
||||||
|
# .NET Core
|
||||||
|
project.lock.json
|
||||||
|
project.fragment.lock.json
|
||||||
|
artifacts/
|
||||||
|
|
||||||
|
# ASP.NET Scaffolding
|
||||||
|
ScaffoldingReadMe.txt
|
||||||
|
|
||||||
|
# StyleCop
|
||||||
|
StyleCopReport.xml
|
||||||
|
|
||||||
|
# Files built by Visual Studio
|
||||||
|
*_i.c
|
||||||
|
*_p.c
|
||||||
|
*_h.h
|
||||||
|
*.ilk
|
||||||
|
*.meta
|
||||||
|
*.obj
|
||||||
|
*.iobj
|
||||||
|
*.pch
|
||||||
|
*.pdb
|
||||||
|
*.ipdb
|
||||||
|
*.pgc
|
||||||
|
*.pgd
|
||||||
|
*.rsp
|
||||||
|
*.sbr
|
||||||
|
*.tlb
|
||||||
|
*.tli
|
||||||
|
*.tlh
|
||||||
|
*.tmp
|
||||||
|
*.tmp_proj
|
||||||
|
*_wpftmp.csproj
|
||||||
|
*.log
|
||||||
|
*.vspscc
|
||||||
|
*.vssscc
|
||||||
|
.builds
|
||||||
|
*.pidb
|
||||||
|
*.svclog
|
||||||
|
*.scc
|
||||||
|
|
||||||
|
# Chutzpah Test files
|
||||||
|
_Chutzpah*
|
||||||
|
|
||||||
|
# Visual C++ cache files
|
||||||
|
ipch/
|
||||||
|
*.aps
|
||||||
|
*.ncb
|
||||||
|
*.opendb
|
||||||
|
*.opensdf
|
||||||
|
*.sdf
|
||||||
|
*.cachefile
|
||||||
|
*.VC.db
|
||||||
|
*.VC.VC.opendb
|
||||||
|
|
||||||
|
# Visual Studio profiler
|
||||||
|
*.psess
|
||||||
|
*.vsp
|
||||||
|
*.vspx
|
||||||
|
*.sap
|
||||||
|
|
||||||
|
# Visual Studio Trace Files
|
||||||
|
*.e2e
|
||||||
|
|
||||||
|
# TFS 2012 Local Workspace
|
||||||
|
$tf/
|
||||||
|
|
||||||
|
# Guidance Automation Toolkit
|
||||||
|
*.gpState
|
||||||
|
|
||||||
|
# ReSharper is a .NET coding add-in
|
||||||
|
_ReSharper*/
|
||||||
|
*.[Rr]e[Ss]harper
|
||||||
|
*.DotSettings.user
|
||||||
|
|
||||||
|
# TeamCity is a build add-in
|
||||||
|
_TeamCity*
|
||||||
|
|
||||||
|
# DotCover is a Code Coverage Tool
|
||||||
|
*.dotCover
|
||||||
|
|
||||||
|
# AxoCover is a Code Coverage Tool
|
||||||
|
.axoCover/*
|
||||||
|
!.axoCover/settings.json
|
||||||
|
|
||||||
|
# Coverlet is a free, cross platform Code Coverage Tool
|
||||||
|
coverage*.json
|
||||||
|
coverage*.xml
|
||||||
|
coverage*.info
|
||||||
|
|
||||||
|
# Visual Studio code coverage results
|
||||||
|
*.coverage
|
||||||
|
*.coveragexml
|
||||||
|
|
||||||
|
# NCrunch
|
||||||
|
_NCrunch_*
|
||||||
|
.*crunch*.local.xml
|
||||||
|
nCrunchTemp_*
|
||||||
|
|
||||||
|
# MightyMoose
|
||||||
|
*.mm.*
|
||||||
|
AutoTest.Net/
|
||||||
|
|
||||||
|
# Web workbench (sass)
|
||||||
|
.sass-cache/
|
||||||
|
|
||||||
|
# Installshield output folder
|
||||||
|
[Ee]xpress/
|
||||||
|
|
||||||
|
# DocProject is a documentation generator add-in
|
||||||
|
DocProject/buildhelp/
|
||||||
|
DocProject/Help/*.HxT
|
||||||
|
DocProject/Help/*.HxC
|
||||||
|
DocProject/Help/*.hhc
|
||||||
|
DocProject/Help/*.hhk
|
||||||
|
DocProject/Help/*.hhp
|
||||||
|
DocProject/Help/Html2
|
||||||
|
DocProject/Help/html
|
||||||
|
|
||||||
|
# Click-Once directory
|
||||||
|
publish/
|
||||||
|
|
||||||
|
# Publish Web Output
|
||||||
|
*.[Pp]ublish.xml
|
||||||
|
*.azurePubxml
|
||||||
|
# Note: Comment the next line if you want to checkin your web deploy settings,
|
||||||
|
# but database connection strings (with potential passwords) will be unencrypted
|
||||||
|
*.pubxml
|
||||||
|
*.publishproj
|
||||||
|
|
||||||
|
# Microsoft Azure Web App publish settings. Comment the next line if you want to
|
||||||
|
# checkin your Azure Web App publish settings, but sensitive information contained
|
||||||
|
# in these scripts will be unencrypted
|
||||||
|
PublishScripts/
|
||||||
|
|
||||||
|
# NuGet Packages
|
||||||
|
*.nupkg
|
||||||
|
# NuGet Symbol Packages
|
||||||
|
*.snupkg
|
||||||
|
# The packages folder can be ignored because of Package Restore
|
||||||
|
**/[Pp]ackages/*
|
||||||
|
# except build/, which is used as an MSBuild target.
|
||||||
|
!**/[Pp]ackages/build/
|
||||||
|
# Uncomment if necessary however generally it will be regenerated when needed
|
||||||
|
#!**/[Pp]ackages/repositories.config
|
||||||
|
# NuGet v3's project.json files produces more ignorable files
|
||||||
|
*.nuget.props
|
||||||
|
*.nuget.targets
|
||||||
|
|
||||||
|
# Microsoft Azure Build Output
|
||||||
|
csx/
|
||||||
|
*.build.csdef
|
||||||
|
|
||||||
|
# Microsoft Azure Emulator
|
||||||
|
ecf/
|
||||||
|
rcf/
|
||||||
|
|
||||||
|
# Windows Store app package directories and files
|
||||||
|
AppPackages/
|
||||||
|
BundleArtifacts/
|
||||||
|
Package.StoreAssociation.xml
|
||||||
|
_pkginfo.txt
|
||||||
|
*.appx
|
||||||
|
*.appxbundle
|
||||||
|
*.appxupload
|
||||||
|
|
||||||
|
# Visual Studio cache files
|
||||||
|
# files ending in .cache can be ignored
|
||||||
|
*.[Cc]ache
|
||||||
|
# but keep track of directories ending in .cache
|
||||||
|
!?*.[Cc]ache/
|
||||||
|
|
||||||
|
# Others
|
||||||
|
ClientBin/
|
||||||
|
~$*
|
||||||
|
*~
|
||||||
|
*.dbmdl
|
||||||
|
*.dbproj.schemaview
|
||||||
|
*.jfm
|
||||||
|
*.pfx
|
||||||
|
*.publishsettings
|
||||||
|
orleans.codegen.cs
|
||||||
|
|
||||||
|
# Including strong name files can present a security risk
|
||||||
|
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
|
||||||
|
#*.snk
|
||||||
|
|
||||||
|
# Since there are multiple workflows, uncomment next line to ignore bower_components
|
||||||
|
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
|
||||||
|
#bower_components/
|
||||||
|
|
||||||
|
# RIA/Silverlight projects
|
||||||
|
Generated_Code/
|
||||||
|
|
||||||
|
# Backup & report files from converting an old project file
|
||||||
|
# to a newer Visual Studio version. Backup files are not needed,
|
||||||
|
# because we have git ;-)
|
||||||
|
_UpgradeReport_Files/
|
||||||
|
Backup*/
|
||||||
|
UpgradeLog*.XML
|
||||||
|
UpgradeLog*.htm
|
||||||
|
ServiceFabricBackup/
|
||||||
|
*.rptproj.bak
|
||||||
|
|
||||||
|
# SQL Server files
|
||||||
|
*.mdf
|
||||||
|
*.ldf
|
||||||
|
*.ndf
|
||||||
|
|
||||||
|
# Business Intelligence projects
|
||||||
|
*.rdl.data
|
||||||
|
*.bim.layout
|
||||||
|
*.bim_*.settings
|
||||||
|
*.rptproj.rsuser
|
||||||
|
*- [Bb]ackup.rdl
|
||||||
|
*- [Bb]ackup ([0-9]).rdl
|
||||||
|
*- [Bb]ackup ([0-9][0-9]).rdl
|
||||||
|
|
||||||
|
# Microsoft Fakes
|
||||||
|
FakesAssemblies/
|
||||||
|
|
||||||
|
# GhostDoc plugin setting file
|
||||||
|
*.GhostDoc.xml
|
||||||
|
|
||||||
|
# Node.js Tools for Visual Studio
|
||||||
|
.ntvs_analysis.dat
|
||||||
|
node_modules/
|
||||||
|
|
||||||
|
# Visual Studio 6 build log
|
||||||
|
*.plg
|
||||||
|
|
||||||
|
# Visual Studio 6 workspace options file
|
||||||
|
*.opt
|
||||||
|
|
||||||
|
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
|
||||||
|
*.vbw
|
||||||
|
|
||||||
|
# Visual Studio LightSwitch build output
|
||||||
|
**/*.HTMLClient/GeneratedArtifacts
|
||||||
|
**/*.DesktopClient/GeneratedArtifacts
|
||||||
|
**/*.DesktopClient/ModelManifest.xml
|
||||||
|
**/*.Server/GeneratedArtifacts
|
||||||
|
**/*.Server/ModelManifest.xml
|
||||||
|
_Pvt_Extensions
|
||||||
|
|
||||||
|
# Paket dependency manager
|
||||||
|
.paket/paket.exe
|
||||||
|
paket-files/
|
||||||
|
|
||||||
|
# FAKE - F# Make
|
||||||
|
.fake/
|
||||||
|
|
||||||
|
# CodeRush personal settings
|
||||||
|
.cr/personal
|
||||||
|
|
||||||
|
# Python Tools for Visual Studio (PTVS)
|
||||||
|
__pycache__/
|
||||||
|
*.pyc
|
||||||
|
|
||||||
|
# Cake - Uncomment if you are using it
|
||||||
|
# tools/**
|
||||||
|
# !tools/packages.config
|
||||||
|
|
||||||
|
# Tabs Studio
|
||||||
|
*.tss
|
||||||
|
|
||||||
|
# Telerik's JustMock configuration file
|
||||||
|
*.jmconfig
|
||||||
|
|
||||||
|
# BizTalk build output
|
||||||
|
*.btp.cs
|
||||||
|
*.btm.cs
|
||||||
|
*.odx.cs
|
||||||
|
*.xsd.cs
|
||||||
|
|
||||||
|
# OpenCover UI analysis results
|
||||||
|
OpenCover/
|
||||||
|
|
||||||
|
# Azure Stream Analytics local run output
|
||||||
|
ASALocalRun/
|
||||||
|
|
||||||
|
# MSBuild Binary and Structured Log
|
||||||
|
*.binlog
|
||||||
|
|
||||||
|
# NVidia Nsight GPU debugger configuration file
|
||||||
|
*.nvuser
|
||||||
|
|
||||||
|
# MFractors (Xamarin productivity tool) working folder
|
||||||
|
.mfractor/
|
||||||
|
|
||||||
|
# Local History for Visual Studio
|
||||||
|
.localhistory/
|
||||||
|
|
||||||
|
# BeatPulse healthcheck temp database
|
||||||
|
healthchecksdb
|
||||||
|
|
||||||
|
# Backup folder for Package Reference Convert tool in Visual Studio 2017
|
||||||
|
MigrationBackup/
|
||||||
|
|
||||||
|
# Ionide (cross platform F# VS Code tools) working folder
|
||||||
|
.ionide/
|
||||||
|
|
||||||
|
# Fody - auto-generated XML schema
|
||||||
|
FodyWeavers.xsd
|
||||||
|
|
||||||
|
# Extra misc solution files
|
||||||
|
misc/
|
||||||
|
|
||||||
|
# Libraries
|
||||||
|
*.dll
|
||||||
@@ -0,0 +1,95 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">
|
||||||
|
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||||
|
<ProjectGuid>{F0DD14E6-BDD1-408B-B826-D45DFDD2F4AB}</ProjectGuid>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
|
<OutputPath>bin\Debug\</OutputPath>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||||
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
|
<OutputPath>bin\Release\</OutputPath>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<ReleaseName>AutomatedRedump2IRD</ReleaseName>
|
||||||
|
<ReleaseVersion>0.0.8</ReleaseVersion>
|
||||||
|
<PortableName>AutomatedRedump2IRD-Portable</PortableName>
|
||||||
|
<AltName>AutomatedRedump2IRD-Alt</AltName>
|
||||||
|
<SourceName>AutomatedRedump2IRD-Source</SourceName>
|
||||||
|
<PortableDir>$(OutputPath)Portable\</PortableDir>
|
||||||
|
<AltDir>$(OutputPath)Alt\</AltDir>
|
||||||
|
<SourceDir>$(OutputPath)Source\</SourceDir>
|
||||||
|
<ReleasesDir>$(OutputPath)Releases\</ReleasesDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Target Name="Build">
|
||||||
|
<CallTarget Targets="Clean" />
|
||||||
|
<CallTarget Targets="CreatePortableFiles" />
|
||||||
|
<CallTarget Targets="CreateSourceFiles" />
|
||||||
|
<CallTarget Targets="CreateReleasesFiles" />
|
||||||
|
</Target>
|
||||||
|
<Target Name="Clean">
|
||||||
|
<RemoveDir Directories="$(PortableDir)" />
|
||||||
|
<MakeDir Directories="$(PortableDir)" />
|
||||||
|
<RemoveDir Directories="$(AltDir)" />
|
||||||
|
<MakeDir Directories="$(AltDir)" />
|
||||||
|
<RemoveDir Directories="$(SourceDir)" />
|
||||||
|
<MakeDir Directories="$(SourceDir)" />
|
||||||
|
<RemoveDir Directories="$(ReleasesDir)" />
|
||||||
|
<MakeDir Directories="$(ReleasesDir)" />
|
||||||
|
</Target>
|
||||||
|
<Target Name="CreatePortableFiles">
|
||||||
|
<ItemGroup>
|
||||||
|
<MySourceBINs Condition="$(Configuration) == 'Debug'" Include="$(SolutionDir)$(ReleaseName)\bin\$(Configuration)\**\*.*;" />
|
||||||
|
<MySourceBINs Condition="$(Configuration) == 'Release'" Include="$(SolutionDir)$(ReleaseName)\bin\$(Configuration)\**\*.exe;$(SolutionDir)$(ReleaseName)\bin\$(Configuration)\System.Data.SQLite.dll;" />
|
||||||
|
<MySourceLibsx64 Include="$(SolutionDir)$(ReleaseName)\bin\$(Configuration)\x64\**\*.dll;" />
|
||||||
|
<MySourceLibsx86 Include="$(SolutionDir)$(ReleaseName)\bin\$(Configuration)\x86\**\*.dll;" />
|
||||||
|
<MySourceLibsAlt Include="$(SolutionDir)$(ReleaseName)\bin\$(Configuration)\*.dll;" />
|
||||||
|
<MySourceDB Include="$(SolutionDir)$(ReleaseName)\Resources\DB\**\*.*;" />
|
||||||
|
<MySourceDocs Include="$(SolutionDir)$(ReleaseName)\Resources\Docs\**\*.*;" />
|
||||||
|
<MySourceIRDs Include="$(SolutionDir)$(ReleaseName)\Resources\IRDs\**\*.*;" />
|
||||||
|
<MySourceLogs Include="$(SolutionDir)$(ReleaseName)\Resources\Logs\**\*.*;" />
|
||||||
|
<MySourceROMs Include="$(SolutionDir)$(ReleaseName)\Resources\ROMs\**\*.*;" />
|
||||||
|
<MySourceTmp Include="$(SolutionDir)$(ReleaseName)\Resources\Tmp\**\*.*;" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Copy SourceFiles="@(MySourceBINs)" DestinationFiles="@(MySourceBINs->'$(PortableDir)%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||||
|
<Copy SourceFiles="@(MySourceLibsx64)" DestinationFiles="@(MySourceLibsx64->'$(PortableDir)x64\%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||||
|
<Copy SourceFiles="@(MySourceLibsx86)" DestinationFiles="@(MySourceLibsx86->'$(PortableDir)x86\%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||||
|
<Copy SourceFiles="@(MySourceDB)" DestinationFiles="@(MySourceDB->'$(PortableDir)DB\%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||||
|
<Copy SourceFiles="@(MySourceDocs)" DestinationFiles="@(MySourceDocs->'$(PortableDir)Docs\%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||||
|
<Copy SourceFiles="@(MySourceIRDs)" DestinationFiles="@(MySourceIRDs->'$(PortableDir)IRDs\%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||||
|
<Copy SourceFiles="@(MySourceLogs)" DestinationFiles="@(MySourceLogs->'$(PortableDir)Logs\%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||||
|
<Copy SourceFiles="@(MySourceReports)" DestinationFiles="@(MySourceReports->'$(PortableDir)Reports\%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||||
|
<Copy SourceFiles="@(MySourceROMs)" DestinationFiles="@(MySourceROMs->'$(PortableDir)ROMs\%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||||
|
<Copy SourceFiles="@(MySourceTmp)" DestinationFiles="@(MySourceTmp->'$(PortableDir)Tmp\%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||||
|
<Copy SourceFiles="@(MySourceBINs)" DestinationFiles="@(MySourceBINs->'$(AltDir)%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||||
|
<Copy SourceFiles="@(MySourceLibsx64)" DestinationFiles="@(MySourceLibsx64->'$(AltDir)x64\%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||||
|
<Copy SourceFiles="@(MySourceLibsx86)" DestinationFiles="@(MySourceLibsx86->'$(AltDir)x86\%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||||
|
<Copy SourceFiles="@(MySourceLibsAlt)" DestinationFiles="@(MySourceLibsAlt->'$(AltDir)%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||||
|
<Copy SourceFiles="@(MySourceDB)" DestinationFiles="@(MySourceDB->'$(AltDir)DB\%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||||
|
<Copy SourceFiles="@(MySourceDocs)" DestinationFiles="@(MySourceDocs->'$(AltDir)Docs\%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||||
|
<Copy SourceFiles="@(MySourceIRDs)" DestinationFiles="@(MySourceIRDs->'$(AltDir)IRDs\%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||||
|
<Copy SourceFiles="@(MySourceLogs)" DestinationFiles="@(MySourceLogs->'$(AltDir)Logs\%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||||
|
<Copy SourceFiles="@(MySourceReports)" DestinationFiles="@(MySourceReports->'$(AltDir)Reports\%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||||
|
<Copy SourceFiles="@(MySourceROMs)" DestinationFiles="@(MySourceROMs->'$(AltDir)ROMs\%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||||
|
<Copy SourceFiles="@(MySourceTmp)" DestinationFiles="@(MySourceTmp->'$(AltDir)Tmp\%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||||
|
</Target>
|
||||||
|
<Target Name="CreateSourceFiles">
|
||||||
|
<ItemGroup>
|
||||||
|
<MySourceSourceFiles Include="$(SolutionDir)**\*;" Exclude="$(SolutionDir)**\obj\**\*.*;$(SolutionDir)**\bin\**\*.*;$(SolutionDir)**\misc\**\*.*;$(SolutionDir)**\packages\**\*.*;$(SolutionDir)**\.git\**\*.*;$(SolutionDir)**\.vs\**\*.*;" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Copy SourceFiles="@(MySourceSourceFiles)" DestinationFiles="@(MySourceSourceFiles->'$(SourceDir)\%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||||
|
</Target>
|
||||||
|
<Target Name="CreateReleasesFiles">
|
||||||
|
<Delete Files="$(ReleasesDir)$(PortableName).$(ReleaseVersion).zip" />
|
||||||
|
<ZipDirectory SourceDirectory="$(PortableDir)" DestinationFile="$(ReleasesDir)$(PortableName).$(ReleaseVersion).zip" />
|
||||||
|
<Delete Files="$(ReleasesDir)$(SourceName).$(ReleaseVersion).zip" />
|
||||||
|
<ZipDirectory SourceDirectory="$(SourceDir)" DestinationFile="$(ReleasesDir)$(SourceName).$(ReleaseVersion).zip" />
|
||||||
|
<Delete Files="$(ReleasesDir)$(AltName).$(ReleaseVersion).zip" />
|
||||||
|
<ZipDirectory SourceDirectory="$(AltDir)" DestinationFile="$(ReleasesDir)$(AltName).$(ReleaseVersion).zip" />
|
||||||
|
</Target>
|
||||||
|
</Project>
|
||||||
45
AutomatedRedump2IRD.sln
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
|
# Visual Studio Version 17
|
||||||
|
VisualStudioVersion = 17.5.33627.172
|
||||||
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AutomatedRedump2IRD", "AutomatedRedump2IRD\AutomatedRedump2IRD.csproj", "{4535930B-6F1D-43C5-B661-3CB8A8332F07}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AutomatedRedump2IRD-Release", "AutomatedRedump2IRD-Release\AutomatedRedump2IRD-Release.csproj", "{F0DD14E6-BDD1-408B-B826-D45DFDD2F4AB}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{4535930B-6F1D-43C5-B661-3CB8A8332F07} = {4535930B-6F1D-43C5-B661-3CB8A8332F07}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{7703CBE6-6FAB-46BB-B637-ECF2326A6D2E}"
|
||||||
|
ProjectSection(SolutionItems) = preProject
|
||||||
|
CHANGELOG.md = CHANGELOG.md
|
||||||
|
CODE_OF_CONDUCT.md = CODE_OF_CONDUCT.md
|
||||||
|
CONTRIBUTING.md = CONTRIBUTING.md
|
||||||
|
LICENSE = LICENSE
|
||||||
|
README.md = README.md
|
||||||
|
TODO.md = TODO.md
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|Any CPU = Debug|Any CPU
|
||||||
|
Release|Any CPU = Release|Any CPU
|
||||||
|
Description = The Original Automated IRD Builder
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{4535930B-6F1D-43C5-B661-3CB8A8332F07}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{4535930B-6F1D-43C5-B661-3CB8A8332F07}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{4535930B-6F1D-43C5-B661-3CB8A8332F07}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{4535930B-6F1D-43C5-B661-3CB8A8332F07}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{F0DD14E6-BDD1-408B-B826-D45DFDD2F4AB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{F0DD14E6-BDD1-408B-B826-D45DFDD2F4AB}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{F0DD14E6-BDD1-408B-B826-D45DFDD2F4AB}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{F0DD14E6-BDD1-408B-B826-D45DFDD2F4AB}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
|
SolutionGuid = {CDE9A6F7-33F3-44CC-A41B-50EA62F8FDF4}
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
||||||
29
AutomatedRedump2IRD/App.config
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<configuration>
|
||||||
|
<configSections>
|
||||||
|
|
||||||
|
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
|
||||||
|
</configSections>
|
||||||
|
<startup>
|
||||||
|
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
|
||||||
|
</startup>
|
||||||
|
<runtime>
|
||||||
|
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-2.6.8.0" newVersion="2.6.8.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-2.6.8.0" newVersion="2.6.8.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
</assemblyBinding>
|
||||||
|
</runtime>
|
||||||
|
<entityFramework>
|
||||||
|
<providers>
|
||||||
|
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
|
||||||
|
<provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" />
|
||||||
|
</providers>
|
||||||
|
</entityFramework>
|
||||||
|
|
||||||
|
</configuration>
|
||||||
BIN
AutomatedRedump2IRD/App.ico
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
158
AutomatedRedump2IRD/AutomatedRedump2IRD.csproj
Normal file
@@ -0,0 +1,158 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||||
|
<ProjectGuid>{4535930B-6F1D-43C5-B661-3CB8A8332F07}</ProjectGuid>
|
||||||
|
<OutputType>WinExe</OutputType>
|
||||||
|
<RootNamespace>AutomatedRedump2IRD</RootNamespace>
|
||||||
|
<AssemblyName>AutomatedRedump2IRD</AssemblyName>
|
||||||
|
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||||
|
<FileAlignment>512</FileAlignment>
|
||||||
|
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||||
|
<Deterministic>true</Deterministic>
|
||||||
|
<TargetFrameworkProfile />
|
||||||
|
<NuGetPackageImportStamp>
|
||||||
|
</NuGetPackageImportStamp>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
<DebugType>full</DebugType>
|
||||||
|
<Optimize>false</Optimize>
|
||||||
|
<OutputPath>bin\Debug\</OutputPath>
|
||||||
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
<DocumentationFile>bin\Debug\AutomatedRedump2IRD.xml</DocumentationFile>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||||
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
|
<DebugType>none</DebugType>
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<OutputPath>bin\Release\</OutputPath>
|
||||||
|
<DefineConstants>TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup>
|
||||||
|
<ApplicationIcon>App.ico</ApplicationIcon>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="DiscUtils, Version=0.11.0.0, Culture=neutral, PublicKeyToken=d28ce54a2723c342, processorArchitecture=MSIL">
|
||||||
|
<SpecificVersion>False</SpecificVersion>
|
||||||
|
<HintPath>Resources\Libs\IsoTools.1.34.9\DiscUtils.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Ionic.Zip, Version=1.9.1.8, Culture=neutral, PublicKeyToken=edbe51ad942a3f5c, processorArchitecture=MSIL">
|
||||||
|
<SpecificVersion>False</SpecificVersion>
|
||||||
|
<HintPath>Resources\Libs\IsoTools.1.34.9\Ionic.Zip.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="IsoTools.Common, Version=1.34.5151.16661, Culture=neutral, PublicKeyToken=d28ce54a2723c342, processorArchitecture=MSIL">
|
||||||
|
<SpecificVersion>False</SpecificVersion>
|
||||||
|
<HintPath>Resources\Libs\IsoTools.1.34.9\IsoTools.Common.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.CompilerServices.AsyncTargetingPack.Net4, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||||
|
<SpecificVersion>False</SpecificVersion>
|
||||||
|
<HintPath>Resources\Libs\IsoTools.1.34.9\Microsoft.CompilerServices.AsyncTargetingPack.Net4.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System" />
|
||||||
|
<Reference Include="System.ComponentModel.DataAnnotations" />
|
||||||
|
<Reference Include="System.Core" />
|
||||||
|
<Reference Include="System.Data.SQLite, Version=1.0.118.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.118.0\lib\net40\System.Data.SQLite.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Net" />
|
||||||
|
<Reference Include="System.Xml.Linq" />
|
||||||
|
<Reference Include="System.Data.DataSetExtensions">
|
||||||
|
<EmbedInteropTypes>False</EmbedInteropTypes>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.CSharp" />
|
||||||
|
<Reference Include="System.Data">
|
||||||
|
<EmbedInteropTypes>False</EmbedInteropTypes>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Deployment" />
|
||||||
|
<Reference Include="System.Drawing" />
|
||||||
|
<Reference Include="System.Windows.Forms" />
|
||||||
|
<Reference Include="System.Xml" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="FrmAutomatedRedump2IRD.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="FrmAutomatedRedump2IRD.Designer.cs">
|
||||||
|
<DependentUpon>FrmAutomatedRedump2IRD.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="DatabaseSQLite.cs" />
|
||||||
|
<Compile Include="IsoTools\IrdCreateRedumpFile.cs" />
|
||||||
|
<Compile Include="IsoTools\RedumpFileStream.cs" />
|
||||||
|
<Compile Include="IsoTools\RedumpInteraction.cs" />
|
||||||
|
<Compile Include="Program.cs" />
|
||||||
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
|
<EmbeddedResource Include="FrmAutomatedRedump2IRD.resx">
|
||||||
|
<DependentUpon>FrmAutomatedRedump2IRD.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="Properties\Resources.resx">
|
||||||
|
<Generator>ResXFileCodeGenerator</Generator>
|
||||||
|
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<Compile Include="Properties\Resources.Designer.cs">
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
<DependentUpon>Resources.resx</DependentUpon>
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
|
</Compile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="App.config" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="App.ico" />
|
||||||
|
<None Include="packages.config" />
|
||||||
|
<None Include="Resources\DB\ps3.redump.sqlite.db" />
|
||||||
|
<None Include="Resources\Docs\AutomatedRedump2IRD-LICENSE.txt" />
|
||||||
|
<None Include="Resources\Docs\AutomatedRedump2IRD-HELP.txt" />
|
||||||
|
<None Include="Resources\Icons\App.ico" />
|
||||||
|
<None Include="Resources\Images\Cancel_16x16.png" />
|
||||||
|
<None Include="Resources\Images\BuildIRDs_32x32.png" />
|
||||||
|
<None Include="Resources\Images\Exit_32x32.png" />
|
||||||
|
<None Include="Resources\Images\Help_32x32.png" />
|
||||||
|
<None Include="Resources\Images\License_32x32.png" />
|
||||||
|
<None Include="Resources\Images\Log_32x32.png" />
|
||||||
|
<None Include="Resources\Images\Options_32x32.png" />
|
||||||
|
<None Include="Resources\Images\SaveLog_32x32.png" />
|
||||||
|
<None Include="Resources\Images\Toolbar_32x32.png" />
|
||||||
|
<None Include="Resources\Libs\IsoTools.1.34.9\BouncyCastle.Crypto.dll" />
|
||||||
|
<None Include="Resources\Libs\IsoTools.1.34.9\CommandLine.dll" />
|
||||||
|
<None Include="Resources\Libs\IsoTools.1.34.9\DiscUtils.dll" />
|
||||||
|
<None Include="Resources\Libs\IsoTools.1.34.9\Ionic.Zip.dll" />
|
||||||
|
<None Include="Resources\Libs\IsoTools.1.34.9\IsoTools.Common.dll" />
|
||||||
|
<None Include="Resources\Libs\IsoTools.1.34.9\Microsoft.CompilerServices.AsyncTargetingPack.Net4.dll" />
|
||||||
|
<None Include="Resources\Libs\IsoTools.1.34.9\NUnrar.dll" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="Resources\DB\put your databases in this directory.txt" />
|
||||||
|
<None Include="Resources\Reports\put your reports in this directory.txt" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="Resources\IRDs\put your irds in this directory.txt" />
|
||||||
|
<None Include="Resources\Logs\put your logs in this directory.txt" />
|
||||||
|
<None Include="Resources\ROMs\put your roms in this directory.txt" />
|
||||||
|
<None Include="Resources\Tmp\put your tmp files in this directory.txt" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="Resources\Images\DB_32x32.png" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<PostBuildEvent>
|
||||||
|
</PostBuildEvent>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.118.0\build\net40\Stub.System.Data.SQLite.Core.NetFramework.targets" Condition="Exists('..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.118.0\build\net40\Stub.System.Data.SQLite.Core.NetFramework.targets')" />
|
||||||
|
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||||
|
<PropertyGroup>
|
||||||
|
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Error Condition="!Exists('..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.118.0\build\net40\Stub.System.Data.SQLite.Core.NetFramework.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.118.0\build\net40\Stub.System.Data.SQLite.Core.NetFramework.targets'))" />
|
||||||
|
</Target>
|
||||||
|
</Project>
|
||||||
231
AutomatedRedump2IRD/DatabaseSQLite.cs
Normal file
@@ -0,0 +1,231 @@
|
|||||||
|
using System;
|
||||||
|
using System.Data;
|
||||||
|
using System.Data.SQLite;
|
||||||
|
|
||||||
|
namespace AutomatedRedump2IRD
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Database SQLite class.
|
||||||
|
/// </summary>
|
||||||
|
class DatabaseSQLite
|
||||||
|
{
|
||||||
|
#region Constructors
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Constructor
|
||||||
|
/// </summary>
|
||||||
|
public DatabaseSQLite()
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Overloaded Constructor
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="strPathDatabaseFile"></param>
|
||||||
|
public DatabaseSQLite(string strPathDatabaseFile)
|
||||||
|
{
|
||||||
|
connectionString = @"Data Source=" + strPathDatabaseFile + "; Version=3";
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Fields
|
||||||
|
|
||||||
|
/// Connection string
|
||||||
|
public string connectionString = @"Data Source=dbfile; Version=3";
|
||||||
|
|
||||||
|
string sqlSelectAllPS3IRDs = @"SELECT * FROM `ps3_irds`";
|
||||||
|
string sqlSelectAllPS3ISOs = @"SELECT * FROM `ps3_isos`";
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Update Methods
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Update the PS3 IRDs database.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="dt"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public bool UpdatePS3IRDs(DataTable dt)
|
||||||
|
{
|
||||||
|
using (SQLiteConnection con = new SQLiteConnection(connectionString))
|
||||||
|
{
|
||||||
|
con.Open();
|
||||||
|
|
||||||
|
SQLiteCommand command = new SQLiteCommand();
|
||||||
|
command.Connection = con;
|
||||||
|
command.CommandText = sqlSelectAllPS3IRDs;
|
||||||
|
|
||||||
|
SQLiteDataAdapter daPS3IRDs = new SQLiteDataAdapter(command);
|
||||||
|
|
||||||
|
SQLiteCommandBuilder scbPS3IRDs = new SQLiteCommandBuilder(daPS3IRDs);
|
||||||
|
|
||||||
|
daPS3IRDs.Update(dt);
|
||||||
|
|
||||||
|
con.Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Update the PS3 ISOs database.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="dt"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public bool UpdatePS3ISOs(DataTable dt)
|
||||||
|
{
|
||||||
|
using (SQLiteConnection con = new SQLiteConnection(connectionString))
|
||||||
|
{
|
||||||
|
con.Open();
|
||||||
|
|
||||||
|
SQLiteCommand command = new SQLiteCommand();
|
||||||
|
command.Connection = con;
|
||||||
|
command.CommandText = sqlSelectAllPS3ISOs;
|
||||||
|
|
||||||
|
SQLiteDataAdapter daPS3ISOs = new SQLiteDataAdapter(command);
|
||||||
|
|
||||||
|
SQLiteCommandBuilder scbPS3ISOs = new SQLiteCommandBuilder(daPS3ISOs);
|
||||||
|
|
||||||
|
daPS3ISOs.Update(dt);
|
||||||
|
|
||||||
|
con.Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Select Methods
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Selects all PS3 IRDs and returns a DataTable.
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public DataTable SelectAllPS3IRDsDataTable()
|
||||||
|
{
|
||||||
|
DataTable dt = new DataTable();
|
||||||
|
dt.Locale = System.Globalization.CultureInfo.InvariantCulture;
|
||||||
|
|
||||||
|
using (SQLiteConnection con = new SQLiteConnection(connectionString))
|
||||||
|
{
|
||||||
|
con.Open();
|
||||||
|
|
||||||
|
SQLiteCommand command = new SQLiteCommand();
|
||||||
|
command.Connection = con;
|
||||||
|
command.CommandText = sqlSelectAllPS3IRDs;
|
||||||
|
|
||||||
|
SQLiteDataAdapter daPS3IRDs = new SQLiteDataAdapter(command);
|
||||||
|
|
||||||
|
SQLiteCommandBuilder scbPS3IRDs = new SQLiteCommandBuilder(daPS3IRDs);
|
||||||
|
|
||||||
|
daPS3IRDs.Fill(dt);
|
||||||
|
|
||||||
|
con.Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
return dt;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Selects all PS3 ISOs and returns a DataTable.
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public DataTable SelectAllPS3ISOsDataTable()
|
||||||
|
{
|
||||||
|
DataTable dt = new DataTable();
|
||||||
|
dt.Locale = System.Globalization.CultureInfo.InvariantCulture;
|
||||||
|
|
||||||
|
using (SQLiteConnection con = new SQLiteConnection(connectionString))
|
||||||
|
{
|
||||||
|
con.Open();
|
||||||
|
|
||||||
|
SQLiteCommand command = new SQLiteCommand();
|
||||||
|
command.Connection = con;
|
||||||
|
command.CommandText = sqlSelectAllPS3ISOs;
|
||||||
|
|
||||||
|
SQLiteDataAdapter daPS3ISOs = new SQLiteDataAdapter(command);
|
||||||
|
|
||||||
|
SQLiteCommandBuilder scbPS3ISOs = new SQLiteCommandBuilder(daPS3ISOs);
|
||||||
|
|
||||||
|
daPS3ISOs.Fill(dt);
|
||||||
|
|
||||||
|
con.Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
return dt;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Insert Methods
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Inserts the PS3 ISO into the database.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="arrPS3ISOInfo"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public bool InsertPS3ISO(string[] arrPS3ISOInfo)
|
||||||
|
{
|
||||||
|
using (SQLiteConnection con = new SQLiteConnection(connectionString))
|
||||||
|
{
|
||||||
|
con.Open();
|
||||||
|
|
||||||
|
SQLiteCommand cmd = new SQLiteCommand();
|
||||||
|
cmd.Connection = con;
|
||||||
|
|
||||||
|
cmd.CommandText = @"INSERT INTO `ps3_isos` (disc_redump_id, disc_dkey, disc_did, disc_dpic, ps3_iso_filename, ps3_iso_size, ps3_iso_crc32, ps3_iso_md5, ps3_iso_sha1) VALUES (@disc_redump_id, @disc_dkey, @disc_did, @disc_dpic, @ps3_iso_filename, @ps3_iso_size, @ps3_iso_crc32, @ps3_iso_md5, @ps3_iso_sha1)";
|
||||||
|
cmd.Parameters.AddWithValue("@disc_redump_id", arrPS3ISOInfo[0]);
|
||||||
|
cmd.Parameters.AddWithValue("@disc_dkey", arrPS3ISOInfo[1]);
|
||||||
|
cmd.Parameters.AddWithValue("@disc_did", arrPS3ISOInfo[2]);
|
||||||
|
cmd.Parameters.AddWithValue("@disc_dpic", arrPS3ISOInfo[3]);
|
||||||
|
cmd.Parameters.AddWithValue("@ps3_iso_filename", arrPS3ISOInfo[4]);
|
||||||
|
cmd.Parameters.AddWithValue("@ps3_iso_size", arrPS3ISOInfo[5]);
|
||||||
|
cmd.Parameters.AddWithValue("@ps3_iso_crc32", arrPS3ISOInfo[6]);
|
||||||
|
cmd.Parameters.AddWithValue("@ps3_iso_md5", arrPS3ISOInfo[7]);
|
||||||
|
cmd.Parameters.AddWithValue("@ps3_iso_sha1", arrPS3ISOInfo[8]);
|
||||||
|
cmd.ExecuteNonQuery();
|
||||||
|
|
||||||
|
con.Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Inserts the PS3 IRD into the database.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="arrPS3IRDInfo"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public int InsertPS3IRD(string[] arrPS3IRDInfo)
|
||||||
|
{
|
||||||
|
int intIRDID;
|
||||||
|
|
||||||
|
using (SQLiteConnection con = new SQLiteConnection(connectionString))
|
||||||
|
{
|
||||||
|
con.Open();
|
||||||
|
|
||||||
|
SQLiteCommand cmd = new SQLiteCommand();
|
||||||
|
cmd.Connection = con;
|
||||||
|
|
||||||
|
cmd.CommandText = @"INSERT INTO `ps3_irds` (ps3_iso_md5, ps3_ird_filename, ps3_ird_size, ps3_ird_crc32, ps3_ird_md5, ps3_ird_sha1) VALUES (@ps3_iso_md5, @ps3_ird_filename, @ps3_ird_size, @ps3_ird_crc32, @ps3_ird_md5, @ps3_ird_sha1)";
|
||||||
|
cmd.Parameters.AddWithValue("@ps3_iso_md5", arrPS3IRDInfo[0]);
|
||||||
|
cmd.Parameters.AddWithValue("@ps3_ird_filename", arrPS3IRDInfo[1]);
|
||||||
|
cmd.Parameters.AddWithValue("@ps3_ird_size", arrPS3IRDInfo[2]);
|
||||||
|
cmd.Parameters.AddWithValue("@ps3_ird_crc32", arrPS3IRDInfo[3]);
|
||||||
|
cmd.Parameters.AddWithValue("@ps3_ird_md5", arrPS3IRDInfo[4]);
|
||||||
|
cmd.Parameters.AddWithValue("@ps3_ird_sha1", arrPS3IRDInfo[5]);
|
||||||
|
cmd.ExecuteNonQuery();
|
||||||
|
intIRDID = (Int32)con.LastInsertRowId;
|
||||||
|
|
||||||
|
con.Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
return intIRDID;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
}
|
||||||
1207
AutomatedRedump2IRD/FrmAutomatedRedump2IRD.Designer.cs
generated
Normal file
1377
AutomatedRedump2IRD/FrmAutomatedRedump2IRD.cs
Normal file
232
AutomatedRedump2IRD/FrmAutomatedRedump2IRD.resx
Normal file
@@ -0,0 +1,232 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<metadata name="msMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
|
<value>17, 17</value>
|
||||||
|
</metadata>
|
||||||
|
<metadata name="tsMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
|
<value>112, 17</value>
|
||||||
|
</metadata>
|
||||||
|
<metadata name="ssMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
|
<value>200, 17</value>
|
||||||
|
</metadata>
|
||||||
|
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||||
|
<data name="tsbCancel.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>
|
||||||
|
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||||
|
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAKhSURBVDhPlZJdSNNhFMZPQgRFF95kIIS1jCzSbroJu1OL
|
||||||
|
LgoqpBtTQ52rTd3K6bKJfWh103dRlxUZkqZz6ubUmTOXEGlR1jS1ufyYfeg2m18ZT+f9/6dEdFEv/HgP
|
||||||
|
55zneT9J7fSpNe1+X+5zP/L+EdGrcfqnNE6fgVLNI9PZljFobV5orGMSIv4bv9dVrEk1v12gg/f7kFkx
|
||||||
|
iPRH/dCbh1DU8Alp5f3IfjwIZQgRi1xhnQeGeo8UC82hB32g3de7kXznDdTlvfAG5jERXIDqoQuJV7uw
|
||||||
|
7/ZriaRr3Th6791SXVvxQdLsudENii91IvFiJ5JvdcHrn4MYw5NzOHDzJWKNDmwvbsfeKy8w8GVaqk0E
|
||||||
|
fyDl7isksGZXmRMUa7Ajjtl4oglJlzrg+TYjNY5MznJTB3aecaB/PCjlxgNz2H+5EwqdTdLEGVpA63Ms
|
||||||
|
EGzIsyAi24z4kla4v8qriblv7LsUi90llDmwhntEr6xrAEVkmSChlFmdVoVt+Y1wjU5JQjHcvP0dRU1Y
|
||||||
|
lVq11CfrakDhGdUIz6hBeKbMiiOVUGgb0DMcCMmBgc9BbNVbsTylcqlP0rCWViprIaGqxbL0aigKbHB5
|
||||||
|
5W27+T56Q+cXx9lyuhmU9kTqlXUmUNixOggo04R1p5rxPiQe4kvcZGxBpJ4NQyaDbBJdbAdlmBB2XOjM
|
||||||
|
INLwRbBBlNGOgdALuFkcc7YNlFULUpqlmouPIYbHx7VzXFPxopp6NsizcmBBpLEVPd4gRvmpNp93yA1a
|
||||||
|
rglU9YgqeYqPEzMYn5pHTGk7SM0L82sQ6ZpA/Aco14q1JW1QXHgmGdLJUF4gYs6JWjT/DcphU5HXNbJB
|
||||||
|
fsssAypgFkUi1v+ByC0ailhoDjf/JCq066jQFiD+Wf+Fzh6kAnvxLyFRu/khQA4QAAAAAElFTkSuQmCC
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<metadata name="bgwBuildIRDs.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
|
<value>435, 17</value>
|
||||||
|
</metadata>
|
||||||
|
<metadata name="bgwStartupTasks.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
|
<value>291, 17</value>
|
||||||
|
</metadata>
|
||||||
|
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>47</value>
|
||||||
|
</metadata>
|
||||||
|
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>
|
||||||
|
AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAC2aQAAt2oASrhqAMO4agDruGoA7bhqAO24agDtuGoA7bhqAO24agDtuGoA7bhqAO24agDtuGoA7bhq
|
||||||
|
AO24agDtuGoA7bhqAO24agDtuGoA7bhqAO24agDtuGoA7bhqAO24agDtuGoA7bhqAO24agDtuGoA6rhq
|
||||||
|
AMK3agBIt2kAALZoAEa2aAD8tmgA/7ZoAP+2aAD/tmgA/7ZoAP+2aAD/tmgA/7ZoAP+2aAD/tmgA/7Zo
|
||||||
|
AP+2aAD/tmgA/7ZoAP+2aAD/tmgA/7ZoAP+2aAD/tmgA/7ZoAP+2aAD/tmgA/7ZoAP+2aAD/tmgA/7Zo
|
||||||
|
AP+2aAD/tmgA/7ZoAPu2aQBDtWcAxbRnAP+0ZgD/tGYA/7RnAP+0ZwD/tGcA/7RnAP+0ZwD/tGcA/7Rn
|
||||||
|
AP+1ZwD/tGYA/7JiAP+wXgD/sF4A/7BeAP+zZAD/tWcA/7RnAP+0ZwD/tGcA/7RnAP+0ZwD/tGcA/7Rn
|
||||||
|
AP+0ZwD/tGcA/7RnAP+0ZwD/tGcA/7VnAMGzZQDts2QA/7NlAf+yYQD/r10A/7JjAP+zZQD/s2UA/7Nl
|
||||||
|
AP+zZQD/smIA/69cAP+xXwD/vnsn/9Ola//fvpP/0aFj/7ZqDf+uWwD/s2MA/7NlAP+zZQD/s2UA/7Nl
|
||||||
|
AP+zZQD/s2UA/7NlAP+zZQD/s2UA/7NlAP+zZQD/s2UA6rJjAO6yYgD/smMD/968kf/Nmlv/smMF/61Z
|
||||||
|
AP+vXQD/rlwA/61ZAP+0aA3/zJhZ/+nStv/8+vb/////////////////8+fY/86dYf+wYAH/rlwA/7Jj
|
||||||
|
AP+yYwD/smMA/7JjAP+yYwD/smMA/7JjAP+yYwD/smMA/7JjAP+yYwDrsGEA7bBgAP+vXgD/8OLP////
|
||||||
|
///w4dD/1Kh1/758L//Bgzn/2rSI//Tp3P///////////////////////////////////////////+rV
|
||||||
|
vP++fTL/q1cA/69fAP+wYgD/sGEA/7BhAP+wYQD/sGEA/7BhAP+wYQD/sGEA/7BhAOqvXwDtr14A/65c
|
||||||
|
AP/t28X//////////////////v79////////////////////////////////////////////////////
|
||||||
|
//////////////z59v/WrX7/r2AH/6tYAP+vYAD/r2AA/69fAP+vXwD/r18A/69fAP+vXwD/r18A6q1e
|
||||||
|
AO2tXQD/rFsA/+zbxf//////////////////////////////////////////////////////////////
|
||||||
|
///////////////////////////////////t3Mf/vHw0/6hTAP+sXAD/rV4A/61eAP+tXgD/rV4A/61e
|
||||||
|
AP+tXgDqrFwB7axbAP+qWQD/7+DP////////////////////////////////////////////////////
|
||||||
|
//////////////Lm2P/s2sn/7t3L/+7fzf/v4M//8OLU///////8+fb/0aZ2/6pYAf+pVgD/rFwB/6xc
|
||||||
|
Af+sXAH/rFwB/6xcAeqqWgPtqlkC/6dUAP/Qo3T/////////////////////////////////////////
|
||||||
|
////////////////////////5s60/9q2k//buZP/2riR/9q3kP/Vrob/1a2C///+/v//////59C3/7Rs
|
||||||
|
I/+lUAD/qlkC/6paA/+qWgP/qloD6qlYBO2pWAT/qVcE/6RPAP/Ejlb/9/Do////////////////////
|
||||||
|
///////////////////////////////////////////////////////////////////VrYT/+PHp////
|
||||||
|
////////9+/n/8SOVv+mUgD/qVgE/6lYBP+pWATqqFYE7ahWBP+oVwT/p1YD/6JNAP+xaiP/38Kl//38
|
||||||
|
+v///////////////////////////////////////////////////////////////////////////8eU
|
||||||
|
YP/TqoL//v38/////////////////8qZaP+jTgD/qFYE/6hWBOqmVAPtplQD/6ZUA/+mVAP/plUD/6NP
|
||||||
|
AP+jTgD/tnIw/8mYZ//Vr4n/17GM/9Sshf/SqYD/0KV7/86hdf/Lm2z/yJZk/8aSX//GkFz/xY9Z/8OL
|
||||||
|
VP++g0j/p1YG/6FKAP+5eT3/6NTA////////////0qh//6FLAP+mVAP/plQD6qVTA+2lUwP/pVMD/6VT
|
||||||
|
A/+lUwP/pVMD/6VSAv+iTQD/oEkA/6BIAP+gSQD/n0gA/59HAP+bQAD/m0EA/6NPAP+pWw7/qVoN/6JO
|
||||||
|
AP+cQQD/nEMA/6FKAP+kUgH/pVMC/6FKAP+kUQT/yplq/9Gnf/+nVwv/pFEB/6VTA/+lUwPqpFEC7aRR
|
||||||
|
Av+kUQL/pFEC/6RRAv+kUQL/pFEC/6RRAv+kUQL/pFEC/6RRAv+iTAD/oUsA/72ASf/gw6n/8+nf//r2
|
||||||
|
8v/69fH/8uba/9y8nv+4dzz/oEgA/6JOAP+kUQL/pFEC/6NPAP+fSAD/n0cA/6NPAP+kUQL/pFEC/6RR
|
||||||
|
AuqiTwHtok8B/6JPAf+iTwH/ok8B/6JPAf+iTwH/ok8B/6JPAf+jTwH/n0kA/6dXEv/fwqj/////////
|
||||||
|
///////////////////////////////+/v/YtJP/o1AH/6BLAP+jTwH/ok8B/6JPAf+iTwD/ok8B/6JP
|
||||||
|
Af+iTwH/ok8B6qNQAu2jUAL/o1AC/6NQAv+jUAL/o1AC/6NQAv+jUAL/o1AD/6FMAP+mVhH/6tfF////
|
||||||
|
///////////////////////////////////////////////////iyK//o08H/6JOAP+jUAP/o1AC/6NQ
|
||||||
|
Av+jUAL/o1AC/6NQAv+jUALqplUI7aZVCP+mVQj/plUI/6ZVCP+mVQj/plUI/6ZVCP+mVAf/ok0B/96/
|
||||||
|
of/////////////////////////////////////////////////////////////////TqoP/oUsA/6ZV
|
||||||
|
CP+mVQj/plUI/6ZVCP+mVQj/plUI/6ZVCOqqWgvtqloL/6paC/+qWgv/qloL/6paC/+qWgv/qloL/6dU
|
||||||
|
Av+8fT////////////////////////////////////////////////////////////////////////v4
|
||||||
|
9P+0bSf/qFYF/6paC/+qWgv/qloL/6paC/+qWgv/qloL6q5gCe2uYAn/rmAJ/65gCf+uYAn/rmAJ/65g
|
||||||
|
Cf+uYAn/qlcA/928mP/////////////////////////////////z6Nv/9ezh////////////////////
|
||||||
|
/////////////9KoeP+pVwD/rmAJ/65gCf+uYAn/rmAJ/65gCf+uYAnqs2cH7bNnB/+zZgb/s2cH/7Nn
|
||||||
|
B/+zZwf/s2cH/7JmBf+yZQX/79/M////////////////////////////27aI/7JlCf+0aRD/4sWg////
|
||||||
|
////////////////////////5s6v/7BgAP+zZwf/s2cH/7NnB/+zZgb/s2cH/7NnB+q4bgntuW8P/7lx
|
||||||
|
FP+3bQf/uG4K/7huCv+4bgr/t2wH/7pyEv/27N7///////////////////////r17/+7dBX/tWgB/7Rm
|
||||||
|
AP/Cgi3//v38///////////////////////u3cb/tmoE/7htCf+4bgr/t20H/7lxE/+5bw//uG4J6r12
|
||||||
|
Fe2+eBz/w4E7/796I/+9dRX/vXUU/712Fv+8dBP/vngb//Xq2////////////////////////Pr2/8eL
|
||||||
|
O/+4agP/t2kA/8+aVP///v7//////////////////////+7cxP+7cQ7/vXUT/711FP+/eiL/w4E6/754
|
||||||
|
HP+9dhXqwn4j7cN/KP/Jikb/yYtI/8eHPP/EgS7/wn4m/8J9Iv/AeRv/7tvD////////////////////
|
||||||
|
////////8+bU/9SkZP/WqW7/9+3h////////////////////////////5sum/793Gf/EgS3/x4Y7/8mL
|
||||||
|
R//JikX/w38o/8J+I+rHhi/tyIc0/86STv/Okk//zpNR/86TUP/NkUv/zI5F/8iFM//hvpL/////////
|
||||||
|
///////////////////////////////////////////////////////////////////cs4H/y4tB/86S
|
||||||
|
UP/Ok1H/zpJP/86RTf/IhzT/x4Yv6s2ONu3OkDv/1JpW/9SaV//Umlf/1JpY/9SbWP/Um1n/1JlW/9eh
|
||||||
|
ZP/79vD/////////////////////////////////////////////////////////////////9+3h/9Wc
|
||||||
|
Wv/Umlf/1JpY/9SaV//Umlj/1JpW/86PPP/Njjbq1Jg97dWZQ//Zo1//2aNg/9mjYP/Zo2D/2aNg/9mj
|
||||||
|
YP/Zo2D/151X/+fEmP////////////////////////////////////////////////////////////79
|
||||||
|
/P/juof/2J5Y/9mjYP/Zo2D/2aNg/9mjYf/Zo17/1ZlD/9SYPeraoUru2qJM/96qZv/eq2n/3qto/96r
|
||||||
|
aP/eq2j/3qto/96raP/eq2j/3Kdg/+3Srf//////////////////////////////////////////////
|
||||||
|
///+/Pv/6sme/9ymX//eq2j/3qto/96raP/eq2j/3qtp/96qZf/aokz/2qFK6+CrWezgqlj/4a9k/+O0
|
||||||
|
cv/jtHD/47Rw/+O0cP/jtHD/47Rw/+O0cP/js2//4q9p/+zKmv/68OP/////////////////////////
|
||||||
|
////////+e3c/+rEkP/ir2j/47Nw/+O0cP/jtHD/47Rw/+O0cf/jtHH/4a9k/+CqWP/gq1np5rRjvea0
|
||||||
|
Y//mtGL/57ht/+i7dv/ovHf/6Lx3/+i8d//ovHf/6Lx3/+m8d//ovHf/57hv/+m8eP/vzpv/9N67//fm
|
||||||
|
zP/35sv/89y4/+7Mlv/ou3X/57hw/+m8d//ovHf/6Lx3/+i8d//ovHf/6Lt2/+e4bf/mtGL/5rRj/+a0
|
||||||
|
Y7rrvm077L9u9ey/bv/rv23/7L9v/+y/b//sv2//7L9v/+y/b//sv2//7L9v/+y/b//sv3D/679u/+q8
|
||||||
|
af/qu2f/6rxp/+q8aP/qu2f/67xq/+u/bv/sv3D/7L9v/+y/b//sv2//7L9v/+y/b//sv27/679t/+y/
|
||||||
|
bv/sv2/z675uOO3BcADvxnY68cl6s/LKeuXyyXrr8sl56/LJeevyyXnr8sl56/LJeevyyXnr8sl56/LJ
|
||||||
|
eevyyXnr8sl56/LJeevyyXnr8sl56/LJeevyyXnr8sl56/LJeevyyXnr8sl56/LJeevyyXnr8sl56/LJ
|
||||||
|
euvyynrl8cl5su/GdTjtwXAAgAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAE=
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
106
AutomatedRedump2IRD/IsoTools/IrdCreateRedumpFile.cs
Normal file
@@ -0,0 +1,106 @@
|
|||||||
|
using DiscUtils.Udf;
|
||||||
|
using IsoTools.Common.Properties;
|
||||||
|
using IsoTools.Iso9660;
|
||||||
|
using AutomatedRedump2IRD.IsoTools;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace IsoTools
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
public class IrdCreateRedumpFile : IrdCreateFile {
|
||||||
|
private readonly byte[] header_3k3y = Encoding.ASCII.GetBytes("Encrypted 3K ISO");
|
||||||
|
private readonly byte[] sector_3k3y = new byte[16 + 16 + 16 + 115];
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="decrypted"></param>
|
||||||
|
/// <param name="createIrdFile"></param>
|
||||||
|
/// <param name="d1"></param>
|
||||||
|
/// <param name="d2"></param>
|
||||||
|
/// <param name="pic"></param>
|
||||||
|
public IrdCreateRedumpFile(bool decrypted, bool createIrdFile, byte[] d1, byte[] d2, byte[] pic) : base(decrypted, createIrdFile) {
|
||||||
|
System.Diagnostics.Debug.Assert(header_3k3y.Length == 16, "Unexpected header_3k3y size.");
|
||||||
|
System.Diagnostics.Debug.Assert(d1.Length == 16, "Unexpected d1 size.");
|
||||||
|
System.Diagnostics.Debug.Assert(d2.Length == 16, "Unexpected d2 size.");
|
||||||
|
System.Diagnostics.Debug.Assert(pic.Length == 115, "Unexpected pic size.");
|
||||||
|
|
||||||
|
// Write the generic 3k3y header inforatmion.
|
||||||
|
Array.Copy(header_3k3y, sector_3k3y, header_3k3y.Length);
|
||||||
|
|
||||||
|
// Write the dynamic 3k3y information.
|
||||||
|
Array.Copy(d1, 0, sector_3k3y, 16, d1.Length);
|
||||||
|
Array.Copy(d2, 0, sector_3k3y, 32, d2.Length);
|
||||||
|
Array.Copy(pic, 0, sector_3k3y, 48, pic.Length);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
protected override async Task<bool> CheckIfValid() {
|
||||||
|
// Get the ps3 header from the iso.
|
||||||
|
byte[] ps3_header = null;
|
||||||
|
using (Stream iso_stream = this.Open()) {
|
||||||
|
long ps3_header_size = 0;
|
||||||
|
PS3CDReader ps3_cd_reader = new PS3CDReader(iso_stream);
|
||||||
|
ICollection<DirectoryMemberInformation> members = ps3_cd_reader.Members;
|
||||||
|
List<DirectoryMemberInformation> list = (
|
||||||
|
from d in members
|
||||||
|
where d.IsFile
|
||||||
|
select d).Distinct<DirectoryMemberInformation>().ToList<DirectoryMemberInformation>();
|
||||||
|
ps3_header_size = list.First<DirectoryMemberInformation>().StartSector * 2048;
|
||||||
|
|
||||||
|
// Note: The full ps3_header_size isn't needed, the IRD's "Header" seems to always be smaller than 0>StartSector, but can't find why (from code seems to write all, so why IrdViewer is missing some)...
|
||||||
|
if (ps3_header_size == 0)
|
||||||
|
return false;
|
||||||
|
ps3_header = new byte[ps3_header_size];
|
||||||
|
iso_stream.Seek(0, SeekOrigin.Begin);
|
||||||
|
if (iso_stream.Read(ps3_header, 0, (int)ps3_header_size) != ps3_header_size)
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Modify the header with the d1/d2/key information at the 3k3y location (0xF70), and write it to the temporary Redump2IRD.exe.header file.
|
||||||
|
string tmp_header_info_file = new Uri(System.Reflection.Assembly.GetEntryAssembly().GetName().CodeBase + ".ps3-header-only.iso").LocalPath;
|
||||||
|
if (File.Exists(tmp_header_info_file))
|
||||||
|
File.Delete(tmp_header_info_file);
|
||||||
|
Array.Copy(sector_3k3y, 0, ps3_header, 0xF70, sector_3k3y.Length);
|
||||||
|
File.WriteAllBytes(tmp_header_info_file, ps3_header);
|
||||||
|
|
||||||
|
// Analayze the "header" file above so we can get correct information.
|
||||||
|
IsoCryptoClass isoCryptoClass = new IsoCryptoClass();
|
||||||
|
if (await isoCryptoClass.AnalyseISO(tmp_header_info_file) && isoCryptoClass.IsEncrypted) {
|
||||||
|
FileInfo fileInfo = new FileInfo(base.Path);
|
||||||
|
base.Regions = isoCryptoClass.Regions;
|
||||||
|
base.EndOfDataSector = (long)base.Regions.Last<Region>().End;
|
||||||
|
base.TotalSectors = (long)((uint)(fileInfo.Length / (long)2048));
|
||||||
|
|
||||||
|
File.Delete(tmp_header_info_file);
|
||||||
|
this.IsValid = true;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
File.Delete(tmp_header_info_file);
|
||||||
|
this.IsValid = false;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
protected override Stream Open() {
|
||||||
|
return new RedumpFileStream(base.Path, FileMode.Open, FileAccess.Read, sector_3k3y);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
52
AutomatedRedump2IRD/IsoTools/RedumpFileStream.cs
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
|
||||||
|
namespace AutomatedRedump2IRD.IsoTools {
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
public class RedumpFileStream : FileStream {
|
||||||
|
private const long size_3k3y_ = 16 + 16 + 16 + 115;
|
||||||
|
private const long start_3k3y_ = 0xF70;
|
||||||
|
private const long end_3k3y_ = start_3k3y_ + size_3k3y_;
|
||||||
|
private byte[] sec_3k3y_;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="path"></param>
|
||||||
|
/// <param name="mode"></param>
|
||||||
|
/// <param name="access"></param>
|
||||||
|
/// <param name="sec_3k3y"></param>
|
||||||
|
public RedumpFileStream(string path, FileMode mode, FileAccess access, byte[] sec_3k3y) : base(path, mode, access) {
|
||||||
|
System.Diagnostics.Debug.Assert(sec_3k3y.Length == size_3k3y_, "Unexpected sec3k3y size.");
|
||||||
|
sec_3k3y_ = sec_3k3y;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="array"></param>
|
||||||
|
/// <param name="offset"></param>
|
||||||
|
/// <param name="count"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public override int Read(byte[] array, int offset, int count) {
|
||||||
|
int ret = base.Read(array, offset, count);
|
||||||
|
|
||||||
|
// Check if the read has data inside our 3k3y sector, if so copy the memory over.
|
||||||
|
if (base.Position >= start_3k3y_ && base.Position - ret <= end_3k3y_) {
|
||||||
|
long start_position_of_read = base.Position - ret;
|
||||||
|
long offset_of_3k3y_sector = start_position_of_read <= start_3k3y_ ? 0 : start_position_of_read - start_3k3y_;
|
||||||
|
long offset_of_3k3y_in_array = offset + (start_position_of_read >= start_3k3y_ ? 0 : start_3k3y_ - start_position_of_read);
|
||||||
|
Array.Copy(sec_3k3y_, offset_of_3k3y_sector, array, offset_of_3k3y_in_array, Math.Min(array.Length - offset_of_3k3y_in_array, size_3k3y_ - offset_of_3k3y_sector));
|
||||||
|
|
||||||
|
// TODO: array.Length - offset_of_3k3y_in_array is over-estimate, we can copy less...
|
||||||
|
// Could be some off-by-1 errors above for edge cases?
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
76
AutomatedRedump2IRD/IsoTools/RedumpInteraction.cs
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
using IsoTools;
|
||||||
|
using System;
|
||||||
|
using System.IO;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace AutomatedRedump2IRD {
|
||||||
|
internal class RedumpInteraction : EmptyInteraction {
|
||||||
|
private readonly Timer progress_timer_ = null;
|
||||||
|
private readonly ProgressBar progress_bar_ = null;
|
||||||
|
private readonly RichTextBox output_ = null;
|
||||||
|
private int progress_ = 0;
|
||||||
|
public string pathIRDFileName_ = String.Empty;
|
||||||
|
public string pathISOFileName_ = String.Empty;
|
||||||
|
|
||||||
|
public RedumpInteraction(ProgressBar progress_bar, RichTextBox output, string pathIRDFileName, string pathISOFileName) {
|
||||||
|
progress_bar_ = progress_bar;
|
||||||
|
output_ = output;
|
||||||
|
pathIRDFileName_ = pathIRDFileName;
|
||||||
|
pathISOFileName_ = pathISOFileName;
|
||||||
|
progress_timer_ = new Timer();
|
||||||
|
progress_timer_.Interval = 200;
|
||||||
|
progress_timer_.Tick += new EventHandler(ProgressTimerTick);
|
||||||
|
progress_timer_.Start();
|
||||||
|
}
|
||||||
|
|
||||||
|
private string ird_output_inital_dir_ = String.Empty;
|
||||||
|
public override Task<string> GetIrdOutputFile(string inputFile)
|
||||||
|
{
|
||||||
|
ird_output_inital_dir_ = Path.GetDirectoryName(pathIRDFileName_);
|
||||||
|
return TaskEx.FromResult<string>(pathIRDFileName_);
|
||||||
|
}
|
||||||
|
|
||||||
|
private string iso_file_inital_dir_ = String.Empty;
|
||||||
|
public override Task<string[]> GetIsoFile(bool verify = false, bool multiple = true)
|
||||||
|
{
|
||||||
|
iso_file_inital_dir_ = Path.GetDirectoryName(pathISOFileName_);
|
||||||
|
return TaskEx.FromResult<string[]>(new string[] { pathISOFileName_ });
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void ReportMessage(string message, ReportType reportType) {
|
||||||
|
if (output_ != null)
|
||||||
|
output_.Invoke((Action)(() => { output_.AppendText("Info: " + message + Environment.NewLine); }));
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void ReportProgress(int progress) {
|
||||||
|
if (progress != -1)
|
||||||
|
progress_ = progress;
|
||||||
|
if (progress_bar_ != null)
|
||||||
|
progress_bar_.Invoke((Action)(() => { progress_bar_.Value = progress_; }));
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void SetProgressMaximum(int max) {
|
||||||
|
if (progress_bar_ != null)
|
||||||
|
progress_bar_.Invoke((Action)(() => { progress_bar_.Maximum = max; }));
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void TaskBegin(TaskType taskType) {
|
||||||
|
progress_ = 0;
|
||||||
|
if (progress_timer_ != null)
|
||||||
|
progress_timer_.Start();
|
||||||
|
if (progress_bar_ != null)
|
||||||
|
progress_bar_.Invoke((Action)(() => { progress_bar_.Value = progress_; }));
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void TaskComplete() {
|
||||||
|
if (progress_timer_ != null)
|
||||||
|
progress_timer_.Stop();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ProgressTimerTick(object sender, EventArgs e) {
|
||||||
|
if (progress_bar_ != null)
|
||||||
|
progress_bar_.Value = progress_;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
22
AutomatedRedump2IRD/Program.cs
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
using System;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace AutomatedRedump2IRD
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// The main Program class.
|
||||||
|
/// </summary>
|
||||||
|
static class Program
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// The main entry point for the application.
|
||||||
|
/// </summary>
|
||||||
|
[STAThread]
|
||||||
|
static void Main()
|
||||||
|
{
|
||||||
|
Application.EnableVisualStyles();
|
||||||
|
Application.SetCompatibleTextRenderingDefault(false);
|
||||||
|
Application.Run(new FrmAutomatedRedump2IRD());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
36
AutomatedRedump2IRD/Properties/AssemblyInfo.cs
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
using System.Reflection;
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
|
// General Information about an assembly is controlled through the following
|
||||||
|
// set of attributes. Change these attribute values to modify the information
|
||||||
|
// associated with an assembly.
|
||||||
|
[assembly: AssemblyTitle("Automated Redump 2 IRD")]
|
||||||
|
[assembly: AssemblyDescription("The Original Automated IRD Builder")]
|
||||||
|
[assembly: AssemblyConfiguration("")]
|
||||||
|
[assembly: AssemblyCompany("Automated Redump 2 IRD")]
|
||||||
|
[assembly: AssemblyProduct("Automated Redump 2 IRD")]
|
||||||
|
[assembly: AssemblyCopyright("Copyright (c) 2016-2025 Automated Redump 2 IRD - All Rights Reserved")]
|
||||||
|
[assembly: AssemblyTrademark("Automated Redump 2 IRD - The Original Automated IRD Builder")]
|
||||||
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
// Setting ComVisible to false makes the types in this assembly not visible
|
||||||
|
// to COM components. If you need to access a type in this assembly from
|
||||||
|
// COM, set the ComVisible attribute to true on that type.
|
||||||
|
[assembly: ComVisible(false)]
|
||||||
|
|
||||||
|
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||||
|
[assembly: Guid("4535930b-6f1d-43c5-b661-3cb8a8332f07")]
|
||||||
|
|
||||||
|
// Version information for an assembly consists of the following four values:
|
||||||
|
//
|
||||||
|
// Major Version
|
||||||
|
// Minor Version
|
||||||
|
// Build Number
|
||||||
|
// Revision
|
||||||
|
//
|
||||||
|
// You can specify all the values or you can default the Build and Revision Numbers
|
||||||
|
// by using the '*' as shown below:
|
||||||
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
|
[assembly: AssemblyVersion("0.0.8")]
|
||||||
|
[assembly: AssemblyFileVersion("0.0.8")]
|
||||||
213
AutomatedRedump2IRD/Properties/Resources.Designer.cs
generated
Normal file
@@ -0,0 +1,213 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// This code was generated by a tool.
|
||||||
|
// Runtime Version:4.0.30319.42000
|
||||||
|
//
|
||||||
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
|
// the code is regenerated.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace AutomatedRedump2IRD.Properties {
|
||||||
|
using System;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||||
|
/// </summary>
|
||||||
|
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||||
|
// class via a tool like ResGen or Visual Studio.
|
||||||
|
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||||
|
// with the /str option, or rebuild your VS project.
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
|
internal class Resources {
|
||||||
|
|
||||||
|
private static global::System.Resources.ResourceManager resourceMan;
|
||||||
|
|
||||||
|
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||||
|
|
||||||
|
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||||
|
internal Resources() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Returns the cached ResourceManager instance used by this class.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||||
|
get {
|
||||||
|
if (object.ReferenceEquals(resourceMan, null)) {
|
||||||
|
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("AutomatedRedump2IRD.Properties.Resources", typeof(Resources).Assembly);
|
||||||
|
resourceMan = temp;
|
||||||
|
}
|
||||||
|
return resourceMan;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Overrides the current thread's CurrentUICulture property for all
|
||||||
|
/// resource lookups using this strongly typed resource class.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
internal static global::System.Globalization.CultureInfo Culture {
|
||||||
|
get {
|
||||||
|
return resourceCulture;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
resourceCulture = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to ------------------------------------------------------------------
|
||||||
|
///Automated Redump 2 IRD - Help version 20240906
|
||||||
|
///Copyright (c) 2016-2024 Automated Redump 2 IRD - All Rights Reserved
|
||||||
|
///------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
///[I] About
|
||||||
|
///[II] Requirements
|
||||||
|
///[III] Installation
|
||||||
|
///[IV] How To Build IRDs
|
||||||
|
///[V] FAQ
|
||||||
|
///[VI] Contributing
|
||||||
|
///[VII] Contact
|
||||||
|
///[VIII] Disclaimers
|
||||||
|
///
|
||||||
|
///[I] About
|
||||||
|
///----------
|
||||||
|
///Automated Redump 2 IRD, or AR2I is The Original Automated IRD Builder.
|
||||||
|
///
|
||||||
|
///Automated Redump 2 I [rest of string was truncated]";.
|
||||||
|
/// </summary>
|
||||||
|
internal static string AutomatedRedump2IRD_HELP {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("AutomatedRedump2IRD_HELP", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to ***************************************************************
|
||||||
|
///Automated Redump 2 IRD - License version 20240906
|
||||||
|
///Copyright (c) 2016-2024 Automated Redump 2 IRD
|
||||||
|
///All Rights Reserved
|
||||||
|
///***************************************************************
|
||||||
|
///
|
||||||
|
///TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||||
|
///
|
||||||
|
///1. Redistributions in any form are not permitted whatsoever,
|
||||||
|
/// under any conditions.
|
||||||
|
///
|
||||||
|
///2. This software may not be reverse engineered, decompiled,
|
||||||
|
/// or disassembled.
|
||||||
|
///
|
||||||
|
///3. Automated Redump [rest of string was truncated]";.
|
||||||
|
/// </summary>
|
||||||
|
internal static string AutomatedRedump2IRD_LICENSE {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("AutomatedRedump2IRD_LICENSE", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap BuildIRDs_32x32 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("BuildIRDs_32x32", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap Cancel_16x16 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("Cancel_16x16", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap DB_32x32 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("DB_32x32", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap Exit_32x32 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("Exit_32x32", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap Help_32x32 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("Help_32x32", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap License_32x32 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("License_32x32", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap Log_32x32 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("Log_32x32", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap Options_32x32 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("Options_32x32", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap SaveLog_32x32 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("SaveLog_32x32", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap Toolbar_32x32 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("Toolbar_32x32", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
157
AutomatedRedump2IRD/Properties/Resources.resx
Normal file
@@ -0,0 +1,157 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
|
<data name="AutomatedRedump2IRD_HELP" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\Docs\AutomatedRedump2IRD-HELP.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
|
||||||
|
</data>
|
||||||
|
<data name="AutomatedRedump2IRD_LICENSE" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\Docs\AutomatedRedump2IRD-LICENSE.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
|
||||||
|
</data>
|
||||||
|
<data name="BuildIRDs_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\Images\BuildIRDs_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="Cancel_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\Images\Cancel_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="DB_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\Images\DB_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="Exit_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\Images\Exit_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="Help_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\Images\Help_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="License_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\Images\License_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="Log_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\Images\Log_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="Options_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\Images\Options_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="SaveLog_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\Images\SaveLog_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="Toolbar_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\Images\Toolbar_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
BIN
AutomatedRedump2IRD/Resources/DB/ps3.redump.sqlite.db
Normal file
@@ -0,0 +1 @@
|
|||||||
|
This file can be deleted.
|
||||||
105
AutomatedRedump2IRD/Resources/Docs/AutomatedRedump2IRD-HELP.txt
Normal file
@@ -0,0 +1,105 @@
|
|||||||
|
------------------------------------------------------------------
|
||||||
|
Automated Redump 2 IRD - Help version 20250731
|
||||||
|
Copyright (c) 2016-2025 Automated Redump 2 IRD - All Rights Reserved
|
||||||
|
------------------------------------------------------------------
|
||||||
|
|
||||||
|
[I] About
|
||||||
|
[II] Requirements
|
||||||
|
[III] Installation
|
||||||
|
[IV] How To Build IRDs
|
||||||
|
[V] FAQ
|
||||||
|
[VI] Contributing
|
||||||
|
[VII] Contact
|
||||||
|
[VIII] Disclaimers
|
||||||
|
|
||||||
|
[I] About
|
||||||
|
----------
|
||||||
|
Automated Redump 2 IRD, or AR2I is The Original Automated IRD Builder.
|
||||||
|
|
||||||
|
Automated Redump 2 IRD builds all the IRDs for all of the ISO files and Zipped ISO files in a directory recursively, using information from an SQLite DB.
|
||||||
|
|
||||||
|
The SQLite database can be viewed and edited directly from the app, allowing you to add IRDs and ISOs to the database.
|
||||||
|
|
||||||
|
IRDs cannot be built for ROMs with nonmatching titles. Please use a ROM manager to rename your ROMs to match the correct title in the DB.
|
||||||
|
|
||||||
|
IRDs are named using the MD5 hash value of the Redump ISO, enabling you to colect the IRDs in the IRDs folder.
|
||||||
|
|
||||||
|
[II] Requirements
|
||||||
|
------------------
|
||||||
|
This app does not ship with the following necessary IsoTools Libraries, which are distributed with IsoTools.
|
||||||
|
* DiscUtils.dll
|
||||||
|
* Ionic.Zip.dll
|
||||||
|
* IsoTools.Common.dll
|
||||||
|
* Microsoft.CompilerServices.AsyncTargetingPack.Net4.dll
|
||||||
|
|
||||||
|
Place these libraries in the program folder with the AutomatedRedump2IRD.exe file.
|
||||||
|
|
||||||
|
IsoTools appears to have been discontinued. We do not know where to find the necessary libraries.
|
||||||
|
|
||||||
|
[III] Installation
|
||||||
|
-----------------
|
||||||
|
Download and unzip the program to any new location that you wish to use. However, this software should be installed as close to the drive's root directory as possible.
|
||||||
|
|
||||||
|
Place the IsoTools libraries into the program folder with the AutomatedRedump2IRD.exe file.
|
||||||
|
|
||||||
|
I like to put my installation in a directory called AR2I on my C:\ drive. My installation layout looks like this:
|
||||||
|
|
||||||
|
C:\AR2I\DB\
|
||||||
|
C:\AR2I\IRDs\
|
||||||
|
C:\AR2I\Logs\
|
||||||
|
C:\AR2I\ROMs\
|
||||||
|
C:\AR2I\Tmp\
|
||||||
|
C:\AR2I\AutomatedRedump2IRD.exe
|
||||||
|
C:\AR2I\DiscUtils.dll
|
||||||
|
C:\AR2I\Ionic.Zip.dll
|
||||||
|
C:\AR2I\IsoTools.Common.dll
|
||||||
|
C:\AR2I\Microsoft.CompilerServices.AsyncTargetingPack.Net4.dll
|
||||||
|
|
||||||
|
[IV] How to Build IRDs
|
||||||
|
--------------------------------
|
||||||
|
* If you have an account at Automated Redump 2 IRD, set your username and password by editing the Options from the GUI. This will allow you to send IRDs to the database.
|
||||||
|
* Rename your ROMs using a ROM manager to match the Redump DB you are using.
|
||||||
|
* Place your Redump DB file in the DB directory, or set the path to it.
|
||||||
|
* Set the other paths and options as needed.
|
||||||
|
* Click one of the Build IRDs buttons.
|
||||||
|
|
||||||
|
[V] FAQ
|
||||||
|
---------
|
||||||
|
Q1) I didn't read or follow the instructions in the help file and I can't get this software to work properly. Can you help?
|
||||||
|
A1) No.
|
||||||
|
|
||||||
|
Q2) Why do I keep getting errors about path and file lengths?
|
||||||
|
A2) Obviously, you chose an installation path that is too long. This won't happen if you follow the installation instructions. Please read the Installation Section again and this time follow the instructions.
|
||||||
|
|
||||||
|
Q3) I appear to be blocked from some or all databases, or appear to be blocked from using this software. What gives?
|
||||||
|
A3) There are way too many reasons why this may or may not be happening. One example might be that you are using a blacklisted or abusive host, which may be blocked by some networks. In many cases, the network filtering may also be completely out of anyone's control.
|
||||||
|
|
||||||
|
Q4) Why can't this software find matches based on ROM hashes? My ROMs are not named according to the Redump datafile that corresponds to the matching SQLite DB.
|
||||||
|
A4) This software is designed to be used specifically for the Redump database. Finding matches using this info takes a fraction of a second. Finding matches based on hash values could take many days to find a SINGLE match and build a SINGLE IRD. Using hash values to find matches would defy all common sense.
|
||||||
|
|
||||||
|
[VI] Contributing
|
||||||
|
----------------
|
||||||
|
Let's work better together. We are looking to collaborate with like-minded people who want to contribute in any capacity. Collaboration is open to everyone and we need your help if you are a:
|
||||||
|
* Collector
|
||||||
|
* Database Administrator
|
||||||
|
* Datter
|
||||||
|
* Developer
|
||||||
|
* Dumper
|
||||||
|
* Graphic Artist
|
||||||
|
* Translator
|
||||||
|
* Player
|
||||||
|
* Tester
|
||||||
|
|
||||||
|
Feel free to:
|
||||||
|
* Fork the repository
|
||||||
|
* Create an issue
|
||||||
|
* Branch your repository with the issue number and a meaningful name related to the changes you are making
|
||||||
|
* Create a pull request
|
||||||
|
|
||||||
|
[VII] Contact
|
||||||
|
----------------
|
||||||
|
GitEmAll: https://gitemall.devemall.int.eu.org/TommySalami/AutomatedRedump2IRD
|
||||||
|
|
||||||
|
[VIII] Disclaimers
|
||||||
|
----------------
|
||||||
|
We do not upload, share, distribute or provide links to anything illegal, including ROMs or patches.
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
***************************************************************
|
||||||
|
Automated Redump 2 IRD - License version 20250731
|
||||||
|
Copyright (c) 2016-2025 Automated Redump 2 IRD
|
||||||
|
All Rights Reserved
|
||||||
|
***************************************************************
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||||
|
|
||||||
|
1. Redistributions in any form are not permitted whatsoever,
|
||||||
|
under any conditions.
|
||||||
|
|
||||||
|
2. This software may not be reverse engineered, decompiled,
|
||||||
|
or disassembled.
|
||||||
|
|
||||||
|
3. Automated Redump 2 IRD may publish revised and/or new
|
||||||
|
versions of the license from time to time. Each version
|
||||||
|
will be given a distinguishing version number. No one other
|
||||||
|
than Automated Redump 2 IRD has the right to modify the
|
||||||
|
terms applicable to covered code created under this
|
||||||
|
License.
|
||||||
|
|
||||||
|
4. It is your responsibility to use this software in accordance
|
||||||
|
with all applicable laws.
|
||||||
|
|
||||||
|
***************************************************************
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE AUTOMATED REDUMP 2 IRD
|
||||||
|
DEVELOPMENT TEAM 'AS IS' AND ANY EXPRESSED OR IMPLIED
|
||||||
|
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||||
|
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTOMATED REDUMP
|
||||||
|
2 IRD DEVELOPMENT TEAM OR ITS CONTRIBUTORS BE LIABLE FOR ANY
|
||||||
|
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
|
||||||
|
OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
||||||
|
TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||||
|
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
|
||||||
|
OF SUCH DAMAGE.
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
This file can be deleted.
|
||||||
BIN
AutomatedRedump2IRD/Resources/Icons/App.ico
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
AutomatedRedump2IRD/Resources/Images/BuildIRDs_32x32.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
AutomatedRedump2IRD/Resources/Images/Cancel_16x16.png
Normal file
|
After Width: | Height: | Size: 933 B |
BIN
AutomatedRedump2IRD/Resources/Images/DB_32x32.png
Normal file
|
After Width: | Height: | Size: 7.8 KiB |
BIN
AutomatedRedump2IRD/Resources/Images/Exit_32x32.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
AutomatedRedump2IRD/Resources/Images/Help_32x32.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
AutomatedRedump2IRD/Resources/Images/License_32x32.png
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
BIN
AutomatedRedump2IRD/Resources/Images/Log_32x32.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
AutomatedRedump2IRD/Resources/Images/Options_32x32.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
AutomatedRedump2IRD/Resources/Images/SaveLog_32x32.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
AutomatedRedump2IRD/Resources/Images/Toolbar_32x32.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
@@ -0,0 +1 @@
|
|||||||
|
This file can be deleted.
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
This file can be deleted.
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
This file can be deleted.
|
||||||
BIN
AutomatedRedump2IRD/Resources/redump.ps3.sqlite.db
Normal file
5
AutomatedRedump2IRD/packages.config
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<packages>
|
||||||
|
<package id="Stub.System.Data.SQLite.Core.NetFramework" version="1.0.118.0" targetFramework="net40" />
|
||||||
|
<package id="System.Data.SQLite.Core" version="1.0.118.0" targetFramework="net40" />
|
||||||
|
</packages>
|
||||||
29
CHANGELOG.md
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
Version 0.0.8 - 2025-07-31
|
||||||
|
|
||||||
|
* Update repository info and related URLs
|
||||||
|
* Minor changes
|
||||||
|
|
||||||
|
Version 0.0.7 - 2024-09-06
|
||||||
|
|
||||||
|
* New repository created and URLs fixed
|
||||||
|
* Minor changes
|
||||||
|
|
||||||
|
Version 0.0.6 - 2023-06-12
|
||||||
|
|
||||||
|
* Add SQLite DB browser
|
||||||
|
|
||||||
|
Version 0.0.5 - 2023-05-27
|
||||||
|
|
||||||
|
* Fix GUI SQLite DB file selector
|
||||||
|
* Fix some cross threading issues with 2 way data binding
|
||||||
|
* Update all documentation
|
||||||
|
* Minor code changes
|
||||||
|
|
||||||
|
Version 0.0.4 - 2023-04-30
|
||||||
|
|
||||||
|
* Add CHANGELOG file
|
||||||
|
|
||||||
|
Version 0.0.3 - 2023-00-00
|
||||||
|
|
||||||
|
* Update to .NET Framework 4.8
|
||||||
|
* Initial release
|
||||||
127
CODE_OF_CONDUCT.md
Normal file
@@ -0,0 +1,127 @@
|
|||||||
|
# Contributor Covenant Code of Conduct
|
||||||
|
|
||||||
|
## Our Pledge
|
||||||
|
|
||||||
|
We as members, contributors, and leaders pledge to make participation in our
|
||||||
|
community a harassment-free experience for everyone, regardless of age, body
|
||||||
|
size, visible or invisible disability, ethnicity, sex characteristics, gender
|
||||||
|
identity and expression, level of experience, education, socio-economic status,
|
||||||
|
nationality, personal appearance, race, religion, or sexual identity
|
||||||
|
and orientation.
|
||||||
|
|
||||||
|
We pledge to act and interact in ways that contribute to an open, welcoming,
|
||||||
|
diverse, inclusive, and healthy community.
|
||||||
|
|
||||||
|
## Our Standards
|
||||||
|
|
||||||
|
Examples of behavior that contributes to a positive environment for our
|
||||||
|
community include:
|
||||||
|
|
||||||
|
* Demonstrating empathy and kindness toward other people
|
||||||
|
* Being respectful of differing opinions, viewpoints, and experiences
|
||||||
|
* Giving and gracefully accepting constructive feedback
|
||||||
|
* Accepting responsibility and apologizing to those affected by our mistakes,
|
||||||
|
and learning from the experience
|
||||||
|
* Focusing on what is best not just for us as individuals, but for the
|
||||||
|
overall community
|
||||||
|
|
||||||
|
Examples of unacceptable behavior include:
|
||||||
|
|
||||||
|
* The use of sexualized language or imagery, and sexual attention or
|
||||||
|
advances of any kind
|
||||||
|
* Trolling, insulting or derogatory comments, and personal or political attacks
|
||||||
|
* Public or private harassment
|
||||||
|
* Publishing others' private information, such as a physical or email
|
||||||
|
address, without their explicit permission
|
||||||
|
* Other conduct which could reasonably be considered inappropriate in a
|
||||||
|
professional setting
|
||||||
|
|
||||||
|
## Enforcement Responsibilities
|
||||||
|
|
||||||
|
Community leaders are responsible for clarifying and enforcing our standards of
|
||||||
|
acceptable behavior and will take appropriate and fair corrective action in
|
||||||
|
response to any behavior that they deem inappropriate, threatening, offensive,
|
||||||
|
or harmful.
|
||||||
|
|
||||||
|
Community leaders have the right and responsibility to remove, edit, or reject
|
||||||
|
comments, commits, code, wiki edits, issues, and other contributions that are
|
||||||
|
not aligned to this Code of Conduct, and will communicate reasons for moderation
|
||||||
|
decisions when appropriate.
|
||||||
|
|
||||||
|
## Scope
|
||||||
|
|
||||||
|
This Code of Conduct applies within all community spaces, and also applies when
|
||||||
|
an individual is officially representing the community in public spaces.
|
||||||
|
Examples of representing our community include using an official e-mail address,
|
||||||
|
posting via an official social media account, or acting as an appointed
|
||||||
|
representative at an online or offline event.
|
||||||
|
|
||||||
|
## Enforcement
|
||||||
|
|
||||||
|
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
||||||
|
reported to the community leaders responsible for enforcement.
|
||||||
|
All complaints will be reviewed and investigated promptly and fairly.
|
||||||
|
|
||||||
|
All community leaders are obligated to respect the privacy and security of the
|
||||||
|
reporter of any incident.
|
||||||
|
|
||||||
|
## Enforcement Guidelines
|
||||||
|
|
||||||
|
Community leaders will follow these Community Impact Guidelines in determining
|
||||||
|
the consequences for any action they deem in violation of this Code of Conduct:
|
||||||
|
|
||||||
|
### 1. Correction
|
||||||
|
|
||||||
|
**Community Impact**: Use of inappropriate language or other behavior deemed
|
||||||
|
unprofessional or unwelcome in the community.
|
||||||
|
|
||||||
|
**Consequence**: A private, written warning from community leaders, providing
|
||||||
|
clarity around the nature of the violation and an explanation of why the
|
||||||
|
behavior was inappropriate. A public apology may be requested.
|
||||||
|
|
||||||
|
### 2. Warning
|
||||||
|
|
||||||
|
**Community Impact**: A violation through a single incident or series
|
||||||
|
of actions.
|
||||||
|
|
||||||
|
**Consequence**: A warning with consequences for continued behavior. No
|
||||||
|
interaction with the people involved, including unsolicited interaction with
|
||||||
|
those enforcing the Code of Conduct, for a specified period of time. This
|
||||||
|
includes avoiding interactions in community spaces as well as external channels
|
||||||
|
like social media. Violating these terms may lead to a temporary or
|
||||||
|
permanent ban.
|
||||||
|
|
||||||
|
### 3. Temporary Ban
|
||||||
|
|
||||||
|
**Community Impact**: A serious violation of community standards, including
|
||||||
|
sustained inappropriate behavior.
|
||||||
|
|
||||||
|
**Consequence**: A temporary ban from any sort of interaction or public
|
||||||
|
communication with the community for a specified period of time. No public or
|
||||||
|
private interaction with the people involved, including unsolicited interaction
|
||||||
|
with those enforcing the Code of Conduct, is allowed during this period.
|
||||||
|
Violating these terms may lead to a permanent ban.
|
||||||
|
|
||||||
|
### 4. Permanent Ban
|
||||||
|
|
||||||
|
**Community Impact**: Demonstrating a pattern of violation of community
|
||||||
|
standards, including sustained inappropriate behavior, harassment of an
|
||||||
|
individual, or aggression toward or disparagement of classes of individuals.
|
||||||
|
|
||||||
|
**Consequence**: A permanent ban from any sort of public interaction within
|
||||||
|
the community.
|
||||||
|
|
||||||
|
## Attribution
|
||||||
|
|
||||||
|
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
|
||||||
|
version 2.0, available at
|
||||||
|
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
|
||||||
|
|
||||||
|
Community Impact Guidelines were inspired by [Mozilla's code of conduct
|
||||||
|
enforcement ladder](https://github.com/mozilla/diversity).
|
||||||
|
|
||||||
|
[homepage]: https://www.contributor-covenant.org
|
||||||
|
|
||||||
|
For answers to common questions about this code of conduct, see the FAQ at
|
||||||
|
https://www.contributor-covenant.org/faq. Translations are available at
|
||||||
|
https://www.contributor-covenant.org/translations.
|
||||||
25
CONTRIBUTING.md
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
# @AutomatedRedump2IRD
|
||||||
|
### The Original Automated IRD Builder
|
||||||
|
## Contributing
|
||||||
|
Let's work better together. We are looking to collaborate with like-minded people who want to contribute in any capacity. Collaboration is open to everyone and we need your help if you are a:
|
||||||
|
* Collector
|
||||||
|
* Database Administrator
|
||||||
|
* Datter
|
||||||
|
* Developer
|
||||||
|
* Dumper
|
||||||
|
* Graphic Artist
|
||||||
|
* Translator
|
||||||
|
* Player
|
||||||
|
* Tester
|
||||||
|
|
||||||
|
Feel free to:
|
||||||
|
* Fork the repository
|
||||||
|
* Create an issue
|
||||||
|
* Branch your repository with the issue number and a meaningful name related to the changes you are making
|
||||||
|
* Create a pull request
|
||||||
|
|
||||||
|
## Contact
|
||||||
|
GitEmAll: [https://gitemall.devemall.int.eu.org/TommySalami/AutomatedRedump2IRD](https://gitemall.devemall.int.eu.org/TommySalami/AutomatedRedump2IRD "GitEmAll")
|
||||||
|
|
||||||
|
---
|
||||||
|
###### Copyright (c) 2016-2025 Automated Redump 2 IRD - All Rights Reserved v2025-07-31-00
|
||||||
40
LICENSE
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
***************************************************************
|
||||||
|
Automated Redump 2 IRD - License version 20250731
|
||||||
|
Copyright (c) 2016-2025 Automated Redump 2 IRD
|
||||||
|
All Rights Reserved
|
||||||
|
***************************************************************
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||||
|
|
||||||
|
1. Redistributions in any form are not permitted whatsoever,
|
||||||
|
under any conditions.
|
||||||
|
|
||||||
|
2. This software may not be reverse engineered, decompiled,
|
||||||
|
or disassembled.
|
||||||
|
|
||||||
|
3. Automated Redump 2 IRD may publish revised and/or new
|
||||||
|
versions of the license from time to time. Each version
|
||||||
|
will be given a distinguishing version number. No one other
|
||||||
|
than Automated Redump 2 IRD has the right to modify the
|
||||||
|
terms applicable to covered code created under this
|
||||||
|
License.
|
||||||
|
|
||||||
|
4. It is your responsibility to use this software in accordance
|
||||||
|
with all applicable laws.
|
||||||
|
|
||||||
|
***************************************************************
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE AUTOMATED REDUMP 2 IRD
|
||||||
|
DEVELOPMENT TEAM 'AS IS' AND ANY EXPRESSED OR IMPLIED
|
||||||
|
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||||
|
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTOMATED REDUMP
|
||||||
|
2 IRD DEVELOPMENT TEAM OR ITS CONTRIBUTORS BE LIABLE FOR ANY
|
||||||
|
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
|
||||||
|
OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
||||||
|
TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||||
|
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
|
||||||
|
OF SUCH DAMAGE.
|
||||||
59
README.md
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
# @AutomatedRedump2IRD
|
||||||
|
### The Original Automated IRD Builder
|
||||||
|
## About
|
||||||
|
Automated Redump 2 IRD, or AR2I is The Original Automated IRD Builder.
|
||||||
|
|
||||||
|
Automated Redump 2 IRD builds all the IRDs for all of the ISO files and Zipped ISO files in a directory recursively, using information from an SQLite DB.
|
||||||
|
|
||||||
|
The SQLite database can be viewed and edited directly from the app, allowing you to add IRDs and ISOs to the database.
|
||||||
|
|
||||||
|
IRDs cannot be built for ROMs with nonmatching titles. Please use a ROM manager to rename your ROMs to match the correct title in the DB.
|
||||||
|
|
||||||
|
IRDs are named using the MD5 hash value of the Redump ISO, enabling you to collect the IRDs in the IRDs folder.
|
||||||
|
## Dependencies
|
||||||
|
.NET Framework 4
|
||||||
|
|
||||||
|
The following NuGet Packages are required to build a Debug and/or Release version of this app:
|
||||||
|
* System.Data.SQLite.Core
|
||||||
|
|
||||||
|
This app does not ship with the following necessary IsoTools Libraries, which are distributed with IsoTools.
|
||||||
|
* DiscUtils.dll
|
||||||
|
* Ionic.Zip.dll
|
||||||
|
* IsoTools.Common.dll
|
||||||
|
* Microsoft.CompilerServices.AsyncTargetingPack.Net4.dll
|
||||||
|
|
||||||
|
Place these libraries in the AutomatedRedump2IRD/Resources/Libs/IsoTools.1.34.9 project folder.
|
||||||
|
|
||||||
|
IsoTools appears to have been discontinued. We do not know where to find the necessary libraries.
|
||||||
|
## Projects
|
||||||
|
* AutomatedRedump2IRD - Windows Forms App
|
||||||
|
* AutomatedRedump2IRD-Release - Release Project
|
||||||
|
## How to Build IRDs
|
||||||
|
* If you have an account at Automated Redump 2 IRD, set your username and password by editing the Options from the GUI. This will allow you to send IRDs to the database.
|
||||||
|
* Rename your ROMs using a ROM manager to match the Redump DB you are using.
|
||||||
|
* Place your Redump DB file in the DB directory, or set the path to it.
|
||||||
|
* Set the other paths and options as needed.
|
||||||
|
* Click one of the Build IRDs buttons.
|
||||||
|
## Contributing
|
||||||
|
Let's work better together. We are looking to collaborate with like-minded people who want to contribute in any capacity. Collaboration is open to everyone and we need your help if you are a:
|
||||||
|
* Collector
|
||||||
|
* Database Administrator
|
||||||
|
* Datter
|
||||||
|
* Developer
|
||||||
|
* Dumper
|
||||||
|
* Graphic Artist
|
||||||
|
* Translator
|
||||||
|
* Player
|
||||||
|
* Tester
|
||||||
|
|
||||||
|
Feel free to:
|
||||||
|
* Fork the repository
|
||||||
|
* Create an issue
|
||||||
|
* Branch your repository with the issue number and a meaningful name related to the changes you are making
|
||||||
|
* Create a pull request
|
||||||
|
|
||||||
|
## Contact
|
||||||
|
GitEmAll: [https://gitemall.devemall.int.eu.org/TommySalami/AutomatedRedump2IRD](https://gitemall.devemall.int.eu.org/TommySalami/AutomatedRedump2IRD "GitEmAll")
|
||||||
|
|
||||||
|
---
|
||||||
|
###### Copyright (c) 2016-2025 Automated Redump 2 IRD - All Rights Reserved v2025-07-31-00
|
||||||