├── .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 | --------------------------------------------------------------------------------