aliens

Author Topic: User Interface (UI) suggestions  (Read 18033 times)

Offline Daiky

  • Battlescape Programmer
  • Administrator
  • Commander
  • *****
  • Posts: 904
    • View Profile
Re: User Interface (UI) suggestions
« Reply #15 on: October 17, 2012, 12:54:55 pm »
It would be nice if the rightscrolling used the "battleScrollType" config, which already had a RMB Scroll option:
battleScrollType: Map scrolling mode (0 = Trigger Scroll, 1 = Auto Scroll, 2 = RMB Scroll).
https://www.ufopaedia.org/index.php?title=Customizing_(OpenXcom)#Options

So it can be disabled if one does not want to use it.

Offline sklll

  • Sergeant
  • **
  • Posts: 21
    • View Profile
Re: User Interface (UI) suggestions
« Reply #16 on: October 17, 2012, 11:14:15 pm »
Maybe it would be more user friendly to make something like this:
2 = RMB Scroll + Auto Scroll, 3 = Middle MB Scroll + Auto Scroll

Offline Fenyő

  • Colonel
  • ****
  • Posts: 423
    • View Profile
Re: User Interface (UI) suggestions
« Reply #17 on: October 18, 2012, 10:54:56 pm »
Maybe it would be more user friendly to make something like this:
2 = RMB Scroll + Auto Scroll, 3 = Middle MB Scroll + Auto Scroll
I will improve the right-click with pixel tolerance and time-limit, so i don't think a Mid-button is really needed.

Edit: OK, if somebody wants that explicitly then it is needed. But RMB should still exists in the options, and i recommend it as default enabled.
« Last Edit: October 18, 2012, 10:56:32 pm by fenyo1 »

Offline SupSuper

  • Lazy Developer
  • Administrator
  • Commander
  • *****
  • Posts: 2160
    • View Profile
Re: User Interface (UI) suggestions
« Reply #18 on: October 18, 2012, 11:30:54 pm »
There seems to be a lot of debate over this feature, so I would recommend making it an option. Use "battleScrollType" to define if it's on/off like Daiky said, and make a new option for the button (battleScrollButton?) and default it to RMB.

Offline Fenyő

  • Colonel
  • ****
  • Posts: 423
    • View Profile
Re: User Interface (UI) suggestions
« Reply #19 on: October 19, 2012, 02:53:34 pm »
There seems to be a lot of debate over this feature, so I would recommend making it an option. Use "battleScrollType" to define if it's on/off like Daiky said, and make a new option for the button (battleScrollButton?) and default it to RMB.
Or maybe a battleScrollButton only with states: "RMB, MMB, None". (Right-Mouse-Button, Middle-Mouse-Button, None)
And perhaps a battleScrollButtonPixelTolerancy with an int value. :)
(and battleScrollButtonTimeTolerancy with also an int)
« Last Edit: October 19, 2012, 05:57:40 pm by fenyo1 »

Offline Fenyő

  • Colonel
  • ****
  • Posts: 423
    • View Profile
Re: User Interface (UI) suggestions
« Reply #20 on: October 19, 2012, 05:57:31 pm »
Long time i want to suggest this:
When Saving a game in Geoscape, or in Battlescape, after the game is saved, it returns to the previous menu.
In original X-COM it returns to the game itself instead of the menu.
This problem is really annoying since i used to get back to the game with the original. (i know, its an "end of the world" problem again)

If you agree to change it to the way of the original, i could do it in the source myself. (its just a game popstate)
SupSuper? What is your opinion? Do you allow me to change this?

Offline SupSuper

  • Lazy Developer
  • Administrator
  • Commander
  • *****
  • Posts: 2160
    • View Profile
Re: User Interface (UI) suggestions
« Reply #21 on: October 19, 2012, 06:18:18 pm »
Sure, I never really noticed.

Offline Fenyő

  • Colonel
  • ****
  • Posts: 423
    • View Profile
Re: User Interface (UI) suggestions
« Reply #22 on: October 19, 2012, 06:38:36 pm »
Cool.
I've just done a Pull-request. :)

I want to note that i'm right now working on right-mouse-scroll, to make it more user-friendly.

Offline Fenyő

  • Colonel
  • ****
  • Posts: 423
    • View Profile
