FreeOrion

Forums for the FreeOrion project
It is currently Sat Aug 30, 2014 2:08 am

All times are UTC




Post new topic Reply to topic  [ 11 posts ] 
Author Message
 Post subject: cursor icons
PostPosted: Wed Jan 28, 2009 3:13 am 
Offline
Design & Graphics Lead
User avatar

Joined: Sat Sep 23, 2006 7:09 pm
Posts: 3856
Location: USA — midwest
Unless i'm really missing something FO doesn't have a changing cursor icons to help you know what you are doing, or what you could be doing.

I made a few quick that came to mind.

Attachment:
cursors.jpg
cursors.jpg [ 18.88 KiB | Viewed 2057 times ]


Left to right:

1) horizontal resize cursor. Appears when you can drag to resize a window horizontally (duh). Not something used yet, but we should.
2) Open hand. Appears when you can hold down a mouse button to drag something around.
3) Grabbing hand. Appears while you are holding down the mouse button dragging something. Makes a little animation.

Uploaded to /art/cursors/, and item added to SF FRs

There are probably other cursors we need, but they don't occur to me at the moment.

_________________
—• Read this First before posting Game Design Ideas!
—• Design Philosophy

—•— My Ideas, Organized —•— Get an Avatar —•— Acronyms —•—


Top
 Profile  
 
 Post subject: Re: cursor icons
PostPosted: Wed Jan 28, 2009 6:26 am 
Offline
Programming, Design, and De Facto Lead
User avatar

Joined: Wed Oct 08, 2003 1:33 am
Posts: 10001
Location: Munich
The horizontal resize cursor can be rotated 90 degrees for vertical resize, but a simultaneously horizontal + vertical resize cursor would need to be made separately.

All the cursors seem quite small compared to the current cursor.

I'm not sure about using a hand for everything that can be dragged... Many things can be, and we'd end up with a hand most of the time. The map screen, the tech tree view, ship parts, scrollbars, the title bars and (probably) edges and empty spaces of any window that can be dragged, queue items... Or is there a distinction between something that can be drag-dropped (parts or queue items) and something than can be real-time drag-repositioned (windows, map background, tech tree view) ?

Edit: I assume that in general, when something can be clicked to do something, rather than having a cursor to indicate this, we'd have the thing highlight itself somehow. For example, buttons highlight, system icons get a mouseover indicator, text links underline.


Top
 Profile  
 
 Post subject: Re: cursor icons
PostPosted: Wed Jan 28, 2009 7:28 am 
Offline
Design & Graphics Lead
User avatar

Joined: Sat Sep 23, 2006 7:09 pm
Posts: 3856
Location: USA — midwest
Geoff the Medio wrote:
All the cursors seem quite small compared to the current cursor.

I don't think there is a "current cursor". At least there's no graphic included that i can find. What you are seeing is, i expect your system's cursor.
But 16x16 is standard cursor size, and that's what my new cursors are (give or take a pixel). The black outline may not show up well in this example.

Geoff the Medio wrote:
I'm not sure about using a hand for everything that can be dragged ... [including] (probably) edges and empty spaces of any window that can be dragged...
I'm ambivalent about being able to drag a window by its borders, but dragging a window by empty space within it is bad. By "window" here i mean a box that has stuff inside the player can manipulate. The color picker is currently like that and there's no clear delineation between the clickable items inside and the general background which can move the whole window. It's not too hard for a slight miss-click to result in moving the whole window, which is annoying and unnecessary. Only things which have no manipulatable elements inside should be grab-able anywhere.

Geoff the Medio wrote:
I'm not sure about using a hand for everything that can be dragged... Many things can be, and we'd end up with a hand most of the time. The map screen, the tech tree view, ship parts, scrollbars, the title bars ... queue items... Or is there a distinction between something that can be drag-dropped (parts or queue items) and something than can be real-time drag-repositioned (windows, map background, tech tree view) ?

Hmmm, i'll have to think about some of these scenarios, but the main thing is that you wouldn't show the hand cursor for something that can only be "dragged" with the right mouse button. The cursor indicates what you can do with the main, left button.

Geoff the Medio wrote:
Edit: I assume that in general, when something can be clicked to do something, rather than having a cursor to indicate this, we'd have the thing highlight itself somehow. For example, buttons highlight, system icons get a mouseover indicator, text links underline.

Yeah, in general. A button mouseover effect is more eye-catching than a change of cursor. Changing the cursor is to show the user that he can do something in that particular location which he may not otherwise notice.

_________________
—• Read this First before posting Game Design Ideas!
—• Design Philosophy

—•— My Ideas, Organized —•— Get an Avatar —•— Acronyms —•—


Top
 Profile  
 
 Post subject: Re: cursor icons
PostPosted: Wed Jan 28, 2009 1:49 pm 
Offline
Programming, Design, and De Facto Lead
User avatar

Joined: Wed Oct 08, 2003 1:33 am
Posts: 10001
Location: Munich
eleazar wrote:
I don't think there is a "current cursor". At least there's no graphic included that i can find. What you are seeing is, i expect your system's cursor.
But 16x16 is standard cursor size, and that's what my new cursors are (give or take a pixel). The black outline may not show up well in this example.

It's definitely not the Windows standard cursor...
Attachment:
File comment: Zoom 2X cursors of Windows, FreeOrion, 16x16 square (not a cursor), eleazar's new cursors, and Windows again for extra-comparison ease, Starcraft's generic cursor.
Cursors_Zoom_2x.png
Cursors_Zoom_2x.png [ 4.29 KiB | Viewed 2021 times ]

I don't know where the FO cursor is defined. It doesn't seem to be a texture, and I vaguely recall seeing some code that defined a cursor by layout out a grid of pixel values, but I can't find anything similar in the FreeOrion or GiGi code, and it might have been some other project's code I'm remembering.

The new cursors will probably be fine, but they are a bit smaller than standard, at least on windows.

Quote:
wouldn't show the hand cursor for something that can only be "dragged" with the right mouse button. The cursor indicates what you can do with the main, left button.

I don't think anything can be dragged with the right mouse button.


Top
 Profile  
 
 Post subject: Re: cursor icons
PostPosted: Wed Jan 28, 2009 5:35 pm 
Offline
Design & Graphics Lead
User avatar

Joined: Sat Sep 23, 2006 7:09 pm
Posts: 3856
Location: USA — midwest
Geoff the Medio wrote:
eleazar wrote:
I don't think there is a "current cursor". At least there's no graphic included that i can find. What you are seeing is, i expect your system's cursor.
But 16x16 is standard cursor size, and that's what my new cursors are (give or take a pixel). The black outline may not show up well in this example.

It's definitely not the Windows standard cursor...

I don't know where the FO cursor is defined. It doesn't seem to be a texture, and I vaguely recall seeing some code that defined a cursor by layout out a grid of pixel values, but I can't find anything similar in the FreeOrion or GiGi code, and it might have been some other project's code I'm remembering.

The new cursors will probably be fine, but they are a bit smaller than standard, at least on windows.

Huh. Oddly enough, the FO cursor looks exactly like the Mac Os X cursor, but now that i zoom in the Mac cursor has some grey tones and a drop shadow.

I'm not going to get too interested in discussing exactly what the cursors should look like, or how big they should be when nothing is implemented. We can easily change how they look later.

Quote:
wouldn't show the hand cursor for something that can only be "dragged" with the right mouse button. The cursor indicates what you can do with the main, left button.

Geoff the Medio wrote:
I don't think anything can be dragged with the right mouse button.
Oops, all this talk about right and left mouse buttons in other threads got me turned around. I was thinking of the panning the galaxy map screen, or tech tree.

_________________
—• Read this First before posting Game Design Ideas!
—• Design Philosophy

—•— My Ideas, Organized —•— Get an Avatar —•— Acronyms —•—


Top
 Profile  
 
 Post subject: Re: cursor icons
PostPosted: Thu Oct 20, 2011 9:49 pm 
Offline
Space Krill
User avatar

Joined: Thu Oct 20, 2011 5:06 pm
Posts: 2
Location: Germany
Today I made some simple cursors for the game, work of some hours. They're not perfect jet, but I guess i'ts a starting point. If time enough, I'll better them up.
The cursors are some black hands, some animated and some static. There's a grabbing and a holding hand, a pointing finger and some other stuff. Take a look, you'll see.
Testing it in the game for some simple color tries it looked - average. If I won't perfectionize I post it out to you guys so you can experiment and do better.

So far, have fun.

Attachment:
CURSORS.rar [15.37 KiB]
Downloaded 27 times


Top
 Profile  
 
 Post subject: Re: cursor icons
PostPosted: Thu Oct 20, 2011 10:01 pm 
Offline
Design & Graphics Lead
User avatar

Joined: Sat Sep 23, 2006 7:09 pm
Posts: 3856
Location: USA — midwest
What format are these?

My computer thinks the .ANI files are "animated Neochrome documents", but when i open them the colors look inverted and weird.

A coder will have to confirm, but i expect a series of .PNG files would be more useful.

_________________
—• Read this First before posting Game Design Ideas!
—• Design Philosophy

—•— My Ideas, Organized —•— Get an Avatar —•— Acronyms —•—


Top
 Profile  
 
 Post subject: Re: cursor icons
PostPosted: Thu Oct 20, 2011 10:08 pm 
Offline
Space Krill
User avatar

Joined: Thu Oct 20, 2011 5:06 pm
Posts: 2
Location: Germany
It's ".ani".
I made them with a little programm called "iconforge", which is for free available in the net. My windows vista system could use them as cursors. Yours not?

Yes, I inverted them because the original colors I used didn't harmonize with the game design at all. I suppose the colors you see are the same ones I used. So you see, it's just some sketch. Iconforge is so simple, much more didn't work up to now. Disappointed? Perhaps at least "HAND_POINTING" is of interest. I just wanted to show my first tries.


Top
 Profile  
 
 Post subject: Re: cursor icons
PostPosted: Fri Oct 21, 2011 1:42 pm 
Offline
Programming Lead Emeritus
User avatar

Joined: Thu Jun 26, 2003 1:33 pm
Posts: 1092
Geoff the Medio wrote:
eleazar wrote:
I don't think there is a "current cursor". At least there's no graphic included that i can find. What you are seeing is, i expect your system's cursor.
But 16x16 is standard cursor size, and that's what my new cursors are (give or take a pixel). The black outline may not show up well in this example.

It's definitely not the Windows standard cursor...
Attachment:
Cursors_Zoom_2x.png

I don't know where the FO cursor is defined.

HumanClientApp.cpp:222

Quote:
It doesn't seem to be a texture

It is a texture.

Quote:
and I vaguely recall seeing some code that defined a cursor by layout out a grid of pixel values, but I can't find anything similar in the FreeOrion or GiGi code, and it might have been some other project's code I'm remembering.

It was our code, but it's long gone. You sepcifically asked for software-rendered (non-system) cursors that can be set by our UI based on context. We have that now. See GG::GUI::GetCursor() and GG::GUI::SetCursor().


Top
 Profile  
 
 Post subject: Re: cursor icons
PostPosted: Sun Jan 08, 2012 11:07 pm 
Offline
Space Floater

Joined: Thu Oct 20, 2011 10:14 pm
Posts: 27
tzlaine wrote:
Geoff the Medio wrote:
eleazar wrote:
I don't think there is a "current cursor". At least there's no graphic included that i can find. What you are seeing is, i expect your system's cursor.
But 16x16 is standard cursor size, and that's what my new cursors are (give or take a pixel). The black outline may not show up well in this example.

It's definitely not the Windows standard cursor...
Attachment:
Cursors_Zoom_2x.png

I don't know where the FO cursor is defined.

HumanClientApp.cpp:222

Quote:
It doesn't seem to be a texture

It is a texture.

Quote:
and I vaguely recall seeing some code that defined a cursor by layout out a grid of pixel values, but I can't find anything similar in the FreeOrion or GiGi code, and it might have been some other project's code I'm remembering.

It was our code, but it's long gone. You sepcifically asked for software-rendered (non-system) cursors that can be set by our UI based on context. We have that now. See GG::GUI::GetCursor() and GG::GUI::SetCursor().



So i started working on this problem today but have a question/ran into a problem. So i don't know if its just my set up or something but it seems like when I use the SetCursor() function its not actually changing the cursor but makes a cursor that just follows my systems cursor?

Should SetCursor() be actually changing the default windows cursor when your in game? Or should I also be making a call to a different cursor function? To me it looks like it makes a cursor that just mirrors where the default one goes.

With the cursor set to the default cursor its only noticeable that there are 2 cursors if you specifically look for it. However when in HumanAppsClient I change the SetCursor() to the "grabable" cursor then you can really see the grabable cursor trailing behind the default cursor by a few inches when you move the mouse around. So there are literally 2 cursors on the screen.

Is it just my setup thats weird then? Or should I be making more than a call to SetCursor() and RenderCursor()?

Thanks


Top
 Profile  
 
 Post subject: Re: cursor icons
PostPosted: Mon Jan 09, 2012 4:28 am 
Offline
Programming, Design, and De Facto Lead
User avatar

Joined: Wed Oct 08, 2003 1:33 am
Posts: 10001
Location: Munich
Things are set up now to render an in game cursor and the system cursor. This is done because of a few related issues. There were a number of cases where if just one cursor was rendered... I can't remember which... then that cursor would sometimes not render; if you look through the old sourceforge bug reports, there are probably a few about having no mouse cursor in some windows. Also, if the game window grabs the mouse cursor in order to render just it and not the system cursor, the mouse can't be moved outside the window without alt-tabbing, so if something weird goes wrong, the system can be effectively hung, particularly while at fullscreen. More importantly, to me, when the using the mode that captures the mouse cursor, the mouse speed and acceleration were all wrong; the mouse doesn't move and respond to movements like it does when the OS handles the mouse input, and I found it very annoying to use the mouse when it was moving too slow and without the right acceleration.

Basically, the OIS input plugin mouse handling isn't working very well, so we have the OS handle the mouse input to control cursor position, but also draw the in-game cursor for cases where the OS cursor wants to disappear. Way back in the day SDL was used as the window setup library, and it worked a lot better. After the change to Ogre, we've had the current situation.

If you want to change things to have only one cursor rendered with exclusive mouse input, there are some commented out lines in OISInput.cfg that can be uncommented, and the corresponding other lines commented.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 11 posts ] 

All times are UTC


Who is online

Users browsing this forum: AhrefsBot and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group