-
Notifications
You must be signed in to change notification settings - Fork 163
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support openmw file types #1994
base: master
Are you sure you want to change the base?
Conversation
I have mixed feelings about the general approach taken here, hence not doing this myself years ago. The most obvious is that there are a lot of good reasons for more of ESP management to be moved to plugins, like ESL only being a thing for the later games, and plenty of games supported via the basic_games plugins having something that kind of maps onto ESP files and which could be managed more directly.
So far, but
isn't exactly true.
That's not something that can be taken as a fact. As a mod manager, this is the kind of thing MO2 should deal with if it's at all feasible. OpenMW takes a hardline stance on things where a mod manager shouldn't, and it's much more reasonable for a mod manager to be full of helpful heuristic-based warnings that aren't necessarily always right, but give an idea of what should be investigated when things get weird, or save several clicks on average, as long as there's an option to ignore it when you know better. As a bodge, it should be feasible to add an
OpenMW isn't aiming to support mods for Cyberpunk 2077, which is a game that people manage through MO2. Generally, we want to be migrating as much stuff as possible to be per-game. All the BGS games extend a common base class, so ideally, all of this would be handled in game_gambryo as that's the thing that maps onto OpenMW's goals.
This PR doesn't do anything with BSAs and doesn't refer to any of the issues about BSAs, so this isn't relevant. #1609 is just about the OpenMW-specific content files.
This is discussed in #1692. MGE XE keeps groundcover files in a separate INI, so we just need to make that INI one of the ones MO2 deals with and stick groundcover files in there |
I really brought up the similarities between the two formats just to explain they're used interchangeably and the extension isn't necessarily reliable. The way I really should have phrased:
Is maybe more like, "If the file extension specifically is not reliable then trying to distinguish between the two is so overly complex as to be a waste of time and not really work in any reliable way". But it's definitely a more sane approach to expect that it be. We're already at a point where they can break due to either usage of Lua records. I'm unfortunately not very well-equipped to work on MO2 at the moment, but I'll do what I can with it. It seems like your first point is suggesting a larger refactor wherein the bethesda-specific code is removed from the main windows and migrated into Actually from what I've seen of that repo I could probably close both of my PRs and simply apply the changes there, but there's at least three places that mention supporting plugins and two that mention supported directories, so it's a bit confusing as to what may work or not. |
As I said, mod managers always live in the grey area. Checks don't need to be perfect, just helpful on average, and possible to dismiss when they're potentially wrong. As heuristics go, the file extension is actually pretty good. |
Also since OpenMW 0.48 (https://openmw.org/2023/openmw-0-48-0-released/) there's an Lua scripting API, so this means there's now a definite requirement for it to have better support. This is due to its new scripting API and system not being supported in the Morrowind game when it is vanilla. Also there's been several several enhancements to shaders and/or lighting which isn't in the vanilla Morrowind. These lighting enhancements were preceded by the new lighting system which was introduced for version 0.47 of OpenMW (https://openmw.org/2021/openmw-0-47-0-released/). Anyway the OpenMW game is compiled as "openmw.exe" under Windows. Other people please chime in on how it is named on MacOS and Linux. The other file types can be handled with OpenMW having its own option in ModOrganizer thus when it encounters these above data files it can, be ready for them without too much worrying about the vanilla Morrowind as it won't be in the same section anymore. |
The additions via the Lua API were a major driver in me originally creating this. That in itself really changes things, though. Scripters are slowly getting into the habit of including arbitrary file types alongside their mods. I can point to cases which use YAML, JSON, and CSV files. This is just the beginning, though, as OpenMW allows modders byte-level access to any files located in the VFS at boot time. It could possibly be argued that the entire concept of valid file extensions is almost completely invalidated by this. In *nixes openmw binary is build as Tend to agree the ideal approach is to treat openmw as its own game. That's not really a perfect solution, but, at such time as original openmw titles are coming out, they could also justifiably be given their own game option. I believe MO2's profiles option can also handle openmw's goals of supporting later Beth titles quite handily. treating it as its own game would also (hopefully?) facilitate referring to the proper, useful, openmw.cfg, instead of the vestigial morrowind.ini OpenMW users can't do anything with. |
All this (or direct analogues) is true of mods for the later BGS games. It's why we've got lots of directories like
I strongly disagree.
So I don't think there are any advantages of OpenMW having its own game plugin, but do think there are disadvantages. The good thing is that if I'm wrong, and everything relevant gets moved into plugins like I'm pushing for, then another plugin can be made that does treat OpenMW as its own game, and people can pick between them.
I'd consider these two things to be orthogonal. The two existing exporters show that editing |
Partial resolution for MO2 #1609
Regarding points brought up in this issue:
While the vanilla engine DOES break when feeding it omwaddons, this is primarily caused by the naming convention used. Many omwaddons work perfectly fine in Morrowind.exe when renamed to ESP. Additionally, this is a very common practice on the part of users. TESCS and OpenMW-CS do not create plugins which are distinctive enough for MO2 to distinguish between the two using anything beyond the name. Of course, we know that the file extension is not at all a reliable means to distinguish between the two. Realistically, there is not one, because omwaddons are intended to be nearly the exact same. Additionally, there are proven cases of mods being created as ESP using TESCS and then renamed to omwaddon as well. Some mods have been created as omwaddon and published under the original format.
Also, these:
MOMW Patches
Oh No Stolen Reports
The simple fact of the matter is that MO2 can't take responsibility for this, and the user should understand that the mod they are using is not supported in vanilla. This is universally explained by the author in some capacity or another.
Additional references:
Ashlander Architect
Morrowland Uncapped Attributes
Due to OpenMW goals, supported file types are added in the global context and not the per-game one. Additionally,
omwgame
files are explicitly not supported by design as there simply are none and would be an entirely different game with its own instance and Nexus category. Since none exist, there's no way to begin an implementation of this. Omwgame should be supported at such a time as there is an omwgame to support.Activatable BSA files are not a real feature anybody in the Morrowind community needs or wants. While, historically, the main use case for TES3 BSA files has been the Tamriel Rebuilt project, they no longer ship with BSAs. Creators tend not to use them because it complicates the process of creating mods, they don't support all file types used by TES3, MO2 does not support them, and people constantly mess up registering them.
Additionally, since OpenMW supports later titles (sort of) and their associated iteration of BSA files, this will cause additional compatibility problems with every game. You could feed New Vegas or Morrowind an SSE-era compressed BSA file and it will naturally not work. There's no real reason to put any effort into this, as it is just going to complicate the codebase for a feature literally nobody is asking for at this point in time.
This PR does not touch groundcover plugins. I do not have a thorough proposal for this at this time. However, I think it is best to avoid cluttering the main plugin list with additional fields that are morrowind-specific, so perhaps a right-click option
Mark as Groundcover
or something to that effect can be added which exporters hook into. I don't think there's really a nice way to handle that for both engines unless a check specifically for MGEXEgui.exe is added.Edited for clarity & additional sources