Re: User Interface (UI) suggestions
« Reply #23 on: October 19, 2012, 10:50:38 pm »
I've implemented the time-limit to the right-mouse scrolling. (not yet Pull-requested)

But now i'm thinking, that does it make sense to make a pixel-tolerance also? Do we really need it in combination of the time-limit?

Guys, what do you think?

Edit:
Currently it works this way:
As before + when the button is released, it looks how many times passed, and if it is less than 150 milisec, then it revokes the scroll, and handles the event as a normal right-click.

If i implement the pixel tolerance, 2 ways are possible:

1) When too much pixels scrolled, it handles as scroll, and can not be revoked. (not affected by time of the mouse-down)

OR:

2) If too little pixels scrolled when mouse released, scroll is revoked, and the event is handled as a click, regardless of the time of the mouse-down.

So, what are your opinions?
« Last Edit: October 19, 2012, 10:59:29 pm by fenyo1 »

Offline sklll

  • Sergeant
  • **
  • Posts: 21
    • View Profile
Re: User Interface (UI) suggestions
« Reply #24 on: October 19, 2012, 11:56:19 pm »
I've implemented the time-limit to the right-mouse scrolling. (not yet Pull-requested)
Cool! But I want to see how it works now. Is there a way to download updated version to test it?

But now i'm thinking, that does it make sense to make a pixel-tolerance also? Do we really need it in combination of the time-limit?
Don't know without testing of how it works now...
Maybe wide fast scrollings will be miss-interpreted by current algorithm... 

1) When too much pixels scrolled, it handles as scroll, and can not be revoked. (not affected by time of the mouse-down)
Exactly what I meant in previous posts, but don't know if it is still necessary in regard of current time criteria...
« Last Edit: October 20, 2012, 12:23:32 am by sklll »

Offline Fenyő

  • Colonel
  • ****
  • Posts: 423
    • View Profile
Re: User Interface (UI) suggestions
« Reply #25 on: October 20, 2012, 12:01:52 am »
Okay, I've just sent you a PM with a link to a binary I've just compiled.
You can test it, after you copy the whole data folder of your current working version.

The time limit now is 150 miliSecond, i will externalize this value to the options file.

Offline AedanClarke

  • Squaddie
  • *
  • Posts: 3
    • View Profile
Re: User Interface (UI) suggestions
« Reply #26 on: October 20, 2012, 12:33:29 am »
Ah, good job Fenyo for doing something I've been wanting to do for a long time. The world shall explode in your honor.

Offline sklll

  • Sergeant
  • **
  • Posts: 21
    • View Profile
Re: User Interface (UI) suggestions
« Reply #27 on: October 20, 2012, 12:59:54 am »
150 miliSeconds appear to be not enough for me  :D but 300 do the job just fine  :)
but with a small issue: on fast wide scrollings it can cancel scrolling and that results in a screen blinking. I think the pixel tolerance can help to avoid such things and will make scrolling really user friendly and flexible (with battleScrollButtonPixelTolerancy and battleScrollButtonTimeTolerancy ints).

Offline Fenyő

  • Colonel
  • ****
  • Posts: 423
    • View Profile
Re: User Interface (UI) suggestions
« Reply #28 on: October 20, 2012, 02:04:46 pm »
Okay, I've done the threshold implementation.
Now i have to find out how can i externalize to the options file. :)

Offline Fenyő

  • Colonel
  • ****
  • Posts: 423
    • View Profile
Re: User Interface (UI) suggestions
« Reply #29 on: October 20, 2012, 04:53:37 pm »
Ok, I'm done!!
I've made a Pull-request!

One small problem:
Shugyousha has also made a Pull-request with a simple reverse mouse mode modification, which is contained in my Pull-request also!
I wish he was cooperated with me, to avoid the double work... :(

EDIT:
In the options.cfg:

battleScrollButton: RMB
- It can be RMB, MMB, None  (Right-Mouse-Button, Middle-Mouse-Button, None)
  (any other else string means None)

battleScrollButtonInvertMode: Normal
- It can be Normal, Inverted
  (any other else string means Inverted)

battleScrollButtonPixelTolerancy: 10
- Its an int, in pixels, functions as we stated before

battleScrollButtonTimeTolerancy: 300
- Its an int, in miliseconds, functions as we stated before
« Last Edit: October 20, 2012, 05:10:28 pm by fenyo1 »