Skip to content

Commit 9ed6de2

Browse files
Replaced need for winmm and dinput8 with version.dll (#37)
1 parent 4d71530 commit 9ed6de2

8 files changed

Lines changed: 14 additions & 50 deletions

File tree

.github/workflows/create-draft-release.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,7 @@ jobs:
8282

8383
- name: Download dinput and winmm
8484
run: |
85-
curl -L https://github.com/SRMM-Studio/srmm-distrib/raw/refs/heads/main/Native/dinput8.dll -o $RUNNER_TEMP/external/dinput8.dll
86-
curl -L https://github.com/SRMM-Studio/srmm-distrib/raw/refs/heads/main/Native/winmm.lj -o $RUNNER_TEMP/external/winmm.lj
85+
curl -L https://github.com/SRMM-Studio/srmm-distrib/raw/refs/heads/main/Native/version.dll -o $RUNNER_TEMP/external/version.dll
8786
8887
- name: Install .NET SDK
8988
uses: actions/setup-dotnet@v5

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ $ ./ShinRyuModManager-CE --cli
3333
```
3434

3535
# Building
36-
Clone the repository, then open the solution file (.sln) in Visual Studio. You can then `dotnet publish` the `ShinRyuModManager-CE` project.
36+
Clone the repository, then open the solution file (.slnx) in Visual Studio. You can then `dotnet publish` the `ShinRyuModManager-CE` project.
3737

3838
# Differences/Known Issues
3939
Given this is a port, and a cross-platform one at that, there are likely going to be differences between this version and the original.

Scripts/build.sh

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,7 @@ FRAMEWORK="net10.0"
2323
DOWNLOAD_REPO="SRMM-Studio/ShinRyuModManager"
2424

2525
FILES_TO_COPY=(
26-
"dinput8.dll"
27-
"winmm.lj"
26+
"version.dll"
2827
"YakuzaParless.asi"
2928
)
3029

ShinRyuModManager-CE/Program.cs

Lines changed: 2 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -199,43 +199,6 @@ internal static List<ModInfo> PreRun(Profile? profile = null) {
199199
}
200200

201201
Log.Information("Active Profile: {Profile}", profile?.GetDescription() ?? ActiveProfile.GetDescription());
202-
203-
if (File.Exists(Constants.DINPUT8DLL) && File.Exists(Constants.WINMMLJ)) {
204-
// TODO: Maybe move this to a separate "Game patches" file
205-
// Virtua Fighter eSports crashes when used with dinput8.dll as the ASI loader
206-
if (GamePath.CurrentGame == Game.Eve && File.Exists(Constants.DINPUT8DLL)) {
207-
if (File.Exists(Constants.VERSIONDLL)) {
208-
Log.Warning($"Game specific patch: Deleting {Constants.DINPUT8DLL} because {Constants.VERSIONDLL} exists...");
209-
210-
// Remove dinput8.dll
211-
File.Delete(Constants.DINPUT8DLL);
212-
} else {
213-
Log.Warning($"Game specific patch: Renaming {Constants.DINPUT8DLL} to {Constants.VERSIONDLL}...");
214-
215-
// Rename dinput8.dll to version.dll to prevent the game from crashing
216-
File.Move(Constants.DINPUT8DLL, Constants.VERSIONDLL);
217-
}
218-
} else if (GamePath.CurrentGame is >= Game.YakuzaKiwami2 and not Game.LikeADragonGaiden) {
219-
// 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)
220-
if (File.Exists(Constants.DINPUT8DLL)) {
221-
Log.Warning($"Game specific patch: Deleting {Constants.DINPUT8DLL} because it causes crashes with Judgment games...");
222-
223-
// Remove dinput8.dll
224-
File.Delete(Constants.DINPUT8DLL);
225-
}
226-
227-
if (!File.Exists(Constants.WINMMDLL)) {
228-
if (File.Exists(Constants.WINMMLJ)) {
229-
Log.Warning($"Game specific patch: Enabling {Constants.WINMMDLL} by renaming {Constants.WINMMLJ} to fix Judgment games crashes...");
230-
231-
// Rename dinput8.dll to version.dll to prevent the game from crashing
232-
File.Move(Constants.WINMMLJ, Constants.WINMMDLL);
233-
} else {
234-
Log.Error($"WARNING: {Constants.WINMMLJ} was not found. Judgment games will NOT load mods without this file. Please redownload Shin Ryu Mod Manager.");
235-
}
236-
}
237-
}
238-
}
239202

240203
// Read ini (again) to check if we should try importing the old load order file
241204
_iniData = IniParser.ReadFile(Constants.INI);
@@ -403,7 +366,7 @@ internal static async Task RunGeneration(List<ModInfo> mods) {
403366
private static void PostRun() {
404367
// Check if the ASI loader is not in the directory (possibly due to incorrect zip extraction)
405368
if (MissingDll()) {
406-
Log.Warning($"Warning: \"{Constants.DINPUT8DLL}\" is missing from this directory. Shin Ryu Mod Manager will NOT function properly without this file");
369+
Log.Warning($"Warning: \"{Constants.VERSIONDLL}\" is missing from this directory. Shin Ryu Mod Manager will NOT function properly without this file");
407370
}
408371

409372
// Check if the ASI is not in the directory
@@ -442,7 +405,7 @@ private static List<ModInfo> ScanMods(ProfileMask activeProfiles = ProfileMask.A
442405
}
443406

444407
internal static bool MissingDll() {
445-
return !(File.Exists(Constants.DINPUT8DLL) || File.Exists(Constants.VERSIONDLL) || File.Exists(Constants.WINMMDLL));
408+
return File.Exists(Constants.VERSIONDLL);
446409
}
447410

448411
internal static bool MissingAsi() {

ShinRyuModManager-CE/ShinRyuModManager-CE.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
<AvaloniaUseCompiledBindingsByDefault>true</AvaloniaUseCompiledBindingsByDefault>
1515

1616
<!-- Versioning -->
17-
<AssemblyVersion>1.4.7</AssemblyVersion>
17+
<AssemblyVersion>1.4.8</AssemblyVersion>
1818
<VersionPrefix>$(AssemblyVersion)</VersionPrefix>
1919
<AssemblyTitle>ShinRyuModManager-CE</AssemblyTitle>
2020
<Company>SRMM Studio</Company>

ShinRyuModManager-CE/UserInterface/Assets/changelog.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
1-
> ### **%{color:gold} Version 1.4.7 %** ###
1+
> ### **%{color:gold} Version 1.4.8 %** ###
2+
* Implemented changes from SRMM 4.8.1 (Fixed mods not loading for Kiwami 3)
3+
* Delete `winmm.dll` and `dinput8.dll` from your game directory
4+
5+
---
6+
7+
> ### **%{color:orange} Version 1.4.7 %** ###
28
* Fixed launching Kiwami 3 from in app
39

410
---

ShinRyuModManager-CE/UserInterface/Views/MainWindow.axaml.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ private async Task RunPreInitAsync() {
8080

8181
if (Program.LogLevel <= LogEventLevel.Warning) {
8282
if (Program.MissingDll()) {
83-
_ = await MessageBoxWindow.Show(this, "Warning", $"{Constants.DINPUT8DLL} is missing from this directory. Mods will NOT be applied without this file.");
83+
_ = await MessageBoxWindow.Show(this, "Warning", $"{Constants.VERSIONDLL} is missing from this directory. Mods will NOT be applied without this file.");
8484
}
8585

8686
if (Program.MissingAsi()) {

Utils/Constants.cs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,7 @@ public static class Constants {
88
public const string MOD_LIST = "ModList.ml";
99
public const string MLO = "YakuzaParless.mlo";
1010
public const string ASI = "YakuzaParless.asi";
11-
public const string DINPUT8DLL = "dinput8.dll";
1211
public const string VERSIONDLL = "version.dll";
13-
public const string WINMMDLL = "winmm.dll";
14-
public const string WINMMLJ = "winmm.lj";
1512
public const string PARLESS_NAME = ".parless paths";
1613
public const string EXTERNAL_MODS = "_externalMods";
1714
public const string VORTEX_MANAGED_FILE = "__folder_managed_by_vortex";

0 commit comments

Comments
 (0)