From a10c3819f84aca6ad7f3e0fef0178a0ec9531077 Mon Sep 17 00:00:00 2001 From: Benjamin Date: Tue, 17 Feb 2026 17:06:47 -0700 Subject: [PATCH] 1.4.6 --- ShinRyuModManager-CE/ModLoadOrder/Mods/Mod.cs | 2 +- ShinRyuModManager-CE/Program.cs | 62 ++++++++++--------- .../ShinRyuModManager-CE.csproj | 2 +- .../UserInterface/Assets/changelog.md | 9 ++- 4 files changed, 41 insertions(+), 34 deletions(-) diff --git a/ShinRyuModManager-CE/ModLoadOrder/Mods/Mod.cs b/ShinRyuModManager-CE/ModLoadOrder/Mods/Mod.cs index 6ed7401..2a37929 100644 --- a/ShinRyuModManager-CE/ModLoadOrder/Mods/Mod.cs +++ b/ShinRyuModManager-CE/ModLoadOrder/Mods/Mod.cs @@ -224,7 +224,7 @@ public void AddFiles(string path, string check) { if (!Directory.Exists(destinationDirectory)) Directory.CreateDirectory(destinationDirectory); - File.Copy(gmtPath, Path.Combine(destinationDirectory, Path.GetFileName(gmtPath))); + File.Copy(gmtPath, Path.Combine(destinationDirectory, Path.GetFileName(gmtPath)), true); } break; diff --git a/ShinRyuModManager-CE/Program.cs b/ShinRyuModManager-CE/Program.cs index 42ceb70..000f2bf 100644 --- a/ShinRyuModManager-CE/Program.cs +++ b/ShinRyuModManager-CE/Program.cs @@ -199,38 +199,40 @@ internal static List PreRun(Profile? profile = null) { } Log.Information("Active Profile: {Profile}", profile?.GetDescription() ?? ActiveProfile.GetDescription()); - - // TODO: Maybe move this to a separate "Game patches" file - // Virtua Fighter eSports crashes when used with dinput8.dll as the ASI loader - if (GamePath.CurrentGame == Game.Eve && File.Exists(Constants.DINPUT8DLL)) { - if (File.Exists(Constants.VERSIONDLL)) { - Log.Warning($"Game specific patch: Deleting {Constants.DINPUT8DLL} because {Constants.VERSIONDLL} exists..."); - - // Remove dinput8.dll - File.Delete(Constants.DINPUT8DLL); - } else { - Log.Warning($"Game specific patch: Renaming {Constants.DINPUT8DLL} to {Constants.VERSIONDLL}..."); - - // Rename dinput8.dll to version.dll to prevent the game from crashing - File.Move(Constants.DINPUT8DLL, Constants.VERSIONDLL); - } - } else if (GamePath.CurrentGame is >= Game.YakuzaKiwami2 and not Game.LikeADragonGaiden) { - // Lost Judgment (and Judgment post update 1) does not like Ultimate ASI Loader, so instead we use a custom build of DllSpoofer (https://github.com/Kazurin-775/DllSpoofer) - if (File.Exists(Constants.DINPUT8DLL)) { - Log.Warning($"Game specific patch: Deleting {Constants.DINPUT8DLL} because it causes crashes with Judgment games..."); - - // Remove dinput8.dll - File.Delete(Constants.DINPUT8DLL); - } - - if (!File.Exists(Constants.WINMMDLL)) { - if (File.Exists(Constants.WINMMLJ)) { - Log.Warning($"Game specific patch: Enabling {Constants.WINMMDLL} by renaming {Constants.WINMMLJ} to fix Judgment games crashes..."); + + if (File.Exists(Constants.DINPUT8DLL) && File.Exists(Constants.WINMMLJ)) { + // TODO: Maybe move this to a separate "Game patches" file + // Virtua Fighter eSports crashes when used with dinput8.dll as the ASI loader + if (GamePath.CurrentGame == Game.Eve && File.Exists(Constants.DINPUT8DLL)) { + if (File.Exists(Constants.VERSIONDLL)) { + Log.Warning($"Game specific patch: Deleting {Constants.DINPUT8DLL} because {Constants.VERSIONDLL} exists..."); - // Rename dinput8.dll to version.dll to prevent the game from crashing - File.Move(Constants.WINMMLJ, Constants.WINMMDLL); + // Remove dinput8.dll + File.Delete(Constants.DINPUT8DLL); } else { - Log.Error($"WARNING: {Constants.WINMMLJ} was not found. Judgment games will NOT load mods without this file. Please redownload Shin Ryu Mod Manager."); + Log.Warning($"Game specific patch: Renaming {Constants.DINPUT8DLL} to {Constants.VERSIONDLL}..."); + + // Rename dinput8.dll to version.dll to prevent the game from crashing + File.Move(Constants.DINPUT8DLL, Constants.VERSIONDLL); + } + } else if (GamePath.CurrentGame is >= Game.YakuzaKiwami2 and not Game.LikeADragonGaiden) { + // Lost Judgment (and Judgment post update 1) does not like Ultimate ASI Loader, so instead we use a custom build of DllSpoofer (https://github.com/Kazurin-775/DllSpoofer) + if (File.Exists(Constants.DINPUT8DLL)) { + Log.Warning($"Game specific patch: Deleting {Constants.DINPUT8DLL} because it causes crashes with Judgment games..."); + + // Remove dinput8.dll + File.Delete(Constants.DINPUT8DLL); + } + + if (!File.Exists(Constants.WINMMDLL)) { + if (File.Exists(Constants.WINMMLJ)) { + Log.Warning($"Game specific patch: Enabling {Constants.WINMMDLL} by renaming {Constants.WINMMLJ} to fix Judgment games crashes..."); + + // Rename dinput8.dll to version.dll to prevent the game from crashing + File.Move(Constants.WINMMLJ, Constants.WINMMDLL); + } else { + Log.Error($"WARNING: {Constants.WINMMLJ} was not found. Judgment games will NOT load mods without this file. Please redownload Shin Ryu Mod Manager."); + } } } } diff --git a/ShinRyuModManager-CE/ShinRyuModManager-CE.csproj b/ShinRyuModManager-CE/ShinRyuModManager-CE.csproj index b6045f1..488042b 100644 --- a/ShinRyuModManager-CE/ShinRyuModManager-CE.csproj +++ b/ShinRyuModManager-CE/ShinRyuModManager-CE.csproj @@ -14,7 +14,7 @@ true - 1.4.5 + 1.4.6 $(AssemblyVersion) ShinRyuModManager-CE SRMM Studio diff --git a/ShinRyuModManager-CE/UserInterface/Assets/changelog.md b/ShinRyuModManager-CE/UserInterface/Assets/changelog.md index 63f7bb6..b42b678 100644 --- a/ShinRyuModManager-CE/UserInterface/Assets/changelog.md +++ b/ShinRyuModManager-CE/UserInterface/Assets/changelog.md @@ -1,9 +1,14 @@ -> ### **%{color:gold} Version 1.4.5 %** ### +> ### **%{color:gold} Version 1.4.6 %** ### +* Implemented changes from SRMM 4.8.0 + +--- + +> ### **%{color:orange} Version 1.4.5 %** ### * Repack for updated Parless --- -> ### **%{color:gold} Version 1.4.4 %** ### +> ### **%{color:orange} Version 1.4.4 %** ### * Implemented changes from SRMM 4.7.8 ---