Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion ShinRyuModManager-CE/ModLoadOrder/Mods/Mod.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
62 changes: 32 additions & 30 deletions ShinRyuModManager-CE/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -199,38 +199,40 @@ internal static List<ModInfo> 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.");
}
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion ShinRyuModManager-CE/ShinRyuModManager-CE.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<AvaloniaUseCompiledBindingsByDefault>true</AvaloniaUseCompiledBindingsByDefault>

<!-- Versioning -->
<AssemblyVersion>1.4.5</AssemblyVersion>
<AssemblyVersion>1.4.6</AssemblyVersion>
<VersionPrefix>$(AssemblyVersion)</VersionPrefix>
<AssemblyTitle>ShinRyuModManager-CE</AssemblyTitle>
<Company>SRMM Studio</Company>
Expand Down
9 changes: 7 additions & 2 deletions ShinRyuModManager-CE/UserInterface/Assets/changelog.md
Original file line number Diff line number Diff line change
@@ -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

---
Expand Down