omwlauncher bugs

Everything about development and the OpenMW source code.
User avatar
Zini
Posts: 5536
Joined: 06 Aug 2011, 15:16

Re: omwlauncher bugs

Post by Zini » 27 Dec 2014, 13:08

Alight then. Here is the list of issues relevant to the launcher:

* OpenMW installation wizard crashes...
* Please, change default click behavior in OpenMW Launchers Data Files list
* The launcher resets any alterations you´ve made in the mod list order
* Content Lists in openmw.cfg are overwritten
* Rename "profile" to "content list"

Let's focus on the content selector for now. This is a component used both in the launcher and in OpenCS. The core problem I am seeing here is this: We are packing too much functionality into too little widgets. This is already an issue and it will only get worse once we add missing functionality (e.g. better conflict detection, more sorting options) and put the selector to new uses in OpenCS (e.g. merging).

Therefore I propose a new design:
- The game file selector stays unchanged (.omwgame).
- Two panels listing content files (.omwaddon).
- Both panels support a multi-selection model.
- Both panels have a context-menu.
- Two arrow buttons pointing left and right between these panels (arranged vertically to save space)

Left panel:
- Contains a list of content files that are not in use (i.e. won't be loaded when OpenMW is run)
- Kept auto-sorted. User can not re-order content files
- Content menu item "Activate": Move selected files from the left panel to the right and try to sort them in. This will also move any dependencies of the selected files to the right panel.
- The arrow pointing right has the same function as the "Activate" item.
- Double clicking a content file will performs the same actions as "Activate" with only the clicked file selected.
- Context menu item "Activate (no dependencies)": Same as "Activate", but do not automatically move dependencies. The average OpenMW user will not need this feature, but it will be useful in OpenCS and we should generally keep it to give the user maximum control.
- The user can also drag and drop content files from the left to the right panel. This will insert the files at the point where the drop ends, regardless of dependency requirements (doing otherwise would be confusing and we will have a feature in place that deals with dependency issues, see below).
- Context menu item "Show active files": This is a toggle. When switched on, the left panel includes the active content files, but has them grayed out. This allows the user to see the natural order of all content files without having to activate them first.

Right panel:
- Contains a list of content files that are in use (i.e. will be loaded when OpenMW is run)
- Not auto-sorted.
- User can re-order files via drag and drop.
- Content menu item "Deactivate": Move selected files from the right panel to the left. This will also move any content file that depends on the moved content files.
- The arrow pointing left has the same function as the "Deactivate" item.
- Double clicking a content file will performs the same actions as "Deactivate" with only the clicked file selected.
- Content menu item "Deactivate (no dependecies)": Same as "Deactivate", but do not automatically move dependencies.
- Context menu items "Down", "Up", "Top", "Bottom": Move selected items in the list accordingly (one down, one up, top, bottom).
- Content files that do not have their dependencies fulfilled (either because said dependencies are in the left panel or they are further down in the right panel or they are missing completely) need to be marked up (red colour or something) and the tooltip should list the missing dependencies.
- Context menu item "Sort": Sorts the panel with the same algorithm used in the left panel.

User avatar
Gramblosh
Posts: 69
Joined: 30 Sep 2014, 20:15
Location: Germany
Contact:

Re: omwlauncher bugs

Post by Gramblosh » 27 Dec 2014, 17:45

Why mix different use cases and stuff everything into one interface instead of having different interfaces that do just one task really good? It's just making things more complicated than they have to be when starting to mix things

For load order management and, subsequently, the content selection for the game (NOT the CS) I would suggest you have a closer look at Wrye (M|B|Fl)ashs plugin manager: a single, sortable list of files, with drag&drop functionality and check boxes to (de-)activate. It's a know design that was tested over years and I never met someone who did not manage to use it correctly. Even when getting close to the maximum of 255 files it still is pretty well usable and I don't think games running in OpenMW will exceed this number a lot even when/if technically possible. (And, yes, having like 100 files or more is a typical use case, at least according to my experience over the last couple of years supporting users that try to install mods in Oblivion, Morrowind and sometimes Fallout 3.) In this Interface you could also add functions like sorting by date (useful for people wanting to use their usual Morrowind load order in OpenMW), dependencies or other rules, I could even imagine a BOSS/mlox like function. This could also support profiles that allow different load lists, savegames, config files, or even different data sources.

A two pane design would be interesting when you select very few files out of many for loading in the CS or perform tasks such a merging, if integrated correctly (respecting load order, keeping track of dependencies, offering access to different profiles, etc.), there wouldn't be much need for sorting files here, so the mechanism can be kept pretty simple (drag&drop should be enough).

dteviot
Posts: 144
Joined: 17 Dec 2014, 20:29

Re: omwlauncher bugs

Post by dteviot » 27 Dec 2014, 21:15

Forgive my stupidity, but can you please tell me what the sort algorithm for the left list Kept auto-sorted. User can not re-order content files is? As it can be applied to the right list, I'm assuming it's dependency order.

User avatar
sjek
Posts: 430
Joined: 22 Nov 2014, 10:51

Re: omwlauncher bugs

Post by sjek » 27 Dec 2014, 23:36

as for the left panel if it's like vanilla it would go with creation dates. but as launcher already goes with alphabetical order that would be the most reasonable by now. and it's kinda intuitive and fast to look.

by the extra spaces and such is the window size how strict? thinking by 800*600 resolution and such.

-----
i think i link these to here as getting these all covered with pictures would make a long single tread and reference proplem maybe or in later time. all seem to follow same design principles.

http://wryemusings.com/#WryeMash 0.84 version readme. that dl link was always kinda under the rock and doupt that almost everybody have their own version of python experimenting. that savegame cleaning has been the most handiest feature for me in vanilla game. other ones don't have kinda crasped for what for they are.... but anyway good one.

skyrim and oblivion have same wrye bash it seems (only heard of utilities time to time basically)

http://tesfans.org/guides/wrye%20bash/d ... eadme.html kinda detailed description of ui.

https://github.com/wrye-bash/wrye-bash on github and sourceforge. python gaming also on this one.

also as standalone in skyrim nexus http://www.nexusmods.com/skyrim/mods/1840/? .. as over 2 mb needs that account. seems at first screenshot glance kinda neat build.

flash is for fallout new vegas http://www.nexusmods.com/newvegas/mods/35003/ different branch from bash it have been and in time updating underway.

designing takes time of course and it's open source so OMCP is possible : )

that barebone load order mods could be handy for testing purposes although screenshots are neat and bump into mapping problem would guess. scripting, testing and other handy stuff what is left out temporarily could be made available to some kind of readme or point to wiki.
"life is crazy"
"craziness has beauty which only crazies understand" some movie clip in the head.
https://wiki.openmw.org/index.php?title=Testing

onionland
Posts: 61
Joined: 29 Jul 2014, 00:43

Re: omwlauncher bugs

Post by onionland » 27 Dec 2014, 23:53

Personally I am in support of Zini's two panel design, although I would rather that the default action for moving an add-on did not move its dependencies as well.
I absolutely despise menus that move things without any clear indication of doing so.

User avatar
dEnigma
Posts: 248
Joined: 24 Nov 2013, 21:24
Location: Hla Oad

Re: omwlauncher bugs

Post by dEnigma » 28 Dec 2014, 10:50

Gramblosh wrote:Even when getting close to the maximum of 255 files it still is pretty well usable and I don't think games running in OpenMW will exceed this number a lot even when/if technically possible.
OpenMW already supports having more than 255 mod files, just so you know. But I also don't think there will be a lot of people who actually make use of that.
Some pirates achieved immortality by great deeds of cruelty or derring-do. Some achieved immortality by amassing great wealth. But the captain had long ago decided that he would, on the whole, prefer to achieve immortality by not dying

User avatar
Zini
Posts: 5536
Joined: 06 Aug 2011, 15:16

Re: omwlauncher bugs

Post by Zini » 28 Dec 2014, 11:08

@Gramblosh: We don't want separate UIs for the launcher and OpenCS. The tasks the content selector performs in these are similar enough that having separate UIs would both confuse the user and result in additional maintenance hassle.
Also, I do not see why a two panel design would scale worse than a one panel design.

@dteviot: I think currently we only consider dependencies. But I am not entirely sure. Could be that we are also using time stamps as a secondary criteria (in cases where we can't get a specific order based on dependency information).

sjek mentioned that we are going with alphabetic order. I wasn't aware of that, but it is clearly nonsense.

@onionland: Maybe. I was considering this option. Guess we could try both versions and see what works better.

User avatar
sjek
Posts: 430
Joined: 22 Nov 2014, 10:51

Re: omwlauncher bugs

Post by sjek » 28 Dec 2014, 13:17

viewtopic.php?f=6&t=1114&p=10650

tested it with qt barrel and weaponfix esp's and the filetime doesn't effect as names are in alphadetical as in esm and esp stacks.
made dependencies with wrye mash
qt depends on wpf --> wpf loads first
wpf depends on qt --> wpf is as later as name gives (windows xp, 0.34)

as of done little read ups....
left panel - Context menu item "Show active files": This is a toggle. When switched on, the left panel includes the active content files, but has them grayed out. This allows the user to see the natural order of all content files without having to activate them first.


wrye and others are already excellent utilities but for a totally new player and such this would be a good starting point. maybe with some color legends in same windows or something althought can live with going back and worth by possibly binding the hotkey. (popup done in launcher)
- Content files that do not have their dependencies fulfilled (either because said dependencies are in the left panel or they are further down in the right panel or they are missing completely) need to be marked up (red colour or something) and the tooltip should list the missing dependencies.
- Context menu item "Sort": Sorts the panel with the same algorithm used in the left panel.
that basically make no need for the upper hotkey workaround.
left panel - Context menu item "Activate (no dependencies)": Same as "Activate", but do not automatically move dependencies. The average OpenMW user will not need this feature, but it will be useful in OpenCS and we should generally keep it to give the user maximum control.
this one basically ease the pain when dealing with load order.
right panel - User can re-order files via drag and drop.
on the ease of use and building mods tree it would make it lot easier to have the some kind of color legend in dependencies as the files are been moved althought that content menu item: sort is making big part of the job.

for the over 200 mods and separate installers it comes handy when doing overhauls like morrowind rebirth. the game mechanics overhaul would maybe be better in possible opencs side merging function as there's probaply overslapping scripts, gmst's and other vanilla engine tedious tasks ?

savegames are already in their own format so that's possible to keep in good shape reckon 8-)

edit: and apparently dependencies are already on the pop up window ............ :roll:
"life is crazy"
"craziness has beauty which only crazies understand" some movie clip in the head.
https://wiki.openmw.org/index.php?title=Testing

dteviot
Posts: 144
Joined: 17 Dec 2014, 20:29

Re: omwlauncher bugs

Post by dteviot » 28 Dec 2014, 22:30

I just had a crazy idea.
Currently this dialog has a single list. However, the contol is a grid,with only a single column.
But, what if a "load order" column was added?
Click on the load order column header and the grid shows the files in load order.
Click on the "name" column and grid sorts by alphabetic name.
Possibly also have an "active" column which shows the checkbox.

May be worth trying this anyway as would have much the same logic that is needed for the two list option. But my be easier to implement.

User avatar
Gramblosh
Posts: 69
Joined: 30 Sep 2014, 20:15
Location: Germany
Contact:

Re: omwlauncher bugs

Post by Gramblosh » 28 Dec 2014, 22:54

dteviot wrote:I just had a crazy idea.
Currently this dialog has a single list. However, the contol is a grid,with only a single column.
But, what if a "load order" column was added?
Click on the load order column header and the grid shows the files in load order.
Click on the "name" column and grid sorts by alphabetic name.
Possibly also have an "active" column which shows the checkbox.
That idea is not crazy at all, actually, it is been used like this for years, cause it would be exactly like Wrye Bash/Mash/Flash (just that people don't get confused, it is basically the same program just adjusted for different Bethesda games Oblivion, Morrowind, Fallout) does it
http://wryemusings.com/Wrye%20Bash.html#ModsTab
and would render a second pane entirely... uhm... useless... just add drag&drop, different colors for active, inactive plugins or those missing dependencies to your idea and your done.

Post Reply