Jump to content

[Looking for help] Let build a UI!

Recommended Posts


This is a hard post for me to make, I really dislike releasing code that isn't done and polished ( as people will inevitable judge your ability by the code ) on the other hand I've had to realize that if I do not then this will be another entry on my dead project pile - and I do believe that the community could benefit from it.. once it's in a more presentable shape at any rate.


For some time now I've been working on porting myGUI to Leadwerks, or well honestly "working" is a bit of a misnomer as according to my version software I've not done anything use full for 5 weeks sad.png


As somebody ( i forget who ) once said; The hardest part of a any project is finishing it.


And that's very much the issue here, I've done all the challenging/fun bits and now there is "just" the finishing it left, so what needs to be done?



Current state of the UI



  • The C++ binding is 90% there
    • ​RTT is missing, but should be trivial
    • resource paths from files specified in XML files works but needs more thought (current implementation is guessing where the files are)
    • comments may in places be in Danish (woops)
    • Input handling uses standard leadwerks key inputs, which is less that satisfactory
    • leak detection, it's been a few years since I've last used c++ ( or any unmanaged language ) so I'm quite paranoid about leaks

    [*]Lua binding lacks real world test to see what is needed

    [*]Automatic event binding is not yet supporting all widget types ( bascially just a whole lot of typing )

    [*]Text labels seems to bleed through overlapping windows ( apparently because your supposed to have them on different layers and the demo does not do this - myGUI is still new to me as well wink.png )

    [*]Switching between mouse look and cursor mode needs to be standardized ( currently relying on a modified fpsplayer )

    [*]Linux only

    • everything *should* work cross-platform but I do not currently have a OpenGL 4 windows machine ( my old media center is a fusion e450 which should in theory be OpenGL 4 compatible - so I may install windows on that at some point )
    • if anyone want's to try it out on windows I can guide them through the cmake settings required.

Why My GUI?

  • The default skin looks nice
  • It's still maintained
  • It has an agreeable license
  • The developers have made a host of tools to actually work with the gui - you can find pre-compiled binaries for windows here ( works well with wine, or you can compile them on linux )
    • ​Skin creation tool
    • Layout tool
    • Font map tool ( but you can also use true type font's directly )
    • Widget creation tool
    • etc

    [*]It's well documented http://mygui.info/docs/index.html


What's required in order to participate?


At least Leadwerks license and a willingness to contribute, beyond that experience with any of the following is a nice bonus

  • C++
  • Mercurial
  • Lua
  • valgrind
  • "distributed" collaboration
  • bitbucket



The ultimate goal is to provide a royalty free, free to use UI library to any and all Leadwerks users



Licensing and commercial use

myGUI is licensed under MIT



but some of the companion libs have additional licenses, none of which preclude commercial/closed source use. A attribution template that can be copy/pasted into your games 'credit' section is planned.


How can I participate?


Assuming that I at this point sold you on the idea, shoot me a pm or reply here introducing your self and I'll add you to the bitbucket repository and help you get it working on your machine.


(I've no idea how to make a publicly readonly repo there, and I'd rather not enable everybody writing to it all willy nilly)


Keep in mind that as a working family father I've only about 2-6 hours / week of 'me' time so there may be some lag in replies but I'll try to be as quick about it as possible

Share this post

Link to post

Very nice, great move to share it. In my opinion this has the potential to be picked up and maybe become the official Leadwerks GUI solution.

Share this post

Link to post

Seems to be a lot of interest in this, but very few people want to actually contribute - hopefully by making the code publicly available that may change




note this is currently an entire leadwerks project not just the library!


only the code::block (linux) project is set up, for windows you will need to follow the steps in the wiki and adapt them to windows studio.


This getting started file should give you an idea of where the new code lives and how to add it to your own projects.


The most valuable feed back at this time would be telling me of your failures/succes when using it either in the demo project or your own.


If your interested in adding to the wiki or fixing/adding code send me your email or bitbucket account name and I'll add you ( tho I think there is a limit to how many I can add ).

Share this post

Link to post

This looks pretty good. Do they have a multi-column list, for displaying servers?

Share this post

Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...