Tool: Better Install Order

General discussion regarding the OpenMW project.
For technical support, please use the Support subforum.
mym
Posts: 47
Joined: 09 Feb 2015, 13:31
Gitlab profile: https://gitlab.com/mym34

Tool: Better Install Order

Post by mym »

Hi,

A few years ago I wrote a small tool that helps you install your mods in a specific order.
The goal is to handle data file overrides so that you get the best version of each file.

I just added a repo : https://github.com/mehdiym/BIO

For OpenMW, I could update the tool so that instead of adding prefixes to mod archives (used by Wrye Mash), it could just set the right install order in OpenMW config file.

I wonder if such a tool can be useful for anyone here. I would be glad to have some feedback.

Short description

The tool uses basic mod files information to decide the best install order: Size of data files, Data files count, Timestamp of data files. There is no subjective criteria, but you can tune the result afterwards.

The general idea is that in general :
  • The larger the data files, the better the quality (textures, meshes, sounds...).
  • The less files a mod has the more specialized it should be. I mean, big packs with lots of files like the Visual Pack, Connary's or Darknut's little weapons should have a lower score than smaller graphic replacement mods (eg. Umbra replacement) to allow the latter ones to override the data files of the former ones.
  • The more recent a mod is, the more actual / updated / improved it should be compared to an olderlist
Then the tool builds a precedence graph, illustrating which mod files should override which other.
Here is an example :
https://github.com/mehdiym/BIO/blob/mas ... erlaps.pdf

And finally the tool linearizes the graph to produce a list of mod archives in a specific order.
DocClox
Posts: 101
Joined: 10 May 2015, 13:26

Re: Tool: Better Install Order

Post by DocClox »

Yes please. The multiple data folders is an excellent idea, but it breaks tools like mlox and wrye bash.

Of course, I have no idea of what clever things the engine and launcher may do to make those tools less necessary. In fact, at some stage it would be useful to have a best practice guide to maintaining mod order under OpenMW. I belive we have a rudimentary on one on the wiki, but it only really says "use multiple data folders".
Chris
Posts: 1626
Joined: 04 Sep 2011, 08:33

Re: Tool: Better Install Order

Post by Chris »

DocClox wrote:Yes please. The multiple data folders is an excellent idea, but it breaks tools like mlox and wrye bash.
mlox doesn't work anyway, since AFAIK it sorts plugins by changing the timestamps. OpenMW, however, loads plugins according to the listed order in openmw.cfg (of which there can be more than one, some of them writable and some of them not). We'd need another tool that can read mlox's database, but specifically designed for openmw's config files. It should be able to sort per-config file and warn if plugins are out of order due to config file ordering (e.g. if plugin A is listed in config file B and plugin B is listed in config file A, plugin B should come after plugin A but config file A is loaded before config file B).
DocClox
Posts: 101
Joined: 10 May 2015, 13:26

Re: Tool: Better Install Order

Post by DocClox »

Out of curiosity, is the project still in need of someone to look after the launcher?

And if so, how do people feel about PyQt?
mym
Posts: 47
Joined: 09 Feb 2015, 13:31
Gitlab profile: https://gitlab.com/mym34

Re: Tool: Better Install Order

Post by mym »

DocClox wrote:Yes please. The multiple data folders is an excellent idea, but it breaks tools like mlox and wrye bash.
Actually BIO works on the install order, not the load order.
mlox optimizes the load order and I suppose it could be easily improved to handle OpenMW config files.
User avatar
Zini
Posts: 5538
Joined: 06 Aug 2011, 15:16

Re: Tool: Better Install Order

Post by Zini »

Launcher is mostly fine. There are a few minor issues (and a bigger one for which we apparently can't get to an agreement).

PyQt is cool, but it has currently no place in OpenMW.
DocClox
Posts: 101
Joined: 10 May 2015, 13:26

Re: Tool: Better Install Order

Post by DocClox »

Good enough then :)
mym
Posts: 47
Joined: 09 Feb 2015, 13:31
Gitlab profile: https://gitlab.com/mym34

Re: Tool: Better Install Order

Post by mym »

I have the feeling the purpose of that tool is not well understood :| Or maybe well understood but evaluated as "not useful" :? :D

Thus I wonder how players handle install order, particularly when they have many graphics replacers.

I've read many general recommendations like "Visual Pack should be installed first, then install any other graphics replacer." First I followed those tips and I got a good enough install. But then, when I played the game I recurrently saw graphic elements that were not those from the mods I choose. Because some other mods were overwriting the expected images with default, poor quality or undesired ones. That's why I started developing BIO.

I had the feeling most case could be handled automatically, using file stats, and I was pleasantly surprised with the result. I still added a few manual tuning options and now the final result fully satisfies me.
Cramal
Posts: 186
Joined: 19 Sep 2014, 13:37

Re: Tool: Better Install Order

Post by Cramal »

if i understadn correctly, your tool is only usefull during the installation of the mods, during the extraction of the files from the mod archives.

What does it have to do with the config file of OpenMW? This config file only have something to do with the loading order.

Am i wrong?
DocClox
Posts: 101
Joined: 10 May 2015, 13:26

Re: Tool: Better Install Order

Post by DocClox »

Well, the config file can define multiple data folders in order of priority. If two folders both have a file called "Textures/Foo/Bar.tga" then the one in the higher priority folder wins.

And that remains true even if you re-install the lower priority mod. Or another one that also redefines that texture.

And I agree that we could do with a better way to manage these details than hand-editing the config.
Post Reply