Add Windows build
Imported from PS Multi Tools v14.4
This commit is contained in:
@@ -62,3 +62,9 @@ fastlane/screenshots/**/*.png
|
||||
fastlane/test_output
|
||||
|
||||
**/.DS_Store
|
||||
*.suo
|
||||
*.user
|
||||
.vs
|
||||
bin
|
||||
obj
|
||||
packages
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.10.35122.118
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "PS Classics fPKG Builder", "PS Classics fPKG Builder\PS Classics fPKG Builder.vbproj", "{39038E46-FDF1-4E8E-9524-427F8B5A7BD2}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{39038E46-FDF1-4E8E-9524-427F8B5A7BD2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{39038E46-FDF1-4E8E-9524-427F8B5A7BD2}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{39038E46-FDF1-4E8E-9524-427F8B5A7BD2}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{39038E46-FDF1-4E8E-9524-427F8B5A7BD2}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {09F10D6B-375A-41E1-9C86-04D9BABC2310}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8.1" />
|
||||
</startup>
|
||||
</configuration>
|
||||
@@ -0,0 +1,9 @@
|
||||
<Application x:Class="Application"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="clr-namespace:PS_Classics_fPKG_Builder"
|
||||
StartupUri="PSClassicsfPKGBuilder.xaml">
|
||||
<Application.Resources>
|
||||
|
||||
</Application.Resources>
|
||||
</Application>
|
||||
@@ -0,0 +1,6 @@
|
||||
Class Application
|
||||
|
||||
' Application-level events, such as Startup, Exit, and DispatcherUnhandledException
|
||||
' can be handled in this file.
|
||||
|
||||
End Class
|
||||
@@ -0,0 +1,59 @@
|
||||
Imports System
|
||||
Imports System.Globalization
|
||||
Imports System.Reflection
|
||||
Imports System.Resources
|
||||
Imports System.Runtime.InteropServices
|
||||
Imports System.Windows
|
||||
|
||||
' 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.
|
||||
|
||||
' Review the values of the assembly attributes
|
||||
|
||||
<Assembly: AssemblyTitle("PS Classics fPKG Builder")>
|
||||
<Assembly: AssemblyDescription("Create PS1, PS2 & PSP game fake packages for the PS4 / PS5.")>
|
||||
<Assembly: AssemblyCompany("SvenGDK")>
|
||||
<Assembly: AssemblyProduct("PS Classics fPKG Builder")>
|
||||
<Assembly: AssemblyCopyright("Copyright © SvenGDK 2024")>
|
||||
<Assembly: AssemblyTrademark("SvenGDK")>
|
||||
<Assembly: ComVisible(false)>
|
||||
|
||||
'In order to begin building localizable applications, set
|
||||
'<UICulture>CultureYouAreCodingWith</UICulture> in your .vbproj file
|
||||
'inside a <PropertyGroup>. For example, if you are using US english
|
||||
'in your source files, set the <UICulture> to "en-US". Then uncomment the
|
||||
'NeutralResourceLanguage attribute below. Update the "en-US" in the line
|
||||
'below to match the UICulture setting in the project file.
|
||||
|
||||
'<Assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)>
|
||||
|
||||
|
||||
'The ThemeInfo attribute describes where any theme specific and generic resource dictionaries can be found.
|
||||
'1st parameter: where theme specific resource dictionaries are located
|
||||
'(used if a resource is not found in the page,
|
||||
' or application resource dictionaries)
|
||||
|
||||
'2nd parameter: where the generic resource dictionary is located
|
||||
'(used if a resource is not found in the page,
|
||||
'app, and any theme specific resource dictionaries)
|
||||
<Assembly: ThemeInfo(ResourceDictionaryLocation.None, ResourceDictionaryLocation.SourceAssembly)>
|
||||
|
||||
|
||||
|
||||
'The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
<Assembly: Guid("ddc2f2ec-c598-4371-a07d-f2c2de8bdf64")>
|
||||
|
||||
' 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("1.0.0.0")>
|
||||
<Assembly: AssemblyFileVersion("1.0.0.0")>
|
||||
@@ -0,0 +1,121 @@
|
||||
#If _MyType <> "Empty" Then
|
||||
|
||||
Namespace My
|
||||
''' <summary>
|
||||
''' Module used to define the properties that are available in the My Namespace for WPF
|
||||
''' </summary>
|
||||
''' <remarks></remarks>
|
||||
<Global.Microsoft.VisualBasic.HideModuleName()> _
|
||||
Module MyWpfExtension
|
||||
Private s_Computer As New ThreadSafeObjectProvider(Of Global.Microsoft.VisualBasic.Devices.Computer)
|
||||
Private s_User As New ThreadSafeObjectProvider(Of Global.Microsoft.VisualBasic.ApplicationServices.User)
|
||||
Private s_Windows As New ThreadSafeObjectProvider(Of MyWindows)
|
||||
Private s_Log As New ThreadSafeObjectProvider(Of Global.Microsoft.VisualBasic.Logging.Log)
|
||||
''' <summary>
|
||||
''' Returns the application object for the running application
|
||||
''' </summary>
|
||||
<Global.System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")> _
|
||||
Friend ReadOnly Property Application() As Application
|
||||
Get
|
||||
Return CType(Global.System.Windows.Application.Current, Application)
|
||||
End Get
|
||||
End Property
|
||||
''' <summary>
|
||||
''' Returns information about the host computer.
|
||||
''' </summary>
|
||||
<Global.System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")> _
|
||||
Friend ReadOnly Property Computer() As Global.Microsoft.VisualBasic.Devices.Computer
|
||||
Get
|
||||
Return s_Computer.GetInstance()
|
||||
End Get
|
||||
End Property
|
||||
''' <summary>
|
||||
''' Returns information for the current user. If you wish to run the application with the current
|
||||
''' Windows user credentials, call My.User.InitializeWithWindowsUser().
|
||||
''' </summary>
|
||||
<Global.System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")> _
|
||||
Friend ReadOnly Property User() As Global.Microsoft.VisualBasic.ApplicationServices.User
|
||||
Get
|
||||
Return s_User.GetInstance()
|
||||
End Get
|
||||
End Property
|
||||
''' <summary>
|
||||
''' Returns the application log. The listeners can be configured by the application's configuration file.
|
||||
''' </summary>
|
||||
<Global.System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")> _
|
||||
Friend ReadOnly Property Log() As Global.Microsoft.VisualBasic.Logging.Log
|
||||
Get
|
||||
Return s_Log.GetInstance()
|
||||
End Get
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
''' Returns the collection of Windows defined in the project.
|
||||
''' </summary>
|
||||
<Global.System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")> _
|
||||
Friend ReadOnly Property Windows() As MyWindows
|
||||
<Global.System.Diagnostics.DebuggerHidden()> _
|
||||
Get
|
||||
Return s_Windows.GetInstance()
|
||||
End Get
|
||||
End Property
|
||||
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Never)> _
|
||||
<Global.Microsoft.VisualBasic.MyGroupCollection("System.Windows.Window", "Create__Instance__", "Dispose__Instance__", "My.MyWpfExtenstionModule.Windows")> _
|
||||
Friend NotInheritable Class MyWindows
|
||||
<Global.System.Diagnostics.DebuggerHidden()> _
|
||||
Private Shared Function Create__Instance__(Of T As {New, Global.System.Windows.Window})(ByVal Instance As T) As T
|
||||
If Instance Is Nothing Then
|
||||
If s_WindowBeingCreated IsNot Nothing Then
|
||||
If s_WindowBeingCreated.ContainsKey(GetType(T)) = True Then
|
||||
Throw New Global.System.InvalidOperationException("The window cannot be accessed via My.Windows from the Window constructor.")
|
||||
End If
|
||||
Else
|
||||
s_WindowBeingCreated = New Global.System.Collections.Hashtable()
|
||||
End If
|
||||
s_WindowBeingCreated.Add(GetType(T), Nothing)
|
||||
Return New T()
|
||||
s_WindowBeingCreated.Remove(GetType(T))
|
||||
Else
|
||||
Return Instance
|
||||
End If
|
||||
End Function
|
||||
<Global.System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1822:MarkMembersAsStatic")> _
|
||||
<Global.System.Diagnostics.DebuggerHidden()> _
|
||||
Private Sub Dispose__Instance__(Of T As Global.System.Windows.Window)(ByRef instance As T)
|
||||
instance = Nothing
|
||||
End Sub
|
||||
<Global.System.Diagnostics.DebuggerHidden()> _
|
||||
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Never)> _
|
||||
Public Sub New()
|
||||
MyBase.New()
|
||||
End Sub
|
||||
<Global.System.ThreadStatic()> Private Shared s_WindowBeingCreated As Global.System.Collections.Hashtable
|
||||
<Global.System.ComponentModel.EditorBrowsable(Global.System.ComponentModel.EditorBrowsableState.Never)> Public Overrides Function Equals(ByVal o As Object) As Boolean
|
||||
Return MyBase.Equals(o)
|
||||
End Function
|
||||
<Global.System.ComponentModel.EditorBrowsable(Global.System.ComponentModel.EditorBrowsableState.Never)> Public Overrides Function GetHashCode() As Integer
|
||||
Return MyBase.GetHashCode
|
||||
End Function
|
||||
<Global.System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1822:MarkMembersAsStatic")> _
|
||||
<Global.System.ComponentModel.EditorBrowsable(Global.System.ComponentModel.EditorBrowsableState.Never)> _
|
||||
Friend Overloads Function [GetType]() As Global.System.Type
|
||||
Return GetType(MyWindows)
|
||||
End Function
|
||||
<Global.System.ComponentModel.EditorBrowsable(Global.System.ComponentModel.EditorBrowsableState.Never)> Public Overrides Function ToString() As String
|
||||
Return MyBase.ToString
|
||||
End Function
|
||||
End Class
|
||||
End Module
|
||||
End Namespace
|
||||
Partial Class Application
|
||||
Inherits Global.System.Windows.Application
|
||||
<Global.System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")> _
|
||||
<Global.System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1822:MarkMembersAsStatic")> _
|
||||
Friend ReadOnly Property Info() As Global.Microsoft.VisualBasic.ApplicationServices.AssemblyInfo
|
||||
<Global.System.Diagnostics.DebuggerHidden()> _
|
||||
Get
|
||||
Return New Global.Microsoft.VisualBasic.ApplicationServices.AssemblyInfo(Global.System.Reflection.Assembly.GetExecutingAssembly())
|
||||
End Get
|
||||
End Property
|
||||
End Class
|
||||
#End If
|
||||
@@ -0,0 +1,62 @@
|
||||
'------------------------------------------------------------------------------
|
||||
' <auto-generated>
|
||||
' This code was generated by a tool.
|
||||
' Runtime Version:$clrversion$
|
||||
'
|
||||
' Changes to this file may cause incorrect behavior and will be lost if
|
||||
' the code is regenerated.
|
||||
' </auto-generated>
|
||||
'------------------------------------------------------------------------------
|
||||
|
||||
Option Strict On
|
||||
Option Explicit On
|
||||
|
||||
|
||||
Namespace My.Resources
|
||||
|
||||
'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.
|
||||
'''<summary>
|
||||
''' A strongly-typed resource class, for looking up localized strings, etc.
|
||||
'''</summary>
|
||||
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0"), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
|
||||
Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _
|
||||
Friend Module Resources
|
||||
|
||||
Private resourceMan As Global.System.Resources.ResourceManager
|
||||
|
||||
Private resourceCulture As Global.System.Globalization.CultureInfo
|
||||
|
||||
'''<summary>
|
||||
''' Returns the cached ResourceManager instance used by this class.
|
||||
'''</summary>
|
||||
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
|
||||
Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
|
||||
Get
|
||||
If Object.ReferenceEquals(resourceMan, Nothing) Then
|
||||
Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("$safeprojectname$.Resources", GetType(Resources).Assembly)
|
||||
resourceMan = temp
|
||||
End If
|
||||
Return resourceMan
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<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)> _
|
||||
Friend Property Culture() As Global.System.Globalization.CultureInfo
|
||||
Get
|
||||
Return resourceCulture
|
||||
End Get
|
||||
Set(ByVal value As Global.System.Globalization.CultureInfo)
|
||||
resourceCulture = value
|
||||
End Set
|
||||
End Property
|
||||
End Module
|
||||
End Namespace
|
||||
@@ -0,0 +1,117 @@
|
||||
<?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.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: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" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
</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" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
</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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
@@ -0,0 +1,73 @@
|
||||
'------------------------------------------------------------------------------
|
||||
' <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>
|
||||
'------------------------------------------------------------------------------
|
||||
|
||||
Option Strict On
|
||||
Option Explicit On
|
||||
|
||||
|
||||
Namespace My
|
||||
|
||||
<Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
|
||||
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0"), _
|
||||
Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
|
||||
Partial Friend NotInheritable Class MySettings
|
||||
Inherits Global.System.Configuration.ApplicationSettingsBase
|
||||
|
||||
Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings), MySettings)
|
||||
|
||||
#Region "My.Settings Auto-Save Functionality"
|
||||
#If _MyType = "WindowsForms" Then
|
||||
Private Shared addedHandler As Boolean
|
||||
|
||||
Private Shared addedHandlerLockObject As New Object
|
||||
|
||||
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
|
||||
Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs)
|
||||
If My.Application.SaveMySettingsOnExit Then
|
||||
My.Settings.Save()
|
||||
End If
|
||||
End Sub
|
||||
#End If
|
||||
#End Region
|
||||
|
||||
Public Shared ReadOnly Property [Default]() As MySettings
|
||||
Get
|
||||
|
||||
#If _MyType = "WindowsForms" Then
|
||||
If Not addedHandler Then
|
||||
SyncLock addedHandlerLockObject
|
||||
If Not addedHandler Then
|
||||
AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
|
||||
addedHandler = True
|
||||
End If
|
||||
End SyncLock
|
||||
End If
|
||||
#End If
|
||||
Return defaultInstance
|
||||
End Get
|
||||
End Property
|
||||
End Class
|
||||
End Namespace
|
||||
|
||||
Namespace My
|
||||
|
||||
<Global.Microsoft.VisualBasic.HideModuleNameAttribute(), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute()> _
|
||||
Friend Module MySettingsProperty
|
||||
|
||||
<Global.System.ComponentModel.Design.HelpKeywordAttribute("My.Settings")> _
|
||||
Friend ReadOnly Property Settings() As Global.PS_Classics_fPKG_Builder.My.MySettings
|
||||
Get
|
||||
Return Global.PS_Classics_fPKG_Builder.My.MySettings.Default
|
||||
End Get
|
||||
End Property
|
||||
End Module
|
||||
End Namespace
|
||||
@@ -0,0 +1,7 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" UseMySettingsClassName="true">
|
||||
<Profiles>
|
||||
<Profile Name="(Default)" />
|
||||
</Profiles>
|
||||
<Settings />
|
||||
</SettingsFile>
|
||||
@@ -0,0 +1,163 @@
|
||||
<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>{39038E46-FDF1-4E8E-9524-427F8B5A7BD2}</ProjectGuid>
|
||||
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}</ProjectTypeGuids>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<RootNamespace>PS_Classics_fPKG_Builder</RootNamespace>
|
||||
<AssemblyName>PS Classics fPKG Builder</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.8.1</TargetFrameworkVersion>
|
||||
<MyType>Custom</MyType>
|
||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||
<Deterministic>true</Deterministic>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<DefineDebug>true</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<IncrementalBuild>true</IncrementalBuild>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DocumentationFile>PS Classics fPKG Builder.xml</DocumentationFile>
|
||||
<NoWarn>41999,42016,42017,42018,42019,42020,42021,42022,42032,42036,42314</NoWarn>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<DebugSymbols>false</DebugSymbols>
|
||||
<DefineDebug>false</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<IncrementalBuild>false</IncrementalBuild>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DocumentationFile>PS Classics fPKG Builder.xml</DocumentationFile>
|
||||
<NoWarn>41999,42016,42017,42018,42019,42020,42021,42022,42032,42036,42314</NoWarn>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<OptionExplicit>On</OptionExplicit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<OptionCompare>Binary</OptionCompare>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<OptionStrict>Off</OptionStrict>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<OptionInfer>On</OptionInfer>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ApplicationIcon>v14Icon.ico</ApplicationIcon>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="DiscUtils.Core, Version=0.16.0.0, Culture=neutral, PublicKeyToken=5fa5b410cc9c6289, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\DiscUtils.Core.0.16.13\lib\net45\DiscUtils.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="DiscUtils.Iso9660, Version=0.16.0.0, Culture=neutral, PublicKeyToken=5fa5b410cc9c6289, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\DiscUtils.Iso9660.0.16.13\lib\net45\DiscUtils.Iso9660.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="DiscUtils.Streams, Version=0.16.0.0, Culture=neutral, PublicKeyToken=5fa5b410cc9c6289, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\DiscUtils.Streams.0.16.13\lib\net45\DiscUtils.Streams.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="DiscUtils.Udf, Version=0.16.0.0, Culture=neutral, PublicKeyToken=5fa5b410cc9c6289, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\DiscUtils.Udf.0.16.13\lib\net45\DiscUtils.Udf.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="LibOrbisPkg">
|
||||
<HintPath>..\..\..\..\Desktop\Classics\PS2\LibOrbisPkg.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="System.Xaml">
|
||||
<RequiredTargetFramework>4.0</RequiredTargetFramework>
|
||||
</Reference>
|
||||
<Reference Include="WindowsBase" />
|
||||
<Reference Include="PresentationCore" />
|
||||
<Reference Include="PresentationFramework" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ApplicationDefinition Include="Application.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</ApplicationDefinition>
|
||||
<Compile Include="PS1Game.vb" />
|
||||
<Compile Include="PS2Game.vb" />
|
||||
<Compile Include="PSClassicsfPKGBuilder.xaml.vb">
|
||||
<DependentUpon>PSClassicsfPKGBuilder.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Application.xaml.vb">
|
||||
<DependentUpon>Application.xaml</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Utils.vb" />
|
||||
<Page Include="PSClassicsfPKGBuilder.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Import Include="System.Threading.Tasks" />
|
||||
<Import Include="System.Linq" />
|
||||
<Import Include="System.Xml.Linq" />
|
||||
<Import Include="Microsoft.VisualBasic" />
|
||||
<Import Include="System" />
|
||||
<Import Include="System.Collections" />
|
||||
<Import Include="System.Collections.Generic" />
|
||||
<Import Include="System.Diagnostics" />
|
||||
<Import Include="System.Windows" />
|
||||
<Import Include="System.Windows.Controls" />
|
||||
<Import Include="System.Windows.Data" />
|
||||
<Import Include="System.Windows.Documents" />
|
||||
<Import Include="System.Windows.Input" />
|
||||
<Import Include="System.Windows.Shapes" />
|
||||
<Import Include="System.Windows.Media" />
|
||||
<Import Include="System.Windows.Media.Imaging" />
|
||||
<Import Include="System.Windows.Navigation" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="My Project\AssemblyInfo.vb">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="My Project\MyExtensions\MyWpfExtension.vb">
|
||||
<VBMyExtensionTemplateID>Microsoft.VisualBasic.WPF.MyExtension</VBMyExtensionTemplateID>
|
||||
<VBMyExtensionTemplateVersion>1.0.0.0</VBMyExtensionTemplateVersion>
|
||||
</Compile>
|
||||
<Compile Include="My Project\Resources.Designer.vb">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="My Project\Settings.Designer.vb">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
<EmbeddedResource Include="My Project\Resources.resx">
|
||||
<Generator>VbMyResourcesResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
|
||||
<CustomToolNamespace>My.Resources</CustomToolNamespace>
|
||||
</EmbeddedResource>
|
||||
<None Include="My Project\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.vb</LastGenOutput>
|
||||
</None>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="App.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="v14Icon.ico" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
|
||||
</Project>
|
||||
@@ -0,0 +1,35 @@
|
||||
Imports System.IO
|
||||
|
||||
Public Class PS1Game
|
||||
|
||||
Public Shared Function GetPS1GameTitleFromDatabaseList(GameID As String) As String
|
||||
Dim FoundGameTitle As String = ""
|
||||
|
||||
For Each GameTitle As String In File.ReadLines(My.Computer.FileSystem.CurrentDirectory + "\Tools\ps1ids.txt")
|
||||
If GameTitle.Contains(GameID) Then
|
||||
FoundGameTitle = GameTitle.Split(";"c)(1)
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
|
||||
If String.IsNullOrEmpty(FoundGameTitle) Then
|
||||
Return ""
|
||||
Else
|
||||
Return FoundGameTitle
|
||||
End If
|
||||
End Function
|
||||
|
||||
Public Shared Function IsGameProtected(GameID As String) As String
|
||||
Dim FoundValue As String = ""
|
||||
|
||||
For Each GameIDInFile As String In File.ReadLines(My.Computer.FileSystem.CurrentDirectory + "\Tools\libcrypt.txt")
|
||||
If GameIDInFile.Contains(GameID) Then
|
||||
FoundValue = GameIDInFile.Split(" "c)(1)
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
|
||||
Return FoundValue
|
||||
End Function
|
||||
|
||||
End Class
|
||||
@@ -0,0 +1,61 @@
|
||||
Imports System.IO
|
||||
|
||||
Public Class PS2Game
|
||||
|
||||
Public Shared Function GetPS2GameID(GameISO As String) As String
|
||||
Dim GameID As String = ""
|
||||
|
||||
Using SevenZip As New Process()
|
||||
SevenZip.StartInfo.FileName = My.Computer.FileSystem.CurrentDirectory + "\Tools\7z.exe"
|
||||
SevenZip.StartInfo.Arguments = "l -ba """ + GameISO + """"
|
||||
SevenZip.StartInfo.RedirectStandardOutput = True
|
||||
SevenZip.StartInfo.UseShellExecute = False
|
||||
SevenZip.StartInfo.CreateNoWindow = True
|
||||
SevenZip.Start()
|
||||
|
||||
'Read the output
|
||||
Dim OutputReader As StreamReader = SevenZip.StandardOutput
|
||||
Dim ProcessOutput As String() = OutputReader.ReadToEnd().Split(New String() {vbCrLf}, StringSplitOptions.None)
|
||||
|
||||
If ProcessOutput.Length > 0 Then
|
||||
For Each Line As String In ProcessOutput
|
||||
If Line.Contains("SLES_") Or Line.Contains("SLUS_") Or Line.Contains("SCES_") Or Line.Contains("SCUS_") Then
|
||||
If Line.Contains("Volume:") Then 'ID found in the ISO Header
|
||||
If Line.Split(New String() {"Volume: "}, StringSplitOptions.RemoveEmptyEntries).Length > 0 Then
|
||||
GameID = Line.Split(New String() {"Volume: "}, StringSplitOptions.RemoveEmptyEntries)(1)
|
||||
Exit For
|
||||
End If
|
||||
Else 'ID found in the ISO files
|
||||
If String.Join(" ", Line.Split(New Char() {}, StringSplitOptions.RemoveEmptyEntries)).Split(" "c).Length > 4 Then
|
||||
GameID = String.Join(" ", Line.Split(New Char() {}, StringSplitOptions.RemoveEmptyEntries)).Split(" "c)(5).Trim()
|
||||
Exit For
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
|
||||
End Using
|
||||
|
||||
Return GameID
|
||||
End Function
|
||||
|
||||
Public Shared Function GetPS2GameTitleFromDatabaseList(GameID As String) As String
|
||||
Dim FoundGameTitle As String = ""
|
||||
GameID = GameID.Replace("-", "")
|
||||
|
||||
For Each GameTitle As String In File.ReadLines(My.Computer.FileSystem.CurrentDirectory + "\Tools\ps2ids.txt")
|
||||
If GameTitle.Contains(GameID) Then
|
||||
FoundGameTitle = GameTitle.Split(";"c)(1)
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
|
||||
If String.IsNullOrEmpty(FoundGameTitle) Then
|
||||
Return "Unknown PS2 game"
|
||||
Else
|
||||
Return FoundGameTitle
|
||||
End If
|
||||
End Function
|
||||
|
||||
End Class
|
||||
@@ -0,0 +1,185 @@
|
||||
<Window x:Class="PSClassicsfPKGBuilder"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:local="clr-namespace:PS_Classics_fPKG_Builder"
|
||||
mc:Ignorable="d"
|
||||
Title="PS Classics fPKG Builder [by SvenGDK]" Height="655" Width="1000" Background="#2D2D30" ResizeMode="CanMinimize" WindowStartupLocation="CenterScreen">
|
||||
<Grid>
|
||||
<TabControl>
|
||||
<TabItem Header="PS1 Classics">
|
||||
<Grid Background="#2D2D30">
|
||||
<TextBlock HorizontalAlignment="Left" Margin="19,184,0,0" TextWrapping="Wrap" Text="Disc 1 :" VerticalAlignment="Top" Foreground="White"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="19,160,0,0" TextWrapping="Wrap" Text="Discs Configuration" VerticalAlignment="Top" Foreground="White" FontSize="14" FontWeight="Bold"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="19,208,0,0" TextWrapping="Wrap" Text="Disc 2 :" VerticalAlignment="Top" Foreground="White"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="19,231,0,0" TextWrapping="Wrap" Text="Disc 3 :" VerticalAlignment="Top" Foreground="White"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="19,254,0,0" TextWrapping="Wrap" Text="Disc 4 :" VerticalAlignment="Top" Foreground="White"/>
|
||||
<TextBox x:Name="PS1SelectedDisc1TextBox" HorizontalAlignment="Left" Margin="62,184,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="500"/>
|
||||
<TextBox x:Name="PS1SelectedDisc2TextBox" HorizontalAlignment="Left" Margin="62,207,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="500"/>
|
||||
<TextBox x:Name="PS1SelectedDisc3TextBox" HorizontalAlignment="Left" Margin="62,230,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="500"/>
|
||||
<TextBox x:Name="PS1SelectedDisc4TextBox" HorizontalAlignment="Left" Margin="62,253,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="500"/>
|
||||
<Button x:Name="BrowsePS1Disc1Button" Content="Browse" HorizontalAlignment="Left" Margin="567,183,0,0" VerticalAlignment="Top" Width="75"/>
|
||||
<Button x:Name="BrowsePS1Disc2Button" Content="Browse" HorizontalAlignment="Left" Margin="567,206,0,0" VerticalAlignment="Top" Width="75"/>
|
||||
<Button x:Name="BrowsePS1Disc3Button" Content="Browse" HorizontalAlignment="Left" Margin="567,229,0,0" VerticalAlignment="Top" Width="75"/>
|
||||
<Button x:Name="BrowsePS1Disc4Button" Content="Browse" HorizontalAlignment="Left" Margin="567,252,0,0" VerticalAlignment="Top" Width="75"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="19,10,0,0" TextWrapping="Wrap" Text="Create a PS1 fPKG" VerticalAlignment="Top" Foreground="White" FontSize="14" FontWeight="Bold"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="19,34,0,0" TextWrapping="Wrap" Text="PKG Details" VerticalAlignment="Top" Foreground="White" FontSize="14" FontWeight="Bold"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="19,58,0,0" TextWrapping="Wrap" Text="Icon :" VerticalAlignment="Top" Foreground="White"/>
|
||||
<TextBox x:Name="SelectedPS1IconTextBox" HorizontalAlignment="Left" Margin="130,58,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="432"/>
|
||||
<Button x:Name="BrowsePS1IconButton" Content="Browse" HorizontalAlignment="Left" Margin="567,57,0,0" VerticalAlignment="Top" Width="75"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="19,81,0,0" TextWrapping="Wrap" Text="Background Image :" VerticalAlignment="Top" Foreground="White"/>
|
||||
<TextBox x:Name="SelectedPS1BGTextBox" HorizontalAlignment="Left" Margin="130,81,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="432"/>
|
||||
<Button x:Name="BrowsePS1StartupImageButton" Content="Browse" HorizontalAlignment="Left" Margin="567,80,0,0" VerticalAlignment="Top" Width="75"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="19,104,0,0" TextWrapping="Wrap" Text="Title :" VerticalAlignment="Top" Foreground="White"/>
|
||||
<TextBox x:Name="PS1TitleTextBox" HorizontalAlignment="Left" Margin="130,104,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="432"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="19,127,0,0" TextWrapping="Wrap" Text="NP Title :" VerticalAlignment="Top" Foreground="White"/>
|
||||
<TextBox x:Name="PS1NPTitleTextBox" HorizontalAlignment="Left" Margin="130,127,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="432"/>
|
||||
<Button x:Name="BuildPS1fPKGButton" Content="Build fPKG" HorizontalAlignment="Left" Margin="676,57,0,0" VerticalAlignment="Top" Width="198" FontWeight="Bold"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="676,34,0,0" TextWrapping="Wrap" Text="PKG Build Options" VerticalAlignment="Top" Foreground="White" FontSize="14" FontWeight="Bold"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="19,291,0,0" TextWrapping="Wrap" Text="Emulator Configuration & Fixes" VerticalAlignment="Top" Foreground="White" FontSize="14" FontWeight="Bold"/>
|
||||
<TextBox x:Name="SelectedPS1TXTConfigTextBox" HorizontalAlignment="Left" Margin="88,315,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="474"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="19,316,0,0" TextWrapping="Wrap" Text="TXT Config :" VerticalAlignment="Top" Foreground="White"/>
|
||||
<TextBox x:Name="SelectedPS1LUAConfigTextBox" HorizontalAlignment="Left" Margin="88,338,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="474"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="19,339,0,0" TextWrapping="Wrap" Text="LUA Config :" VerticalAlignment="Top" Foreground="White"/>
|
||||
<CheckBox x:Name="PS1SkipBootlogoCheckBox" Content="Skip Bootlogo" HorizontalAlignment="Left" Margin="19,396,0,0" VerticalAlignment="Top" Foreground="White" IsChecked="False"/>
|
||||
<CheckBox x:Name="PS1EmulateAnalogSticksCheckBox" Content="Emulate Analog Sticks" HorizontalAlignment="Left" Margin="19,416,0,0" VerticalAlignment="Top" Foreground="White"/>
|
||||
<Button x:Name="BrowsePS1TXTConfigButton" Content="Browse" HorizontalAlignment="Left" Margin="567,314,0,0" VerticalAlignment="Top" Width="75"/>
|
||||
<Button x:Name="BrowsePS1LUAConfigButton" Content="Browse" HorizontalAlignment="Left" Margin="567,337,0,0" VerticalAlignment="Top" Width="75"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="19,372,0,0" TextWrapping="Wrap" Text="More Emulator Options" VerticalAlignment="Top" Foreground="White" FontSize="14" FontWeight="Bold"/>
|
||||
<CheckBox x:Name="PS1Force60HzCheckBox" Content="Force 60Hz" HorizontalAlignment="Left" Margin="19,436,0,0" VerticalAlignment="Top" Foreground="White"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="190,395,0,0" TextWrapping="Wrap" Text="Upscaling :" VerticalAlignment="Top" Foreground="White"/>
|
||||
<ComboBox x:Name="PS1UpscalingComboBox" HorizontalAlignment="Left" Margin="259,392,0,0" VerticalAlignment="Top" Width="64" SelectedIndex="2">
|
||||
<ComboBoxItem Content="6"/>
|
||||
<ComboBoxItem Content="4"/>
|
||||
<ComboBoxItem Content="2"/>
|
||||
<ComboBoxItem Content="1"/>
|
||||
</ComboBox>
|
||||
<CheckBox x:Name="PS1GunconCheckBox" Content="Guncon" HorizontalAlignment="Left" Margin="19,456,0,0" VerticalAlignment="Top" Foreground="White"/>
|
||||
</Grid>
|
||||
</TabItem>
|
||||
<TabItem Header="PS2 Classics">
|
||||
<Grid Background="#2D2D30">
|
||||
<TextBlock HorizontalAlignment="Left" Margin="19,10,0,0" TextWrapping="Wrap" Text="Create a PS2 fPKG" VerticalAlignment="Top" Foreground="White" FontSize="14" FontWeight="Bold"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="19,180,0,0" TextWrapping="Wrap" Text="Disc 1 :" VerticalAlignment="Top" Foreground="White"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="19,156,0,0" TextWrapping="Wrap" Text="Discs Configuration" VerticalAlignment="Top" Foreground="White" FontSize="14" FontWeight="Bold"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="19,204,0,0" TextWrapping="Wrap" Text="Disc 2 :" VerticalAlignment="Top" Foreground="White"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="19,227,0,0" TextWrapping="Wrap" Text="Disc 3 :" VerticalAlignment="Top" Foreground="White"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="19,250,0,0" TextWrapping="Wrap" Text="Disc 4 :" VerticalAlignment="Top" Foreground="White"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="19,273,0,0" TextWrapping="Wrap" Text="Disc 5 :" VerticalAlignment="Top" Foreground="White"/>
|
||||
<TextBox x:Name="SelectedDisc1TextBox" HorizontalAlignment="Left" Margin="62,180,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="500"/>
|
||||
<TextBox x:Name="SelectedDisc2TextBox" HorizontalAlignment="Left" Margin="62,203,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="500"/>
|
||||
<TextBox x:Name="SelectedDisc3TextBox" HorizontalAlignment="Left" Margin="62,226,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="500"/>
|
||||
<TextBox x:Name="SelectedDisc4TextBox" HorizontalAlignment="Left" Margin="62,249,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="500"/>
|
||||
<TextBox x:Name="SelectedDisc5TextBox" HorizontalAlignment="Left" Margin="62,272,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="500"/>
|
||||
<CheckBox x:Name="PS2RestartEmulatorOnDiscChangeCheckBox" Content="Restart emulator on disc change" HorizontalAlignment="Left" Margin="676,180,0,0" VerticalAlignment="Top" Foreground="White" IsChecked="False"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="676,156,0,0" TextWrapping="Wrap" Text="Disc Options" VerticalAlignment="Top" Foreground="White" FontSize="14" FontWeight="Bold"/>
|
||||
<ComboBox x:Name="PS2EmulatorComboBox" HorizontalAlignment="Left" Margin="676,244,0,0" VerticalAlignment="Top" Width="198" SelectedIndex="0">
|
||||
<ComboBoxItem Content="Jak v2"/>
|
||||
<ComboBoxItem Content="Rogue v1"/>
|
||||
</ComboBox>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="676,220,0,0" TextWrapping="Wrap" Text="PS2 Emulator" VerticalAlignment="Top" Foreground="White" FontSize="14" FontWeight="Bold"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="19,304,0,0" TextWrapping="Wrap" Text="Emulator Configuration & Fixes" VerticalAlignment="Top" Foreground="White" FontSize="14" FontWeight="Bold"/>
|
||||
<TextBox x:Name="SelectedPS2TXTConfigTextBox" HorizontalAlignment="Left" Margin="88,328,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="474"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="19,329,0,0" TextWrapping="Wrap" Text="TXT Config :" VerticalAlignment="Top" Foreground="White"/>
|
||||
<TextBox x:Name="SelectedPS2LUAConfigTextBox" HorizontalAlignment="Left" Margin="88,351,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="474"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="19,352,0,0" TextWrapping="Wrap" Text="LUA Config :" VerticalAlignment="Top" Foreground="White"/>
|
||||
<CheckBox x:Name="PS2FixGraphicsCheckBox" Content="Fix Graphics" HorizontalAlignment="Left" Margin="676,328,0,0" VerticalAlignment="Top" Foreground="White" IsChecked="True"/>
|
||||
<CheckBox x:Name="PS2DisableMTVUCheckBox" Content="Disable MTVU" HorizontalAlignment="Left" Margin="771,328,0,0" VerticalAlignment="Top" Foreground="White"/>
|
||||
<CheckBox x:Name="PS2ImproveSpeedCheckBox" Content="Improve Speed" HorizontalAlignment="Left" Margin="676,348,0,0" VerticalAlignment="Top" Foreground="White"/>
|
||||
<CheckBox x:Name="PS2DisableInstantVIF1TransferCheckBox" Content="Disable instant VIF1 transfer" HorizontalAlignment="Left" Margin="676,368,0,0" VerticalAlignment="Top" Foreground="White"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="197,427,0,0" TextWrapping="Wrap" Text="Uprender :" VerticalAlignment="Top" Foreground="White"/>
|
||||
<ComboBox x:Name="PS2UprenderComboBox" HorizontalAlignment="Left" Margin="197,448,0,0" VerticalAlignment="Top" Width="175" SelectedIndex="1">
|
||||
<ComboBoxItem Content="None"/>
|
||||
<ComboBoxItem Content="2x2"/>
|
||||
</ComboBox>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="197,475,0,0" TextWrapping="Wrap" Text="Display Mode :" VerticalAlignment="Top" Foreground="White"/>
|
||||
<ComboBox x:Name="PS2DisplayModeComboBox" HorizontalAlignment="Left" Margin="197,496,0,0" VerticalAlignment="Top" Width="175" SelectedIndex="0">
|
||||
<ComboBoxItem Content="Normal"/>
|
||||
<ComboBoxItem Content="Full"/>
|
||||
<ComboBoxItem Content="4:3"/>
|
||||
<ComboBoxItem Content="16:9"/>
|
||||
</ComboBox>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="17,427,0,0" TextWrapping="Wrap" Text="Upscaling :" VerticalAlignment="Top" Foreground="White"/>
|
||||
<ComboBox x:Name="PS2UpscalingComboBox" HorizontalAlignment="Left" Margin="17,448,0,0" VerticalAlignment="Top" Width="175" SelectedIndex="0">
|
||||
<ComboBoxItem Content="None"/>
|
||||
<ComboBoxItem Content="GPU"/>
|
||||
<ComboBoxItem Content="Bilinear"/>
|
||||
<ComboBoxItem Content="Edgesmooth"/>
|
||||
<ComboBoxItem Content="Point"/>
|
||||
</ComboBox>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="17,475,0,0" TextWrapping="Wrap" Text="Shader :" VerticalAlignment="Top" Foreground="White"/>
|
||||
<ComboBox x:Name="PS2ShaderComboBox" HorizontalAlignment="Left" Margin="17,496,0,0" VerticalAlignment="Top" Width="175" SelectedIndex="0">
|
||||
<ComboBoxItem Content="None"/>
|
||||
<ComboBoxItem Content="Scanlines"/>
|
||||
</ComboBox>
|
||||
<CheckBox x:Name="PS2UseWidescreenPatchCheckBox" Content="Widescreen Patch" HorizontalAlignment="Left" Margin="383,499,0,0" VerticalAlignment="Top" Foreground="White" IsEnabled="False"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="18,403,0,0" TextWrapping="Wrap" Text="Emulator Graphics Settings" VerticalAlignment="Top" Foreground="White" FontSize="14" FontWeight="Bold"/>
|
||||
<Button x:Name="BrowsePS2Disc1Button" Content="Browse" HorizontalAlignment="Left" Margin="567,179,0,0" VerticalAlignment="Top" Width="75"/>
|
||||
<Button x:Name="BrowsePS2Disc2Button" Content="Browse" HorizontalAlignment="Left" Margin="567,202,0,0" VerticalAlignment="Top" Width="75"/>
|
||||
<Button x:Name="BrowsePS2Disc3Button" Content="Browse" HorizontalAlignment="Left" Margin="567,225,0,0" VerticalAlignment="Top" Width="75"/>
|
||||
<Button x:Name="BrowsePS2Disc4Button" Content="Browse" HorizontalAlignment="Left" Margin="567,248,0,0" VerticalAlignment="Top" Width="75"/>
|
||||
<Button x:Name="BrowsePS2Disc5Button" Content="Browse" HorizontalAlignment="Left" Margin="567,271,0,0" VerticalAlignment="Top" Width="75"/>
|
||||
<Button x:Name="BrowsePS2TXTConfigButton" Content="Browse" HorizontalAlignment="Left" Margin="567,327,0,0" VerticalAlignment="Top" Width="75"/>
|
||||
<Button x:Name="BrowsePS2LUAConfigButton" Content="Browse" HorizontalAlignment="Left" Margin="567,350,0,0" VerticalAlignment="Top" Width="75"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="676,304,0,0" TextWrapping="Wrap" Text="More Options" VerticalAlignment="Top" Foreground="White" FontSize="14" FontWeight="Bold"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="17,537,0,0" TextWrapping="Wrap" Text="Memory Card & Other Settings" VerticalAlignment="Top" Foreground="White" FontSize="14" FontWeight="Bold"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="18,562,0,0" TextWrapping="Wrap" Text="Import PS2 8MB Memory Card :" VerticalAlignment="Top" Foreground="White"/>
|
||||
<TextBox x:Name="SelectedPS2MemoryCardTextBox" HorizontalAlignment="Left" Margin="197,561,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="364"/>
|
||||
<Button x:Name="BrowsePS2MCButton" Content="Browse" HorizontalAlignment="Left" Margin="566,560,0,0" VerticalAlignment="Top" Width="75"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="675,562,0,0" TextWrapping="Wrap" Text="Multitap :" VerticalAlignment="Top" Foreground="White"/>
|
||||
<ComboBox x:Name="PS2MultitapComboBox" HorizontalAlignment="Left" Margin="731,559,0,0" VerticalAlignment="Top" Width="106" SelectedIndex="0">
|
||||
<ComboBoxItem Content="Disabled"/>
|
||||
<ComboBoxItem Content="On Port 1"/>
|
||||
<ComboBoxItem Content="On Port 2"/>
|
||||
<ComboBoxItem Content="On Port 1 and 2"/>
|
||||
</ComboBox>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="19,34,0,0" TextWrapping="Wrap" Text="PKG Details" VerticalAlignment="Top" Foreground="White" FontSize="14" FontWeight="Bold"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="19,58,0,0" TextWrapping="Wrap" Text="Icon :" VerticalAlignment="Top" Foreground="White"/>
|
||||
<TextBox x:Name="SelectedIconTextBox" HorizontalAlignment="Left" Margin="130,58,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="432"/>
|
||||
<Button x:Name="BrowsePS2IconButton" Content="Browse" HorizontalAlignment="Left" Margin="567,57,0,0" VerticalAlignment="Top" Width="75"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="19,81,0,0" TextWrapping="Wrap" Text="Background Image :" VerticalAlignment="Top" Foreground="White"/>
|
||||
<TextBox x:Name="SelectedStartupImageTextBox" HorizontalAlignment="Left" Margin="130,81,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="432"/>
|
||||
<Button x:Name="BrowsePS2StartupImageButton" Content="Browse" HorizontalAlignment="Left" Margin="567,80,0,0" VerticalAlignment="Top" Width="75"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="19,104,0,0" TextWrapping="Wrap" Text="Title :" VerticalAlignment="Top" Foreground="White"/>
|
||||
<TextBox x:Name="PS2TitleTextBox" HorizontalAlignment="Left" Margin="130,104,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="432"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="19,127,0,0" TextWrapping="Wrap" Text="NP Title :" VerticalAlignment="Top" Foreground="White"/>
|
||||
<TextBox x:Name="PS2NPTitleTextBox" HorizontalAlignment="Left" Margin="130,127,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="432"/>
|
||||
<Button x:Name="BuildPS2fPKGButton" Content="Build fPKG" HorizontalAlignment="Left" Margin="676,57,0,0" VerticalAlignment="Top" Width="198" FontWeight="Bold"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="676,34,0,0" TextWrapping="Wrap" Text="PKG Build Options" VerticalAlignment="Top" Foreground="White" FontSize="14" FontWeight="Bold"/>
|
||||
<CheckBox x:Name="PS2AddTXTConfigFromDatabaseCheckBox" Content="Add TXT Config from DB" HorizontalAlignment="Left" Margin="88,374,0,0" VerticalAlignment="Top" Foreground="White" IsChecked="False"/>
|
||||
<CheckBox x:Name="PS2AddLUAConfigFromDatabaseCheckBox" Content="Add LUA Config from DB" HorizontalAlignment="Left" Margin="243,374,0,0" VerticalAlignment="Top" Foreground="White" IsChecked="False"/>
|
||||
<CheckBox x:Name="PS2AddPS3ConfigFromDatabaseCheckBox" Content="Add PS3 Config from DB" HorizontalAlignment="Left" Margin="400,374,0,0" VerticalAlignment="Top" Foreground="White" IsChecked="False"/>
|
||||
<CheckBox x:Name="PS2UseCompressionCheckBox" Content="Use Compression" HorizontalAlignment="Left" Margin="676,200,0,0" VerticalAlignment="Top" Foreground="White" IsChecked="True"/>
|
||||
</Grid>
|
||||
</TabItem>
|
||||
<TabItem Header="PSP Classics">
|
||||
<Grid Background="#2D2D30">
|
||||
<TextBlock HorizontalAlignment="Left" Margin="19,10,0,0" TextWrapping="Wrap" Text="Create a PSP fPKG" VerticalAlignment="Top" Foreground="White" FontSize="14" FontWeight="Bold"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="19,34,0,0" TextWrapping="Wrap" Text="PKG Details" VerticalAlignment="Top" Foreground="White" FontSize="14" FontWeight="Bold"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="19,58,0,0" TextWrapping="Wrap" Text="Icon :" VerticalAlignment="Top" Foreground="White"/>
|
||||
<TextBox x:Name="SelectedPSPIconTextBox" HorizontalAlignment="Left" Margin="132,58,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="430"/>
|
||||
<Button x:Name="BrowsePSPIconButton" Content="Browse" HorizontalAlignment="Left" Margin="567,57,0,0" VerticalAlignment="Top" Width="75"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="19,81,0,0" TextWrapping="Wrap" Text="Background Image :" VerticalAlignment="Top" Foreground="White"/>
|
||||
<TextBox x:Name="SelectedPSPBGImageTextBox" HorizontalAlignment="Left" Margin="132,81,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="430"/>
|
||||
<Button x:Name="BrowsePSPBGButton" Content="Browse" HorizontalAlignment="Left" Margin="567,80,0,0" VerticalAlignment="Top" Width="75"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="19,104,0,0" TextWrapping="Wrap" Text="Title :" VerticalAlignment="Top" Foreground="White"/>
|
||||
<TextBox x:Name="PSPTitleTextBox" HorizontalAlignment="Left" Margin="132,104,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="430"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="19,127,0,0" TextWrapping="Wrap" Text="NP Title :" VerticalAlignment="Top" Foreground="White"/>
|
||||
<TextBox x:Name="PSPNPTitleTextBox" HorizontalAlignment="Left" Margin="132,127,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="430"/>
|
||||
<Button x:Name="BuildPSPfPKGButton" Content="Build fPKG" HorizontalAlignment="Left" Margin="676,57,0,0" VerticalAlignment="Top" Width="198" FontWeight="Bold"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="676,34,0,0" TextWrapping="Wrap" Text="PKG Build Options" VerticalAlignment="Top" Foreground="White" FontSize="14" FontWeight="Bold"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="19,186,0,0" TextWrapping="Wrap" Text="ISO File :" VerticalAlignment="Top" Foreground="White"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="19,162,0,0" TextWrapping="Wrap" Text="Disc Configuration" VerticalAlignment="Top" Foreground="White" FontSize="14" FontWeight="Bold"/>
|
||||
<TextBox x:Name="SelectedPSPDiscTextBox" HorizontalAlignment="Left" Margin="132,186,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="430"/>
|
||||
<Button x:Name="BrowsePSPDiscButton" Content="Browse" HorizontalAlignment="Left" Margin="567,185,0,0" VerticalAlignment="Top" Width="75"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="19,220,0,0" TextWrapping="Wrap" Text="Emulator Configuration" VerticalAlignment="Top" Foreground="White" FontSize="14" FontWeight="Bold"/>
|
||||
<TextBox x:Name="SelectedPSPConfigTextBox" HorizontalAlignment="Left" Margin="132,244,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="430"/>
|
||||
<TextBlock HorizontalAlignment="Left" Margin="19,245,0,0" TextWrapping="Wrap" Text="Custom config-title :" VerticalAlignment="Top" Foreground="White"/>
|
||||
<Button x:Name="BrowsePSPConfigButton" Content="Browse" HorizontalAlignment="Left" Margin="567,243,0,0" VerticalAlignment="Top" Width="75"/>
|
||||
</Grid>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
|
||||
</Grid>
|
||||
</Window>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,17 @@
|
||||
Imports System.Drawing
|
||||
|
||||
Public Class Utils
|
||||
|
||||
Public Shared Function ResizeAsImage(InputImage As Image, NewSizeX As Integer, NewSizeY As Integer) As Image
|
||||
Return New Bitmap(InputImage, New Size(NewSizeX, NewSizeY))
|
||||
End Function
|
||||
|
||||
Public Shared Function ConvertTo24bppPNG(ImageToConvert As Image) As Bitmap
|
||||
Dim NewBitmap As New Bitmap(ImageToConvert.Width, ImageToConvert.Height, Imaging.PixelFormat.Format24bppRgb)
|
||||
Using NewGraphics As Graphics = Graphics.FromImage(NewBitmap)
|
||||
NewGraphics.DrawImage(ImageToConvert, New Rectangle(0, 0, ImageToConvert.Width, ImageToConvert.Height))
|
||||
End Using
|
||||
Return NewBitmap
|
||||
End Function
|
||||
|
||||
End Class
|
||||
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="DiscUtils.Core" version="0.16.13" targetFramework="net481" />
|
||||
<package id="DiscUtils.Iso9660" version="0.16.13" targetFramework="net481" />
|
||||
<package id="DiscUtils.Streams" version="0.16.13" targetFramework="net481" />
|
||||
<package id="DiscUtils.Udf" version="0.16.13" targetFramework="net481" />
|
||||
</packages>
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 20 KiB |
Reference in New Issue
Block a user