fifty-six / Scarab

An installer for Hollow Knight mods written in Avalonia.
GNU General Public License v3.0
615 stars 163 forks source link

Wrong path of mod "Damage Values" #111

Closed NichtsHsu closed 1 year ago

NichtsHsu commented 2 years ago

Scarab Version

v1.19.0.0

Hollow Knight Version

v1.5.78.11833

Steps to Reproduce

  1. Install mod "Damage Values"
  2. Open Hollow Knight
  3. Mod "Damage Values" failed to load

Expected Behaviour

From the ModLog.txt, it searched the DamageValue folder without a whitespace.

Actual Behaviour

This mod is installed to Damage Values folder with a whitespace.

Logs

[ERROR]:[API] - Failed to load Mod `Damage Values`
[ERROR]:[API] - System.IO.DirectoryNotFoundException: Could not find a part of the path 'D:\Software\Steam\steamapps\common\Hollow Knight\hollow_knight_Data\Managed\Mods\DamageValues'.
[ERROR]:[API] -   at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x000f7] in <9577ac7a62ef43179789031239ba8798>:0 
[ERROR]:[API] -   at System.IO.FileSystemEnumerableIterator`1[TSource].HandleError (System.Int32 hr, System.String path) [0x00006] in <9577ac7a62ef43179789031239ba8798>:0 
[ERROR]:[API] -   at System.IO.FileSystemEnumerableIterator`1[TSource].CommonInit () [0x00054] in <9577ac7a62ef43179789031239ba8798>:0 
[ERROR]:[API] -   at System.IO.FileSystemEnumerableIterator`1[TSource]..ctor (System.String path, System.String originalUserPath, System.String searchPattern, System.IO.SearchOption searchOption, System.IO.SearchResultHandler`1[TSource] resultHandler, System.Boolean checkHost) [0x000d6] in <9577ac7a62ef43179789031239ba8798>:0 
[ERROR]:[API] -   at System.IO.FileSystemEnumerableFactory.CreateFileNameIterator (System.String path, System.String originalUserPath, System.String searchPattern, System.Boolean includeFiles, System.Boolean includeDirs, System.IO.SearchOption searchOption, System.Boolean checkHost) [0x00009] in <9577ac7a62ef43179789031239ba8798>:0 
[ERROR]:[API] -   at System.IO.Directory.EnumerateFileSystemNames (System.String path, System.String searchPattern, System.IO.SearchOption searchOption, System.Boolean includeFiles, System.Boolean includeDirs) [0x00000] in <9577ac7a62ef43179789031239ba8798>:0 
[ERROR]:[API] -   at System.IO.Directory.InternalEnumerateFiles (System.String path, System.String searchPattern, System.IO.SearchOption searchOption) [0x00000] in <9577ac7a62ef43179789031239ba8798>:0 
[ERROR]:[API] -   at System.IO.Directory.EnumerateFiles (System.String path) [0x0000e] in <9577ac7a62ef43179789031239ba8798>:0 
[ERROR]:[API] -   at DamageValues.DamageValues.Initialize () [0x00000] in /home/runner/work/DamageValues/DamageValues/DamageValues.cs:24 
[ERROR]:[API] -   at Modding.Mod.Initialize (System.Collections.Generic.Dictionary`2[TKey,TValue] preloadedObjects) [0x00000] in <2b54cdaf7a934f0eb297d50c4090ea9f>:0 
[ERROR]:[API] -   at Modding.ModLoader.LoadMod (Modding.ModLoader+ModInstance mod, System.Boolean updateModText, System.Collections.Generic.Dictionary`2[TKey,TValue] preloadedObjects) [0x00022] in <2b54cdaf7a934f0eb297d50c4090ea9f>:0 
Cavernosa commented 1 year ago

DamageValues 1.0.0.1 fixed that, we just need to wait for version bump in modlinks to get it fixed in Scarab ig. For now I'm pretty sure you can just install the new version manually

fifty-six commented 1 year ago

This was less a Scarab issue and more the way the mod handled folders. I think the current approach is fine given the mod itself has also now been fixed to use the location of the assembly.