Page 1 of 31

IceUI

Posted: 06 Jan 2007, 16:07
by MelTraX
If you want to download my other Lua Widgets, please go to spring.jobjol.nl.

I'm currently working on a GUI framework that makes development of GUI elements easier.

Current version available at spring.jobjol.nl.

If the updater doesn't work for you or you don't want to use it, you can always get the latest version from http://tinyurl.com/yqtpuk (7z) or http://tinyurl.com/36smzm (tar.gz).

Features of the framework:
  • Object-Oriented abstraction layer to design GUI elements.
  • Many pre-written GUI elements like textures, text, formatted numbers, team logos, checkboxes, buttons, health bars...
  • Each element can have Commands (mouse actions), a tooltip and a help text. They are automatically displayed when the cursor is over the element.
  • Windows can be moved and resized in Tweak-Mode (<CTRL>+<F11>).
  • The color of the windows can be adjusted in Tweak-Mode.
  • Lines are now sharp even if Anti-Aliasing is turned on.
  • A lot of cool stuff I can't think of atm. I'm too lazy to think of more..
Features of the GUI:
  • My old Resource Bar widget reworked with the framework. Resizeable and moveable. The indicators for the share level are still missing. Everything else is there. A click on the netto income (right of the bar) shows the "stall factor". That factor shows how much faster your builders would work if you wouldn't be stalling.
  • My old Tooltip widget with a special display of selected/hovered units.
  • Click on the tooltip switches between help and mouse actions tooltip.
  • My old Player Info widget with two new features: Left-clicking a player logo gives selected units to that player; middle-clicking goes to his commander. This window still needs some love..
  • Nearly feature-complete console (chat window) with message seperation and player logos. Middle-click on the console goes to the last point made by an ally.
  • The little camera switcher..
  • See the changelog for the cool new stuff ;)..
Current screenshot:

Image

Posted: 06 Jan 2007, 16:12
by quantum
Looks great! Can't wait to try it!

Posted: 06 Jan 2007, 16:25
by tombom
For me the panel doesn't look like the second screenshot :?

oh oops

I'd be interested in whatever other gui stuff other people have as well.

Posted: 06 Jan 2007, 16:31
by MelTraX
What does it look like? Perhaps you downloaded Ray's instead of mine?

Posted: 06 Jan 2007, 16:49
by tombom
MelTraX wrote:What does it look like? Perhaps you downloaded Ray's instead of mine?
Yes I did, hence the oh i'm stupid. I was sure it wasn't there before.

Thanks for the gui stuff, I was trying to do this when it came out but I couldn't work it out.

Posted: 06 Jan 2007, 16:49
by trepan
Yes, you can draw different colored boxes.

Checkout docs/lua_ui_interface.txt for some documentation (0.74b2).

http://trepan.bzflag.bz/spring/luaui_jan6.jpg

edit: detagged the image

Posted: 06 Jan 2007, 16:56
by LordMatt
My guess is that the file you modified was the work of trepan, chojin/napkin, and ray.
- Is there a list with all actions I can use?
Yes! (I forgot trepan's URL ^^). And trepan is the one to talk to about all your GUI/LUA questions, but I would hold off doing much more work until the next version is out (which will be soon ;)).

Some general GUI suggestions: There are huge ingame advantages to keeping everything that is used a lot on a single page in the left panel. The hidden commands you added aren't used that much. The kills box is better suited for a window that pops up if you click on a stats button, whereas I think the ally resources should be displayed in the upper right hand corner in a much more compact format (in the same form as the player's resources, i.e. bars instead of numbers). I wish I could load up OTA and take a screenshot of the ally's resources box that was part of the demo recorder, but I don't have OTA on my laptop and I'm a long way away from my desktop atm. :(

Posted: 06 Jan 2007, 16:58
by MelTraX
@trepan: So, that will be your new widget engine I suppose..

Thanks for the file.. Will help a lot..

We should really talk "in person" so we don't do both the same work.. Is the stuff you're doing in the SVN?

@Matt: Thanks for that list.. Could you be a bit more precise with what will (likely) change in the next version?

Posted: 06 Jan 2007, 17:25
by LordMatt
oo I just edited my post with more stuff. The easiest way to talk to trepan is to get on #sy at irc.quakenet.org. Trepan is doing the development, not me, but he has coded some more GUI widgets, like a allies resources widget and is making the widget engine.

