The New GUI - Page 7

The New GUI

Discuss the source code and development of Spring Engine in general from a technical point of view. Patches go here too.

Moderator: Moderators

Post Reply
User avatar
jcnossen
Former Engine Dev
Posts: 2440
Joined: 05 Jun 2005, 19:13

Post by jcnossen »

Wow, one moment you think there is no progress, a few days later there are 3 people working on it. :shock:
User avatar
BvDorp
Posts: 439
Joined: 14 Oct 2005, 12:09

Post by BvDorp »

Great work mightyzog !! Did you manage to upload a test version? And can you show the list of stuff you're working on? What are the advantages it has relatively to the old GUI?

ILMTitan, how's ur work? Seems to me that this is a great help to Domifheus' work!

This is so awesome :P :P :lol:
mightyzog
Posts: 2
Joined: 26 May 2006, 22:41

Post by mightyzog »

All right, here is a test version:

http://www.cybergoon.com/tom/spring/new ... -07-17.zip

backup your spring.exe and extract this in there, it contains:

- spring.exe
- a new folder named 'guis' with a 'standard.tdf' and 'bindings.tdf' file.

standard.tdf describes the gui, you can modify this to modify the layout of the gui OR you can middle-mouse click on the gui elements in game and move them around. If you middle mouse click near the edges of some elements, it resizes them (like mini map). It doesn't remember your settings once you quit tho.

bindings.tdf contains keybindings. uikeys.txt is pretty much ignored that I've seen. One of the problems was the event handling scheme was a bit convoluted. For example, if you hit 'a' for attack, both right mouse and left mouse would attack when you clicked, rather than right mouse cancel. I've tried to fix that by adding the concept of contexts into the bindings.tdf file. It seems to work ok, but I've yet to apply it to all the keys that need it.

Here is a list of previously posted things that were wrong that I've fixed, or that I've discovered were already working:

FIXED:

- in map drawing didn't work

- shift doesn't speed up scrolling (mouse or arrow)

- group creation doesn't work

- speed up via + doesn't work

- move doesn't work

- speed up/down via +/- don't work -- you can add :
+_release=speedup;
-_release=slowdown;
in binding.tdf

- "stockpiling" nukes gives no feedback of how many are in queue, nor shows it how much are already
finished.

- minimap on shoretoshore warped,and no way to correct it.

- on the Keypad the + and - keys don't work

- I wasn't able to get in fps mode ( controling a unit )

- When giving a build que with shift and then releasing shift won't stop the queing, so i hav to pr
ss Esc. Which is dangerous cause Shift+esc = exit. So releasing shift should end the build que..

- alt bound to show healthbar

- shift+1=build menu shift+2=orders menu

UNVERIFIED/STILL BROKEN:
(list of things that are still broken or I have not tried to verify)

- left UI bar gets mashed at resolutions at or below 1024x768?

- speed move hangs a bit when changing directions with arrow keys

- mouse dragging canceling doesn't work

- drag building canceling doesn't work well

- wait command doesn't work

- labels in 'draw on map command' doesn't work

- auto-switch to 'orders' menu for units that can't build'

- keybindings for build/orders menu don't work properly? build/orders reversed?

- ?Mainly with group/groupai, all groups should default to the default ai instead central build like
it do now.
- ?Also it seems impossible to change the ai for a hotkey group (1-9) which makes them useless combi
ned with the above.
- ?The new gui also doesnt seem to render CMDTYPE_ICON_FRONT commands correctly.

- Overlays showing strange stuff on minimap (also shoretoshore, maybe a problem with very-non-square
maps?)

- The new buildmenu is very cool, but it would be nice to also at least show the basic order buttons
, too. At 1280x1024, the building options of even the most verbose factories dont fill half the bar.
..

- even if not, make the list autoselect orders when selecting a non-builder unit. Right now, after b
uilding something, you need to switch back to "orders" per hand when you select a military unit.

- The top right feature of selected units rules! But even better would be selecting units by clickin
g on the that list! (like selecting the whole area where the planes landed, and clicking on the braw
ler in the top right to select the 35 brawlers amoung the bulk, for example)

- shift doesn't accelerate scrolling


- There is a GUI inconsitence when building via the space menue: if you select a unit build ONE buil
ding, and want to deselect the builder, you have to press the left mouse buttom.
But if you queue building via shift, then after positioning the last building, you have to press the
RIGHT button the cancel the still active template. If you press the left button (as you would norma
lly do to deselect), the builder MOVES to the clicked location (although left click doesnt give a mo
ve order)

- F6 shows strength of enemy units

- wreckage/feature tooltips - show WHAT is being ressurected

- When nanostalling, i still can't see the ammount of metal/energy i'm trying to pull, i can only se
e what i'm actually pulling

- Screenshots aren't numbered properly, they are numbered screen1.jpg, screen2.jpg and so on. It sho
uld be like screen001.jpg screen002.jpg.

here is diff:
http://www.cybergoon.com/tom/spring/diff-2006-07-17.out

have fun! :-)
User avatar
NOiZE
Balanced Annihilation Developer
Posts: 3984
Joined: 28 Apr 2005, 19:29

Post by NOiZE »

