From f9a0b579b226140d454c2608e860ad911fd16cd9 Mon Sep 17 00:00:00 2001 From: Li Date: Fri, 12 Apr 2024 18:41:14 +1200 Subject: [PATCH] Windows 95 (lol) --- Conv2PSV/App.config | 4 ++-- Conv2PSV/Conv2PSV.csproj | 2 +- Conv2PSV/Program.cs | 20 ++++++++++++++++---- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/Conv2PSV/App.config b/Conv2PSV/App.config index 5ffd8f8..77ed642 100644 --- a/Conv2PSV/App.config +++ b/Conv2PSV/App.config @@ -1,6 +1,6 @@ - - + + diff --git a/Conv2PSV/Conv2PSV.csproj b/Conv2PSV/Conv2PSV.csproj index fd2874a..a367a2d 100644 --- a/Conv2PSV/Conv2PSV.csproj +++ b/Conv2PSV/Conv2PSV.csproj @@ -8,7 +8,7 @@ Exe Conv2PSV PS12PSV - v4.8 + v3.5 512 true diff --git a/Conv2PSV/Program.cs b/Conv2PSV/Program.cs index da2bfa4..5c6397a 100644 --- a/Conv2PSV/Program.cs +++ b/Conv2PSV/Program.cs @@ -8,6 +8,18 @@ namespace Conv2PSV { class Program { + + static void CopyTo(Stream src, Stream dst) + { + byte[] buffer = new byte[0x8000]; + int totalRead = 0; + do + { + totalRead = src.Read(buffer, 0x00, buffer.Length); + dst.Write(buffer, 0x00, totalRead); + } while (totalRead > 0); + + } static string GetString(Stream fs) { String str = ""; @@ -126,20 +138,20 @@ namespace Conv2PSV { FileStream MCS = File.OpenRead(FilePath); MCS.Seek(0x80, SeekOrigin.Begin); - MCS.CopyTo(PSV); + CopyTo(MCS, PSV); MCS.Close(); } else if (Path.GetExtension(FilePath).ToLower() == ".mcb" || Path.GetExtension(FilePath).ToLower() == ".psx" || Path.GetExtension(FilePath).ToLower() == ".mcx" || Path.GetExtension(FilePath).ToLower() == ".pda") { FileStream PSX = File.OpenRead(FilePath); PSX.Seek(0x36, SeekOrigin.Begin); - PSX.CopyTo(PSV); + CopyTo(PSX, PSV); PSX.Close(); } else { FileStream RAW = File.OpenRead(FilePath); - RAW.CopyTo(PSV); + CopyTo(RAW, PSV); RAW.Close(); } } @@ -166,7 +178,7 @@ namespace Conv2PSV String SaveTitle = GetTitle(FilePath); Console.Write("PsvName = "); - String PsvName = Path.Combine(Path.GetDirectoryName(FilePath), "PS3", "EXPORT", "PSV"); + String PsvName = Path.Combine(Path.Combine(Path.Combine(Path.GetDirectoryName(FilePath), "PS3"), "EXPORT"), "PSV"); Directory.CreateDirectory(PsvName); PsvName = Path.Combine(PsvName, GetPsvName(SaveTitle)); Console.WriteLine(Path.GetFileName(PsvName));