Page 1 of 1

Data files head directory

Posted: 19 Mar 2018, 17:02
by halbe
OpenMW's VFS is super cool and useful, but its a bit of a pain to manually add data="PATH" for every mod you install (since its a good idea to keep them all in their own directories). However, what other games like Mount and Blade/Dragon Age/The Witcher 3 do when loading mods is have a "mods" directory that loads all of its subdirectories as data directories. So for example, in openmw.cfg I would write data-head="~omw/mods" and inside ~omw/mods is /omw/mods/tamriel_rebuilt_1710, which is the actual data directory containing /textures, /meshes, etc. Since you don't specify the path manually, you would need to reorganize the directories in the launcher in the case of mods that would overwrite each other. Perhaps the default would be to order them based on which was modified last. Also, it would be nice if there was an option to load .esp files in the same order as their respective data directories.

This would make managing installations with lots of mods a lot easier, and it will encourage people to install mods the right way which will probably result in less need for troubleshooting on the forums/discord. Would this be viable?

Re: Data files head directory

Posted: 20 Mar 2018, 00:26
by Chris
halbe wrote: 19 Mar 2018, 17:02 However, what other games like Mount and Blade/Dragon Age/The Witcher 3 do when loading mods is have a "mods" directory that loads all of its subdirectories as data directories. So for example, in openmw.cfg I would write data-head="~omw/mods" and inside ~omw/mods is /omw/mods/tamriel_rebuilt_1710, which is the actual data directory containing /textures, /meshes, etc. Since you don't specify the path manually, you would need to reorganize the directories in the launcher in the case of mods that would overwrite each other.
That kind of defeats the purpose of having it auto-load though doesn't it? The idea is to be able to just dump a new mod's base directory in ~/omw/mods and it's good to go, but here you still have to go and manage it. A better idea would be to replicate something like BAIN, or other mod managers; there's a directory where you place the mod's archive (the zip, rar, 7z you downloaded or created), and the archive is structured to either have the root be the base data directory (e.g. inside tamriel_rebuilt_1710.zip is /meshes, /textures, etc), or contain a 'Data Files' directory which is base data directory (any other files in the root would be ignored, or be handled specially like a readme.txt, screenshots, or installer script). The launcher would then let you order the archives and 'activate' them, which extracts it to its own directory and sets up a correctly-ordered 'data=' line in openmw.cfg.
Also, it would be nice if there was an option to load .esp files in the same order as their respective data directories.
That's too problematic to rely on, especially for mods that contain multiple esm and/or esp files. We really need to make/integrate something like mlox to correctly order the esm/esps.