MacTee / KSP-Mod-Admin-aOS

A tool to manage the installation, removal and update of mods for the game Kerbal Space Program. ---------> Use the dev branch for further development!!!
29 stars 9 forks source link

Empty Folder omitted on load #75

Closed SirSmurfalot closed 9 years ago

SirSmurfalot commented 9 years ago

I am using Ship Manifest and getting this error:

[Exception]: IsolatedStorageException: Could not find a part of the path "C:\Kerbal Space Program\GameData\ShipManifest\Plugins\PluginData\SMSettings.dat"

The zip for the module contains the folder "PluginData", but does not create the "SMSettings.dat" until your first launch (I am guessing)

It appears that MA is detecting "PluginData" as an empty folder and omitting it from the loadup, because the folder is not showing up in the MA mod tree or in the GameData for my KSP install. As a result Ship Manifest cannot create the .dat file at that address and causes a bug.

4o66 commented 9 years ago

Can confirm, empty folders not processed. (Using https://kerbalstuff.com/mod/261/Ship%20Manifest)

Core issue: It appears that mods are walked as a list of files. If there is no file in a folder it is never seen.

KSP-Mod-Admin-aOS\KSPModAdmin.Core\Utils\ModNodeHandler.cs, line 236 is the cause. Directory entries are ignored by design.

Digging to see if this is a quick fix.

4o66 commented 9 years ago

Pull request submitted to fix this issue.

SirSmurfalot commented 9 years ago

Good job on the speedy pull request. :+1:

The ship manifest dev confirmed that file is not created until launch and I tested to confirm the missing folder was causing the file to not be created correctly. He took the additional step of having his SM code autocheck for the missing folder and create it if necessary. So it looks like this is going to be patched on both sides. :)

I found at least one possibly two other mods throwing warnings because of something similar taking place with an empty folder, but that is not resulting in a game crash.

MacTee commented 9 years ago

For my taste its the responsibility of the mod to solve this problem, but i guess we can fix that too ;) Fixed with pull request https://github.com/MacTee/KSP-Mod-Admin-aOS/commit/7e347d95b94c1bf93011fdc5bbfecaa3b8aab6c2

SirSmurfalot commented 9 years ago

I agree, but you know the average user will blame MA first if something does not work right. :neckbeard: