From 56439d95ad1091a37de552143be3d24bc922ca12 Mon Sep 17 00:00:00 2001 From: Li Date: Mon, 10 Jul 2023 12:25:35 +1200 Subject: [PATCH] Add DLC Support --- .gitignore | 9 +++ CHOVY-GEN/CHOVY-GEN.vcxproj | 10 +-- CHOVY-TRANSFER/CHOVYTRANSFER.Designer.cs | 17 +++- CHOVY-TRANSFER/CHOVYTRANSFER.cs | 94 +++++++++++++++++++---- Thumbs.db | Bin 0 -> 36352 bytes 5 files changed, 109 insertions(+), 21 deletions(-) create mode 100644 .gitignore create mode 100644 Thumbs.db diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a07ef6a --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +.vs/* +*/obj/* +*/bin/* + +CHOVY-GEN/Debug/* +CHOVY-GEN/Release/* + +CHOVY-TRANSFER/obj/* +CHOVY-TRANSFER/bin/* \ No newline at end of file diff --git a/CHOVY-GEN/CHOVY-GEN.vcxproj b/CHOVY-GEN/CHOVY-GEN.vcxproj index 9ef4309..6da94f8 100644 --- a/CHOVY-GEN/CHOVY-GEN.vcxproj +++ b/CHOVY-GEN/CHOVY-GEN.vcxproj @@ -29,32 +29,32 @@ {DCDBF747-DFB6-450E-A403-1C592D20EAEB} Win32Proj CHOVYGEN - 10.0.14393.0 + 10.0 DynamicLibrary true - v141 + v143 Unicode DynamicLibrary false - v141 + v143 true Unicode DynamicLibrary true - v141 + v143 Unicode DynamicLibrary false - v141 + v143 true Unicode diff --git a/CHOVY-TRANSFER/CHOVYTRANSFER.Designer.cs b/CHOVY-TRANSFER/CHOVYTRANSFER.Designer.cs index 6365374..9d7ad8f 100644 --- a/CHOVY-TRANSFER/CHOVYTRANSFER.Designer.cs +++ b/CHOVY-TRANSFER/CHOVYTRANSFER.Designer.cs @@ -43,6 +43,7 @@ this.progressStatus = new System.Windows.Forms.Label(); this.pictureBox1 = new System.Windows.Forms.PictureBox(); this.dexToggle = new System.Windows.Forms.PictureBox(); + this.currentFile = new System.Windows.Forms.Label(); this.groupBox1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.dexToggle)).BeginInit(); @@ -247,7 +248,7 @@ this.pictureBox1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; this.pictureBox1.Location = new System.Drawing.Point(9, 8); this.pictureBox1.Name = "pictureBox1"; - this.pictureBox1.Size = new System.Drawing.Size(144, 317); + this.pictureBox1.Size = new System.Drawing.Size(144, 330); this.pictureBox1.TabIndex = 9; this.pictureBox1.TabStop = false; // @@ -260,12 +261,23 @@ this.dexToggle.TabStop = false; this.dexToggle.Click += new System.EventHandler(this.dexToggle_Click); // + // currentFile + // + this.currentFile.AutoSize = true; + this.currentFile.ForeColor = System.Drawing.Color.Lime; + this.currentFile.Location = new System.Drawing.Point(173, 328); + this.currentFile.Name = "currentFile"; + this.currentFile.Size = new System.Drawing.Size(55, 13); + this.currentFile.TabIndex = 11; + this.currentFile.Text = "Waiting ..."; + // // CHOVYTRANSFER // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.BackColor = System.Drawing.Color.Black; - this.ClientSize = new System.Drawing.Size(796, 332); + this.ClientSize = new System.Drawing.Size(796, 350); + this.Controls.Add(this.currentFile); this.Controls.Add(this.dexToggle); this.Controls.Add(this.pictureBox1); this.Controls.Add(this.progressStatus); @@ -303,6 +315,7 @@ private System.Windows.Forms.Label progressStatus; private System.Windows.Forms.PictureBox pictureBox1; private System.Windows.Forms.PictureBox dexToggle; + private System.Windows.Forms.Label currentFile; } } diff --git a/CHOVY-TRANSFER/CHOVYTRANSFER.cs b/CHOVY-TRANSFER/CHOVYTRANSFER.cs index a2a3c7c..1c7b3d8 100644 --- a/CHOVY-TRANSFER/CHOVYTRANSFER.cs +++ b/CHOVY-TRANSFER/CHOVYTRANSFER.cs @@ -9,6 +9,8 @@ using KeyDerivation; using PSVIMGTOOLS; using System.Drawing; using System.Threading; +using System.Collections.Generic; +using System.Linq; namespace CHOVY_TRANSFER { @@ -152,12 +154,13 @@ namespace CHOVY_TRANSFER try { string EbootPbp = Path.Combine(game, "EBOOT.PBP"); - - + if (!File.Exists(EbootPbp)) + EbootPbp = Path.Combine(game, "PARAM.PBP"); string TitleId = Path.GetFileName(game); string Title = GetTitleFromPbp(EbootPbp); string ContentId = GetContentIdFromPbp(EbootPbp); + string LicenseFile = Path.Combine(PspDir, "LICENSE", ContentId); if (TitleId.Length == 9 && File.Exists(LicenseFile)); @@ -173,6 +176,21 @@ namespace CHOVY_TRANSFER catch (Exception) { }; } + + public string[] SearchEdats(string gameFolder) + { + List contentIds = new List(); + foreach(string file in Directory.GetFiles(gameFolder, "*", SearchOption.AllDirectories)) + { + if(Path.GetExtension(file).ToUpperInvariant() == ".EDAT") + { + string contentId = GetContentIdFromPspEdat(file); + contentIds.Add(contentId); + } + } + return contentIds.ToArray(); + } + public string GetTitleFromPbp(string pbp) { byte[] SfoData = GetSfo(pbp); @@ -191,8 +209,6 @@ namespace CHOVY_TRANSFER int sfoOffset = ReadInt32(pbps); int sfoSize = ReadInt32(pbps); - - pbps.Seek(sfoOffset, SeekOrigin.Begin); sfoSize -= (int)pbps.Position; @@ -218,7 +234,15 @@ namespace CHOVY_TRANSFER pbps.Dispose(); return IconData; } - + public string GetContentIdFromPspEdat(string edat) + { + FileStream edats = File.OpenRead(edat); + edats.Seek(0x10, SeekOrigin.Begin); + byte[] ContentId = new byte[0x24]; + edats.Read(ContentId, 0x00, 0x24); + edats.Close(); + return Encoding.UTF8.GetString(ContentId); + } public string GetContentIdFromPs1Pbp(string pbp) { FileStream pbps = File.OpenRead(pbp); @@ -230,8 +254,7 @@ namespace CHOVY_TRANSFER pbps.Close(); return Encoding.UTF8.GetString(ContentId); } - - public bool IsPs1(string pbp) + public bool IsPsp(string pbp) { FileStream pbps = File.OpenRead(pbp); pbps.Seek(0x24, SeekOrigin.Begin); @@ -241,6 +264,26 @@ namespace CHOVY_TRANSFER pbps.Read(Header, 0x00, 0x8); pbps.Close(); string header = Encoding.UTF8.GetString(Header); + if (header == "NPUMDIMG") + { + return true; + } + else + { + return false; + } + + } + public bool IsPs1(string pbp) + { + FileStream pbps = File.OpenRead(pbp); + pbps.Seek(0x24, SeekOrigin.Begin); + Int64 PSIMGOffest = ReadInt32(pbps); + pbps.Seek(PSIMGOffest, SeekOrigin.Begin); + byte[] Header = new byte[0x8]; + pbps.Read(Header, 0x00, 0x8); + pbps.Close(); + string header = Encoding.UTF8.GetString(Header); if (header == "PSISOIMG" /*Single Disc PSX*/ || header == "PSTITLEI" /*Multi Disc PSX*/) { return true; @@ -257,10 +300,17 @@ namespace CHOVY_TRANSFER { return GetContentIdFromPs1Pbp(pbp); } - else + else if(IsPsp(pbp)) { return GetContentIdFromPspPbp(pbp); } + else + { + string[] cids = SearchEdats(Path.GetDirectoryName(pbp)); + if (cids.Length <= 0) + return ""; + return cids.First(); + } } public string GetContentIdFromPspPbp(string pbp) @@ -357,14 +407,19 @@ namespace CHOVY_TRANSFER string titleId = pspGames.SelectedItem.ToString().Substring(0, 9); string gameFolder = Path.Combine(driveLetterSrc.Text, pspFolder.Text, "GAME", titleId); string ebootFile = Path.Combine(gameFolder, "EBOOT.PBP"); + if (!File.Exists(ebootFile)) + ebootFile = Path.Combine(gameFolder, "PARAM.PBP"); + + List licenseFiles = new List(); string cid = GetContentIdFromPbp(ebootFile); - string licenseFile = Path.Combine(driveLetterSrc.Text, pspFolder.Text, "LICENSE", cid + ".RIF"); + licenseFiles.Add(Path.Combine(driveLetterSrc.Text, pspFolder.Text, "LICENSE", cid + ".RIF")); string sigFile = Path.Combine(gameFolder, "__sce_ebootpbp"); string backupDir = Path.Combine(driveLetterDst.Text, cmaDir.Text); + bool isDlc = Path.GetFileName(gameFolder) == "PARAM.PBP"; bool isPs1 = IsPs1(ebootFile); - if (!File.Exists(licenseFile)) + if (!File.Exists(licenseFiles.First())) { MessageBox.Show("Could not find LICENSE file!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); transVita.Enabled = true; @@ -376,7 +431,7 @@ namespace CHOVY_TRANSFER return; } - FileStream rif = File.OpenRead(licenseFile); + FileStream rif = File.OpenRead(licenseFiles.First()); byte[] bAid = new byte[0x08]; rif.Seek(0x08, SeekOrigin.Begin); rif.Read(bAid, 0x00, 0x08); @@ -401,7 +456,7 @@ namespace CHOVY_TRANSFER Application.DoEvents(); } - if (!File.Exists(sigFile) || ChovyGenRes != 0) + if (!File.Exists(sigFile) || ChovyGenRes != 0 && !isDlc) { MessageBox.Show("CHOVY-GEN Failed! Please check CHOVY.DLL exists\nand that the Microsoft Visual C++ 2015 Redistributable Update 3 RC is installed", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); transVita.Enabled = true; @@ -456,7 +511,7 @@ namespace CHOVY_TRANSFER { pgameFolder = Path.Combine(backupDir, "PGAME", "0000000000000000", titleId, "game"); pgameFolderl = Path.Combine(backupDir, "PGAME", "0000000000000000", titleId, "license"); - scesys = Path.Combine(backupDir, "PSGAME", "0000000000000000", titleId, "sce_sys"); + scesys = Path.Combine(backupDir, "PGAME", "0000000000000000", titleId, "sce_sys"); } } @@ -496,6 +551,14 @@ namespace CHOVY_TRANSFER string relativePath = entry.Remove(0, gameFolder.Length); relativePath = relativePath.Replace('\\', '/'); + if(Path.GetExtension(entry).ToUpperInvariant() == ".EDAT") + { + string edatContentId = GetContentIdFromPspEdat(entry); + string rifPath = Path.Combine(driveLetterSrc.Text, pspFolder.Text, "LICENSE", edatContentId + ".RIF"); + if (!licenseFiles.Contains(rifPath) && File.Exists(rifPath)) + licenseFiles.Add(rifPath); + } + bool isDir = File.GetAttributes(entry).HasFlag(FileAttributes.Directory); if (isDir) @@ -513,6 +576,7 @@ namespace CHOVY_TRANSFER progressBar.Value = tBlocks; decimal progress = Math.Floor(((decimal)tBlocks / (decimal)noBlocks) * 100); progressStatus.Text = progress.ToString() + "%"; + currentFile.Text = "Processing: " + Path.GetFileName(entry); } catch (Exception) { } @@ -533,7 +597,8 @@ namespace CHOVY_TRANSFER FileStream licensePsvimg = File.OpenWrite(psvimgFilepathl); licensePsvimg.SetLength(0); builder = new PSVIMGBuilder(licensePsvimg, CmaKey); - builder.AddFile(licenseFile, "ux0:pspemu/temp/game/PSP/LICENSE", "/" + cid + ".rif"); + foreach(string licenseFile in licenseFiles) + builder.AddFile(licenseFile, "ux0:pspemu/temp/game/PSP/LICENSE", "/" + Path.GetFileNameWithoutExtension(licenseFile) + ".rif"); ContentSize = builder.Finish(); licensePsvimg = File.OpenRead(psvimgFilepathl); @@ -559,6 +624,7 @@ namespace CHOVY_TRANSFER } progressBar.Value = 0; progressStatus.Text = "0%"; + currentFile.Text = "Waiting ..."; transVita.Enabled = true; driveLetterDst.Enabled = true; diff --git a/Thumbs.db b/Thumbs.db new file mode 100644 index 0000000000000000000000000000000000000000..e780c88f3678355e2a29ec13191f182713dda871 GIT binary patch literal 36352 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 YdUx?&B?Az6y85}Sb4q9ev4<%D00YbRcmMzZ literal 0 HcmV?d00001