Impressive still some work to be done but already impresive!
Domipheus
Spring Developer
Posts: 20
Joined: 10 Jul 2006, 22:14

Post by Domipheus »

Wow, nice!

Been doing a bit more work on the cegui stuff. It's a pain. CEGUI has to be one of the worst documented projects ive seen, which is slowing me down somewhat. It is good to see some of the widgets in that new_gui look decent, I may use some of that code in implementing custom cegui ones :)
Domipheus
Spring Developer
Posts: 20
Joined: 10 Jul 2006, 22:14

Post by Domipheus »

I just noticed the endgame screen.

Graphs!!
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

we have that already.
.MJJNL.
Posts: 105
Joined: 18 Apr 2006, 18:14

Post by .MJJNL. »

oh i like it just i thing could you make that are spaces till an another build pic and maby bigger build pics then its good
Torrasque
Posts: 1022
Joined: 05 Oct 2004, 23:55

Post by Torrasque »

.MJJNL. wrote:oh i like it just i thing could you make that are spaces till an another build pic and maby bigger build pics then its good
In fact, everybody can change them as they like in standard.tdf.

You can for exemple have 3 build pic per row, choose to display or not a button, etc...
User avatar
Weaver
Posts: 644
Joined: 07 Jul 2005, 21:15

Post by Weaver »

Is this just the old new GUI or is there more with this one? It looks like the button I did a year ago still work with this one.
http://taspring.clan-sy.com/phpbb/viewt ... 4639#24639
User avatar
LOrDo
Posts: 1154
Joined: 27 Feb 2006, 00:21

Post by LOrDo »

IceXuick has already made a GUI concept. And tbh, its WAY better then this. Mabye you 2 should work together?
User avatar
BvDorp
Posts: 439
Joined: 14 Oct 2005, 12:09

Post by BvDorp »

this is just about the 'old-new' GUI, Ice's design is to be made in CEGUI and that's somewhat further in the process of making this new CEGUI GUI. I like the progress that's finally showing here! Keep up the good work!
User avatar
LOrDo
Posts: 1154
Joined: 27 Feb 2006, 00:21

Post by LOrDo »

Well, this definatly needs some work, right now the Old GUI is better. While this may look better, you need to work on some gameplay issues, like the right clicking of the map to go to a certain spot, and the easy access of buttons.
Domipheus
Spring Developer
Posts: 20
Joined: 10 Jul 2006, 22:14

Post by Domipheus »

Hey peeps,

CEGUI is annoying, period. The documentation sucks, and I am spending more time figuring out how to use cegui than actually putting it into spring, nevertheless, I am making slow steady progress.

I'll have a screen of a resource bar in spring done in cegui tommorow (saturday). I thought it would be a decent starting point. The skin is not Ice's tho I am working on that (*mumbles something about cegui not having good enough skinning info*).

Soz for it taking so long, but yeah I'm not happy about it either :)
User avatar
SinbadEV
Posts: 6475
Joined: 02 May 2005, 03:56

Post by SinbadEV »

Keep up the Good work, do not become discouraged, when we have a beautiful GUI the world will come to our doorstep.
User avatar
clericvash
Posts: 1394
Joined: 05 Oct 2004, 01:05

Post by clericvash »

SinbadEV wrote:Keep up the Good work, do not become discouraged, when we have a beautiful GUI the world will come to our doorstep.
And we will be a step closer to world domination!
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

500 cookies and a golden ticket to the first person who makes a command sidebar with buttons and build pics in CEGUI, that is usable and skinnable.
Domipheus
Spring Developer
Posts: 20
Joined: 10 Jul 2006, 22:14

Post by Domipheus »

Image

Its a start, calculations for the +/- difference are off but it's a start...
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

Shouldnt the +/- difference just be income - usage? If you're calculating it any other way beware, things arent as they seem in the code. For example the current GUI updates every 32 frames (30 frames per sec, hence caydr's magic nubmer is 30/32)..
Domipheus
Spring Developer
Posts: 20
Joined: 10 Jul 2006, 22:14

Post by Domipheus »

in Ice's concept he has the usages and the expendature, but at the end of each bar had a dynamic number, red or green, which you could see easily from whether or not you were 'in the red' as it were resource wise.


Any how, the numbers are all fixed now. It's far from finished dont worry :)
Image

When I get some more gfx from Ice i will try to get the skinning etc up and running, also, i'll look into fonts, as they are obviously a cause for concern in relation to resolution.

For those who are interested, This stuff is actually just 'on top' of the old gui stuff, in that, the cegui layout is defined in xml files (and so can be easily edited) and then in the old gui classes, instead of doing the opengl drawing etc there, we call into cegui sending it information to some named elements, such as "ResourceBar.Metal.Income".

i.e., all I do now to set the metal income is this:
CEGUI::DefaultWindow* metalIncome = (CEGUI::DefaultWindow*)guiWindowManager.getWindow("ResourceBar.Metal.Income");
metalIncome->setText(FloatToSmallString(gs->Team(gu->myTeam)->oldMetalIncome).c_str());

with guiWindowManager being the CEGUI window management singleton.
Post Reply

Return to “Engine”