Questions on what CEGUI can do for an MMOG
Posted: Tue Aug 15, 2006 03:51
Hi,
I'd like some advice on how to implement a few things using CEGUI, that happens to be for an MMOG. My needs are complex and what I want to know is which parts of this can CEGUI already do, and which parts can it not do.
I apologize in advance if this is a long post.
Here's the 6 things I need to implement using CEGUI:
1. Chat window:
Displays a list of messages, prefixed by the player's name for each new line. Handles word wrapping. The newest message displays at the bottom. If a word cannot be wrapped, it is split
If I got the following messages in the following order:
1. Hello World. 2. This is a very long line of text that scrolls off the screen. 3. <Blank line> 4. Bob sucks 5. aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
The output in the chat window should be
PlayerA> Hello world
PlayerB> This is a very long line of text
PlayerB> that scrolls off the screen.
PlayerA>
PlayerA> Bob sucks
PlayerA> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
PlayerA> aaaaa
Furthermore, the chat window is limited to n lines of text. If a line of text (including a line that was wrapped) causes the number of lines to go over n, those lines are faded out and deleted after some threshold m lines of text is in the buffer.
2. Console input bar:
A console bar which allows the user to enter a single line of input. If this line is longer than the screen, the line is scrolled, rather than wrapped.
3. Chat input frame
User can enter lines of text. Lines of text are wrapped. The background image behind the text input increases in size to match the number of lines entered.
4. Network statistics graphs
Ability to display a bar graph and line graph
5. Server browser table
A table of elements with n columns and m rows. Each column has a clickable header. (I'm pretty sure CEGUI can do this)
6. Buttons with animated textures.
Self-explanitory
Now if CEGUI cannot do these thing above, I can do it myself as long as I have two basic functions:
Text wrapping and scrolling:
1. To have CEGUI wrap a line of text given a particular x coordinate and resolution and tell me how many pixels high the resulting line(s) are.
2. To have CEGUI tell me how many pixels long a line of text is so I can do the scrolling myself.
These last two requirements are simple so I imagine CEGUI can do it, but I want to make sure.
Thanks for any answers!
I'd like some advice on how to implement a few things using CEGUI, that happens to be for an MMOG. My needs are complex and what I want to know is which parts of this can CEGUI already do, and which parts can it not do.
I apologize in advance if this is a long post.
Here's the 6 things I need to implement using CEGUI:
1. Chat window:
Displays a list of messages, prefixed by the player's name for each new line. Handles word wrapping. The newest message displays at the bottom. If a word cannot be wrapped, it is split
If I got the following messages in the following order:
1. Hello World. 2. This is a very long line of text that scrolls off the screen. 3. <Blank line> 4. Bob sucks 5. aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
The output in the chat window should be
PlayerA> Hello world
PlayerB> This is a very long line of text
PlayerB> that scrolls off the screen.
PlayerA>
PlayerA> Bob sucks
PlayerA> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
PlayerA> aaaaa
Furthermore, the chat window is limited to n lines of text. If a line of text (including a line that was wrapped) causes the number of lines to go over n, those lines are faded out and deleted after some threshold m lines of text is in the buffer.
2. Console input bar:
A console bar which allows the user to enter a single line of input. If this line is longer than the screen, the line is scrolled, rather than wrapped.
3. Chat input frame
User can enter lines of text. Lines of text are wrapped. The background image behind the text input increases in size to match the number of lines entered.
4. Network statistics graphs
Ability to display a bar graph and line graph
5. Server browser table
A table of elements with n columns and m rows. Each column has a clickable header. (I'm pretty sure CEGUI can do this)
6. Buttons with animated textures.
Self-explanitory
Now if CEGUI cannot do these thing above, I can do it myself as long as I have two basic functions:
Text wrapping and scrolling:
1. To have CEGUI wrap a line of text given a particular x coordinate and resolution and tell me how many pixels high the resulting line(s) are.
2. To have CEGUI tell me how many pixels long a line of text is so I can do the scrolling myself.
These last two requirements are simple so I imagine CEGUI can do it, but I want to make sure.
Thanks for any answers!