I was working on a new spell/potion mod for GreedFall and realized something. Many of the files I had to edit were contention points. That is, greedfall has a number of large configuration files that configure many things in one place. For example, the file items_autogen_equipements.sli defines every item
that you can hold or wear in the game. So if you install a mod that affects items, maybe it makes them lighter, chances are it is incompatible with all other mods that make any changes to any other item. Looks, price, upgrade options, etc... The default Vortex contention strategy is to resolve at the File level. If 2 mods edit the same file, you must choose which one to install.

So ... I took a week and created a trivial merge manager called "Mod Slot Support" that supports multiple trivial merges to a single file. For those familiar with GIT, this is basically what GIT provides. However GIT is generic and being generic is limited by what it can allow. By focusing on GreedFall's config files, knowing they are XML, my merge manager can be more forgiving. Multiple mods can edit the same line of a config, so long as they change different XML elements. I tested this with about 10 mods that typically conflict with each other and got everything working at the same time.

I felt this capability was important because as a mod author, I don't expect users to give up their favorite mods to try out my latest mod. So if there isn't a good mod priority or contention solution out there for a given game, I am less likely to take the time to make a mod. Now that contention resolution is available, I don't feel bad about making changes to these big config files because I know users can enjoy my mod and other mods that edit the same files.

Finally... Realizing many users are not technically savvy, I made a new Vortex Extension for GreedFall that organizes mods into unique directories so that my merge manager can actually resolve issues. (If vortex refuses to install mods because it detects file conflicts, there is nothing to resolve). The new vortex extension organizes the mods for the user by archive name. This prevents Vortex from ever refusing to install a mod because it will never see contention. But that is a good thing as the merge manager can now fix those conflicts for you.

Article information

Added on

Written by

Dheuster

0 comments