First the relevant issues:
*
Modify ESX selector to handle new content file scheme
*
Editor: Adjust name/path of edited content files
*
Editor: Start Dialogue
These are the points we need to discuss/work on:
1. Profiles
There has been a lot of confusion about profiles. Several times people had problems with understanding what they are. That makes me think that maybe I chose the name for this feature poorly. Should we consider renaming it? "Named content stack" maybe? Or just "content stack"? Not sure if these names are much better. Suggestions welcome.
2. Overwritten profiles
When loading the launcher the master/plugin settings in openmw.cfg are lost. That is not good. I think the launcher should pick a matching profile (if one exists) or automatically create a new one (assuming there are any master/plugin settings in openmw.cfg at all).
3. Recent file list
We still need to discuss how to handle the recent file list in the start dialogue. The discussion has kinda come to an halt. I'll sum up my original idea here (slightly refined): The recent file list can be based on the profile feature. Since the content stack loaded by the launcher and OpenCS are always a profile, all we have to do is append it to the list. The question here is how we deal with changed profiles. That would make loading a recent file sometimes resulting in loading something else than the first time. That may be the desired behavior though. Or maybe not, in which case we need to do something about it.
One way to do that would be to make a copy of the profile on load and list this copy instead of the original (unless there is already a matching copy listed).
4. The new file scheme
This is the biggest part. I'll describe it once more for the sake of completeness: We will two new file types from now on (reminds me that we still need icons for them; completely forgot about that). These are .omwgame and .omwaddon. Every valid content stack consists of exactly one .omwgame file and 0 or more .omwaddon files.
Old format files are mapped automatically to the new onces. .esp to .omwaddon and .esm to .omwgame (if it does not depend on anything) or .omwaddon (otherwise). We basically just pretend that esx files are omwaddon or omwgame files (which they are, except for the name).
This requires several modifications:
4a. OpenMW
We need to replace the --master and --plugin switch with --game and --addon switches. Except for a rename and that we change --master/--game from 1 or more files to exactly 1 file nothing changes here.
4b. The ESX selector
That is the biggest change. We need to implement the mapping. And we need to redo the UI. The master list needs to be changed to a single selection scheme. I suggest a simple combo box, that is moved above the plugin/addon list.
4c. Saving in the editor
We have a problem when we load legacy format files for editing. The editor can not write these formats. Therefore on save a name change occurs, e.g. SomeRandomPlugin.esp -> SomeRandomPlugin.omwaddon. We need to communicate that to the user (and make sure we don't overwrite anything accidentally).
The question here is, should we handle this on load or on save? On load would be cleaner, but you might not always want to save after loading (when loading just for viewing and not for editing) and in this case we would bother the user needlessly.
Please note that actually saving is not implemented yet (and won't be for a while). Currently the editor is just pretending that is saves something. But that is not relevant for the problem at hand.
5. Usability
After working extensively on the OpenCS I got a lot of usability testing out of the ESX selector. And I found a problem. The dual selection scheme (file selected via a highlighted row and file selected via checkbox) is confusing. That was already a problem in the old CS. I ran several times into a situation where I selected a row and then was confused because the file wouldn't be loaded (even though I know how it works). IMHO the dual selection scheme is exceptionally counter-intuitive and we should try to find an alternative.