summaryrefslogtreecommitdiff
path: root/src/localplayer.cpp
diff options
context:
space:
mode:
authorest31 <MTest31@outlook.com>2016-05-27 08:35:07 +0200
committerest31 <MTest31@outlook.com>2016-06-03 19:42:57 +0200
commit2060fd9cbe587d7e8ffe0cecdd67925f13a56c05 (patch)
treef9f74c0a6609b0063fec6ed6f3d43fe42e43d5f1 /src/localplayer.cpp
parent1e86c89f3614cf298916149a8f13d44ea671da64 (diff)
downloadminetest-2060fd9cbe587d7e8ffe0cecdd67925f13a56c05.tar.gz
minetest-2060fd9cbe587d7e8ffe0cecdd67925f13a56c05.tar.bz2
minetest-2060fd9cbe587d7e8ffe0cecdd67925f13a56c05.zip
Initial Gamepad support
Adds initial ingame gamepad support to minetest. Full Formspec support is not implemented yet and can be added by a later change.
Diffstat (limited to 'src/localplayer.cpp')
-rw-r--r--src/localplayer.cpp17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/localplayer.cpp b/src/localplayer.cpp
index 507f31980..732ca8acf 100644
--- a/src/localplayer.cpp
+++ b/src/localplayer.cpp
@@ -528,18 +528,23 @@ void LocalPlayer::applyControl(float dtime)
speedH += move_direction;
}
}
- if(control.down)
- {
+ if (control.down) {
speedH -= move_direction;
}
- if(control.left)
- {
+ if (!control.up && !control.down) {
+ speedH -= move_direction *
+ (control.forw_move_joystick_axis / 32767.f);
+ }
+ if (control.left) {
speedH += move_direction.crossProduct(v3f(0,1,0));
}
- if(control.right)
- {
+ if (control.right) {
speedH += move_direction.crossProduct(v3f(0,-1,0));
}
+ if (!control.left && !control.right) {
+ speedH -= move_direction.crossProduct(v3f(0,1,0)) *
+ (control.sidew_move_joystick_axis / 32767.f);
+ }
if(control.jump)
{
if (free_move) {