airbreather / StepperUpper

Some tools for making STEP happen.
MIT License
9 stars 2 forks source link

Generate ModOrganizer meta.ini Files #11

Open airbreather opened 7 years ago

airbreather commented 7 years ago

Use Case

When ModOrganizer installs a mod, it also creates a file called meta.ini in the mod's folder. This file, as the name suggests, stores metadata associated with the mod. How it was installed, what repository it came from (Nexus), what its ID is on that repository, its version, original files that were installed into this mod, etc.

This information isn't absolutely necessary for normal users who just want to get to the fun part of running Skyrim, but there are still some useful features of Mod Organizer that would benefit from this metadata. It can check for new versions of a mod, allow users to endorse it straight from the page, and allow users to reinstall it. Power users and pack maintainers would benefit from this.

Proposed Solution

Perhaps this could be just a single task that relies on a particularly strict XML structure and creates these meta.ini files in the "ModOrganizer/mods/Foo" folders it finds that correspond to the entries in the <Files> section. We already capture the key information for Nexus mods ("this is a file for a Nexus mod", mod ID, and file ID), so we can get at least the bare minimum needed into Mod Organizer so it can do the rest.

I really don't want to complicate ExtractArchive too much over this, or add more fields to <File> that have to be filled the hard way in order for this to work, but one or both of those might be needed.

airbreather commented 7 years ago

I think you could work around this to a degree by reinstalling each mod individually using the original archive files... this defeats the point of automation, but there you go.