├── .vs
└── free-ps2-pub-gen
│ ├── v15
│ ├── Server
│ │ └── sqlite3
│ │ │ ├── db.lock
│ │ │ ├── storage.ide
│ │ │ ├── storage.ide-shm
│ │ │ └── storage.ide-wal
│ └── .suo
│ └── v14
│ └── .suo
├── free-ps2-pub-gen
├── emu.ico
├── ps2-pub.ico
├── res
│ ├── Png.ico
│ ├── add.ico
│ ├── emu.ico
│ ├── xml.ico
│ ├── Alert.png
│ ├── Alert.wav
│ ├── Debug.wav
│ ├── Empty.ico
│ ├── Error.png
│ ├── Error.wav
│ ├── File.ico
│ ├── Help.png
│ ├── Info.wav
│ ├── about.ico
│ ├── disk.ico
│ ├── image.png
│ ├── patch.png
│ ├── secret.ico
│ ├── sweep.ico
│ ├── DbgClamp.png
│ ├── Question.wav
│ ├── ps2-pub.ico
│ ├── settings.png
│ ├── Folder_Open.ico
│ ├── Injection.png
│ ├── HelpAboutIcon.png
│ ├── actions dialog cancel.png
│ └── magnifying-glass-156474_960_720.png
├── bin
│ └── Release
│ │ ├── free-ps2-pub-gen.pdb
│ │ ├── free-ps2-pub-gen.vshost.exe
│ │ ├── free-ps2-pub-gen.exe.config
│ │ ├── free-ps2-pub-gen.vshost.exe.config
│ │ └── free-ps2-pub-gen.vshost.exe.manifest
├── App.config
├── Properties
│ ├── Settings.settings
│ ├── Settings.Designer.cs
│ ├── AssemblyInfo.cs
│ ├── Resources.Designer.cs
│ └── Resources.resx
├── Program.cs
├── Settings.cs
├── About.cs
├── free-ps2-pub-gen.csproj
├── About.Designer.cs
├── EmulatorOptions.cs
├── EmulatorOptions.Designer.cs
├── fakeps2pkggen.Designer.cs
└── Fakeps2pkggen.cs
├── .gitattributes
├── .gitignore
├── free-ps2-pub-gen.sln
└── ReadMe.txt
/.vs/free-ps2-pub-gen/v15/Server/sqlite3/db.lock:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/free-ps2-pub-gen/emu.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cfwprpht/free-ps2-pub-gen/HEAD/free-ps2-pub-gen/emu.ico
--------------------------------------------------------------------------------
/free-ps2-pub-gen/ps2-pub.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cfwprpht/free-ps2-pub-gen/HEAD/free-ps2-pub-gen/ps2-pub.ico
--------------------------------------------------------------------------------
/free-ps2-pub-gen/res/Png.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cfwprpht/free-ps2-pub-gen/HEAD/free-ps2-pub-gen/res/Png.ico
--------------------------------------------------------------------------------
/free-ps2-pub-gen/res/add.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cfwprpht/free-ps2-pub-gen/HEAD/free-ps2-pub-gen/res/add.ico
--------------------------------------------------------------------------------
/free-ps2-pub-gen/res/emu.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cfwprpht/free-ps2-pub-gen/HEAD/free-ps2-pub-gen/res/emu.ico
--------------------------------------------------------------------------------
/free-ps2-pub-gen/res/xml.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cfwprpht/free-ps2-pub-gen/HEAD/free-ps2-pub-gen/res/xml.ico
--------------------------------------------------------------------------------
/.vs/free-ps2-pub-gen/v14/.suo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cfwprpht/free-ps2-pub-gen/HEAD/.vs/free-ps2-pub-gen/v14/.suo
--------------------------------------------------------------------------------
/.vs/free-ps2-pub-gen/v15/.suo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cfwprpht/free-ps2-pub-gen/HEAD/.vs/free-ps2-pub-gen/v15/.suo
--------------------------------------------------------------------------------
/free-ps2-pub-gen/res/Alert.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cfwprpht/free-ps2-pub-gen/HEAD/free-ps2-pub-gen/res/Alert.png
--------------------------------------------------------------------------------
/free-ps2-pub-gen/res/Alert.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cfwprpht/free-ps2-pub-gen/HEAD/free-ps2-pub-gen/res/Alert.wav
--------------------------------------------------------------------------------
/free-ps2-pub-gen/res/Debug.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cfwprpht/free-ps2-pub-gen/HEAD/free-ps2-pub-gen/res/Debug.wav
--------------------------------------------------------------------------------
/free-ps2-pub-gen/res/Empty.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cfwprpht/free-ps2-pub-gen/HEAD/free-ps2-pub-gen/res/Empty.ico
--------------------------------------------------------------------------------
/free-ps2-pub-gen/res/Error.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cfwprpht/free-ps2-pub-gen/HEAD/free-ps2-pub-gen/res/Error.png
--------------------------------------------------------------------------------
/free-ps2-pub-gen/res/Error.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cfwprpht/free-ps2-pub-gen/HEAD/free-ps2-pub-gen/res/Error.wav
--------------------------------------------------------------------------------
/free-ps2-pub-gen/res/File.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cfwprpht/free-ps2-pub-gen/HEAD/free-ps2-pub-gen/res/File.ico
--------------------------------------------------------------------------------
/free-ps2-pub-gen/res/Help.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cfwprpht/free-ps2-pub-gen/HEAD/free-ps2-pub-gen/res/Help.png
--------------------------------------------------------------------------------
/free-ps2-pub-gen/res/Info.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cfwprpht/free-ps2-pub-gen/HEAD/free-ps2-pub-gen/res/Info.wav
--------------------------------------------------------------------------------
/free-ps2-pub-gen/res/about.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cfwprpht/free-ps2-pub-gen/HEAD/free-ps2-pub-gen/res/about.ico
--------------------------------------------------------------------------------
/free-ps2-pub-gen/res/disk.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cfwprpht/free-ps2-pub-gen/HEAD/free-ps2-pub-gen/res/disk.ico
--------------------------------------------------------------------------------
/free-ps2-pub-gen/res/image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cfwprpht/free-ps2-pub-gen/HEAD/free-ps2-pub-gen/res/image.png
--------------------------------------------------------------------------------
/free-ps2-pub-gen/res/patch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cfwprpht/free-ps2-pub-gen/HEAD/free-ps2-pub-gen/res/patch.png
--------------------------------------------------------------------------------
/free-ps2-pub-gen/res/secret.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cfwprpht/free-ps2-pub-gen/HEAD/free-ps2-pub-gen/res/secret.ico
--------------------------------------------------------------------------------
/free-ps2-pub-gen/res/sweep.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cfwprpht/free-ps2-pub-gen/HEAD/free-ps2-pub-gen/res/sweep.ico
--------------------------------------------------------------------------------
/free-ps2-pub-gen/res/DbgClamp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cfwprpht/free-ps2-pub-gen/HEAD/free-ps2-pub-gen/res/DbgClamp.png
--------------------------------------------------------------------------------
/free-ps2-pub-gen/res/Question.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cfwprpht/free-ps2-pub-gen/HEAD/free-ps2-pub-gen/res/Question.wav
--------------------------------------------------------------------------------
/free-ps2-pub-gen/res/ps2-pub.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cfwprpht/free-ps2-pub-gen/HEAD/free-ps2-pub-gen/res/ps2-pub.ico
--------------------------------------------------------------------------------
/free-ps2-pub-gen/res/settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cfwprpht/free-ps2-pub-gen/HEAD/free-ps2-pub-gen/res/settings.png
--------------------------------------------------------------------------------
/free-ps2-pub-gen/res/Folder_Open.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cfwprpht/free-ps2-pub-gen/HEAD/free-ps2-pub-gen/res/Folder_Open.ico
--------------------------------------------------------------------------------
/free-ps2-pub-gen/res/Injection.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cfwprpht/free-ps2-pub-gen/HEAD/free-ps2-pub-gen/res/Injection.png
--------------------------------------------------------------------------------
/free-ps2-pub-gen/res/HelpAboutIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cfwprpht/free-ps2-pub-gen/HEAD/free-ps2-pub-gen/res/HelpAboutIcon.png
--------------------------------------------------------------------------------
/free-ps2-pub-gen/res/actions dialog cancel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cfwprpht/free-ps2-pub-gen/HEAD/free-ps2-pub-gen/res/actions dialog cancel.png
--------------------------------------------------------------------------------
/.vs/free-ps2-pub-gen/v15/Server/sqlite3/storage.ide:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cfwprpht/free-ps2-pub-gen/HEAD/.vs/free-ps2-pub-gen/v15/Server/sqlite3/storage.ide
--------------------------------------------------------------------------------
/free-ps2-pub-gen/bin/Release/free-ps2-pub-gen.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cfwprpht/free-ps2-pub-gen/HEAD/free-ps2-pub-gen/bin/Release/free-ps2-pub-gen.pdb
--------------------------------------------------------------------------------
/.vs/free-ps2-pub-gen/v15/Server/sqlite3/storage.ide-shm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cfwprpht/free-ps2-pub-gen/HEAD/.vs/free-ps2-pub-gen/v15/Server/sqlite3/storage.ide-shm
--------------------------------------------------------------------------------
/.vs/free-ps2-pub-gen/v15/Server/sqlite3/storage.ide-wal:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cfwprpht/free-ps2-pub-gen/HEAD/.vs/free-ps2-pub-gen/v15/Server/sqlite3/storage.ide-wal
--------------------------------------------------------------------------------
/free-ps2-pub-gen/bin/Release/free-ps2-pub-gen.vshost.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cfwprpht/free-ps2-pub-gen/HEAD/free-ps2-pub-gen/bin/Release/free-ps2-pub-gen.vshost.exe
--------------------------------------------------------------------------------
/free-ps2-pub-gen/res/magnifying-glass-156474_960_720.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cfwprpht/free-ps2-pub-gen/HEAD/free-ps2-pub-gen/res/magnifying-glass-156474_960_720.png
--------------------------------------------------------------------------------
/free-ps2-pub-gen/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/free-ps2-pub-gen/bin/Release/free-ps2-pub-gen.exe.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/free-ps2-pub-gen/bin/Release/free-ps2-pub-gen.vshost.exe.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/free-ps2-pub-gen/Properties/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
4 | # Custom for Visual Studio
5 | *.cs diff=csharp
6 |
7 | # Standard to msysgit
8 | *.doc diff=astextplain
9 | *.DOC diff=astextplain
10 | *.docx diff=astextplain
11 | *.DOCX diff=astextplain
12 | *.dot diff=astextplain
13 | *.DOT diff=astextplain
14 | *.pdf diff=astextplain
15 | *.PDF diff=astextplain
16 | *.rtf diff=astextplain
17 | *.RTF diff=astextplain
18 |
--------------------------------------------------------------------------------
/free-ps2-pub-gen/bin/Release/free-ps2-pub-gen.vshost.exe.manifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/free-ps2-pub-gen/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 | using System.Windows.Forms;
6 |
7 | namespace free_ps2_pub_gen
8 | {
9 | static class Program
10 | {
11 | ///
12 | /// Der Haupteinstiegspunkt für die Anwendung.
13 | ///
14 | [STAThread]
15 | static void Main()
16 | {
17 | Application.EnableVisualStyles();
18 | Application.SetCompatibleTextRenderingDefault(false);
19 | Application.Run(new Fakeps2pkggen());
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Windows image file caches
2 | Thumbs.db
3 | ehthumbs.db
4 |
5 | # Folder config file
6 | Desktop.ini
7 |
8 | # Recycle Bin used on file shares
9 | $RECYCLE.BIN/
10 |
11 | # Windows Installer files
12 | *.cab
13 | *.msi
14 | *.msm
15 | *.msp
16 |
17 | # Windows shortcuts
18 | *.lnk
19 |
20 | # =========================
21 | # Operating System Files
22 | # =========================
23 |
24 | # OSX
25 | # =========================
26 |
27 | .DS_Store
28 | .AppleDouble
29 | .LSOverride
30 |
31 | # Thumbnails
32 | ._*
33 |
34 | # Files that might appear in the root of a volume
35 | .DocumentRevisions-V100
36 | .fseventsd
37 | .Spotlight-V100
38 | .TemporaryItems
39 | .Trashes
40 | .VolumeIcon.icns
41 |
42 | # Directories potentially created on remote AFP share
43 | .AppleDB
44 | .AppleDesktop
45 | Network Trash Folder
46 | Temporary Items
47 | .apdisk
48 |
--------------------------------------------------------------------------------
/free-ps2-pub-gen.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 14
4 | VisualStudioVersion = 14.0.25420.1
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "free-ps2-pub-gen", "free-ps2-pub-gen\free-ps2-pub-gen.csproj", "{5718227F-82DC-4713-A456-87EECE32B290}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|Any CPU = Debug|Any CPU
11 | Release|Any CPU = Release|Any CPU
12 | EndGlobalSection
13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 | {5718227F-82DC-4713-A456-87EECE32B290}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
15 | {5718227F-82DC-4713-A456-87EECE32B290}.Debug|Any CPU.Build.0 = Debug|Any CPU
16 | {5718227F-82DC-4713-A456-87EECE32B290}.Release|Any CPU.ActiveCfg = Release|Any CPU
17 | {5718227F-82DC-4713-A456-87EECE32B290}.Release|Any CPU.Build.0 = Release|Any CPU
18 | EndGlobalSection
19 | GlobalSection(SolutionProperties) = preSolution
20 | HideSolutionNode = FALSE
21 | EndGlobalSection
22 | EndGlobal
23 |
--------------------------------------------------------------------------------
/free-ps2-pub-gen/Properties/Settings.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.42000
5 | //
6 | // Changes to this file may cause incorrect behavior and will be lost if
7 | // the code is regenerated.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace free_ps2_pub_gen.Properties
12 | {
13 |
14 |
15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
18 | {
19 |
20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
21 |
22 | public static Settings Default
23 | {
24 | get
25 | {
26 | return defaultInstance;
27 | }
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/free-ps2-pub-gen/Settings.cs:
--------------------------------------------------------------------------------
1 | using System.Configuration;
2 |
3 | namespace free_ps2_pub_gen.Properties {
4 | internal sealed partial class Settings {
5 | public Settings() { }
6 |
7 | [UserScopedSetting]
8 | [DefaultSettingValue("")]
9 | public string LastIsoPath {
10 | get { return (string)this["LastIsoPath"]; }
11 | set { this["LastIsoPath"] = value; }
12 | }
13 |
14 | [UserScopedSetting]
15 | [DefaultSettingValue("")]
16 | public string LastOutPath {
17 | get { return (string)this["LastOutPath"]; }
18 | set { this["LastOutPath"] = value; }
19 | }
20 |
21 | [UserScopedSetting]
22 | [DefaultSettingValue("")]
23 | public string MakeFSELF {
24 | get { return (string)this["MakeFSELF"]; }
25 | set { this["MakeFSELF"] = value; }
26 | }
27 |
28 | [UserScopedSetting]
29 | [DefaultSettingValue("")]
30 | public string DB {
31 | get { return (string)this["DB"]; }
32 | set { this["DB"] = value; }
33 | }
34 |
35 | [UserScopedSetting]
36 | [DefaultSettingValue("")]
37 | public string PubCmd {
38 | get { return (string)this["PubCmd"]; }
39 | set { this["PubCmd"] = value; }
40 | }
41 |
42 | [UserScopedSetting]
43 | [DefaultSettingValue("")]
44 | public string TxtViewer {
45 | get { return (string)this["TxtViewer"]; }
46 | set { this["TxtViewer"] = value; }
47 | }
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/free-ps2-pub-gen/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // Allgemeine Informationen über eine Assembly werden über die folgenden
6 | // Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
7 | // die einer Assembly zugeordnet sind.
8 | [assembly: AssemblyTitle("free-ps2-pub-gen")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("free-ps2-pub-gen")]
13 | [assembly: AssemblyCopyright("Copyright © 2018")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Durch Festlegen von ComVisible auf "false" werden die Typen in dieser Assembly unsichtbar
18 | // für COM-Komponenten. Wenn Sie auf einen Typ in dieser Assembly von
19 | // COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen.
20 | [assembly: ComVisible(false)]
21 |
22 | // Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
23 | [assembly: Guid("5718227f-82dc-4713-a456-87eece32b290")]
24 |
25 | // Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
26 | //
27 | // Hauptversion
28 | // Nebenversion
29 | // Buildnummer
30 | // Revision
31 | //
32 | // Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
33 | // übernehmen, indem Sie "*" eingeben:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.5.0")]
37 |
--------------------------------------------------------------------------------
/ReadMe.txt:
--------------------------------------------------------------------------------
1 | *** Free PS2 Pub Gen ***
2 |
3 | v1.5
4 | * Changed the make_fself.py to xDPxs exe port. Should now work for a bigger range of users. :)
5 | * Added a 'Clear Settings' Functions to the Options.
6 | * Removed the librarys from TitleID aka make_self resigning. Libc and LibSceFios2 will now be fake signed by the pub-cmd it self.
7 | THX to xDPx for clearifying this part.
8 | * Added more infos to the 'Base is not OK !' message.
9 |
10 |
11 | Automated Tool for flatz PS4- PS2 Emu PKG Technic. Either place the Tool into the same
12 | folder then make_fself.py, orbis-pub-cmd-ps2.exe and the authinfo_emu.txt within the template folder.
13 | Or drop the needed files into the GUI and close and reopen her. You could then even move the App.
14 | Drop the ISO onto the GUI and the Output Folder too or use the buttons to define one.
15 | When you double click the iso and output textBox it will change between ISO or Output Path.
16 |
17 | Place a decrypted eboot.elf and ps2-emu-compiler.elf into app0\ and the same with libc.prx and libSceFios2.prx into app0\sce_module.
18 | As soon i can thoes 4 decrypted elfs i will include them into the template folder Fake PKG Tools.
19 |
20 | If i have forgoten something in the readme, i'll add it later.
21 | For the tool just tell me on twitter what does not work for you and i'll fix as soon as possible.
22 |
23 | Special THX to @zordon605, @ps3120 and @Celest123, @xDPx for his make_fself.exe :)
24 |
25 | Removed the PS4 TitleID and replaced it with the PS2 TitleID to avoid conflicts with real TitleIDs.
26 | THX to @littlebalup for letting me know.
27 |
28 | Patched byte compare routine of the ELF Header Check to my own written one cause......"Equals()" function of MS is shit. :P
29 |
30 | -Have Fun- cfwprpht
--------------------------------------------------------------------------------
/free-ps2-pub-gen/About.cs:
--------------------------------------------------------------------------------
1 | using free_ps2_pub_gen.Properties;
2 | using System;
3 | using System.Diagnostics;
4 | using System.Windows.Forms;
5 |
6 | namespace free_ps2_pub_gen {
7 | ///
8 | /// About Message Form.
9 | ///
10 | public partial class About : Form {
11 | ///
12 | /// Instanze Initializer.
13 | ///
14 | public About() { InitializeComponent(); }
15 |
16 | ///
17 | /// On load of form.
18 | ///
19 | /// The Sender.
20 | /// The Event Arguemtns.
21 | private void About_Load(object sender, EventArgs e) {
22 | pictureBox1.Image = Resources.Info.Resize(32, 32);
23 | label1.Text = "PS2 Fake PKG Generator for PS4\nand orbis-pub-cmd.exe patch by\n";
24 | linkLabel1.Text = "@cfwprpht";
25 | label3.Text = "PS4- PS2 PKG Technic by\n";
26 | linkLabel2.Text = "@flat_z";
27 | label5.Text = "Template PS2 Emu PKG provided by\n";
28 | linkLabel3.Text = "@Celest123";
29 | label6.Text = "make_fself.exe port of flat_z py script by\n";
30 | linkLabel4.Text = "@xDPx";
31 | }
32 |
33 | ///
34 | /// Link Label clicked.
35 | ///
36 | /// The Sender.
37 | /// The Event Arguemtns.
38 | private void LinkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) {
39 | linkLabel1.LinkVisited = true;
40 | Process.Start("https://twitter.com/cfwprophet");
41 | }
42 |
43 | ///
44 | /// Link Label clicked.
45 | ///
46 | /// The Sender.
47 | /// The Event Arguemtns.
48 | private void LinkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) {
49 | linkLabel2.LinkVisited = true;
50 | Process.Start("https://twitter.com/flat_z");
51 | }
52 |
53 | ///
54 | /// Link Label clicked.
55 | ///
56 | /// The Sender.
57 | /// The Event Arguemtns.
58 | private void LlinkLabel3_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) {
59 | linkLabel3.LinkVisited = true;
60 | Process.Start("https://twitter.com/CelesteBlue123");
61 | }
62 |
63 | ///
64 | /// Link Label clicked.
65 | ///
66 | /// The Sender.
67 | /// The Event Arguemtns.
68 | private void LlinkLabel4_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) {
69 | linkLabel4.LinkVisited = true;
70 | Process.Start("https://twitter.com/thedarkprogr");
71 | }
72 | }
73 | }
74 |
--------------------------------------------------------------------------------
/free-ps2-pub-gen/free-ps2-pub-gen.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | AnyCPU
7 | {5718227F-82DC-4713-A456-87EECE32B290}
8 | WinExe
9 | Properties
10 | free_ps2_pub_gen
11 | free-ps2-pub-gen
12 | v4.5.2
13 | 512
14 | true
15 |
16 |
17 | AnyCPU
18 | true
19 | full
20 | false
21 | bin\Debug\
22 | DEBUG;TRACE
23 | prompt
24 | 4
25 |
26 |
27 | AnyCPU
28 | pdbonly
29 | true
30 | bin\Release\
31 | TRACE
32 | prompt
33 | 4
34 |
35 |
36 | emu.ico
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 | Form
54 |
55 |
56 | About.cs
57 |
58 |
59 | Form
60 |
61 |
62 | EmulatorOptions.cs
63 |
64 |
65 | Form
66 |
67 |
68 | Fakeps2pkggen.cs
69 |
70 |
71 |
72 |
73 |
74 |
75 | About.cs
76 | Designer
77 |
78 |
79 | EmulatorOptions.cs
80 |
81 |
82 | Fakeps2pkggen.cs
83 |
84 |
85 | ResXFileCodeGenerator
86 | Resources.Designer.cs
87 | Designer
88 |
89 |
90 | True
91 | Resources.resx
92 | True
93 |
94 |
95 | SettingsSingleFileGenerator
96 | Settings.Designer.cs
97 |
98 |
99 | True
100 | Settings.settings
101 | True
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 |
128 |
129 |
130 |
131 |
132 |
133 |
134 |
135 |
136 |
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
145 |
146 |
147 |
148 |
149 |
150 |
151 |
158 |
--------------------------------------------------------------------------------
/free-ps2-pub-gen/Properties/Resources.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // Dieser Code wurde von einem Tool generiert.
4 | // Laufzeitversion:4.0.30319.42000
5 | //
6 | // Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
7 | // der Code erneut generiert wird.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace free_ps2_pub_gen.Properties {
12 | using System;
13 |
14 |
15 | ///
16 | /// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
17 | ///
18 | // Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert
19 | // -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert.
20 | // Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
21 | // mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu.
22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
25 | internal class Resources {
26 |
27 | private static global::System.Resources.ResourceManager resourceMan;
28 |
29 | private static global::System.Globalization.CultureInfo resourceCulture;
30 |
31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
32 | internal Resources() {
33 | }
34 |
35 | ///
36 | /// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
37 | ///
38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
39 | internal static global::System.Resources.ResourceManager ResourceManager {
40 | get {
41 | if (object.ReferenceEquals(resourceMan, null)) {
42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("free_ps2_pub_gen.Properties.Resources", typeof(Resources).Assembly);
43 | resourceMan = temp;
44 | }
45 | return resourceMan;
46 | }
47 | }
48 |
49 | ///
50 | /// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
51 | /// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
52 | ///
53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
54 | internal static global::System.Globalization.CultureInfo Culture {
55 | get {
56 | return resourceCulture;
57 | }
58 | set {
59 | resourceCulture = value;
60 | }
61 | }
62 |
63 | ///
64 | /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
65 | ///
66 | internal static System.Drawing.Bitmap Alert {
67 | get {
68 | object obj = ResourceManager.GetObject("Alert", resourceCulture);
69 | return ((System.Drawing.Bitmap)(obj));
70 | }
71 | }
72 |
73 | ///
74 | /// Sucht eine lokalisierte Ressource vom Typ System.IO.UnmanagedMemoryStream ähnlich wie System.IO.MemoryStream.
75 | ///
76 | internal static System.IO.UnmanagedMemoryStream AlertSound {
77 | get {
78 | return ResourceManager.GetStream("AlertSound", resourceCulture);
79 | }
80 | }
81 |
82 | ///
83 | /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
84 | ///
85 | internal static System.Drawing.Bitmap DbgClamp {
86 | get {
87 | object obj = ResourceManager.GetObject("DbgClamp", resourceCulture);
88 | return ((System.Drawing.Bitmap)(obj));
89 | }
90 | }
91 |
92 | ///
93 | /// Sucht eine lokalisierte Ressource vom Typ System.IO.UnmanagedMemoryStream ähnlich wie System.IO.MemoryStream.
94 | ///
95 | internal static System.IO.UnmanagedMemoryStream DebugSound {
96 | get {
97 | return ResourceManager.GetStream("DebugSound", resourceCulture);
98 | }
99 | }
100 |
101 | ///
102 | /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Icon ähnlich wie (Symbol).
103 | ///
104 | internal static System.Drawing.Icon Disk {
105 | get {
106 | object obj = ResourceManager.GetObject("Disk", resourceCulture);
107 | return ((System.Drawing.Icon)(obj));
108 | }
109 | }
110 |
111 | ///
112 | /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Icon ähnlich wie (Symbol).
113 | ///
114 | internal static System.Drawing.Icon Empty {
115 | get {
116 | object obj = ResourceManager.GetObject("Empty", resourceCulture);
117 | return ((System.Drawing.Icon)(obj));
118 | }
119 | }
120 |
121 | ///
122 | /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
123 | ///
124 | internal static System.Drawing.Bitmap Error {
125 | get {
126 | object obj = ResourceManager.GetObject("Error", resourceCulture);
127 | return ((System.Drawing.Bitmap)(obj));
128 | }
129 | }
130 |
131 | ///
132 | /// Sucht eine lokalisierte Ressource vom Typ System.IO.UnmanagedMemoryStream ähnlich wie System.IO.MemoryStream.
133 | ///
134 | internal static System.IO.UnmanagedMemoryStream ErrorSound {
135 | get {
136 | return ResourceManager.GetStream("ErrorSound", resourceCulture);
137 | }
138 | }
139 |
140 | ///
141 | /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Icon ähnlich wie (Symbol).
142 | ///
143 | internal static System.Drawing.Icon Folder_Open {
144 | get {
145 | object obj = ResourceManager.GetObject("Folder_Open", resourceCulture);
146 | return ((System.Drawing.Icon)(obj));
147 | }
148 | }
149 |
150 | ///
151 | /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
152 | ///
153 | internal static System.Drawing.Bitmap Info {
154 | get {
155 | object obj = ResourceManager.GetObject("Info", resourceCulture);
156 | return ((System.Drawing.Bitmap)(obj));
157 | }
158 | }
159 |
160 | ///
161 | /// Sucht eine lokalisierte Ressource vom Typ System.IO.UnmanagedMemoryStream ähnlich wie System.IO.MemoryStream.
162 | ///
163 | internal static System.IO.UnmanagedMemoryStream InfoSound {
164 | get {
165 | return ResourceManager.GetStream("InfoSound", resourceCulture);
166 | }
167 | }
168 |
169 | ///
170 | /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
171 | ///
172 | internal static System.Drawing.Bitmap Question {
173 | get {
174 | object obj = ResourceManager.GetObject("Question", resourceCulture);
175 | return ((System.Drawing.Bitmap)(obj));
176 | }
177 | }
178 |
179 | ///
180 | /// Sucht eine lokalisierte Ressource vom Typ System.IO.UnmanagedMemoryStream ähnlich wie System.IO.MemoryStream.
181 | ///
182 | internal static System.IO.UnmanagedMemoryStream QuestionSound {
183 | get {
184 | return ResourceManager.GetStream("QuestionSound", resourceCulture);
185 | }
186 | }
187 | }
188 | }
189 |
--------------------------------------------------------------------------------
/free-ps2-pub-gen/About.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace free_ps2_pub_gen {
2 | partial class About {
3 | ///
4 | /// Required designer variable.
5 | ///
6 | private System.ComponentModel.IContainer components = null;
7 |
8 | ///
9 | /// Clean up any resources being used.
10 | ///
11 | /// true if managed resources should be disposed; otherwise, false.
12 | protected override void Dispose(bool disposing) {
13 | if (disposing && (components != null)) {
14 | components.Dispose();
15 | }
16 | base.Dispose(disposing);
17 | }
18 |
19 | #region Windows Form Designer generated code
20 |
21 | ///
22 | /// Required method for Designer support - do not modify
23 | /// the contents of this method with the code editor.
24 | ///
25 | private void InitializeComponent() {
26 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(About));
27 | this.label1 = new System.Windows.Forms.Label();
28 | this.label3 = new System.Windows.Forms.Label();
29 | this.label5 = new System.Windows.Forms.Label();
30 | this.pictureBox1 = new System.Windows.Forms.PictureBox();
31 | this.linkLabel1 = new System.Windows.Forms.LinkLabel();
32 | this.linkLabel2 = new System.Windows.Forms.LinkLabel();
33 | this.linkLabel3 = new System.Windows.Forms.LinkLabel();
34 | this.label6 = new System.Windows.Forms.Label();
35 | this.linkLabel4 = new System.Windows.Forms.LinkLabel();
36 | ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
37 | this.SuspendLayout();
38 | //
39 | // label1
40 | //
41 | this.label1.AutoSize = true;
42 | this.label1.Location = new System.Drawing.Point(61, 19);
43 | this.label1.Name = "label1";
44 | this.label1.Size = new System.Drawing.Size(0, 13);
45 | this.label1.TabIndex = 0;
46 | //
47 | // label3
48 | //
49 | this.label3.AutoSize = true;
50 | this.label3.Location = new System.Drawing.Point(61, 52);
51 | this.label3.Name = "label3";
52 | this.label3.Size = new System.Drawing.Size(0, 13);
53 | this.label3.TabIndex = 2;
54 | //
55 | // label5
56 | //
57 | this.label5.AutoSize = true;
58 | this.label5.Location = new System.Drawing.Point(61, 70);
59 | this.label5.Name = "label5";
60 | this.label5.Size = new System.Drawing.Size(0, 13);
61 | this.label5.TabIndex = 4;
62 | //
63 | // pictureBox1
64 | //
65 | this.pictureBox1.Location = new System.Drawing.Point(16, 35);
66 | this.pictureBox1.Name = "pictureBox1";
67 | this.pictureBox1.Size = new System.Drawing.Size(32, 32);
68 | this.pictureBox1.TabIndex = 6;
69 | this.pictureBox1.TabStop = false;
70 | //
71 | // linkLabel1
72 | //
73 | this.linkLabel1.AutoSize = true;
74 | this.linkLabel1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
75 | this.linkLabel1.LinkColor = System.Drawing.Color.Yellow;
76 | this.linkLabel1.Location = new System.Drawing.Point(218, 33);
77 | this.linkLabel1.Name = "linkLabel1";
78 | this.linkLabel1.Size = new System.Drawing.Size(65, 13);
79 | this.linkLabel1.TabIndex = 7;
80 | this.linkLabel1.TabStop = true;
81 | this.linkLabel1.Text = "linkLabel1";
82 | this.linkLabel1.VisitedLinkColor = System.Drawing.Color.Red;
83 | this.linkLabel1.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LinkLabel1_LinkClicked);
84 | //
85 | // linkLabel2
86 | //
87 | this.linkLabel2.AutoSize = true;
88 | this.linkLabel2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
89 | this.linkLabel2.LinkColor = System.Drawing.Color.Yellow;
90 | this.linkLabel2.Location = new System.Drawing.Point(192, 52);
91 | this.linkLabel2.Name = "linkLabel2";
92 | this.linkLabel2.Size = new System.Drawing.Size(65, 13);
93 | this.linkLabel2.TabIndex = 8;
94 | this.linkLabel2.TabStop = true;
95 | this.linkLabel2.Text = "linkLabel2";
96 | this.linkLabel2.VisitedLinkColor = System.Drawing.Color.Red;
97 | this.linkLabel2.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LinkLabel2_LinkClicked);
98 | //
99 | // linkLabel3
100 | //
101 | this.linkLabel3.AutoSize = true;
102 | this.linkLabel3.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
103 | this.linkLabel3.LinkColor = System.Drawing.Color.Yellow;
104 | this.linkLabel3.Location = new System.Drawing.Point(239, 70);
105 | this.linkLabel3.Name = "linkLabel3";
106 | this.linkLabel3.Size = new System.Drawing.Size(65, 13);
107 | this.linkLabel3.TabIndex = 9;
108 | this.linkLabel3.TabStop = true;
109 | this.linkLabel3.Text = "linkLabel3";
110 | this.linkLabel3.VisitedLinkColor = System.Drawing.Color.Red;
111 | this.linkLabel3.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LlinkLabel3_LinkClicked);
112 | //
113 | // label6
114 | //
115 | this.label6.AutoSize = true;
116 | this.label6.Location = new System.Drawing.Point(63, 88);
117 | this.label6.Name = "label6";
118 | this.label6.Size = new System.Drawing.Size(0, 13);
119 | this.label6.TabIndex = 10;
120 | //
121 | // linkLabel4
122 | //
123 | this.linkLabel4.AutoSize = true;
124 | this.linkLabel4.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
125 | this.linkLabel4.LinkColor = System.Drawing.Color.Yellow;
126 | this.linkLabel4.Location = new System.Drawing.Point(242, 88);
127 | this.linkLabel4.Name = "linkLabel4";
128 | this.linkLabel4.Size = new System.Drawing.Size(65, 13);
129 | this.linkLabel4.TabIndex = 11;
130 | this.linkLabel4.TabStop = true;
131 | this.linkLabel4.Text = "linkLabel4";
132 | this.linkLabel4.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LlinkLabel4_LinkClicked);
133 | //
134 | // About
135 | //
136 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
137 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
138 | this.BackColor = System.Drawing.Color.DeepSkyBlue;
139 | this.ClientSize = new System.Drawing.Size(402, 127);
140 | this.Controls.Add(this.linkLabel4);
141 | this.Controls.Add(this.label6);
142 | this.Controls.Add(this.linkLabel3);
143 | this.Controls.Add(this.linkLabel2);
144 | this.Controls.Add(this.linkLabel1);
145 | this.Controls.Add(this.pictureBox1);
146 | this.Controls.Add(this.label5);
147 | this.Controls.Add(this.label3);
148 | this.Controls.Add(this.label1);
149 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
150 | this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
151 | this.MaximizeBox = false;
152 | this.Name = "About";
153 | this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
154 | this.Text = "About";
155 | this.Load += new System.EventHandler(this.About_Load);
156 | ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
157 | this.ResumeLayout(false);
158 | this.PerformLayout();
159 |
160 | }
161 |
162 | #endregion
163 |
164 | private System.Windows.Forms.Label label1;
165 | private System.Windows.Forms.Label label3;
166 | private System.Windows.Forms.Label label5;
167 | private System.Windows.Forms.PictureBox pictureBox1;
168 | private System.Windows.Forms.LinkLabel linkLabel1;
169 | private System.Windows.Forms.LinkLabel linkLabel2;
170 | private System.Windows.Forms.LinkLabel linkLabel3;
171 | private System.Windows.Forms.Label label6;
172 | private System.Windows.Forms.LinkLabel linkLabel4;
173 | }
174 | }
--------------------------------------------------------------------------------
/free-ps2-pub-gen/Properties/Resources.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 |
122 | ..\res\Alert.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
123 |
124 |
125 | ..\res\Alert.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
126 |
127 |
128 | ..\res\DbgClamp.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
129 |
130 |
131 | ..\res\Debug.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
132 |
133 |
134 | ..\res\disk.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
135 |
136 |
137 | ..\res\Empty.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
138 |
139 |
140 | ..\res\Error.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
141 |
142 |
143 | ..\res\Error.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
144 |
145 |
146 | ..\res\Folder_Open.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
147 |
148 |
149 | ..\res\HelpAboutIcon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
150 |
151 |
152 | ..\res\Info.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
153 |
154 |
155 | ..\res\Help.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
156 |
157 |
158 | ..\res\Question.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
159 |
160 |
--------------------------------------------------------------------------------
/free-ps2-pub-gen/EmulatorOptions.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Diagnostics;
4 | using System.IO;
5 | using System.Windows.Forms;
6 |
7 | namespace free_ps2_pub_gen {
8 | ///
9 | /// Emulator Options.
10 | ///
11 | public partial class EmulatorOptions : Form {
12 | private bool gsopt, fpu, cop2, vu1, gsoverr, assert, saved, userChange, init;
13 | private string gsvert, idec, eeignore, configFile, scriptFile;
14 | private List eehook;
15 |
16 | ///
17 | /// Main Entry of the Form.
18 | ///
19 | public EmulatorOptions() { InitializeComponent(); }
20 |
21 | ///
22 | /// On Load of Form.
23 | ///
24 | /// The Sender.
25 | /// The Event Arguments.
26 | private void EmulatorOptions_Load(object sender, EventArgs e) {
27 | init = false;
28 | if (Directory.Exists(Directory.GetCurrentDirectory() + @"\template\app0\patches\")) {
29 | string[] files = Directory.GetFiles(Directory.GetCurrentDirectory() + @"\template\app0\patches\", "*_cli.conf");
30 | if (files.Length == 1) {
31 | configFile = files[0];
32 | if (File.Exists(configFile)) {
33 | eehook = new List();
34 | comboEeIgnore.Items.Add("Read");
35 | comboEeIgnore.Items.Add("Write");
36 | gsopt = fpu = cop2 = vu1 = gsoverr = assert = saved = userChange = false;
37 | gsvert = idec = eeignore = string.Empty;
38 |
39 | string[] config = File.ReadAllLines(configFile);
40 | foreach (string line in config) {
41 | if (line.Contain("--ee-hook=")) rtbEeHook.Text += line.Replace("--ee-hook=", "") + Environment.NewLine;
42 | else if (line.Contain("--gs-vert-precision=")) textBoxGsVert.Text = line.Replace("--gs-vert-precision=", "");
43 | else if (line.Contain("--idec-cycles-per-qwc=")) textBoxIdec.Text = line.Replace("--idec-cycles-per-qwc=", "");
44 | else if (line.Contain("--gs-optimize-30fps=")) {
45 | if (line.Replace("--gs-optimize-30fps=", "").Equals("1")) checkGsOpt.Checked = true;
46 | else checkGsOpt.Checked = false;
47 | } else if (line.Contain("--fpu-no-clamping=")) {
48 | if (line.Replace("--fpu-no-clamping=", "").Equals("1")) checkFpu.Checked = true;
49 | else checkFpu.Checked = false;
50 | } else if (line.Contain("--cop2-no-clamping=")) {
51 | if (line.Replace("--cop2-no-clamping=", "").Equals("1")) checkCop2.Checked = true;
52 | else checkCop2.Checked = false;
53 | } else if (line.Contain("--vu1-di-bits=")) {
54 | if (line.Replace("--vu1-di-bits=", "").Equals("1")) checkVu1Di.Checked = true;
55 | else checkVu1Di.Checked = false;
56 | } else if (line.Contain("--gs-override-small-tri-area=")) {
57 | if (line.Replace("--gs-override-small-tri-area=", "").Equals("1")) checkGsOverride.Checked = true;
58 | else checkGsOverride.Checked = false;
59 | } else if (line.Contain("--assert-path1-ad=")) {
60 | if (line.Replace("--assert-path1-ad=", "").Equals("1")) checkAssertPath.Checked = true;
61 | else checkAssertPath.Checked = false;
62 | } else if (line.Contain("--ee-ignore-segfault=")) {
63 | if (line.Replace("--ee-ignore-segfault=", "").Equals("Read")) comboEeIgnore.SelectedText = "Read";
64 | else comboEeIgnore.SelectedText = "Write";
65 | }
66 | }
67 | eehook.AddRange(rtbEeHook.Lines);
68 | eeignore = comboEeIgnore.SelectedText;
69 | gsvert = textBoxGsVert.Text;
70 | idec = textBoxIdec.Text;
71 | gsopt = checkGsOpt.Checked;
72 | fpu = checkFpu.Checked;
73 | cop2 = checkCop2.Checked;
74 | vu1 = checkVu1Di.Checked;
75 | gsoverr = checkGsOverride.Checked;
76 | assert = checkAssertPath.Checked;
77 | } else {
78 | MessagBox.Error("Cant access the config file !\nWill return.");
79 | DialogResult = DialogResult.Abort;
80 | }
81 | } else {
82 | MessagBox.Error("I found more then one TitleID config file within the patches folder !\nDon't know which to use.");
83 | DialogResult = DialogResult.Abort;
84 | }
85 | } else {
86 | MessagBox.Error("Can't access " + Directory.GetCurrentDirectory() + @"\template\app0\patches\" + " \nMake sure the path exists.");
87 | DialogResult = DialogResult.Abort;
88 | }
89 | init = true;
90 | }
91 |
92 | ///
93 | /// On Form Closing.
94 | ///
95 | /// The Sender.
96 | /// The Event Arguments.
97 | private void EmulatorOptions_FormClosing(object sender, FormClosingEventArgs e) {
98 | if (userChange && !saved) {
99 | if (eehook.Count != rtbEeHook.Lines.Length) goto changed;
100 |
101 | int maxlen = 0;
102 | if (eehook.Count > rtbEeHook.Lines.Length) maxlen = rtbEeHook.Lines.Length;
103 | else maxlen = eehook.Count;
104 |
105 | string[] backup = eehook.ToArray();
106 | string[] actual = rtbEeHook.Lines;
107 | for (int i = 0; i < maxlen; i++) { if (!backup[i].Equals(actual[i])) goto changed; }
108 |
109 | if (comboEeIgnore.SelectedText != eeignore) goto changed;
110 | else if (textBoxGsVert.Text != gsvert) goto changed;
111 | else if (textBoxIdec.Text != idec) goto changed;
112 | else if (checkGsOpt.Checked != gsopt) goto changed;
113 | else if (checkFpu.Checked != fpu) goto changed;
114 | else if (checkCop2.Checked != cop2) goto changed;
115 | else if (checkVu1Di.Checked != vu1) goto changed;
116 | else if (checkGsOverride.Checked != gsoverr) goto changed;
117 | else if (checkAssertPath.Checked != assert) goto changed;
118 | else return;
119 |
120 | changed:
121 | if (MessagBox.Question(Buttons.YesNo, "You changed some options but didn't save.\nAre you sure to Close the App now ?") == DialogResult.No) e.Cancel = true;
122 | }
123 | }
124 |
125 | ///
126 | /// On User Change.
127 | ///
128 | /// The Sender.
129 | /// The Event Arguments.
130 | private void CheckFpu_CheckedChanged(object sender, EventArgs e) { if (init) userChange = true; }
131 |
132 | ///
133 | /// On User Change.
134 | ///
135 | /// The Sender.
136 | /// The Event Arguments.
137 | private void CheckCop2_CheckedChanged(object sender, EventArgs e) { if (init) userChange = true; }
138 |
139 | ///
140 | /// On User Change.
141 | ///
142 | /// The Sender.
143 | /// The Event Arguments.
144 | private void CheckVu1Di_CheckedChanged(object sender, EventArgs e) { if (init) userChange = true; }
145 |
146 | ///
147 | /// On User Change.
148 | ///
149 | /// The Sender.
150 | /// The Event Arguments.
151 | private void CheckGsOverride_CheckedChanged(object sender, EventArgs e) { if (init) userChange = true; }
152 |
153 | ///
154 | /// On User Change.
155 | ///
156 | /// The Sender.
157 | /// The Event Arguments.
158 | private void CheckAssertPath_CheckedChanged(object sender, EventArgs e) { if (init) userChange = true; }
159 |
160 | ///
161 | /// On User Change.
162 | ///
163 | /// The Sender.
164 | /// The Event Arguments.
165 | private void ComboEeIgnore_SelectedIndexChanged(object sender, EventArgs e) { if (init) userChange = true; }
166 |
167 | ///
168 | /// On User Change.
169 | ///
170 | /// The Sender.
171 | /// The Event Arguments.
172 | private void RtbEeHook_TextChanged(object sender, EventArgs e) { if (init) userChange = true; }
173 |
174 | ///
175 | /// On User Change.
176 | ///
177 | /// The Sender.
178 | /// The Event Arguments.
179 | private void CheckGsOpt_CheckedChanged(object sender, EventArgs e) { if (init) userChange = true; }
180 |
181 | ///
182 | /// On User Change.
183 | ///
184 | /// The Sender.
185 | /// The Event Arguments.
186 | private void TextBoxIdec_TextChanged(object sender, EventArgs e) { if (init) userChange = true; }
187 |
188 | ///
189 | /// On User Change.
190 | ///
191 | /// The Sender.
192 | /// The Event Arguments.
193 | private void TextBoxGsVert_TextChanged(object sender, EventArgs e) { if (init) userChange = true; }
194 |
195 | ///
196 | /// On Button Save click.
197 | ///
198 | /// The Sender.
199 | /// The Event Arguments.
200 | private void ButtonSave_Click(object sender, EventArgs e) {
201 | if (comboEeIgnore.SelectedIndex == -1) { MessagBox.Error("No 'Ignore Segfault' mode choosen !"); return; }
202 | List newConf = new List();
203 |
204 | if (rtbEeHook.Lines.Length > 0) {
205 | foreach (string line in rtbEeHook.Lines) newConf.Add("--ee-hook=" + line);
206 | }
207 | newConf.Add("--gs-vert-precision=" + textBoxGsVert.Text);
208 | newConf.Add("--idec-cycles-per-qwc==" + textBoxIdec.Text);
209 | if (checkGsOpt.Checked) newConf.Add("--gs-optimize-30fps=1");
210 | else newConf.Add("--gs-optimize-30fps=0");
211 | if (checkFpu.Checked) newConf.Add("--fpu-no-clamping=1");
212 | else newConf.Add("--fpu-no-clamping=0");
213 | if (checkCop2.Checked) newConf.Add("--cop2-no-clamping=1");
214 | else newConf.Add("--cop2-no-clamping=0");
215 | if (checkVu1Di.Checked) newConf.Add("--vu1-di-bits=1");
216 | else newConf.Add("--vu1-di-bits=0");
217 | if (checkGsOverride.Checked) newConf.Add("--gs-override-small-tri-area=1");
218 | else newConf.Add("--gs-override-small-tri-area=0");
219 | if (checkAssertPath.Checked) newConf.Add("--assert-path1-ad=1");
220 | else newConf.Add("--assert-path1-ad=0");
221 | newConf.Add(comboEeIgnore.SelectedText);
222 |
223 | try {
224 | File.Delete(configFile);
225 | File.Create(configFile).Close();
226 | File.WriteAllLines(configFile, newConf.ToArray());
227 |
228 | } catch (IOException io) { MessagBox.Error("IO Exception !\n\n" + io); }
229 | finally { saved = true; }
230 | }
231 |
232 | ///
233 | /// On Button Reset click.
234 | ///
235 | /// The Sender.
236 | /// The Event Arguments.
237 | private void ButtonReset_Click(object sender, EventArgs e) {
238 | rtbEeHook.Lines = eehook.ToArray();
239 | comboEeIgnore.SelectedText = eeignore;
240 | textBoxGsVert.Text = gsvert;
241 | textBoxIdec.Text = idec;
242 | checkGsOpt.Checked = gsopt;
243 | checkFpu.Checked = fpu;
244 | checkCop2.Checked = cop2;
245 | checkVu1Di.Checked = vu1;
246 | checkGsOverride.Checked = gsoverr;
247 | checkAssertPath.Checked = assert;
248 | }
249 |
250 | ///
251 | /// On Button Edit Script click.
252 | ///
253 | /// The Sender.
254 | /// The Event Arguments.
255 | private void ButtonEditScript_Click(object sender, EventArgs e) {
256 | if (Fakeps2pkggen.textViewer == string.Empty) {
257 | MessagBox.Error("No default text viewer set.\nPlease tell me which app you want to use to edit your script file.\nOptions > Paths > Default Text/Code Viewer");
258 | return;
259 | }
260 |
261 | if (Directory.Exists(Directory.GetCurrentDirectory() + @"\template\app0\patches\")) {
262 | string[] files = Directory.GetFiles(Directory.GetCurrentDirectory() + @"\template\app0\patches\", "*_config.lua");
263 | if (files.Length == 1) {
264 | scriptFile = files[0];
265 | if (File.Exists(scriptFile)) {
266 | Process editor = new Process();
267 | ProcessStartInfo run = new ProcessStartInfo();
268 | run.FileName = Fakeps2pkggen.textViewer;
269 | run.Arguments = scriptFile;
270 | editor.StartInfo = run;
271 | editor.Start();
272 | editor.WaitForExit();
273 | } else MessagBox.Error("Cant access the script file !\nWill return.");
274 | } else MessagBox.Error("I found more then one TitleID script file within the patches folder !\nDon't know which to use.");
275 | } else MessagBox.Error("Someting went wrong !\nCan't access " + Directory.GetCurrentDirectory() + @"\template\app0\patches\" + " \nMake sure the path exists.");
276 | }
277 | }
278 | }
279 |
--------------------------------------------------------------------------------
/free-ps2-pub-gen/EmulatorOptions.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace free_ps2_pub_gen {
2 | partial class EmulatorOptions {
3 | ///
4 | /// Required designer variable.
5 | ///
6 | private System.ComponentModel.IContainer components = null;
7 |
8 | ///
9 | /// Clean up any resources being used.
10 | ///
11 | /// true if managed resources should be disposed; otherwise, false.
12 | protected override void Dispose(bool disposing) {
13 | if (disposing && (components != null)) {
14 | components.Dispose();
15 | }
16 | base.Dispose(disposing);
17 | }
18 |
19 | #region Windows Form Designer generated code
20 |
21 | ///
22 | /// Required method for Designer support - do not modify
23 | /// the contents of this method with the code editor.
24 | ///
25 | private void InitializeComponent() {
26 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(EmulatorOptions));
27 | this.labelGsVert = new System.Windows.Forms.Label();
28 | this.labelIdec = new System.Windows.Forms.Label();
29 | this.labelGsOpt = new System.Windows.Forms.Label();
30 | this.labelFpu = new System.Windows.Forms.Label();
31 | this.labelCop2 = new System.Windows.Forms.Label();
32 | this.labelVu1Di = new System.Windows.Forms.Label();
33 | this.labelGsOverride = new System.Windows.Forms.Label();
34 | this.labelAssertPath = new System.Windows.Forms.Label();
35 | this.labelEeIgnore = new System.Windows.Forms.Label();
36 | this.checkGsOpt = new System.Windows.Forms.CheckBox();
37 | this.checkFpu = new System.Windows.Forms.CheckBox();
38 | this.checkCop2 = new System.Windows.Forms.CheckBox();
39 | this.checkVu1Di = new System.Windows.Forms.CheckBox();
40 | this.checkGsOverride = new System.Windows.Forms.CheckBox();
41 | this.checkAssertPath = new System.Windows.Forms.CheckBox();
42 | this.textBoxGsVert = new System.Windows.Forms.TextBox();
43 | this.textBoxIdec = new System.Windows.Forms.TextBox();
44 | this.comboEeIgnore = new System.Windows.Forms.ComboBox();
45 | this.buttonSave = new System.Windows.Forms.Button();
46 | this.buttonReset = new System.Windows.Forms.Button();
47 | this.rtbEeHook = new System.Windows.Forms.RichTextBox();
48 | this.labelEeHook = new System.Windows.Forms.Label();
49 | this.buttonEditScript = new System.Windows.Forms.Button();
50 | this.SuspendLayout();
51 | //
52 | // labelGsVert
53 | //
54 | this.labelGsVert.AutoSize = true;
55 | this.labelGsVert.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
56 | this.labelGsVert.Location = new System.Drawing.Point(11, 9);
57 | this.labelGsVert.Name = "labelGsVert";
58 | this.labelGsVert.Size = new System.Drawing.Size(104, 15);
59 | this.labelGsVert.TabIndex = 0;
60 | this.labelGsVert.Text = "gs-vert-precision=";
61 | //
62 | // labelIdec
63 | //
64 | this.labelIdec.AutoSize = true;
65 | this.labelIdec.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
66 | this.labelIdec.Location = new System.Drawing.Point(11, 32);
67 | this.labelIdec.Name = "labelIdec";
68 | this.labelIdec.Size = new System.Drawing.Size(122, 15);
69 | this.labelIdec.TabIndex = 1;
70 | this.labelIdec.Text = "idec-cycles-per-qwc=";
71 | //
72 | // labelGsOpt
73 | //
74 | this.labelGsOpt.AutoSize = true;
75 | this.labelGsOpt.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
76 | this.labelGsOpt.Location = new System.Drawing.Point(11, 54);
77 | this.labelGsOpt.Name = "labelGsOpt";
78 | this.labelGsOpt.Size = new System.Drawing.Size(112, 15);
79 | this.labelGsOpt.TabIndex = 2;
80 | this.labelGsOpt.Text = "gs-optimize-30fps=";
81 | //
82 | // labelFpu
83 | //
84 | this.labelFpu.AutoSize = true;
85 | this.labelFpu.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
86 | this.labelFpu.Location = new System.Drawing.Point(11, 75);
87 | this.labelFpu.Name = "labelFpu";
88 | this.labelFpu.Size = new System.Drawing.Size(104, 15);
89 | this.labelFpu.TabIndex = 3;
90 | this.labelFpu.Text = "fpu-no-clamping=";
91 | //
92 | // labelCop2
93 | //
94 | this.labelCop2.AutoSize = true;
95 | this.labelCop2.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
96 | this.labelCop2.Location = new System.Drawing.Point(11, 97);
97 | this.labelCop2.Name = "labelCop2";
98 | this.labelCop2.Size = new System.Drawing.Size(114, 15);
99 | this.labelCop2.TabIndex = 4;
100 | this.labelCop2.Text = "cop2-no-clamping=";
101 | //
102 | // labelVu1Di
103 | //
104 | this.labelVu1Di.AutoSize = true;
105 | this.labelVu1Di.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
106 | this.labelVu1Di.Location = new System.Drawing.Point(11, 119);
107 | this.labelVu1Di.Name = "labelVu1Di";
108 | this.labelVu1Di.Size = new System.Drawing.Size(70, 15);
109 | this.labelVu1Di.TabIndex = 5;
110 | this.labelVu1Di.Text = "vu1-di-bits=";
111 | //
112 | // labelGsOverride
113 | //
114 | this.labelGsOverride.AutoSize = true;
115 | this.labelGsOverride.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
116 | this.labelGsOverride.Location = new System.Drawing.Point(11, 141);
117 | this.labelGsOverride.Name = "labelGsOverride";
118 | this.labelGsOverride.Size = new System.Drawing.Size(152, 15);
119 | this.labelGsOverride.TabIndex = 6;
120 | this.labelGsOverride.Text = "gs-override-small-tri-area=";
121 | //
122 | // labelAssertPath
123 | //
124 | this.labelAssertPath.AutoSize = true;
125 | this.labelAssertPath.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
126 | this.labelAssertPath.Location = new System.Drawing.Point(11, 164);
127 | this.labelAssertPath.Name = "labelAssertPath";
128 | this.labelAssertPath.Size = new System.Drawing.Size(100, 15);
129 | this.labelAssertPath.TabIndex = 7;
130 | this.labelAssertPath.Text = "assert-path1-ad=";
131 | //
132 | // labelEeIgnore
133 | //
134 | this.labelEeIgnore.AutoSize = true;
135 | this.labelEeIgnore.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
136 | this.labelEeIgnore.Location = new System.Drawing.Point(11, 186);
137 | this.labelEeIgnore.Name = "labelEeIgnore";
138 | this.labelEeIgnore.Size = new System.Drawing.Size(114, 15);
139 | this.labelEeIgnore.TabIndex = 8;
140 | this.labelEeIgnore.Text = "ee-ignore-segfault=";
141 | //
142 | // checkGsOpt
143 | //
144 | this.checkGsOpt.AutoSize = true;
145 | this.checkGsOpt.Location = new System.Drawing.Point(169, 56);
146 | this.checkGsOpt.Name = "checkGsOpt";
147 | this.checkGsOpt.Size = new System.Drawing.Size(15, 14);
148 | this.checkGsOpt.TabIndex = 9;
149 | this.checkGsOpt.UseVisualStyleBackColor = true;
150 | this.checkGsOpt.CheckedChanged += new System.EventHandler(this.CheckGsOpt_CheckedChanged);
151 | //
152 | // checkFpu
153 | //
154 | this.checkFpu.AutoSize = true;
155 | this.checkFpu.Location = new System.Drawing.Point(169, 77);
156 | this.checkFpu.Name = "checkFpu";
157 | this.checkFpu.Size = new System.Drawing.Size(15, 14);
158 | this.checkFpu.TabIndex = 10;
159 | this.checkFpu.UseVisualStyleBackColor = true;
160 | this.checkFpu.CheckedChanged += new System.EventHandler(this.CheckFpu_CheckedChanged);
161 | //
162 | // checkCop2
163 | //
164 | this.checkCop2.AutoSize = true;
165 | this.checkCop2.Location = new System.Drawing.Point(169, 98);
166 | this.checkCop2.Name = "checkCop2";
167 | this.checkCop2.Size = new System.Drawing.Size(15, 14);
168 | this.checkCop2.TabIndex = 11;
169 | this.checkCop2.UseVisualStyleBackColor = true;
170 | this.checkCop2.CheckedChanged += new System.EventHandler(this.CheckCop2_CheckedChanged);
171 | //
172 | // checkVu1Di
173 | //
174 | this.checkVu1Di.AutoSize = true;
175 | this.checkVu1Di.Location = new System.Drawing.Point(169, 121);
176 | this.checkVu1Di.Name = "checkVu1Di";
177 | this.checkVu1Di.Size = new System.Drawing.Size(15, 14);
178 | this.checkVu1Di.TabIndex = 12;
179 | this.checkVu1Di.UseVisualStyleBackColor = true;
180 | this.checkVu1Di.CheckedChanged += new System.EventHandler(this.CheckVu1Di_CheckedChanged);
181 | //
182 | // checkGsOverride
183 | //
184 | this.checkGsOverride.AutoSize = true;
185 | this.checkGsOverride.Location = new System.Drawing.Point(169, 143);
186 | this.checkGsOverride.Name = "checkGsOverride";
187 | this.checkGsOverride.Size = new System.Drawing.Size(15, 14);
188 | this.checkGsOverride.TabIndex = 13;
189 | this.checkGsOverride.UseVisualStyleBackColor = true;
190 | this.checkGsOverride.CheckedChanged += new System.EventHandler(this.CheckGsOverride_CheckedChanged);
191 | //
192 | // checkAssertPath
193 | //
194 | this.checkAssertPath.AutoSize = true;
195 | this.checkAssertPath.Location = new System.Drawing.Point(169, 166);
196 | this.checkAssertPath.Name = "checkAssertPath";
197 | this.checkAssertPath.Size = new System.Drawing.Size(15, 14);
198 | this.checkAssertPath.TabIndex = 14;
199 | this.checkAssertPath.UseVisualStyleBackColor = true;
200 | this.checkAssertPath.CheckedChanged += new System.EventHandler(this.CheckAssertPath_CheckedChanged);
201 | //
202 | // textBoxGsVert
203 | //
204 | this.textBoxGsVert.BackColor = System.Drawing.SystemColors.WindowText;
205 | this.textBoxGsVert.ForeColor = System.Drawing.Color.Yellow;
206 | this.textBoxGsVert.Location = new System.Drawing.Point(169, 8);
207 | this.textBoxGsVert.MaxLength = 2;
208 | this.textBoxGsVert.Name = "textBoxGsVert";
209 | this.textBoxGsVert.Size = new System.Drawing.Size(20, 20);
210 | this.textBoxGsVert.TabIndex = 15;
211 | this.textBoxGsVert.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
212 | this.textBoxGsVert.TextChanged += new System.EventHandler(this.TextBoxGsVert_TextChanged);
213 | //
214 | // textBoxIdec
215 | //
216 | this.textBoxIdec.BackColor = System.Drawing.SystemColors.WindowText;
217 | this.textBoxIdec.ForeColor = System.Drawing.Color.Yellow;
218 | this.textBoxIdec.Location = new System.Drawing.Point(169, 31);
219 | this.textBoxIdec.MaxLength = 3;
220 | this.textBoxIdec.Name = "textBoxIdec";
221 | this.textBoxIdec.Size = new System.Drawing.Size(27, 20);
222 | this.textBoxIdec.TabIndex = 16;
223 | this.textBoxIdec.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
224 | this.textBoxIdec.TextChanged += new System.EventHandler(this.TextBoxIdec_TextChanged);
225 | //
226 | // comboEeIgnore
227 | //
228 | this.comboEeIgnore.BackColor = System.Drawing.SystemColors.WindowText;
229 | this.comboEeIgnore.ForeColor = System.Drawing.Color.Yellow;
230 | this.comboEeIgnore.FormattingEnabled = true;
231 | this.comboEeIgnore.Location = new System.Drawing.Point(169, 185);
232 | this.comboEeIgnore.Name = "comboEeIgnore";
233 | this.comboEeIgnore.Size = new System.Drawing.Size(54, 21);
234 | this.comboEeIgnore.TabIndex = 17;
235 | this.comboEeIgnore.SelectedIndexChanged += new System.EventHandler(this.ComboEeIgnore_SelectedIndexChanged);
236 | //
237 | // buttonSave
238 | //
239 | this.buttonSave.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
240 | | System.Windows.Forms.AnchorStyles.Right)));
241 | this.buttonSave.Location = new System.Drawing.Point(14, 358);
242 | this.buttonSave.Name = "buttonSave";
243 | this.buttonSave.Size = new System.Drawing.Size(97, 42);
244 | this.buttonSave.TabIndex = 18;
245 | this.buttonSave.Text = "Save";
246 | this.buttonSave.UseVisualStyleBackColor = true;
247 | this.buttonSave.Click += new System.EventHandler(this.ButtonSave_Click);
248 | //
249 | // buttonReset
250 | //
251 | this.buttonReset.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
252 | | System.Windows.Forms.AnchorStyles.Right)));
253 | this.buttonReset.Location = new System.Drawing.Point(125, 358);
254 | this.buttonReset.Name = "buttonReset";
255 | this.buttonReset.Size = new System.Drawing.Size(97, 42);
256 | this.buttonReset.TabIndex = 19;
257 | this.buttonReset.Text = "Reset";
258 | this.buttonReset.UseVisualStyleBackColor = true;
259 | this.buttonReset.Click += new System.EventHandler(this.ButtonReset_Click);
260 | //
261 | // rtbEeHook
262 | //
263 | this.rtbEeHook.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
264 | | System.Windows.Forms.AnchorStyles.Right)));
265 | this.rtbEeHook.BackColor = System.Drawing.SystemColors.WindowText;
266 | this.rtbEeHook.ForeColor = System.Drawing.Color.Yellow;
267 | this.rtbEeHook.Location = new System.Drawing.Point(14, 228);
268 | this.rtbEeHook.Name = "rtbEeHook";
269 | this.rtbEeHook.Size = new System.Drawing.Size(208, 124);
270 | this.rtbEeHook.TabIndex = 20;
271 | this.rtbEeHook.Text = "";
272 | this.rtbEeHook.TextChanged += new System.EventHandler(this.RtbEeHook_TextChanged);
273 | //
274 | // labelEeHook
275 | //
276 | this.labelEeHook.AutoSize = true;
277 | this.labelEeHook.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
278 | this.labelEeHook.Location = new System.Drawing.Point(12, 209);
279 | this.labelEeHook.Name = "labelEeHook";
280 | this.labelEeHook.Size = new System.Drawing.Size(59, 15);
281 | this.labelEeHook.TabIndex = 21;
282 | this.labelEeHook.Text = "ee-hook=";
283 | //
284 | // buttonEditScript
285 | //
286 | this.buttonEditScript.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
287 | | System.Windows.Forms.AnchorStyles.Right)));
288 | this.buttonEditScript.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
289 | this.buttonEditScript.Location = new System.Drawing.Point(14, 409);
290 | this.buttonEditScript.Name = "buttonEditScript";
291 | this.buttonEditScript.Size = new System.Drawing.Size(208, 43);
292 | this.buttonEditScript.TabIndex = 22;
293 | this.buttonEditScript.Text = "Edit Script";
294 | this.buttonEditScript.UseVisualStyleBackColor = true;
295 | this.buttonEditScript.Click += new System.EventHandler(this.ButtonEditScript_Click);
296 | //
297 | // EmulatorOptions
298 | //
299 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
300 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
301 | this.BackColor = System.Drawing.Color.LightSkyBlue;
302 | this.ClientSize = new System.Drawing.Size(234, 464);
303 | this.Controls.Add(this.buttonEditScript);
304 | this.Controls.Add(this.labelEeHook);
305 | this.Controls.Add(this.rtbEeHook);
306 | this.Controls.Add(this.buttonReset);
307 | this.Controls.Add(this.buttonSave);
308 | this.Controls.Add(this.comboEeIgnore);
309 | this.Controls.Add(this.textBoxIdec);
310 | this.Controls.Add(this.textBoxGsVert);
311 | this.Controls.Add(this.checkAssertPath);
312 | this.Controls.Add(this.checkGsOverride);
313 | this.Controls.Add(this.checkVu1Di);
314 | this.Controls.Add(this.checkCop2);
315 | this.Controls.Add(this.checkFpu);
316 | this.Controls.Add(this.checkGsOpt);
317 | this.Controls.Add(this.labelEeIgnore);
318 | this.Controls.Add(this.labelAssertPath);
319 | this.Controls.Add(this.labelGsOverride);
320 | this.Controls.Add(this.labelVu1Di);
321 | this.Controls.Add(this.labelCop2);
322 | this.Controls.Add(this.labelFpu);
323 | this.Controls.Add(this.labelGsOpt);
324 | this.Controls.Add(this.labelIdec);
325 | this.Controls.Add(this.labelGsVert);
326 | this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
327 | this.MaximizeBox = false;
328 | this.Name = "EmulatorOptions";
329 | this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
330 | this.Text = "Emu Options";
331 | this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.EmulatorOptions_FormClosing);
332 | this.Load += new System.EventHandler(this.EmulatorOptions_Load);
333 | this.ResumeLayout(false);
334 | this.PerformLayout();
335 |
336 | }
337 |
338 | #endregion
339 |
340 | private System.Windows.Forms.Label labelGsVert;
341 | private System.Windows.Forms.Label labelIdec;
342 | private System.Windows.Forms.Label labelGsOpt;
343 | private System.Windows.Forms.Label labelFpu;
344 | private System.Windows.Forms.Label labelCop2;
345 | private System.Windows.Forms.Label labelVu1Di;
346 | private System.Windows.Forms.Label labelGsOverride;
347 | private System.Windows.Forms.Label labelAssertPath;
348 | private System.Windows.Forms.Label labelEeIgnore;
349 | private System.Windows.Forms.CheckBox checkGsOpt;
350 | private System.Windows.Forms.CheckBox checkFpu;
351 | private System.Windows.Forms.CheckBox checkCop2;
352 | private System.Windows.Forms.CheckBox checkVu1Di;
353 | private System.Windows.Forms.CheckBox checkGsOverride;
354 | private System.Windows.Forms.CheckBox checkAssertPath;
355 | private System.Windows.Forms.TextBox textBoxGsVert;
356 | private System.Windows.Forms.TextBox textBoxIdec;
357 | private System.Windows.Forms.ComboBox comboEeIgnore;
358 | private System.Windows.Forms.Button buttonSave;
359 | private System.Windows.Forms.Button buttonReset;
360 | private System.Windows.Forms.RichTextBox rtbEeHook;
361 | private System.Windows.Forms.Label labelEeHook;
362 | private System.Windows.Forms.Button buttonEditScript;
363 | }
364 | }
--------------------------------------------------------------------------------
/free-ps2-pub-gen/fakeps2pkggen.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace free_ps2_pub_gen
2 | {
3 | partial class Fakeps2pkggen
4 | {
5 | ///
6 | /// Erforderliche Designervariable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Verwendete Ressourcen bereinigen.
12 | ///
13 | /// True, wenn verwaltete Ressourcen gelöscht werden sollen; andernfalls False.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Vom Windows Form-Designer generierter Code
24 |
25 | ///
26 | /// Erforderliche Methode für die Designerunterstützung.
27 | /// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Fakeps2pkggen));
32 | this.menuStrip = new System.Windows.Forms.MenuStrip();
33 | this.openToolStrip = new System.Windows.Forms.ToolStripMenuItem();
34 | this.openISOToolStrip = new System.Windows.Forms.ToolStripMenuItem();
35 | this.closeToolStrip = new System.Windows.Forms.ToolStripMenuItem();
36 | this.optionsToolStrip = new System.Windows.Forms.ToolStripMenuItem();
37 | this.pathsToolStrip = new System.Windows.Forms.ToolStripMenuItem();
38 | this.makefselfpyToolStrip = new System.Windows.Forms.ToolStripMenuItem();
39 | this.orbispubcmdexeToolStrip = new System.Windows.Forms.ToolStripMenuItem();
40 | this.authinfotxtToolStrip = new System.Windows.Forms.ToolStripMenuItem();
41 | this.optionsDefTxtCVieToolStrip = new System.Windows.Forms.ToolStripMenuItem();
42 | this.adBackToolStrip = new System.Windows.Forms.ToolStripMenuItem();
43 | this.patchesCliConfToolStrip = new System.Windows.Forms.ToolStripMenuItem();
44 | this.patchesConfLuaToolStrip = new System.Windows.Forms.ToolStripMenuItem();
45 | this.trophydataToolStrip = new System.Windows.Forms.ToolStripMenuItem();
46 | this.featuredataToolStrip = new System.Windows.Forms.ToolStripMenuItem();
47 | this.featuredatapatchToolStrip = new System.Windows.Forms.ToolStripMenuItem();
48 | this.toolingscriptToolStrip = new System.Windows.Forms.ToolStripMenuItem();
49 | this.nptitlenpbindToolStrip = new System.Windows.Forms.ToolStripMenuItem();
50 | this.changePasscodeToolStrip = new System.Windows.Forms.ToolStripMenuItem();
51 | this.emulatorToolStrip = new System.Windows.Forms.ToolStripMenuItem();
52 | this.aboutToolStrip = new System.Windows.Forms.ToolStripMenuItem();
53 | this.aboutToolStripA = new System.Windows.Forms.ToolStripMenuItem();
54 | this.textIsoAndOutPath = new System.Windows.Forms.TextBox();
55 | this.buttonOpen = new System.Windows.Forms.Button();
56 | this.textContentID = new System.Windows.Forms.TextBox();
57 | this.labelContentID = new System.Windows.Forms.Label();
58 | this.toolStrip = new System.Windows.Forms.ToolStrip();
59 | this.toolStripBuild = new System.Windows.Forms.ToolStripButton();
60 | this.toolStripComboBox = new System.Windows.Forms.ToolStripComboBox();
61 | this.statusStrip = new System.Windows.Forms.StatusStrip();
62 | this.idl = new System.Windows.Forms.ToolStripStatusLabel();
63 | this.textBoxGameName = new System.Windows.Forms.TextBox();
64 | this.labelGameName = new System.Windows.Forms.Label();
65 | this.textBoxPs2TID = new System.Windows.Forms.TextBox();
66 | this.labelPs2TitId = new System.Windows.Forms.Label();
67 | this.optionsClearSettingsToolStrip = new System.Windows.Forms.ToolStripMenuItem();
68 | this.menuStrip.SuspendLayout();
69 | this.toolStrip.SuspendLayout();
70 | this.statusStrip.SuspendLayout();
71 | this.SuspendLayout();
72 | //
73 | // menuStrip
74 | //
75 | this.menuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
76 | this.openToolStrip,
77 | this.optionsToolStrip,
78 | this.aboutToolStrip});
79 | this.menuStrip.Location = new System.Drawing.Point(0, 0);
80 | this.menuStrip.Name = "menuStrip";
81 | this.menuStrip.Size = new System.Drawing.Size(357, 24);
82 | this.menuStrip.TabIndex = 0;
83 | this.menuStrip.Text = "menuStrip1";
84 | //
85 | // openToolStrip
86 | //
87 | this.openToolStrip.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
88 | this.openISOToolStrip,
89 | this.closeToolStrip});
90 | this.openToolStrip.Image = ((System.Drawing.Image)(resources.GetObject("openToolStrip.Image")));
91 | this.openToolStrip.Name = "openToolStrip";
92 | this.openToolStrip.Size = new System.Drawing.Size(53, 20);
93 | this.openToolStrip.Text = "File";
94 | //
95 | // openISOToolStrip
96 | //
97 | this.openISOToolStrip.Image = ((System.Drawing.Image)(resources.GetObject("openISOToolStrip.Image")));
98 | this.openISOToolStrip.Name = "openISOToolStrip";
99 | this.openISOToolStrip.Size = new System.Drawing.Size(152, 22);
100 | this.openISOToolStrip.Text = "Open ISO";
101 | this.openISOToolStrip.Click += new System.EventHandler(this.OpenISOToolStrip_Click);
102 | //
103 | // closeToolStrip
104 | //
105 | this.closeToolStrip.Image = ((System.Drawing.Image)(resources.GetObject("closeToolStrip.Image")));
106 | this.closeToolStrip.Name = "closeToolStrip";
107 | this.closeToolStrip.Size = new System.Drawing.Size(152, 22);
108 | this.closeToolStrip.Text = "Close";
109 | this.closeToolStrip.Click += new System.EventHandler(this.CloseToolStrip_Click);
110 | //
111 | // optionsToolStrip
112 | //
113 | this.optionsToolStrip.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
114 | this.pathsToolStrip,
115 | this.adBackToolStrip,
116 | this.changePasscodeToolStrip,
117 | this.emulatorToolStrip});
118 | this.optionsToolStrip.Image = ((System.Drawing.Image)(resources.GetObject("optionsToolStrip.Image")));
119 | this.optionsToolStrip.Name = "optionsToolStrip";
120 | this.optionsToolStrip.Size = new System.Drawing.Size(77, 20);
121 | this.optionsToolStrip.Text = "Options";
122 | //
123 | // pathsToolStrip
124 | //
125 | this.pathsToolStrip.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
126 | this.makefselfpyToolStrip,
127 | this.orbispubcmdexeToolStrip,
128 | this.authinfotxtToolStrip,
129 | this.optionsDefTxtCVieToolStrip,
130 | this.optionsClearSettingsToolStrip});
131 | this.pathsToolStrip.Image = ((System.Drawing.Image)(resources.GetObject("pathsToolStrip.Image")));
132 | this.pathsToolStrip.Name = "pathsToolStrip";
133 | this.pathsToolStrip.Size = new System.Drawing.Size(167, 22);
134 | this.pathsToolStrip.Text = "Paths";
135 | //
136 | // makefselfpyToolStrip
137 | //
138 | this.makefselfpyToolStrip.Image = ((System.Drawing.Image)(resources.GetObject("makefselfpyToolStrip.Image")));
139 | this.makefselfpyToolStrip.Name = "makefselfpyToolStrip";
140 | this.makefselfpyToolStrip.Size = new System.Drawing.Size(208, 22);
141 | this.makefselfpyToolStrip.Text = "make_fself.exe";
142 | this.makefselfpyToolStrip.Click += new System.EventHandler(this.MakefselfToolStrip_Click);
143 | //
144 | // orbispubcmdexeToolStrip
145 | //
146 | this.orbispubcmdexeToolStrip.Image = ((System.Drawing.Image)(resources.GetObject("orbispubcmdexeToolStrip.Image")));
147 | this.orbispubcmdexeToolStrip.Name = "orbispubcmdexeToolStrip";
148 | this.orbispubcmdexeToolStrip.Size = new System.Drawing.Size(208, 22);
149 | this.orbispubcmdexeToolStrip.Text = "orbis-pub-cmd-ps2.exe";
150 | this.orbispubcmdexeToolStrip.Click += new System.EventHandler(this.OrbispubcmdexeToolStrip_Click);
151 | //
152 | // authinfotxtToolStrip
153 | //
154 | this.authinfotxtToolStrip.Image = ((System.Drawing.Image)(resources.GetObject("authinfotxtToolStrip.Image")));
155 | this.authinfotxtToolStrip.Name = "authinfotxtToolStrip";
156 | this.authinfotxtToolStrip.Size = new System.Drawing.Size(208, 22);
157 | this.authinfotxtToolStrip.Text = "authinfo.txt";
158 | this.authinfotxtToolStrip.Click += new System.EventHandler(this.AuthinfotxtToolStrip_Click);
159 | //
160 | // optionsDefTxtCVieToolStrip
161 | //
162 | this.optionsDefTxtCVieToolStrip.Image = ((System.Drawing.Image)(resources.GetObject("optionsDefTxtCVieToolStrip.Image")));
163 | this.optionsDefTxtCVieToolStrip.Name = "optionsDefTxtCVieToolStrip";
164 | this.optionsDefTxtCVieToolStrip.Size = new System.Drawing.Size(208, 22);
165 | this.optionsDefTxtCVieToolStrip.Text = "Default Text/Code Viewer";
166 | this.optionsDefTxtCVieToolStrip.Click += new System.EventHandler(this.OptionsDefTxtCVieToolStrip_Click);
167 | //
168 | // adBackToolStrip
169 | //
170 | this.adBackToolStrip.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
171 | this.patchesCliConfToolStrip,
172 | this.patchesConfLuaToolStrip,
173 | this.trophydataToolStrip,
174 | this.featuredataToolStrip,
175 | this.featuredatapatchToolStrip,
176 | this.toolingscriptToolStrip,
177 | this.nptitlenpbindToolStrip});
178 | this.adBackToolStrip.Image = ((System.Drawing.Image)(resources.GetObject("adBackToolStrip.Image")));
179 | this.adBackToolStrip.Name = "adBackToolStrip";
180 | this.adBackToolStrip.Size = new System.Drawing.Size(167, 22);
181 | this.adBackToolStrip.Text = "Add Back";
182 | //
183 | // patchesCliConfToolStrip
184 | //
185 | this.patchesCliConfToolStrip.Image = ((System.Drawing.Image)(resources.GetObject("patchesCliConfToolStrip.Image")));
186 | this.patchesCliConfToolStrip.Name = "patchesCliConfToolStrip";
187 | this.patchesCliConfToolStrip.Size = new System.Drawing.Size(178, 22);
188 | this.patchesCliConfToolStrip.Text = "-patches/cli.conf";
189 | this.patchesCliConfToolStrip.Click += new System.EventHandler(this.PatchesCliConfToolStrip_Click);
190 | //
191 | // patchesConfLuaToolStrip
192 | //
193 | this.patchesConfLuaToolStrip.Image = ((System.Drawing.Image)(resources.GetObject("patchesConfLuaToolStrip.Image")));
194 | this.patchesConfLuaToolStrip.Name = "patchesConfLuaToolStrip";
195 | this.patchesConfLuaToolStrip.Size = new System.Drawing.Size(178, 22);
196 | this.patchesConfLuaToolStrip.Text = "-patches/config.lua";
197 | this.patchesConfLuaToolStrip.Click += new System.EventHandler(this.PatchesConfLuaToolStrip_Click);
198 | //
199 | // trophydataToolStrip
200 | //
201 | this.trophydataToolStrip.Image = ((System.Drawing.Image)(resources.GetObject("trophydataToolStrip.Image")));
202 | this.trophydataToolStrip.Name = "trophydataToolStrip";
203 | this.trophydataToolStrip.Size = new System.Drawing.Size(178, 22);
204 | this.trophydataToolStrip.Text = "-trophydata";
205 | this.trophydataToolStrip.Click += new System.EventHandler(this.TrophydataToolStrip_Click);
206 | //
207 | // featuredataToolStrip
208 | //
209 | this.featuredataToolStrip.Image = ((System.Drawing.Image)(resources.GetObject("featuredataToolStrip.Image")));
210 | this.featuredataToolStrip.Name = "featuredataToolStrip";
211 | this.featuredataToolStrip.Size = new System.Drawing.Size(178, 22);
212 | this.featuredataToolStrip.Text = "-featuredata";
213 | this.featuredataToolStrip.Click += new System.EventHandler(this.FeaturedataToolStrip_Click);
214 | //
215 | // featuredatapatchToolStrip
216 | //
217 | this.featuredatapatchToolStrip.Image = ((System.Drawing.Image)(resources.GetObject("featuredatapatchToolStrip.Image")));
218 | this.featuredatapatchToolStrip.Name = "featuredatapatchToolStrip";
219 | this.featuredatapatchToolStrip.Size = new System.Drawing.Size(178, 22);
220 | this.featuredatapatchToolStrip.Text = "-featuredata/patch";
221 | this.featuredatapatchToolStrip.Click += new System.EventHandler(this.FeaturedatapatchToolStrip_Click);
222 | //
223 | // toolingscriptToolStrip
224 | //
225 | this.toolingscriptToolStrip.Image = ((System.Drawing.Image)(resources.GetObject("toolingscriptToolStrip.Image")));
226 | this.toolingscriptToolStrip.Name = "toolingscriptToolStrip";
227 | this.toolingscriptToolStrip.Size = new System.Drawing.Size(178, 22);
228 | this.toolingscriptToolStrip.Text = "-toolingscript";
229 | this.toolingscriptToolStrip.Click += new System.EventHandler(this.ToolingscriptToolStrip_Click);
230 | //
231 | // nptitlenpbindToolStrip
232 | //
233 | this.nptitlenpbindToolStrip.Image = ((System.Drawing.Image)(resources.GetObject("nptitlenpbindToolStrip.Image")));
234 | this.nptitlenpbindToolStrip.Name = "nptitlenpbindToolStrip";
235 | this.nptitlenpbindToolStrip.Size = new System.Drawing.Size(178, 22);
236 | this.nptitlenpbindToolStrip.Text = "-nptitle/npbind";
237 | this.nptitlenpbindToolStrip.Click += new System.EventHandler(this.NptitlenpbindToolStrip_Click);
238 | //
239 | // changePasscodeToolStrip
240 | //
241 | this.changePasscodeToolStrip.Image = ((System.Drawing.Image)(resources.GetObject("changePasscodeToolStrip.Image")));
242 | this.changePasscodeToolStrip.Name = "changePasscodeToolStrip";
243 | this.changePasscodeToolStrip.Size = new System.Drawing.Size(167, 22);
244 | this.changePasscodeToolStrip.Text = "Change Passcode";
245 | this.changePasscodeToolStrip.Click += new System.EventHandler(this.ChangePasscodeToolStrip_Click);
246 | //
247 | // emulatorToolStrip
248 | //
249 | this.emulatorToolStrip.Image = ((System.Drawing.Image)(resources.GetObject("emulatorToolStrip.Image")));
250 | this.emulatorToolStrip.Name = "emulatorToolStrip";
251 | this.emulatorToolStrip.Size = new System.Drawing.Size(167, 22);
252 | this.emulatorToolStrip.Text = "Emulator";
253 | this.emulatorToolStrip.Click += new System.EventHandler(this.EmulatorToolStrip_Click);
254 | //
255 | // aboutToolStrip
256 | //
257 | this.aboutToolStrip.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
258 | this.aboutToolStripA});
259 | this.aboutToolStrip.Image = ((System.Drawing.Image)(resources.GetObject("aboutToolStrip.Image")));
260 | this.aboutToolStrip.Name = "aboutToolStrip";
261 | this.aboutToolStrip.Size = new System.Drawing.Size(68, 20);
262 | this.aboutToolStrip.Text = "About";
263 | //
264 | // aboutToolStripA
265 | //
266 | this.aboutToolStripA.Image = ((System.Drawing.Image)(resources.GetObject("aboutToolStripA.Image")));
267 | this.aboutToolStripA.Name = "aboutToolStripA";
268 | this.aboutToolStripA.Size = new System.Drawing.Size(107, 22);
269 | this.aboutToolStripA.Text = "About";
270 | this.aboutToolStripA.Click += new System.EventHandler(this.AboutToolStripA_Click);
271 | //
272 | // textIsoAndOutPath
273 | //
274 | this.textIsoAndOutPath.BackColor = System.Drawing.SystemColors.WindowText;
275 | this.textIsoAndOutPath.ForeColor = System.Drawing.Color.Yellow;
276 | this.textIsoAndOutPath.Location = new System.Drawing.Point(12, 134);
277 | this.textIsoAndOutPath.Name = "textIsoAndOutPath";
278 | this.textIsoAndOutPath.Size = new System.Drawing.Size(303, 20);
279 | this.textIsoAndOutPath.TabIndex = 1;
280 | this.textIsoAndOutPath.DoubleClick += new System.EventHandler(this.TextIsoAndOutPath_DoubleClick);
281 | //
282 | // buttonOpen
283 | //
284 | this.buttonOpen.Image = ((System.Drawing.Image)(resources.GetObject("buttonOpen.Image")));
285 | this.buttonOpen.Location = new System.Drawing.Point(321, 130);
286 | this.buttonOpen.Name = "buttonOpen";
287 | this.buttonOpen.Size = new System.Drawing.Size(26, 26);
288 | this.buttonOpen.TabIndex = 2;
289 | this.buttonOpen.UseVisualStyleBackColor = true;
290 | this.buttonOpen.Click += new System.EventHandler(this.ButtonOpen_Click);
291 | //
292 | // textContentID
293 | //
294 | this.textContentID.BackColor = System.Drawing.SystemColors.WindowText;
295 | this.textContentID.ForeColor = System.Drawing.Color.Yellow;
296 | this.textContentID.Location = new System.Drawing.Point(12, 104);
297 | this.textContentID.MaxLength = 36;
298 | this.textContentID.Name = "textContentID";
299 | this.textContentID.Size = new System.Drawing.Size(267, 20);
300 | this.textContentID.TabIndex = 3;
301 | this.textContentID.Text = "EP1004-CUSA04488_00-SLES503260000001";
302 | this.textContentID.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
303 | this.textContentID.TextChanged += new System.EventHandler(this.TextContentID_TextChanged);
304 | //
305 | // labelContentID
306 | //
307 | this.labelContentID.AutoSize = true;
308 | this.labelContentID.Location = new System.Drawing.Point(285, 107);
309 | this.labelContentID.Name = "labelContentID";
310 | this.labelContentID.Size = new System.Drawing.Size(58, 13);
311 | this.labelContentID.TabIndex = 4;
312 | this.labelContentID.Text = "Content ID";
313 | //
314 | // toolStrip
315 | //
316 | this.toolStrip.BackColor = System.Drawing.Color.DeepSkyBlue;
317 | this.toolStrip.ImageScalingSize = new System.Drawing.Size(24, 24);
318 | this.toolStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
319 | this.toolStripBuild,
320 | this.toolStripComboBox});
321 | this.toolStrip.Location = new System.Drawing.Point(0, 24);
322 | this.toolStrip.Name = "toolStrip";
323 | this.toolStrip.Size = new System.Drawing.Size(357, 31);
324 | this.toolStrip.TabIndex = 5;
325 | this.toolStrip.Text = "toolStrip1";
326 | //
327 | // toolStripBuild
328 | //
329 | this.toolStripBuild.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
330 | this.toolStripBuild.Image = ((System.Drawing.Image)(resources.GetObject("toolStripBuild.Image")));
331 | this.toolStripBuild.ImageTransparentColor = System.Drawing.Color.Magenta;
332 | this.toolStripBuild.Name = "toolStripBuild";
333 | this.toolStripBuild.Size = new System.Drawing.Size(62, 28);
334 | this.toolStripBuild.Text = "Build";
335 | this.toolStripBuild.Click += new System.EventHandler(this.ToolStripBuild_Click);
336 | //
337 | // toolStripComboBox
338 | //
339 | this.toolStripComboBox.BackColor = System.Drawing.SystemColors.WindowText;
340 | this.toolStripComboBox.ForeColor = System.Drawing.Color.Yellow;
341 | this.toolStripComboBox.Name = "toolStripComboBox";
342 | this.toolStripComboBox.Size = new System.Drawing.Size(121, 31);
343 | this.toolStripComboBox.Text = "Select FW";
344 | //
345 | // statusStrip
346 | //
347 | this.statusStrip.BackColor = System.Drawing.SystemColors.WindowText;
348 | this.statusStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
349 | this.idl});
350 | this.statusStrip.Location = new System.Drawing.Point(0, 163);
351 | this.statusStrip.Name = "statusStrip";
352 | this.statusStrip.Size = new System.Drawing.Size(357, 22);
353 | this.statusStrip.TabIndex = 8;
354 | this.statusStrip.Text = "statusStrip1";
355 | //
356 | // idl
357 | //
358 | this.idl.ForeColor = System.Drawing.Color.Yellow;
359 | this.idl.Name = "idl";
360 | this.idl.Size = new System.Drawing.Size(53, 17);
361 | this.idl.Text = "message";
362 | //
363 | // textBoxGameName
364 | //
365 | this.textBoxGameName.BackColor = System.Drawing.SystemColors.WindowText;
366 | this.textBoxGameName.ForeColor = System.Drawing.Color.Yellow;
367 | this.textBoxGameName.Location = new System.Drawing.Point(12, 75);
368 | this.textBoxGameName.MaxLength = 50;
369 | this.textBoxGameName.Name = "textBoxGameName";
370 | this.textBoxGameName.Size = new System.Drawing.Size(186, 20);
371 | this.textBoxGameName.TabIndex = 9;
372 | this.textBoxGameName.Text = "Star Wars Racer";
373 | //
374 | // labelGameName
375 | //
376 | this.labelGameName.AutoSize = true;
377 | this.labelGameName.Location = new System.Drawing.Point(80, 59);
378 | this.labelGameName.Name = "labelGameName";
379 | this.labelGameName.Size = new System.Drawing.Size(66, 13);
380 | this.labelGameName.TabIndex = 10;
381 | this.labelGameName.Text = "Game Name";
382 | //
383 | // textBoxPs2TID
384 | //
385 | this.textBoxPs2TID.BackColor = System.Drawing.SystemColors.WindowText;
386 | this.textBoxPs2TID.ForeColor = System.Drawing.Color.Yellow;
387 | this.textBoxPs2TID.Location = new System.Drawing.Point(204, 75);
388 | this.textBoxPs2TID.MaxLength = 9;
389 | this.textBoxPs2TID.Name = "textBoxPs2TID";
390 | this.textBoxPs2TID.ReadOnly = true;
391 | this.textBoxPs2TID.Size = new System.Drawing.Size(75, 20);
392 | this.textBoxPs2TID.TabIndex = 11;
393 | this.textBoxPs2TID.Text = "SLES50326";
394 | this.textBoxPs2TID.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
395 | //
396 | // labelPs2TitId
397 | //
398 | this.labelPs2TitId.AutoSize = true;
399 | this.labelPs2TitId.Location = new System.Drawing.Point(212, 59);
400 | this.labelPs2TitId.Name = "labelPs2TitId";
401 | this.labelPs2TitId.Size = new System.Drawing.Size(61, 13);
402 | this.labelPs2TitId.TabIndex = 14;
403 | this.labelPs2TitId.Text = "PS2-TitleID";
404 | //
405 | // optionsClearSettingsToolStrip
406 | //
407 | this.optionsClearSettingsToolStrip.Image = ((System.Drawing.Image)(resources.GetObject("optionsClearSettingsToolStrip.Image")));
408 | this.optionsClearSettingsToolStrip.Name = "optionsClearSettingsToolStrip";
409 | this.optionsClearSettingsToolStrip.Size = new System.Drawing.Size(208, 22);
410 | this.optionsClearSettingsToolStrip.Text = "Clear Settings";
411 | this.optionsClearSettingsToolStrip.Click += new System.EventHandler(this.optionsClearSettingsToolStrip_Click);
412 | //
413 | // Fakeps2pkggen
414 | //
415 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
416 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
417 | this.BackColor = System.Drawing.Color.DeepSkyBlue;
418 | this.ClientSize = new System.Drawing.Size(357, 185);
419 | this.Controls.Add(this.labelPs2TitId);
420 | this.Controls.Add(this.textBoxPs2TID);
421 | this.Controls.Add(this.labelGameName);
422 | this.Controls.Add(this.textBoxGameName);
423 | this.Controls.Add(this.statusStrip);
424 | this.Controls.Add(this.toolStrip);
425 | this.Controls.Add(this.labelContentID);
426 | this.Controls.Add(this.textContentID);
427 | this.Controls.Add(this.buttonOpen);
428 | this.Controls.Add(this.textIsoAndOutPath);
429 | this.Controls.Add(this.menuStrip);
430 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
431 | this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
432 | this.MainMenuStrip = this.menuStrip;
433 | this.MaximizeBox = false;
434 | this.Name = "Fakeps2pkggen";
435 | this.Text = "PS2 Fake PKG Generator for PS4";
436 | this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Fakeps2pkggen_FormClosing);
437 | this.Load += new System.EventHandler(this.Fakeps2pkggen_Load);
438 | this.DragDrop += new System.Windows.Forms.DragEventHandler(this.Fakeps2pkggen_DragDrop);
439 | this.DragEnter += new System.Windows.Forms.DragEventHandler(this.Fakeps2pkggen_DragEnter);
440 | this.menuStrip.ResumeLayout(false);
441 | this.menuStrip.PerformLayout();
442 | this.toolStrip.ResumeLayout(false);
443 | this.toolStrip.PerformLayout();
444 | this.statusStrip.ResumeLayout(false);
445 | this.statusStrip.PerformLayout();
446 | this.ResumeLayout(false);
447 | this.PerformLayout();
448 |
449 | }
450 |
451 | #endregion
452 |
453 | private System.Windows.Forms.MenuStrip menuStrip;
454 | private System.Windows.Forms.ToolStripMenuItem openToolStrip;
455 | private System.Windows.Forms.ToolStripMenuItem openISOToolStrip;
456 | private System.Windows.Forms.ToolStripMenuItem closeToolStrip;
457 | private System.Windows.Forms.ToolStripMenuItem aboutToolStrip;
458 | private System.Windows.Forms.ToolStripMenuItem aboutToolStripA;
459 | private System.Windows.Forms.TextBox textIsoAndOutPath;
460 | private System.Windows.Forms.Button buttonOpen;
461 | private System.Windows.Forms.TextBox textContentID;
462 | private System.Windows.Forms.Label labelContentID;
463 | private System.Windows.Forms.ToolStrip toolStrip;
464 | private System.Windows.Forms.ToolStripButton toolStripBuild;
465 | private System.Windows.Forms.ToolStripComboBox toolStripComboBox;
466 | private System.Windows.Forms.ToolStripMenuItem optionsToolStrip;
467 | private System.Windows.Forms.ToolStripMenuItem changePasscodeToolStrip;
468 | private System.Windows.Forms.ToolStripMenuItem pathsToolStrip;
469 | private System.Windows.Forms.ToolStripMenuItem makefselfpyToolStrip;
470 | private System.Windows.Forms.ToolStripMenuItem orbispubcmdexeToolStrip;
471 | private System.Windows.Forms.ToolStripMenuItem authinfotxtToolStrip;
472 | private System.Windows.Forms.ToolStripMenuItem adBackToolStrip;
473 | private System.Windows.Forms.ToolStripMenuItem patchesCliConfToolStrip;
474 | private System.Windows.Forms.ToolStripMenuItem trophydataToolStrip;
475 | private System.Windows.Forms.ToolStripMenuItem featuredataToolStrip;
476 | private System.Windows.Forms.ToolStripMenuItem toolingscriptToolStrip;
477 | private System.Windows.Forms.ToolStripMenuItem nptitlenpbindToolStrip;
478 | private System.Windows.Forms.ToolStripMenuItem featuredatapatchToolStrip;
479 | private System.Windows.Forms.StatusStrip statusStrip;
480 | private System.Windows.Forms.ToolStripStatusLabel idl;
481 | private System.Windows.Forms.ToolStripMenuItem emulatorToolStrip;
482 | private System.Windows.Forms.ToolStripMenuItem optionsDefTxtCVieToolStrip;
483 | private System.Windows.Forms.ToolStripMenuItem patchesConfLuaToolStrip;
484 | private System.Windows.Forms.TextBox textBoxGameName;
485 | private System.Windows.Forms.Label labelGameName;
486 | private System.Windows.Forms.TextBox textBoxPs2TID;
487 | private System.Windows.Forms.Label labelPs2TitId;
488 | private System.Windows.Forms.ToolStripMenuItem optionsClearSettingsToolStrip;
489 | }
490 | }
491 |
492 |
--------------------------------------------------------------------------------
/free-ps2-pub-gen/Fakeps2pkggen.cs:
--------------------------------------------------------------------------------
1 | using free_ps2_pub_gen.Properties;
2 | using System;
3 | using System.Collections.Generic;
4 | using System.Diagnostics;
5 | using System.Drawing;
6 | using System.IO;
7 | using System.Text;
8 | using System.Text.RegularExpressions;
9 | using System.Windows.Forms;
10 |
11 | namespace free_ps2_pub_gen {
12 | ///
13 | /// Fake Ps2 PKG Generator.
14 | ///
15 | public partial class Fakeps2pkggen : Form {
16 | #region Vars
17 | ///
18 | /// Defines the default text viewer to use for editing the script file.
19 | ///
20 | public static string textViewer = string.Empty;
21 |
22 | ///
23 | /// Some Privates.
24 | ///
25 | private string lastIsoPath = string.Empty;
26 | private string lastOutPath = string.Empty;
27 | private string ps2Iso = string.Empty;
28 | private string pkgOut = string.Empty;
29 | private string make_fself = string.Empty;
30 | private string orbis_pub_cmd = string.Empty;
31 | private string db = string.Empty;
32 | private string newPass = string.Empty;
33 | private string tempPath = string.Empty;
34 | private string defaultBrowser = string.Empty;
35 | private string[][] Apps;
36 | private string[][] Auths;
37 | private string[] elfs;
38 | private string titleID = string.Empty;
39 | private bool _iso = false;
40 | private static bool error = false;
41 | private StringComparison ignore = StringComparison.InvariantCultureIgnoreCase;
42 | private List Fws;
43 | #endregion Vars
44 |
45 | #region Functions
46 | ///
47 | /// Program Initializer.
48 | ///
49 | public Fakeps2pkggen() { InitializeComponent(); }
50 |
51 | ///
52 | /// Open a File Fialog to Choose the ISO.
53 | ///
54 | private void ChooseISO() {
55 | string iso = MessagBox.ShowOpenFile("Select PS2 ISO", "ISO Image (*.iso)|*.iso", lastIsoPath);
56 | if (iso != string.Empty) ps2Iso = lastIsoPath = iso;
57 | }
58 |
59 | ///
60 | /// Checks if defined ContentId is in valid form.
61 | ///
62 | /// True if Content Id is vlaid, else false.
63 | private bool HaseContentIDFormat(string contentID) {
64 | if (contentID.Length == 36) {
65 | if (contentID.XReplace(@"(\w{2})(\d{4})-(\w{4})(\d{5})_(\d{2})-([a-zA-Z0-9]{16})", "") == string.Empty) return true;
66 | }
67 | return false;
68 | }
69 |
70 | ///
71 | /// Get the string of a byte converted decimal value.
72 | ///
73 | /// The TitleID decimal to convert.
74 | /// A string, representing the convertet decimal byte value.
75 | private string GetDecimalBytes(string titleId) {
76 | byte[] titleIdBytes = Convert.ToDecimal(titleId).GetBytes();
77 | return BitConverter.ToString(titleIdBytes).Substring(0, 5).Replace("-", "");
78 | }
79 |
80 | ///
81 | /// Check the Base to work with.
82 | ///
83 | /// True if all needed Application Paths and Base files are available.
84 | private bool BaseIsFine() {
85 | if (!File.Exists(make_fself)) return false;
86 | else if (!File.Exists(orbis_pub_cmd)) return false;
87 | else if (!File.Exists(db)) return false;
88 | else if (!Directory.Exists(tempPath)) return false;
89 | else if (!File.Exists(tempPath + @"\template.gp4")) return false;
90 | else if (!File.Exists(tempPath + @"\app0\eboot.elf")) return false;
91 | else if (!File.Exists(tempPath + @"\app0\ps2-emu-compiler.elf")) return false;
92 | else if (!File.Exists(tempPath + @"\app0\sce_module\libSceFios2.prx")) return false;
93 | else if (!File.Exists(tempPath + @"\app0\sce_module\libc.prx")) return false;
94 | else if (!File.Exists(tempPath + @"\app0\config-emu-ps4.txt")) return false;
95 | else if (!IsElfDecrypted()) return false;
96 | return true;
97 | }
98 |
99 | ///
100 | /// Pre Clean the template_pkg folder before reusing it.
101 | ///
102 | private void PreClean() {
103 | if (File.Exists(tempPath + @"\app0\image\disc01.iso")) File.Delete(tempPath + @"\app0\image\disc01.iso");
104 | if (File.Exists(tempPath + @"\app0\eboot.fself")) File.Delete(tempPath + @"\app0\eboot.fself");
105 | if (File.Exists(tempPath + @"\app0\ps2-emu-compiler.fself")) File.Delete(tempPath + @"\app0\ps2-emu-compiler.fself");
106 | if (File.Exists(tempPath + @"\app0\sce_module\libSceFios2.fself")) File.Delete(tempPath + @"\app0\sce_module\libSceFios2.fself");
107 | if (File.Exists(tempPath + @"\app0\sce_module\libc.fself")) File.Delete(tempPath + @"\app0\sce_module\libc.fself");
108 |
109 | string[] projects = Directory.GetFiles(tempPath, "*.gp4");
110 | if (projects.Length == 2) {
111 | if (projects[0].GetName().XReplace(@"(\w{2})(\d{4})-(\w{4})(\d{5})_(\d{2})-([a-zA-Z0-9]{16})", "").Replace(".gp4", "") == string.Empty) File.Delete(projects[0]);
112 | else if (projects[1].GetName().XReplace(@"(\w{2})(\d{4})-(\w{4})(\d{5})_(\d{2})-([a-zA-Z0-9]{16})", "").Replace(".gp4", "") == string.Empty) File.Delete(projects[1]);
113 | } else if (projects.Length > 2) {
114 | if (MessagBox.Question("Found more then two project files ! (.gp4)\nShall i delete all of them ? (excluding the template for sure)") == DialogResult.OK) {
115 | foreach (string line in projects) { if (!line.Contain("template.gp4") && line.Contain(".gp4")) File.Delete(line); }
116 | }
117 | }
118 | }
119 |
120 | ///
121 | /// Check the projects gp4 and add entrys if needed.
122 | ///
123 | private string PatchGp4() {
124 | bool check = false;
125 | bool ps2TitlePatch = false;
126 | string[] lines = File.ReadAllLines(tempPath + @"\template.gp4");
127 |
128 | foreach (string line in lines) {
129 | if (line.Contain("", "");
135 | PatchNpDat();
136 | } else check = true;
137 | } else if (line.Contain("sce_sys/npbind.dat")) {
138 | if (nptitlenpbindToolStrip.Checked) {
139 | line.Replace("", "");
140 | } else check = true;
141 | } else if (line.Contain("sce_sys/trophy/trophy00.trp")) {
142 | if (trophydataToolStrip.Checked) line.Replace("", "");
143 | else check = true;
144 | } else if (line.Contain("eboot.bin") && !line.Contain("eboot.fself")) line.Replace(@"app0\", "XX").XReplace(@"XXeboot.(\w+)", @"app0\eboot.fself");
145 | else if (line.Contain("ps2-emu-compiler.self") && !line.Contain("ps2-emu-compiler.fself")) line.Replace(@"app0\", "XX").XReplace(@"XXps2-emu-compiler.(\w+)", @"app0\ps2-emu-compiler.fself");
146 | else if (line.Contain("libSceFios2.prx") && !line.Contain("libSceFios2.fself")) line.Replace(@"app0\sce_module\", "XX").XReplace(@"XXlibSceFios2.(\w+)", @"app0\sce_module\libSceFios2.fself");
147 | else if (line.Contain("libc.prx") && !line.Contain("libc.fself")) line.Replace(@"app0\sce_module\", "XX").XReplace(@"XXlibc.(\w+)", @"app0\sce_module\libc.fself");
148 | else if (line.Contain("_cli.conf")) {
149 | if (patchesCliConfToolStrip.Checked) {
150 | ps2TitlePatch = true;
151 | string[] getFile = Directory.GetFiles(tempPath + @"\app0\patches\", "*_cli.conf");
152 | if (getFile.Length == 0) return "No single titleID_cli.conf found but you defined to patch this file back into the project !";
153 | else if (getFile.Length == 1) File.Move(getFile[0], getFile[0].XReplace(@"(\w{4})-(\d{5})", titleID.Insert(4, "-")));
154 | else if (getFile.Length > 1) return "To many titleID_cli.conf found !\nPlease clean " + tempPath + @"\app0\patches\";
155 |
156 | } else check = true;
157 | } else if (line.Contain("_config.lua")) {
158 | if (patchesConfLuaToolStrip.Checked) {
159 | ps2TitlePatch = true;
160 | string[] getFile = Directory.GetFiles(tempPath + @"\app0\patches\", "*_config.lua");
161 | if (getFile.Length == 0) return "No single titleID__config.lua found but you defined to patch this file back into the project !";
162 | else if (getFile.Length == 1) File.Move(getFile[0], getFile[0].XReplace(@"(\w{4})-(\d{5})", titleID.Insert(4, "-")));
163 | else if (getFile.Length > 1) return "To many titleID__config.lua found !\nPlease clean " + tempPath + @"\app0\patches\";
164 |
165 | } else check = true;
166 | } else if (line.Contain("feature_data")) {
167 | if (featuredataToolStrip.Checked) ps2TitlePatch = true;
168 | else check = true;
169 | }
170 |
171 | if (ps2TitlePatch) {
172 | line.Replace("", "");
173 | line.XReplace(@"(\w{4})-(\d{5})", titleID);
174 | ps2TitlePatch = false;
175 | }
176 | if (check) {
177 | if (!line.Contain("")) line.Replace("/>", "/> -->");
179 | check = false;
180 | }
181 | }
182 |
183 | string gp4 = pkgOut + @"\" + textContentID.Text + ".gp4";
184 | File.Create(gp4).Close();
185 | File.WriteAllLines(gp4, lines);
186 | File.Copy(gp4, tempPath + gp4.GetName());
187 | return gp4;
188 | }
189 |
190 | ///
191 | /// Patch param.sfo.
192 | ///
193 | private bool PatchSFO() {
194 | if (File.Exists(tempPath + @"\app0\sce_sys\param.sfo")) {
195 | ASCIIEncoding encode = new ASCIIEncoding();
196 | byte[] contID = encode.GetBytes(textContentID.Text);
197 | byte[] titID = encode.GetBytes(titleID);
198 | byte[] gName = encode.GetBytes(textBoxGameName.Text);
199 |
200 | try {
201 | using (BinaryWriter binWriter = new BinaryWriter(new FileStream(tempPath + @"\app0\sce_sys\param.sfo", FileMode.Open, FileAccess.ReadWrite))) {
202 | binWriter.BaseStream.Seek(0x2F8, SeekOrigin.Begin); // Content ID.
203 | binWriter.Write(contID, 0, contID.Length);
204 |
205 | binWriter.BaseStream.Seek(0x5D0, SeekOrigin.Begin); // Game Name.
206 | binWriter.Write(gName, 0, gName.Length);
207 |
208 | binWriter.BaseStream.Seek(0x650, SeekOrigin.Begin); // Title ID.
209 | binWriter.Write(titID, 0, titID.Length);
210 | binWriter.Close();
211 | } return true;
212 | } catch (Exception exc) { MessagBox.Error(exc.ToString()); }
213 | } else MessagBox.Error("Can't access '" + tempPath + @"\app0\sce_sys\param.sfo'" + " !");
214 | return false;
215 | }
216 |
217 | ///
218 | /// Check the emus config and add entrys if needed.
219 | ///
220 | private void PatchConfig(){
221 | string[] lines = File.ReadAllLines(tempPath + @"\app0\config-emu-ps4.txt");
222 |
223 | foreach (string line in lines) {
224 | if (line.Contain("--path-patches='/app0/patches'")) {
225 | if (patchesCliConfToolStrip.Checked || patchesConfLuaToolStrip.Checked) line.Replace("#", "");
226 | else if (!line.Contain("#")) line.Insert(0, "#");
227 | } else if (line.Contain("--path-trophydata='/app0/trophy_data'")) {
228 | if (trophydataToolStrip.Checked) line.Replace("#", "");
229 | else if (!line.Contain("#")) line.Insert(0, "#");
230 | } else if (line.Contain("--path-featuredata='/app0/feature_data'")) {
231 | if (featuredataToolStrip.Checked) line.Replace("#", "");
232 | else if (!line.Contain("#")) line.Insert(0, "#");
233 | } else if (line.Contain("--path-toolingscript='/app0/patches'")) {
234 | if (toolingscriptToolStrip.Checked) line.Replace("#", "");
235 | else if (!line.Contain("#")) line.Insert(0, "#");
236 | } else if (line.Contain("--path-featuredata='/app0/patches'")) {
237 | if (featuredatapatchToolStrip.Checked) line.Replace("#", "");
238 | else if (!line.Contain("#")) line.Insert(0, "#");
239 | } else if (line.Contain("--ps2-title-id=")) line.XReplace(@"(\w{4})-(\d{5})", titleID.Insert(4, "-"));
240 | else if (line.Contain("--trophy-support=")) {
241 | if (trophydataToolStrip.Checked) line.XReplace(@"(\d{1})", "1");
242 | else line.XReplace(@"(\d{1})", "0");
243 | }
244 | }
245 | File.Delete(tempPath + @"\app0\config-emu-ps4.txt");
246 | File.Create(tempPath + @"\app0\config-emu-ps4.txt").Close();
247 | File.WriteAllLines(tempPath + @"\app0\config-emu-ps4.txt", lines);
248 | }
249 |
250 | ///
251 | /// Patch Title ID into nptitle.dat.
252 | ///
253 | private void PatchNpDat() {
254 | if (!File.Exists(tempPath + @"\app0\sce_sys\nptitle.dat")) { MessagBox.Error("Can not access '" + tempPath + @"\app0\sce_sys\nptitle.dat' !"); return; }
255 | using (BinaryWriter binWriter = new BinaryWriter(new FileStream(tempPath + @"\app0\sce_sys\nptitle.dat", FileMode.Open, FileAccess.ReadWrite))) {
256 | binWriter.BaseStream.Seek(0x10, SeekOrigin.Begin);
257 | byte[] _titleId = Encoding.ASCII.GetBytes(titleID);
258 | binWriter.Write(_titleId, 0, _titleId.Length);
259 | binWriter.Close();
260 | }
261 | }
262 |
263 | ///
264 | /// Check if ELFs of the base are Decrypted.
265 | ///
266 | /// Path to the template folder.
267 | private bool IsElfDecrypted() {
268 | byte[] magic = new byte[4] { 0x7F, 0x45, 0x4C, 0x46, };
269 |
270 | foreach (string elf in elfs) {
271 | using (BinaryReader binReader = new BinaryReader(new FileStream(elf, FileMode.Open, FileAccess.Read))) {
272 | byte[] fmagic = new byte[4];
273 | binReader.Read(fmagic, 0, 4);
274 | if (!magic.Contains(fmagic)) return false;
275 | binReader.Close();
276 | }
277 | }
278 | return true;
279 | }
280 |
281 | ///
282 | /// Fake Sign and spoof authentication informations.
283 | ///
284 | /// The TitleIDs decimal value as a hex string.
285 | private bool FakeSign(string deci) {
286 | int index = toolStripComboBox.SelectedIndex;
287 | string _elfs = string.Empty;
288 | int count = 0;
289 | bool err = false;
290 |
291 | ProcessStartInfo run = new ProcessStartInfo();
292 | Process call = new Process();
293 | call.ErrorDataReceived += Ps2_ErrorHandler;
294 | run.FileName = make_fself;
295 | run.UseShellExecute = false;
296 | run.CreateNoWindow = run.RedirectStandardError = true;
297 |
298 | foreach (string elf in Apps[index]) {
299 | string auth = Auths[index][count];
300 | auth = deci + auth.Substring(4, auth.Length - 4);
301 |
302 | _elfs = string.Empty;
303 | foreach (string found in elfs) { if (found.Contain(elf)) _elfs = found; }
304 | if (_elfs == string.Empty) { MessagBox.Error("Couldn't find: " + elf); return false; }
305 |
306 | run.Arguments = "--paid " + auth.Substring(0, 16).EndianSwapp() + " --auth-info " + auth + " " + _elfs + " " + _elfs.Replace(".elf", "fself");
307 | call.StartInfo = run;
308 |
309 | try { call.Start(); }
310 | catch (Exception io) { MessagBox.Error(io.ToString()); err = true; break; }
311 |
312 | call.BeginErrorReadLine();
313 | call.WaitForExit();
314 | count++;
315 | }
316 |
317 | if (err) return false;
318 | return true;
319 | }
320 |
321 | ///
322 | /// Build the PKG now.
323 | ///
324 | private void MakePKG(string gp4) {
325 | ProcessStartInfo run = new ProcessStartInfo();
326 | Process call = new Process();
327 | call.ErrorDataReceived += Ps2_ErrorHandler;
328 | run.FileName = orbis_pub_cmd;
329 | run.UseShellExecute = false;
330 | run.CreateNoWindow = run.RedirectStandardError = true;
331 | run.Arguments = "img_create " + gp4 + " " + gp4.Replace(".gp4", ".pkg");
332 | call.StartInfo = run;
333 |
334 | try { call.Start(); }
335 | catch (Exception io) { MessagBox.Error(io.ToString()); }
336 |
337 | call.BeginErrorReadLine();
338 | call.WaitForExit();
339 | }
340 | #endregion Functions
341 |
342 | #region Events
343 | ///
344 | /// On Load of Form do.
345 | ///
346 | /// The Sender.
347 | /// The Event Arguments.
348 | private void Fakeps2pkggen_Load(object sender, EventArgs e) {
349 | // Get settings.
350 | Settings sett = new Settings();
351 | lastIsoPath = sett.LastIsoPath;
352 | lastOutPath = sett.LastOutPath;
353 | make_fself = sett.MakeFSELF;
354 | orbis_pub_cmd = sett.PubCmd;
355 | db = sett.DB;
356 | textViewer = sett.TxtViewer;
357 | MessagBox.ButtonPosition = ButtonPosition.Center;
358 | _iso = true;
359 |
360 | // Just in case.
361 | string currDir = Directory.GetCurrentDirectory();
362 | if (make_fself == string.Empty) make_fself = currDir + @"\make_fself.exe";
363 | if (orbis_pub_cmd == string.Empty) orbis_pub_cmd = currDir + @"\orbis-pub-cmd-ps2.exe";
364 | if (db == string.Empty) db = currDir + @"\template\authinfo_emu.txt";
365 | if (!File.Exists(make_fself)) MessagBox.Error("Can not find make_fself.exe.\nEither drop the file into me, so i know where it is or\npleace it into my directory so i can acces it.");
366 | if (!File.Exists(orbis_pub_cmd)) MessagBox.Error("Can not find orbis-pub-cmd-ps2.exe.\nEither drop the file into me, so i know where it is or\npleace it into my directory so i can acces it.");
367 | if (!Directory.Exists(currDir + @"\template")) MessagBox.Error("Can not find the Template folder !\nPlease place the Template folder within same dir.");
368 | else tempPath = currDir + @"\template";
369 |
370 | // Get default text viewer if the setttings value is empty.
371 | if (textViewer == string.Empty) {
372 | textViewer = SwissKnife.GetDefaultApp(@"textfile\");
373 | if (textViewer == string.Empty) MessagBox.Info("Can't get the default TXT Viewer for editing the script.\nPlease tell me which app to use.\nOptions > Paths > Default Text/Code Viewer");
374 | }
375 |
376 | // Set elfs path.
377 | elfs = new string[2] {
378 | tempPath + @"\app0\eboot.elf",
379 | tempPath + @"\app0\ps2-emu-compiler.elf",
380 | };
381 |
382 | // Load Authentication DataBase.
383 | if (!File.Exists(db)) MessagBox.Error("Can not find authinfo.txt.\nEither drop the file into me, so i know where it is or\npleace it into my directory so i can acces it.");
384 | else {
385 | Fws = new List();
386 | List _Apps = new List();
387 | List _Auths = new List();
388 | List _apps = new List();
389 | List _auths = new List();
390 | bool app, auth, fw;
391 | app = auth = fw = false;
392 | foreach (string line in File.ReadAllLines(db)) {
393 | if (!string.IsNullOrEmpty(line)) {
394 | if (line.Contains("[FW=", ignore)) {
395 | if (Fws.Count > 0 && app) { MessagBox.Error("DataBase Inconsistent !"); break; }
396 |
397 | string[] tag = line.Split(']');
398 | Fws.Add(tag[0].XReplace(@"[[]FW=?", string.Empty, RegexOptions.IgnoreCase));
399 | fw = true;
400 | if (Fws.Count > 1) {
401 | _Apps.Add(_apps.ToArray());
402 | _Auths.Add(_auths.ToArray());
403 | _apps = new List();
404 | _auths = new List();
405 | }
406 |
407 | } else if (line.Contains("[Name=", ignore)) {
408 | if (!fw) {
409 | if (!auth) { MessagBox.Error("DataBase Inconsistent !"); break; }
410 | }
411 |
412 | string[] tag = line.Split(']');
413 | _apps.Add(tag[0].XReplace(@"[[]Name=?\s?", string.Empty, RegexOptions.IgnoreCase));
414 | auth = fw = false;
415 | app = true;
416 | } else if (line.Contains("[Auth=", ignore)) {
417 | if (!app) {
418 | if (fw) { MessagBox.Error("DataBase Inconsistent !"); break; }
419 | }
420 |
421 | string[] tag = line.Split(']');
422 | _auths.Add(tag[0].XReplace(@"[[]Auth=?", string.Empty, RegexOptions.IgnoreCase));
423 | app = false;
424 | auth = true;
425 | }
426 | }
427 | }
428 |
429 | _Apps.Add(_apps.ToArray());
430 | _Auths.Add(_auths.ToArray());
431 |
432 | if (Fws.Count != _Apps.Count || Fws.Count != _Auths.Count) {
433 | MessagBox.Error("DataBase Inconsistent !");
434 | Fws.Clear();
435 | } else {
436 | if (Fws.Count > 0) {
437 | // If any fws where found add them to the combo Box.
438 | toolStripComboBox.Items.AddRange(Fws.ToArray());
439 | Apps = _Apps.ToArray();
440 | Auths = _Auths.ToArray();
441 | }
442 | }
443 | }
444 |
445 | // Set basic passcode.
446 | newPass = "00000000000000000000000000000000";
447 | idl.Text = "Ready For Action !";
448 | }
449 |
450 | ///
451 | /// On close if form do.
452 | ///
453 | /// The Sender.
454 | /// The Event Arguments.
455 | private void Fakeps2pkggen_FormClosing(object sender, FormClosingEventArgs e) {
456 | Settings sett = new Settings();
457 | sett.LastIsoPath = lastIsoPath;
458 | sett.LastOutPath = lastOutPath;
459 | sett.MakeFSELF = make_fself;
460 | sett.PubCmd = orbis_pub_cmd;
461 | sett.DB = db;
462 | sett.TxtViewer = textViewer;
463 | sett.Save();
464 | }
465 |
466 | ///
467 | /// Error Event Handler for the make_fself.exe and orbis-pub-cmd-ps2.exe Process.
468 | ///
469 | /// The Process which triggered this Event.
470 | /// The Received Data Event Arguments.
471 | private static void Ps2_ErrorHandler(object sendingProcess, DataReceivedEventArgs outLine) { MessagBox.Error(outLine.Data); error = true; }
472 |
473 | ///
474 | /// On Drag Enter.
475 | ///
476 | /// The Sender.
477 | /// The Event Arguments.
478 | private void Fakeps2pkggen_DragEnter(object sender, DragEventArgs e) {
479 | if (e.Data.GetDataPresent(DataFormats.FileDrop, false)) e.Effect = DragDropEffects.Copy;
480 | else e.Effect = DragDropEffects.None;
481 | }
482 |
483 | ///
484 | /// On Drag Drop.
485 | ///
486 | /// The Sender.
487 | /// The Event Arguments.
488 | private void Fakeps2pkggen_DragDrop(object sender, DragEventArgs e) {
489 | string[] files = (string[])e.Data.GetData(DataFormats.FileDrop, false);
490 |
491 | if (files.Length > 1) MessagBox.Error("No Multi File support here.");
492 | else {
493 | if (files[0].Contains(".iso", ignore)) {
494 | ps2Iso = lastIsoPath = files[0];
495 | if (_iso) textIsoAndOutPath.Text = files[0];
496 | } else if (files[0].Contains("make_fself.exe", ignore)) make_fself = files[0];
497 | else if (files[0].Contains("orbis-pub-cmd-ps2.exe", ignore)) orbis_pub_cmd = files[0];
498 | else if (files[0].Contains("authinfo_emu.txt", ignore)) db = files[0];
499 | else if (files[0].IsFolder()) {
500 | pkgOut = lastOutPath = files[0];
501 | if (!_iso) textIsoAndOutPath.Text = files[0];
502 | } else MessagBox.Error("I have no clue what you want from me mate.");
503 | }
504 | }
505 |
506 | ///
507 | /// On TextBox CotnentID text changed.
508 | ///
509 | /// The Sender.
510 | /// The Event Arguments.
511 | private void TextContentID_TextChanged(object sender, EventArgs e) {
512 | if (textContentID.Text.Length >= 16) textBoxPs2TID.Text = textContentID.Text.Substring(7, 9);
513 | }
514 |
515 | ///
516 | /// On Open Iso Tool Strip click.
517 | ///
518 | /// The Sender.
519 | /// The Event Arguments.
520 | private void OpenISOToolStrip_Click(object sender, EventArgs e) { ChooseISO(); }
521 |
522 | ///
523 | /// On Textbox Iso and Out Path Double Click.
524 | ///
525 | /// The Sender.
526 | /// The Event Arguments.
527 | private void TextIsoAndOutPath_DoubleClick(object sender, EventArgs e) {
528 | if (_iso) {
529 | _iso = false;
530 | if (ps2Iso != string.Empty) textIsoAndOutPath.Text = ps2Iso;
531 | buttonOpen.Image = Resources.Disk.ToBitmap().Resize(16, 16);
532 | } else {
533 | _iso = true;
534 | if (pkgOut != string.Empty) textIsoAndOutPath.Text = pkgOut;
535 | buttonOpen.Image = Resources.Folder_Open.ToBitmap().Resize(16, 16);
536 | }
537 | }
538 |
539 | ///
540 | /// On Close Tool Strip click.
541 | ///
542 | /// The Sender.
543 | /// The Event Arguments.
544 | private void CloseToolStrip_Click(object sender, EventArgs e) { Close(); }
545 |
546 | ///
547 | /// On Button Open Click.
548 | ///
549 | /// The Sender.
550 | /// The Event Arguments.
551 | private void ButtonOpen_Click(object sender, EventArgs e) {
552 | if (!_iso) ChooseISO();
553 | else {
554 | string outPath = MessagBox.ShowFolderBrowse("Choose Folder to save PKG", lastOutPath);
555 | if (outPath != string.Empty) pkgOut = lastOutPath = outPath;
556 | }
557 | }
558 |
559 | ///
560 | /// On Tool Strip Change Passcode click.
561 | ///
562 | /// The Sender.
563 | /// The Event Arguments.
564 | private void ChangePasscodeToolStrip_Click(object sender, EventArgs e) {
565 | MessagBox.Size = new Size(270, 146);
566 | MessagBox.TextBack = Color.Black;
567 | MessagBox.TextFore = Color.Yellow;
568 | if (MessagBox.Input(newPass, "Enter new:", "Passcode", 66) == DialogResult.OK) {
569 | newPass = MessagBox.UsrInput;
570 | if (newPass.Length < 66) {
571 | newPass = "00000000000000000000000000000000";
572 | MessagBox.Error("The Entered new Passcode is to short.\nTry Again.");
573 | }
574 | }
575 | MessagBox.TextBack = Color.White;
576 | MessagBox.TextFore = Color.Black;
577 | MessagBox.Size = new Size(0, 0);
578 | }
579 |
580 | ///
581 | /// On Tool Strip make_fself.exe click.
582 | ///
583 | /// The Sender.
584 | /// The Event Arguments.
585 | private void MakefselfToolStrip_Click(object sender, EventArgs e) { MessagBox.Info(make_fself); }
586 |
587 | ///
588 | /// On Tool Strip orbis-pub-cmd-exe click.
589 | ///
590 | /// The Sender.
591 | /// The Event Arguments.
592 | private void OrbispubcmdexeToolStrip_Click(object sender, EventArgs e) { MessagBox.Info(orbis_pub_cmd); }
593 |
594 | ///
595 | /// On Tool Strip Authentication Information click.
596 | ///
597 | /// The Sender.
598 | /// The Event Arguments.
599 | private void AuthinfotxtToolStrip_Click(object sender, EventArgs e) { MessagBox.Info(db); }
600 |
601 | ///
602 | /// On Options Tool Strip Default Text and Code Viewer click.
603 | ///
604 | /// The Sender.
605 | /// The Event Arguments.
606 | private void OptionsDefTxtCVieToolStrip_Click(object sender, EventArgs e) {
607 | if (MessagBox.Question(Buttons.YesNo, textViewer + Environment.NewLine + Environment.NewLine + "Do you want to use a other Application ?") == DialogResult.Yes) {
608 | string newEditor = MessagBox.ShowOpenFile("Choose Editor", "All Files (*.*)|*.*", textViewer);
609 | if (newEditor != string.Empty) textViewer = newEditor;
610 | }
611 | }
612 |
613 | ///
614 | /// On Options Tool Strip Clear Settings click.
615 | ///
616 | /// The Sender.
617 | /// The Event Arguments.
618 | private void optionsClearSettingsToolStrip_Click(object sender, EventArgs e) {
619 | if (MessagBox.Question(Buttons.YesNo, "Clear Settings ?") == DialogResult.Yes) {
620 | Settings sett = new Settings();
621 | sett.Reset();
622 | sett.Save();
623 | sett.Reload();
624 | lastIsoPath = sett.LastIsoPath;
625 | lastOutPath = sett.LastOutPath;
626 | make_fself = sett.MakeFSELF;
627 | orbis_pub_cmd = sett.PubCmd;
628 | db = sett.DB;
629 | textViewer = sett.TxtViewer;
630 | }
631 | MessagBox.Info("Will close Application now.");
632 | Close();
633 | }
634 |
635 | ///
636 | /// On Tool Strip Patches Cli conf click.
637 | ///
638 | /// The Sender.
639 | /// The Event Arguments.
640 | private void PatchesCliConfToolStrip_Click(object sender, EventArgs e) {
641 | if (patchesCliConfToolStrip.Checked) patchesCliConfToolStrip.Checked = true;
642 | else patchesCliConfToolStrip.Checked = true;
643 | }
644 |
645 | ///
646 | /// On Tool Strip Conf Lua click.
647 | ///
648 | /// The Sender.
649 | /// The Event Arguments.
650 | private void PatchesConfLuaToolStrip_Click(object sender, EventArgs e) {
651 | if (patchesConfLuaToolStrip.Checked) patchesConfLuaToolStrip.Checked = true;
652 | else patchesConfLuaToolStrip.Checked = true;
653 | }
654 |
655 | ///
656 | /// On Tool Strip Trophydata click.
657 | ///
658 | /// The Sender.
659 | /// The Event Arguments.
660 | private void TrophydataToolStrip_Click(object sender, EventArgs e) {
661 | if (trophydataToolStrip.Checked) trophydataToolStrip.Checked = true;
662 | else trophydataToolStrip.Checked = true;
663 | }
664 |
665 | ///
666 | /// On Tool Strip FeaturedData click.
667 | ///
668 | /// The Sender.
669 | /// The Event Arguments.
670 | private void FeaturedataToolStrip_Click(object sender, EventArgs e) {
671 | if (featuredataToolStrip.Checked) featuredataToolStrip.Checked = true;
672 | else featuredataToolStrip.Checked = true;
673 | }
674 |
675 | ///
676 | /// On Tool Strip FeaturedData/patch click.
677 | ///
678 | /// The Sender.
679 | /// The Event Arguments.
680 | private void FeaturedatapatchToolStrip_Click(object sender, EventArgs e) {
681 | if (featuredatapatchToolStrip.Checked) featuredatapatchToolStrip.Checked = true;
682 | else featuredatapatchToolStrip.Checked = true;
683 | }
684 |
685 | ///
686 | /// On Tool Strip Toolingscript click.
687 | ///
688 | /// The Sender.
689 | /// The Event Arguments.
690 | private void ToolingscriptToolStrip_Click(object sender, EventArgs e) {
691 | if (toolingscriptToolStrip.Checked) toolingscriptToolStrip.Checked = true;
692 | else toolingscriptToolStrip.Checked = true;
693 | }
694 |
695 | ///
696 | /// On Tool Strip nptitle/npbind click.
697 | ///
698 | /// The Sender.
699 | /// The Event Arguments.
700 | private void NptitlenpbindToolStrip_Click(object sender, EventArgs e) {
701 | if (nptitlenpbindToolStrip.Checked) nptitlenpbindToolStrip.Checked = true;
702 | else nptitlenpbindToolStrip.Checked = true;
703 | }
704 |
705 | ///
706 | /// On Emulator Tool Strip click.
707 | ///
708 | /// The Sender.
709 | /// The Event Arguments.
710 | private void EmulatorToolStrip_Click(object sender, EventArgs e) {
711 | EmulatorOptions emuOpt = new EmulatorOptions();
712 | emuOpt.ShowDialog();
713 | emuOpt.Dispose();
714 | }
715 |
716 | ///
717 | /// On Tool Strip About click.
718 | ///
719 | /// The Sender.
720 | /// The Event Arguments.
721 | private void AboutToolStripA_Click(object sender, EventArgs e) {
722 | About about = new About();
723 | about.ShowDialog();
724 | }
725 |
726 | ///
727 | /// On Tool Strip Build click.
728 | ///
729 | /// The Sender.
730 | /// The Event Arguments.
731 | private void ToolStripBuild_Click(object sender, EventArgs e) {
732 | if (toolStripComboBox.SelectedIndex > -1) {
733 | if (textContentID.Text != string.Empty) {
734 | if (textBoxGameName.Text != string.Empty) {
735 | if (HaseContentIDFormat(textContentID.Text)) {
736 | if (ps2Iso != string.Empty) {
737 | if (pkgOut != string.Empty) {
738 | if (BaseIsFine()) {
739 | // Copy ISO and check if destination dir is empty.
740 | idl.Text = "Cleaning old files up";
741 | PreClean();
742 | idl.Text = "Coping ISO";
743 | File.Copy(ps2Iso, tempPath + @"\app0\image\disc01.iso");
744 |
745 | // Get decimal of ItelID and convert to byte string, then overload to hte fake signing routine.
746 | idl.Text = "Fake Signing ELFs";
747 | titleID = textBoxPs2TID.Text;
748 | if (!FakeSign(GetDecimalBytes(titleID.Substring(4, 5)))) { idl.Text = "Error Fake Signing ELFs"; return; }
749 |
750 | // Copy and check the gp4 file and change all needed stuff.
751 | string gp4 = PatchGp4();
752 | if (gp4 == string.Empty) {
753 | MessagBox.Error("Error to many _cli.conf/_config.lua files with a title ID found.\nI don't know which one to use.\nPlease clean 'app0/patches/'.");
754 | idl.Text = "Error to many _cli.conf/_config.lua files.";
755 | return;
756 | }
757 |
758 | // Do the same with the config file.
759 | PatchConfig();
760 |
761 | // And do not forget the sfo.
762 | if (!PatchSFO()) return;
763 |
764 | // Call orbis pub cmd.
765 | idl.Text = "Generating PKG";
766 | MakePKG(gp4);
767 | if (!error) MessagBox.Show("Done !");
768 | } else MessagBox.Error("Base is not Ok !\nEither Tools:\n'make_fself.exe, orbis-pub-cmd-ps2.exe, authinfo.txt, template dir'\nOr Emu files:\n'eboot.elf, ps2-emu-compiler.elf, libSceFios2.prx, libc.prx, config-emu-ps4.txt'\ncan't be found.");
769 | } else MessagBox.Error("No Output Folder set !");
770 | } else MessagBox.Error("No PS2 ISO selected !");
771 | } else MessagBox.Error("Content ID is not in Form of: XXYYYY-XXXXYYYYY_YY-XXXXXXXXXXXXXXXX");
772 | } else MessagBox.Error("Game Name is empty !");
773 | } else MessagBox.Error("Content ID is empty !");
774 | } else MessagBox.Error("No FW Selected !");
775 | }
776 | #endregion Events
777 | }
778 | }
779 |
--------------------------------------------------------------------------------