OpenMW-Launcher: Separate configuration files based on content list profile.
This is a bug report on a hypothetical situation that arises from the current way the OpenMW-Launcher handles data directories. The root cause is that currently openmw.cfg does not attach a data= entry to a specific content list profile. This is quite logical because that information cannot be extracted automatically if the data directory does not contain an ESP/Omwaddon or the ESP does not have a GameFile set, (e.g. a modders resource). Another reason is that OpenMW has been developed primarily as a replacement engine for a single game, where even with different content list profiles, the user would generally share the data files. I actually don't and ran into this issue already, you cannot maintain a Morrowind install with vanilla textures and meshes and one with replacements side-by side and switch using the content list. This is actually a rather common use-case when you're trying to debug/evaluate/compare mesh/texture replacements.
Additionally, this may cause problems if, by chance, a resource used in one game shares the name/path with one in another game.
Imagine that in the OpenMW Example Suite we have a mesh that has a path that coincides with a mesh in Morrowind (or a mod). In this case the mesh that would be loaded, would be the one that is last in the VFS generated from the data= entries, even if the games are entirely unrelated. Especially if OpenMW is intended to be used as a fully independent game engine in the future, this may mean that people will install multiple games using the OpenMW engine, and get very strange errors where resources from a different game they own are suddenly shown in another. This would be extremely confusing to the average user who has no underlying comprehension of games, game-engines, and their mechanisms.
In a sense, we already provide a (not very user friendly) way to solve this issue. Any program can call the openmw executable directly (bypassing the launcher) and pass the --data and --data-local options. However, I would like to see a more user-friendly approach.
My suggestions:
- Rework the configuration file management, so the launcher loads individual configuration files per content-list profile. ** For example in launcher.cfg instead of a lot of [Profilename]/content=xyz.esp, there would only be a single line [Profilename]/config=[Profilename].cfg per content list profile.
- Rework the launcher UI to allow users to select data directories for a given content list profile, and only afterwards let them choose the mods (See attached mockup picture)
Note: Because this can cause real issues that are non-trivial to the average – non-developer – user, I reported this as a bug, even though it could be considered a feature request. I set this to low priority and target openmw-future, since this is clearly not all that relevant yet.
(RM-3431 from redmine: created on 2016-06-07 by Gijsbert ter Horst, , closed on 2018-04-16 by nobody)