About Store Forum Documentation Contact
Donations:
327$/mo



Post Reply 
Linux character movement glitch
Author Message
Houge Offline
Silver Supporter

Post: #1
Linux character movement glitch
Hi!

I found a problem with movement of my char on linux (Ubuntu 14.04 + Nvidia proprietary drivers, the same was on Arch linux), here is the video:





Explanation:
Side walk buttons - A D
Forward/backward walk button - W

When you press only side walk button - glitch appears
When you press only forward walk button - no glitch
When you press first side walk button and after that forwawd walk button - no glitch
When you press first forwawd walk button and after that side walk button - glitch appears

There is no bug on Windows by the way.
(This post was last modified: 10-22-2014 05:04 AM by Houge.)
10-22-2014 05:00 AM
Visit this user's website Find all posts by this user Quote this message in a reply
Esenthel Offline
Administrator

Post: #2
RE: Linux char movement glitch
Hi,

By default when you double tap side buttons, then the character will move quicker.

Perhaps the issue on Linux is that double tapping keys doesn't work correctly?

Can you test a simple app:
void Draw()
{
..
D.text(0,0,S+Kb.bd(KB_A));
}

Press and hold A key and see if it draws 1 sometimes even when you don't double tap it?

Detecting Linux Key Pushes is done in "Windows.cpp"
line:
Code:
if(InRange(code, linux_kb))                      Kb.push       (linux_kb[code]);
10-22-2014 05:08 AM
Find all posts by this user Quote this message in a reply
Houge Offline
Silver Supporter

Post: #3
RE: Linux character movement glitch
Thanks for the fast response, when i test it i will write here.
10-22-2014 05:57 AM
Visit this user's website Find all posts by this user Quote this message in a reply
Houge Offline
Silver Supporter

Post: #4
RE: Linux character movement glitch
Confirm, it shows 1 (when dodge happens on video) even if i hold button, not double tap it.
10-22-2014 05:09 PM
Visit this user's website Find all posts by this user Quote this message in a reply
Esenthel Offline
Administrator

Post: #5
RE: Linux character movement glitch
Hi,

In void Keyboard::push(Byte b)
BS_DOUBLE will be enabled only if
"!(_button[b]&BS_ON))" condition is met, which means it can't detect double click unless the button was released.

Releasing is done only in Keyboard::release and Keyboard::eat, so unless Keyboard::eat is called, the only thing is Keyboard::release that can remove the BS_ON flag.

On Linux Kb.release is called only in
Windows.cpp:
case FocusOut:
and
case KeyRelease:

Which are system event notifications.
I'll be back to my Linux laptop in a few days (27-28th Oct) so I can check it then.
You could do some checks if "KeyRelease" is called even when the key is not released.
10-24-2014 01:33 AM
Find all posts by this user Quote this message in a reply
Esenthel Offline
Administrator

Post: #6
RE: Linux character movement glitch
Hello!

I'm back on my Linux laptop, indeed I have the same issue, I'll investigate this right now.
10-27-2014 01:24 AM
Find all posts by this user Quote this message in a reply
Esenthel Offline
Administrator

Post: #7
RE: Linux character movement glitch
I think I have solved the issue, please wait for the next source release!
10-27-2014 02:11 AM
Find all posts by this user Quote this message in a reply
Houge Offline
Silver Supporter

Post: #8
RE: Linux character movement glitch
Wow thank you very much!
10-27-2014 06:09 AM
Visit this user's website Find all posts by this user Quote this message in a reply
Post Reply