Linux build

- Add Linux build
This commit is contained in:
SvenGDK
2024-09-08 16:25:24 +02:00
parent 1f271dd9a8
commit 651e3ae792
14 changed files with 3876 additions and 0 deletions
+1
View File
@@ -68,3 +68,4 @@ fastlane/test_output
bin bin
obj obj
packages packages
Tools
+25
View File
@@ -0,0 +1,25 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.11.35219.272
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "makePSClassicsfPKG", "makePSClassicsfPKG\makePSClassicsfPKG.csproj", "{673E992E-C1E7-47F1-9B7C-3387623B3914}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{673E992E-C1E7-47F1-9B7C-3387623B3914}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{673E992E-C1E7-47F1-9B7C-3387623B3914}.Debug|Any CPU.Build.0 = Debug|Any CPU
{673E992E-C1E7-47F1-9B7C-3387623B3914}.Release|Any CPU.ActiveCfg = Release|Any CPU
{673E992E-C1E7-47F1-9B7C-3387623B3914}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {EA192E80-5CFB-4874-A996-EA7F4EED9048}
EndGlobalSection
EndGlobal
+10
View File
@@ -0,0 +1,10 @@
<Application xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="makePSClassicsfPKG.App"
RequestedThemeVariant="Default">
<!-- "Default" ThemeVariant follows system theme variant. "Dark" or "Light" are other available options. -->
<Application.Styles>
<FluentTheme />
</Application.Styles>
</Application>
+24
View File
@@ -0,0 +1,24 @@
using Avalonia;
using Avalonia.Controls.ApplicationLifetimes;
using Avalonia.Markup.Xaml;
namespace makePSClassicsfPKG
{
public partial class App : Application
{
public override void Initialize()
{
AvaloniaXamlLoader.Load(this);
}
public override void OnFrameworkInitializationCompleted()
{
if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
{
desktop.MainWindow = new MainWindow();
}
base.OnFrameworkInitializationCompleted();
}
}
}
+226
View File
@@ -0,0 +1,226 @@
<Window xmlns="https://github.com/avaloniaui"
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"
mc:Ignorable="d" d:DesignWidth="1100" d:DesignHeight="775"
x:Class="makePSClassicsfPKG.MainWindow"
Title="PS Classics fPKG Builder for Linux [by SvenGDK]" Height="775" Width="1100">
<Grid>
<TabControl>
<TabItem Header="PS1 Classics">
<Grid Background="#2D2D30">
<TextBlock HorizontalAlignment="Left" Margin="19,10,0,0" TextWrapping="NoWrap" Text="Create a PS1 fPKG" VerticalAlignment="Top" Foreground="White" FontSize="16" FontWeight="Bold"/>
<TextBlock HorizontalAlignment="Left" Margin="19,40,0,0" TextWrapping="NoWrap" Text="PKG Details" VerticalAlignment="Top" Foreground="White" FontSize="14" FontWeight="Bold"/>
<TextBlock HorizontalAlignment="Left" Margin="19,65,0,0" TextWrapping="NoWrap" Text="Icon :" VerticalAlignment="Top" Foreground="White"/>
<TextBlock HorizontalAlignment="Left" Margin="19,100,0,0" TextWrapping="NoWrap" Text="Background Image :" VerticalAlignment="Top" Foreground="White"/>
<TextBlock HorizontalAlignment="Left" Margin="19,135,0,0" TextWrapping="NoWrap" Text="Title :" VerticalAlignment="Top" Foreground="White"/>
<TextBlock HorizontalAlignment="Left" Margin="19,170,0,0" TextWrapping="NoWrap" Text="NP Title :" VerticalAlignment="Top" Foreground="White"/>
<TextBox x:Name="SelectedPS1IconTextBox" HorizontalAlignment="Left" Margin="160,60,0,0" TextWrapping="NoWrap" VerticalAlignment="Top" Width="430"/>
<TextBox x:Name="SelectedPS1BGTextBox" HorizontalAlignment="Left" Margin="160,95,0,0" TextWrapping="NoWrap" VerticalAlignment="Top" Width="430"/>
<TextBox x:Name="PS1TitleTextBox" HorizontalAlignment="Left" Margin="160,130,0,0" TextWrapping="NoWrap" VerticalAlignment="Top" Width="430"/>
<TextBox x:Name="PS1NPTitleTextBox" HorizontalAlignment="Left" Margin="160,165,0,0" TextWrapping="NoWrap" VerticalAlignment="Top" Width="430"/>
<Button x:Name="BrowsePS1IconButton" Content="Browse" HorizontalAlignment="Left" Margin="600,60,0,0" VerticalAlignment="Top" Width="75" Click="BrowsePS1IconButton_Click"/>
<Button x:Name="BrowsePS1StartupImageButton" Content="Browse" HorizontalAlignment="Left" Margin="600,95,0,0" VerticalAlignment="Top" Width="75" Click="BrowsePS1StartupImageButton_Click"/>
<TextBlock HorizontalAlignment="Left" Margin="19,210,0,0" TextWrapping="NoWrap" Text="Discs Configuration" VerticalAlignment="Top" Foreground="White" FontSize="14" FontWeight="Bold"/>
<TextBlock HorizontalAlignment="Left" Margin="19,235,0,0" TextWrapping="NoWrap" Text="Disc 1 :" VerticalAlignment="Top" Foreground="White"/>
<TextBlock HorizontalAlignment="Left" Margin="19,270,0,0" TextWrapping="NoWrap" Text="Disc 2 :" VerticalAlignment="Top" Foreground="White"/>
<TextBlock HorizontalAlignment="Left" Margin="19,305,0,0" TextWrapping="NoWrap" Text="Disc 3 :" VerticalAlignment="Top" Foreground="White"/>
<TextBlock HorizontalAlignment="Left" Margin="19,340,0,0" TextWrapping="NoWrap" Text="Disc 4 :" VerticalAlignment="Top" Foreground="White"/>
<TextBox x:Name="PS1SelectedDisc1TextBox" HorizontalAlignment="Left" Margin="160,230,0,0" TextWrapping="NoWrap" VerticalAlignment="Top" Width="430"/>
<TextBox x:Name="PS1SelectedDisc2TextBox" HorizontalAlignment="Left" Margin="160,265,0,0" TextWrapping="NoWrap" VerticalAlignment="Top" Width="430"/>
<TextBox x:Name="PS1SelectedDisc3TextBox" HorizontalAlignment="Left" Margin="160,300,0,0" TextWrapping="NoWrap" VerticalAlignment="Top" Width="430"/>
<TextBox x:Name="PS1SelectedDisc4TextBox" HorizontalAlignment="Left" Margin="160,335,0,0" TextWrapping="NoWrap" VerticalAlignment="Top" Width="430"/>
<Button x:Name="BrowsePS1Disc1Button" Content="Browse" HorizontalAlignment="Left" Margin="600,230,0,0" VerticalAlignment="Top" Width="75" Click="BrowsePS1Disc1Button_Click"/>
<Button x:Name="BrowsePS1Disc2Button" Content="Browse" HorizontalAlignment="Left" Margin="600,265,0,0" VerticalAlignment="Top" Width="75" Click="BrowsePS1Disc2Button_Click"/>
<Button x:Name="BrowsePS1Disc3Button" Content="Browse" HorizontalAlignment="Left" Margin="600,300,0,0" VerticalAlignment="Top" Width="75" Click="BrowsePS1Disc3Button_Click"/>
<Button x:Name="BrowsePS1Disc4Button" Content="Browse" HorizontalAlignment="Left" Margin="600,335,0,0" VerticalAlignment="Top" Width="75" Click="BrowsePS1Disc4Button_Click"/>
<TextBlock HorizontalAlignment="Left" Margin="19,375,0,0" TextWrapping="NoWrap" Text="Emulator Configuration" VerticalAlignment="Top" Foreground="White" FontSize="14" FontWeight="Bold"/>
<TextBox x:Name="SelectedPS1TXTConfigTextBox" HorizontalAlignment="Left" Margin="160,400,0,0" TextWrapping="NoWrap" VerticalAlignment="Top" Width="430"/>
<TextBlock HorizontalAlignment="Left" Margin="19,405,0,0" TextWrapping="NoWrap" Text="TXT Config :" VerticalAlignment="Top" Foreground="White"/>
<Button x:Name="BrowsePS1TXTConfigButton" Content="Browse" HorizontalAlignment="Left" Margin="600,400,0,0" VerticalAlignment="Top" Width="75" Click="BrowsePS1TXTConfigButton_Click"/>
<TextBox x:Name="SelectedPS1LUAConfigTextBox" HorizontalAlignment="Left" Margin="160,435,0,0" TextWrapping="NoWrap" VerticalAlignment="Top" Width="430"/>
<TextBlock HorizontalAlignment="Left" Margin="19,445,0,0" TextWrapping="NoWrap" Text="LUA Config :" VerticalAlignment="Top" Foreground="White"/>
<Button x:Name="BrowsePS1LUAConfigButton" Content="Browse" HorizontalAlignment="Left" Margin="600,435,0,0" VerticalAlignment="Top" Width="75" Click="BrowsePS1LUAConfigButton_Click"/>
<TextBlock HorizontalAlignment="Left" Margin="19,475,0,0" TextWrapping="NoWrap" Text="More Emulator Options" VerticalAlignment="Top" Foreground="White" FontSize="14" FontWeight="Bold"/>
<CheckBox x:Name="PS1SkipBootlogoCheckBox" Content="Skip Bootlogo" HorizontalAlignment="Left" Margin="19,495,0,0" VerticalAlignment="Top" Foreground="White" IsChecked="False"/>
<CheckBox x:Name="PS1EmulateAnalogSticksCheckBox" Content="Emulate Analog Sticks" HorizontalAlignment="Left" Margin="19,525,0,0" VerticalAlignment="Top" Foreground="White"/>
<CheckBox x:Name="PS1Force60HzCheckBox" Content="Force 60Hz" HorizontalAlignment="Left" Margin="19,555,0,0" VerticalAlignment="Top" Foreground="White"/>
<CheckBox x:Name="PS1GunconCheckBox" Content="Guncon" HorizontalAlignment="Left" Margin="19,585,0,0" VerticalAlignment="Top" Foreground="White"/>
<TextBlock HorizontalAlignment="Left" Margin="220,505,0,0" TextWrapping="NoWrap" Text="Upscaling :" VerticalAlignment="Top" Foreground="White"/>
<ComboBox x:Name="PS1UpscalingComboBox" HorizontalAlignment="Left" Margin="300,500,0,0" VerticalAlignment="Top" Width="75" SelectedIndex="2">
<ComboBoxItem Content="6"/>
<ComboBoxItem Content="4"/>
<ComboBoxItem Content="2"/>
<ComboBoxItem Content="1"/>
</ComboBox>
<TextBlock HorizontalAlignment="Left" Margin="700,40,0,0" TextWrapping="NoWrap" Text="PKG Build Options" VerticalAlignment="Top" Foreground="White" FontSize="14" FontWeight="Bold"/>
<Button x:Name="BuildPS1fPKGButton" Content="Build fPKG" HorizontalAlignment="Left" Margin="700,65,0,0" VerticalAlignment="Top" Width="198" FontWeight="Bold" Click="BuildPS1fPKGButton_Click"/>
</Grid>
</TabItem>
<TabItem Header="PS2 Classics" IsSelected="False">
<Grid Background="#2D2D30">
<TextBlock HorizontalAlignment="Left" Margin="19,10,0,0" TextWrapping="NoWrap" Text="Create a PS2 fPKG" VerticalAlignment="Top" Foreground="White" FontSize="16" FontWeight="Bold"/>
<TextBlock HorizontalAlignment="Left" Margin="19,40,0,0" TextWrapping="NoWrap" Text="PKG Details" VerticalAlignment="Top" Foreground="White" FontSize="14" FontWeight="Bold"/>
<TextBlock HorizontalAlignment="Left" Margin="19,65,0,0" TextWrapping="NoWrap" Text="Icon :" VerticalAlignment="Top" Foreground="White"/>
<TextBlock HorizontalAlignment="Left" Margin="19,100,0,0" TextWrapping="NoWrap" Text="Background Image :" VerticalAlignment="Top" Foreground="White"/>
<TextBlock HorizontalAlignment="Left" Margin="19,135,0,0" TextWrapping="NoWrap" Text="Title :" VerticalAlignment="Top" Foreground="White"/>
<TextBlock HorizontalAlignment="Left" Margin="19,170,0,0" TextWrapping="NoWrap" Text="NP Title :" VerticalAlignment="Top" Foreground="White"/>
<TextBox x:Name="SelectedIconTextBox" HorizontalAlignment="Left" Margin="160,60,0,0" TextWrapping="NoWrap" VerticalAlignment="Top" Width="430"/>
<TextBox x:Name="SelectedStartupImageTextBox" HorizontalAlignment="Left" Margin="160,95,0,0" TextWrapping="NoWrap" VerticalAlignment="Top" Width="430"/>
<TextBox x:Name="PS2TitleTextBox" HorizontalAlignment="Left" Margin="160,130,0,0" TextWrapping="NoWrap" VerticalAlignment="Top" Width="430"/>
<TextBox x:Name="PS2NPTitleTextBox" HorizontalAlignment="Left" Margin="160,165,0,0" TextWrapping="NoWrap" VerticalAlignment="Top" Width="430"/>
<Button x:Name="BrowsePS2IconButton" Content="Browse" HorizontalAlignment="Left" Margin="600,60,0,0" VerticalAlignment="Top" Width="75" Click="BrowsePS2IconButton_Click"/>
<Button x:Name="BrowsePS2StartupImageButton" Content="Browse" HorizontalAlignment="Left" Margin="600,95,0,0" VerticalAlignment="Top" Width="75" Click="BrowsePS2StartupImageButton_Click"/>
<TextBlock HorizontalAlignment="Left" Margin="19,210,0,0" TextWrapping="NoWrap" Text="Discs Configuration" VerticalAlignment="Top" Foreground="White" FontSize="14" FontWeight="Bold"/>
<TextBlock HorizontalAlignment="Left" Margin="19,235,0,0" TextWrapping="NoWrap" Text="Disc 1 :" VerticalAlignment="Top" Foreground="White"/>
<TextBlock HorizontalAlignment="Left" Margin="19,270,0,0" TextWrapping="NoWrap" Text="Disc 2 :" VerticalAlignment="Top" Foreground="White"/>
<TextBlock HorizontalAlignment="Left" Margin="19,305,0,0" TextWrapping="NoWrap" Text="Disc 3 :" VerticalAlignment="Top" Foreground="White"/>
<TextBlock HorizontalAlignment="Left" Margin="19,340,0,0" TextWrapping="NoWrap" Text="Disc 4 :" VerticalAlignment="Top" Foreground="White"/>
<TextBlock HorizontalAlignment="Left" Margin="19,375,0,0" TextWrapping="NoWrap" Text="Disc 5 :" VerticalAlignment="Top" Foreground="White"/>
<TextBox x:Name="SelectedDisc1TextBox" HorizontalAlignment="Left" Margin="160,230,0,0" TextWrapping="NoWrap" VerticalAlignment="Top" Width="430"/>
<TextBox x:Name="SelectedDisc2TextBox" HorizontalAlignment="Left" Margin="160,265,0,0" TextWrapping="NoWrap" VerticalAlignment="Top" Width="430"/>
<TextBox x:Name="SelectedDisc3TextBox" HorizontalAlignment="Left" Margin="160,300,0,0" TextWrapping="NoWrap" VerticalAlignment="Top" Width="430"/>
<TextBox x:Name="SelectedDisc4TextBox" HorizontalAlignment="Left" Margin="160,335,0,0" TextWrapping="NoWrap" VerticalAlignment="Top" Width="430"/>
<TextBox x:Name="SelectedDisc5TextBox" HorizontalAlignment="Left" Margin="160,370,0,0" TextWrapping="NoWrap" VerticalAlignment="Top" Width="430"/>
<Button x:Name="BrowsePS2Disc1Button" Content="Browse" HorizontalAlignment="Left" Margin="600,230,0,0" VerticalAlignment="Top" Width="75" Click="BrowsePS2Disc1Button_Click"/>
<Button x:Name="BrowsePS2Disc2Button" Content="Browse" HorizontalAlignment="Left" Margin="600,265,0,0" VerticalAlignment="Top" Width="75" Click="BrowsePS2Disc2Button_Click"/>
<Button x:Name="BrowsePS2Disc3Button" Content="Browse" HorizontalAlignment="Left" Margin="600,300,0,0" VerticalAlignment="Top" Width="75" Click="BrowsePS2Disc3Button_Click"/>
<Button x:Name="BrowsePS2Disc4Button" Content="Browse" HorizontalAlignment="Left" Margin="600,335,0,0" VerticalAlignment="Top" Width="75" Click="BrowsePS2Disc4Button_Click"/>
<Button x:Name="BrowsePS2Disc5Button" Content="Browse" HorizontalAlignment="Left" Margin="600,370,0,0" VerticalAlignment="Top" Width="75" Click="BrowsePS2Disc5Button_Click"/>
<TextBlock HorizontalAlignment="Left" Margin="19,410,0,0" TextWrapping="NoWrap" Text="Emulator Configuration &amp; Fixes" VerticalAlignment="Top" Foreground="White" FontSize="14" FontWeight="Bold"/>
<TextBlock HorizontalAlignment="Left" Margin="19,440,0,0" TextWrapping="NoWrap" Text="TXT Config :" VerticalAlignment="Top" Foreground="White"/>
<TextBox x:Name="SelectedPS2TXTConfigTextBox" HorizontalAlignment="Left" Margin="160,435,0,0" TextWrapping="NoWrap" VerticalAlignment="Top" Width="430"/>
<TextBlock HorizontalAlignment="Left" Margin="19,475,0,0" TextWrapping="NoWrap" Text="LUA Config :" VerticalAlignment="Top" Foreground="White"/>
<TextBox x:Name="SelectedPS2LUAConfigTextBox" HorizontalAlignment="Left" Margin="160,470,0,0" TextWrapping="NoWrap" VerticalAlignment="Top" Width="430"/>
<Button x:Name="BrowsePS2TXTConfigButton" Content="Browse" HorizontalAlignment="Left" Margin="600,435,0,0" VerticalAlignment="Top" Width="75" Click="BrowsePS2TXTConfigButton_Click"/>
<Button x:Name="BrowsePS2LUAConfigButton" Content="Browse" HorizontalAlignment="Left" Margin="600,470,0,0" VerticalAlignment="Top" Width="75" Click="BrowsePS2LUAConfigButton_Click"/>
<CheckBox x:Name="PS2AddTXTConfigFromDatabaseCheckBox" Content="Add &amp; Apply TXT Config from DB" HorizontalAlignment="Left" Margin="700,425,0,0" VerticalAlignment="Top" Foreground="White" IsChecked="False" IsVisible="False"/>
<CheckBox x:Name="PS2AddLUAConfigFromDatabaseCheckBox" Content="Add &amp; Apply LUA Config from DB" HorizontalAlignment="Left" Margin="700,450,0,0" VerticalAlignment="Top" Foreground="White" IsChecked="False" IsVisible="False"/>
<CheckBox x:Name="PS2AddPS3ConfigFromDatabaseCheckBox" Content="Add &amp; Apply PS3 Config from DB" HorizontalAlignment="Left" Margin="700,475,0,0" VerticalAlignment="Top" Foreground="White" IsChecked="False" IsVisible="False"/>
<TextBlock HorizontalAlignment="Left" Margin="19,510,0,0" TextWrapping="NoWrap" Text="Emulator Graphics Settings" VerticalAlignment="Top" Foreground="White" FontSize="14" FontWeight="Bold"/>
<TextBlock HorizontalAlignment="Left" Margin="20,535,0,0" TextWrapping="NoWrap" Text="Upscaling :" VerticalAlignment="Top" Foreground="White"/>
<ComboBox x:Name="PS2UpscalingComboBox" HorizontalAlignment="Left" Margin="20,555,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="210,535,0,0" TextWrapping="NoWrap" Text="Uprender :" VerticalAlignment="Top" Foreground="White"/>
<ComboBox x:Name="PS2UprenderComboBox" HorizontalAlignment="Left" Margin="210,555,0,0" VerticalAlignment="Top" Width="175" SelectedIndex="1">
<ComboBoxItem Content="None"/>
<ComboBoxItem Content="2x2"/>
</ComboBox>
<TextBlock HorizontalAlignment="Left" Margin="20,590,0,0" TextWrapping="NoWrap" Text="Shader :" VerticalAlignment="Top" Foreground="White"/>
<ComboBox x:Name="PS2ShaderComboBox" HorizontalAlignment="Left" Margin="20,610,0,0" VerticalAlignment="Top" Width="175" SelectedIndex="0">
<ComboBoxItem Content="None"/>
<ComboBoxItem Content="Scanlines"/>
</ComboBox>
<TextBlock HorizontalAlignment="Left" Margin="210,590,0,0" TextWrapping="NoWrap" Text="Display Mode :" VerticalAlignment="Top" Foreground="White"/>
<ComboBox x:Name="PS2DisplayModeComboBox" HorizontalAlignment="Left" Margin="210,610,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,650,0,0" TextWrapping="NoWrap" Text="Memory Card &amp; Other Settings" VerticalAlignment="Top" Foreground="White" FontSize="14" FontWeight="Bold"/>
<TextBlock HorizontalAlignment="Left" Margin="18,675,0,0" TextWrapping="NoWrap" Text="Import PS2 8MB Memory Card :" VerticalAlignment="Top" Foreground="White"/>
<TextBox x:Name="SelectedPS2MemoryCardTextBox" HorizontalAlignment="Left" Margin="240,670,0,0" TextWrapping="NoWrap" VerticalAlignment="Top" Width="350"/>
<Button x:Name="BrowsePS2MCButton" Content="Browse" HorizontalAlignment="Left" Margin="600,670,0,0" VerticalAlignment="Top" Width="75" Click="BrowsePS2MCButton_Click"/>
<TextBlock HorizontalAlignment="Left" Margin="700,675,0,0" TextWrapping="NoWrap" Text="Multitap :" VerticalAlignment="Top" Foreground="White"/>
<ComboBox x:Name="PS2MultitapComboBox" HorizontalAlignment="Left" Margin="775,670,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="700,40,0,0" TextWrapping="NoWrap" Text="PKG Build Options" VerticalAlignment="Top" Foreground="White" FontSize="14" FontWeight="Bold"/>
<Button x:Name="BuildPS2fPKGButton" Content="Build fPKG" HorizontalAlignment="Left" Margin="700,65,0,0" VerticalAlignment="Top" Width="198" FontWeight="Bold" Click="BuildPS2fPKGButton_Click"/>
<TextBlock HorizontalAlignment="Left" Margin="700,210,0,0" TextWrapping="NoWrap" Text="Disc Options" VerticalAlignment="Top" Foreground="White" FontSize="14" FontWeight="Bold"/>
<CheckBox x:Name="PS2RestartEmulatorOnDiscChangeCheckBox" Content="Restart emulator on disc change" HorizontalAlignment="Left" Margin="700,235,0,0" VerticalAlignment="Top" Foreground="White" IsChecked="False"/>
<TextBlock HorizontalAlignment="Left" Margin="700,275,0,0" TextWrapping="NoWrap" Text="PS2 Emulator" VerticalAlignment="Top" Foreground="White" FontSize="14" FontWeight="Bold"/>
<ComboBox x:Name="PS2EmulatorComboBox" HorizontalAlignment="Left" Margin="700,300,0,0" VerticalAlignment="Top" Width="198" SelectedIndex="0">
<ComboBoxItem Content="Jak v2"/>
<ComboBoxItem Content="Rogue v1"/>
</ComboBox>
<TextBlock HorizontalAlignment="Left" Margin="700,510,0,0" TextWrapping="NoWrap" Text="More Options" VerticalAlignment="Top" Foreground="White" FontSize="14" FontWeight="Bold"/>
<CheckBox x:Name="PS2FixGraphicsCheckBox" Content="Fix Graphics" HorizontalAlignment="Left" Margin="700,530,0,0" VerticalAlignment="Top" Foreground="White" IsChecked="True"/>
<CheckBox x:Name="PS2DisableMTVUCheckBox" Content="Disable MTVU" HorizontalAlignment="Left" Margin="700,560,0,0" VerticalAlignment="Top" Foreground="White"/>
<CheckBox x:Name="PS2ImproveSpeedCheckBox" Content="Improve Speed" HorizontalAlignment="Left" Margin="830,530,0,0" VerticalAlignment="Top" Foreground="White"/>
<CheckBox x:Name="PS2DisableInstantVIF1TransferCheckBox" Content="Disable instant VIF1 transfer" HorizontalAlignment="Left" Margin="700,590,0,0" VerticalAlignment="Top" Foreground="White"/>
<CheckBox x:Name="PS2UseWidescreenPatchCheckBox" Content="Widescreen Patch" HorizontalAlignment="Left" Margin="700,620,0,0" VerticalAlignment="Top" Foreground="White" IsEnabled="False" IsVisible="False"/>
</Grid>
</TabItem>
<TabItem Header="PSP Classics" IsSelected="False">
<Grid Background="#2D2D30">
<TextBlock HorizontalAlignment="Left" Margin="19,10,0,0" TextWrapping="NoWrap" Text="Create a PSP fPKG" VerticalAlignment="Top" Foreground="White" FontSize="16" FontWeight="Bold"/>
<TextBlock HorizontalAlignment="Left" Margin="19,40,0,0" TextWrapping="NoWrap" Text="PKG Details" VerticalAlignment="Top" Foreground="White" FontSize="14" FontWeight="Bold"/>
<TextBlock HorizontalAlignment="Left" Margin="19,65,0,0" TextWrapping="NoWrap" Text="Icon :" VerticalAlignment="Top" Foreground="White"/>
<TextBlock HorizontalAlignment="Left" Margin="19,100,0,0" TextWrapping="NoWrap" Text="Background Image :" VerticalAlignment="Top" Foreground="White"/>
<TextBlock HorizontalAlignment="Left" Margin="19,135,0,0" TextWrapping="NoWrap" Text="Title :" VerticalAlignment="Top" Foreground="White"/>
<TextBlock HorizontalAlignment="Left" Margin="19,170,0,0" TextWrapping="NoWrap" Text="NP Title :" VerticalAlignment="Top" Foreground="White"/>
<TextBox x:Name="SelectedPSPIconTextBox" HorizontalAlignment="Left" Margin="160,60,0,0" TextWrapping="NoWrap" VerticalAlignment="Top" Width="430"/>
<TextBox x:Name="SelectedPSPBGImageTextBox" HorizontalAlignment="Left" Margin="160,95,0,0" TextWrapping="NoWrap" VerticalAlignment="Top" Width="430"/>
<TextBox x:Name="PSPTitleTextBox" HorizontalAlignment="Left" Margin="160,130,0,0" TextWrapping="NoWrap" VerticalAlignment="Top" Width="430"/>
<TextBox x:Name="PSPNPTitleTextBox" HorizontalAlignment="Left" Margin="160,165,0,0" TextWrapping="NoWrap" VerticalAlignment="Top" Width="430"/>
<Button x:Name="BrowsePSPIconButton" Content="Browse" HorizontalAlignment="Left" Margin="600,60,0,0" VerticalAlignment="Top" Width="75" Click="BrowsePSPIconButton_Click"/>
<Button x:Name="BrowsePSPBGButton" Content="Browse" HorizontalAlignment="Left" Margin="600,95,0,0" VerticalAlignment="Top" Width="75" Click="BrowsePSPBGButton_Click"/>
<TextBlock HorizontalAlignment="Left" Margin="19,210,0,0" TextWrapping="NoWrap" Text="Disc Configuration" VerticalAlignment="Top" Foreground="White" FontSize="14" FontWeight="Bold"/>
<TextBlock HorizontalAlignment="Left" Margin="19,235,0,0" TextWrapping="NoWrap" Text="ISO File :" VerticalAlignment="Top" Foreground="White"/>
<TextBox x:Name="SelectedPSPDiscTextBox" HorizontalAlignment="Left" Margin="160,230,0,0" TextWrapping="NoWrap" VerticalAlignment="Top" Width="430"/>
<Button x:Name="BrowsePSPDiscButton" Content="Browse" HorizontalAlignment="Left" Margin="600,230,0,0" VerticalAlignment="Top" Width="75" Click="BrowsePSPDiscButton_Click"/>
<TextBlock HorizontalAlignment="Left" Margin="19,275,0,0" TextWrapping="NoWrap" Text="Emulator Configuration" VerticalAlignment="Top" Foreground="White" FontSize="14" FontWeight="Bold"/>
<TextBlock HorizontalAlignment="Left" Margin="19,305,0,0" TextWrapping="NoWrap" Text="Custom config-title :" VerticalAlignment="Top" Foreground="White"/>
<TextBox x:Name="SelectedPSPConfigTextBox" HorizontalAlignment="Left" Margin="160,300,0,0" TextWrapping="NoWrap" VerticalAlignment="Top" Width="430"/>
<Button x:Name="BrowsePSPConfigButton" Content="Browse" HorizontalAlignment="Left" Margin="600,300,0,0" VerticalAlignment="Top" Width="75" Click="BrowsePSPConfigButton_Click"/>
<TextBlock HorizontalAlignment="Left" Margin="700,40,0,0" TextWrapping="NoWrap" Text="PKG Build Options" VerticalAlignment="Top" Foreground="White" FontSize="14" FontWeight="Bold"/>
<Button x:Name="BuildPSPfPKGButton" Content="Build fPKG" HorizontalAlignment="Left" Margin="700,65,0,0" VerticalAlignment="Top" Width="198" FontWeight="Bold" Click="BuildPSPfPKGButton_Click"/>
</Grid>
</TabItem>
</TabControl>
</Grid>
</Window>
File diff suppressed because it is too large Load Diff
+48
View File
@@ -0,0 +1,48 @@
using System.IO;
namespace makePSClassicsfPKG
{
public class PS1Game
{
public static string GetPS1GameTitleFromDatabaseList(string GameID)
{
string FoundGameTitle = "";
foreach (string GameTitle in File.ReadLines(Directory.GetCurrentDirectory() + @"/Tools/ps1ids.txt"))
{
if (GameTitle.Contains(GameID))
{
FoundGameTitle = GameTitle.Split(';')[1];
break;
}
}
if (string.IsNullOrEmpty(FoundGameTitle))
{
return "";
}
else
{
return FoundGameTitle;
}
}
public static string IsGameProtected(string GameID)
{
string FoundValue = "";
foreach (string GameIDInFile in File.ReadLines(Directory.GetCurrentDirectory() + @"/Tools/libcrypt.txt"))
{
if (GameIDInFile.Contains(GameID))
{
FoundValue = GameIDInFile.Split(' ')[1];
break;
}
}
return FoundValue;
}
}
}
+82
View File
@@ -0,0 +1,82 @@
using System;
using System.Diagnostics;
using System.IO;
namespace makePSClassicsfPKG
{
public class PS2Game
{
public static string GetPS2GameID(string GameISO)
{
string GameID = "";
using var Bash = new Process();
var StringsCMD = $"7z l -ba \"{GameISO}\"";
var EscapedArgs = StringsCMD.Replace("\"", "\\\"");
Bash.StartInfo.FileName = "/bin/bash";
Bash.StartInfo.Arguments = $"-c \"{EscapedArgs}\"";
Bash.StartInfo.RedirectStandardOutput = true;
Bash.StartInfo.RedirectStandardError = true;
Bash.StartInfo.UseShellExecute = false;
Bash.StartInfo.CreateNoWindow = false;
Bash.Start();
Bash.WaitForExit();
var OutputReader = Bash.StandardOutput;
string[] ProcessOutput = OutputReader.ReadToEnd().Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);
if (ProcessOutput.Length > 0)
{
foreach (string Line in ProcessOutput)
{
if (Line.Contains("SLES_") | Line.Contains("SLUS_") | Line.Contains("SCES_") | Line.Contains("SCUS_"))
{
if (Line.Contains("Volume:")) // ID found in the ISO Header
{
if (Line.Split(new string[] { "Volume: " }, StringSplitOptions.RemoveEmptyEntries).Length > 0)
{
GameID = Line.Split(new string[] { "Volume: " }, StringSplitOptions.RemoveEmptyEntries)[1];
break;
}
}
else if (string.Join(" ", Line.Split(new char[] { }, StringSplitOptions.RemoveEmptyEntries)).Split(' ').Length > 4) // ID found in the ISO files
{
GameID = string.Join(" ", Line.Split(new char[] { }, StringSplitOptions.RemoveEmptyEntries)).Split(' ')[5].Trim();
break;
}
}
}
}
return GameID;
}
public static string GetPS2GameTitleFromDatabaseList(string GameID)
{
string FoundGameTitle = "";
GameID = GameID.Replace("-", "");
foreach (string GameTitle in File.ReadLines(Directory.GetCurrentDirectory() + @"/Tools/ps2ids.txt"))
{
if (GameTitle.Contains(GameID))
{
FoundGameTitle = GameTitle.Split(';')[1];
break;
}
}
if (string.IsNullOrEmpty(FoundGameTitle))
{
return "Unknown PS2 game";
}
else
{
return FoundGameTitle;
}
}
}
}
+22
View File
@@ -0,0 +1,22 @@
using Avalonia;
using System;
namespace makePSClassicsfPKG
{
internal class Program
{
// Initialization code. Don't use any Avalonia, third-party APIs or any
// SynchronizationContext-reliant code before AppMain is called: things aren't initialized
// yet and stuff might break.
[STAThread]
public static void Main(string[] args) => BuildAvaloniaApp()
.StartWithClassicDesktopLifetime(args);
// Avalonia configuration, don't remove; also used by visual designer.
public static AppBuilder BuildAvaloniaApp()
=> AppBuilder.Configure<App>()
.UsePlatformDetect()
.WithInterFont()
.LogToTrace();
}
}
@@ -0,0 +1,16 @@
{
"profiles": {
"WSL (Default)": {
"commandName": "WSL2",
"distributionName": ""
},
"makePSClassicsfPKG - Ubuntu": {
"commandName": "WSL2",
"distributionName": "Ubuntu"
},
"makePSClassicsfPKG - Debian": {
"commandName": "WSL2",
"distributionName": "Debian"
}
}
}
+20
View File
@@ -0,0 +1,20 @@
using Avalonia;
using Avalonia.Media.Imaging;
using System.Runtime.InteropServices;
namespace makePSClassicsfPKG
{
public class Utils
{
public static Bitmap ConvertTo24bppPNG(byte[] rgbPixelData, int width, int height)
{
Vector dpi = new(96, 96);
var NewBitmap = new WriteableBitmap(new PixelSize(width, height), dpi, Avalonia.Platform.PixelFormats.Rgb24);
using (var frameBuffer = NewBitmap.Lock())
{
Marshal.Copy(rgbPixelData, 0, frameBuffer.Address, rgbPixelData.Length);
}
return NewBitmap;
}
}
}
+18
View File
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
<!-- This manifest is used on Windows only.
Don't remove it as it might cause problems with window transparency and embedded controls.
For more details visit https://learn.microsoft.com/en-us/windows/win32/sbscs/application-manifests -->
<assemblyIdentity version="1.0.0.0" name="PS_Classics_fPKG_Builder_for_Linux.Desktop"/>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!-- A list of the Windows versions that this application has been tested on
and is designed to work with. Uncomment the appropriate elements
and Windows will automatically select the most compatible environment. -->
<!-- Windows 10 -->
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
</application>
</compatibility>
</assembly>
File diff suppressed because it is too large Load Diff
Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB