Basically, cleaning mods is:
- Simple.
- Relatively quick.
Fun!
Keeping track of which mods you have are clean and which need cleaning, however, is:
- Complicated.
- Confusing.
- Not fun either.
- Time consuming.
I don't know if the cleaning process itself can be automated or improved in any way, and it's not my concern at this time. What I am focussing on is raising awareness of cleaning mods to more mod users and trying to make managing the process as easy as possible.
I'm basing my ideas off the current format of the information on mod cleaning, being a whitelist of mods that need cleaning and a blacklist of mods that shouldn't be cleaned. There's also a list of pre-cleaned mods, but I don't think this is required.
For the whitelist, each plugin will have a CRC attached to it, which would be the CRC of the unclean mod. A program would then look through your installed mods for any that are on the list. If it finds one, it then checks the CRC of your plugin against the unclean plugin CRC. If they match, it then tells you that plugin needs cleaning. For the blacklist, no additional information is needed, and instead if the program finds a plugin installed that is on the blacklist, the program will tell you not to clean the mod.
The program that does all this can also have an updater to grab the latest copy of the list from some storage location on the internet. The idea is basically that there is an always up-to-date and personalised version of the information on CS Wiki and the Cleaning thread in this forum that people can use to help manage their mod cleaning.
I've been pretty vague on the program itself: either something new could be written, or such functionality could be built into an existing utility, with the primary candidates being Wrye Bash or BOSS. Both have roughly the same number of downloads on TES Nexus, so they are pretty equal in terms of user penetration, which is one thing that a new program would be severly lacking.
I don't know much about Wrye Bash's functions, but BOSS v1.7 will have all the functionality required to implement such a system, if the whitelist and blacklist are combined in the masterlist. The only possible addition to be made would be a new Cleaning message type to differentiate such messages from other notes. I've also recently already been adding notes about unclean mods to the masterlist, which some may have noticed - currently these don't check your installed plugin because the current BOSS doesn't support that.
Of course, there's some things I've thought of that need a bit more thinking, and that's where you come in:
- Should the program be a new one, Wrye Bash or BOSS?
- Volunteers - would you be interested in helping keep the lists up to date? Basically all this requires is to add a mod's filename to one of the lists when you update/install it and check if it needs cleaning. Of course, supplying details are good, but that just requires reading off TES4Edit. Most of the time there's no special experience or knowledge needed.
- Handling of different versions of mods. I currently have in my toolkit stuff to check plugin CRCs and the version included in the mod's description, so we can check for specific plugins. This does mean that each version of a dirty plugin will need to be recorded, which takes up more space.
- Blacklist/whitelist precedence. I'm currently thinking that the blacklist would hold all dirty mods, whereas the whitelist would only hold dirty mods that should not be cleaned, to save a massive list of plugins that are OK. My thinking is that we don't need to do anything about clean mods, so we don't need to be told anything about them.
I'm asking for volunteers because I don't want to just assume that if this does get incorporated into Wrye Bash or BOSS, that the current teams can handle it, since they're (ie. PacificMorrowind
Any input you may have is appreciated. I've typed this up in a bit of a rush, so I probably forgot some things, and I'll update when I remember them.
