Mod Manager Enhancement - Reordering and dependencies tags

Started by Jaxxa, July 01, 2015, 08:04:11 PM

Previous topic - Next topic

Jaxxa

I think that with the announcement of the steam workshop integration the Mod management screen needs a bit of an overhaul. I have noticed a few mods (mine included) now have been getting more modular in order to allow you customise your player experience or to build on other existing mods, and as a result of this need to be activated in a specific order.

I have been wondering how this will work with the steam workshop, will the workshop automatically activate the mods in game or does the player have to enable them?

Either way I think that at the very least we need the ability to move mods up and down in the load order before the 1.0 steam release.

I also think that in About.xml of mods a (optional) dependencies tag should be added.

For example in my Stargate module it could look something like this:

Quote<dependencies>
   <mod>Core</mod>
   <mod>ED-Core</mod>
   <mod>ED-Autoloader</mod>
</dependencies>


This would be a list of modules that it depends on and need to be activated before it. Maybe have another tag for modules also need to be activated but not in a specific order. This could then throw a warning if the user tries to activate them in the wrong order, and possibly to automatically activate them when using the steam workshop.

1000101

(2*b)||!(2*b) - That is the question.
There are 10 kinds of people in this world - those that understand binary and those that don't.

Powered By

mipen

Tynan mentioned in the changelog a couple of days ago that you can now see in which order mods will be loaded in the mod screen, not sure if that means you can re-order them too though. I think he should just implement EdB's Mod Order mod and be done with it, the quickest solution for sure :P And I think the mod dependencies tag is an excellent idea! It's annoying always having people come to me with problems because they haven't gotten the load order correct :/

Vas

With steam workshop coming up, it could easily allow you to auto download dependencies as well, by marking the ID number of a mod as a dependency and the game goes online to find this mod then download it for you.  Actually, Space Engineers has something somewhat like this already, not so much a dependency in mods but a map that is uploaded with specific mods, can download those mods if someone else downloads that map.
Click to see my steam. I'm a lazy modder who takes long breaks and everyone seems to hate.

Tynan

I've made some improvements in the mods screen to cover some of this. It's not quite gold standard yet but I hope it'll cover the basic need to control mod loading order.

The dependencies thing is interesting, but that'd be tricky to implement. Hmm!
Tynan Sylvester - @TynanSylvester - Tynan's Blog

Jaxxa

I wasn't thinking it would be too tricky, I was thinking it could work by:

0. You would need a function that will get a module by it's name.
1. After activating / deactivating or when you close the mod manager you Iterate through the list of active mods by their load order.
2. For each active mod in the list iterate through the list of dependencies pulled from the About.xml
3. For each dependency you try and find the mod in the list of mods (by name), this could have a few results:

  • You cant find it at all, warn that the mod has a dependency that you don't have.
  • You find it and the load order is before(lower number) than the mod you are searching from, everything is fine don't do anything.
  • You find it and the load order is after(higher number) than the mod you are searching from, warn to move it up the load order.
  • You find it but it is not active, warn that you have not activated a dependency.

The warnings could be done as some kind of red explanation icon next to each mod with a problem with the message as a tooltip or click on it for a message box.

Of course al this depends on the mod authors keeping the tags upto date.

I have made some assumptions on how the load order is working and havnt looked deeply into the code, but I wouldn't think it would be too difficult to implement.

Kaballah

Quote from: Tynan on July 03, 2015, 11:54:37 PM
I've made some improvements in the mods screen to cover some of this. It's not quite gold standard yet but I hope it'll cover the basic need to control mod loading order.

The dependencies thing is interesting, but that'd be tricky to implement. Hmm!

Changing mod order without re-selecting the entire stack would really be nice to have, especially if you have 50+ active mods (not really an unreasonable amount of mods imo)

Jaxxa

Quote from: Kaballah on July 05, 2015, 08:49:07 PM
Changing mod order without re-selecting the entire stack would really be nice to have, especially if you have 50+ active mods (not really an unreasonable amount of mods imo)

Especially if you have mods that are split up so you can only use what you want to.
My mod comes in 14 different modules.