Everything about development and the OpenMW source code.
User avatar
Site Admin
Posts: 1193
Joined: 05 Aug 2011, 22:21
Location: Wroclaw, Poland


Post by lgromanowski » 15 Aug 2011, 10:13

swick wrote: Just out of curiosity : why did you chose to use MyGUI? I like the idea of NaviLibrary ... y_Overview
and it seems compatible with ogre. It would make the gui tasks much easier, especially we don't have an experienced MyGUI developer.
Hircine wrote: well, i think i asked this same question, why not use a better/more documented library. Zini or someone else said that there is a fair amount tied into the gui system as it is and would need to be re-coded.

IMO if that library does what it says it can do, it makes it extremely easy to implement the gui and we SHOULD implement it.

so we would need someone to replace all current GUI code to work with Navi.

and everyone who is working on GUI tasks atm would have to switch over.

a lot of work, we would have to work out if its worth it.
Star-Demon wrote: MYgui is not very well-supported. Anything that isn't well-supported isn't helping us get things done.

I'm willing to say change it - but the fact is that we really need a very active volunteer in order to make that happen - and it undoes the work of contributors so far - not something I'd enjoy being responsible for.

Pretty much what Hircine said. I think if MYgui had some real bite and active involvement from its users and developers, it'd be a real contender to CEGUI. CEGUI is better simply because I can quickly google how to use it, and MYgui usually comes up dry.

That's all it comes down to for most people.
Star-Demon wrote: I'd also like to know how fast and efficient Navi is.
Ace (SWE) wrote: I can add that Navi is not the only web-based GUI library, you also have Awesomium ( that's chromium based for example.

I guess if enough able developers knew how to use the new GUI library then all it would take would be time.
jhooks1 wrote: Would it be possible to use Navi/CEGUI for the new gui components, and MyGUI for the old? Or is that a big no?
swick wrote: sry, did'nt read the whole thing:
The Navi Library is currently ONLY for Microsoft Visual C++ 8 SP1
I can add that Navi is not the only web-based GUI library, you also have Awesomium ( that's chromium based for example.
not opensource...

but i reeeealy would like to have an easier way to develope the gui...
athile wrote: Never used it, but have always been tempted to try out librocket.

It's hosted on github here: and is licensed under the MIT license.

Quotes taken from the main site:
  • "libRocket uses the time-tested open standards XHTML1.0 and CSS2.0 (while borrowing features from HTML5 and CSS3), and extends them with features suited towards real-time applications. Because of this, you don't have to learn a whole new proprietary technology like other packages in this middleware space."
  • "Cross platform architecture (Windows, Mac, Linux, iPhone, ...)."
  • "Abstracted interfaces for plugging in to any game engine (samples for OpenGL, DirectX and Ogre3d)."
Again, I've never used it so I can't say anything definitive about the library, but if anyone really were thinking of putting in the effort to switch OpenMW's GUI system, this might be worth investigating.
swick wrote: I've time over the summer holidays which begin in 2 weeks for me and I would definitly want to switch to another GUI system and libRocket looks very nice. If there is some plan for that I would like to focus on that.

@zinnschlag: We need your decision.
Zini wrote: Absolutely not in favour of changing GUI libraries. We would have to discard all the work that has been done already. And from what I read we would still end up with a library, that none of our current coders has much experience in.

I know MyGUI seems to be a bit hard to get into (documentation issues and such). But I am not aware of anything complicated in the MW GUI. Almost everything is basic windows, icons and text. That means once some of you have a good grip on how to handle these in MyGUI (which should be the case after you have implemented one or two windows), MyGUI should not slow you down much any more.
I really don't see how moving to a different library can give us better results or allow us to finish OpenMW 1.0 earlier.
Zini wrote: btw. over all this discussion I am not sure, if you all are aware of how much GUI work has already been done. We have:

- The stats-window (mostly, only missing a few stats)
- A part of the HUD
- The MessageBox
- Most of the Character Creation GUI (lots of windows!)
- Some code for the container GUI (very early stage)
- The NPC dialogue GUI (not interactive yet and only with dummy text and topics, but most of the layout issues should already have been addressed)
- The Console

At my count that is nearly half of the MW GUI. It would be a shame to let that all go to waste.

Edit: Forgot to list the console.
Hircine wrote: perhaps someone could fork & recode everything on their own accord to a GUI system that is well documented, supported and open-source.

The person(s) that would do this would have to not be busy with other aspects of the codebase & would have to re-implement everything we already have. (listed in Zini's previous post).

Yes, thats a lot of work.

CEGUI is more supported and by the looks well documented.
I think it would be a better replacement than the HTML ones.

also, CEGUI has tools to design the GUI and stuff.
Zini wrote:
The person(s) that would do this would have to not be busy with other aspects of the codebas
Not going to work. The skillset required is the same. If someone would work on a GUI-library change, this person's manpower would be lost for the main development line. Also, going down this route would mean we would have to stop all GUI coding. That's the main focus for 0.12.0 and it would throw the development completely of the track (especially since we already have problems with 0.11.0).

I know it is easy for me to say "stick with MyGUI", since I am not involved into this part of the coding effort. But unless the people who are doing the actual work are saying using MyGUI is not feasible, I don't see how we can justify changing GUI systems at this stage.
best regards,