Posted: 06 Jan 2007, 17:32
by MelTraX
Yeah.. Thanks to the two files you guys just showed me I came up with quite some ideas.. I'm pretty sure now I can do the resource bars I wanted to do..

I'll probably put the commands to the end of the list for now.. So that all build options are on the first page.. If I see it right, I should be able to do most of IceXuiks (sorry, can't remember the right spelling) GUI-design.. Then the commands would be seperated from the build options (as in OTA)..

I'm highly motivated right now (just like the 315 "new GUI guys" before) :P.. But I'd really like to talk to trepan first and he didn't answer in the #sy channel..

Quantum already suggested that the kills and econ should be seperated again (like Ray did).. And it should be no problem to assign the toggling of both to a hotkey..

As I said, this is just the beginning.. And thanks for all your feedback..

Posted: 06 Jan 2007, 17:39
by jcnossen

Posted: 06 Jan 2007, 17:53
by LordMatt
Please don't move buttons around just for the heck of it though. It can be a real pain if you're used to a certain location for something. What I suggest you do is come up with a layout design and post it here for comments. :-)

Posted: 06 Jan 2007, 17:54
by AF
Perhaps we should try and make basic panels that look like the ones in IceXuicks designs? That way we then just copy them and add in content.

Posted: 06 Jan 2007, 18:00
by MelTraX
well you probably know IceXuicks design.. I will try to implement as much as possible..

And I will update this thread whenever I alter the UI.. And I'm sure there will be enough flames if I do something wrong :P

Another question: Is it possible to save preferences between Spring-"Sessions"? I saw a function to read a file.. Can I write one, too? Or is there an interface to the Spring registry settings?

Posted: 07 Jan 2007, 12:15
by Zenka
MelTraX wrote:well you probably know IceXuicks design.. I will try to implement as much as possible..

And I will update this thread whenever I alter the UI.. And I'm sure there will be enough flames if I do something wrong :P
Well meny people really liked IceXuicks designes, so you will probably be cheered on every step.

Can the GUI be mod dependable? I can inmagine every mod would have a diffrent GUI.

Posted: 07 Jan 2007, 13:43
by MelTraX
I'm sure it will be mod controllable.. I will just build one, I guess.. There has been a discussion whether the mod or the user settings should overwrite everything else but it will probably be in the settings.. I have even seen a screenshot from trepan where he built an in-game selection..

Current status: I talked to trepan yesterday.. He's working hard to give the LuaUI interface more and more features.. I probably won't do anything until he releases his Lua files.. But I can't wait to start..

@trepan: I would really like to see a Lua <-> Spring settings interface.. So that I (or whoever) can build an in-game options menu.. I don't know if all options can take effect while in-game but at least some can.. Btw are the settings you can change with a command permanent? And I probably need some options myself so you don't have to adjust the GUI everytime you start the game..

Design Question: I've been thinking.. It should make a better looking UI if we don't stretch it to every resolution.. I know that's a nice feature and with the solid boxes it didn't cause much trouble but if we stretch images (likely with text on it) to fit the resolution, it will probably look messy.. One part why IceXuicks design looks that awesome is because it has been painted pixel by pixel..
I would rather make the resource indicators wider and add/substract build pics than stretching.. Another possiblity would be to make different versions of the GUI for different resolutions..
Now there are probably different opinions on this and I would like to hear the pros and cons I'm missing before I get started.. :-)

Posted: 09 Jan 2007, 20:54
by MelTraX
Since trepan made his widget engine public (SVN), I could get it to work and I have already made the first two widgets (see first post).. More will come..

Posted: 09 Jan 2007, 21:25
by Masse
MelTraX wrote:Since trepan made his widget engine public (SVN), I could get it to work and I have already made the first to widgets (see first post).. More will come..
YES please !

Posted: 09 Jan 2007, 22:41
by Zenka
MelTraX wrote:Since trepan made his widget engine public (SVN), I could get it to work and I have already made the first two widgets (see first post).. More will come..
I remembered I would cheer out loud at the day IceXuicks gesign would be realised. I have hope once more.

Re: My Lua Widgets (IceXuicks GUI design)

Posted: 09 Jan 2007, 22:48
by LordMatt
MelTraX wrote:
  • Testing.. I can't play the new version of Spring online yet :P..
Yes you can! If you're on later this evening we can test your GUI stuff plus some things trepan wants me to test.